Bug#952628: hepmc3: FTBFS: Feature.h:296:69: internal compiler error: in get_fns, at cp/tree.c:2455

Lucas Nussbaum lucas at debian.org
Wed Feb 26 16:09:40 GMT 2020


Source: hepmc3
Version: 3.1.2-2
Severity: serious
Justification: FTBFS on amd64
Tags: bullseye sid ftbfs
Usertags: ftbfs-20200225 ftbfs-bullseye

Hi,

During a rebuild of all packages in sid, your package failed to build on
amd64.

This rebuild was done by building only architecture:any binary packages
(binary-arch target of debian/rules).

Relevant part (hopefully):
> cd /<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/search && /usr/bin/c++   -I/<<PKGBUILDDIR>>/include -I/<<PKGBUILDDIR>>/search/include -I/<<PKGBUILDDIR>>/search  -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -std=c++11 -fPIC   -o CMakeFiles/objlibsearch.dir/src/Selector.cc.o -c /<<PKGBUILDDIR>>/search/src/Selector.cc
> In file included from /<<PKGBUILDDIR>>/search/include/HepMC3/Selector.h:14,
>                  from /<<PKGBUILDDIR>>/search/src/Selector.cc:10:
> /<<PKGBUILDDIR>>/search/include/HepMC3/Feature.h: In lambda function:
> /<<PKGBUILDDIR>>/search/include/HepMC3/Feature.h:296:69: internal compiler error: in get_fns, at cp/tree.c:2455
>   296 |             return fabs(local - value) <= ((fabs(local) < fabs(value))? fabs(value) : fabs(local)) * std::numeric_limits<Feature_type>::epsilon();
>       |                                                                     ^
> Please submit a full bug report,
> with preprocessed source if appropriate.
> See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions.
> Preprocessed source stored into /tmp/ccthojnq.out file, please attach this to your bugreport.
> === BEGIN GCC DUMP ===
> 28468: // Target: x86_64-linux-gnu
> 28468: // Configured with: ../src/configure -v --with-pkgversion='Debian 9.2.1-30' --with-bugurl=file:///usr/share/doc/gcc-9/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++,gm2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-9 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none,hsa --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-mutex
> 28468: // Thread model: posix
> 28468: // gcc version 9.2.1 20200224 (Debian 9.2.1-30) 
> 28468: // 
> 28468: // In file included from /<<PKGBUILDDIR>>/search/include/HepMC3/Selector.h:14,
> 28468: //                  from /<<PKGBUILDDIR>>/search/src/Selector.cc:10:
> 28468: // /<<PKGBUILDDIR>>/search/include/HepMC3/Feature.h: In lambda function:
> 28468: // /<<PKGBUILDDIR>>/search/include/HepMC3/Feature.h:296:69: internal compiler error: in get_fns, at cp/tree.c:2455
> 28468: //   296 |             return fabs(local - value) <= ((fabs(local) < fabs(value))? fabs(value) : fabs(local)) * std::numeric_limits<Feature_type>::epsilon();
> 28468: //       |                                                                     ^
> 28468: // Please submit a full bug report,
> 28468: // with preprocessed source if appropriate.
> 28468: // See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions.
> 28468: 
> 28468: // /usr/lib/gcc/x86_64-linux-gnu/9/cc1plus -quiet -I /<<PKGBUILDDIR>>/include -I /<<PKGBUILDDIR>>/search/include -I /<<PKGBUILDDIR>>/search -imultiarch x86_64-linux-gnu -D_GNU_SOURCE -D _FORTIFY_SOURCE=2 /<<PKGBUILDDIR>>/search/src/Selector.cc -quiet -dumpbase Selector.cc -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/objlibsearch.dir/src/Selector.cc.o -g -O2 -Wformat=1 -Werror=format-security -Wdate-time -std=c++11 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fPIC -fasynchronous-unwind-tables -o - -frandom-seed=0 -fdump-noaddr
> 28468: 
> 28468: # 1 "/<<PKGBUILDDIR>>/search/src/Selector.cc"
> 28468: # 1 "/<<PKGBUILDDIR>>/obj-x86_64-linux-gnu/search//"
> 28468: # 1 "<built-in>"
> 28468: # 1 "<command-line>"
> 28468: # 1 "/usr/include/stdc-predef.h" 1 3 4
> 28468: # 1 "<command-line>" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/search/src/Selector.cc"
> 28468: # 10 "/<<PKGBUILDDIR>>/search/src/Selector.cc"
> 28468: # 1 "/<<PKGBUILDDIR>>/search/include/HepMC3/Selector.h" 1
> 28468: # 13 "/<<PKGBUILDDIR>>/search/include/HepMC3/Selector.h"
> 28468: # 1 "/<<PKGBUILDDIR>>/search/include/HepMC3/Filter.h" 1
> 28468: # 13 "/<<PKGBUILDDIR>>/search/include/HepMC3/Filter.h"
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle.h" 1
> 28468: # 16 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle.h"
> 28468: # 1 "/usr/include/c++/9/string" 1 3
> 28468: # 36 "/usr/include/c++/9/string" 3
> 28468:        
> 28468: # 37 "/usr/include/c++/9/string" 3
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h" 1 3
> 28468: # 252 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h" 3
> 28468: 
> 28468: # 252 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h" 3
> 28468: namespace std
> 28468: {
> 28468:   typedef long unsigned int size_t;
> 28468:   typedef long int ptrdiff_t;
> 28468: 
> 28468: 
> 28468:   typedef decltype(nullptr) nullptr_t;
> 28468: 
> 28468: }
> 28468: # 274 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h" 3
> 28468: namespace std
> 28468: {
> 28468:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
> 28468: }
> 28468: namespace __gnu_cxx
> 28468: {
> 28468:   inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { }
> 28468: }
> 28468: # 524 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h" 3
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h" 1 3
> 28468: # 39 "/usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h" 3
> 28468: # 1 "/usr/include/features.h" 1 3 4
> 28468: # 446 "/usr/include/features.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 1 3 4
> 28468: # 452 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
> 28468: # 453 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4
> 28468: # 454 "/usr/include/x86_64-linux-gnu/sys/cdefs.h" 2 3 4
> 28468: # 447 "/usr/include/features.h" 2 3 4
> 28468: # 470 "/usr/include/features.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 1 3 4
> 28468: # 10 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/gnu/stubs-64.h" 1 3 4
> 28468: # 11 "/usr/include/x86_64-linux-gnu/gnu/stubs.h" 2 3 4
> 28468: # 471 "/usr/include/features.h" 2 3 4
> 28468: # 40 "/usr/include/x86_64-linux-gnu/c++/9/bits/os_defines.h" 2 3
> 28468: # 525 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h" 2 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/cpu_defines.h" 1 3
> 28468: # 528 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++config.h" 2 3
> 28468: # 39 "/usr/include/c++/9/string" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stringfwd.h" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/stringfwd.h" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/stringfwd.h" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/memoryfwd.h" 1 3
> 28468: # 46 "/usr/include/c++/9/bits/memoryfwd.h" 3
> 28468:        
> 28468: # 47 "/usr/include/c++/9/bits/memoryfwd.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 63 "/usr/include/c++/9/bits/memoryfwd.h" 3
> 28468:   template<typename>
> 28468:     class allocator;
> 28468: 
> 28468:   template<>
> 28468:     class allocator<void>;
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename, typename>
> 28468:     struct uses_allocator;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 41 "/usr/include/c++/9/bits/stringfwd.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<class _CharT>
> 28468:     struct char_traits;
> 28468: 
> 28468:   template<> struct char_traits<char>;
> 28468: 
> 28468: 
> 28468:   template<> struct char_traits<wchar_t>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<> struct char_traits<char16_t>;
> 28468:   template<> struct char_traits<char32_t>;
> 28468: 
> 28468: 
> 28468: namespace __cxx11 {
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
> 28468:            typename _Alloc = allocator<_CharT> >
> 28468:     class basic_string;
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468:   typedef basic_string<char> string;
> 28468: 
> 28468: 
> 28468: 
> 28468:   typedef basic_string<wchar_t> wstring;
> 28468: # 93 "/usr/include/c++/9/bits/stringfwd.h" 3
> 28468:   typedef basic_string<char16_t> u16string;
> 28468: 
> 28468: 
> 28468:   typedef basic_string<char32_t> u32string;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 40 "/usr/include/c++/9/string" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/char_traits.h" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/char_traits.h" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/char_traits.h" 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/stl_algobase.h" 1 3
> 28468: # 60 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468: # 1 "/usr/include/c++/9/bits/functexcept.h" 1 3
> 28468: # 40 "/usr/include/c++/9/bits/functexcept.h" 3
> 28468: # 1 "/usr/include/c++/9/bits/exception_defines.h" 1 3
> 28468: # 41 "/usr/include/c++/9/bits/functexcept.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   void
> 28468:   __throw_bad_exception(void) __attribute__((__noreturn__));
> 28468: 
> 28468: 
> 28468:   void
> 28468:   __throw_bad_alloc(void) __attribute__((__noreturn__));
> 28468: 
> 28468: 
> 28468:   void
> 28468:   __throw_bad_cast(void) __attribute__((__noreturn__));
> 28468: 
> 28468:   void
> 28468:   __throw_bad_typeid(void) __attribute__((__noreturn__));
> 28468: 
> 28468: 
> 28468:   void
> 28468:   __throw_logic_error(const char*) __attribute__((__noreturn__));
> 28468: 
> 28468:   void
> 28468:   __throw_domain_error(const char*) __attribute__((__noreturn__));
> 28468: 
> 28468:   void
> 28468:   __throw_invalid_argument(const char*) __attribute__((__noreturn__));
> 28468: 
> 28468:   void
> 28468:   __throw_length_error(const char*) __attribute__((__noreturn__));
> 28468: 
> 28468:   void
> 28468:   __throw_out_of_range(const char*) __attribute__((__noreturn__));
> 28468: 
> 28468:   void
> 28468:   __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__))
> 28468:     __attribute__((__format__(__gnu_printf__, 1, 2)));
> 28468: 
> 28468:   void
> 28468:   __throw_runtime_error(const char*) __attribute__((__noreturn__));
> 28468: 
> 28468:   void
> 28468:   __throw_range_error(const char*) __attribute__((__noreturn__));
> 28468: 
> 28468:   void
> 28468:   __throw_overflow_error(const char*) __attribute__((__noreturn__));
> 28468: 
> 28468:   void
> 28468:   __throw_underflow_error(const char*) __attribute__((__noreturn__));
> 28468: 
> 28468: 
> 28468:   void
> 28468:   __throw_ios_failure(const char*) __attribute__((__noreturn__));
> 28468: 
> 28468:   void
> 28468:   __throw_ios_failure(const char*, int) __attribute__((__noreturn__));
> 28468: 
> 28468: 
> 28468:   void
> 28468:   __throw_system_error(int) __attribute__((__noreturn__));
> 28468: 
> 28468: 
> 28468:   void
> 28468:   __throw_future_error(int) __attribute__((__noreturn__));
> 28468: 
> 28468: 
> 28468:   void
> 28468:   __throw_bad_function_call() __attribute__((__noreturn__));
> 28468: 
> 28468: 
> 28468: }
> 28468: # 61 "/usr/include/c++/9/bits/stl_algobase.h" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/cpp_type_traits.h" 1 3
> 28468: # 35 "/usr/include/c++/9/bits/cpp_type_traits.h" 3
> 28468:        
> 28468: # 36 "/usr/include/c++/9/bits/cpp_type_traits.h" 3
> 28468: # 67 "/usr/include/c++/9/bits/cpp_type_traits.h" 3
> 28468: extern "C++" {
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   struct __true_type { };
> 28468:   struct __false_type { };
> 28468: 
> 28468:   template<bool>
> 28468:     struct __truth_type
> 28468:     { typedef __false_type __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __truth_type<true>
> 28468:     { typedef __true_type __type; };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<class _Sp, class _Tp>
> 28468:     struct __traitor
> 28468:     {
> 28468:       enum { __value = bool(_Sp::__value) || bool(_Tp::__value) };
> 28468:       typedef typename __truth_type<__value>::__type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename, typename>
> 28468:     struct __are_same
> 28468:     {
> 28468:       enum { __value = 0 };
> 28468:       typedef __false_type __type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __are_same<_Tp, _Tp>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_void
> 28468:     {
> 28468:       enum { __value = 0 };
> 28468:       typedef __false_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_void<void>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_integer
> 28468:     {
> 28468:       enum { __value = 0 };
> 28468:       typedef __false_type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<bool>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<char>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<signed char>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<unsigned char>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<wchar_t>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: # 184 "/usr/include/c++/9/bits/cpp_type_traits.h" 3
> 28468:   template<>
> 28468:     struct __is_integer<char16_t>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<char32_t>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<short>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<unsigned short>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<int>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<unsigned int>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<long>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<unsigned long>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<long long>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integer<unsigned long long>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: # 287 "/usr/include/c++/9/bits/cpp_type_traits.h" 3
> 28468:   template<typename _Tp>
> 28468:     struct __is_floating
> 28468:     {
> 28468:       enum { __value = 0 };
> 28468:       typedef __false_type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __is_floating<float>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_floating<double>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_floating<long double>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_pointer
> 28468:     {
> 28468:       enum { __value = 0 };
> 28468:       typedef __false_type __type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_pointer<_Tp*>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_arithmetic
> 28468:     : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> >
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_scalar
> 28468:     : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> >
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_char
> 28468:     {
> 28468:       enum { __value = 0 };
> 28468:       typedef __false_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_char<char>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __is_char<wchar_t>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_byte
> 28468:     {
> 28468:       enum { __value = 0 };
> 28468:       typedef __false_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_byte<char>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_byte<signed char>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_byte<unsigned char>
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: # 417 "/usr/include/c++/9/bits/cpp_type_traits.h" 3
> 28468:   template<typename _Tp>
> 28468:     struct __is_move_iterator
> 28468:     {
> 28468:       enum { __value = 0 };
> 28468:       typedef __false_type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline _Iterator
> 28468:     __miter_base(_Iterator __it)
> 28468:     { return __it; }
> 28468: 
> 28468: 
> 28468: }
> 28468: }
> 28468: # 62 "/usr/include/c++/9/bits/stl_algobase.h" 2 3
> 28468: # 1 "/usr/include/c++/9/ext/type_traits.h" 1 3
> 28468: # 32 "/usr/include/c++/9/ext/type_traits.h" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/ext/type_traits.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C++" {
> 28468: 
> 28468: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<bool, typename>
> 28468:     struct __enable_if
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __enable_if<true, _Tp>
> 28468:     { typedef _Tp __type; };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
> 28468:     struct __conditional_type
> 28468:     { typedef _Iftrue __type; };
> 28468: 
> 28468:   template<typename _Iftrue, typename _Iffalse>
> 28468:     struct __conditional_type<false, _Iftrue, _Iffalse>
> 28468:     { typedef _Iffalse __type; };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __add_unsigned
> 28468:     {
> 28468:     private:
> 28468:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
> 28468: 
> 28468:     public:
> 28468:       typedef typename __if_type::__type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __add_unsigned<char>
> 28468:     { typedef unsigned char __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __add_unsigned<signed char>
> 28468:     { typedef unsigned char __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __add_unsigned<short>
> 28468:     { typedef unsigned short __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __add_unsigned<int>
> 28468:     { typedef unsigned int __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __add_unsigned<long>
> 28468:     { typedef unsigned long __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __add_unsigned<long long>
> 28468:     { typedef unsigned long long __type; };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __add_unsigned<bool>;
> 28468: 
> 28468:   template<>
> 28468:     struct __add_unsigned<wchar_t>;
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __remove_unsigned
> 28468:     {
> 28468:     private:
> 28468:       typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type;
> 28468: 
> 28468:     public:
> 28468:       typedef typename __if_type::__type __type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __remove_unsigned<char>
> 28468:     { typedef signed char __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __remove_unsigned<unsigned char>
> 28468:     { typedef signed char __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __remove_unsigned<unsigned short>
> 28468:     { typedef short __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __remove_unsigned<unsigned int>
> 28468:     { typedef int __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __remove_unsigned<unsigned long>
> 28468:     { typedef long __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __remove_unsigned<unsigned long long>
> 28468:     { typedef long long __type; };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __remove_unsigned<bool>;
> 28468: 
> 28468:   template<>
> 28468:     struct __remove_unsigned<wchar_t>;
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Type>
> 28468:     inline bool
> 28468:     __is_null_pointer(_Type* __ptr)
> 28468:     { return __ptr == 0; }
> 28468: 
> 28468:   template<typename _Type>
> 28468:     inline bool
> 28468:     __is_null_pointer(_Type)
> 28468:     { return false; }
> 28468: 
> 28468: 
> 28468:   inline bool
> 28468:   __is_null_pointer(std::nullptr_t)
> 28468:   { return true; }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, bool = std::__is_integer<_Tp>::__value>
> 28468:     struct __promote
> 28468:     { typedef double __type; };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __promote<_Tp, false>
> 28468:     { };
> 28468: 
> 28468:   template<>
> 28468:     struct __promote<long double>
> 28468:     { typedef long double __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __promote<double>
> 28468:     { typedef double __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __promote<float>
> 28468:     { typedef float __type; };
> 28468: 
> 28468:   template<typename _Tp, typename _Up,
> 28468:            typename _Tp2 = typename __promote<_Tp>::__type,
> 28468:            typename _Up2 = typename __promote<_Up>::__type>
> 28468:     struct __promote_2
> 28468:     {
> 28468:       typedef __typeof__(_Tp2() + _Up2()) __type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, typename _Up, typename _Vp,
> 28468:            typename _Tp2 = typename __promote<_Tp>::__type,
> 28468:            typename _Up2 = typename __promote<_Up>::__type,
> 28468:            typename _Vp2 = typename __promote<_Vp>::__type>
> 28468:     struct __promote_3
> 28468:     {
> 28468:       typedef __typeof__(_Tp2() + _Up2() + _Vp2()) __type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, typename _Up, typename _Vp, typename _Wp,
> 28468:            typename _Tp2 = typename __promote<_Tp>::__type,
> 28468:            typename _Up2 = typename __promote<_Up>::__type,
> 28468:            typename _Vp2 = typename __promote<_Vp>::__type,
> 28468:            typename _Wp2 = typename __promote<_Wp>::__type>
> 28468:     struct __promote_4
> 28468:     {
> 28468:       typedef __typeof__(_Tp2() + _Up2() + _Vp2() + _Wp2()) __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: }
> 28468: }
> 28468: # 63 "/usr/include/c++/9/bits/stl_algobase.h" 2 3
> 28468: # 1 "/usr/include/c++/9/ext/numeric_traits.h" 1 3
> 28468: # 32 "/usr/include/c++/9/ext/numeric_traits.h" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/ext/numeric_traits.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 54 "/usr/include/c++/9/ext/numeric_traits.h" 3
> 28468:   template<typename _Value>
> 28468:     struct __numeric_traits_integer
> 28468:     {
> 28468: 
> 28468:       static const _Value __min = (((_Value)(-1) < 0) ? (_Value)1 << (sizeof(_Value) * 8 - ((_Value)(-1) < 0)) : (_Value)0);
> 28468:       static const _Value __max = (((_Value)(-1) < 0) ? (((((_Value)1 << ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(_Value)0);
> 28468: 
> 28468: 
> 28468: 
> 28468:       static const bool __is_signed = ((_Value)(-1) < 0);
> 28468:       static const int __digits = (sizeof(_Value) * 8 - ((_Value)(-1) < 0));
> 28468:     };
> 28468: 
> 28468:   template<typename _Value>
> 28468:     const _Value __numeric_traits_integer<_Value>::__min;
> 28468: 
> 28468:   template<typename _Value>
> 28468:     const _Value __numeric_traits_integer<_Value>::__max;
> 28468: 
> 28468:   template<typename _Value>
> 28468:     const bool __numeric_traits_integer<_Value>::__is_signed;
> 28468: 
> 28468:   template<typename _Value>
> 28468:     const int __numeric_traits_integer<_Value>::__digits;
> 28468: # 99 "/usr/include/c++/9/ext/numeric_traits.h" 3
> 28468:   template<typename _Value>
> 28468:     struct __numeric_traits_floating
> 28468:     {
> 28468: 
> 28468:       static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 64) * 643L / 2136);
> 28468: 
> 28468: 
> 28468:       static const bool __is_signed = true;
> 28468:       static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 18);
> 28468:       static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 4932);
> 28468:     };
> 28468: 
> 28468:   template<typename _Value>
> 28468:     const int __numeric_traits_floating<_Value>::__max_digits10;
> 28468: 
> 28468:   template<typename _Value>
> 28468:     const bool __numeric_traits_floating<_Value>::__is_signed;
> 28468: 
> 28468:   template<typename _Value>
> 28468:     const int __numeric_traits_floating<_Value>::__digits10;
> 28468: 
> 28468:   template<typename _Value>
> 28468:     const int __numeric_traits_floating<_Value>::__max_exponent10;
> 28468: 
> 28468:   template<typename _Value>
> 28468:     struct __numeric_traits
> 28468:     : public __conditional_type<std::__is_integer<_Value>::__value,
> 28468:     __numeric_traits_integer<_Value>,
> 28468:     __numeric_traits_floating<_Value> >::__type
> 28468:     { };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 64 "/usr/include/c++/9/bits/stl_algobase.h" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_pair.h" 1 3
> 28468: # 59 "/usr/include/c++/9/bits/stl_pair.h" 3
> 28468: # 1 "/usr/include/c++/9/bits/move.h" 1 3
> 28468: # 34 "/usr/include/c++/9/bits/move.h" 3
> 28468: # 1 "/usr/include/c++/9/bits/concept_check.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/concept_check.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/concept_check.h" 3
> 28468: # 35 "/usr/include/c++/9/bits/move.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr _Tp*
> 28468:     __addressof(_Tp& __r) noexcept
> 28468:     { return __builtin_addressof(__r); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: # 1 "/usr/include/c++/9/type_traits" 1 3
> 28468: # 32 "/usr/include/c++/9/type_traits" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/type_traits" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 56 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp, _Tp __v>
> 28468:     struct integral_constant
> 28468:     {
> 28468:       static constexpr _Tp value = __v;
> 28468:       typedef _Tp value_type;
> 28468:       typedef integral_constant<_Tp, __v> type;
> 28468:       constexpr operator value_type() const noexcept { return value; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, _Tp __v>
> 28468:     constexpr _Tp integral_constant<_Tp, __v>::value;
> 28468: 
> 28468: 
> 28468:   typedef integral_constant<bool, true> true_type;
> 28468: 
> 28468: 
> 28468:   typedef integral_constant<bool, false> false_type;
> 28468: 
> 28468:   template<bool __v>
> 28468:     using __bool_constant = integral_constant<bool, __v>;
> 28468: # 91 "/usr/include/c++/9/type_traits" 3
> 28468:   template<bool, typename, typename>
> 28468:     struct conditional;
> 28468: 
> 28468:   template<typename...>
> 28468:     struct __or_;
> 28468: 
> 28468:   template<>
> 28468:     struct __or_<>
> 28468:     : public false_type
> 28468:     { };
> 28468: 
> 28468:   template<typename _B1>
> 28468:     struct __or_<_B1>
> 28468:     : public _B1
> 28468:     { };
> 28468: 
> 28468:   template<typename _B1, typename _B2>
> 28468:     struct __or_<_B1, _B2>
> 28468:     : public conditional<_B1::value, _B1, _B2>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
> 28468:     struct __or_<_B1, _B2, _B3, _Bn...>
> 28468:     : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename...>
> 28468:     struct __and_;
> 28468: 
> 28468:   template<>
> 28468:     struct __and_<>
> 28468:     : public true_type
> 28468:     { };
> 28468: 
> 28468:   template<typename _B1>
> 28468:     struct __and_<_B1>
> 28468:     : public _B1
> 28468:     { };
> 28468: 
> 28468:   template<typename _B1, typename _B2>
> 28468:     struct __and_<_B1, _B2>
> 28468:     : public conditional<_B1::value, _B2, _B1>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _B1, typename _B2, typename _B3, typename... _Bn>
> 28468:     struct __and_<_B1, _B2, _B3, _Bn...>
> 28468:     : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Pp>
> 28468:     struct __not_
> 28468:     : public __bool_constant<!bool(_Pp::value)>
> 28468:     { };
> 28468: # 185 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp>
> 28468:     struct __success_type
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   struct __failure_type
> 28468:   { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename>
> 28468:     struct remove_cv;
> 28468: 
> 28468:   template<typename>
> 28468:     struct __is_void_helper
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_void_helper<void>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_void
> 28468:     : public __is_void_helper<typename remove_cv<_Tp>::type>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename>
> 28468:     struct __is_integral_helper
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<bool>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<char>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<signed char>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<unsigned char>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<wchar_t>
> 28468:     : public true_type { };
> 28468: # 243 "/usr/include/c++/9/type_traits" 3
> 28468:   template<>
> 28468:     struct __is_integral_helper<char16_t>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<char32_t>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<short>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<unsigned short>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<int>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<unsigned int>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<long>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<unsigned long>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<long long>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_integral_helper<unsigned long long>
> 28468:     : public true_type { };
> 28468: # 323 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp>
> 28468:     struct is_integral
> 28468:     : public __is_integral_helper<typename remove_cv<_Tp>::type>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename>
> 28468:     struct __is_floating_point_helper
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_floating_point_helper<float>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_floating_point_helper<double>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_floating_point_helper<long double>
> 28468:     : public true_type { };
> 28468: # 351 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp>
> 28468:     struct is_floating_point
> 28468:     : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename>
> 28468:     struct is_array
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Size>
> 28468:     struct is_array<_Tp[_Size]>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_array<_Tp[]>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename>
> 28468:     struct __is_pointer_helper
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_pointer_helper<_Tp*>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_pointer
> 28468:     : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename>
> 28468:     struct is_lvalue_reference
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_lvalue_reference<_Tp&>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468:   template<typename>
> 28468:     struct is_rvalue_reference
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_rvalue_reference<_Tp&&>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename>
> 28468:     struct is_function;
> 28468: 
> 28468:   template<typename>
> 28468:     struct __is_member_object_pointer_helper
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp, typename _Cp>
> 28468:     struct __is_member_object_pointer_helper<_Tp _Cp::*>
> 28468:     : public __not_<is_function<_Tp>>::type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_member_object_pointer
> 28468:     : public __is_member_object_pointer_helper<
> 28468:     typename remove_cv<_Tp>::type>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename>
> 28468:     struct __is_member_function_pointer_helper
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp, typename _Cp>
> 28468:     struct __is_member_function_pointer_helper<_Tp _Cp::*>
> 28468:     : public is_function<_Tp>::type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_member_function_pointer
> 28468:     : public __is_member_function_pointer_helper<
> 28468:     typename remove_cv<_Tp>::type>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_enum
> 28468:     : public integral_constant<bool, __is_enum(_Tp)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_union
> 28468:     : public integral_constant<bool, __is_union(_Tp)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_class
> 28468:     : public integral_constant<bool, __is_class(_Tp)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename>
> 28468:     struct is_function
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) & >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) && >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) & >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) && >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) const >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) const & >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) const && >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) const >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) const & >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) const && >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) volatile >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) volatile & >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) volatile && >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) volatile >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) volatile & >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) volatile && >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) const volatile >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) const volatile & >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes...) const volatile && >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) const volatile >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) const volatile & >
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct is_function<_Res(_ArgTypes......) const volatile && >
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename>
> 28468:     struct __is_null_pointer_helper
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_null_pointer_helper<std::nullptr_t>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_null_pointer
> 28468:     : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nullptr_t
> 28468:     : public is_null_pointer<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_reference
> 28468:     : public __or_<is_lvalue_reference<_Tp>,
> 28468:                    is_rvalue_reference<_Tp>>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_arithmetic
> 28468:     : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_fundamental
> 28468:     : public __or_<is_arithmetic<_Tp>, is_void<_Tp>,
> 28468:      is_null_pointer<_Tp>>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_object
> 28468:     : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>,
> 28468:                           is_void<_Tp>>>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename>
> 28468:     struct is_member_pointer;
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_scalar
> 28468:     : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>,
> 28468:                    is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_compound
> 28468:     : public __not_<is_fundamental<_Tp>>::type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_member_pointer_helper
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp, typename _Cp>
> 28468:     struct __is_member_pointer_helper<_Tp _Cp::*>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_member_pointer
> 28468:     : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_referenceable
> 28468:     : public __or_<is_object<_Tp>, is_reference<_Tp>>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Res, typename... _Args >
> 28468:     struct __is_referenceable<_Res(_Args...) >
> 28468:     : public true_type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Res, typename... _Args >
> 28468:     struct __is_referenceable<_Res(_Args......) >
> 28468:     : public true_type
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename>
> 28468:     struct is_const
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_const<_Tp const>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468:   template<typename>
> 28468:     struct is_volatile
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_volatile<_Tp volatile>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_trivial
> 28468:     : public integral_constant<bool, __is_trivial(_Tp)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_trivially_copyable
> 28468:     : public integral_constant<bool, __is_trivially_copyable(_Tp)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_standard_layout
> 28468:     : public integral_constant<bool, __is_standard_layout(_Tp)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_pod
> 28468:     : public integral_constant<bool, __is_pod(_Tp)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_literal_type
> 28468:     : public integral_constant<bool, __is_literal_type(_Tp)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_empty
> 28468:     : public integral_constant<bool, __is_empty(_Tp)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_polymorphic
> 28468:     : public integral_constant<bool, __is_polymorphic(_Tp)>
> 28468:     { };
> 28468: # 723 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp>
> 28468:     struct is_abstract
> 28468:     : public integral_constant<bool, __is_abstract(_Tp)>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp,
> 28468:     bool = is_arithmetic<_Tp>::value>
> 28468:     struct __is_signed_helper
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_signed_helper<_Tp, true>
> 28468:     : public integral_constant<bool, _Tp(-1) < _Tp(0)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_signed
> 28468:     : public __is_signed_helper<_Tp>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_unsigned
> 28468:     : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>>
> 28468:     { };
> 28468: # 758 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp, typename _Up = _Tp&&>
> 28468:     _Up
> 28468:     __declval(int);
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     _Tp
> 28468:     __declval(long);
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     auto declval() noexcept -> decltype(__declval<_Tp>(0));
> 28468: 
> 28468:   template<typename, unsigned = 0>
> 28468:     struct extent;
> 28468: 
> 28468:   template<typename>
> 28468:     struct remove_all_extents;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_array_known_bounds
> 28468:     : public integral_constant<bool, (extent<_Tp>::value > 0)>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_array_unknown_bounds
> 28468:     : public __and_<is_array<_Tp>, __not_<extent<_Tp>>>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct __do_is_destructible_impl
> 28468:   {
> 28468:     template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())>
> 28468:       static true_type __test(int);
> 28468: 
> 28468:     template<typename>
> 28468:       static false_type __test(...);
> 28468:   };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_destructible_impl
> 28468:     : public __do_is_destructible_impl
> 28468:     {
> 28468:       typedef decltype(__test<_Tp>(0)) type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp,
> 28468:            bool = __or_<is_void<_Tp>,
> 28468:                         __is_array_unknown_bounds<_Tp>,
> 28468:                         is_function<_Tp>>::value,
> 28468:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
> 28468:     struct __is_destructible_safe;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_destructible_safe<_Tp, false, false>
> 28468:     : public __is_destructible_impl<typename
> 28468:                remove_all_extents<_Tp>::type>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_destructible_safe<_Tp, true, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_destructible_safe<_Tp, false, true>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_destructible
> 28468:     : public __is_destructible_safe<_Tp>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct __do_is_nt_destructible_impl
> 28468:   {
> 28468:     template<typename _Tp>
> 28468:       static __bool_constant<noexcept(declval<_Tp&>().~_Tp())>
> 28468:       __test(int);
> 28468: 
> 28468:     template<typename>
> 28468:       static false_type __test(...);
> 28468:   };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_destructible_impl
> 28468:     : public __do_is_nt_destructible_impl
> 28468:     {
> 28468:       typedef decltype(__test<_Tp>(0)) type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp,
> 28468:            bool = __or_<is_void<_Tp>,
> 28468:                         __is_array_unknown_bounds<_Tp>,
> 28468:                         is_function<_Tp>>::value,
> 28468:            bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value>
> 28468:     struct __is_nt_destructible_safe;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_destructible_safe<_Tp, false, false>
> 28468:     : public __is_nt_destructible_impl<typename
> 28468:                remove_all_extents<_Tp>::type>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_destructible_safe<_Tp, true, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_destructible_safe<_Tp, false, true>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_nothrow_destructible
> 28468:     : public __is_nt_destructible_safe<_Tp>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename... _Args>
> 28468:     struct is_constructible
> 28468:       : public __bool_constant<__is_constructible(_Tp, _Args...)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_default_constructible
> 28468:     : public is_constructible<_Tp>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_copy_constructible_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_copy_constructible_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_copy_constructible_impl<_Tp, true>
> 28468:     : public is_constructible<_Tp, const _Tp&>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_copy_constructible
> 28468:     : public __is_copy_constructible_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_move_constructible_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_move_constructible_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_move_constructible_impl<_Tp, true>
> 28468:     : public is_constructible<_Tp, _Tp&&>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_move_constructible
> 28468:     : public __is_move_constructible_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_default_constructible_atom
> 28468:     : public integral_constant<bool, noexcept(_Tp())>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = is_array<_Tp>::value>
> 28468:     struct __is_nt_default_constructible_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_default_constructible_impl<_Tp, true>
> 28468:     : public __and_<__is_array_known_bounds<_Tp>,
> 28468:       __is_nt_default_constructible_atom<typename
> 28468:                       remove_all_extents<_Tp>::type>>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_default_constructible_impl<_Tp, false>
> 28468:     : public __is_nt_default_constructible_atom<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_nothrow_default_constructible
> 28468:     : public __and_<is_default_constructible<_Tp>,
> 28468:                     __is_nt_default_constructible_impl<_Tp>>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, typename... _Args>
> 28468:     struct __is_nt_constructible_impl
> 28468:     : public integral_constant<bool, noexcept(_Tp(declval<_Args>()...))>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, typename _Arg>
> 28468:     struct __is_nt_constructible_impl<_Tp, _Arg>
> 28468:     : public integral_constant<bool,
> 28468:                                noexcept(static_cast<_Tp>(declval<_Arg>()))>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_constructible_impl<_Tp>
> 28468:     : public is_nothrow_default_constructible<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename... _Args>
> 28468:     struct is_nothrow_constructible
> 28468:     : public __and_<is_constructible<_Tp, _Args...>,
> 28468:       __is_nt_constructible_impl<_Tp, _Args...>>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_nothrow_copy_constructible_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nothrow_copy_constructible_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nothrow_copy_constructible_impl<_Tp, true>
> 28468:     : public is_nothrow_constructible<_Tp, const _Tp&>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_nothrow_copy_constructible
> 28468:     : public __is_nothrow_copy_constructible_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_nothrow_move_constructible_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nothrow_move_constructible_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nothrow_move_constructible_impl<_Tp, true>
> 28468:     : public is_nothrow_constructible<_Tp, _Tp&&>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_nothrow_move_constructible
> 28468:     : public __is_nothrow_move_constructible_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     struct is_assignable
> 28468:       : public __bool_constant<__is_assignable(_Tp, _Up)>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_copy_assignable_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_copy_assignable_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_copy_assignable_impl<_Tp, true>
> 28468:     : public is_assignable<_Tp&, const _Tp&>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_copy_assignable
> 28468:     : public __is_copy_assignable_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_move_assignable_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_move_assignable_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_move_assignable_impl<_Tp, true>
> 28468:     : public is_assignable<_Tp&, _Tp&&>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_move_assignable
> 28468:     : public __is_move_assignable_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     struct __is_nt_assignable_impl
> 28468:     : public integral_constant<bool, noexcept(declval<_Tp>() = declval<_Up>())>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     struct is_nothrow_assignable
> 28468:     : public __and_<is_assignable<_Tp, _Up>,
> 28468:       __is_nt_assignable_impl<_Tp, _Up>>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_nt_copy_assignable_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_copy_assignable_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_copy_assignable_impl<_Tp, true>
> 28468:     : public is_nothrow_assignable<_Tp&, const _Tp&>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_nothrow_copy_assignable
> 28468:     : public __is_nt_copy_assignable_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_nt_move_assignable_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_move_assignable_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nt_move_assignable_impl<_Tp, true>
> 28468:     : public is_nothrow_assignable<_Tp&, _Tp&&>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_nothrow_move_assignable
> 28468:     : public __is_nt_move_assignable_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename... _Args>
> 28468:     struct is_trivially_constructible
> 28468:     : public __bool_constant<__is_trivially_constructible(_Tp, _Args...)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_trivially_default_constructible
> 28468:     : public is_trivially_constructible<_Tp>::type
> 28468:     { };
> 28468: 
> 28468:   struct __do_is_implicitly_default_constructible_impl
> 28468:   {
> 28468:     template <typename _Tp>
> 28468:     static void __helper(const _Tp&);
> 28468: 
> 28468:     template <typename _Tp>
> 28468:     static true_type __test(const _Tp&,
> 28468:                             decltype(__helper<const _Tp&>({}))* = 0);
> 28468: 
> 28468:     static false_type __test(...);
> 28468:   };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_implicitly_default_constructible_impl
> 28468:     : public __do_is_implicitly_default_constructible_impl
> 28468:     {
> 28468:       typedef decltype(__test(declval<_Tp>())) type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_implicitly_default_constructible_safe
> 28468:     : public __is_implicitly_default_constructible_impl<_Tp>::type
> 28468:     { };
> 28468: 
> 28468:   template <typename _Tp>
> 28468:     struct __is_implicitly_default_constructible
> 28468:     : public __and_<is_default_constructible<_Tp>,
> 28468:       __is_implicitly_default_constructible_safe<_Tp>>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_trivially_copy_constructible_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_trivially_copy_constructible_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_trivially_copy_constructible_impl<_Tp, true>
> 28468:     : public __and_<is_copy_constructible<_Tp>,
> 28468:       integral_constant<bool,
> 28468:    __is_trivially_constructible(_Tp, const _Tp&)>>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_trivially_copy_constructible
> 28468:     : public __is_trivially_copy_constructible_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_trivially_move_constructible_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_trivially_move_constructible_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_trivially_move_constructible_impl<_Tp, true>
> 28468:     : public __and_<is_move_constructible<_Tp>,
> 28468:       integral_constant<bool,
> 28468:    __is_trivially_constructible(_Tp, _Tp&&)>>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_trivially_move_constructible
> 28468:     : public __is_trivially_move_constructible_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     struct is_trivially_assignable
> 28468:     : public __bool_constant<__is_trivially_assignable(_Tp, _Up)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_trivially_copy_assignable_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_trivially_copy_assignable_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_trivially_copy_assignable_impl<_Tp, true>
> 28468:     : public __bool_constant<__is_trivially_assignable(_Tp&, const _Tp&)>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_trivially_copy_assignable
> 28468:     : public __is_trivially_copy_assignable_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __is_trivially_move_assignable_impl;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_trivially_move_assignable_impl<_Tp, false>
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_trivially_move_assignable_impl<_Tp, true>
> 28468:     : public __bool_constant<__is_trivially_assignable(_Tp&, _Tp&&)>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_trivially_move_assignable
> 28468:     : public __is_trivially_move_assignable_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_trivially_destructible
> 28468:     : public __and_<is_destructible<_Tp>,
> 28468:       __bool_constant<__has_trivial_destructor(_Tp)>>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct has_virtual_destructor
> 28468:     : public integral_constant<bool, __has_virtual_destructor(_Tp)>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct alignment_of
> 28468:     : public integral_constant<std::size_t, alignof(_Tp)> { };
> 28468: 
> 28468: 
> 28468:   template<typename>
> 28468:     struct rank
> 28468:     : public integral_constant<std::size_t, 0> { };
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Size>
> 28468:     struct rank<_Tp[_Size]>
> 28468:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct rank<_Tp[]>
> 28468:     : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { };
> 28468: 
> 28468: 
> 28468:   template<typename, unsigned _Uint>
> 28468:     struct extent
> 28468:     : public integral_constant<std::size_t, 0> { };
> 28468: 
> 28468:   template<typename _Tp, unsigned _Uint, std::size_t _Size>
> 28468:     struct extent<_Tp[_Size], _Uint>
> 28468:     : public integral_constant<std::size_t,
> 28468:           _Uint == 0 ? _Size : extent<_Tp,
> 28468:           _Uint - 1>::value>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, unsigned _Uint>
> 28468:     struct extent<_Tp[], _Uint>
> 28468:     : public integral_constant<std::size_t,
> 28468:           _Uint == 0 ? 0 : extent<_Tp,
> 28468:              _Uint - 1>::value>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename, typename>
> 28468:     struct is_same
> 28468:     : public false_type { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_same<_Tp, _Tp>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Base, typename _Derived>
> 28468:     struct is_base_of
> 28468:     : public integral_constant<bool, __is_base_of(_Base, _Derived)>
> 28468:     { };
> 28468: 
> 28468:   template<typename _From, typename _To,
> 28468:            bool = __or_<is_void<_From>, is_function<_To>,
> 28468:                         is_array<_To>>::value>
> 28468:     struct __is_convertible_helper
> 28468:     {
> 28468:       typedef typename is_void<_To>::type type;
> 28468:     };
> 28468: 
> 28468:   template<typename _From, typename _To>
> 28468:     class __is_convertible_helper<_From, _To, false>
> 28468:     {
> 28468:       template<typename _To1>
> 28468:  static void __test_aux(_To1) noexcept;
> 28468: 
> 28468:       template<typename _From1, typename _To1,
> 28468:         typename = decltype(__test_aux<_To1>(std::declval<_From1>()))>
> 28468:  static true_type
> 28468:  __test(int);
> 28468: 
> 28468:       template<typename, typename>
> 28468:  static false_type
> 28468:  __test(...);
> 28468: 
> 28468:     public:
> 28468:       typedef decltype(__test<_From, _To>(0)) type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _From, typename _To>
> 28468:     struct is_convertible
> 28468:     : public __is_convertible_helper<_From, _To>::type
> 28468:     { };
> 28468: # 1380 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp>
> 28468:     struct remove_const
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct remove_const<_Tp const>
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct remove_volatile
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct remove_volatile<_Tp volatile>
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct remove_cv
> 28468:     {
> 28468:       typedef typename
> 28468:       remove_const<typename remove_volatile<_Tp>::type>::type type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct add_const
> 28468:     { typedef _Tp const type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct add_volatile
> 28468:     { typedef _Tp volatile type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct add_cv
> 28468:     {
> 28468:       typedef typename
> 28468:       add_const<typename add_volatile<_Tp>::type>::type type;
> 28468:     };
> 28468: # 1455 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp>
> 28468:     struct remove_reference
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct remove_reference<_Tp&>
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct remove_reference<_Tp&&>
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __add_lvalue_reference_helper
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __add_lvalue_reference_helper<_Tp, true>
> 28468:     { typedef _Tp& type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct add_lvalue_reference
> 28468:     : public __add_lvalue_reference_helper<_Tp>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = __is_referenceable<_Tp>::value>
> 28468:     struct __add_rvalue_reference_helper
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __add_rvalue_reference_helper<_Tp, true>
> 28468:     { typedef _Tp&& type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct add_rvalue_reference
> 28468:     : public __add_rvalue_reference_helper<_Tp>
> 28468:     { };
> 28468: # 1512 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Unqualified, bool _IsConst, bool _IsVol>
> 28468:     struct __cv_selector;
> 28468: 
> 28468:   template<typename _Unqualified>
> 28468:     struct __cv_selector<_Unqualified, false, false>
> 28468:     { typedef _Unqualified __type; };
> 28468: 
> 28468:   template<typename _Unqualified>
> 28468:     struct __cv_selector<_Unqualified, false, true>
> 28468:     { typedef volatile _Unqualified __type; };
> 28468: 
> 28468:   template<typename _Unqualified>
> 28468:     struct __cv_selector<_Unqualified, true, false>
> 28468:     { typedef const _Unqualified __type; };
> 28468: 
> 28468:   template<typename _Unqualified>
> 28468:     struct __cv_selector<_Unqualified, true, true>
> 28468:     { typedef const volatile _Unqualified __type; };
> 28468: 
> 28468:   template<typename _Qualified, typename _Unqualified,
> 28468:     bool _IsConst = is_const<_Qualified>::value,
> 28468:     bool _IsVol = is_volatile<_Qualified>::value>
> 28468:     class __match_cv_qualifiers
> 28468:     {
> 28468:       typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match;
> 28468: 
> 28468:     public:
> 28468:       typedef typename __match::__type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __make_unsigned
> 28468:     { typedef _Tp __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_unsigned<char>
> 28468:     { typedef unsigned char __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_unsigned<signed char>
> 28468:     { typedef unsigned char __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_unsigned<short>
> 28468:     { typedef unsigned short __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_unsigned<int>
> 28468:     { typedef unsigned int __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_unsigned<long>
> 28468:     { typedef unsigned long __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_unsigned<long long>
> 28468:     { typedef unsigned long long __type; };
> 28468: # 1593 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp,
> 28468:     bool _IsInt = is_integral<_Tp>::value,
> 28468:     bool _IsEnum = is_enum<_Tp>::value>
> 28468:     class __make_unsigned_selector;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class __make_unsigned_selector<_Tp, true, false>
> 28468:     {
> 28468:       using __unsigned_type
> 28468:  = typename __make_unsigned<typename remove_cv<_Tp>::type>::__type;
> 28468: 
> 28468:     public:
> 28468:       using __type
> 28468:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
> 28468:     };
> 28468: 
> 28468:   class __make_unsigned_selector_base
> 28468:   {
> 28468:   protected:
> 28468:     template<typename...> struct _List { };
> 28468: 
> 28468:     template<typename _Tp, typename... _Up>
> 28468:       struct _List<_Tp, _Up...> : _List<_Up...>
> 28468:       { static constexpr size_t __size = sizeof(_Tp); };
> 28468: 
> 28468:     template<size_t _Sz, typename _Tp, bool = (_Sz <= _Tp::__size)>
> 28468:       struct __select;
> 28468: 
> 28468:     template<size_t _Sz, typename _Uint, typename... _UInts>
> 28468:       struct __select<_Sz, _List<_Uint, _UInts...>, true>
> 28468:       { using __type = _Uint; };
> 28468: 
> 28468:     template<size_t _Sz, typename _Uint, typename... _UInts>
> 28468:       struct __select<_Sz, _List<_Uint, _UInts...>, false>
> 28468:       : __select<_Sz, _List<_UInts...>>
> 28468:       { };
> 28468:   };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class __make_unsigned_selector<_Tp, false, true>
> 28468:     : __make_unsigned_selector_base
> 28468:     {
> 28468: 
> 28468:       using _UInts = _List<unsigned char, unsigned short, unsigned int,
> 28468:       unsigned long, unsigned long long>;
> 28468: 
> 28468:       using __unsigned_type = typename __select<sizeof(_Tp), _UInts>::__type;
> 28468: 
> 28468:     public:
> 28468:       using __type
> 28468:  = typename __match_cv_qualifiers<_Tp, __unsigned_type>::__type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __make_unsigned<wchar_t>
> 28468:     {
> 28468:       using __type
> 28468:  = typename __make_unsigned_selector<wchar_t, false, true>::__type;
> 28468:     };
> 28468: # 1669 "/usr/include/c++/9/type_traits" 3
> 28468:   template<>
> 28468:     struct __make_unsigned<char16_t>
> 28468:     {
> 28468:       using __type
> 28468:  = typename __make_unsigned_selector<char16_t, false, true>::__type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_unsigned<char32_t>
> 28468:     {
> 28468:       using __type
> 28468:  = typename __make_unsigned_selector<char32_t, false, true>::__type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct make_unsigned
> 28468:     { typedef typename __make_unsigned_selector<_Tp>::__type type; };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct make_unsigned<bool>;
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __make_signed
> 28468:     { typedef _Tp __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_signed<char>
> 28468:     { typedef signed char __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_signed<unsigned char>
> 28468:     { typedef signed char __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_signed<unsigned short>
> 28468:     { typedef signed short __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_signed<unsigned int>
> 28468:     { typedef signed int __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_signed<unsigned long>
> 28468:     { typedef signed long __type; };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_signed<unsigned long long>
> 28468:     { typedef signed long long __type; };
> 28468: # 1747 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp,
> 28468:     bool _IsInt = is_integral<_Tp>::value,
> 28468:     bool _IsEnum = is_enum<_Tp>::value>
> 28468:     class __make_signed_selector;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class __make_signed_selector<_Tp, true, false>
> 28468:     {
> 28468:       using __signed_type
> 28468:  = typename __make_signed<typename remove_cv<_Tp>::type>::__type;
> 28468: 
> 28468:     public:
> 28468:       using __type
> 28468:  = typename __match_cv_qualifiers<_Tp, __signed_type>::__type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class __make_signed_selector<_Tp, false, true>
> 28468:     {
> 28468:       typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type;
> 28468: 
> 28468:     public:
> 28468:       typedef typename __make_signed_selector<__unsigned_type>::__type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __make_signed<wchar_t>
> 28468:     {
> 28468:       using __type
> 28468:  = typename __make_signed_selector<wchar_t, false, true>::__type;
> 28468:     };
> 28468: # 1795 "/usr/include/c++/9/type_traits" 3
> 28468:   template<>
> 28468:     struct __make_signed<char16_t>
> 28468:     {
> 28468:       using __type
> 28468:  = typename __make_signed_selector<char16_t, false, true>::__type;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __make_signed<char32_t>
> 28468:     {
> 28468:       using __type
> 28468:  = typename __make_signed_selector<char32_t, false, true>::__type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct make_signed
> 28468:     { typedef typename __make_signed_selector<_Tp>::__type type; };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct make_signed<bool>;
> 28468: # 1834 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp>
> 28468:     struct remove_extent
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Size>
> 28468:     struct remove_extent<_Tp[_Size]>
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct remove_extent<_Tp[]>
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct remove_all_extents
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Size>
> 28468:     struct remove_all_extents<_Tp[_Size]>
> 28468:     { typedef typename remove_all_extents<_Tp>::type type; };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct remove_all_extents<_Tp[]>
> 28468:     { typedef typename remove_all_extents<_Tp>::type type; };
> 28468: # 1871 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Tp, typename>
> 28468:     struct __remove_pointer_helper
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     struct __remove_pointer_helper<_Tp, _Up*>
> 28468:     { typedef _Up type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct remove_pointer
> 28468:     : public __remove_pointer_helper<_Tp, typename remove_cv<_Tp>::type>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, bool = __or_<__is_referenceable<_Tp>,
> 28468:           is_void<_Tp>>::value>
> 28468:     struct __add_pointer_helper
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __add_pointer_helper<_Tp, true>
> 28468:     { typedef typename remove_reference<_Tp>::type* type; };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct add_pointer
> 28468:     : public __add_pointer_helper<_Tp>
> 28468:     { };
> 28468: # 1910 "/usr/include/c++/9/type_traits" 3
> 28468:   template<std::size_t _Len>
> 28468:     struct __aligned_storage_msa
> 28468:     {
> 28468:       union __type
> 28468:       {
> 28468:  unsigned char __data[_Len];
> 28468:  struct __attribute__((__aligned__)) { } __align;
> 28468:       };
> 28468:     };
> 28468: # 1930 "/usr/include/c++/9/type_traits" 3
> 28468:   template<std::size_t _Len, std::size_t _Align =
> 28468:     __alignof__(typename __aligned_storage_msa<_Len>::__type)>
> 28468:     struct aligned_storage
> 28468:     {
> 28468:       union type
> 28468:       {
> 28468:  unsigned char __data[_Len];
> 28468:  struct __attribute__((__aligned__((_Align)))) { } __align;
> 28468:       };
> 28468:     };
> 28468: 
> 28468:   template <typename... _Types>
> 28468:     struct __strictest_alignment
> 28468:     {
> 28468:       static const size_t _S_alignment = 0;
> 28468:       static const size_t _S_size = 0;
> 28468:     };
> 28468: 
> 28468:   template <typename _Tp, typename... _Types>
> 28468:     struct __strictest_alignment<_Tp, _Types...>
> 28468:     {
> 28468:       static const size_t _S_alignment =
> 28468:         alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment
> 28468:  ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment;
> 28468:       static const size_t _S_size =
> 28468:         sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size
> 28468:  ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size;
> 28468:     };
> 28468: # 1969 "/usr/include/c++/9/type_traits" 3
> 28468:   template <size_t _Len, typename... _Types>
> 28468:     struct aligned_union
> 28468:     {
> 28468:     private:
> 28468:       static_assert(sizeof...(_Types) != 0, "At least one type is required");
> 28468: 
> 28468:       using __strictest = __strictest_alignment<_Types...>;
> 28468:       static const size_t _S_len = _Len > __strictest::_S_size
> 28468:  ? _Len : __strictest::_S_size;
> 28468:     public:
> 28468: 
> 28468:       static const size_t alignment_value = __strictest::_S_alignment;
> 28468: 
> 28468:       typedef typename aligned_storage<_S_len, alignment_value>::type type;
> 28468:     };
> 28468: 
> 28468:   template <size_t _Len, typename... _Types>
> 28468:     const size_t aligned_union<_Len, _Types...>::alignment_value;
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Up,
> 28468:     bool _IsArray = is_array<_Up>::value,
> 28468:     bool _IsFunction = is_function<_Up>::value>
> 28468:     struct __decay_selector;
> 28468: 
> 28468: 
> 28468:   template<typename _Up>
> 28468:     struct __decay_selector<_Up, false, false>
> 28468:     { typedef typename remove_cv<_Up>::type __type; };
> 28468: 
> 28468:   template<typename _Up>
> 28468:     struct __decay_selector<_Up, true, false>
> 28468:     { typedef typename remove_extent<_Up>::type* __type; };
> 28468: 
> 28468:   template<typename _Up>
> 28468:     struct __decay_selector<_Up, false, true>
> 28468:     { typedef typename add_pointer<_Up>::type __type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class decay
> 28468:     {
> 28468:       typedef typename remove_reference<_Tp>::type __remove_type;
> 28468: 
> 28468:     public:
> 28468:       typedef typename __decay_selector<__remove_type>::__type type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class reference_wrapper;
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __strip_reference_wrapper
> 28468:     {
> 28468:       typedef _Tp __type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __strip_reference_wrapper<reference_wrapper<_Tp> >
> 28468:     {
> 28468:       typedef _Tp& __type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __decay_and_strip
> 28468:     {
> 28468:       typedef typename __strip_reference_wrapper<
> 28468:  typename decay<_Tp>::type>::__type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<bool, typename _Tp = void>
> 28468:     struct enable_if
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct enable_if<true, _Tp>
> 28468:     { typedef _Tp type; };
> 28468: 
> 28468:   template<typename... _Cond>
> 28468:     using _Require = typename enable_if<__and_<_Cond...>::value>::type;
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<bool _Cond, typename _Iftrue, typename _Iffalse>
> 28468:     struct conditional
> 28468:     { typedef _Iftrue type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Iftrue, typename _Iffalse>
> 28468:     struct conditional<false, _Iftrue, _Iffalse>
> 28468:     { typedef _Iffalse type; };
> 28468: 
> 28468: 
> 28468:   template<typename... _Tp>
> 28468:     struct common_type;
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct __do_common_type_impl
> 28468:   {
> 28468:     template<typename _Tp, typename _Up>
> 28468:       static __success_type<typename decay<decltype
> 28468:        (true ? std::declval<_Tp>()
> 28468:         : std::declval<_Up>())>::type> _S_test(int);
> 28468: 
> 28468:     template<typename, typename>
> 28468:       static __failure_type _S_test(...);
> 28468:   };
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     struct __common_type_impl
> 28468:     : private __do_common_type_impl
> 28468:     {
> 28468:       typedef decltype(_S_test<_Tp, _Up>(0)) type;
> 28468:     };
> 28468: 
> 28468:   struct __do_member_type_wrapper
> 28468:   {
> 28468:     template<typename _Tp>
> 28468:       static __success_type<typename _Tp::type> _S_test(int);
> 28468: 
> 28468:     template<typename>
> 28468:       static __failure_type _S_test(...);
> 28468:   };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __member_type_wrapper
> 28468:     : private __do_member_type_wrapper
> 28468:     {
> 28468:       typedef decltype(_S_test<_Tp>(0)) type;
> 28468:     };
> 28468: 
> 28468:   template<typename _CTp, typename... _Args>
> 28468:     struct __expanded_common_type_wrapper
> 28468:     {
> 28468:       typedef common_type<typename _CTp::type, _Args...> type;
> 28468:     };
> 28468: 
> 28468:   template<typename... _Args>
> 28468:     struct __expanded_common_type_wrapper<__failure_type, _Args...>
> 28468:     { typedef __failure_type type; };
> 28468: 
> 28468:   template<>
> 28468:     struct common_type<>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct common_type<_Tp>
> 28468:     : common_type<_Tp, _Tp>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     struct common_type<_Tp, _Up>
> 28468:     : public __common_type_impl<_Tp, _Up>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, typename _Up, typename... _Vp>
> 28468:     struct common_type<_Tp, _Up, _Vp...>
> 28468:     : public __expanded_common_type_wrapper<typename __member_type_wrapper<
> 28468:                common_type<_Tp, _Up>>::type, _Vp...>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = is_enum<_Tp>::value>
> 28468:     struct __underlying_type_impl
> 28468:     {
> 28468:       using type = __underlying_type(_Tp);
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __underlying_type_impl<_Tp, false>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct underlying_type
> 28468:     : public __underlying_type_impl<_Tp>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __declval_protector
> 28468:     {
> 28468:       static const bool __stop = false;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     auto declval() noexcept -> decltype(__declval<_Tp>(0))
> 28468:     {
> 28468:       static_assert(__declval_protector<_Tp>::__stop,
> 28468:       "declval() must not be used!");
> 28468:       return __declval<_Tp>(0);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     using __remove_cvref_t
> 28468:      = typename remove_cv<typename remove_reference<_Tp>::type>::type;
> 28468: 
> 28468: 
> 28468:   template<typename _Signature>
> 28468:     class result_of;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct __invoke_memfun_ref { };
> 28468:   struct __invoke_memfun_deref { };
> 28468:   struct __invoke_memobj_ref { };
> 28468:   struct __invoke_memobj_deref { };
> 28468:   struct __invoke_other { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Tag>
> 28468:     struct __result_of_success : __success_type<_Tp>
> 28468:     { using __invoke_type = _Tag; };
> 28468: 
> 28468: 
> 28468:   struct __result_of_memfun_ref_impl
> 28468:   {
> 28468:     template<typename _Fp, typename _Tp1, typename... _Args>
> 28468:       static __result_of_success<decltype(
> 28468:       (std::declval<_Tp1>().*std::declval<_Fp>())(std::declval<_Args>()...)
> 28468:       ), __invoke_memfun_ref> _S_test(int);
> 28468: 
> 28468:     template<typename...>
> 28468:       static __failure_type _S_test(...);
> 28468:   };
> 28468: 
> 28468:   template<typename _MemPtr, typename _Arg, typename... _Args>
> 28468:     struct __result_of_memfun_ref
> 28468:     : private __result_of_memfun_ref_impl
> 28468:     {
> 28468:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   struct __result_of_memfun_deref_impl
> 28468:   {
> 28468:     template<typename _Fp, typename _Tp1, typename... _Args>
> 28468:       static __result_of_success<decltype(
> 28468:       ((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...)
> 28468:       ), __invoke_memfun_deref> _S_test(int);
> 28468: 
> 28468:     template<typename...>
> 28468:       static __failure_type _S_test(...);
> 28468:   };
> 28468: 
> 28468:   template<typename _MemPtr, typename _Arg, typename... _Args>
> 28468:     struct __result_of_memfun_deref
> 28468:     : private __result_of_memfun_deref_impl
> 28468:     {
> 28468:       typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   struct __result_of_memobj_ref_impl
> 28468:   {
> 28468:     template<typename _Fp, typename _Tp1>
> 28468:       static __result_of_success<decltype(
> 28468:       std::declval<_Tp1>().*std::declval<_Fp>()
> 28468:       ), __invoke_memobj_ref> _S_test(int);
> 28468: 
> 28468:     template<typename, typename>
> 28468:       static __failure_type _S_test(...);
> 28468:   };
> 28468: 
> 28468:   template<typename _MemPtr, typename _Arg>
> 28468:     struct __result_of_memobj_ref
> 28468:     : private __result_of_memobj_ref_impl
> 28468:     {
> 28468:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   struct __result_of_memobj_deref_impl
> 28468:   {
> 28468:     template<typename _Fp, typename _Tp1>
> 28468:       static __result_of_success<decltype(
> 28468:       (*std::declval<_Tp1>()).*std::declval<_Fp>()
> 28468:       ), __invoke_memobj_deref> _S_test(int);
> 28468: 
> 28468:     template<typename, typename>
> 28468:       static __failure_type _S_test(...);
> 28468:   };
> 28468: 
> 28468:   template<typename _MemPtr, typename _Arg>
> 28468:     struct __result_of_memobj_deref
> 28468:     : private __result_of_memobj_deref_impl
> 28468:     {
> 28468:       typedef decltype(_S_test<_MemPtr, _Arg>(0)) type;
> 28468:     };
> 28468: 
> 28468:   template<typename _MemPtr, typename _Arg>
> 28468:     struct __result_of_memobj;
> 28468: 
> 28468:   template<typename _Res, typename _Class, typename _Arg>
> 28468:     struct __result_of_memobj<_Res _Class::*, _Arg>
> 28468:     {
> 28468:       typedef __remove_cvref_t<_Arg> _Argval;
> 28468:       typedef _Res _Class::* _MemPtr;
> 28468:       typedef typename conditional<__or_<is_same<_Argval, _Class>,
> 28468:         is_base_of<_Class, _Argval>>::value,
> 28468:         __result_of_memobj_ref<_MemPtr, _Arg>,
> 28468:         __result_of_memobj_deref<_MemPtr, _Arg>
> 28468:       >::type::type type;
> 28468:     };
> 28468: 
> 28468:   template<typename _MemPtr, typename _Arg, typename... _Args>
> 28468:     struct __result_of_memfun;
> 28468: 
> 28468:   template<typename _Res, typename _Class, typename _Arg, typename... _Args>
> 28468:     struct __result_of_memfun<_Res _Class::*, _Arg, _Args...>
> 28468:     {
> 28468:       typedef typename remove_reference<_Arg>::type _Argval;
> 28468:       typedef _Res _Class::* _MemPtr;
> 28468:       typedef typename conditional<is_base_of<_Class, _Argval>::value,
> 28468:         __result_of_memfun_ref<_MemPtr, _Arg, _Args...>,
> 28468:         __result_of_memfun_deref<_MemPtr, _Arg, _Args...>
> 28468:       >::type::type type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up = __remove_cvref_t<_Tp>>
> 28468:     struct __inv_unwrap
> 28468:     {
> 28468:       using type = _Tp;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     struct __inv_unwrap<_Tp, reference_wrapper<_Up>>
> 28468:     {
> 28468:       using type = _Up&;
> 28468:     };
> 28468: 
> 28468:   template<bool, bool, typename _Functor, typename... _ArgTypes>
> 28468:     struct __result_of_impl
> 28468:     {
> 28468:       typedef __failure_type type;
> 28468:     };
> 28468: 
> 28468:   template<typename _MemPtr, typename _Arg>
> 28468:     struct __result_of_impl<true, false, _MemPtr, _Arg>
> 28468:     : public __result_of_memobj<typename decay<_MemPtr>::type,
> 28468:     typename __inv_unwrap<_Arg>::type>
> 28468:     { };
> 28468: 
> 28468:   template<typename _MemPtr, typename _Arg, typename... _Args>
> 28468:     struct __result_of_impl<false, true, _MemPtr, _Arg, _Args...>
> 28468:     : public __result_of_memfun<typename decay<_MemPtr>::type,
> 28468:     typename __inv_unwrap<_Arg>::type, _Args...>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   struct __result_of_other_impl
> 28468:   {
> 28468:     template<typename _Fn, typename... _Args>
> 28468:       static __result_of_success<decltype(
> 28468:       std::declval<_Fn>()(std::declval<_Args>()...)
> 28468:       ), __invoke_other> _S_test(int);
> 28468: 
> 28468:     template<typename...>
> 28468:       static __failure_type _S_test(...);
> 28468:   };
> 28468: 
> 28468:   template<typename _Functor, typename... _ArgTypes>
> 28468:     struct __result_of_impl<false, false, _Functor, _ArgTypes...>
> 28468:     : private __result_of_other_impl
> 28468:     {
> 28468:       typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Functor, typename... _ArgTypes>
> 28468:     struct __invoke_result
> 28468:     : public __result_of_impl<
> 28468:         is_member_object_pointer<
> 28468:           typename remove_reference<_Functor>::type
> 28468:         >::value,
> 28468:         is_member_function_pointer<
> 28468:           typename remove_reference<_Functor>::type
> 28468:         >::value,
> 28468:  _Functor, _ArgTypes...
> 28468:       >::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Functor, typename... _ArgTypes>
> 28468:     struct result_of<_Functor(_ArgTypes...)>
> 28468:     : public __invoke_result<_Functor, _ArgTypes...>
> 28468:     { };
> 28468: # 2404 "/usr/include/c++/9/type_traits" 3
> 28468:   template<bool _Cond, typename _Tp = void>
> 28468:     using __enable_if_t = typename enable_if<_Cond, _Tp>::type;
> 28468: 
> 28468: 
> 28468:   template<typename...> using __void_t = void;
> 28468: # 2417 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Default, typename _AlwaysVoid,
> 28468:     template<typename...> class _Op, typename... _Args>
> 28468:     struct __detector
> 28468:     {
> 28468:       using value_t = false_type;
> 28468:       using type = _Default;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Default, template<typename...> class _Op,
> 28468:      typename... _Args>
> 28468:     struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...>
> 28468:     {
> 28468:       using value_t = true_type;
> 28468:       using type = _Op<_Args...>;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Default, template<typename...> class _Op,
> 28468:     typename... _Args>
> 28468:     using __detected_or = __detector<_Default, void, _Op, _Args...>;
> 28468: 
> 28468: 
> 28468:   template<typename _Default, template<typename...> class _Op,
> 28468:     typename... _Args>
> 28468:     using __detected_or_t
> 28468:       = typename __detected_or<_Default, _Op, _Args...>::type;
> 28468: # 2461 "/usr/include/c++/9/type_traits" 3
> 28468:   template <typename _Tp>
> 28468:     struct __is_swappable;
> 28468: 
> 28468:   template <typename _Tp>
> 28468:     struct __is_nothrow_swappable;
> 28468: 
> 28468:   template<typename... _Elements>
> 28468:     class tuple;
> 28468: 
> 28468:   template<typename>
> 28468:     struct __is_tuple_like_impl : false_type
> 28468:     { };
> 28468: 
> 28468:   template<typename... _Tps>
> 28468:     struct __is_tuple_like_impl<tuple<_Tps...>> : true_type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_tuple_like
> 28468:     : public __is_tuple_like_impl<__remove_cvref_t<_Tp>>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline
> 28468:     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
> 28468:          is_move_constructible<_Tp>,
> 28468:          is_move_assignable<_Tp>>::value>::type
> 28468:     swap(_Tp&, _Tp&)
> 28468:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
> 28468:              is_nothrow_move_assignable<_Tp>>::value);
> 28468: 
> 28468:   template<typename _Tp, size_t _Nm>
> 28468:     inline
> 28468:     typename enable_if<__is_swappable<_Tp>::value>::type
> 28468:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
> 28468:     noexcept(__is_nothrow_swappable<_Tp>::value);
> 28468: 
> 28468:   namespace __swappable_details {
> 28468:     using std::swap;
> 28468: 
> 28468:     struct __do_is_swappable_impl
> 28468:     {
> 28468:       template<typename _Tp, typename
> 28468:                = decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))>
> 28468:         static true_type __test(int);
> 28468: 
> 28468:       template<typename>
> 28468:         static false_type __test(...);
> 28468:     };
> 28468: 
> 28468:     struct __do_is_nothrow_swappable_impl
> 28468:     {
> 28468:       template<typename _Tp>
> 28468:         static __bool_constant<
> 28468:           noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))
> 28468:         > __test(int);
> 28468: 
> 28468:       template<typename>
> 28468:         static false_type __test(...);
> 28468:     };
> 28468: 
> 28468:   }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_swappable_impl
> 28468:     : public __swappable_details::__do_is_swappable_impl
> 28468:     {
> 28468:       typedef decltype(__test<_Tp>(0)) type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nothrow_swappable_impl
> 28468:     : public __swappable_details::__do_is_nothrow_swappable_impl
> 28468:     {
> 28468:       typedef decltype(__test<_Tp>(0)) type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_swappable
> 28468:     : public __is_swappable_impl<_Tp>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_nothrow_swappable
> 28468:     : public __is_nothrow_swappable_impl<_Tp>::type
> 28468:     { };
> 28468: # 2666 "/usr/include/c++/9/type_traits" 3
> 28468:   template<typename _Result, typename _Ret,
> 28468:     bool = is_void<_Ret>::value, typename = void>
> 28468:     struct __is_invocable_impl : false_type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Result, typename _Ret>
> 28468:     struct __is_invocable_impl<_Result, _Ret,
> 28468:                                 true,
> 28468:           __void_t<typename _Result::type>>
> 28468:     : true_type
> 28468:     { };
> 28468: 
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wctor-dtor-privacy"
> 28468: 
> 28468:   template<typename _Result, typename _Ret>
> 28468:     struct __is_invocable_impl<_Result, _Ret,
> 28468:                                 false,
> 28468:           __void_t<typename _Result::type>>
> 28468:     {
> 28468:     private:
> 28468: 
> 28468: 
> 28468:       static typename _Result::type _S_get();
> 28468: 
> 28468:       template<typename _Tp>
> 28468:  static void _S_conv(_Tp);
> 28468: 
> 28468: 
> 28468:       template<typename _Tp, typename = decltype(_S_conv<_Tp>(_S_get()))>
> 28468:  static true_type
> 28468:  _S_test(int);
> 28468: 
> 28468:       template<typename _Tp>
> 28468:  static false_type
> 28468:  _S_test(...);
> 28468: 
> 28468:     public:
> 28468:       using type = decltype(_S_test<_Ret>(1));
> 28468:     };
> 28468: #pragma GCC diagnostic pop
> 28468: 
> 28468:   template<typename _Fn, typename... _ArgTypes>
> 28468:     struct __is_invocable
> 28468:     : __is_invocable_impl<__invoke_result<_Fn, _ArgTypes...>, void>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Fn, typename _Tp, typename... _Args>
> 28468:     constexpr bool __call_is_nt(__invoke_memfun_ref)
> 28468:     {
> 28468:       using _Up = typename __inv_unwrap<_Tp>::type;
> 28468:       return noexcept((std::declval<_Up>().*std::declval<_Fn>())(
> 28468:      std::declval<_Args>()...));
> 28468:     }
> 28468: 
> 28468:   template<typename _Fn, typename _Tp, typename... _Args>
> 28468:     constexpr bool __call_is_nt(__invoke_memfun_deref)
> 28468:     {
> 28468:       return noexcept(((*std::declval<_Tp>()).*std::declval<_Fn>())(
> 28468:      std::declval<_Args>()...));
> 28468:     }
> 28468: 
> 28468:   template<typename _Fn, typename _Tp>
> 28468:     constexpr bool __call_is_nt(__invoke_memobj_ref)
> 28468:     {
> 28468:       using _Up = typename __inv_unwrap<_Tp>::type;
> 28468:       return noexcept(std::declval<_Up>().*std::declval<_Fn>());
> 28468:     }
> 28468: 
> 28468:   template<typename _Fn, typename _Tp>
> 28468:     constexpr bool __call_is_nt(__invoke_memobj_deref)
> 28468:     {
> 28468:       return noexcept((*std::declval<_Tp>()).*std::declval<_Fn>());
> 28468:     }
> 28468: 
> 28468:   template<typename _Fn, typename... _Args>
> 28468:     constexpr bool __call_is_nt(__invoke_other)
> 28468:     {
> 28468:       return noexcept(std::declval<_Fn>()(std::declval<_Args>()...));
> 28468:     }
> 28468: 
> 28468:   template<typename _Result, typename _Fn, typename... _Args>
> 28468:     struct __call_is_nothrow
> 28468:     : __bool_constant<
> 28468:  std::__call_is_nt<_Fn, _Args...>(typename _Result::__invoke_type{})
> 28468:       >
> 28468:     { };
> 28468: 
> 28468:   template<typename _Fn, typename... _Args>
> 28468:     using __call_is_nothrow_
> 28468:       = __call_is_nothrow<__invoke_result<_Fn, _Args...>, _Fn, _Args...>;
> 28468: 
> 28468: 
> 28468:   template<typename _Fn, typename... _Args>
> 28468:     struct __is_nothrow_invocable
> 28468:     : __and_<__is_invocable<_Fn, _Args...>,
> 28468:              __call_is_nothrow_<_Fn, _Args...>>::type
> 28468:     { };
> 28468: 
> 28468:   struct __nonesuch {
> 28468:     __nonesuch() = delete;
> 28468:     ~__nonesuch() = delete;
> 28468:     __nonesuch(__nonesuch const&) = delete;
> 28468:     void operator=(__nonesuch const&) = delete;
> 28468:   };
> 28468: # 3097 "/usr/include/c++/9/type_traits" 3
> 28468: 
> 28468: }
> 28468: # 56 "/usr/include/c++/9/bits/move.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 72 "/usr/include/c++/9/bits/move.h" 3
> 28468:   template<typename _Tp>
> 28468:     constexpr _Tp&&
> 28468:     forward(typename std::remove_reference<_Tp>::type& __t) noexcept
> 28468:     { return static_cast<_Tp&&>(__t); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr _Tp&&
> 28468:     forward(typename std::remove_reference<_Tp>::type&& __t) noexcept
> 28468:     {
> 28468:       static_assert(!std::is_lvalue_reference<_Tp>::value, "template argument"
> 28468:       " substituting _Tp is an lvalue reference type");
> 28468:       return static_cast<_Tp&&>(__t);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename std::remove_reference<_Tp>::type&&
> 28468:     move(_Tp&& __t) noexcept
> 28468:     { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __move_if_noexcept_cond
> 28468:     : public __and_<__not_<is_nothrow_move_constructible<_Tp>>,
> 28468:                     is_copy_constructible<_Tp>>::type { };
> 28468: # 116 "/usr/include/c++/9/bits/move.h" 3
> 28468:   template<typename _Tp>
> 28468:     constexpr typename
> 28468:     conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type
> 28468:     move_if_noexcept(_Tp& __x) noexcept
> 28468:     { return std::move(__x); }
> 28468: # 136 "/usr/include/c++/9/bits/move.h" 3
> 28468:   template<typename _Tp>
> 28468:     inline _Tp*
> 28468:     addressof(_Tp& __r) noexcept
> 28468:     { return std::__addressof(__r); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     const _Tp* addressof(const _Tp&&) = delete;
> 28468: 
> 28468: 
> 28468:   template <typename _Tp, typename _Up = _Tp>
> 28468:     inline _Tp
> 28468:     __exchange(_Tp& __obj, _Up&& __new_val)
> 28468:     {
> 28468:       _Tp __old_val = std::move(__obj);
> 28468:       __obj = std::forward<_Up>(__new_val);
> 28468:       return __old_val;
> 28468:     }
> 28468: # 176 "/usr/include/c++/9/bits/move.h" 3
> 28468:   template<typename _Tp>
> 28468:     inline
> 28468: 
> 28468:     typename enable_if<__and_<__not_<__is_tuple_like<_Tp>>,
> 28468:          is_move_constructible<_Tp>,
> 28468:          is_move_assignable<_Tp>>::value>::type
> 28468:     swap(_Tp& __a, _Tp& __b)
> 28468:     noexcept(__and_<is_nothrow_move_constructible<_Tp>,
> 28468:              is_nothrow_move_assignable<_Tp>>::value)
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       _Tp __tmp = std::move(__a);
> 28468:       __a = std::move(__b);
> 28468:       __b = std::move(__tmp);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, size_t _Nm>
> 28468:     inline
> 28468: 
> 28468:     typename enable_if<__is_swappable<_Tp>::value>::type
> 28468:     swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm])
> 28468:     noexcept(__is_nothrow_swappable<_Tp>::value)
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     {
> 28468:       for (size_t __n = 0; __n < _Nm; ++__n)
> 28468:  swap(__a[__n], __b[__n]);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 60 "/usr/include/c++/9/bits/stl_pair.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 76 "/usr/include/c++/9/bits/stl_pair.h" 3
> 28468:   struct piecewise_construct_t { explicit piecewise_construct_t() = default; };
> 28468: 
> 28468: 
> 28468:   constexpr piecewise_construct_t piecewise_construct =
> 28468:     piecewise_construct_t();
> 28468: 
> 28468: 
> 28468:   template<typename...>
> 28468:     class tuple;
> 28468: 
> 28468:   template<std::size_t...>
> 28468:     struct _Index_tuple;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template <bool, typename _T1, typename _T2>
> 28468:     struct _PCC
> 28468:     {
> 28468:       template <typename _U1, typename _U2>
> 28468:       static constexpr bool _ConstructiblePair()
> 28468:       {
> 28468:  return __and_<is_constructible<_T1, const _U1&>,
> 28468:         is_constructible<_T2, const _U2&>>::value;
> 28468:       }
> 28468: 
> 28468:       template <typename _U1, typename _U2>
> 28468:       static constexpr bool _ImplicitlyConvertiblePair()
> 28468:       {
> 28468:  return __and_<is_convertible<const _U1&, _T1>,
> 28468:         is_convertible<const _U2&, _T2>>::value;
> 28468:       }
> 28468: 
> 28468:       template <typename _U1, typename _U2>
> 28468:       static constexpr bool _MoveConstructiblePair()
> 28468:       {
> 28468:  return __and_<is_constructible<_T1, _U1&&>,
> 28468:         is_constructible<_T2, _U2&&>>::value;
> 28468:       }
> 28468: 
> 28468:       template <typename _U1, typename _U2>
> 28468:       static constexpr bool _ImplicitlyMoveConvertiblePair()
> 28468:       {
> 28468:  return __and_<is_convertible<_U1&&, _T1>,
> 28468:         is_convertible<_U2&&, _T2>>::value;
> 28468:       }
> 28468: 
> 28468:       template <bool __implicit, typename _U1, typename _U2>
> 28468:       static constexpr bool _CopyMovePair()
> 28468:       {
> 28468:  using __do_converts = __and_<is_convertible<const _U1&, _T1>,
> 28468:       is_convertible<_U2&&, _T2>>;
> 28468:  using __converts = typename conditional<__implicit,
> 28468:            __do_converts,
> 28468:            __not_<__do_converts>>::type;
> 28468:  return __and_<is_constructible<_T1, const _U1&>,
> 28468:         is_constructible<_T2, _U2&&>,
> 28468:         __converts
> 28468:         >::value;
> 28468:       }
> 28468: 
> 28468:       template <bool __implicit, typename _U1, typename _U2>
> 28468:       static constexpr bool _MoveCopyPair()
> 28468:       {
> 28468:  using __do_converts = __and_<is_convertible<_U1&&, _T1>,
> 28468:       is_convertible<const _U2&, _T2>>;
> 28468:  using __converts = typename conditional<__implicit,
> 28468:            __do_converts,
> 28468:            __not_<__do_converts>>::type;
> 28468:  return __and_<is_constructible<_T1, _U1&&>,
> 28468:         is_constructible<_T2, const _U2&&>,
> 28468:         __converts
> 28468:         >::value;
> 28468:       }
> 28468:   };
> 28468: 
> 28468:   template <typename _T1, typename _T2>
> 28468:     struct _PCC<false, _T1, _T2>
> 28468:     {
> 28468:       template <typename _U1, typename _U2>
> 28468:       static constexpr bool _ConstructiblePair()
> 28468:       {
> 28468:  return false;
> 28468:       }
> 28468: 
> 28468:       template <typename _U1, typename _U2>
> 28468:       static constexpr bool _ImplicitlyConvertiblePair()
> 28468:       {
> 28468:  return false;
> 28468:       }
> 28468: 
> 28468:       template <typename _U1, typename _U2>
> 28468:       static constexpr bool _MoveConstructiblePair()
> 28468:       {
> 28468:  return false;
> 28468:       }
> 28468: 
> 28468:       template <typename _U1, typename _U2>
> 28468:       static constexpr bool _ImplicitlyMoveConvertiblePair()
> 28468:       {
> 28468:  return false;
> 28468:       }
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct __nonesuch_no_braces : std::__nonesuch {
> 28468:     explicit __nonesuch_no_braces(const __nonesuch&) = delete;
> 28468:   };
> 28468: 
> 28468: 
> 28468:   template<typename _U1, typename _U2> class __pair_base
> 28468:   {
> 28468: 
> 28468:     template<typename _T1, typename _T2> friend struct pair;
> 28468:     __pair_base() = default;
> 28468:     ~__pair_base() = default;
> 28468:     __pair_base(const __pair_base&) = default;
> 28468:     __pair_base& operator=(const __pair_base&) = delete;
> 28468: 
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _T1, typename _T2>
> 28468:     struct pair
> 28468:     : private __pair_base<_T1, _T2>
> 28468:     {
> 28468:       typedef _T1 first_type;
> 28468:       typedef _T2 second_type;
> 28468: 
> 28468:       _T1 first;
> 28468:       _T2 second;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template <typename _U1 = _T1,
> 28468:                 typename _U2 = _T2,
> 28468:                 typename enable_if<__and_<
> 28468:                                      __is_implicitly_default_constructible<_U1>,
> 28468:                                      __is_implicitly_default_constructible<_U2>>
> 28468:                                    ::value, bool>::type = true>
> 28468: 
> 28468:       constexpr pair()
> 28468:       : first(), second() { }
> 28468: 
> 28468: 
> 28468:       template <typename _U1 = _T1,
> 28468:                 typename _U2 = _T2,
> 28468:                 typename enable_if<__and_<
> 28468:                        is_default_constructible<_U1>,
> 28468:                        is_default_constructible<_U2>,
> 28468:                        __not_<
> 28468:                          __and_<__is_implicitly_default_constructible<_U1>,
> 28468:                                 __is_implicitly_default_constructible<_U2>>>>
> 28468:                                    ::value, bool>::type = false>
> 28468:       explicit constexpr pair()
> 28468:       : first(), second() { }
> 28468: # 252 "/usr/include/c++/9/bits/stl_pair.h" 3
> 28468:       using _PCCP = _PCC<true, _T1, _T2>;
> 28468: 
> 28468:       template<typename _U1 = _T1, typename _U2=_T2, typename
> 28468:         enable_if<_PCCP::template
> 28468:       _ConstructiblePair<_U1, _U2>()
> 28468:                   && _PCCP::template
> 28468:       _ImplicitlyConvertiblePair<_U1, _U2>(),
> 28468:                          bool>::type=true>
> 28468:       constexpr pair(const _T1& __a, const _T2& __b)
> 28468:       : first(__a), second(__b) { }
> 28468: 
> 28468:        template<typename _U1 = _T1, typename _U2=_T2, typename
> 28468:   enable_if<_PCCP::template
> 28468:        _ConstructiblePair<_U1, _U2>()
> 28468:                    && !_PCCP::template
> 28468:        _ImplicitlyConvertiblePair<_U1, _U2>(),
> 28468:                          bool>::type=false>
> 28468:       explicit constexpr pair(const _T1& __a, const _T2& __b)
> 28468:       : first(__a), second(__b) { }
> 28468: # 280 "/usr/include/c++/9/bits/stl_pair.h" 3
> 28468:       template <typename _U1, typename _U2>
> 28468:         using _PCCFP = _PCC<!is_same<_T1, _U1>::value
> 28468:        || !is_same<_T2, _U2>::value,
> 28468:        _T1, _T2>;
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_PCCFP<_U1, _U2>::template
> 28468:       _ConstructiblePair<_U1, _U2>()
> 28468:                   && _PCCFP<_U1, _U2>::template
> 28468:       _ImplicitlyConvertiblePair<_U1, _U2>(),
> 28468:      bool>::type=true>
> 28468:         constexpr pair(const pair<_U1, _U2>& __p)
> 28468:         : first(__p.first), second(__p.second) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_PCCFP<_U1, _U2>::template
> 28468:       _ConstructiblePair<_U1, _U2>()
> 28468:     && !_PCCFP<_U1, _U2>::template
> 28468:       _ImplicitlyConvertiblePair<_U1, _U2>(),
> 28468:                          bool>::type=false>
> 28468:  explicit constexpr pair(const pair<_U1, _U2>& __p)
> 28468:  : first(__p.first), second(__p.second) { }
> 28468: 
> 28468:       constexpr pair(const pair&) = default;
> 28468:       constexpr pair(pair&&) = default;
> 28468: 
> 28468: 
> 28468:       template<typename _U1, typename
> 28468:         enable_if<_PCCP::template
> 28468:       _MoveCopyPair<true, _U1, _T2>(),
> 28468:                          bool>::type=true>
> 28468:        constexpr pair(_U1&& __x, const _T2& __y)
> 28468:        : first(std::forward<_U1>(__x)), second(__y) { }
> 28468: 
> 28468:       template<typename _U1, typename
> 28468:         enable_if<_PCCP::template
> 28468:       _MoveCopyPair<false, _U1, _T2>(),
> 28468:                          bool>::type=false>
> 28468:        explicit constexpr pair(_U1&& __x, const _T2& __y)
> 28468:        : first(std::forward<_U1>(__x)), second(__y) { }
> 28468: 
> 28468:       template<typename _U2, typename
> 28468:         enable_if<_PCCP::template
> 28468:       _CopyMovePair<true, _T1, _U2>(),
> 28468:                          bool>::type=true>
> 28468:        constexpr pair(const _T1& __x, _U2&& __y)
> 28468:        : first(__x), second(std::forward<_U2>(__y)) { }
> 28468: 
> 28468:       template<typename _U2, typename
> 28468:         enable_if<_PCCP::template
> 28468:       _CopyMovePair<false, _T1, _U2>(),
> 28468:                          bool>::type=false>
> 28468:        explicit pair(const _T1& __x, _U2&& __y)
> 28468:        : first(__x), second(std::forward<_U2>(__y)) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_PCCP::template
> 28468:       _MoveConstructiblePair<_U1, _U2>()
> 28468:      && _PCCP::template
> 28468:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
> 28468:                          bool>::type=true>
> 28468:  constexpr pair(_U1&& __x, _U2&& __y)
> 28468:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_PCCP::template
> 28468:       _MoveConstructiblePair<_U1, _U2>()
> 28468:      && !_PCCP::template
> 28468:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
> 28468:                          bool>::type=false>
> 28468:  explicit constexpr pair(_U1&& __x, _U2&& __y)
> 28468:  : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { }
> 28468: 
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_PCCFP<_U1, _U2>::template
> 28468:       _MoveConstructiblePair<_U1, _U2>()
> 28468:      && _PCCFP<_U1, _U2>::template
> 28468:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
> 28468:                          bool>::type=true>
> 28468:  constexpr pair(pair<_U1, _U2>&& __p)
> 28468:  : first(std::forward<_U1>(__p.first)),
> 28468:    second(std::forward<_U2>(__p.second)) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_PCCFP<_U1, _U2>::template
> 28468:       _MoveConstructiblePair<_U1, _U2>()
> 28468:      && !_PCCFP<_U1, _U2>::template
> 28468:       _ImplicitlyMoveConvertiblePair<_U1, _U2>(),
> 28468:                          bool>::type=false>
> 28468:  explicit constexpr pair(pair<_U1, _U2>&& __p)
> 28468:  : first(std::forward<_U1>(__p.first)),
> 28468:    second(std::forward<_U2>(__p.second)) { }
> 28468: 
> 28468:       template<typename... _Args1, typename... _Args2>
> 28468:         pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>);
> 28468: 
> 28468:       pair&
> 28468:       operator=(typename conditional<
> 28468:   __and_<is_copy_assignable<_T1>,
> 28468:          is_copy_assignable<_T2>>::value,
> 28468:   const pair&, const __nonesuch_no_braces&>::type __p)
> 28468:       {
> 28468:  first = __p.first;
> 28468:  second = __p.second;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       pair&
> 28468:       operator=(typename conditional<
> 28468:   __and_<is_move_assignable<_T1>,
> 28468:          is_move_assignable<_T2>>::value,
> 28468:   pair&&, __nonesuch_no_braces&&>::type __p)
> 28468:       noexcept(__and_<is_nothrow_move_assignable<_T1>,
> 28468:         is_nothrow_move_assignable<_T2>>::value)
> 28468:       {
> 28468:  first = std::forward<first_type>(__p.first);
> 28468:  second = std::forward<second_type>(__p.second);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       template<typename _U1, typename _U2>
> 28468:       typename enable_if<__and_<is_assignable<_T1&, const _U1&>,
> 28468:     is_assignable<_T2&, const _U2&>>::value,
> 28468:     pair&>::type
> 28468:  operator=(const pair<_U1, _U2>& __p)
> 28468:  {
> 28468:    first = __p.first;
> 28468:    second = __p.second;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       template<typename _U1, typename _U2>
> 28468:       typename enable_if<__and_<is_assignable<_T1&, _U1&&>,
> 28468:     is_assignable<_T2&, _U2&&>>::value,
> 28468:     pair&>::type
> 28468:  operator=(pair<_U1, _U2>&& __p)
> 28468:  {
> 28468:    first = std::forward<_U1>(__p.first);
> 28468:    second = std::forward<_U2>(__p.second);
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       void
> 28468:       swap(pair& __p)
> 28468:       noexcept(__and_<__is_nothrow_swappable<_T1>,
> 28468:                       __is_nothrow_swappable<_T2>>::value)
> 28468:       {
> 28468:  using std::swap;
> 28468:  swap(first, __p.first);
> 28468:  swap(second, __p.second);
> 28468:       }
> 28468: 
> 28468:     private:
> 28468:       template<typename... _Args1, std::size_t... _Indexes1,
> 28468:                typename... _Args2, std::size_t... _Indexes2>
> 28468:         pair(tuple<_Args1...>&, tuple<_Args2...>&,
> 28468:              _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>);
> 28468: 
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _T1, typename _T2>
> 28468:     inline constexpr bool
> 28468:     operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
> 28468:     { return __x.first == __y.first && __x.second == __y.second; }
> 28468: 
> 28468: 
> 28468:   template<typename _T1, typename _T2>
> 28468:     inline constexpr bool
> 28468:     operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
> 28468:     { return __x.first < __y.first
> 28468:       || (!(__y.first < __x.first) && __x.second < __y.second); }
> 28468: 
> 28468: 
> 28468:   template<typename _T1, typename _T2>
> 28468:     inline constexpr bool
> 28468:     operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
> 28468:     { return !(__x == __y); }
> 28468: 
> 28468: 
> 28468:   template<typename _T1, typename _T2>
> 28468:     inline constexpr bool
> 28468:     operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
> 28468:     { return __y < __x; }
> 28468: 
> 28468: 
> 28468:   template<typename _T1, typename _T2>
> 28468:     inline constexpr bool
> 28468:     operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
> 28468:     { return !(__y < __x); }
> 28468: 
> 28468: 
> 28468:   template<typename _T1, typename _T2>
> 28468:     inline constexpr bool
> 28468:     operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y)
> 28468:     { return !(__x < __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _T1, typename _T2>
> 28468:     inline
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void
> 28468: 
> 28468:     swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y)
> 28468:     noexcept(noexcept(__x.swap(__y)))
> 28468:     { __x.swap(__y); }
> 28468: # 521 "/usr/include/c++/9/bits/stl_pair.h" 3
> 28468:   template<typename _T1, typename _T2>
> 28468:     constexpr pair<typename __decay_and_strip<_T1>::__type,
> 28468:                    typename __decay_and_strip<_T2>::__type>
> 28468:     make_pair(_T1&& __x, _T2&& __y)
> 28468:     {
> 28468:       typedef typename __decay_and_strip<_T1>::__type __ds_type1;
> 28468:       typedef typename __decay_and_strip<_T2>::__type __ds_type2;
> 28468:       typedef pair<__ds_type1, __ds_type2> __pair_type;
> 28468:       return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y));
> 28468:     }
> 28468: # 540 "/usr/include/c++/9/bits/stl_pair.h" 3
> 28468: 
> 28468: }
> 28468: # 65 "/usr/include/c++/9/bits/stl_algobase.h" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_iterator_base_types.h" 1 3
> 28468: # 62 "/usr/include/c++/9/bits/stl_iterator_base_types.h" 3
> 28468:        
> 28468: # 63 "/usr/include/c++/9/bits/stl_iterator_base_types.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 89 "/usr/include/c++/9/bits/stl_iterator_base_types.h" 3
> 28468:   struct input_iterator_tag { };
> 28468: 
> 28468: 
> 28468:   struct output_iterator_tag { };
> 28468: 
> 28468: 
> 28468:   struct forward_iterator_tag : public input_iterator_tag { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct bidirectional_iterator_tag : public forward_iterator_tag { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct random_access_iterator_tag : public bidirectional_iterator_tag { };
> 28468: # 116 "/usr/include/c++/9/bits/stl_iterator_base_types.h" 3
> 28468:   template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t,
> 28468:            typename _Pointer = _Tp*, typename _Reference = _Tp&>
> 28468:     struct iterator
> 28468:     {
> 28468: 
> 28468:       typedef _Category iterator_category;
> 28468: 
> 28468:       typedef _Tp value_type;
> 28468: 
> 28468:       typedef _Distance difference_type;
> 28468: 
> 28468:       typedef _Pointer pointer;
> 28468: 
> 28468:       typedef _Reference reference;
> 28468:     };
> 28468: # 143 "/usr/include/c++/9/bits/stl_iterator_base_types.h" 3
> 28468:   template<typename _Iterator, typename = __void_t<>>
> 28468:     struct __iterator_traits { };
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     struct __iterator_traits<_Iterator,
> 28468:         __void_t<typename _Iterator::iterator_category,
> 28468:           typename _Iterator::value_type,
> 28468:           typename _Iterator::difference_type,
> 28468:           typename _Iterator::pointer,
> 28468:           typename _Iterator::reference>>
> 28468:     {
> 28468:       typedef typename _Iterator::iterator_category iterator_category;
> 28468:       typedef typename _Iterator::value_type value_type;
> 28468:       typedef typename _Iterator::difference_type difference_type;
> 28468:       typedef typename _Iterator::pointer pointer;
> 28468:       typedef typename _Iterator::reference reference;
> 28468:     };
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     struct iterator_traits
> 28468:     : public __iterator_traits<_Iterator> { };
> 28468: # 177 "/usr/include/c++/9/bits/stl_iterator_base_types.h" 3
> 28468:   template<typename _Tp>
> 28468:     struct iterator_traits<_Tp*>
> 28468:     {
> 28468:       typedef random_access_iterator_tag iterator_category;
> 28468:       typedef _Tp value_type;
> 28468:       typedef ptrdiff_t difference_type;
> 28468:       typedef _Tp* pointer;
> 28468:       typedef _Tp& reference;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct iterator_traits<const _Tp*>
> 28468:     {
> 28468:       typedef random_access_iterator_tag iterator_category;
> 28468:       typedef _Tp value_type;
> 28468:       typedef ptrdiff_t difference_type;
> 28468:       typedef const _Tp* pointer;
> 28468:       typedef const _Tp& reference;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Iter>
> 28468:     inline constexpr
> 28468:     typename iterator_traits<_Iter>::iterator_category
> 28468:     __iterator_category(const _Iter&)
> 28468:     { return typename iterator_traits<_Iter>::iterator_category(); }
> 28468: # 231 "/usr/include/c++/9/bits/stl_iterator_base_types.h" 3
> 28468:   template<typename _InIter>
> 28468:     using _RequireInputIter = typename
> 28468:       enable_if<is_convertible<typename
> 28468:   iterator_traits<_InIter>::iterator_category,
> 28468:           input_iterator_tag>::value>::type;
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 66 "/usr/include/c++/9/bits/stl_algobase.h" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_iterator_base_funcs.h" 1 3
> 28468: # 62 "/usr/include/c++/9/bits/stl_iterator_base_funcs.h" 3
> 28468:        
> 28468: # 63 "/usr/include/c++/9/bits/stl_iterator_base_funcs.h" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/debug/assertions.h" 1 3
> 28468: # 66 "/usr/include/c++/9/bits/stl_iterator_base_funcs.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template <typename> struct _List_iterator;
> 28468:   template <typename> struct _List_const_iterator;
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator>
> 28468:     inline
> 28468:     typename iterator_traits<_InputIterator>::difference_type
> 28468:     __distance(_InputIterator __first, _InputIterator __last,
> 28468:                input_iterator_tag)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
> 28468:       while (__first != __last)
> 28468:  {
> 28468:    ++__first;
> 28468:    ++__n;
> 28468:  }
> 28468:       return __n;
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline
> 28468:     typename iterator_traits<_RandomAccessIterator>::difference_type
> 28468:     __distance(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:                random_access_iterator_tag)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       return __last - __first;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     ptrdiff_t
> 28468:     __distance(std::_List_iterator<_Tp>,
> 28468:         std::_List_iterator<_Tp>,
> 28468:         input_iterator_tag);
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     ptrdiff_t
> 28468:     __distance(std::_List_const_iterator<_Tp>,
> 28468:         std::_List_const_iterator<_Tp>,
> 28468:         input_iterator_tag);
> 28468: # 135 "/usr/include/c++/9/bits/stl_iterator_base_funcs.h" 3
> 28468:   template<typename _InputIterator>
> 28468:     inline
> 28468:     typename iterator_traits<_InputIterator>::difference_type
> 28468:     distance(_InputIterator __first, _InputIterator __last)
> 28468:     {
> 28468: 
> 28468:       return std::__distance(__first, __last,
> 28468:         std::__iterator_category(__first));
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator, typename _Distance>
> 28468:     inline void
> 28468:     __advance(_InputIterator& __i, _Distance __n, input_iterator_tag)
> 28468:     {
> 28468: 
> 28468:      
> 28468:       ;
> 28468:       while (__n--)
> 28468:  ++__i;
> 28468:     }
> 28468: 
> 28468:   template<typename _BidirectionalIterator, typename _Distance>
> 28468:     inline void
> 28468:     __advance(_BidirectionalIterator& __i, _Distance __n,
> 28468:        bidirectional_iterator_tag)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       if (__n > 0)
> 28468:         while (__n--)
> 28468:    ++__i;
> 28468:       else
> 28468:         while (__n++)
> 28468:    --__i;
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Distance>
> 28468:     inline void
> 28468:     __advance(_RandomAccessIterator& __i, _Distance __n,
> 28468:               random_access_iterator_tag)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       if (__builtin_constant_p(__n) && __n == 1)
> 28468:  ++__i;
> 28468:       else if (__builtin_constant_p(__n) && __n == -1)
> 28468:  --__i;
> 28468:       else
> 28468:  __i += __n;
> 28468:     }
> 28468: # 200 "/usr/include/c++/9/bits/stl_iterator_base_funcs.h" 3
> 28468:   template<typename _InputIterator, typename _Distance>
> 28468:     inline void
> 28468:     advance(_InputIterator& __i, _Distance __n)
> 28468:     {
> 28468: 
> 28468:       typename iterator_traits<_InputIterator>::difference_type __d = __n;
> 28468:       std::__advance(__i, __d, std::__iterator_category(__i));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator>
> 28468:     inline _InputIterator
> 28468:     next(_InputIterator __x, typename
> 28468:   iterator_traits<_InputIterator>::difference_type __n = 1)
> 28468:     {
> 28468: 
> 28468:      
> 28468:       std::advance(__x, __n);
> 28468:       return __x;
> 28468:     }
> 28468: 
> 28468:   template<typename _BidirectionalIterator>
> 28468:     inline _BidirectionalIterator
> 28468:     prev(_BidirectionalIterator __x, typename
> 28468:   iterator_traits<_BidirectionalIterator>::difference_type __n = 1)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       std::advance(__x, -__n);
> 28468:       return __x;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 67 "/usr/include/c++/9/bits/stl_algobase.h" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_iterator.h" 1 3
> 28468: # 66 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468: # 1 "/usr/include/c++/9/bits/ptr_traits.h" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/ptr_traits.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   class __undefined;
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __get_first_arg
> 28468:     { using type = __undefined; };
> 28468: 
> 28468:   template<template<typename, typename...> class _Template, typename _Tp,
> 28468:            typename... _Types>
> 28468:     struct __get_first_arg<_Template<_Tp, _Types...>>
> 28468:     { using type = _Tp; };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     using __get_first_arg_t = typename __get_first_arg<_Tp>::type;
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     struct __replace_first_arg
> 28468:     { };
> 28468: 
> 28468:   template<template<typename, typename...> class _Template, typename _Up,
> 28468:            typename _Tp, typename... _Types>
> 28468:     struct __replace_first_arg<_Template<_Tp, _Types...>, _Up>
> 28468:     { using type = _Template<_Up, _Types...>; };
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     using __replace_first_arg_t = typename __replace_first_arg<_Tp, _Up>::type;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     using __make_not_void
> 28468:       = typename conditional<is_void<_Tp>::value, __undefined, _Tp>::type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ptr>
> 28468:     struct pointer_traits
> 28468:     {
> 28468:     private:
> 28468:       template<typename _Tp>
> 28468:  using __element_type = typename _Tp::element_type;
> 28468: 
> 28468:       template<typename _Tp>
> 28468:  using __difference_type = typename _Tp::difference_type;
> 28468: 
> 28468:       template<typename _Tp, typename _Up, typename = void>
> 28468:  struct __rebind : __replace_first_arg<_Tp, _Up> { };
> 28468: 
> 28468:       template<typename _Tp, typename _Up>
> 28468:  struct __rebind<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up>>>
> 28468:  { using type = typename _Tp::template rebind<_Up>; };
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       using pointer = _Ptr;
> 28468: 
> 28468: 
> 28468:       using element_type
> 28468:  = __detected_or_t<__get_first_arg_t<_Ptr>, __element_type, _Ptr>;
> 28468: 
> 28468: 
> 28468:       using difference_type
> 28468:  = __detected_or_t<ptrdiff_t, __difference_type, _Ptr>;
> 28468: 
> 28468: 
> 28468:       template<typename _Up>
> 28468:         using rebind = typename __rebind<_Ptr, _Up>::type;
> 28468: 
> 28468:       static _Ptr
> 28468:       pointer_to(__make_not_void<element_type>& __e)
> 28468:       { return _Ptr::pointer_to(__e); }
> 28468: 
> 28468:       static_assert(!is_same<element_type, __undefined>::value,
> 28468:    "pointer type defines element_type or is like SomePointer<T, Args>");
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct pointer_traits<_Tp*>
> 28468:     {
> 28468: 
> 28468:       typedef _Tp* pointer;
> 28468: 
> 28468:       typedef _Tp element_type;
> 28468: 
> 28468:       typedef ptrdiff_t difference_type;
> 28468: 
> 28468:       template<typename _Up>
> 28468:         using rebind = _Up*;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       static pointer
> 28468:       pointer_to(__make_not_void<element_type>& __r) noexcept
> 28468:       { return std::addressof(__r); }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Ptr, typename _Tp>
> 28468:     using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr _Tp*
> 28468:     __to_address(_Tp* __ptr) noexcept
> 28468:     {
> 28468:       static_assert(!std::is_function<_Tp>::value, "not a function pointer");
> 28468:       return __ptr;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Ptr>
> 28468:     constexpr typename std::pointer_traits<_Ptr>::element_type*
> 28468:     __to_address(const _Ptr& __ptr)
> 28468:     { return std::__to_address(__ptr.operator->()); }
> 28468: # 198 "/usr/include/c++/9/bits/ptr_traits.h" 3
> 28468: 
> 28468: }
> 28468: # 67 "/usr/include/c++/9/bits/stl_iterator.h" 2 3
> 28468: # 76 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 104 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _Iterator>
> 28468:     class reverse_iterator
> 28468:     : public iterator<typename iterator_traits<_Iterator>::iterator_category,
> 28468:         typename iterator_traits<_Iterator>::value_type,
> 28468:         typename iterator_traits<_Iterator>::difference_type,
> 28468:         typename iterator_traits<_Iterator>::pointer,
> 28468:                       typename iterator_traits<_Iterator>::reference>
> 28468:     {
> 28468:     protected:
> 28468:       _Iterator current;
> 28468: 
> 28468:       typedef iterator_traits<_Iterator> __traits_type;
> 28468: 
> 28468:     public:
> 28468:       typedef _Iterator iterator_type;
> 28468:       typedef typename __traits_type::difference_type difference_type;
> 28468:       typedef typename __traits_type::pointer pointer;
> 28468:       typedef typename __traits_type::reference reference;
> 28468: # 130 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:      
> 28468:       reverse_iterator() : current() { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       reverse_iterator(iterator_type __x) : current(__x) { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:      
> 28468:       reverse_iterator(const reverse_iterator& __x)
> 28468:       : current(__x.current) { }
> 28468: 
> 28468: 
> 28468:       reverse_iterator& operator=(const reverse_iterator&) = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Iter>
> 28468: 
> 28468:         reverse_iterator(const reverse_iterator<_Iter>& __x)
> 28468:  : current(__x.base()) { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator_type
> 28468:       base() const
> 28468:       { return current; }
> 28468: # 176 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:       reference
> 28468:       operator*() const
> 28468:       {
> 28468:  _Iterator __tmp = current;
> 28468:  return *--__tmp;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       pointer
> 28468:       operator->() const
> 28468:       {
> 28468: 
> 28468: 
> 28468:  _Iterator __tmp = current;
> 28468:  --__tmp;
> 28468:  return _S_to_pointer(__tmp);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator&
> 28468:       operator++()
> 28468:       {
> 28468:  --current;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       operator++(int)
> 28468:       {
> 28468:  reverse_iterator __tmp = *this;
> 28468:  --current;
> 28468:  return __tmp;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator&
> 28468:       operator--()
> 28468:       {
> 28468:  ++current;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       operator--(int)
> 28468:       {
> 28468:  reverse_iterator __tmp = *this;
> 28468:  ++current;
> 28468:  return __tmp;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       operator+(difference_type __n) const
> 28468:       { return reverse_iterator(current - __n); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator&
> 28468:       operator+=(difference_type __n)
> 28468:       {
> 28468:  current -= __n;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       operator-(difference_type __n) const
> 28468:       { return reverse_iterator(current + __n); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator&
> 28468:       operator-=(difference_type __n)
> 28468:       {
> 28468:  current += __n;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reference
> 28468:       operator[](difference_type __n) const
> 28468:       { return *(*this + __n); }
> 28468: 
> 28468:     private:
> 28468:       template<typename _Tp>
> 28468:  static _Tp*
> 28468:  _S_to_pointer(_Tp* __p)
> 28468:         { return __p; }
> 28468: 
> 28468:       template<typename _Tp>
> 28468:  static pointer
> 28468:  _S_to_pointer(_Tp __t)
> 28468:         { return __t.operator->(); }
> 28468:     };
> 28468: # 323 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator==(const reverse_iterator<_Iterator>& __x,
> 28468:         const reverse_iterator<_Iterator>& __y)
> 28468:     { return __x.base() == __y.base(); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator<(const reverse_iterator<_Iterator>& __x,
> 28468:        const reverse_iterator<_Iterator>& __y)
> 28468:     { return __y.base() < __x.base(); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator!=(const reverse_iterator<_Iterator>& __x,
> 28468:         const reverse_iterator<_Iterator>& __y)
> 28468:     { return !(__x == __y); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator>(const reverse_iterator<_Iterator>& __x,
> 28468:        const reverse_iterator<_Iterator>& __y)
> 28468:     { return __y < __x; }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator<=(const reverse_iterator<_Iterator>& __x,
> 28468:         const reverse_iterator<_Iterator>& __y)
> 28468:     { return !(__y < __x); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator>=(const reverse_iterator<_Iterator>& __x,
> 28468:         const reverse_iterator<_Iterator>& __y)
> 28468:     { return !(__x < __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator==(const reverse_iterator<_IteratorL>& __x,
> 28468:         const reverse_iterator<_IteratorR>& __y)
> 28468:     { return __x.base() == __y.base(); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator<(const reverse_iterator<_IteratorL>& __x,
> 28468:        const reverse_iterator<_IteratorR>& __y)
> 28468:     { return __y.base() < __x.base(); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator!=(const reverse_iterator<_IteratorL>& __x,
> 28468:         const reverse_iterator<_IteratorR>& __y)
> 28468:     { return !(__x == __y); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator>(const reverse_iterator<_IteratorL>& __x,
> 28468:        const reverse_iterator<_IteratorR>& __y)
> 28468:     { return __y < __x; }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator<=(const reverse_iterator<_IteratorL>& __x,
> 28468:         const reverse_iterator<_IteratorR>& __y)
> 28468:     { return !(__y < __x); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator>=(const reverse_iterator<_IteratorL>& __x,
> 28468:         const reverse_iterator<_IteratorR>& __y)
> 28468:     { return !(__x < __y); }
> 28468: # 413 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline auto
> 28468:     operator-(const reverse_iterator<_IteratorL>& __x,
> 28468:        const reverse_iterator<_IteratorR>& __y)
> 28468:     -> decltype(__y.base() - __x.base())
> 28468:     { return __y.base() - __x.base(); }
> 28468: 
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline reverse_iterator<_Iterator>
> 28468:     operator+(typename reverse_iterator<_Iterator>::difference_type __n,
> 28468:        const reverse_iterator<_Iterator>& __x)
> 28468:     { return reverse_iterator<_Iterator>(__x.base() - __n); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline reverse_iterator<_Iterator>
> 28468:     __make_reverse_iterator(_Iterator __i)
> 28468:     { return reverse_iterator<_Iterator>(__i); }
> 28468: # 448 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _Iterator>
> 28468:     auto
> 28468:     __niter_base(reverse_iterator<_Iterator> __it)
> 28468:     -> decltype(__make_reverse_iterator(__niter_base(__it.base())))
> 28468:     { return __make_reverse_iterator(__niter_base(__it.base())); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     struct __is_move_iterator<reverse_iterator<_Iterator> >
> 28468:       : __is_move_iterator<_Iterator>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     auto
> 28468:     __miter_base(reverse_iterator<_Iterator> __it)
> 28468:     -> decltype(__make_reverse_iterator(__miter_base(__it.base())))
> 28468:     { return __make_reverse_iterator(__miter_base(__it.base())); }
> 28468: # 477 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _Container>
> 28468:     class back_insert_iterator
> 28468:     : public iterator<output_iterator_tag, void, void, void, void>
> 28468:     {
> 28468:     protected:
> 28468:       _Container* container;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       typedef _Container container_type;
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       back_insert_iterator(_Container& __x)
> 28468:       : container(std::__addressof(__x)) { }
> 28468: # 512 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:       back_insert_iterator&
> 28468:       operator=(const typename _Container::value_type& __value)
> 28468:       {
> 28468:  container->push_back(__value);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       back_insert_iterator&
> 28468:       operator=(typename _Container::value_type&& __value)
> 28468:       {
> 28468:  container->push_back(std::move(__value));
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       back_insert_iterator&
> 28468:       operator*()
> 28468:       { return *this; }
> 28468: 
> 28468: 
> 28468:       back_insert_iterator&
> 28468:       operator++()
> 28468:       { return *this; }
> 28468: 
> 28468: 
> 28468:       back_insert_iterator
> 28468:       operator++(int)
> 28468:       { return *this; }
> 28468:     };
> 28468: # 554 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _Container>
> 28468:     inline back_insert_iterator<_Container>
> 28468:     back_inserter(_Container& __x)
> 28468:     { return back_insert_iterator<_Container>(__x); }
> 28468: # 569 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _Container>
> 28468:     class front_insert_iterator
> 28468:     : public iterator<output_iterator_tag, void, void, void, void>
> 28468:     {
> 28468:     protected:
> 28468:       _Container* container;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       typedef _Container container_type;
> 28468: 
> 28468: 
> 28468:       explicit front_insert_iterator(_Container& __x)
> 28468:       : container(std::__addressof(__x)) { }
> 28468: # 603 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:       front_insert_iterator&
> 28468:       operator=(const typename _Container::value_type& __value)
> 28468:       {
> 28468:  container->push_front(__value);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       front_insert_iterator&
> 28468:       operator=(typename _Container::value_type&& __value)
> 28468:       {
> 28468:  container->push_front(std::move(__value));
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       front_insert_iterator&
> 28468:       operator*()
> 28468:       { return *this; }
> 28468: 
> 28468: 
> 28468:       front_insert_iterator&
> 28468:       operator++()
> 28468:       { return *this; }
> 28468: 
> 28468: 
> 28468:       front_insert_iterator
> 28468:       operator++(int)
> 28468:       { return *this; }
> 28468:     };
> 28468: # 645 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _Container>
> 28468:     inline front_insert_iterator<_Container>
> 28468:     front_inserter(_Container& __x)
> 28468:     { return front_insert_iterator<_Container>(__x); }
> 28468: # 664 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _Container>
> 28468:     class insert_iterator
> 28468:     : public iterator<output_iterator_tag, void, void, void, void>
> 28468:     {
> 28468:     protected:
> 28468:       _Container* container;
> 28468:       typename _Container::iterator iter;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       typedef _Container container_type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       insert_iterator(_Container& __x, typename _Container::iterator __i)
> 28468:       : container(std::__addressof(__x)), iter(__i) {}
> 28468: # 715 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:       insert_iterator&
> 28468:       operator=(const typename _Container::value_type& __value)
> 28468:       {
> 28468:  iter = container->insert(iter, __value);
> 28468:  ++iter;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       insert_iterator&
> 28468:       operator=(typename _Container::value_type&& __value)
> 28468:       {
> 28468:  iter = container->insert(iter, std::move(__value));
> 28468:  ++iter;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       insert_iterator&
> 28468:       operator*()
> 28468:       { return *this; }
> 28468: 
> 28468: 
> 28468:       insert_iterator&
> 28468:       operator++()
> 28468:       { return *this; }
> 28468: 
> 28468: 
> 28468:       insert_iterator&
> 28468:       operator++(int)
> 28468:       { return *this; }
> 28468:     };
> 28468: # 760 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _Container, typename _Iterator>
> 28468:     inline insert_iterator<_Container>
> 28468:     inserter(_Container& __x, _Iterator __i)
> 28468:     {
> 28468:       return insert_iterator<_Container>(__x,
> 28468:       typename _Container::iterator(__i));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 784 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   using std::iterator_traits;
> 28468:   using std::iterator;
> 28468:   template<typename _Iterator, typename _Container>
> 28468:     class __normal_iterator
> 28468:     {
> 28468:     protected:
> 28468:       _Iterator _M_current;
> 28468: 
> 28468:       typedef iterator_traits<_Iterator> __traits_type;
> 28468: 
> 28468:     public:
> 28468:       typedef _Iterator iterator_type;
> 28468:       typedef typename __traits_type::iterator_category iterator_category;
> 28468:       typedef typename __traits_type::value_type value_type;
> 28468:       typedef typename __traits_type::difference_type difference_type;
> 28468:       typedef typename __traits_type::reference reference;
> 28468:       typedef typename __traits_type::pointer pointer;
> 28468: 
> 28468:       constexpr __normal_iterator() noexcept
> 28468:       : _M_current(_Iterator()) { }
> 28468: 
> 28468:       explicit
> 28468:       __normal_iterator(const _Iterator& __i) noexcept
> 28468:       : _M_current(__i) { }
> 28468: 
> 28468: 
> 28468:       template<typename _Iter>
> 28468:         __normal_iterator(const __normal_iterator<_Iter,
> 28468:      typename __enable_if<
> 28468:               (std::__are_same<_Iter, typename _Container::pointer>::__value),
> 28468:         _Container>::__type>& __i) noexcept
> 28468:         : _M_current(__i.base()) { }
> 28468: 
> 28468: 
> 28468:       reference
> 28468:       operator*() const noexcept
> 28468:       { return *_M_current; }
> 28468: 
> 28468:       pointer
> 28468:       operator->() const noexcept
> 28468:       { return _M_current; }
> 28468: 
> 28468:       __normal_iterator&
> 28468:       operator++() noexcept
> 28468:       {
> 28468:  ++_M_current;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       __normal_iterator
> 28468:       operator++(int) noexcept
> 28468:       { return __normal_iterator(_M_current++); }
> 28468: 
> 28468: 
> 28468:       __normal_iterator&
> 28468:       operator--() noexcept
> 28468:       {
> 28468:  --_M_current;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       __normal_iterator
> 28468:       operator--(int) noexcept
> 28468:       { return __normal_iterator(_M_current--); }
> 28468: 
> 28468: 
> 28468:       reference
> 28468:       operator[](difference_type __n) const noexcept
> 28468:       { return _M_current[__n]; }
> 28468: 
> 28468:       __normal_iterator&
> 28468:       operator+=(difference_type __n) noexcept
> 28468:       { _M_current += __n; return *this; }
> 28468: 
> 28468:       __normal_iterator
> 28468:       operator+(difference_type __n) const noexcept
> 28468:       { return __normal_iterator(_M_current + __n); }
> 28468: 
> 28468:       __normal_iterator&
> 28468:       operator-=(difference_type __n) noexcept
> 28468:       { _M_current -= __n; return *this; }
> 28468: 
> 28468:       __normal_iterator
> 28468:       operator-(difference_type __n) const noexcept
> 28468:       { return __normal_iterator(_M_current - __n); }
> 28468: 
> 28468:       const _Iterator&
> 28468:       base() const noexcept
> 28468:       { return _M_current; }
> 28468:     };
> 28468: # 884 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _IteratorL, typename _IteratorR, typename _Container>
> 28468:     inline bool
> 28468:     operator==(const __normal_iterator<_IteratorL, _Container>& __lhs,
> 28468:         const __normal_iterator<_IteratorR, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() == __rhs.base(); }
> 28468: 
> 28468:   template<typename _Iterator, typename _Container>
> 28468:     inline bool
> 28468:     operator==(const __normal_iterator<_Iterator, _Container>& __lhs,
> 28468:         const __normal_iterator<_Iterator, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() == __rhs.base(); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR, typename _Container>
> 28468:     inline bool
> 28468:     operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs,
> 28468:         const __normal_iterator<_IteratorR, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() != __rhs.base(); }
> 28468: 
> 28468:   template<typename _Iterator, typename _Container>
> 28468:     inline bool
> 28468:     operator!=(const __normal_iterator<_Iterator, _Container>& __lhs,
> 28468:         const __normal_iterator<_Iterator, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() != __rhs.base(); }
> 28468: 
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR, typename _Container>
> 28468:     inline bool
> 28468:     operator<(const __normal_iterator<_IteratorL, _Container>& __lhs,
> 28468:        const __normal_iterator<_IteratorR, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() < __rhs.base(); }
> 28468: 
> 28468:   template<typename _Iterator, typename _Container>
> 28468:     inline bool
> 28468:     operator<(const __normal_iterator<_Iterator, _Container>& __lhs,
> 28468:        const __normal_iterator<_Iterator, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() < __rhs.base(); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR, typename _Container>
> 28468:     inline bool
> 28468:     operator>(const __normal_iterator<_IteratorL, _Container>& __lhs,
> 28468:        const __normal_iterator<_IteratorR, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() > __rhs.base(); }
> 28468: 
> 28468:   template<typename _Iterator, typename _Container>
> 28468:     inline bool
> 28468:     operator>(const __normal_iterator<_Iterator, _Container>& __lhs,
> 28468:        const __normal_iterator<_Iterator, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() > __rhs.base(); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR, typename _Container>
> 28468:     inline bool
> 28468:     operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs,
> 28468:         const __normal_iterator<_IteratorR, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() <= __rhs.base(); }
> 28468: 
> 28468:   template<typename _Iterator, typename _Container>
> 28468:     inline bool
> 28468:     operator<=(const __normal_iterator<_Iterator, _Container>& __lhs,
> 28468:         const __normal_iterator<_Iterator, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() <= __rhs.base(); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR, typename _Container>
> 28468:     inline bool
> 28468:     operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs,
> 28468:         const __normal_iterator<_IteratorR, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() >= __rhs.base(); }
> 28468: 
> 28468:   template<typename _Iterator, typename _Container>
> 28468:     inline bool
> 28468:     operator>=(const __normal_iterator<_Iterator, _Container>& __lhs,
> 28468:         const __normal_iterator<_Iterator, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() >= __rhs.base(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR, typename _Container>
> 28468: 
> 28468: 
> 28468:     inline auto
> 28468:     operator-(const __normal_iterator<_IteratorL, _Container>& __lhs,
> 28468:        const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept
> 28468:     -> decltype(__lhs.base() - __rhs.base())
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     { return __lhs.base() - __rhs.base(); }
> 28468: 
> 28468:   template<typename _Iterator, typename _Container>
> 28468:     inline typename __normal_iterator<_Iterator, _Container>::difference_type
> 28468:     operator-(const __normal_iterator<_Iterator, _Container>& __lhs,
> 28468:        const __normal_iterator<_Iterator, _Container>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.base() - __rhs.base(); }
> 28468: 
> 28468:   template<typename _Iterator, typename _Container>
> 28468:     inline __normal_iterator<_Iterator, _Container>
> 28468:     operator+(typename __normal_iterator<_Iterator, _Container>::difference_type
> 28468:        __n, const __normal_iterator<_Iterator, _Container>& __i)
> 28468:     noexcept
> 28468:     { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); }
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _Iterator, typename _Container>
> 28468:     _Iterator
> 28468:     __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it)
> 28468:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
> 28468:     { return __it.base(); }
> 28468: # 1030 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468:   template<typename _Iterator>
> 28468:     class move_iterator
> 28468:     {
> 28468:     protected:
> 28468:       _Iterator _M_current;
> 28468: 
> 28468:       typedef iterator_traits<_Iterator> __traits_type;
> 28468:       typedef typename __traits_type::reference __base_ref;
> 28468: 
> 28468:     public:
> 28468:       typedef _Iterator iterator_type;
> 28468:       typedef typename __traits_type::iterator_category iterator_category;
> 28468:       typedef typename __traits_type::value_type value_type;
> 28468:       typedef typename __traits_type::difference_type difference_type;
> 28468: 
> 28468:       typedef _Iterator pointer;
> 28468: 
> 28468: 
> 28468:       typedef typename conditional<is_reference<__base_ref>::value,
> 28468:     typename remove_reference<__base_ref>::type&&,
> 28468:     __base_ref>::type reference;
> 28468: 
> 28468:      
> 28468:       move_iterator()
> 28468:       : _M_current() { }
> 28468: 
> 28468:       explicit
> 28468:       move_iterator(iterator_type __i)
> 28468:       : _M_current(__i) { }
> 28468: 
> 28468:       template<typename _Iter>
> 28468: 
> 28468:  move_iterator(const move_iterator<_Iter>& __i)
> 28468:  : _M_current(__i.base()) { }
> 28468: 
> 28468:       iterator_type
> 28468:       base() const
> 28468:       { return _M_current; }
> 28468: 
> 28468:       reference
> 28468:       operator*() const
> 28468:       { return static_cast<reference>(*_M_current); }
> 28468: 
> 28468:       pointer
> 28468:       operator->() const
> 28468:       { return _M_current; }
> 28468: 
> 28468:       move_iterator&
> 28468:       operator++()
> 28468:       {
> 28468:  ++_M_current;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       move_iterator
> 28468:       operator++(int)
> 28468:       {
> 28468:  move_iterator __tmp = *this;
> 28468:  ++_M_current;
> 28468:  return __tmp;
> 28468:       }
> 28468: 
> 28468:       move_iterator&
> 28468:       operator--()
> 28468:       {
> 28468:  --_M_current;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       move_iterator
> 28468:       operator--(int)
> 28468:       {
> 28468:  move_iterator __tmp = *this;
> 28468:  --_M_current;
> 28468:  return __tmp;
> 28468:       }
> 28468: 
> 28468:       move_iterator
> 28468:       operator+(difference_type __n) const
> 28468:       { return move_iterator(_M_current + __n); }
> 28468: 
> 28468:       move_iterator&
> 28468:       operator+=(difference_type __n)
> 28468:       {
> 28468:  _M_current += __n;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       move_iterator
> 28468:       operator-(difference_type __n) const
> 28468:       { return move_iterator(_M_current - __n); }
> 28468: 
> 28468:       move_iterator&
> 28468:       operator-=(difference_type __n)
> 28468:       {
> 28468:  _M_current -= __n;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       reference
> 28468:       operator[](difference_type __n) const
> 28468:       { return std::move(_M_current[__n]); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator==(const move_iterator<_IteratorL>& __x,
> 28468:         const move_iterator<_IteratorR>& __y)
> 28468:     { return __x.base() == __y.base(); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator==(const move_iterator<_Iterator>& __x,
> 28468:         const move_iterator<_Iterator>& __y)
> 28468:     { return __x.base() == __y.base(); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator!=(const move_iterator<_IteratorL>& __x,
> 28468:         const move_iterator<_IteratorR>& __y)
> 28468:     { return !(__x == __y); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator!=(const move_iterator<_Iterator>& __x,
> 28468:         const move_iterator<_Iterator>& __y)
> 28468:     { return !(__x == __y); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator<(const move_iterator<_IteratorL>& __x,
> 28468:        const move_iterator<_IteratorR>& __y)
> 28468:     { return __x.base() < __y.base(); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator<(const move_iterator<_Iterator>& __x,
> 28468:        const move_iterator<_Iterator>& __y)
> 28468:     { return __x.base() < __y.base(); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator<=(const move_iterator<_IteratorL>& __x,
> 28468:         const move_iterator<_IteratorR>& __y)
> 28468:     { return !(__y < __x); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator<=(const move_iterator<_Iterator>& __x,
> 28468:         const move_iterator<_Iterator>& __y)
> 28468:     { return !(__y < __x); }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator>(const move_iterator<_IteratorL>& __x,
> 28468:        const move_iterator<_IteratorR>& __y)
> 28468:     { return __y < __x; }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator>(const move_iterator<_Iterator>& __x,
> 28468:        const move_iterator<_Iterator>& __y)
> 28468:     { return __y < __x; }
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline bool
> 28468:     operator>=(const move_iterator<_IteratorL>& __x,
> 28468:         const move_iterator<_IteratorR>& __y)
> 28468:     { return !(__x < __y); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline bool
> 28468:     operator>=(const move_iterator<_Iterator>& __x,
> 28468:         const move_iterator<_Iterator>& __y)
> 28468:     { return !(__x < __y); }
> 28468: 
> 28468: 
> 28468:   template<typename _IteratorL, typename _IteratorR>
> 28468:     inline auto
> 28468:     operator-(const move_iterator<_IteratorL>& __x,
> 28468:        const move_iterator<_IteratorR>& __y)
> 28468:     -> decltype(__x.base() - __y.base())
> 28468:     { return __x.base() - __y.base(); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline move_iterator<_Iterator>
> 28468:     operator+(typename move_iterator<_Iterator>::difference_type __n,
> 28468:        const move_iterator<_Iterator>& __x)
> 28468:     { return __x + __n; }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline move_iterator<_Iterator>
> 28468:     make_move_iterator(_Iterator __i)
> 28468:     { return move_iterator<_Iterator>(__i); }
> 28468: 
> 28468:   template<typename _Iterator, typename _ReturnType
> 28468:     = typename conditional<__move_if_noexcept_cond
> 28468:       <typename iterator_traits<_Iterator>::value_type>::value,
> 28468:                 _Iterator, move_iterator<_Iterator>>::type>
> 28468:     inline _ReturnType
> 28468:     __make_move_if_noexcept_iterator(_Iterator __i)
> 28468:     { return _ReturnType(__i); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _ReturnType
> 28468:     = typename conditional<__move_if_noexcept_cond<_Tp>::value,
> 28468:       const _Tp*, move_iterator<_Tp*>>::type>
> 28468:     inline _ReturnType
> 28468:     __make_move_if_noexcept_iterator(_Tp* __i)
> 28468:     { return _ReturnType(__i); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     auto
> 28468:     __niter_base(move_iterator<_Iterator> __it)
> 28468:     -> decltype(make_move_iterator(__niter_base(__it.base())))
> 28468:     { return make_move_iterator(__niter_base(__it.base())); }
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     struct __is_move_iterator<move_iterator<_Iterator> >
> 28468:     {
> 28468:       enum { __value = 1 };
> 28468:       typedef __true_type __type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     auto
> 28468:     __miter_base(move_iterator<_Iterator> __it)
> 28468:     -> decltype(__miter_base(__it.base()))
> 28468:     { return __miter_base(__it.base()); }
> 28468: # 1295 "/usr/include/c++/9/bits/stl_iterator.h" 3
> 28468: 
> 28468: }
> 28468: # 68 "/usr/include/c++/9/bits/stl_algobase.h" 2 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/debug/debug.h" 1 3
> 28468: # 48 "/usr/include/c++/9/debug/debug.h" 3
> 28468: namespace std
> 28468: {
> 28468:   namespace __debug { }
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace __gnu_debug
> 28468: {
> 28468:   using namespace std::__debug;
> 28468: }
> 28468: # 70 "/usr/include/c++/9/bits/stl_algobase.h" 2 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/predefined_ops.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/predefined_ops.h" 3
> 28468: namespace __gnu_cxx
> 28468: {
> 28468: namespace __ops
> 28468: {
> 28468:   struct _Iter_less_iter
> 28468:   {
> 28468:     template<typename _Iterator1, typename _Iterator2>
> 28468:      
> 28468:       bool
> 28468:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
> 28468:       { return *__it1 < *__it2; }
> 28468:   };
> 28468: 
> 28468:  
> 28468:   inline _Iter_less_iter
> 28468:   __iter_less_iter()
> 28468:   { return _Iter_less_iter(); }
> 28468: 
> 28468:   struct _Iter_less_val
> 28468:   {
> 28468: 
> 28468:     constexpr _Iter_less_val() = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     explicit
> 28468:     _Iter_less_val(_Iter_less_iter) { }
> 28468: 
> 28468:     template<typename _Iterator, typename _Value>
> 28468:       bool
> 28468:       operator()(_Iterator __it, _Value& __val) const
> 28468:       { return *__it < __val; }
> 28468:   };
> 28468: 
> 28468:   inline _Iter_less_val
> 28468:   __iter_less_val()
> 28468:   { return _Iter_less_val(); }
> 28468: 
> 28468:   inline _Iter_less_val
> 28468:   __iter_comp_val(_Iter_less_iter)
> 28468:   { return _Iter_less_val(); }
> 28468: 
> 28468:   struct _Val_less_iter
> 28468:   {
> 28468: 
> 28468:     constexpr _Val_less_iter() = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     explicit
> 28468:     _Val_less_iter(_Iter_less_iter) { }
> 28468: 
> 28468:     template<typename _Value, typename _Iterator>
> 28468:       bool
> 28468:       operator()(_Value& __val, _Iterator __it) const
> 28468:       { return __val < *__it; }
> 28468:   };
> 28468: 
> 28468:   inline _Val_less_iter
> 28468:   __val_less_iter()
> 28468:   { return _Val_less_iter(); }
> 28468: 
> 28468:   inline _Val_less_iter
> 28468:   __val_comp_iter(_Iter_less_iter)
> 28468:   { return _Val_less_iter(); }
> 28468: 
> 28468:   struct _Iter_equal_to_iter
> 28468:   {
> 28468:     template<typename _Iterator1, typename _Iterator2>
> 28468:       bool
> 28468:       operator()(_Iterator1 __it1, _Iterator2 __it2) const
> 28468:       { return *__it1 == *__it2; }
> 28468:   };
> 28468: 
> 28468:   inline _Iter_equal_to_iter
> 28468:   __iter_equal_to_iter()
> 28468:   { return _Iter_equal_to_iter(); }
> 28468: 
> 28468:   struct _Iter_equal_to_val
> 28468:   {
> 28468:     template<typename _Iterator, typename _Value>
> 28468:       bool
> 28468:       operator()(_Iterator __it, _Value& __val) const
> 28468:       { return *__it == __val; }
> 28468:   };
> 28468: 
> 28468:   inline _Iter_equal_to_val
> 28468:   __iter_equal_to_val()
> 28468:   { return _Iter_equal_to_val(); }
> 28468: 
> 28468:   inline _Iter_equal_to_val
> 28468:   __iter_comp_val(_Iter_equal_to_iter)
> 28468:   { return _Iter_equal_to_val(); }
> 28468: 
> 28468:   template<typename _Compare>
> 28468:     struct _Iter_comp_iter
> 28468:     {
> 28468:       _Compare _M_comp;
> 28468: 
> 28468:       explicit
> 28468:       _Iter_comp_iter(_Compare __comp)
> 28468:  : _M_comp(std::move(__comp))
> 28468:       { }
> 28468: 
> 28468:       template<typename _Iterator1, typename _Iterator2>
> 28468:        
> 28468:         bool
> 28468:         operator()(_Iterator1 __it1, _Iterator2 __it2)
> 28468:         { return bool(_M_comp(*__it1, *__it2)); }
> 28468:     };
> 28468: 
> 28468:   template<typename _Compare>
> 28468:    
> 28468:     inline _Iter_comp_iter<_Compare>
> 28468:     __iter_comp_iter(_Compare __comp)
> 28468:     { return _Iter_comp_iter<_Compare>(std::move(__comp)); }
> 28468: 
> 28468:   template<typename _Compare>
> 28468:     struct _Iter_comp_val
> 28468:     {
> 28468:       _Compare _M_comp;
> 28468: 
> 28468:       explicit
> 28468:       _Iter_comp_val(_Compare __comp)
> 28468:  : _M_comp(std::move(__comp))
> 28468:       { }
> 28468: 
> 28468:       explicit
> 28468:       _Iter_comp_val(const _Iter_comp_iter<_Compare>& __comp)
> 28468:  : _M_comp(__comp._M_comp)
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       _Iter_comp_val(_Iter_comp_iter<_Compare>&& __comp)
> 28468:  : _M_comp(std::move(__comp._M_comp))
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       template<typename _Iterator, typename _Value>
> 28468:  bool
> 28468:  operator()(_Iterator __it, _Value& __val)
> 28468:  { return bool(_M_comp(*__it, __val)); }
> 28468:     };
> 28468: 
> 28468:   template<typename _Compare>
> 28468:    inline _Iter_comp_val<_Compare>
> 28468:     __iter_comp_val(_Compare __comp)
> 28468:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
> 28468: 
> 28468:   template<typename _Compare>
> 28468:     inline _Iter_comp_val<_Compare>
> 28468:     __iter_comp_val(_Iter_comp_iter<_Compare> __comp)
> 28468:     { return _Iter_comp_val<_Compare>(std::move(__comp)); }
> 28468: 
> 28468:   template<typename _Compare>
> 28468:     struct _Val_comp_iter
> 28468:     {
> 28468:       _Compare _M_comp;
> 28468: 
> 28468:       explicit
> 28468:       _Val_comp_iter(_Compare __comp)
> 28468:  : _M_comp(std::move(__comp))
> 28468:       { }
> 28468: 
> 28468:       explicit
> 28468:       _Val_comp_iter(const _Iter_comp_iter<_Compare>& __comp)
> 28468:  : _M_comp(__comp._M_comp)
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       _Val_comp_iter(_Iter_comp_iter<_Compare>&& __comp)
> 28468:  : _M_comp(std::move(__comp._M_comp))
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       template<typename _Value, typename _Iterator>
> 28468:  bool
> 28468:  operator()(_Value& __val, _Iterator __it)
> 28468:  { return bool(_M_comp(__val, *__it)); }
> 28468:     };
> 28468: 
> 28468:   template<typename _Compare>
> 28468:     inline _Val_comp_iter<_Compare>
> 28468:     __val_comp_iter(_Compare __comp)
> 28468:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
> 28468: 
> 28468:   template<typename _Compare>
> 28468:     inline _Val_comp_iter<_Compare>
> 28468:     __val_comp_iter(_Iter_comp_iter<_Compare> __comp)
> 28468:     { return _Val_comp_iter<_Compare>(std::move(__comp)); }
> 28468: 
> 28468:   template<typename _Value>
> 28468:     struct _Iter_equals_val
> 28468:     {
> 28468:       _Value& _M_value;
> 28468: 
> 28468:       explicit
> 28468:       _Iter_equals_val(_Value& __value)
> 28468:  : _M_value(__value)
> 28468:       { }
> 28468: 
> 28468:       template<typename _Iterator>
> 28468:  bool
> 28468:  operator()(_Iterator __it)
> 28468:  { return *__it == _M_value; }
> 28468:     };
> 28468: 
> 28468:   template<typename _Value>
> 28468:     inline _Iter_equals_val<_Value>
> 28468:     __iter_equals_val(_Value& __val)
> 28468:     { return _Iter_equals_val<_Value>(__val); }
> 28468: 
> 28468:   template<typename _Iterator1>
> 28468:     struct _Iter_equals_iter
> 28468:     {
> 28468:       _Iterator1 _M_it1;
> 28468: 
> 28468:       explicit
> 28468:       _Iter_equals_iter(_Iterator1 __it1)
> 28468:  : _M_it1(__it1)
> 28468:       { }
> 28468: 
> 28468:       template<typename _Iterator2>
> 28468:  bool
> 28468:  operator()(_Iterator2 __it2)
> 28468:  { return *__it2 == *_M_it1; }
> 28468:     };
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline _Iter_equals_iter<_Iterator>
> 28468:     __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it)
> 28468:     { return _Iter_equals_iter<_Iterator>(__it); }
> 28468: 
> 28468:   template<typename _Predicate>
> 28468:     struct _Iter_pred
> 28468:     {
> 28468:       _Predicate _M_pred;
> 28468: 
> 28468:       explicit
> 28468:       _Iter_pred(_Predicate __pred)
> 28468:  : _M_pred(std::move(__pred))
> 28468:       { }
> 28468: 
> 28468:       template<typename _Iterator>
> 28468:  bool
> 28468:  operator()(_Iterator __it)
> 28468:  { return bool(_M_pred(*__it)); }
> 28468:     };
> 28468: 
> 28468:   template<typename _Predicate>
> 28468:     inline _Iter_pred<_Predicate>
> 28468:     __pred_iter(_Predicate __pred)
> 28468:     { return _Iter_pred<_Predicate>(std::move(__pred)); }
> 28468: 
> 28468:   template<typename _Compare, typename _Value>
> 28468:     struct _Iter_comp_to_val
> 28468:     {
> 28468:       _Compare _M_comp;
> 28468:       _Value& _M_value;
> 28468: 
> 28468:       _Iter_comp_to_val(_Compare __comp, _Value& __value)
> 28468:  : _M_comp(std::move(__comp)), _M_value(__value)
> 28468:       { }
> 28468: 
> 28468:       template<typename _Iterator>
> 28468:  bool
> 28468:  operator()(_Iterator __it)
> 28468:  { return bool(_M_comp(*__it, _M_value)); }
> 28468:     };
> 28468: 
> 28468:   template<typename _Compare, typename _Value>
> 28468:     _Iter_comp_to_val<_Compare, _Value>
> 28468:     __iter_comp_val(_Compare __comp, _Value &__val)
> 28468:     {
> 28468:       return _Iter_comp_to_val<_Compare, _Value>(std::move(__comp), __val);
> 28468:     }
> 28468: 
> 28468:   template<typename _Compare, typename _Iterator1>
> 28468:     struct _Iter_comp_to_iter
> 28468:     {
> 28468:       _Compare _M_comp;
> 28468:       _Iterator1 _M_it1;
> 28468: 
> 28468:       _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1)
> 28468:  : _M_comp(std::move(__comp)), _M_it1(__it1)
> 28468:       { }
> 28468: 
> 28468:       template<typename _Iterator2>
> 28468:  bool
> 28468:  operator()(_Iterator2 __it2)
> 28468:  { return bool(_M_comp(*__it2, *_M_it1)); }
> 28468:     };
> 28468: 
> 28468:   template<typename _Compare, typename _Iterator>
> 28468:     inline _Iter_comp_to_iter<_Compare, _Iterator>
> 28468:     __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it)
> 28468:     {
> 28468:       return _Iter_comp_to_iter<_Compare, _Iterator>(
> 28468:    std::move(__comp._M_comp), __it);
> 28468:     }
> 28468: 
> 28468:   template<typename _Predicate>
> 28468:     struct _Iter_negate
> 28468:     {
> 28468:       _Predicate _M_pred;
> 28468: 
> 28468:       explicit
> 28468:       _Iter_negate(_Predicate __pred)
> 28468:  : _M_pred(std::move(__pred))
> 28468:       { }
> 28468: 
> 28468:       template<typename _Iterator>
> 28468:  bool
> 28468:  operator()(_Iterator __it)
> 28468:  { return !bool(_M_pred(*__it)); }
> 28468:     };
> 28468: 
> 28468:   template<typename _Predicate>
> 28468:     inline _Iter_negate<_Predicate>
> 28468:     __negate(_Iter_pred<_Predicate> __pred)
> 28468:     { return _Iter_negate<_Predicate>(std::move(__pred._M_pred)); }
> 28468: 
> 28468: }
> 28468: }
> 28468: # 72 "/usr/include/c++/9/bits/stl_algobase.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 121 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _ForwardIterator1, typename _ForwardIterator2>
> 28468:     inline void
> 28468:     iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: # 151 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:       swap(*__a, *__b);
> 28468: 
> 28468:     }
> 28468: # 167 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _ForwardIterator1, typename _ForwardIterator2>
> 28468:     _ForwardIterator2
> 28468:     swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
> 28468:   _ForwardIterator2 __first2)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       for (; __first1 != __last1; ++__first1, (void)++__first2)
> 28468:  std::iter_swap(__first1, __first2);
> 28468:       return __first2;
> 28468:     }
> 28468: # 195 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     inline const _Tp&
> 28468:     min(const _Tp& __a, const _Tp& __b)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       if (__b < __a)
> 28468:  return __b;
> 28468:       return __a;
> 28468:     }
> 28468: # 219 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     inline const _Tp&
> 28468:     max(const _Tp& __a, const _Tp& __b)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       if (__a < __b)
> 28468:  return __b;
> 28468:       return __a;
> 28468:     }
> 28468: # 243 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     inline const _Tp&
> 28468:     min(const _Tp& __a, const _Tp& __b, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:       if (__comp(__b, __a))
> 28468:  return __b;
> 28468:       return __a;
> 28468:     }
> 28468: # 265 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     inline const _Tp&
> 28468:     max(const _Tp& __a, const _Tp& __b, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:       if (__comp(__a, __b))
> 28468:  return __b;
> 28468:       return __a;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline _Iterator
> 28468:     __niter_base(_Iterator __it)
> 28468:     noexcept(std::is_nothrow_copy_constructible<_Iterator>::value)
> 28468:     { return __it; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _From, typename _To>
> 28468:     inline _From
> 28468:     __niter_wrap(_From __from, _To __res)
> 28468:     { return __from + (__res - std::__niter_base(__from)); }
> 28468: 
> 28468: 
> 28468:   template<typename _Iterator>
> 28468:     inline _Iterator
> 28468:     __niter_wrap(const _Iterator&, _Iterator __res)
> 28468:     { return __res; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<bool _IsMove, bool _IsSimple, typename _Category>
> 28468:     struct __copy_move
> 28468:     {
> 28468:       template<typename _II, typename _OI>
> 28468:  static _OI
> 28468:  __copy_m(_II __first, _II __last, _OI __result)
> 28468:  {
> 28468:    for (; __first != __last; ++__result, (void)++__first)
> 28468:      *__result = *__first;
> 28468:    return __result;
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Category>
> 28468:     struct __copy_move<true, false, _Category>
> 28468:     {
> 28468:       template<typename _II, typename _OI>
> 28468:  static _OI
> 28468:  __copy_m(_II __first, _II __last, _OI __result)
> 28468:  {
> 28468:    for (; __first != __last; ++__result, (void)++__first)
> 28468:      *__result = std::move(*__first);
> 28468:    return __result;
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __copy_move<false, false, random_access_iterator_tag>
> 28468:     {
> 28468:       template<typename _II, typename _OI>
> 28468:  static _OI
> 28468:  __copy_m(_II __first, _II __last, _OI __result)
> 28468:  {
> 28468:    typedef typename iterator_traits<_II>::difference_type _Distance;
> 28468:    for(_Distance __n = __last - __first; __n > 0; --__n)
> 28468:      {
> 28468:        *__result = *__first;
> 28468:        ++__first;
> 28468:        ++__result;
> 28468:      }
> 28468:    return __result;
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __copy_move<true, false, random_access_iterator_tag>
> 28468:     {
> 28468:       template<typename _II, typename _OI>
> 28468:  static _OI
> 28468:  __copy_m(_II __first, _II __last, _OI __result)
> 28468:  {
> 28468:    typedef typename iterator_traits<_II>::difference_type _Distance;
> 28468:    for(_Distance __n = __last - __first; __n > 0; --__n)
> 28468:      {
> 28468:        *__result = std::move(*__first);
> 28468:        ++__first;
> 28468:        ++__result;
> 28468:      }
> 28468:    return __result;
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<bool _IsMove>
> 28468:     struct __copy_move<_IsMove, true, random_access_iterator_tag>
> 28468:     {
> 28468:       template<typename _Tp>
> 28468:  static _Tp*
> 28468:  __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result)
> 28468:  {
> 28468: 
> 28468:    using __assignable = conditional<_IsMove,
> 28468:         is_move_assignable<_Tp>,
> 28468:         is_copy_assignable<_Tp>>;
> 28468: 
> 28468:    static_assert( __assignable::type::value, "type is not assignable" );
> 28468: 
> 28468:    const ptrdiff_t _Num = __last - __first;
> 28468:    if (_Num)
> 28468:      __builtin_memmove(__result, __first, sizeof(_Tp) * _Num);
> 28468:    return __result + _Num;
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<bool _IsMove, typename _II, typename _OI>
> 28468:     inline _OI
> 28468:     __copy_move_a(_II __first, _II __last, _OI __result)
> 28468:     {
> 28468:       typedef typename iterator_traits<_II>::value_type _ValueTypeI;
> 28468:       typedef typename iterator_traits<_OI>::value_type _ValueTypeO;
> 28468:       typedef typename iterator_traits<_II>::iterator_category _Category;
> 28468:       const bool __simple = (__is_trivially_copyable(_ValueTypeI)
> 28468:         && __is_pointer<_II>::__value
> 28468:         && __is_pointer<_OI>::__value
> 28468:         && __are_same<_ValueTypeI, _ValueTypeO>::__value);
> 28468: 
> 28468:       return std::__copy_move<_IsMove, __simple,
> 28468:          _Category>::__copy_m(__first, __last, __result);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     struct char_traits;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     class istreambuf_iterator;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     class ostreambuf_iterator;
> 28468: 
> 28468:   template<bool _IsMove, typename _CharT>
> 28468:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
> 28468:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
> 28468:     __copy_move_a2(_CharT*, _CharT*,
> 28468:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
> 28468: 
> 28468:   template<bool _IsMove, typename _CharT>
> 28468:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
> 28468:       ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type
> 28468:     __copy_move_a2(const _CharT*, const _CharT*,
> 28468:      ostreambuf_iterator<_CharT, char_traits<_CharT> >);
> 28468: 
> 28468:   template<bool _IsMove, typename _CharT>
> 28468:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
> 28468:         _CharT*>::__type
> 28468:     __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >,
> 28468:      istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*);
> 28468: 
> 28468:   template<bool _IsMove, typename _II, typename _OI>
> 28468:     inline _OI
> 28468:     __copy_move_a2(_II __first, _II __last, _OI __result)
> 28468:     {
> 28468:       return std::__niter_wrap(__result,
> 28468:   std::__copy_move_a<_IsMove>(std::__niter_base(__first),
> 28468:          std::__niter_base(__last),
> 28468:          std::__niter_base(__result)));
> 28468:     }
> 28468: # 463 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _II, typename _OI>
> 28468:     inline _OI
> 28468:     copy(_II __first, _II __last, _OI __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__copy_move_a2<__is_move_iterator<_II>::__value>
> 28468:       (std::__miter_base(__first), std::__miter_base(__last), __result);
> 28468:     }
> 28468: # 495 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _II, typename _OI>
> 28468:     inline _OI
> 28468:     move(_II __first, _II __last, _OI __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__copy_move_a2<true>(std::__miter_base(__first),
> 28468:            std::__miter_base(__last), __result);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<bool, bool, typename>
> 28468:     struct __copy_move_backward
> 28468:     {
> 28468:       template<typename _BI1, typename _BI2>
> 28468:  static _BI2
> 28468:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
> 28468:  {
> 28468:    while (__first != __last)
> 28468:      *--__result = *--__last;
> 28468:    return __result;
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Category>
> 28468:     struct __copy_move_backward<true, false, _Category>
> 28468:     {
> 28468:       template<typename _BI1, typename _BI2>
> 28468:  static _BI2
> 28468:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
> 28468:  {
> 28468:    while (__first != __last)
> 28468:      *--__result = std::move(*--__last);
> 28468:    return __result;
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __copy_move_backward<false, false, random_access_iterator_tag>
> 28468:     {
> 28468:       template<typename _BI1, typename _BI2>
> 28468:  static _BI2
> 28468:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
> 28468:  {
> 28468:    typename iterator_traits<_BI1>::difference_type __n;
> 28468:    for (__n = __last - __first; __n > 0; --__n)
> 28468:      *--__result = *--__last;
> 28468:    return __result;
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct __copy_move_backward<true, false, random_access_iterator_tag>
> 28468:     {
> 28468:       template<typename _BI1, typename _BI2>
> 28468:  static _BI2
> 28468:  __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result)
> 28468:  {
> 28468:    typename iterator_traits<_BI1>::difference_type __n;
> 28468:    for (__n = __last - __first; __n > 0; --__n)
> 28468:      *--__result = std::move(*--__last);
> 28468:    return __result;
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<bool _IsMove>
> 28468:     struct __copy_move_backward<_IsMove, true, random_access_iterator_tag>
> 28468:     {
> 28468:       template<typename _Tp>
> 28468:  static _Tp*
> 28468:  __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result)
> 28468:  {
> 28468: 
> 28468:    using __assignable = conditional<_IsMove,
> 28468:         is_move_assignable<_Tp>,
> 28468:         is_copy_assignable<_Tp>>;
> 28468: 
> 28468:    static_assert( __assignable::type::value, "type is not assignable" );
> 28468: 
> 28468:    const ptrdiff_t _Num = __last - __first;
> 28468:    if (_Num)
> 28468:      __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num);
> 28468:    return __result - _Num;
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<bool _IsMove, typename _BI1, typename _BI2>
> 28468:     inline _BI2
> 28468:     __copy_move_backward_a(_BI1 __first, _BI1 __last, _BI2 __result)
> 28468:     {
> 28468:       typedef typename iterator_traits<_BI1>::value_type _ValueType1;
> 28468:       typedef typename iterator_traits<_BI2>::value_type _ValueType2;
> 28468:       typedef typename iterator_traits<_BI1>::iterator_category _Category;
> 28468:       const bool __simple = (__is_trivially_copyable(_ValueType1)
> 28468:         && __is_pointer<_BI1>::__value
> 28468:         && __is_pointer<_BI2>::__value
> 28468:         && __are_same<_ValueType1, _ValueType2>::__value);
> 28468: 
> 28468:       return std::__copy_move_backward<_IsMove, __simple,
> 28468:            _Category>::__copy_move_b(__first,
> 28468:          __last,
> 28468:          __result);
> 28468:     }
> 28468: 
> 28468:   template<bool _IsMove, typename _BI1, typename _BI2>
> 28468:     inline _BI2
> 28468:     __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result)
> 28468:     {
> 28468:       return std::__niter_wrap(__result,
> 28468:   std::__copy_move_backward_a<_IsMove>
> 28468:     (std::__niter_base(__first), std::__niter_base(__last),
> 28468:      std::__niter_base(__result)));
> 28468:     }
> 28468: # 639 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _BI1, typename _BI2>
> 28468:     inline _BI2
> 28468:     copy_backward(_BI1 __first, _BI1 __last, _BI2 __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__copy_move_backward_a2<__is_move_iterator<_BI1>::__value>
> 28468:       (std::__miter_base(__first), std::__miter_base(__last), __result);
> 28468:     }
> 28468: # 674 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _BI1, typename _BI2>
> 28468:     inline _BI2
> 28468:     move_backward(_BI1 __first, _BI1 __last, _BI2 __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__copy_move_backward_a2<true>(std::__miter_base(__first),
> 28468:       std::__miter_base(__last),
> 28468:       __result);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     inline typename
> 28468:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, void>::__type
> 28468:     __fill_a(_ForwardIterator __first, _ForwardIterator __last,
> 28468:        const _Tp& __value)
> 28468:     {
> 28468:       for (; __first != __last; ++__first)
> 28468:  *__first = __value;
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     inline typename
> 28468:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type
> 28468:     __fill_a(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       const _Tp& __value)
> 28468:     {
> 28468:       const _Tp __tmp = __value;
> 28468:       for (; __first != __last; ++__first)
> 28468:  *__first = __tmp;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline typename
> 28468:     __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type
> 28468:     __fill_a(_Tp* __first, _Tp* __last, const _Tp& __c)
> 28468:     {
> 28468:       const _Tp __tmp = __c;
> 28468:       if (const size_t __len = __last - __first)
> 28468:  __builtin_memset(__first, static_cast<unsigned char>(__tmp), __len);
> 28468:     }
> 28468: # 740 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     inline void
> 28468:     fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       std::__fill_a(std::__niter_base(__first), std::__niter_base(__last),
> 28468:       __value);
> 28468:     }
> 28468: 
> 28468:   template<typename _OutputIterator, typename _Size, typename _Tp>
> 28468:     inline typename
> 28468:     __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type
> 28468:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value)
> 28468:     {
> 28468:       for (__decltype(__n + 0) __niter = __n;
> 28468:     __niter > 0; --__niter, (void) ++__first)
> 28468:  *__first = __value;
> 28468:       return __first;
> 28468:     }
> 28468: 
> 28468:   template<typename _OutputIterator, typename _Size, typename _Tp>
> 28468:     inline typename
> 28468:     __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type
> 28468:     __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value)
> 28468:     {
> 28468:       const _Tp __tmp = __value;
> 28468:       for (__decltype(__n + 0) __niter = __n;
> 28468:     __niter > 0; --__niter, (void) ++__first)
> 28468:  *__first = __tmp;
> 28468:       return __first;
> 28468:     }
> 28468: 
> 28468:   template<typename _Size, typename _Tp>
> 28468:     inline typename
> 28468:     __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, _Tp*>::__type
> 28468:     __fill_n_a(_Tp* __first, _Size __n, const _Tp& __c)
> 28468:     {
> 28468:       std::__fill_a(__first, __first + __n, __c);
> 28468:       return __first + __n;
> 28468:     }
> 28468: # 800 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _OI, typename _Size, typename _Tp>
> 28468:     inline _OI
> 28468:     fill_n(_OI __first, _Size __n, const _Tp& __value)
> 28468:     {
> 28468: 
> 28468:      
> 28468:       ;
> 28468: 
> 28468:       return std::__niter_wrap(__first,
> 28468:   std::__fill_n_a(std::__niter_base(__first), __n, __value));
> 28468:     }
> 28468: 
> 28468:   template<bool _BoolType>
> 28468:     struct __equal
> 28468:     {
> 28468:       template<typename _II1, typename _II2>
> 28468:  static bool
> 28468:  equal(_II1 __first1, _II1 __last1, _II2 __first2)
> 28468:  {
> 28468:    for (; __first1 != __last1; ++__first1, (void) ++__first2)
> 28468:      if (!(*__first1 == *__first2))
> 28468:        return false;
> 28468:    return true;
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __equal<true>
> 28468:     {
> 28468:       template<typename _Tp>
> 28468:  static bool
> 28468:  equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2)
> 28468:  {
> 28468:    if (const size_t __len = (__last1 - __first1))
> 28468:      return !__builtin_memcmp(__first1, __first2, sizeof(_Tp) * __len);
> 28468:    return true;
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<typename _II1, typename _II2>
> 28468:     inline bool
> 28468:     __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2)
> 28468:     {
> 28468:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
> 28468:       typedef typename iterator_traits<_II2>::value_type _ValueType2;
> 28468:       const bool __simple = ((__is_integer<_ValueType1>::__value
> 28468:          || __is_pointer<_ValueType1>::__value)
> 28468:         && __is_pointer<_II1>::__value
> 28468:         && __is_pointer<_II2>::__value
> 28468:         && __are_same<_ValueType1, _ValueType2>::__value);
> 28468: 
> 28468:       return std::__equal<__simple>::equal(__first1, __last1, __first2);
> 28468:     }
> 28468: 
> 28468:   template<typename, typename>
> 28468:     struct __lc_rai
> 28468:     {
> 28468:       template<typename _II1, typename _II2>
> 28468:  static _II1
> 28468:  __newlast1(_II1, _II1 __last1, _II2, _II2)
> 28468:  { return __last1; }
> 28468: 
> 28468:       template<typename _II>
> 28468:  static bool
> 28468:  __cnd2(_II __first, _II __last)
> 28468:  { return __first != __last; }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __lc_rai<random_access_iterator_tag, random_access_iterator_tag>
> 28468:     {
> 28468:       template<typename _RAI1, typename _RAI2>
> 28468:  static _RAI1
> 28468:  __newlast1(_RAI1 __first1, _RAI1 __last1,
> 28468:      _RAI2 __first2, _RAI2 __last2)
> 28468:  {
> 28468:    const typename iterator_traits<_RAI1>::difference_type
> 28468:      __diff1 = __last1 - __first1;
> 28468:    const typename iterator_traits<_RAI2>::difference_type
> 28468:      __diff2 = __last2 - __first2;
> 28468:    return __diff2 < __diff1 ? __first1 + __diff2 : __last1;
> 28468:  }
> 28468: 
> 28468:       template<typename _RAI>
> 28468:  static bool
> 28468:  __cnd2(_RAI, _RAI)
> 28468:  { return true; }
> 28468:     };
> 28468: 
> 28468:   template<typename _II1, typename _II2, typename _Compare>
> 28468:     bool
> 28468:     __lexicographical_compare_impl(_II1 __first1, _II1 __last1,
> 28468:        _II2 __first2, _II2 __last2,
> 28468:        _Compare __comp)
> 28468:     {
> 28468:       typedef typename iterator_traits<_II1>::iterator_category _Category1;
> 28468:       typedef typename iterator_traits<_II2>::iterator_category _Category2;
> 28468:       typedef std::__lc_rai<_Category1, _Category2> __rai_type;
> 28468: 
> 28468:       __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2);
> 28468:       for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2);
> 28468:     ++__first1, (void)++__first2)
> 28468:  {
> 28468:    if (__comp(__first1, __first2))
> 28468:      return true;
> 28468:    if (__comp(__first2, __first1))
> 28468:      return false;
> 28468:  }
> 28468:       return __first1 == __last1 && __first2 != __last2;
> 28468:     }
> 28468: 
> 28468:   template<bool _BoolType>
> 28468:     struct __lexicographical_compare
> 28468:     {
> 28468:       template<typename _II1, typename _II2>
> 28468:  static bool __lc(_II1, _II1, _II2, _II2);
> 28468:     };
> 28468: 
> 28468:   template<bool _BoolType>
> 28468:     template<typename _II1, typename _II2>
> 28468:       bool
> 28468:       __lexicographical_compare<_BoolType>::
> 28468:       __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
> 28468:       {
> 28468:  return std::__lexicographical_compare_impl(__first1, __last1,
> 28468:          __first2, __last2,
> 28468:      __gnu_cxx::__ops::__iter_less_iter());
> 28468:       }
> 28468: 
> 28468:   template<>
> 28468:     struct __lexicographical_compare<true>
> 28468:     {
> 28468:       template<typename _Tp, typename _Up>
> 28468:  static bool
> 28468:  __lc(const _Tp* __first1, const _Tp* __last1,
> 28468:       const _Up* __first2, const _Up* __last2)
> 28468:  {
> 28468:    const size_t __len1 = __last1 - __first1;
> 28468:    const size_t __len2 = __last2 - __first2;
> 28468:    if (const size_t __len = std::min(__len1, __len2))
> 28468:      if (int __result = __builtin_memcmp(__first1, __first2, __len))
> 28468:        return __result < 0;
> 28468:    return __len1 < __len2;
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<typename _II1, typename _II2>
> 28468:     inline bool
> 28468:     __lexicographical_compare_aux(_II1 __first1, _II1 __last1,
> 28468:       _II2 __first2, _II2 __last2)
> 28468:     {
> 28468:       typedef typename iterator_traits<_II1>::value_type _ValueType1;
> 28468:       typedef typename iterator_traits<_II2>::value_type _ValueType2;
> 28468:       const bool __simple =
> 28468:  (__is_byte<_ValueType1>::__value && __is_byte<_ValueType2>::__value
> 28468:   && !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed
> 28468:   && !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed
> 28468:   && __is_pointer<_II1>::__value
> 28468:   && __is_pointer<_II2>::__value);
> 28468: 
> 28468:       return std::__lexicographical_compare<__simple>::__lc(__first1, __last1,
> 28468:            __first2, __last2);
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
> 28468:     _ForwardIterator
> 28468:     __lower_bound(_ForwardIterator __first, _ForwardIterator __last,
> 28468:     const _Tp& __val, _Compare __comp)
> 28468:     {
> 28468:       typedef typename iterator_traits<_ForwardIterator>::difference_type
> 28468:  _DistanceType;
> 28468: 
> 28468:       _DistanceType __len = std::distance(__first, __last);
> 28468: 
> 28468:       while (__len > 0)
> 28468:  {
> 28468:    _DistanceType __half = __len >> 1;
> 28468:    _ForwardIterator __middle = __first;
> 28468:    std::advance(__middle, __half);
> 28468:    if (__comp(__middle, __val))
> 28468:      {
> 28468:        __first = __middle;
> 28468:        ++__first;
> 28468:        __len = __len - __half - 1;
> 28468:      }
> 28468:    else
> 28468:      __len = __half;
> 28468:  }
> 28468:       return __first;
> 28468:     }
> 28468: # 1002 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     inline _ForwardIterator
> 28468:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
> 28468:   const _Tp& __val)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__lower_bound(__first, __last, __val,
> 28468:     __gnu_cxx::__ops::__iter_less_val());
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline constexpr int
> 28468:   __lg(int __n)
> 28468:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
> 28468: 
> 28468:   inline constexpr unsigned
> 28468:   __lg(unsigned __n)
> 28468:   { return (int)sizeof(int) * 8 - 1 - __builtin_clz(__n); }
> 28468: 
> 28468:   inline constexpr long
> 28468:   __lg(long __n)
> 28468:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
> 28468: 
> 28468:   inline constexpr unsigned long
> 28468:   __lg(unsigned long __n)
> 28468:   { return (int)sizeof(long) * 8 - 1 - __builtin_clzl(__n); }
> 28468: 
> 28468:   inline constexpr long long
> 28468:   __lg(long long __n)
> 28468:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
> 28468: 
> 28468:   inline constexpr unsigned long long
> 28468:   __lg(unsigned long long __n)
> 28468:   { return (int)sizeof(long long) * 8 - 1 - __builtin_clzll(__n); }
> 28468: 
> 28468: 
> 28468: # 1057 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _II1, typename _II2>
> 28468:     inline bool
> 28468:     equal(_II1 __first1, _II1 __last1, _II2 __first2)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__equal_aux(std::__niter_base(__first1),
> 28468:          std::__niter_base(__last1),
> 28468:          std::__niter_base(__first2));
> 28468:     }
> 28468: # 1089 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
> 28468:     inline bool
> 28468:     equal(_IIter1 __first1, _IIter1 __last1,
> 28468:    _IIter2 __first2, _BinaryPredicate __binary_pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:       ;
> 28468: 
> 28468:       for (; __first1 != __last1; ++__first1, (void)++__first2)
> 28468:  if (!bool(__binary_pred(*__first1, *__first2)))
> 28468:    return false;
> 28468:       return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _II1, typename _II2>
> 28468:     inline bool
> 28468:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2)
> 28468:     {
> 28468:       using _RATag = random_access_iterator_tag;
> 28468:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
> 28468:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
> 28468:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
> 28468:       if (_RAIters())
> 28468:  {
> 28468:    auto __d1 = std::distance(__first1, __last1);
> 28468:    auto __d2 = std::distance(__first2, __last2);
> 28468:    if (__d1 != __d2)
> 28468:      return false;
> 28468:    return std::equal(__first1, __last1, __first2);
> 28468:  }
> 28468: 
> 28468:       for (; __first1 != __last1 && __first2 != __last2;
> 28468:    ++__first1, (void)++__first2)
> 28468:  if (!(*__first1 == *__first2))
> 28468:    return false;
> 28468:       return __first1 == __last1 && __first2 == __last2;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _II1, typename _II2, typename _BinaryPredicate>
> 28468:     inline bool
> 28468:     __equal4(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2,
> 28468:       _BinaryPredicate __binary_pred)
> 28468:     {
> 28468:       using _RATag = random_access_iterator_tag;
> 28468:       using _Cat1 = typename iterator_traits<_II1>::iterator_category;
> 28468:       using _Cat2 = typename iterator_traits<_II2>::iterator_category;
> 28468:       using _RAIters = __and_<is_same<_Cat1, _RATag>, is_same<_Cat2, _RATag>>;
> 28468:       if (_RAIters())
> 28468:  {
> 28468:    auto __d1 = std::distance(__first1, __last1);
> 28468:    auto __d2 = std::distance(__first2, __last2);
> 28468:    if (__d1 != __d2)
> 28468:      return false;
> 28468:    return std::equal(__first1, __last1, __first2,
> 28468:            __binary_pred);
> 28468:  }
> 28468: 
> 28468:       for (; __first1 != __last1 && __first2 != __last2;
> 28468:    ++__first1, (void)++__first2)
> 28468:  if (!bool(__binary_pred(*__first1, *__first2)))
> 28468:    return false;
> 28468:       return __first1 == __last1 && __first2 == __last2;
> 28468:     }
> 28468: # 1239 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _II1, typename _II2>
> 28468:     inline bool
> 28468:     lexicographical_compare(_II1 __first1, _II1 __last1,
> 28468:        _II2 __first2, _II2 __last2)
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468:      
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__lexicographical_compare_aux(std::__niter_base(__first1),
> 28468:       std::__niter_base(__last1),
> 28468:       std::__niter_base(__first2),
> 28468:       std::__niter_base(__last2));
> 28468:     }
> 28468: # 1275 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _II1, typename _II2, typename _Compare>
> 28468:     inline bool
> 28468:     lexicographical_compare(_II1 __first1, _II1 __last1,
> 28468:        _II2 __first2, _II2 __last2, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__lexicographical_compare_impl
> 28468:  (__first1, __last1, __first2, __last2,
> 28468:   __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _BinaryPredicate>
> 28468:     pair<_InputIterator1, _InputIterator2>
> 28468:     __mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:         _InputIterator2 __first2, _BinaryPredicate __binary_pred)
> 28468:     {
> 28468:       while (__first1 != __last1 && __binary_pred(__first1, __first2))
> 28468:  {
> 28468:    ++__first1;
> 28468:    ++__first2;
> 28468:  }
> 28468:       return pair<_InputIterator1, _InputIterator2>(__first1, __first2);
> 28468:     }
> 28468: # 1318 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2>
> 28468:     inline pair<_InputIterator1, _InputIterator2>
> 28468:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:       _InputIterator2 __first2)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__mismatch(__first1, __last1, __first2,
> 28468:         __gnu_cxx::__ops::__iter_equal_to_iter());
> 28468:     }
> 28468: # 1351 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _BinaryPredicate>
> 28468:     inline pair<_InputIterator1, _InputIterator2>
> 28468:     mismatch(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:       _InputIterator2 __first2, _BinaryPredicate __binary_pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:       ;
> 28468: 
> 28468:       return std::__mismatch(__first1, __last1, __first2,
> 28468:  __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
> 28468:     }
> 28468: # 1451 "/usr/include/c++/9/bits/stl_algobase.h" 3
> 28468: 
> 28468: 
> 28468: }
> 28468: # 40 "/usr/include/c++/9/bits/char_traits.h" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/postypes.h" 1 3
> 28468: # 38 "/usr/include/c++/9/bits/postypes.h" 3
> 28468:        
> 28468: # 39 "/usr/include/c++/9/bits/postypes.h" 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/cwchar" 1 3
> 28468: # 39 "/usr/include/c++/9/cwchar" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cwchar" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/wchar.h" 1 3 4
> 28468: # 27 "/usr/include/wchar.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4
> 28468: # 28 "/usr/include/wchar.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 1 3 4
> 28468: # 75 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4
> 28468: typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
> 28468: # 87 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4
> 28468: typedef __float128 _Float128;
> 28468: # 120 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/long-double.h" 1 3 4
> 28468: # 25 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 2 3 4
> 28468: # 214 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4
> 28468: typedef float _Float32;
> 28468: # 251 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4
> 28468: typedef double _Float64;
> 28468: # 268 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4
> 28468: typedef double _Float32x;
> 28468: # 285 "/usr/include/x86_64-linux-gnu/bits/floatn-common.h" 3 4
> 28468: typedef long double _Float64x;
> 28468: # 121 "/usr/include/x86_64-linux-gnu/bits/floatn.h" 2 3 4
> 28468: # 31 "/usr/include/wchar.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 1 3 4
> 28468: # 209 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 3 4
> 28468: typedef long unsigned int size_t;
> 28468: # 36 "/usr/include/wchar.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h" 1 3 4
> 28468: # 40 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h" 3 4
> 28468: typedef __builtin_va_list __gnuc_va_list;
> 28468: # 39 "/usr/include/wchar.h" 2 3 4
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/wchar.h" 1 3 4
> 28468: # 41 "/usr/include/wchar.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/wint_t.h" 1 3 4
> 28468: # 20 "/usr/include/x86_64-linux-gnu/bits/types/wint_t.h" 3 4
> 28468: typedef unsigned int wint_t;
> 28468: # 42 "/usr/include/wchar.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 1 3 4
> 28468: # 13 "/usr/include/x86_64-linux-gnu/bits/types/__mbstate_t.h" 3 4
> 28468: typedef struct
> 28468: {
> 28468:   int __count;
> 28468:   union
> 28468:   {
> 28468:     unsigned int __wch;
> 28468:     char __wchb[4];
> 28468:   } __value;
> 28468: } __mbstate_t;
> 28468: # 5 "/usr/include/x86_64-linux-gnu/bits/types/mbstate_t.h" 2 3 4
> 28468: 
> 28468: typedef __mbstate_t mbstate_t;
> 28468: # 43 "/usr/include/wchar.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/__FILE.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: struct _IO_FILE;
> 28468: typedef struct _IO_FILE __FILE;
> 28468: # 44 "/usr/include/wchar.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/FILE.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: struct _IO_FILE;
> 28468: 
> 28468: 
> 28468: typedef struct _IO_FILE FILE;
> 28468: # 47 "/usr/include/wchar.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 1 3 4
> 28468: # 22 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 1 3 4
> 28468: # 28 "/usr/include/x86_64-linux-gnu/bits/types/__locale_t.h" 3 4
> 28468: struct __locale_struct
> 28468: {
> 28468: 
> 28468:   struct __locale_data *__locales[13];
> 28468: 
> 28468: 
> 28468:   const unsigned short int *__ctype_b;
> 28468:   const int *__ctype_tolower;
> 28468:   const int *__ctype_toupper;
> 28468: 
> 28468: 
> 28468:   const char *__names[13];
> 28468: };
> 28468: 
> 28468: typedef struct __locale_struct *__locale_t;
> 28468: # 23 "/usr/include/x86_64-linux-gnu/bits/types/locale_t.h" 2 3 4
> 28468: 
> 28468: typedef __locale_t locale_t;
> 28468: # 50 "/usr/include/wchar.h" 2 3 4
> 28468: # 79 "/usr/include/wchar.h" 3 4
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: struct tm;
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wchar_t *wcscpy (wchar_t *__restrict __dest,
> 28468:    const wchar_t *__restrict __src)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern wchar_t *wcsncpy (wchar_t *__restrict __dest,
> 28468:     const wchar_t *__restrict __src, size_t __n)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern wchar_t *wcscat (wchar_t *__restrict __dest,
> 28468:    const wchar_t *__restrict __src)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: extern wchar_t *wcsncat (wchar_t *__restrict __dest,
> 28468:     const wchar_t *__restrict __src, size_t __n)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2)
> 28468:      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
> 28468:      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) throw ();
> 28468: 
> 28468: 
> 28468: extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2,
> 28468:    size_t __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
> 28468:     locale_t __loc) throw ();
> 28468: 
> 28468: extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2,
> 28468:      size_t __n, locale_t __loc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t wcsxfrm (wchar_t *__restrict __s1,
> 28468:          const wchar_t *__restrict __s2, size_t __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2,
> 28468:         locale_t __loc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2,
> 28468:     size_t __n, locale_t __loc) throw ();
> 28468: 
> 28468: 
> 28468: extern wchar_t *wcsdup (const wchar_t *__s) throw () __attribute__ ((__malloc__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C++" wchar_t *wcschr (wchar_t *__wcs, wchar_t __wc)
> 28468:      throw () __asm ("wcschr") __attribute__ ((__pure__));
> 28468: extern "C++" const wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc)
> 28468:      throw () __asm ("wcschr") __attribute__ ((__pure__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C++" wchar_t *wcsrchr (wchar_t *__wcs, wchar_t __wc)
> 28468:      throw () __asm ("wcsrchr") __attribute__ ((__pure__));
> 28468: extern "C++" const wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc)
> 28468:      throw () __asm ("wcsrchr") __attribute__ ((__pure__));
> 28468: # 181 "/usr/include/wchar.h" 3 4
> 28468: extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc)
> 28468:      throw () __attribute__ ((__pure__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject)
> 28468:      throw () __attribute__ ((__pure__));
> 28468: 
> 28468: 
> 28468: extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept)
> 28468:      throw () __attribute__ ((__pure__));
> 28468: 
> 28468: 
> 28468: extern "C++" wchar_t *wcspbrk (wchar_t *__wcs, const wchar_t *__accept)
> 28468:      throw () __asm ("wcspbrk") __attribute__ ((__pure__));
> 28468: extern "C++" const wchar_t *wcspbrk (const wchar_t *__wcs,
> 28468:          const wchar_t *__accept)
> 28468:      throw () __asm ("wcspbrk") __attribute__ ((__pure__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C++" wchar_t *wcsstr (wchar_t *__haystack, const wchar_t *__needle)
> 28468:      throw () __asm ("wcsstr") __attribute__ ((__pure__));
> 28468: extern "C++" const wchar_t *wcsstr (const wchar_t *__haystack,
> 28468:         const wchar_t *__needle)
> 28468:      throw () __asm ("wcsstr") __attribute__ ((__pure__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wchar_t *wcstok (wchar_t *__restrict __s,
> 28468:    const wchar_t *__restrict __delim,
> 28468:    wchar_t **__restrict __ptr) throw ();
> 28468: 
> 28468: 
> 28468: extern size_t wcslen (const wchar_t *__s) throw () __attribute__ ((__pure__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C++" wchar_t *wcswcs (wchar_t *__haystack, const wchar_t *__needle)
> 28468:      throw () __asm ("wcswcs") __attribute__ ((__pure__));
> 28468: extern "C++" const wchar_t *wcswcs (const wchar_t *__haystack,
> 28468:         const wchar_t *__needle)
> 28468:      throw () __asm ("wcswcs") __attribute__ ((__pure__));
> 28468: # 240 "/usr/include/wchar.h" 3 4
> 28468: extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen)
> 28468:      throw () __attribute__ ((__pure__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C++" wchar_t *wmemchr (wchar_t *__s, wchar_t __c, size_t __n)
> 28468:      throw () __asm ("wmemchr") __attribute__ ((__pure__));
> 28468: extern "C++" const wchar_t *wmemchr (const wchar_t *__s, wchar_t __c,
> 28468:          size_t __n)
> 28468:      throw () __asm ("wmemchr") __attribute__ ((__pure__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n)
> 28468:      throw () __attribute__ ((__pure__));
> 28468: 
> 28468: 
> 28468: extern wchar_t *wmemcpy (wchar_t *__restrict __s1,
> 28468:     const wchar_t *__restrict __s2, size_t __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wchar_t *wmempcpy (wchar_t *__restrict __s1,
> 28468:      const wchar_t *__restrict __s2, size_t __n)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wint_t btowc (int __c) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int wctob (wint_t __c) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int mbsinit (const mbstate_t *__ps) throw () __attribute__ ((__pure__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t mbrtowc (wchar_t *__restrict __pwc,
> 28468:          const char *__restrict __s, size_t __n,
> 28468:          mbstate_t *__restrict __p) throw ();
> 28468: 
> 28468: 
> 28468: extern size_t wcrtomb (char *__restrict __s, wchar_t __wc,
> 28468:          mbstate_t *__restrict __ps) throw ();
> 28468: 
> 28468: 
> 28468: extern size_t __mbrlen (const char *__restrict __s, size_t __n,
> 28468:    mbstate_t *__restrict __ps) throw ();
> 28468: extern size_t mbrlen (const char *__restrict __s, size_t __n,
> 28468:         mbstate_t *__restrict __ps) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wint_t __btowc_alias (int __c) __asm ("btowc");
> 28468: extern __inline __attribute__ ((__gnu_inline__)) wint_t
> 28468: __attribute__ ((__leaf__)) btowc (int __c) throw ()
> 28468: { return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f'
> 28468:    ? (wint_t) __c : __btowc_alias (__c)); }
> 28468: 
> 28468: extern int __wctob_alias (wint_t __c) __asm ("wctob");
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: __attribute__ ((__leaf__)) wctob (wint_t __wc) throw ()
> 28468: { return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f'
> 28468:    ? (int) __wc : __wctob_alias (__wc)); }
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) size_t
> 28468: __attribute__ ((__leaf__)) mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw ()
> 28468: 
> 28468: { return (__ps != __null
> 28468:    ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t mbsrtowcs (wchar_t *__restrict __dst,
> 28468:     const char **__restrict __src, size_t __len,
> 28468:     mbstate_t *__restrict __ps) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t wcsrtombs (char *__restrict __dst,
> 28468:     const wchar_t **__restrict __src, size_t __len,
> 28468:     mbstate_t *__restrict __ps) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t mbsnrtowcs (wchar_t *__restrict __dst,
> 28468:      const char **__restrict __src, size_t __nmc,
> 28468:      size_t __len, mbstate_t *__restrict __ps) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t wcsnrtombs (char *__restrict __dst,
> 28468:      const wchar_t **__restrict __src,
> 28468:      size_t __nwc, size_t __len,
> 28468:      mbstate_t *__restrict __ps) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int wcwidth (wchar_t __c) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int wcswidth (const wchar_t *__s, size_t __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double wcstod (const wchar_t *__restrict __nptr,
> 28468:         wchar_t **__restrict __endptr) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float wcstof (const wchar_t *__restrict __nptr,
> 28468:        wchar_t **__restrict __endptr) throw ();
> 28468: extern long double wcstold (const wchar_t *__restrict __nptr,
> 28468:        wchar_t **__restrict __endptr) throw ();
> 28468: # 396 "/usr/include/wchar.h" 3 4
> 28468: extern _Float32 wcstof32 (const wchar_t *__restrict __nptr,
> 28468:      wchar_t **__restrict __endptr) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 wcstof64 (const wchar_t *__restrict __nptr,
> 28468:      wchar_t **__restrict __endptr) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 wcstof128 (const wchar_t *__restrict __nptr,
> 28468:        wchar_t **__restrict __endptr) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x wcstof32x (const wchar_t *__restrict __nptr,
> 28468:        wchar_t **__restrict __endptr) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x wcstof64x (const wchar_t *__restrict __nptr,
> 28468:        wchar_t **__restrict __endptr) throw ();
> 28468: # 428 "/usr/include/wchar.h" 3 4
> 28468: extern long int wcstol (const wchar_t *__restrict __nptr,
> 28468:    wchar_t **__restrict __endptr, int __base) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern unsigned long int wcstoul (const wchar_t *__restrict __nptr,
> 28468:       wchar_t **__restrict __endptr, int __base)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: __extension__
> 28468: extern long long int wcstoll (const wchar_t *__restrict __nptr,
> 28468:          wchar_t **__restrict __endptr, int __base)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: __extension__
> 28468: extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr,
> 28468:      wchar_t **__restrict __endptr,
> 28468:      int __base) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: __extension__
> 28468: extern long long int wcstoq (const wchar_t *__restrict __nptr,
> 28468:         wchar_t **__restrict __endptr, int __base)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: __extension__
> 28468: extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr,
> 28468:            wchar_t **__restrict __endptr,
> 28468:            int __base) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int wcstol_l (const wchar_t *__restrict __nptr,
> 28468:      wchar_t **__restrict __endptr, int __base,
> 28468:      locale_t __loc) throw ();
> 28468: 
> 28468: extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr,
> 28468:         wchar_t **__restrict __endptr,
> 28468:         int __base, locale_t __loc) throw ();
> 28468: 
> 28468: __extension__
> 28468: extern long long int wcstoll_l (const wchar_t *__restrict __nptr,
> 28468:     wchar_t **__restrict __endptr,
> 28468:     int __base, locale_t __loc) throw ();
> 28468: 
> 28468: __extension__
> 28468: extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr,
> 28468:        wchar_t **__restrict __endptr,
> 28468:        int __base, locale_t __loc)
> 28468:      throw ();
> 28468: 
> 28468: extern double wcstod_l (const wchar_t *__restrict __nptr,
> 28468:    wchar_t **__restrict __endptr, locale_t __loc)
> 28468:      throw ();
> 28468: 
> 28468: extern float wcstof_l (const wchar_t *__restrict __nptr,
> 28468:          wchar_t **__restrict __endptr, locale_t __loc)
> 28468:      throw ();
> 28468: 
> 28468: extern long double wcstold_l (const wchar_t *__restrict __nptr,
> 28468:          wchar_t **__restrict __endptr,
> 28468:          locale_t __loc) throw ();
> 28468: # 511 "/usr/include/wchar.h" 3 4
> 28468: extern _Float32 wcstof32_l (const wchar_t *__restrict __nptr,
> 28468:        wchar_t **__restrict __endptr,
> 28468:        locale_t __loc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 wcstof64_l (const wchar_t *__restrict __nptr,
> 28468:        wchar_t **__restrict __endptr,
> 28468:        locale_t __loc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 wcstof128_l (const wchar_t *__restrict __nptr,
> 28468:          wchar_t **__restrict __endptr,
> 28468:          locale_t __loc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x wcstof32x_l (const wchar_t *__restrict __nptr,
> 28468:          wchar_t **__restrict __endptr,
> 28468:          locale_t __loc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x wcstof64x_l (const wchar_t *__restrict __nptr,
> 28468:          wchar_t **__restrict __endptr,
> 28468:          locale_t __loc) throw ();
> 28468: # 551 "/usr/include/wchar.h" 3 4
> 28468: extern wchar_t *wcpcpy (wchar_t *__restrict __dest,
> 28468:    const wchar_t *__restrict __src) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wchar_t *wcpncpy (wchar_t *__restrict __dest,
> 28468:     const wchar_t *__restrict __src, size_t __n)
> 28468:      throw ();
> 28468: # 567 "/usr/include/wchar.h" 3 4
> 28468: extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fwide (__FILE *__fp, int __mode) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fwprintf (__FILE *__restrict __stream,
> 28468:        const wchar_t *__restrict __format, ...)
> 28468:                                                            ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int wprintf (const wchar_t *__restrict __format, ...)
> 28468:                                                            ;
> 28468: 
> 28468: extern int swprintf (wchar_t *__restrict __s, size_t __n,
> 28468:        const wchar_t *__restrict __format, ...)
> 28468:      throw () ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int vfwprintf (__FILE *__restrict __s,
> 28468:         const wchar_t *__restrict __format,
> 28468:         __gnuc_va_list __arg)
> 28468:                                                            ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int vwprintf (const wchar_t *__restrict __format,
> 28468:        __gnuc_va_list __arg)
> 28468:                                                            ;
> 28468: 
> 28468: 
> 28468: extern int vswprintf (wchar_t *__restrict __s, size_t __n,
> 28468:         const wchar_t *__restrict __format,
> 28468:         __gnuc_va_list __arg)
> 28468:      throw () ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fwscanf (__FILE *__restrict __stream,
> 28468:       const wchar_t *__restrict __format, ...)
> 28468:                                                           ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int wscanf (const wchar_t *__restrict __format, ...)
> 28468:                                                           ;
> 28468: 
> 28468: extern int swscanf (const wchar_t *__restrict __s,
> 28468:       const wchar_t *__restrict __format, ...)
> 28468:      throw () ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fwscanf (__FILE *__restrict __stream, const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_fwscanf")
> 28468: 
> 28468: 
> 28468:                                                           ;
> 28468: extern int wscanf (const wchar_t *__restrict __format, ...) __asm__ ("" "__isoc99_wscanf")
> 28468: 
> 28468:                                                           ;
> 28468: extern int swscanf (const wchar_t *__restrict __s, const wchar_t *__restrict __format, ...) throw () __asm__ ("" "__isoc99_swscanf")
> 28468: 
> 28468: 
> 28468:                                                           ;
> 28468: # 671 "/usr/include/wchar.h" 3 4
> 28468: extern int vfwscanf (__FILE *__restrict __s,
> 28468:        const wchar_t *__restrict __format,
> 28468:        __gnuc_va_list __arg)
> 28468:                                                           ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int vwscanf (const wchar_t *__restrict __format,
> 28468:       __gnuc_va_list __arg)
> 28468:                                                           ;
> 28468: 
> 28468: extern int vswscanf (const wchar_t *__restrict __s,
> 28468:        const wchar_t *__restrict __format,
> 28468:        __gnuc_va_list __arg)
> 28468:      throw () ;
> 28468: # 725 "/usr/include/wchar.h" 3 4
> 28468: extern wint_t fgetwc (__FILE *__stream);
> 28468: extern wint_t getwc (__FILE *__stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wint_t getwchar (void);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wint_t fputwc (wchar_t __wc, __FILE *__stream);
> 28468: extern wint_t putwc (wchar_t __wc, __FILE *__stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wint_t putwchar (wchar_t __wc);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n,
> 28468:    __FILE *__restrict __stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fputws (const wchar_t *__restrict __ws,
> 28468:      __FILE *__restrict __stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wint_t ungetwc (wint_t __wc, __FILE *__stream);
> 28468: # 780 "/usr/include/wchar.h" 3 4
> 28468: extern wint_t getwc_unlocked (__FILE *__stream);
> 28468: extern wint_t getwchar_unlocked (void);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wint_t fgetwc_unlocked (__FILE *__stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream);
> 28468: # 806 "/usr/include/wchar.h" 3 4
> 28468: extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream);
> 28468: extern wint_t putwchar_unlocked (wchar_t __wc);
> 28468: # 816 "/usr/include/wchar.h" 3 4
> 28468: extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n,
> 28468:      __FILE *__restrict __stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fputws_unlocked (const wchar_t *__restrict __ws,
> 28468:        __FILE *__restrict __stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize,
> 28468:    const wchar_t *__restrict __format,
> 28468:    const struct tm *__restrict __tp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize,
> 28468:      const wchar_t *__restrict __format,
> 28468:      const struct tm *__restrict __tp,
> 28468:      locale_t __loc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/wchar2.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/wchar2.h" 3 4
> 28468: extern wchar_t *__wmemcpy_chk (wchar_t *__restrict __s1,
> 28468:           const wchar_t *__restrict __s2, size_t __n,
> 28468:           size_t __ns1) throw ();
> 28468: extern wchar_t *__wmemcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmemcpy")
> 28468: 
> 28468: 
> 28468:             ;
> 28468: extern wchar_t *__wmemcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemcpy_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__((__warning__ ("wmemcpy called with length bigger than size of destination " "buffer")))
> 28468:             ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
> 28468: __attribute__ ((__leaf__)) wmemcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__s1, 0) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__n))
> 28468:  return __wmemcpy_chk (__s1, __s2, __n,
> 28468:          __builtin_object_size (__s1, 0) / sizeof (wchar_t));
> 28468: 
> 28468:       if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t))
> 28468:  return __wmemcpy_chk_warn (__s1, __s2, __n,
> 28468:        __builtin_object_size (__s1, 0) / sizeof (wchar_t));
> 28468:     }
> 28468:   return __wmemcpy_alias (__s1, __s2, __n);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern wchar_t *__wmemmove_chk (wchar_t *__s1, const wchar_t *__s2,
> 28468:     size_t __n, size_t __ns1) throw ();
> 28468: extern wchar_t *__wmemmove_alias (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw () __asm__ ("" "wmemmove")
> 28468: 
> 28468:                                ;
> 28468: extern wchar_t *__wmemmove_chk_warn (wchar_t *__s1, const wchar_t *__s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmemmove_chk")
> 28468: 
> 28468: 
> 28468:      __attribute__((__warning__ ("wmemmove called with length bigger than size of destination " "buffer")))
> 28468:             ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
> 28468: __attribute__ ((__leaf__)) wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) throw ()
> 28468: {
> 28468:   if (__builtin_object_size (__s1, 0) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__n))
> 28468:  return __wmemmove_chk (__s1, __s2, __n,
> 28468:           __builtin_object_size (__s1, 0) / sizeof (wchar_t));
> 28468: 
> 28468:       if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t))
> 28468:  return __wmemmove_chk_warn (__s1, __s2, __n,
> 28468:         __builtin_object_size (__s1, 0) / sizeof (wchar_t));
> 28468:     }
> 28468:   return __wmemmove_alias (__s1, __s2, __n);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wchar_t *__wmempcpy_chk (wchar_t *__restrict __s1,
> 28468:     const wchar_t *__restrict __s2, size_t __n,
> 28468:     size_t __ns1) throw ();
> 28468: extern wchar_t *__wmempcpy_alias (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw () __asm__ ("" "wmempcpy")
> 28468: 
> 28468: 
> 28468:                            ;
> 28468: extern wchar_t *__wmempcpy_chk_warn (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n, size_t __ns1) throw () __asm__ ("" "__wmempcpy_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__((__warning__ ("wmempcpy called with length bigger than size of destination " "buffer")))
> 28468:             ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
> 28468: __attribute__ ((__leaf__)) wmempcpy (wchar_t *__restrict __s1, const wchar_t *__restrict __s2, size_t __n) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__s1, 0) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__n))
> 28468:  return __wmempcpy_chk (__s1, __s2, __n,
> 28468:           __builtin_object_size (__s1, 0) / sizeof (wchar_t));
> 28468: 
> 28468:       if (__n > __builtin_object_size (__s1, 0) / sizeof (wchar_t))
> 28468:  return __wmempcpy_chk_warn (__s1, __s2, __n,
> 28468:         __builtin_object_size (__s1, 0) / sizeof (wchar_t));
> 28468:     }
> 28468:   return __wmempcpy_alias (__s1, __s2, __n);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wchar_t *__wmemset_chk (wchar_t *__s, wchar_t __c, size_t __n,
> 28468:           size_t __ns) throw ();
> 28468: extern wchar_t *__wmemset_alias (wchar_t *__s, wchar_t __c, size_t __n) throw () __asm__ ("" "wmemset")
> 28468:                              ;
> 28468: extern wchar_t *__wmemset_chk_warn (wchar_t *__s, wchar_t __c, size_t __n, size_t __ns) throw () __asm__ ("" "__wmemset_chk")
> 28468: 
> 28468: 
> 28468:      __attribute__((__warning__ ("wmemset called with length bigger than size of destination " "buffer")))
> 28468:             ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
> 28468: __attribute__ ((__leaf__)) wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw ()
> 28468: {
> 28468:   if (__builtin_object_size (__s, 0) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__n))
> 28468:  return __wmemset_chk (__s, __c, __n, __builtin_object_size (__s, 0) / sizeof (wchar_t));
> 28468: 
> 28468:       if (__n > __builtin_object_size (__s, 0) / sizeof (wchar_t))
> 28468:  return __wmemset_chk_warn (__s, __c, __n,
> 28468:        __builtin_object_size (__s, 0) / sizeof (wchar_t));
> 28468:     }
> 28468:   return __wmemset_alias (__s, __c, __n);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern wchar_t *__wcscpy_chk (wchar_t *__restrict __dest,
> 28468:          const wchar_t *__restrict __src,
> 28468:          size_t __n) throw ();
> 28468: extern wchar_t *__wcscpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscpy")
> 28468: 
> 28468:                                               ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
> 28468: __attribute__ ((__leaf__)) wcscpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw ()
> 28468: {
> 28468:   if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1)
> 28468:     return __wcscpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t));
> 28468:   return __wcscpy_alias (__dest, __src);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern wchar_t *__wcpcpy_chk (wchar_t *__restrict __dest,
> 28468:          const wchar_t *__restrict __src,
> 28468:          size_t __destlen) throw ();
> 28468: extern wchar_t *__wcpcpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcpcpy")
> 28468: 
> 28468:                                               ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
> 28468: __attribute__ ((__leaf__)) wcpcpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw ()
> 28468: {
> 28468:   if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1)
> 28468:     return __wcpcpy_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t));
> 28468:   return __wcpcpy_alias (__dest, __src);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern wchar_t *__wcsncpy_chk (wchar_t *__restrict __dest,
> 28468:           const wchar_t *__restrict __src, size_t __n,
> 28468:           size_t __destlen) throw ();
> 28468: extern wchar_t *__wcsncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncpy")
> 28468: 
> 28468: 
> 28468:                           ;
> 28468: extern wchar_t *__wcsncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw () __asm__ ("" "__wcsncpy_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__((__warning__ ("wcsncpy called with length bigger than size of destination " "buffer")))
> 28468:             ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
> 28468: __attribute__ ((__leaf__)) wcsncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__n))
> 28468:  return __wcsncpy_chk (__dest, __src, __n,
> 28468:          __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t));
> 28468:       if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t))
> 28468:  return __wcsncpy_chk_warn (__dest, __src, __n,
> 28468:        __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t));
> 28468:     }
> 28468:   return __wcsncpy_alias (__dest, __src, __n);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern wchar_t *__wcpncpy_chk (wchar_t *__restrict __dest,
> 28468:           const wchar_t *__restrict __src, size_t __n,
> 28468:           size_t __destlen) throw ();
> 28468: extern wchar_t *__wcpncpy_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcpncpy")
> 28468: 
> 28468: 
> 28468:                           ;
> 28468: extern wchar_t *__wcpncpy_chk_warn (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n, size_t __destlen) throw () __asm__ ("" "__wcpncpy_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__((__warning__ ("wcpncpy called with length bigger than size of destination " "buffer")))
> 28468:             ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
> 28468: __attribute__ ((__leaf__)) wcpncpy (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__n))
> 28468:  return __wcpncpy_chk (__dest, __src, __n,
> 28468:          __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t));
> 28468:       if (__n > __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t))
> 28468:  return __wcpncpy_chk_warn (__dest, __src, __n,
> 28468:        __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t));
> 28468:     }
> 28468:   return __wcpncpy_alias (__dest, __src, __n);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern wchar_t *__wcscat_chk (wchar_t *__restrict __dest,
> 28468:          const wchar_t *__restrict __src,
> 28468:          size_t __destlen) throw ();
> 28468: extern wchar_t *__wcscat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw () __asm__ ("" "wcscat")
> 28468: 
> 28468:                                               ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
> 28468: __attribute__ ((__leaf__)) wcscat (wchar_t *__restrict __dest, const wchar_t *__restrict __src) throw ()
> 28468: {
> 28468:   if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1)
> 28468:     return __wcscat_chk (__dest, __src, __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t));
> 28468:   return __wcscat_alias (__dest, __src);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern wchar_t *__wcsncat_chk (wchar_t *__restrict __dest,
> 28468:           const wchar_t *__restrict __src,
> 28468:           size_t __n, size_t __destlen) throw ();
> 28468: extern wchar_t *__wcsncat_alias (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw () __asm__ ("" "wcsncat")
> 28468: 
> 28468: 
> 28468:                           ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) wchar_t *
> 28468: __attribute__ ((__leaf__)) wcsncat (wchar_t *__restrict __dest, const wchar_t *__restrict __src, size_t __n) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__dest, 2 > 1) != (size_t) -1)
> 28468:     return __wcsncat_chk (__dest, __src, __n,
> 28468:      __builtin_object_size (__dest, 2 > 1) / sizeof (wchar_t));
> 28468:   return __wcsncat_alias (__dest, __src, __n);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern int __swprintf_chk (wchar_t *__restrict __s, size_t __n,
> 28468:       int __flag, size_t __s_len,
> 28468:       const wchar_t *__restrict __format, ...)
> 28468:      throw () ;
> 28468: 
> 28468: extern int __swprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw () __asm__ ("" "swprintf")
> 28468: 
> 28468: 
> 28468:              ;
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) swprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, ...) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1)
> 28468:     return __swprintf_chk (__s, __n, 2 - 1,
> 28468:       __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t),
> 28468:       __fmt, __builtin_va_arg_pack ());
> 28468:   return __swprintf_alias (__s, __n, __fmt, __builtin_va_arg_pack ());
> 28468: }
> 28468: # 303 "/usr/include/x86_64-linux-gnu/bits/wchar2.h" 3 4
> 28468: extern int __vswprintf_chk (wchar_t *__restrict __s, size_t __n,
> 28468:        int __flag, size_t __s_len,
> 28468:        const wchar_t *__restrict __format,
> 28468:        __gnuc_va_list __arg)
> 28468:      throw () ;
> 28468: 
> 28468: extern int __vswprintf_alias (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw () __asm__ ("" "vswprintf")
> 28468: 
> 28468: 
> 28468:                                      ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) vswprintf (wchar_t *__restrict __s, size_t __n, const wchar_t *__restrict __fmt, __gnuc_va_list __ap) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 || 2 > 1)
> 28468:     return __vswprintf_chk (__s, __n, 2 - 1,
> 28468:        __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t), __fmt, __ap);
> 28468:   return __vswprintf_alias (__s, __n, __fmt, __ap);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int __fwprintf_chk (__FILE *__restrict __stream, int __flag,
> 28468:       const wchar_t *__restrict __format, ...);
> 28468: extern int __wprintf_chk (int __flag, const wchar_t *__restrict __format,
> 28468:      ...);
> 28468: extern int __vfwprintf_chk (__FILE *__restrict __stream, int __flag,
> 28468:        const wchar_t *__restrict __format,
> 28468:        __gnuc_va_list __ap);
> 28468: extern int __vwprintf_chk (int __flag, const wchar_t *__restrict __format,
> 28468:       __gnuc_va_list __ap);
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: wprintf (const wchar_t *__restrict __fmt, ...)
> 28468: {
> 28468:   return __wprintf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
> 28468: }
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: fwprintf (__FILE *__restrict __stream, const wchar_t *__restrict __fmt, ...)
> 28468: {
> 28468:   return __fwprintf_chk (__stream, 2 - 1, __fmt,
> 28468:     __builtin_va_arg_pack ());
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: vwprintf (const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
> 28468: {
> 28468:   return __vwprintf_chk (2 - 1, __fmt, __ap);
> 28468: }
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: vfwprintf (__FILE *__restrict __stream,
> 28468:     const wchar_t *__restrict __fmt, __gnuc_va_list __ap)
> 28468: {
> 28468:   return __vfwprintf_chk (__stream, 2 - 1, __fmt, __ap);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wchar_t *__fgetws_chk (wchar_t *__restrict __s, size_t __size, int __n,
> 28468:          __FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: extern wchar_t *__fgetws_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws")
> 28468: 
> 28468:                                               __attribute__ ((__warn_unused_result__));
> 28468: extern wchar_t *__fgetws_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_chk")
> 28468: 
> 28468: 
> 28468:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws called with bigger size than length " "of destination buffer")))
> 28468:                                  ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
> 28468: fgetws (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
> 28468: {
> 28468:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__n) || __n <= 0)
> 28468:  return __fgetws_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t),
> 28468:         __n, __stream);
> 28468: 
> 28468:       if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t))
> 28468:  return __fgetws_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t),
> 28468:       __n, __stream);
> 28468:     }
> 28468:   return __fgetws_alias (__s, __n, __stream);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern wchar_t *__fgetws_unlocked_chk (wchar_t *__restrict __s, size_t __size,
> 28468:            int __n, __FILE *__restrict __stream)
> 28468:   __attribute__ ((__warn_unused_result__));
> 28468: extern wchar_t *__fgetws_unlocked_alias (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream) __asm__ ("" "fgetws_unlocked")
> 28468: 
> 28468: 
> 28468:   __attribute__ ((__warn_unused_result__));
> 28468: extern wchar_t *__fgetws_unlocked_chk_warn (wchar_t *__restrict __s, size_t __size, int __n, __FILE *__restrict __stream) __asm__ ("" "__fgetws_unlocked_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgetws_unlocked called with bigger size than length " "of destination buffer")))
> 28468:                                  ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) wchar_t *
> 28468: fgetws_unlocked (wchar_t *__restrict __s, int __n, __FILE *__restrict __stream)
> 28468: {
> 28468:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__n) || __n <= 0)
> 28468:  return __fgetws_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t),
> 28468:           __n, __stream);
> 28468: 
> 28468:       if ((size_t) __n > __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t))
> 28468:  return __fgetws_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1) / sizeof (wchar_t),
> 28468:         __n, __stream);
> 28468:     }
> 28468:   return __fgetws_unlocked_alias (__s, __n, __stream);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t __wcrtomb_chk (char *__restrict __s, wchar_t __wchar,
> 28468:         mbstate_t *__restrict __p,
> 28468:         size_t __buflen) throw () __attribute__ ((__warn_unused_result__));
> 28468: extern size_t __wcrtomb_alias (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcrtomb")
> 28468: 
> 28468:                                                 __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
> 28468: __attribute__ ((__leaf__)) wcrtomb (char *__restrict __s, wchar_t __wchar, mbstate_t *__restrict __ps) throw ()
> 28468: 
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1))
> 28468:     return __wcrtomb_chk (__s, __wchar, __ps, __builtin_object_size (__s, 2 > 1));
> 28468:   return __wcrtomb_alias (__s, __wchar, __ps);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern size_t __mbsrtowcs_chk (wchar_t *__restrict __dst,
> 28468:           const char **__restrict __src,
> 28468:           size_t __len, mbstate_t *__restrict __ps,
> 28468:           size_t __dstlen) throw ();
> 28468: extern size_t __mbsrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsrtowcs")
> 28468: 
> 28468: 
> 28468: 
> 28468:                    ;
> 28468: extern size_t __mbsrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__mbsrtowcs_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__((__warning__ ("mbsrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
> 28468:                         ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
> 28468: __attribute__ ((__leaf__)) mbsrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__len))
> 28468:  return __mbsrtowcs_chk (__dst, __src, __len, __ps,
> 28468:     __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t));
> 28468: 
> 28468:       if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t))
> 28468:  return __mbsrtowcs_chk_warn (__dst, __src, __len, __ps,
> 28468:          __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t));
> 28468:     }
> 28468:   return __mbsrtowcs_alias (__dst, __src, __len, __ps);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern size_t __wcsrtombs_chk (char *__restrict __dst,
> 28468:           const wchar_t **__restrict __src,
> 28468:           size_t __len, mbstate_t *__restrict __ps,
> 28468:           size_t __dstlen) throw ();
> 28468: extern size_t __wcsrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsrtombs")
> 28468: 
> 28468: 
> 28468: 
> 28468:                    ;
> 28468: extern size_t __wcsrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__wcsrtombs_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     __attribute__((__warning__ ("wcsrtombs called with dst buffer smaller than len")));
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
> 28468: __attribute__ ((__leaf__)) wcsrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __len, mbstate_t *__restrict __ps) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__len))
> 28468:  return __wcsrtombs_chk (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1));
> 28468: 
> 28468:       if (__len > __builtin_object_size (__dst, 2 > 1))
> 28468:  return __wcsrtombs_chk_warn (__dst, __src, __len, __ps, __builtin_object_size (__dst, 2 > 1));
> 28468:     }
> 28468:   return __wcsrtombs_alias (__dst, __src, __len, __ps);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t __mbsnrtowcs_chk (wchar_t *__restrict __dst,
> 28468:     const char **__restrict __src, size_t __nmc,
> 28468:     size_t __len, mbstate_t *__restrict __ps,
> 28468:     size_t __dstlen) throw ();
> 28468: extern size_t __mbsnrtowcs_alias (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "mbsnrtowcs")
> 28468: 
> 28468: 
> 28468: 
> 28468:                     ;
> 28468: extern size_t __mbsnrtowcs_chk_warn (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__mbsnrtowcs_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__((__warning__ ("mbsnrtowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
> 28468:                         ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
> 28468: __attribute__ ((__leaf__)) mbsnrtowcs (wchar_t *__restrict __dst, const char **__restrict __src, size_t __nmc, size_t __len, mbstate_t *__restrict __ps) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__len))
> 28468:  return __mbsnrtowcs_chk (__dst, __src, __nmc, __len, __ps,
> 28468:      __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t));
> 28468: 
> 28468:       if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t))
> 28468:  return __mbsnrtowcs_chk_warn (__dst, __src, __nmc, __len, __ps,
> 28468:           __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t));
> 28468:     }
> 28468:   return __mbsnrtowcs_alias (__dst, __src, __nmc, __len, __ps);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern size_t __wcsnrtombs_chk (char *__restrict __dst,
> 28468:     const wchar_t **__restrict __src,
> 28468:     size_t __nwc, size_t __len,
> 28468:     mbstate_t *__restrict __ps, size_t __dstlen)
> 28468:      throw ();
> 28468: extern size_t __wcsnrtombs_alias (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw () __asm__ ("" "wcsnrtombs")
> 28468: 
> 28468: 
> 28468: 
> 28468:                                                   ;
> 28468: extern size_t __wcsnrtombs_chk_warn (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps, size_t __dstlen) throw () __asm__ ("" "__wcsnrtombs_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__((__warning__ ("wcsnrtombs called with dst buffer smaller than len")));
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
> 28468: __attribute__ ((__leaf__)) wcsnrtombs (char *__restrict __dst, const wchar_t **__restrict __src, size_t __nwc, size_t __len, mbstate_t *__restrict __ps) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__len))
> 28468:  return __wcsnrtombs_chk (__dst, __src, __nwc, __len, __ps,
> 28468:      __builtin_object_size (__dst, 2 > 1));
> 28468: 
> 28468:       if (__len > __builtin_object_size (__dst, 2 > 1))
> 28468:  return __wcsnrtombs_chk_warn (__dst, __src, __nwc, __len, __ps,
> 28468:           __builtin_object_size (__dst, 2 > 1));
> 28468:     }
> 28468:   return __wcsnrtombs_alias (__dst, __src, __nwc, __len, __ps);
> 28468: }
> 28468: # 849 "/usr/include/wchar.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 45 "/usr/include/c++/9/cwchar" 2 3
> 28468: # 62 "/usr/include/c++/9/cwchar" 3
> 28468: namespace std
> 28468: {
> 28468:   using ::mbstate_t;
> 28468: }
> 28468: # 135 "/usr/include/c++/9/cwchar" 3
> 28468: extern "C++"
> 28468: {
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   using ::wint_t;
> 28468: 
> 28468:   using ::btowc;
> 28468:   using ::fgetwc;
> 28468:   using ::fgetws;
> 28468:   using ::fputwc;
> 28468:   using ::fputws;
> 28468:   using ::fwide;
> 28468:   using ::fwprintf;
> 28468:   using ::fwscanf;
> 28468:   using ::getwc;
> 28468:   using ::getwchar;
> 28468:   using ::mbrlen;
> 28468:   using ::mbrtowc;
> 28468:   using ::mbsinit;
> 28468:   using ::mbsrtowcs;
> 28468:   using ::putwc;
> 28468:   using ::putwchar;
> 28468: 
> 28468:   using ::swprintf;
> 28468: 
> 28468:   using ::swscanf;
> 28468:   using ::ungetwc;
> 28468:   using ::vfwprintf;
> 28468: 
> 28468:   using ::vfwscanf;
> 28468: 
> 28468: 
> 28468:   using ::vswprintf;
> 28468: 
> 28468: 
> 28468:   using ::vswscanf;
> 28468: 
> 28468:   using ::vwprintf;
> 28468: 
> 28468:   using ::vwscanf;
> 28468: 
> 28468:   using ::wcrtomb;
> 28468:   using ::wcscat;
> 28468:   using ::wcscmp;
> 28468:   using ::wcscoll;
> 28468:   using ::wcscpy;
> 28468:   using ::wcscspn;
> 28468:   using ::wcsftime;
> 28468:   using ::wcslen;
> 28468:   using ::wcsncat;
> 28468:   using ::wcsncmp;
> 28468:   using ::wcsncpy;
> 28468:   using ::wcsrtombs;
> 28468:   using ::wcsspn;
> 28468:   using ::wcstod;
> 28468: 
> 28468:   using ::wcstof;
> 28468: 
> 28468:   using ::wcstok;
> 28468:   using ::wcstol;
> 28468:   using ::wcstoul;
> 28468:   using ::wcsxfrm;
> 28468:   using ::wctob;
> 28468:   using ::wmemcmp;
> 28468:   using ::wmemcpy;
> 28468:   using ::wmemmove;
> 28468:   using ::wmemset;
> 28468:   using ::wprintf;
> 28468:   using ::wscanf;
> 28468:   using ::wcschr;
> 28468:   using ::wcspbrk;
> 28468:   using ::wcsrchr;
> 28468:   using ::wcsstr;
> 28468:   using ::wmemchr;
> 28468: # 234 "/usr/include/c++/9/cwchar" 3
> 28468: 
> 28468: }
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace __gnu_cxx
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   using ::wcstold;
> 28468: # 260 "/usr/include/c++/9/cwchar" 3
> 28468:   using ::wcstoll;
> 28468:   using ::wcstoull;
> 28468: 
> 28468: }
> 28468: 
> 28468: namespace std
> 28468: {
> 28468:   using ::__gnu_cxx::wcstold;
> 28468:   using ::__gnu_cxx::wcstoll;
> 28468:   using ::__gnu_cxx::wcstoull;
> 28468: }
> 28468: # 280 "/usr/include/c++/9/cwchar" 3
> 28468: namespace std
> 28468: {
> 28468: 
> 28468:   using std::wcstof;
> 28468: 
> 28468: 
> 28468:   using std::vfwscanf;
> 28468: 
> 28468: 
> 28468:   using std::vswscanf;
> 28468: 
> 28468: 
> 28468:   using std::vwscanf;
> 28468: 
> 28468: 
> 28468: 
> 28468:   using std::wcstold;
> 28468:   using std::wcstoll;
> 28468:   using std::wcstoull;
> 28468: 
> 28468: }
> 28468: # 41 "/usr/include/c++/9/bits/postypes.h" 2 3
> 28468: # 68 "/usr/include/c++/9/bits/postypes.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 88 "/usr/include/c++/9/bits/postypes.h" 3
> 28468:   typedef long streamoff;
> 28468: # 98 "/usr/include/c++/9/bits/postypes.h" 3
> 28468:   typedef ptrdiff_t streamsize;
> 28468: # 111 "/usr/include/c++/9/bits/postypes.h" 3
> 28468:   template<typename _StateT>
> 28468:     class fpos
> 28468:     {
> 28468:     private:
> 28468:       streamoff _M_off;
> 28468:       _StateT _M_state;
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       fpos()
> 28468:       : _M_off(0), _M_state() { }
> 28468: # 133 "/usr/include/c++/9/bits/postypes.h" 3
> 28468:       fpos(streamoff __off)
> 28468:       : _M_off(__off), _M_state() { }
> 28468: 
> 28468: 
> 28468:       fpos(const fpos&) = default;
> 28468:       fpos& operator=(const fpos&) = default;
> 28468:       ~fpos() = default;
> 28468: 
> 28468: 
> 28468: 
> 28468:       operator streamoff() const { return _M_off; }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       state(_StateT __st)
> 28468:       { _M_state = __st; }
> 28468: 
> 28468: 
> 28468:       _StateT
> 28468:       state() const
> 28468:       { return _M_state; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       fpos&
> 28468:       operator+=(streamoff __off)
> 28468:       {
> 28468:  _M_off += __off;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       fpos&
> 28468:       operator-=(streamoff __off)
> 28468:       {
> 28468:  _M_off -= __off;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       fpos
> 28468:       operator+(streamoff __off) const
> 28468:       {
> 28468:  fpos __pos(*this);
> 28468:  __pos += __off;
> 28468:  return __pos;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       fpos
> 28468:       operator-(streamoff __off) const
> 28468:       {
> 28468:  fpos __pos(*this);
> 28468:  __pos -= __off;
> 28468:  return __pos;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       streamoff
> 28468:       operator-(const fpos& __other) const
> 28468:       { return _M_off - __other._M_off; }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _StateT>
> 28468:     inline bool
> 28468:     operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
> 28468:     { return streamoff(__lhs) == streamoff(__rhs); }
> 28468: 
> 28468:   template<typename _StateT>
> 28468:     inline bool
> 28468:     operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs)
> 28468:     { return streamoff(__lhs) != streamoff(__rhs); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   typedef fpos<mbstate_t> streampos;
> 28468: 
> 28468:   typedef fpos<mbstate_t> wstreampos;
> 28468: # 245 "/usr/include/c++/9/bits/postypes.h" 3
> 28468:   typedef fpos<mbstate_t> u16streampos;
> 28468: 
> 28468:   typedef fpos<mbstate_t> u32streampos;
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 41 "/usr/include/c++/9/bits/char_traits.h" 2 3
> 28468: # 1 "/usr/include/c++/9/cwchar" 1 3
> 28468: # 39 "/usr/include/c++/9/cwchar" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cwchar" 3
> 28468: # 42 "/usr/include/c++/9/bits/char_traits.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 61 "/usr/include/c++/9/bits/char_traits.h" 3
> 28468:   template<typename _CharT>
> 28468:     struct _Char_types
> 28468:     {
> 28468:       typedef unsigned long int_type;
> 28468:       typedef std::streampos pos_type;
> 28468:       typedef std::streamoff off_type;
> 28468:       typedef std::mbstate_t state_type;
> 28468:     };
> 28468: # 86 "/usr/include/c++/9/bits/char_traits.h" 3
> 28468:   template<typename _CharT>
> 28468:     struct char_traits
> 28468:     {
> 28468:       typedef _CharT char_type;
> 28468:       typedef typename _Char_types<_CharT>::int_type int_type;
> 28468:       typedef typename _Char_types<_CharT>::pos_type pos_type;
> 28468:       typedef typename _Char_types<_CharT>::off_type off_type;
> 28468:       typedef typename _Char_types<_CharT>::state_type state_type;
> 28468: 
> 28468:       static void
> 28468:       assign(char_type& __c1, const char_type& __c2)
> 28468:       { __c1 = __c2; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       eq(const char_type& __c1, const char_type& __c2)
> 28468:       { return __c1 == __c2; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       lt(const char_type& __c1, const char_type& __c2)
> 28468:       { return __c1 < __c2; }
> 28468: 
> 28468:       static int
> 28468:       compare(const char_type* __s1, const char_type* __s2, std::size_t __n);
> 28468: 
> 28468:       static std::size_t
> 28468:       length(const char_type* __s);
> 28468: 
> 28468:       static const char_type*
> 28468:       find(const char_type* __s, std::size_t __n, const char_type& __a);
> 28468: 
> 28468:       static char_type*
> 28468:       move(char_type* __s1, const char_type* __s2, std::size_t __n);
> 28468: 
> 28468:       static char_type*
> 28468:       copy(char_type* __s1, const char_type* __s2, std::size_t __n);
> 28468: 
> 28468:       static char_type*
> 28468:       assign(char_type* __s, std::size_t __n, char_type __a);
> 28468: 
> 28468:       static constexpr char_type
> 28468:       to_char_type(const int_type& __c)
> 28468:       { return static_cast<char_type>(__c); }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       to_int_type(const char_type& __c)
> 28468:       { return static_cast<int_type>(__c); }
> 28468: 
> 28468:       static constexpr bool
> 28468:       eq_int_type(const int_type& __c1, const int_type& __c2)
> 28468:       { return __c1 == __c2; }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       eof()
> 28468:       { return static_cast<int_type>(-1); }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       not_eof(const int_type& __c)
> 28468:       { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); }
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     int
> 28468:     char_traits<_CharT>::
> 28468:     compare(const char_type* __s1, const char_type* __s2, std::size_t __n)
> 28468:     {
> 28468:       for (std::size_t __i = 0; __i < __n; ++__i)
> 28468:  if (lt(__s1[__i], __s2[__i]))
> 28468:    return -1;
> 28468:  else if (lt(__s2[__i], __s1[__i]))
> 28468:    return 1;
> 28468:       return 0;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     std::size_t
> 28468:     char_traits<_CharT>::
> 28468:     length(const char_type* __p)
> 28468:     {
> 28468:       std::size_t __i = 0;
> 28468:       while (!eq(__p[__i], char_type()))
> 28468:         ++__i;
> 28468:       return __i;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     const typename char_traits<_CharT>::char_type*
> 28468:     char_traits<_CharT>::
> 28468:     find(const char_type* __s, std::size_t __n, const char_type& __a)
> 28468:     {
> 28468:       for (std::size_t __i = 0; __i < __n; ++__i)
> 28468:         if (eq(__s[__i], __a))
> 28468:           return __s + __i;
> 28468:       return 0;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     typename char_traits<_CharT>::char_type*
> 28468:     char_traits<_CharT>::
> 28468:     move(char_type* __s1, const char_type* __s2, std::size_t __n)
> 28468:     {
> 28468:       if (__n == 0)
> 28468:  return __s1;
> 28468:       return static_cast<_CharT*>(__builtin_memmove(__s1, __s2,
> 28468:           __n * sizeof(char_type)));
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     typename char_traits<_CharT>::char_type*
> 28468:     char_traits<_CharT>::
> 28468:     copy(char_type* __s1, const char_type* __s2, std::size_t __n)
> 28468:     {
> 28468: 
> 28468:       std::copy(__s2, __s2 + __n, __s1);
> 28468:       return __s1;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     typename char_traits<_CharT>::char_type*
> 28468:     char_traits<_CharT>::
> 28468:     assign(char_type* __s, std::size_t __n, char_type __a)
> 28468:     {
> 28468: 
> 28468:       std::fill_n(__s, __n, __a);
> 28468:       return __s;
> 28468:     }
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 283 "/usr/include/c++/9/bits/char_traits.h" 3
> 28468:   template<class _CharT>
> 28468:     struct char_traits : public __gnu_cxx::char_traits<_CharT>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct char_traits<char>
> 28468:     {
> 28468:       typedef char char_type;
> 28468:       typedef int int_type;
> 28468:       typedef streampos pos_type;
> 28468:       typedef streamoff off_type;
> 28468:       typedef mbstate_t state_type;
> 28468: 
> 28468:       static void
> 28468:       assign(char_type& __c1, const char_type& __c2) noexcept
> 28468:       { __c1 = __c2; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       eq(const char_type& __c1, const char_type& __c2) noexcept
> 28468:       { return __c1 == __c2; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       lt(const char_type& __c1, const char_type& __c2) noexcept
> 28468:       {
> 28468: 
> 28468:  return (static_cast<unsigned char>(__c1)
> 28468:   < static_cast<unsigned char>(__c2));
> 28468:       }
> 28468: 
> 28468:       static int
> 28468:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return 0;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  return __builtin_memcmp(__s1, __s2, __n);
> 28468:       }
> 28468: 
> 28468:       static size_t
> 28468:       length(const char_type* __s)
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  return __builtin_strlen(__s);
> 28468:       }
> 28468: 
> 28468:       static const char_type*
> 28468:       find(const char_type* __s, size_t __n, const char_type& __a)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return 0;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n));
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       move(char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return __s1;
> 28468:  return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n));
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       copy(char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return __s1;
> 28468:  return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n));
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       assign(char_type* __s, size_t __n, char_type __a)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return __s;
> 28468:  return static_cast<char_type*>(__builtin_memset(__s, __a, __n));
> 28468:       }
> 28468: 
> 28468:       static constexpr char_type
> 28468:       to_char_type(const int_type& __c) noexcept
> 28468:       { return static_cast<char_type>(__c); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       static constexpr int_type
> 28468:       to_int_type(const char_type& __c) noexcept
> 28468:       { return static_cast<int_type>(static_cast<unsigned char>(__c)); }
> 28468: 
> 28468:       static constexpr bool
> 28468:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
> 28468:       { return __c1 == __c2; }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       eof() noexcept
> 28468:       { return static_cast<int_type>(-1); }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       not_eof(const int_type& __c) noexcept
> 28468:       { return (__c == eof()) ? 0 : __c; }
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct char_traits<wchar_t>
> 28468:     {
> 28468:       typedef wchar_t char_type;
> 28468:       typedef wint_t int_type;
> 28468:       typedef streamoff off_type;
> 28468:       typedef wstreampos pos_type;
> 28468:       typedef mbstate_t state_type;
> 28468: 
> 28468:       static void
> 28468:       assign(char_type& __c1, const char_type& __c2) noexcept
> 28468:       { __c1 = __c2; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       eq(const char_type& __c1, const char_type& __c2) noexcept
> 28468:       { return __c1 == __c2; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       lt(const char_type& __c1, const char_type& __c2) noexcept
> 28468:       { return __c1 < __c2; }
> 28468: 
> 28468:       static int
> 28468:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return 0;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  return wmemcmp(__s1, __s2, __n);
> 28468:       }
> 28468: 
> 28468:       static size_t
> 28468:       length(const char_type* __s)
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  return wcslen(__s);
> 28468:       }
> 28468: 
> 28468:       static const char_type*
> 28468:       find(const char_type* __s, size_t __n, const char_type& __a)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return 0;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  return wmemchr(__s, __a, __n);
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       move(char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return __s1;
> 28468:  return wmemmove(__s1, __s2, __n);
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       copy(char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return __s1;
> 28468:  return wmemcpy(__s1, __s2, __n);
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       assign(char_type* __s, size_t __n, char_type __a)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return __s;
> 28468:  return wmemset(__s, __a, __n);
> 28468:       }
> 28468: 
> 28468:       static constexpr char_type
> 28468:       to_char_type(const int_type& __c) noexcept
> 28468:       { return char_type(__c); }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       to_int_type(const char_type& __c) noexcept
> 28468:       { return int_type(__c); }
> 28468: 
> 28468:       static constexpr bool
> 28468:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
> 28468:       { return __c1 == __c2; }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       eof() noexcept
> 28468:       { return static_cast<int_type>((0xffffffffu)); }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       not_eof(const int_type& __c) noexcept
> 28468:       { return eq_int_type(__c, eof()) ? 0 : __c; }
> 28468:   };
> 28468: # 616 "/usr/include/c++/9/bits/char_traits.h" 3
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/cstdint" 1 3
> 28468: # 32 "/usr/include/c++/9/cstdint" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/cstdint" 3
> 28468: # 41 "/usr/include/c++/9/cstdint" 3
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h" 1 3 4
> 28468: # 9 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h" 3 4
> 28468: # 1 "/usr/include/stdint.h" 1 3 4
> 28468: # 26 "/usr/include/stdint.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4
> 28468: # 27 "/usr/include/stdint.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types.h" 1 3 4
> 28468: # 27 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
> 28468: # 28 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/timesize.h" 1 3 4
> 28468: # 29 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4
> 28468: 
> 28468: 
> 28468: typedef unsigned char __u_char;
> 28468: typedef unsigned short int __u_short;
> 28468: typedef unsigned int __u_int;
> 28468: typedef unsigned long int __u_long;
> 28468: 
> 28468: 
> 28468: typedef signed char __int8_t;
> 28468: typedef unsigned char __uint8_t;
> 28468: typedef signed short int __int16_t;
> 28468: typedef unsigned short int __uint16_t;
> 28468: typedef signed int __int32_t;
> 28468: typedef unsigned int __uint32_t;
> 28468: 
> 28468: typedef signed long int __int64_t;
> 28468: typedef unsigned long int __uint64_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __int8_t __int_least8_t;
> 28468: typedef __uint8_t __uint_least8_t;
> 28468: typedef __int16_t __int_least16_t;
> 28468: typedef __uint16_t __uint_least16_t;
> 28468: typedef __int32_t __int_least32_t;
> 28468: typedef __uint32_t __uint_least32_t;
> 28468: typedef __int64_t __int_least64_t;
> 28468: typedef __uint64_t __uint_least64_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef long int __quad_t;
> 28468: typedef unsigned long int __u_quad_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef long int __intmax_t;
> 28468: typedef unsigned long int __uintmax_t;
> 28468: # 141 "/usr/include/x86_64-linux-gnu/bits/types.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/typesizes.h" 1 3 4
> 28468: # 142 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/time64.h" 1 3 4
> 28468: # 143 "/usr/include/x86_64-linux-gnu/bits/types.h" 2 3 4
> 28468: 
> 28468: 
> 28468: typedef unsigned long int __dev_t;
> 28468: typedef unsigned int __uid_t;
> 28468: typedef unsigned int __gid_t;
> 28468: typedef unsigned long int __ino_t;
> 28468: typedef unsigned long int __ino64_t;
> 28468: typedef unsigned int __mode_t;
> 28468: typedef unsigned long int __nlink_t;
> 28468: typedef long int __off_t;
> 28468: typedef long int __off64_t;
> 28468: typedef int __pid_t;
> 28468: typedef struct { int __val[2]; } __fsid_t;
> 28468: typedef long int __clock_t;
> 28468: typedef unsigned long int __rlim_t;
> 28468: typedef unsigned long int __rlim64_t;
> 28468: typedef unsigned int __id_t;
> 28468: typedef long int __time_t;
> 28468: typedef unsigned int __useconds_t;
> 28468: typedef long int __suseconds_t;
> 28468: 
> 28468: typedef int __daddr_t;
> 28468: typedef int __key_t;
> 28468: 
> 28468: 
> 28468: typedef int __clockid_t;
> 28468: 
> 28468: 
> 28468: typedef void * __timer_t;
> 28468: 
> 28468: 
> 28468: typedef long int __blksize_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef long int __blkcnt_t;
> 28468: typedef long int __blkcnt64_t;
> 28468: 
> 28468: 
> 28468: typedef unsigned long int __fsblkcnt_t;
> 28468: typedef unsigned long int __fsblkcnt64_t;
> 28468: 
> 28468: 
> 28468: typedef unsigned long int __fsfilcnt_t;
> 28468: typedef unsigned long int __fsfilcnt64_t;
> 28468: 
> 28468: 
> 28468: typedef long int __fsword_t;
> 28468: 
> 28468: typedef long int __ssize_t;
> 28468: 
> 28468: 
> 28468: typedef long int __syscall_slong_t;
> 28468: 
> 28468: typedef unsigned long int __syscall_ulong_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __off64_t __loff_t;
> 28468: typedef char *__caddr_t;
> 28468: 
> 28468: 
> 28468: typedef long int __intptr_t;
> 28468: 
> 28468: 
> 28468: typedef unsigned int __socklen_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef int __sig_atomic_t;
> 28468: # 28 "/usr/include/stdint.h" 2 3 4
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
> 28468: # 30 "/usr/include/stdint.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/stdint-intn.h" 3 4
> 28468: typedef __int8_t int8_t;
> 28468: typedef __int16_t int16_t;
> 28468: typedef __int32_t int32_t;
> 28468: typedef __int64_t int64_t;
> 28468: # 35 "/usr/include/stdint.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/stdint-uintn.h" 3 4
> 28468: typedef __uint8_t uint8_t;
> 28468: typedef __uint16_t uint16_t;
> 28468: typedef __uint32_t uint32_t;
> 28468: typedef __uint64_t uint64_t;
> 28468: # 38 "/usr/include/stdint.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __int_least8_t int_least8_t;
> 28468: typedef __int_least16_t int_least16_t;
> 28468: typedef __int_least32_t int_least32_t;
> 28468: typedef __int_least64_t int_least64_t;
> 28468: 
> 28468: 
> 28468: typedef __uint_least8_t uint_least8_t;
> 28468: typedef __uint_least16_t uint_least16_t;
> 28468: typedef __uint_least32_t uint_least32_t;
> 28468: typedef __uint_least64_t uint_least64_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef signed char int_fast8_t;
> 28468: 
> 28468: typedef long int int_fast16_t;
> 28468: typedef long int int_fast32_t;
> 28468: typedef long int int_fast64_t;
> 28468: # 71 "/usr/include/stdint.h" 3 4
> 28468: typedef unsigned char uint_fast8_t;
> 28468: 
> 28468: typedef unsigned long int uint_fast16_t;
> 28468: typedef unsigned long int uint_fast32_t;
> 28468: typedef unsigned long int uint_fast64_t;
> 28468: # 87 "/usr/include/stdint.h" 3 4
> 28468: typedef long int intptr_t;
> 28468: 
> 28468: 
> 28468: typedef unsigned long int uintptr_t;
> 28468: # 101 "/usr/include/stdint.h" 3 4
> 28468: typedef __intmax_t intmax_t;
> 28468: typedef __uintmax_t uintmax_t;
> 28468: # 10 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stdint.h" 2 3 4
> 28468: # 42 "/usr/include/c++/9/cstdint" 2 3
> 28468: 
> 28468: 
> 28468: namespace std
> 28468: {
> 28468: 
> 28468:   using ::int8_t;
> 28468:   using ::int16_t;
> 28468:   using ::int32_t;
> 28468:   using ::int64_t;
> 28468: 
> 28468:   using ::int_fast8_t;
> 28468:   using ::int_fast16_t;
> 28468:   using ::int_fast32_t;
> 28468:   using ::int_fast64_t;
> 28468: 
> 28468:   using ::int_least8_t;
> 28468:   using ::int_least16_t;
> 28468:   using ::int_least32_t;
> 28468:   using ::int_least64_t;
> 28468: 
> 28468:   using ::intmax_t;
> 28468:   using ::intptr_t;
> 28468: 
> 28468:   using ::uint8_t;
> 28468:   using ::uint16_t;
> 28468:   using ::uint32_t;
> 28468:   using ::uint64_t;
> 28468: 
> 28468:   using ::uint_fast8_t;
> 28468:   using ::uint_fast16_t;
> 28468:   using ::uint_fast32_t;
> 28468:   using ::uint_fast64_t;
> 28468: 
> 28468:   using ::uint_least8_t;
> 28468:   using ::uint_least16_t;
> 28468:   using ::uint_least32_t;
> 28468:   using ::uint_least64_t;
> 28468: 
> 28468:   using ::uintmax_t;
> 28468:   using ::uintptr_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 622 "/usr/include/c++/9/bits/char_traits.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct char_traits<char16_t>
> 28468:     {
> 28468:       typedef char16_t char_type;
> 28468: 
> 28468:       typedef uint_least16_t int_type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef streamoff off_type;
> 28468:       typedef u16streampos pos_type;
> 28468:       typedef mbstate_t state_type;
> 28468: 
> 28468:       static void
> 28468:       assign(char_type& __c1, const char_type& __c2) noexcept
> 28468:       { __c1 = __c2; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       eq(const char_type& __c1, const char_type& __c2) noexcept
> 28468:       { return __c1 == __c2; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       lt(const char_type& __c1, const char_type& __c2) noexcept
> 28468:       { return __c1 < __c2; }
> 28468: 
> 28468:       static int
> 28468:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  for (size_t __i = 0; __i < __n; ++__i)
> 28468:    if (lt(__s1[__i], __s2[__i]))
> 28468:      return -1;
> 28468:    else if (lt(__s2[__i], __s1[__i]))
> 28468:      return 1;
> 28468:  return 0;
> 28468:       }
> 28468: 
> 28468:       static size_t
> 28468:       length(const char_type* __s)
> 28468:       {
> 28468:  size_t __i = 0;
> 28468:  while (!eq(__s[__i], char_type()))
> 28468:    ++__i;
> 28468:  return __i;
> 28468:       }
> 28468: 
> 28468:       static const char_type*
> 28468:       find(const char_type* __s, size_t __n, const char_type& __a)
> 28468:       {
> 28468:  for (size_t __i = 0; __i < __n; ++__i)
> 28468:    if (eq(__s[__i], __a))
> 28468:      return __s + __i;
> 28468:  return 0;
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       move(char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return __s1;
> 28468:  return (static_cast<char_type*>
> 28468:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       copy(char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return __s1;
> 28468:  return (static_cast<char_type*>
> 28468:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       assign(char_type* __s, size_t __n, char_type __a)
> 28468:       {
> 28468:  for (size_t __i = 0; __i < __n; ++__i)
> 28468:    assign(__s[__i], __a);
> 28468:  return __s;
> 28468:       }
> 28468: 
> 28468:       static constexpr char_type
> 28468:       to_char_type(const int_type& __c) noexcept
> 28468:       { return char_type(__c); }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       to_int_type(const char_type& __c) noexcept
> 28468:       { return __c == eof() ? int_type(0xfffd) : int_type(__c); }
> 28468: 
> 28468:       static constexpr bool
> 28468:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
> 28468:       { return __c1 == __c2; }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       eof() noexcept
> 28468:       { return static_cast<int_type>(-1); }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       not_eof(const int_type& __c) noexcept
> 28468:       { return eq_int_type(__c, eof()) ? 0 : __c; }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct char_traits<char32_t>
> 28468:     {
> 28468:       typedef char32_t char_type;
> 28468: 
> 28468:       typedef uint_least32_t int_type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef streamoff off_type;
> 28468:       typedef u32streampos pos_type;
> 28468:       typedef mbstate_t state_type;
> 28468: 
> 28468:       static void
> 28468:       assign(char_type& __c1, const char_type& __c2) noexcept
> 28468:       { __c1 = __c2; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       eq(const char_type& __c1, const char_type& __c2) noexcept
> 28468:       { return __c1 == __c2; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       lt(const char_type& __c1, const char_type& __c2) noexcept
> 28468:       { return __c1 < __c2; }
> 28468: 
> 28468:       static int
> 28468:       compare(const char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  for (size_t __i = 0; __i < __n; ++__i)
> 28468:    if (lt(__s1[__i], __s2[__i]))
> 28468:      return -1;
> 28468:    else if (lt(__s2[__i], __s1[__i]))
> 28468:      return 1;
> 28468:  return 0;
> 28468:       }
> 28468: 
> 28468:       static size_t
> 28468:       length(const char_type* __s)
> 28468:       {
> 28468:  size_t __i = 0;
> 28468:  while (!eq(__s[__i], char_type()))
> 28468:    ++__i;
> 28468:  return __i;
> 28468:       }
> 28468: 
> 28468:       static const char_type*
> 28468:       find(const char_type* __s, size_t __n, const char_type& __a)
> 28468:       {
> 28468:  for (size_t __i = 0; __i < __n; ++__i)
> 28468:    if (eq(__s[__i], __a))
> 28468:      return __s + __i;
> 28468:  return 0;
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       move(char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return __s1;
> 28468:  return (static_cast<char_type*>
> 28468:   (__builtin_memmove(__s1, __s2, __n * sizeof(char_type))));
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       copy(char_type* __s1, const char_type* __s2, size_t __n)
> 28468:       {
> 28468:  if (__n == 0)
> 28468:    return __s1;
> 28468:  return (static_cast<char_type*>
> 28468:   (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type))));
> 28468:       }
> 28468: 
> 28468:       static char_type*
> 28468:       assign(char_type* __s, size_t __n, char_type __a)
> 28468:       {
> 28468:  for (size_t __i = 0; __i < __n; ++__i)
> 28468:    assign(__s[__i], __a);
> 28468:  return __s;
> 28468:       }
> 28468: 
> 28468:       static constexpr char_type
> 28468:       to_char_type(const int_type& __c) noexcept
> 28468:       { return char_type(__c); }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       to_int_type(const char_type& __c) noexcept
> 28468:       { return int_type(__c); }
> 28468: 
> 28468:       static constexpr bool
> 28468:       eq_int_type(const int_type& __c1, const int_type& __c2) noexcept
> 28468:       { return __c1 == __c2; }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       eof() noexcept
> 28468:       { return static_cast<int_type>(-1); }
> 28468: 
> 28468:       static constexpr int_type
> 28468:       not_eof(const int_type& __c) noexcept
> 28468:       { return eq_int_type(__c, eof()) ? 0 : __c; }
> 28468:     };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 41 "/usr/include/c++/9/string" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/allocator.h" 1 3
> 28468: # 46 "/usr/include/c++/9/bits/allocator.h" 3
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h" 1 3
> 28468: # 33 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h" 3
> 28468: # 1 "/usr/include/c++/9/ext/new_allocator.h" 1 3
> 28468: # 33 "/usr/include/c++/9/ext/new_allocator.h" 3
> 28468: # 1 "/usr/include/c++/9/new" 1 3
> 28468: # 37 "/usr/include/c++/9/new" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/new" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/exception" 1 3
> 28468: # 33 "/usr/include/c++/9/exception" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/exception" 3
> 28468: 
> 28468: #pragma GCC visibility push(default)
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/exception.h" 1 3
> 28468: # 34 "/usr/include/c++/9/bits/exception.h" 3
> 28468:        
> 28468: # 35 "/usr/include/c++/9/bits/exception.h" 3
> 28468: 
> 28468: #pragma GCC visibility push(default)
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C++" {
> 28468: 
> 28468: namespace std
> 28468: {
> 28468: # 60 "/usr/include/c++/9/bits/exception.h" 3
> 28468:   class exception
> 28468:   {
> 28468:   public:
> 28468:     exception() noexcept { }
> 28468:     virtual ~exception() noexcept;
> 28468: 
> 28468:     exception(const exception&) = default;
> 28468:     exception& operator=(const exception&) = default;
> 28468:     exception(exception&&) = default;
> 28468:     exception& operator=(exception&&) = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual const char*
> 28468:     what() const noexcept;
> 28468:   };
> 28468: 
> 28468: }
> 28468: 
> 28468: }
> 28468: 
> 28468: #pragma GCC visibility pop
> 28468: # 39 "/usr/include/c++/9/exception" 2 3
> 28468: 
> 28468: extern "C++" {
> 28468: 
> 28468: namespace std
> 28468: {
> 28468: 
> 28468: 
> 28468:   class bad_exception : public exception
> 28468:   {
> 28468:   public:
> 28468:     bad_exception() noexcept { }
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual ~bad_exception() noexcept;
> 28468: 
> 28468: 
> 28468:     virtual const char*
> 28468:     what() const noexcept;
> 28468:   };
> 28468: 
> 28468: 
> 28468:   typedef void (*terminate_handler) ();
> 28468: 
> 28468: 
> 28468:   typedef void (*unexpected_handler) ();
> 28468: 
> 28468: 
> 28468:   terminate_handler set_terminate(terminate_handler) noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468:   terminate_handler get_terminate() noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   void terminate() noexcept __attribute__ ((__noreturn__));
> 28468: 
> 28468: 
> 28468:   unexpected_handler set_unexpected(unexpected_handler) noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468:   unexpected_handler get_unexpected() noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   void unexpected() __attribute__ ((__noreturn__));
> 28468: # 101 "/usr/include/c++/9/exception" 3
> 28468:  
> 28468:   bool uncaught_exception() noexcept __attribute__ ((__pure__));
> 28468: # 111 "/usr/include/c++/9/exception" 3
> 28468: }
> 28468: 
> 28468: namespace __gnu_cxx
> 28468: {
> 28468: 
> 28468: # 133 "/usr/include/c++/9/exception" 3
> 28468:   void __verbose_terminate_handler();
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: }
> 28468: 
> 28468: #pragma GCC visibility pop
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/exception_ptr.h" 1 3
> 28468: # 34 "/usr/include/c++/9/bits/exception_ptr.h" 3
> 28468: #pragma GCC visibility push(default)
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/cxxabi_init_exception.h" 1 3
> 28468: # 34 "/usr/include/c++/9/bits/cxxabi_init_exception.h" 3
> 28468:        
> 28468: # 35 "/usr/include/c++/9/bits/cxxabi_init_exception.h" 3
> 28468: 
> 28468: #pragma GCC visibility push(default)
> 28468: 
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 1 3 4
> 28468: # 143 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 3 4
> 28468: typedef long int ptrdiff_t;
> 28468: # 415 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 3 4
> 28468: typedef struct {
> 28468:   long long __max_align_ll __attribute__((__aligned__(__alignof__(long long))));
> 28468:   long double __max_align_ld __attribute__((__aligned__(__alignof__(long double))));
> 28468: # 426 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 3 4
> 28468: } max_align_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   typedef decltype(nullptr) nullptr_t;
> 28468: # 39 "/usr/include/c++/9/bits/cxxabi_init_exception.h" 2 3
> 28468: # 50 "/usr/include/c++/9/bits/cxxabi_init_exception.h" 3
> 28468: namespace std
> 28468: {
> 28468:   class type_info;
> 28468: }
> 28468: 
> 28468: namespace __cxxabiv1
> 28468: {
> 28468:   struct __cxa_refcounted_exception;
> 28468: 
> 28468:   extern "C"
> 28468:     {
> 28468: 
> 28468:       void*
> 28468:       __cxa_allocate_exception(size_t) noexcept;
> 28468: 
> 28468:       void
> 28468:       __cxa_free_exception(void*) noexcept;
> 28468: 
> 28468: 
> 28468:       __cxa_refcounted_exception*
> 28468:       __cxa_init_primary_exception(void *object, std::type_info *tinfo,
> 28468:                 void ( *dest) (void *)) noexcept;
> 28468: 
> 28468:     }
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: #pragma GCC visibility pop
> 28468: # 39 "/usr/include/c++/9/bits/exception_ptr.h" 2 3
> 28468: # 1 "/usr/include/c++/9/typeinfo" 1 3
> 28468: # 32 "/usr/include/c++/9/typeinfo" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/typeinfo" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/hash_bytes.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/hash_bytes.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/hash_bytes.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   size_t
> 28468:   _Hash_bytes(const void* __ptr, size_t __len, size_t __seed);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   size_t
> 28468:   _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed);
> 28468: 
> 28468: 
> 28468: }
> 28468: # 37 "/usr/include/c++/9/typeinfo" 2 3
> 28468: 
> 28468: 
> 28468: #pragma GCC visibility push(default)
> 28468: 
> 28468: extern "C++" {
> 28468: 
> 28468: namespace __cxxabiv1
> 28468: {
> 28468:   class __class_type_info;
> 28468: }
> 28468: # 80 "/usr/include/c++/9/typeinfo" 3
> 28468: namespace std
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class type_info
> 28468:   {
> 28468:   public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual ~type_info();
> 28468: 
> 28468: 
> 28468: 
> 28468:     const char* name() const noexcept
> 28468:     { return __name[0] == '*' ? __name + 1 : __name; }
> 28468: # 115 "/usr/include/c++/9/typeinfo" 3
> 28468:     bool before(const type_info& __arg) const noexcept
> 28468:     { return (__name[0] == '*' && __arg.__name[0] == '*')
> 28468:  ? __name < __arg.__name
> 28468:  : __builtin_strcmp (__name, __arg.__name) < 0; }
> 28468: 
> 28468:     bool operator==(const type_info& __arg) const noexcept
> 28468:     {
> 28468:       return ((__name == __arg.__name)
> 28468:        || (__name[0] != '*' &&
> 28468:     __builtin_strcmp (__name, __arg.__name) == 0));
> 28468:     }
> 28468: # 136 "/usr/include/c++/9/typeinfo" 3
> 28468:     bool operator!=(const type_info& __arg) const noexcept
> 28468:     { return !operator==(__arg); }
> 28468: 
> 28468: 
> 28468:     size_t hash_code() const noexcept
> 28468:     {
> 28468: 
> 28468:       return _Hash_bytes(name(), __builtin_strlen(name()),
> 28468:     static_cast<size_t>(0xc70f6907UL));
> 28468: 
> 28468: 
> 28468: 
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual bool __is_pointer_p() const;
> 28468: 
> 28468: 
> 28468:     virtual bool __is_function_p() const;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj,
> 28468:        unsigned __outer) const;
> 28468: 
> 28468: 
> 28468:     virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target,
> 28468:         void **__obj_ptr) const;
> 28468: 
> 28468:   protected:
> 28468:     const char *__name;
> 28468: 
> 28468:     explicit type_info(const char *__n): __name(__n) { }
> 28468: 
> 28468:   private:
> 28468: 
> 28468:     type_info& operator=(const type_info&);
> 28468:     type_info(const type_info&);
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class bad_cast : public exception
> 28468:   {
> 28468:   public:
> 28468:     bad_cast() noexcept { }
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual ~bad_cast() noexcept;
> 28468: 
> 28468: 
> 28468:     virtual const char* what() const noexcept;
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class bad_typeid : public exception
> 28468:   {
> 28468:   public:
> 28468:     bad_typeid () noexcept { }
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual ~bad_typeid() noexcept;
> 28468: 
> 28468: 
> 28468:     virtual const char* what() const noexcept;
> 28468:   };
> 28468: }
> 28468: 
> 28468: }
> 28468: 
> 28468: #pragma GCC visibility pop
> 28468: # 40 "/usr/include/c++/9/bits/exception_ptr.h" 2 3
> 28468: # 1 "/usr/include/c++/9/new" 1 3
> 28468: # 41 "/usr/include/c++/9/bits/exception_ptr.h" 2 3
> 28468: 
> 28468: extern "C++" {
> 28468: 
> 28468: namespace std
> 28468: {
> 28468:   class type_info;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   namespace __exception_ptr
> 28468:   {
> 28468:     class exception_ptr;
> 28468:   }
> 28468: 
> 28468:   using __exception_ptr::exception_ptr;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   exception_ptr current_exception() noexcept;
> 28468: 
> 28468:   template<typename _Ex>
> 28468:   exception_ptr make_exception_ptr(_Ex) noexcept;
> 28468: 
> 28468: 
> 28468:   void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__));
> 28468: 
> 28468:   namespace __exception_ptr
> 28468:   {
> 28468:     using std::rethrow_exception;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     class exception_ptr
> 28468:     {
> 28468:       void* _M_exception_object;
> 28468: 
> 28468:       explicit exception_ptr(void* __e) noexcept;
> 28468: 
> 28468:       void _M_addref() noexcept;
> 28468:       void _M_release() noexcept;
> 28468: 
> 28468:       void *_M_get() const noexcept __attribute__ ((__pure__));
> 28468: 
> 28468:       friend exception_ptr std::current_exception() noexcept;
> 28468:       friend void std::rethrow_exception(exception_ptr);
> 28468:       template<typename _Ex>
> 28468:       friend exception_ptr std::make_exception_ptr(_Ex) noexcept;
> 28468: 
> 28468:     public:
> 28468:       exception_ptr() noexcept;
> 28468: 
> 28468:       exception_ptr(const exception_ptr&) noexcept;
> 28468: 
> 28468: 
> 28468:       exception_ptr(nullptr_t) noexcept
> 28468:       : _M_exception_object(0)
> 28468:       { }
> 28468: 
> 28468:       exception_ptr(exception_ptr&& __o) noexcept
> 28468:       : _M_exception_object(__o._M_exception_object)
> 28468:       { __o._M_exception_object = 0; }
> 28468: # 117 "/usr/include/c++/9/bits/exception_ptr.h" 3
> 28468:       exception_ptr&
> 28468:       operator=(const exception_ptr&) noexcept;
> 28468: 
> 28468: 
> 28468:       exception_ptr&
> 28468:       operator=(exception_ptr&& __o) noexcept
> 28468:       {
> 28468:         exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this);
> 28468:         return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       ~exception_ptr() noexcept;
> 28468: 
> 28468:       void
> 28468:       swap(exception_ptr&) noexcept;
> 28468: # 144 "/usr/include/c++/9/bits/exception_ptr.h" 3
> 28468:       explicit operator bool() const
> 28468:       { return _M_exception_object; }
> 28468: 
> 28468: 
> 28468:       friend bool
> 28468:       operator==(const exception_ptr&, const exception_ptr&)
> 28468:  noexcept __attribute__ ((__pure__));
> 28468: 
> 28468:       const class std::type_info*
> 28468:       __cxa_exception_type() const noexcept
> 28468:  __attribute__ ((__pure__));
> 28468:     };
> 28468: 
> 28468:     bool
> 28468:     operator==(const exception_ptr&, const exception_ptr&)
> 28468:       noexcept __attribute__ ((__pure__));
> 28468: 
> 28468:     bool
> 28468:     operator!=(const exception_ptr&, const exception_ptr&)
> 28468:       noexcept __attribute__ ((__pure__));
> 28468: 
> 28468:     inline void
> 28468:     swap(exception_ptr& __lhs, exception_ptr& __rhs)
> 28468:     { __lhs.swap(__rhs); }
> 28468: 
> 28468:     template<typename _Ex>
> 28468:       inline void
> 28468:       __dest_thunk(void* __x)
> 28468:       { static_cast<_Ex*>(__x)->~_Ex(); }
> 28468: 
> 28468:   }
> 28468: 
> 28468: 
> 28468:   template<typename _Ex>
> 28468:     exception_ptr
> 28468:     make_exception_ptr(_Ex __ex) noexcept
> 28468:     {
> 28468: 
> 28468:       void* __e = __cxxabiv1::__cxa_allocate_exception(sizeof(_Ex));
> 28468:       (void) __cxxabiv1::__cxa_init_primary_exception(
> 28468:    __e, const_cast<std::type_info*>(&typeid(__ex)),
> 28468:    __exception_ptr::__dest_thunk<_Ex>);
> 28468:       try
> 28468:  {
> 28468:           ::new (__e) _Ex(__ex);
> 28468:           return exception_ptr(__e);
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    __cxxabiv1::__cxa_free_exception(__e);
> 28468:    return current_exception();
> 28468:  }
> 28468: # 208 "/usr/include/c++/9/bits/exception_ptr.h" 3
> 28468:     }
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: }
> 28468: 
> 28468: #pragma GCC visibility pop
> 28468: # 144 "/usr/include/c++/9/exception" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/nested_exception.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/nested_exception.h" 3
> 28468: #pragma GCC visibility push(default)
> 28468: # 42 "/usr/include/c++/9/bits/nested_exception.h" 3
> 28468: extern "C++" {
> 28468: 
> 28468: namespace std
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class nested_exception
> 28468:   {
> 28468:     exception_ptr _M_ptr;
> 28468: 
> 28468:   public:
> 28468:     nested_exception() noexcept : _M_ptr(current_exception()) { }
> 28468: 
> 28468:     nested_exception(const nested_exception&) noexcept = default;
> 28468: 
> 28468:     nested_exception& operator=(const nested_exception&) noexcept = default;
> 28468: 
> 28468:     virtual ~nested_exception() noexcept;
> 28468: 
> 28468:     [[noreturn]]
> 28468:     void
> 28468:     rethrow_nested() const
> 28468:     {
> 28468:       if (_M_ptr)
> 28468:  rethrow_exception(_M_ptr);
> 28468:       std::terminate();
> 28468:     }
> 28468: 
> 28468:     exception_ptr
> 28468:     nested_ptr() const noexcept
> 28468:     { return _M_ptr; }
> 28468:   };
> 28468: 
> 28468:   template<typename _Except>
> 28468:     struct _Nested_exception : public _Except, public nested_exception
> 28468:     {
> 28468:       explicit _Nested_exception(const _Except& __ex)
> 28468:       : _Except(__ex)
> 28468:       { }
> 28468: 
> 28468:       explicit _Nested_exception(_Except&& __ex)
> 28468:       : _Except(static_cast<_Except&&>(__ex))
> 28468:       { }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     [[noreturn]]
> 28468:     inline void
> 28468:     __throw_with_nested_impl(_Tp&& __t, true_type)
> 28468:     {
> 28468:       using _Up = typename remove_reference<_Tp>::type;
> 28468:       throw _Nested_exception<_Up>{std::forward<_Tp>(__t)};
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     [[noreturn]]
> 28468:     inline void
> 28468:     __throw_with_nested_impl(_Tp&& __t, false_type)
> 28468:     { throw std::forward<_Tp>(__t); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     [[noreturn]]
> 28468:     inline void
> 28468:     throw_with_nested(_Tp&& __t)
> 28468:     {
> 28468:       using _Up = typename decay<_Tp>::type;
> 28468:       using _CopyConstructible
> 28468:  = __and_<is_copy_constructible<_Up>, is_move_constructible<_Up>>;
> 28468:       static_assert(_CopyConstructible::value,
> 28468:    "throw_with_nested argument must be CopyConstructible");
> 28468:       using __nest = __and_<is_class<_Up>, __bool_constant<!__is_final(_Up)>,
> 28468:        __not_<is_base_of<nested_exception, _Up>>>;
> 28468:       std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{});
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     using __rethrow_if_nested_cond = typename enable_if<
> 28468:       __and_<is_polymorphic<_Tp>,
> 28468:       __or_<__not_<is_base_of<nested_exception, _Tp>>,
> 28468:      is_convertible<_Tp*, nested_exception*>>>::value
> 28468:     >::type;
> 28468: 
> 28468: 
> 28468:   template<typename _Ex>
> 28468:     inline __rethrow_if_nested_cond<_Ex>
> 28468:     __rethrow_if_nested_impl(const _Ex* __ptr)
> 28468:     {
> 28468:       if (auto __ne_ptr = dynamic_cast<const nested_exception*>(__ptr))
> 28468:  __ne_ptr->rethrow_nested();
> 28468:     }
> 28468: 
> 28468: 
> 28468:   inline void
> 28468:   __rethrow_if_nested_impl(const void*)
> 28468:   { }
> 28468: 
> 28468: 
> 28468:   template<typename _Ex>
> 28468:     inline void
> 28468:     rethrow_if_nested(const _Ex& __ex)
> 28468:     { std::__rethrow_if_nested_impl(std::__addressof(__ex)); }
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: #pragma GCC visibility pop
> 28468: # 145 "/usr/include/c++/9/exception" 2 3
> 28468: # 41 "/usr/include/c++/9/new" 2 3
> 28468: 
> 28468: #pragma GCC visibility push(default)
> 28468: 
> 28468: extern "C++" {
> 28468: 
> 28468: namespace std
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class bad_alloc : public exception
> 28468:   {
> 28468:   public:
> 28468:     bad_alloc() throw() { }
> 28468: 
> 28468: 
> 28468:     bad_alloc(const bad_alloc&) = default;
> 28468:     bad_alloc& operator=(const bad_alloc&) = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual ~bad_alloc() throw();
> 28468: 
> 28468: 
> 28468:     virtual const char* what() const throw();
> 28468:   };
> 28468: 
> 28468: 
> 28468:   class bad_array_new_length : public bad_alloc
> 28468:   {
> 28468:   public:
> 28468:     bad_array_new_length() throw() { }
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual ~bad_array_new_length() throw();
> 28468: 
> 28468: 
> 28468:     virtual const char* what() const throw();
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct nothrow_t
> 28468:   {
> 28468: 
> 28468:     explicit nothrow_t() = default;
> 28468: 
> 28468:   };
> 28468: 
> 28468:   extern const nothrow_t nothrow;
> 28468: 
> 28468: 
> 28468: 
> 28468:   typedef void (*new_handler)();
> 28468: 
> 28468: 
> 28468: 
> 28468:   new_handler set_new_handler(new_handler) throw();
> 28468: 
> 28468: 
> 28468: 
> 28468:   new_handler get_new_handler() noexcept;
> 28468: 
> 28468: }
> 28468: # 125 "/usr/include/c++/9/new" 3
> 28468:  void* operator new(std::size_t)
> 28468:   __attribute__((__externally_visible__));
> 28468:  void* operator new[](std::size_t)
> 28468:   __attribute__((__externally_visible__));
> 28468: void operator delete(void*) noexcept
> 28468:   __attribute__((__externally_visible__));
> 28468: void operator delete[](void*) noexcept
> 28468:   __attribute__((__externally_visible__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  void* operator new(std::size_t, const std::nothrow_t&) noexcept
> 28468:   __attribute__((__externally_visible__, __malloc__));
> 28468:  void* operator new[](std::size_t, const std::nothrow_t&) noexcept
> 28468:   __attribute__((__externally_visible__, __malloc__));
> 28468: void operator delete(void*, const std::nothrow_t&) noexcept
> 28468:   __attribute__((__externally_visible__));
> 28468: void operator delete[](void*, const std::nothrow_t&) noexcept
> 28468:   __attribute__((__externally_visible__));
> 28468: # 173 "/usr/include/c++/9/new" 3
> 28468:  inline void* operator new(std::size_t, void* __p) noexcept
> 28468: { return __p; }
> 28468:  inline void* operator new[](std::size_t, void* __p) noexcept
> 28468: { return __p; }
> 28468: 
> 28468: 
> 28468: inline void operator delete (void*, void*) noexcept { }
> 28468: inline void operator delete[](void*, void*) noexcept { }
> 28468: 
> 28468: }
> 28468: # 226 "/usr/include/c++/9/new" 3
> 28468: #pragma GCC visibility pop
> 28468: # 34 "/usr/include/c++/9/ext/new_allocator.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   using std::size_t;
> 28468:   using std::ptrdiff_t;
> 28468: # 57 "/usr/include/c++/9/ext/new_allocator.h" 3
> 28468:   template<typename _Tp>
> 28468:     class new_allocator
> 28468:     {
> 28468:     public:
> 28468:       typedef size_t size_type;
> 28468:       typedef ptrdiff_t difference_type;
> 28468:       typedef _Tp* pointer;
> 28468:       typedef const _Tp* const_pointer;
> 28468:       typedef _Tp& reference;
> 28468:       typedef const _Tp& const_reference;
> 28468:       typedef _Tp value_type;
> 28468: 
> 28468:       template<typename _Tp1>
> 28468:  struct rebind
> 28468:  { typedef new_allocator<_Tp1> other; };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef std::true_type propagate_on_container_move_assignment;
> 28468: 
> 28468: 
> 28468:      
> 28468:       new_allocator() noexcept { }
> 28468: 
> 28468:      
> 28468:       new_allocator(const new_allocator&) noexcept { }
> 28468: 
> 28468:       template<typename _Tp1>
> 28468: 
> 28468:  new_allocator(const new_allocator<_Tp1>&) noexcept { }
> 28468: 
> 28468:       ~new_allocator() noexcept { }
> 28468: 
> 28468:       pointer
> 28468:       address(reference __x) const noexcept
> 28468:       { return std::__addressof(__x); }
> 28468: 
> 28468:       const_pointer
> 28468:       address(const_reference __x) const noexcept
> 28468:       { return std::__addressof(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       pointer
> 28468:       allocate(size_type __n, const void* = static_cast<const void*>(0))
> 28468:       {
> 28468:  if (__n > this->max_size())
> 28468:    std::__throw_bad_alloc();
> 28468: # 114 "/usr/include/c++/9/ext/new_allocator.h" 3
> 28468:  return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp)));
> 28468:       }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       deallocate(pointer __p, size_type)
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  ::operator delete(__p);
> 28468:       }
> 28468: 
> 28468:       size_type
> 28468:       max_size() const noexcept
> 28468:       {
> 28468: 
> 28468:  return size_t(0x7fffffffffffffffL) / sizeof(_Tp);
> 28468: 
> 28468: 
> 28468: 
> 28468:       }
> 28468: 
> 28468: 
> 28468:       template<typename _Up, typename... _Args>
> 28468:  void
> 28468:  construct(_Up* __p, _Args&&... __args)
> 28468:  noexcept(noexcept(::new((void *)__p)
> 28468:        _Up(std::forward<_Args>(__args)...)))
> 28468:  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
> 28468: 
> 28468:       template<typename _Up>
> 28468:  void
> 28468:  destroy(_Up* __p)
> 28468:  noexcept(noexcept( __p->~_Up()))
> 28468:  { __p->~_Up(); }
> 28468: # 165 "/usr/include/c++/9/ext/new_allocator.h" 3
> 28468:       template<typename _Up>
> 28468:  friend bool
> 28468:  operator==(const new_allocator&, const new_allocator<_Up>&)
> 28468:  noexcept
> 28468:  { return true; }
> 28468: 
> 28468:       template<typename _Up>
> 28468:  friend bool
> 28468:  operator!=(const new_allocator&, const new_allocator<_Up>&)
> 28468:  noexcept
> 28468:  { return false; }
> 28468:     };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 34 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h" 2 3
> 28468: 
> 28468: 
> 28468: namespace std
> 28468: {
> 28468: # 47 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++allocator.h" 3
> 28468:   template<typename _Tp>
> 28468:     using __allocator_base = __gnu_cxx::new_allocator<_Tp>;
> 28468: }
> 28468: # 47 "/usr/include/c++/9/bits/allocator.h" 2 3
> 28468: # 57 "/usr/include/c++/9/bits/allocator.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     class allocator<void>
> 28468:     {
> 28468:     public:
> 28468:       typedef size_t size_type;
> 28468:       typedef ptrdiff_t difference_type;
> 28468:       typedef void* pointer;
> 28468:       typedef const void* const_pointer;
> 28468:       typedef void value_type;
> 28468: 
> 28468:       template<typename _Tp1>
> 28468:  struct rebind
> 28468:  { typedef allocator<_Tp1> other; };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef true_type propagate_on_container_move_assignment;
> 28468: 
> 28468:       typedef true_type is_always_equal;
> 28468: 
> 28468:       template<typename _Up, typename... _Args>
> 28468:  void
> 28468:  construct(_Up* __p, _Args&&... __args)
> 28468:  noexcept(noexcept(::new((void *)__p)
> 28468:        _Up(std::forward<_Args>(__args)...)))
> 28468:  { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); }
> 28468: 
> 28468:       template<typename _Up>
> 28468:  void
> 28468:  destroy(_Up* __p)
> 28468:  noexcept(noexcept(__p->~_Up()))
> 28468:  { __p->~_Up(); }
> 28468: 
> 28468:     };
> 28468: # 111 "/usr/include/c++/9/bits/allocator.h" 3
> 28468:   template<typename _Tp>
> 28468:     class allocator : public __allocator_base<_Tp>
> 28468:     {
> 28468:    public:
> 28468:       typedef size_t size_type;
> 28468:       typedef ptrdiff_t difference_type;
> 28468:       typedef _Tp* pointer;
> 28468:       typedef const _Tp* const_pointer;
> 28468:       typedef _Tp& reference;
> 28468:       typedef const _Tp& const_reference;
> 28468:       typedef _Tp value_type;
> 28468: 
> 28468:       template<typename _Tp1>
> 28468:  struct rebind
> 28468:  { typedef allocator<_Tp1> other; };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef true_type propagate_on_container_move_assignment;
> 28468: 
> 28468:       typedef true_type is_always_equal;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:      
> 28468:       allocator() noexcept { }
> 28468: 
> 28468:      
> 28468:       allocator(const allocator& __a) noexcept
> 28468:       : __allocator_base<_Tp>(__a) { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       allocator& operator=(const allocator&) = default;
> 28468: 
> 28468: 
> 28468:       template<typename _Tp1>
> 28468: 
> 28468:  allocator(const allocator<_Tp1>&) noexcept { }
> 28468: 
> 28468:       ~allocator() noexcept { }
> 28468: 
> 28468:       friend bool
> 28468:       operator==(const allocator&, const allocator&) noexcept
> 28468:       { return true; }
> 28468: 
> 28468:       friend bool
> 28468:       operator!=(const allocator&, const allocator&) noexcept
> 28468:       { return false; }
> 28468: 
> 28468: 
> 28468:     };
> 28468: 
> 28468:   template<typename _T1, typename _T2>
> 28468:     inline bool
> 28468:     operator==(const allocator<_T1>&, const allocator<_T2>&)
> 28468:     noexcept
> 28468:     { return true; }
> 28468: 
> 28468:   template<typename _T1, typename _T2>
> 28468:     inline bool
> 28468:     operator!=(const allocator<_T1>&, const allocator<_T2>&)
> 28468:     noexcept
> 28468:     { return false; }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class allocator<const _Tp>
> 28468:     {
> 28468:     public:
> 28468:       typedef _Tp value_type;
> 28468:       template<typename _Up> allocator(const allocator<_Up>&) { }
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class allocator<volatile _Tp>
> 28468:     {
> 28468:     public:
> 28468:       typedef _Tp value_type;
> 28468:       template<typename _Up> allocator(const allocator<_Up>&) { }
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class allocator<const volatile _Tp>
> 28468:     {
> 28468:     public:
> 28468:       typedef _Tp value_type;
> 28468:       template<typename _Up> allocator(const allocator<_Up>&) { }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template class allocator<char>;
> 28468:   extern template class allocator<wchar_t>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc, bool = __is_empty(_Alloc)>
> 28468:     struct __alloc_swap
> 28468:     { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } };
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct __alloc_swap<_Alloc, false>
> 28468:     {
> 28468:       static void
> 28468:       _S_do_it(_Alloc& __one, _Alloc& __two) noexcept
> 28468:       {
> 28468: 
> 28468:  if (__one != __two)
> 28468:    swap(__one, __two);
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc, bool = __is_empty(_Alloc)>
> 28468:     struct __alloc_neq
> 28468:     {
> 28468:       static bool
> 28468:       _S_do_it(const _Alloc&, const _Alloc&)
> 28468:       { return false; }
> 28468:     };
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct __alloc_neq<_Alloc, false>
> 28468:     {
> 28468:       static bool
> 28468:       _S_do_it(const _Alloc& __one, const _Alloc& __two)
> 28468:       { return __one != __two; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, bool
> 28468:     = __or_<is_copy_constructible<typename _Tp::value_type>,
> 28468:             is_nothrow_move_constructible<typename _Tp::value_type>>::value>
> 28468:     struct __shrink_to_fit_aux
> 28468:     { static bool _S_do_it(_Tp&) noexcept { return false; } };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __shrink_to_fit_aux<_Tp, true>
> 28468:     {
> 28468:       static bool
> 28468:       _S_do_it(_Tp& __c) noexcept
> 28468:       {
> 28468: 
> 28468:  try
> 28468:    {
> 28468:      _Tp(__make_move_if_noexcept_iterator(__c.begin()),
> 28468:   __make_move_if_noexcept_iterator(__c.end()),
> 28468:   __c.get_allocator()).swap(__c);
> 28468:      return true;
> 28468:    }
> 28468:  catch(...)
> 28468:    { return false; }
> 28468: 
> 28468: 
> 28468: 
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 42 "/usr/include/c++/9/string" 2 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/localefwd.h" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/localefwd.h" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/localefwd.h" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++locale.h" 1 3
> 28468: # 39 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++locale.h" 3
> 28468:        
> 28468: # 40 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++locale.h" 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/clocale" 1 3
> 28468: # 39 "/usr/include/c++/9/clocale" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/clocale" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/locale.h" 1 3 4
> 28468: # 28 "/usr/include/locale.h" 3 4
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 1 3 4
> 28468: # 29 "/usr/include/locale.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/locale.h" 1 3 4
> 28468: # 30 "/usr/include/locale.h" 2 3 4
> 28468: 
> 28468: extern "C" {
> 28468: # 51 "/usr/include/locale.h" 3 4
> 28468: struct lconv
> 28468: {
> 28468: 
> 28468: 
> 28468:   char *decimal_point;
> 28468:   char *thousands_sep;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   char *grouping;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   char *int_curr_symbol;
> 28468:   char *currency_symbol;
> 28468:   char *mon_decimal_point;
> 28468:   char *mon_thousands_sep;
> 28468:   char *mon_grouping;
> 28468:   char *positive_sign;
> 28468:   char *negative_sign;
> 28468:   char int_frac_digits;
> 28468:   char frac_digits;
> 28468: 
> 28468:   char p_cs_precedes;
> 28468: 
> 28468:   char p_sep_by_space;
> 28468: 
> 28468:   char n_cs_precedes;
> 28468: 
> 28468:   char n_sep_by_space;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   char p_sign_posn;
> 28468:   char n_sign_posn;
> 28468: 
> 28468: 
> 28468:   char int_p_cs_precedes;
> 28468: 
> 28468:   char int_p_sep_by_space;
> 28468: 
> 28468:   char int_n_cs_precedes;
> 28468: 
> 28468:   char int_n_sep_by_space;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   char int_p_sign_posn;
> 28468:   char int_n_sign_posn;
> 28468: # 118 "/usr/include/locale.h" 3 4
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *setlocale (int __category, const char *__locale) throw ();
> 28468: 
> 28468: 
> 28468: extern struct lconv *localeconv (void) throw ();
> 28468: # 141 "/usr/include/locale.h" 3 4
> 28468: extern locale_t newlocale (int __category_mask, const char *__locale,
> 28468:       locale_t __base) throw ();
> 28468: # 176 "/usr/include/locale.h" 3 4
> 28468: extern locale_t duplocale (locale_t __dataset) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void freelocale (locale_t __dataset) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern locale_t uselocale (locale_t __dataset) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 43 "/usr/include/c++/9/clocale" 2 3
> 28468: # 51 "/usr/include/c++/9/clocale" 3
> 28468: namespace std
> 28468: {
> 28468:   using ::lconv;
> 28468:   using ::setlocale;
> 28468:   using ::localeconv;
> 28468: }
> 28468: # 42 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++locale.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   extern "C" __typeof(uselocale) __uselocale;
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   typedef __locale_t __c_locale;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline int
> 28468:   __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)),
> 28468:      char* __out,
> 28468:      const int __size __attribute__ ((__unused__)),
> 28468:      const char* __fmt, ...)
> 28468:   {
> 28468: 
> 28468:     __c_locale __old = __gnu_cxx::__uselocale(__cloc);
> 28468: # 88 "/usr/include/x86_64-linux-gnu/c++/9/bits/c++locale.h" 3
> 28468:     __builtin_va_list __args;
> 28468:     __builtin_va_start(__args, __fmt);
> 28468: 
> 28468: 
> 28468:     const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     __builtin_va_end(__args);
> 28468: 
> 28468: 
> 28468:     __gnu_cxx::__uselocale(__old);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     return __ret;
> 28468:   }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 41 "/usr/include/c++/9/bits/localefwd.h" 2 3
> 28468: # 1 "/usr/include/c++/9/iosfwd" 1 3
> 28468: # 36 "/usr/include/c++/9/iosfwd" 3
> 28468:        
> 28468: # 37 "/usr/include/c++/9/iosfwd" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 74 "/usr/include/c++/9/iosfwd" 3
> 28468:   class ios_base;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
> 28468:     class basic_ios;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
> 28468:     class basic_streambuf;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
> 28468:     class basic_istream;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
> 28468:     class basic_ostream;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
> 28468:     class basic_iostream;
> 28468: 
> 28468: 
> 28468: namespace __cxx11 {
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
> 28468:      typename _Alloc = allocator<_CharT> >
> 28468:     class basic_stringbuf;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
> 28468:     typename _Alloc = allocator<_CharT> >
> 28468:     class basic_istringstream;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
> 28468:     typename _Alloc = allocator<_CharT> >
> 28468:     class basic_ostringstream;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT>,
> 28468:     typename _Alloc = allocator<_CharT> >
> 28468:     class basic_stringstream;
> 28468: 
> 28468: }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
> 28468:     class basic_filebuf;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
> 28468:     class basic_ifstream;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
> 28468:     class basic_ofstream;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
> 28468:     class basic_fstream;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
> 28468:     class istreambuf_iterator;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits = char_traits<_CharT> >
> 28468:     class ostreambuf_iterator;
> 28468: 
> 28468: 
> 28468: 
> 28468:   typedef basic_ios<char> ios;
> 28468: 
> 28468: 
> 28468:   typedef basic_streambuf<char> streambuf;
> 28468: 
> 28468: 
> 28468:   typedef basic_istream<char> istream;
> 28468: 
> 28468: 
> 28468:   typedef basic_ostream<char> ostream;
> 28468: 
> 28468: 
> 28468:   typedef basic_iostream<char> iostream;
> 28468: 
> 28468: 
> 28468:   typedef basic_stringbuf<char> stringbuf;
> 28468: 
> 28468: 
> 28468:   typedef basic_istringstream<char> istringstream;
> 28468: 
> 28468: 
> 28468:   typedef basic_ostringstream<char> ostringstream;
> 28468: 
> 28468: 
> 28468:   typedef basic_stringstream<char> stringstream;
> 28468: 
> 28468: 
> 28468:   typedef basic_filebuf<char> filebuf;
> 28468: 
> 28468: 
> 28468:   typedef basic_ifstream<char> ifstream;
> 28468: 
> 28468: 
> 28468:   typedef basic_ofstream<char> ofstream;
> 28468: 
> 28468: 
> 28468:   typedef basic_fstream<char> fstream;
> 28468: 
> 28468: 
> 28468: 
> 28468:   typedef basic_ios<wchar_t> wios;
> 28468: 
> 28468: 
> 28468:   typedef basic_streambuf<wchar_t> wstreambuf;
> 28468: 
> 28468: 
> 28468:   typedef basic_istream<wchar_t> wistream;
> 28468: 
> 28468: 
> 28468:   typedef basic_ostream<wchar_t> wostream;
> 28468: 
> 28468: 
> 28468:   typedef basic_iostream<wchar_t> wiostream;
> 28468: 
> 28468: 
> 28468:   typedef basic_stringbuf<wchar_t> wstringbuf;
> 28468: 
> 28468: 
> 28468:   typedef basic_istringstream<wchar_t> wistringstream;
> 28468: 
> 28468: 
> 28468:   typedef basic_ostringstream<wchar_t> wostringstream;
> 28468: 
> 28468: 
> 28468:   typedef basic_stringstream<wchar_t> wstringstream;
> 28468: 
> 28468: 
> 28468:   typedef basic_filebuf<wchar_t> wfilebuf;
> 28468: 
> 28468: 
> 28468:   typedef basic_ifstream<wchar_t> wifstream;
> 28468: 
> 28468: 
> 28468:   typedef basic_ofstream<wchar_t> wofstream;
> 28468: 
> 28468: 
> 28468:   typedef basic_fstream<wchar_t> wfstream;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 42 "/usr/include/c++/9/bits/localefwd.h" 2 3
> 28468: # 1 "/usr/include/c++/9/cctype" 1 3
> 28468: # 39 "/usr/include/c++/9/cctype" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cctype" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/ctype.h" 1 3 4
> 28468: # 28 "/usr/include/ctype.h" 3 4
> 28468: extern "C" {
> 28468: # 39 "/usr/include/ctype.h" 3 4
> 28468: # 1 "/usr/include/endian.h" 1 3 4
> 28468: # 36 "/usr/include/endian.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/endian.h" 1 3 4
> 28468: # 37 "/usr/include/endian.h" 2 3 4
> 28468: # 60 "/usr/include/endian.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 1 3 4
> 28468: # 33 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4
> 28468: static __inline __uint16_t
> 28468: __bswap_16 (__uint16_t __bsx)
> 28468: {
> 28468: 
> 28468:   return __builtin_bswap16 (__bsx);
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: static __inline __uint32_t
> 28468: __bswap_32 (__uint32_t __bsx)
> 28468: {
> 28468: 
> 28468:   return __builtin_bswap32 (__bsx);
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 69 "/usr/include/x86_64-linux-gnu/bits/byteswap.h" 3 4
> 28468: __extension__ static __inline __uint64_t
> 28468: __bswap_64 (__uint64_t __bsx)
> 28468: {
> 28468: 
> 28468:   return __builtin_bswap64 (__bsx);
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 61 "/usr/include/endian.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 1 3 4
> 28468: # 32 "/usr/include/x86_64-linux-gnu/bits/uintn-identity.h" 3 4
> 28468: static __inline __uint16_t
> 28468: __uint16_identity (__uint16_t __x)
> 28468: {
> 28468:   return __x;
> 28468: }
> 28468: 
> 28468: static __inline __uint32_t
> 28468: __uint32_identity (__uint32_t __x)
> 28468: {
> 28468:   return __x;
> 28468: }
> 28468: 
> 28468: static __inline __uint64_t
> 28468: __uint64_identity (__uint64_t __x)
> 28468: {
> 28468:   return __x;
> 28468: }
> 28468: # 62 "/usr/include/endian.h" 2 3 4
> 28468: # 40 "/usr/include/ctype.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: enum
> 28468: {
> 28468:   _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)),
> 28468:   _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)),
> 28468:   _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)),
> 28468:   _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)),
> 28468:   _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)),
> 28468:   _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)),
> 28468:   _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)),
> 28468:   _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)),
> 28468:   _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)),
> 28468:   _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)),
> 28468:   _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)),
> 28468:   _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8))
> 28468: };
> 28468: # 79 "/usr/include/ctype.h" 3 4
> 28468: extern const unsigned short int **__ctype_b_loc (void)
> 28468:      throw () __attribute__ ((__const__));
> 28468: extern const __int32_t **__ctype_tolower_loc (void)
> 28468:      throw () __attribute__ ((__const__));
> 28468: extern const __int32_t **__ctype_toupper_loc (void)
> 28468:      throw () __attribute__ ((__const__));
> 28468: # 108 "/usr/include/ctype.h" 3 4
> 28468: extern int isalnum (int) throw ();
> 28468: extern int isalpha (int) throw ();
> 28468: extern int iscntrl (int) throw ();
> 28468: extern int isdigit (int) throw ();
> 28468: extern int islower (int) throw ();
> 28468: extern int isgraph (int) throw ();
> 28468: extern int isprint (int) throw ();
> 28468: extern int ispunct (int) throw ();
> 28468: extern int isspace (int) throw ();
> 28468: extern int isupper (int) throw ();
> 28468: extern int isxdigit (int) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int tolower (int __c) throw ();
> 28468: 
> 28468: 
> 28468: extern int toupper (int __c) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int isblank (int) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int isctype (int __c, int __mask) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int isascii (int __c) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int toascii (int __c) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int _toupper (int) throw ();
> 28468: extern int _tolower (int) throw ();
> 28468: # 251 "/usr/include/ctype.h" 3 4
> 28468: extern int isalnum_l (int, locale_t) throw ();
> 28468: extern int isalpha_l (int, locale_t) throw ();
> 28468: extern int iscntrl_l (int, locale_t) throw ();
> 28468: extern int isdigit_l (int, locale_t) throw ();
> 28468: extern int islower_l (int, locale_t) throw ();
> 28468: extern int isgraph_l (int, locale_t) throw ();
> 28468: extern int isprint_l (int, locale_t) throw ();
> 28468: extern int ispunct_l (int, locale_t) throw ();
> 28468: extern int isspace_l (int, locale_t) throw ();
> 28468: extern int isupper_l (int, locale_t) throw ();
> 28468: extern int isxdigit_l (int, locale_t) throw ();
> 28468: 
> 28468: extern int isblank_l (int, locale_t) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int __tolower_l (int __c, locale_t __l) throw ();
> 28468: extern int tolower_l (int __c, locale_t __l) throw ();
> 28468: 
> 28468: 
> 28468: extern int __toupper_l (int __c, locale_t __l) throw ();
> 28468: extern int toupper_l (int __c, locale_t __l) throw ();
> 28468: # 327 "/usr/include/ctype.h" 3 4
> 28468: }
> 28468: # 43 "/usr/include/c++/9/cctype" 2 3
> 28468: # 62 "/usr/include/c++/9/cctype" 3
> 28468: namespace std
> 28468: {
> 28468:   using ::isalnum;
> 28468:   using ::isalpha;
> 28468:   using ::iscntrl;
> 28468:   using ::isdigit;
> 28468:   using ::isgraph;
> 28468:   using ::islower;
> 28468:   using ::isprint;
> 28468:   using ::ispunct;
> 28468:   using ::isspace;
> 28468:   using ::isupper;
> 28468:   using ::isxdigit;
> 28468:   using ::tolower;
> 28468:   using ::toupper;
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std
> 28468: {
> 28468:   using ::isblank;
> 28468: }
> 28468: # 43 "/usr/include/c++/9/bits/localefwd.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 55 "/usr/include/c++/9/bits/localefwd.h" 3
> 28468:   class locale;
> 28468: 
> 28468:   template<typename _Facet>
> 28468:     bool
> 28468:     has_facet(const locale&) throw();
> 28468: 
> 28468:   template<typename _Facet>
> 28468:     const _Facet&
> 28468:     use_facet(const locale&);
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     isspace(_CharT, const locale&);
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     isprint(_CharT, const locale&);
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     iscntrl(_CharT, const locale&);
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     isupper(_CharT, const locale&);
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     islower(_CharT, const locale&);
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     isalpha(_CharT, const locale&);
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     isdigit(_CharT, const locale&);
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     ispunct(_CharT, const locale&);
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     isxdigit(_CharT, const locale&);
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     isalnum(_CharT, const locale&);
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     isgraph(_CharT, const locale&);
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     bool
> 28468:     isblank(_CharT, const locale&);
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     _CharT
> 28468:     toupper(_CharT, const locale&);
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     _CharT
> 28468:     tolower(_CharT, const locale&);
> 28468: 
> 28468: 
> 28468:   class ctype_base;
> 28468:   template<typename _CharT>
> 28468:     class ctype;
> 28468:   template<> class ctype<char>;
> 28468: 
> 28468:   template<> class ctype<wchar_t>;
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     class ctype_byname;
> 28468: 
> 28468: 
> 28468:   class codecvt_base;
> 28468:   template<typename _InternT, typename _ExternT, typename _StateT>
> 28468:     class codecvt;
> 28468:   template<> class codecvt<char, char, mbstate_t>;
> 28468: 
> 28468:   template<> class codecvt<wchar_t, char, mbstate_t>;
> 28468: 
> 28468: 
> 28468:   template<> class codecvt<char16_t, char, mbstate_t>;
> 28468:   template<> class codecvt<char32_t, char, mbstate_t>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InternT, typename _ExternT, typename _StateT>
> 28468:     class codecvt_byname;
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
> 28468:     class num_get;
> 28468:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
> 28468:     class num_put;
> 28468: 
> 28468: namespace __cxx11 {
> 28468:   template<typename _CharT> class numpunct;
> 28468:   template<typename _CharT> class numpunct_byname;
> 28468: }
> 28468: 
> 28468: namespace __cxx11 {
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     class collate;
> 28468:   template<typename _CharT>
> 28468:     class collate_byname;
> 28468: }
> 28468: 
> 28468: 
> 28468:   class time_base;
> 28468: namespace __cxx11 {
> 28468:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
> 28468:     class time_get;
> 28468:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
> 28468:     class time_get_byname;
> 28468: }
> 28468:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
> 28468:     class time_put;
> 28468:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
> 28468:     class time_put_byname;
> 28468: 
> 28468: 
> 28468:   class money_base;
> 28468: namespace __cxx11 {
> 28468:   template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> >
> 28468:     class money_get;
> 28468:   template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> >
> 28468:     class money_put;
> 28468: }
> 28468: namespace __cxx11 {
> 28468:   template<typename _CharT, bool _Intl = false>
> 28468:     class moneypunct;
> 28468:   template<typename _CharT, bool _Intl = false>
> 28468:     class moneypunct_byname;
> 28468: }
> 28468: 
> 28468: 
> 28468:   class messages_base;
> 28468: namespace __cxx11 {
> 28468:   template<typename _CharT>
> 28468:     class messages;
> 28468:   template<typename _CharT>
> 28468:     class messages_byname;
> 28468: }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 44 "/usr/include/c++/9/string" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/ostream_insert.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/ostream_insert.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/ostream_insert.h" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/cxxabi_forced.h" 1 3
> 28468: # 34 "/usr/include/c++/9/bits/cxxabi_forced.h" 3
> 28468:        
> 28468: # 35 "/usr/include/c++/9/bits/cxxabi_forced.h" 3
> 28468: 
> 28468: #pragma GCC visibility push(default)
> 28468: 
> 28468: 
> 28468: namespace __cxxabiv1
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class __forced_unwind
> 28468:   {
> 28468:     virtual ~__forced_unwind() throw();
> 28468: 
> 28468: 
> 28468:     virtual void __pure_dummy() = 0;
> 28468:   };
> 28468: }
> 28468: 
> 28468: 
> 28468: #pragma GCC visibility pop
> 28468: # 37 "/usr/include/c++/9/bits/ostream_insert.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline void
> 28468:     __ostream_write(basic_ostream<_CharT, _Traits>& __out,
> 28468:       const _CharT* __s, streamsize __n)
> 28468:     {
> 28468:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
> 28468:       typedef typename __ostream_type::ios_base __ios_base;
> 28468: 
> 28468:       const streamsize __put = __out.rdbuf()->sputn(__s, __n);
> 28468:       if (__put != __n)
> 28468:  __out.setstate(__ios_base::badbit);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline void
> 28468:     __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n)
> 28468:     {
> 28468:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
> 28468:       typedef typename __ostream_type::ios_base __ios_base;
> 28468: 
> 28468:       const _CharT __c = __out.fill();
> 28468:       for (; __n > 0; --__n)
> 28468:  {
> 28468:    const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c);
> 28468:    if (_Traits::eq_int_type(__put, _Traits::eof()))
> 28468:      {
> 28468:        __out.setstate(__ios_base::badbit);
> 28468:        break;
> 28468:      }
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     __ostream_insert(basic_ostream<_CharT, _Traits>& __out,
> 28468:        const _CharT* __s, streamsize __n)
> 28468:     {
> 28468:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
> 28468:       typedef typename __ostream_type::ios_base __ios_base;
> 28468: 
> 28468:       typename __ostream_type::sentry __cerb(__out);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468:        const streamsize __w = __out.width();
> 28468:        if (__w > __n)
> 28468:   {
> 28468:     const bool __left = ((__out.flags()
> 28468:      & __ios_base::adjustfield)
> 28468:            == __ios_base::left);
> 28468:     if (!__left)
> 28468:       __ostream_fill(__out, __w - __n);
> 28468:     if (__out.good())
> 28468:       __ostream_write(__out, __s, __n);
> 28468:     if (__left && __out.good())
> 28468:       __ostream_fill(__out, __w - __n);
> 28468:   }
> 28468:        else
> 28468:   __ostream_write(__out, __s, __n);
> 28468:        __out.width(0);
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        __out._M_setstate(__ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { __out._M_setstate(__ios_base::badbit); }
> 28468:  }
> 28468:       return __out;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template ostream& __ostream_insert(ostream&, const char*, streamsize);
> 28468: 
> 28468: 
> 28468:   extern template wostream& __ostream_insert(wostream&, const wchar_t*,
> 28468:           streamsize);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 45 "/usr/include/c++/9/string" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/stl_function.h" 1 3
> 28468: # 63 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 104 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:   template<typename _Arg, typename _Result>
> 28468:     struct unary_function
> 28468:     {
> 28468: 
> 28468:       typedef _Arg argument_type;
> 28468: 
> 28468: 
> 28468:       typedef _Result result_type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Arg1, typename _Arg2, typename _Result>
> 28468:     struct binary_function
> 28468:     {
> 28468: 
> 28468:       typedef _Arg1 first_argument_type;
> 28468: 
> 28468: 
> 28468:       typedef _Arg2 second_argument_type;
> 28468: 
> 28468: 
> 28468:       typedef _Result result_type;
> 28468:     };
> 28468: # 166 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:   template<typename _Tp>
> 28468:     struct plus : public binary_function<_Tp, _Tp, _Tp>
> 28468:     {
> 28468:      
> 28468:       _Tp
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x + __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct minus : public binary_function<_Tp, _Tp, _Tp>
> 28468:     {
> 28468:      
> 28468:       _Tp
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x - __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct multiplies : public binary_function<_Tp, _Tp, _Tp>
> 28468:     {
> 28468:      
> 28468:       _Tp
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x * __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct divides : public binary_function<_Tp, _Tp, _Tp>
> 28468:     {
> 28468:      
> 28468:       _Tp
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x / __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct modulus : public binary_function<_Tp, _Tp, _Tp>
> 28468:     {
> 28468:      
> 28468:       _Tp
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x % __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct negate : public unary_function<_Tp, _Tp>
> 28468:     {
> 28468:      
> 28468:       _Tp
> 28468:       operator()(const _Tp& __x) const
> 28468:       { return -__x; }
> 28468:     };
> 28468: # 350 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:   template<typename _Tp>
> 28468:     struct equal_to : public binary_function<_Tp, _Tp, bool>
> 28468:     {
> 28468:      
> 28468:       bool
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x == __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct not_equal_to : public binary_function<_Tp, _Tp, bool>
> 28468:     {
> 28468:      
> 28468:       bool
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x != __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct greater : public binary_function<_Tp, _Tp, bool>
> 28468:     {
> 28468:      
> 28468:       bool
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x > __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct less : public binary_function<_Tp, _Tp, bool>
> 28468:     {
> 28468:      
> 28468:       bool
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x < __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct greater_equal : public binary_function<_Tp, _Tp, bool>
> 28468:     {
> 28468:      
> 28468:       bool
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x >= __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct less_equal : public binary_function<_Tp, _Tp, bool>
> 28468:     {
> 28468:      
> 28468:       bool
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x <= __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct greater<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
> 28468:     {
> 28468:       bool
> 28468:       operator()(_Tp* __x, _Tp* __y) const noexcept
> 28468:       {
> 28468: # 424 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:  return (long unsigned int)__x > (long unsigned int)__y;
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct less<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
> 28468:     {
> 28468:       bool
> 28468:       operator()(_Tp* __x, _Tp* __y) const noexcept
> 28468:       {
> 28468: # 443 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:  return (long unsigned int)__x < (long unsigned int)__y;
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct greater_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
> 28468:     {
> 28468:       bool
> 28468:       operator()(_Tp* __x, _Tp* __y) const noexcept
> 28468:       {
> 28468: # 462 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:  return (long unsigned int)__x >= (long unsigned int)__y;
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct less_equal<_Tp*> : public binary_function<_Tp*, _Tp*, bool>
> 28468:     {
> 28468:       bool
> 28468:       operator()(_Tp* __x, _Tp* __y) const noexcept
> 28468:       {
> 28468: # 481 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:  return (long unsigned int)__x <= (long unsigned int)__y;
> 28468:       }
> 28468:     };
> 28468: # 785 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:   template<typename _Tp>
> 28468:     struct logical_and : public binary_function<_Tp, _Tp, bool>
> 28468:     {
> 28468:      
> 28468:       bool
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x && __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct logical_or : public binary_function<_Tp, _Tp, bool>
> 28468:     {
> 28468:      
> 28468:       bool
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x || __y; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct logical_not : public unary_function<_Tp, bool>
> 28468:     {
> 28468:      
> 28468:       bool
> 28468:       operator()(const _Tp& __x) const
> 28468:       { return !__x; }
> 28468:     };
> 28468: # 878 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:   template<typename _Tp>
> 28468:     struct bit_and : public binary_function<_Tp, _Tp, _Tp>
> 28468:     {
> 28468:      
> 28468:       _Tp
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x & __y; }
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct bit_or : public binary_function<_Tp, _Tp, _Tp>
> 28468:     {
> 28468:      
> 28468:       _Tp
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x | __y; }
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct bit_xor : public binary_function<_Tp, _Tp, _Tp>
> 28468:     {
> 28468:      
> 28468:       _Tp
> 28468:       operator()(const _Tp& __x, const _Tp& __y) const
> 28468:       { return __x ^ __y; }
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct bit_not : public unary_function<_Tp, _Tp>
> 28468:     {
> 28468:    
> 28468:       _Tp
> 28468:       operator()(const _Tp& __x) const
> 28468:       { return ~__x; }
> 28468:     };
> 28468: # 1002 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:   template<typename _Predicate>
> 28468:     class unary_negate
> 28468:     : public unary_function<typename _Predicate::argument_type, bool>
> 28468:     {
> 28468:     protected:
> 28468:       _Predicate _M_pred;
> 28468: 
> 28468:     public:
> 28468:      
> 28468:       explicit
> 28468:       unary_negate(const _Predicate& __x) : _M_pred(__x) { }
> 28468: 
> 28468:      
> 28468:       bool
> 28468:       operator()(const typename _Predicate::argument_type& __x) const
> 28468:       { return !_M_pred(__x); }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Predicate>
> 28468:    
> 28468:     inline unary_negate<_Predicate>
> 28468:     not1(const _Predicate& __pred)
> 28468:     { return unary_negate<_Predicate>(__pred); }
> 28468: 
> 28468: 
> 28468:   template<typename _Predicate>
> 28468:     class binary_negate
> 28468:     : public binary_function<typename _Predicate::first_argument_type,
> 28468:         typename _Predicate::second_argument_type, bool>
> 28468:     {
> 28468:     protected:
> 28468:       _Predicate _M_pred;
> 28468: 
> 28468:     public:
> 28468:      
> 28468:       explicit
> 28468:       binary_negate(const _Predicate& __x) : _M_pred(__x) { }
> 28468: 
> 28468:      
> 28468:       bool
> 28468:       operator()(const typename _Predicate::first_argument_type& __x,
> 28468:    const typename _Predicate::second_argument_type& __y) const
> 28468:       { return !_M_pred(__x, __y); }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Predicate>
> 28468:    
> 28468:     inline binary_negate<_Predicate>
> 28468:     not2(const _Predicate& __pred)
> 28468:     { return binary_negate<_Predicate>(__pred); }
> 28468: # 1079 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:   template<typename _Arg, typename _Result>
> 28468:     class pointer_to_unary_function : public unary_function<_Arg, _Result>
> 28468:     {
> 28468:     protected:
> 28468:       _Result (*_M_ptr)(_Arg);
> 28468: 
> 28468:     public:
> 28468:       pointer_to_unary_function() { }
> 28468: 
> 28468:       explicit
> 28468:       pointer_to_unary_function(_Result (*__x)(_Arg))
> 28468:       : _M_ptr(__x) { }
> 28468: 
> 28468:       _Result
> 28468:       operator()(_Arg __x) const
> 28468:       { return _M_ptr(__x); }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Arg, typename _Result>
> 28468:     inline pointer_to_unary_function<_Arg, _Result>
> 28468:     ptr_fun(_Result (*__x)(_Arg))
> 28468:     { return pointer_to_unary_function<_Arg, _Result>(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Arg1, typename _Arg2, typename _Result>
> 28468:     class pointer_to_binary_function
> 28468:     : public binary_function<_Arg1, _Arg2, _Result>
> 28468:     {
> 28468:     protected:
> 28468:       _Result (*_M_ptr)(_Arg1, _Arg2);
> 28468: 
> 28468:     public:
> 28468:       pointer_to_binary_function() { }
> 28468: 
> 28468:       explicit
> 28468:       pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2))
> 28468:       : _M_ptr(__x) { }
> 28468: 
> 28468:       _Result
> 28468:       operator()(_Arg1 __x, _Arg2 __y) const
> 28468:       { return _M_ptr(__x, __y); }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Arg1, typename _Arg2, typename _Result>
> 28468:     inline pointer_to_binary_function<_Arg1, _Arg2, _Result>
> 28468:     ptr_fun(_Result (*__x)(_Arg1, _Arg2))
> 28468:     { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct _Identity
> 28468:     : public unary_function<_Tp, _Tp>
> 28468:     {
> 28468:       _Tp&
> 28468:       operator()(_Tp& __x) const
> 28468:       { return __x; }
> 28468: 
> 28468:       const _Tp&
> 28468:       operator()(const _Tp& __x) const
> 28468:       { return __x; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp> struct _Identity<const _Tp> : _Identity<_Tp> { };
> 28468: 
> 28468:   template<typename _Pair>
> 28468:     struct _Select1st
> 28468:     : public unary_function<_Pair, typename _Pair::first_type>
> 28468:     {
> 28468:       typename _Pair::first_type&
> 28468:       operator()(_Pair& __x) const
> 28468:       { return __x.first; }
> 28468: 
> 28468:       const typename _Pair::first_type&
> 28468:       operator()(const _Pair& __x) const
> 28468:       { return __x.first; }
> 28468: 
> 28468: 
> 28468:       template<typename _Pair2>
> 28468:         typename _Pair2::first_type&
> 28468:         operator()(_Pair2& __x) const
> 28468:         { return __x.first; }
> 28468: 
> 28468:       template<typename _Pair2>
> 28468:         const typename _Pair2::first_type&
> 28468:         operator()(const _Pair2& __x) const
> 28468:         { return __x.first; }
> 28468: 
> 28468:     };
> 28468: 
> 28468:   template<typename _Pair>
> 28468:     struct _Select2nd
> 28468:     : public unary_function<_Pair, typename _Pair::second_type>
> 28468:     {
> 28468:       typename _Pair::second_type&
> 28468:       operator()(_Pair& __x) const
> 28468:       { return __x.second; }
> 28468: 
> 28468:       const typename _Pair::second_type&
> 28468:       operator()(const _Pair& __x) const
> 28468:       { return __x.second; }
> 28468:     };
> 28468: # 1202 "/usr/include/c++/9/bits/stl_function.h" 3
> 28468:   template<typename _Ret, typename _Tp>
> 28468:     class mem_fun_t : public unary_function<_Tp*, _Ret>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       mem_fun_t(_Ret (_Tp::*__pf)())
> 28468:       : _M_f(__pf) { }
> 28468: 
> 28468:       _Ret
> 28468:       operator()(_Tp* __p) const
> 28468:       { return (__p->*_M_f)(); }
> 28468: 
> 28468:     private:
> 28468:       _Ret (_Tp::*_M_f)();
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ret, typename _Tp>
> 28468:     class const_mem_fun_t : public unary_function<const _Tp*, _Ret>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       const_mem_fun_t(_Ret (_Tp::*__pf)() const)
> 28468:       : _M_f(__pf) { }
> 28468: 
> 28468:       _Ret
> 28468:       operator()(const _Tp* __p) const
> 28468:       { return (__p->*_M_f)(); }
> 28468: 
> 28468:     private:
> 28468:       _Ret (_Tp::*_M_f)() const;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ret, typename _Tp>
> 28468:     class mem_fun_ref_t : public unary_function<_Tp, _Ret>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       mem_fun_ref_t(_Ret (_Tp::*__pf)())
> 28468:       : _M_f(__pf) { }
> 28468: 
> 28468:       _Ret
> 28468:       operator()(_Tp& __r) const
> 28468:       { return (__r.*_M_f)(); }
> 28468: 
> 28468:     private:
> 28468:       _Ret (_Tp::*_M_f)();
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ret, typename _Tp>
> 28468:     class const_mem_fun_ref_t : public unary_function<_Tp, _Ret>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const)
> 28468:       : _M_f(__pf) { }
> 28468: 
> 28468:       _Ret
> 28468:       operator()(const _Tp& __r) const
> 28468:       { return (__r.*_M_f)(); }
> 28468: 
> 28468:     private:
> 28468:       _Ret (_Tp::*_M_f)() const;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ret, typename _Tp, typename _Arg>
> 28468:     class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       mem_fun1_t(_Ret (_Tp::*__pf)(_Arg))
> 28468:       : _M_f(__pf) { }
> 28468: 
> 28468:       _Ret
> 28468:       operator()(_Tp* __p, _Arg __x) const
> 28468:       { return (__p->*_M_f)(__x); }
> 28468: 
> 28468:     private:
> 28468:       _Ret (_Tp::*_M_f)(_Arg);
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ret, typename _Tp, typename _Arg>
> 28468:     class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const)
> 28468:       : _M_f(__pf) { }
> 28468: 
> 28468:       _Ret
> 28468:       operator()(const _Tp* __p, _Arg __x) const
> 28468:       { return (__p->*_M_f)(__x); }
> 28468: 
> 28468:     private:
> 28468:       _Ret (_Tp::*_M_f)(_Arg) const;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ret, typename _Tp, typename _Arg>
> 28468:     class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg))
> 28468:       : _M_f(__pf) { }
> 28468: 
> 28468:       _Ret
> 28468:       operator()(_Tp& __r, _Arg __x) const
> 28468:       { return (__r.*_M_f)(__x); }
> 28468: 
> 28468:     private:
> 28468:       _Ret (_Tp::*_M_f)(_Arg);
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ret, typename _Tp, typename _Arg>
> 28468:     class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const)
> 28468:       : _M_f(__pf) { }
> 28468: 
> 28468:       _Ret
> 28468:       operator()(const _Tp& __r, _Arg __x) const
> 28468:       { return (__r.*_M_f)(__x); }
> 28468: 
> 28468:     private:
> 28468:       _Ret (_Tp::*_M_f)(_Arg) const;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ret, typename _Tp>
> 28468:     inline mem_fun_t<_Ret, _Tp>
> 28468:     mem_fun(_Ret (_Tp::*__f)())
> 28468:     { return mem_fun_t<_Ret, _Tp>(__f); }
> 28468: 
> 28468:   template<typename _Ret, typename _Tp>
> 28468:     inline const_mem_fun_t<_Ret, _Tp>
> 28468:     mem_fun(_Ret (_Tp::*__f)() const)
> 28468:     { return const_mem_fun_t<_Ret, _Tp>(__f); }
> 28468: 
> 28468:   template<typename _Ret, typename _Tp>
> 28468:     inline mem_fun_ref_t<_Ret, _Tp>
> 28468:     mem_fun_ref(_Ret (_Tp::*__f)())
> 28468:     { return mem_fun_ref_t<_Ret, _Tp>(__f); }
> 28468: 
> 28468:   template<typename _Ret, typename _Tp>
> 28468:     inline const_mem_fun_ref_t<_Ret, _Tp>
> 28468:     mem_fun_ref(_Ret (_Tp::*__f)() const)
> 28468:     { return const_mem_fun_ref_t<_Ret, _Tp>(__f); }
> 28468: 
> 28468:   template<typename _Ret, typename _Tp, typename _Arg>
> 28468:     inline mem_fun1_t<_Ret, _Tp, _Arg>
> 28468:     mem_fun(_Ret (_Tp::*__f)(_Arg))
> 28468:     { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
> 28468: 
> 28468:   template<typename _Ret, typename _Tp, typename _Arg>
> 28468:     inline const_mem_fun1_t<_Ret, _Tp, _Arg>
> 28468:     mem_fun(_Ret (_Tp::*__f)(_Arg) const)
> 28468:     { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); }
> 28468: 
> 28468:   template<typename _Ret, typename _Tp, typename _Arg>
> 28468:     inline mem_fun1_ref_t<_Ret, _Tp, _Arg>
> 28468:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg))
> 28468:     { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
> 28468: 
> 28468:   template<typename _Ret, typename _Tp, typename _Arg>
> 28468:     inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg>
> 28468:     mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const)
> 28468:     { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/backward/binders.h" 1 3
> 28468: # 60 "/usr/include/c++/9/backward/binders.h" 3
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 107 "/usr/include/c++/9/backward/binders.h" 3
> 28468:   template<typename _Operation>
> 28468:     class binder1st
> 28468:     : public unary_function<typename _Operation::second_argument_type,
> 28468:        typename _Operation::result_type>
> 28468:     {
> 28468:     protected:
> 28468:       _Operation op;
> 28468:       typename _Operation::first_argument_type value;
> 28468: 
> 28468:     public:
> 28468:       binder1st(const _Operation& __x,
> 28468:   const typename _Operation::first_argument_type& __y)
> 28468:       : op(__x), value(__y) { }
> 28468: 
> 28468:       typename _Operation::result_type
> 28468:       operator()(const typename _Operation::second_argument_type& __x) const
> 28468:       { return op(value, __x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       typename _Operation::result_type
> 28468:       operator()(typename _Operation::second_argument_type& __x) const
> 28468:       { return op(value, __x); }
> 28468:     } __attribute__ ((__deprecated__));
> 28468: 
> 28468: 
> 28468:   template<typename _Operation, typename _Tp>
> 28468:     inline binder1st<_Operation>
> 28468:     bind1st(const _Operation& __fn, const _Tp& __x)
> 28468:     {
> 28468:       typedef typename _Operation::first_argument_type _Arg1_type;
> 28468:       return binder1st<_Operation>(__fn, _Arg1_type(__x));
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Operation>
> 28468:     class binder2nd
> 28468:     : public unary_function<typename _Operation::first_argument_type,
> 28468:        typename _Operation::result_type>
> 28468:     {
> 28468:     protected:
> 28468:       _Operation op;
> 28468:       typename _Operation::second_argument_type value;
> 28468: 
> 28468:     public:
> 28468:       binder2nd(const _Operation& __x,
> 28468:   const typename _Operation::second_argument_type& __y)
> 28468:       : op(__x), value(__y) { }
> 28468: 
> 28468:       typename _Operation::result_type
> 28468:       operator()(const typename _Operation::first_argument_type& __x) const
> 28468:       { return op(__x, value); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       typename _Operation::result_type
> 28468:       operator()(typename _Operation::first_argument_type& __x) const
> 28468:       { return op(__x, value); }
> 28468:     } __attribute__ ((__deprecated__));
> 28468: 
> 28468: 
> 28468:   template<typename _Operation, typename _Tp>
> 28468:     inline binder2nd<_Operation>
> 28468:     bind2nd(const _Operation& __fn, const _Tp& __x)
> 28468:     {
> 28468:       typedef typename _Operation::second_argument_type _Arg2_type;
> 28468:       return binder2nd<_Operation>(__fn, _Arg2_type(__x));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: #pragma GCC diagnostic pop
> 28468: # 1393 "/usr/include/c++/9/bits/stl_function.h" 2 3
> 28468: # 49 "/usr/include/c++/9/string" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/range_access.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/range_access.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/range_access.h" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/initializer_list" 1 3
> 28468: # 33 "/usr/include/c++/9/initializer_list" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/initializer_list" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: #pragma GCC visibility push(default)
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std
> 28468: {
> 28468: 
> 28468:   template<class _E>
> 28468:     class initializer_list
> 28468:     {
> 28468:     public:
> 28468:       typedef _E value_type;
> 28468:       typedef const _E& reference;
> 28468:       typedef const _E& const_reference;
> 28468:       typedef size_t size_type;
> 28468:       typedef const _E* iterator;
> 28468:       typedef const _E* const_iterator;
> 28468: 
> 28468:     private:
> 28468:       iterator _M_array;
> 28468:       size_type _M_len;
> 28468: 
> 28468: 
> 28468:       constexpr initializer_list(const_iterator __a, size_type __l)
> 28468:       : _M_array(__a), _M_len(__l) { }
> 28468: 
> 28468:     public:
> 28468:       constexpr initializer_list() noexcept
> 28468:       : _M_array(0), _M_len(0) { }
> 28468: 
> 28468: 
> 28468:       constexpr size_type
> 28468:       size() const noexcept { return _M_len; }
> 28468: 
> 28468: 
> 28468:       constexpr const_iterator
> 28468:       begin() const noexcept { return _M_array; }
> 28468: 
> 28468: 
> 28468:       constexpr const_iterator
> 28468:       end() const noexcept { return begin() + size(); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<class _Tp>
> 28468:     constexpr const _Tp*
> 28468:     begin(initializer_list<_Tp> __ils) noexcept
> 28468:     { return __ils.begin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<class _Tp>
> 28468:     constexpr const _Tp*
> 28468:     end(initializer_list<_Tp> __ils) noexcept
> 28468:     { return __ils.end(); }
> 28468: }
> 28468: 
> 28468: #pragma GCC visibility pop
> 28468: # 37 "/usr/include/c++/9/bits/range_access.h" 2 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Container>
> 28468:     inline auto
> 28468:     begin(_Container& __cont) -> decltype(__cont.begin())
> 28468:     { return __cont.begin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Container>
> 28468:     inline auto
> 28468:     begin(const _Container& __cont) -> decltype(__cont.begin())
> 28468:     { return __cont.begin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Container>
> 28468:     inline auto
> 28468:     end(_Container& __cont) -> decltype(__cont.end())
> 28468:     { return __cont.end(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Container>
> 28468:     inline auto
> 28468:     end(const _Container& __cont) -> decltype(__cont.end())
> 28468:     { return __cont.end(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, size_t _Nm>
> 28468:     inline _Tp*
> 28468:     begin(_Tp (&__arr)[_Nm])
> 28468:     { return __arr; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, size_t _Nm>
> 28468:     inline _Tp*
> 28468:     end(_Tp (&__arr)[_Nm])
> 28468:     { return __arr + _Nm; }
> 28468: # 323 "/usr/include/c++/9/bits/range_access.h" 3
> 28468: 
> 28468: }
> 28468: # 55 "/usr/include/c++/9/string" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/basic_string.h" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/ext/atomicity.h" 1 3
> 28468: # 32 "/usr/include/c++/9/ext/atomicity.h" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/ext/atomicity.h" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr.h" 1 3
> 28468: # 30 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr.h" 3
> 28468: #pragma GCC visibility push(default)
> 28468: # 148 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr.h" 3
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h" 1 3
> 28468: # 35 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h" 3
> 28468: # 1 "/usr/include/pthread.h" 1 3 4
> 28468: # 23 "/usr/include/pthread.h" 3 4
> 28468: # 1 "/usr/include/sched.h" 1 3 4
> 28468: # 29 "/usr/include/sched.h" 3 4
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 1 3 4
> 28468: # 30 "/usr/include/sched.h" 2 3 4
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/time_t.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __time_t time_t;
> 28468: # 32 "/usr/include/sched.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 1 3 4
> 28468: # 9 "/usr/include/x86_64-linux-gnu/bits/types/struct_timespec.h" 3 4
> 28468: struct timespec
> 28468: {
> 28468:   __time_t tv_sec;
> 28468:   __syscall_slong_t tv_nsec;
> 28468: };
> 28468: # 33 "/usr/include/sched.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __pid_t pid_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/sched.h" 1 3 4
> 28468: # 74 "/usr/include/x86_64-linux-gnu/bits/sched.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h" 1 3 4
> 28468: # 23 "/usr/include/x86_64-linux-gnu/bits/types/struct_sched_param.h" 3 4
> 28468: struct sched_param
> 28468: {
> 28468:   int sched_priority;
> 28468: };
> 28468: # 75 "/usr/include/x86_64-linux-gnu/bits/sched.h" 2 3 4
> 28468: 
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int clone (int (*__fn) (void *__arg), void *__child_stack,
> 28468:     int __flags, void *__arg, ...) throw ();
> 28468: 
> 28468: 
> 28468: extern int unshare (int __flags) throw ();
> 28468: 
> 28468: 
> 28468: extern int sched_getcpu (void) throw ();
> 28468: 
> 28468: 
> 28468: extern int getcpu (unsigned int *, unsigned int *) throw ();
> 28468: 
> 28468: 
> 28468: extern int setns (int __fd, int __nstype) throw ();
> 28468: 
> 28468: 
> 28468: }
> 28468: # 44 "/usr/include/sched.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 1 3 4
> 28468: # 32 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 3 4
> 28468: typedef unsigned long int __cpu_mask;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef struct
> 28468: {
> 28468:   __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))];
> 28468: } cpu_set_t;
> 28468: # 115 "/usr/include/x86_64-linux-gnu/bits/cpu-set.h" 3 4
> 28468: extern "C" {
> 28468: 
> 28468: extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp)
> 28468:      throw ();
> 28468: extern cpu_set_t *__sched_cpualloc (size_t __count) throw () __attribute__ ((__warn_unused_result__));
> 28468: extern void __sched_cpufree (cpu_set_t *__set) throw ();
> 28468: 
> 28468: }
> 28468: # 45 "/usr/include/sched.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: extern int sched_setparam (__pid_t __pid, const struct sched_param *__param)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw ();
> 28468: 
> 28468: 
> 28468: extern int sched_setscheduler (__pid_t __pid, int __policy,
> 28468:           const struct sched_param *__param) throw ();
> 28468: 
> 28468: 
> 28468: extern int sched_getscheduler (__pid_t __pid) throw ();
> 28468: 
> 28468: 
> 28468: extern int sched_yield (void) throw ();
> 28468: 
> 28468: 
> 28468: extern int sched_get_priority_max (int __algorithm) throw ();
> 28468: 
> 28468: 
> 28468: extern int sched_get_priority_min (int __algorithm) throw ();
> 28468: 
> 28468: 
> 28468: extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw ();
> 28468: # 121 "/usr/include/sched.h" 3 4
> 28468: extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize,
> 28468:          const cpu_set_t *__cpuset) throw ();
> 28468: 
> 28468: 
> 28468: extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize,
> 28468:          cpu_set_t *__cpuset) throw ();
> 28468: 
> 28468: 
> 28468: }
> 28468: # 24 "/usr/include/pthread.h" 2 3 4
> 28468: # 1 "/usr/include/time.h" 1 3 4
> 28468: # 29 "/usr/include/time.h" 3 4
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 1 3 4
> 28468: # 30 "/usr/include/time.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/time.h" 1 3 4
> 28468: # 73 "/usr/include/x86_64-linux-gnu/bits/time.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/timex.h" 1 3 4
> 28468: # 22 "/usr/include/x86_64-linux-gnu/bits/timex.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_timeval.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: struct timeval
> 28468: {
> 28468:   __time_t tv_sec;
> 28468:   __suseconds_t tv_usec;
> 28468: };
> 28468: # 23 "/usr/include/x86_64-linux-gnu/bits/timex.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: struct timex
> 28468: {
> 28468:   unsigned int modes;
> 28468:   __syscall_slong_t offset;
> 28468:   __syscall_slong_t freq;
> 28468:   __syscall_slong_t maxerror;
> 28468:   __syscall_slong_t esterror;
> 28468:   int status;
> 28468:   __syscall_slong_t constant;
> 28468:   __syscall_slong_t precision;
> 28468:   __syscall_slong_t tolerance;
> 28468:   struct timeval time;
> 28468:   __syscall_slong_t tick;
> 28468:   __syscall_slong_t ppsfreq;
> 28468:   __syscall_slong_t jitter;
> 28468:   int shift;
> 28468:   __syscall_slong_t stabil;
> 28468:   __syscall_slong_t jitcnt;
> 28468:   __syscall_slong_t calcnt;
> 28468:   __syscall_slong_t errcnt;
> 28468:   __syscall_slong_t stbcnt;
> 28468: 
> 28468:   int tai;
> 28468: 
> 28468: 
> 28468:   int :32; int :32; int :32; int :32;
> 28468:   int :32; int :32; int :32; int :32;
> 28468:   int :32; int :32; int :32;
> 28468: };
> 28468: # 74 "/usr/include/x86_64-linux-gnu/bits/time.h" 2 3 4
> 28468: 
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) throw ();
> 28468: 
> 28468: }
> 28468: # 34 "/usr/include/time.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/clock_t.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __clock_t clock_t;
> 28468: # 38 "/usr/include/time.h" 2 3 4
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_tm.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: struct tm
> 28468: {
> 28468:   int tm_sec;
> 28468:   int tm_min;
> 28468:   int tm_hour;
> 28468:   int tm_mday;
> 28468:   int tm_mon;
> 28468:   int tm_year;
> 28468:   int tm_wday;
> 28468:   int tm_yday;
> 28468:   int tm_isdst;
> 28468: 
> 28468: 
> 28468:   long int tm_gmtoff;
> 28468:   const char *tm_zone;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: };
> 28468: # 40 "/usr/include/time.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/clockid_t.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __clockid_t clockid_t;
> 28468: # 47 "/usr/include/time.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/timer_t.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __timer_t timer_t;
> 28468: # 48 "/usr/include/time.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_itimerspec.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: struct itimerspec
> 28468:   {
> 28468:     struct timespec it_interval;
> 28468:     struct timespec it_value;
> 28468:   };
> 28468: # 49 "/usr/include/time.h" 2 3 4
> 28468: struct sigevent;
> 28468: # 68 "/usr/include/time.h" 3 4
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: extern clock_t clock (void) throw ();
> 28468: 
> 28468: 
> 28468: extern time_t time (time_t *__timer) throw ();
> 28468: 
> 28468: 
> 28468: extern double difftime (time_t __time1, time_t __time0)
> 28468:      throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern time_t mktime (struct tm *__tp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t strftime (char *__restrict __s, size_t __maxsize,
> 28468:    const char *__restrict __format,
> 28468:    const struct tm *__restrict __tp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *strptime (const char *__restrict __s,
> 28468:          const char *__restrict __fmt, struct tm *__tp)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t strftime_l (char *__restrict __s, size_t __maxsize,
> 28468:      const char *__restrict __format,
> 28468:      const struct tm *__restrict __tp,
> 28468:      locale_t __loc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *strptime_l (const char *__restrict __s,
> 28468:     const char *__restrict __fmt, struct tm *__tp,
> 28468:     locale_t __loc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern struct tm *gmtime (const time_t *__timer) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern struct tm *localtime (const time_t *__timer) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern struct tm *gmtime_r (const time_t *__restrict __timer,
> 28468:        struct tm *__restrict __tp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern struct tm *localtime_r (const time_t *__restrict __timer,
> 28468:           struct tm *__restrict __tp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *asctime (const struct tm *__tp) throw ();
> 28468: 
> 28468: 
> 28468: extern char *ctime (const time_t *__timer) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *asctime_r (const struct tm *__restrict __tp,
> 28468:    char *__restrict __buf) throw ();
> 28468: 
> 28468: 
> 28468: extern char *ctime_r (const time_t *__restrict __timer,
> 28468:         char *__restrict __buf) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *__tzname[2];
> 28468: extern int __daylight;
> 28468: extern long int __timezone;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *tzname[2];
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void tzset (void) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int daylight;
> 28468: extern long int timezone;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int stime (const time_t *__when) throw ();
> 28468: # 196 "/usr/include/time.h" 3 4
> 28468: extern time_t timegm (struct tm *__tp) throw ();
> 28468: 
> 28468: 
> 28468: extern time_t timelocal (struct tm *__tp) throw ();
> 28468: 
> 28468: 
> 28468: extern int dysize (int __year) throw () __attribute__ ((__const__));
> 28468: # 211 "/usr/include/time.h" 3 4
> 28468: extern int nanosleep (const struct timespec *__requested_time,
> 28468:         struct timespec *__remaining);
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw ();
> 28468: 
> 28468: 
> 28468: extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw ();
> 28468: 
> 28468: 
> 28468: extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int clock_nanosleep (clockid_t __clock_id, int __flags,
> 28468:        const struct timespec *__req,
> 28468:        struct timespec *__rem);
> 28468: 
> 28468: 
> 28468: extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int timer_create (clockid_t __clock_id,
> 28468:     struct sigevent *__restrict __evp,
> 28468:     timer_t *__restrict __timerid) throw ();
> 28468: 
> 28468: 
> 28468: extern int timer_delete (timer_t __timerid) throw ();
> 28468: 
> 28468: 
> 28468: extern int timer_settime (timer_t __timerid, int __flags,
> 28468:      const struct itimerspec *__restrict __value,
> 28468:      struct itimerspec *__restrict __ovalue) throw ();
> 28468: 
> 28468: 
> 28468: extern int timer_gettime (timer_t __timerid, struct itimerspec *__value)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: extern int timer_getoverrun (timer_t __timerid) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int timespec_get (struct timespec *__ts, int __base)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: # 280 "/usr/include/time.h" 3 4
> 28468: extern int getdate_err;
> 28468: # 289 "/usr/include/time.h" 3 4
> 28468: extern struct tm *getdate (const char *__string);
> 28468: # 303 "/usr/include/time.h" 3 4
> 28468: extern int getdate_r (const char *__restrict __string,
> 28468:         struct tm *__restrict __resbufp);
> 28468: 
> 28468: 
> 28468: }
> 28468: # 25 "/usr/include/pthread.h" 2 3 4
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 1 3 4
> 28468: # 23 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 1 3 4
> 28468: # 77 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 1 3 4
> 28468: # 21 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
> 28468: # 22 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 2 3 4
> 28468: # 65 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4
> 28468: struct __pthread_rwlock_arch_t
> 28468: {
> 28468:   unsigned int __readers;
> 28468:   unsigned int __writers;
> 28468:   unsigned int __wrphase_futex;
> 28468:   unsigned int __writers_futex;
> 28468:   unsigned int __pad3;
> 28468:   unsigned int __pad4;
> 28468: 
> 28468:   int __cur_writer;
> 28468:   int __shared;
> 28468:   signed char __rwelision;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   unsigned char __pad1[7];
> 28468: 
> 28468: 
> 28468:   unsigned long int __pad2;
> 28468: 
> 28468: 
> 28468:   unsigned int __flags;
> 28468: # 99 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes-arch.h" 3 4
> 28468: };
> 28468: # 78 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef struct __pthread_internal_list
> 28468: {
> 28468:   struct __pthread_internal_list *__prev;
> 28468:   struct __pthread_internal_list *__next;
> 28468: } __pthread_list_t;
> 28468: # 118 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4
> 28468: struct __pthread_mutex_s
> 28468: {
> 28468:   int __lock ;
> 28468:   unsigned int __count;
> 28468:   int __owner;
> 28468: 
> 28468:   unsigned int __nusers;
> 28468: # 148 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4
> 28468:   int __kind;
> 28468:  
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   short __spins; short __elision;
> 28468:   __pthread_list_t __list;
> 28468: # 165 "/usr/include/x86_64-linux-gnu/bits/thread-shared-types.h" 3 4
> 28468:  
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: struct __pthread_cond_s
> 28468: {
> 28468:   __extension__ union
> 28468:   {
> 28468:     __extension__ unsigned long long int __wseq;
> 28468:     struct
> 28468:     {
> 28468:       unsigned int __low;
> 28468:       unsigned int __high;
> 28468:     } __wseq32;
> 28468:   };
> 28468:   __extension__ union
> 28468:   {
> 28468:     __extension__ unsigned long long int __g1_start;
> 28468:     struct
> 28468:     {
> 28468:       unsigned int __low;
> 28468:       unsigned int __high;
> 28468:     } __g1_start32;
> 28468:   };
> 28468:   unsigned int __g_refs[2] ;
> 28468:   unsigned int __g_size[2];
> 28468:   unsigned int __g1_orig_size;
> 28468:   unsigned int __wrefs;
> 28468:   unsigned int __g_signals[2];
> 28468: };
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/pthreadtypes.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef unsigned long int pthread_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef union
> 28468: {
> 28468:   char __size[4];
> 28468:   int __align;
> 28468: } pthread_mutexattr_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef union
> 28468: {
> 28468:   char __size[4];
> 28468:   int __align;
> 28468: } pthread_condattr_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef unsigned int pthread_key_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef int pthread_once_t;
> 28468: 
> 28468: 
> 28468: union pthread_attr_t
> 28468: {
> 28468:   char __size[56];
> 28468:   long int __align;
> 28468: };
> 28468: 
> 28468: typedef union pthread_attr_t pthread_attr_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef union
> 28468: {
> 28468:   struct __pthread_mutex_s __data;
> 28468:   char __size[40];
> 28468:   long int __align;
> 28468: } pthread_mutex_t;
> 28468: 
> 28468: 
> 28468: typedef union
> 28468: {
> 28468:   struct __pthread_cond_s __data;
> 28468:   char __size[48];
> 28468:   __extension__ long long int __align;
> 28468: } pthread_cond_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef union
> 28468: {
> 28468:   struct __pthread_rwlock_arch_t __data;
> 28468:   char __size[56];
> 28468:   long int __align;
> 28468: } pthread_rwlock_t;
> 28468: 
> 28468: typedef union
> 28468: {
> 28468:   char __size[8];
> 28468:   long int __align;
> 28468: } pthread_rwlockattr_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef volatile int pthread_spinlock_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef union
> 28468: {
> 28468:   char __size[32];
> 28468:   long int __align;
> 28468: } pthread_barrier_t;
> 28468: 
> 28468: typedef union
> 28468: {
> 28468:   char __size[4];
> 28468:   int __align;
> 28468: } pthread_barrierattr_t;
> 28468: # 27 "/usr/include/pthread.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 1 3 4
> 28468: # 26 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
> 28468: # 27 "/usr/include/x86_64-linux-gnu/bits/setjmp.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef long int __jmp_buf[8];
> 28468: # 28 "/usr/include/pthread.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
> 28468: # 29 "/usr/include/pthread.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: enum
> 28468: {
> 28468:   PTHREAD_CREATE_JOINABLE,
> 28468: 
> 28468:   PTHREAD_CREATE_DETACHED
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: enum
> 28468: {
> 28468:   PTHREAD_MUTEX_TIMED_NP,
> 28468:   PTHREAD_MUTEX_RECURSIVE_NP,
> 28468:   PTHREAD_MUTEX_ERRORCHECK_NP,
> 28468:   PTHREAD_MUTEX_ADAPTIVE_NP
> 28468: 
> 28468:   ,
> 28468:   PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP,
> 28468:   PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP,
> 28468:   PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP,
> 28468:   PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL
> 28468: 
> 28468: 
> 28468: 
> 28468:   , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: enum
> 28468: {
> 28468:   PTHREAD_MUTEX_STALLED,
> 28468:   PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED,
> 28468:   PTHREAD_MUTEX_ROBUST,
> 28468:   PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: enum
> 28468: {
> 28468:   PTHREAD_PRIO_NONE,
> 28468:   PTHREAD_PRIO_INHERIT,
> 28468:   PTHREAD_PRIO_PROTECT
> 28468: };
> 28468: # 115 "/usr/include/pthread.h" 3 4
> 28468: enum
> 28468: {
> 28468:   PTHREAD_RWLOCK_PREFER_READER_NP,
> 28468:   PTHREAD_RWLOCK_PREFER_WRITER_NP,
> 28468:   PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP,
> 28468:   PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP
> 28468: };
> 28468: # 156 "/usr/include/pthread.h" 3 4
> 28468: enum
> 28468: {
> 28468:   PTHREAD_INHERIT_SCHED,
> 28468: 
> 28468:   PTHREAD_EXPLICIT_SCHED
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: enum
> 28468: {
> 28468:   PTHREAD_SCOPE_SYSTEM,
> 28468: 
> 28468:   PTHREAD_SCOPE_PROCESS
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: enum
> 28468: {
> 28468:   PTHREAD_PROCESS_PRIVATE,
> 28468: 
> 28468:   PTHREAD_PROCESS_SHARED
> 28468: 
> 28468: };
> 28468: # 191 "/usr/include/pthread.h" 3 4
> 28468: struct _pthread_cleanup_buffer
> 28468: {
> 28468:   void (*__routine) (void *);
> 28468:   void *__arg;
> 28468:   int __canceltype;
> 28468:   struct _pthread_cleanup_buffer *__prev;
> 28468: };
> 28468: 
> 28468: 
> 28468: enum
> 28468: {
> 28468:   PTHREAD_CANCEL_ENABLE,
> 28468: 
> 28468:   PTHREAD_CANCEL_DISABLE
> 28468: 
> 28468: };
> 28468: enum
> 28468: {
> 28468:   PTHREAD_CANCEL_DEFERRED,
> 28468: 
> 28468:   PTHREAD_CANCEL_ASYNCHRONOUS
> 28468: 
> 28468: };
> 28468: # 229 "/usr/include/pthread.h" 3 4
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_create (pthread_t *__restrict __newthread,
> 28468:       const pthread_attr_t *__restrict __attr,
> 28468:       void *(*__start_routine) (void *),
> 28468:       void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_join (pthread_t __th, void **__thread_return);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return,
> 28468:      const struct timespec *__abstime);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_detach (pthread_t __th) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern pthread_t pthread_self (void) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int pthread_equal (pthread_t __thread1, pthread_t __thread2)
> 28468:   throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_destroy (pthread_attr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr,
> 28468:      int *__detachstate)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_setdetachstate (pthread_attr_t *__attr,
> 28468:      int __detachstate)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_getguardsize (const pthread_attr_t *__attr,
> 28468:           size_t *__guardsize)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_setguardsize (pthread_attr_t *__attr,
> 28468:           size_t __guardsize)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr,
> 28468:            struct sched_param *__restrict __param)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr,
> 28468:            const struct sched_param *__restrict
> 28468:            __param) throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict
> 28468:      __attr, int *__restrict __policy)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict
> 28468:       __attr, int *__restrict __inherit)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_setinheritsched (pthread_attr_t *__attr,
> 28468:       int __inherit)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr,
> 28468:       int *__restrict __scope)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict
> 28468:           __attr, void **__restrict __stackaddr)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_setstackaddr (pthread_attr_t *__attr,
> 28468:           void *__stackaddr)
> 28468:      throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__));
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict
> 28468:           __attr, size_t *__restrict __stacksize)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_setstacksize (pthread_attr_t *__attr,
> 28468:           size_t __stacksize)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr,
> 28468:       void **__restrict __stackaddr,
> 28468:       size_t *__restrict __stacksize)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2, 3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr,
> 28468:       size_t __stacksize) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr,
> 28468:      size_t __cpusetsize,
> 28468:      const cpu_set_t *__cpuset)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr,
> 28468:      size_t __cpusetsize,
> 28468:      cpu_set_t *__cpuset)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: 
> 28468: 
> 28468: extern int pthread_getattr_default_np (pthread_attr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_setattr_default_np (const pthread_attr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_setschedparam (pthread_t __target_thread, int __policy,
> 28468:       const struct sched_param *__param)
> 28468:      throw () __attribute__ ((__nonnull__ (3)));
> 28468: 
> 28468: 
> 28468: extern int pthread_getschedparam (pthread_t __target_thread,
> 28468:       int *__restrict __policy,
> 28468:       struct sched_param *__restrict __param)
> 28468:      throw () __attribute__ ((__nonnull__ (2, 3)));
> 28468: 
> 28468: 
> 28468: extern int pthread_setschedprio (pthread_t __target_thread, int __prio)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_getname_np (pthread_t __target_thread, char *__buf,
> 28468:           size_t __buflen)
> 28468:      throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_setname_np (pthread_t __target_thread, const char *__name)
> 28468:      throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_getconcurrency (void) throw ();
> 28468: 
> 28468: 
> 28468: extern int pthread_setconcurrency (int __level) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_yield (void) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize,
> 28468:        const cpu_set_t *__cpuset)
> 28468:      throw () __attribute__ ((__nonnull__ (3)));
> 28468: 
> 28468: 
> 28468: extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize,
> 28468:        cpu_set_t *__cpuset)
> 28468:      throw () __attribute__ ((__nonnull__ (3)));
> 28468: # 495 "/usr/include/pthread.h" 3 4
> 28468: extern int pthread_once (pthread_once_t *__once_control,
> 28468:     void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2)));
> 28468: # 507 "/usr/include/pthread.h" 3 4
> 28468: extern int pthread_setcancelstate (int __state, int *__oldstate);
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_setcanceltype (int __type, int *__oldtype);
> 28468: 
> 28468: 
> 28468: extern int pthread_cancel (pthread_t __th);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void pthread_testcancel (void);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef struct
> 28468: {
> 28468:   struct
> 28468:   {
> 28468:     __jmp_buf __cancel_jmp_buf;
> 28468:     int __mask_was_saved;
> 28468:   } __cancel_jmp_buf[1];
> 28468:   void *__pad[4];
> 28468: } __pthread_unwind_buf_t __attribute__ ((__aligned__));
> 28468: # 541 "/usr/include/pthread.h" 3 4
> 28468: struct __pthread_cleanup_frame
> 28468: {
> 28468:   void (*__cancel_routine) (void *);
> 28468:   void *__cancel_arg;
> 28468:   int __do_it;
> 28468:   int __cancel_type;
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class __pthread_cleanup_class
> 28468: {
> 28468:   void (*__cancel_routine) (void *);
> 28468:   void *__cancel_arg;
> 28468:   int __do_it;
> 28468:   int __cancel_type;
> 28468: 
> 28468:  public:
> 28468:   __pthread_cleanup_class (void (*__fct) (void *), void *__arg)
> 28468:     : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { }
> 28468:   ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); }
> 28468:   void __setdoit (int __newval) { __do_it = __newval; }
> 28468:   void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED,
> 28468:         &__cancel_type); }
> 28468:   void __restore () const { pthread_setcanceltype (__cancel_type, 0); }
> 28468: };
> 28468: # 743 "/usr/include/pthread.h" 3 4
> 28468: struct __jmp_buf_tag;
> 28468: extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutex_init (pthread_mutex_t *__mutex,
> 28468:           const pthread_mutexattr_t *__mutexattr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_mutex_destroy (pthread_mutex_t *__mutex)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_mutex_trylock (pthread_mutex_t *__mutex)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_mutex_lock (pthread_mutex_t *__mutex)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex,
> 28468:         const struct timespec *__restrict
> 28468:         __abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutex_unlock (pthread_mutex_t *__mutex)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutex_getprioceiling (const pthread_mutex_t *
> 28468:       __restrict __mutex,
> 28468:       int *__restrict __prioceiling)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex,
> 28468:       int __prioceiling,
> 28468:       int *__restrict __old_ceiling)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutex_consistent (pthread_mutex_t *__mutex)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: # 807 "/usr/include/pthread.h" 3 4
> 28468: extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t *
> 28468:       __restrict __attr,
> 28468:       int *__restrict __pshared)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr,
> 28468:       int __pshared)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict
> 28468:           __attr, int *__restrict __kind)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t *
> 28468:        __restrict __attr,
> 28468:        int *__restrict __protocol)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr,
> 28468:        int __protocol)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t *
> 28468:           __restrict __attr,
> 28468:           int *__restrict __prioceiling)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr,
> 28468:           int __prioceiling)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr,
> 28468:      int *__robustness)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: extern int pthread_mutexattr_getrobust_np (const pthread_mutexattr_t *__attr,
> 28468:         int *__robustness)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr,
> 28468:      int __robustness)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr,
> 28468:         int __robustness)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: # 889 "/usr/include/pthread.h" 3 4
> 28468: extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock,
> 28468:     const pthread_rwlockattr_t *__restrict
> 28468:     __attr) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock)
> 28468:   throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock,
> 28468:            const struct timespec *__restrict
> 28468:            __abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock,
> 28468:            const struct timespec *__restrict
> 28468:            __abstime) throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t *
> 28468:        __restrict __attr,
> 28468:        int *__restrict __pshared)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr,
> 28468:        int __pshared)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t *
> 28468:        __restrict __attr,
> 28468:        int *__restrict __pref)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr,
> 28468:        int __pref) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_cond_init (pthread_cond_t *__restrict __cond,
> 28468:          const pthread_condattr_t *__restrict __cond_attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_cond_destroy (pthread_cond_t *__cond)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_cond_signal (pthread_cond_t *__cond)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_cond_broadcast (pthread_cond_t *__cond)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_cond_wait (pthread_cond_t *__restrict __cond,
> 28468:          pthread_mutex_t *__restrict __mutex)
> 28468:      __attribute__ ((__nonnull__ (1, 2)));
> 28468: # 1001 "/usr/include/pthread.h" 3 4
> 28468: extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond,
> 28468:        pthread_mutex_t *__restrict __mutex,
> 28468:        const struct timespec *__restrict __abstime)
> 28468:      __attribute__ ((__nonnull__ (1, 2, 3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_condattr_init (pthread_condattr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_condattr_destroy (pthread_condattr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_condattr_getpshared (const pthread_condattr_t *
> 28468:      __restrict __attr,
> 28468:      int *__restrict __pshared)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_condattr_setpshared (pthread_condattr_t *__attr,
> 28468:      int __pshared) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_condattr_getclock (const pthread_condattr_t *
> 28468:           __restrict __attr,
> 28468:           __clockid_t *__restrict __clock_id)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_condattr_setclock (pthread_condattr_t *__attr,
> 28468:           __clockid_t __clock_id)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: # 1045 "/usr/include/pthread.h" 3 4
> 28468: extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_spin_destroy (pthread_spinlock_t *__lock)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_spin_lock (pthread_spinlock_t *__lock)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_spin_trylock (pthread_spinlock_t *__lock)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_spin_unlock (pthread_spinlock_t *__lock)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier,
> 28468:      const pthread_barrierattr_t *__restrict
> 28468:      __attr, unsigned int __count)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_barrier_destroy (pthread_barrier_t *__barrier)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_barrier_wait (pthread_barrier_t *__barrier)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t *
> 28468:         __restrict __attr,
> 28468:         int *__restrict __pshared)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr,
> 28468:         int __pshared)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: # 1112 "/usr/include/pthread.h" 3 4
> 28468: extern int pthread_key_create (pthread_key_t *__key,
> 28468:           void (*__destr_function) (void *))
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern int pthread_key_delete (pthread_key_t __key) throw ();
> 28468: 
> 28468: 
> 28468: extern void *pthread_getspecific (pthread_key_t __key) throw ();
> 28468: 
> 28468: 
> 28468: extern int pthread_setspecific (pthread_key_t __key,
> 28468:     const void *__pointer) throw () ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pthread_getcpuclockid (pthread_t __thread_id,
> 28468:       __clockid_t *__clock_id)
> 28468:      throw () __attribute__ ((__nonnull__ (2)));
> 28468: # 1146 "/usr/include/pthread.h" 3 4
> 28468: extern int pthread_atfork (void (*__prepare) (void),
> 28468:       void (*__parent) (void),
> 28468:       void (*__child) (void)) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: __attribute__ ((__leaf__)) pthread_equal (pthread_t __thread1, pthread_t __thread2) throw ()
> 28468: {
> 28468:   return __thread1 == __thread2;
> 28468: }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 36 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h" 2 3
> 28468: # 47 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h" 3
> 28468: typedef pthread_t __gthread_t;
> 28468: typedef pthread_key_t __gthread_key_t;
> 28468: typedef pthread_once_t __gthread_once_t;
> 28468: typedef pthread_mutex_t __gthread_mutex_t;
> 28468: typedef pthread_mutex_t __gthread_recursive_mutex_t;
> 28468: typedef pthread_cond_t __gthread_cond_t;
> 28468: typedef struct timespec __gthread_time_t;
> 28468: # 102 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h" 3
> 28468: static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"), __copy__ (pthread_once)));
> 28468: static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"), __copy__ (pthread_getspecific)));
> 28468: static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"), __copy__ (pthread_setspecific)));
> 28468: 
> 28468: static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"), __copy__ (pthread_create)));
> 28468: static __typeof(pthread_join) __gthrw_pthread_join __attribute__ ((__weakref__("pthread_join"), __copy__ (pthread_join)));
> 28468: static __typeof(pthread_equal) __gthrw_pthread_equal __attribute__ ((__weakref__("pthread_equal"), __copy__ (pthread_equal)));
> 28468: static __typeof(pthread_self) __gthrw_pthread_self __attribute__ ((__weakref__("pthread_self"), __copy__ (pthread_self)));
> 28468: static __typeof(pthread_detach) __gthrw_pthread_detach __attribute__ ((__weakref__("pthread_detach"), __copy__ (pthread_detach)));
> 28468: 
> 28468: static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"), __copy__ (pthread_cancel)));
> 28468: 
> 28468: static __typeof(sched_yield) __gthrw_sched_yield __attribute__ ((__weakref__("sched_yield"), __copy__ (sched_yield)));
> 28468: 
> 28468: static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"), __copy__ (pthread_mutex_lock)));
> 28468: static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"), __copy__ (pthread_mutex_trylock)));
> 28468: 
> 28468: static __typeof(pthread_mutex_timedlock) __gthrw_pthread_mutex_timedlock __attribute__ ((__weakref__("pthread_mutex_timedlock"), __copy__ (pthread_mutex_timedlock)));
> 28468: 
> 28468: static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"), __copy__ (pthread_mutex_unlock)));
> 28468: static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"), __copy__ (pthread_mutex_init)));
> 28468: static __typeof(pthread_mutex_destroy) __gthrw_pthread_mutex_destroy __attribute__ ((__weakref__("pthread_mutex_destroy"), __copy__ (pthread_mutex_destroy)));
> 28468: 
> 28468: static __typeof(pthread_cond_init) __gthrw_pthread_cond_init __attribute__ ((__weakref__("pthread_cond_init"), __copy__ (pthread_cond_init)));
> 28468: static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"), __copy__ (pthread_cond_broadcast)));
> 28468: static __typeof(pthread_cond_signal) __gthrw_pthread_cond_signal __attribute__ ((__weakref__("pthread_cond_signal"), __copy__ (pthread_cond_signal)));
> 28468: static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"), __copy__ (pthread_cond_wait)));
> 28468: static __typeof(pthread_cond_timedwait) __gthrw_pthread_cond_timedwait __attribute__ ((__weakref__("pthread_cond_timedwait"), __copy__ (pthread_cond_timedwait)));
> 28468: static __typeof(pthread_cond_destroy) __gthrw_pthread_cond_destroy __attribute__ ((__weakref__("pthread_cond_destroy"), __copy__ (pthread_cond_destroy)));
> 28468: 
> 28468: static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"), __copy__ (pthread_key_create)));
> 28468: static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"), __copy__ (pthread_key_delete)));
> 28468: static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"), __copy__ (pthread_mutexattr_init)));
> 28468: static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"), __copy__ (pthread_mutexattr_settype)));
> 28468: static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"), __copy__ (pthread_mutexattr_destroy)));
> 28468: # 237 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h" 3
> 28468: static __typeof(pthread_key_create) __gthrw___pthread_key_create __attribute__ ((__weakref__("__pthread_key_create"), __copy__ (pthread_key_create)));
> 28468: # 247 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h" 3
> 28468: static inline int
> 28468: __gthread_active_p (void)
> 28468: {
> 28468:   static void *const __gthread_active_ptr
> 28468:     = __extension__ (void *) &__gthrw___pthread_key_create;
> 28468:   return __gthread_active_ptr != 0;
> 28468: }
> 28468: # 659 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h" 3
> 28468: static inline int
> 28468: __gthread_create (__gthread_t *__threadid, void *(*__func) (void*),
> 28468:     void *__args)
> 28468: {
> 28468:   return __gthrw_pthread_create (__threadid, __null, __func, __args);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_join (__gthread_t __threadid, void **__value_ptr)
> 28468: {
> 28468:   return __gthrw_pthread_join (__threadid, __value_ptr);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_detach (__gthread_t __threadid)
> 28468: {
> 28468:   return __gthrw_pthread_detach (__threadid);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_equal (__gthread_t __t1, __gthread_t __t2)
> 28468: {
> 28468:   return __gthrw_pthread_equal (__t1, __t2);
> 28468: }
> 28468: 
> 28468: static inline __gthread_t
> 28468: __gthread_self (void)
> 28468: {
> 28468:   return __gthrw_pthread_self ();
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_yield (void)
> 28468: {
> 28468:   return __gthrw_sched_yield ();
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_once (__gthread_once_t *__once, void (*__func) (void))
> 28468: {
> 28468:   if (__gthread_active_p ())
> 28468:     return __gthrw_pthread_once (__once, __func);
> 28468:   else
> 28468:     return -1;
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *))
> 28468: {
> 28468:   return __gthrw_pthread_key_create (__key, __dtor);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_key_delete (__gthread_key_t __key)
> 28468: {
> 28468:   return __gthrw_pthread_key_delete (__key);
> 28468: }
> 28468: 
> 28468: static inline void *
> 28468: __gthread_getspecific (__gthread_key_t __key)
> 28468: {
> 28468:   return __gthrw_pthread_getspecific (__key);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_setspecific (__gthread_key_t __key, const void *__ptr)
> 28468: {
> 28468:   return __gthrw_pthread_setspecific (__key, __ptr);
> 28468: }
> 28468: 
> 28468: static inline void
> 28468: __gthread_mutex_init_function (__gthread_mutex_t *__mutex)
> 28468: {
> 28468:   if (__gthread_active_p ())
> 28468:     __gthrw_pthread_mutex_init (__mutex, __null);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_mutex_destroy (__gthread_mutex_t *__mutex)
> 28468: {
> 28468:   if (__gthread_active_p ())
> 28468:     return __gthrw_pthread_mutex_destroy (__mutex);
> 28468:   else
> 28468:     return 0;
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_mutex_lock (__gthread_mutex_t *__mutex)
> 28468: {
> 28468:   if (__gthread_active_p ())
> 28468:     return __gthrw_pthread_mutex_lock (__mutex);
> 28468:   else
> 28468:     return 0;
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_mutex_trylock (__gthread_mutex_t *__mutex)
> 28468: {
> 28468:   if (__gthread_active_p ())
> 28468:     return __gthrw_pthread_mutex_trylock (__mutex);
> 28468:   else
> 28468:     return 0;
> 28468: }
> 28468: 
> 28468: 
> 28468: static inline int
> 28468: __gthread_mutex_timedlock (__gthread_mutex_t *__mutex,
> 28468:       const __gthread_time_t *__abs_timeout)
> 28468: {
> 28468:   if (__gthread_active_p ())
> 28468:     return __gthrw_pthread_mutex_timedlock (__mutex, __abs_timeout);
> 28468:   else
> 28468:     return 0;
> 28468: }
> 28468: 
> 28468: 
> 28468: static inline int
> 28468: __gthread_mutex_unlock (__gthread_mutex_t *__mutex)
> 28468: {
> 28468:   if (__gthread_active_p ())
> 28468:     return __gthrw_pthread_mutex_unlock (__mutex);
> 28468:   else
> 28468:     return 0;
> 28468: }
> 28468: # 808 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h" 3
> 28468: static inline int
> 28468: __gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex)
> 28468: {
> 28468:   return __gthread_mutex_lock (__mutex);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex)
> 28468: {
> 28468:   return __gthread_mutex_trylock (__mutex);
> 28468: }
> 28468: 
> 28468: 
> 28468: static inline int
> 28468: __gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex,
> 28468:          const __gthread_time_t *__abs_timeout)
> 28468: {
> 28468:   return __gthread_mutex_timedlock (__mutex, __abs_timeout);
> 28468: }
> 28468: 
> 28468: 
> 28468: static inline int
> 28468: __gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex)
> 28468: {
> 28468:   return __gthread_mutex_unlock (__mutex);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex)
> 28468: {
> 28468:   return __gthread_mutex_destroy (__mutex);
> 28468: }
> 28468: # 850 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr-default.h" 3
> 28468: static inline int
> 28468: __gthread_cond_broadcast (__gthread_cond_t *__cond)
> 28468: {
> 28468:   return __gthrw_pthread_cond_broadcast (__cond);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_cond_signal (__gthread_cond_t *__cond)
> 28468: {
> 28468:   return __gthrw_pthread_cond_signal (__cond);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex)
> 28468: {
> 28468:   return __gthrw_pthread_cond_wait (__cond, __mutex);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex,
> 28468:      const __gthread_time_t *__abs_timeout)
> 28468: {
> 28468:   return __gthrw_pthread_cond_timedwait (__cond, __mutex, __abs_timeout);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_cond_wait_recursive (__gthread_cond_t *__cond,
> 28468:           __gthread_recursive_mutex_t *__mutex)
> 28468: {
> 28468:   return __gthread_cond_wait (__cond, __mutex);
> 28468: }
> 28468: 
> 28468: static inline int
> 28468: __gthread_cond_destroy (__gthread_cond_t* __cond)
> 28468: {
> 28468:   return __gthrw_pthread_cond_destroy (__cond);
> 28468: }
> 28468: # 149 "/usr/include/x86_64-linux-gnu/c++/9/bits/gthr.h" 2 3
> 28468: 
> 28468: 
> 28468: #pragma GCC visibility pop
> 28468: # 36 "/usr/include/c++/9/ext/atomicity.h" 2 3
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/atomic_word.h" 1 3
> 28468: # 32 "/usr/include/x86_64-linux-gnu/c++/9/bits/atomic_word.h" 3
> 28468: typedef int _Atomic_word;
> 28468: # 37 "/usr/include/c++/9/ext/atomicity.h" 2 3
> 28468: 
> 28468: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   static inline _Atomic_word
> 28468:   __exchange_and_add(volatile _Atomic_word* __mem, int __val)
> 28468:   { return __atomic_fetch_add(__mem, __val, 4); }
> 28468: 
> 28468:   static inline void
> 28468:   __atomic_add(volatile _Atomic_word* __mem, int __val)
> 28468:   { __atomic_fetch_add(__mem, __val, 4); }
> 28468: # 64 "/usr/include/c++/9/ext/atomicity.h" 3
> 28468:   static inline _Atomic_word
> 28468:   __exchange_and_add_single(_Atomic_word* __mem, int __val)
> 28468:   {
> 28468:     _Atomic_word __result = *__mem;
> 28468:     *__mem += __val;
> 28468:     return __result;
> 28468:   }
> 28468: 
> 28468:   static inline void
> 28468:   __atomic_add_single(_Atomic_word* __mem, int __val)
> 28468:   { *__mem += __val; }
> 28468: 
> 28468:   static inline _Atomic_word
> 28468:   __attribute__ ((__unused__))
> 28468:   __exchange_and_add_dispatch(_Atomic_word* __mem, int __val)
> 28468:   {
> 28468: 
> 28468:     if (__gthread_active_p())
> 28468:       return __exchange_and_add(__mem, __val);
> 28468:     else
> 28468:       return __exchange_and_add_single(__mem, __val);
> 28468: 
> 28468: 
> 28468: 
> 28468:   }
> 28468: 
> 28468:   static inline void
> 28468:   __attribute__ ((__unused__))
> 28468:   __atomic_add_dispatch(_Atomic_word* __mem, int __val)
> 28468:   {
> 28468: 
> 28468:     if (__gthread_active_p())
> 28468:       __atomic_add(__mem, __val);
> 28468:     else
> 28468:       __atomic_add_single(__mem, __val);
> 28468: 
> 28468: 
> 28468: 
> 28468:   }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 40 "/usr/include/c++/9/bits/basic_string.h" 2 3
> 28468: # 1 "/usr/include/c++/9/ext/alloc_traits.h" 1 3
> 28468: # 32 "/usr/include/c++/9/ext/alloc_traits.h" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/ext/alloc_traits.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/alloc_traits.h" 1 3
> 28468: # 41 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   struct __allocator_traits_base
> 28468:   {
> 28468:     template<typename _Tp, typename _Up, typename = void>
> 28468:       struct __rebind : __replace_first_arg<_Tp, _Up> { };
> 28468: 
> 28468:     template<typename _Tp, typename _Up>
> 28468:       struct __rebind<_Tp, _Up,
> 28468:         __void_t<typename _Tp::template rebind<_Up>::other>>
> 28468:       { using type = typename _Tp::template rebind<_Up>::other; };
> 28468: 
> 28468:   protected:
> 28468:     template<typename _Tp>
> 28468:       using __pointer = typename _Tp::pointer;
> 28468:     template<typename _Tp>
> 28468:       using __c_pointer = typename _Tp::const_pointer;
> 28468:     template<typename _Tp>
> 28468:       using __v_pointer = typename _Tp::void_pointer;
> 28468:     template<typename _Tp>
> 28468:       using __cv_pointer = typename _Tp::const_void_pointer;
> 28468:     template<typename _Tp>
> 28468:       using __pocca = typename _Tp::propagate_on_container_copy_assignment;
> 28468:     template<typename _Tp>
> 28468:       using __pocma = typename _Tp::propagate_on_container_move_assignment;
> 28468:     template<typename _Tp>
> 28468:       using __pocs = typename _Tp::propagate_on_container_swap;
> 28468:     template<typename _Tp>
> 28468:       using __equal = typename _Tp::is_always_equal;
> 28468:   };
> 28468: 
> 28468:   template<typename _Alloc, typename _Up>
> 28468:     using __alloc_rebind
> 28468:       = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct allocator_traits : __allocator_traits_base
> 28468:     {
> 28468: 
> 28468:       typedef _Alloc allocator_type;
> 28468: 
> 28468:       typedef typename _Alloc::value_type value_type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       using pointer = __detected_or_t<value_type*, __pointer, _Alloc>;
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       template<template<typename> class _Func, typename _Tp, typename = void>
> 28468:  struct _Ptr
> 28468:  {
> 28468:    using type = typename pointer_traits<pointer>::template rebind<_Tp>;
> 28468:  };
> 28468: 
> 28468:       template<template<typename> class _Func, typename _Tp>
> 28468:  struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>>
> 28468:  {
> 28468:    using type = _Func<_Alloc>;
> 28468:  };
> 28468: 
> 28468: 
> 28468:       template<typename _A2, typename _PtrT, typename = void>
> 28468:  struct _Diff
> 28468:  { using type = typename pointer_traits<_PtrT>::difference_type; };
> 28468: 
> 28468:       template<typename _A2, typename _PtrT>
> 28468:  struct _Diff<_A2, _PtrT, __void_t<typename _A2::difference_type>>
> 28468:  { using type = typename _A2::difference_type; };
> 28468: 
> 28468: 
> 28468:       template<typename _A2, typename _DiffT, typename = void>
> 28468:  struct _Size : make_unsigned<_DiffT> { };
> 28468: 
> 28468:       template<typename _A2, typename _DiffT>
> 28468:  struct _Size<_A2, _DiffT, __void_t<typename _A2::size_type>>
> 28468:  { using type = typename _A2::size_type; };
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       using const_pointer = typename _Ptr<__c_pointer, const value_type>::type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       using void_pointer = typename _Ptr<__v_pointer, void>::type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       using difference_type = typename _Diff<_Alloc, pointer>::type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       using size_type = typename _Size<_Alloc, difference_type>::type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       using propagate_on_container_copy_assignment
> 28468:  = __detected_or_t<false_type, __pocca, _Alloc>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       using propagate_on_container_move_assignment
> 28468:  = __detected_or_t<false_type, __pocma, _Alloc>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       using propagate_on_container_swap
> 28468:  = __detected_or_t<false_type, __pocs, _Alloc>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       using is_always_equal
> 28468:  = __detected_or_t<typename is_empty<_Alloc>::type, __equal, _Alloc>;
> 28468: 
> 28468:       template<typename _Tp>
> 28468:  using rebind_alloc = __alloc_rebind<_Alloc, _Tp>;
> 28468:       template<typename _Tp>
> 28468:  using rebind_traits = allocator_traits<rebind_alloc<_Tp>>;
> 28468: 
> 28468:     private:
> 28468:       template<typename _Alloc2>
> 28468:  static auto
> 28468:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int)
> 28468:  -> decltype(__a.allocate(__n, __hint))
> 28468:  { return __a.allocate(__n, __hint); }
> 28468: 
> 28468:       template<typename _Alloc2>
> 28468:  static pointer
> 28468:  _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...)
> 28468:  { return __a.allocate(__n); }
> 28468: 
> 28468:       template<typename _Tp, typename... _Args>
> 28468:  struct __construct_helper
> 28468:  {
> 28468:    template<typename _Alloc2,
> 28468:      typename = decltype(std::declval<_Alloc2*>()->construct(
> 28468:     std::declval<_Tp*>(), std::declval<_Args>()...))>
> 28468:      static true_type __test(int);
> 28468: 
> 28468:    template<typename>
> 28468:      static false_type __test(...);
> 28468: 
> 28468:    using type = decltype(__test<_Alloc>(0));
> 28468:  };
> 28468: 
> 28468:       template<typename _Tp, typename... _Args>
> 28468:  using __has_construct
> 28468:    = typename __construct_helper<_Tp, _Args...>::type;
> 28468: 
> 28468:       template<typename _Tp, typename... _Args>
> 28468:  static _Require<__has_construct<_Tp, _Args...>>
> 28468:  _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
> 28468:  noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...)))
> 28468:  { __a.construct(__p, std::forward<_Args>(__args)...); }
> 28468: 
> 28468:       template<typename _Tp, typename... _Args>
> 28468:  static
> 28468:  _Require<__and_<__not_<__has_construct<_Tp, _Args...>>,
> 28468:           is_constructible<_Tp, _Args...>>>
> 28468:  _S_construct(_Alloc&, _Tp* __p, _Args&&... __args)
> 28468:  noexcept(noexcept(::new((void*)__p)
> 28468:      _Tp(std::forward<_Args>(__args)...)))
> 28468:  { ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); }
> 28468: 
> 28468:       template<typename _Alloc2, typename _Tp>
> 28468:  static auto
> 28468:  _S_destroy(_Alloc2& __a, _Tp* __p, int)
> 28468:  noexcept(noexcept(__a.destroy(__p)))
> 28468:  -> decltype(__a.destroy(__p))
> 28468:  { __a.destroy(__p); }
> 28468: 
> 28468:       template<typename _Alloc2, typename _Tp>
> 28468:  static void
> 28468:  _S_destroy(_Alloc2&, _Tp* __p, ...)
> 28468:  noexcept(noexcept(__p->~_Tp()))
> 28468:  { __p->~_Tp(); }
> 28468: 
> 28468:       template<typename _Alloc2>
> 28468:  static auto
> 28468:  _S_max_size(_Alloc2& __a, int)
> 28468:  -> decltype(__a.max_size())
> 28468:  { return __a.max_size(); }
> 28468: 
> 28468:       template<typename _Alloc2>
> 28468:  static size_type
> 28468:  _S_max_size(_Alloc2&, ...)
> 28468:  {
> 28468: 
> 28468: 
> 28468:    return __gnu_cxx::__numeric_traits<size_type>::__max
> 28468:      / sizeof(value_type);
> 28468:  }
> 28468: 
> 28468:       template<typename _Alloc2>
> 28468:  static auto
> 28468:  _S_select(_Alloc2& __a, int)
> 28468:  -> decltype(__a.select_on_container_copy_construction())
> 28468:  { return __a.select_on_container_copy_construction(); }
> 28468: 
> 28468:       template<typename _Alloc2>
> 28468:  static _Alloc2
> 28468:  _S_select(_Alloc2& __a, ...)
> 28468:  { return __a; }
> 28468: 
> 28468:     public:
> 28468: # 304 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       static pointer
> 28468:       allocate(_Alloc& __a, size_type __n)
> 28468:       { return __a.allocate(__n); }
> 28468: # 319 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       static pointer
> 28468:       allocate(_Alloc& __a, size_type __n, const_void_pointer __hint)
> 28468:       { return _S_allocate(__a, __n, __hint, 0); }
> 28468: # 331 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       static void
> 28468:       deallocate(_Alloc& __a, pointer __p, size_type __n)
> 28468:       { __a.deallocate(__p, __n); }
> 28468: # 346 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       template<typename _Tp, typename... _Args>
> 28468:  static auto construct(_Alloc& __a, _Tp* __p, _Args&&... __args)
> 28468:  noexcept(noexcept(_S_construct(__a, __p,
> 28468:            std::forward<_Args>(__args)...)))
> 28468:  -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...))
> 28468:  { _S_construct(__a, __p, std::forward<_Args>(__args)...); }
> 28468: # 361 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       template<typename _Tp>
> 28468:  static void destroy(_Alloc& __a, _Tp* __p)
> 28468:  noexcept(noexcept(_S_destroy(__a, __p, 0)))
> 28468:  { _S_destroy(__a, __p, 0); }
> 28468: # 374 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       static size_type max_size(const _Alloc& __a) noexcept
> 28468:       { return _S_max_size(__a, 0); }
> 28468: # 385 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       static _Alloc
> 28468:       select_on_container_copy_construction(const _Alloc& __rhs)
> 28468:       { return _S_select(__rhs, 0); }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct allocator_traits<allocator<_Tp>>
> 28468:     {
> 28468: 
> 28468:       using allocator_type = allocator<_Tp>;
> 28468: 
> 28468:       using value_type = _Tp;
> 28468: 
> 28468: 
> 28468:       using pointer = _Tp*;
> 28468: 
> 28468: 
> 28468:       using const_pointer = const _Tp*;
> 28468: 
> 28468: 
> 28468:       using void_pointer = void*;
> 28468: 
> 28468: 
> 28468:       using const_void_pointer = const void*;
> 28468: 
> 28468: 
> 28468:       using difference_type = std::ptrdiff_t;
> 28468: 
> 28468: 
> 28468:       using size_type = std::size_t;
> 28468: 
> 28468: 
> 28468:       using propagate_on_container_copy_assignment = false_type;
> 28468: 
> 28468: 
> 28468:       using propagate_on_container_move_assignment = true_type;
> 28468: 
> 28468: 
> 28468:       using propagate_on_container_swap = false_type;
> 28468: 
> 28468: 
> 28468:       using is_always_equal = true_type;
> 28468: 
> 28468:       template<typename _Up>
> 28468:  using rebind_alloc = allocator<_Up>;
> 28468: 
> 28468:       template<typename _Up>
> 28468:  using rebind_traits = allocator_traits<allocator<_Up>>;
> 28468: # 442 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       static pointer
> 28468:       allocate(allocator_type& __a, size_type __n)
> 28468:       { return __a.allocate(__n); }
> 28468: # 456 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       static pointer
> 28468:       allocate(allocator_type& __a, size_type __n, const_void_pointer __hint)
> 28468:       { return __a.allocate(__n, __hint); }
> 28468: # 468 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       static void
> 28468:       deallocate(allocator_type& __a, pointer __p, size_type __n)
> 28468:       { __a.deallocate(__p, __n); }
> 28468: # 480 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       template<typename _Up, typename... _Args>
> 28468:  static void
> 28468:  construct(allocator_type& __a, _Up* __p, _Args&&... __args)
> 28468:  noexcept(noexcept(__a.construct(__p, std::forward<_Args>(__args)...)))
> 28468:  { __a.construct(__p, std::forward<_Args>(__args)...); }
> 28468: # 493 "/usr/include/c++/9/bits/alloc_traits.h" 3
> 28468:       template<typename _Up>
> 28468:  static void
> 28468:  destroy(allocator_type& __a, _Up* __p)
> 28468:  noexcept(noexcept(__a.destroy(__p)))
> 28468:  { __a.destroy(__p); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       static size_type
> 28468:       max_size(const allocator_type& __a) noexcept
> 28468:       { return __a.max_size(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       static allocator_type
> 28468:       select_on_container_copy_construction(const allocator_type& __rhs)
> 28468:       { return __rhs; }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     inline void
> 28468:     __do_alloc_on_copy(_Alloc& __one, const _Alloc& __two, true_type)
> 28468:     { __one = __two; }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     inline void
> 28468:     __do_alloc_on_copy(_Alloc&, const _Alloc&, false_type)
> 28468:     { }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     inline void __alloc_on_copy(_Alloc& __one, const _Alloc& __two)
> 28468:     {
> 28468:       typedef allocator_traits<_Alloc> __traits;
> 28468:       typedef typename __traits::propagate_on_container_copy_assignment __pocca;
> 28468:       __do_alloc_on_copy(__one, __two, __pocca());
> 28468:     }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     inline _Alloc __alloc_on_copy(const _Alloc& __a)
> 28468:     {
> 28468:       typedef allocator_traits<_Alloc> __traits;
> 28468:       return __traits::select_on_container_copy_construction(__a);
> 28468:     }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     inline void __do_alloc_on_move(_Alloc& __one, _Alloc& __two, true_type)
> 28468:     { __one = std::move(__two); }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     inline void __do_alloc_on_move(_Alloc&, _Alloc&, false_type)
> 28468:     { }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     inline void __alloc_on_move(_Alloc& __one, _Alloc& __two)
> 28468:     {
> 28468:       typedef allocator_traits<_Alloc> __traits;
> 28468:       typedef typename __traits::propagate_on_container_move_assignment __pocma;
> 28468:       __do_alloc_on_move(__one, __two, __pocma());
> 28468:     }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     inline void __do_alloc_on_swap(_Alloc& __one, _Alloc& __two, true_type)
> 28468:     {
> 28468:       using std::swap;
> 28468:       swap(__one, __two);
> 28468:     }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     inline void __do_alloc_on_swap(_Alloc&, _Alloc&, false_type)
> 28468:     { }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     inline void __alloc_on_swap(_Alloc& __one, _Alloc& __two)
> 28468:     {
> 28468:       typedef allocator_traits<_Alloc> __traits;
> 28468:       typedef typename __traits::propagate_on_container_swap __pocs;
> 28468:       __do_alloc_on_swap(__one, __two, __pocs());
> 28468:     }
> 28468: 
> 28468:   template<typename _Alloc, typename _Tp,
> 28468:     typename _ValueT = __remove_cvref_t<typename _Alloc::value_type>,
> 28468:     typename = void>
> 28468:     struct __is_alloc_insertable_impl
> 28468:     : false_type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Alloc, typename _Tp, typename _ValueT>
> 28468:     struct __is_alloc_insertable_impl<_Alloc, _Tp, _ValueT,
> 28468:       __void_t<decltype(allocator_traits<_Alloc>::construct(
> 28468:      std::declval<_Alloc&>(), std::declval<_ValueT*>(),
> 28468:      std::declval<_Tp>()))>>
> 28468:     : true_type
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct __is_copy_insertable
> 28468:     : __is_alloc_insertable_impl<_Alloc,
> 28468:      typename _Alloc::value_type const&>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_copy_insertable<allocator<_Tp>>
> 28468:     : is_copy_constructible<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct __is_move_insertable
> 28468:     : __is_alloc_insertable_impl<_Alloc, typename _Alloc::value_type>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_move_insertable<allocator<_Tp>>
> 28468:     : is_move_constructible<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc, typename = void>
> 28468:     struct __is_allocator : false_type { };
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct __is_allocator<_Alloc,
> 28468:       __void_t<typename _Alloc::value_type,
> 28468:         decltype(std::declval<_Alloc&>().allocate(size_t{}))>>
> 28468:     : true_type { };
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     using _RequireAllocator
> 28468:       = typename enable_if<__is_allocator<_Alloc>::value, _Alloc>::type;
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     using _RequireNotAllocator
> 28468:       = typename enable_if<!__is_allocator<_Alloc>::value, _Alloc>::type;
> 28468: 
> 28468: 
> 28468: }
> 28468: # 37 "/usr/include/c++/9/ext/alloc_traits.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: template<typename _Alloc, typename = typename _Alloc::value_type>
> 28468:   struct __alloc_traits
> 28468: 
> 28468:   : std::allocator_traits<_Alloc>
> 28468: 
> 28468:   {
> 28468:     typedef _Alloc allocator_type;
> 28468: 
> 28468:     typedef std::allocator_traits<_Alloc> _Base_type;
> 28468:     typedef typename _Base_type::value_type value_type;
> 28468:     typedef typename _Base_type::pointer pointer;
> 28468:     typedef typename _Base_type::const_pointer const_pointer;
> 28468:     typedef typename _Base_type::size_type size_type;
> 28468:     typedef typename _Base_type::difference_type difference_type;
> 28468: 
> 28468:     typedef value_type& reference;
> 28468:     typedef const value_type& const_reference;
> 28468:     using _Base_type::allocate;
> 28468:     using _Base_type::deallocate;
> 28468:     using _Base_type::construct;
> 28468:     using _Base_type::destroy;
> 28468:     using _Base_type::max_size;
> 28468: 
> 28468:   private:
> 28468:     template<typename _Ptr>
> 28468:       using __is_custom_pointer
> 28468:  = std::__and_<std::is_same<pointer, _Ptr>,
> 28468:         std::__not_<std::is_pointer<_Ptr>>>;
> 28468: 
> 28468:   public:
> 28468: 
> 28468:     template<typename _Ptr, typename... _Args>
> 28468:       static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type
> 28468:       construct(_Alloc& __a, _Ptr __p, _Args&&... __args)
> 28468:       noexcept(noexcept(_Base_type::construct(__a, std::__to_address(__p),
> 28468:            std::forward<_Args>(__args)...)))
> 28468:       {
> 28468:  _Base_type::construct(__a, std::__to_address(__p),
> 28468:          std::forward<_Args>(__args)...);
> 28468:       }
> 28468: 
> 28468: 
> 28468:     template<typename _Ptr>
> 28468:       static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type
> 28468:       destroy(_Alloc& __a, _Ptr __p)
> 28468:       noexcept(noexcept(_Base_type::destroy(__a, std::__to_address(__p))))
> 28468:       { _Base_type::destroy(__a, std::__to_address(__p)); }
> 28468: 
> 28468:     static _Alloc _S_select_on_copy(const _Alloc& __a)
> 28468:     { return _Base_type::select_on_container_copy_construction(__a); }
> 28468: 
> 28468:     static void _S_on_swap(_Alloc& __a, _Alloc& __b)
> 28468:     { std::__alloc_on_swap(__a, __b); }
> 28468: 
> 28468:     static constexpr bool _S_propagate_on_copy_assign()
> 28468:     { return _Base_type::propagate_on_container_copy_assignment::value; }
> 28468: 
> 28468:     static constexpr bool _S_propagate_on_move_assign()
> 28468:     { return _Base_type::propagate_on_container_move_assignment::value; }
> 28468: 
> 28468:     static constexpr bool _S_propagate_on_swap()
> 28468:     { return _Base_type::propagate_on_container_swap::value; }
> 28468: 
> 28468:     static constexpr bool _S_always_equal()
> 28468:     { return _Base_type::is_always_equal::value; }
> 28468: 
> 28468:     static constexpr bool _S_nothrow_move()
> 28468:     { return _S_propagate_on_move_assign() || _S_always_equal(); }
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       struct rebind
> 28468:       { typedef typename _Base_type::template rebind_alloc<_Tp> other; };
> 28468: # 161 "/usr/include/c++/9/ext/alloc_traits.h" 3
> 28468:   };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 41 "/usr/include/c++/9/bits/basic_string.h" 2 3
> 28468: # 52 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace __cxx11 {
> 28468: # 76 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     class basic_string
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
> 28468:  rebind<_CharT>::other _Char_alloc_type;
> 28468:       typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits;
> 28468: 
> 28468: 
> 28468:     public:
> 28468:       typedef _Traits traits_type;
> 28468:       typedef typename _Traits::char_type value_type;
> 28468:       typedef _Char_alloc_type allocator_type;
> 28468:       typedef typename _Alloc_traits::size_type size_type;
> 28468:       typedef typename _Alloc_traits::difference_type difference_type;
> 28468:       typedef typename _Alloc_traits::reference reference;
> 28468:       typedef typename _Alloc_traits::const_reference const_reference;
> 28468:       typedef typename _Alloc_traits::pointer pointer;
> 28468:       typedef typename _Alloc_traits::const_pointer const_pointer;
> 28468:       typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator;
> 28468:       typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string>
> 28468:        const_iterator;
> 28468:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
> 28468:       typedef std::reverse_iterator<iterator> reverse_iterator;
> 28468: 
> 28468: 
> 28468:       static const size_type npos = static_cast<size_type>(-1);
> 28468: 
> 28468:     protected:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef const_iterator __const_iterator;
> 28468: 
> 28468: 
> 28468:     private:
> 28468: # 150 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       struct _Alloc_hider : allocator_type
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  _Alloc_hider(pointer __dat, const _Alloc& __a)
> 28468:  : allocator_type(__a), _M_p(__dat) { }
> 28468: 
> 28468:  _Alloc_hider(pointer __dat, _Alloc&& __a = _Alloc())
> 28468:  : allocator_type(std::move(__a)), _M_p(__dat) { }
> 28468: 
> 28468: 
> 28468:  pointer _M_p;
> 28468:       };
> 28468: 
> 28468:       _Alloc_hider _M_dataplus;
> 28468:       size_type _M_string_length;
> 28468: 
> 28468:       enum { _S_local_capacity = 15 / sizeof(_CharT) };
> 28468: 
> 28468:       union
> 28468:       {
> 28468:  _CharT _M_local_buf[_S_local_capacity + 1];
> 28468:  size_type _M_allocated_capacity;
> 28468:       };
> 28468: 
> 28468:       void
> 28468:       _M_data(pointer __p)
> 28468:       { _M_dataplus._M_p = __p; }
> 28468: 
> 28468:       void
> 28468:       _M_length(size_type __length)
> 28468:       { _M_string_length = __length; }
> 28468: 
> 28468:       pointer
> 28468:       _M_data() const
> 28468:       { return _M_dataplus._M_p; }
> 28468: 
> 28468:       pointer
> 28468:       _M_local_data()
> 28468:       {
> 28468: 
> 28468:  return std::pointer_traits<pointer>::pointer_to(*_M_local_buf);
> 28468: 
> 28468: 
> 28468: 
> 28468:       }
> 28468: 
> 28468:       const_pointer
> 28468:       _M_local_data() const
> 28468:       {
> 28468: 
> 28468:  return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf);
> 28468: 
> 28468: 
> 28468: 
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_capacity(size_type __capacity)
> 28468:       { _M_allocated_capacity = __capacity; }
> 28468: 
> 28468:       void
> 28468:       _M_set_length(size_type __n)
> 28468:       {
> 28468:  _M_length(__n);
> 28468:  traits_type::assign(_M_data()[__n], _CharT());
> 28468:       }
> 28468: 
> 28468:       bool
> 28468:       _M_is_local() const
> 28468:       { return _M_data() == _M_local_data(); }
> 28468: 
> 28468: 
> 28468:       pointer
> 28468:       _M_create(size_type&, size_type);
> 28468: 
> 28468:       void
> 28468:       _M_dispose()
> 28468:       {
> 28468:  if (!_M_is_local())
> 28468:    _M_destroy(_M_allocated_capacity);
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_destroy(size_type __size) throw()
> 28468:       { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _InIterator>
> 28468:         void
> 28468:         _M_construct_aux(_InIterator __beg, _InIterator __end,
> 28468:     std::__false_type)
> 28468:  {
> 28468:           typedef typename iterator_traits<_InIterator>::iterator_category _Tag;
> 28468:           _M_construct(__beg, __end, _Tag());
> 28468:  }
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Integer>
> 28468:         void
> 28468:         _M_construct_aux(_Integer __beg, _Integer __end, std::__true_type)
> 28468:  { _M_construct_aux_2(static_cast<size_type>(__beg), __end); }
> 28468: 
> 28468:       void
> 28468:       _M_construct_aux_2(size_type __req, _CharT __c)
> 28468:       { _M_construct(__req, __c); }
> 28468: 
> 28468:       template<typename _InIterator>
> 28468:         void
> 28468:         _M_construct(_InIterator __beg, _InIterator __end)
> 28468:  {
> 28468:    typedef typename std::__is_integer<_InIterator>::__type _Integral;
> 28468:    _M_construct_aux(__beg, __end, _Integral());
> 28468:         }
> 28468: 
> 28468: 
> 28468:       template<typename _InIterator>
> 28468:         void
> 28468:         _M_construct(_InIterator __beg, _InIterator __end,
> 28468:        std::input_iterator_tag);
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _FwdIterator>
> 28468:         void
> 28468:         _M_construct(_FwdIterator __beg, _FwdIterator __end,
> 28468:        std::forward_iterator_tag);
> 28468: 
> 28468:       void
> 28468:       _M_construct(size_type __req, _CharT __c);
> 28468: 
> 28468:       allocator_type&
> 28468:       _M_get_allocator()
> 28468:       { return _M_dataplus; }
> 28468: 
> 28468:       const allocator_type&
> 28468:       _M_get_allocator() const
> 28468:       { return _M_dataplus; }
> 28468: 
> 28468:     private:
> 28468: # 309 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       _M_check(size_type __pos, const char* __s) const
> 28468:       {
> 28468:  if (__pos > this->size())
> 28468:    __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)")
> 28468:                                          ,
> 28468:        __s, __pos, this->size());
> 28468:  return __pos;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_check_length(size_type __n1, size_type __n2, const char* __s) const
> 28468:       {
> 28468:  if (this->max_size() - (this->size() - __n1) < __n2)
> 28468:    __throw_length_error((__s));
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       _M_limit(size_type __pos, size_type __off) const noexcept
> 28468:       {
> 28468:  const bool __testoff = __off < this->size() - __pos;
> 28468:  return __testoff ? __off : this->size() - __pos;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       _M_disjunct(const _CharT* __s) const noexcept
> 28468:       {
> 28468:  return (less<const _CharT*>()(__s, _M_data())
> 28468:   || less<const _CharT*>()(_M_data() + this->size(), __s));
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       static void
> 28468:       _S_copy(_CharT* __d, const _CharT* __s, size_type __n)
> 28468:       {
> 28468:  if (__n == 1)
> 28468:    traits_type::assign(*__d, *__s);
> 28468:  else
> 28468:    traits_type::copy(__d, __s, __n);
> 28468:       }
> 28468: 
> 28468:       static void
> 28468:       _S_move(_CharT* __d, const _CharT* __s, size_type __n)
> 28468:       {
> 28468:  if (__n == 1)
> 28468:    traits_type::assign(*__d, *__s);
> 28468:  else
> 28468:    traits_type::move(__d, __s, __n);
> 28468:       }
> 28468: 
> 28468:       static void
> 28468:       _S_assign(_CharT* __d, size_type __n, _CharT __c)
> 28468:       {
> 28468:  if (__n == 1)
> 28468:    traits_type::assign(*__d, __c);
> 28468:  else
> 28468:    traits_type::assign(__d, __n, __c);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<class _Iterator>
> 28468:         static void
> 28468:         _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2)
> 28468:         {
> 28468:    for (; __k1 != __k2; ++__k1, (void)++__p)
> 28468:      traits_type::assign(*__p, *__k1);
> 28468:  }
> 28468: 
> 28468:       static void
> 28468:       _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept
> 28468:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
> 28468: 
> 28468:       static void
> 28468:       _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2)
> 28468:       noexcept
> 28468:       { _S_copy_chars(__p, __k1.base(), __k2.base()); }
> 28468: 
> 28468:       static void
> 28468:       _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept
> 28468:       { _S_copy(__p, __k1, __k2 - __k1); }
> 28468: 
> 28468:       static void
> 28468:       _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2)
> 28468:       noexcept
> 28468:       { _S_copy(__p, __k1, __k2 - __k1); }
> 28468: 
> 28468:       static int
> 28468:       _S_compare(size_type __n1, size_type __n2) noexcept
> 28468:       {
> 28468:  const difference_type __d = difference_type(__n1 - __n2);
> 28468: 
> 28468:  if (__d > __gnu_cxx::__numeric_traits<int>::__max)
> 28468:    return __gnu_cxx::__numeric_traits<int>::__max;
> 28468:  else if (__d < __gnu_cxx::__numeric_traits<int>::__min)
> 28468:    return __gnu_cxx::__numeric_traits<int>::__min;
> 28468:  else
> 28468:    return int(__d);
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_assign(const basic_string&);
> 28468: 
> 28468:       void
> 28468:       _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
> 28468:   size_type __len2);
> 28468: 
> 28468:       void
> 28468:       _M_erase(size_type __pos, size_type __n);
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string()
> 28468:       noexcept(is_nothrow_default_constructible<_Alloc>::value)
> 28468:       : _M_dataplus(_M_local_data())
> 28468:       { _M_set_length(0); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       basic_string(const _Alloc& __a) noexcept
> 28468:       : _M_dataplus(_M_local_data(), __a)
> 28468:       { _M_set_length(0); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string(const basic_string& __str)
> 28468:       : _M_dataplus(_M_local_data(),
> 28468:       _Alloc_traits::_S_select_on_copy(__str._M_get_allocator()))
> 28468:       { _M_construct(__str._M_data(), __str._M_data() + __str.length()); }
> 28468: # 461 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string(const basic_string& __str, size_type __pos,
> 28468:      const _Alloc& __a = _Alloc())
> 28468:       : _M_dataplus(_M_local_data(), __a)
> 28468:       {
> 28468:  const _CharT* __start = __str._M_data()
> 28468:    + __str._M_check(__pos, "basic_string::basic_string");
> 28468:  _M_construct(__start, __start + __str._M_limit(__pos, npos));
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string(const basic_string& __str, size_type __pos,
> 28468:      size_type __n)
> 28468:       : _M_dataplus(_M_local_data())
> 28468:       {
> 28468:  const _CharT* __start = __str._M_data()
> 28468:    + __str._M_check(__pos, "basic_string::basic_string");
> 28468:  _M_construct(__start, __start + __str._M_limit(__pos, __n));
> 28468:       }
> 28468: # 492 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string(const basic_string& __str, size_type __pos,
> 28468:      size_type __n, const _Alloc& __a)
> 28468:       : _M_dataplus(_M_local_data(), __a)
> 28468:       {
> 28468:  const _CharT* __start
> 28468:    = __str._M_data() + __str._M_check(__pos, "string::string");
> 28468:  _M_construct(__start, __start + __str._M_limit(__pos, __n));
> 28468:       }
> 28468: # 510 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string(const _CharT* __s, size_type __n,
> 28468:      const _Alloc& __a = _Alloc())
> 28468:       : _M_dataplus(_M_local_data(), __a)
> 28468:       { _M_construct(__s, __s + __n); }
> 28468: # 525 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string(const _CharT* __s, const _Alloc& __a = _Alloc())
> 28468:       : _M_dataplus(_M_local_data(), __a)
> 28468:       { _M_construct(__s, __s ? __s + traits_type::length(__s) : __s+npos); }
> 28468: # 540 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc())
> 28468:       : _M_dataplus(_M_local_data(), __a)
> 28468:       { _M_construct(__n, __c); }
> 28468: # 552 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string(basic_string&& __str) noexcept
> 28468:       : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator()))
> 28468:       {
> 28468:  if (__str._M_is_local())
> 28468:    {
> 28468:      traits_type::copy(_M_local_buf, __str._M_local_buf,
> 28468:          _S_local_capacity + 1);
> 28468:    }
> 28468:  else
> 28468:    {
> 28468:      _M_data(__str._M_data());
> 28468:      _M_capacity(__str._M_allocated_capacity);
> 28468:    }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  _M_length(__str.length());
> 28468:  __str._M_data(__str._M_local_data());
> 28468:  __str._M_set_length(0);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc())
> 28468:       : _M_dataplus(_M_local_data(), __a)
> 28468:       { _M_construct(__l.begin(), __l.end()); }
> 28468: 
> 28468:       basic_string(const basic_string& __str, const _Alloc& __a)
> 28468:       : _M_dataplus(_M_local_data(), __a)
> 28468:       { _M_construct(__str.begin(), __str.end()); }
> 28468: 
> 28468:       basic_string(basic_string&& __str, const _Alloc& __a)
> 28468:       noexcept(_Alloc_traits::_S_always_equal())
> 28468:       : _M_dataplus(_M_local_data(), __a)
> 28468:       {
> 28468:  if (__str._M_is_local())
> 28468:    {
> 28468:      traits_type::copy(_M_local_buf, __str._M_local_buf,
> 28468:          _S_local_capacity + 1);
> 28468:      _M_length(__str.length());
> 28468:      __str._M_set_length(0);
> 28468:    }
> 28468:  else if (_Alloc_traits::_S_always_equal()
> 28468:      || __str.get_allocator() == __a)
> 28468:    {
> 28468:      _M_data(__str._M_data());
> 28468:      _M_length(__str.length());
> 28468:      _M_capacity(__str._M_allocated_capacity);
> 28468:      __str._M_data(__str._M_local_buf);
> 28468:      __str._M_set_length(0);
> 28468:    }
> 28468:  else
> 28468:    _M_construct(__str.begin(), __str.end());
> 28468:       }
> 28468: # 620 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       template<typename _InputIterator,
> 28468:         typename = std::_RequireInputIter<_InputIterator>>
> 28468: 
> 28468: 
> 28468: 
> 28468:         basic_string(_InputIterator __beg, _InputIterator __end,
> 28468:        const _Alloc& __a = _Alloc())
> 28468:  : _M_dataplus(_M_local_data(), __a)
> 28468:  { _M_construct(__beg, __end); }
> 28468: # 657 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       ~basic_string()
> 28468:       { _M_dispose(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string&
> 28468:       operator=(const basic_string& __str)
> 28468:       {
> 28468: 
> 28468:  if (_Alloc_traits::_S_propagate_on_copy_assign())
> 28468:    {
> 28468:      if (!_Alloc_traits::_S_always_equal() && !_M_is_local()
> 28468:   && _M_get_allocator() != __str._M_get_allocator())
> 28468:        {
> 28468: 
> 28468: 
> 28468:   if (__str.size() <= _S_local_capacity)
> 28468:     {
> 28468:       _M_destroy(_M_allocated_capacity);
> 28468:       _M_data(_M_local_data());
> 28468:       _M_set_length(0);
> 28468:     }
> 28468:   else
> 28468:     {
> 28468:       const auto __len = __str.size();
> 28468:       auto __alloc = __str._M_get_allocator();
> 28468: 
> 28468:       auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1);
> 28468:       _M_destroy(_M_allocated_capacity);
> 28468:       _M_data(__ptr);
> 28468:       _M_capacity(__len);
> 28468:       _M_set_length(__len);
> 28468:     }
> 28468:        }
> 28468:      std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator());
> 28468:    }
> 28468: 
> 28468:  return this->assign(__str);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string&
> 28468:       operator=(const _CharT* __s)
> 28468:       { return this->assign(__s); }
> 28468: # 714 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       operator=(_CharT __c)
> 28468:       {
> 28468:  this->assign(1, __c);
> 28468:  return *this;
> 28468:       }
> 28468: # 731 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       operator=(basic_string&& __str)
> 28468:       noexcept(_Alloc_traits::_S_nothrow_move())
> 28468:       {
> 28468:  if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign()
> 28468:      && !_Alloc_traits::_S_always_equal()
> 28468:      && _M_get_allocator() != __str._M_get_allocator())
> 28468:    {
> 28468: 
> 28468:      _M_destroy(_M_allocated_capacity);
> 28468:      _M_data(_M_local_data());
> 28468:      _M_set_length(0);
> 28468:    }
> 28468: 
> 28468:  std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator());
> 28468: 
> 28468:  if (__str._M_is_local())
> 28468:    {
> 28468: 
> 28468:      if (__str.size())
> 28468:        this->_S_copy(_M_data(), __str._M_data(), __str.size());
> 28468:      _M_set_length(__str.size());
> 28468:    }
> 28468:  else if (_Alloc_traits::_S_propagate_on_move_assign()
> 28468:      || _Alloc_traits::_S_always_equal()
> 28468:      || _M_get_allocator() == __str._M_get_allocator())
> 28468:    {
> 28468: 
> 28468:      pointer __data = nullptr;
> 28468:      size_type __capacity;
> 28468:      if (!_M_is_local())
> 28468:        {
> 28468:   if (_Alloc_traits::_S_always_equal())
> 28468:     {
> 28468: 
> 28468:       __data = _M_data();
> 28468:       __capacity = _M_allocated_capacity;
> 28468:     }
> 28468:   else
> 28468:     _M_destroy(_M_allocated_capacity);
> 28468:        }
> 28468: 
> 28468:      _M_data(__str._M_data());
> 28468:      _M_length(__str.length());
> 28468:      _M_capacity(__str._M_allocated_capacity);
> 28468:      if (__data)
> 28468:        {
> 28468:   __str._M_data(__data);
> 28468:   __str._M_capacity(__capacity);
> 28468:        }
> 28468:      else
> 28468:        __str._M_data(__str._M_local_buf);
> 28468:    }
> 28468:  else
> 28468:    assign(__str);
> 28468:  __str.clear();
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string&
> 28468:       operator=(initializer_list<_CharT> __l)
> 28468:       {
> 28468:  this->assign(__l.begin(), __l.size());
> 28468:  return *this;
> 28468:       }
> 28468: # 825 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       iterator
> 28468:       begin() noexcept
> 28468:       { return iterator(_M_data()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       begin() const noexcept
> 28468:       { return const_iterator(_M_data()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       end() noexcept
> 28468:       { return iterator(_M_data() + this->size()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       end() const noexcept
> 28468:       { return const_iterator(_M_data() + this->size()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       rbegin() noexcept
> 28468:       { return reverse_iterator(this->end()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rbegin() const noexcept
> 28468:       { return const_reverse_iterator(this->end()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       rend() noexcept
> 28468:       { return reverse_iterator(this->begin()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rend() const noexcept
> 28468:       { return const_reverse_iterator(this->begin()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       cbegin() const noexcept
> 28468:       { return const_iterator(this->_M_data()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       cend() const noexcept
> 28468:       { return const_iterator(this->_M_data() + this->size()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crbegin() const noexcept
> 28468:       { return const_reverse_iterator(this->end()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crend() const noexcept
> 28468:       { return const_reverse_iterator(this->begin()); }
> 28468: 
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       size() const noexcept
> 28468:       { return _M_string_length; }
> 28468: 
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       length() const noexcept
> 28468:       { return _M_string_length; }
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       max_size() const noexcept
> 28468:       { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; }
> 28468: # 954 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       void
> 28468:       resize(size_type __n, _CharT __c);
> 28468: # 967 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       void
> 28468:       resize(size_type __n)
> 28468:       { this->resize(__n, _CharT()); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       shrink_to_fit() noexcept
> 28468:       {
> 28468: 
> 28468:  if (capacity() > size())
> 28468:    {
> 28468:      try
> 28468:        { reserve(0); }
> 28468:      catch(...)
> 28468:        { }
> 28468:    }
> 28468: 
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       capacity() const noexcept
> 28468:       {
> 28468:  return _M_is_local() ? size_type(_S_local_capacity)
> 28468:                       : _M_allocated_capacity;
> 28468:       }
> 28468: # 1016 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       void
> 28468:       reserve(size_type __res_arg = 0);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       clear() noexcept
> 28468:       { _M_set_length(0); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       empty() const noexcept
> 28468:       { return this->size() == 0; }
> 28468: # 1045 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       const_reference
> 28468:       operator[] (size_type __pos) const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return _M_data()[__pos];
> 28468:       }
> 28468: # 1062 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       reference
> 28468:       operator[](size_type __pos)
> 28468:       {
> 28468: 
> 28468: 
> 28468:  ;
> 28468: 
> 28468:  ;
> 28468:  return _M_data()[__pos];
> 28468:       }
> 28468: # 1083 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       const_reference
> 28468:       at(size_type __n) const
> 28468:       {
> 28468:  if (__n >= this->size())
> 28468:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
> 28468: 
> 28468:                             ,
> 28468:        __n, this->size());
> 28468:  return _M_data()[__n];
> 28468:       }
> 28468: # 1104 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       reference
> 28468:       at(size_type __n)
> 28468:       {
> 28468:  if (__n >= size())
> 28468:    __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)")
> 28468: 
> 28468:                             ,
> 28468:        __n, this->size());
> 28468:  return _M_data()[__n];
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reference
> 28468:       front() noexcept
> 28468:       {
> 28468:  ;
> 28468:  return operator[](0);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reference
> 28468:       front() const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return operator[](0);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reference
> 28468:       back() noexcept
> 28468:       {
> 28468:  ;
> 28468:  return operator[](this->size() - 1);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reference
> 28468:       back() const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return operator[](this->size() - 1);
> 28468:       }
> 28468: # 1167 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       operator+=(const basic_string& __str)
> 28468:       { return this->append(__str); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string&
> 28468:       operator+=(const _CharT* __s)
> 28468:       { return this->append(__s); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string&
> 28468:       operator+=(_CharT __c)
> 28468:       {
> 28468:  this->push_back(__c);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string&
> 28468:       operator+=(initializer_list<_CharT> __l)
> 28468:       { return this->append(__l.begin(), __l.size()); }
> 28468: # 1220 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       append(const basic_string& __str)
> 28468:       { return _M_append(__str._M_data(), __str.size()); }
> 28468: # 1237 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       append(const basic_string& __str, size_type __pos, size_type __n = npos)
> 28468:       { return _M_append(__str._M_data()
> 28468:     + __str._M_check(__pos, "basic_string::append"),
> 28468:     __str._M_limit(__pos, __n)); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string&
> 28468:       append(const _CharT* __s, size_type __n)
> 28468:       {
> 28468:  ;
> 28468:  _M_check_length(size_type(0), __n, "basic_string::append");
> 28468:  return _M_append(__s, __n);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string&
> 28468:       append(const _CharT* __s)
> 28468:       {
> 28468:  ;
> 28468:  const size_type __n = traits_type::length(__s);
> 28468:  _M_check_length(size_type(0), __n, "basic_string::append");
> 28468:  return _M_append(__s, __n);
> 28468:       }
> 28468: # 1279 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       append(size_type __n, _CharT __c)
> 28468:       { return _M_replace_aux(this->size(), size_type(0), __n, __c); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string&
> 28468:       append(initializer_list<_CharT> __l)
> 28468:       { return this->append(__l.begin(), __l.size()); }
> 28468: # 1303 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       template<class _InputIterator,
> 28468:         typename = std::_RequireInputIter<_InputIterator>>
> 28468: 
> 28468: 
> 28468: 
> 28468:         basic_string&
> 28468:         append(_InputIterator __first, _InputIterator __last)
> 28468:         { return this->replace(end(), end(), __first, __last); }
> 28468: # 1348 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       void
> 28468:       push_back(_CharT __c)
> 28468:       {
> 28468:  const size_type __size = this->size();
> 28468:  if (__size + 1 > this->capacity())
> 28468:    this->_M_mutate(__size, size_type(0), 0, size_type(1));
> 28468:  traits_type::assign(this->_M_data()[__size], __c);
> 28468:  this->_M_set_length(__size + 1);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string&
> 28468:       assign(const basic_string& __str)
> 28468:       {
> 28468:  this->_M_assign(__str);
> 28468:  return *this;
> 28468:       }
> 28468: # 1379 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       assign(basic_string&& __str)
> 28468:       noexcept(_Alloc_traits::_S_nothrow_move())
> 28468:       {
> 28468: 
> 28468: 
> 28468:  return *this = std::move(__str);
> 28468:       }
> 28468: # 1402 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       assign(const basic_string& __str, size_type __pos, size_type __n = npos)
> 28468:       { return _M_replace(size_type(0), this->size(), __str._M_data()
> 28468:      + __str._M_check(__pos, "basic_string::assign"),
> 28468:      __str._M_limit(__pos, __n)); }
> 28468: # 1418 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       assign(const _CharT* __s, size_type __n)
> 28468:       {
> 28468:  ;
> 28468:  return _M_replace(size_type(0), this->size(), __s, __n);
> 28468:       }
> 28468: # 1434 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       assign(const _CharT* __s)
> 28468:       {
> 28468:  ;
> 28468:  return _M_replace(size_type(0), this->size(), __s,
> 28468:      traits_type::length(__s));
> 28468:       }
> 28468: # 1451 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       assign(size_type __n, _CharT __c)
> 28468:       { return _M_replace_aux(size_type(0), this->size(), __n, __c); }
> 28468: # 1464 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       template<class _InputIterator,
> 28468:         typename = std::_RequireInputIter<_InputIterator>>
> 28468: 
> 28468: 
> 28468: 
> 28468:         basic_string&
> 28468:         assign(_InputIterator __first, _InputIterator __last)
> 28468:         { return this->replace(begin(), end(), __first, __last); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_string&
> 28468:       assign(initializer_list<_CharT> __l)
> 28468:       { return this->assign(__l.begin(), __l.size()); }
> 28468: # 1533 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       iterator
> 28468:       insert(const_iterator __p, size_type __n, _CharT __c)
> 28468:       {
> 28468:  ;
> 28468:  const size_type __pos = __p - begin();
> 28468:  this->replace(__p, __p, __n, __c);
> 28468:  return iterator(this->_M_data() + __pos);
> 28468:       }
> 28468: # 1575 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       template<class _InputIterator,
> 28468:         typename = std::_RequireInputIter<_InputIterator>>
> 28468:  iterator
> 28468:         insert(const_iterator __p, _InputIterator __beg, _InputIterator __end)
> 28468:         {
> 28468:    ;
> 28468:    const size_type __pos = __p - begin();
> 28468:    this->replace(__p, __p, __beg, __end);
> 28468:    return iterator(this->_M_data() + __pos);
> 28468:  }
> 28468: # 1611 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       iterator
> 28468:       insert(const_iterator __p, initializer_list<_CharT> __l)
> 28468:       { return this->insert(__p, __l.begin(), __l.end()); }
> 28468: # 1638 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       insert(size_type __pos1, const basic_string& __str)
> 28468:       { return this->replace(__pos1, size_type(0),
> 28468:         __str._M_data(), __str.size()); }
> 28468: # 1661 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       insert(size_type __pos1, const basic_string& __str,
> 28468:       size_type __pos2, size_type __n = npos)
> 28468:       { return this->replace(__pos1, size_type(0), __str._M_data()
> 28468:         + __str._M_check(__pos2, "basic_string::insert"),
> 28468:         __str._M_limit(__pos2, __n)); }
> 28468: # 1684 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       insert(size_type __pos, const _CharT* __s, size_type __n)
> 28468:       { return this->replace(__pos, size_type(0), __s, __n); }
> 28468: # 1703 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       insert(size_type __pos, const _CharT* __s)
> 28468:       {
> 28468:  ;
> 28468:  return this->replace(__pos, size_type(0), __s,
> 28468:         traits_type::length(__s));
> 28468:       }
> 28468: # 1727 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       insert(size_type __pos, size_type __n, _CharT __c)
> 28468:       { return _M_replace_aux(_M_check(__pos, "basic_string::insert"),
> 28468:          size_type(0), __n, __c); }
> 28468: # 1745 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       iterator
> 28468:       insert(__const_iterator __p, _CharT __c)
> 28468:       {
> 28468:  ;
> 28468:  const size_type __pos = __p - begin();
> 28468:  _M_replace_aux(__pos, size_type(0), size_type(1), __c);
> 28468:  return iterator(_M_data() + __pos);
> 28468:       }
> 28468: # 1806 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       erase(size_type __pos = 0, size_type __n = npos)
> 28468:       {
> 28468:  _M_check(__pos, "basic_string::erase");
> 28468:  if (__n == npos)
> 28468:    this->_M_set_length(__pos);
> 28468:  else if (__n != 0)
> 28468:    this->_M_erase(__pos, _M_limit(__pos, __n));
> 28468:  return *this;
> 28468:       }
> 28468: # 1825 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       iterator
> 28468:       erase(__const_iterator __position)
> 28468:       {
> 28468: 
> 28468:                            ;
> 28468:  const size_type __pos = __position - begin();
> 28468:  this->_M_erase(__pos, size_type(1));
> 28468:  return iterator(_M_data() + __pos);
> 28468:       }
> 28468: # 1844 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       iterator
> 28468:       erase(__const_iterator __first, __const_iterator __last)
> 28468:       {
> 28468: 
> 28468:                         ;
> 28468:         const size_type __pos = __first - begin();
> 28468:  if (__last == end())
> 28468:    this->_M_set_length(__pos);
> 28468:  else
> 28468:    this->_M_erase(__pos, __last - __first);
> 28468:  return iterator(this->_M_data() + __pos);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       pop_back() noexcept
> 28468:       {
> 28468:  ;
> 28468:  _M_erase(size() - 1, 1);
> 28468:       }
> 28468: # 1888 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       replace(size_type __pos, size_type __n, const basic_string& __str)
> 28468:       { return this->replace(__pos, __n, __str._M_data(), __str.size()); }
> 28468: # 1910 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       replace(size_type __pos1, size_type __n1, const basic_string& __str,
> 28468:        size_type __pos2, size_type __n2 = npos)
> 28468:       { return this->replace(__pos1, __n1, __str._M_data()
> 28468:         + __str._M_check(__pos2, "basic_string::replace"),
> 28468:         __str._M_limit(__pos2, __n2)); }
> 28468: # 1935 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       replace(size_type __pos, size_type __n1, const _CharT* __s,
> 28468:        size_type __n2)
> 28468:       {
> 28468:  ;
> 28468:  return _M_replace(_M_check(__pos, "basic_string::replace"),
> 28468:      _M_limit(__pos, __n1), __s, __n2);
> 28468:       }
> 28468: # 1960 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       replace(size_type __pos, size_type __n1, const _CharT* __s)
> 28468:       {
> 28468:  ;
> 28468:  return this->replace(__pos, __n1, __s, traits_type::length(__s));
> 28468:       }
> 28468: # 1984 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c)
> 28468:       { return _M_replace_aux(_M_check(__pos, "basic_string::replace"),
> 28468:          _M_limit(__pos, __n1), __n2, __c); }
> 28468: # 2002 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       replace(__const_iterator __i1, __const_iterator __i2,
> 28468:        const basic_string& __str)
> 28468:       { return this->replace(__i1, __i2, __str._M_data(), __str.size()); }
> 28468: # 2022 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       replace(__const_iterator __i1, __const_iterator __i2,
> 28468:        const _CharT* __s, size_type __n)
> 28468:       {
> 28468: 
> 28468:                       ;
> 28468:  return this->replace(__i1 - begin(), __i2 - __i1, __s, __n);
> 28468:       }
> 28468: # 2044 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s)
> 28468:       {
> 28468:  ;
> 28468:  return this->replace(__i1, __i2, __s, traits_type::length(__s));
> 28468:       }
> 28468: # 2065 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       replace(__const_iterator __i1, __const_iterator __i2, size_type __n,
> 28468:        _CharT __c)
> 28468:       {
> 28468: 
> 28468:                       ;
> 28468:  return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c);
> 28468:       }
> 28468: # 2090 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       template<class _InputIterator,
> 28468:         typename = std::_RequireInputIter<_InputIterator>>
> 28468:         basic_string&
> 28468:         replace(const_iterator __i1, const_iterator __i2,
> 28468:   _InputIterator __k1, _InputIterator __k2)
> 28468:         {
> 28468:   
> 28468:                         ;
> 28468:    ;
> 28468:    return this->_M_replace_dispatch(__i1, __i2, __k1, __k2,
> 28468:         std::__false_type());
> 28468:  }
> 28468: # 2122 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string&
> 28468:       replace(__const_iterator __i1, __const_iterator __i2,
> 28468:        _CharT* __k1, _CharT* __k2)
> 28468:       {
> 28468: 
> 28468:                       ;
> 28468:  ;
> 28468:  return this->replace(__i1 - begin(), __i2 - __i1,
> 28468:         __k1, __k2 - __k1);
> 28468:       }
> 28468: 
> 28468:       basic_string&
> 28468:       replace(__const_iterator __i1, __const_iterator __i2,
> 28468:        const _CharT* __k1, const _CharT* __k2)
> 28468:       {
> 28468: 
> 28468:                       ;
> 28468:  ;
> 28468:  return this->replace(__i1 - begin(), __i2 - __i1,
> 28468:         __k1, __k2 - __k1);
> 28468:       }
> 28468: 
> 28468:       basic_string&
> 28468:       replace(__const_iterator __i1, __const_iterator __i2,
> 28468:        iterator __k1, iterator __k2)
> 28468:       {
> 28468: 
> 28468:                       ;
> 28468:  ;
> 28468:  return this->replace(__i1 - begin(), __i2 - __i1,
> 28468:         __k1.base(), __k2 - __k1);
> 28468:       }
> 28468: 
> 28468:       basic_string&
> 28468:       replace(__const_iterator __i1, __const_iterator __i2,
> 28468:        const_iterator __k1, const_iterator __k2)
> 28468:       {
> 28468: 
> 28468:                       ;
> 28468:  ;
> 28468:  return this->replace(__i1 - begin(), __i2 - __i1,
> 28468:         __k1.base(), __k2 - __k1);
> 28468:       }
> 28468: # 2181 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string& replace(const_iterator __i1, const_iterator __i2,
> 28468:        initializer_list<_CharT> __l)
> 28468:       { return this->replace(__i1, __i2, __l.begin(), __l.size()); }
> 28468: # 2241 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:     private:
> 28468:       template<class _Integer>
> 28468:  basic_string&
> 28468:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
> 28468:        _Integer __n, _Integer __val, __true_type)
> 28468:         { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); }
> 28468: 
> 28468:       template<class _InputIterator>
> 28468:  basic_string&
> 28468:  _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
> 28468:        _InputIterator __k1, _InputIterator __k2,
> 28468:        __false_type);
> 28468: 
> 28468:       basic_string&
> 28468:       _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
> 28468:        _CharT __c);
> 28468: 
> 28468:       basic_string&
> 28468:       _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
> 28468:    const size_type __len2);
> 28468: 
> 28468:       basic_string&
> 28468:       _M_append(const _CharT* __s, size_type __n);
> 28468: 
> 28468:     public:
> 28468: # 2279 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       copy(_CharT* __s, size_type __n, size_type __pos = 0) const;
> 28468: # 2289 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       void
> 28468:       swap(basic_string& __s) noexcept;
> 28468: # 2299 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       const _CharT*
> 28468:       c_str() const noexcept
> 28468:       { return _M_data(); }
> 28468: # 2311 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       const _CharT*
> 28468:       data() const noexcept
> 28468:       { return _M_data(); }
> 28468: # 2330 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       allocator_type
> 28468:       get_allocator() const noexcept
> 28468:       { return _M_get_allocator(); }
> 28468: # 2346 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find(const _CharT* __s, size_type __pos, size_type __n) const
> 28468:       noexcept;
> 28468: # 2360 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find(const basic_string& __str, size_type __pos = 0) const
> 28468:       noexcept
> 28468:       { return this->find(__str.data(), __pos, __str.size()); }
> 28468: # 2392 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find(const _CharT* __s, size_type __pos = 0) const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return this->find(__s, __pos, traits_type::length(__s));
> 28468:       }
> 28468: # 2409 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find(_CharT __c, size_type __pos = 0) const noexcept;
> 28468: # 2422 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       rfind(const basic_string& __str, size_type __pos = npos) const
> 28468:       noexcept
> 28468:       { return this->rfind(__str.data(), __pos, __str.size()); }
> 28468: # 2456 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       rfind(const _CharT* __s, size_type __pos, size_type __n) const
> 28468:       noexcept;
> 28468: # 2470 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       rfind(const _CharT* __s, size_type __pos = npos) const
> 28468:       {
> 28468:  ;
> 28468:  return this->rfind(__s, __pos, traits_type::length(__s));
> 28468:       }
> 28468: # 2487 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       rfind(_CharT __c, size_type __pos = npos) const noexcept;
> 28468: # 2501 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_first_of(const basic_string& __str, size_type __pos = 0) const
> 28468:       noexcept
> 28468:       { return this->find_first_of(__str.data(), __pos, __str.size()); }
> 28468: # 2536 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
> 28468:       noexcept;
> 28468: # 2550 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_first_of(const _CharT* __s, size_type __pos = 0) const
> 28468:       noexcept
> 28468:       {
> 28468:  ;
> 28468:  return this->find_first_of(__s, __pos, traits_type::length(__s));
> 28468:       }
> 28468: # 2570 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_first_of(_CharT __c, size_type __pos = 0) const noexcept
> 28468:       { return this->find(__c, __pos); }
> 28468: # 2585 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_last_of(const basic_string& __str, size_type __pos = npos) const
> 28468:       noexcept
> 28468:       { return this->find_last_of(__str.data(), __pos, __str.size()); }
> 28468: # 2620 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
> 28468:       noexcept;
> 28468: # 2634 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_last_of(const _CharT* __s, size_type __pos = npos) const
> 28468:       noexcept
> 28468:       {
> 28468:  ;
> 28468:  return this->find_last_of(__s, __pos, traits_type::length(__s));
> 28468:       }
> 28468: # 2654 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_last_of(_CharT __c, size_type __pos = npos) const noexcept
> 28468:       { return this->rfind(__c, __pos); }
> 28468: # 2668 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_first_not_of(const basic_string& __str, size_type __pos = 0) const
> 28468:       noexcept
> 28468:       { return this->find_first_not_of(__str.data(), __pos, __str.size()); }
> 28468: # 2703 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_first_not_of(const _CharT* __s, size_type __pos,
> 28468:    size_type __n) const noexcept;
> 28468: # 2717 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_first_not_of(const _CharT* __s, size_type __pos = 0) const
> 28468:       noexcept
> 28468:       {
> 28468:  ;
> 28468:  return this->find_first_not_of(__s, __pos, traits_type::length(__s));
> 28468:       }
> 28468: # 2735 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_first_not_of(_CharT __c, size_type __pos = 0) const
> 28468:       noexcept;
> 28468: # 2750 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_last_not_of(const basic_string& __str, size_type __pos = npos) const
> 28468:       noexcept
> 28468:       { return this->find_last_not_of(__str.data(), __pos, __str.size()); }
> 28468: # 2785 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_last_not_of(const _CharT* __s, size_type __pos,
> 28468:          size_type __n) const noexcept;
> 28468: # 2799 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_last_not_of(const _CharT* __s, size_type __pos = npos) const
> 28468:       noexcept
> 28468:       {
> 28468:  ;
> 28468:  return this->find_last_not_of(__s, __pos, traits_type::length(__s));
> 28468:       }
> 28468: # 2817 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       size_type
> 28468:       find_last_not_of(_CharT __c, size_type __pos = npos) const
> 28468:       noexcept;
> 28468: # 2833 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       basic_string
> 28468:       substr(size_type __pos = 0, size_type __n = npos) const
> 28468:       { return basic_string(*this,
> 28468:        _M_check(__pos, "basic_string::substr"), __n); }
> 28468: # 2852 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       int
> 28468:       compare(const basic_string& __str) const
> 28468:       {
> 28468:  const size_type __size = this->size();
> 28468:  const size_type __osize = __str.size();
> 28468:  const size_type __len = std::min(__size, __osize);
> 28468: 
> 28468:  int __r = traits_type::compare(_M_data(), __str.data(), __len);
> 28468:  if (!__r)
> 28468:    __r = _S_compare(__size, __osize);
> 28468:  return __r;
> 28468:       }
> 28468: # 2945 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       int
> 28468:       compare(size_type __pos, size_type __n, const basic_string& __str) const;
> 28468: # 2971 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       int
> 28468:       compare(size_type __pos1, size_type __n1, const basic_string& __str,
> 28468:        size_type __pos2, size_type __n2 = npos) const;
> 28468: # 2989 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       int
> 28468:       compare(const _CharT* __s) const noexcept;
> 28468: # 3013 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       int
> 28468:       compare(size_type __pos, size_type __n1, const _CharT* __s) const;
> 28468: # 3040 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       int
> 28468:       compare(size_type __pos, size_type __n1, const _CharT* __s,
> 28468:        size_type __n2) const;
> 28468: # 3071 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:       template<typename, typename, typename> friend class basic_stringbuf;
> 28468:     };
> 28468: }
> 28468: # 6018 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     {
> 28468:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
> 28468:       __str.append(__rhs);
> 28468:       return __str;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_string<_CharT,_Traits,_Alloc>
> 28468:     operator+(const _CharT* __lhs,
> 28468:        const basic_string<_CharT,_Traits,_Alloc>& __rhs);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_string<_CharT,_Traits,_Alloc>
> 28468:     operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:        const _CharT* __rhs)
> 28468:     {
> 28468:       basic_string<_CharT, _Traits, _Alloc> __str(__lhs);
> 28468:       __str.append(__rhs);
> 28468:       return __str;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs)
> 28468:     {
> 28468:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
> 28468:       typedef typename __string_type::size_type __size_type;
> 28468:       __string_type __str(__lhs);
> 28468:       __str.append(__size_type(1), __rhs);
> 28468:       return __str;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
> 28468:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     { return std::move(__lhs.append(__rhs)); }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
> 28468:     { return std::move(__rhs.insert(0, __lhs)); }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
> 28468:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
> 28468:     {
> 28468:       const auto __size = __lhs.size() + __rhs.size();
> 28468:       const bool __cond = (__size > __lhs.capacity()
> 28468:       && __size <= __rhs.capacity());
> 28468:       return __cond ? std::move(__rhs.insert(0, __lhs))
> 28468:              : std::move(__lhs.append(__rhs));
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(const _CharT* __lhs,
> 28468:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
> 28468:     { return std::move(__rhs.insert(0, __lhs)); }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(_CharT __lhs,
> 28468:        basic_string<_CharT, _Traits, _Alloc>&& __rhs)
> 28468:     { return std::move(__rhs.insert(0, 1, __lhs)); }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
> 28468:        const _CharT* __rhs)
> 28468:     { return std::move(__lhs.append(__rhs)); }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs,
> 28468:        _CharT __rhs)
> 28468:     { return std::move(__lhs.append(1, __rhs)); }
> 28468: # 6139 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.compare(__rhs) == 0; }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline
> 28468:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type
> 28468:     operator==(const basic_string<_CharT>& __lhs,
> 28468:         const basic_string<_CharT>& __rhs) noexcept
> 28468:     { return (__lhs.size() == __rhs.size()
> 28468:        && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(),
> 28468:           __lhs.size())); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator==(const _CharT* __lhs,
> 28468:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     { return __rhs.compare(__lhs) == 0; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:         const _CharT* __rhs)
> 28468:     { return __lhs.compare(__rhs) == 0; }
> 28468: # 6186 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     noexcept
> 28468:     { return !(__lhs == __rhs); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator!=(const _CharT* __lhs,
> 28468:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     { return !(__lhs == __rhs); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:         const _CharT* __rhs)
> 28468:     { return !(__lhs == __rhs); }
> 28468: # 6224 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.compare(__rhs) < 0; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:        const _CharT* __rhs)
> 28468:     { return __lhs.compare(__rhs) < 0; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<(const _CharT* __lhs,
> 28468:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     { return __rhs.compare(__lhs) > 0; }
> 28468: # 6262 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.compare(__rhs) > 0; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:        const _CharT* __rhs)
> 28468:     { return __lhs.compare(__rhs) > 0; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>(const _CharT* __lhs,
> 28468:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     { return __rhs.compare(__lhs) < 0; }
> 28468: # 6300 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.compare(__rhs) <= 0; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:         const _CharT* __rhs)
> 28468:     { return __lhs.compare(__rhs) <= 0; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<=(const _CharT* __lhs,
> 28468:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     { return __rhs.compare(__lhs) >= 0; }
> 28468: # 6338 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:         const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     noexcept
> 28468:     { return __lhs.compare(__rhs) >= 0; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:         const _CharT* __rhs)
> 28468:     { return __lhs.compare(__rhs) >= 0; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>=(const _CharT* __lhs,
> 28468:       const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     { return __rhs.compare(__lhs) <= 0; }
> 28468: # 6376 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline void
> 28468:     swap(basic_string<_CharT, _Traits, _Alloc>& __lhs,
> 28468:   basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     noexcept(noexcept(__lhs.swap(__rhs)))
> 28468:     { __lhs.swap(__rhs); }
> 28468: # 6396 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __is,
> 28468:         basic_string<_CharT, _Traits, _Alloc>& __str);
> 28468: 
> 28468:   template<>
> 28468:     basic_istream<char>&
> 28468:     operator>>(basic_istream<char>& __is, basic_string<char>& __str);
> 28468: # 6414 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __os,
> 28468:         const basic_string<_CharT, _Traits, _Alloc>& __str)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       return __ostream_insert(__os, __str.data(), __str.size());
> 28468:     }
> 28468: # 6437 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     getline(basic_istream<_CharT, _Traits>& __is,
> 28468:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim);
> 28468: # 6454 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_istream<_CharT, _Traits>&
> 28468:     getline(basic_istream<_CharT, _Traits>& __is,
> 28468:      basic_string<_CharT, _Traits, _Alloc>& __str)
> 28468:     { return std::getline(__is, __str, __is.widen('\n')); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_istream<_CharT, _Traits>&
> 28468:     getline(basic_istream<_CharT, _Traits>&& __is,
> 28468:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
> 28468:     { return std::getline(__is, __str, __delim); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     inline basic_istream<_CharT, _Traits>&
> 28468:     getline(basic_istream<_CharT, _Traits>&& __is,
> 28468:      basic_string<_CharT, _Traits, _Alloc>& __str)
> 28468:     { return std::getline(__is, __str); }
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     basic_istream<char>&
> 28468:     getline(basic_istream<char>& __in, basic_string<char>& __str,
> 28468:      char __delim);
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     basic_istream<wchar_t>&
> 28468:     getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str,
> 28468:      wchar_t __delim);
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/ext/string_conversions.h" 1 3
> 28468: # 32 "/usr/include/c++/9/ext/string_conversions.h" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/ext/string_conversions.h" 3
> 28468: # 41 "/usr/include/c++/9/ext/string_conversions.h" 3
> 28468: # 1 "/usr/include/c++/9/cstdlib" 1 3
> 28468: # 39 "/usr/include/c++/9/cstdlib" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cstdlib" 3
> 28468: # 75 "/usr/include/c++/9/cstdlib" 3
> 28468: # 1 "/usr/include/stdlib.h" 1 3 4
> 28468: # 25 "/usr/include/stdlib.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4
> 28468: # 26 "/usr/include/stdlib.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 1 3 4
> 28468: # 32 "/usr/include/stdlib.h" 2 3 4
> 28468: 
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 1 3 4
> 28468: # 52 "/usr/include/x86_64-linux-gnu/bits/waitflags.h" 3 4
> 28468: typedef enum
> 28468: {
> 28468:   P_ALL,
> 28468:   P_PID,
> 28468:   P_PGID
> 28468: } idtype_t;
> 28468: # 40 "/usr/include/stdlib.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/waitstatus.h" 1 3 4
> 28468: # 41 "/usr/include/stdlib.h" 2 3 4
> 28468: # 58 "/usr/include/stdlib.h" 3 4
> 28468: typedef struct
> 28468:   {
> 28468:     int quot;
> 28468:     int rem;
> 28468:   } div_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef struct
> 28468:   {
> 28468:     long int quot;
> 28468:     long int rem;
> 28468:   } ldiv_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: __extension__ typedef struct
> 28468:   {
> 28468:     long long int quot;
> 28468:     long long int rem;
> 28468:   } lldiv_t;
> 28468: # 97 "/usr/include/stdlib.h" 3 4
> 28468: extern size_t __ctype_get_mb_cur_max (void) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double atof (const char *__nptr)
> 28468:      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: extern int atoi (const char *__nptr)
> 28468:      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: extern long int atol (const char *__nptr)
> 28468:      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: __extension__ extern long long int atoll (const char *__nptr)
> 28468:      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double strtod (const char *__restrict __nptr,
> 28468:         char **__restrict __endptr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float strtof (const char *__restrict __nptr,
> 28468:        char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: extern long double strtold (const char *__restrict __nptr,
> 28468:        char **__restrict __endptr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: # 140 "/usr/include/stdlib.h" 3 4
> 28468: extern _Float32 strtof32 (const char *__restrict __nptr,
> 28468:      char **__restrict __endptr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 strtof64 (const char *__restrict __nptr,
> 28468:      char **__restrict __endptr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 strtof128 (const char *__restrict __nptr,
> 28468:        char **__restrict __endptr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x strtof32x (const char *__restrict __nptr,
> 28468:        char **__restrict __endptr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x strtof64x (const char *__restrict __nptr,
> 28468:        char **__restrict __endptr)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: # 176 "/usr/include/stdlib.h" 3 4
> 28468: extern long int strtol (const char *__restrict __nptr,
> 28468:    char **__restrict __endptr, int __base)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: extern unsigned long int strtoul (const char *__restrict __nptr,
> 28468:       char **__restrict __endptr, int __base)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: __extension__
> 28468: extern long long int strtoq (const char *__restrict __nptr,
> 28468:         char **__restrict __endptr, int __base)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: __extension__
> 28468: extern unsigned long long int strtouq (const char *__restrict __nptr,
> 28468:            char **__restrict __endptr, int __base)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: __extension__
> 28468: extern long long int strtoll (const char *__restrict __nptr,
> 28468:          char **__restrict __endptr, int __base)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: __extension__
> 28468: extern unsigned long long int strtoull (const char *__restrict __nptr,
> 28468:      char **__restrict __endptr, int __base)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int strfromd (char *__dest, size_t __size, const char *__format,
> 28468:        double __f)
> 28468:      throw () __attribute__ ((__nonnull__ (3)));
> 28468: 
> 28468: extern int strfromf (char *__dest, size_t __size, const char *__format,
> 28468:        float __f)
> 28468:      throw () __attribute__ ((__nonnull__ (3)));
> 28468: 
> 28468: extern int strfroml (char *__dest, size_t __size, const char *__format,
> 28468:        long double __f)
> 28468:      throw () __attribute__ ((__nonnull__ (3)));
> 28468: # 232 "/usr/include/stdlib.h" 3 4
> 28468: extern int strfromf32 (char *__dest, size_t __size, const char * __format,
> 28468:          _Float32 __f)
> 28468:      throw () __attribute__ ((__nonnull__ (3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int strfromf64 (char *__dest, size_t __size, const char * __format,
> 28468:          _Float64 __f)
> 28468:      throw () __attribute__ ((__nonnull__ (3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int strfromf128 (char *__dest, size_t __size, const char * __format,
> 28468:    _Float128 __f)
> 28468:      throw () __attribute__ ((__nonnull__ (3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int strfromf32x (char *__dest, size_t __size, const char * __format,
> 28468:    _Float32x __f)
> 28468:      throw () __attribute__ ((__nonnull__ (3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int strfromf64x (char *__dest, size_t __size, const char * __format,
> 28468:    _Float64x __f)
> 28468:      throw () __attribute__ ((__nonnull__ (3)));
> 28468: # 274 "/usr/include/stdlib.h" 3 4
> 28468: extern long int strtol_l (const char *__restrict __nptr,
> 28468:      char **__restrict __endptr, int __base,
> 28468:      locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4)));
> 28468: 
> 28468: extern unsigned long int strtoul_l (const char *__restrict __nptr,
> 28468:         char **__restrict __endptr,
> 28468:         int __base, locale_t __loc)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 4)));
> 28468: 
> 28468: __extension__
> 28468: extern long long int strtoll_l (const char *__restrict __nptr,
> 28468:     char **__restrict __endptr, int __base,
> 28468:     locale_t __loc)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 4)));
> 28468: 
> 28468: __extension__
> 28468: extern unsigned long long int strtoull_l (const char *__restrict __nptr,
> 28468:        char **__restrict __endptr,
> 28468:        int __base, locale_t __loc)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 4)));
> 28468: 
> 28468: extern double strtod_l (const char *__restrict __nptr,
> 28468:    char **__restrict __endptr, locale_t __loc)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: 
> 28468: extern float strtof_l (const char *__restrict __nptr,
> 28468:          char **__restrict __endptr, locale_t __loc)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: 
> 28468: extern long double strtold_l (const char *__restrict __nptr,
> 28468:          char **__restrict __endptr,
> 28468:          locale_t __loc)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: # 316 "/usr/include/stdlib.h" 3 4
> 28468: extern _Float32 strtof32_l (const char *__restrict __nptr,
> 28468:        char **__restrict __endptr,
> 28468:        locale_t __loc)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 strtof64_l (const char *__restrict __nptr,
> 28468:        char **__restrict __endptr,
> 28468:        locale_t __loc)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 strtof128_l (const char *__restrict __nptr,
> 28468:          char **__restrict __endptr,
> 28468:          locale_t __loc)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x strtof32x_l (const char *__restrict __nptr,
> 28468:          char **__restrict __endptr,
> 28468:          locale_t __loc)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x strtof64x_l (const char *__restrict __nptr,
> 28468:          char **__restrict __endptr,
> 28468:          locale_t __loc)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 3)));
> 28468: # 360 "/usr/include/stdlib.h" 3 4
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: __attribute__ ((__leaf__)) atoi (const char *__nptr) throw ()
> 28468: {
> 28468:   return (int) strtol (__nptr, (char **) __null, 10);
> 28468: }
> 28468: extern __inline __attribute__ ((__gnu_inline__)) long int
> 28468: __attribute__ ((__leaf__)) atol (const char *__nptr) throw ()
> 28468: {
> 28468:   return strtol (__nptr, (char **) __null, 10);
> 28468: }
> 28468: 
> 28468: 
> 28468: __extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int
> 28468: __attribute__ ((__leaf__)) atoll (const char *__nptr) throw ()
> 28468: {
> 28468:   return strtoll (__nptr, (char **) __null, 10);
> 28468: }
> 28468: # 385 "/usr/include/stdlib.h" 3 4
> 28468: extern char *l64a (long int __n) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: extern long int a64l (const char *__s)
> 28468:      throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/sys/types.h" 1 3 4
> 28468: # 27 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __u_char u_char;
> 28468: typedef __u_short u_short;
> 28468: typedef __u_int u_int;
> 28468: typedef __u_long u_long;
> 28468: typedef __quad_t quad_t;
> 28468: typedef __u_quad_t u_quad_t;
> 28468: typedef __fsid_t fsid_t;
> 28468: 
> 28468: 
> 28468: typedef __loff_t loff_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __ino_t ino_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __ino64_t ino64_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __dev_t dev_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __gid_t gid_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __mode_t mode_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __nlink_t nlink_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __uid_t uid_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __off_t off_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __off64_t off64_t;
> 28468: # 103 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
> 28468: typedef __id_t id_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __ssize_t ssize_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __daddr_t daddr_t;
> 28468: typedef __caddr_t caddr_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __key_t key_t;
> 28468: # 134 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
> 28468: typedef __useconds_t useconds_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __suseconds_t suseconds_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 1 3 4
> 28468: # 145 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef unsigned long int ulong;
> 28468: typedef unsigned short int ushort;
> 28468: typedef unsigned int uint;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __uint8_t u_int8_t;
> 28468: typedef __uint16_t u_int16_t;
> 28468: typedef __uint32_t u_int32_t;
> 28468: typedef __uint64_t u_int64_t;
> 28468: 
> 28468: 
> 28468: typedef int register_t __attribute__ ((__mode__ (__word__)));
> 28468: # 179 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/sys/select.h" 1 3 4
> 28468: # 30 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/select.h" 1 3 4
> 28468: # 22 "/usr/include/x86_64-linux-gnu/bits/select.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/wordsize.h" 1 3 4
> 28468: # 23 "/usr/include/x86_64-linux-gnu/bits/select.h" 2 3 4
> 28468: # 31 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/__sigset_t.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef struct
> 28468: {
> 28468:   unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))];
> 28468: } __sigset_t;
> 28468: # 5 "/usr/include/x86_64-linux-gnu/bits/types/sigset_t.h" 2 3 4
> 28468: 
> 28468: 
> 28468: typedef __sigset_t sigset_t;
> 28468: # 34 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4
> 28468: # 49 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
> 28468: typedef long int __fd_mask;
> 28468: # 59 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
> 28468: typedef struct
> 28468:   {
> 28468: 
> 28468: 
> 28468: 
> 28468:     __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))];
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   } fd_set;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __fd_mask fd_mask;
> 28468: # 91 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
> 28468: extern "C" {
> 28468: # 101 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
> 28468: extern int select (int __nfds, fd_set *__restrict __readfds,
> 28468:      fd_set *__restrict __writefds,
> 28468:      fd_set *__restrict __exceptfds,
> 28468:      struct timeval *__restrict __timeout);
> 28468: # 113 "/usr/include/x86_64-linux-gnu/sys/select.h" 3 4
> 28468: extern int pselect (int __nfds, fd_set *__restrict __readfds,
> 28468:       fd_set *__restrict __writefds,
> 28468:       fd_set *__restrict __exceptfds,
> 28468:       const struct timespec *__restrict __timeout,
> 28468:       const __sigset_t *__restrict __sigmask);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/select2.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/select2.h" 3 4
> 28468: extern long int __fdelt_chk (long int __d);
> 28468: extern long int __fdelt_warn (long int __d)
> 28468:   __attribute__((__warning__ ("bit outside of fd_set selected")));
> 28468: # 124 "/usr/include/x86_64-linux-gnu/sys/select.h" 2 3 4
> 28468: 
> 28468: 
> 28468: }
> 28468: # 180 "/usr/include/x86_64-linux-gnu/sys/types.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __blksize_t blksize_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __blkcnt_t blkcnt_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __fsblkcnt_t fsblkcnt_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __fsfilcnt_t fsfilcnt_t;
> 28468: # 219 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
> 28468: typedef __blkcnt64_t blkcnt64_t;
> 28468: typedef __fsblkcnt64_t fsblkcnt64_t;
> 28468: typedef __fsfilcnt64_t fsfilcnt64_t;
> 28468: # 230 "/usr/include/x86_64-linux-gnu/sys/types.h" 3 4
> 28468: }
> 28468: # 395 "/usr/include/stdlib.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int random (void) throw ();
> 28468: 
> 28468: 
> 28468: extern void srandom (unsigned int __seed) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *initstate (unsigned int __seed, char *__statebuf,
> 28468:    size_t __statelen) throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: struct random_data
> 28468:   {
> 28468:     int32_t *fptr;
> 28468:     int32_t *rptr;
> 28468:     int32_t *state;
> 28468:     int rand_type;
> 28468:     int rand_deg;
> 28468:     int rand_sep;
> 28468:     int32_t *end_ptr;
> 28468:   };
> 28468: 
> 28468: extern int random_r (struct random_data *__restrict __buf,
> 28468:        int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: extern int srandom_r (unsigned int __seed, struct random_data *__buf)
> 28468:      throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: extern int initstate_r (unsigned int __seed, char *__restrict __statebuf,
> 28468:    size_t __statelen,
> 28468:    struct random_data *__restrict __buf)
> 28468:      throw () __attribute__ ((__nonnull__ (2, 4)));
> 28468: 
> 28468: extern int setstate_r (char *__restrict __statebuf,
> 28468:          struct random_data *__restrict __buf)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int rand (void) throw ();
> 28468: 
> 28468: extern void srand (unsigned int __seed) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int rand_r (unsigned int *__seed) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double drand48 (void) throw ();
> 28468: extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern long int lrand48 (void) throw ();
> 28468: extern long int nrand48 (unsigned short int __xsubi[3])
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern long int mrand48 (void) throw ();
> 28468: extern long int jrand48 (unsigned short int __xsubi[3])
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: extern void srand48 (long int __seedval) throw ();
> 28468: extern unsigned short int *seed48 (unsigned short int __seed16v[3])
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: struct drand48_data
> 28468:   {
> 28468:     unsigned short int __x[3];
> 28468:     unsigned short int __old_x[3];
> 28468:     unsigned short int __c;
> 28468:     unsigned short int __init;
> 28468:     __extension__ unsigned long long int __a;
> 28468: 
> 28468:   };
> 28468: 
> 28468: 
> 28468: extern int drand48_r (struct drand48_data *__restrict __buffer,
> 28468:         double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: extern int erand48_r (unsigned short int __xsubi[3],
> 28468:         struct drand48_data *__restrict __buffer,
> 28468:         double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int lrand48_r (struct drand48_data *__restrict __buffer,
> 28468:         long int *__restrict __result)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: extern int nrand48_r (unsigned short int __xsubi[3],
> 28468:         struct drand48_data *__restrict __buffer,
> 28468:         long int *__restrict __result)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int mrand48_r (struct drand48_data *__restrict __buffer,
> 28468:         long int *__restrict __result)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: extern int jrand48_r (unsigned short int __xsubi[3],
> 28468:         struct drand48_data *__restrict __buffer,
> 28468:         long int *__restrict __result)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: extern int srand48_r (long int __seedval, struct drand48_data *__buffer)
> 28468:      throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: extern int seed48_r (unsigned short int __seed16v[3],
> 28468:        struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: extern int lcong48_r (unsigned short int __param[7],
> 28468:         struct drand48_data *__buffer)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: extern void *calloc (size_t __nmemb, size_t __size)
> 28468:      throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void *realloc (void *__ptr, size_t __size)
> 28468:      throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void *reallocarray (void *__ptr, size_t __nmemb, size_t __size)
> 28468:      throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void free (void *__ptr) throw ();
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/alloca.h" 1 3 4
> 28468: # 24 "/usr/include/alloca.h" 3 4
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 1 3 4
> 28468: # 25 "/usr/include/alloca.h" 2 3 4
> 28468: 
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void *alloca (size_t __size) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 567 "/usr/include/stdlib.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size)
> 28468:      throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void *aligned_alloc (size_t __alignment, size_t __size)
> 28468:      throw () __attribute__ ((__malloc__)) __attribute__ ((__alloc_size__ (2))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void abort (void) throw () __attribute__ ((__noreturn__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C++" int at_quick_exit (void (*__func) (void))
> 28468:      throw () __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1)));
> 28468: # 607 "/usr/include/stdlib.h" 3 4
> 28468: extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void exit (int __status) throw () __attribute__ ((__noreturn__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void quick_exit (int __status) throw () __attribute__ ((__noreturn__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void _Exit (int __status) throw () __attribute__ ((__noreturn__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *getenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *secure_getenv (const char *__name)
> 28468:      throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int setenv (const char *__name, const char *__value, int __replace)
> 28468:      throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: extern int unsetenv (const char *__name) throw () __attribute__ ((__nonnull__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int clearenv (void) throw ();
> 28468: # 672 "/usr/include/stdlib.h" 3 4
> 28468: extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1)));
> 28468: # 685 "/usr/include/stdlib.h" 3 4
> 28468: extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: # 695 "/usr/include/stdlib.h" 3 4
> 28468: extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: # 707 "/usr/include/stdlib.h" 3 4
> 28468: extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: # 717 "/usr/include/stdlib.h" 3 4
> 28468: extern int mkstemps64 (char *__template, int __suffixlen)
> 28468:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: # 728 "/usr/include/stdlib.h" 3 4
> 28468: extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: # 739 "/usr/include/stdlib.h" 3 4
> 28468: extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: # 749 "/usr/include/stdlib.h" 3 4
> 28468: extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: # 759 "/usr/include/stdlib.h" 3 4
> 28468: extern int mkostemps (char *__template, int __suffixlen, int __flags)
> 28468:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: # 771 "/usr/include/stdlib.h" 3 4
> 28468: extern int mkostemps64 (char *__template, int __suffixlen, int __flags)
> 28468:      __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: # 781 "/usr/include/stdlib.h" 3 4
> 28468: extern int system (const char *__command) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *canonicalize_file_name (const char *__name)
> 28468:      throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: # 797 "/usr/include/stdlib.h" 3 4
> 28468: extern char *realpath (const char *__restrict __name,
> 28468:          char *__restrict __resolved) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef int (*__compar_fn_t) (const void *, const void *);
> 28468: 
> 28468: 
> 28468: typedef __compar_fn_t comparison_fn_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef int (*__compar_d_fn_t) (const void *, const void *, void *);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void *bsearch (const void *__key, const void *__base,
> 28468:         size_t __nmemb, size_t __size, __compar_fn_t __compar)
> 28468:      __attribute__ ((__nonnull__ (1, 2, 5))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h" 1 3 4
> 28468: # 19 "/usr/include/x86_64-linux-gnu/bits/stdlib-bsearch.h" 3 4
> 28468: extern __inline __attribute__ ((__gnu_inline__)) void *
> 28468: bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size,
> 28468:   __compar_fn_t __compar)
> 28468: {
> 28468:   size_t __l, __u, __idx;
> 28468:   const void *__p;
> 28468:   int __comparison;
> 28468: 
> 28468:   __l = 0;
> 28468:   __u = __nmemb;
> 28468:   while (__l < __u)
> 28468:     {
> 28468:       __idx = (__l + __u) / 2;
> 28468:       __p = (void *) (((const char *) __base) + (__idx * __size));
> 28468:       __comparison = (*__compar) (__key, __p);
> 28468:       if (__comparison < 0)
> 28468:  __u = __idx;
> 28468:       else if (__comparison > 0)
> 28468:  __l = __idx + 1;
> 28468:       else
> 28468:  return (void *) __p;
> 28468:     }
> 28468: 
> 28468:   return __null;
> 28468: }
> 28468: # 823 "/usr/include/stdlib.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void qsort (void *__base, size_t __nmemb, size_t __size,
> 28468:      __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4)));
> 28468: 
> 28468: extern void qsort_r (void *__base, size_t __nmemb, size_t __size,
> 28468:        __compar_d_fn_t __compar, void *__arg)
> 28468:   __attribute__ ((__nonnull__ (1, 4)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int abs (int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
> 28468: extern long int labs (long int __x) throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: __extension__ extern long long int llabs (long long int __x)
> 28468:      throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern div_t div (int __numer, int __denom)
> 28468:      throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
> 28468: extern ldiv_t ldiv (long int __numer, long int __denom)
> 28468:      throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: __extension__ extern lldiv_t lldiv (long long int __numer,
> 28468:         long long int __denom)
> 28468:      throw () __attribute__ ((__const__)) __attribute__ ((__warn_unused_result__));
> 28468: # 869 "/usr/include/stdlib.h" 3 4
> 28468: extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt,
> 28468:      int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt,
> 28468:      int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *gcvt (double __value, int __ndigit, char *__buf)
> 28468:      throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *qecvt (long double __value, int __ndigit,
> 28468:       int *__restrict __decpt, int *__restrict __sign)
> 28468:      throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
> 28468: extern char *qfcvt (long double __value, int __ndigit,
> 28468:       int *__restrict __decpt, int *__restrict __sign)
> 28468:      throw () __attribute__ ((__nonnull__ (3, 4))) __attribute__ ((__warn_unused_result__));
> 28468: extern char *qgcvt (long double __value, int __ndigit, char *__buf)
> 28468:      throw () __attribute__ ((__nonnull__ (3))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt,
> 28468:      int *__restrict __sign, char *__restrict __buf,
> 28468:      size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5)));
> 28468: extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt,
> 28468:      int *__restrict __sign, char *__restrict __buf,
> 28468:      size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5)));
> 28468: 
> 28468: extern int qecvt_r (long double __value, int __ndigit,
> 28468:       int *__restrict __decpt, int *__restrict __sign,
> 28468:       char *__restrict __buf, size_t __len)
> 28468:      throw () __attribute__ ((__nonnull__ (3, 4, 5)));
> 28468: extern int qfcvt_r (long double __value, int __ndigit,
> 28468:       int *__restrict __decpt, int *__restrict __sign,
> 28468:       char *__restrict __buf, size_t __len)
> 28468:      throw () __attribute__ ((__nonnull__ (3, 4, 5)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int mblen (const char *__s, size_t __n) throw ();
> 28468: 
> 28468: 
> 28468: extern int mbtowc (wchar_t *__restrict __pwc,
> 28468:      const char *__restrict __s, size_t __n) throw ();
> 28468: 
> 28468: 
> 28468: extern int wctomb (char *__s, wchar_t __wchar) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t mbstowcs (wchar_t *__restrict __pwcs,
> 28468:    const char *__restrict __s, size_t __n) throw ();
> 28468: 
> 28468: extern size_t wcstombs (char *__restrict __s,
> 28468:    const wchar_t *__restrict __pwcs, size_t __n)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int rpmatch (const char *__response) throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__warn_unused_result__));
> 28468: # 954 "/usr/include/stdlib.h" 3 4
> 28468: extern int getsubopt (char **__restrict __optionp,
> 28468:         char *const *__restrict __tokens,
> 28468:         char **__restrict __valuep)
> 28468:      throw () __attribute__ ((__nonnull__ (1, 2, 3))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int posix_openpt (int __oflag) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int grantpt (int __fd) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int unlockpt (int __fd) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *ptsname (int __fd) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ptsname_r (int __fd, char *__buf, size_t __buflen)
> 28468:      throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: extern int getpt (void);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int getloadavg (double __loadavg[], int __nelem)
> 28468:      throw () __attribute__ ((__nonnull__ (1)));
> 28468: # 1010 "/usr/include/stdlib.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/stdlib-float.h" 3 4
> 28468: extern __inline __attribute__ ((__gnu_inline__)) double
> 28468: __attribute__ ((__leaf__)) atof (const char *__nptr) throw ()
> 28468: {
> 28468:   return strtod (__nptr, (char **) __null);
> 28468: }
> 28468: # 1011 "/usr/include/stdlib.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/stdlib.h" 1 3 4
> 28468: # 23 "/usr/include/x86_64-linux-gnu/bits/stdlib.h" 3 4
> 28468: extern char *__realpath_chk (const char *__restrict __name,
> 28468:         char *__restrict __resolved,
> 28468:         size_t __resolvedlen) throw () __attribute__ ((__warn_unused_result__));
> 28468: extern char *__realpath_alias (const char *__restrict __name, char *__restrict __resolved) throw () __asm__ ("" "realpath")
> 28468: 
> 28468:                                                  __attribute__ ((__warn_unused_result__));
> 28468: extern char *__realpath_chk_warn (const char *__restrict __name, char *__restrict __resolved, size_t __resolvedlen) throw () __asm__ ("" "__realpath_chk")
> 28468: 
> 28468: 
> 28468:                                                 __attribute__ ((__warn_unused_result__))
> 28468:      __attribute__((__warning__ ("second argument of realpath must be either NULL or at " "least PATH_MAX bytes long buffer")))
> 28468:                                       ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
> 28468: __attribute__ ((__leaf__)) realpath (const char *__restrict __name, char *__restrict __resolved) throw ()
> 28468: {
> 28468:   if (__builtin_object_size (__resolved, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       return __realpath_chk (__name, __resolved, __builtin_object_size (__resolved, 2 > 1));
> 28468:     }
> 28468: 
> 28468:   return __realpath_alias (__name, __resolved);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern int __ptsname_r_chk (int __fd, char *__buf, size_t __buflen,
> 28468:        size_t __nreal) throw () __attribute__ ((__nonnull__ (2)));
> 28468: extern int __ptsname_r_alias (int __fd, char *__buf, size_t __buflen) throw () __asm__ ("" "ptsname_r")
> 28468: 
> 28468:      __attribute__ ((__nonnull__ (2)));
> 28468: extern int __ptsname_r_chk_warn (int __fd, char *__buf, size_t __buflen, size_t __nreal) throw () __asm__ ("" "__ptsname_r_chk")
> 28468: 
> 28468: 
> 28468:      __attribute__ ((__nonnull__ (2))) __attribute__((__warning__ ("ptsname_r called with buflen bigger than " "size of buf")))
> 28468:                    ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) ptsname_r (int __fd, char *__buf, size_t __buflen) throw ()
> 28468: {
> 28468:   if (__builtin_object_size (__buf, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__buflen))
> 28468:  return __ptsname_r_chk (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1));
> 28468:       if (__buflen > __builtin_object_size (__buf, 2 > 1))
> 28468:  return __ptsname_r_chk_warn (__fd, __buf, __buflen, __builtin_object_size (__buf, 2 > 1));
> 28468:     }
> 28468:   return __ptsname_r_alias (__fd, __buf, __buflen);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern int __wctomb_chk (char *__s, wchar_t __wchar, size_t __buflen)
> 28468:   throw () __attribute__ ((__warn_unused_result__));
> 28468: extern int __wctomb_alias (char *__s, wchar_t __wchar) throw () __asm__ ("" "wctomb")
> 28468:               __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) int
> 28468: __attribute__ ((__leaf__)) wctomb (char *__s, wchar_t __wchar) throw ()
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1 && 16 > __builtin_object_size (__s, 2 > 1))
> 28468:     return __wctomb_chk (__s, __wchar, __builtin_object_size (__s, 2 > 1));
> 28468:   return __wctomb_alias (__s, __wchar);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern size_t __mbstowcs_chk (wchar_t *__restrict __dst,
> 28468:          const char *__restrict __src,
> 28468:          size_t __len, size_t __dstlen) throw ();
> 28468: extern size_t __mbstowcs_alias (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw () __asm__ ("" "mbstowcs")
> 28468: 
> 28468: 
> 28468:                                   ;
> 28468: extern size_t __mbstowcs_chk_warn (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__mbstowcs_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__((__warning__ ("mbstowcs called with dst buffer smaller than len " "* sizeof (wchar_t)")))
> 28468:                         ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
> 28468: __attribute__ ((__leaf__)) mbstowcs (wchar_t *__restrict __dst, const char *__restrict __src, size_t __len) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__len))
> 28468:  return __mbstowcs_chk (__dst, __src, __len,
> 28468:           __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t));
> 28468: 
> 28468:       if (__len > __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t))
> 28468:  return __mbstowcs_chk_warn (__dst, __src, __len,
> 28468:          __builtin_object_size (__dst, 2 > 1) / sizeof (wchar_t));
> 28468:     }
> 28468:   return __mbstowcs_alias (__dst, __src, __len);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern size_t __wcstombs_chk (char *__restrict __dst,
> 28468:          const wchar_t *__restrict __src,
> 28468:          size_t __len, size_t __dstlen) throw ();
> 28468: extern size_t __wcstombs_alias (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw () __asm__ ("" "wcstombs")
> 28468: 
> 28468: 
> 28468:                                   ;
> 28468: extern size_t __wcstombs_chk_warn (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len, size_t __dstlen) throw () __asm__ ("" "__wcstombs_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__((__warning__ ("wcstombs called with dst buffer smaller than len")));
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) size_t
> 28468: __attribute__ ((__leaf__)) wcstombs (char *__restrict __dst, const wchar_t *__restrict __src, size_t __len) throw ()
> 28468: 
> 28468: {
> 28468:   if (__builtin_object_size (__dst, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__len))
> 28468:  return __wcstombs_chk (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1));
> 28468:       if (__len > __builtin_object_size (__dst, 2 > 1))
> 28468:  return __wcstombs_chk_warn (__dst, __src, __len, __builtin_object_size (__dst, 2 > 1));
> 28468:     }
> 28468:   return __wcstombs_alias (__dst, __src, __len);
> 28468: }
> 28468: # 1015 "/usr/include/stdlib.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 76 "/usr/include/c++/9/cstdlib" 2 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/std_abs.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/std_abs.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/std_abs.h" 3
> 28468: # 46 "/usr/include/c++/9/bits/std_abs.h" 3
> 28468: extern "C++"
> 28468: {
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   using ::abs;
> 28468: 
> 28468: 
> 28468:   inline long
> 28468:   abs(long __i) { return __builtin_labs(__i); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline long long
> 28468:   abs(long long __x) { return __builtin_llabs (__x); }
> 28468: # 70 "/usr/include/c++/9/bits/std_abs.h" 3
> 28468:   inline constexpr double
> 28468:   abs(double __x)
> 28468:   { return __builtin_fabs(__x); }
> 28468: 
> 28468:   inline constexpr float
> 28468:   abs(float __x)
> 28468:   { return __builtin_fabsf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   abs(long double __x)
> 28468:   { return __builtin_fabsl(__x); }
> 28468: # 107 "/usr/include/c++/9/bits/std_abs.h" 3
> 28468: 
> 28468: }
> 28468: }
> 28468: # 78 "/usr/include/c++/9/cstdlib" 2 3
> 28468: # 121 "/usr/include/c++/9/cstdlib" 3
> 28468: extern "C++"
> 28468: {
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   using ::div_t;
> 28468:   using ::ldiv_t;
> 28468: 
> 28468:   using ::abort;
> 28468: 
> 28468: 
> 28468: 
> 28468:   using ::atexit;
> 28468: 
> 28468: 
> 28468:   using ::at_quick_exit;
> 28468: 
> 28468: 
> 28468:   using ::atof;
> 28468:   using ::atoi;
> 28468:   using ::atol;
> 28468:   using ::bsearch;
> 28468:   using ::calloc;
> 28468:   using ::div;
> 28468:   using ::exit;
> 28468:   using ::free;
> 28468:   using ::getenv;
> 28468:   using ::labs;
> 28468:   using ::ldiv;
> 28468:   using ::malloc;
> 28468: 
> 28468:   using ::mblen;
> 28468:   using ::mbstowcs;
> 28468:   using ::mbtowc;
> 28468: 
> 28468:   using ::qsort;
> 28468: 
> 28468: 
> 28468:   using ::quick_exit;
> 28468: 
> 28468: 
> 28468:   using ::rand;
> 28468:   using ::realloc;
> 28468:   using ::srand;
> 28468:   using ::strtod;
> 28468:   using ::strtol;
> 28468:   using ::strtoul;
> 28468:   using ::system;
> 28468: 
> 28468:   using ::wcstombs;
> 28468:   using ::wctomb;
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline ldiv_t
> 28468:   div(long __i, long __j) { return ldiv(__i, __j); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 195 "/usr/include/c++/9/cstdlib" 3
> 28468: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   using ::lldiv_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   using ::_Exit;
> 28468: 
> 28468: 
> 28468: 
> 28468:   using ::llabs;
> 28468: 
> 28468:   inline lldiv_t
> 28468:   div(long long __n, long long __d)
> 28468:   { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; }
> 28468: 
> 28468:   using ::lldiv;
> 28468: # 227 "/usr/include/c++/9/cstdlib" 3
> 28468:   using ::atoll;
> 28468:   using ::strtoll;
> 28468:   using ::strtoull;
> 28468: 
> 28468:   using ::strtof;
> 28468:   using ::strtold;
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: namespace std
> 28468: {
> 28468: 
> 28468:   using ::__gnu_cxx::lldiv_t;
> 28468: 
> 28468:   using ::__gnu_cxx::_Exit;
> 28468: 
> 28468:   using ::__gnu_cxx::llabs;
> 28468:   using ::__gnu_cxx::div;
> 28468:   using ::__gnu_cxx::lldiv;
> 28468: 
> 28468:   using ::__gnu_cxx::atoll;
> 28468:   using ::__gnu_cxx::strtof;
> 28468:   using ::__gnu_cxx::strtoll;
> 28468:   using ::__gnu_cxx::strtoull;
> 28468:   using ::__gnu_cxx::strtold;
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 42 "/usr/include/c++/9/ext/string_conversions.h" 2 3
> 28468: # 1 "/usr/include/c++/9/cwchar" 1 3
> 28468: # 39 "/usr/include/c++/9/cwchar" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cwchar" 3
> 28468: # 43 "/usr/include/c++/9/ext/string_conversions.h" 2 3
> 28468: # 1 "/usr/include/c++/9/cstdio" 1 3
> 28468: # 39 "/usr/include/c++/9/cstdio" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cstdio" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/stdio.h" 1 3 4
> 28468: # 27 "/usr/include/stdio.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4
> 28468: # 28 "/usr/include/stdio.h" 2 3 4
> 28468: 
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stddef.h" 1 3 4
> 28468: # 34 "/usr/include/stdio.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/lib/gcc/x86_64-linux-gnu/9/include/stdarg.h" 1 3 4
> 28468: # 37 "/usr/include/stdio.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 1 3 4
> 28468: # 10 "/usr/include/x86_64-linux-gnu/bits/types/__fpos_t.h" 3 4
> 28468: typedef struct _G_fpos_t
> 28468: {
> 28468:   __off_t __pos;
> 28468:   __mbstate_t __state;
> 28468: } __fpos_t;
> 28468: # 40 "/usr/include/stdio.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 1 3 4
> 28468: # 10 "/usr/include/x86_64-linux-gnu/bits/types/__fpos64_t.h" 3 4
> 28468: typedef struct _G_fpos64_t
> 28468: {
> 28468:   __off64_t __pos;
> 28468:   __mbstate_t __state;
> 28468: } __fpos64_t;
> 28468: # 41 "/usr/include/stdio.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 1 3 4
> 28468: # 35 "/usr/include/x86_64-linux-gnu/bits/types/struct_FILE.h" 3 4
> 28468: struct _IO_FILE;
> 28468: struct _IO_marker;
> 28468: struct _IO_codecvt;
> 28468: struct _IO_wide_data;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef void _IO_lock_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: struct _IO_FILE
> 28468: {
> 28468:   int _flags;
> 28468: 
> 28468: 
> 28468:   char *_IO_read_ptr;
> 28468:   char *_IO_read_end;
> 28468:   char *_IO_read_base;
> 28468:   char *_IO_write_base;
> 28468:   char *_IO_write_ptr;
> 28468:   char *_IO_write_end;
> 28468:   char *_IO_buf_base;
> 28468:   char *_IO_buf_end;
> 28468: 
> 28468: 
> 28468:   char *_IO_save_base;
> 28468:   char *_IO_backup_base;
> 28468:   char *_IO_save_end;
> 28468: 
> 28468:   struct _IO_marker *_markers;
> 28468: 
> 28468:   struct _IO_FILE *_chain;
> 28468: 
> 28468:   int _fileno;
> 28468:   int _flags2;
> 28468:   __off_t _old_offset;
> 28468: 
> 28468: 
> 28468:   unsigned short _cur_column;
> 28468:   signed char _vtable_offset;
> 28468:   char _shortbuf[1];
> 28468: 
> 28468:   _IO_lock_t *_lock;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   __off64_t _offset;
> 28468: 
> 28468:   struct _IO_codecvt *_codecvt;
> 28468:   struct _IO_wide_data *_wide_data;
> 28468:   struct _IO_FILE *_freeres_list;
> 28468:   void *_freeres_buf;
> 28468:   size_t __pad5;
> 28468:   int _mode;
> 28468: 
> 28468:   char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
> 28468: };
> 28468: # 44 "/usr/include/stdio.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h" 1 3 4
> 28468: # 27 "/usr/include/x86_64-linux-gnu/bits/types/cookie_io_functions_t.h" 3 4
> 28468: typedef __ssize_t cookie_read_function_t (void *__cookie, char *__buf,
> 28468:                                           size_t __nbytes);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __ssize_t cookie_write_function_t (void *__cookie, const char *__buf,
> 28468:                                            size_t __nbytes);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef int cookie_seek_function_t (void *__cookie, __off64_t *__pos, int __w);
> 28468: 
> 28468: 
> 28468: typedef int cookie_close_function_t (void *__cookie);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef struct _IO_cookie_io_functions_t
> 28468: {
> 28468:   cookie_read_function_t *read;
> 28468:   cookie_write_function_t *write;
> 28468:   cookie_seek_function_t *seek;
> 28468:   cookie_close_function_t *close;
> 28468: } cookie_io_functions_t;
> 28468: # 47 "/usr/include/stdio.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __gnuc_va_list va_list;
> 28468: # 84 "/usr/include/stdio.h" 3 4
> 28468: typedef __fpos_t fpos_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef __fpos64_t fpos64_t;
> 28468: # 133 "/usr/include/stdio.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/stdio_lim.h" 1 3 4
> 28468: # 134 "/usr/include/stdio.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: extern FILE *stdin;
> 28468: extern FILE *stdout;
> 28468: extern FILE *stderr;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int remove (const char *__filename) throw ();
> 28468: 
> 28468: extern int rename (const char *__old, const char *__new) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int renameat (int __oldfd, const char *__old, int __newfd,
> 28468:        const char *__new) throw ();
> 28468: # 164 "/usr/include/stdio.h" 3 4
> 28468: extern int renameat2 (int __oldfd, const char *__old, int __newfd,
> 28468:         const char *__new, unsigned int __flags) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern FILE *tmpfile (void) __attribute__ ((__warn_unused_result__));
> 28468: # 183 "/usr/include/stdio.h" 3 4
> 28468: extern FILE *tmpfile64 (void) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *tmpnam (char *__s) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *tmpnam_r (char *__s) throw () __attribute__ ((__warn_unused_result__));
> 28468: # 204 "/usr/include/stdio.h" 3 4
> 28468: extern char *tempnam (const char *__dir, const char *__pfx)
> 28468:      throw () __attribute__ ((__malloc__)) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fclose (FILE *__stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fflush (FILE *__stream);
> 28468: # 227 "/usr/include/stdio.h" 3 4
> 28468: extern int fflush_unlocked (FILE *__stream);
> 28468: # 237 "/usr/include/stdio.h" 3 4
> 28468: extern int fcloseall (void);
> 28468: # 246 "/usr/include/stdio.h" 3 4
> 28468: extern FILE *fopen (const char *__restrict __filename,
> 28468:       const char *__restrict __modes) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern FILE *freopen (const char *__restrict __filename,
> 28468:         const char *__restrict __modes,
> 28468:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: # 270 "/usr/include/stdio.h" 3 4
> 28468: extern FILE *fopen64 (const char *__restrict __filename,
> 28468:         const char *__restrict __modes) __attribute__ ((__warn_unused_result__));
> 28468: extern FILE *freopen64 (const char *__restrict __filename,
> 28468:    const char *__restrict __modes,
> 28468:    FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern FILE *fdopen (int __fd, const char *__modes) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern FILE *fopencookie (void *__restrict __magic_cookie,
> 28468:      const char *__restrict __modes,
> 28468:      cookie_io_functions_t __io_funcs) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern FILE *fmemopen (void *__s, size_t __len, const char *__modes)
> 28468:   throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
> 28468:       int __modes, size_t __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf,
> 28468:          size_t __size) throw ();
> 28468: 
> 28468: 
> 28468: extern void setlinebuf (FILE *__stream) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fprintf (FILE *__restrict __stream,
> 28468:       const char *__restrict __format, ...);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int printf (const char *__restrict __format, ...);
> 28468: 
> 28468: extern int sprintf (char *__restrict __s,
> 28468:       const char *__restrict __format, ...) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int vfprintf (FILE *__restrict __s, const char *__restrict __format,
> 28468:        __gnuc_va_list __arg);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg);
> 28468: 
> 28468: extern int vsprintf (char *__restrict __s, const char *__restrict __format,
> 28468:        __gnuc_va_list __arg) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int snprintf (char *__restrict __s, size_t __maxlen,
> 28468:        const char *__restrict __format, ...)
> 28468:      throw () __attribute__ ((__format__ (__printf__, 3, 4)));
> 28468: 
> 28468: extern int vsnprintf (char *__restrict __s, size_t __maxlen,
> 28468:         const char *__restrict __format, __gnuc_va_list __arg)
> 28468:      throw () __attribute__ ((__format__ (__printf__, 3, 0)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int vasprintf (char **__restrict __ptr, const char *__restrict __f,
> 28468:         __gnuc_va_list __arg)
> 28468:      throw () __attribute__ ((__format__ (__printf__, 2, 0))) __attribute__ ((__warn_unused_result__));
> 28468: extern int __asprintf (char **__restrict __ptr,
> 28468:          const char *__restrict __fmt, ...)
> 28468:      throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
> 28468: extern int asprintf (char **__restrict __ptr,
> 28468:        const char *__restrict __fmt, ...)
> 28468:      throw () __attribute__ ((__format__ (__printf__, 2, 3))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int vdprintf (int __fd, const char *__restrict __fmt,
> 28468:        __gnuc_va_list __arg)
> 28468:      __attribute__ ((__format__ (__printf__, 2, 0)));
> 28468: extern int dprintf (int __fd, const char *__restrict __fmt, ...)
> 28468:      __attribute__ ((__format__ (__printf__, 2, 3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fscanf (FILE *__restrict __stream,
> 28468:      const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int scanf (const char *__restrict __format, ...) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: extern int sscanf (const char *__restrict __s,
> 28468:      const char *__restrict __format, ...) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fscanf (FILE *__restrict __stream, const char *__restrict __format, ...) __asm__ ("" "__isoc99_fscanf")
> 28468: 
> 28468:                           __attribute__ ((__warn_unused_result__));
> 28468: extern int scanf (const char *__restrict __format, ...) __asm__ ("" "__isoc99_scanf")
> 28468:                          __attribute__ ((__warn_unused_result__));
> 28468: extern int sscanf (const char *__restrict __s, const char *__restrict __format, ...) throw () __asm__ ("" "__isoc99_sscanf")
> 28468: 
> 28468:                       ;
> 28468: # 432 "/usr/include/stdio.h" 3 4
> 28468: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format,
> 28468:       __gnuc_va_list __arg)
> 28468:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg)
> 28468:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: extern int vsscanf (const char *__restrict __s,
> 28468:       const char *__restrict __format, __gnuc_va_list __arg)
> 28468:      throw () __attribute__ ((__format__ (__scanf__, 2, 0)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vfscanf")
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__ ((__format__ (__scanf__, 2, 0))) __attribute__ ((__warn_unused_result__));
> 28468: extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) __asm__ ("" "__isoc99_vscanf")
> 28468: 
> 28468:      __attribute__ ((__format__ (__scanf__, 1, 0))) __attribute__ ((__warn_unused_result__));
> 28468: extern int vsscanf (const char *__restrict __s, const char *__restrict __format, __gnuc_va_list __arg) throw () __asm__ ("" "__isoc99_vsscanf")
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__ ((__format__ (__scanf__, 2, 0)));
> 28468: # 485 "/usr/include/stdio.h" 3 4
> 28468: extern int fgetc (FILE *__stream);
> 28468: extern int getc (FILE *__stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int getchar (void);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int getc_unlocked (FILE *__stream);
> 28468: extern int getchar_unlocked (void);
> 28468: # 510 "/usr/include/stdio.h" 3 4
> 28468: extern int fgetc_unlocked (FILE *__stream);
> 28468: # 521 "/usr/include/stdio.h" 3 4
> 28468: extern int fputc (int __c, FILE *__stream);
> 28468: extern int putc (int __c, FILE *__stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int putchar (int __c);
> 28468: # 537 "/usr/include/stdio.h" 3 4
> 28468: extern int fputc_unlocked (int __c, FILE *__stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int putc_unlocked (int __c, FILE *__stream);
> 28468: extern int putchar_unlocked (int __c);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int getw (FILE *__stream);
> 28468: 
> 28468: 
> 28468: extern int putw (int __w, FILE *__stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
> 28468:      __attribute__ ((__warn_unused_result__));
> 28468: # 577 "/usr/include/stdio.h" 3 4
> 28468: extern char *gets (char *__s) __attribute__ ((__warn_unused_result__)) __attribute__ ((__deprecated__));
> 28468: # 587 "/usr/include/stdio.h" 3 4
> 28468: extern char *fgets_unlocked (char *__restrict __s, int __n,
> 28468:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: # 603 "/usr/include/stdio.h" 3 4
> 28468: extern __ssize_t __getdelim (char **__restrict __lineptr,
> 28468:                              size_t *__restrict __n, int __delimiter,
> 28468:                              FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: extern __ssize_t getdelim (char **__restrict __lineptr,
> 28468:                            size_t *__restrict __n, int __delimiter,
> 28468:                            FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __ssize_t getline (char **__restrict __lineptr,
> 28468:                           size_t *__restrict __n,
> 28468:                           FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fputs (const char *__restrict __s, FILE *__restrict __stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int puts (const char *__s);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ungetc (int __c, FILE *__stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t fread (void *__restrict __ptr, size_t __size,
> 28468:        size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t fwrite (const void *__restrict __ptr, size_t __size,
> 28468:         size_t __n, FILE *__restrict __s);
> 28468: # 662 "/usr/include/stdio.h" 3 4
> 28468: extern int fputs_unlocked (const char *__restrict __s,
> 28468:       FILE *__restrict __stream);
> 28468: # 673 "/usr/include/stdio.h" 3 4
> 28468: extern size_t fread_unlocked (void *__restrict __ptr, size_t __size,
> 28468:          size_t __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size,
> 28468:           size_t __n, FILE *__restrict __stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fseek (FILE *__stream, long int __off, int __whence);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int ftell (FILE *__stream) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void rewind (FILE *__stream);
> 28468: # 707 "/usr/include/stdio.h" 3 4
> 28468: extern int fseeko (FILE *__stream, __off_t __off, int __whence);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __off_t ftello (FILE *__stream) __attribute__ ((__warn_unused_result__));
> 28468: # 731 "/usr/include/stdio.h" 3 4
> 28468: extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fsetpos (FILE *__stream, const fpos_t *__pos);
> 28468: # 750 "/usr/include/stdio.h" 3 4
> 28468: extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence);
> 28468: extern __off64_t ftello64 (FILE *__stream) __attribute__ ((__warn_unused_result__));
> 28468: extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos);
> 28468: extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos);
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void clearerr (FILE *__stream) throw ();
> 28468: 
> 28468: extern int feof (FILE *__stream) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: extern int ferror (FILE *__stream) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void clearerr_unlocked (FILE *__stream) throw ();
> 28468: extern int feof_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__));
> 28468: extern int ferror_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void perror (const char *__s);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" 1 3 4
> 28468: # 26 "/usr/include/x86_64-linux-gnu/bits/sys_errlist.h" 3 4
> 28468: extern int sys_nerr;
> 28468: extern const char *const sys_errlist[];
> 28468: 
> 28468: 
> 28468: extern int _sys_nerr;
> 28468: extern const char *const _sys_errlist[];
> 28468: # 782 "/usr/include/stdio.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fileno (FILE *__stream) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int fileno_unlocked (FILE *__stream) throw () __attribute__ ((__warn_unused_result__));
> 28468: # 800 "/usr/include/stdio.h" 3 4
> 28468: extern FILE *popen (const char *__command, const char *__modes) __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int pclose (FILE *__stream);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *ctermid (char *__s) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *cuserid (char *__s);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: struct obstack;
> 28468: 
> 28468: 
> 28468: extern int obstack_printf (struct obstack *__restrict __obstack,
> 28468:       const char *__restrict __format, ...)
> 28468:      throw () __attribute__ ((__format__ (__printf__, 2, 3)));
> 28468: extern int obstack_vprintf (struct obstack *__restrict __obstack,
> 28468:        const char *__restrict __format,
> 28468:        __gnuc_va_list __args)
> 28468:      throw () __attribute__ ((__format__ (__printf__, 2, 0)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern void flockfile (FILE *__stream) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ftrylockfile (FILE *__stream) throw () __attribute__ ((__warn_unused_result__));
> 28468: 
> 28468: 
> 28468: extern void funlockfile (FILE *__stream) throw ();
> 28468: # 858 "/usr/include/stdio.h" 3 4
> 28468: extern int __uflow (FILE *);
> 28468: extern int __overflow (FILE *, int);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/stdio.h" 1 3 4
> 28468: # 46 "/usr/include/x86_64-linux-gnu/bits/stdio.h" 3 4
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: getchar (void)
> 28468: {
> 28468:   return getc (stdin);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: fgetc_unlocked (FILE *__fp)
> 28468: {
> 28468:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: getc_unlocked (FILE *__fp)
> 28468: {
> 28468:   return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: getchar_unlocked (void)
> 28468: {
> 28468:   return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: putchar (int __c)
> 28468: {
> 28468:   return putc (__c, stdout);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: fputc_unlocked (int __c, FILE *__stream)
> 28468: {
> 28468:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: putc_unlocked (int __c, FILE *__stream)
> 28468: {
> 28468:   return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c)));
> 28468: }
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: putchar_unlocked (int __c)
> 28468: {
> 28468:   return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c)));
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) __ssize_t
> 28468: getline (char **__lineptr, size_t *__n, FILE *__stream)
> 28468: {
> 28468:   return __getdelim (__lineptr, __n, '\n', __stream);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: __attribute__ ((__leaf__)) feof_unlocked (FILE *__stream) throw ()
> 28468: {
> 28468:   return (((__stream)->_flags & 0x0010) != 0);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__gnu_inline__)) int
> 28468: __attribute__ ((__leaf__)) ferror_unlocked (FILE *__stream) throw ()
> 28468: {
> 28468:   return (((__stream)->_flags & 0x0020) != 0);
> 28468: }
> 28468: # 865 "/usr/include/stdio.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/stdio2.h" 1 3 4
> 28468: # 26 "/usr/include/x86_64-linux-gnu/bits/stdio2.h" 3 4
> 28468: extern int __sprintf_chk (char *__restrict __s, int __flag, size_t __slen,
> 28468:      const char *__restrict __format, ...) throw ();
> 28468: extern int __vsprintf_chk (char *__restrict __s, int __flag, size_t __slen,
> 28468:       const char *__restrict __format,
> 28468:       __gnuc_va_list __ap) throw ();
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) sprintf (char *__restrict __s, const char *__restrict __fmt, ...) throw ()
> 28468: {
> 28468:   return __builtin___sprintf_chk (__s, 2 - 1,
> 28468:       __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ());
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) vsprintf (char *__restrict __s, const char *__restrict __fmt, __gnuc_va_list __ap) throw ()
> 28468: 
> 28468: {
> 28468:   return __builtin___vsprintf_chk (__s, 2 - 1,
> 28468:        __builtin_object_size (__s, 2 > 1), __fmt, __ap);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int __snprintf_chk (char *__restrict __s, size_t __n, int __flag,
> 28468:       size_t __slen, const char *__restrict __format,
> 28468:       ...) throw ();
> 28468: extern int __vsnprintf_chk (char *__restrict __s, size_t __n, int __flag,
> 28468:        size_t __slen, const char *__restrict __format,
> 28468:        __gnuc_va_list __ap) throw ();
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) snprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, ...) throw ()
> 28468: 
> 28468: {
> 28468:   return __builtin___snprintf_chk (__s, __n, 2 - 1,
> 28468:        __builtin_object_size (__s, 2 > 1), __fmt, __builtin_va_arg_pack ());
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) vsnprintf (char *__restrict __s, size_t __n, const char *__restrict __fmt, __gnuc_va_list __ap) throw ()
> 28468: 
> 28468: {
> 28468:   return __builtin___vsnprintf_chk (__s, __n, 2 - 1,
> 28468:         __builtin_object_size (__s, 2 > 1), __fmt, __ap);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int __fprintf_chk (FILE *__restrict __stream, int __flag,
> 28468:      const char *__restrict __format, ...);
> 28468: extern int __printf_chk (int __flag, const char *__restrict __format, ...);
> 28468: extern int __vfprintf_chk (FILE *__restrict __stream, int __flag,
> 28468:       const char *__restrict __format, __gnuc_va_list __ap);
> 28468: extern int __vprintf_chk (int __flag, const char *__restrict __format,
> 28468:      __gnuc_va_list __ap);
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: fprintf (FILE *__restrict __stream, const char *__restrict __fmt, ...)
> 28468: {
> 28468:   return __fprintf_chk (__stream, 2 - 1, __fmt,
> 28468:    __builtin_va_arg_pack ());
> 28468: }
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: printf (const char *__restrict __fmt, ...)
> 28468: {
> 28468:   return __printf_chk (2 - 1, __fmt, __builtin_va_arg_pack ());
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: vprintf (const char *__restrict __fmt, __gnuc_va_list __ap)
> 28468: {
> 28468: 
> 28468:   return __vfprintf_chk (stdout, 2 - 1, __fmt, __ap);
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: vfprintf (FILE *__restrict __stream,
> 28468:    const char *__restrict __fmt, __gnuc_va_list __ap)
> 28468: {
> 28468:   return __vfprintf_chk (__stream, 2 - 1, __fmt, __ap);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern int __dprintf_chk (int __fd, int __flag, const char *__restrict __fmt,
> 28468:      ...) __attribute__ ((__format__ (__printf__, 3, 4)));
> 28468: extern int __vdprintf_chk (int __fd, int __flag,
> 28468:       const char *__restrict __fmt, __gnuc_va_list __arg)
> 28468:      __attribute__ ((__format__ (__printf__, 3, 0)));
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: dprintf (int __fd, const char *__restrict __fmt, ...)
> 28468: {
> 28468:   return __dprintf_chk (__fd, 2 - 1, __fmt,
> 28468:    __builtin_va_arg_pack ());
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: vdprintf (int __fd, const char *__restrict __fmt, __gnuc_va_list __ap)
> 28468: {
> 28468:   return __vdprintf_chk (__fd, 2 - 1, __fmt, __ap);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int __asprintf_chk (char **__restrict __ptr, int __flag,
> 28468:       const char *__restrict __fmt, ...)
> 28468:      throw () __attribute__ ((__format__ (__printf__, 3, 4))) __attribute__ ((__warn_unused_result__));
> 28468: extern int __vasprintf_chk (char **__restrict __ptr, int __flag,
> 28468:        const char *__restrict __fmt, __gnuc_va_list __arg)
> 28468:      throw () __attribute__ ((__format__ (__printf__, 3, 0))) __attribute__ ((__warn_unused_result__));
> 28468: extern int __obstack_printf_chk (struct obstack *__restrict __obstack,
> 28468:      int __flag, const char *__restrict __format,
> 28468:      ...)
> 28468:      throw () __attribute__ ((__format__ (__printf__, 3, 4)));
> 28468: extern int __obstack_vprintf_chk (struct obstack *__restrict __obstack,
> 28468:       int __flag,
> 28468:       const char *__restrict __format,
> 28468:       __gnuc_va_list __args)
> 28468:      throw () __attribute__ ((__format__ (__printf__, 3, 0)));
> 28468: 
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw ()
> 28468: {
> 28468:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
> 28468:     __builtin_va_arg_pack ());
> 28468: }
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) __asprintf (char **__restrict __ptr, const char *__restrict __fmt, ...) throw ()
> 28468: 
> 28468: {
> 28468:   return __asprintf_chk (__ptr, 2 - 1, __fmt,
> 28468:     __builtin_va_arg_pack ());
> 28468: }
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) obstack_printf (struct obstack *__restrict __obstack, const char *__restrict __fmt, ...) throw ()
> 28468: 
> 28468: {
> 28468:   return __obstack_printf_chk (__obstack, 2 - 1, __fmt,
> 28468:           __builtin_va_arg_pack ());
> 28468: }
> 28468: # 209 "/usr/include/x86_64-linux-gnu/bits/stdio2.h" 3 4
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) vasprintf (char **__restrict __ptr, const char *__restrict __fmt, __gnuc_va_list __ap) throw ()
> 28468: 
> 28468: {
> 28468:   return __vasprintf_chk (__ptr, 2 - 1, __fmt, __ap);
> 28468: }
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) int
> 28468: __attribute__ ((__leaf__)) obstack_vprintf (struct obstack *__restrict __obstack, const char *__restrict __fmt, __gnuc_va_list __ap) throw ()
> 28468: 
> 28468: {
> 28468:   return __obstack_vprintf_chk (__obstack, 2 - 1, __fmt,
> 28468:     __ap);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *__gets_chk (char *__str, size_t) __attribute__ ((__warn_unused_result__));
> 28468: extern char *__gets_warn (char *__str) __asm__ ("" "gets")
> 28468:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("please use fgets or getline instead, gets can't " "specify buffer size")))
> 28468:                                ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
> 28468: gets (char *__str)
> 28468: {
> 28468:   if (__builtin_object_size (__str, 2 > 1) != (size_t) -1)
> 28468:     return __gets_chk (__str, __builtin_object_size (__str, 2 > 1));
> 28468:   return __gets_warn (__str);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern char *__fgets_chk (char *__restrict __s, size_t __size, int __n,
> 28468:      FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: extern char *__fgets_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets")
> 28468: 
> 28468:                                         __attribute__ ((__warn_unused_result__));
> 28468: extern char *__fgets_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_chk")
> 28468: 
> 28468: 
> 28468:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets called with bigger size than length " "of destination buffer")))
> 28468:                                  ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
> 28468: fgets (char *__restrict __s, int __n, FILE *__restrict __stream)
> 28468: {
> 28468:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__n) || __n <= 0)
> 28468:  return __fgets_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
> 28468: 
> 28468:       if ((size_t) __n > __builtin_object_size (__s, 2 > 1))
> 28468:  return __fgets_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
> 28468:     }
> 28468:   return __fgets_alias (__s, __n, __stream);
> 28468: }
> 28468: 
> 28468: extern size_t __fread_chk (void *__restrict __ptr, size_t __ptrlen,
> 28468:       size_t __size, size_t __n,
> 28468:       FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: extern size_t __fread_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread")
> 28468: 
> 28468: 
> 28468:             __attribute__ ((__warn_unused_result__));
> 28468: extern size_t __fread_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread called with bigger size * nmemb than length " "of destination buffer")))
> 28468:                                  ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
> 28468: fread (void *__restrict __ptr, size_t __size, size_t __n,
> 28468:        FILE *__restrict __stream)
> 28468: {
> 28468:   if (__builtin_object_size (__ptr, 0) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__size)
> 28468:    || !__builtin_constant_p (__n)
> 28468:    || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2)))
> 28468:  return __fread_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream);
> 28468: 
> 28468:       if (__size * __n > __builtin_object_size (__ptr, 0))
> 28468:  return __fread_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n, __stream);
> 28468:     }
> 28468:   return __fread_alias (__ptr, __size, __n, __stream);
> 28468: }
> 28468: 
> 28468: 
> 28468: extern char *__fgets_unlocked_chk (char *__restrict __s, size_t __size,
> 28468:        int __n, FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: extern char *__fgets_unlocked_alias (char *__restrict __s, int __n, FILE *__restrict __stream) __asm__ ("" "fgets_unlocked")
> 28468: 
> 28468:                                                  __attribute__ ((__warn_unused_result__));
> 28468: extern char *__fgets_unlocked_chk_warn (char *__restrict __s, size_t __size, int __n, FILE *__restrict __stream) __asm__ ("" "__fgets_unlocked_chk")
> 28468: 
> 28468: 
> 28468:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fgets_unlocked called with bigger size than length " "of destination buffer")))
> 28468:                                  ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) char *
> 28468: fgets_unlocked (char *__restrict __s, int __n, FILE *__restrict __stream)
> 28468: {
> 28468:   if (__builtin_object_size (__s, 2 > 1) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__n) || __n <= 0)
> 28468:  return __fgets_unlocked_chk (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
> 28468: 
> 28468:       if ((size_t) __n > __builtin_object_size (__s, 2 > 1))
> 28468:  return __fgets_unlocked_chk_warn (__s, __builtin_object_size (__s, 2 > 1), __n, __stream);
> 28468:     }
> 28468:   return __fgets_unlocked_alias (__s, __n, __stream);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern size_t __fread_unlocked_chk (void *__restrict __ptr, size_t __ptrlen,
> 28468:         size_t __size, size_t __n,
> 28468:         FILE *__restrict __stream) __attribute__ ((__warn_unused_result__));
> 28468: extern size_t __fread_unlocked_alias (void *__restrict __ptr, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "fread_unlocked")
> 28468: 
> 28468: 
> 28468:                      __attribute__ ((__warn_unused_result__));
> 28468: extern size_t __fread_unlocked_chk_warn (void *__restrict __ptr, size_t __ptrlen, size_t __size, size_t __n, FILE *__restrict __stream) __asm__ ("" "__fread_unlocked_chk")
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:      __attribute__ ((__warn_unused_result__)) __attribute__((__warning__ ("fread_unlocked called with bigger size * nmemb than " "length of destination buffer")))
> 28468:                                         ;
> 28468: 
> 28468: extern __inline __attribute__ ((__always_inline__)) __attribute__ ((__gnu_inline__)) __attribute__ ((__artificial__)) __attribute__ ((__warn_unused_result__)) size_t
> 28468: fread_unlocked (void *__restrict __ptr, size_t __size, size_t __n,
> 28468:   FILE *__restrict __stream)
> 28468: {
> 28468:   if (__builtin_object_size (__ptr, 0) != (size_t) -1)
> 28468:     {
> 28468:       if (!__builtin_constant_p (__size)
> 28468:    || !__builtin_constant_p (__n)
> 28468:    || (__size | __n) >= (((size_t) 1) << (8 * sizeof (size_t) / 2)))
> 28468:  return __fread_unlocked_chk (__ptr, __builtin_object_size (__ptr, 0), __size, __n,
> 28468:          __stream);
> 28468: 
> 28468:       if (__size * __n > __builtin_object_size (__ptr, 0))
> 28468:  return __fread_unlocked_chk_warn (__ptr, __builtin_object_size (__ptr, 0), __size, __n,
> 28468:        __stream);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   if (__builtin_constant_p (__size)
> 28468:       && __builtin_constant_p (__n)
> 28468:       && (__size | __n) < (((size_t) 1) << (8 * sizeof (size_t) / 2))
> 28468:       && __size * __n <= 8)
> 28468:     {
> 28468:       size_t __cnt = __size * __n;
> 28468:       char *__cptr = (char *) __ptr;
> 28468:       if (__cnt == 0)
> 28468:  return 0;
> 28468: 
> 28468:       for (; __cnt > 0; --__cnt)
> 28468:  {
> 28468:    int __c = getc_unlocked (__stream);
> 28468:    if (__c == (-1))
> 28468:      break;
> 28468:    *__cptr++ = __c;
> 28468:  }
> 28468:       return (__cptr - (char *) __ptr) / __size;
> 28468:     }
> 28468: 
> 28468:   return __fread_unlocked_alias (__ptr, __size, __n, __stream);
> 28468: }
> 28468: # 868 "/usr/include/stdio.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 43 "/usr/include/c++/9/cstdio" 2 3
> 28468: # 96 "/usr/include/c++/9/cstdio" 3
> 28468: namespace std
> 28468: {
> 28468:   using ::FILE;
> 28468:   using ::fpos_t;
> 28468: 
> 28468:   using ::clearerr;
> 28468:   using ::fclose;
> 28468:   using ::feof;
> 28468:   using ::ferror;
> 28468:   using ::fflush;
> 28468:   using ::fgetc;
> 28468:   using ::fgetpos;
> 28468:   using ::fgets;
> 28468:   using ::fopen;
> 28468:   using ::fprintf;
> 28468:   using ::fputc;
> 28468:   using ::fputs;
> 28468:   using ::fread;
> 28468:   using ::freopen;
> 28468:   using ::fscanf;
> 28468:   using ::fseek;
> 28468:   using ::fsetpos;
> 28468:   using ::ftell;
> 28468:   using ::fwrite;
> 28468:   using ::getc;
> 28468:   using ::getchar;
> 28468: 
> 28468: 
> 28468:   using ::gets;
> 28468: 
> 28468:   using ::perror;
> 28468:   using ::printf;
> 28468:   using ::putc;
> 28468:   using ::putchar;
> 28468:   using ::puts;
> 28468:   using ::remove;
> 28468:   using ::rename;
> 28468:   using ::rewind;
> 28468:   using ::scanf;
> 28468:   using ::setbuf;
> 28468:   using ::setvbuf;
> 28468:   using ::sprintf;
> 28468:   using ::sscanf;
> 28468:   using ::tmpfile;
> 28468: 
> 28468:   using ::tmpnam;
> 28468: 
> 28468:   using ::ungetc;
> 28468:   using ::vfprintf;
> 28468:   using ::vprintf;
> 28468:   using ::vsprintf;
> 28468: }
> 28468: # 157 "/usr/include/c++/9/cstdio" 3
> 28468: namespace __gnu_cxx
> 28468: {
> 28468: # 175 "/usr/include/c++/9/cstdio" 3
> 28468:   using ::snprintf;
> 28468:   using ::vfscanf;
> 28468:   using ::vscanf;
> 28468:   using ::vsnprintf;
> 28468:   using ::vsscanf;
> 28468: 
> 28468: }
> 28468: 
> 28468: namespace std
> 28468: {
> 28468:   using ::__gnu_cxx::snprintf;
> 28468:   using ::__gnu_cxx::vfscanf;
> 28468:   using ::__gnu_cxx::vscanf;
> 28468:   using ::__gnu_cxx::vsnprintf;
> 28468:   using ::__gnu_cxx::vsscanf;
> 28468: }
> 28468: # 44 "/usr/include/c++/9/ext/string_conversions.h" 2 3
> 28468: # 1 "/usr/include/c++/9/cerrno" 1 3
> 28468: # 39 "/usr/include/c++/9/cerrno" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cerrno" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/errno.h" 1 3 4
> 28468: # 28 "/usr/include/errno.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/errno.h" 1 3 4
> 28468: # 26 "/usr/include/x86_64-linux-gnu/bits/errno.h" 3 4
> 28468: # 1 "/usr/include/linux/errno.h" 1 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/asm/errno.h" 1 3 4
> 28468: # 1 "/usr/include/asm-generic/errno.h" 1 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/asm-generic/errno-base.h" 1 3 4
> 28468: # 6 "/usr/include/asm-generic/errno.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/asm/errno.h" 2 3 4
> 28468: # 1 "/usr/include/linux/errno.h" 2 3 4
> 28468: # 27 "/usr/include/x86_64-linux-gnu/bits/errno.h" 2 3 4
> 28468: # 29 "/usr/include/errno.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: extern int *__errno_location (void) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *program_invocation_name;
> 28468: extern char *program_invocation_short_name;
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/types/error_t.h" 1 3 4
> 28468: # 22 "/usr/include/x86_64-linux-gnu/bits/types/error_t.h" 3 4
> 28468: typedef int error_t;
> 28468: # 49 "/usr/include/errno.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 43 "/usr/include/c++/9/cerrno" 2 3
> 28468: # 45 "/usr/include/c++/9/ext/string_conversions.h" 2 3
> 28468: 
> 28468: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _TRet, typename _Ret = _TRet, typename _CharT,
> 28468:     typename... _Base>
> 28468:     _Ret
> 28468:     __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...),
> 28468:     const char* __name, const _CharT* __str, std::size_t* __idx,
> 28468:     _Base... __base)
> 28468:     {
> 28468:       _Ret __ret;
> 28468: 
> 28468:       _CharT* __endptr;
> 28468: 
> 28468:       struct _Save_errno {
> 28468:  _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; }
> 28468:  ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; }
> 28468:  int _M_errno;
> 28468:       } const __save_errno;
> 28468: 
> 28468:       struct _Range_chk {
> 28468:    static bool
> 28468:    _S_chk(_TRet, std::false_type) { return false; }
> 28468: 
> 28468:    static bool
> 28468:    _S_chk(_TRet __val, std::true_type)
> 28468:    {
> 28468:      return __val < _TRet(__numeric_traits<int>::__min)
> 28468:        || __val > _TRet(__numeric_traits<int>::__max);
> 28468:    }
> 28468:       };
> 28468: 
> 28468:       const _TRet __tmp = __convf(__str, &__endptr, __base...);
> 28468: 
> 28468:       if (__endptr == __str)
> 28468:  std::__throw_invalid_argument(__name);
> 28468:       else if ((*__errno_location ()) == 34
> 28468:    || _Range_chk::_S_chk(__tmp, std::is_same<_Ret, int>{}))
> 28468:  std::__throw_out_of_range(__name);
> 28468:       else
> 28468:  __ret = __tmp;
> 28468: 
> 28468:       if (__idx)
> 28468:  *__idx = __endptr - __str;
> 28468: 
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _String, typename _CharT = typename _String::value_type>
> 28468:     _String
> 28468:     __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*,
> 28468:      __builtin_va_list), std::size_t __n,
> 28468:    const _CharT* __fmt, ...)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
> 28468:          * __n));
> 28468: 
> 28468:       __builtin_va_list __args;
> 28468:       __builtin_va_start(__args, __fmt);
> 28468: 
> 28468:       const int __len = __convf(__s, __n, __fmt, __args);
> 28468: 
> 28468:       __builtin_va_end(__args);
> 28468: 
> 28468:       return _String(__s, __s + __len);
> 28468:     }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 6494 "/usr/include/c++/9/bits/basic_string.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: namespace __cxx11 {
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline int
> 28468:   stoi(const string& __str, size_t* __idx = 0, int __base = 10)
> 28468:   { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(),
> 28468:      __idx, __base); }
> 28468: 
> 28468:   inline long
> 28468:   stol(const string& __str, size_t* __idx = 0, int __base = 10)
> 28468:   { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(),
> 28468:         __idx, __base); }
> 28468: 
> 28468:   inline unsigned long
> 28468:   stoul(const string& __str, size_t* __idx = 0, int __base = 10)
> 28468:   { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(),
> 28468:         __idx, __base); }
> 28468: 
> 28468:   inline long long
> 28468:   stoll(const string& __str, size_t* __idx = 0, int __base = 10)
> 28468:   { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(),
> 28468:         __idx, __base); }
> 28468: 
> 28468:   inline unsigned long long
> 28468:   stoull(const string& __str, size_t* __idx = 0, int __base = 10)
> 28468:   { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(),
> 28468:         __idx, __base); }
> 28468: 
> 28468: 
> 28468:   inline float
> 28468:   stof(const string& __str, size_t* __idx = 0)
> 28468:   { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); }
> 28468: 
> 28468:   inline double
> 28468:   stod(const string& __str, size_t* __idx = 0)
> 28468:   { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); }
> 28468: 
> 28468:   inline long double
> 28468:   stold(const string& __str, size_t* __idx = 0)
> 28468:   { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline string
> 28468:   to_string(int __val)
> 28468:   { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, 4 * sizeof(int),
> 28468:         "%d", __val); }
> 28468: 
> 28468:   inline string
> 28468:   to_string(unsigned __val)
> 28468:   { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf,
> 28468:         4 * sizeof(unsigned),
> 28468:         "%u", __val); }
> 28468: 
> 28468:   inline string
> 28468:   to_string(long __val)
> 28468:   { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, 4 * sizeof(long),
> 28468:         "%ld", __val); }
> 28468: 
> 28468:   inline string
> 28468:   to_string(unsigned long __val)
> 28468:   { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf,
> 28468:         4 * sizeof(unsigned long),
> 28468:         "%lu", __val); }
> 28468: 
> 28468:   inline string
> 28468:   to_string(long long __val)
> 28468:   { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf,
> 28468:         4 * sizeof(long long),
> 28468:         "%lld", __val); }
> 28468: 
> 28468:   inline string
> 28468:   to_string(unsigned long long __val)
> 28468:   { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf,
> 28468:         4 * sizeof(unsigned long long),
> 28468:         "%llu", __val); }
> 28468: 
> 28468:   inline string
> 28468:   to_string(float __val)
> 28468:   {
> 28468:     const int __n =
> 28468:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
> 28468:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
> 28468:         "%f", __val);
> 28468:   }
> 28468: 
> 28468:   inline string
> 28468:   to_string(double __val)
> 28468:   {
> 28468:     const int __n =
> 28468:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
> 28468:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
> 28468:         "%f", __val);
> 28468:   }
> 28468: 
> 28468:   inline string
> 28468:   to_string(long double __val)
> 28468:   {
> 28468:     const int __n =
> 28468:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
> 28468:     return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n,
> 28468:         "%Lf", __val);
> 28468:   }
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline int
> 28468:   stoi(const wstring& __str, size_t* __idx = 0, int __base = 10)
> 28468:   { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(),
> 28468:      __idx, __base); }
> 28468: 
> 28468:   inline long
> 28468:   stol(const wstring& __str, size_t* __idx = 0, int __base = 10)
> 28468:   { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(),
> 28468:         __idx, __base); }
> 28468: 
> 28468:   inline unsigned long
> 28468:   stoul(const wstring& __str, size_t* __idx = 0, int __base = 10)
> 28468:   { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(),
> 28468:         __idx, __base); }
> 28468: 
> 28468:   inline long long
> 28468:   stoll(const wstring& __str, size_t* __idx = 0, int __base = 10)
> 28468:   { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(),
> 28468:         __idx, __base); }
> 28468: 
> 28468:   inline unsigned long long
> 28468:   stoull(const wstring& __str, size_t* __idx = 0, int __base = 10)
> 28468:   { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(),
> 28468:         __idx, __base); }
> 28468: 
> 28468: 
> 28468:   inline float
> 28468:   stof(const wstring& __str, size_t* __idx = 0)
> 28468:   { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); }
> 28468: 
> 28468:   inline double
> 28468:   stod(const wstring& __str, size_t* __idx = 0)
> 28468:   { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); }
> 28468: 
> 28468:   inline long double
> 28468:   stold(const wstring& __str, size_t* __idx = 0)
> 28468:   { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline wstring
> 28468:   to_wstring(int __val)
> 28468:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(int),
> 28468:          L"%d", __val); }
> 28468: 
> 28468:   inline wstring
> 28468:   to_wstring(unsigned __val)
> 28468:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
> 28468:          4 * sizeof(unsigned),
> 28468:          L"%u", __val); }
> 28468: 
> 28468:   inline wstring
> 28468:   to_wstring(long __val)
> 28468:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(long),
> 28468:          L"%ld", __val); }
> 28468: 
> 28468:   inline wstring
> 28468:   to_wstring(unsigned long __val)
> 28468:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
> 28468:          4 * sizeof(unsigned long),
> 28468:          L"%lu", __val); }
> 28468: 
> 28468:   inline wstring
> 28468:   to_wstring(long long __val)
> 28468:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
> 28468:          4 * sizeof(long long),
> 28468:          L"%lld", __val); }
> 28468: 
> 28468:   inline wstring
> 28468:   to_wstring(unsigned long long __val)
> 28468:   { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf,
> 28468:          4 * sizeof(unsigned long long),
> 28468:          L"%llu", __val); }
> 28468: 
> 28468:   inline wstring
> 28468:   to_wstring(float __val)
> 28468:   {
> 28468:     const int __n =
> 28468:       __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20;
> 28468:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
> 28468:          L"%f", __val);
> 28468:   }
> 28468: 
> 28468:   inline wstring
> 28468:   to_wstring(double __val)
> 28468:   {
> 28468:     const int __n =
> 28468:       __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20;
> 28468:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
> 28468:          L"%f", __val);
> 28468:   }
> 28468: 
> 28468:   inline wstring
> 28468:   to_wstring(long double __val)
> 28468:   {
> 28468:     const int __n =
> 28468:       __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20;
> 28468:     return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n,
> 28468:          L"%Lf", __val);
> 28468:   }
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/functional_hash.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/functional_hash.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/functional_hash.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 49 "/usr/include/c++/9/bits/functional_hash.h" 3
> 28468:   template<typename _Result, typename _Arg>
> 28468:     struct __hash_base
> 28468:     {
> 28468:       typedef _Result result_type ;
> 28468:       typedef _Arg argument_type ;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct hash;
> 28468: 
> 28468:   template<typename _Tp, typename = void>
> 28468:     struct __poison_hash
> 28468:     {
> 28468:       static constexpr bool __enable_hash_call = false;
> 28468:     private:
> 28468: 
> 28468:       __poison_hash(__poison_hash&&);
> 28468:       ~__poison_hash();
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __poison_hash<_Tp, __void_t<decltype(hash<_Tp>()(declval<_Tp>()))>>
> 28468:     {
> 28468:       static constexpr bool __enable_hash_call = true;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, bool = is_enum<_Tp>::value>
> 28468:     struct __hash_enum
> 28468:     {
> 28468:     private:
> 28468: 
> 28468:       __hash_enum(__hash_enum&&);
> 28468:       ~__hash_enum();
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __hash_enum<_Tp, true> : public __hash_base<size_t, _Tp>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(_Tp __val) const noexcept
> 28468:       {
> 28468:        using __type = typename underlying_type<_Tp>::type;
> 28468:        return hash<__type>{}(static_cast<__type>(__val));
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct hash : __hash_enum<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct hash<_Tp*> : public __hash_base<size_t, _Tp*>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(_Tp* __p) const noexcept
> 28468:       { return reinterpret_cast<size_t>(__p); }
> 28468:     };
> 28468: # 124 "/usr/include/c++/9/bits/functional_hash.h" 3
> 28468:   template<> struct hash<bool> : public __hash_base<size_t, bool> { size_t operator()(bool __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<char> : public __hash_base<size_t, char> { size_t operator()(char __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<signed char> : public __hash_base<size_t, signed char> { size_t operator()(signed char __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<unsigned char> : public __hash_base<size_t, unsigned char> { size_t operator()(unsigned char __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<wchar_t> : public __hash_base<size_t, wchar_t> { size_t operator()(wchar_t __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<> struct hash<char16_t> : public __hash_base<size_t, char16_t> { size_t operator()(char16_t __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<char32_t> : public __hash_base<size_t, char32_t> { size_t operator()(char32_t __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<short> : public __hash_base<size_t, short> { size_t operator()(short __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<int> : public __hash_base<size_t, int> { size_t operator()(int __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<long> : public __hash_base<size_t, long> { size_t operator()(long __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<long long> : public __hash_base<size_t, long long> { size_t operator()(long long __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<unsigned short> : public __hash_base<size_t, unsigned short> { size_t operator()(unsigned short __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<unsigned int> : public __hash_base<size_t, unsigned int> { size_t operator()(unsigned int __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<unsigned long> : public __hash_base<size_t, unsigned long> { size_t operator()(unsigned long __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: 
> 28468: 
> 28468:   template<> struct hash<unsigned long long> : public __hash_base<size_t, unsigned long long> { size_t operator()(unsigned long long __val) const noexcept { return static_cast<size_t>(__val); } };
> 28468: # 192 "/usr/include/c++/9/bits/functional_hash.h" 3
> 28468:   struct _Hash_impl
> 28468:   {
> 28468:     static size_t
> 28468:     hash(const void* __ptr, size_t __clength,
> 28468:   size_t __seed = static_cast<size_t>(0xc70f6907UL))
> 28468:     { return _Hash_bytes(__ptr, __clength, __seed); }
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       static size_t
> 28468:       hash(const _Tp& __val)
> 28468:       { return hash(&__val, sizeof(__val)); }
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       static size_t
> 28468:       __hash_combine(const _Tp& __val, size_t __hash)
> 28468:       { return hash(&__val, sizeof(__val), __hash); }
> 28468:   };
> 28468: 
> 28468: 
> 28468:   struct _Fnv_hash_impl
> 28468:   {
> 28468:     static size_t
> 28468:     hash(const void* __ptr, size_t __clength,
> 28468:   size_t __seed = static_cast<size_t>(2166136261UL))
> 28468:     { return _Fnv_hash_bytes(__ptr, __clength, __seed); }
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       static size_t
> 28468:       hash(const _Tp& __val)
> 28468:       { return hash(&__val, sizeof(__val)); }
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       static size_t
> 28468:       __hash_combine(const _Tp& __val, size_t __hash)
> 28468:       { return hash(&__val, sizeof(__val), __hash); }
> 28468:   };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct hash<float> : public __hash_base<size_t, float>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(float __val) const noexcept
> 28468:       {
> 28468: 
> 28468:  return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0;
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct hash<double> : public __hash_base<size_t, double>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(double __val) const noexcept
> 28468:       {
> 28468: 
> 28468:  return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0;
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct hash<long double>
> 28468:     : public __hash_base<size_t, long double>
> 28468:     {
> 28468:       __attribute__ ((__pure__)) size_t
> 28468:       operator()(long double __val) const noexcept;
> 28468:     };
> 28468: # 278 "/usr/include/c++/9/bits/functional_hash.h" 3
> 28468:   template<typename _Hash>
> 28468:     struct __is_fast_hash : public std::true_type
> 28468:     { };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_fast_hash<hash<long double>> : public std::false_type
> 28468:     { };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 6720 "/usr/include/c++/9/bits/basic_string.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct hash<string>
> 28468:     : public __hash_base<size_t, string>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(const string& __s) const noexcept
> 28468:       { return std::_Hash_impl::hash(__s.data(), __s.length()); }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_fast_hash<hash<string>> : std::false_type
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct hash<wstring>
> 28468:     : public __hash_base<size_t, wstring>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(const wstring& __s) const noexcept
> 28468:       { return std::_Hash_impl::hash(__s.data(),
> 28468:                                      __s.length() * sizeof(wchar_t)); }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_fast_hash<hash<wstring>> : std::false_type
> 28468:     { };
> 28468: # 6778 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468:   template<>
> 28468:     struct hash<u16string>
> 28468:     : public __hash_base<size_t, u16string>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(const u16string& __s) const noexcept
> 28468:       { return std::_Hash_impl::hash(__s.data(),
> 28468:                                      __s.length() * sizeof(char16_t)); }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_fast_hash<hash<u16string>> : std::false_type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct hash<u32string>
> 28468:     : public __hash_base<size_t, u32string>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(const u32string& __s) const noexcept
> 28468:       { return std::_Hash_impl::hash(__s.data(),
> 28468:                                      __s.length() * sizeof(char32_t)); }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __is_fast_hash<hash<u32string>> : std::false_type
> 28468:     { };
> 28468: # 6868 "/usr/include/c++/9/bits/basic_string.h" 3
> 28468: 
> 28468: }
> 28468: # 56 "/usr/include/c++/9/string" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/basic_string.tcc" 1 3
> 28468: # 42 "/usr/include/c++/9/bits/basic_string.tcc" 3
> 28468:        
> 28468: # 43 "/usr/include/c++/9/bits/basic_string.tcc" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     const typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::npos;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     void
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     swap(basic_string& __s) noexcept
> 28468:     {
> 28468:       if (this == &__s)
> 28468:  return;
> 28468: 
> 28468:       _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator());
> 28468: 
> 28468:       if (_M_is_local())
> 28468:  if (__s._M_is_local())
> 28468:    {
> 28468:      if (length() && __s.length())
> 28468:        {
> 28468:   _CharT __tmp_data[_S_local_capacity + 1];
> 28468:   traits_type::copy(__tmp_data, __s._M_local_buf,
> 28468:       _S_local_capacity + 1);
> 28468:   traits_type::copy(__s._M_local_buf, _M_local_buf,
> 28468:       _S_local_capacity + 1);
> 28468:   traits_type::copy(_M_local_buf, __tmp_data,
> 28468:       _S_local_capacity + 1);
> 28468:        }
> 28468:      else if (__s.length())
> 28468:        {
> 28468:   traits_type::copy(_M_local_buf, __s._M_local_buf,
> 28468:       _S_local_capacity + 1);
> 28468:   _M_length(__s.length());
> 28468:   __s._M_set_length(0);
> 28468:   return;
> 28468:        }
> 28468:      else if (length())
> 28468:        {
> 28468:   traits_type::copy(__s._M_local_buf, _M_local_buf,
> 28468:       _S_local_capacity + 1);
> 28468:   __s._M_length(length());
> 28468:   _M_set_length(0);
> 28468:   return;
> 28468:        }
> 28468:    }
> 28468:  else
> 28468:    {
> 28468:      const size_type __tmp_capacity = __s._M_allocated_capacity;
> 28468:      traits_type::copy(__s._M_local_buf, _M_local_buf,
> 28468:          _S_local_capacity + 1);
> 28468:      _M_data(__s._M_data());
> 28468:      __s._M_data(__s._M_local_buf);
> 28468:      _M_capacity(__tmp_capacity);
> 28468:    }
> 28468:       else
> 28468:  {
> 28468:    const size_type __tmp_capacity = _M_allocated_capacity;
> 28468:    if (__s._M_is_local())
> 28468:      {
> 28468:        traits_type::copy(_M_local_buf, __s._M_local_buf,
> 28468:     _S_local_capacity + 1);
> 28468:        __s._M_data(_M_data());
> 28468:        _M_data(_M_local_buf);
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        pointer __tmp_ptr = _M_data();
> 28468:        _M_data(__s._M_data());
> 28468:        __s._M_data(__tmp_ptr);
> 28468:        _M_capacity(__s._M_allocated_capacity);
> 28468:      }
> 28468:    __s._M_capacity(__tmp_capacity);
> 28468:  }
> 28468: 
> 28468:       const size_type __tmp_length = length();
> 28468:       _M_length(__s.length());
> 28468:       __s._M_length(__tmp_length);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::pointer
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     _M_create(size_type& __capacity, size_type __old_capacity)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       if (__capacity > max_size())
> 28468:  std::__throw_length_error(("basic_string::_M_create"));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       if (__capacity > __old_capacity && __capacity < 2 * __old_capacity)
> 28468:  {
> 28468:    __capacity = 2 * __old_capacity;
> 28468: 
> 28468:    if (__capacity > max_size())
> 28468:      __capacity = max_size();
> 28468:  }
> 28468: 
> 28468: 
> 28468: 
> 28468:       return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     template<typename _InIterator>
> 28468:       void
> 28468:       basic_string<_CharT, _Traits, _Alloc>::
> 28468:       _M_construct(_InIterator __beg, _InIterator __end,
> 28468:      std::input_iterator_tag)
> 28468:       {
> 28468:  size_type __len = 0;
> 28468:  size_type __capacity = size_type(_S_local_capacity);
> 28468: 
> 28468:  while (__beg != __end && __len < __capacity)
> 28468:    {
> 28468:      _M_data()[__len++] = *__beg;
> 28468:      ++__beg;
> 28468:    }
> 28468: 
> 28468:  try
> 28468:    {
> 28468:      while (__beg != __end)
> 28468:        {
> 28468:   if (__len == __capacity)
> 28468:     {
> 28468: 
> 28468:       __capacity = __len + 1;
> 28468:       pointer __another = _M_create(__capacity, __len);
> 28468:       this->_S_copy(__another, _M_data(), __len);
> 28468:       _M_dispose();
> 28468:       _M_data(__another);
> 28468:       _M_capacity(__capacity);
> 28468:     }
> 28468:   _M_data()[__len++] = *__beg;
> 28468:   ++__beg;
> 28468:        }
> 28468:    }
> 28468:  catch(...)
> 28468:    {
> 28468:      _M_dispose();
> 28468:      throw;
> 28468:    }
> 28468: 
> 28468:  _M_set_length(__len);
> 28468:       }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     template<typename _InIterator>
> 28468:       void
> 28468:       basic_string<_CharT, _Traits, _Alloc>::
> 28468:       _M_construct(_InIterator __beg, _InIterator __end,
> 28468:      std::forward_iterator_tag)
> 28468:       {
> 28468: 
> 28468:  if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end)
> 28468:    std::__throw_logic_error(("basic_string::" "_M_construct null not valid")
> 28468:                                          );
> 28468: 
> 28468:  size_type __dnew = static_cast<size_type>(std::distance(__beg, __end));
> 28468: 
> 28468:  if (__dnew > size_type(_S_local_capacity))
> 28468:    {
> 28468:      _M_data(_M_create(__dnew, size_type(0)));
> 28468:      _M_capacity(__dnew);
> 28468:    }
> 28468: 
> 28468: 
> 28468:  try
> 28468:    { this->_S_copy_chars(_M_data(), __beg, __end); }
> 28468:  catch(...)
> 28468:    {
> 28468:      _M_dispose();
> 28468:      throw;
> 28468:    }
> 28468: 
> 28468:  _M_set_length(__dnew);
> 28468:       }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     void
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     _M_construct(size_type __n, _CharT __c)
> 28468:     {
> 28468:       if (__n > size_type(_S_local_capacity))
> 28468:  {
> 28468:    _M_data(_M_create(__n, size_type(0)));
> 28468:    _M_capacity(__n);
> 28468:  }
> 28468: 
> 28468:       if (__n)
> 28468:  this->_S_assign(_M_data(), __n, __c);
> 28468: 
> 28468:       _M_set_length(__n);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     void
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     _M_assign(const basic_string& __str)
> 28468:     {
> 28468:       if (this != &__str)
> 28468:  {
> 28468:    const size_type __rsize = __str.length();
> 28468:    const size_type __capacity = capacity();
> 28468: 
> 28468:    if (__rsize > __capacity)
> 28468:      {
> 28468:        size_type __new_capacity = __rsize;
> 28468:        pointer __tmp = _M_create(__new_capacity, __capacity);
> 28468:        _M_dispose();
> 28468:        _M_data(__tmp);
> 28468:        _M_capacity(__new_capacity);
> 28468:      }
> 28468: 
> 28468:    if (__rsize)
> 28468:      this->_S_copy(_M_data(), __str._M_data(), __rsize);
> 28468: 
> 28468:    _M_set_length(__rsize);
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     void
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     reserve(size_type __res)
> 28468:     {
> 28468: 
> 28468:       if (__res < length())
> 28468:  __res = length();
> 28468: 
> 28468:       const size_type __capacity = capacity();
> 28468:       if (__res != __capacity)
> 28468:  {
> 28468:    if (__res > __capacity
> 28468:        || __res > size_type(_S_local_capacity))
> 28468:      {
> 28468:        pointer __tmp = _M_create(__res, __capacity);
> 28468:        this->_S_copy(__tmp, _M_data(), length() + 1);
> 28468:        _M_dispose();
> 28468:        _M_data(__tmp);
> 28468:        _M_capacity(__res);
> 28468:      }
> 28468:    else if (!_M_is_local())
> 28468:      {
> 28468:        this->_S_copy(_M_local_data(), _M_data(), length() + 1);
> 28468:        _M_destroy(__capacity);
> 28468:        _M_data(_M_local_data());
> 28468:      }
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     void
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     _M_mutate(size_type __pos, size_type __len1, const _CharT* __s,
> 28468:        size_type __len2)
> 28468:     {
> 28468:       const size_type __how_much = length() - __pos - __len1;
> 28468: 
> 28468:       size_type __new_capacity = length() + __len2 - __len1;
> 28468:       pointer __r = _M_create(__new_capacity, capacity());
> 28468: 
> 28468:       if (__pos)
> 28468:  this->_S_copy(__r, _M_data(), __pos);
> 28468:       if (__s && __len2)
> 28468:  this->_S_copy(__r + __pos, __s, __len2);
> 28468:       if (__how_much)
> 28468:  this->_S_copy(__r + __pos + __len2,
> 28468:         _M_data() + __pos + __len1, __how_much);
> 28468: 
> 28468:       _M_dispose();
> 28468:       _M_data(__r);
> 28468:       _M_capacity(__new_capacity);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     void
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     _M_erase(size_type __pos, size_type __n)
> 28468:     {
> 28468:       const size_type __how_much = length() - __pos - __n;
> 28468: 
> 28468:       if (__how_much && __n)
> 28468:  this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much);
> 28468: 
> 28468:       _M_set_length(length() - __n);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     void
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     resize(size_type __n, _CharT __c)
> 28468:     {
> 28468:       const size_type __size = this->size();
> 28468:       if (__size < __n)
> 28468:  this->append(__n - __size, __c);
> 28468:       else if (__n < __size)
> 28468:  this->_M_set_length(__n);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_string<_CharT, _Traits, _Alloc>&
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     _M_append(const _CharT* __s, size_type __n)
> 28468:     {
> 28468:       const size_type __len = __n + this->size();
> 28468: 
> 28468:       if (__len <= this->capacity())
> 28468:  {
> 28468:    if (__n)
> 28468:      this->_S_copy(this->_M_data() + this->size(), __s, __n);
> 28468:  }
> 28468:       else
> 28468:  this->_M_mutate(this->size(), size_type(0), __s, __n);
> 28468: 
> 28468:       this->_M_set_length(__len);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     template<typename _InputIterator>
> 28468:       basic_string<_CharT, _Traits, _Alloc>&
> 28468:       basic_string<_CharT, _Traits, _Alloc>::
> 28468:       _M_replace_dispatch(const_iterator __i1, const_iterator __i2,
> 28468:      _InputIterator __k1, _InputIterator __k2,
> 28468:      std::__false_type)
> 28468:       {
> 28468:  const basic_string __s(__k1, __k2);
> 28468:  const size_type __n1 = __i2 - __i1;
> 28468:  return _M_replace(__i1 - begin(), __n1, __s._M_data(),
> 28468:      __s.size());
> 28468:       }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_string<_CharT, _Traits, _Alloc>&
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2,
> 28468:      _CharT __c)
> 28468:     {
> 28468:       _M_check_length(__n1, __n2, "basic_string::_M_replace_aux");
> 28468: 
> 28468:       const size_type __old_size = this->size();
> 28468:       const size_type __new_size = __old_size + __n2 - __n1;
> 28468: 
> 28468:       if (__new_size <= this->capacity())
> 28468:  {
> 28468:    pointer __p = this->_M_data() + __pos1;
> 28468: 
> 28468:    const size_type __how_much = __old_size - __pos1 - __n1;
> 28468:    if (__how_much && __n1 != __n2)
> 28468:      this->_S_move(__p + __n2, __p + __n1, __how_much);
> 28468:  }
> 28468:       else
> 28468:  this->_M_mutate(__pos1, __n1, 0, __n2);
> 28468: 
> 28468:       if (__n2)
> 28468:  this->_S_assign(this->_M_data() + __pos1, __n2, __c);
> 28468: 
> 28468:       this->_M_set_length(__new_size);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_string<_CharT, _Traits, _Alloc>&
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     _M_replace(size_type __pos, size_type __len1, const _CharT* __s,
> 28468:         const size_type __len2)
> 28468:     {
> 28468:       _M_check_length(__len1, __len2, "basic_string::_M_replace");
> 28468: 
> 28468:       const size_type __old_size = this->size();
> 28468:       const size_type __new_size = __old_size + __len2 - __len1;
> 28468: 
> 28468:       if (__new_size <= this->capacity())
> 28468:  {
> 28468:    pointer __p = this->_M_data() + __pos;
> 28468: 
> 28468:    const size_type __how_much = __old_size - __pos - __len1;
> 28468:    if (_M_disjunct(__s))
> 28468:      {
> 28468:        if (__how_much && __len1 != __len2)
> 28468:   this->_S_move(__p + __len2, __p + __len1, __how_much);
> 28468:        if (__len2)
> 28468:   this->_S_copy(__p, __s, __len2);
> 28468:      }
> 28468:    else
> 28468:      {
> 28468: 
> 28468:        if (__len2 && __len2 <= __len1)
> 28468:   this->_S_move(__p, __s, __len2);
> 28468:        if (__how_much && __len1 != __len2)
> 28468:   this->_S_move(__p + __len2, __p + __len1, __how_much);
> 28468:        if (__len2 > __len1)
> 28468:   {
> 28468:     if (__s + __len2 <= __p + __len1)
> 28468:       this->_S_move(__p, __s, __len2);
> 28468:     else if (__s >= __p + __len1)
> 28468:       this->_S_copy(__p, __s + __len2 - __len1, __len2);
> 28468:     else
> 28468:       {
> 28468:         const size_type __nleft = (__p + __len1) - __s;
> 28468:         this->_S_move(__p, __s, __nleft);
> 28468:         this->_S_copy(__p + __nleft, __p + __len2,
> 28468:         __len2 - __nleft);
> 28468:       }
> 28468:   }
> 28468:      }
> 28468:  }
> 28468:       else
> 28468:  this->_M_mutate(__pos, __len1, __s, __len2);
> 28468: 
> 28468:       this->_M_set_length(__new_size);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     copy(_CharT* __s, size_type __n, size_type __pos) const
> 28468:     {
> 28468:       _M_check(__pos, "basic_string::copy");
> 28468:       __n = _M_limit(__pos, __n);
> 28468:       ;
> 28468:       if (__n)
> 28468:  _S_copy(__s, _M_data() + __pos, __n);
> 28468: 
> 28468:       return __n;
> 28468:     }
> 28468: # 1156 "/usr/include/c++/9/bits/basic_string.tcc" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(const _CharT* __lhs,
> 28468:        const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     {
> 28468:       ;
> 28468:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
> 28468:       typedef typename __string_type::size_type __size_type;
> 28468:       const __size_type __len = _Traits::length(__lhs);
> 28468:       __string_type __str;
> 28468:       __str.reserve(__len + __rhs.size());
> 28468:       __str.append(__lhs, __len);
> 28468:       __str.append(__rhs);
> 28468:       return __str;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_string<_CharT, _Traits, _Alloc>
> 28468:     operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs)
> 28468:     {
> 28468:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
> 28468:       typedef typename __string_type::size_type __size_type;
> 28468:       __string_type __str;
> 28468:       const __size_type __len = __rhs.size();
> 28468:       __str.reserve(__len + 1);
> 28468:       __str.append(__size_type(1), __lhs);
> 28468:       __str.append(__rhs);
> 28468:       return __str;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     find(const _CharT* __s, size_type __pos, size_type __n) const
> 28468:     noexcept
> 28468:     {
> 28468:       ;
> 28468:       const size_type __size = this->size();
> 28468: 
> 28468:       if (__n == 0)
> 28468:  return __pos <= __size ? __pos : npos;
> 28468:       if (__pos >= __size)
> 28468:  return npos;
> 28468: 
> 28468:       const _CharT __elem0 = __s[0];
> 28468:       const _CharT* const __data = data();
> 28468:       const _CharT* __first = __data + __pos;
> 28468:       const _CharT* const __last = __data + __size;
> 28468:       size_type __len = __size - __pos;
> 28468: 
> 28468:       while (__len >= __n)
> 28468:  {
> 28468: 
> 28468:    __first = traits_type::find(__first, __len - __n + 1, __elem0);
> 28468:    if (!__first)
> 28468:      return npos;
> 28468: 
> 28468: 
> 28468: 
> 28468:    if (traits_type::compare(__first, __s, __n) == 0)
> 28468:      return __first - __data;
> 28468:    __len = __last - ++__first;
> 28468:  }
> 28468:       return npos;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     find(_CharT __c, size_type __pos) const noexcept
> 28468:     {
> 28468:       size_type __ret = npos;
> 28468:       const size_type __size = this->size();
> 28468:       if (__pos < __size)
> 28468:  {
> 28468:    const _CharT* __data = _M_data();
> 28468:    const size_type __n = __size - __pos;
> 28468:    const _CharT* __p = traits_type::find(__data + __pos, __n, __c);
> 28468:    if (__p)
> 28468:      __ret = __p - __data;
> 28468:  }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     rfind(const _CharT* __s, size_type __pos, size_type __n) const
> 28468:     noexcept
> 28468:     {
> 28468:       ;
> 28468:       const size_type __size = this->size();
> 28468:       if (__n <= __size)
> 28468:  {
> 28468:    __pos = std::min(size_type(__size - __n), __pos);
> 28468:    const _CharT* __data = _M_data();
> 28468:    do
> 28468:      {
> 28468:        if (traits_type::compare(__data + __pos, __s, __n) == 0)
> 28468:   return __pos;
> 28468:      }
> 28468:    while (__pos-- > 0);
> 28468:  }
> 28468:       return npos;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     rfind(_CharT __c, size_type __pos) const noexcept
> 28468:     {
> 28468:       size_type __size = this->size();
> 28468:       if (__size)
> 28468:  {
> 28468:    if (--__size > __pos)
> 28468:      __size = __pos;
> 28468:    for (++__size; __size-- > 0; )
> 28468:      if (traits_type::eq(_M_data()[__size], __c))
> 28468:        return __size;
> 28468:  }
> 28468:       return npos;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     find_first_of(const _CharT* __s, size_type __pos, size_type __n) const
> 28468:     noexcept
> 28468:     {
> 28468:       ;
> 28468:       for (; __n && __pos < this->size(); ++__pos)
> 28468:  {
> 28468:    const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]);
> 28468:    if (__p)
> 28468:      return __pos;
> 28468:  }
> 28468:       return npos;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     find_last_of(const _CharT* __s, size_type __pos, size_type __n) const
> 28468:     noexcept
> 28468:     {
> 28468:       ;
> 28468:       size_type __size = this->size();
> 28468:       if (__size && __n)
> 28468:  {
> 28468:    if (--__size > __pos)
> 28468:      __size = __pos;
> 28468:    do
> 28468:      {
> 28468:        if (traits_type::find(__s, __n, _M_data()[__size]))
> 28468:   return __size;
> 28468:      }
> 28468:    while (__size-- != 0);
> 28468:  }
> 28468:       return npos;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const
> 28468:     noexcept
> 28468:     {
> 28468:       ;
> 28468:       for (; __pos < this->size(); ++__pos)
> 28468:  if (!traits_type::find(__s, __n, _M_data()[__pos]))
> 28468:    return __pos;
> 28468:       return npos;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     find_first_not_of(_CharT __c, size_type __pos) const noexcept
> 28468:     {
> 28468:       for (; __pos < this->size(); ++__pos)
> 28468:  if (!traits_type::eq(_M_data()[__pos], __c))
> 28468:    return __pos;
> 28468:       return npos;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const
> 28468:     noexcept
> 28468:     {
> 28468:       ;
> 28468:       size_type __size = this->size();
> 28468:       if (__size)
> 28468:  {
> 28468:    if (--__size > __pos)
> 28468:      __size = __pos;
> 28468:    do
> 28468:      {
> 28468:        if (!traits_type::find(__s, __n, _M_data()[__size]))
> 28468:   return __size;
> 28468:      }
> 28468:    while (__size--);
> 28468:  }
> 28468:       return npos;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     typename basic_string<_CharT, _Traits, _Alloc>::size_type
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     find_last_not_of(_CharT __c, size_type __pos) const noexcept
> 28468:     {
> 28468:       size_type __size = this->size();
> 28468:       if (__size)
> 28468:  {
> 28468:    if (--__size > __pos)
> 28468:      __size = __pos;
> 28468:    do
> 28468:      {
> 28468:        if (!traits_type::eq(_M_data()[__size], __c))
> 28468:   return __size;
> 28468:      }
> 28468:    while (__size--);
> 28468:  }
> 28468:       return npos;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     int
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     compare(size_type __pos, size_type __n, const basic_string& __str) const
> 28468:     {
> 28468:       _M_check(__pos, "basic_string::compare");
> 28468:       __n = _M_limit(__pos, __n);
> 28468:       const size_type __osize = __str.size();
> 28468:       const size_type __len = std::min(__n, __osize);
> 28468:       int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len);
> 28468:       if (!__r)
> 28468:  __r = _S_compare(__n, __osize);
> 28468:       return __r;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     int
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     compare(size_type __pos1, size_type __n1, const basic_string& __str,
> 28468:      size_type __pos2, size_type __n2) const
> 28468:     {
> 28468:       _M_check(__pos1, "basic_string::compare");
> 28468:       __str._M_check(__pos2, "basic_string::compare");
> 28468:       __n1 = _M_limit(__pos1, __n1);
> 28468:       __n2 = __str._M_limit(__pos2, __n2);
> 28468:       const size_type __len = std::min(__n1, __n2);
> 28468:       int __r = traits_type::compare(_M_data() + __pos1,
> 28468:          __str.data() + __pos2, __len);
> 28468:       if (!__r)
> 28468:  __r = _S_compare(__n1, __n2);
> 28468:       return __r;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     int
> 28468:     basic_string<_CharT, _Traits, _Alloc>::
> 28468:     compare(const _CharT* __s) const noexcept
> 28468:     {
> 28468:       ;
> 28468:       const size_type __size = this->size();
> 28468:       const size_type __osize = traits_type::length(__s);
> 28468:       const size_type __len = std::min(__size, __osize);
> 28468:       int __r = traits_type::compare(_M_data(), __s, __len);
> 28468:       if (!__r)
> 28468:  __r = _S_compare(__size, __osize);
> 28468:       return __r;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     int
> 28468:     basic_string <_CharT, _Traits, _Alloc>::
> 28468:     compare(size_type __pos, size_type __n1, const _CharT* __s) const
> 28468:     {
> 28468:       ;
> 28468:       _M_check(__pos, "basic_string::compare");
> 28468:       __n1 = _M_limit(__pos, __n1);
> 28468:       const size_type __osize = traits_type::length(__s);
> 28468:       const size_type __len = std::min(__n1, __osize);
> 28468:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
> 28468:       if (!__r)
> 28468:  __r = _S_compare(__n1, __osize);
> 28468:       return __r;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     int
> 28468:     basic_string <_CharT, _Traits, _Alloc>::
> 28468:     compare(size_type __pos, size_type __n1, const _CharT* __s,
> 28468:      size_type __n2) const
> 28468:     {
> 28468:       ;
> 28468:       _M_check(__pos, "basic_string::compare");
> 28468:       __n1 = _M_limit(__pos, __n1);
> 28468:       const size_type __len = std::min(__n1, __n2);
> 28468:       int __r = traits_type::compare(_M_data() + __pos, __s, __len);
> 28468:       if (!__r)
> 28468:  __r = _S_compare(__n1, __n2);
> 28468:       return __r;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __in,
> 28468:         basic_string<_CharT, _Traits, _Alloc>& __str)
> 28468:     {
> 28468:       typedef basic_istream<_CharT, _Traits> __istream_type;
> 28468:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
> 28468:       typedef typename __istream_type::ios_base __ios_base;
> 28468:       typedef typename __istream_type::int_type __int_type;
> 28468:       typedef typename __string_type::size_type __size_type;
> 28468:       typedef ctype<_CharT> __ctype_type;
> 28468:       typedef typename __ctype_type::ctype_base __ctype_base;
> 28468: 
> 28468:       __size_type __extracted = 0;
> 28468:       typename __ios_base::iostate __err = __ios_base::goodbit;
> 28468:       typename __istream_type::sentry __cerb(__in, false);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468: 
> 28468:        __str.erase();
> 28468:        _CharT __buf[128];
> 28468:        __size_type __len = 0;
> 28468:        const streamsize __w = __in.width();
> 28468:        const __size_type __n = __w > 0 ? static_cast<__size_type>(__w)
> 28468:                                 : __str.max_size();
> 28468:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
> 28468:        const __int_type __eof = _Traits::eof();
> 28468:        __int_type __c = __in.rdbuf()->sgetc();
> 28468: 
> 28468:        while (__extracted < __n
> 28468:        && !_Traits::eq_int_type(__c, __eof)
> 28468:        && !__ct.is(__ctype_base::space,
> 28468:      _Traits::to_char_type(__c)))
> 28468:   {
> 28468:     if (__len == sizeof(__buf) / sizeof(_CharT))
> 28468:       {
> 28468:         __str.append(__buf, sizeof(__buf) / sizeof(_CharT));
> 28468:         __len = 0;
> 28468:       }
> 28468:     __buf[__len++] = _Traits::to_char_type(__c);
> 28468:     ++__extracted;
> 28468:     __c = __in.rdbuf()->snextc();
> 28468:   }
> 28468:        __str.append(__buf, __len);
> 28468: 
> 28468:        if (_Traits::eq_int_type(__c, __eof))
> 28468:   __err |= __ios_base::eofbit;
> 28468:        __in.width(0);
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        __in._M_setstate(__ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468: 
> 28468: 
> 28468: 
> 28468:        __in._M_setstate(__ios_base::badbit);
> 28468:      }
> 28468:  }
> 28468: 
> 28468:       if (!__extracted)
> 28468:  __err |= __ios_base::failbit;
> 28468:       if (__err)
> 28468:  __in.setstate(__err);
> 28468:       return __in;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     getline(basic_istream<_CharT, _Traits>& __in,
> 28468:      basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim)
> 28468:     {
> 28468:       typedef basic_istream<_CharT, _Traits> __istream_type;
> 28468:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
> 28468:       typedef typename __istream_type::ios_base __ios_base;
> 28468:       typedef typename __istream_type::int_type __int_type;
> 28468:       typedef typename __string_type::size_type __size_type;
> 28468: 
> 28468:       __size_type __extracted = 0;
> 28468:       const __size_type __n = __str.max_size();
> 28468:       typename __ios_base::iostate __err = __ios_base::goodbit;
> 28468:       typename __istream_type::sentry __cerb(__in, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468:        __str.erase();
> 28468:        const __int_type __idelim = _Traits::to_int_type(__delim);
> 28468:        const __int_type __eof = _Traits::eof();
> 28468:        __int_type __c = __in.rdbuf()->sgetc();
> 28468: 
> 28468:        while (__extracted < __n
> 28468:        && !_Traits::eq_int_type(__c, __eof)
> 28468:        && !_Traits::eq_int_type(__c, __idelim))
> 28468:   {
> 28468:     __str += _Traits::to_char_type(__c);
> 28468:     ++__extracted;
> 28468:     __c = __in.rdbuf()->snextc();
> 28468:   }
> 28468: 
> 28468:        if (_Traits::eq_int_type(__c, __eof))
> 28468:   __err |= __ios_base::eofbit;
> 28468:        else if (_Traits::eq_int_type(__c, __idelim))
> 28468:   {
> 28468:     ++__extracted;
> 28468:     __in.rdbuf()->sbumpc();
> 28468:   }
> 28468:        else
> 28468:   __err |= __ios_base::failbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        __in._M_setstate(__ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468: 
> 28468: 
> 28468: 
> 28468:        __in._M_setstate(__ios_base::badbit);
> 28468:      }
> 28468:  }
> 28468:       if (!__extracted)
> 28468:  __err |= __ios_base::failbit;
> 28468:       if (__err)
> 28468:  __in.setstate(__err);
> 28468:       return __in;
> 28468:     }
> 28468: # 1608 "/usr/include/c++/9/bits/basic_string.tcc" 3
> 28468:   extern template class basic_string<char>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template
> 28468:     basic_istream<char>&
> 28468:     operator>>(basic_istream<char>&, string&);
> 28468:   extern template
> 28468:     basic_ostream<char>&
> 28468:     operator<<(basic_ostream<char>&, const string&);
> 28468:   extern template
> 28468:     basic_istream<char>&
> 28468:     getline(basic_istream<char>&, string&, char);
> 28468:   extern template
> 28468:     basic_istream<char>&
> 28468:     getline(basic_istream<char>&, string&);
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template class basic_string<wchar_t>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template
> 28468:     basic_istream<wchar_t>&
> 28468:     operator>>(basic_istream<wchar_t>&, wstring&);
> 28468:   extern template
> 28468:     basic_ostream<wchar_t>&
> 28468:     operator<<(basic_ostream<wchar_t>&, const wstring&);
> 28468:   extern template
> 28468:     basic_istream<wchar_t>&
> 28468:     getline(basic_istream<wchar_t>&, wstring&, wchar_t);
> 28468:   extern template
> 28468:     basic_istream<wchar_t>&
> 28468:     getline(basic_istream<wchar_t>&, wstring&);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 57 "/usr/include/c++/9/string" 2 3
> 28468: # 17 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle.h" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/Data/GenParticleData.h" 1
> 28468: # 18 "/<<PKGBUILDDIR>>/include/HepMC3/Data/GenParticleData.h"
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h" 1
> 28468: # 12 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h"
> 28468: # 1 "/usr/include/c++/9/cmath" 1 3
> 28468: # 39 "/usr/include/c++/9/cmath" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cmath" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/math.h" 1 3 4
> 28468: # 27 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/libc-header-start.h" 1 3 4
> 28468: # 28 "/usr/include/math.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/math-vector.h" 1 3 4
> 28468: # 25 "/usr/include/x86_64-linux-gnu/bits/math-vector.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/libm-simd-decl-stubs.h" 1 3 4
> 28468: # 26 "/usr/include/x86_64-linux-gnu/bits/math-vector.h" 2 3 4
> 28468: # 41 "/usr/include/math.h" 2 3 4
> 28468: # 138 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/flt-eval-method.h" 1 3 4
> 28468: # 139 "/usr/include/math.h" 2 3 4
> 28468: # 149 "/usr/include/math.h" 3 4
> 28468: typedef float float_t;
> 28468: typedef double double_t;
> 28468: # 190 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/fp-logb.h" 1 3 4
> 28468: # 191 "/usr/include/math.h" 2 3 4
> 28468: # 233 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/fp-fast.h" 1 3 4
> 28468: # 234 "/usr/include/math.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: enum
> 28468:   {
> 28468:     FP_INT_UPWARD =
> 28468: 
> 28468:       0,
> 28468:     FP_INT_DOWNWARD =
> 28468: 
> 28468:       1,
> 28468:     FP_INT_TOWARDZERO =
> 28468: 
> 28468:       2,
> 28468:     FP_INT_TONEARESTFROMZERO =
> 28468: 
> 28468:       3,
> 28468:     FP_INT_TONEAREST =
> 28468: 
> 28468:       4,
> 28468:   };
> 28468: # 289 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 1 3 4
> 28468: # 21 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 3 4
> 28468: extern int __fpclassify (double __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __signbit (double __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int __isinf (double __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __finite (double __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __isnan (double __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __iseqsig (double __x, double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern int __issignaling (double __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: # 290 "/usr/include/math.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 1 3 4
> 28468: # 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern double acos (double __x) throw (); extern double __acos (double __x) throw ();
> 28468: 
> 28468: extern double asin (double __x) throw (); extern double __asin (double __x) throw ();
> 28468: 
> 28468: extern double atan (double __x) throw (); extern double __atan (double __x) throw ();
> 28468: 
> 28468: extern double atan2 (double __y, double __x) throw (); extern double __atan2 (double __y, double __x) throw ();
> 28468: 
> 28468: 
> 28468:  extern double cos (double __x) throw (); extern double __cos (double __x) throw ();
> 28468: 
> 28468:  extern double sin (double __x) throw (); extern double __sin (double __x) throw ();
> 28468: 
> 28468: extern double tan (double __x) throw (); extern double __tan (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double cosh (double __x) throw (); extern double __cosh (double __x) throw ();
> 28468: 
> 28468: extern double sinh (double __x) throw (); extern double __sinh (double __x) throw ();
> 28468: 
> 28468: extern double tanh (double __x) throw (); extern double __tanh (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern void sincos (double __x, double *__sinx, double *__cosx) throw (); extern void __sincos (double __x, double *__sinx, double *__cosx) throw ()
> 28468:                                                         ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double acosh (double __x) throw (); extern double __acosh (double __x) throw ();
> 28468: 
> 28468: extern double asinh (double __x) throw (); extern double __asinh (double __x) throw ();
> 28468: 
> 28468: extern double atanh (double __x) throw (); extern double __atanh (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern double exp (double __x) throw (); extern double __exp (double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern double frexp (double __x, int *__exponent) throw (); extern double __frexp (double __x, int *__exponent) throw ();
> 28468: 
> 28468: 
> 28468: extern double ldexp (double __x, int __exponent) throw (); extern double __ldexp (double __x, int __exponent) throw ();
> 28468: 
> 28468: 
> 28468:  extern double log (double __x) throw (); extern double __log (double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern double log10 (double __x) throw (); extern double __log10 (double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern double modf (double __x, double *__iptr) throw (); extern double __modf (double __x, double *__iptr) throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double exp10 (double __x) throw (); extern double __exp10 (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double expm1 (double __x) throw (); extern double __expm1 (double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern double log1p (double __x) throw (); extern double __log1p (double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern double logb (double __x) throw (); extern double __logb (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double exp2 (double __x) throw (); extern double __exp2 (double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern double log2 (double __x) throw (); extern double __log2 (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern double pow (double __x, double __y) throw (); extern double __pow (double __x, double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern double sqrt (double __x) throw (); extern double __sqrt (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double hypot (double __x, double __y) throw (); extern double __hypot (double __x, double __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double cbrt (double __x) throw (); extern double __cbrt (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double ceil (double __x) throw () __attribute__ ((__const__)); extern double __ceil (double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern double fabs (double __x) throw () __attribute__ ((__const__)); extern double __fabs (double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern double floor (double __x) throw () __attribute__ ((__const__)); extern double __floor (double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern double fmod (double __x, double __y) throw (); extern double __fmod (double __x, double __y) throw ();
> 28468: # 182 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern int finite (double __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern double drem (double __x, double __y) throw (); extern double __drem (double __x, double __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double significand (double __x) throw (); extern double __significand (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double copysign (double __x, double __y) throw () __attribute__ ((__const__)); extern double __copysign (double __x, double __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double nan (const char *__tagb) throw (); extern double __nan (const char *__tagb) throw ();
> 28468: # 217 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern double j0 (double) throw (); extern double __j0 (double) throw ();
> 28468: extern double j1 (double) throw (); extern double __j1 (double) throw ();
> 28468: extern double jn (int, double) throw (); extern double __jn (int, double) throw ();
> 28468: extern double y0 (double) throw (); extern double __y0 (double) throw ();
> 28468: extern double y1 (double) throw (); extern double __y1 (double) throw ();
> 28468: extern double yn (int, double) throw (); extern double __yn (int, double) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double erf (double) throw (); extern double __erf (double) throw ();
> 28468: extern double erfc (double) throw (); extern double __erfc (double) throw ();
> 28468: extern double lgamma (double) throw (); extern double __lgamma (double) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double tgamma (double) throw (); extern double __tgamma (double) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double gamma (double) throw (); extern double __gamma (double) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double lgamma_r (double, int *__signgamp) throw (); extern double __lgamma_r (double, int *__signgamp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double rint (double __x) throw (); extern double __rint (double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern double nextafter (double __x, double __y) throw (); extern double __nextafter (double __x, double __y) throw ();
> 28468: 
> 28468: extern double nexttoward (double __x, long double __y) throw (); extern double __nexttoward (double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double nextdown (double __x) throw (); extern double __nextdown (double __x) throw ();
> 28468: 
> 28468: extern double nextup (double __x) throw (); extern double __nextup (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double remainder (double __x, double __y) throw (); extern double __remainder (double __x, double __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double scalbn (double __x, int __n) throw (); extern double __scalbn (double __x, int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ilogb (double __x) throw (); extern int __ilogb (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int llogb (double __x) throw (); extern long int __llogb (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double scalbln (double __x, long int __n) throw (); extern double __scalbln (double __x, long int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double nearbyint (double __x) throw (); extern double __nearbyint (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double round (double __x) throw () __attribute__ ((__const__)); extern double __round (double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double trunc (double __x) throw () __attribute__ ((__const__)); extern double __trunc (double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double remquo (double __x, double __y, int *__quo) throw (); extern double __remquo (double __x, double __y, int *__quo) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lrint (double __x) throw (); extern long int __lrint (double __x) throw ();
> 28468: __extension__
> 28468: extern long long int llrint (double __x) throw (); extern long long int __llrint (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lround (double __x) throw (); extern long int __lround (double __x) throw ();
> 28468: __extension__
> 28468: extern long long int llround (double __x) throw (); extern long long int __llround (double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double fdim (double __x, double __y) throw (); extern double __fdim (double __x, double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern double fmax (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmax (double __x, double __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern double fmin (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmin (double __x, double __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern double fma (double __x, double __y, double __z) throw (); extern double __fma (double __x, double __y, double __z) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double roundeven (double __x) throw () __attribute__ ((__const__)); extern double __roundeven (double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfp (double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfp (double __x, int __round, unsigned int __width) throw ()
> 28468:                             ;
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfp (double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfp (double __x, int __round, unsigned int __width) throw ()
> 28468:                               ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpx (double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpx (double __x, int __round, unsigned int __width) throw ()
> 28468:                              ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpx (double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpx (double __x, int __round, unsigned int __width) throw ()
> 28468:                                ;
> 28468: 
> 28468: 
> 28468: extern double fmaxmag (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fmaxmag (double __x, double __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern double fminmag (double __x, double __y) throw () __attribute__ ((__const__)); extern double __fminmag (double __x, double __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalorder (double __x, double __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalordermag (double __x, double __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int canonicalize (double *__cx, const double *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern double getpayload (const double *__x) throw (); extern double __getpayload (const double *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayload (double *__x, double __payload) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadsig (double *__x, double __payload) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern double scalb (double __x, double __n) throw (); extern double __scalb (double __x, double __n) throw ();
> 28468: # 291 "/usr/include/math.h" 2 3 4
> 28468: # 306 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 1 3 4
> 28468: # 21 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 3 4
> 28468: extern int __fpclassifyf (float __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __signbitf (float __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int __isinff (float __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __finitef (float __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __isnanf (float __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __iseqsigf (float __x, float __y) throw ();
> 28468: 
> 28468: 
> 28468: extern int __issignalingf (float __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: # 307 "/usr/include/math.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 1 3 4
> 28468: # 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern float acosf (float __x) throw (); extern float __acosf (float __x) throw ();
> 28468: 
> 28468: extern float asinf (float __x) throw (); extern float __asinf (float __x) throw ();
> 28468: 
> 28468: extern float atanf (float __x) throw (); extern float __atanf (float __x) throw ();
> 28468: 
> 28468: extern float atan2f (float __y, float __x) throw (); extern float __atan2f (float __y, float __x) throw ();
> 28468: 
> 28468: 
> 28468:  extern float cosf (float __x) throw (); extern float __cosf (float __x) throw ();
> 28468: 
> 28468:  extern float sinf (float __x) throw (); extern float __sinf (float __x) throw ();
> 28468: 
> 28468: extern float tanf (float __x) throw (); extern float __tanf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float coshf (float __x) throw (); extern float __coshf (float __x) throw ();
> 28468: 
> 28468: extern float sinhf (float __x) throw (); extern float __sinhf (float __x) throw ();
> 28468: 
> 28468: extern float tanhf (float __x) throw (); extern float __tanhf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern void sincosf (float __x, float *__sinx, float *__cosx) throw (); extern void __sincosf (float __x, float *__sinx, float *__cosx) throw ()
> 28468:                                                         ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float acoshf (float __x) throw (); extern float __acoshf (float __x) throw ();
> 28468: 
> 28468: extern float asinhf (float __x) throw (); extern float __asinhf (float __x) throw ();
> 28468: 
> 28468: extern float atanhf (float __x) throw (); extern float __atanhf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern float expf (float __x) throw (); extern float __expf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: extern float frexpf (float __x, int *__exponent) throw (); extern float __frexpf (float __x, int *__exponent) throw ();
> 28468: 
> 28468: 
> 28468: extern float ldexpf (float __x, int __exponent) throw (); extern float __ldexpf (float __x, int __exponent) throw ();
> 28468: 
> 28468: 
> 28468:  extern float logf (float __x) throw (); extern float __logf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: extern float log10f (float __x) throw (); extern float __log10f (float __x) throw ();
> 28468: 
> 28468: 
> 28468: extern float modff (float __x, float *__iptr) throw (); extern float __modff (float __x, float *__iptr) throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float exp10f (float __x) throw (); extern float __exp10f (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float expm1f (float __x) throw (); extern float __expm1f (float __x) throw ();
> 28468: 
> 28468: 
> 28468: extern float log1pf (float __x) throw (); extern float __log1pf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: extern float logbf (float __x) throw (); extern float __logbf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float exp2f (float __x) throw (); extern float __exp2f (float __x) throw ();
> 28468: 
> 28468: 
> 28468: extern float log2f (float __x) throw (); extern float __log2f (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern float powf (float __x, float __y) throw (); extern float __powf (float __x, float __y) throw ();
> 28468: 
> 28468: 
> 28468: extern float sqrtf (float __x) throw (); extern float __sqrtf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float hypotf (float __x, float __y) throw (); extern float __hypotf (float __x, float __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float cbrtf (float __x) throw (); extern float __cbrtf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float ceilf (float __x) throw () __attribute__ ((__const__)); extern float __ceilf (float __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern float fabsf (float __x) throw () __attribute__ ((__const__)); extern float __fabsf (float __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern float floorf (float __x) throw () __attribute__ ((__const__)); extern float __floorf (float __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern float fmodf (float __x, float __y) throw (); extern float __fmodf (float __x, float __y) throw ();
> 28468: # 177 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern int isinff (float __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int finitef (float __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern float dremf (float __x, float __y) throw (); extern float __dremf (float __x, float __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float significandf (float __x) throw (); extern float __significandf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float copysignf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __copysignf (float __x, float __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float nanf (const char *__tagb) throw (); extern float __nanf (const char *__tagb) throw ();
> 28468: # 211 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern int isnanf (float __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float j0f (float) throw (); extern float __j0f (float) throw ();
> 28468: extern float j1f (float) throw (); extern float __j1f (float) throw ();
> 28468: extern float jnf (int, float) throw (); extern float __jnf (int, float) throw ();
> 28468: extern float y0f (float) throw (); extern float __y0f (float) throw ();
> 28468: extern float y1f (float) throw (); extern float __y1f (float) throw ();
> 28468: extern float ynf (int, float) throw (); extern float __ynf (int, float) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float erff (float) throw (); extern float __erff (float) throw ();
> 28468: extern float erfcf (float) throw (); extern float __erfcf (float) throw ();
> 28468: extern float lgammaf (float) throw (); extern float __lgammaf (float) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float tgammaf (float) throw (); extern float __tgammaf (float) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float gammaf (float) throw (); extern float __gammaf (float) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float lgammaf_r (float, int *__signgamp) throw (); extern float __lgammaf_r (float, int *__signgamp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float rintf (float __x) throw (); extern float __rintf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: extern float nextafterf (float __x, float __y) throw (); extern float __nextafterf (float __x, float __y) throw ();
> 28468: 
> 28468: extern float nexttowardf (float __x, long double __y) throw (); extern float __nexttowardf (float __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float nextdownf (float __x) throw (); extern float __nextdownf (float __x) throw ();
> 28468: 
> 28468: extern float nextupf (float __x) throw (); extern float __nextupf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float remainderf (float __x, float __y) throw (); extern float __remainderf (float __x, float __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float scalbnf (float __x, int __n) throw (); extern float __scalbnf (float __x, int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ilogbf (float __x) throw (); extern int __ilogbf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int llogbf (float __x) throw (); extern long int __llogbf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float scalblnf (float __x, long int __n) throw (); extern float __scalblnf (float __x, long int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float nearbyintf (float __x) throw (); extern float __nearbyintf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float roundf (float __x) throw () __attribute__ ((__const__)); extern float __roundf (float __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float truncf (float __x) throw () __attribute__ ((__const__)); extern float __truncf (float __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float remquof (float __x, float __y, int *__quo) throw (); extern float __remquof (float __x, float __y, int *__quo) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lrintf (float __x) throw (); extern long int __lrintf (float __x) throw ();
> 28468: __extension__
> 28468: extern long long int llrintf (float __x) throw (); extern long long int __llrintf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lroundf (float __x) throw (); extern long int __lroundf (float __x) throw ();
> 28468: __extension__
> 28468: extern long long int llroundf (float __x) throw (); extern long long int __llroundf (float __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float fdimf (float __x, float __y) throw (); extern float __fdimf (float __x, float __y) throw ();
> 28468: 
> 28468: 
> 28468: extern float fmaxf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaxf (float __x, float __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern float fminf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminf (float __x, float __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern float fmaf (float __x, float __y, float __z) throw (); extern float __fmaf (float __x, float __y, float __z) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float roundevenf (float __x) throw () __attribute__ ((__const__)); extern float __roundevenf (float __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpf (float __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf (float __x, int __round, unsigned int __width) throw ()
> 28468:                             ;
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpf (float __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf (float __x, int __round, unsigned int __width) throw ()
> 28468:                               ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpxf (float __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf (float __x, int __round, unsigned int __width) throw ()
> 28468:                              ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpxf (float __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf (float __x, int __round, unsigned int __width) throw ()
> 28468:                                ;
> 28468: 
> 28468: 
> 28468: extern float fmaxmagf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fmaxmagf (float __x, float __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern float fminmagf (float __x, float __y) throw () __attribute__ ((__const__)); extern float __fminmagf (float __x, float __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalorderf (float __x, float __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalordermagf (float __x, float __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int canonicalizef (float *__cx, const float *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern float getpayloadf (const float *__x) throw (); extern float __getpayloadf (const float *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadf (float *__x, float __payload) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadsigf (float *__x, float __payload) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern float scalbf (float __x, float __n) throw (); extern float __scalbf (float __x, float __n) throw ();
> 28468: # 308 "/usr/include/math.h" 2 3 4
> 28468: # 349 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 1 3 4
> 28468: # 21 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 3 4
> 28468: extern int __fpclassifyl (long double __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __signbitl (long double __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int __isinfl (long double __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __finitel (long double __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __isnanl (long double __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __iseqsigl (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern int __issignalingl (long double __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: # 350 "/usr/include/math.h" 2 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 1 3 4
> 28468: # 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern long double acosl (long double __x) throw (); extern long double __acosl (long double __x) throw ();
> 28468: 
> 28468: extern long double asinl (long double __x) throw (); extern long double __asinl (long double __x) throw ();
> 28468: 
> 28468: extern long double atanl (long double __x) throw (); extern long double __atanl (long double __x) throw ();
> 28468: 
> 28468: extern long double atan2l (long double __y, long double __x) throw (); extern long double __atan2l (long double __y, long double __x) throw ();
> 28468: 
> 28468: 
> 28468:  extern long double cosl (long double __x) throw (); extern long double __cosl (long double __x) throw ();
> 28468: 
> 28468:  extern long double sinl (long double __x) throw (); extern long double __sinl (long double __x) throw ();
> 28468: 
> 28468: extern long double tanl (long double __x) throw (); extern long double __tanl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double coshl (long double __x) throw (); extern long double __coshl (long double __x) throw ();
> 28468: 
> 28468: extern long double sinhl (long double __x) throw (); extern long double __sinhl (long double __x) throw ();
> 28468: 
> 28468: extern long double tanhl (long double __x) throw (); extern long double __tanhl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern void sincosl (long double __x, long double *__sinx, long double *__cosx) throw (); extern void __sincosl (long double __x, long double *__sinx, long double *__cosx) throw ()
> 28468:                                                         ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double acoshl (long double __x) throw (); extern long double __acoshl (long double __x) throw ();
> 28468: 
> 28468: extern long double asinhl (long double __x) throw (); extern long double __asinhl (long double __x) throw ();
> 28468: 
> 28468: extern long double atanhl (long double __x) throw (); extern long double __atanhl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern long double expl (long double __x) throw (); extern long double __expl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern long double frexpl (long double __x, int *__exponent) throw (); extern long double __frexpl (long double __x, int *__exponent) throw ();
> 28468: 
> 28468: 
> 28468: extern long double ldexpl (long double __x, int __exponent) throw (); extern long double __ldexpl (long double __x, int __exponent) throw ();
> 28468: 
> 28468: 
> 28468:  extern long double logl (long double __x) throw (); extern long double __logl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern long double log10l (long double __x) throw (); extern long double __log10l (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern long double modfl (long double __x, long double *__iptr) throw (); extern long double __modfl (long double __x, long double *__iptr) throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double exp10l (long double __x) throw (); extern long double __exp10l (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double expm1l (long double __x) throw (); extern long double __expm1l (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern long double log1pl (long double __x) throw (); extern long double __log1pl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern long double logbl (long double __x) throw (); extern long double __logbl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double exp2l (long double __x) throw (); extern long double __exp2l (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern long double log2l (long double __x) throw (); extern long double __log2l (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern long double powl (long double __x, long double __y) throw (); extern long double __powl (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern long double sqrtl (long double __x) throw (); extern long double __sqrtl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double hypotl (long double __x, long double __y) throw (); extern long double __hypotl (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double cbrtl (long double __x) throw (); extern long double __cbrtl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double ceill (long double __x) throw () __attribute__ ((__const__)); extern long double __ceill (long double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern long double fabsl (long double __x) throw () __attribute__ ((__const__)); extern long double __fabsl (long double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern long double floorl (long double __x) throw () __attribute__ ((__const__)); extern long double __floorl (long double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern long double fmodl (long double __x, long double __y) throw (); extern long double __fmodl (long double __x, long double __y) throw ();
> 28468: # 177 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern int isinfl (long double __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int finitel (long double __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern long double dreml (long double __x, long double __y) throw (); extern long double __dreml (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double significandl (long double __x) throw (); extern long double __significandl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double copysignl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __copysignl (long double __x, long double __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double nanl (const char *__tagb) throw (); extern long double __nanl (const char *__tagb) throw ();
> 28468: # 211 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern int isnanl (long double __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double j0l (long double) throw (); extern long double __j0l (long double) throw ();
> 28468: extern long double j1l (long double) throw (); extern long double __j1l (long double) throw ();
> 28468: extern long double jnl (int, long double) throw (); extern long double __jnl (int, long double) throw ();
> 28468: extern long double y0l (long double) throw (); extern long double __y0l (long double) throw ();
> 28468: extern long double y1l (long double) throw (); extern long double __y1l (long double) throw ();
> 28468: extern long double ynl (int, long double) throw (); extern long double __ynl (int, long double) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double erfl (long double) throw (); extern long double __erfl (long double) throw ();
> 28468: extern long double erfcl (long double) throw (); extern long double __erfcl (long double) throw ();
> 28468: extern long double lgammal (long double) throw (); extern long double __lgammal (long double) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double tgammal (long double) throw (); extern long double __tgammal (long double) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double gammal (long double) throw (); extern long double __gammal (long double) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double lgammal_r (long double, int *__signgamp) throw (); extern long double __lgammal_r (long double, int *__signgamp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double rintl (long double __x) throw (); extern long double __rintl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: extern long double nextafterl (long double __x, long double __y) throw (); extern long double __nextafterl (long double __x, long double __y) throw ();
> 28468: 
> 28468: extern long double nexttowardl (long double __x, long double __y) throw (); extern long double __nexttowardl (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double nextdownl (long double __x) throw (); extern long double __nextdownl (long double __x) throw ();
> 28468: 
> 28468: extern long double nextupl (long double __x) throw (); extern long double __nextupl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double remainderl (long double __x, long double __y) throw (); extern long double __remainderl (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double scalbnl (long double __x, int __n) throw (); extern long double __scalbnl (long double __x, int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ilogbl (long double __x) throw (); extern int __ilogbl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int llogbl (long double __x) throw (); extern long int __llogbl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double scalblnl (long double __x, long int __n) throw (); extern long double __scalblnl (long double __x, long int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double nearbyintl (long double __x) throw (); extern long double __nearbyintl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double roundl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundl (long double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double truncl (long double __x) throw () __attribute__ ((__const__)); extern long double __truncl (long double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double remquol (long double __x, long double __y, int *__quo) throw (); extern long double __remquol (long double __x, long double __y, int *__quo) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lrintl (long double __x) throw (); extern long int __lrintl (long double __x) throw ();
> 28468: __extension__
> 28468: extern long long int llrintl (long double __x) throw (); extern long long int __llrintl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lroundl (long double __x) throw (); extern long int __lroundl (long double __x) throw ();
> 28468: __extension__
> 28468: extern long long int llroundl (long double __x) throw (); extern long long int __llroundl (long double __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double fdiml (long double __x, long double __y) throw (); extern long double __fdiml (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern long double fmaxl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaxl (long double __x, long double __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern long double fminl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminl (long double __x, long double __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern long double fmal (long double __x, long double __y, long double __z) throw (); extern long double __fmal (long double __x, long double __y, long double __z) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double roundevenl (long double __x) throw () __attribute__ ((__const__)); extern long double __roundevenl (long double __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpl (long double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpl (long double __x, int __round, unsigned int __width) throw ()
> 28468:                             ;
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpl (long double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpl (long double __x, int __round, unsigned int __width) throw ()
> 28468:                               ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpxl (long double __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxl (long double __x, int __round, unsigned int __width) throw ()
> 28468:                              ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpxl (long double __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxl (long double __x, int __round, unsigned int __width) throw ()
> 28468:                                ;
> 28468: 
> 28468: 
> 28468: extern long double fmaxmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fmaxmagl (long double __x, long double __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern long double fminmagl (long double __x, long double __y) throw () __attribute__ ((__const__)); extern long double __fminmagl (long double __x, long double __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalorderl (long double __x, long double __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalordermagl (long double __x, long double __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int canonicalizel (long double *__cx, const long double *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern long double getpayloadl (const long double *__x) throw (); extern long double __getpayloadl (const long double *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadl (long double *__x, long double __payload) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadsigl (long double *__x, long double __payload) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long double scalbl (long double __x, long double __n) throw (); extern long double __scalbl (long double __x, long double __n) throw ();
> 28468: # 351 "/usr/include/math.h" 2 3 4
> 28468: # 389 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 1 3 4
> 28468: # 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float32 acosf32 (_Float32 __x) throw (); extern _Float32 __acosf32 (_Float32 __x) throw ();
> 28468: 
> 28468: extern _Float32 asinf32 (_Float32 __x) throw (); extern _Float32 __asinf32 (_Float32 __x) throw ();
> 28468: 
> 28468: extern _Float32 atanf32 (_Float32 __x) throw (); extern _Float32 __atanf32 (_Float32 __x) throw ();
> 28468: 
> 28468: extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) throw (); extern _Float32 __atan2f32 (_Float32 __y, _Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468:  extern _Float32 cosf32 (_Float32 __x) throw (); extern _Float32 __cosf32 (_Float32 __x) throw ();
> 28468: 
> 28468:  extern _Float32 sinf32 (_Float32 __x) throw (); extern _Float32 __sinf32 (_Float32 __x) throw ();
> 28468: 
> 28468: extern _Float32 tanf32 (_Float32 __x) throw (); extern _Float32 __tanf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 coshf32 (_Float32 __x) throw (); extern _Float32 __coshf32 (_Float32 __x) throw ();
> 28468: 
> 28468: extern _Float32 sinhf32 (_Float32 __x) throw (); extern _Float32 __sinhf32 (_Float32 __x) throw ();
> 28468: 
> 28468: extern _Float32 tanhf32 (_Float32 __x) throw (); extern _Float32 __tanhf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern void sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) throw (); extern void __sincosf32 (_Float32 __x, _Float32 *__sinx, _Float32 *__cosx) throw ()
> 28468:                                                         ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 acoshf32 (_Float32 __x) throw (); extern _Float32 __acoshf32 (_Float32 __x) throw ();
> 28468: 
> 28468: extern _Float32 asinhf32 (_Float32 __x) throw (); extern _Float32 __asinhf32 (_Float32 __x) throw ();
> 28468: 
> 28468: extern _Float32 atanhf32 (_Float32 __x) throw (); extern _Float32 __atanhf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern _Float32 expf32 (_Float32 __x) throw (); extern _Float32 __expf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 frexpf32 (_Float32 __x, int *__exponent) throw (); extern _Float32 __frexpf32 (_Float32 __x, int *__exponent) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 ldexpf32 (_Float32 __x, int __exponent) throw (); extern _Float32 __ldexpf32 (_Float32 __x, int __exponent) throw ();
> 28468: 
> 28468: 
> 28468:  extern _Float32 logf32 (_Float32 __x) throw (); extern _Float32 __logf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 log10f32 (_Float32 __x) throw (); extern _Float32 __log10f32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 modff32 (_Float32 __x, _Float32 *__iptr) throw (); extern _Float32 __modff32 (_Float32 __x, _Float32 *__iptr) throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 exp10f32 (_Float32 __x) throw (); extern _Float32 __exp10f32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 expm1f32 (_Float32 __x) throw (); extern _Float32 __expm1f32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 log1pf32 (_Float32 __x) throw (); extern _Float32 __log1pf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 logbf32 (_Float32 __x) throw (); extern _Float32 __logbf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 exp2f32 (_Float32 __x) throw (); extern _Float32 __exp2f32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 log2f32 (_Float32 __x) throw (); extern _Float32 __log2f32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern _Float32 powf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __powf32 (_Float32 __x, _Float32 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 sqrtf32 (_Float32 __x) throw (); extern _Float32 __sqrtf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 hypotf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __hypotf32 (_Float32 __x, _Float32 __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 cbrtf32 (_Float32 __x) throw (); extern _Float32 __cbrtf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 ceilf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __ceilf32 (_Float32 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32 fabsf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __fabsf32 (_Float32 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32 floorf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __floorf32 (_Float32 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32 fmodf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __fmodf32 (_Float32 __x, _Float32 __y) throw ();
> 28468: # 196 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float32 copysignf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __copysignf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 nanf32 (const char *__tagb) throw (); extern _Float32 __nanf32 (const char *__tagb) throw ();
> 28468: # 217 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float32 j0f32 (_Float32) throw (); extern _Float32 __j0f32 (_Float32) throw ();
> 28468: extern _Float32 j1f32 (_Float32) throw (); extern _Float32 __j1f32 (_Float32) throw ();
> 28468: extern _Float32 jnf32 (int, _Float32) throw (); extern _Float32 __jnf32 (int, _Float32) throw ();
> 28468: extern _Float32 y0f32 (_Float32) throw (); extern _Float32 __y0f32 (_Float32) throw ();
> 28468: extern _Float32 y1f32 (_Float32) throw (); extern _Float32 __y1f32 (_Float32) throw ();
> 28468: extern _Float32 ynf32 (int, _Float32) throw (); extern _Float32 __ynf32 (int, _Float32) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 erff32 (_Float32) throw (); extern _Float32 __erff32 (_Float32) throw ();
> 28468: extern _Float32 erfcf32 (_Float32) throw (); extern _Float32 __erfcf32 (_Float32) throw ();
> 28468: extern _Float32 lgammaf32 (_Float32) throw (); extern _Float32 __lgammaf32 (_Float32) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 tgammaf32 (_Float32) throw (); extern _Float32 __tgammaf32 (_Float32) throw ();
> 28468: # 249 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float32 lgammaf32_r (_Float32, int *__signgamp) throw (); extern _Float32 __lgammaf32_r (_Float32, int *__signgamp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 rintf32 (_Float32 __x) throw (); extern _Float32 __rintf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 nextafterf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __nextafterf32 (_Float32 __x, _Float32 __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 nextdownf32 (_Float32 __x) throw (); extern _Float32 __nextdownf32 (_Float32 __x) throw ();
> 28468: 
> 28468: extern _Float32 nextupf32 (_Float32 __x) throw (); extern _Float32 __nextupf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 remainderf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __remainderf32 (_Float32 __x, _Float32 __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 scalbnf32 (_Float32 __x, int __n) throw (); extern _Float32 __scalbnf32 (_Float32 __x, int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ilogbf32 (_Float32 __x) throw (); extern int __ilogbf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int llogbf32 (_Float32 __x) throw (); extern long int __llogbf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 scalblnf32 (_Float32 __x, long int __n) throw (); extern _Float32 __scalblnf32 (_Float32 __x, long int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 nearbyintf32 (_Float32 __x) throw (); extern _Float32 __nearbyintf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 roundf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __roundf32 (_Float32 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 truncf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __truncf32 (_Float32 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 remquof32 (_Float32 __x, _Float32 __y, int *__quo) throw (); extern _Float32 __remquof32 (_Float32 __x, _Float32 __y, int *__quo) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lrintf32 (_Float32 __x) throw (); extern long int __lrintf32 (_Float32 __x) throw ();
> 28468: __extension__
> 28468: extern long long int llrintf32 (_Float32 __x) throw (); extern long long int __llrintf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lroundf32 (_Float32 __x) throw (); extern long int __lroundf32 (_Float32 __x) throw ();
> 28468: __extension__
> 28468: extern long long int llroundf32 (_Float32 __x) throw (); extern long long int __llroundf32 (_Float32 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 fdimf32 (_Float32 __x, _Float32 __y) throw (); extern _Float32 __fdimf32 (_Float32 __x, _Float32 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 fmaxf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaxf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32 fminf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32 fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) throw (); extern _Float32 __fmaf32 (_Float32 __x, _Float32 __y, _Float32 __z) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32 roundevenf32 (_Float32 __x) throw () __attribute__ ((__const__)); extern _Float32 __roundevenf32 (_Float32 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf32 (_Float32 __x, int __round, unsigned int __width) throw ()
> 28468:                             ;
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf32 (_Float32 __x, int __round, unsigned int __width) throw ()
> 28468:                               ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw ()
> 28468:                              ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf32 (_Float32 __x, int __round, unsigned int __width) throw ()
> 28468:                                ;
> 28468: 
> 28468: 
> 28468: extern _Float32 fmaxmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fmaxmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32 fminmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__)); extern _Float32 __fminmagf32 (_Float32 __x, _Float32 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalorderf32 (_Float32 __x, _Float32 __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalordermagf32 (_Float32 __x, _Float32 __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int canonicalizef32 (_Float32 *__cx, const _Float32 *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 getpayloadf32 (const _Float32 *__x) throw (); extern _Float32 __getpayloadf32 (const _Float32 *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadf32 (_Float32 *__x, _Float32 __payload) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadsigf32 (_Float32 *__x, _Float32 __payload) throw ();
> 28468: # 390 "/usr/include/math.h" 2 3 4
> 28468: # 406 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 1 3 4
> 28468: # 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float64 acosf64 (_Float64 __x) throw (); extern _Float64 __acosf64 (_Float64 __x) throw ();
> 28468: 
> 28468: extern _Float64 asinf64 (_Float64 __x) throw (); extern _Float64 __asinf64 (_Float64 __x) throw ();
> 28468: 
> 28468: extern _Float64 atanf64 (_Float64 __x) throw (); extern _Float64 __atanf64 (_Float64 __x) throw ();
> 28468: 
> 28468: extern _Float64 atan2f64 (_Float64 __y, _Float64 __x) throw (); extern _Float64 __atan2f64 (_Float64 __y, _Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468:  extern _Float64 cosf64 (_Float64 __x) throw (); extern _Float64 __cosf64 (_Float64 __x) throw ();
> 28468: 
> 28468:  extern _Float64 sinf64 (_Float64 __x) throw (); extern _Float64 __sinf64 (_Float64 __x) throw ();
> 28468: 
> 28468: extern _Float64 tanf64 (_Float64 __x) throw (); extern _Float64 __tanf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 coshf64 (_Float64 __x) throw (); extern _Float64 __coshf64 (_Float64 __x) throw ();
> 28468: 
> 28468: extern _Float64 sinhf64 (_Float64 __x) throw (); extern _Float64 __sinhf64 (_Float64 __x) throw ();
> 28468: 
> 28468: extern _Float64 tanhf64 (_Float64 __x) throw (); extern _Float64 __tanhf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern void sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) throw (); extern void __sincosf64 (_Float64 __x, _Float64 *__sinx, _Float64 *__cosx) throw ()
> 28468:                                                         ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 acoshf64 (_Float64 __x) throw (); extern _Float64 __acoshf64 (_Float64 __x) throw ();
> 28468: 
> 28468: extern _Float64 asinhf64 (_Float64 __x) throw (); extern _Float64 __asinhf64 (_Float64 __x) throw ();
> 28468: 
> 28468: extern _Float64 atanhf64 (_Float64 __x) throw (); extern _Float64 __atanhf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern _Float64 expf64 (_Float64 __x) throw (); extern _Float64 __expf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 frexpf64 (_Float64 __x, int *__exponent) throw (); extern _Float64 __frexpf64 (_Float64 __x, int *__exponent) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 ldexpf64 (_Float64 __x, int __exponent) throw (); extern _Float64 __ldexpf64 (_Float64 __x, int __exponent) throw ();
> 28468: 
> 28468: 
> 28468:  extern _Float64 logf64 (_Float64 __x) throw (); extern _Float64 __logf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 log10f64 (_Float64 __x) throw (); extern _Float64 __log10f64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 modff64 (_Float64 __x, _Float64 *__iptr) throw (); extern _Float64 __modff64 (_Float64 __x, _Float64 *__iptr) throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 exp10f64 (_Float64 __x) throw (); extern _Float64 __exp10f64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 expm1f64 (_Float64 __x) throw (); extern _Float64 __expm1f64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 log1pf64 (_Float64 __x) throw (); extern _Float64 __log1pf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 logbf64 (_Float64 __x) throw (); extern _Float64 __logbf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 exp2f64 (_Float64 __x) throw (); extern _Float64 __exp2f64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 log2f64 (_Float64 __x) throw (); extern _Float64 __log2f64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern _Float64 powf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __powf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 sqrtf64 (_Float64 __x) throw (); extern _Float64 __sqrtf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 hypotf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __hypotf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 cbrtf64 (_Float64 __x) throw (); extern _Float64 __cbrtf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 ceilf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __ceilf64 (_Float64 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64 fabsf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __fabsf64 (_Float64 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64 floorf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __floorf64 (_Float64 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64 fmodf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __fmodf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: # 196 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float64 copysignf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __copysignf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 nanf64 (const char *__tagb) throw (); extern _Float64 __nanf64 (const char *__tagb) throw ();
> 28468: # 217 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float64 j0f64 (_Float64) throw (); extern _Float64 __j0f64 (_Float64) throw ();
> 28468: extern _Float64 j1f64 (_Float64) throw (); extern _Float64 __j1f64 (_Float64) throw ();
> 28468: extern _Float64 jnf64 (int, _Float64) throw (); extern _Float64 __jnf64 (int, _Float64) throw ();
> 28468: extern _Float64 y0f64 (_Float64) throw (); extern _Float64 __y0f64 (_Float64) throw ();
> 28468: extern _Float64 y1f64 (_Float64) throw (); extern _Float64 __y1f64 (_Float64) throw ();
> 28468: extern _Float64 ynf64 (int, _Float64) throw (); extern _Float64 __ynf64 (int, _Float64) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 erff64 (_Float64) throw (); extern _Float64 __erff64 (_Float64) throw ();
> 28468: extern _Float64 erfcf64 (_Float64) throw (); extern _Float64 __erfcf64 (_Float64) throw ();
> 28468: extern _Float64 lgammaf64 (_Float64) throw (); extern _Float64 __lgammaf64 (_Float64) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 tgammaf64 (_Float64) throw (); extern _Float64 __tgammaf64 (_Float64) throw ();
> 28468: # 249 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float64 lgammaf64_r (_Float64, int *__signgamp) throw (); extern _Float64 __lgammaf64_r (_Float64, int *__signgamp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 rintf64 (_Float64 __x) throw (); extern _Float64 __rintf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 nextafterf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __nextafterf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 nextdownf64 (_Float64 __x) throw (); extern _Float64 __nextdownf64 (_Float64 __x) throw ();
> 28468: 
> 28468: extern _Float64 nextupf64 (_Float64 __x) throw (); extern _Float64 __nextupf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 remainderf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __remainderf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 scalbnf64 (_Float64 __x, int __n) throw (); extern _Float64 __scalbnf64 (_Float64 __x, int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ilogbf64 (_Float64 __x) throw (); extern int __ilogbf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int llogbf64 (_Float64 __x) throw (); extern long int __llogbf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 scalblnf64 (_Float64 __x, long int __n) throw (); extern _Float64 __scalblnf64 (_Float64 __x, long int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 nearbyintf64 (_Float64 __x) throw (); extern _Float64 __nearbyintf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 roundf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __roundf64 (_Float64 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 truncf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __truncf64 (_Float64 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 remquof64 (_Float64 __x, _Float64 __y, int *__quo) throw (); extern _Float64 __remquof64 (_Float64 __x, _Float64 __y, int *__quo) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lrintf64 (_Float64 __x) throw (); extern long int __lrintf64 (_Float64 __x) throw ();
> 28468: __extension__
> 28468: extern long long int llrintf64 (_Float64 __x) throw (); extern long long int __llrintf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lroundf64 (_Float64 __x) throw (); extern long int __lroundf64 (_Float64 __x) throw ();
> 28468: __extension__
> 28468: extern long long int llroundf64 (_Float64 __x) throw (); extern long long int __llroundf64 (_Float64 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 fdimf64 (_Float64 __x, _Float64 __y) throw (); extern _Float64 __fdimf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 fmaxf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaxf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64 fminf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64 fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) throw (); extern _Float64 __fmaf64 (_Float64 __x, _Float64 __y, _Float64 __z) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64 roundevenf64 (_Float64 __x) throw () __attribute__ ((__const__)); extern _Float64 __roundevenf64 (_Float64 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf64 (_Float64 __x, int __round, unsigned int __width) throw ()
> 28468:                             ;
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf64 (_Float64 __x, int __round, unsigned int __width) throw ()
> 28468:                               ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw ()
> 28468:                              ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf64 (_Float64 __x, int __round, unsigned int __width) throw ()
> 28468:                                ;
> 28468: 
> 28468: 
> 28468: extern _Float64 fmaxmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fmaxmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64 fminmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__)); extern _Float64 __fminmagf64 (_Float64 __x, _Float64 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalorderf64 (_Float64 __x, _Float64 __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalordermagf64 (_Float64 __x, _Float64 __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int canonicalizef64 (_Float64 *__cx, const _Float64 *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 getpayloadf64 (const _Float64 *__x) throw (); extern _Float64 __getpayloadf64 (const _Float64 *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadf64 (_Float64 *__x, _Float64 __payload) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadsigf64 (_Float64 *__x, _Float64 __payload) throw ();
> 28468: # 407 "/usr/include/math.h" 2 3 4
> 28468: # 420 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 1 3 4
> 28468: # 21 "/usr/include/x86_64-linux-gnu/bits/mathcalls-helper-functions.h" 3 4
> 28468: extern int __fpclassifyf128 (_Float128 __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __signbitf128 (_Float128 __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int __isinff128 (_Float128 __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __finitef128 (_Float128 __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __isnanf128 (_Float128 __value) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int __iseqsigf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern int __issignalingf128 (_Float128 __value) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: # 421 "/usr/include/math.h" 2 3 4
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 1 3 4
> 28468: # 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float128 acosf128 (_Float128 __x) throw (); extern _Float128 __acosf128 (_Float128 __x) throw ();
> 28468: 
> 28468: extern _Float128 asinf128 (_Float128 __x) throw (); extern _Float128 __asinf128 (_Float128 __x) throw ();
> 28468: 
> 28468: extern _Float128 atanf128 (_Float128 __x) throw (); extern _Float128 __atanf128 (_Float128 __x) throw ();
> 28468: 
> 28468: extern _Float128 atan2f128 (_Float128 __y, _Float128 __x) throw (); extern _Float128 __atan2f128 (_Float128 __y, _Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468:  extern _Float128 cosf128 (_Float128 __x) throw (); extern _Float128 __cosf128 (_Float128 __x) throw ();
> 28468: 
> 28468:  extern _Float128 sinf128 (_Float128 __x) throw (); extern _Float128 __sinf128 (_Float128 __x) throw ();
> 28468: 
> 28468: extern _Float128 tanf128 (_Float128 __x) throw (); extern _Float128 __tanf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 coshf128 (_Float128 __x) throw (); extern _Float128 __coshf128 (_Float128 __x) throw ();
> 28468: 
> 28468: extern _Float128 sinhf128 (_Float128 __x) throw (); extern _Float128 __sinhf128 (_Float128 __x) throw ();
> 28468: 
> 28468: extern _Float128 tanhf128 (_Float128 __x) throw (); extern _Float128 __tanhf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern void sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) throw (); extern void __sincosf128 (_Float128 __x, _Float128 *__sinx, _Float128 *__cosx) throw ()
> 28468:                                                         ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 acoshf128 (_Float128 __x) throw (); extern _Float128 __acoshf128 (_Float128 __x) throw ();
> 28468: 
> 28468: extern _Float128 asinhf128 (_Float128 __x) throw (); extern _Float128 __asinhf128 (_Float128 __x) throw ();
> 28468: 
> 28468: extern _Float128 atanhf128 (_Float128 __x) throw (); extern _Float128 __atanhf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern _Float128 expf128 (_Float128 __x) throw (); extern _Float128 __expf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float128 frexpf128 (_Float128 __x, int *__exponent) throw (); extern _Float128 __frexpf128 (_Float128 __x, int *__exponent) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float128 ldexpf128 (_Float128 __x, int __exponent) throw (); extern _Float128 __ldexpf128 (_Float128 __x, int __exponent) throw ();
> 28468: 
> 28468: 
> 28468:  extern _Float128 logf128 (_Float128 __x) throw (); extern _Float128 __logf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float128 log10f128 (_Float128 __x) throw (); extern _Float128 __log10f128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float128 modff128 (_Float128 __x, _Float128 *__iptr) throw (); extern _Float128 __modff128 (_Float128 __x, _Float128 *__iptr) throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 exp10f128 (_Float128 __x) throw (); extern _Float128 __exp10f128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 expm1f128 (_Float128 __x) throw (); extern _Float128 __expm1f128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float128 log1pf128 (_Float128 __x) throw (); extern _Float128 __log1pf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float128 logbf128 (_Float128 __x) throw (); extern _Float128 __logbf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 exp2f128 (_Float128 __x) throw (); extern _Float128 __exp2f128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float128 log2f128 (_Float128 __x) throw (); extern _Float128 __log2f128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern _Float128 powf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __powf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float128 sqrtf128 (_Float128 __x) throw (); extern _Float128 __sqrtf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 hypotf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __hypotf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 cbrtf128 (_Float128 __x) throw (); extern _Float128 __cbrtf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 ceilf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __ceilf128 (_Float128 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float128 fabsf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __fabsf128 (_Float128 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float128 floorf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __floorf128 (_Float128 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float128 fmodf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __fmodf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: # 196 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float128 copysignf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __copysignf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 nanf128 (const char *__tagb) throw (); extern _Float128 __nanf128 (const char *__tagb) throw ();
> 28468: # 217 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float128 j0f128 (_Float128) throw (); extern _Float128 __j0f128 (_Float128) throw ();
> 28468: extern _Float128 j1f128 (_Float128) throw (); extern _Float128 __j1f128 (_Float128) throw ();
> 28468: extern _Float128 jnf128 (int, _Float128) throw (); extern _Float128 __jnf128 (int, _Float128) throw ();
> 28468: extern _Float128 y0f128 (_Float128) throw (); extern _Float128 __y0f128 (_Float128) throw ();
> 28468: extern _Float128 y1f128 (_Float128) throw (); extern _Float128 __y1f128 (_Float128) throw ();
> 28468: extern _Float128 ynf128 (int, _Float128) throw (); extern _Float128 __ynf128 (int, _Float128) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 erff128 (_Float128) throw (); extern _Float128 __erff128 (_Float128) throw ();
> 28468: extern _Float128 erfcf128 (_Float128) throw (); extern _Float128 __erfcf128 (_Float128) throw ();
> 28468: extern _Float128 lgammaf128 (_Float128) throw (); extern _Float128 __lgammaf128 (_Float128) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 tgammaf128 (_Float128) throw (); extern _Float128 __tgammaf128 (_Float128) throw ();
> 28468: # 249 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float128 lgammaf128_r (_Float128, int *__signgamp) throw (); extern _Float128 __lgammaf128_r (_Float128, int *__signgamp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 rintf128 (_Float128 __x) throw (); extern _Float128 __rintf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float128 nextafterf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __nextafterf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 nextdownf128 (_Float128 __x) throw (); extern _Float128 __nextdownf128 (_Float128 __x) throw ();
> 28468: 
> 28468: extern _Float128 nextupf128 (_Float128 __x) throw (); extern _Float128 __nextupf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 remainderf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __remainderf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 scalbnf128 (_Float128 __x, int __n) throw (); extern _Float128 __scalbnf128 (_Float128 __x, int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ilogbf128 (_Float128 __x) throw (); extern int __ilogbf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int llogbf128 (_Float128 __x) throw (); extern long int __llogbf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 scalblnf128 (_Float128 __x, long int __n) throw (); extern _Float128 __scalblnf128 (_Float128 __x, long int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 nearbyintf128 (_Float128 __x) throw (); extern _Float128 __nearbyintf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 roundf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __roundf128 (_Float128 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 truncf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __truncf128 (_Float128 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 remquof128 (_Float128 __x, _Float128 __y, int *__quo) throw (); extern _Float128 __remquof128 (_Float128 __x, _Float128 __y, int *__quo) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lrintf128 (_Float128 __x) throw (); extern long int __lrintf128 (_Float128 __x) throw ();
> 28468: __extension__
> 28468: extern long long int llrintf128 (_Float128 __x) throw (); extern long long int __llrintf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lroundf128 (_Float128 __x) throw (); extern long int __lroundf128 (_Float128 __x) throw ();
> 28468: __extension__
> 28468: extern long long int llroundf128 (_Float128 __x) throw (); extern long long int __llroundf128 (_Float128 __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 fdimf128 (_Float128 __x, _Float128 __y) throw (); extern _Float128 __fdimf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float128 fmaxf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fmaxf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float128 fminf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fminf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float128 fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) throw (); extern _Float128 __fmaf128 (_Float128 __x, _Float128 __y, _Float128 __z) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float128 roundevenf128 (_Float128 __x) throw () __attribute__ ((__const__)); extern _Float128 __roundevenf128 (_Float128 __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf128 (_Float128 __x, int __round, unsigned int __width) throw ()
> 28468:                             ;
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf128 (_Float128 __x, int __round, unsigned int __width) throw ()
> 28468:                               ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw ()
> 28468:                              ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf128 (_Float128 __x, int __round, unsigned int __width) throw ()
> 28468:                                ;
> 28468: 
> 28468: 
> 28468: extern _Float128 fmaxmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fmaxmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float128 fminmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__)); extern _Float128 __fminmagf128 (_Float128 __x, _Float128 __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalorderf128 (_Float128 __x, _Float128 __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalordermagf128 (_Float128 __x, _Float128 __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int canonicalizef128 (_Float128 *__cx, const _Float128 *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float128 getpayloadf128 (const _Float128 *__x) throw (); extern _Float128 __getpayloadf128 (const _Float128 *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadf128 (_Float128 *__x, _Float128 __payload) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadsigf128 (_Float128 *__x, _Float128 __payload) throw ();
> 28468: # 424 "/usr/include/math.h" 2 3 4
> 28468: # 440 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 1 3 4
> 28468: # 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float32x acosf32x (_Float32x __x) throw (); extern _Float32x __acosf32x (_Float32x __x) throw ();
> 28468: 
> 28468: extern _Float32x asinf32x (_Float32x __x) throw (); extern _Float32x __asinf32x (_Float32x __x) throw ();
> 28468: 
> 28468: extern _Float32x atanf32x (_Float32x __x) throw (); extern _Float32x __atanf32x (_Float32x __x) throw ();
> 28468: 
> 28468: extern _Float32x atan2f32x (_Float32x __y, _Float32x __x) throw (); extern _Float32x __atan2f32x (_Float32x __y, _Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468:  extern _Float32x cosf32x (_Float32x __x) throw (); extern _Float32x __cosf32x (_Float32x __x) throw ();
> 28468: 
> 28468:  extern _Float32x sinf32x (_Float32x __x) throw (); extern _Float32x __sinf32x (_Float32x __x) throw ();
> 28468: 
> 28468: extern _Float32x tanf32x (_Float32x __x) throw (); extern _Float32x __tanf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x coshf32x (_Float32x __x) throw (); extern _Float32x __coshf32x (_Float32x __x) throw ();
> 28468: 
> 28468: extern _Float32x sinhf32x (_Float32x __x) throw (); extern _Float32x __sinhf32x (_Float32x __x) throw ();
> 28468: 
> 28468: extern _Float32x tanhf32x (_Float32x __x) throw (); extern _Float32x __tanhf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern void sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) throw (); extern void __sincosf32x (_Float32x __x, _Float32x *__sinx, _Float32x *__cosx) throw ()
> 28468:                                                         ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x acoshf32x (_Float32x __x) throw (); extern _Float32x __acoshf32x (_Float32x __x) throw ();
> 28468: 
> 28468: extern _Float32x asinhf32x (_Float32x __x) throw (); extern _Float32x __asinhf32x (_Float32x __x) throw ();
> 28468: 
> 28468: extern _Float32x atanhf32x (_Float32x __x) throw (); extern _Float32x __atanhf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern _Float32x expf32x (_Float32x __x) throw (); extern _Float32x __expf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x frexpf32x (_Float32x __x, int *__exponent) throw (); extern _Float32x __frexpf32x (_Float32x __x, int *__exponent) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x ldexpf32x (_Float32x __x, int __exponent) throw (); extern _Float32x __ldexpf32x (_Float32x __x, int __exponent) throw ();
> 28468: 
> 28468: 
> 28468:  extern _Float32x logf32x (_Float32x __x) throw (); extern _Float32x __logf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x log10f32x (_Float32x __x) throw (); extern _Float32x __log10f32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x modff32x (_Float32x __x, _Float32x *__iptr) throw (); extern _Float32x __modff32x (_Float32x __x, _Float32x *__iptr) throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x exp10f32x (_Float32x __x) throw (); extern _Float32x __exp10f32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x expm1f32x (_Float32x __x) throw (); extern _Float32x __expm1f32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x log1pf32x (_Float32x __x) throw (); extern _Float32x __log1pf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x logbf32x (_Float32x __x) throw (); extern _Float32x __logbf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x exp2f32x (_Float32x __x) throw (); extern _Float32x __exp2f32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x log2f32x (_Float32x __x) throw (); extern _Float32x __log2f32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern _Float32x powf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __powf32x (_Float32x __x, _Float32x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x sqrtf32x (_Float32x __x) throw (); extern _Float32x __sqrtf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x hypotf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __hypotf32x (_Float32x __x, _Float32x __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x cbrtf32x (_Float32x __x) throw (); extern _Float32x __cbrtf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x ceilf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __ceilf32x (_Float32x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32x fabsf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __fabsf32x (_Float32x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32x floorf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __floorf32x (_Float32x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32x fmodf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __fmodf32x (_Float32x __x, _Float32x __y) throw ();
> 28468: # 196 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float32x copysignf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __copysignf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x nanf32x (const char *__tagb) throw (); extern _Float32x __nanf32x (const char *__tagb) throw ();
> 28468: # 217 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float32x j0f32x (_Float32x) throw (); extern _Float32x __j0f32x (_Float32x) throw ();
> 28468: extern _Float32x j1f32x (_Float32x) throw (); extern _Float32x __j1f32x (_Float32x) throw ();
> 28468: extern _Float32x jnf32x (int, _Float32x) throw (); extern _Float32x __jnf32x (int, _Float32x) throw ();
> 28468: extern _Float32x y0f32x (_Float32x) throw (); extern _Float32x __y0f32x (_Float32x) throw ();
> 28468: extern _Float32x y1f32x (_Float32x) throw (); extern _Float32x __y1f32x (_Float32x) throw ();
> 28468: extern _Float32x ynf32x (int, _Float32x) throw (); extern _Float32x __ynf32x (int, _Float32x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x erff32x (_Float32x) throw (); extern _Float32x __erff32x (_Float32x) throw ();
> 28468: extern _Float32x erfcf32x (_Float32x) throw (); extern _Float32x __erfcf32x (_Float32x) throw ();
> 28468: extern _Float32x lgammaf32x (_Float32x) throw (); extern _Float32x __lgammaf32x (_Float32x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x tgammaf32x (_Float32x) throw (); extern _Float32x __tgammaf32x (_Float32x) throw ();
> 28468: # 249 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float32x lgammaf32x_r (_Float32x, int *__signgamp) throw (); extern _Float32x __lgammaf32x_r (_Float32x, int *__signgamp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x rintf32x (_Float32x __x) throw (); extern _Float32x __rintf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x nextafterf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __nextafterf32x (_Float32x __x, _Float32x __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x nextdownf32x (_Float32x __x) throw (); extern _Float32x __nextdownf32x (_Float32x __x) throw ();
> 28468: 
> 28468: extern _Float32x nextupf32x (_Float32x __x) throw (); extern _Float32x __nextupf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x remainderf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __remainderf32x (_Float32x __x, _Float32x __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x scalbnf32x (_Float32x __x, int __n) throw (); extern _Float32x __scalbnf32x (_Float32x __x, int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ilogbf32x (_Float32x __x) throw (); extern int __ilogbf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int llogbf32x (_Float32x __x) throw (); extern long int __llogbf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x scalblnf32x (_Float32x __x, long int __n) throw (); extern _Float32x __scalblnf32x (_Float32x __x, long int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x nearbyintf32x (_Float32x __x) throw (); extern _Float32x __nearbyintf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x roundf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __roundf32x (_Float32x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x truncf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __truncf32x (_Float32x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x remquof32x (_Float32x __x, _Float32x __y, int *__quo) throw (); extern _Float32x __remquof32x (_Float32x __x, _Float32x __y, int *__quo) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lrintf32x (_Float32x __x) throw (); extern long int __lrintf32x (_Float32x __x) throw ();
> 28468: __extension__
> 28468: extern long long int llrintf32x (_Float32x __x) throw (); extern long long int __llrintf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lroundf32x (_Float32x __x) throw (); extern long int __lroundf32x (_Float32x __x) throw ();
> 28468: __extension__
> 28468: extern long long int llroundf32x (_Float32x __x) throw (); extern long long int __llroundf32x (_Float32x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x fdimf32x (_Float32x __x, _Float32x __y) throw (); extern _Float32x __fdimf32x (_Float32x __x, _Float32x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x fmaxf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaxf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32x fminf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32x fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) throw (); extern _Float32x __fmaf32x (_Float32x __x, _Float32x __y, _Float32x __z) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float32x roundevenf32x (_Float32x __x) throw () __attribute__ ((__const__)); extern _Float32x __roundevenf32x (_Float32x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf32x (_Float32x __x, int __round, unsigned int __width) throw ()
> 28468:                             ;
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf32x (_Float32x __x, int __round, unsigned int __width) throw ()
> 28468:                               ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw ()
> 28468:                              ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf32x (_Float32x __x, int __round, unsigned int __width) throw ()
> 28468:                                ;
> 28468: 
> 28468: 
> 28468: extern _Float32x fmaxmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fmaxmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float32x fminmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__)); extern _Float32x __fminmagf32x (_Float32x __x, _Float32x __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalorderf32x (_Float32x __x, _Float32x __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalordermagf32x (_Float32x __x, _Float32x __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int canonicalizef32x (_Float32x *__cx, const _Float32x *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x getpayloadf32x (const _Float32x *__x) throw (); extern _Float32x __getpayloadf32x (const _Float32x *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadf32x (_Float32x *__x, _Float32x __payload) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadsigf32x (_Float32x *__x, _Float32x __payload) throw ();
> 28468: # 441 "/usr/include/math.h" 2 3 4
> 28468: # 457 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 1 3 4
> 28468: # 53 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float64x acosf64x (_Float64x __x) throw (); extern _Float64x __acosf64x (_Float64x __x) throw ();
> 28468: 
> 28468: extern _Float64x asinf64x (_Float64x __x) throw (); extern _Float64x __asinf64x (_Float64x __x) throw ();
> 28468: 
> 28468: extern _Float64x atanf64x (_Float64x __x) throw (); extern _Float64x __atanf64x (_Float64x __x) throw ();
> 28468: 
> 28468: extern _Float64x atan2f64x (_Float64x __y, _Float64x __x) throw (); extern _Float64x __atan2f64x (_Float64x __y, _Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468:  extern _Float64x cosf64x (_Float64x __x) throw (); extern _Float64x __cosf64x (_Float64x __x) throw ();
> 28468: 
> 28468:  extern _Float64x sinf64x (_Float64x __x) throw (); extern _Float64x __sinf64x (_Float64x __x) throw ();
> 28468: 
> 28468: extern _Float64x tanf64x (_Float64x __x) throw (); extern _Float64x __tanf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x coshf64x (_Float64x __x) throw (); extern _Float64x __coshf64x (_Float64x __x) throw ();
> 28468: 
> 28468: extern _Float64x sinhf64x (_Float64x __x) throw (); extern _Float64x __sinhf64x (_Float64x __x) throw ();
> 28468: 
> 28468: extern _Float64x tanhf64x (_Float64x __x) throw (); extern _Float64x __tanhf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern void sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) throw (); extern void __sincosf64x (_Float64x __x, _Float64x *__sinx, _Float64x *__cosx) throw ()
> 28468:                                                         ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x acoshf64x (_Float64x __x) throw (); extern _Float64x __acoshf64x (_Float64x __x) throw ();
> 28468: 
> 28468: extern _Float64x asinhf64x (_Float64x __x) throw (); extern _Float64x __asinhf64x (_Float64x __x) throw ();
> 28468: 
> 28468: extern _Float64x atanhf64x (_Float64x __x) throw (); extern _Float64x __atanhf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern _Float64x expf64x (_Float64x __x) throw (); extern _Float64x __expf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x frexpf64x (_Float64x __x, int *__exponent) throw (); extern _Float64x __frexpf64x (_Float64x __x, int *__exponent) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x ldexpf64x (_Float64x __x, int __exponent) throw (); extern _Float64x __ldexpf64x (_Float64x __x, int __exponent) throw ();
> 28468: 
> 28468: 
> 28468:  extern _Float64x logf64x (_Float64x __x) throw (); extern _Float64x __logf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x log10f64x (_Float64x __x) throw (); extern _Float64x __log10f64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x modff64x (_Float64x __x, _Float64x *__iptr) throw (); extern _Float64x __modff64x (_Float64x __x, _Float64x *__iptr) throw () __attribute__ ((__nonnull__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x exp10f64x (_Float64x __x) throw (); extern _Float64x __exp10f64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x expm1f64x (_Float64x __x) throw (); extern _Float64x __expm1f64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x log1pf64x (_Float64x __x) throw (); extern _Float64x __log1pf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x logbf64x (_Float64x __x) throw (); extern _Float64x __logbf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x exp2f64x (_Float64x __x) throw (); extern _Float64x __exp2f64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x log2f64x (_Float64x __x) throw (); extern _Float64x __log2f64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  extern _Float64x powf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __powf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x sqrtf64x (_Float64x __x) throw (); extern _Float64x __sqrtf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x hypotf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __hypotf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x cbrtf64x (_Float64x __x) throw (); extern _Float64x __cbrtf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x ceilf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __ceilf64x (_Float64x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64x fabsf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __fabsf64x (_Float64x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64x floorf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __floorf64x (_Float64x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64x fmodf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __fmodf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: # 196 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float64x copysignf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __copysignf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x nanf64x (const char *__tagb) throw (); extern _Float64x __nanf64x (const char *__tagb) throw ();
> 28468: # 217 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float64x j0f64x (_Float64x) throw (); extern _Float64x __j0f64x (_Float64x) throw ();
> 28468: extern _Float64x j1f64x (_Float64x) throw (); extern _Float64x __j1f64x (_Float64x) throw ();
> 28468: extern _Float64x jnf64x (int, _Float64x) throw (); extern _Float64x __jnf64x (int, _Float64x) throw ();
> 28468: extern _Float64x y0f64x (_Float64x) throw (); extern _Float64x __y0f64x (_Float64x) throw ();
> 28468: extern _Float64x y1f64x (_Float64x) throw (); extern _Float64x __y1f64x (_Float64x) throw ();
> 28468: extern _Float64x ynf64x (int, _Float64x) throw (); extern _Float64x __ynf64x (int, _Float64x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x erff64x (_Float64x) throw (); extern _Float64x __erff64x (_Float64x) throw ();
> 28468: extern _Float64x erfcf64x (_Float64x) throw (); extern _Float64x __erfcf64x (_Float64x) throw ();
> 28468: extern _Float64x lgammaf64x (_Float64x) throw (); extern _Float64x __lgammaf64x (_Float64x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x tgammaf64x (_Float64x) throw (); extern _Float64x __tgammaf64x (_Float64x) throw ();
> 28468: # 249 "/usr/include/x86_64-linux-gnu/bits/mathcalls.h" 3 4
> 28468: extern _Float64x lgammaf64x_r (_Float64x, int *__signgamp) throw (); extern _Float64x __lgammaf64x_r (_Float64x, int *__signgamp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x rintf64x (_Float64x __x) throw (); extern _Float64x __rintf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x nextafterf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __nextafterf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x nextdownf64x (_Float64x __x) throw (); extern _Float64x __nextdownf64x (_Float64x __x) throw ();
> 28468: 
> 28468: extern _Float64x nextupf64x (_Float64x __x) throw (); extern _Float64x __nextupf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x remainderf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __remainderf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x scalbnf64x (_Float64x __x, int __n) throw (); extern _Float64x __scalbnf64x (_Float64x __x, int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int ilogbf64x (_Float64x __x) throw (); extern int __ilogbf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int llogbf64x (_Float64x __x) throw (); extern long int __llogbf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x scalblnf64x (_Float64x __x, long int __n) throw (); extern _Float64x __scalblnf64x (_Float64x __x, long int __n) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x nearbyintf64x (_Float64x __x) throw (); extern _Float64x __nearbyintf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x roundf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __roundf64x (_Float64x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x truncf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __truncf64x (_Float64x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x remquof64x (_Float64x __x, _Float64x __y, int *__quo) throw (); extern _Float64x __remquof64x (_Float64x __x, _Float64x __y, int *__quo) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lrintf64x (_Float64x __x) throw (); extern long int __lrintf64x (_Float64x __x) throw ();
> 28468: __extension__
> 28468: extern long long int llrintf64x (_Float64x __x) throw (); extern long long int __llrintf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern long int lroundf64x (_Float64x __x) throw (); extern long int __lroundf64x (_Float64x __x) throw ();
> 28468: __extension__
> 28468: extern long long int llroundf64x (_Float64x __x) throw (); extern long long int __llroundf64x (_Float64x __x) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x fdimf64x (_Float64x __x, _Float64x __y) throw (); extern _Float64x __fdimf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x fmaxf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fmaxf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64x fminf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fminf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64x fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) throw (); extern _Float64x __fmaf64x (_Float64x __x, _Float64x __y, _Float64x __z) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern _Float64x roundevenf64x (_Float64x __x) throw () __attribute__ ((__const__)); extern _Float64x __roundevenf64x (_Float64x __x) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpf64x (_Float64x __x, int __round, unsigned int __width) throw ()
> 28468:                             ;
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpf64x (_Float64x __x, int __round, unsigned int __width) throw ()
> 28468:                               ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __intmax_t fromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __intmax_t __fromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw ()
> 28468:                              ;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern __uintmax_t ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw (); extern __uintmax_t __ufromfpxf64x (_Float64x __x, int __round, unsigned int __width) throw ()
> 28468:                                ;
> 28468: 
> 28468: 
> 28468: extern _Float64x fmaxmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fmaxmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern _Float64x fminmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__)); extern _Float64x __fminmagf64x (_Float64x __x, _Float64x __y) throw () __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalorderf64x (_Float64x __x, _Float64x __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int totalordermagf64x (_Float64x __x, _Float64x __y) throw ()
> 28468:      __attribute__ ((__const__));
> 28468: 
> 28468: 
> 28468: extern int canonicalizef64x (_Float64x *__cx, const _Float64x *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x getpayloadf64x (const _Float64x *__x) throw (); extern _Float64x __getpayloadf64x (const _Float64x *__x) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadf64x (_Float64x *__x, _Float64x __payload) throw ();
> 28468: 
> 28468: 
> 28468: extern int setpayloadsigf64x (_Float64x *__x, _Float64x __payload) throw ();
> 28468: # 458 "/usr/include/math.h" 2 3 4
> 28468: # 503 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern float fadd (double __x, double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern float fdiv (double __x, double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern float fmul (double __x, double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern float fsub (double __x, double __y) throw ();
> 28468: # 504 "/usr/include/math.h" 2 3 4
> 28468: # 517 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern float faddl (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern float fdivl (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern float fmull (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern float fsubl (long double __x, long double __y) throw ();
> 28468: # 518 "/usr/include/math.h" 2 3 4
> 28468: # 537 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern double daddl (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern double ddivl (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern double dmull (long double __x, long double __y) throw ();
> 28468: 
> 28468: 
> 28468: extern double dsubl (long double __x, long double __y) throw ();
> 28468: # 538 "/usr/include/math.h" 2 3 4
> 28468: # 616 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern _Float32 f32addf32x (_Float32x __x, _Float32x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32divf32x (_Float32x __x, _Float32x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32mulf32x (_Float32x __x, _Float32x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32subf32x (_Float32x __x, _Float32x __y) throw ();
> 28468: # 617 "/usr/include/math.h" 2 3 4
> 28468: # 626 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern _Float32 f32addf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32divf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32mulf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32subf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: # 627 "/usr/include/math.h" 2 3 4
> 28468: # 636 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern _Float32 f32addf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32divf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32mulf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32subf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: # 637 "/usr/include/math.h" 2 3 4
> 28468: # 646 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern _Float32 f32addf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32divf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32mulf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32 f32subf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: # 647 "/usr/include/math.h" 2 3 4
> 28468: # 666 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern _Float32x f32xaddf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x f32xdivf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x f32xmulf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x f32xsubf64 (_Float64 __x, _Float64 __y) throw ();
> 28468: # 667 "/usr/include/math.h" 2 3 4
> 28468: # 676 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern _Float32x f32xaddf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x f32xdivf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x f32xmulf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x f32xsubf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: # 677 "/usr/include/math.h" 2 3 4
> 28468: # 686 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern _Float32x f32xaddf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x f32xdivf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x f32xmulf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float32x f32xsubf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: # 687 "/usr/include/math.h" 2 3 4
> 28468: # 706 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern _Float64 f64addf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 f64divf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 f64mulf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 f64subf64x (_Float64x __x, _Float64x __y) throw ();
> 28468: # 707 "/usr/include/math.h" 2 3 4
> 28468: # 716 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern _Float64 f64addf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 f64divf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 f64mulf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64 f64subf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: # 717 "/usr/include/math.h" 2 3 4
> 28468: # 736 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 1 3 4
> 28468: # 24 "/usr/include/x86_64-linux-gnu/bits/mathcalls-narrow.h" 3 4
> 28468: extern _Float64x f64xaddf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x f64xdivf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x f64xmulf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: 
> 28468: 
> 28468: extern _Float64x f64xsubf128 (_Float128 __x, _Float128 __y) throw ();
> 28468: # 737 "/usr/include/math.h" 2 3 4
> 28468: # 773 "/usr/include/math.h" 3 4
> 28468: extern int signgam;
> 28468: # 853 "/usr/include/math.h" 3 4
> 28468: enum
> 28468:   {
> 28468:     FP_NAN =
> 28468: 
> 28468:       0,
> 28468:     FP_INFINITE =
> 28468: 
> 28468:       1,
> 28468:     FP_ZERO =
> 28468: 
> 28468:       2,
> 28468:     FP_SUBNORMAL =
> 28468: 
> 28468:       3,
> 28468:     FP_NORMAL =
> 28468: 
> 28468:       4
> 28468:   };
> 28468: # 968 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/iscanonical.h" 1 3 4
> 28468: # 23 "/usr/include/x86_64-linux-gnu/bits/iscanonical.h" 3 4
> 28468: extern int __iscanonicall (long double __x)
> 28468:      throw () __attribute__ ((__const__));
> 28468: # 46 "/usr/include/x86_64-linux-gnu/bits/iscanonical.h" 3 4
> 28468: extern "C++" {
> 28468: inline int iscanonical (float __val) { return ((void) (__typeof (__val)) (__val), 1); }
> 28468: inline int iscanonical (double __val) { return ((void) (__typeof (__val)) (__val), 1); }
> 28468: inline int iscanonical (long double __val) { return __iscanonicall (__val); }
> 28468: 
> 28468: inline int iscanonical (_Float128 __val) { return ((void) (__typeof (__val)) (__val), 1); }
> 28468: 
> 28468: }
> 28468: # 969 "/usr/include/math.h" 2 3 4
> 28468: # 980 "/usr/include/math.h" 3 4
> 28468: extern "C++" {
> 28468: inline int issignaling (float __val) { return __issignalingf (__val); }
> 28468: inline int issignaling (double __val) { return __issignaling (__val); }
> 28468: inline int
> 28468: issignaling (long double __val)
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   return __issignalingl (__val);
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: inline int issignaling (_Float128 __val) { return __issignalingf128 (__val); }
> 28468: 
> 28468: }
> 28468: # 1011 "/usr/include/math.h" 3 4
> 28468: extern "C++" {
> 28468: # 1042 "/usr/include/math.h" 3 4
> 28468: template <class __T> inline bool
> 28468: iszero (__T __val)
> 28468: {
> 28468:   return __val == 0;
> 28468: }
> 28468: 
> 28468: }
> 28468: # 1240 "/usr/include/math.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/mathinline.h" 1 3 4
> 28468: # 1241 "/usr/include/math.h" 2 3 4
> 28468: # 1493 "/usr/include/math.h" 3 4
> 28468: extern "C++" {
> 28468: template<typename> struct __iseqsig_type;
> 28468: 
> 28468: template<> struct __iseqsig_type<float>
> 28468: {
> 28468:   static int __call (float __x, float __y) throw ()
> 28468:   {
> 28468:     return __iseqsigf (__x, __y);
> 28468:   }
> 28468: };
> 28468: 
> 28468: template<> struct __iseqsig_type<double>
> 28468: {
> 28468:   static int __call (double __x, double __y) throw ()
> 28468:   {
> 28468:     return __iseqsig (__x, __y);
> 28468:   }
> 28468: };
> 28468: 
> 28468: template<> struct __iseqsig_type<long double>
> 28468: {
> 28468:   static int __call (long double __x, long double __y) throw ()
> 28468:   {
> 28468: 
> 28468:     return __iseqsigl (__x, __y);
> 28468: 
> 28468: 
> 28468: 
> 28468:   }
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: template<> struct __iseqsig_type<_Float128>
> 28468: {
> 28468:   static int __call (_Float128 __x, _Float128 __y) throw ()
> 28468:   {
> 28468:     return __iseqsigf128 (__x, __y);
> 28468:   }
> 28468: };
> 28468: 
> 28468: 
> 28468: template<typename _T1, typename _T2>
> 28468: inline int
> 28468: iseqsig (_T1 __x, _T2 __y) throw ()
> 28468: {
> 28468: 
> 28468:   typedef decltype (((__x) + (__y) + 0.0f)) _T3;
> 28468: 
> 28468: 
> 28468: 
> 28468:   return __iseqsig_type<_T3>::__call (__x, __y);
> 28468: }
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 46 "/usr/include/c++/9/cmath" 2 3
> 28468: # 77 "/usr/include/c++/9/cmath" 3
> 28468: extern "C++"
> 28468: {
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   using ::acos;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   acos(float __x)
> 28468:   { return __builtin_acosf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   acos(long double __x)
> 28468:   { return __builtin_acosl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     acos(_Tp __x)
> 28468:     { return __builtin_acos(__x); }
> 28468: 
> 28468:   using ::asin;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   asin(float __x)
> 28468:   { return __builtin_asinf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   asin(long double __x)
> 28468:   { return __builtin_asinl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     asin(_Tp __x)
> 28468:     { return __builtin_asin(__x); }
> 28468: 
> 28468:   using ::atan;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   atan(float __x)
> 28468:   { return __builtin_atanf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   atan(long double __x)
> 28468:   { return __builtin_atanl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     atan(_Tp __x)
> 28468:     { return __builtin_atan(__x); }
> 28468: 
> 28468:   using ::atan2;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   atan2(float __y, float __x)
> 28468:   { return __builtin_atan2f(__y, __x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   atan2(long double __y, long double __x)
> 28468:   { return __builtin_atan2l(__y, __x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
> 28468:     atan2(_Tp __y, _Up __x)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return atan2(__type(__y), __type(__x));
> 28468:     }
> 28468: 
> 28468:   using ::ceil;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   ceil(float __x)
> 28468:   { return __builtin_ceilf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   ceil(long double __x)
> 28468:   { return __builtin_ceill(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     ceil(_Tp __x)
> 28468:     { return __builtin_ceil(__x); }
> 28468: 
> 28468:   using ::cos;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   cos(float __x)
> 28468:   { return __builtin_cosf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   cos(long double __x)
> 28468:   { return __builtin_cosl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     cos(_Tp __x)
> 28468:     { return __builtin_cos(__x); }
> 28468: 
> 28468:   using ::cosh;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   cosh(float __x)
> 28468:   { return __builtin_coshf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   cosh(long double __x)
> 28468:   { return __builtin_coshl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     cosh(_Tp __x)
> 28468:     { return __builtin_cosh(__x); }
> 28468: 
> 28468:   using ::exp;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   exp(float __x)
> 28468:   { return __builtin_expf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   exp(long double __x)
> 28468:   { return __builtin_expl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     exp(_Tp __x)
> 28468:     { return __builtin_exp(__x); }
> 28468: 
> 28468:   using ::fabs;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   fabs(float __x)
> 28468:   { return __builtin_fabsf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   fabs(long double __x)
> 28468:   { return __builtin_fabsl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     fabs(_Tp __x)
> 28468:     { return __builtin_fabs(__x); }
> 28468: 
> 28468:   using ::floor;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   floor(float __x)
> 28468:   { return __builtin_floorf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   floor(long double __x)
> 28468:   { return __builtin_floorl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     floor(_Tp __x)
> 28468:     { return __builtin_floor(__x); }
> 28468: 
> 28468:   using ::fmod;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   fmod(float __x, float __y)
> 28468:   { return __builtin_fmodf(__x, __y); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   fmod(long double __x, long double __y)
> 28468:   { return __builtin_fmodl(__x, __y); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
> 28468:     fmod(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return fmod(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468:   using ::frexp;
> 28468: 
> 28468: 
> 28468:   inline float
> 28468:   frexp(float __x, int* __exp)
> 28468:   { return __builtin_frexpf(__x, __exp); }
> 28468: 
> 28468:   inline long double
> 28468:   frexp(long double __x, int* __exp)
> 28468:   { return __builtin_frexpl(__x, __exp); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     frexp(_Tp __x, int* __exp)
> 28468:     { return __builtin_frexp(__x, __exp); }
> 28468: 
> 28468:   using ::ldexp;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   ldexp(float __x, int __exp)
> 28468:   { return __builtin_ldexpf(__x, __exp); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   ldexp(long double __x, int __exp)
> 28468:   { return __builtin_ldexpl(__x, __exp); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     ldexp(_Tp __x, int __exp)
> 28468:     { return __builtin_ldexp(__x, __exp); }
> 28468: 
> 28468:   using ::log;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   log(float __x)
> 28468:   { return __builtin_logf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   log(long double __x)
> 28468:   { return __builtin_logl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     log(_Tp __x)
> 28468:     { return __builtin_log(__x); }
> 28468: 
> 28468:   using ::log10;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   log10(float __x)
> 28468:   { return __builtin_log10f(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   log10(long double __x)
> 28468:   { return __builtin_log10l(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     log10(_Tp __x)
> 28468:     { return __builtin_log10(__x); }
> 28468: 
> 28468:   using ::modf;
> 28468: 
> 28468: 
> 28468:   inline float
> 28468:   modf(float __x, float* __iptr)
> 28468:   { return __builtin_modff(__x, __iptr); }
> 28468: 
> 28468:   inline long double
> 28468:   modf(long double __x, long double* __iptr)
> 28468:   { return __builtin_modfl(__x, __iptr); }
> 28468: 
> 28468: 
> 28468:   using ::pow;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   pow(float __x, float __y)
> 28468:   { return __builtin_powf(__x, __y); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   pow(long double __x, long double __y)
> 28468:   { return __builtin_powl(__x, __y); }
> 28468: # 412 "/usr/include/c++/9/cmath" 3
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
> 28468:     pow(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return pow(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468:   using ::sin;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   sin(float __x)
> 28468:   { return __builtin_sinf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   sin(long double __x)
> 28468:   { return __builtin_sinl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     sin(_Tp __x)
> 28468:     { return __builtin_sin(__x); }
> 28468: 
> 28468:   using ::sinh;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   sinh(float __x)
> 28468:   { return __builtin_sinhf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   sinh(long double __x)
> 28468:   { return __builtin_sinhl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     sinh(_Tp __x)
> 28468:     { return __builtin_sinh(__x); }
> 28468: 
> 28468:   using ::sqrt;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   sqrt(float __x)
> 28468:   { return __builtin_sqrtf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   sqrt(long double __x)
> 28468:   { return __builtin_sqrtl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     sqrt(_Tp __x)
> 28468:     { return __builtin_sqrt(__x); }
> 28468: 
> 28468:   using ::tan;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   tan(float __x)
> 28468:   { return __builtin_tanf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   tan(long double __x)
> 28468:   { return __builtin_tanl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     tan(_Tp __x)
> 28468:     { return __builtin_tan(__x); }
> 28468: 
> 28468:   using ::tanh;
> 28468: 
> 28468: 
> 28468:   inline constexpr float
> 28468:   tanh(float __x)
> 28468:   { return __builtin_tanhf(__x); }
> 28468: 
> 28468:   inline constexpr long double
> 28468:   tanh(long double __x)
> 28468:   { return __builtin_tanhl(__x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     double>::__type
> 28468:     tanh(_Tp __x)
> 28468:     { return __builtin_tanh(__x); }
> 28468: # 536 "/usr/include/c++/9/cmath" 3
> 28468:   constexpr int
> 28468:   fpclassify(float __x)
> 28468:   { return __builtin_fpclassify(0, 1, 4,
> 28468:     3, 2, __x); }
> 28468: 
> 28468:   constexpr int
> 28468:   fpclassify(double __x)
> 28468:   { return __builtin_fpclassify(0, 1, 4,
> 28468:     3, 2, __x); }
> 28468: 
> 28468:   constexpr int
> 28468:   fpclassify(long double __x)
> 28468:   { return __builtin_fpclassify(0, 1, 4,
> 28468:     3, 2, __x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               int>::__type
> 28468:     fpclassify(_Tp __x)
> 28468:     { return __x != 0 ? 4 : 2; }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isfinite(float __x)
> 28468:   { return __builtin_isfinite(__x); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isfinite(double __x)
> 28468:   { return __builtin_isfinite(__x); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isfinite(long double __x)
> 28468:   { return __builtin_isfinite(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               bool>::__type
> 28468:     isfinite(_Tp __x)
> 28468:     { return true; }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isinf(float __x)
> 28468:   { return __builtin_isinf(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isinf(double __x)
> 28468:   { return __builtin_isinf(__x); }
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isinf(long double __x)
> 28468:   { return __builtin_isinf(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               bool>::__type
> 28468:     isinf(_Tp __x)
> 28468:     { return false; }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isnan(float __x)
> 28468:   { return __builtin_isnan(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isnan(double __x)
> 28468:   { return __builtin_isnan(__x); }
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isnan(long double __x)
> 28468:   { return __builtin_isnan(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               bool>::__type
> 28468:     isnan(_Tp __x)
> 28468:     { return false; }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isnormal(float __x)
> 28468:   { return __builtin_isnormal(__x); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isnormal(double __x)
> 28468:   { return __builtin_isnormal(__x); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isnormal(long double __x)
> 28468:   { return __builtin_isnormal(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               bool>::__type
> 28468:     isnormal(_Tp __x)
> 28468:     { return __x != 0 ? true : false; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   signbit(float __x)
> 28468:   { return __builtin_signbit(__x); }
> 28468: 
> 28468:   constexpr bool
> 28468:   signbit(double __x)
> 28468:   { return __builtin_signbit(__x); }
> 28468: 
> 28468:   constexpr bool
> 28468:   signbit(long double __x)
> 28468:   { return __builtin_signbit(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               bool>::__type
> 28468:     signbit(_Tp __x)
> 28468:     { return __x < 0 ? true : false; }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isgreater(float __x, float __y)
> 28468:   { return __builtin_isgreater(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isgreater(double __x, double __y)
> 28468:   { return __builtin_isgreater(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isgreater(long double __x, long double __y)
> 28468:   { return __builtin_isgreater(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename
> 28468:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
> 28468:        && __is_arithmetic<_Up>::__value), bool>::__type
> 28468:     isgreater(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return __builtin_isgreater(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isgreaterequal(float __x, float __y)
> 28468:   { return __builtin_isgreaterequal(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isgreaterequal(double __x, double __y)
> 28468:   { return __builtin_isgreaterequal(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isgreaterequal(long double __x, long double __y)
> 28468:   { return __builtin_isgreaterequal(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename
> 28468:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
> 28468:        && __is_arithmetic<_Up>::__value), bool>::__type
> 28468:     isgreaterequal(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return __builtin_isgreaterequal(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isless(float __x, float __y)
> 28468:   { return __builtin_isless(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isless(double __x, double __y)
> 28468:   { return __builtin_isless(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isless(long double __x, long double __y)
> 28468:   { return __builtin_isless(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename
> 28468:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
> 28468:        && __is_arithmetic<_Up>::__value), bool>::__type
> 28468:     isless(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return __builtin_isless(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   islessequal(float __x, float __y)
> 28468:   { return __builtin_islessequal(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   islessequal(double __x, double __y)
> 28468:   { return __builtin_islessequal(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   islessequal(long double __x, long double __y)
> 28468:   { return __builtin_islessequal(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename
> 28468:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
> 28468:        && __is_arithmetic<_Up>::__value), bool>::__type
> 28468:     islessequal(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return __builtin_islessequal(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   islessgreater(float __x, float __y)
> 28468:   { return __builtin_islessgreater(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   islessgreater(double __x, double __y)
> 28468:   { return __builtin_islessgreater(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   islessgreater(long double __x, long double __y)
> 28468:   { return __builtin_islessgreater(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename
> 28468:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
> 28468:        && __is_arithmetic<_Up>::__value), bool>::__type
> 28468:     islessgreater(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return __builtin_islessgreater(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr bool
> 28468:   isunordered(float __x, float __y)
> 28468:   { return __builtin_isunordered(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isunordered(double __x, double __y)
> 28468:   { return __builtin_isunordered(__x, __y); }
> 28468: 
> 28468:   constexpr bool
> 28468:   isunordered(long double __x, long double __y)
> 28468:   { return __builtin_isunordered(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename
> 28468:     __gnu_cxx::__enable_if<(__is_arithmetic<_Tp>::__value
> 28468:        && __is_arithmetic<_Up>::__value), bool>::__type
> 28468:     isunordered(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return __builtin_isunordered(__type(__x), __type(__y));
> 28468:     }
> 28468: # 1065 "/usr/include/c++/9/cmath" 3
> 28468:   using ::double_t;
> 28468:   using ::float_t;
> 28468: 
> 28468: 
> 28468:   using ::acosh;
> 28468:   using ::acoshf;
> 28468:   using ::acoshl;
> 28468: 
> 28468:   using ::asinh;
> 28468:   using ::asinhf;
> 28468:   using ::asinhl;
> 28468: 
> 28468:   using ::atanh;
> 28468:   using ::atanhf;
> 28468:   using ::atanhl;
> 28468: 
> 28468:   using ::cbrt;
> 28468:   using ::cbrtf;
> 28468:   using ::cbrtl;
> 28468: 
> 28468:   using ::copysign;
> 28468:   using ::copysignf;
> 28468:   using ::copysignl;
> 28468: 
> 28468:   using ::erf;
> 28468:   using ::erff;
> 28468:   using ::erfl;
> 28468: 
> 28468:   using ::erfc;
> 28468:   using ::erfcf;
> 28468:   using ::erfcl;
> 28468: 
> 28468:   using ::exp2;
> 28468:   using ::exp2f;
> 28468:   using ::exp2l;
> 28468: 
> 28468:   using ::expm1;
> 28468:   using ::expm1f;
> 28468:   using ::expm1l;
> 28468: 
> 28468:   using ::fdim;
> 28468:   using ::fdimf;
> 28468:   using ::fdiml;
> 28468: 
> 28468:   using ::fma;
> 28468:   using ::fmaf;
> 28468:   using ::fmal;
> 28468: 
> 28468:   using ::fmax;
> 28468:   using ::fmaxf;
> 28468:   using ::fmaxl;
> 28468: 
> 28468:   using ::fmin;
> 28468:   using ::fminf;
> 28468:   using ::fminl;
> 28468: 
> 28468:   using ::hypot;
> 28468:   using ::hypotf;
> 28468:   using ::hypotl;
> 28468: 
> 28468:   using ::ilogb;
> 28468:   using ::ilogbf;
> 28468:   using ::ilogbl;
> 28468: 
> 28468:   using ::lgamma;
> 28468:   using ::lgammaf;
> 28468:   using ::lgammal;
> 28468: 
> 28468: 
> 28468:   using ::llrint;
> 28468:   using ::llrintf;
> 28468:   using ::llrintl;
> 28468: 
> 28468:   using ::llround;
> 28468:   using ::llroundf;
> 28468:   using ::llroundl;
> 28468: 
> 28468: 
> 28468:   using ::log1p;
> 28468:   using ::log1pf;
> 28468:   using ::log1pl;
> 28468: 
> 28468:   using ::log2;
> 28468:   using ::log2f;
> 28468:   using ::log2l;
> 28468: 
> 28468:   using ::logb;
> 28468:   using ::logbf;
> 28468:   using ::logbl;
> 28468: 
> 28468:   using ::lrint;
> 28468:   using ::lrintf;
> 28468:   using ::lrintl;
> 28468: 
> 28468:   using ::lround;
> 28468:   using ::lroundf;
> 28468:   using ::lroundl;
> 28468: 
> 28468:   using ::nan;
> 28468:   using ::nanf;
> 28468:   using ::nanl;
> 28468: 
> 28468:   using ::nearbyint;
> 28468:   using ::nearbyintf;
> 28468:   using ::nearbyintl;
> 28468: 
> 28468:   using ::nextafter;
> 28468:   using ::nextafterf;
> 28468:   using ::nextafterl;
> 28468: 
> 28468:   using ::nexttoward;
> 28468:   using ::nexttowardf;
> 28468:   using ::nexttowardl;
> 28468: 
> 28468:   using ::remainder;
> 28468:   using ::remainderf;
> 28468:   using ::remainderl;
> 28468: 
> 28468:   using ::remquo;
> 28468:   using ::remquof;
> 28468:   using ::remquol;
> 28468: 
> 28468:   using ::rint;
> 28468:   using ::rintf;
> 28468:   using ::rintl;
> 28468: 
> 28468:   using ::round;
> 28468:   using ::roundf;
> 28468:   using ::roundl;
> 28468: 
> 28468:   using ::scalbln;
> 28468:   using ::scalblnf;
> 28468:   using ::scalblnl;
> 28468: 
> 28468:   using ::scalbn;
> 28468:   using ::scalbnf;
> 28468:   using ::scalbnl;
> 28468: 
> 28468:   using ::tgamma;
> 28468:   using ::tgammaf;
> 28468:   using ::tgammal;
> 28468: 
> 28468:   using ::trunc;
> 28468:   using ::truncf;
> 28468:   using ::truncl;
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   acosh(float __x)
> 28468:   { return __builtin_acoshf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   acosh(long double __x)
> 28468:   { return __builtin_acoshl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     acosh(_Tp __x)
> 28468:     { return __builtin_acosh(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   asinh(float __x)
> 28468:   { return __builtin_asinhf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   asinh(long double __x)
> 28468:   { return __builtin_asinhl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     asinh(_Tp __x)
> 28468:     { return __builtin_asinh(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   atanh(float __x)
> 28468:   { return __builtin_atanhf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   atanh(long double __x)
> 28468:   { return __builtin_atanhl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     atanh(_Tp __x)
> 28468:     { return __builtin_atanh(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   cbrt(float __x)
> 28468:   { return __builtin_cbrtf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   cbrt(long double __x)
> 28468:   { return __builtin_cbrtl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     cbrt(_Tp __x)
> 28468:     { return __builtin_cbrt(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   copysign(float __x, float __y)
> 28468:   { return __builtin_copysignf(__x, __y); }
> 28468: 
> 28468:   constexpr long double
> 28468:   copysign(long double __x, long double __y)
> 28468:   { return __builtin_copysignl(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
> 28468:     copysign(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return copysign(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   erf(float __x)
> 28468:   { return __builtin_erff(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   erf(long double __x)
> 28468:   { return __builtin_erfl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     erf(_Tp __x)
> 28468:     { return __builtin_erf(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   erfc(float __x)
> 28468:   { return __builtin_erfcf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   erfc(long double __x)
> 28468:   { return __builtin_erfcl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     erfc(_Tp __x)
> 28468:     { return __builtin_erfc(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   exp2(float __x)
> 28468:   { return __builtin_exp2f(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   exp2(long double __x)
> 28468:   { return __builtin_exp2l(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     exp2(_Tp __x)
> 28468:     { return __builtin_exp2(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   expm1(float __x)
> 28468:   { return __builtin_expm1f(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   expm1(long double __x)
> 28468:   { return __builtin_expm1l(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     expm1(_Tp __x)
> 28468:     { return __builtin_expm1(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   fdim(float __x, float __y)
> 28468:   { return __builtin_fdimf(__x, __y); }
> 28468: 
> 28468:   constexpr long double
> 28468:   fdim(long double __x, long double __y)
> 28468:   { return __builtin_fdiml(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
> 28468:     fdim(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return fdim(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   fma(float __x, float __y, float __z)
> 28468:   { return __builtin_fmaf(__x, __y, __z); }
> 28468: 
> 28468:   constexpr long double
> 28468:   fma(long double __x, long double __y, long double __z)
> 28468:   { return __builtin_fmal(__x, __y, __z); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up, typename _Vp>
> 28468:     constexpr typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type
> 28468:     fma(_Tp __x, _Up __y, _Vp __z)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_3<_Tp, _Up, _Vp>::__type __type;
> 28468:       return fma(__type(__x), __type(__y), __type(__z));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   fmax(float __x, float __y)
> 28468:   { return __builtin_fmaxf(__x, __y); }
> 28468: 
> 28468:   constexpr long double
> 28468:   fmax(long double __x, long double __y)
> 28468:   { return __builtin_fmaxl(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
> 28468:     fmax(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return fmax(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   fmin(float __x, float __y)
> 28468:   { return __builtin_fminf(__x, __y); }
> 28468: 
> 28468:   constexpr long double
> 28468:   fmin(long double __x, long double __y)
> 28468:   { return __builtin_fminl(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
> 28468:     fmin(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return fmin(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   hypot(float __x, float __y)
> 28468:   { return __builtin_hypotf(__x, __y); }
> 28468: 
> 28468:   constexpr long double
> 28468:   hypot(long double __x, long double __y)
> 28468:   { return __builtin_hypotl(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
> 28468:     hypot(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return hypot(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr int
> 28468:   ilogb(float __x)
> 28468:   { return __builtin_ilogbf(__x); }
> 28468: 
> 28468:   constexpr int
> 28468:   ilogb(long double __x)
> 28468:   { return __builtin_ilogbl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr
> 28468:     typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                     int>::__type
> 28468:     ilogb(_Tp __x)
> 28468:     { return __builtin_ilogb(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   lgamma(float __x)
> 28468:   { return __builtin_lgammaf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   lgamma(long double __x)
> 28468:   { return __builtin_lgammal(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     lgamma(_Tp __x)
> 28468:     { return __builtin_lgamma(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr long long
> 28468:   llrint(float __x)
> 28468:   { return __builtin_llrintf(__x); }
> 28468: 
> 28468:   constexpr long long
> 28468:   llrint(long double __x)
> 28468:   { return __builtin_llrintl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               long long>::__type
> 28468:     llrint(_Tp __x)
> 28468:     { return __builtin_llrint(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr long long
> 28468:   llround(float __x)
> 28468:   { return __builtin_llroundf(__x); }
> 28468: 
> 28468:   constexpr long long
> 28468:   llround(long double __x)
> 28468:   { return __builtin_llroundl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               long long>::__type
> 28468:     llround(_Tp __x)
> 28468:     { return __builtin_llround(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   log1p(float __x)
> 28468:   { return __builtin_log1pf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   log1p(long double __x)
> 28468:   { return __builtin_log1pl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     log1p(_Tp __x)
> 28468:     { return __builtin_log1p(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   log2(float __x)
> 28468:   { return __builtin_log2f(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   log2(long double __x)
> 28468:   { return __builtin_log2l(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     log2(_Tp __x)
> 28468:     { return __builtin_log2(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   logb(float __x)
> 28468:   { return __builtin_logbf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   logb(long double __x)
> 28468:   { return __builtin_logbl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     logb(_Tp __x)
> 28468:     { return __builtin_logb(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr long
> 28468:   lrint(float __x)
> 28468:   { return __builtin_lrintf(__x); }
> 28468: 
> 28468:   constexpr long
> 28468:   lrint(long double __x)
> 28468:   { return __builtin_lrintl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               long>::__type
> 28468:     lrint(_Tp __x)
> 28468:     { return __builtin_lrint(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr long
> 28468:   lround(float __x)
> 28468:   { return __builtin_lroundf(__x); }
> 28468: 
> 28468:   constexpr long
> 28468:   lround(long double __x)
> 28468:   { return __builtin_lroundl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               long>::__type
> 28468:     lround(_Tp __x)
> 28468:     { return __builtin_lround(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   nearbyint(float __x)
> 28468:   { return __builtin_nearbyintf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   nearbyint(long double __x)
> 28468:   { return __builtin_nearbyintl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     nearbyint(_Tp __x)
> 28468:     { return __builtin_nearbyint(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   nextafter(float __x, float __y)
> 28468:   { return __builtin_nextafterf(__x, __y); }
> 28468: 
> 28468:   constexpr long double
> 28468:   nextafter(long double __x, long double __y)
> 28468:   { return __builtin_nextafterl(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
> 28468:     nextafter(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return nextafter(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   nexttoward(float __x, long double __y)
> 28468:   { return __builtin_nexttowardf(__x, __y); }
> 28468: 
> 28468:   constexpr long double
> 28468:   nexttoward(long double __x, long double __y)
> 28468:   { return __builtin_nexttowardl(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     nexttoward(_Tp __x, long double __y)
> 28468:     { return __builtin_nexttoward(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   remainder(float __x, float __y)
> 28468:   { return __builtin_remainderf(__x, __y); }
> 28468: 
> 28468:   constexpr long double
> 28468:   remainder(long double __x, long double __y)
> 28468:   { return __builtin_remainderl(__x, __y); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     constexpr typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
> 28468:     remainder(_Tp __x, _Up __y)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return remainder(__type(__x), __type(__y));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline float
> 28468:   remquo(float __x, float __y, int* __pquo)
> 28468:   { return __builtin_remquof(__x, __y, __pquo); }
> 28468: 
> 28468:   inline long double
> 28468:   remquo(long double __x, long double __y, int* __pquo)
> 28468:   { return __builtin_remquol(__x, __y, __pquo); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline typename __gnu_cxx::__promote_2<_Tp, _Up>::__type
> 28468:     remquo(_Tp __x, _Up __y, int* __pquo)
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__promote_2<_Tp, _Up>::__type __type;
> 28468:       return remquo(__type(__x), __type(__y), __pquo);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   rint(float __x)
> 28468:   { return __builtin_rintf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   rint(long double __x)
> 28468:   { return __builtin_rintl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     rint(_Tp __x)
> 28468:     { return __builtin_rint(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   round(float __x)
> 28468:   { return __builtin_roundf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   round(long double __x)
> 28468:   { return __builtin_roundl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     round(_Tp __x)
> 28468:     { return __builtin_round(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   scalbln(float __x, long __ex)
> 28468:   { return __builtin_scalblnf(__x, __ex); }
> 28468: 
> 28468:   constexpr long double
> 28468:   scalbln(long double __x, long __ex)
> 28468:   { return __builtin_scalblnl(__x, __ex); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     scalbln(_Tp __x, long __ex)
> 28468:     { return __builtin_scalbln(__x, __ex); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   scalbn(float __x, int __ex)
> 28468:   { return __builtin_scalbnf(__x, __ex); }
> 28468: 
> 28468:   constexpr long double
> 28468:   scalbn(long double __x, int __ex)
> 28468:   { return __builtin_scalbnl(__x, __ex); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     scalbn(_Tp __x, int __ex)
> 28468:     { return __builtin_scalbn(__x, __ex); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   tgamma(float __x)
> 28468:   { return __builtin_tgammaf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   tgamma(long double __x)
> 28468:   { return __builtin_tgammal(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     tgamma(_Tp __x)
> 28468:     { return __builtin_tgamma(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr float
> 28468:   trunc(float __x)
> 28468:   { return __builtin_truncf(__x); }
> 28468: 
> 28468:   constexpr long double
> 28468:   trunc(long double __x)
> 28468:   { return __builtin_truncl(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     constexpr typename __gnu_cxx::__enable_if<__is_integer<_Tp>::__value,
> 28468:                                               double>::__type
> 28468:     trunc(_Tp __x)
> 28468:     { return __builtin_trunc(__x); }
> 28468: # 1923 "/usr/include/c++/9/cmath" 3
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 13 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h" 2
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 17 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h"
> 28468: namespace HepMC3 {
> 28468: # 35 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h"
> 28468: class FourVector {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     FourVector()
> 28468:         : m_v1(0.0), m_v2(0.0), m_v3(0.0), m_v4(0.0) {}
> 28468: 
> 28468:     FourVector(double xx, double yy, double zz, double ee)
> 28468:         : m_v1(xx), m_v2(yy), m_v3(zz), m_v4(ee) {}
> 28468: 
> 28468:     FourVector(const FourVector & v)
> 28468:         : m_v1(v.m_v1), m_v2(v.m_v2), m_v3(v.m_v3), m_v4(v.m_v4) {}
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void set(double x1, double x2, double x3, double x4) {
> 28468:         m_v1 = x1;
> 28468:         m_v2 = x2;
> 28468:         m_v3 = x3;
> 28468:         m_v4 = x4;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     double x() const { return m_v1; }
> 28468: 
> 28468:     void set_x(double xx) { m_v1 = xx; }
> 28468: 
> 28468:     void setX(double xx) { set_x(xx); }
> 28468: 
> 28468: 
> 28468:     double y() const { return m_v2; }
> 28468: 
> 28468:     void set_y(double yy) { m_v2 = yy; }
> 28468: 
> 28468:     void setY(double yy) { set_y(yy); }
> 28468: 
> 28468: 
> 28468:     double z() const { return m_v3; }
> 28468: 
> 28468:     void set_z(double zz) { m_v3 = zz; }
> 28468: 
> 28468:     void setZ(double zz) { set_z(zz); }
> 28468: 
> 28468: 
> 28468:     double t() const { return m_v4; }
> 28468: 
> 28468:     void set_t(double tt) { m_v4 = tt; }
> 28468: 
> 28468:     void setT(double tt) { set_t(tt); }
> 28468: 
> 28468: 
> 28468: 
> 28468:     double px() const { return x(); }
> 28468: 
> 28468:     void set_px(double pxx) { set_x(pxx); }
> 28468: 
> 28468:     void setPx(double pxx) { set_px(pxx); }
> 28468: 
> 28468: 
> 28468:     double py() const { return y(); }
> 28468: 
> 28468:     void set_py(double pyy) { set_y(pyy); }
> 28468: 
> 28468:     void setPy(double pyy) { set_py(pyy); }
> 28468: 
> 28468: 
> 28468:     double pz() const { return z(); }
> 28468: 
> 28468:     void set_pz(double pzz) { set_z(pzz); }
> 28468: 
> 28468:     void setPz(double pzz) { set_pz(pzz); }
> 28468: 
> 28468: 
> 28468:     double e() const { return t(); }
> 28468: 
> 28468:     void set_e(double ee ) { this->set_t(ee); }
> 28468: 
> 28468:     void setE(double ee) { set_e(ee); }
> 28468: # 125 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h"
> 28468:     double length2() const { return x()*x() + y()*y() + z()*z(); }
> 28468: 
> 28468:     double length() const { return sqrt(length2()); }
> 28468: 
> 28468:     double perp2() const { return x()*x() + y()*y(); }
> 28468: 
> 28468:     double perp() const { return sqrt(perp2()); }
> 28468: 
> 28468:     double interval() const { return t()*t() - length2(); }
> 28468: 
> 28468: 
> 28468:     double p3mod2() const { return length2(); }
> 28468: 
> 28468:     double p3mod() const { return length(); }
> 28468: 
> 28468:     double pt2() const { return perp2(); }
> 28468: 
> 28468:     double pt() const { return perp(); }
> 28468: 
> 28468:     double m2() const { return interval(); }
> 28468: 
> 28468:     double m() const { return (m2() > 0.0) ? std::sqrt(m2()) : -std::sqrt(-m2()); }
> 28468: 
> 28468: 
> 28468:     double phi() const { return atan2( y(), x() ); }
> 28468: 
> 28468:     double theta() const { return atan2( perp(), z() ); }
> 28468: 
> 28468: 
> 28468: 
> 28468:     double eta() const { return 0.5*std::log( (p3mod() + pz()) / (p3mod() - pz()) ); }
> 28468: 
> 28468:     double rap() const { return 0.5*std::log( (e() + pz()) / (e() - pz()) ); }
> 28468: 
> 28468:     double abs_eta() const { return std::abs( eta() ); }
> 28468: 
> 28468:     double abs_rap() const { return std::abs( rap() ); }
> 28468: 
> 28468: 
> 28468: 
> 28468:     double pseudoRapidity() const { return eta(); }
> 28468: # 174 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h"
> 28468:     bool is_zero() const { return x() == 0 && y() == 0 && z() == 0 && t() == 0; }
> 28468: 
> 28468: 
> 28468:     double delta_phi(const FourVector &v) const {
> 28468:         double dphi = phi() - v.phi();
> 28468:         if (dphi != dphi) return dphi;
> 28468:         while (dphi >= 
> 28468: # 180 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h" 3 4
> 28468:                        3.14159265358979323846
> 28468: # 180 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h"
> 28468:                            ) dphi -= 2.*
> 28468: # 180 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h" 3 4
> 28468:                                         3.14159265358979323846
> 28468: # 180 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h"
> 28468:                                             ;
> 28468:         while (dphi < -
> 28468: # 181 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h" 3 4
> 28468:                        3.14159265358979323846
> 28468: # 181 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h"
> 28468:                            ) dphi += 2.*
> 28468: # 181 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h" 3 4
> 28468:                                         3.14159265358979323846
> 28468: # 181 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h"
> 28468:                                             ;
> 28468:         return dphi;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     double delta_eta(const FourVector &v) const { return eta() - v.eta(); }
> 28468: 
> 28468: 
> 28468:     double delta_rap(const FourVector &v) const { return rap() - v.rap(); }
> 28468: 
> 28468: 
> 28468:     double delta_r2_eta(const FourVector &v) const {
> 28468:         return delta_phi(v)*delta_phi(v) + delta_eta(v)*delta_eta(v);
> 28468:     }
> 28468: 
> 28468: 
> 28468:     double delta_r_eta(const FourVector &v) const {
> 28468:         return sqrt( delta_r2_eta(v) );
> 28468:     }
> 28468: 
> 28468: 
> 28468:     double delta_r2_rap(const FourVector &v) const {
> 28468:         return delta_phi(v)*delta_phi(v) + delta_rap(v)*delta_rap(v);
> 28468:     }
> 28468: 
> 28468: 
> 28468:     double delta_r_rap(const FourVector &v) const {
> 28468:         return sqrt( delta_r2_rap(v) );
> 28468:     }
> 28468: # 218 "/<<PKGBUILDDIR>>/include/HepMC3/FourVector.h"
> 28468:     bool operator==(const FourVector& rhs) const {
> 28468:         return x() == rhs.x() && y() == rhs.y() && z() == rhs.z() && t() == rhs.t();
> 28468:     }
> 28468: 
> 28468:     bool operator!=(const FourVector& rhs) const { return !(*this == rhs); }
> 28468: 
> 28468: 
> 28468:     FourVector operator+ (const FourVector& rhs) const {
> 28468:         return FourVector( x() + rhs.x(), y() + rhs.y(), z() + rhs.z(), t() + rhs.t() );
> 28468:     }
> 28468: 
> 28468:     FourVector operator- (const FourVector& rhs) const {
> 28468:         return FourVector( x() - rhs.x(), y() - rhs.y(), z() - rhs.z(), t() - rhs.t() );
> 28468:     }
> 28468: 
> 28468:     FourVector operator* (const double rhs) const {
> 28468:         return FourVector( x()*rhs, y()*rhs, z()*rhs, t()*rhs );
> 28468:     }
> 28468: 
> 28468:     FourVector operator/ (const double rhs) const {
> 28468:         return FourVector( x()/rhs, y()/rhs, z()/rhs, t()/rhs );
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void operator += (const FourVector& rhs) {
> 28468:         setX(x() + rhs.x());
> 28468:         setY(y() + rhs.y());
> 28468:         setZ(z() + rhs.z());
> 28468:         setT(t() + rhs.t());
> 28468:     }
> 28468: 
> 28468:     void operator -= (const FourVector& rhs) {
> 28468:         setX(x() - rhs.x());
> 28468:         setY(y() - rhs.y());
> 28468:         setZ(z() - rhs.z());
> 28468:         setT(t() - rhs.t());
> 28468:     }
> 28468: 
> 28468:     void operator *= (const double rhs) {
> 28468:         setX(x()*rhs);
> 28468:         setY(y()*rhs);
> 28468:         setZ(z()*rhs);
> 28468:         setT(t()*rhs);
> 28468:     }
> 28468: 
> 28468:     void operator /= (const double rhs) {
> 28468:         setX(x()/rhs);
> 28468:         setY(y()/rhs);
> 28468:         setZ(z()/rhs);
> 28468:         setT(t()/rhs);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const FourVector& ZERO_VECTOR() {
> 28468:         static const FourVector v;
> 28468:         return v;
> 28468:     }
> 28468: 
> 28468: 
> 28468: private:
> 28468: 
> 28468:     double m_v1;
> 28468:     double m_v2;
> 28468:     double m_v3;
> 28468:     double m_v4;
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: inline double delta_phi(const FourVector &a, const FourVector &b) { return b.delta_phi(a); }
> 28468: 
> 28468: 
> 28468: inline double delta_eta(const FourVector &a, const FourVector &b) { return b.delta_eta(a); }
> 28468: 
> 28468: 
> 28468: inline double delta_rap(const FourVector &a, const FourVector &b) { return b.delta_rap(a); }
> 28468: 
> 28468: 
> 28468: inline double delta_r2_eta(const FourVector &a, const FourVector &b) { return b.delta_r2_eta(a); }
> 28468: 
> 28468: 
> 28468: inline double delta_r_eta(const FourVector &a, const FourVector &b) { return b.delta_r_eta(a); }
> 28468: 
> 28468: 
> 28468: inline double delta_r2_rap(const FourVector &a, const FourVector &b) { return b.delta_r2_rap(a); }
> 28468: 
> 28468: 
> 28468: inline double delta_r_rap(const FourVector &a, const FourVector &b) { return b.delta_r_rap(a); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 19 "/<<PKGBUILDDIR>>/include/HepMC3/Data/GenParticleData.h" 2
> 28468: 
> 28468: namespace HepMC3 {
> 28468: 
> 28468: 
> 28468: 
> 28468: struct GenParticleData {
> 28468:     int pid;
> 28468:     int status;
> 28468:     bool is_mass_set;
> 28468:     double mass;
> 28468:     FourVector momentum;
> 28468: };
> 28468: 
> 28468: }
> 28468: # 18 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle.h" 2
> 28468: 
> 28468: 
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle_fwd.h" 1
> 28468: # 14 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle_fwd.h"
> 28468: # 1 "/usr/include/c++/9/memory" 1 3
> 28468: # 46 "/usr/include/c++/9/memory" 3
> 28468:        
> 28468: # 47 "/usr/include/c++/9/memory" 3
> 28468: # 64 "/usr/include/c++/9/memory" 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_construct.h" 1 3
> 28468: # 63 "/usr/include/c++/9/bits/stl_construct.h" 3
> 28468: 
> 28468: # 63 "/usr/include/c++/9/bits/stl_construct.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _T1, typename... _Args>
> 28468:     inline void
> 28468:     _Construct(_T1* __p, _Args&&... __args)
> 28468:     { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); }
> 28468: # 87 "/usr/include/c++/9/bits/stl_construct.h" 3
> 28468:   template<typename _T1>
> 28468:     inline void
> 28468:     _Construct_novalue(_T1* __p)
> 28468:     { ::new(static_cast<void*>(__p)) _T1; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline void
> 28468:     _Destroy(_Tp* __pointer)
> 28468:     { __pointer->~_Tp(); }
> 28468: 
> 28468:   template<bool>
> 28468:     struct _Destroy_aux
> 28468:     {
> 28468:       template<typename _ForwardIterator>
> 28468:         static void
> 28468:         __destroy(_ForwardIterator __first, _ForwardIterator __last)
> 28468:  {
> 28468:    for (; __first != __last; ++__first)
> 28468:      std::_Destroy(std::__addressof(*__first));
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct _Destroy_aux<true>
> 28468:     {
> 28468:       template<typename _ForwardIterator>
> 28468:         static void
> 28468:         __destroy(_ForwardIterator, _ForwardIterator) { }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator>
> 28468:     inline void
> 28468:     _Destroy(_ForwardIterator __first, _ForwardIterator __last)
> 28468:     {
> 28468:       typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:                        _Value_type;
> 28468: 
> 28468: 
> 28468:       static_assert(is_destructible<_Value_type>::value,
> 28468:       "value type is destructible");
> 28468: 
> 28468:       std::_Destroy_aux<__has_trivial_destructor(_Value_type)>::
> 28468:  __destroy(__first, __last);
> 28468:     }
> 28468: 
> 28468:   template<bool>
> 28468:     struct _Destroy_n_aux
> 28468:     {
> 28468:       template<typename _ForwardIterator, typename _Size>
> 28468:         static _ForwardIterator
> 28468:         __destroy_n(_ForwardIterator __first, _Size __count)
> 28468:  {
> 28468:    for (; __count > 0; (void)++__first, --__count)
> 28468:      std::_Destroy(std::__addressof(*__first));
> 28468:    return __first;
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct _Destroy_n_aux<true>
> 28468:     {
> 28468:       template<typename _ForwardIterator, typename _Size>
> 28468:         static _ForwardIterator
> 28468:         __destroy_n(_ForwardIterator __first, _Size __count)
> 28468:  {
> 28468:    std::advance(__first, __count);
> 28468:    return __first;
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Size>
> 28468:     inline _ForwardIterator
> 28468:     _Destroy_n(_ForwardIterator __first, _Size __count)
> 28468:     {
> 28468:       typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:                        _Value_type;
> 28468: 
> 28468: 
> 28468:       static_assert(is_destructible<_Value_type>::value,
> 28468:       "value type is destructible");
> 28468: 
> 28468:       return std::_Destroy_n_aux<__has_trivial_destructor(_Value_type)>::
> 28468:  __destroy_n(__first, __count);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Allocator>
> 28468:     void
> 28468:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       _Allocator& __alloc)
> 28468:     {
> 28468:       typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
> 28468:       for (; __first != __last; ++__first)
> 28468:  __traits::destroy(__alloc, std::__addressof(*__first));
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     inline void
> 28468:     _Destroy(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       allocator<_Tp>&)
> 28468:     {
> 28468:       _Destroy(__first, __last);
> 28468:     }
> 28468: # 232 "/usr/include/c++/9/bits/stl_construct.h" 3
> 28468: 
> 28468: }
> 28468: # 65 "/usr/include/c++/9/memory" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_uninitialized.h" 1 3
> 28468: # 67 "/usr/include/c++/9/bits/stl_uninitialized.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<bool _TrivialValueTypes>
> 28468:     struct __uninitialized_copy
> 28468:     {
> 28468:       template<typename _InputIterator, typename _ForwardIterator>
> 28468:         static _ForwardIterator
> 28468:         __uninit_copy(_InputIterator __first, _InputIterator __last,
> 28468:         _ForwardIterator __result)
> 28468:         {
> 28468:    _ForwardIterator __cur = __result;
> 28468:    try
> 28468:      {
> 28468:        for (; __first != __last; ++__first, (void)++__cur)
> 28468:   std::_Construct(std::__addressof(*__cur), *__first);
> 28468:        return __cur;
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        std::_Destroy(__result, __cur);
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __uninitialized_copy<true>
> 28468:     {
> 28468:       template<typename _InputIterator, typename _ForwardIterator>
> 28468:         static _ForwardIterator
> 28468:         __uninit_copy(_InputIterator __first, _InputIterator __last,
> 28468:         _ForwardIterator __result)
> 28468:         { return std::copy(__first, __last, __result); }
> 28468:     };
> 28468: # 113 "/usr/include/c++/9/bits/stl_uninitialized.h" 3
> 28468:   template<typename _InputIterator, typename _ForwardIterator>
> 28468:     inline _ForwardIterator
> 28468:     uninitialized_copy(_InputIterator __first, _InputIterator __last,
> 28468:          _ForwardIterator __result)
> 28468:     {
> 28468:       typedef typename iterator_traits<_InputIterator>::value_type
> 28468:  _ValueType1;
> 28468:       typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:  _ValueType2;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       static_assert(is_constructible<_ValueType2, decltype(*__first)>::value,
> 28468:    "result type must be constructible from value type of input range");
> 28468: 
> 28468:       typedef typename iterator_traits<_InputIterator>::reference _RefType1;
> 28468:       typedef typename iterator_traits<_ForwardIterator>::reference _RefType2;
> 28468: 
> 28468: 
> 28468:       const bool __assignable = is_assignable<_RefType2, _RefType1>::value;
> 28468: 
> 28468: 
> 28468:       return std::__uninitialized_copy<__is_trivial(_ValueType1)
> 28468:            && __is_trivial(_ValueType2)
> 28468:            && __assignable>::
> 28468:  __uninit_copy(__first, __last, __result);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<bool _TrivialValueType>
> 28468:     struct __uninitialized_fill
> 28468:     {
> 28468:       template<typename _ForwardIterator, typename _Tp>
> 28468:         static void
> 28468:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
> 28468:         const _Tp& __x)
> 28468:         {
> 28468:    _ForwardIterator __cur = __first;
> 28468:    try
> 28468:      {
> 28468:        for (; __cur != __last; ++__cur)
> 28468:   std::_Construct(std::__addressof(*__cur), __x);
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        std::_Destroy(__first, __cur);
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __uninitialized_fill<true>
> 28468:     {
> 28468:       template<typename _ForwardIterator, typename _Tp>
> 28468:         static void
> 28468:         __uninit_fill(_ForwardIterator __first, _ForwardIterator __last,
> 28468:         const _Tp& __x)
> 28468:         { std::fill(__first, __last, __x); }
> 28468:     };
> 28468: # 185 "/usr/include/c++/9/bits/stl_uninitialized.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     inline void
> 28468:     uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last,
> 28468:          const _Tp& __x)
> 28468:     {
> 28468:       typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:  _ValueType;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       static_assert(is_constructible<_ValueType, const _Tp&>::value,
> 28468:    "result type must be constructible from input type");
> 28468: 
> 28468: 
> 28468: 
> 28468:       const bool __assignable = is_copy_assignable<_ValueType>::value;
> 28468: 
> 28468: 
> 28468:       std::__uninitialized_fill<__is_trivial(_ValueType) && __assignable>::
> 28468:  __uninit_fill(__first, __last, __x);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<bool _TrivialValueType>
> 28468:     struct __uninitialized_fill_n
> 28468:     {
> 28468:       template<typename _ForwardIterator, typename _Size, typename _Tp>
> 28468:         static _ForwardIterator
> 28468:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
> 28468:    const _Tp& __x)
> 28468:         {
> 28468:    _ForwardIterator __cur = __first;
> 28468:    try
> 28468:      {
> 28468:        for (; __n > 0; --__n, (void) ++__cur)
> 28468:   std::_Construct(std::__addressof(*__cur), __x);
> 28468:        return __cur;
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        std::_Destroy(__first, __cur);
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __uninitialized_fill_n<true>
> 28468:     {
> 28468:       template<typename _ForwardIterator, typename _Size, typename _Tp>
> 28468:         static _ForwardIterator
> 28468:         __uninit_fill_n(_ForwardIterator __first, _Size __n,
> 28468:    const _Tp& __x)
> 28468:         { return std::fill_n(__first, __n, __x); }
> 28468:     };
> 28468: # 254 "/usr/include/c++/9/bits/stl_uninitialized.h" 3
> 28468:   template<typename _ForwardIterator, typename _Size, typename _Tp>
> 28468:     inline _ForwardIterator
> 28468:     uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x)
> 28468:     {
> 28468:       typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:  _ValueType;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       static_assert(is_constructible<_ValueType, const _Tp&>::value,
> 28468:    "result type must be constructible from input type");
> 28468: 
> 28468: 
> 28468: 
> 28468:       const bool __assignable = is_copy_assignable<_ValueType>::value;
> 28468: 
> 28468:       return __uninitialized_fill_n<__is_trivial(_ValueType) && __assignable>::
> 28468:  __uninit_fill_n(__first, __n, __x);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator, typename _ForwardIterator,
> 28468:     typename _Allocator>
> 28468:     _ForwardIterator
> 28468:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
> 28468:       _ForwardIterator __result, _Allocator& __alloc)
> 28468:     {
> 28468:       _ForwardIterator __cur = __result;
> 28468:       try
> 28468:  {
> 28468:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
> 28468:    for (; __first != __last; ++__first, (void)++__cur)
> 28468:      __traits::construct(__alloc, std::__addressof(*__cur), *__first);
> 28468:    return __cur;
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::_Destroy(__result, __cur, __alloc);
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp>
> 28468:     inline _ForwardIterator
> 28468:     __uninitialized_copy_a(_InputIterator __first, _InputIterator __last,
> 28468:       _ForwardIterator __result, allocator<_Tp>&)
> 28468:     { return std::uninitialized_copy(__first, __last, __result); }
> 28468: 
> 28468:   template<typename _InputIterator, typename _ForwardIterator,
> 28468:     typename _Allocator>
> 28468:     inline _ForwardIterator
> 28468:     __uninitialized_move_a(_InputIterator __first, _InputIterator __last,
> 28468:       _ForwardIterator __result, _Allocator& __alloc)
> 28468:     {
> 28468:       return std::__uninitialized_copy_a(std::make_move_iterator(__first),
> 28468:       std::make_move_iterator(__last),
> 28468:       __result, __alloc);
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator, typename _ForwardIterator,
> 28468:     typename _Allocator>
> 28468:     inline _ForwardIterator
> 28468:     __uninitialized_move_if_noexcept_a(_InputIterator __first,
> 28468:            _InputIterator __last,
> 28468:            _ForwardIterator __result,
> 28468:            _Allocator& __alloc)
> 28468:     {
> 28468:       return std::__uninitialized_copy_a
> 28468:  (std::__make_move_if_noexcept_iterator(__first),
> 28468:   std::__make_move_if_noexcept_iterator(__last), __result, __alloc);
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp, typename _Allocator>
> 28468:     void
> 28468:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       const _Tp& __x, _Allocator& __alloc)
> 28468:     {
> 28468:       _ForwardIterator __cur = __first;
> 28468:       try
> 28468:  {
> 28468:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
> 28468:    for (; __cur != __last; ++__cur)
> 28468:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::_Destroy(__first, __cur, __alloc);
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp, typename _Tp2>
> 28468:     inline void
> 28468:     __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       const _Tp& __x, allocator<_Tp2>&)
> 28468:     { std::uninitialized_fill(__first, __last, __x); }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Size, typename _Tp,
> 28468:     typename _Allocator>
> 28468:     _ForwardIterator
> 28468:     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
> 28468:         const _Tp& __x, _Allocator& __alloc)
> 28468:     {
> 28468:       _ForwardIterator __cur = __first;
> 28468:       try
> 28468:  {
> 28468:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
> 28468:    for (; __n > 0; --__n, (void) ++__cur)
> 28468:      __traits::construct(__alloc, std::__addressof(*__cur), __x);
> 28468:    return __cur;
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::_Destroy(__first, __cur, __alloc);
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Size, typename _Tp,
> 28468:     typename _Tp2>
> 28468:     inline _ForwardIterator
> 28468:     __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n,
> 28468:         const _Tp& __x, allocator<_Tp2>&)
> 28468:     { return std::uninitialized_fill_n(__first, __n, __x); }
> 28468: # 396 "/usr/include/c++/9/bits/stl_uninitialized.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _ForwardIterator, typename _Allocator>
> 28468:     inline _ForwardIterator
> 28468:     __uninitialized_copy_move(_InputIterator1 __first1,
> 28468:          _InputIterator1 __last1,
> 28468:          _InputIterator2 __first2,
> 28468:          _InputIterator2 __last2,
> 28468:          _ForwardIterator __result,
> 28468:          _Allocator& __alloc)
> 28468:     {
> 28468:       _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1,
> 28468:           __result,
> 28468:           __alloc);
> 28468:       try
> 28468:  {
> 28468:    return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc);
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::_Destroy(__result, __mid, __alloc);
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _ForwardIterator, typename _Allocator>
> 28468:     inline _ForwardIterator
> 28468:     __uninitialized_move_copy(_InputIterator1 __first1,
> 28468:          _InputIterator1 __last1,
> 28468:          _InputIterator2 __first2,
> 28468:          _InputIterator2 __last2,
> 28468:          _ForwardIterator __result,
> 28468:          _Allocator& __alloc)
> 28468:     {
> 28468:       _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1,
> 28468:           __result,
> 28468:           __alloc);
> 28468:       try
> 28468:  {
> 28468:    return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc);
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::_Destroy(__result, __mid, __alloc);
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp, typename _InputIterator,
> 28468:     typename _Allocator>
> 28468:     inline _ForwardIterator
> 28468:     __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid,
> 28468:          const _Tp& __x, _InputIterator __first,
> 28468:          _InputIterator __last, _Allocator& __alloc)
> 28468:     {
> 28468:       std::__uninitialized_fill_a(__result, __mid, __x, __alloc);
> 28468:       try
> 28468:  {
> 28468:    return std::__uninitialized_move_a(__first, __last, __mid, __alloc);
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::_Destroy(__result, __mid, __alloc);
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator, typename _ForwardIterator, typename _Tp,
> 28468:     typename _Allocator>
> 28468:     inline void
> 28468:     __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1,
> 28468:          _ForwardIterator __first2,
> 28468:          _ForwardIterator __last2, const _Tp& __x,
> 28468:          _Allocator& __alloc)
> 28468:     {
> 28468:       _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1,
> 28468:            __first2,
> 28468:            __alloc);
> 28468:       try
> 28468:  {
> 28468:    std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc);
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::_Destroy(__first2, __mid2, __alloc);
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<bool _TrivialValueType>
> 28468:     struct __uninitialized_default_1
> 28468:     {
> 28468:       template<typename _ForwardIterator>
> 28468:         static void
> 28468:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
> 28468:         {
> 28468:    _ForwardIterator __cur = __first;
> 28468:    try
> 28468:      {
> 28468:        for (; __cur != __last; ++__cur)
> 28468:   std::_Construct(std::__addressof(*__cur));
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        std::_Destroy(__first, __cur);
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __uninitialized_default_1<true>
> 28468:     {
> 28468:       template<typename _ForwardIterator>
> 28468:         static void
> 28468:         __uninit_default(_ForwardIterator __first, _ForwardIterator __last)
> 28468:         {
> 28468:    typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:      _ValueType;
> 28468: 
> 28468:    std::fill(__first, __last, _ValueType());
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<bool _TrivialValueType>
> 28468:     struct __uninitialized_default_n_1
> 28468:     {
> 28468:       template<typename _ForwardIterator, typename _Size>
> 28468:         static _ForwardIterator
> 28468:         __uninit_default_n(_ForwardIterator __first, _Size __n)
> 28468:         {
> 28468:    _ForwardIterator __cur = __first;
> 28468:    try
> 28468:      {
> 28468:        for (; __n > 0; --__n, (void) ++__cur)
> 28468:   std::_Construct(std::__addressof(*__cur));
> 28468:        return __cur;
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        std::_Destroy(__first, __cur);
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __uninitialized_default_n_1<true>
> 28468:     {
> 28468:       template<typename _ForwardIterator, typename _Size>
> 28468:         static _ForwardIterator
> 28468:         __uninit_default_n(_ForwardIterator __first, _Size __n)
> 28468:         {
> 28468:    typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:      _ValueType;
> 28468: 
> 28468:    return std::fill_n(__first, __n, _ValueType());
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator>
> 28468:     inline void
> 28468:     __uninitialized_default(_ForwardIterator __first,
> 28468:        _ForwardIterator __last)
> 28468:     {
> 28468:       typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:  _ValueType;
> 28468: 
> 28468:       const bool __assignable = is_copy_assignable<_ValueType>::value;
> 28468: 
> 28468:       std::__uninitialized_default_1<__is_trivial(_ValueType)
> 28468:          && __assignable>::
> 28468:  __uninit_default(__first, __last);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Size>
> 28468:     inline _ForwardIterator
> 28468:     __uninitialized_default_n(_ForwardIterator __first, _Size __n)
> 28468:     {
> 28468:       typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:  _ValueType;
> 28468: 
> 28468:       const bool __assignable = is_copy_assignable<_ValueType>::value;
> 28468: 
> 28468:       return __uninitialized_default_n_1<__is_trivial(_ValueType)
> 28468:            && __assignable>::
> 28468:  __uninit_default_n(__first, __n);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Allocator>
> 28468:     void
> 28468:     __uninitialized_default_a(_ForwardIterator __first,
> 28468:          _ForwardIterator __last,
> 28468:          _Allocator& __alloc)
> 28468:     {
> 28468:       _ForwardIterator __cur = __first;
> 28468:       try
> 28468:  {
> 28468:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
> 28468:    for (; __cur != __last; ++__cur)
> 28468:      __traits::construct(__alloc, std::__addressof(*__cur));
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::_Destroy(__first, __cur, __alloc);
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     inline void
> 28468:     __uninitialized_default_a(_ForwardIterator __first,
> 28468:          _ForwardIterator __last,
> 28468:          allocator<_Tp>&)
> 28468:     { std::__uninitialized_default(__first, __last); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Size, typename _Allocator>
> 28468:     _ForwardIterator
> 28468:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
> 28468:     _Allocator& __alloc)
> 28468:     {
> 28468:       _ForwardIterator __cur = __first;
> 28468:       try
> 28468:  {
> 28468:    typedef __gnu_cxx::__alloc_traits<_Allocator> __traits;
> 28468:    for (; __n > 0; --__n, (void) ++__cur)
> 28468:      __traits::construct(__alloc, std::__addressof(*__cur));
> 28468:    return __cur;
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::_Destroy(__first, __cur, __alloc);
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Size, typename _Tp>
> 28468:     inline _ForwardIterator
> 28468:     __uninitialized_default_n_a(_ForwardIterator __first, _Size __n,
> 28468:     allocator<_Tp>&)
> 28468:     { return std::__uninitialized_default_n(__first, __n); }
> 28468: 
> 28468:   template<bool _TrivialValueType>
> 28468:     struct __uninitialized_default_novalue_1
> 28468:     {
> 28468:       template<typename _ForwardIterator>
> 28468:  static void
> 28468:  __uninit_default_novalue(_ForwardIterator __first,
> 28468:      _ForwardIterator __last)
> 28468:  {
> 28468:    _ForwardIterator __cur = __first;
> 28468:    try
> 28468:      {
> 28468:        for (; __cur != __last; ++__cur)
> 28468:   std::_Construct_novalue(std::__addressof(*__cur));
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        std::_Destroy(__first, __cur);
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __uninitialized_default_novalue_1<true>
> 28468:     {
> 28468:       template<typename _ForwardIterator>
> 28468:         static void
> 28468:         __uninit_default_novalue(_ForwardIterator __first,
> 28468:      _ForwardIterator __last)
> 28468:  {
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<bool _TrivialValueType>
> 28468:     struct __uninitialized_default_novalue_n_1
> 28468:     {
> 28468:       template<typename _ForwardIterator, typename _Size>
> 28468:  static _ForwardIterator
> 28468:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
> 28468:  {
> 28468:    _ForwardIterator __cur = __first;
> 28468:    try
> 28468:      {
> 28468:        for (; __n > 0; --__n, (void) ++__cur)
> 28468:   std::_Construct_novalue(std::__addressof(*__cur));
> 28468:        return __cur;
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        std::_Destroy(__first, __cur);
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __uninitialized_default_novalue_n_1<true>
> 28468:     {
> 28468:       template<typename _ForwardIterator, typename _Size>
> 28468:  static _ForwardIterator
> 28468:  __uninit_default_novalue_n(_ForwardIterator __first, _Size __n)
> 28468:  { return std::next(__first, __n); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator>
> 28468:     inline void
> 28468:     __uninitialized_default_novalue(_ForwardIterator __first,
> 28468:         _ForwardIterator __last)
> 28468:     {
> 28468:       typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:  _ValueType;
> 28468: 
> 28468:       std::__uninitialized_default_novalue_1<
> 28468:  is_trivially_default_constructible<_ValueType>::value>::
> 28468:  __uninit_default_novalue(__first, __last);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Size>
> 28468:     inline _ForwardIterator
> 28468:     __uninitialized_default_novalue_n(_ForwardIterator __first, _Size __n)
> 28468:     {
> 28468:       typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:  _ValueType;
> 28468: 
> 28468:       return __uninitialized_default_novalue_n_1<
> 28468:  is_trivially_default_constructible<_ValueType>::value>::
> 28468:  __uninit_default_novalue_n(__first, __n);
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator, typename _Size,
> 28468:     typename _ForwardIterator>
> 28468:     _ForwardIterator
> 28468:     __uninitialized_copy_n(_InputIterator __first, _Size __n,
> 28468:       _ForwardIterator __result, input_iterator_tag)
> 28468:     {
> 28468:       _ForwardIterator __cur = __result;
> 28468:       try
> 28468:  {
> 28468:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
> 28468:      std::_Construct(std::__addressof(*__cur), *__first);
> 28468:    return __cur;
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::_Destroy(__result, __cur);
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Size,
> 28468:     typename _ForwardIterator>
> 28468:     inline _ForwardIterator
> 28468:     __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n,
> 28468:       _ForwardIterator __result,
> 28468:       random_access_iterator_tag)
> 28468:     { return std::uninitialized_copy(__first, __first + __n, __result); }
> 28468: 
> 28468:   template<typename _InputIterator, typename _Size,
> 28468:     typename _ForwardIterator>
> 28468:     pair<_InputIterator, _ForwardIterator>
> 28468:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
> 28468:       _ForwardIterator __result, input_iterator_tag)
> 28468:     {
> 28468:       _ForwardIterator __cur = __result;
> 28468:       try
> 28468:  {
> 28468:    for (; __n > 0; --__n, (void) ++__first, ++__cur)
> 28468:      std::_Construct(std::__addressof(*__cur), *__first);
> 28468:    return {__first, __cur};
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::_Destroy(__result, __cur);
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Size,
> 28468:     typename _ForwardIterator>
> 28468:     inline pair<_RandomAccessIterator, _ForwardIterator>
> 28468:     __uninitialized_copy_n_pair(_RandomAccessIterator __first, _Size __n,
> 28468:       _ForwardIterator __result,
> 28468:       random_access_iterator_tag)
> 28468:     {
> 28468:       auto __second_res = uninitialized_copy(__first, __first + __n, __result);
> 28468:       auto __first_res = std::next(__first, __n);
> 28468:       return {__first_res, __second_res};
> 28468:     }
> 28468: # 828 "/usr/include/c++/9/bits/stl_uninitialized.h" 3
> 28468:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
> 28468:     inline _ForwardIterator
> 28468:     uninitialized_copy_n(_InputIterator __first, _Size __n,
> 28468:     _ForwardIterator __result)
> 28468:     { return std::__uninitialized_copy_n(__first, __n, __result,
> 28468:       std::__iterator_category(__first)); }
> 28468: 
> 28468:   template<typename _InputIterator, typename _Size, typename _ForwardIterator>
> 28468:     inline pair<_InputIterator, _ForwardIterator>
> 28468:     __uninitialized_copy_n_pair(_InputIterator __first, _Size __n,
> 28468:          _ForwardIterator __result)
> 28468:     {
> 28468:       return
> 28468:  std::__uninitialized_copy_n_pair(__first, __n, __result,
> 28468:       std::__iterator_category(__first));
> 28468:     }
> 28468: # 903 "/usr/include/c++/9/bits/stl_uninitialized.h" 3
> 28468:   template<typename _Tp, typename _Up, typename _Allocator>
> 28468:     inline void
> 28468:     __relocate_object_a(_Tp* __dest, _Up* __orig, _Allocator& __alloc)
> 28468:     noexcept(noexcept(std::allocator_traits<_Allocator>::construct(__alloc,
> 28468:     __dest, std::move(*__orig)))
> 28468:       && noexcept(std::allocator_traits<_Allocator>::destroy(
> 28468:        __alloc, std::__addressof(*__orig))))
> 28468:     {
> 28468:       typedef std::allocator_traits<_Allocator> __traits;
> 28468:       __traits::construct(__alloc, __dest, std::move(*__orig));
> 28468:       __traits::destroy(__alloc, std::__addressof(*__orig));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename = void>
> 28468:     struct __is_bitwise_relocatable
> 28468:     : is_trivial<_Tp> { };
> 28468: 
> 28468:   template <typename _Tp, typename _Up>
> 28468:     inline __enable_if_t<std::__is_bitwise_relocatable<_Tp>::value, _Tp*>
> 28468:     __relocate_a_1(_Tp* __first, _Tp* __last,
> 28468:      _Tp* __result, allocator<_Up>&) noexcept
> 28468:     {
> 28468:       ptrdiff_t __count = __last - __first;
> 28468:       if (__count > 0)
> 28468:  __builtin_memmove(__result, __first, __count * sizeof(_Tp));
> 28468:       return __result + __count;
> 28468:     }
> 28468: 
> 28468:   template <typename _InputIterator, typename _ForwardIterator,
> 28468:      typename _Allocator>
> 28468:     inline _ForwardIterator
> 28468:     __relocate_a_1(_InputIterator __first, _InputIterator __last,
> 28468:      _ForwardIterator __result, _Allocator& __alloc)
> 28468:     noexcept(noexcept(std::__relocate_object_a(std::addressof(*__result),
> 28468:             std::addressof(*__first),
> 28468:             __alloc)))
> 28468:     {
> 28468:       typedef typename iterator_traits<_InputIterator>::value_type
> 28468:  _ValueType;
> 28468:       typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:  _ValueType2;
> 28468:       static_assert(std::is_same<_ValueType, _ValueType2>::value,
> 28468:    "relocation is only possible for values of the same type");
> 28468:       _ForwardIterator __cur = __result;
> 28468:       for (; __first != __last; ++__first, (void)++__cur)
> 28468:  std::__relocate_object_a(std::__addressof(*__cur),
> 28468:      std::__addressof(*__first), __alloc);
> 28468:       return __cur;
> 28468:     }
> 28468: 
> 28468:   template <typename _InputIterator, typename _ForwardIterator,
> 28468:      typename _Allocator>
> 28468:     inline _ForwardIterator
> 28468:     __relocate_a(_InputIterator __first, _InputIterator __last,
> 28468:    _ForwardIterator __result, _Allocator& __alloc)
> 28468:     noexcept(noexcept(__relocate_a_1(std::__niter_base(__first),
> 28468:          std::__niter_base(__last),
> 28468:          std::__niter_base(__result), __alloc)))
> 28468:     {
> 28468:       return __relocate_a_1(std::__niter_base(__first),
> 28468:        std::__niter_base(__last),
> 28468:        std::__niter_base(__result), __alloc);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 66 "/usr/include/c++/9/memory" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_tempbuf.h" 1 3
> 28468: # 62 "/usr/include/c++/9/bits/stl_tempbuf.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 83 "/usr/include/c++/9/bits/stl_tempbuf.h" 3
> 28468:   template<typename _Tp>
> 28468:     pair<_Tp*, ptrdiff_t>
> 28468:     get_temporary_buffer(ptrdiff_t __len) noexcept
> 28468:     {
> 28468:       const ptrdiff_t __max =
> 28468:  __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
> 28468:       if (__len > __max)
> 28468:  __len = __max;
> 28468: 
> 28468:       while (__len > 0)
> 28468:  {
> 28468:    _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp),
> 28468:        std::nothrow));
> 28468:    if (__tmp != 0)
> 28468:      return std::pair<_Tp*, ptrdiff_t>(__tmp, __len);
> 28468:    __len /= 2;
> 28468:  }
> 28468:       return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0);
> 28468:     }
> 28468: # 110 "/usr/include/c++/9/bits/stl_tempbuf.h" 3
> 28468:   template<typename _Tp>
> 28468:     inline void
> 28468:     return_temporary_buffer(_Tp* __p)
> 28468:     { ::operator delete(__p); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     class _Temporary_buffer
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:     public:
> 28468:       typedef _Tp value_type;
> 28468:       typedef value_type* pointer;
> 28468:       typedef pointer iterator;
> 28468:       typedef ptrdiff_t size_type;
> 28468: 
> 28468:     protected:
> 28468:       size_type _M_original_len;
> 28468:       size_type _M_len;
> 28468:       pointer _M_buffer;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       size_type
> 28468:       size() const
> 28468:       { return _M_len; }
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       requested_size() const
> 28468:       { return _M_original_len; }
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       begin()
> 28468:       { return _M_buffer; }
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       end()
> 28468:       { return _M_buffer + _M_len; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       _Temporary_buffer(_ForwardIterator __seed, size_type __original_len);
> 28468: 
> 28468:       ~_Temporary_buffer()
> 28468:       {
> 28468:  std::_Destroy(_M_buffer, _M_buffer + _M_len);
> 28468:  std::return_temporary_buffer(_M_buffer);
> 28468:       }
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       _Temporary_buffer(const _Temporary_buffer&);
> 28468: 
> 28468:       void
> 28468:       operator=(const _Temporary_buffer&);
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<bool>
> 28468:     struct __uninitialized_construct_buf_dispatch
> 28468:     {
> 28468:       template<typename _Pointer, typename _ForwardIterator>
> 28468:         static void
> 28468:         __ucr(_Pointer __first, _Pointer __last,
> 28468:        _ForwardIterator __seed)
> 28468:         {
> 28468:    if(__first == __last)
> 28468:      return;
> 28468: 
> 28468:    _Pointer __cur = __first;
> 28468:    try
> 28468:      {
> 28468:        std::_Construct(std::__addressof(*__first),
> 28468:          std::move(*__seed));
> 28468:        _Pointer __prev = __cur;
> 28468:        ++__cur;
> 28468:        for(; __cur != __last; ++__cur, ++__prev)
> 28468:   std::_Construct(std::__addressof(*__cur),
> 28468:     std::move(*__prev));
> 28468:        *__seed = std::move(*__prev);
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        std::_Destroy(__first, __cur);
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __uninitialized_construct_buf_dispatch<true>
> 28468:     {
> 28468:       template<typename _Pointer, typename _ForwardIterator>
> 28468:         static void
> 28468:         __ucr(_Pointer, _Pointer, _ForwardIterator) { }
> 28468:     };
> 28468: # 229 "/usr/include/c++/9/bits/stl_tempbuf.h" 3
> 28468:   template<typename _Pointer, typename _ForwardIterator>
> 28468:     inline void
> 28468:     __uninitialized_construct_buf(_Pointer __first, _Pointer __last,
> 28468:       _ForwardIterator __seed)
> 28468:     {
> 28468:       typedef typename std::iterator_traits<_Pointer>::value_type
> 28468:  _ValueType;
> 28468: 
> 28468:       std::__uninitialized_construct_buf_dispatch<
> 28468:         __has_trivial_constructor(_ValueType)>::
> 28468:    __ucr(__first, __last, __seed);
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     _Temporary_buffer<_ForwardIterator, _Tp>::
> 28468:     _Temporary_buffer(_ForwardIterator __seed, size_type __original_len)
> 28468:     : _M_original_len(__original_len), _M_len(0), _M_buffer(0)
> 28468:     {
> 28468:       try
> 28468:  {
> 28468:    std::pair<pointer, size_type> __p(std::get_temporary_buffer<
> 28468:          value_type>(_M_original_len));
> 28468:    _M_buffer = __p.first;
> 28468:    _M_len = __p.second;
> 28468:    if (_M_buffer)
> 28468:      std::__uninitialized_construct_buf(_M_buffer, _M_buffer + _M_len,
> 28468:             __seed);
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    std::return_temporary_buffer(_M_buffer);
> 28468:    _M_buffer = 0;
> 28468:    _M_len = 0;
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 67 "/usr/include/c++/9/memory" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_raw_storage_iter.h" 1 3
> 28468: # 59 "/usr/include/c++/9/bits/stl_raw_storage_iter.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template <class _OutputIterator, class _Tp>
> 28468:     class raw_storage_iterator
> 28468:     : public iterator<output_iterator_tag, void, void, void, void>
> 28468:     {
> 28468:     protected:
> 28468:       _OutputIterator _M_iter;
> 28468: 
> 28468:     public:
> 28468:       explicit
> 28468:       raw_storage_iterator(_OutputIterator __x)
> 28468:       : _M_iter(__x) {}
> 28468: 
> 28468:       raw_storage_iterator&
> 28468:       operator*() { return *this; }
> 28468: 
> 28468:       raw_storage_iterator&
> 28468:       operator=(const _Tp& __element)
> 28468:       {
> 28468:  std::_Construct(std::__addressof(*_M_iter), __element);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       raw_storage_iterator&
> 28468:       operator=(_Tp&& __element)
> 28468:       {
> 28468:  std::_Construct(std::__addressof(*_M_iter), std::move(__element));
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       raw_storage_iterator&
> 28468:       operator++()
> 28468:       {
> 28468:  ++_M_iter;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       raw_storage_iterator
> 28468:       operator++(int)
> 28468:       {
> 28468:  raw_storage_iterator __tmp = *this;
> 28468:  ++_M_iter;
> 28468:  return __tmp;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       _OutputIterator base() const { return _M_iter; }
> 28468:     };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 68 "/usr/include/c++/9/memory" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/ext/concurrence.h" 1 3
> 28468: # 32 "/usr/include/c++/9/ext/concurrence.h" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/ext/concurrence.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace __gnu_cxx __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   enum _Lock_policy { _S_single, _S_mutex, _S_atomic };
> 28468: 
> 28468: 
> 28468: 
> 28468:   static const _Lock_policy __default_lock_policy =
> 28468: 
> 28468: 
> 28468: 
> 28468:   _S_atomic;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class __concurrence_lock_error : public std::exception
> 28468:   {
> 28468:   public:
> 28468:     virtual char const*
> 28468:     what() const throw()
> 28468:     { return "__gnu_cxx::__concurrence_lock_error"; }
> 28468:   };
> 28468: 
> 28468:   class __concurrence_unlock_error : public std::exception
> 28468:   {
> 28468:   public:
> 28468:     virtual char const*
> 28468:     what() const throw()
> 28468:     { return "__gnu_cxx::__concurrence_unlock_error"; }
> 28468:   };
> 28468: 
> 28468:   class __concurrence_broadcast_error : public std::exception
> 28468:   {
> 28468:   public:
> 28468:     virtual char const*
> 28468:     what() const throw()
> 28468:     { return "__gnu_cxx::__concurrence_broadcast_error"; }
> 28468:   };
> 28468: 
> 28468:   class __concurrence_wait_error : public std::exception
> 28468:   {
> 28468:   public:
> 28468:     virtual char const*
> 28468:     what() const throw()
> 28468:     { return "__gnu_cxx::__concurrence_wait_error"; }
> 28468:   };
> 28468: 
> 28468: 
> 28468:   inline void
> 28468:   __throw_concurrence_lock_error()
> 28468:   { (throw (__concurrence_lock_error())); }
> 28468: 
> 28468:   inline void
> 28468:   __throw_concurrence_unlock_error()
> 28468:   { (throw (__concurrence_unlock_error())); }
> 28468: 
> 28468: 
> 28468:   inline void
> 28468:   __throw_concurrence_broadcast_error()
> 28468:   { (throw (__concurrence_broadcast_error())); }
> 28468: 
> 28468:   inline void
> 28468:   __throw_concurrence_wait_error()
> 28468:   { (throw (__concurrence_wait_error())); }
> 28468: 
> 28468: 
> 28468:   class __mutex
> 28468:   {
> 28468:   private:
> 28468: 
> 28468:     __gthread_mutex_t _M_mutex = { { 0, 0, 0, 0, 0, 0, 0, { 0, 0 } } };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     __mutex(const __mutex&);
> 28468:     __mutex& operator=(const __mutex&);
> 28468: 
> 28468:   public:
> 28468:     __mutex()
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     }
> 28468: # 144 "/usr/include/c++/9/ext/concurrence.h" 3
> 28468:     void lock()
> 28468:     {
> 28468: 
> 28468:       if (__gthread_active_p())
> 28468:  {
> 28468:    if (__gthread_mutex_lock(&_M_mutex) != 0)
> 28468:      __throw_concurrence_lock_error();
> 28468:  }
> 28468: 
> 28468:     }
> 28468: 
> 28468:     void unlock()
> 28468:     {
> 28468: 
> 28468:       if (__gthread_active_p())
> 28468:  {
> 28468:    if (__gthread_mutex_unlock(&_M_mutex) != 0)
> 28468:      __throw_concurrence_unlock_error();
> 28468:  }
> 28468: 
> 28468:     }
> 28468: 
> 28468:     __gthread_mutex_t* gthread_mutex(void)
> 28468:       { return &_M_mutex; }
> 28468:   };
> 28468: 
> 28468:   class __recursive_mutex
> 28468:   {
> 28468:   private:
> 28468: 
> 28468:     __gthread_recursive_mutex_t _M_mutex = { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, 0, { 0, 0 } } };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     __recursive_mutex(const __recursive_mutex&);
> 28468:     __recursive_mutex& operator=(const __recursive_mutex&);
> 28468: 
> 28468:   public:
> 28468:     __recursive_mutex()
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     }
> 28468: # 199 "/usr/include/c++/9/ext/concurrence.h" 3
> 28468:     void lock()
> 28468:     {
> 28468: 
> 28468:       if (__gthread_active_p())
> 28468:  {
> 28468:    if (__gthread_recursive_mutex_lock(&_M_mutex) != 0)
> 28468:      __throw_concurrence_lock_error();
> 28468:  }
> 28468: 
> 28468:     }
> 28468: 
> 28468:     void unlock()
> 28468:     {
> 28468: 
> 28468:       if (__gthread_active_p())
> 28468:  {
> 28468:    if (__gthread_recursive_mutex_unlock(&_M_mutex) != 0)
> 28468:      __throw_concurrence_unlock_error();
> 28468:  }
> 28468: 
> 28468:     }
> 28468: 
> 28468:     __gthread_recursive_mutex_t* gthread_recursive_mutex(void)
> 28468:     { return &_M_mutex; }
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class __scoped_lock
> 28468:   {
> 28468:   public:
> 28468:     typedef __mutex __mutex_type;
> 28468: 
> 28468:   private:
> 28468:     __mutex_type& _M_device;
> 28468: 
> 28468:     __scoped_lock(const __scoped_lock&);
> 28468:     __scoped_lock& operator=(const __scoped_lock&);
> 28468: 
> 28468:   public:
> 28468:     explicit __scoped_lock(__mutex_type& __name) : _M_device(__name)
> 28468:     { _M_device.lock(); }
> 28468: 
> 28468:     ~__scoped_lock() throw()
> 28468:     { _M_device.unlock(); }
> 28468:   };
> 28468: 
> 28468: 
> 28468:   class __cond
> 28468:   {
> 28468:   private:
> 28468: 
> 28468:     __gthread_cond_t _M_cond = { { {0}, {0}, {0, 0}, {0, 0}, 0, 0, {0, 0} } };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     __cond(const __cond&);
> 28468:     __cond& operator=(const __cond&);
> 28468: 
> 28468:   public:
> 28468:     __cond()
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     }
> 28468: # 277 "/usr/include/c++/9/ext/concurrence.h" 3
> 28468:     void broadcast()
> 28468:     {
> 28468: 
> 28468:       if (__gthread_active_p())
> 28468:  {
> 28468:    if (__gthread_cond_broadcast(&_M_cond) != 0)
> 28468:      __throw_concurrence_broadcast_error();
> 28468:  }
> 28468: 
> 28468:     }
> 28468: 
> 28468:     void wait(__mutex *mutex)
> 28468:     {
> 28468: 
> 28468:       {
> 28468:    if (__gthread_cond_wait(&_M_cond, mutex->gthread_mutex()) != 0)
> 28468:      __throw_concurrence_wait_error();
> 28468:       }
> 28468: 
> 28468:     }
> 28468: 
> 28468:     void wait_recursive(__recursive_mutex *mutex)
> 28468:     {
> 28468: 
> 28468:       {
> 28468:    if (__gthread_cond_wait_recursive(&_M_cond,
> 28468:          mutex->gthread_recursive_mutex())
> 28468:        != 0)
> 28468:      __throw_concurrence_wait_error();
> 28468:       }
> 28468: 
> 28468:     }
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 75 "/usr/include/c++/9/memory" 2 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/uses_allocator.h" 1 3
> 28468: # 35 "/usr/include/c++/9/bits/uses_allocator.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct __erased_type { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc, typename _Tp>
> 28468:     using __is_erased_or_convertible
> 28468:       = __or_<is_convertible<_Alloc, _Tp>, is_same<_Tp, __erased_type>>;
> 28468: 
> 28468: 
> 28468:   struct allocator_arg_t { explicit allocator_arg_t() = default; };
> 28468: 
> 28468:   constexpr allocator_arg_t allocator_arg =
> 28468:     allocator_arg_t();
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, typename = __void_t<>>
> 28468:     struct __uses_allocator_helper
> 28468:     : false_type { };
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     struct __uses_allocator_helper<_Tp, _Alloc,
> 28468:        __void_t<typename _Tp::allocator_type>>
> 28468:     : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     struct uses_allocator
> 28468:     : __uses_allocator_helper<_Tp, _Alloc>::type
> 28468:     { };
> 28468: 
> 28468:   struct __uses_alloc_base { };
> 28468: 
> 28468:   struct __uses_alloc0 : __uses_alloc_base
> 28468:   {
> 28468:     struct _Sink { void operator=(const void*) { } } _M_a;
> 28468:   };
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; };
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; };
> 28468: 
> 28468:   template<bool, typename _Tp, typename _Alloc, typename... _Args>
> 28468:     struct __uses_alloc;
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:     struct __uses_alloc<true, _Tp, _Alloc, _Args...>
> 28468:     : conditional<
> 28468:         is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>::value,
> 28468:         __uses_alloc1<_Alloc>,
> 28468:         __uses_alloc2<_Alloc>>::type
> 28468:     {
> 28468: 
> 28468: 
> 28468:       static_assert(__or_<
> 28468:    is_constructible<_Tp, allocator_arg_t, const _Alloc&, _Args...>,
> 28468:    is_constructible<_Tp, _Args..., const _Alloc&>>::value,
> 28468:    "construction with an allocator must be possible"
> 28468:    " if uses_allocator is true");
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:     struct __uses_alloc<false, _Tp, _Alloc, _Args...>
> 28468:     : __uses_alloc0 { };
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:     using __uses_alloc_t =
> 28468:       __uses_alloc<uses_allocator<_Tp, _Alloc>::value, _Tp, _Alloc, _Args...>;
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:     inline __uses_alloc_t<_Tp, _Alloc, _Args...>
> 28468:     __use_alloc(const _Alloc& __a)
> 28468:     {
> 28468:       __uses_alloc_t<_Tp, _Alloc, _Args...> __ret;
> 28468:       __ret._M_a = std::__addressof(__a);
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:     void
> 28468:     __use_alloc(const _Alloc&&) = delete;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<template<typename...> class _Predicate,
> 28468:     typename _Tp, typename _Alloc, typename... _Args>
> 28468:     struct __is_uses_allocator_predicate
> 28468:     : conditional<uses_allocator<_Tp, _Alloc>::value,
> 28468:       __or_<_Predicate<_Tp, allocator_arg_t, _Alloc, _Args...>,
> 28468:      _Predicate<_Tp, _Args..., _Alloc>>,
> 28468:       _Predicate<_Tp, _Args...>>::type { };
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:     struct __is_uses_allocator_constructible
> 28468:     : __is_uses_allocator_predicate<is_constructible, _Tp, _Alloc, _Args...>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:     struct __is_nothrow_uses_allocator_constructible
> 28468:     : __is_uses_allocator_predicate<is_nothrow_constructible,
> 28468:         _Tp, _Alloc, _Args...>
> 28468:     { };
> 28468: # 163 "/usr/include/c++/9/bits/uses_allocator.h" 3
> 28468:   template<typename _Tp, typename... _Args>
> 28468:     void __uses_allocator_construct_impl(__uses_alloc0 __a, _Tp* __ptr,
> 28468:       _Args&&... __args)
> 28468:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)...); }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:     void __uses_allocator_construct_impl(__uses_alloc1<_Alloc> __a, _Tp* __ptr,
> 28468:       _Args&&... __args)
> 28468:     {
> 28468:       ::new ((void*)__ptr) _Tp(allocator_arg, *__a._M_a,
> 28468:           std::forward<_Args>(__args)...);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:     void __uses_allocator_construct_impl(__uses_alloc2<_Alloc> __a, _Tp* __ptr,
> 28468:       _Args&&... __args)
> 28468:     { ::new ((void*)__ptr) _Tp(std::forward<_Args>(__args)..., *__a._M_a); }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:     void __uses_allocator_construct(const _Alloc& __a, _Tp* __ptr,
> 28468:         _Args&&... __args)
> 28468:     {
> 28468:       std::__uses_allocator_construct_impl(
> 28468:    std::__use_alloc<_Tp, _Alloc, _Args...>(__a), __ptr,
> 28468:    std::forward<_Args>(__args)...);
> 28468:     }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 78 "/usr/include/c++/9/memory" 2 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/unique_ptr.h" 1 3
> 28468: # 36 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468: # 1 "/usr/include/c++/9/utility" 1 3
> 28468: # 58 "/usr/include/c++/9/utility" 3
> 28468:        
> 28468: # 59 "/usr/include/c++/9/utility" 3
> 28468: # 69 "/usr/include/c++/9/utility" 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_relops.h" 1 3
> 28468: # 67 "/usr/include/c++/9/bits/stl_relops.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   namespace rel_ops
> 28468:   {
> 28468: # 85 "/usr/include/c++/9/bits/stl_relops.h" 3
> 28468:     template <class _Tp>
> 28468:       inline bool
> 28468:       operator!=(const _Tp& __x, const _Tp& __y)
> 28468:       { return !(__x == __y); }
> 28468: # 98 "/usr/include/c++/9/bits/stl_relops.h" 3
> 28468:     template <class _Tp>
> 28468:       inline bool
> 28468:       operator>(const _Tp& __x, const _Tp& __y)
> 28468:       { return __y < __x; }
> 28468: # 111 "/usr/include/c++/9/bits/stl_relops.h" 3
> 28468:     template <class _Tp>
> 28468:       inline bool
> 28468:       operator<=(const _Tp& __x, const _Tp& __y)
> 28468:       { return !(__y < __x); }
> 28468: # 124 "/usr/include/c++/9/bits/stl_relops.h" 3
> 28468:     template <class _Tp>
> 28468:       inline bool
> 28468:       operator>=(const _Tp& __x, const _Tp& __y)
> 28468:       { return !(__x < __y); }
> 28468:   }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 70 "/usr/include/c++/9/utility" 2 3
> 28468: # 78 "/usr/include/c++/9/utility" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct tuple_size;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp,
> 28468:     typename _Up = typename remove_cv<_Tp>::type,
> 28468:     typename = typename enable_if<is_same<_Tp, _Up>::value>::type,
> 28468:     size_t = tuple_size<_Tp>::value>
> 28468:     using __enable_if_has_tuple_size = _Tp;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct tuple_size<const __enable_if_has_tuple_size<_Tp>>
> 28468:     : public tuple_size<_Tp> { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct tuple_size<volatile __enable_if_has_tuple_size<_Tp>>
> 28468:     : public tuple_size<_Tp> { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct tuple_size<const volatile __enable_if_has_tuple_size<_Tp>>
> 28468:     : public tuple_size<_Tp> { };
> 28468: 
> 28468: 
> 28468:   template<std::size_t __i, typename _Tp>
> 28468:     struct tuple_element;
> 28468: 
> 28468: 
> 28468:   template<std::size_t __i, typename _Tp>
> 28468:     using __tuple_element_t = typename tuple_element<__i, _Tp>::type;
> 28468: 
> 28468:   template<std::size_t __i, typename _Tp>
> 28468:     struct tuple_element<__i, const _Tp>
> 28468:     {
> 28468:       typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type;
> 28468:     };
> 28468: 
> 28468:   template<std::size_t __i, typename _Tp>
> 28468:     struct tuple_element<__i, volatile _Tp>
> 28468:     {
> 28468:       typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type;
> 28468:     };
> 28468: 
> 28468:   template<std::size_t __i, typename _Tp>
> 28468:     struct tuple_element<__i, const volatile _Tp>
> 28468:     {
> 28468:       typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type;
> 28468:     };
> 28468: # 147 "/usr/include/c++/9/utility" 3
> 28468:   template<typename _T1, typename _T2>
> 28468:     struct __is_tuple_like_impl<std::pair<_T1, _T2>> : true_type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<class _Tp1, class _Tp2>
> 28468:     struct tuple_size<std::pair<_Tp1, _Tp2>>
> 28468:     : public integral_constant<std::size_t, 2> { };
> 28468: 
> 28468: 
> 28468:   template<class _Tp1, class _Tp2>
> 28468:     struct tuple_element<0, std::pair<_Tp1, _Tp2>>
> 28468:     { typedef _Tp1 type; };
> 28468: 
> 28468: 
> 28468:   template<class _Tp1, class _Tp2>
> 28468:     struct tuple_element<1, std::pair<_Tp1, _Tp2>>
> 28468:     { typedef _Tp2 type; };
> 28468: 
> 28468:   template<std::size_t _Int>
> 28468:     struct __pair_get;
> 28468: 
> 28468:   template<>
> 28468:     struct __pair_get<0>
> 28468:     {
> 28468:       template<typename _Tp1, typename _Tp2>
> 28468:         static constexpr _Tp1&
> 28468:         __get(std::pair<_Tp1, _Tp2>& __pair) noexcept
> 28468:         { return __pair.first; }
> 28468: 
> 28468:       template<typename _Tp1, typename _Tp2>
> 28468:         static constexpr _Tp1&&
> 28468:         __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept
> 28468:         { return std::forward<_Tp1>(__pair.first); }
> 28468: 
> 28468:       template<typename _Tp1, typename _Tp2>
> 28468:         static constexpr const _Tp1&
> 28468:         __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept
> 28468:         { return __pair.first; }
> 28468: 
> 28468:       template<typename _Tp1, typename _Tp2>
> 28468:         static constexpr const _Tp1&&
> 28468:         __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept
> 28468:         { return std::forward<const _Tp1>(__pair.first); }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct __pair_get<1>
> 28468:     {
> 28468:       template<typename _Tp1, typename _Tp2>
> 28468:         static constexpr _Tp2&
> 28468:         __get(std::pair<_Tp1, _Tp2>& __pair) noexcept
> 28468:         { return __pair.second; }
> 28468: 
> 28468:       template<typename _Tp1, typename _Tp2>
> 28468:         static constexpr _Tp2&&
> 28468:         __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept
> 28468:         { return std::forward<_Tp2>(__pair.second); }
> 28468: 
> 28468:       template<typename _Tp1, typename _Tp2>
> 28468:         static constexpr const _Tp2&
> 28468:         __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept
> 28468:         { return __pair.second; }
> 28468: 
> 28468:       template<typename _Tp1, typename _Tp2>
> 28468:         static constexpr const _Tp2&&
> 28468:         __const_move_get(const std::pair<_Tp1, _Tp2>&& __pair) noexcept
> 28468:         { return std::forward<const _Tp2>(__pair.second); }
> 28468:     };
> 28468: 
> 28468:   template<std::size_t _Int, class _Tp1, class _Tp2>
> 28468:     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
> 28468:     get(std::pair<_Tp1, _Tp2>& __in) noexcept
> 28468:     { return __pair_get<_Int>::__get(__in); }
> 28468: 
> 28468:   template<std::size_t _Int, class _Tp1, class _Tp2>
> 28468:     constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
> 28468:     get(std::pair<_Tp1, _Tp2>&& __in) noexcept
> 28468:     { return __pair_get<_Int>::__move_get(std::move(__in)); }
> 28468: 
> 28468:   template<std::size_t _Int, class _Tp1, class _Tp2>
> 28468:     constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&
> 28468:     get(const std::pair<_Tp1, _Tp2>& __in) noexcept
> 28468:     { return __pair_get<_Int>::__const_get(__in); }
> 28468: 
> 28468:   template<std::size_t _Int, class _Tp1, class _Tp2>
> 28468:     constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&&
> 28468:     get(const std::pair<_Tp1, _Tp2>&& __in) noexcept
> 28468:     { return __pair_get<_Int>::__const_move_get(std::move(__in)); }
> 28468: # 292 "/usr/include/c++/9/utility" 3
> 28468:   template<size_t... _Indexes> struct _Index_tuple { };
> 28468: # 301 "/usr/include/c++/9/utility" 3
> 28468:   template<size_t _Num>
> 28468:     struct _Build_index_tuple
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       using __type = _Index_tuple<__integer_pack(_Num)...>;
> 28468: 
> 28468:     };
> 28468: # 396 "/usr/include/c++/9/utility" 3
> 28468: 
> 28468: }
> 28468: # 37 "/usr/include/c++/9/bits/unique_ptr.h" 2 3
> 28468: # 1 "/usr/include/c++/9/tuple" 1 3
> 28468: # 32 "/usr/include/c++/9/tuple" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/tuple" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/array" 1 3
> 28468: # 32 "/usr/include/c++/9/array" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/array" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/stdexcept" 1 3
> 28468: # 36 "/usr/include/c++/9/stdexcept" 3
> 28468:        
> 28468: # 37 "/usr/include/c++/9/stdexcept" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct __cow_string
> 28468:   {
> 28468:     union {
> 28468:       const char* _M_p;
> 28468:       char _M_bytes[sizeof(const char*)];
> 28468:     };
> 28468: 
> 28468:     __cow_string();
> 28468:     __cow_string(const std::string&);
> 28468:     __cow_string(const char*, size_t);
> 28468:     __cow_string(const __cow_string&) noexcept;
> 28468:     __cow_string& operator=(const __cow_string&) noexcept;
> 28468:     ~__cow_string();
> 28468: 
> 28468:     __cow_string(__cow_string&&) noexcept;
> 28468:     __cow_string& operator=(__cow_string&&) noexcept;
> 28468: 
> 28468:   };
> 28468: 
> 28468:   typedef basic_string<char> __sso_string;
> 28468: # 113 "/usr/include/c++/9/stdexcept" 3
> 28468:   class logic_error : public exception
> 28468:   {
> 28468:     __cow_string _M_msg;
> 28468: 
> 28468:   public:
> 28468: 
> 28468:     explicit
> 28468:     logic_error(const string& __arg) ;
> 28468: 
> 28468: 
> 28468:     explicit
> 28468:     logic_error(const char*) ;
> 28468: 
> 28468:     logic_error(logic_error&&) noexcept;
> 28468:     logic_error& operator=(logic_error&&) noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468:     logic_error(const logic_error&) noexcept;
> 28468:     logic_error& operator=(const logic_error&) noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual ~logic_error() noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual const char*
> 28468:     what() const noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468:   class domain_error : public logic_error
> 28468:   {
> 28468:   public:
> 28468:     explicit domain_error(const string& __arg) ;
> 28468: 
> 28468:     explicit domain_error(const char*) ;
> 28468:     domain_error(const domain_error&) = default;
> 28468:     domain_error& operator=(const domain_error&) = default;
> 28468:     domain_error(domain_error&&) = default;
> 28468:     domain_error& operator=(domain_error&&) = default;
> 28468: 
> 28468:     virtual ~domain_error() noexcept;
> 28468:   };
> 28468: 
> 28468: 
> 28468:   class invalid_argument : public logic_error
> 28468:   {
> 28468:   public:
> 28468:     explicit invalid_argument(const string& __arg) ;
> 28468: 
> 28468:     explicit invalid_argument(const char*) ;
> 28468:     invalid_argument(const invalid_argument&) = default;
> 28468:     invalid_argument& operator=(const invalid_argument&) = default;
> 28468:     invalid_argument(invalid_argument&&) = default;
> 28468:     invalid_argument& operator=(invalid_argument&&) = default;
> 28468: 
> 28468:     virtual ~invalid_argument() noexcept;
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468:   class length_error : public logic_error
> 28468:   {
> 28468:   public:
> 28468:     explicit length_error(const string& __arg) ;
> 28468: 
> 28468:     explicit length_error(const char*) ;
> 28468:     length_error(const length_error&) = default;
> 28468:     length_error& operator=(const length_error&) = default;
> 28468:     length_error(length_error&&) = default;
> 28468:     length_error& operator=(length_error&&) = default;
> 28468: 
> 28468:     virtual ~length_error() noexcept;
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468:   class out_of_range : public logic_error
> 28468:   {
> 28468:   public:
> 28468:     explicit out_of_range(const string& __arg) ;
> 28468: 
> 28468:     explicit out_of_range(const char*) ;
> 28468:     out_of_range(const out_of_range&) = default;
> 28468:     out_of_range& operator=(const out_of_range&) = default;
> 28468:     out_of_range(out_of_range&&) = default;
> 28468:     out_of_range& operator=(out_of_range&&) = default;
> 28468: 
> 28468:     virtual ~out_of_range() noexcept;
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class runtime_error : public exception
> 28468:   {
> 28468:     __cow_string _M_msg;
> 28468: 
> 28468:   public:
> 28468: 
> 28468:     explicit
> 28468:     runtime_error(const string& __arg) ;
> 28468: 
> 28468: 
> 28468:     explicit
> 28468:     runtime_error(const char*) ;
> 28468: 
> 28468:     runtime_error(runtime_error&&) noexcept;
> 28468:     runtime_error& operator=(runtime_error&&) noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468:     runtime_error(const runtime_error&) noexcept;
> 28468:     runtime_error& operator=(const runtime_error&) noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual ~runtime_error() noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual const char*
> 28468:     what() const noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   };
> 28468: 
> 28468: 
> 28468:   class range_error : public runtime_error
> 28468:   {
> 28468:   public:
> 28468:     explicit range_error(const string& __arg) ;
> 28468: 
> 28468:     explicit range_error(const char*) ;
> 28468:     range_error(const range_error&) = default;
> 28468:     range_error& operator=(const range_error&) = default;
> 28468:     range_error(range_error&&) = default;
> 28468:     range_error& operator=(range_error&&) = default;
> 28468: 
> 28468:     virtual ~range_error() noexcept;
> 28468:   };
> 28468: 
> 28468: 
> 28468:   class overflow_error : public runtime_error
> 28468:   {
> 28468:   public:
> 28468:     explicit overflow_error(const string& __arg) ;
> 28468: 
> 28468:     explicit overflow_error(const char*) ;
> 28468:     overflow_error(const overflow_error&) = default;
> 28468:     overflow_error& operator=(const overflow_error&) = default;
> 28468:     overflow_error(overflow_error&&) = default;
> 28468:     overflow_error& operator=(overflow_error&&) = default;
> 28468: 
> 28468:     virtual ~overflow_error() noexcept;
> 28468:   };
> 28468: 
> 28468: 
> 28468:   class underflow_error : public runtime_error
> 28468:   {
> 28468:   public:
> 28468:     explicit underflow_error(const string& __arg) ;
> 28468: 
> 28468:     explicit underflow_error(const char*) ;
> 28468:     underflow_error(const underflow_error&) = default;
> 28468:     underflow_error& operator=(const underflow_error&) = default;
> 28468:     underflow_error(underflow_error&&) = default;
> 28468:     underflow_error& operator=(underflow_error&&) = default;
> 28468: 
> 28468:     virtual ~underflow_error() noexcept;
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 40 "/usr/include/c++/9/array" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Nm>
> 28468:     struct __array_traits
> 28468:     {
> 28468:       typedef _Tp _Type[_Nm];
> 28468:       typedef __is_swappable<_Tp> _Is_swappable;
> 28468:       typedef __is_nothrow_swappable<_Tp> _Is_nothrow_swappable;
> 28468: 
> 28468:       static constexpr _Tp&
> 28468:       _S_ref(const _Type& __t, std::size_t __n) noexcept
> 28468:       { return const_cast<_Tp&>(__t[__n]); }
> 28468: 
> 28468:       static constexpr _Tp*
> 28468:       _S_ptr(const _Type& __t) noexcept
> 28468:       { return const_cast<_Tp*>(__t); }
> 28468:     };
> 28468: 
> 28468:  template<typename _Tp>
> 28468:    struct __array_traits<_Tp, 0>
> 28468:    {
> 28468:      struct _Type { };
> 28468:      typedef true_type _Is_swappable;
> 28468:      typedef true_type _Is_nothrow_swappable;
> 28468: 
> 28468:      static constexpr _Tp&
> 28468:      _S_ref(const _Type&, std::size_t) noexcept
> 28468:      { return *static_cast<_Tp*>(nullptr); }
> 28468: 
> 28468:      static constexpr _Tp*
> 28468:      _S_ptr(const _Type&) noexcept
> 28468:      { return nullptr; }
> 28468:    };
> 28468: # 93 "/usr/include/c++/9/array" 3
> 28468:   template<typename _Tp, std::size_t _Nm>
> 28468:     struct array
> 28468:     {
> 28468:       typedef _Tp value_type;
> 28468:       typedef value_type* pointer;
> 28468:       typedef const value_type* const_pointer;
> 28468:       typedef value_type& reference;
> 28468:       typedef const value_type& const_reference;
> 28468:       typedef value_type* iterator;
> 28468:       typedef const value_type* const_iterator;
> 28468:       typedef std::size_t size_type;
> 28468:       typedef std::ptrdiff_t difference_type;
> 28468:       typedef std::reverse_iterator<iterator> reverse_iterator;
> 28468:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
> 28468: 
> 28468: 
> 28468:       typedef std::__array_traits<_Tp, _Nm> _AT_Type;
> 28468:       typename _AT_Type::_Type _M_elems;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       fill(const value_type& __u)
> 28468:       { std::fill_n(begin(), size(), __u); }
> 28468: 
> 28468:       void
> 28468:       swap(array& __other)
> 28468:       noexcept(_AT_Type::_Is_nothrow_swappable::value)
> 28468:       { std::swap_ranges(begin(), end(), __other.begin()); }
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       begin() noexcept
> 28468:       { return iterator(data()); }
> 28468: 
> 28468:       const_iterator
> 28468:       begin() const noexcept
> 28468:       { return const_iterator(data()); }
> 28468: 
> 28468:       iterator
> 28468:       end() noexcept
> 28468:       { return iterator(data() + _Nm); }
> 28468: 
> 28468:       const_iterator
> 28468:       end() const noexcept
> 28468:       { return const_iterator(data() + _Nm); }
> 28468: 
> 28468:       reverse_iterator
> 28468:       rbegin() noexcept
> 28468:       { return reverse_iterator(end()); }
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rbegin() const noexcept
> 28468:       { return const_reverse_iterator(end()); }
> 28468: 
> 28468:       reverse_iterator
> 28468:       rend() noexcept
> 28468:       { return reverse_iterator(begin()); }
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rend() const noexcept
> 28468:       { return const_reverse_iterator(begin()); }
> 28468: 
> 28468:       const_iterator
> 28468:       cbegin() const noexcept
> 28468:       { return const_iterator(data()); }
> 28468: 
> 28468:       const_iterator
> 28468:       cend() const noexcept
> 28468:       { return const_iterator(data() + _Nm); }
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crbegin() const noexcept
> 28468:       { return const_reverse_iterator(end()); }
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crend() const noexcept
> 28468:       { return const_reverse_iterator(begin()); }
> 28468: 
> 28468: 
> 28468:       constexpr size_type
> 28468:       size() const noexcept { return _Nm; }
> 28468: 
> 28468:       constexpr size_type
> 28468:       max_size() const noexcept { return _Nm; }
> 28468: 
> 28468:       constexpr bool
> 28468:       empty() const noexcept { return size() == 0; }
> 28468: 
> 28468: 
> 28468:       reference
> 28468:       operator[](size_type __n) noexcept
> 28468:       { return _AT_Type::_S_ref(_M_elems, __n); }
> 28468: 
> 28468:       constexpr const_reference
> 28468:       operator[](size_type __n) const noexcept
> 28468:       { return _AT_Type::_S_ref(_M_elems, __n); }
> 28468: 
> 28468:       reference
> 28468:       at(size_type __n)
> 28468:       {
> 28468:  if (__n >= _Nm)
> 28468:    std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
> 28468:                                  ,
> 28468:      __n, _Nm);
> 28468:  return _AT_Type::_S_ref(_M_elems, __n);
> 28468:       }
> 28468: 
> 28468:       constexpr const_reference
> 28468:       at(size_type __n) const
> 28468:       {
> 28468: 
> 28468: 
> 28468:  return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n)
> 28468:    : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)")
> 28468:                                     ,
> 28468:         __n, _Nm),
> 28468:       _AT_Type::_S_ref(_M_elems, 0));
> 28468:       }
> 28468: 
> 28468:       reference
> 28468:       front() noexcept
> 28468:       { return *begin(); }
> 28468: 
> 28468:       constexpr const_reference
> 28468:       front() const noexcept
> 28468:       { return _AT_Type::_S_ref(_M_elems, 0); }
> 28468: 
> 28468:       reference
> 28468:       back() noexcept
> 28468:       { return _Nm ? *(end() - 1) : *end(); }
> 28468: 
> 28468:       constexpr const_reference
> 28468:       back() const noexcept
> 28468:       {
> 28468:  return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1)
> 28468:              : _AT_Type::_S_ref(_M_elems, 0);
> 28468:       }
> 28468: 
> 28468:       pointer
> 28468:       data() noexcept
> 28468:       { return _AT_Type::_S_ptr(_M_elems); }
> 28468: 
> 28468:       const_pointer
> 28468:       data() const noexcept
> 28468:       { return _AT_Type::_S_ptr(_M_elems); }
> 28468:     };
> 28468: # 250 "/usr/include/c++/9/array" 3
> 28468:   template<typename _Tp, std::size_t _Nm>
> 28468:     inline bool
> 28468:     operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
> 28468:     { return std::equal(__one.begin(), __one.end(), __two.begin()); }
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Nm>
> 28468:     inline bool
> 28468:     operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
> 28468:     { return !(__one == __two); }
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Nm>
> 28468:     inline bool
> 28468:     operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b)
> 28468:     {
> 28468:       return std::lexicographical_compare(__a.begin(), __a.end(),
> 28468:        __b.begin(), __b.end());
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Nm>
> 28468:     inline bool
> 28468:     operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
> 28468:     { return __two < __one; }
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Nm>
> 28468:     inline bool
> 28468:     operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
> 28468:     { return !(__one > __two); }
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Nm>
> 28468:     inline bool
> 28468:     operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two)
> 28468:     { return !(__one < __two); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Nm>
> 28468:     inline
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void
> 28468: 
> 28468:     swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two)
> 28468:     noexcept(noexcept(__one.swap(__two)))
> 28468:     { __one.swap(__two); }
> 28468: # 305 "/usr/include/c++/9/array" 3
> 28468:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
> 28468:     constexpr _Tp&
> 28468:     get(array<_Tp, _Nm>& __arr) noexcept
> 28468:     {
> 28468:       static_assert(_Int < _Nm, "array index is within bounds");
> 28468:       return std::__array_traits<_Tp, _Nm>::
> 28468:  _S_ref(__arr._M_elems, _Int);
> 28468:     }
> 28468: 
> 28468:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
> 28468:     constexpr _Tp&&
> 28468:     get(array<_Tp, _Nm>&& __arr) noexcept
> 28468:     {
> 28468:       static_assert(_Int < _Nm, "array index is within bounds");
> 28468:       return std::move(std::get<_Int>(__arr));
> 28468:     }
> 28468: 
> 28468:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
> 28468:     constexpr const _Tp&
> 28468:     get(const array<_Tp, _Nm>& __arr) noexcept
> 28468:     {
> 28468:       static_assert(_Int < _Nm, "array index is within bounds");
> 28468:       return std::__array_traits<_Tp, _Nm>::
> 28468:  _S_ref(__arr._M_elems, _Int);
> 28468:     }
> 28468: 
> 28468:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
> 28468:     constexpr const _Tp&&
> 28468:     get(const array<_Tp, _Nm>&& __arr) noexcept
> 28468:     {
> 28468:       static_assert(_Int < _Nm, "array index is within bounds");
> 28468:       return std::move(std::get<_Int>(__arr));
> 28468:     }
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct tuple_size;
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Nm>
> 28468:     struct tuple_size<std::array<_Tp, _Nm>>
> 28468:     : public integral_constant<std::size_t, _Nm> { };
> 28468: 
> 28468: 
> 28468:   template<std::size_t _Int, typename _Tp>
> 28468:     struct tuple_element;
> 28468: 
> 28468: 
> 28468:   template<std::size_t _Int, typename _Tp, std::size_t _Nm>
> 28468:     struct tuple_element<_Int, std::array<_Tp, _Nm>>
> 28468:     {
> 28468:       static_assert(_Int < _Nm, "index is out of bounds");
> 28468:       typedef _Tp type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, std::size_t _Nm>
> 28468:     struct __is_tuple_like_impl<std::array<_Tp, _Nm>> : true_type
> 28468:     { };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 40 "/usr/include/c++/9/tuple" 2 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/invoke.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/invoke.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/invoke.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 52 "/usr/include/c++/9/bits/invoke.h" 3
> 28468:   template<typename _Tp, typename _Up = typename __inv_unwrap<_Tp>::type>
> 28468:     constexpr _Up&&
> 28468:     __invfwd(typename remove_reference<_Tp>::type& __t) noexcept
> 28468:     { return static_cast<_Up&&>(__t); }
> 28468: 
> 28468:   template<typename _Res, typename _Fn, typename... _Args>
> 28468:     constexpr _Res
> 28468:     __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args)
> 28468:     { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); }
> 28468: 
> 28468:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
> 28468:     constexpr _Res
> 28468:     __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t,
> 28468:     _Args&&... __args)
> 28468:     { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); }
> 28468: 
> 28468:   template<typename _Res, typename _MemFun, typename _Tp, typename... _Args>
> 28468:     constexpr _Res
> 28468:     __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t,
> 28468:     _Args&&... __args)
> 28468:     {
> 28468:       return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...);
> 28468:     }
> 28468: 
> 28468:   template<typename _Res, typename _MemPtr, typename _Tp>
> 28468:     constexpr _Res
> 28468:     __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t)
> 28468:     { return __invfwd<_Tp>(__t).*__f; }
> 28468: 
> 28468:   template<typename _Res, typename _MemPtr, typename _Tp>
> 28468:     constexpr _Res
> 28468:     __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t)
> 28468:     { return (*std::forward<_Tp>(__t)).*__f; }
> 28468: 
> 28468: 
> 28468:   template<typename _Callable, typename... _Args>
> 28468:     constexpr typename __invoke_result<_Callable, _Args...>::type
> 28468:     __invoke(_Callable&& __fn, _Args&&... __args)
> 28468:     noexcept(__is_nothrow_invocable<_Callable, _Args...>::value)
> 28468:     {
> 28468:       using __result = __invoke_result<_Callable, _Args...>;
> 28468:       using __type = typename __result::type;
> 28468:       using __tag = typename __result::__invoke_type;
> 28468:       return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn),
> 28468:      std::forward<_Args>(__args)...);
> 28468:     }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 42 "/usr/include/c++/9/tuple" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename... _Elements>
> 28468:     class tuple;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_empty_non_tuple : is_empty<_Tp> { };
> 28468: 
> 28468: 
> 28468:   template<typename _El0, typename... _El>
> 28468:     struct __is_empty_non_tuple<tuple<_El0, _El...>> : false_type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     using __empty_not_final
> 28468:     = typename conditional<__is_final(_Tp), false_type,
> 28468:       __is_empty_non_tuple<_Tp>>::type;
> 28468: 
> 28468:   template<std::size_t _Idx, typename _Head,
> 28468:     bool = __empty_not_final<_Head>::value>
> 28468:     struct _Head_base;
> 28468: 
> 28468:   template<std::size_t _Idx, typename _Head>
> 28468:     struct _Head_base<_Idx, _Head, true>
> 28468:     : public _Head
> 28468:     {
> 28468:       constexpr _Head_base()
> 28468:       : _Head() { }
> 28468: 
> 28468:       constexpr _Head_base(const _Head& __h)
> 28468:       : _Head(__h) { }
> 28468: 
> 28468:       constexpr _Head_base(const _Head_base&) = default;
> 28468:       constexpr _Head_base(_Head_base&&) = default;
> 28468: 
> 28468:       template<typename _UHead>
> 28468:         constexpr _Head_base(_UHead&& __h)
> 28468:  : _Head(std::forward<_UHead>(__h)) { }
> 28468: 
> 28468:       _Head_base(allocator_arg_t, __uses_alloc0)
> 28468:       : _Head() { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
> 28468:  : _Head(allocator_arg, *__a._M_a) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
> 28468:  : _Head(*__a._M_a) { }
> 28468: 
> 28468:       template<typename _UHead>
> 28468:  _Head_base(__uses_alloc0, _UHead&& __uhead)
> 28468:  : _Head(std::forward<_UHead>(__uhead)) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _UHead>
> 28468:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
> 28468:  : _Head(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _UHead>
> 28468:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
> 28468:  : _Head(std::forward<_UHead>(__uhead), *__a._M_a) { }
> 28468: 
> 28468:       static constexpr _Head&
> 28468:       _M_head(_Head_base& __b) noexcept { return __b; }
> 28468: 
> 28468:       static constexpr const _Head&
> 28468:       _M_head(const _Head_base& __b) noexcept { return __b; }
> 28468:     };
> 28468: 
> 28468:   template<std::size_t _Idx, typename _Head>
> 28468:     struct _Head_base<_Idx, _Head, false>
> 28468:     {
> 28468:       constexpr _Head_base()
> 28468:       : _M_head_impl() { }
> 28468: 
> 28468:       constexpr _Head_base(const _Head& __h)
> 28468:       : _M_head_impl(__h) { }
> 28468: 
> 28468:       constexpr _Head_base(const _Head_base&) = default;
> 28468:       constexpr _Head_base(_Head_base&&) = default;
> 28468: 
> 28468:       template<typename _UHead>
> 28468:         constexpr _Head_base(_UHead&& __h)
> 28468:  : _M_head_impl(std::forward<_UHead>(__h)) { }
> 28468: 
> 28468:       _Head_base(allocator_arg_t, __uses_alloc0)
> 28468:       : _M_head_impl() { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a)
> 28468:  : _M_head_impl(allocator_arg, *__a._M_a) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a)
> 28468:  : _M_head_impl(*__a._M_a) { }
> 28468: 
> 28468:       template<typename _UHead>
> 28468:  _Head_base(__uses_alloc0, _UHead&& __uhead)
> 28468:  : _M_head_impl(std::forward<_UHead>(__uhead)) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _UHead>
> 28468:  _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead)
> 28468:  : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Alloc, typename _UHead>
> 28468:  _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead)
> 28468:  : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { }
> 28468: 
> 28468:       static constexpr _Head&
> 28468:       _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; }
> 28468: 
> 28468:       static constexpr const _Head&
> 28468:       _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; }
> 28468: 
> 28468:       _Head _M_head_impl;
> 28468:     };
> 28468: # 176 "/usr/include/c++/9/tuple" 3
> 28468:   template<std::size_t _Idx, typename... _Elements>
> 28468:     struct _Tuple_impl;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<std::size_t _Idx, typename _Head, typename... _Tail>
> 28468:     struct _Tuple_impl<_Idx, _Head, _Tail...>
> 28468:     : public _Tuple_impl<_Idx + 1, _Tail...>,
> 28468:       private _Head_base<_Idx, _Head>
> 28468:     {
> 28468:       template<std::size_t, typename...> friend class _Tuple_impl;
> 28468: 
> 28468:       typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited;
> 28468:       typedef _Head_base<_Idx, _Head> _Base;
> 28468: 
> 28468:       static constexpr _Head&
> 28468:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
> 28468: 
> 28468:       static constexpr const _Head&
> 28468:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
> 28468: 
> 28468:       static constexpr _Inherited&
> 28468:       _M_tail(_Tuple_impl& __t) noexcept { return __t; }
> 28468: 
> 28468:       static constexpr const _Inherited&
> 28468:       _M_tail(const _Tuple_impl& __t) noexcept { return __t; }
> 28468: 
> 28468:       constexpr _Tuple_impl()
> 28468:       : _Inherited(), _Base() { }
> 28468: 
> 28468:       explicit
> 28468:       constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail)
> 28468:       : _Inherited(__tail...), _Base(__head) { }
> 28468: 
> 28468:       template<typename _UHead, typename... _UTail, typename = typename
> 28468:                enable_if<sizeof...(_Tail) == sizeof...(_UTail)>::type>
> 28468:         explicit
> 28468:         constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail)
> 28468:  : _Inherited(std::forward<_UTail>(__tail)...),
> 28468:    _Base(std::forward<_UHead>(__head)) { }
> 28468: 
> 28468:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
> 28468: 
> 28468: 
> 28468: 
> 28468:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
> 28468: 
> 28468:       constexpr
> 28468:       _Tuple_impl(_Tuple_impl&& __in)
> 28468:       noexcept(__and_<is_nothrow_move_constructible<_Head>,
> 28468:                is_nothrow_move_constructible<_Inherited>>::value)
> 28468:       : _Inherited(std::move(_M_tail(__in))),
> 28468:  _Base(std::forward<_Head>(_M_head(__in))) { }
> 28468: 
> 28468:       template<typename... _UElements>
> 28468:         constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in)
> 28468:  : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)),
> 28468:    _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { }
> 28468: 
> 28468:       template<typename _UHead, typename... _UTails>
> 28468:         constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
> 28468:  : _Inherited(std::move
> 28468:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
> 28468:    _Base(std::forward<_UHead>
> 28468:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
> 28468:  : _Inherited(__tag, __a),
> 28468:           _Base(__tag, __use_alloc<_Head>(__a)) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:       const _Head& __head, const _Tail&... __tail)
> 28468:  : _Inherited(__tag, __a, __tail...),
> 28468:           _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _UHead, typename... _UTail,
> 28468:                typename = typename enable_if<sizeof...(_Tail)
> 28468:           == sizeof...(_UTail)>::type>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:              _UHead&& __head, _UTail&&... __tail)
> 28468:  : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...),
> 28468:           _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
> 28468:          std::forward<_UHead>(__head)) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:         _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:              const _Tuple_impl& __in)
> 28468:  : _Inherited(__tag, __a, _M_tail(__in)),
> 28468:           _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:              _Tuple_impl&& __in)
> 28468:  : _Inherited(__tag, __a, std::move(_M_tail(__in))),
> 28468:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
> 28468:          std::forward<_Head>(_M_head(__in))) { }
> 28468: 
> 28468:       template<typename _Alloc, typename... _UElements>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:              const _Tuple_impl<_Idx, _UElements...>& __in)
> 28468:  : _Inherited(__tag, __a,
> 28468:        _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)),
> 28468:    _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
> 28468:   _Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _UHead, typename... _UTails>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:              _Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
> 28468:  : _Inherited(__tag, __a, std::move
> 28468:        (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))),
> 28468:    _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
> 28468:                 std::forward<_UHead>
> 28468:   (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { }
> 28468: 
> 28468:       template<typename... _UElements>
> 28468:         void
> 28468:         _M_assign(const _Tuple_impl<_Idx, _UElements...>& __in)
> 28468:         {
> 28468:    _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in);
> 28468:    _M_tail(*this)._M_assign(
> 28468:        _Tuple_impl<_Idx, _UElements...>::_M_tail(__in));
> 28468:  }
> 28468: 
> 28468:       template<typename _UHead, typename... _UTails>
> 28468:         void
> 28468:         _M_assign(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in)
> 28468:         {
> 28468:    _M_head(*this) = std::forward<_UHead>
> 28468:      (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in));
> 28468:    _M_tail(*this)._M_assign(
> 28468:        std::move(_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)));
> 28468:  }
> 28468: 
> 28468:     protected:
> 28468:       void
> 28468:       _M_swap(_Tuple_impl& __in)
> 28468:       {
> 28468:  using std::swap;
> 28468:  swap(_M_head(*this), _M_head(__in));
> 28468:  _Inherited::_M_swap(_M_tail(__in));
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<std::size_t _Idx, typename _Head>
> 28468:     struct _Tuple_impl<_Idx, _Head>
> 28468:     : private _Head_base<_Idx, _Head>
> 28468:     {
> 28468:       template<std::size_t, typename...> friend class _Tuple_impl;
> 28468: 
> 28468:       typedef _Head_base<_Idx, _Head> _Base;
> 28468: 
> 28468:       static constexpr _Head&
> 28468:       _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
> 28468: 
> 28468:       static constexpr const _Head&
> 28468:       _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); }
> 28468: 
> 28468:       constexpr _Tuple_impl()
> 28468:       : _Base() { }
> 28468: 
> 28468:       explicit
> 28468:       constexpr _Tuple_impl(const _Head& __head)
> 28468:       : _Base(__head) { }
> 28468: 
> 28468:       template<typename _UHead>
> 28468:         explicit
> 28468:         constexpr _Tuple_impl(_UHead&& __head)
> 28468:  : _Base(std::forward<_UHead>(__head)) { }
> 28468: 
> 28468:       constexpr _Tuple_impl(const _Tuple_impl&) = default;
> 28468: 
> 28468: 
> 28468: 
> 28468:       _Tuple_impl& operator=(const _Tuple_impl&) = delete;
> 28468: 
> 28468:       constexpr
> 28468:       _Tuple_impl(_Tuple_impl&& __in)
> 28468:       noexcept(is_nothrow_move_constructible<_Head>::value)
> 28468:       : _Base(std::forward<_Head>(_M_head(__in))) { }
> 28468: 
> 28468:       template<typename _UHead>
> 28468:         constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in)
> 28468:  : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in)) { }
> 28468: 
> 28468:       template<typename _UHead>
> 28468:         constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in)
> 28468:  : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a)
> 28468:  : _Base(__tag, __use_alloc<_Head>(__a)) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:       const _Head& __head)
> 28468:  : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _UHead>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:              _UHead&& __head)
> 28468:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
> 28468:          std::forward<_UHead>(__head)) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:         _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:              const _Tuple_impl& __in)
> 28468:  : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:              _Tuple_impl&& __in)
> 28468:  : _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
> 28468:          std::forward<_Head>(_M_head(__in))) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _UHead>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:              const _Tuple_impl<_Idx, _UHead>& __in)
> 28468:  : _Base(__use_alloc<_Head, _Alloc, _Head>(__a),
> 28468:   _Tuple_impl<_Idx, _UHead>::_M_head(__in)) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _UHead>
> 28468:  _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a,
> 28468:              _Tuple_impl<_Idx, _UHead>&& __in)
> 28468:  : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a),
> 28468:                 std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)))
> 28468:  { }
> 28468: 
> 28468:       template<typename _UHead>
> 28468:         void
> 28468:         _M_assign(const _Tuple_impl<_Idx, _UHead>& __in)
> 28468:         {
> 28468:    _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in);
> 28468:  }
> 28468: 
> 28468:       template<typename _UHead>
> 28468:         void
> 28468:         _M_assign(_Tuple_impl<_Idx, _UHead>&& __in)
> 28468:         {
> 28468:    _M_head(*this)
> 28468:      = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in));
> 28468:  }
> 28468: 
> 28468:     protected:
> 28468:       void
> 28468:       _M_swap(_Tuple_impl& __in)
> 28468:       {
> 28468:  using std::swap;
> 28468:  swap(_M_head(*this), _M_head(__in));
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<bool, typename... _Elements>
> 28468:   struct _TC
> 28468:   {
> 28468:     template<typename... _UElements>
> 28468:     static constexpr bool _ConstructibleTuple()
> 28468:     {
> 28468:       return __and_<is_constructible<_Elements, const _UElements&>...>::value;
> 28468:     }
> 28468: 
> 28468:     template<typename... _UElements>
> 28468:     static constexpr bool _ImplicitlyConvertibleTuple()
> 28468:     {
> 28468:       return __and_<is_convertible<const _UElements&, _Elements>...>::value;
> 28468:     }
> 28468: 
> 28468:     template<typename... _UElements>
> 28468:     static constexpr bool _MoveConstructibleTuple()
> 28468:     {
> 28468:       return __and_<is_constructible<_Elements, _UElements&&>...>::value;
> 28468:     }
> 28468: 
> 28468:     template<typename... _UElements>
> 28468:     static constexpr bool _ImplicitlyMoveConvertibleTuple()
> 28468:     {
> 28468:       return __and_<is_convertible<_UElements&&, _Elements>...>::value;
> 28468:     }
> 28468: 
> 28468:     template<typename _SrcTuple>
> 28468:     static constexpr bool _NonNestedTuple()
> 28468:     {
> 28468:       return __and_<__not_<is_same<tuple<_Elements...>,
> 28468:         __remove_cvref_t<_SrcTuple>>>,
> 28468:                      __not_<is_convertible<_SrcTuple, _Elements...>>,
> 28468:                      __not_<is_constructible<_Elements..., _SrcTuple>>
> 28468:               >::value;
> 28468:     }
> 28468: 
> 28468:     template<typename... _UElements>
> 28468:     static constexpr bool _NotSameTuple()
> 28468:     {
> 28468:       return __not_<is_same<tuple<_Elements...>,
> 28468:         __remove_cvref_t<_UElements>...>>::value;
> 28468:     }
> 28468:   };
> 28468: 
> 28468:   template<typename... _Elements>
> 28468:   struct _TC<false, _Elements...>
> 28468:   {
> 28468:     template<typename... _UElements>
> 28468:     static constexpr bool _ConstructibleTuple()
> 28468:     {
> 28468:       return false;
> 28468:     }
> 28468: 
> 28468:     template<typename... _UElements>
> 28468:     static constexpr bool _ImplicitlyConvertibleTuple()
> 28468:     {
> 28468:       return false;
> 28468:     }
> 28468: 
> 28468:     template<typename... _UElements>
> 28468:     static constexpr bool _MoveConstructibleTuple()
> 28468:     {
> 28468:       return false;
> 28468:     }
> 28468: 
> 28468:     template<typename... _UElements>
> 28468:     static constexpr bool _ImplicitlyMoveConvertibleTuple()
> 28468:     {
> 28468:       return false;
> 28468:     }
> 28468: 
> 28468:     template<typename... _UElements>
> 28468:     static constexpr bool _NonNestedTuple()
> 28468:     {
> 28468:       return true;
> 28468:     }
> 28468: 
> 28468:     template<typename... _UElements>
> 28468:     static constexpr bool _NotSameTuple()
> 28468:     {
> 28468:       return true;
> 28468:     }
> 28468:   };
> 28468: 
> 28468: 
> 28468:   template<typename... _Elements>
> 28468:     class tuple : public _Tuple_impl<0, _Elements...>
> 28468:     {
> 28468:       typedef _Tuple_impl<0, _Elements...> _Inherited;
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Dummy>
> 28468:       struct _TC2
> 28468:       {
> 28468:         static constexpr bool _DefaultConstructibleTuple()
> 28468:         {
> 28468:           return __and_<is_default_constructible<_Elements>...>::value;
> 28468:         }
> 28468:         static constexpr bool _ImplicitlyDefaultConstructibleTuple()
> 28468:         {
> 28468:           return __and_<__is_implicitly_default_constructible<_Elements>...>
> 28468:             ::value;
> 28468:         }
> 28468:       };
> 28468: 
> 28468:       template<typename... _UElements>
> 28468:  static constexpr
> 28468:  __enable_if_t<sizeof...(_UElements) == sizeof...(_Elements), bool>
> 28468:  __assignable()
> 28468:  { return __and_<is_assignable<_Elements&, _UElements>...>::value; }
> 28468: 
> 28468:       template<typename... _UElements>
> 28468:  static constexpr bool __nothrow_assignable()
> 28468:  {
> 28468:    return
> 28468:      __and_<is_nothrow_assignable<_Elements&, _UElements>...>::value;
> 28468:  }
> 28468: 
> 28468:     public:
> 28468:       template<typename _Dummy = void,
> 28468:                typename enable_if<_TC2<_Dummy>::
> 28468:                                     _ImplicitlyDefaultConstructibleTuple(),
> 28468:                                   bool>::type = true>
> 28468:       constexpr tuple()
> 28468:       : _Inherited() { }
> 28468: 
> 28468:       template<typename _Dummy = void,
> 28468:                typename enable_if<_TC2<_Dummy>::
> 28468:                                     _DefaultConstructibleTuple()
> 28468:                                   &&
> 28468:                                   !_TC2<_Dummy>::
> 28468:                                     _ImplicitlyDefaultConstructibleTuple(),
> 28468:                                   bool>::type = false>
> 28468:       explicit constexpr tuple()
> 28468:       : _Inherited() { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Dummy> using _TCC =
> 28468:         _TC<is_same<_Dummy, void>::value,
> 28468:             _Elements...>;
> 28468: 
> 28468:       template<typename _Dummy = void,
> 28468:                typename enable_if<
> 28468:                  _TCC<_Dummy>::template
> 28468:                    _ConstructibleTuple<_Elements...>()
> 28468:                  && _TCC<_Dummy>::template
> 28468:                    _ImplicitlyConvertibleTuple<_Elements...>()
> 28468:                  && (sizeof...(_Elements) >= 1),
> 28468:                bool>::type=true>
> 28468:         constexpr tuple(const _Elements&... __elements)
> 28468:       : _Inherited(__elements...) { }
> 28468: 
> 28468:       template<typename _Dummy = void,
> 28468:                typename enable_if<
> 28468:                  _TCC<_Dummy>::template
> 28468:                    _ConstructibleTuple<_Elements...>()
> 28468:                  && !_TCC<_Dummy>::template
> 28468:                    _ImplicitlyConvertibleTuple<_Elements...>()
> 28468:                  && (sizeof...(_Elements) >= 1),
> 28468:                bool>::type=false>
> 28468:       explicit constexpr tuple(const _Elements&... __elements)
> 28468:       : _Inherited(__elements...) { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename... _UElements> using _TMC =
> 28468:                   _TC<(sizeof...(_Elements) == sizeof...(_UElements))
> 28468:         && (_TC<(sizeof...(_UElements)==1), _Elements...>::
> 28468:      template _NotSameTuple<_UElements...>()),
> 28468:                       _Elements...>;
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename... _UElements> using _TMCT =
> 28468:                   _TC<(sizeof...(_Elements) == sizeof...(_UElements))
> 28468:         && !is_same<tuple<_Elements...>,
> 28468:       tuple<_UElements...>>::value,
> 28468:                       _Elements...>;
> 28468: 
> 28468:       template<typename... _UElements, typename
> 28468:         enable_if<
> 28468:     _TMC<_UElements...>::template
> 28468:                     _MoveConstructibleTuple<_UElements...>()
> 28468:                   && _TMC<_UElements...>::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_UElements...>()
> 28468:                   && (sizeof...(_Elements) >= 1),
> 28468:         bool>::type=true>
> 28468:         constexpr tuple(_UElements&&... __elements)
> 28468:         : _Inherited(std::forward<_UElements>(__elements)...) { }
> 28468: 
> 28468:       template<typename... _UElements, typename
> 28468:         enable_if<
> 28468:     _TMC<_UElements...>::template
> 28468:                     _MoveConstructibleTuple<_UElements...>()
> 28468:                   && !_TMC<_UElements...>::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_UElements...>()
> 28468:                   && (sizeof...(_Elements) >= 1),
> 28468:         bool>::type=false>
> 28468:         explicit constexpr tuple(_UElements&&... __elements)
> 28468:  : _Inherited(std::forward<_UElements>(__elements)...) { }
> 28468: 
> 28468:       constexpr tuple(const tuple&) = default;
> 28468: 
> 28468:       constexpr tuple(tuple&&) = default;
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Dummy> using _TNTC =
> 28468:         _TC<is_same<_Dummy, void>::value && sizeof...(_Elements) == 1,
> 28468:             _Elements...>;
> 28468: 
> 28468:       template<typename... _UElements, typename _Dummy = void, typename
> 28468:         enable_if<_TMCT<_UElements...>::template
> 28468:                     _ConstructibleTuple<_UElements...>()
> 28468:                   && _TMCT<_UElements...>::template
> 28468:                     _ImplicitlyConvertibleTuple<_UElements...>()
> 28468:                   && _TNTC<_Dummy>::template
> 28468:                     _NonNestedTuple<const tuple<_UElements...>&>(),
> 28468:         bool>::type=true>
> 28468:         constexpr tuple(const tuple<_UElements...>& __in)
> 28468:         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
> 28468:         { }
> 28468: 
> 28468:       template<typename... _UElements, typename _Dummy = void, typename
> 28468:         enable_if<_TMCT<_UElements...>::template
> 28468:                     _ConstructibleTuple<_UElements...>()
> 28468:                   && !_TMCT<_UElements...>::template
> 28468:                     _ImplicitlyConvertibleTuple<_UElements...>()
> 28468:                   && _TNTC<_Dummy>::template
> 28468:                     _NonNestedTuple<const tuple<_UElements...>&>(),
> 28468:         bool>::type=false>
> 28468:         explicit constexpr tuple(const tuple<_UElements...>& __in)
> 28468:         : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
> 28468:         { }
> 28468: 
> 28468:       template<typename... _UElements, typename _Dummy = void, typename
> 28468:         enable_if<_TMCT<_UElements...>::template
> 28468:                     _MoveConstructibleTuple<_UElements...>()
> 28468:                   && _TMCT<_UElements...>::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_UElements...>()
> 28468:                   && _TNTC<_Dummy>::template
> 28468:                     _NonNestedTuple<tuple<_UElements...>&&>(),
> 28468:         bool>::type=true>
> 28468:         constexpr tuple(tuple<_UElements...>&& __in)
> 28468:         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
> 28468: 
> 28468:       template<typename... _UElements, typename _Dummy = void, typename
> 28468:         enable_if<_TMCT<_UElements...>::template
> 28468:                     _MoveConstructibleTuple<_UElements...>()
> 28468:                   && !_TMCT<_UElements...>::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_UElements...>()
> 28468:                   && _TNTC<_Dummy>::template
> 28468:                     _NonNestedTuple<tuple<_UElements...>&&>(),
> 28468:         bool>::type=false>
> 28468:         explicit constexpr tuple(tuple<_UElements...>&& __in)
> 28468:         : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a)
> 28468:  : _Inherited(__tag, __a) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _Dummy = void,
> 28468:                typename enable_if<
> 28468:                  _TCC<_Dummy>::template
> 28468:                    _ConstructibleTuple<_Elements...>()
> 28468:                  && _TCC<_Dummy>::template
> 28468:                    _ImplicitlyConvertibleTuple<_Elements...>(),
> 28468:                bool>::type=true>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        const _Elements&... __elements)
> 28468:  : _Inherited(__tag, __a, __elements...) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _Dummy = void,
> 28468:                typename enable_if<
> 28468:                  _TCC<_Dummy>::template
> 28468:                    _ConstructibleTuple<_Elements...>()
> 28468:                  && !_TCC<_Dummy>::template
> 28468:                    _ImplicitlyConvertibleTuple<_Elements...>(),
> 28468:                bool>::type=false>
> 28468:  explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:                        const _Elements&... __elements)
> 28468:  : _Inherited(__tag, __a, __elements...) { }
> 28468: 
> 28468:       template<typename _Alloc, typename... _UElements, typename
> 28468:         enable_if<_TMC<_UElements...>::template
> 28468:                     _MoveConstructibleTuple<_UElements...>()
> 28468:                   && _TMC<_UElements...>::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_UElements...>(),
> 28468:         bool>::type=true>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        _UElements&&... __elements)
> 28468:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
> 28468:         { }
> 28468: 
> 28468:       template<typename _Alloc, typename... _UElements, typename
> 28468:         enable_if<_TMC<_UElements...>::template
> 28468:                     _MoveConstructibleTuple<_UElements...>()
> 28468:                   && !_TMC<_UElements...>::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_UElements...>(),
> 28468:         bool>::type=false>
> 28468:  explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        _UElements&&... __elements)
> 28468:  : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...)
> 28468:         { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
> 28468:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
> 28468:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _Dummy = void,
> 28468:         typename... _UElements, typename
> 28468:         enable_if<_TMCT<_UElements...>::template
> 28468:                     _ConstructibleTuple<_UElements...>()
> 28468:                   && _TMCT<_UElements...>::template
> 28468:                     _ImplicitlyConvertibleTuple<_UElements...>()
> 28468:                   && _TNTC<_Dummy>::template
> 28468:                     _NonNestedTuple<const tuple<_UElements...>&>(),
> 28468:         bool>::type=true>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        const tuple<_UElements...>& __in)
> 28468:  : _Inherited(__tag, __a,
> 28468:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Alloc, typename _Dummy = void,
> 28468:         typename... _UElements, typename
> 28468:         enable_if<_TMCT<_UElements...>::template
> 28468:                     _ConstructibleTuple<_UElements...>()
> 28468:                   && !_TMCT<_UElements...>::template
> 28468:                     _ImplicitlyConvertibleTuple<_UElements...>()
> 28468:                   && _TNTC<_Dummy>::template
> 28468:                     _NonNestedTuple<const tuple<_UElements...>&>(),
> 28468:         bool>::type=false>
> 28468:  explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        const tuple<_UElements...>& __in)
> 28468:  : _Inherited(__tag, __a,
> 28468:               static_cast<const _Tuple_impl<0, _UElements...>&>(__in))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Alloc, typename _Dummy = void,
> 28468:         typename... _UElements, typename
> 28468:         enable_if<_TMCT<_UElements...>::template
> 28468:                     _MoveConstructibleTuple<_UElements...>()
> 28468:                   && _TMCT<_UElements...>::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_UElements...>()
> 28468:                   && _TNTC<_Dummy>::template
> 28468:                     _NonNestedTuple<tuple<_UElements...>&&>(),
> 28468:         bool>::type=true>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        tuple<_UElements...>&& __in)
> 28468:  : _Inherited(__tag, __a,
> 28468:               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Alloc, typename _Dummy = void,
> 28468:         typename... _UElements, typename
> 28468:         enable_if<_TMCT<_UElements...>::template
> 28468:                     _MoveConstructibleTuple<_UElements...>()
> 28468:                   && !_TMCT<_UElements...>::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_UElements...>()
> 28468:                   && _TNTC<_Dummy>::template
> 28468:                     _NonNestedTuple<tuple<_UElements...>&&>(),
> 28468:         bool>::type=false>
> 28468:  explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        tuple<_UElements...>&& __in)
> 28468:  : _Inherited(__tag, __a,
> 28468:               static_cast<_Tuple_impl<0, _UElements...>&&>(__in))
> 28468:  { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       tuple&
> 28468:       operator=(typename conditional<__assignable<const _Elements&...>(),
> 28468:          const tuple&,
> 28468:          const __nonesuch_no_braces&>::type __in)
> 28468:       noexcept(__nothrow_assignable<const _Elements&...>())
> 28468:       {
> 28468:  this->_M_assign(__in);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       tuple&
> 28468:       operator=(typename conditional<__assignable<_Elements...>(),
> 28468:          tuple&&,
> 28468:          __nonesuch_no_braces&&>::type __in)
> 28468:       noexcept(__nothrow_assignable<_Elements...>())
> 28468:       {
> 28468:  this->_M_assign(std::move(__in));
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       template<typename... _UElements>
> 28468:  __enable_if_t<__assignable<const _UElements&...>(), tuple&>
> 28468:  operator=(const tuple<_UElements...>& __in)
> 28468:  noexcept(__nothrow_assignable<const _UElements&...>())
> 28468:  {
> 28468:    this->_M_assign(__in);
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       template<typename... _UElements>
> 28468:  __enable_if_t<__assignable<_UElements...>(), tuple&>
> 28468:  operator=(tuple<_UElements...>&& __in)
> 28468:  noexcept(__nothrow_assignable<_UElements...>())
> 28468:  {
> 28468:    this->_M_assign(std::move(__in));
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       swap(tuple& __in)
> 28468:       noexcept(__and_<__is_nothrow_swappable<_Elements>...>::value)
> 28468:       { _Inherited::_M_swap(__in); }
> 28468:     };
> 28468: # 875 "/usr/include/c++/9/tuple" 3
> 28468:   template<>
> 28468:     class tuple<>
> 28468:     {
> 28468:     public:
> 28468:       void swap(tuple&) noexcept { }
> 28468: 
> 28468: 
> 28468:       tuple() = default;
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  tuple(allocator_arg_t, const _Alloc&) { }
> 28468:       template<typename _Alloc>
> 28468:  tuple(allocator_arg_t, const _Alloc&, const tuple&) { }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _T1, typename _T2>
> 28468:     class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2>
> 28468:     {
> 28468:       typedef _Tuple_impl<0, _T1, _T2> _Inherited;
> 28468: 
> 28468:       template<typename _U1, typename _U2>
> 28468:  static constexpr bool __assignable()
> 28468:  {
> 28468:    return __and_<is_assignable<_T1&, _U1>,
> 28468:    is_assignable<_T2&, _U2>>::value;
> 28468:  }
> 28468: 
> 28468:       template<typename _U1, typename _U2>
> 28468:  static constexpr bool __nothrow_assignable()
> 28468:  {
> 28468:    return __and_<is_nothrow_assignable<_T1&, _U1>,
> 28468:    is_nothrow_assignable<_T2&, _U2>>::value;
> 28468:  }
> 28468: 
> 28468:     public:
> 28468:       template <typename _U1 = _T1,
> 28468:                 typename _U2 = _T2,
> 28468:                 typename enable_if<__and_<
> 28468:                                      __is_implicitly_default_constructible<_U1>,
> 28468:                                      __is_implicitly_default_constructible<_U2>>
> 28468:                                    ::value, bool>::type = true>
> 28468:  constexpr tuple()
> 28468:  : _Inherited() { }
> 28468: 
> 28468:       template <typename _U1 = _T1,
> 28468:                 typename _U2 = _T2,
> 28468:                 typename enable_if<
> 28468:                   __and_<
> 28468:                     is_default_constructible<_U1>,
> 28468:                     is_default_constructible<_U2>,
> 28468:                     __not_<
> 28468:                       __and_<__is_implicitly_default_constructible<_U1>,
> 28468:                              __is_implicitly_default_constructible<_U2>>>>
> 28468:                   ::value, bool>::type = false>
> 28468:  explicit constexpr tuple()
> 28468:  : _Inherited() { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Dummy> using _TCC =
> 28468:         _TC<is_same<_Dummy, void>::value, _T1, _T2>;
> 28468: 
> 28468:       template<typename _Dummy = void, typename
> 28468:                enable_if<_TCC<_Dummy>::template
> 28468:                            _ConstructibleTuple<_T1, _T2>()
> 28468:                          && _TCC<_Dummy>::template
> 28468:                            _ImplicitlyConvertibleTuple<_T1, _T2>(),
> 28468:  bool>::type = true>
> 28468:         constexpr tuple(const _T1& __a1, const _T2& __a2)
> 28468:         : _Inherited(__a1, __a2) { }
> 28468: 
> 28468:       template<typename _Dummy = void, typename
> 28468:                enable_if<_TCC<_Dummy>::template
> 28468:                            _ConstructibleTuple<_T1, _T2>()
> 28468:                          && !_TCC<_Dummy>::template
> 28468:                            _ImplicitlyConvertibleTuple<_T1, _T2>(),
> 28468:  bool>::type = false>
> 28468:         explicit constexpr tuple(const _T1& __a1, const _T2& __a2)
> 28468:         : _Inherited(__a1, __a2) { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       using _TMC = _TC<true, _T1, _T2>;
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && _TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>()
> 28468:            && !is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value,
> 28468:  bool>::type = true>
> 28468:         constexpr tuple(_U1&& __a1, _U2&& __a2)
> 28468:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && !_TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>()
> 28468:            && !is_same<__remove_cvref_t<_U1>, allocator_arg_t>::value,
> 28468:  bool>::type = false>
> 28468:         explicit constexpr tuple(_U1&& __a1, _U2&& __a2)
> 28468:  : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { }
> 28468: 
> 28468:       constexpr tuple(const tuple&) = default;
> 28468: 
> 28468:       constexpr tuple(tuple&&) = default;
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _ConstructibleTuple<_U1, _U2>()
> 28468:                   && _TMC::template
> 28468:                     _ImplicitlyConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = true>
> 28468:         constexpr tuple(const tuple<_U1, _U2>& __in)
> 28468:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _ConstructibleTuple<_U1, _U2>()
> 28468:                   && !_TMC::template
> 28468:                     _ImplicitlyConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = false>
> 28468:         explicit constexpr tuple(const tuple<_U1, _U2>& __in)
> 28468:  : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && _TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = true>
> 28468:         constexpr tuple(tuple<_U1, _U2>&& __in)
> 28468:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && !_TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = false>
> 28468:         explicit constexpr tuple(tuple<_U1, _U2>&& __in)
> 28468:  : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _ConstructibleTuple<_U1, _U2>()
> 28468:                   && _TMC::template
> 28468:                     _ImplicitlyConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = true>
> 28468:         constexpr tuple(const pair<_U1, _U2>& __in)
> 28468:  : _Inherited(__in.first, __in.second) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _ConstructibleTuple<_U1, _U2>()
> 28468:                   && !_TMC::template
> 28468:                     _ImplicitlyConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = false>
> 28468:         explicit constexpr tuple(const pair<_U1, _U2>& __in)
> 28468:  : _Inherited(__in.first, __in.second) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && _TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = true>
> 28468:         constexpr tuple(pair<_U1, _U2>&& __in)
> 28468:  : _Inherited(std::forward<_U1>(__in.first),
> 28468:        std::forward<_U2>(__in.second)) { }
> 28468: 
> 28468:       template<typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && !_TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = false>
> 28468:         explicit constexpr tuple(pair<_U1, _U2>&& __in)
> 28468:  : _Inherited(std::forward<_U1>(__in.first),
> 28468:        std::forward<_U2>(__in.second)) { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a)
> 28468:  : _Inherited(__tag, __a) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _Dummy = void,
> 28468:                typename enable_if<
> 28468:                  _TCC<_Dummy>::template
> 28468:                    _ConstructibleTuple<_T1, _T2>()
> 28468:                  && _TCC<_Dummy>::template
> 28468:                    _ImplicitlyConvertibleTuple<_T1, _T2>(),
> 28468:                bool>::type=true>
> 28468: 
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        const _T1& __a1, const _T2& __a2)
> 28468:  : _Inherited(__tag, __a, __a1, __a2) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _Dummy = void,
> 28468:                typename enable_if<
> 28468:                  _TCC<_Dummy>::template
> 28468:                    _ConstructibleTuple<_T1, _T2>()
> 28468:                  && !_TCC<_Dummy>::template
> 28468:                    _ImplicitlyConvertibleTuple<_T1, _T2>(),
> 28468:                bool>::type=false>
> 28468: 
> 28468:  explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        const _T1& __a1, const _T2& __a2)
> 28468:  : _Inherited(__tag, __a, __a1, __a2) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && _TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = true>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2)
> 28468:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
> 28468:               std::forward<_U2>(__a2)) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && !_TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = false>
> 28468:  explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:                        _U1&& __a1, _U2&& __a2)
> 28468:  : _Inherited(__tag, __a, std::forward<_U1>(__a1),
> 28468:               std::forward<_U2>(__a2)) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in)
> 28468:  : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { }
> 28468: 
> 28468:       template<typename _Alloc>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in)
> 28468:  : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _ConstructibleTuple<_U1, _U2>()
> 28468:                   && _TMC::template
> 28468:                     _ImplicitlyConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = true>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        const tuple<_U1, _U2>& __in)
> 28468:  : _Inherited(__tag, __a,
> 28468:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Alloc, typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _ConstructibleTuple<_U1, _U2>()
> 28468:                   && !_TMC::template
> 28468:                     _ImplicitlyConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = false>
> 28468:  explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        const tuple<_U1, _U2>& __in)
> 28468:  : _Inherited(__tag, __a,
> 28468:               static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Alloc, typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && _TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = true>
> 28468:  tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in)
> 28468:  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Alloc, typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && !_TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = false>
> 28468:  explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:                        tuple<_U1, _U2>&& __in)
> 28468:  : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Alloc, typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _ConstructibleTuple<_U1, _U2>()
> 28468:                   && _TMC::template
> 28468:                     _ImplicitlyConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = true>
> 28468:         tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        const pair<_U1, _U2>& __in)
> 28468:  : _Inherited(__tag, __a, __in.first, __in.second) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _ConstructibleTuple<_U1, _U2>()
> 28468:                   && !_TMC::template
> 28468:                     _ImplicitlyConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = false>
> 28468:         explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:        const pair<_U1, _U2>& __in)
> 28468:  : _Inherited(__tag, __a, __in.first, __in.second) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && _TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = true>
> 28468:         tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in)
> 28468:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
> 28468:        std::forward<_U2>(__in.second)) { }
> 28468: 
> 28468:       template<typename _Alloc, typename _U1, typename _U2, typename
> 28468:         enable_if<_TMC::template
> 28468:                     _MoveConstructibleTuple<_U1, _U2>()
> 28468:                   && !_TMC::template
> 28468:                     _ImplicitlyMoveConvertibleTuple<_U1, _U2>(),
> 28468:  bool>::type = false>
> 28468:         explicit tuple(allocator_arg_t __tag, const _Alloc& __a,
> 28468:                        pair<_U1, _U2>&& __in)
> 28468:  : _Inherited(__tag, __a, std::forward<_U1>(__in.first),
> 28468:        std::forward<_U2>(__in.second)) { }
> 28468: 
> 28468:       tuple&
> 28468:       operator=(typename conditional<__assignable<const _T1&, const _T2&>(),
> 28468:          const tuple&,
> 28468:          const __nonesuch_no_braces&>::type __in)
> 28468:       noexcept(__nothrow_assignable<const _T1&, const _T2&>())
> 28468:       {
> 28468:  this->_M_assign(__in);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       tuple&
> 28468:       operator=(typename conditional<__assignable<_T1, _T2>(),
> 28468:          tuple&&,
> 28468:          __nonesuch_no_braces&&>::type __in)
> 28468:       noexcept(__nothrow_assignable<_T1, _T2>())
> 28468:       {
> 28468:  this->_M_assign(std::move(__in));
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       template<typename _U1, typename _U2>
> 28468:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
> 28468:  operator=(const tuple<_U1, _U2>& __in)
> 28468:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
> 28468:  {
> 28468:    this->_M_assign(__in);
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       template<typename _U1, typename _U2>
> 28468:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
> 28468:  operator=(tuple<_U1, _U2>&& __in)
> 28468:  noexcept(__nothrow_assignable<_U1, _U2>())
> 28468:  {
> 28468:    this->_M_assign(std::move(__in));
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       template<typename _U1, typename _U2>
> 28468:  __enable_if_t<__assignable<const _U1&, const _U2&>(), tuple&>
> 28468:  operator=(const pair<_U1, _U2>& __in)
> 28468:  noexcept(__nothrow_assignable<const _U1&, const _U2&>())
> 28468:  {
> 28468:    this->_M_head(*this) = __in.first;
> 28468:    this->_M_tail(*this)._M_head(*this) = __in.second;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       template<typename _U1, typename _U2>
> 28468:  __enable_if_t<__assignable<_U1, _U2>(), tuple&>
> 28468:  operator=(pair<_U1, _U2>&& __in)
> 28468:  noexcept(__nothrow_assignable<_U1, _U2>())
> 28468:  {
> 28468:    this->_M_head(*this) = std::forward<_U1>(__in.first);
> 28468:    this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second);
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       void
> 28468:       swap(tuple& __in)
> 28468:       noexcept(__and_<__is_nothrow_swappable<_T1>,
> 28468:         __is_nothrow_swappable<_T2>>::value)
> 28468:       { _Inherited::_M_swap(__in); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename... _Elements>
> 28468:     struct tuple_size<tuple<_Elements...>>
> 28468:     : public integral_constant<std::size_t, sizeof...(_Elements)> { };
> 28468: # 1284 "/usr/include/c++/9/tuple" 3
> 28468:   template<std::size_t __i, typename _Head, typename... _Tail>
> 28468:     struct tuple_element<__i, tuple<_Head, _Tail...> >
> 28468:     : tuple_element<__i - 1, tuple<_Tail...> > { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Head, typename... _Tail>
> 28468:     struct tuple_element<0, tuple<_Head, _Tail...> >
> 28468:     {
> 28468:       typedef _Head type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<size_t __i>
> 28468:     struct tuple_element<__i, tuple<>>
> 28468:     {
> 28468:       static_assert(__i < tuple_size<tuple<>>::value,
> 28468:    "tuple index is in range");
> 28468:     };
> 28468: 
> 28468:   template<std::size_t __i, typename _Head, typename... _Tail>
> 28468:     constexpr _Head&
> 28468:     __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
> 28468:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
> 28468: 
> 28468:   template<std::size_t __i, typename _Head, typename... _Tail>
> 28468:     constexpr const _Head&
> 28468:     __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept
> 28468:     { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); }
> 28468: 
> 28468: 
> 28468:   template<std::size_t __i, typename... _Elements>
> 28468:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&
> 28468:     get(tuple<_Elements...>& __t) noexcept
> 28468:     { return std::__get_helper<__i>(__t); }
> 28468: 
> 28468: 
> 28468:   template<std::size_t __i, typename... _Elements>
> 28468:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&
> 28468:     get(const tuple<_Elements...>& __t) noexcept
> 28468:     { return std::__get_helper<__i>(__t); }
> 28468: 
> 28468: 
> 28468:   template<std::size_t __i, typename... _Elements>
> 28468:     constexpr __tuple_element_t<__i, tuple<_Elements...>>&&
> 28468:     get(tuple<_Elements...>&& __t) noexcept
> 28468:     {
> 28468:       typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
> 28468:       return std::forward<__element_type&&>(std::get<__i>(__t));
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<std::size_t __i, typename... _Elements>
> 28468:     constexpr const __tuple_element_t<__i, tuple<_Elements...>>&&
> 28468:     get(const tuple<_Elements...>&& __t) noexcept
> 28468:     {
> 28468:       typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type;
> 28468:       return std::forward<const __element_type&&>(std::get<__i>(__t));
> 28468:     }
> 28468: # 1388 "/usr/include/c++/9/tuple" 3
> 28468:   template<typename _Tp, typename _Up, size_t __i, size_t __size>
> 28468:     struct __tuple_compare
> 28468:     {
> 28468:       static constexpr bool
> 28468:       __eq(const _Tp& __t, const _Up& __u)
> 28468:       {
> 28468:  return bool(std::get<__i>(__t) == std::get<__i>(__u))
> 28468:    && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u);
> 28468:       }
> 28468: 
> 28468:       static constexpr bool
> 28468:       __less(const _Tp& __t, const _Up& __u)
> 28468:       {
> 28468:  return bool(std::get<__i>(__t) < std::get<__i>(__u))
> 28468:    || (!bool(std::get<__i>(__u) < std::get<__i>(__t))
> 28468:        && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u));
> 28468:       }
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, typename _Up, size_t __size>
> 28468:     struct __tuple_compare<_Tp, _Up, __size, __size>
> 28468:     {
> 28468:       static constexpr bool
> 28468:       __eq(const _Tp&, const _Up&) { return true; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       __less(const _Tp&, const _Up&) { return false; }
> 28468:     };
> 28468: 
> 28468:   template<typename... _TElements, typename... _UElements>
> 28468:     constexpr bool
> 28468:     operator==(const tuple<_TElements...>& __t,
> 28468:         const tuple<_UElements...>& __u)
> 28468:     {
> 28468:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
> 28468:    "tuple objects can only be compared if they have equal sizes.");
> 28468:       using __compare = __tuple_compare<tuple<_TElements...>,
> 28468:      tuple<_UElements...>,
> 28468:      0, sizeof...(_TElements)>;
> 28468:       return __compare::__eq(__t, __u);
> 28468:     }
> 28468: 
> 28468:   template<typename... _TElements, typename... _UElements>
> 28468:     constexpr bool
> 28468:     operator<(const tuple<_TElements...>& __t,
> 28468:        const tuple<_UElements...>& __u)
> 28468:     {
> 28468:       static_assert(sizeof...(_TElements) == sizeof...(_UElements),
> 28468:    "tuple objects can only be compared if they have equal sizes.");
> 28468:       using __compare = __tuple_compare<tuple<_TElements...>,
> 28468:      tuple<_UElements...>,
> 28468:      0, sizeof...(_TElements)>;
> 28468:       return __compare::__less(__t, __u);
> 28468:     }
> 28468: 
> 28468:   template<typename... _TElements, typename... _UElements>
> 28468:     constexpr bool
> 28468:     operator!=(const tuple<_TElements...>& __t,
> 28468:         const tuple<_UElements...>& __u)
> 28468:     { return !(__t == __u); }
> 28468: 
> 28468:   template<typename... _TElements, typename... _UElements>
> 28468:     constexpr bool
> 28468:     operator>(const tuple<_TElements...>& __t,
> 28468:        const tuple<_UElements...>& __u)
> 28468:     { return __u < __t; }
> 28468: 
> 28468:   template<typename... _TElements, typename... _UElements>
> 28468:     constexpr bool
> 28468:     operator<=(const tuple<_TElements...>& __t,
> 28468:         const tuple<_UElements...>& __u)
> 28468:     { return !(__u < __t); }
> 28468: 
> 28468:   template<typename... _TElements, typename... _UElements>
> 28468:     constexpr bool
> 28468:     operator>=(const tuple<_TElements...>& __t,
> 28468:         const tuple<_UElements...>& __u)
> 28468:     { return !(__t < __u); }
> 28468: 
> 28468: 
> 28468:   template<typename... _Elements>
> 28468:     constexpr tuple<typename __decay_and_strip<_Elements>::__type...>
> 28468:     make_tuple(_Elements&&... __args)
> 28468:     {
> 28468:       typedef tuple<typename __decay_and_strip<_Elements>::__type...>
> 28468:  __result_type;
> 28468:       return __result_type(std::forward<_Elements>(__args)...);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename... _Elements>
> 28468:     constexpr tuple<_Elements&&...>
> 28468:     forward_as_tuple(_Elements&&... __args) noexcept
> 28468:     { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); }
> 28468: 
> 28468:   template<size_t, typename, typename, size_t>
> 28468:     struct __make_tuple_impl;
> 28468: 
> 28468:   template<size_t _Idx, typename _Tuple, typename... _Tp, size_t _Nm>
> 28468:     struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm>
> 28468:     : __make_tuple_impl<_Idx + 1,
> 28468:    tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>,
> 28468:    _Tuple, _Nm>
> 28468:     { };
> 28468: 
> 28468:   template<std::size_t _Nm, typename _Tuple, typename... _Tp>
> 28468:     struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm>
> 28468:     {
> 28468:       typedef tuple<_Tp...> __type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tuple>
> 28468:     struct __do_make_tuple
> 28468:     : __make_tuple_impl<0, tuple<>, _Tuple, std::tuple_size<_Tuple>::value>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tuple>
> 28468:     struct __make_tuple
> 28468:     : public __do_make_tuple<__remove_cvref_t<_Tuple>>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename...>
> 28468:     struct __combine_tuples;
> 28468: 
> 28468:   template<>
> 28468:     struct __combine_tuples<>
> 28468:     {
> 28468:       typedef tuple<> __type;
> 28468:     };
> 28468: 
> 28468:   template<typename... _Ts>
> 28468:     struct __combine_tuples<tuple<_Ts...>>
> 28468:     {
> 28468:       typedef tuple<_Ts...> __type;
> 28468:     };
> 28468: 
> 28468:   template<typename... _T1s, typename... _T2s, typename... _Rem>
> 28468:     struct __combine_tuples<tuple<_T1s...>, tuple<_T2s...>, _Rem...>
> 28468:     {
> 28468:       typedef typename __combine_tuples<tuple<_T1s..., _T2s...>,
> 28468:      _Rem...>::__type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename... _Tpls>
> 28468:     struct __tuple_cat_result
> 28468:     {
> 28468:       typedef typename __combine_tuples
> 28468:         <typename __make_tuple<_Tpls>::__type...>::__type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename...>
> 28468:     struct __make_1st_indices;
> 28468: 
> 28468:   template<>
> 28468:     struct __make_1st_indices<>
> 28468:     {
> 28468:       typedef std::_Index_tuple<> __type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, typename... _Tpls>
> 28468:     struct __make_1st_indices<_Tp, _Tpls...>
> 28468:     {
> 28468:       typedef typename std::_Build_index_tuple<std::tuple_size<
> 28468:  typename std::remove_reference<_Tp>::type>::value>::__type __type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ret, typename _Indices, typename... _Tpls>
> 28468:     struct __tuple_concater;
> 28468: 
> 28468:   template<typename _Ret, std::size_t... _Is, typename _Tp, typename... _Tpls>
> 28468:     struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...>
> 28468:     {
> 28468:       template<typename... _Us>
> 28468:         static constexpr _Ret
> 28468:         _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us)
> 28468:         {
> 28468:    typedef typename __make_1st_indices<_Tpls...>::__type __idx;
> 28468:    typedef __tuple_concater<_Ret, __idx, _Tpls...> __next;
> 28468:    return __next::_S_do(std::forward<_Tpls>(__tps)...,
> 28468:           std::forward<_Us>(__us)...,
> 28468:           std::get<_Is>(std::forward<_Tp>(__tp))...);
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<typename _Ret>
> 28468:     struct __tuple_concater<_Ret, std::_Index_tuple<>>
> 28468:     {
> 28468:       template<typename... _Us>
> 28468:  static constexpr _Ret
> 28468:  _S_do(_Us&&... __us)
> 28468:         {
> 28468:    return _Ret(std::forward<_Us>(__us)...);
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename... _Tpls, typename = typename
> 28468:            enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type>
> 28468:     constexpr auto
> 28468:     tuple_cat(_Tpls&&... __tpls)
> 28468:     -> typename __tuple_cat_result<_Tpls...>::__type
> 28468:     {
> 28468:       typedef typename __tuple_cat_result<_Tpls...>::__type __ret;
> 28468:       typedef typename __make_1st_indices<_Tpls...>::__type __idx;
> 28468:       typedef __tuple_concater<__ret, __idx, _Tpls...> __concater;
> 28468:       return __concater::_S_do(std::forward<_Tpls>(__tpls)...);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename... _Elements>
> 28468:     constexpr tuple<_Elements&...>
> 28468:     tie(_Elements&... __args) noexcept
> 28468:     { return tuple<_Elements&...>(__args...); }
> 28468: 
> 28468: 
> 28468:   template<typename... _Elements>
> 28468:     inline
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void
> 28468: 
> 28468:     swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y)
> 28468:     noexcept(noexcept(__x.swap(__y)))
> 28468:     { __x.swap(__y); }
> 28468: # 1638 "/usr/include/c++/9/tuple" 3
> 28468:   struct _Swallow_assign
> 28468:   {
> 28468:     template<class _Tp>
> 28468:       const _Swallow_assign&
> 28468:       operator=(const _Tp&) const
> 28468:       { return *this; }
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468:   constexpr _Swallow_assign ignore{};
> 28468: 
> 28468: 
> 28468:   template<typename... _Types, typename _Alloc>
> 28468:     struct uses_allocator<tuple<_Types...>, _Alloc> : true_type { };
> 28468: 
> 28468: 
> 28468:   template<class _T1, class _T2>
> 28468:     template<typename... _Args1, typename... _Args2>
> 28468:       inline
> 28468:       pair<_T1, _T2>::
> 28468:       pair(piecewise_construct_t,
> 28468:     tuple<_Args1...> __first, tuple<_Args2...> __second)
> 28468:       : pair(__first, __second,
> 28468:       typename _Build_index_tuple<sizeof...(_Args1)>::__type(),
> 28468:       typename _Build_index_tuple<sizeof...(_Args2)>::__type())
> 28468:       { }
> 28468: 
> 28468:   template<class _T1, class _T2>
> 28468:     template<typename... _Args1, std::size_t... _Indexes1,
> 28468:              typename... _Args2, std::size_t... _Indexes2>
> 28468:       inline
> 28468:       pair<_T1, _T2>::
> 28468:       pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2,
> 28468:     _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>)
> 28468:       : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...),
> 28468:         second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)
> 28468:       { }
> 28468: # 1718 "/usr/include/c++/9/tuple" 3
> 28468: 
> 28468: }
> 28468: # 38 "/usr/include/c++/9/bits/unique_ptr.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> 28468:   template<typename> class auto_ptr;
> 28468: #pragma GCC diagnostic pop
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct default_delete
> 28468:     {
> 28468: 
> 28468:       constexpr default_delete() noexcept = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Up, typename = typename
> 28468:         enable_if<is_convertible<_Up*, _Tp*>::value>::type>
> 28468:         default_delete(const default_delete<_Up>&) noexcept { }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       operator()(_Tp* __ptr) const
> 28468:       {
> 28468:  static_assert(!is_void<_Tp>::value,
> 28468:         "can't delete pointer to incomplete type");
> 28468:  static_assert(sizeof(_Tp)>0,
> 28468:         "can't delete pointer to incomplete type");
> 28468:  delete __ptr;
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct default_delete<_Tp[]>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       constexpr default_delete() noexcept = default;
> 28468: # 104 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468:       template<typename _Up, typename = typename
> 28468:         enable_if<is_convertible<_Up(*)[], _Tp(*)[]>::value>::type>
> 28468:         default_delete(const default_delete<_Up[]>&) noexcept { }
> 28468: 
> 28468: 
> 28468:       template<typename _Up>
> 28468:       typename enable_if<is_convertible<_Up(*)[], _Tp(*)[]>::value>::type
> 28468:  operator()(_Up* __ptr) const
> 28468:       {
> 28468:  static_assert(sizeof(_Tp)>0,
> 28468:         "can't delete pointer to incomplete type");
> 28468:  delete [] __ptr;
> 28468:       }
> 28468:     };
> 28468: 
> 28468:   template <typename _Tp, typename _Dp>
> 28468:     class __uniq_ptr_impl
> 28468:     {
> 28468:       template <typename _Up, typename _Ep, typename = void>
> 28468:  struct _Ptr
> 28468:  {
> 28468:    using type = _Up*;
> 28468:  };
> 28468: 
> 28468:       template <typename _Up, typename _Ep>
> 28468:  struct
> 28468:  _Ptr<_Up, _Ep, __void_t<typename remove_reference<_Ep>::type::pointer>>
> 28468:  {
> 28468:    using type = typename remove_reference<_Ep>::type::pointer;
> 28468:  };
> 28468: 
> 28468:     public:
> 28468:       using _DeleterConstraint = enable_if<
> 28468:         __and_<__not_<is_pointer<_Dp>>,
> 28468:         is_default_constructible<_Dp>>::value>;
> 28468: 
> 28468:       using pointer = typename _Ptr<_Tp, _Dp>::type;
> 28468: 
> 28468:       static_assert( !is_rvalue_reference<_Dp>::value,
> 28468:        "unique_ptr's deleter type must be a function object type"
> 28468:        " or an lvalue reference type" );
> 28468: 
> 28468:       __uniq_ptr_impl() = default;
> 28468:       __uniq_ptr_impl(pointer __p) : _M_t() { _M_ptr() = __p; }
> 28468: 
> 28468:       template<typename _Del>
> 28468:       __uniq_ptr_impl(pointer __p, _Del&& __d)
> 28468:  : _M_t(__p, std::forward<_Del>(__d)) { }
> 28468: 
> 28468:       pointer& _M_ptr() { return std::get<0>(_M_t); }
> 28468:       pointer _M_ptr() const { return std::get<0>(_M_t); }
> 28468:       _Dp& _M_deleter() { return std::get<1>(_M_t); }
> 28468:       const _Dp& _M_deleter() const { return std::get<1>(_M_t); }
> 28468: 
> 28468:     private:
> 28468:       tuple<pointer, _Dp> _M_t;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template <typename _Tp, typename _Dp = default_delete<_Tp>>
> 28468:     class unique_ptr
> 28468:     {
> 28468:       template <typename _Up>
> 28468:  using _DeleterConstraint =
> 28468:    typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
> 28468: 
> 28468:       __uniq_ptr_impl<_Tp, _Dp> _M_t;
> 28468: 
> 28468:     public:
> 28468:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
> 28468:       using element_type = _Tp;
> 28468:       using deleter_type = _Dp;
> 28468: 
> 28468:     private:
> 28468: 
> 28468: 
> 28468:       template<typename _Up, typename _Ep>
> 28468:  using __safe_conversion_up = __and_<
> 28468:    is_convertible<typename unique_ptr<_Up, _Ep>::pointer, pointer>,
> 28468:    __not_<is_array<_Up>>
> 28468:         >;
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
> 28468:  constexpr unique_ptr() noexcept
> 28468:  : _M_t()
> 28468:  { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
> 28468:  explicit
> 28468:  unique_ptr(pointer __p) noexcept
> 28468:  : _M_t(__p)
> 28468:         { }
> 28468: # 214 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468:       template<typename _Del = deleter_type,
> 28468:         typename = _Require<is_copy_constructible<_Del>>>
> 28468:  unique_ptr(pointer __p, const deleter_type& __d) noexcept
> 28468:  : _M_t(__p, __d) { }
> 28468: # 226 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468:       template<typename _Del = deleter_type,
> 28468:         typename = _Require<is_move_constructible<_Del>>>
> 28468:  unique_ptr(pointer __p,
> 28468:      __enable_if_t<!is_lvalue_reference<_Del>::value,
> 28468:      _Del&&> __d) noexcept
> 28468:  : _M_t(__p, std::move(__d))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Del = deleter_type,
> 28468:         typename _DelUnref = typename remove_reference<_Del>::type>
> 28468:  unique_ptr(pointer,
> 28468:      __enable_if_t<is_lvalue_reference<_Del>::value,
> 28468:      _DelUnref&&>) = delete;
> 28468: 
> 28468: 
> 28468:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
> 28468:  constexpr unique_ptr(nullptr_t) noexcept
> 28468:  : _M_t()
> 28468:  { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       unique_ptr(unique_ptr&& __u) noexcept
> 28468:       : _M_t(__u.release(), std::forward<deleter_type>(__u.get_deleter())) { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Up, typename _Ep, typename = _Require<
> 28468:                __safe_conversion_up<_Up, _Ep>,
> 28468:         typename conditional<is_reference<_Dp>::value,
> 28468:         is_same<_Ep, _Dp>,
> 28468:         is_convertible<_Ep, _Dp>>::type>>
> 28468:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
> 28468:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
> 28468:  { }
> 28468: 
> 28468: 
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> 28468: 
> 28468:       template<typename _Up, typename = _Require<
> 28468:         is_convertible<_Up*, _Tp*>, is_same<_Dp, default_delete<_Tp>>>>
> 28468:  unique_ptr(auto_ptr<_Up>&& __u) noexcept;
> 28468: #pragma GCC diagnostic pop
> 28468: 
> 28468: 
> 28468: 
> 28468:       ~unique_ptr() noexcept
> 28468:       {
> 28468:  static_assert(__is_invocable<deleter_type&, pointer>::value,
> 28468:         "unique_ptr's deleter must be invocable with a pointer");
> 28468:  auto& __ptr = _M_t._M_ptr();
> 28468:  if (__ptr != nullptr)
> 28468:    get_deleter()(std::move(__ptr));
> 28468:  __ptr = pointer();
> 28468:       }
> 28468: # 296 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468:       unique_ptr&
> 28468:       operator=(unique_ptr&& __u) noexcept
> 28468:       {
> 28468:  reset(__u.release());
> 28468:  get_deleter() = std::forward<deleter_type>(__u.get_deleter());
> 28468:  return *this;
> 28468:       }
> 28468: # 311 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468:       template<typename _Up, typename _Ep>
> 28468:         typename enable_if< __and_<
> 28468:           __safe_conversion_up<_Up, _Ep>,
> 28468:           is_assignable<deleter_type&, _Ep&&>
> 28468:           >::value,
> 28468:           unique_ptr&>::type
> 28468:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
> 28468:  {
> 28468:    reset(__u.release());
> 28468:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468: 
> 28468:       unique_ptr&
> 28468:       operator=(nullptr_t) noexcept
> 28468:       {
> 28468:  reset();
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typename add_lvalue_reference<element_type>::type
> 28468:       operator*() const
> 28468:       {
> 28468:  ;
> 28468:  return *get();
> 28468:       }
> 28468: 
> 28468: 
> 28468:       pointer
> 28468:       operator->() const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return get();
> 28468:       }
> 28468: 
> 28468: 
> 28468:       pointer
> 28468:       get() const noexcept
> 28468:       { return _M_t._M_ptr(); }
> 28468: 
> 28468: 
> 28468:       deleter_type&
> 28468:       get_deleter() noexcept
> 28468:       { return _M_t._M_deleter(); }
> 28468: 
> 28468: 
> 28468:       const deleter_type&
> 28468:       get_deleter() const noexcept
> 28468:       { return _M_t._M_deleter(); }
> 28468: 
> 28468: 
> 28468:       explicit operator bool() const noexcept
> 28468:       { return get() == pointer() ? false : true; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       pointer
> 28468:       release() noexcept
> 28468:       {
> 28468:  pointer __p = get();
> 28468:  _M_t._M_ptr() = pointer();
> 28468:  return __p;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       reset(pointer __p = pointer()) noexcept
> 28468:       {
> 28468:  static_assert(__is_invocable<deleter_type&, pointer>::value,
> 28468:         "unique_ptr's deleter must be invocable with a pointer");
> 28468:  using std::swap;
> 28468:  swap(_M_t._M_ptr(), __p);
> 28468:  if (__p != pointer())
> 28468:    get_deleter()(std::move(__p));
> 28468:       }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       swap(unique_ptr& __u) noexcept
> 28468:       {
> 28468:  using std::swap;
> 28468:  swap(_M_t, __u._M_t);
> 28468:       }
> 28468: 
> 28468: 
> 28468:       unique_ptr(const unique_ptr&) = delete;
> 28468:       unique_ptr& operator=(const unique_ptr&) = delete;
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     class unique_ptr<_Tp[], _Dp>
> 28468:     {
> 28468:       template <typename _Up>
> 28468:       using _DeleterConstraint =
> 28468:  typename __uniq_ptr_impl<_Tp, _Up>::_DeleterConstraint::type;
> 28468: 
> 28468:       __uniq_ptr_impl<_Tp, _Dp> _M_t;
> 28468: 
> 28468:       template<typename _Up>
> 28468:  using __remove_cv = typename remove_cv<_Up>::type;
> 28468: 
> 28468: 
> 28468:       template<typename _Up>
> 28468:  using __is_derived_Tp
> 28468:    = __and_< is_base_of<_Tp, _Up>,
> 28468:       __not_<is_same<__remove_cv<_Tp>, __remove_cv<_Up>>> >;
> 28468: 
> 28468:     public:
> 28468:       using pointer = typename __uniq_ptr_impl<_Tp, _Dp>::pointer;
> 28468:       using element_type = _Tp;
> 28468:       using deleter_type = _Dp;
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Up, typename _Ep,
> 28468:                typename _UPtr = unique_ptr<_Up, _Ep>,
> 28468:         typename _UP_pointer = typename _UPtr::pointer,
> 28468:         typename _UP_element_type = typename _UPtr::element_type>
> 28468:  using __safe_conversion_up = __and_<
> 28468:           is_array<_Up>,
> 28468:           is_same<pointer, element_type*>,
> 28468:           is_same<_UP_pointer, _UP_element_type*>,
> 28468:           is_convertible<_UP_element_type(*)[], element_type(*)[]>
> 28468:         >;
> 28468: 
> 28468: 
> 28468:       template<typename _Up>
> 28468:         using __safe_conversion_raw = __and_<
> 28468:           __or_<__or_<is_same<_Up, pointer>,
> 28468:                       is_same<_Up, nullptr_t>>,
> 28468:                 __and_<is_pointer<_Up>,
> 28468:                        is_same<pointer, element_type*>,
> 28468:                        is_convertible<
> 28468:                          typename remove_pointer<_Up>::type(*)[],
> 28468:                          element_type(*)[]>
> 28468:                 >
> 28468:           >
> 28468:         >;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
> 28468:  constexpr unique_ptr() noexcept
> 28468:  : _M_t()
> 28468:  { }
> 28468: # 479 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468:       template<typename _Up,
> 28468:         typename _Vp = _Dp,
> 28468:         typename = _DeleterConstraint<_Vp>,
> 28468:         typename = typename enable_if<
> 28468:                  __safe_conversion_raw<_Up>::value, bool>::type>
> 28468:  explicit
> 28468:  unique_ptr(_Up __p) noexcept
> 28468:  : _M_t(__p)
> 28468:         { }
> 28468: # 497 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468:       template<typename _Up, typename _Del = deleter_type,
> 28468:         typename = _Require<__safe_conversion_raw<_Up>,
> 28468:        is_copy_constructible<_Del>>>
> 28468:       unique_ptr(_Up __p, const deleter_type& __d) noexcept
> 28468:       : _M_t(__p, __d) { }
> 28468: # 511 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468:       template<typename _Up, typename _Del = deleter_type,
> 28468:         typename = _Require<__safe_conversion_raw<_Up>,
> 28468:        is_move_constructible<_Del>>>
> 28468:  unique_ptr(_Up __p,
> 28468:      __enable_if_t<!is_lvalue_reference<_Del>::value,
> 28468:      _Del&&> __d) noexcept
> 28468:  : _M_t(std::move(__p), std::move(__d))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Up, typename _Del = deleter_type,
> 28468:         typename _DelUnref = typename remove_reference<_Del>::type,
> 28468:         typename = _Require<__safe_conversion_raw<_Up>>>
> 28468:  unique_ptr(_Up,
> 28468:      __enable_if_t<is_lvalue_reference<_Del>::value,
> 28468:      _DelUnref&&>) = delete;
> 28468: 
> 28468: 
> 28468:       unique_ptr(unique_ptr&& __u) noexcept
> 28468:       : _M_t(__u.release(), std::forward<deleter_type>(__u.get_deleter())) { }
> 28468: 
> 28468: 
> 28468:       template<typename _Del = _Dp, typename = _DeleterConstraint<_Del>>
> 28468:  constexpr unique_ptr(nullptr_t) noexcept
> 28468:  : _M_t()
> 28468:         { }
> 28468: 
> 28468:       template<typename _Up, typename _Ep, typename = _Require<
> 28468:         __safe_conversion_up<_Up, _Ep>,
> 28468:         typename conditional<is_reference<_Dp>::value,
> 28468:         is_same<_Ep, _Dp>,
> 28468:         is_convertible<_Ep, _Dp>>::type>>
> 28468:  unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept
> 28468:  : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter()))
> 28468:  { }
> 28468: 
> 28468: 
> 28468:       ~unique_ptr()
> 28468:       {
> 28468:  auto& __ptr = _M_t._M_ptr();
> 28468:  if (__ptr != nullptr)
> 28468:    get_deleter()(__ptr);
> 28468:  __ptr = pointer();
> 28468:       }
> 28468: # 563 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468:       unique_ptr&
> 28468:       operator=(unique_ptr&& __u) noexcept
> 28468:       {
> 28468:  reset(__u.release());
> 28468:  get_deleter() = std::forward<deleter_type>(__u.get_deleter());
> 28468:  return *this;
> 28468:       }
> 28468: # 578 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468:       template<typename _Up, typename _Ep>
> 28468:  typename
> 28468:  enable_if<__and_<__safe_conversion_up<_Up, _Ep>,
> 28468:                          is_assignable<deleter_type&, _Ep&&>
> 28468:                   >::value,
> 28468:                   unique_ptr&>::type
> 28468:  operator=(unique_ptr<_Up, _Ep>&& __u) noexcept
> 28468:  {
> 28468:    reset(__u.release());
> 28468:    get_deleter() = std::forward<_Ep>(__u.get_deleter());
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468: 
> 28468:       unique_ptr&
> 28468:       operator=(nullptr_t) noexcept
> 28468:       {
> 28468:  reset();
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typename std::add_lvalue_reference<element_type>::type
> 28468:       operator[](size_t __i) const
> 28468:       {
> 28468:  ;
> 28468:  return get()[__i];
> 28468:       }
> 28468: 
> 28468: 
> 28468:       pointer
> 28468:       get() const noexcept
> 28468:       { return _M_t._M_ptr(); }
> 28468: 
> 28468: 
> 28468:       deleter_type&
> 28468:       get_deleter() noexcept
> 28468:       { return _M_t._M_deleter(); }
> 28468: 
> 28468: 
> 28468:       const deleter_type&
> 28468:       get_deleter() const noexcept
> 28468:       { return _M_t._M_deleter(); }
> 28468: 
> 28468: 
> 28468:       explicit operator bool() const noexcept
> 28468:       { return get() == pointer() ? false : true; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       pointer
> 28468:       release() noexcept
> 28468:       {
> 28468:  pointer __p = get();
> 28468:  _M_t._M_ptr() = pointer();
> 28468:  return __p;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template <typename _Up,
> 28468:                 typename = _Require<
> 28468:                   __or_<is_same<_Up, pointer>,
> 28468:                         __and_<is_same<pointer, element_type*>,
> 28468:                                is_pointer<_Up>,
> 28468:                                is_convertible<
> 28468:                                  typename remove_pointer<_Up>::type(*)[],
> 28468:                                  element_type(*)[]
> 28468:                                >
> 28468:                         >
> 28468:                   >
> 28468:                >>
> 28468:       void
> 28468:       reset(_Up __p) noexcept
> 28468:       {
> 28468:  pointer __ptr = __p;
> 28468:  using std::swap;
> 28468:  swap(_M_t._M_ptr(), __ptr);
> 28468:  if (__ptr != nullptr)
> 28468:    get_deleter()(__ptr);
> 28468:       }
> 28468: 
> 28468:       void reset(nullptr_t = nullptr) noexcept
> 28468:       {
> 28468:         reset(pointer());
> 28468:       }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       swap(unique_ptr& __u) noexcept
> 28468:       {
> 28468:  using std::swap;
> 28468:  swap(_M_t, __u._M_t);
> 28468:       }
> 28468: 
> 28468: 
> 28468:       unique_ptr(const unique_ptr&) = delete;
> 28468:       unique_ptr& operator=(const unique_ptr&) = delete;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void
> 28468: 
> 28468:     swap(unique_ptr<_Tp, _Dp>& __x,
> 28468:   unique_ptr<_Tp, _Dp>& __y) noexcept
> 28468:     { __x.swap(__y); }
> 28468: # 704 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468:   template<typename _Tp, typename _Dp,
> 28468:     typename _Up, typename _Ep>
> 28468:     inline bool
> 28468:     operator==(const unique_ptr<_Tp, _Dp>& __x,
> 28468:         const unique_ptr<_Up, _Ep>& __y)
> 28468:     { return __x.get() == __y.get(); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
> 28468:     { return !__x; }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
> 28468:     { return !__x; }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp,
> 28468:     typename _Up, typename _Ep>
> 28468:     inline bool
> 28468:     operator!=(const unique_ptr<_Tp, _Dp>& __x,
> 28468:         const unique_ptr<_Up, _Ep>& __y)
> 28468:     { return __x.get() != __y.get(); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept
> 28468:     { return (bool)__x; }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept
> 28468:     { return (bool)__x; }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp,
> 28468:     typename _Up, typename _Ep>
> 28468:     inline bool
> 28468:     operator<(const unique_ptr<_Tp, _Dp>& __x,
> 28468:        const unique_ptr<_Up, _Ep>& __y)
> 28468:     {
> 28468:       typedef typename
> 28468:  std::common_type<typename unique_ptr<_Tp, _Dp>::pointer,
> 28468:                   typename unique_ptr<_Up, _Ep>::pointer>::type _CT;
> 28468:       return std::less<_CT>()(__x.get(), __y.get());
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
> 28468:     { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
> 28468:          nullptr); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
> 28468:     { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
> 28468:          __x.get()); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp,
> 28468:     typename _Up, typename _Ep>
> 28468:     inline bool
> 28468:     operator<=(const unique_ptr<_Tp, _Dp>& __x,
> 28468:         const unique_ptr<_Up, _Ep>& __y)
> 28468:     { return !(__y < __x); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator<=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
> 28468:     { return !(nullptr < __x); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator<=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
> 28468:     { return !(__x < nullptr); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp,
> 28468:     typename _Up, typename _Ep>
> 28468:     inline bool
> 28468:     operator>(const unique_ptr<_Tp, _Dp>& __x,
> 28468:        const unique_ptr<_Up, _Ep>& __y)
> 28468:     { return (__y < __x); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
> 28468:     { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr,
> 28468:          __x.get()); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
> 28468:     { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(),
> 28468:          nullptr); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp,
> 28468:     typename _Up, typename _Ep>
> 28468:     inline bool
> 28468:     operator>=(const unique_ptr<_Tp, _Dp>& __x,
> 28468:         const unique_ptr<_Up, _Ep>& __y)
> 28468:     { return !(__x < __y); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator>=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t)
> 28468:     { return !(__x < nullptr); }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     inline bool
> 28468:     operator>=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x)
> 28468:     { return !(nullptr < __x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:     struct hash<unique_ptr<_Tp, _Dp>>
> 28468:     : public __hash_base<size_t, unique_ptr<_Tp, _Dp>>,
> 28468:     private __poison_hash<typename unique_ptr<_Tp, _Dp>::pointer>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(const unique_ptr<_Tp, _Dp>& __u) const noexcept
> 28468:       {
> 28468:  typedef unique_ptr<_Tp, _Dp> _UP;
> 28468:  return std::hash<typename _UP::pointer>()(__u.get());
> 28468:       }
> 28468:     };
> 28468: # 879 "/usr/include/c++/9/bits/unique_ptr.h" 3
> 28468: 
> 28468: }
> 28468: # 81 "/usr/include/c++/9/memory" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/shared_ptr.h" 1 3
> 28468: # 52 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468: # 1 "/usr/include/c++/9/bits/shared_ptr_base.h" 1 3
> 28468: # 53 "/usr/include/c++/9/bits/shared_ptr_base.h" 3
> 28468: # 1 "/usr/include/c++/9/bits/allocated_ptr.h" 1 3
> 28468: # 40 "/usr/include/c++/9/bits/allocated_ptr.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct __allocated_ptr
> 28468:     {
> 28468:       using pointer = typename allocator_traits<_Alloc>::pointer;
> 28468:       using value_type = typename allocator_traits<_Alloc>::value_type;
> 28468: 
> 28468: 
> 28468:       __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept
> 28468:       : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr)
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       template<typename _Ptr,
> 28468:         typename _Req = _Require<is_same<_Ptr, value_type*>>>
> 28468:       __allocated_ptr(_Alloc& __a, _Ptr __ptr)
> 28468:       : _M_alloc(std::__addressof(__a)),
> 28468:  _M_ptr(pointer_traits<pointer>::pointer_to(*__ptr))
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       __allocated_ptr(__allocated_ptr&& __gd) noexcept
> 28468:       : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr)
> 28468:       { __gd._M_ptr = nullptr; }
> 28468: 
> 28468: 
> 28468:       ~__allocated_ptr()
> 28468:       {
> 28468:  if (_M_ptr != nullptr)
> 28468:    std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1);
> 28468:       }
> 28468: 
> 28468: 
> 28468:       __allocated_ptr&
> 28468:       operator=(std::nullptr_t) noexcept
> 28468:       {
> 28468:  _M_ptr = nullptr;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       value_type* get() { return std::__to_address(_M_ptr); }
> 28468: 
> 28468:     private:
> 28468:       _Alloc* _M_alloc;
> 28468:       pointer _M_ptr;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     __allocated_ptr<_Alloc>
> 28468:     __allocate_guarded(_Alloc& __a)
> 28468:     {
> 28468:       return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) };
> 28468:     }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 54 "/usr/include/c++/9/bits/shared_ptr_base.h" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/refwrap.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/refwrap.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/refwrap.h" 3
> 28468: # 43 "/usr/include/c++/9/bits/refwrap.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes>
> 28468:     struct _Maybe_unary_or_binary_function { };
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename _T1>
> 28468:     struct _Maybe_unary_or_binary_function<_Res, _T1>
> 28468:     : std::unary_function<_T1, _Res> { };
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename _T1, typename _T2>
> 28468:     struct _Maybe_unary_or_binary_function<_Res, _T1, _T2>
> 28468:     : std::binary_function<_T1, _T2, _Res> { };
> 28468: 
> 28468:   template<typename _Signature>
> 28468:     struct _Mem_fn_traits;
> 28468: 
> 28468:   template<typename _Res, typename _Class, typename... _ArgTypes>
> 28468:     struct _Mem_fn_traits_base
> 28468:     {
> 28468:       using __result_type = _Res;
> 28468:       using __maybe_type
> 28468:  = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>;
> 28468:       using __arity = integral_constant<size_t, sizeof...(_ArgTypes)>;
> 28468:     };
> 28468: # 97 "/usr/include/c++/9/bits/refwrap.h" 3
> 28468: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) > : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const > : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile > : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile > : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
> 28468: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
> 28468: template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) &&> : _Mem_fn_traits_base<_Res, _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const &&> : _Mem_fn_traits_base<_Res, const _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) volatile &&> : _Mem_fn_traits_base<_Res, volatile _Class, _ArgTypes...> { using __vararg = true_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = false_type; }; template<typename _Res, typename _Class, typename... _ArgTypes> struct _Mem_fn_traits<_Res (_Class::*)(_ArgTypes... ...) const volatile &&> : _Mem_fn_traits_base<_Res, const volatile _Class, _ArgTypes...> { using __vararg = true_type; };
> 28468: # 111 "/usr/include/c++/9/bits/refwrap.h" 3
> 28468:   template<typename _Functor, typename = __void_t<>>
> 28468:     struct _Maybe_get_result_type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Functor>
> 28468:     struct _Maybe_get_result_type<_Functor,
> 28468:       __void_t<typename _Functor::result_type>>
> 28468:     { typedef typename _Functor::result_type result_type; };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Functor>
> 28468:     struct _Weak_result_type_impl
> 28468:     : _Maybe_get_result_type<_Functor>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct _Weak_result_type_impl<_Res(_ArgTypes...) >
> 28468:     { typedef _Res result_type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct _Weak_result_type_impl<_Res(_ArgTypes......) >
> 28468:     { typedef _Res result_type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct _Weak_result_type_impl<_Res(*)(_ArgTypes...) >
> 28468:     { typedef _Res result_type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes >
> 28468:     struct
> 28468:     _Weak_result_type_impl<_Res(*)(_ArgTypes......) >
> 28468:     { typedef _Res result_type; };
> 28468: 
> 28468: 
> 28468:   template<typename _Functor,
> 28468:     bool = is_member_function_pointer<_Functor>::value>
> 28468:     struct _Weak_result_type_memfun
> 28468:     : _Weak_result_type_impl<_Functor>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _MemFunPtr>
> 28468:     struct _Weak_result_type_memfun<_MemFunPtr, true>
> 28468:     {
> 28468:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Func, typename _Class>
> 28468:     struct _Weak_result_type_memfun<_Func _Class::*, false>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Functor>
> 28468:     struct _Weak_result_type
> 28468:     : _Weak_result_type_memfun<typename remove_cv<_Functor>::type>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename = __void_t<>>
> 28468:     struct _Refwrap_base_arg1
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct _Refwrap_base_arg1<_Tp,
> 28468:          __void_t<typename _Tp::argument_type>>
> 28468:     {
> 28468:       typedef typename _Tp::argument_type argument_type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename = __void_t<>>
> 28468:     struct _Refwrap_base_arg2
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct _Refwrap_base_arg2<_Tp,
> 28468:          __void_t<typename _Tp::first_argument_type,
> 28468:            typename _Tp::second_argument_type>>
> 28468:     {
> 28468:       typedef typename _Tp::first_argument_type first_argument_type;
> 28468:       typedef typename _Tp::second_argument_type second_argument_type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct _Reference_wrapper_base
> 28468:     : _Weak_result_type<_Tp>, _Refwrap_base_arg1<_Tp>, _Refwrap_base_arg2<_Tp>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename _T1 >
> 28468:     struct _Reference_wrapper_base<_Res(_T1) >
> 28468:     : unary_function<_T1, _Res>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Res, typename _T1>
> 28468:     struct _Reference_wrapper_base<_Res(_T1) const>
> 28468:     : unary_function<_T1, _Res>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Res, typename _T1>
> 28468:     struct _Reference_wrapper_base<_Res(_T1) volatile>
> 28468:     : unary_function<_T1, _Res>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Res, typename _T1>
> 28468:     struct _Reference_wrapper_base<_Res(_T1) const volatile>
> 28468:     : unary_function<_T1, _Res>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename _T1, typename _T2 >
> 28468:     struct _Reference_wrapper_base<_Res(_T1, _T2) >
> 28468:     : binary_function<_T1, _T2, _Res>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Res, typename _T1, typename _T2>
> 28468:     struct _Reference_wrapper_base<_Res(_T1, _T2) const>
> 28468:     : binary_function<_T1, _T2, _Res>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Res, typename _T1, typename _T2>
> 28468:     struct _Reference_wrapper_base<_Res(_T1, _T2) volatile>
> 28468:     : binary_function<_T1, _T2, _Res>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Res, typename _T1, typename _T2>
> 28468:     struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile>
> 28468:     : binary_function<_T1, _T2, _Res>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename _T1 >
> 28468:     struct _Reference_wrapper_base<_Res(*)(_T1) >
> 28468:     : unary_function<_T1, _Res>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename _T1, typename _T2 >
> 28468:     struct _Reference_wrapper_base<_Res(*)(_T1, _T2) >
> 28468:     : binary_function<_T1, _T2, _Res>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, bool = is_member_function_pointer<_Tp>::value>
> 28468:     struct _Reference_wrapper_base_memfun
> 28468:     : _Reference_wrapper_base<_Tp>
> 28468:     { };
> 28468: 
> 28468:   template<typename _MemFunPtr>
> 28468:     struct _Reference_wrapper_base_memfun<_MemFunPtr, true>
> 28468:     : _Mem_fn_traits<_MemFunPtr>::__maybe_type
> 28468:     {
> 28468:       using result_type = typename _Mem_fn_traits<_MemFunPtr>::__result_type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class reference_wrapper
> 28468: 
> 28468: 
> 28468: 
> 28468:     : public _Reference_wrapper_base_memfun<typename remove_cv<_Tp>::type>
> 28468: 
> 28468:     {
> 28468:       _Tp* _M_data;
> 28468: 
> 28468:       static _Tp* _S_fun(_Tp& __r) noexcept { return std::__addressof(__r); }
> 28468:       static void _S_fun(_Tp&&) = delete;
> 28468: 
> 28468:       template<typename _Up, typename _Up2 = __remove_cvref_t<_Up>>
> 28468:  using __not_same
> 28468:    = typename enable_if<!is_same<reference_wrapper, _Up2>::value>::type;
> 28468: 
> 28468:     public:
> 28468:       typedef _Tp type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Up, typename = __not_same<_Up>, typename
> 28468:   = decltype(reference_wrapper::_S_fun(std::declval<_Up>()))>
> 28468:  reference_wrapper(_Up&& __uref)
> 28468:  noexcept(noexcept(reference_wrapper::_S_fun(std::declval<_Up>())))
> 28468:  : _M_data(reference_wrapper::_S_fun(std::forward<_Up>(__uref)))
> 28468:  { }
> 28468: 
> 28468:       reference_wrapper(const reference_wrapper&) = default;
> 28468: 
> 28468:       reference_wrapper&
> 28468:       operator=(const reference_wrapper&) = default;
> 28468: 
> 28468:       operator _Tp&() const noexcept
> 28468:       { return this->get(); }
> 28468: 
> 28468:       _Tp&
> 28468:       get() const noexcept
> 28468:       { return *_M_data; }
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  typename result_of<_Tp&(_Args&&...)>::type
> 28468:  operator()(_Args&&... __args) const
> 28468:  {
> 28468: 
> 28468: 
> 28468: 
> 28468:    return std::__invoke(get(), std::forward<_Args>(__args)...);
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline reference_wrapper<_Tp>
> 28468:     ref(_Tp& __t) noexcept
> 28468:     { return reference_wrapper<_Tp>(__t); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline reference_wrapper<const _Tp>
> 28468:     cref(const _Tp& __t) noexcept
> 28468:     { return reference_wrapper<const _Tp>(__t); }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     void ref(const _Tp&&) = delete;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     void cref(const _Tp&&) = delete;
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline reference_wrapper<_Tp>
> 28468:     ref(reference_wrapper<_Tp> __t) noexcept
> 28468:     { return __t; }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline reference_wrapper<const _Tp>
> 28468:     cref(reference_wrapper<_Tp> __t) noexcept
> 28468:     { return { __t.get() }; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 55 "/usr/include/c++/9/bits/shared_ptr_base.h" 2 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/ext/aligned_buffer.h" 1 3
> 28468: # 32 "/usr/include/c++/9/ext/aligned_buffer.h" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/ext/aligned_buffer.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace __gnu_cxx
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __aligned_membuf
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       struct _Tp2 { _Tp _M_t; };
> 28468: 
> 28468:       alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)];
> 28468: 
> 28468:       __aligned_membuf() = default;
> 28468: 
> 28468: 
> 28468:       __aligned_membuf(std::nullptr_t) { }
> 28468: 
> 28468:       void*
> 28468:       _M_addr() noexcept
> 28468:       { return static_cast<void*>(&_M_storage); }
> 28468: 
> 28468:       const void*
> 28468:       _M_addr() const noexcept
> 28468:       { return static_cast<const void*>(&_M_storage); }
> 28468: 
> 28468:       _Tp*
> 28468:       _M_ptr() noexcept
> 28468:       { return static_cast<_Tp*>(_M_addr()); }
> 28468: 
> 28468:       const _Tp*
> 28468:       _M_ptr() const noexcept
> 28468:       { return static_cast<const _Tp*>(_M_addr()); }
> 28468:     };
> 28468: # 89 "/usr/include/c++/9/ext/aligned_buffer.h" 3
> 28468:   template<typename _Tp>
> 28468:     struct __aligned_buffer
> 28468:     : std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>
> 28468:     {
> 28468:       typename
> 28468:  std::aligned_storage<sizeof(_Tp), __alignof__(_Tp)>::type _M_storage;
> 28468: 
> 28468:       __aligned_buffer() = default;
> 28468: 
> 28468: 
> 28468:       __aligned_buffer(std::nullptr_t) { }
> 28468: 
> 28468:       void*
> 28468:       _M_addr() noexcept
> 28468:       {
> 28468:         return static_cast<void*>(&_M_storage);
> 28468:       }
> 28468: 
> 28468:       const void*
> 28468:       _M_addr() const noexcept
> 28468:       {
> 28468:         return static_cast<const void*>(&_M_storage);
> 28468:       }
> 28468: 
> 28468:       _Tp*
> 28468:       _M_ptr() noexcept
> 28468:       { return static_cast<_Tp*>(_M_addr()); }
> 28468: 
> 28468:       const _Tp*
> 28468:       _M_ptr() const noexcept
> 28468:       { return static_cast<const _Tp*>(_M_addr()); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 57 "/usr/include/c++/9/bits/shared_ptr_base.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> 28468:   template<typename> class auto_ptr;
> 28468: #pragma GCC diagnostic pop
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class bad_weak_ptr : public std::exception
> 28468:   {
> 28468:   public:
> 28468:     virtual char const* what() const noexcept;
> 28468: 
> 28468:     virtual ~bad_weak_ptr() noexcept;
> 28468:   };
> 28468: 
> 28468: 
> 28468:   inline void
> 28468:   __throw_bad_weak_ptr()
> 28468:   { (throw (bad_weak_ptr())); }
> 28468: 
> 28468:   using __gnu_cxx::_Lock_policy;
> 28468:   using __gnu_cxx::__default_lock_policy;
> 28468:   using __gnu_cxx::_S_single;
> 28468:   using __gnu_cxx::_S_mutex;
> 28468:   using __gnu_cxx::_S_atomic;
> 28468: 
> 28468: 
> 28468:   template<_Lock_policy _Lp>
> 28468:     class _Mutex_base
> 28468:     {
> 28468:     protected:
> 28468: 
> 28468:       enum { _S_need_barriers = 0 };
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     class _Mutex_base<_S_mutex>
> 28468:     : public __gnu_cxx::__mutex
> 28468:     {
> 28468:     protected:
> 28468: 
> 28468: 
> 28468: 
> 28468:       enum { _S_need_barriers = 1 };
> 28468:     };
> 28468: 
> 28468:   template<_Lock_policy _Lp = __default_lock_policy>
> 28468:     class _Sp_counted_base
> 28468:     : public _Mutex_base<_Lp>
> 28468:     {
> 28468:     public:
> 28468:       _Sp_counted_base() noexcept
> 28468:       : _M_use_count(1), _M_weak_count(1) { }
> 28468: 
> 28468:       virtual
> 28468:       ~_Sp_counted_base() noexcept
> 28468:       { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       virtual void
> 28468:       _M_dispose() noexcept = 0;
> 28468: 
> 28468: 
> 28468:       virtual void
> 28468:       _M_destroy() noexcept
> 28468:       { delete this; }
> 28468: 
> 28468:       virtual void*
> 28468:       _M_get_deleter(const std::type_info&) noexcept = 0;
> 28468: 
> 28468:       void
> 28468:       _M_add_ref_copy()
> 28468:       { __gnu_cxx::__atomic_add_dispatch(&_M_use_count, 1); }
> 28468: 
> 28468:       void
> 28468:       _M_add_ref_lock();
> 28468: 
> 28468:       bool
> 28468:       _M_add_ref_lock_nothrow();
> 28468: 
> 28468:       void
> 28468:       _M_release() noexcept
> 28468:       {
> 28468: 
> 28468:         ;
> 28468:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1)
> 28468:    {
> 28468:             ;
> 28468:      _M_dispose();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:      if (_Mutex_base<_Lp>::_S_need_barriers)
> 28468:        {
> 28468:   __atomic_thread_fence (4);
> 28468:        }
> 28468: 
> 28468: 
> 28468:             ;
> 28468:      if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count,
> 28468:              -1) == 1)
> 28468:               {
> 28468:                 ;
> 28468:          _M_destroy();
> 28468:               }
> 28468:    }
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_weak_add_ref() noexcept
> 28468:       { __gnu_cxx::__atomic_add_dispatch(&_M_weak_count, 1); }
> 28468: 
> 28468:       void
> 28468:       _M_weak_release() noexcept
> 28468:       {
> 28468: 
> 28468:         ;
> 28468:  if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1)
> 28468:    {
> 28468:             ;
> 28468:      if (_Mutex_base<_Lp>::_S_need_barriers)
> 28468:        {
> 28468: 
> 28468: 
> 28468:   __atomic_thread_fence (4);
> 28468:        }
> 28468:      _M_destroy();
> 28468:    }
> 28468:       }
> 28468: 
> 28468:       long
> 28468:       _M_get_use_count() const noexcept
> 28468:       {
> 28468: 
> 28468: 
> 28468:         return __atomic_load_n(&_M_use_count, 0);
> 28468:       }
> 28468: 
> 28468:     private:
> 28468:       _Sp_counted_base(_Sp_counted_base const&) = delete;
> 28468:       _Sp_counted_base& operator=(_Sp_counted_base const&) = delete;
> 28468: 
> 28468:       _Atomic_word _M_use_count;
> 28468:       _Atomic_word _M_weak_count;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     inline void
> 28468:     _Sp_counted_base<_S_single>::
> 28468:     _M_add_ref_lock()
> 28468:     {
> 28468:       if (_M_use_count == 0)
> 28468:  __throw_bad_weak_ptr();
> 28468:       ++_M_use_count;
> 28468:     }
> 28468: 
> 28468:   template<>
> 28468:     inline void
> 28468:     _Sp_counted_base<_S_mutex>::
> 28468:     _M_add_ref_lock()
> 28468:     {
> 28468:       __gnu_cxx::__scoped_lock sentry(*this);
> 28468:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0)
> 28468:  {
> 28468:    _M_use_count = 0;
> 28468:    __throw_bad_weak_ptr();
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<>
> 28468:     inline void
> 28468:     _Sp_counted_base<_S_atomic>::
> 28468:     _M_add_ref_lock()
> 28468:     {
> 28468: 
> 28468:       _Atomic_word __count = _M_get_use_count();
> 28468:       do
> 28468:  {
> 28468:    if (__count == 0)
> 28468:      __throw_bad_weak_ptr();
> 28468: 
> 28468: 
> 28468:  }
> 28468:       while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1,
> 28468:        true, 4,
> 28468:        0));
> 28468:     }
> 28468: 
> 28468:   template<>
> 28468:     inline bool
> 28468:     _Sp_counted_base<_S_single>::
> 28468:     _M_add_ref_lock_nothrow()
> 28468:     {
> 28468:       if (_M_use_count == 0)
> 28468:  return false;
> 28468:       ++_M_use_count;
> 28468:       return true;
> 28468:     }
> 28468: 
> 28468:   template<>
> 28468:     inline bool
> 28468:     _Sp_counted_base<_S_mutex>::
> 28468:     _M_add_ref_lock_nothrow()
> 28468:     {
> 28468:       __gnu_cxx::__scoped_lock sentry(*this);
> 28468:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0)
> 28468:  {
> 28468:    _M_use_count = 0;
> 28468:    return false;
> 28468:  }
> 28468:       return true;
> 28468:     }
> 28468: 
> 28468:   template<>
> 28468:     inline bool
> 28468:     _Sp_counted_base<_S_atomic>::
> 28468:     _M_add_ref_lock_nothrow()
> 28468:     {
> 28468: 
> 28468:       _Atomic_word __count = _M_get_use_count();
> 28468:       do
> 28468:  {
> 28468:    if (__count == 0)
> 28468:      return false;
> 28468: 
> 28468: 
> 28468:  }
> 28468:       while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1,
> 28468:        true, 4,
> 28468:        0));
> 28468:       return true;
> 28468:     }
> 28468: 
> 28468:   template<>
> 28468:     inline void
> 28468:     _Sp_counted_base<_S_single>::_M_add_ref_copy()
> 28468:     { ++_M_use_count; }
> 28468: 
> 28468:   template<>
> 28468:     inline void
> 28468:     _Sp_counted_base<_S_single>::_M_release() noexcept
> 28468:     {
> 28468:       if (--_M_use_count == 0)
> 28468:         {
> 28468:           _M_dispose();
> 28468:           if (--_M_weak_count == 0)
> 28468:             _M_destroy();
> 28468:         }
> 28468:     }
> 28468: 
> 28468:   template<>
> 28468:     inline void
> 28468:     _Sp_counted_base<_S_single>::_M_weak_add_ref() noexcept
> 28468:     { ++_M_weak_count; }
> 28468: 
> 28468:   template<>
> 28468:     inline void
> 28468:     _Sp_counted_base<_S_single>::_M_weak_release() noexcept
> 28468:     {
> 28468:       if (--_M_weak_count == 0)
> 28468:         _M_destroy();
> 28468:     }
> 28468: 
> 28468:   template<>
> 28468:     inline long
> 28468:     _Sp_counted_base<_S_single>::_M_get_use_count() const noexcept
> 28468:     { return _M_use_count; }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
> 28468:     class __shared_ptr;
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
> 28468:     class __weak_ptr;
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy>
> 28468:     class __enable_shared_from_this;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class shared_ptr;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class weak_ptr;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct owner_less;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class enable_shared_from_this;
> 28468: 
> 28468:   template<_Lock_policy _Lp = __default_lock_policy>
> 28468:     class __weak_count;
> 28468: 
> 28468:   template<_Lock_policy _Lp = __default_lock_policy>
> 28468:     class __shared_count;
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ptr, _Lock_policy _Lp>
> 28468:     class _Sp_counted_ptr final : public _Sp_counted_base<_Lp>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       _Sp_counted_ptr(_Ptr __p) noexcept
> 28468:       : _M_ptr(__p) { }
> 28468: 
> 28468:       virtual void
> 28468:       _M_dispose() noexcept
> 28468:       { delete _M_ptr; }
> 28468: 
> 28468:       virtual void
> 28468:       _M_destroy() noexcept
> 28468:       { delete this; }
> 28468: 
> 28468:       virtual void*
> 28468:       _M_get_deleter(const std::type_info&) noexcept
> 28468:       { return nullptr; }
> 28468: 
> 28468:       _Sp_counted_ptr(const _Sp_counted_ptr&) = delete;
> 28468:       _Sp_counted_ptr& operator=(const _Sp_counted_ptr&) = delete;
> 28468: 
> 28468:     private:
> 28468:       _Ptr _M_ptr;
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     inline void
> 28468:     _Sp_counted_ptr<nullptr_t, _S_single>::_M_dispose() noexcept { }
> 28468: 
> 28468:   template<>
> 28468:     inline void
> 28468:     _Sp_counted_ptr<nullptr_t, _S_mutex>::_M_dispose() noexcept { }
> 28468: 
> 28468:   template<>
> 28468:     inline void
> 28468:     _Sp_counted_ptr<nullptr_t, _S_atomic>::_M_dispose() noexcept { }
> 28468: 
> 28468:   template<int _Nm, typename _Tp,
> 28468:     bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)>
> 28468:     struct _Sp_ebo_helper;
> 28468: 
> 28468: 
> 28468:   template<int _Nm, typename _Tp>
> 28468:     struct _Sp_ebo_helper<_Nm, _Tp, true> : private _Tp
> 28468:     {
> 28468:       explicit _Sp_ebo_helper(const _Tp& __tp) : _Tp(__tp) { }
> 28468:       explicit _Sp_ebo_helper(_Tp&& __tp) : _Tp(std::move(__tp)) { }
> 28468: 
> 28468:       static _Tp&
> 28468:       _S_get(_Sp_ebo_helper& __eboh) { return static_cast<_Tp&>(__eboh); }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<int _Nm, typename _Tp>
> 28468:     struct _Sp_ebo_helper<_Nm, _Tp, false>
> 28468:     {
> 28468:       explicit _Sp_ebo_helper(const _Tp& __tp) : _M_tp(__tp) { }
> 28468:       explicit _Sp_ebo_helper(_Tp&& __tp) : _M_tp(std::move(__tp)) { }
> 28468: 
> 28468:       static _Tp&
> 28468:       _S_get(_Sp_ebo_helper& __eboh)
> 28468:       { return __eboh._M_tp; }
> 28468: 
> 28468:     private:
> 28468:       _Tp _M_tp;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Ptr, typename _Deleter, typename _Alloc, _Lock_policy _Lp>
> 28468:     class _Sp_counted_deleter final : public _Sp_counted_base<_Lp>
> 28468:     {
> 28468:       class _Impl : _Sp_ebo_helper<0, _Deleter>, _Sp_ebo_helper<1, _Alloc>
> 28468:       {
> 28468:  typedef _Sp_ebo_helper<0, _Deleter> _Del_base;
> 28468:  typedef _Sp_ebo_helper<1, _Alloc> _Alloc_base;
> 28468: 
> 28468:       public:
> 28468:  _Impl(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
> 28468:  : _M_ptr(__p), _Del_base(std::move(__d)), _Alloc_base(__a)
> 28468:  { }
> 28468: 
> 28468:  _Deleter& _M_del() noexcept { return _Del_base::_S_get(*this); }
> 28468:  _Alloc& _M_alloc() noexcept { return _Alloc_base::_S_get(*this); }
> 28468: 
> 28468:  _Ptr _M_ptr;
> 28468:       };
> 28468: 
> 28468:     public:
> 28468:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_deleter>;
> 28468: 
> 28468: 
> 28468:       _Sp_counted_deleter(_Ptr __p, _Deleter __d) noexcept
> 28468:       : _M_impl(__p, std::move(__d), _Alloc()) { }
> 28468: 
> 28468: 
> 28468:       _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept
> 28468:       : _M_impl(__p, std::move(__d), __a) { }
> 28468: 
> 28468:       ~_Sp_counted_deleter() noexcept { }
> 28468: 
> 28468:       virtual void
> 28468:       _M_dispose() noexcept
> 28468:       { _M_impl._M_del()(_M_impl._M_ptr); }
> 28468: 
> 28468:       virtual void
> 28468:       _M_destroy() noexcept
> 28468:       {
> 28468:  __allocator_type __a(_M_impl._M_alloc());
> 28468:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
> 28468:  this->~_Sp_counted_deleter();
> 28468:       }
> 28468: 
> 28468:       virtual void*
> 28468:       _M_get_deleter(const std::type_info& __ti) noexcept
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:         return __ti == typeid(_Deleter)
> 28468:    ? std::__addressof(_M_impl._M_del())
> 28468:    : nullptr;
> 28468: 
> 28468: 
> 28468: 
> 28468:       }
> 28468: 
> 28468:     private:
> 28468:       _Impl _M_impl;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct _Sp_make_shared_tag
> 28468:   {
> 28468:   private:
> 28468:     template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
> 28468:       friend class _Sp_counted_ptr_inplace;
> 28468: 
> 28468:     static const type_info&
> 28468:     _S_ti() noexcept __attribute__ ((__visibility__ ("default")))
> 28468:     {
> 28468:       alignas(type_info) static constexpr char __tag[sizeof(type_info)] = { };
> 28468:       return reinterpret_cast<const type_info&>(__tag);
> 28468:     }
> 28468: 
> 28468:     static bool _S_eq(const type_info&) noexcept;
> 28468:   };
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct _Sp_alloc_shared_tag
> 28468:     {
> 28468:       const _Alloc& _M_a;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc, _Lock_policy _Lp>
> 28468:     class _Sp_counted_ptr_inplace final : public _Sp_counted_base<_Lp>
> 28468:     {
> 28468:       class _Impl : _Sp_ebo_helper<0, _Alloc>
> 28468:       {
> 28468:  typedef _Sp_ebo_helper<0, _Alloc> _A_base;
> 28468: 
> 28468:       public:
> 28468:  explicit _Impl(_Alloc __a) noexcept : _A_base(__a) { }
> 28468: 
> 28468:  _Alloc& _M_alloc() noexcept { return _A_base::_S_get(*this); }
> 28468: 
> 28468:  __gnu_cxx::__aligned_buffer<_Tp> _M_storage;
> 28468:       };
> 28468: 
> 28468:     public:
> 28468:       using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_ptr_inplace>;
> 28468: 
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args)
> 28468:  : _M_impl(__a)
> 28468:  {
> 28468: 
> 28468: 
> 28468:    allocator_traits<_Alloc>::construct(__a, _M_ptr(),
> 28468:        std::forward<_Args>(__args)...);
> 28468:  }
> 28468: 
> 28468:       ~_Sp_counted_ptr_inplace() noexcept { }
> 28468: 
> 28468:       virtual void
> 28468:       _M_dispose() noexcept
> 28468:       {
> 28468:  allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr());
> 28468:       }
> 28468: 
> 28468: 
> 28468:       virtual void
> 28468:       _M_destroy() noexcept
> 28468:       {
> 28468:  __allocator_type __a(_M_impl._M_alloc());
> 28468:  __allocated_ptr<__allocator_type> __guard_ptr{ __a, this };
> 28468:  this->~_Sp_counted_ptr_inplace();
> 28468:       }
> 28468: 
> 28468:     private:
> 28468:       friend class __shared_count<_Lp>;
> 28468: 
> 28468: 
> 28468: 
> 28468:       virtual void*
> 28468:       _M_get_deleter(const std::type_info& __ti) noexcept override
> 28468:       {
> 28468:  auto __ptr = const_cast<typename remove_cv<_Tp>::type*>(_M_ptr());
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  if (&__ti == &_Sp_make_shared_tag::_S_ti()
> 28468:      ||
> 28468: 
> 28468:      __ti == typeid(_Sp_make_shared_tag)
> 28468: 
> 28468: 
> 28468: 
> 28468:     )
> 28468:    return __ptr;
> 28468:  return nullptr;
> 28468:       }
> 28468: 
> 28468:       _Tp* _M_ptr() noexcept { return _M_impl._M_storage._M_ptr(); }
> 28468: 
> 28468:       _Impl _M_impl;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   struct __sp_array_delete
> 28468:   {
> 28468:     template<typename _Yp>
> 28468:       void operator()(_Yp* __p) const { delete[] __p; }
> 28468:   };
> 28468: 
> 28468:   template<_Lock_policy _Lp>
> 28468:     class __shared_count
> 28468:     {
> 28468:       template<typename _Tp>
> 28468:  struct __not_alloc_shared_tag { using type = void; };
> 28468: 
> 28468:       template<typename _Tp>
> 28468:  struct __not_alloc_shared_tag<_Sp_alloc_shared_tag<_Tp>> { };
> 28468: 
> 28468:     public:
> 28468:       constexpr __shared_count() noexcept : _M_pi(0)
> 28468:       { }
> 28468: 
> 28468:       template<typename _Ptr>
> 28468:         explicit
> 28468:  __shared_count(_Ptr __p) : _M_pi(0)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468:        _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p);
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        delete __p;
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468: 
> 28468:       template<typename _Ptr>
> 28468:  __shared_count(_Ptr __p, false_type)
> 28468:  : __shared_count(__p)
> 28468:  { }
> 28468: 
> 28468:       template<typename _Ptr>
> 28468:  __shared_count(_Ptr __p, true_type)
> 28468:  : __shared_count(__p, __sp_array_delete{}, allocator<void>())
> 28468:  { }
> 28468: 
> 28468:       template<typename _Ptr, typename _Deleter,
> 28468:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
> 28468:  __shared_count(_Ptr __p, _Deleter __d)
> 28468:  : __shared_count(__p, std::move(__d), allocator<void>())
> 28468:  { }
> 28468: 
> 28468:       template<typename _Ptr, typename _Deleter, typename _Alloc,
> 28468:         typename = typename __not_alloc_shared_tag<_Deleter>::type>
> 28468:  __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0)
> 28468:  {
> 28468:    typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type;
> 28468:    try
> 28468:      {
> 28468:        typename _Sp_cd_type::__allocator_type __a2(__a);
> 28468:        auto __guard = std::__allocate_guarded(__a2);
> 28468:        _Sp_cd_type* __mem = __guard.get();
> 28468:        ::new (__mem) _Sp_cd_type(__p, std::move(__d), std::move(__a));
> 28468:        _M_pi = __mem;
> 28468:        __guard = nullptr;
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        __d(__p);
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468: 
> 28468:       template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:  __shared_count(_Tp*& __p, _Sp_alloc_shared_tag<_Alloc> __a,
> 28468:          _Args&&... __args)
> 28468:  {
> 28468:    typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type;
> 28468:    typename _Sp_cp_type::__allocator_type __a2(__a._M_a);
> 28468:    auto __guard = std::__allocate_guarded(__a2);
> 28468:    _Sp_cp_type* __mem = __guard.get();
> 28468:    auto __pi = ::new (__mem)
> 28468:      _Sp_cp_type(__a._M_a, std::forward<_Args>(__args)...);
> 28468:    __guard = nullptr;
> 28468:    _M_pi = __pi;
> 28468:    __p = __pi->_M_ptr();
> 28468:  }
> 28468: 
> 28468: 
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> 28468: 
> 28468:       template<typename _Tp>
> 28468:         explicit
> 28468:  __shared_count(std::auto_ptr<_Tp>&& __r);
> 28468: #pragma GCC diagnostic pop
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Tp, typename _Del>
> 28468:         explicit
> 28468:  __shared_count(std::unique_ptr<_Tp, _Del>&& __r) : _M_pi(0)
> 28468:  {
> 28468: 
> 28468: 
> 28468:    if (__r.get() == nullptr)
> 28468:      return;
> 28468: 
> 28468:    using _Ptr = typename unique_ptr<_Tp, _Del>::pointer;
> 28468:    using _Del2 = typename conditional<is_reference<_Del>::value,
> 28468:        reference_wrapper<typename remove_reference<_Del>::type>,
> 28468:        _Del>::type;
> 28468:    using _Sp_cd_type
> 28468:      = _Sp_counted_deleter<_Ptr, _Del2, allocator<void>, _Lp>;
> 28468:    using _Alloc = allocator<_Sp_cd_type>;
> 28468:    using _Alloc_traits = allocator_traits<_Alloc>;
> 28468:    _Alloc __a;
> 28468:    _Sp_cd_type* __mem = _Alloc_traits::allocate(__a, 1);
> 28468:    _Alloc_traits::construct(__a, __mem, __r.release(),
> 28468:        __r.get_deleter());
> 28468:    _M_pi = __mem;
> 28468:  }
> 28468: 
> 28468: 
> 28468:       explicit __shared_count(const __weak_count<_Lp>& __r);
> 28468: 
> 28468: 
> 28468:       explicit __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t);
> 28468: 
> 28468:       ~__shared_count() noexcept
> 28468:       {
> 28468:  if (_M_pi != nullptr)
> 28468:    _M_pi->_M_release();
> 28468:       }
> 28468: 
> 28468:       __shared_count(const __shared_count& __r) noexcept
> 28468:       : _M_pi(__r._M_pi)
> 28468:       {
> 28468:  if (_M_pi != 0)
> 28468:    _M_pi->_M_add_ref_copy();
> 28468:       }
> 28468: 
> 28468:       __shared_count&
> 28468:       operator=(const __shared_count& __r) noexcept
> 28468:       {
> 28468:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
> 28468:  if (__tmp != _M_pi)
> 28468:    {
> 28468:      if (__tmp != 0)
> 28468:        __tmp->_M_add_ref_copy();
> 28468:      if (_M_pi != 0)
> 28468:        _M_pi->_M_release();
> 28468:      _M_pi = __tmp;
> 28468:    }
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_swap(__shared_count& __r) noexcept
> 28468:       {
> 28468:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
> 28468:  __r._M_pi = _M_pi;
> 28468:  _M_pi = __tmp;
> 28468:       }
> 28468: 
> 28468:       long
> 28468:       _M_get_use_count() const noexcept
> 28468:       { return _M_pi != 0 ? _M_pi->_M_get_use_count() : 0; }
> 28468: 
> 28468:       bool
> 28468:       _M_unique() const noexcept
> 28468:       { return this->_M_get_use_count() == 1; }
> 28468: 
> 28468:       void*
> 28468:       _M_get_deleter(const std::type_info& __ti) const noexcept
> 28468:       { return _M_pi ? _M_pi->_M_get_deleter(__ti) : nullptr; }
> 28468: 
> 28468:       bool
> 28468:       _M_less(const __shared_count& __rhs) const noexcept
> 28468:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
> 28468: 
> 28468:       bool
> 28468:       _M_less(const __weak_count<_Lp>& __rhs) const noexcept
> 28468:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
> 28468: 
> 28468: 
> 28468:       friend inline bool
> 28468:       operator==(const __shared_count& __a, const __shared_count& __b) noexcept
> 28468:       { return __a._M_pi == __b._M_pi; }
> 28468: 
> 28468:     private:
> 28468:       friend class __weak_count<_Lp>;
> 28468: 
> 28468:       _Sp_counted_base<_Lp>* _M_pi;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<_Lock_policy _Lp>
> 28468:     class __weak_count
> 28468:     {
> 28468:     public:
> 28468:       constexpr __weak_count() noexcept : _M_pi(nullptr)
> 28468:       { }
> 28468: 
> 28468:       __weak_count(const __shared_count<_Lp>& __r) noexcept
> 28468:       : _M_pi(__r._M_pi)
> 28468:       {
> 28468:  if (_M_pi != nullptr)
> 28468:    _M_pi->_M_weak_add_ref();
> 28468:       }
> 28468: 
> 28468:       __weak_count(const __weak_count& __r) noexcept
> 28468:       : _M_pi(__r._M_pi)
> 28468:       {
> 28468:  if (_M_pi != nullptr)
> 28468:    _M_pi->_M_weak_add_ref();
> 28468:       }
> 28468: 
> 28468:       __weak_count(__weak_count&& __r) noexcept
> 28468:       : _M_pi(__r._M_pi)
> 28468:       { __r._M_pi = nullptr; }
> 28468: 
> 28468:       ~__weak_count() noexcept
> 28468:       {
> 28468:  if (_M_pi != nullptr)
> 28468:    _M_pi->_M_weak_release();
> 28468:       }
> 28468: 
> 28468:       __weak_count&
> 28468:       operator=(const __shared_count<_Lp>& __r) noexcept
> 28468:       {
> 28468:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
> 28468:  if (__tmp != nullptr)
> 28468:    __tmp->_M_weak_add_ref();
> 28468:  if (_M_pi != nullptr)
> 28468:    _M_pi->_M_weak_release();
> 28468:  _M_pi = __tmp;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       __weak_count&
> 28468:       operator=(const __weak_count& __r) noexcept
> 28468:       {
> 28468:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
> 28468:  if (__tmp != nullptr)
> 28468:    __tmp->_M_weak_add_ref();
> 28468:  if (_M_pi != nullptr)
> 28468:    _M_pi->_M_weak_release();
> 28468:  _M_pi = __tmp;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       __weak_count&
> 28468:       operator=(__weak_count&& __r) noexcept
> 28468:       {
> 28468:  if (_M_pi != nullptr)
> 28468:    _M_pi->_M_weak_release();
> 28468:  _M_pi = __r._M_pi;
> 28468:         __r._M_pi = nullptr;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_swap(__weak_count& __r) noexcept
> 28468:       {
> 28468:  _Sp_counted_base<_Lp>* __tmp = __r._M_pi;
> 28468:  __r._M_pi = _M_pi;
> 28468:  _M_pi = __tmp;
> 28468:       }
> 28468: 
> 28468:       long
> 28468:       _M_get_use_count() const noexcept
> 28468:       { return _M_pi != nullptr ? _M_pi->_M_get_use_count() : 0; }
> 28468: 
> 28468:       bool
> 28468:       _M_less(const __weak_count& __rhs) const noexcept
> 28468:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
> 28468: 
> 28468:       bool
> 28468:       _M_less(const __shared_count<_Lp>& __rhs) const noexcept
> 28468:       { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); }
> 28468: 
> 28468: 
> 28468:       friend inline bool
> 28468:       operator==(const __weak_count& __a, const __weak_count& __b) noexcept
> 28468:       { return __a._M_pi == __b._M_pi; }
> 28468: 
> 28468:     private:
> 28468:       friend class __shared_count<_Lp>;
> 28468: 
> 28468:       _Sp_counted_base<_Lp>* _M_pi;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<_Lock_policy _Lp>
> 28468:     inline
> 28468:     __shared_count<_Lp>::__shared_count(const __weak_count<_Lp>& __r)
> 28468:     : _M_pi(__r._M_pi)
> 28468:     {
> 28468:       if (_M_pi != nullptr)
> 28468:  _M_pi->_M_add_ref_lock();
> 28468:       else
> 28468:  __throw_bad_weak_ptr();
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<_Lock_policy _Lp>
> 28468:     inline
> 28468:     __shared_count<_Lp>::
> 28468:     __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t)
> 28468:     : _M_pi(__r._M_pi)
> 28468:     {
> 28468:       if (_M_pi != nullptr)
> 28468:  if (!_M_pi->_M_add_ref_lock_nothrow())
> 28468:    _M_pi = nullptr;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Yp_ptr, typename _Tp_ptr>
> 28468:     struct __sp_compatible_with
> 28468:     : false_type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Yp, typename _Tp>
> 28468:     struct __sp_compatible_with<_Yp*, _Tp*>
> 28468:     : is_convertible<_Yp*, _Tp*>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Up, size_t _Nm>
> 28468:     struct __sp_compatible_with<_Up(*)[_Nm], _Up(*)[]>
> 28468:     : true_type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Up, size_t _Nm>
> 28468:     struct __sp_compatible_with<_Up(*)[_Nm], const _Up(*)[]>
> 28468:     : true_type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Up, size_t _Nm>
> 28468:     struct __sp_compatible_with<_Up(*)[_Nm], volatile _Up(*)[]>
> 28468:     : true_type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Up, size_t _Nm>
> 28468:     struct __sp_compatible_with<_Up(*)[_Nm], const volatile _Up(*)[]>
> 28468:     : true_type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Up, size_t _Nm, typename _Yp, typename = void>
> 28468:     struct __sp_is_constructible_arrN
> 28468:     : false_type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Up, size_t _Nm, typename _Yp>
> 28468:     struct __sp_is_constructible_arrN<_Up, _Nm, _Yp, __void_t<_Yp[_Nm]>>
> 28468:     : is_convertible<_Yp(*)[_Nm], _Up(*)[_Nm]>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Up, typename _Yp, typename = void>
> 28468:     struct __sp_is_constructible_arr
> 28468:     : false_type
> 28468:     { };
> 28468: 
> 28468:   template<typename _Up, typename _Yp>
> 28468:     struct __sp_is_constructible_arr<_Up, _Yp, __void_t<_Yp[]>>
> 28468:     : is_convertible<_Yp(*)[], _Up(*)[]>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Yp>
> 28468:     struct __sp_is_constructible;
> 28468: 
> 28468: 
> 28468:   template<typename _Up, size_t _Nm, typename _Yp>
> 28468:     struct __sp_is_constructible<_Up[_Nm], _Yp>
> 28468:     : __sp_is_constructible_arrN<_Up, _Nm, _Yp>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Up, typename _Yp>
> 28468:     struct __sp_is_constructible<_Up[], _Yp>
> 28468:     : __sp_is_constructible_arr<_Up, _Yp>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Yp>
> 28468:     struct __sp_is_constructible
> 28468:     : is_convertible<_Yp*, _Tp*>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp,
> 28468:     bool = is_array<_Tp>::value, bool = is_void<_Tp>::value>
> 28468:     class __shared_ptr_access
> 28468:     {
> 28468:     public:
> 28468:       using element_type = _Tp;
> 28468: 
> 28468:       element_type&
> 28468:       operator*() const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return *_M_get();
> 28468:       }
> 28468: 
> 28468:       element_type*
> 28468:       operator->() const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return _M_get();
> 28468:       }
> 28468: 
> 28468:     private:
> 28468:       element_type*
> 28468:       _M_get() const noexcept
> 28468:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     class __shared_ptr_access<_Tp, _Lp, false, true>
> 28468:     {
> 28468:     public:
> 28468:       using element_type = _Tp;
> 28468: 
> 28468:       element_type*
> 28468:       operator->() const noexcept
> 28468:       {
> 28468:  auto __ptr = static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get();
> 28468:  ;
> 28468:  return __ptr;
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     class __shared_ptr_access<_Tp, _Lp, true, false>
> 28468:     {
> 28468:     public:
> 28468:       using element_type = typename remove_extent<_Tp>::type;
> 28468: 
> 28468: 
> 28468:       [[__deprecated__("shared_ptr<T[]>::operator* is absent from C++17")]]
> 28468:       element_type&
> 28468:       operator*() const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return *_M_get();
> 28468:       }
> 28468: 
> 28468:       [[__deprecated__("shared_ptr<T[]>::operator-> is absent from C++17")]]
> 28468:       element_type*
> 28468:       operator->() const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return _M_get();
> 28468:       }
> 28468: 
> 28468: 
> 28468:       element_type&
> 28468:       operator[](ptrdiff_t __i) const
> 28468:       {
> 28468:  ;
> 28468:  ;
> 28468:  return _M_get()[__i];
> 28468:       }
> 28468: 
> 28468:     private:
> 28468:       element_type*
> 28468:       _M_get() const noexcept
> 28468:       { return static_cast<const __shared_ptr<_Tp, _Lp>*>(this)->get(); }
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     class __shared_ptr
> 28468:     : public __shared_ptr_access<_Tp, _Lp>
> 28468:     {
> 28468:     public:
> 28468:       using element_type = typename remove_extent<_Tp>::type;
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  using _SafeConv
> 28468:    = typename enable_if<__sp_is_constructible<_Tp, _Yp>::value>::type;
> 28468: 
> 28468: 
> 28468:       template<typename _Yp, typename _Res = void>
> 28468:  using _Compatible = typename
> 28468:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
> 28468: 
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  using _Assignable = _Compatible<_Yp, __shared_ptr&>;
> 28468: 
> 28468: 
> 28468:       template<typename _Yp, typename _Del, typename _Res = void,
> 28468:         typename _Ptr = typename unique_ptr<_Yp, _Del>::pointer>
> 28468:  using _UniqCompatible = typename enable_if<__and_<
> 28468:    __sp_compatible_with<_Yp*, _Tp*>, is_convertible<_Ptr, element_type*>
> 28468:    >::value, _Res>::type;
> 28468: 
> 28468: 
> 28468:       template<typename _Yp, typename _Del>
> 28468:  using _UniqAssignable = _UniqCompatible<_Yp, _Del, __shared_ptr&>;
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       constexpr __shared_ptr() noexcept
> 28468:       : _M_ptr(0), _M_refcount()
> 28468:       { }
> 28468: 
> 28468:       template<typename _Yp, typename = _SafeConv<_Yp>>
> 28468:  explicit
> 28468:  __shared_ptr(_Yp* __p)
> 28468:  : _M_ptr(__p), _M_refcount(__p, typename is_array<_Tp>::type())
> 28468:  {
> 28468:    static_assert( !is_void<_Yp>::value, "incomplete type" );
> 28468:    static_assert( sizeof(_Yp) > 0, "incomplete type" );
> 28468:    _M_enable_shared_from_this_with(__p);
> 28468:  }
> 28468: 
> 28468:       template<typename _Yp, typename _Deleter, typename = _SafeConv<_Yp>>
> 28468:  __shared_ptr(_Yp* __p, _Deleter __d)
> 28468:  : _M_ptr(__p), _M_refcount(__p, std::move(__d))
> 28468:  {
> 28468:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
> 28468:        "deleter expression d(p) is well-formed");
> 28468:    _M_enable_shared_from_this_with(__p);
> 28468:  }
> 28468: 
> 28468:       template<typename _Yp, typename _Deleter, typename _Alloc,
> 28468:         typename = _SafeConv<_Yp>>
> 28468:  __shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
> 28468:  : _M_ptr(__p), _M_refcount(__p, std::move(__d), std::move(__a))
> 28468:  {
> 28468:    static_assert(__is_invocable<_Deleter&, _Yp*&>::value,
> 28468:        "deleter expression d(p) is well-formed");
> 28468:    _M_enable_shared_from_this_with(__p);
> 28468:  }
> 28468: 
> 28468:       template<typename _Deleter>
> 28468:  __shared_ptr(nullptr_t __p, _Deleter __d)
> 28468:  : _M_ptr(0), _M_refcount(__p, std::move(__d))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Deleter, typename _Alloc>
> 28468:         __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
> 28468:  : _M_ptr(0), _M_refcount(__p, std::move(__d), std::move(__a))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r,
> 28468:        element_type* __p) noexcept
> 28468:  : _M_ptr(__p), _M_refcount(__r._M_refcount)
> 28468:  { }
> 28468: 
> 28468:       __shared_ptr(const __shared_ptr&) noexcept = default;
> 28468:       __shared_ptr& operator=(const __shared_ptr&) noexcept = default;
> 28468:       ~__shared_ptr() = default;
> 28468: 
> 28468:       template<typename _Yp, typename = _Compatible<_Yp>>
> 28468:  __shared_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
> 28468:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
> 28468:  { }
> 28468: 
> 28468:       __shared_ptr(__shared_ptr&& __r) noexcept
> 28468:       : _M_ptr(__r._M_ptr), _M_refcount()
> 28468:       {
> 28468:  _M_refcount._M_swap(__r._M_refcount);
> 28468:  __r._M_ptr = 0;
> 28468:       }
> 28468: 
> 28468:       template<typename _Yp, typename = _Compatible<_Yp>>
> 28468:  __shared_ptr(__shared_ptr<_Yp, _Lp>&& __r) noexcept
> 28468:  : _M_ptr(__r._M_ptr), _M_refcount()
> 28468:  {
> 28468:    _M_refcount._M_swap(__r._M_refcount);
> 28468:    __r._M_ptr = 0;
> 28468:  }
> 28468: 
> 28468:       template<typename _Yp, typename = _Compatible<_Yp>>
> 28468:  explicit __shared_ptr(const __weak_ptr<_Yp, _Lp>& __r)
> 28468:  : _M_refcount(__r._M_refcount)
> 28468:  {
> 28468: 
> 28468: 
> 28468:    _M_ptr = __r._M_ptr;
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Yp, typename _Del,
> 28468:         typename = _UniqCompatible<_Yp, _Del>>
> 28468:  __shared_ptr(unique_ptr<_Yp, _Del>&& __r)
> 28468:  : _M_ptr(__r.get()), _M_refcount()
> 28468:  {
> 28468:    auto __raw = __to_address(__r.get());
> 28468:    _M_refcount = __shared_count<_Lp>(std::move(__r));
> 28468:    _M_enable_shared_from_this_with(__raw);
> 28468:  }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       template<typename _Tp1, typename _Del,
> 28468:         typename enable_if<__and_<
> 28468:    __not_<is_array<_Tp>>, is_array<_Tp1>,
> 28468:           is_convertible<typename unique_ptr<_Tp1, _Del>::pointer, _Tp*>
> 28468:         >::value, bool>::type = true>
> 28468:  __shared_ptr(unique_ptr<_Tp1, _Del>&& __r, __sp_array_delete)
> 28468:  : _M_ptr(__r.get()), _M_refcount()
> 28468:  {
> 28468:    auto __raw = __to_address(__r.get());
> 28468:    _M_refcount = __shared_count<_Lp>(std::move(__r));
> 28468:    _M_enable_shared_from_this_with(__raw);
> 28468:  }
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> 28468: 
> 28468:       template<typename _Yp, typename = _Compatible<_Yp>>
> 28468:  __shared_ptr(auto_ptr<_Yp>&& __r);
> 28468: #pragma GCC diagnostic pop
> 28468: 
> 28468: 
> 28468:       constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { }
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  _Assignable<_Yp>
> 28468:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
> 28468:  {
> 28468:    _M_ptr = __r._M_ptr;
> 28468:    _M_refcount = __r._M_refcount;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468: 
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> 28468:       template<typename _Yp>
> 28468:  _Assignable<_Yp>
> 28468:  operator=(auto_ptr<_Yp>&& __r)
> 28468:  {
> 28468:    __shared_ptr(std::move(__r)).swap(*this);
> 28468:    return *this;
> 28468:  }
> 28468: #pragma GCC diagnostic pop
> 28468: 
> 28468: 
> 28468:       __shared_ptr&
> 28468:       operator=(__shared_ptr&& __r) noexcept
> 28468:       {
> 28468:  __shared_ptr(std::move(__r)).swap(*this);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       template<class _Yp>
> 28468:  _Assignable<_Yp>
> 28468:  operator=(__shared_ptr<_Yp, _Lp>&& __r) noexcept
> 28468:  {
> 28468:    __shared_ptr(std::move(__r)).swap(*this);
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       template<typename _Yp, typename _Del>
> 28468:  _UniqAssignable<_Yp, _Del>
> 28468:  operator=(unique_ptr<_Yp, _Del>&& __r)
> 28468:  {
> 28468:    __shared_ptr(std::move(__r)).swap(*this);
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       void
> 28468:       reset() noexcept
> 28468:       { __shared_ptr().swap(*this); }
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  _SafeConv<_Yp>
> 28468:  reset(_Yp* __p)
> 28468:  {
> 28468: 
> 28468:    ;
> 28468:    __shared_ptr(__p).swap(*this);
> 28468:  }
> 28468: 
> 28468:       template<typename _Yp, typename _Deleter>
> 28468:  _SafeConv<_Yp>
> 28468:  reset(_Yp* __p, _Deleter __d)
> 28468:  { __shared_ptr(__p, std::move(__d)).swap(*this); }
> 28468: 
> 28468:       template<typename _Yp, typename _Deleter, typename _Alloc>
> 28468:  _SafeConv<_Yp>
> 28468:  reset(_Yp* __p, _Deleter __d, _Alloc __a)
> 28468:         { __shared_ptr(__p, std::move(__d), std::move(__a)).swap(*this); }
> 28468: 
> 28468:       element_type*
> 28468:       get() const noexcept
> 28468:       { return _M_ptr; }
> 28468: 
> 28468:       explicit operator bool() const
> 28468:       { return _M_ptr == 0 ? false : true; }
> 28468: 
> 28468:       bool
> 28468:       unique() const noexcept
> 28468:       { return _M_refcount._M_unique(); }
> 28468: 
> 28468:       long
> 28468:       use_count() const noexcept
> 28468:       { return _M_refcount._M_get_use_count(); }
> 28468: 
> 28468:       void
> 28468:       swap(__shared_ptr<_Tp, _Lp>& __other) noexcept
> 28468:       {
> 28468:  std::swap(_M_ptr, __other._M_ptr);
> 28468:  _M_refcount._M_swap(__other._M_refcount);
> 28468:       }
> 28468: 
> 28468:       template<typename _Tp1>
> 28468:  bool
> 28468:  owner_before(__shared_ptr<_Tp1, _Lp> const& __rhs) const noexcept
> 28468:  { return _M_refcount._M_less(__rhs._M_refcount); }
> 28468: 
> 28468:       template<typename _Tp1>
> 28468:  bool
> 28468:  owner_before(__weak_ptr<_Tp1, _Lp> const& __rhs) const noexcept
> 28468:  { return _M_refcount._M_less(__rhs._M_refcount); }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       template<typename _Alloc, typename... _Args>
> 28468:  __shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
> 28468:  : _M_ptr(), _M_refcount(_M_ptr, __tag, std::forward<_Args>(__args)...)
> 28468:  { _M_enable_shared_from_this_with(_M_ptr); }
> 28468: 
> 28468:       template<typename _Tp1, _Lock_policy _Lp1, typename _Alloc,
> 28468:         typename... _Args>
> 28468:  friend __shared_ptr<_Tp1, _Lp1>
> 28468:  __allocate_shared(const _Alloc& __a, _Args&&... __args);
> 28468: 
> 28468: 
> 28468: 
> 28468:       __shared_ptr(const __weak_ptr<_Tp, _Lp>& __r, std::nothrow_t)
> 28468:       : _M_refcount(__r._M_refcount, std::nothrow)
> 28468:       {
> 28468:  _M_ptr = _M_refcount._M_get_use_count() ? __r._M_ptr : nullptr;
> 28468:       }
> 28468: 
> 28468:       friend class __weak_ptr<_Tp, _Lp>;
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  using __esft_base_t = decltype(__enable_shared_from_this_base(
> 28468:        std::declval<const __shared_count<_Lp>&>(),
> 28468:        std::declval<_Yp*>()));
> 28468: 
> 28468: 
> 28468:       template<typename _Yp, typename = void>
> 28468:  struct __has_esft_base
> 28468:  : false_type { };
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  struct __has_esft_base<_Yp, __void_t<__esft_base_t<_Yp>>>
> 28468:  : __not_<is_array<_Tp>> { };
> 28468: 
> 28468:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
> 28468:  typename enable_if<__has_esft_base<_Yp2>::value>::type
> 28468:  _M_enable_shared_from_this_with(_Yp* __p) noexcept
> 28468:  {
> 28468:    if (auto __base = __enable_shared_from_this_base(_M_refcount, __p))
> 28468:      __base->_M_weak_assign(const_cast<_Yp2*>(__p), _M_refcount);
> 28468:  }
> 28468: 
> 28468:       template<typename _Yp, typename _Yp2 = typename remove_cv<_Yp>::type>
> 28468:  typename enable_if<!__has_esft_base<_Yp2>::value>::type
> 28468:  _M_enable_shared_from_this_with(_Yp*) noexcept
> 28468:  { }
> 28468: 
> 28468:       void*
> 28468:       _M_get_deleter(const std::type_info& __ti) const noexcept
> 28468:       { return _M_refcount._M_get_deleter(__ti); }
> 28468: 
> 28468:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
> 28468:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
> 28468: 
> 28468:       template<typename _Del, typename _Tp1, _Lock_policy _Lp1>
> 28468:  friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept;
> 28468: 
> 28468:       template<typename _Del, typename _Tp1>
> 28468:  friend _Del* get_deleter(const shared_ptr<_Tp1>&) noexcept;
> 28468: 
> 28468:       element_type* _M_ptr;
> 28468:       __shared_count<_Lp> _M_refcount;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator==(const __shared_ptr<_Tp1, _Lp>& __a,
> 28468:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
> 28468:     { return __a.get() == __b.get(); }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
> 28468:     { return !__a; }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
> 28468:     { return !__a; }
> 28468: 
> 28468:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator!=(const __shared_ptr<_Tp1, _Lp>& __a,
> 28468:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
> 28468:     { return __a.get() != __b.get(); }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
> 28468:     { return (bool)__a; }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
> 28468:     { return (bool)__a; }
> 28468: 
> 28468:   template<typename _Tp, typename _Up, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator<(const __shared_ptr<_Tp, _Lp>& __a,
> 28468:        const __shared_ptr<_Up, _Lp>& __b) noexcept
> 28468:     {
> 28468:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
> 28468:       using _Up_elt = typename __shared_ptr<_Up, _Lp>::element_type;
> 28468:       using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type;
> 28468:       return less<_Vp>()(__a.get(), __b.get());
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
> 28468:     {
> 28468:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
> 28468:       return less<_Tp_elt*>()(__a.get(), nullptr);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
> 28468:     {
> 28468:       using _Tp_elt = typename __shared_ptr<_Tp, _Lp>::element_type;
> 28468:       return less<_Tp_elt*>()(nullptr, __a.get());
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator<=(const __shared_ptr<_Tp1, _Lp>& __a,
> 28468:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
> 28468:     { return !(__b < __a); }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator<=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
> 28468:     { return !(nullptr < __a); }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator<=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
> 28468:     { return !(__a < nullptr); }
> 28468: 
> 28468:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator>(const __shared_ptr<_Tp1, _Lp>& __a,
> 28468:        const __shared_ptr<_Tp2, _Lp>& __b) noexcept
> 28468:     { return (__b < __a); }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
> 28468:     { return nullptr < __a; }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
> 28468:     { return __a < nullptr; }
> 28468: 
> 28468:   template<typename _Tp1, typename _Tp2, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator>=(const __shared_ptr<_Tp1, _Lp>& __a,
> 28468:         const __shared_ptr<_Tp2, _Lp>& __b) noexcept
> 28468:     { return !(__a < __b); }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator>=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept
> 28468:     { return !(__a < nullptr); }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     operator>=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept
> 28468:     { return !(nullptr < __a); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline void
> 28468:     swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept
> 28468:     { __a.swap(__b); }
> 28468: # 1530 "/usr/include/c++/9/bits/shared_ptr_base.h" 3
> 28468:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
> 28468:     inline __shared_ptr<_Tp, _Lp>
> 28468:     static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
> 28468:     {
> 28468:       using _Sp = __shared_ptr<_Tp, _Lp>;
> 28468:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
> 28468:     inline __shared_ptr<_Tp, _Lp>
> 28468:     const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
> 28468:     {
> 28468:       using _Sp = __shared_ptr<_Tp, _Lp>;
> 28468:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Tp1, _Lock_policy _Lp>
> 28468:     inline __shared_ptr<_Tp, _Lp>
> 28468:     dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept
> 28468:     {
> 28468:       using _Sp = __shared_ptr<_Tp, _Lp>;
> 28468:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
> 28468:  return _Sp(__r, __p);
> 28468:       return _Sp();
> 28468:     }
> 28468: # 1576 "/usr/include/c++/9/bits/shared_ptr_base.h" 3
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     class __weak_ptr
> 28468:     {
> 28468:       template<typename _Yp, typename _Res = void>
> 28468:  using _Compatible = typename
> 28468:    enable_if<__sp_compatible_with<_Yp*, _Tp*>::value, _Res>::type;
> 28468: 
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  using _Assignable = _Compatible<_Yp, __weak_ptr&>;
> 28468: 
> 28468:     public:
> 28468:       using element_type = typename remove_extent<_Tp>::type;
> 28468: 
> 28468:       constexpr __weak_ptr() noexcept
> 28468:       : _M_ptr(nullptr), _M_refcount()
> 28468:       { }
> 28468: 
> 28468:       __weak_ptr(const __weak_ptr&) noexcept = default;
> 28468: 
> 28468:       ~__weak_ptr() = default;
> 28468: # 1612 "/usr/include/c++/9/bits/shared_ptr_base.h" 3
> 28468:       template<typename _Yp, typename = _Compatible<_Yp>>
> 28468:  __weak_ptr(const __weak_ptr<_Yp, _Lp>& __r) noexcept
> 28468:  : _M_refcount(__r._M_refcount)
> 28468:         { _M_ptr = __r.lock().get(); }
> 28468: 
> 28468:       template<typename _Yp, typename = _Compatible<_Yp>>
> 28468:  __weak_ptr(const __shared_ptr<_Yp, _Lp>& __r) noexcept
> 28468:  : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount)
> 28468:  { }
> 28468: 
> 28468:       __weak_ptr(__weak_ptr&& __r) noexcept
> 28468:       : _M_ptr(__r._M_ptr), _M_refcount(std::move(__r._M_refcount))
> 28468:       { __r._M_ptr = nullptr; }
> 28468: 
> 28468:       template<typename _Yp, typename = _Compatible<_Yp>>
> 28468:  __weak_ptr(__weak_ptr<_Yp, _Lp>&& __r) noexcept
> 28468:  : _M_ptr(__r.lock().get()), _M_refcount(std::move(__r._M_refcount))
> 28468:         { __r._M_ptr = nullptr; }
> 28468: 
> 28468:       __weak_ptr&
> 28468:       operator=(const __weak_ptr& __r) noexcept = default;
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  _Assignable<_Yp>
> 28468:  operator=(const __weak_ptr<_Yp, _Lp>& __r) noexcept
> 28468:  {
> 28468:    _M_ptr = __r.lock().get();
> 28468:    _M_refcount = __r._M_refcount;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  _Assignable<_Yp>
> 28468:  operator=(const __shared_ptr<_Yp, _Lp>& __r) noexcept
> 28468:  {
> 28468:    _M_ptr = __r._M_ptr;
> 28468:    _M_refcount = __r._M_refcount;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       __weak_ptr&
> 28468:       operator=(__weak_ptr&& __r) noexcept
> 28468:       {
> 28468:  _M_ptr = __r._M_ptr;
> 28468:  _M_refcount = std::move(__r._M_refcount);
> 28468:  __r._M_ptr = nullptr;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  _Assignable<_Yp>
> 28468:  operator=(__weak_ptr<_Yp, _Lp>&& __r) noexcept
> 28468:  {
> 28468:    _M_ptr = __r.lock().get();
> 28468:    _M_refcount = std::move(__r._M_refcount);
> 28468:    __r._M_ptr = nullptr;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       __shared_ptr<_Tp, _Lp>
> 28468:       lock() const noexcept
> 28468:       { return __shared_ptr<element_type, _Lp>(*this, std::nothrow); }
> 28468: 
> 28468:       long
> 28468:       use_count() const noexcept
> 28468:       { return _M_refcount._M_get_use_count(); }
> 28468: 
> 28468:       bool
> 28468:       expired() const noexcept
> 28468:       { return _M_refcount._M_get_use_count() == 0; }
> 28468: 
> 28468:       template<typename _Tp1>
> 28468:  bool
> 28468:  owner_before(const __shared_ptr<_Tp1, _Lp>& __rhs) const noexcept
> 28468:  { return _M_refcount._M_less(__rhs._M_refcount); }
> 28468: 
> 28468:       template<typename _Tp1>
> 28468:  bool
> 28468:  owner_before(const __weak_ptr<_Tp1, _Lp>& __rhs) const noexcept
> 28468:  { return _M_refcount._M_less(__rhs._M_refcount); }
> 28468: 
> 28468:       void
> 28468:       reset() noexcept
> 28468:       { __weak_ptr().swap(*this); }
> 28468: 
> 28468:       void
> 28468:       swap(__weak_ptr& __s) noexcept
> 28468:       {
> 28468:  std::swap(_M_ptr, __s._M_ptr);
> 28468:  _M_refcount._M_swap(__s._M_refcount);
> 28468:       }
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       void
> 28468:       _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept
> 28468:       {
> 28468:  if (use_count() == 0)
> 28468:    {
> 28468:      _M_ptr = __ptr;
> 28468:      _M_refcount = __refcount;
> 28468:    }
> 28468:       }
> 28468: 
> 28468:       template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr;
> 28468:       template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr;
> 28468:       friend class __enable_shared_from_this<_Tp, _Lp>;
> 28468:       friend class enable_shared_from_this<_Tp>;
> 28468: 
> 28468:       element_type* _M_ptr;
> 28468:       __weak_count<_Lp> _M_refcount;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline void
> 28468:     swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept
> 28468:     { __a.swap(__b); }
> 28468: 
> 28468:   template<typename _Tp, typename _Tp1>
> 28468:     struct _Sp_owner_less : public binary_function<_Tp, _Tp, bool>
> 28468:     {
> 28468:       bool
> 28468:       operator()(const _Tp& __lhs, const _Tp& __rhs) const noexcept
> 28468:       { return __lhs.owner_before(__rhs); }
> 28468: 
> 28468:       bool
> 28468:       operator()(const _Tp& __lhs, const _Tp1& __rhs) const noexcept
> 28468:       { return __lhs.owner_before(__rhs); }
> 28468: 
> 28468:       bool
> 28468:       operator()(const _Tp1& __lhs, const _Tp& __rhs) const noexcept
> 28468:       { return __lhs.owner_before(__rhs); }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     struct _Sp_owner_less<void, void>
> 28468:     {
> 28468:       template<typename _Tp, typename _Up>
> 28468:  auto
> 28468:  operator()(const _Tp& __lhs, const _Up& __rhs) const noexcept
> 28468:  -> decltype(__lhs.owner_before(__rhs))
> 28468:  { return __lhs.owner_before(__rhs); }
> 28468: 
> 28468:       using is_transparent = void;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     struct owner_less<__shared_ptr<_Tp, _Lp>>
> 28468:     : public _Sp_owner_less<__shared_ptr<_Tp, _Lp>, __weak_ptr<_Tp, _Lp>>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     struct owner_less<__weak_ptr<_Tp, _Lp>>
> 28468:     : public _Sp_owner_less<__weak_ptr<_Tp, _Lp>, __shared_ptr<_Tp, _Lp>>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     class __enable_shared_from_this
> 28468:     {
> 28468:     protected:
> 28468:       constexpr __enable_shared_from_this() noexcept { }
> 28468: 
> 28468:       __enable_shared_from_this(const __enable_shared_from_this&) noexcept { }
> 28468: 
> 28468:       __enable_shared_from_this&
> 28468:       operator=(const __enable_shared_from_this&) noexcept
> 28468:       { return *this; }
> 28468: 
> 28468:       ~__enable_shared_from_this() { }
> 28468: 
> 28468:     public:
> 28468:       __shared_ptr<_Tp, _Lp>
> 28468:       shared_from_this()
> 28468:       { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); }
> 28468: 
> 28468:       __shared_ptr<const _Tp, _Lp>
> 28468:       shared_from_this() const
> 28468:       { return __shared_ptr<const _Tp, _Lp>(this->_M_weak_this); }
> 28468: # 1803 "/usr/include/c++/9/bits/shared_ptr_base.h" 3
> 28468:     private:
> 28468:       template<typename _Tp1>
> 28468:  void
> 28468:  _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const noexcept
> 28468:  { _M_weak_this._M_assign(__p, __n); }
> 28468: 
> 28468:       friend const __enable_shared_from_this*
> 28468:       __enable_shared_from_this_base(const __shared_count<_Lp>&,
> 28468:          const __enable_shared_from_this* __p)
> 28468:       { return __p; }
> 28468: 
> 28468:       template<typename, _Lock_policy>
> 28468:  friend class __shared_ptr;
> 28468: 
> 28468:       mutable __weak_ptr<_Tp, _Lp> _M_weak_this;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
> 28468:     typename _Alloc, typename... _Args>
> 28468:     inline __shared_ptr<_Tp, _Lp>
> 28468:     __allocate_shared(const _Alloc& __a, _Args&&... __args)
> 28468:     {
> 28468:       return __shared_ptr<_Tp, _Lp>(_Sp_alloc_shared_tag<_Alloc>{__a},
> 28468:         std::forward<_Args>(__args)...);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp = __default_lock_policy,
> 28468:     typename... _Args>
> 28468:     inline __shared_ptr<_Tp, _Lp>
> 28468:     __make_shared(_Args&&... __args)
> 28468:     {
> 28468:       typedef typename std::remove_const<_Tp>::type _Tp_nc;
> 28468:       return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(),
> 28468:            std::forward<_Args>(__args)...);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     struct hash<__shared_ptr<_Tp, _Lp>>
> 28468:     : public __hash_base<size_t, __shared_ptr<_Tp, _Lp>>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(const __shared_ptr<_Tp, _Lp>& __s) const noexcept
> 28468:       {
> 28468:  return hash<typename __shared_ptr<_Tp, _Lp>::element_type*>()(
> 28468:      __s.get());
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 53 "/usr/include/c++/9/bits/shared_ptr.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Ch, typename _Tr, typename _Tp, _Lock_policy _Lp>
> 28468:     inline std::basic_ostream<_Ch, _Tr>&
> 28468:     operator<<(std::basic_ostream<_Ch, _Tr>& __os,
> 28468:         const __shared_ptr<_Tp, _Lp>& __p)
> 28468:     {
> 28468:       __os << __p.get();
> 28468:       return __os;
> 28468:     }
> 28468: 
> 28468:   template<typename _Del, typename _Tp, _Lock_policy _Lp>
> 28468:     inline _Del*
> 28468:     get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept
> 28468:     {
> 28468: 
> 28468:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
> 28468: 
> 28468: 
> 28468: 
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Del, typename _Tp>
> 28468:     inline _Del*
> 28468:     get_deleter(const shared_ptr<_Tp>& __p) noexcept
> 28468:     {
> 28468: 
> 28468:       return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del)));
> 28468: 
> 28468: 
> 28468: 
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class shared_ptr : public __shared_ptr<_Tp>
> 28468:     {
> 28468:       template<typename... _Args>
> 28468:  using _Constructible = typename enable_if<
> 28468:    is_constructible<__shared_ptr<_Tp>, _Args...>::value
> 28468:  >::type;
> 28468: 
> 28468:       template<typename _Arg>
> 28468:  using _Assignable = typename enable_if<
> 28468:    is_assignable<__shared_ptr<_Tp>&, _Arg>::value, shared_ptr&
> 28468:  >::type;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       using element_type = typename __shared_ptr<_Tp>::element_type;
> 28468: # 127 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:       constexpr shared_ptr() noexcept : __shared_ptr<_Tp>() { }
> 28468: 
> 28468:       shared_ptr(const shared_ptr&) noexcept = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Yp, typename = _Constructible<_Yp*>>
> 28468:  explicit
> 28468:  shared_ptr(_Yp* __p) : __shared_ptr<_Tp>(__p) { }
> 28468: # 154 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:       template<typename _Yp, typename _Deleter,
> 28468:         typename = _Constructible<_Yp*, _Deleter>>
> 28468:  shared_ptr(_Yp* __p, _Deleter __d)
> 28468:         : __shared_ptr<_Tp>(__p, std::move(__d)) { }
> 28468: # 172 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:       template<typename _Deleter>
> 28468:  shared_ptr(nullptr_t __p, _Deleter __d)
> 28468:         : __shared_ptr<_Tp>(__p, std::move(__d)) { }
> 28468: # 191 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:       template<typename _Yp, typename _Deleter, typename _Alloc,
> 28468:         typename = _Constructible<_Yp*, _Deleter, _Alloc>>
> 28468:  shared_ptr(_Yp* __p, _Deleter __d, _Alloc __a)
> 28468:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
> 28468: # 211 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:       template<typename _Deleter, typename _Alloc>
> 28468:  shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a)
> 28468:  : __shared_ptr<_Tp>(__p, std::move(__d), std::move(__a)) { }
> 28468: # 233 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:       template<typename _Yp>
> 28468:  shared_ptr(const shared_ptr<_Yp>& __r, element_type* __p) noexcept
> 28468:  : __shared_ptr<_Tp>(__r, __p) { }
> 28468: # 244 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:       template<typename _Yp,
> 28468:         typename = _Constructible<const shared_ptr<_Yp>&>>
> 28468:  shared_ptr(const shared_ptr<_Yp>& __r) noexcept
> 28468:         : __shared_ptr<_Tp>(__r) { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       shared_ptr(shared_ptr&& __r) noexcept
> 28468:       : __shared_ptr<_Tp>(std::move(__r)) { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Yp, typename = _Constructible<shared_ptr<_Yp>>>
> 28468:  shared_ptr(shared_ptr<_Yp>&& __r) noexcept
> 28468:  : __shared_ptr<_Tp>(std::move(__r)) { }
> 28468: # 274 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
> 28468:  explicit shared_ptr(const weak_ptr<_Yp>& __r)
> 28468:  : __shared_ptr<_Tp>(__r) { }
> 28468: 
> 28468: 
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> 28468:       template<typename _Yp, typename = _Constructible<auto_ptr<_Yp>>>
> 28468:  shared_ptr(auto_ptr<_Yp>&& __r);
> 28468: #pragma GCC diagnostic pop
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Yp, typename _Del,
> 28468:         typename = _Constructible<unique_ptr<_Yp, _Del>>>
> 28468:  shared_ptr(unique_ptr<_Yp, _Del>&& __r)
> 28468:  : __shared_ptr<_Tp>(std::move(__r)) { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Yp, typename _Del,
> 28468:   _Constructible<unique_ptr<_Yp, _Del>, __sp_array_delete>* = 0>
> 28468:  shared_ptr(unique_ptr<_Yp, _Del>&& __r)
> 28468:  : __shared_ptr<_Tp>(std::move(__r), __sp_array_delete()) { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       constexpr shared_ptr(nullptr_t) noexcept : shared_ptr() { }
> 28468: 
> 28468:       shared_ptr& operator=(const shared_ptr&) noexcept = default;
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  _Assignable<const shared_ptr<_Yp>&>
> 28468:  operator=(const shared_ptr<_Yp>& __r) noexcept
> 28468:  {
> 28468:    this->__shared_ptr<_Tp>::operator=(__r);
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468: 
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> 28468:       template<typename _Yp>
> 28468:  _Assignable<auto_ptr<_Yp>>
> 28468:  operator=(auto_ptr<_Yp>&& __r)
> 28468:  {
> 28468:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
> 28468:    return *this;
> 28468:  }
> 28468: #pragma GCC diagnostic pop
> 28468: 
> 28468: 
> 28468:       shared_ptr&
> 28468:       operator=(shared_ptr&& __r) noexcept
> 28468:       {
> 28468:  this->__shared_ptr<_Tp>::operator=(std::move(__r));
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       template<class _Yp>
> 28468:  _Assignable<shared_ptr<_Yp>>
> 28468:  operator=(shared_ptr<_Yp>&& __r) noexcept
> 28468:  {
> 28468:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       template<typename _Yp, typename _Del>
> 28468:  _Assignable<unique_ptr<_Yp, _Del>>
> 28468:  operator=(unique_ptr<_Yp, _Del>&& __r)
> 28468:  {
> 28468:    this->__shared_ptr<_Tp>::operator=(std::move(__r));
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       template<typename _Alloc, typename... _Args>
> 28468:  shared_ptr(_Sp_alloc_shared_tag<_Alloc> __tag, _Args&&... __args)
> 28468:  : __shared_ptr<_Tp>(__tag, std::forward<_Args>(__args)...)
> 28468:  { }
> 28468: 
> 28468:       template<typename _Yp, typename _Alloc, typename... _Args>
> 28468:  friend shared_ptr<_Yp>
> 28468:  allocate_shared(const _Alloc& __a, _Args&&... __args);
> 28468: 
> 28468: 
> 28468:       shared_ptr(const weak_ptr<_Tp>& __r, std::nothrow_t)
> 28468:       : __shared_ptr<_Tp>(__r, std::nothrow) { }
> 28468: 
> 28468:       friend class weak_ptr<_Tp>;
> 28468:     };
> 28468: # 381 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline bool
> 28468:     operator==(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
> 28468:     { return __a.get() == __b.get(); }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
> 28468:     { return !__a; }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
> 28468:     { return !__a; }
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline bool
> 28468:     operator!=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
> 28468:     { return __a.get() != __b.get(); }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
> 28468:     { return (bool)__a; }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
> 28468:     { return (bool)__a; }
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline bool
> 28468:     operator<(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
> 28468:     {
> 28468:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
> 28468:       using _Up_elt = typename shared_ptr<_Up>::element_type;
> 28468:       using _Vp = typename common_type<_Tp_elt*, _Up_elt*>::type;
> 28468:       return less<_Vp>()(__a.get(), __b.get());
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
> 28468:     {
> 28468:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
> 28468:       return less<_Tp_elt*>()(__a.get(), nullptr);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
> 28468:     {
> 28468:       using _Tp_elt = typename shared_ptr<_Tp>::element_type;
> 28468:       return less<_Tp_elt*>()(nullptr, __a.get());
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline bool
> 28468:     operator<=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
> 28468:     { return !(__b < __a); }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
> 28468:     { return !(nullptr < __a); }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
> 28468:     { return !(__a < nullptr); }
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline bool
> 28468:     operator>(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
> 28468:     { return (__b < __a); }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
> 28468:     { return nullptr < __a; }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
> 28468:     { return __a < nullptr; }
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline bool
> 28468:     operator>=(const shared_ptr<_Tp>& __a, const shared_ptr<_Up>& __b) noexcept
> 28468:     { return !(__a < __b); }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept
> 28468:     { return !(__a < nullptr); }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept
> 28468:     { return !(nullptr < __a); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline void
> 28468:     swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept
> 28468:     { __a.swap(__b); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline shared_ptr<_Tp>
> 28468:     static_pointer_cast(const shared_ptr<_Up>& __r) noexcept
> 28468:     {
> 28468:       using _Sp = shared_ptr<_Tp>;
> 28468:       return _Sp(__r, static_cast<typename _Sp::element_type*>(__r.get()));
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline shared_ptr<_Tp>
> 28468:     const_pointer_cast(const shared_ptr<_Up>& __r) noexcept
> 28468:     {
> 28468:       using _Sp = shared_ptr<_Tp>;
> 28468:       return _Sp(__r, const_cast<typename _Sp::element_type*>(__r.get()));
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Up>
> 28468:     inline shared_ptr<_Tp>
> 28468:     dynamic_pointer_cast(const shared_ptr<_Up>& __r) noexcept
> 28468:     {
> 28468:       using _Sp = shared_ptr<_Tp>;
> 28468:       if (auto* __p = dynamic_cast<typename _Sp::element_type*>(__r.get()))
> 28468:  return _Sp(__r, __p);
> 28468:       return _Sp();
> 28468:     }
> 28468: # 530 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:   template<typename _Tp>
> 28468:     class weak_ptr : public __weak_ptr<_Tp>
> 28468:     {
> 28468:       template<typename _Arg>
> 28468:  using _Constructible = typename enable_if<
> 28468:    is_constructible<__weak_ptr<_Tp>, _Arg>::value
> 28468:  >::type;
> 28468: 
> 28468:       template<typename _Arg>
> 28468:  using _Assignable = typename enable_if<
> 28468:    is_assignable<__weak_ptr<_Tp>&, _Arg>::value, weak_ptr&
> 28468:  >::type;
> 28468: 
> 28468:     public:
> 28468:       constexpr weak_ptr() noexcept = default;
> 28468: 
> 28468:       template<typename _Yp,
> 28468:         typename = _Constructible<const shared_ptr<_Yp>&>>
> 28468:  weak_ptr(const shared_ptr<_Yp>& __r) noexcept
> 28468:  : __weak_ptr<_Tp>(__r) { }
> 28468: 
> 28468:       weak_ptr(const weak_ptr&) noexcept = default;
> 28468: 
> 28468:       template<typename _Yp, typename = _Constructible<const weak_ptr<_Yp>&>>
> 28468:  weak_ptr(const weak_ptr<_Yp>& __r) noexcept
> 28468:  : __weak_ptr<_Tp>(__r) { }
> 28468: 
> 28468:       weak_ptr(weak_ptr&&) noexcept = default;
> 28468: 
> 28468:       template<typename _Yp, typename = _Constructible<weak_ptr<_Yp>>>
> 28468:  weak_ptr(weak_ptr<_Yp>&& __r) noexcept
> 28468:  : __weak_ptr<_Tp>(std::move(__r)) { }
> 28468: 
> 28468:       weak_ptr&
> 28468:       operator=(const weak_ptr& __r) noexcept = default;
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  _Assignable<const weak_ptr<_Yp>&>
> 28468:  operator=(const weak_ptr<_Yp>& __r) noexcept
> 28468:  {
> 28468:    this->__weak_ptr<_Tp>::operator=(__r);
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  _Assignable<const shared_ptr<_Yp>&>
> 28468:  operator=(const shared_ptr<_Yp>& __r) noexcept
> 28468:  {
> 28468:    this->__weak_ptr<_Tp>::operator=(__r);
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       weak_ptr&
> 28468:       operator=(weak_ptr&& __r) noexcept = default;
> 28468: 
> 28468:       template<typename _Yp>
> 28468:  _Assignable<weak_ptr<_Yp>>
> 28468:  operator=(weak_ptr<_Yp>&& __r) noexcept
> 28468:  {
> 28468:    this->__weak_ptr<_Tp>::operator=(std::move(__r));
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:       shared_ptr<_Tp>
> 28468:       lock() const noexcept
> 28468:       { return shared_ptr<_Tp>(*this, std::nothrow); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline void
> 28468:     swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept
> 28468:     { __a.swap(__b); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp = void>
> 28468:     struct owner_less;
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct owner_less<void> : _Sp_owner_less<void, void>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct owner_less<shared_ptr<_Tp>>
> 28468:     : public _Sp_owner_less<shared_ptr<_Tp>, weak_ptr<_Tp>>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct owner_less<weak_ptr<_Tp>>
> 28468:     : public _Sp_owner_less<weak_ptr<_Tp>, shared_ptr<_Tp>>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class enable_shared_from_this
> 28468:     {
> 28468:     protected:
> 28468:       constexpr enable_shared_from_this() noexcept { }
> 28468: 
> 28468:       enable_shared_from_this(const enable_shared_from_this&) noexcept { }
> 28468: 
> 28468:       enable_shared_from_this&
> 28468:       operator=(const enable_shared_from_this&) noexcept
> 28468:       { return *this; }
> 28468: 
> 28468:       ~enable_shared_from_this() { }
> 28468: 
> 28468:     public:
> 28468:       shared_ptr<_Tp>
> 28468:       shared_from_this()
> 28468:       { return shared_ptr<_Tp>(this->_M_weak_this); }
> 28468: 
> 28468:       shared_ptr<const _Tp>
> 28468:       shared_from_this() const
> 28468:       { return shared_ptr<const _Tp>(this->_M_weak_this); }
> 28468: # 668 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:     private:
> 28468:       template<typename _Tp1>
> 28468:  void
> 28468:  _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept
> 28468:  { _M_weak_this._M_assign(__p, __n); }
> 28468: 
> 28468: 
> 28468:       friend const enable_shared_from_this*
> 28468:       __enable_shared_from_this_base(const __shared_count<>&,
> 28468:          const enable_shared_from_this* __p)
> 28468:       { return __p; }
> 28468: 
> 28468:       template<typename, _Lock_policy>
> 28468:  friend class __shared_ptr;
> 28468: 
> 28468:       mutable weak_ptr<_Tp> _M_weak_this;
> 28468:     };
> 28468: # 697 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:   template<typename _Tp, typename _Alloc, typename... _Args>
> 28468:     inline shared_ptr<_Tp>
> 28468:     allocate_shared(const _Alloc& __a, _Args&&... __args)
> 28468:     {
> 28468:       return shared_ptr<_Tp>(_Sp_alloc_shared_tag<_Alloc>{__a},
> 28468:         std::forward<_Args>(__args)...);
> 28468:     }
> 28468: # 712 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468:   template<typename _Tp, typename... _Args>
> 28468:     inline shared_ptr<_Tp>
> 28468:     make_shared(_Args&&... __args)
> 28468:     {
> 28468:       typedef typename std::remove_cv<_Tp>::type _Tp_nc;
> 28468:       return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(),
> 28468:            std::forward<_Args>(__args)...);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct hash<shared_ptr<_Tp>>
> 28468:     : public __hash_base<size_t, shared_ptr<_Tp>>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(const shared_ptr<_Tp>& __s) const noexcept
> 28468:       {
> 28468:  return std::hash<typename shared_ptr<_Tp>::element_type*>()(__s.get());
> 28468:       }
> 28468:     };
> 28468: # 756 "/usr/include/c++/9/bits/shared_ptr.h" 3
> 28468: 
> 28468: }
> 28468: # 82 "/usr/include/c++/9/memory" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/shared_ptr_atomic.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/shared_ptr_atomic.h" 3
> 28468: # 1 "/usr/include/c++/9/bits/atomic_base.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/atomic_base.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/atomic_base.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/atomic_lockfree_defines.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/atomic_lockfree_defines.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/atomic_lockfree_defines.h" 3
> 28468: # 38 "/usr/include/c++/9/bits/atomic_base.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 73 "/usr/include/c++/9/bits/atomic_base.h" 3
> 28468:   typedef enum memory_order
> 28468:     {
> 28468:       memory_order_relaxed,
> 28468:       memory_order_consume,
> 28468:       memory_order_acquire,
> 28468:       memory_order_release,
> 28468:       memory_order_acq_rel,
> 28468:       memory_order_seq_cst
> 28468:     } memory_order;
> 28468: 
> 28468: 
> 28468:   enum __memory_order_modifier
> 28468:     {
> 28468:       __memory_order_mask = 0x0ffff,
> 28468:       __memory_order_modifier_mask = 0xffff0000,
> 28468:       __memory_order_hle_acquire = 0x10000,
> 28468:       __memory_order_hle_release = 0x20000
> 28468:     };
> 28468: 
> 28468:   constexpr memory_order
> 28468:   operator|(memory_order __m, __memory_order_modifier __mod)
> 28468:   {
> 28468:     return memory_order(int(__m) | int(__mod));
> 28468:   }
> 28468: 
> 28468:   constexpr memory_order
> 28468:   operator&(memory_order __m, __memory_order_modifier __mod)
> 28468:   {
> 28468:     return memory_order(int(__m) & int(__mod));
> 28468:   }
> 28468: 
> 28468: 
> 28468:   constexpr memory_order
> 28468:   __cmpexch_failure_order2(memory_order __m) noexcept
> 28468:   {
> 28468:     return __m == memory_order_acq_rel ? memory_order_acquire
> 28468:       : __m == memory_order_release ? memory_order_relaxed : __m;
> 28468:   }
> 28468: 
> 28468:   constexpr memory_order
> 28468:   __cmpexch_failure_order(memory_order __m) noexcept
> 28468:   {
> 28468:     return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask)
> 28468:       | __memory_order_modifier(__m & __memory_order_modifier_mask));
> 28468:   }
> 28468: 
> 28468:   inline __attribute__((__always_inline__)) void
> 28468:   atomic_thread_fence(memory_order __m) noexcept
> 28468:   { __atomic_thread_fence(int(__m)); }
> 28468: 
> 28468:   inline __attribute__((__always_inline__)) void
> 28468:   atomic_signal_fence(memory_order __m) noexcept
> 28468:   { __atomic_signal_fence(int(__m)); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline _Tp
> 28468:     kill_dependency(_Tp __y) noexcept
> 28468:     {
> 28468:       _Tp __ret(__y);
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _IntTp>
> 28468:     struct __atomic_base;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct atomic;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct atomic<_Tp*>;
> 28468: 
> 28468: 
> 28468: 
> 28468:     typedef bool __atomic_flag_data_type;
> 28468: # 167 "/usr/include/c++/9/bits/atomic_base.h" 3
> 28468:   extern "C" {
> 28468: 
> 28468:   struct __atomic_flag_base
> 28468:   {
> 28468:     __atomic_flag_data_type _M_i;
> 28468:   };
> 28468: 
> 28468:   }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct atomic_flag : public __atomic_flag_base
> 28468:   {
> 28468:     atomic_flag() noexcept = default;
> 28468:     ~atomic_flag() noexcept = default;
> 28468:     atomic_flag(const atomic_flag&) = delete;
> 28468:     atomic_flag& operator=(const atomic_flag&) = delete;
> 28468:     atomic_flag& operator=(const atomic_flag&) volatile = delete;
> 28468: 
> 28468: 
> 28468:     constexpr atomic_flag(bool __i) noexcept
> 28468:       : __atomic_flag_base{ _S_init(__i) }
> 28468:     { }
> 28468: 
> 28468:     inline __attribute__((__always_inline__)) bool
> 28468:     test_and_set(memory_order __m = memory_order_seq_cst) noexcept
> 28468:     {
> 28468:       return __atomic_test_and_set (&_M_i, int(__m));
> 28468:     }
> 28468: 
> 28468:     inline __attribute__((__always_inline__)) bool
> 28468:     test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:     {
> 28468:       return __atomic_test_and_set (&_M_i, int(__m));
> 28468:     }
> 28468: 
> 28468:     inline __attribute__((__always_inline__)) void
> 28468:     clear(memory_order __m = memory_order_seq_cst) noexcept
> 28468:     {
> 28468:       memory_order __b = __m & __memory_order_mask;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       __atomic_clear (&_M_i, int(__m));
> 28468:     }
> 28468: 
> 28468:     inline __attribute__((__always_inline__)) void
> 28468:     clear(memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:     {
> 28468:       memory_order __b = __m & __memory_order_mask;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       __atomic_clear (&_M_i, int(__m));
> 28468:     }
> 28468: 
> 28468:   private:
> 28468:     static constexpr __atomic_flag_data_type
> 28468:     _S_init(bool __i)
> 28468:     { return __i ? 1 : 0; }
> 28468:   };
> 28468: # 257 "/usr/include/c++/9/bits/atomic_base.h" 3
> 28468:   template<typename _ITp>
> 28468:     struct __atomic_base
> 28468:     {
> 28468:       using value_type = _ITp;
> 28468:       using difference_type = value_type;
> 28468: 
> 28468:     private:
> 28468:       typedef _ITp __int_type;
> 28468: 
> 28468:       static constexpr int _S_alignment =
> 28468:  sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp);
> 28468: 
> 28468:       alignas(_S_alignment) __int_type _M_i;
> 28468: 
> 28468:     public:
> 28468:       __atomic_base() noexcept = default;
> 28468:       ~__atomic_base() noexcept = default;
> 28468:       __atomic_base(const __atomic_base&) = delete;
> 28468:       __atomic_base& operator=(const __atomic_base&) = delete;
> 28468:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
> 28468: 
> 28468: 
> 28468:       constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { }
> 28468: 
> 28468:       operator __int_type() const noexcept
> 28468:       { return load(); }
> 28468: 
> 28468:       operator __int_type() const volatile noexcept
> 28468:       { return load(); }
> 28468: 
> 28468:       __int_type
> 28468:       operator=(__int_type __i) noexcept
> 28468:       {
> 28468:  store(__i);
> 28468:  return __i;
> 28468:       }
> 28468: 
> 28468:       __int_type
> 28468:       operator=(__int_type __i) volatile noexcept
> 28468:       {
> 28468:  store(__i);
> 28468:  return __i;
> 28468:       }
> 28468: 
> 28468:       __int_type
> 28468:       operator++(int) noexcept
> 28468:       { return fetch_add(1); }
> 28468: 
> 28468:       __int_type
> 28468:       operator++(int) volatile noexcept
> 28468:       { return fetch_add(1); }
> 28468: 
> 28468:       __int_type
> 28468:       operator--(int) noexcept
> 28468:       { return fetch_sub(1); }
> 28468: 
> 28468:       __int_type
> 28468:       operator--(int) volatile noexcept
> 28468:       { return fetch_sub(1); }
> 28468: 
> 28468:       __int_type
> 28468:       operator++() noexcept
> 28468:       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator++() volatile noexcept
> 28468:       { return __atomic_add_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator--() noexcept
> 28468:       { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator--() volatile noexcept
> 28468:       { return __atomic_sub_fetch(&_M_i, 1, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator+=(__int_type __i) noexcept
> 28468:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator+=(__int_type __i) volatile noexcept
> 28468:       { return __atomic_add_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator-=(__int_type __i) noexcept
> 28468:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator-=(__int_type __i) volatile noexcept
> 28468:       { return __atomic_sub_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator&=(__int_type __i) noexcept
> 28468:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator&=(__int_type __i) volatile noexcept
> 28468:       { return __atomic_and_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator|=(__int_type __i) noexcept
> 28468:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator|=(__int_type __i) volatile noexcept
> 28468:       { return __atomic_or_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator^=(__int_type __i) noexcept
> 28468:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __int_type
> 28468:       operator^=(__int_type __i) volatile noexcept
> 28468:       { return __atomic_xor_fetch(&_M_i, __i, int(memory_order_seq_cst)); }
> 28468: 
> 28468:       bool
> 28468:       is_lock_free() const noexcept
> 28468:       {
> 28468: 
> 28468:  return __atomic_is_lock_free(sizeof(_M_i),
> 28468:      reinterpret_cast<void *>(-_S_alignment));
> 28468:       }
> 28468: 
> 28468:       bool
> 28468:       is_lock_free() const volatile noexcept
> 28468:       {
> 28468: 
> 28468:  return __atomic_is_lock_free(sizeof(_M_i),
> 28468:      reinterpret_cast<void *>(-_S_alignment));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) void
> 28468:       store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept
> 28468:       {
> 28468:  memory_order __b = __m & __memory_order_mask;
> 28468:  ;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  __atomic_store_n(&_M_i, __i, int(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) void
> 28468:       store(__int_type __i,
> 28468:      memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       {
> 28468:  memory_order __b = __m & __memory_order_mask;
> 28468:  ;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  __atomic_store_n(&_M_i, __i, int(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       load(memory_order __m = memory_order_seq_cst) const noexcept
> 28468:       {
> 28468:  memory_order __b = __m & __memory_order_mask;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  return __atomic_load_n(&_M_i, int(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
> 28468:       {
> 28468:  memory_order __b = __m & __memory_order_mask;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  return __atomic_load_n(&_M_i, int(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       exchange(__int_type __i,
> 28468:         memory_order __m = memory_order_seq_cst) noexcept
> 28468:       {
> 28468:  return __atomic_exchange_n(&_M_i, __i, int(__m));
> 28468:       }
> 28468: 
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       exchange(__int_type __i,
> 28468:         memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       {
> 28468:  return __atomic_exchange_n(&_M_i, __i, int(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) bool
> 28468:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
> 28468:        memory_order __m1, memory_order __m2) noexcept
> 28468:       {
> 28468:  memory_order __b2 = __m2 & __memory_order_mask;
> 28468:  memory_order __b1 = __m1 & __memory_order_mask;
> 28468:  ;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
> 28468:         int(__m1), int(__m2));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) bool
> 28468:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
> 28468:        memory_order __m1,
> 28468:        memory_order __m2) volatile noexcept
> 28468:       {
> 28468:  memory_order __b2 = __m2 & __memory_order_mask;
> 28468:  memory_order __b1 = __m1 & __memory_order_mask;
> 28468:  ;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1,
> 28468:         int(__m1), int(__m2));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) bool
> 28468:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
> 28468:        memory_order __m = memory_order_seq_cst) noexcept
> 28468:       {
> 28468:  return compare_exchange_weak(__i1, __i2, __m,
> 28468:          __cmpexch_failure_order(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) bool
> 28468:       compare_exchange_weak(__int_type& __i1, __int_type __i2,
> 28468:      memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       {
> 28468:  return compare_exchange_weak(__i1, __i2, __m,
> 28468:          __cmpexch_failure_order(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) bool
> 28468:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
> 28468:          memory_order __m1, memory_order __m2) noexcept
> 28468:       {
> 28468:  memory_order __b2 = __m2 & __memory_order_mask;
> 28468:  memory_order __b1 = __m1 & __memory_order_mask;
> 28468:  ;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0,
> 28468:         int(__m1), int(__m2));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) bool
> 28468:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
> 28468:          memory_order __m1,
> 28468:          memory_order __m2) volatile noexcept
> 28468:       {
> 28468:  memory_order __b2 = __m2 & __memory_order_mask;
> 28468:  memory_order __b1 = __m1 & __memory_order_mask;
> 28468: 
> 28468:  ;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0,
> 28468:         int(__m1), int(__m2));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) bool
> 28468:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
> 28468:          memory_order __m = memory_order_seq_cst) noexcept
> 28468:       {
> 28468:  return compare_exchange_strong(__i1, __i2, __m,
> 28468:            __cmpexch_failure_order(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) bool
> 28468:       compare_exchange_strong(__int_type& __i1, __int_type __i2,
> 28468:    memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       {
> 28468:  return compare_exchange_strong(__i1, __i2, __m,
> 28468:            __cmpexch_failure_order(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       fetch_add(__int_type __i,
> 28468:   memory_order __m = memory_order_seq_cst) noexcept
> 28468:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       fetch_add(__int_type __i,
> 28468:   memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       { return __atomic_fetch_add(&_M_i, __i, int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       fetch_sub(__int_type __i,
> 28468:   memory_order __m = memory_order_seq_cst) noexcept
> 28468:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       fetch_sub(__int_type __i,
> 28468:   memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       { return __atomic_fetch_sub(&_M_i, __i, int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       fetch_and(__int_type __i,
> 28468:   memory_order __m = memory_order_seq_cst) noexcept
> 28468:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       fetch_and(__int_type __i,
> 28468:   memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       { return __atomic_fetch_and(&_M_i, __i, int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       fetch_or(__int_type __i,
> 28468:         memory_order __m = memory_order_seq_cst) noexcept
> 28468:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       fetch_or(__int_type __i,
> 28468:         memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       { return __atomic_fetch_or(&_M_i, __i, int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       fetch_xor(__int_type __i,
> 28468:   memory_order __m = memory_order_seq_cst) noexcept
> 28468:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __int_type
> 28468:       fetch_xor(__int_type __i,
> 28468:   memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       { return __atomic_fetch_xor(&_M_i, __i, int(__m)); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _PTp>
> 28468:     struct __atomic_base<_PTp*>
> 28468:     {
> 28468:     private:
> 28468:       typedef _PTp* __pointer_type;
> 28468: 
> 28468:       __pointer_type _M_p;
> 28468: 
> 28468: 
> 28468:       constexpr ptrdiff_t
> 28468:       _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); }
> 28468: 
> 28468:       constexpr ptrdiff_t
> 28468:       _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); }
> 28468: 
> 28468:     public:
> 28468:       __atomic_base() noexcept = default;
> 28468:       ~__atomic_base() noexcept = default;
> 28468:       __atomic_base(const __atomic_base&) = delete;
> 28468:       __atomic_base& operator=(const __atomic_base&) = delete;
> 28468:       __atomic_base& operator=(const __atomic_base&) volatile = delete;
> 28468: 
> 28468: 
> 28468:       constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { }
> 28468: 
> 28468:       operator __pointer_type() const noexcept
> 28468:       { return load(); }
> 28468: 
> 28468:       operator __pointer_type() const volatile noexcept
> 28468:       { return load(); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator=(__pointer_type __p) noexcept
> 28468:       {
> 28468:  store(__p);
> 28468:  return __p;
> 28468:       }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator=(__pointer_type __p) volatile noexcept
> 28468:       {
> 28468:  store(__p);
> 28468:  return __p;
> 28468:       }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator++(int) noexcept
> 28468:       { return fetch_add(1); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator++(int) volatile noexcept
> 28468:       { return fetch_add(1); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator--(int) noexcept
> 28468:       { return fetch_sub(1); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator--(int) volatile noexcept
> 28468:       { return fetch_sub(1); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator++() noexcept
> 28468:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
> 28468:       int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator++() volatile noexcept
> 28468:       { return __atomic_add_fetch(&_M_p, _M_type_size(1),
> 28468:       int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator--() noexcept
> 28468:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
> 28468:       int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator--() volatile noexcept
> 28468:       { return __atomic_sub_fetch(&_M_p, _M_type_size(1),
> 28468:       int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator+=(ptrdiff_t __d) noexcept
> 28468:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
> 28468:       int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator+=(ptrdiff_t __d) volatile noexcept
> 28468:       { return __atomic_add_fetch(&_M_p, _M_type_size(__d),
> 28468:       int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator-=(ptrdiff_t __d) noexcept
> 28468:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
> 28468:       int(memory_order_seq_cst)); }
> 28468: 
> 28468:       __pointer_type
> 28468:       operator-=(ptrdiff_t __d) volatile noexcept
> 28468:       { return __atomic_sub_fetch(&_M_p, _M_type_size(__d),
> 28468:       int(memory_order_seq_cst)); }
> 28468: 
> 28468:       bool
> 28468:       is_lock_free() const noexcept
> 28468:       {
> 28468: 
> 28468:  return __atomic_is_lock_free(sizeof(_M_p),
> 28468:      reinterpret_cast<void *>(-__alignof(_M_p)));
> 28468:       }
> 28468: 
> 28468:       bool
> 28468:       is_lock_free() const volatile noexcept
> 28468:       {
> 28468: 
> 28468:  return __atomic_is_lock_free(sizeof(_M_p),
> 28468:      reinterpret_cast<void *>(-__alignof(_M_p)));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) void
> 28468:       store(__pointer_type __p,
> 28468:      memory_order __m = memory_order_seq_cst) noexcept
> 28468:       {
> 28468:         memory_order __b = __m & __memory_order_mask;
> 28468: 
> 28468:  ;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  __atomic_store_n(&_M_p, __p, int(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) void
> 28468:       store(__pointer_type __p,
> 28468:      memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       {
> 28468:  memory_order __b = __m & __memory_order_mask;
> 28468:  ;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  __atomic_store_n(&_M_p, __p, int(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __pointer_type
> 28468:       load(memory_order __m = memory_order_seq_cst) const noexcept
> 28468:       {
> 28468:  memory_order __b = __m & __memory_order_mask;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  return __atomic_load_n(&_M_p, int(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __pointer_type
> 28468:       load(memory_order __m = memory_order_seq_cst) const volatile noexcept
> 28468:       {
> 28468:  memory_order __b = __m & __memory_order_mask;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  return __atomic_load_n(&_M_p, int(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __pointer_type
> 28468:       exchange(__pointer_type __p,
> 28468:         memory_order __m = memory_order_seq_cst) noexcept
> 28468:       {
> 28468:  return __atomic_exchange_n(&_M_p, __p, int(__m));
> 28468:       }
> 28468: 
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __pointer_type
> 28468:       exchange(__pointer_type __p,
> 28468:         memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       {
> 28468:  return __atomic_exchange_n(&_M_p, __p, int(__m));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) bool
> 28468:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
> 28468:          memory_order __m1,
> 28468:          memory_order __m2) noexcept
> 28468:       {
> 28468:  memory_order __b2 = __m2 & __memory_order_mask;
> 28468:  memory_order __b1 = __m1 & __memory_order_mask;
> 28468:  ;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
> 28468:         int(__m1), int(__m2));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) bool
> 28468:       compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2,
> 28468:          memory_order __m1,
> 28468:          memory_order __m2) volatile noexcept
> 28468:       {
> 28468:  memory_order __b2 = __m2 & __memory_order_mask;
> 28468:  memory_order __b1 = __m1 & __memory_order_mask;
> 28468: 
> 28468:  ;
> 28468:  ;
> 28468:  ;
> 28468: 
> 28468:  return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0,
> 28468:         int(__m1), int(__m2));
> 28468:       }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __pointer_type
> 28468:       fetch_add(ptrdiff_t __d,
> 28468:   memory_order __m = memory_order_seq_cst) noexcept
> 28468:       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __pointer_type
> 28468:       fetch_add(ptrdiff_t __d,
> 28468:   memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       { return __atomic_fetch_add(&_M_p, _M_type_size(__d), int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __pointer_type
> 28468:       fetch_sub(ptrdiff_t __d,
> 28468:   memory_order __m = memory_order_seq_cst) noexcept
> 28468:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
> 28468: 
> 28468:       inline __attribute__((__always_inline__)) __pointer_type
> 28468:       fetch_sub(ptrdiff_t __d,
> 28468:   memory_order __m = memory_order_seq_cst) volatile noexcept
> 28468:       { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), int(__m)); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 34 "/usr/include/c++/9/bits/shared_ptr_atomic.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct _Sp_locker
> 28468:   {
> 28468:     _Sp_locker(const _Sp_locker&) = delete;
> 28468:     _Sp_locker& operator=(const _Sp_locker&) = delete;
> 28468: 
> 28468: 
> 28468:     explicit
> 28468:     _Sp_locker(const void*) noexcept;
> 28468:     _Sp_locker(const void*, const void*) noexcept;
> 28468:     ~_Sp_locker();
> 28468: 
> 28468:   private:
> 28468:     unsigned char _M_key1;
> 28468:     unsigned char _M_key2;
> 28468: 
> 28468: 
> 28468: 
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     atomic_is_lock_free(const __shared_ptr<_Tp, _Lp>* __p)
> 28468:     {
> 28468: 
> 28468:       return __gthread_active_p() == 0;
> 28468: 
> 28468: 
> 28468: 
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     atomic_is_lock_free(const shared_ptr<_Tp>* __p)
> 28468:     { return std::atomic_is_lock_free<_Tp, __default_lock_policy>(__p); }
> 28468: # 96 "/usr/include/c++/9/bits/shared_ptr_atomic.h" 3
> 28468:   template<typename _Tp>
> 28468:     inline shared_ptr<_Tp>
> 28468:     atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order)
> 28468:     {
> 28468:       _Sp_locker __lock{__p};
> 28468:       return *__p;
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline shared_ptr<_Tp>
> 28468:     atomic_load(const shared_ptr<_Tp>* __p)
> 28468:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline __shared_ptr<_Tp, _Lp>
> 28468:     atomic_load_explicit(const __shared_ptr<_Tp, _Lp>* __p, memory_order)
> 28468:     {
> 28468:       _Sp_locker __lock{__p};
> 28468:       return *__p;
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline __shared_ptr<_Tp, _Lp>
> 28468:     atomic_load(const __shared_ptr<_Tp, _Lp>* __p)
> 28468:     { return std::atomic_load_explicit(__p, memory_order_seq_cst); }
> 28468: # 132 "/usr/include/c++/9/bits/shared_ptr_atomic.h" 3
> 28468:   template<typename _Tp>
> 28468:     inline void
> 28468:     atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
> 28468:      memory_order)
> 28468:     {
> 28468:       _Sp_locker __lock{__p};
> 28468:       __p->swap(__r);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline void
> 28468:     atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
> 28468:     { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline void
> 28468:     atomic_store_explicit(__shared_ptr<_Tp, _Lp>* __p,
> 28468:      __shared_ptr<_Tp, _Lp> __r,
> 28468:      memory_order)
> 28468:     {
> 28468:       _Sp_locker __lock{__p};
> 28468:       __p->swap(__r);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline void
> 28468:     atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
> 28468:     { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); }
> 28468: # 169 "/usr/include/c++/9/bits/shared_ptr_atomic.h" 3
> 28468:   template<typename _Tp>
> 28468:     inline shared_ptr<_Tp>
> 28468:     atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r,
> 28468:         memory_order)
> 28468:     {
> 28468:       _Sp_locker __lock{__p};
> 28468:       __p->swap(__r);
> 28468:       return __r;
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline shared_ptr<_Tp>
> 28468:     atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r)
> 28468:     {
> 28468:       return std::atomic_exchange_explicit(__p, std::move(__r),
> 28468:         memory_order_seq_cst);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline __shared_ptr<_Tp, _Lp>
> 28468:     atomic_exchange_explicit(__shared_ptr<_Tp, _Lp>* __p,
> 28468:         __shared_ptr<_Tp, _Lp> __r,
> 28468:         memory_order)
> 28468:     {
> 28468:       _Sp_locker __lock{__p};
> 28468:       __p->swap(__r);
> 28468:       return __r;
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline __shared_ptr<_Tp, _Lp>
> 28468:     atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r)
> 28468:     {
> 28468:       return std::atomic_exchange_explicit(__p, std::move(__r),
> 28468:         memory_order_seq_cst);
> 28468:     }
> 28468: # 218 "/usr/include/c++/9/bits/shared_ptr_atomic.h" 3
> 28468:   template<typename _Tp>
> 28468:     bool
> 28468:     atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p,
> 28468:          shared_ptr<_Tp>* __v,
> 28468:          shared_ptr<_Tp> __w,
> 28468:          memory_order,
> 28468:          memory_order)
> 28468:     {
> 28468:       shared_ptr<_Tp> __x;
> 28468:       _Sp_locker __lock{__p, __v};
> 28468:       owner_less<shared_ptr<_Tp>> __less;
> 28468:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
> 28468:  {
> 28468:    __x = std::move(*__p);
> 28468:    *__p = std::move(__w);
> 28468:    return true;
> 28468:  }
> 28468:       __x = std::move(*__v);
> 28468:       *__v = *__p;
> 28468:       return false;
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
> 28468:      shared_ptr<_Tp> __w)
> 28468:     {
> 28468:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
> 28468:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p,
> 28468:        shared_ptr<_Tp>* __v,
> 28468:        shared_ptr<_Tp> __w,
> 28468:        memory_order __success,
> 28468:        memory_order __failure)
> 28468:     {
> 28468:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
> 28468:    std::move(__w), __success, __failure);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     inline bool
> 28468:     atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v,
> 28468:      shared_ptr<_Tp> __w)
> 28468:     {
> 28468:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
> 28468:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     bool
> 28468:     atomic_compare_exchange_strong_explicit(__shared_ptr<_Tp, _Lp>* __p,
> 28468:          __shared_ptr<_Tp, _Lp>* __v,
> 28468:          __shared_ptr<_Tp, _Lp> __w,
> 28468:          memory_order,
> 28468:          memory_order)
> 28468:     {
> 28468:       __shared_ptr<_Tp, _Lp> __x;
> 28468:       _Sp_locker __lock{__p, __v};
> 28468:       owner_less<__shared_ptr<_Tp, _Lp>> __less;
> 28468:       if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p))
> 28468:  {
> 28468:    __x = std::move(*__p);
> 28468:    *__p = std::move(__w);
> 28468:    return true;
> 28468:  }
> 28468:       __x = std::move(*__v);
> 28468:       *__v = *__p;
> 28468:       return false;
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     atomic_compare_exchange_strong(__shared_ptr<_Tp, _Lp>* __p,
> 28468:        __shared_ptr<_Tp, _Lp>* __v,
> 28468:        __shared_ptr<_Tp, _Lp> __w)
> 28468:     {
> 28468:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
> 28468:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     atomic_compare_exchange_weak_explicit(__shared_ptr<_Tp, _Lp>* __p,
> 28468:        __shared_ptr<_Tp, _Lp>* __v,
> 28468:        __shared_ptr<_Tp, _Lp> __w,
> 28468:        memory_order __success,
> 28468:        memory_order __failure)
> 28468:     {
> 28468:       return std::atomic_compare_exchange_strong_explicit(__p, __v,
> 28468:    std::move(__w), __success, __failure);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:     inline bool
> 28468:     atomic_compare_exchange_weak(__shared_ptr<_Tp, _Lp>* __p,
> 28468:      __shared_ptr<_Tp, _Lp>* __v,
> 28468:      __shared_ptr<_Tp, _Lp> __w)
> 28468:     {
> 28468:       return std::atomic_compare_exchange_weak_explicit(__p, __v,
> 28468:    std::move(__w), memory_order_seq_cst, memory_order_seq_cst);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 83 "/usr/include/c++/9/memory" 2 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/backward/auto_ptr.h" 1 3
> 28468: # 36 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 47 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:   template<typename _Tp1>
> 28468:     struct auto_ptr_ref
> 28468:     {
> 28468:       _Tp1* _M_ptr;
> 28468: 
> 28468:       explicit
> 28468:       auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { }
> 28468:     } __attribute__ ((__deprecated__));
> 28468: 
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> 28468: # 88 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:   template<typename _Tp>
> 28468:     class auto_ptr
> 28468:     {
> 28468:     private:
> 28468:       _Tp* _M_ptr;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       typedef _Tp element_type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { }
> 28468: # 114 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:       auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { }
> 28468: # 126 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:       template<typename _Tp1>
> 28468:         auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { }
> 28468: # 137 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:       auto_ptr&
> 28468:       operator=(auto_ptr& __a) throw()
> 28468:       {
> 28468:  reset(__a.release());
> 28468:  return *this;
> 28468:       }
> 28468: # 154 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:       template<typename _Tp1>
> 28468:         auto_ptr&
> 28468:         operator=(auto_ptr<_Tp1>& __a) throw()
> 28468:         {
> 28468:    reset(__a.release());
> 28468:    return *this;
> 28468:  }
> 28468: # 172 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:       ~auto_ptr() { delete _M_ptr; }
> 28468: # 182 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:       element_type&
> 28468:       operator*() const throw()
> 28468:       {
> 28468:  ;
> 28468:  return *_M_ptr;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       element_type*
> 28468:       operator->() const throw()
> 28468:       {
> 28468:  ;
> 28468:  return _M_ptr;
> 28468:       }
> 28468: # 212 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:       element_type*
> 28468:       get() const throw() { return _M_ptr; }
> 28468: # 226 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:       element_type*
> 28468:       release() throw()
> 28468:       {
> 28468:  element_type* __tmp = _M_ptr;
> 28468:  _M_ptr = 0;
> 28468:  return __tmp;
> 28468:       }
> 28468: # 241 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:       void
> 28468:       reset(element_type* __p = 0) throw()
> 28468:       {
> 28468:  if (__p != _M_ptr)
> 28468:    {
> 28468:      delete _M_ptr;
> 28468:      _M_ptr = __p;
> 28468:    }
> 28468:       }
> 28468: # 266 "/usr/include/c++/9/backward/auto_ptr.h" 3
> 28468:       auto_ptr(auto_ptr_ref<element_type> __ref) throw()
> 28468:       : _M_ptr(__ref._M_ptr) { }
> 28468: 
> 28468:       auto_ptr&
> 28468:       operator=(auto_ptr_ref<element_type> __ref) throw()
> 28468:       {
> 28468:  if (__ref._M_ptr != this->get())
> 28468:    {
> 28468:      delete _M_ptr;
> 28468:      _M_ptr = __ref._M_ptr;
> 28468:    }
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       template<typename _Tp1>
> 28468:         operator auto_ptr_ref<_Tp1>() throw()
> 28468:         { return auto_ptr_ref<_Tp1>(this->release()); }
> 28468: 
> 28468:       template<typename _Tp1>
> 28468:         operator auto_ptr<_Tp1>() throw()
> 28468:         { return auto_ptr<_Tp1>(this->release()); }
> 28468:     } __attribute__ ((__deprecated__));
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     class auto_ptr<void>
> 28468:     {
> 28468:     public:
> 28468:       typedef void element_type;
> 28468:     } __attribute__ ((__deprecated__));
> 28468: 
> 28468: 
> 28468:   template<_Lock_policy _Lp>
> 28468:   template<typename _Tp>
> 28468:     inline
> 28468:     __shared_count<_Lp>::__shared_count(std::auto_ptr<_Tp>&& __r)
> 28468:     : _M_pi(new _Sp_counted_ptr<_Tp*, _Lp>(__r.get()))
> 28468:     { __r.release(); }
> 28468: 
> 28468:   template<typename _Tp, _Lock_policy _Lp>
> 28468:   template<typename _Tp1, typename>
> 28468:     inline
> 28468:     __shared_ptr<_Tp, _Lp>::__shared_ptr(std::auto_ptr<_Tp1>&& __r)
> 28468:     : _M_ptr(__r.get()), _M_refcount()
> 28468:     {
> 28468:      
> 28468:       static_assert( sizeof(_Tp1) > 0, "incomplete type" );
> 28468:       _Tp1* __tmp = __r.get();
> 28468:       _M_refcount = __shared_count<_Lp>(std::move(__r));
> 28468:       _M_enable_shared_from_this_with(__tmp);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:   template<typename _Tp1, typename>
> 28468:     inline
> 28468:     shared_ptr<_Tp>::shared_ptr(std::auto_ptr<_Tp1>&& __r)
> 28468:     : __shared_ptr<_Tp>(std::move(__r)) { }
> 28468: 
> 28468:   template<typename _Tp, typename _Dp>
> 28468:   template<typename _Up, typename>
> 28468:     inline
> 28468:     unique_ptr<_Tp, _Dp>::unique_ptr(auto_ptr<_Up>&& __u) noexcept
> 28468:     : _M_t(__u.release(), deleter_type()) { }
> 28468: 
> 28468: 
> 28468: #pragma GCC diagnostic pop
> 28468: 
> 28468: 
> 28468: }
> 28468: # 85 "/usr/include/c++/9/memory" 2 3
> 28468: # 97 "/usr/include/c++/9/memory" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 117 "/usr/include/c++/9/memory" 3
> 28468: inline void*
> 28468: align(size_t __align, size_t __size, void*& __ptr, size_t& __space) noexcept
> 28468: {
> 28468: 
> 28468:   const auto __intptr = reinterpret_cast<uintptr_t>(__ptr);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   const auto __aligned = (__intptr - 1u + __align) & -__align;
> 28468:   const auto __diff = __aligned - __intptr;
> 28468:   if ((__size + __diff) > __space)
> 28468:     return nullptr;
> 28468:   else
> 28468:     {
> 28468:       __space -= __diff;
> 28468:       return __ptr = reinterpret_cast<void*>(__aligned);
> 28468:     }
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: enum class pointer_safety { relaxed, preferred, strict };
> 28468: 
> 28468: inline void
> 28468: declare_reachable(void*) { }
> 28468: 
> 28468: template <typename _Tp>
> 28468:   inline _Tp*
> 28468:   undeclare_reachable(_Tp* __p) { return __p; }
> 28468: 
> 28468: inline void
> 28468: declare_no_pointers(char*, size_t) { }
> 28468: 
> 28468: inline void
> 28468: undeclare_no_pointers(char*, size_t) { }
> 28468: 
> 28468: inline pointer_safety
> 28468: get_pointer_safety() noexcept { return pointer_safety::relaxed; }
> 28468: # 365 "/usr/include/c++/9/memory" 3
> 28468: 
> 28468: }
> 28468: # 15 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle_fwd.h" 2
> 28468: # 1 "/usr/include/c++/9/vector" 1 3
> 28468: # 58 "/usr/include/c++/9/vector" 3
> 28468:        
> 28468: # 59 "/usr/include/c++/9/vector" 3
> 28468: # 67 "/usr/include/c++/9/vector" 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_vector.h" 1 3
> 28468: # 74 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     struct _Vector_base
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
> 28468:  rebind<_Tp>::other _Tp_alloc_type;
> 28468:       typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer
> 28468:         pointer;
> 28468: 
> 28468:       struct _Vector_impl_data
> 28468:       {
> 28468:  pointer _M_start;
> 28468:  pointer _M_finish;
> 28468:  pointer _M_end_of_storage;
> 28468: 
> 28468:  _Vector_impl_data() noexcept
> 28468:  : _M_start(), _M_finish(), _M_end_of_storage()
> 28468:  { }
> 28468: 
> 28468: 
> 28468:  _Vector_impl_data(_Vector_impl_data&& __x) noexcept
> 28468:  : _M_start(__x._M_start), _M_finish(__x._M_finish),
> 28468:    _M_end_of_storage(__x._M_end_of_storage)
> 28468:  { __x._M_start = __x._M_finish = __x._M_end_of_storage = pointer(); }
> 28468: 
> 28468: 
> 28468:  void
> 28468:  _M_copy_data(_Vector_impl_data const& __x) noexcept
> 28468:  {
> 28468:    _M_start = __x._M_start;
> 28468:    _M_finish = __x._M_finish;
> 28468:    _M_end_of_storage = __x._M_end_of_storage;
> 28468:  }
> 28468: 
> 28468:  void
> 28468:  _M_swap_data(_Vector_impl_data& __x) noexcept
> 28468:  {
> 28468: 
> 28468: 
> 28468:    _Vector_impl_data __tmp;
> 28468:    __tmp._M_copy_data(*this);
> 28468:    _M_copy_data(__x);
> 28468:    __x._M_copy_data(__tmp);
> 28468:  }
> 28468:       };
> 28468: 
> 28468:       struct _Vector_impl
> 28468:  : public _Tp_alloc_type, public _Vector_impl_data
> 28468:       {
> 28468:  _Vector_impl() noexcept(is_nothrow_default_constructible<_Tp_alloc_type>::value)
> 28468: 
> 28468:  : _Tp_alloc_type()
> 28468:  { }
> 28468: 
> 28468:  _Vector_impl(_Tp_alloc_type const& __a) noexcept
> 28468:  : _Tp_alloc_type(__a)
> 28468:  { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  _Vector_impl(_Vector_impl&& __x) noexcept
> 28468:  : _Tp_alloc_type(std::move(__x)), _Vector_impl_data(std::move(__x))
> 28468:  { }
> 28468: 
> 28468:  _Vector_impl(_Tp_alloc_type&& __a) noexcept
> 28468:  : _Tp_alloc_type(std::move(__a))
> 28468:  { }
> 28468: 
> 28468:  _Vector_impl(_Tp_alloc_type&& __a, _Vector_impl&& __rv) noexcept
> 28468:  : _Tp_alloc_type(std::move(__a)), _Vector_impl_data(std::move(__rv))
> 28468:  { }
> 28468: # 267 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       };
> 28468: 
> 28468:     public:
> 28468:       typedef _Alloc allocator_type;
> 28468: 
> 28468:       _Tp_alloc_type&
> 28468:       _M_get_Tp_allocator() noexcept
> 28468:       { return this->_M_impl; }
> 28468: 
> 28468:       const _Tp_alloc_type&
> 28468:       _M_get_Tp_allocator() const noexcept
> 28468:       { return this->_M_impl; }
> 28468: 
> 28468:       allocator_type
> 28468:       get_allocator() const noexcept
> 28468:       { return allocator_type(_M_get_Tp_allocator()); }
> 28468: 
> 28468: 
> 28468:       _Vector_base() = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       _Vector_base(const allocator_type& __a) noexcept
> 28468:       : _M_impl(__a) { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       _Vector_base(size_t __n)
> 28468:       : _M_impl()
> 28468:       { _M_create_storage(__n); }
> 28468: 
> 28468: 
> 28468:       _Vector_base(size_t __n, const allocator_type& __a)
> 28468:       : _M_impl(__a)
> 28468:       { _M_create_storage(__n); }
> 28468: 
> 28468: 
> 28468:       _Vector_base(_Vector_base&&) = default;
> 28468: 
> 28468: 
> 28468: 
> 28468:       _Vector_base(_Tp_alloc_type&& __a) noexcept
> 28468:       : _M_impl(std::move(__a)) { }
> 28468: 
> 28468:       _Vector_base(_Vector_base&& __x, const allocator_type& __a)
> 28468:       : _M_impl(__a)
> 28468:       {
> 28468:  if (__x.get_allocator() == __a)
> 28468:    this->_M_impl._M_swap_data(__x._M_impl);
> 28468:  else
> 28468:    {
> 28468:      size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start;
> 28468:      _M_create_storage(__n);
> 28468:    }
> 28468:       }
> 28468: 
> 28468: 
> 28468:       _Vector_base(const allocator_type& __a, _Vector_base&& __x)
> 28468:       : _M_impl(_Tp_alloc_type(__a), std::move(__x._M_impl))
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       ~_Vector_base() noexcept
> 28468:       {
> 28468:  _M_deallocate(_M_impl._M_start,
> 28468:         _M_impl._M_end_of_storage - _M_impl._M_start);
> 28468:       }
> 28468: 
> 28468:     public:
> 28468:       _Vector_impl _M_impl;
> 28468: 
> 28468:       pointer
> 28468:       _M_allocate(size_t __n)
> 28468:       {
> 28468:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
> 28468:  return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer();
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_deallocate(pointer __p, size_t __n)
> 28468:       {
> 28468:  typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr;
> 28468:  if (__p)
> 28468:    _Tr::deallocate(_M_impl, __p, __n);
> 28468:       }
> 28468: 
> 28468:     protected:
> 28468:       void
> 28468:       _M_create_storage(size_t __n)
> 28468:       {
> 28468:  this->_M_impl._M_start = this->_M_allocate(__n);
> 28468:  this->_M_impl._M_finish = this->_M_impl._M_start;
> 28468:  this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
> 28468:       }
> 28468:     };
> 28468: # 385 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:   template<typename _Tp, typename _Alloc = std::allocator<_Tp> >
> 28468:     class vector : protected _Vector_base<_Tp, _Alloc>
> 28468:     {
> 28468: # 398 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       static_assert(is_same<typename remove_cv<_Tp>::type, _Tp>::value,
> 28468:    "std::vector must have a non-const, non-volatile value_type");
> 28468: 
> 28468:       static_assert(is_same<typename _Alloc::value_type, _Tp>::value,
> 28468:    "std::vector must have the same value_type as its allocator");
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _Vector_base<_Tp, _Alloc> _Base;
> 28468:       typedef typename _Base::_Tp_alloc_type _Tp_alloc_type;
> 28468:       typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits;
> 28468: 
> 28468:     public:
> 28468:       typedef _Tp value_type;
> 28468:       typedef typename _Base::pointer pointer;
> 28468:       typedef typename _Alloc_traits::const_pointer const_pointer;
> 28468:       typedef typename _Alloc_traits::reference reference;
> 28468:       typedef typename _Alloc_traits::const_reference const_reference;
> 28468:       typedef __gnu_cxx::__normal_iterator<pointer, vector> iterator;
> 28468:       typedef __gnu_cxx::__normal_iterator<const_pointer, vector>
> 28468:       const_iterator;
> 28468:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
> 28468:       typedef std::reverse_iterator<iterator> reverse_iterator;
> 28468:       typedef size_t size_type;
> 28468:       typedef ptrdiff_t difference_type;
> 28468:       typedef _Alloc allocator_type;
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       static constexpr bool
> 28468:       _S_nothrow_relocate(true_type)
> 28468:       {
> 28468:  return noexcept(std::__relocate_a(std::declval<pointer>(),
> 28468:        std::declval<pointer>(),
> 28468:        std::declval<pointer>(),
> 28468:        std::declval<_Tp_alloc_type&>()));
> 28468:       }
> 28468: 
> 28468:       static constexpr bool
> 28468:       _S_nothrow_relocate(false_type)
> 28468:       { return false; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       _S_use_relocate()
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:  return _S_nothrow_relocate(__is_move_insertable<_Tp_alloc_type>{});
> 28468:       }
> 28468: 
> 28468:       static pointer
> 28468:       _S_do_relocate(pointer __first, pointer __last, pointer __result,
> 28468:        _Tp_alloc_type& __alloc, true_type) noexcept
> 28468:       {
> 28468:  return std::__relocate_a(__first, __last, __result, __alloc);
> 28468:       }
> 28468: 
> 28468:       static pointer
> 28468:       _S_do_relocate(pointer, pointer, pointer __result,
> 28468:        _Tp_alloc_type&, false_type) noexcept
> 28468:       { return __result; }
> 28468: 
> 28468:       static pointer
> 28468:       _S_relocate(pointer __first, pointer __last, pointer __result,
> 28468:     _Tp_alloc_type& __alloc) noexcept
> 28468:       {
> 28468:  using __do_it = __bool_constant<_S_use_relocate()>;
> 28468:  return _S_do_relocate(__first, __last, __result, __alloc, __do_it{});
> 28468:       }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       using _Base::_M_allocate;
> 28468:       using _Base::_M_deallocate;
> 28468:       using _Base::_M_impl;
> 28468:       using _Base::_M_get_Tp_allocator;
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       vector() = default;
> 28468: # 493 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       explicit
> 28468:       vector(const allocator_type& __a) noexcept
> 28468:       : _Base(__a) { }
> 28468: # 506 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       explicit
> 28468:       vector(size_type __n, const allocator_type& __a = allocator_type())
> 28468:       : _Base(_S_check_init_len(__n, __a), __a)
> 28468:       { _M_default_initialize(__n); }
> 28468: # 519 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       vector(size_type __n, const value_type& __value,
> 28468:       const allocator_type& __a = allocator_type())
> 28468:       : _Base(_S_check_init_len(__n, __a), __a)
> 28468:       { _M_fill_initialize(__n, __value); }
> 28468: # 550 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       vector(const vector& __x)
> 28468:       : _Base(__x.size(),
> 28468:  _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator()))
> 28468:       {
> 28468:  this->_M_impl._M_finish =
> 28468:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
> 28468:           this->_M_impl._M_start,
> 28468:           _M_get_Tp_allocator());
> 28468:       }
> 28468: # 569 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       vector(vector&&) noexcept = default;
> 28468: 
> 28468: 
> 28468:       vector(const vector& __x, const allocator_type& __a)
> 28468:       : _Base(__x.size(), __a)
> 28468:       {
> 28468:  this->_M_impl._M_finish =
> 28468:    std::__uninitialized_copy_a(__x.begin(), __x.end(),
> 28468:           this->_M_impl._M_start,
> 28468:           _M_get_Tp_allocator());
> 28468:       }
> 28468: 
> 28468:     private:
> 28468:       vector(vector&& __rv, const allocator_type& __m, true_type) noexcept
> 28468:       : _Base(__m, std::move(__rv))
> 28468:       { }
> 28468: 
> 28468:       vector(vector&& __rv, const allocator_type& __m, false_type)
> 28468:       : _Base(__m)
> 28468:       {
> 28468:  if (__rv.get_allocator() == __m)
> 28468:    this->_M_impl._M_swap_data(__rv._M_impl);
> 28468:  else if (!__rv.empty())
> 28468:    {
> 28468:      this->_M_create_storage(__rv.size());
> 28468:      this->_M_impl._M_finish =
> 28468:        std::__uninitialized_move_a(__rv.begin(), __rv.end(),
> 28468:        this->_M_impl._M_start,
> 28468:        _M_get_Tp_allocator());
> 28468:      __rv.clear();
> 28468:    }
> 28468:       }
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       vector(vector&& __rv, const allocator_type& __m)
> 28468:       noexcept( noexcept(
> 28468:  vector(std::declval<vector&&>(), std::declval<const allocator_type&>(),
> 28468:         std::declval<typename _Alloc_traits::is_always_equal>())) )
> 28468:       : vector(std::move(__rv), __m, typename _Alloc_traits::is_always_equal{})
> 28468:       { }
> 28468: # 622 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       vector(initializer_list<value_type> __l,
> 28468:       const allocator_type& __a = allocator_type())
> 28468:       : _Base(__a)
> 28468:       {
> 28468:  _M_range_initialize(__l.begin(), __l.end(),
> 28468:        random_access_iterator_tag());
> 28468:       }
> 28468: # 648 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       template<typename _InputIterator,
> 28468:         typename = std::_RequireInputIter<_InputIterator>>
> 28468:  vector(_InputIterator __first, _InputIterator __last,
> 28468:         const allocator_type& __a = allocator_type())
> 28468:  : _Base(__a)
> 28468:  {
> 28468:    _M_range_initialize(__first, __last,
> 28468:          std::__iterator_category(__first));
> 28468:  }
> 28468: # 675 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       ~vector() noexcept
> 28468:       {
> 28468:  std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
> 28468:         _M_get_Tp_allocator());
> 28468:  ;
> 28468:       }
> 28468: # 691 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       vector&
> 28468:       operator=(const vector& __x);
> 28468: # 705 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       vector&
> 28468:       operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move())
> 28468:       {
> 28468:  constexpr bool __move_storage =
> 28468:    _Alloc_traits::_S_propagate_on_move_assign()
> 28468:    || _Alloc_traits::_S_always_equal();
> 28468:  _M_move_assign(std::move(__x), __bool_constant<__move_storage>());
> 28468:  return *this;
> 28468:       }
> 28468: # 726 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       vector&
> 28468:       operator=(initializer_list<value_type> __l)
> 28468:       {
> 28468:  this->_M_assign_aux(__l.begin(), __l.end(),
> 28468:        random_access_iterator_tag());
> 28468:  return *this;
> 28468:       }
> 28468: # 745 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       void
> 28468:       assign(size_type __n, const value_type& __val)
> 28468:       { _M_fill_assign(__n, __val); }
> 28468: # 762 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       template<typename _InputIterator,
> 28468:         typename = std::_RequireInputIter<_InputIterator>>
> 28468:  void
> 28468:  assign(_InputIterator __first, _InputIterator __last)
> 28468:  { _M_assign_dispatch(__first, __last, __false_type()); }
> 28468: # 790 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       void
> 28468:       assign(initializer_list<value_type> __l)
> 28468:       {
> 28468:  this->_M_assign_aux(__l.begin(), __l.end(),
> 28468:        random_access_iterator_tag());
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       using _Base::get_allocator;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       begin() noexcept
> 28468:       { return iterator(this->_M_impl._M_start); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       begin() const noexcept
> 28468:       { return const_iterator(this->_M_impl._M_start); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       end() noexcept
> 28468:       { return iterator(this->_M_impl._M_finish); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       end() const noexcept
> 28468:       { return const_iterator(this->_M_impl._M_finish); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       rbegin() noexcept
> 28468:       { return reverse_iterator(end()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rbegin() const noexcept
> 28468:       { return const_reverse_iterator(end()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       rend() noexcept
> 28468:       { return reverse_iterator(begin()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rend() const noexcept
> 28468:       { return const_reverse_iterator(begin()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       cbegin() const noexcept
> 28468:       { return const_iterator(this->_M_impl._M_start); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       cend() const noexcept
> 28468:       { return const_iterator(this->_M_impl._M_finish); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crbegin() const noexcept
> 28468:       { return const_reverse_iterator(end()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crend() const noexcept
> 28468:       { return const_reverse_iterator(begin()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       size() const noexcept
> 28468:       { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); }
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       max_size() const noexcept
> 28468:       { return _S_max_size(_M_get_Tp_allocator()); }
> 28468: # 933 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       void
> 28468:       resize(size_type __new_size)
> 28468:       {
> 28468:  if (__new_size > size())
> 28468:    _M_default_append(__new_size - size());
> 28468:  else if (__new_size < size())
> 28468:    _M_erase_at_end(this->_M_impl._M_start + __new_size);
> 28468:       }
> 28468: # 953 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       void
> 28468:       resize(size_type __new_size, const value_type& __x)
> 28468:       {
> 28468:  if (__new_size > size())
> 28468:    _M_fill_insert(end(), __new_size - size(), __x);
> 28468:  else if (__new_size < size())
> 28468:    _M_erase_at_end(this->_M_impl._M_start + __new_size);
> 28468:       }
> 28468: # 985 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       void
> 28468:       shrink_to_fit()
> 28468:       { _M_shrink_to_fit(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       capacity() const noexcept
> 28468:       { return size_type(this->_M_impl._M_end_of_storage
> 28468:     - this->_M_impl._M_start); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       empty() const noexcept
> 28468:       { return begin() == end(); }
> 28468: # 1024 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       void
> 28468:       reserve(size_type __n);
> 28468: # 1039 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       reference
> 28468:       operator[](size_type __n) noexcept
> 28468:       {
> 28468:  ;
> 28468:  return *(this->_M_impl._M_start + __n);
> 28468:       }
> 28468: # 1057 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       const_reference
> 28468:       operator[](size_type __n) const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return *(this->_M_impl._M_start + __n);
> 28468:       }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       void
> 28468:       _M_range_check(size_type __n) const
> 28468:       {
> 28468:  if (__n >= this->size())
> 28468:    __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)")
> 28468: 
> 28468:                             ,
> 28468:        __n, this->size());
> 28468:       }
> 28468: 
> 28468:     public:
> 28468: # 1088 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       reference
> 28468:       at(size_type __n)
> 28468:       {
> 28468:  _M_range_check(__n);
> 28468:  return (*this)[__n];
> 28468:       }
> 28468: # 1106 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       const_reference
> 28468:       at(size_type __n) const
> 28468:       {
> 28468:  _M_range_check(__n);
> 28468:  return (*this)[__n];
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reference
> 28468:       front() noexcept
> 28468:       {
> 28468:  ;
> 28468:  return *begin();
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reference
> 28468:       front() const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return *begin();
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reference
> 28468:       back() noexcept
> 28468:       {
> 28468:  ;
> 28468:  return *(end() - 1);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reference
> 28468:       back() const noexcept
> 28468:       {
> 28468:  ;
> 28468:  return *(end() - 1);
> 28468:       }
> 28468: # 1164 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       _Tp*
> 28468:       data() noexcept
> 28468:       { return _M_data_ptr(this->_M_impl._M_start); }
> 28468: 
> 28468:       const _Tp*
> 28468:       data() const noexcept
> 28468:       { return _M_data_ptr(this->_M_impl._M_start); }
> 28468: # 1183 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       void
> 28468:       push_back(const value_type& __x)
> 28468:       {
> 28468:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
> 28468:    {
> 28468:      ;
> 28468:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
> 28468:          __x);
> 28468:      ++this->_M_impl._M_finish;
> 28468:      ;
> 28468:    }
> 28468:  else
> 28468:    _M_realloc_insert(end(), __x);
> 28468:       }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       push_back(value_type&& __x)
> 28468:       { emplace_back(std::move(__x)); }
> 28468: 
> 28468:       template<typename... _Args>
> 28468: 
> 28468: 
> 28468: 
> 28468:  void
> 28468: 
> 28468:  emplace_back(_Args&&... __args);
> 28468: # 1221 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       void
> 28468:       pop_back() noexcept
> 28468:       {
> 28468:  ;
> 28468:  --this->_M_impl._M_finish;
> 28468:  _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
> 28468:  ;
> 28468:       }
> 28468: # 1243 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       template<typename... _Args>
> 28468:  iterator
> 28468:  emplace(const_iterator __position, _Args&&... __args)
> 28468:  { return _M_emplace_aux(__position, std::forward<_Args>(__args)...); }
> 28468: # 1259 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       iterator
> 28468:       insert(const_iterator __position, const value_type& __x);
> 28468: # 1289 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       iterator
> 28468:       insert(const_iterator __position, value_type&& __x)
> 28468:       { return _M_insert_rval(__position, std::move(__x)); }
> 28468: # 1306 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       iterator
> 28468:       insert(const_iterator __position, initializer_list<value_type> __l)
> 28468:       {
> 28468:  auto __offset = __position - cbegin();
> 28468:  _M_range_insert(begin() + __offset, __l.begin(), __l.end(),
> 28468:    std::random_access_iterator_tag());
> 28468:  return begin() + __offset;
> 28468:       }
> 28468: # 1331 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       iterator
> 28468:       insert(const_iterator __position, size_type __n, const value_type& __x)
> 28468:       {
> 28468:  difference_type __offset = __position - cbegin();
> 28468:  _M_fill_insert(begin() + __offset, __n, __x);
> 28468:  return begin() + __offset;
> 28468:       }
> 28468: # 1373 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       template<typename _InputIterator,
> 28468:         typename = std::_RequireInputIter<_InputIterator>>
> 28468:  iterator
> 28468:  insert(const_iterator __position, _InputIterator __first,
> 28468:         _InputIterator __last)
> 28468:  {
> 28468:    difference_type __offset = __position - cbegin();
> 28468:    _M_insert_dispatch(begin() + __offset,
> 28468:         __first, __last, __false_type());
> 28468:    return begin() + __offset;
> 28468:  }
> 28468: # 1425 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       iterator
> 28468: 
> 28468:       erase(const_iterator __position)
> 28468:       { return _M_erase(begin() + (__position - cbegin())); }
> 28468: # 1452 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       iterator
> 28468: 
> 28468:       erase(const_iterator __first, const_iterator __last)
> 28468:       {
> 28468:  const auto __beg = begin();
> 28468:  const auto __cbeg = cbegin();
> 28468:  return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg));
> 28468:       }
> 28468: # 1476 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       void
> 28468:       swap(vector& __x) noexcept
> 28468:       {
> 28468: 
> 28468: 
> 28468:                                                           ;
> 28468: 
> 28468:  this->_M_impl._M_swap_data(__x._M_impl);
> 28468:  _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(),
> 28468:       __x._M_get_Tp_allocator());
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       clear() noexcept
> 28468:       { _M_erase_at_end(this->_M_impl._M_start); }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _ForwardIterator>
> 28468:  pointer
> 28468:  _M_allocate_and_copy(size_type __n,
> 28468:         _ForwardIterator __first, _ForwardIterator __last)
> 28468:  {
> 28468:    pointer __result = this->_M_allocate(__n);
> 28468:    try
> 28468:      {
> 28468:        std::__uninitialized_copy_a(__first, __last, __result,
> 28468:        _M_get_Tp_allocator());
> 28468:        return __result;
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        _M_deallocate(__result, __n);
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468: # 1553 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  _M_range_initialize(_InputIterator __first, _InputIterator __last,
> 28468:        std::input_iterator_tag)
> 28468:  {
> 28468:    try {
> 28468:      for (; __first != __last; ++__first)
> 28468: 
> 28468:        emplace_back(*__first);
> 28468: 
> 28468: 
> 28468: 
> 28468:    } catch(...) {
> 28468:      clear();
> 28468:      throw;
> 28468:    }
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _ForwardIterator>
> 28468:  void
> 28468:  _M_range_initialize(_ForwardIterator __first, _ForwardIterator __last,
> 28468:        std::forward_iterator_tag)
> 28468:  {
> 28468:    const size_type __n = std::distance(__first, __last);
> 28468:    this->_M_impl._M_start
> 28468:      = this->_M_allocate(_S_check_init_len(__n, _M_get_Tp_allocator()));
> 28468:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
> 28468:    this->_M_impl._M_finish =
> 28468:      std::__uninitialized_copy_a(__first, __last,
> 28468:      this->_M_impl._M_start,
> 28468:      _M_get_Tp_allocator());
> 28468:  }
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_fill_initialize(size_type __n, const value_type& __value)
> 28468:       {
> 28468:  this->_M_impl._M_finish =
> 28468:    std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value,
> 28468:      _M_get_Tp_allocator());
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_default_initialize(size_type __n)
> 28468:       {
> 28468:  this->_M_impl._M_finish =
> 28468:    std::__uninitialized_default_n_a(this->_M_impl._M_start, __n,
> 28468:         _M_get_Tp_allocator());
> 28468:       }
> 28468: # 1615 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       template<typename _Integer>
> 28468:  void
> 28468:  _M_assign_dispatch(_Integer __n, _Integer __val, __true_type)
> 28468:  { _M_fill_assign(__n, __val); }
> 28468: 
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  _M_assign_dispatch(_InputIterator __first, _InputIterator __last,
> 28468:       __false_type)
> 28468:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
> 28468: 
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
> 28468:         std::input_iterator_tag);
> 28468: 
> 28468: 
> 28468:       template<typename _ForwardIterator>
> 28468:  void
> 28468:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
> 28468:         std::forward_iterator_tag);
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_fill_assign(size_type __n, const value_type& __val);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Integer>
> 28468:  void
> 28468:  _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val,
> 28468:       __true_type)
> 28468:  { _M_fill_insert(__pos, __n, __val); }
> 28468: 
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  _M_insert_dispatch(iterator __pos, _InputIterator __first,
> 28468:       _InputIterator __last, __false_type)
> 28468:  {
> 28468:    _M_range_insert(__pos, __first, __last,
> 28468:      std::__iterator_category(__first));
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  _M_range_insert(iterator __pos, _InputIterator __first,
> 28468:    _InputIterator __last, std::input_iterator_tag);
> 28468: 
> 28468: 
> 28468:       template<typename _ForwardIterator>
> 28468:  void
> 28468:  _M_range_insert(iterator __pos, _ForwardIterator __first,
> 28468:    _ForwardIterator __last, std::forward_iterator_tag);
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_fill_insert(iterator __pos, size_type __n, const value_type& __x);
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_default_append(size_type __n);
> 28468: 
> 28468:       bool
> 28468:       _M_shrink_to_fit();
> 28468: # 1702 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:       struct _Temporary_value
> 28468:       {
> 28468:  template<typename... _Args>
> 28468:    explicit
> 28468:    _Temporary_value(vector* __vec, _Args&&... __args) : _M_this(__vec)
> 28468:    {
> 28468:      _Alloc_traits::construct(_M_this->_M_impl, _M_ptr(),
> 28468:          std::forward<_Args>(__args)...);
> 28468:    }
> 28468: 
> 28468:  ~_Temporary_value()
> 28468:  { _Alloc_traits::destroy(_M_this->_M_impl, _M_ptr()); }
> 28468: 
> 28468:  value_type&
> 28468:  _M_val() { return *_M_ptr(); }
> 28468: 
> 28468:       private:
> 28468:  _Tp*
> 28468:  _M_ptr() { return reinterpret_cast<_Tp*>(&__buf); }
> 28468: 
> 28468:  vector* _M_this;
> 28468:  typename aligned_storage<sizeof(_Tp), alignof(_Tp)>::type __buf;
> 28468:       };
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Arg>
> 28468:  void
> 28468:  _M_insert_aux(iterator __position, _Arg&& __arg);
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  void
> 28468:  _M_realloc_insert(iterator __position, _Args&&... __args);
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       _M_insert_rval(const_iterator __position, value_type&& __v);
> 28468: 
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  iterator
> 28468:  _M_emplace_aux(const_iterator __position, _Args&&... __args);
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       _M_emplace_aux(const_iterator __position, value_type&& __v)
> 28468:       { return _M_insert_rval(__position, std::move(__v)); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       _M_check_len(size_type __n, const char* __s) const
> 28468:       {
> 28468:  if (max_size() - size() < __n)
> 28468:    __throw_length_error((__s));
> 28468: 
> 28468:  const size_type __len = size() + (std::max)(size(), __n);
> 28468:  return (__len < size() || __len > max_size()) ? max_size() : __len;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       static size_type
> 28468:       _S_check_init_len(size_type __n, const allocator_type& __a)
> 28468:       {
> 28468:  if (__n > _S_max_size(_Tp_alloc_type(__a)))
> 28468:    __throw_length_error(
> 28468:        ("cannot create std::vector larger than max_size()"));
> 28468:  return __n;
> 28468:       }
> 28468: 
> 28468:       static size_type
> 28468:       _S_max_size(const _Tp_alloc_type& __a) noexcept
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:  const size_t __diffmax
> 28468:    = __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp);
> 28468:  const size_t __allocmax = _Alloc_traits::max_size(__a);
> 28468:  return (std::min)(__diffmax, __allocmax);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_erase_at_end(pointer __pos) noexcept
> 28468:       {
> 28468:  if (size_type __n = this->_M_impl._M_finish - __pos)
> 28468:    {
> 28468:      std::_Destroy(__pos, this->_M_impl._M_finish,
> 28468:      _M_get_Tp_allocator());
> 28468:      this->_M_impl._M_finish = __pos;
> 28468:      ;
> 28468:    }
> 28468:       }
> 28468: 
> 28468:       iterator
> 28468:       _M_erase(iterator __position);
> 28468: 
> 28468:       iterator
> 28468:       _M_erase(iterator __first, iterator __last);
> 28468: 
> 28468: 
> 28468:     private:
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_move_assign(vector&& __x, true_type) noexcept
> 28468:       {
> 28468:  vector __tmp(get_allocator());
> 28468:  this->_M_impl._M_swap_data(__x._M_impl);
> 28468:  __tmp._M_impl._M_swap_data(__x._M_impl);
> 28468:  std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator());
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_move_assign(vector&& __x, false_type)
> 28468:       {
> 28468:  if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator())
> 28468:    _M_move_assign(std::move(__x), true_type());
> 28468:  else
> 28468:    {
> 28468: 
> 28468: 
> 28468:      this->assign(std::__make_move_if_noexcept_iterator(__x.begin()),
> 28468:     std::__make_move_if_noexcept_iterator(__x.end()));
> 28468:      __x.clear();
> 28468:    }
> 28468:       }
> 28468: 
> 28468: 
> 28468:       template<typename _Up>
> 28468:  _Up*
> 28468:  _M_data_ptr(_Up* __ptr) const noexcept
> 28468:  { return __ptr; }
> 28468: 
> 28468: 
> 28468:       template<typename _Ptr>
> 28468:  typename std::pointer_traits<_Ptr>::element_type*
> 28468:  _M_data_ptr(_Ptr __ptr) const
> 28468:  { return empty() ? nullptr : std::__to_address(__ptr); }
> 28468: # 1864 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:     };
> 28468: # 1886 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     inline bool
> 28468:     operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
> 28468:     { return (__x.size() == __y.size()
> 28468:        && std::equal(__x.begin(), __x.end(), __y.begin())); }
> 28468: # 1903 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
> 28468:     { return std::lexicographical_compare(__x.begin(), __x.end(),
> 28468:        __y.begin(), __y.end()); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     inline bool
> 28468:     operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
> 28468:     { return !(__x == __y); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
> 28468:     { return __y < __x; }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
> 28468:     { return !(__y < __x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y)
> 28468:     { return !(__x < __y); }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     inline void
> 28468:     swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y)
> 28468:     noexcept(noexcept(__x.swap(__y)))
> 28468:     { __x.swap(__y); }
> 28468: 
> 28468: 
> 28468: # 1956 "/usr/include/c++/9/bits/stl_vector.h" 3
> 28468: 
> 28468: }
> 28468: # 68 "/usr/include/c++/9/vector" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_bvector.h" 1 3
> 28468: # 64 "/usr/include/c++/9/bits/stl_bvector.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   typedef unsigned long _Bit_type;
> 28468:   enum { _S_word_bit = int(8 * sizeof(_Bit_type)) };
> 28468: 
> 28468:   struct _Bit_reference
> 28468:   {
> 28468:     _Bit_type * _M_p;
> 28468:     _Bit_type _M_mask;
> 28468: 
> 28468:     _Bit_reference(_Bit_type * __x, _Bit_type __y)
> 28468:     : _M_p(__x), _M_mask(__y) { }
> 28468: 
> 28468:     _Bit_reference() noexcept : _M_p(0), _M_mask(0) { }
> 28468: 
> 28468: 
> 28468:     _Bit_reference(const _Bit_reference&) = default;
> 28468: 
> 28468: 
> 28468:     operator bool() const noexcept
> 28468:     { return !!(*_M_p & _M_mask); }
> 28468: 
> 28468:     _Bit_reference&
> 28468:     operator=(bool __x) noexcept
> 28468:     {
> 28468:       if (__x)
> 28468:  *_M_p |= _M_mask;
> 28468:       else
> 28468:  *_M_p &= ~_M_mask;
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:     _Bit_reference&
> 28468:     operator=(const _Bit_reference& __x) noexcept
> 28468:     { return *this = bool(__x); }
> 28468: 
> 28468:     bool
> 28468:     operator==(const _Bit_reference& __x) const
> 28468:     { return bool(*this) == bool(__x); }
> 28468: 
> 28468:     bool
> 28468:     operator<(const _Bit_reference& __x) const
> 28468:     { return !bool(*this) && bool(__x); }
> 28468: 
> 28468:     void
> 28468:     flip() noexcept
> 28468:     { *_M_p ^= _M_mask; }
> 28468:   };
> 28468: 
> 28468: 
> 28468:   inline void
> 28468:   swap(_Bit_reference __x, _Bit_reference __y) noexcept
> 28468:   {
> 28468:     bool __tmp = __x;
> 28468:     __x = __y;
> 28468:     __y = __tmp;
> 28468:   }
> 28468: 
> 28468:   inline void
> 28468:   swap(_Bit_reference __x, bool& __y) noexcept
> 28468:   {
> 28468:     bool __tmp = __x;
> 28468:     __x = __y;
> 28468:     __y = __tmp;
> 28468:   }
> 28468: 
> 28468:   inline void
> 28468:   swap(bool& __x, _Bit_reference __y) noexcept
> 28468:   {
> 28468:     bool __tmp = __x;
> 28468:     __x = __y;
> 28468:     __y = __tmp;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   struct _Bit_iterator_base
> 28468:   : public std::iterator<std::random_access_iterator_tag, bool>
> 28468:   {
> 28468:     _Bit_type * _M_p;
> 28468:     unsigned int _M_offset;
> 28468: 
> 28468:     _Bit_iterator_base(_Bit_type * __x, unsigned int __y)
> 28468:     : _M_p(__x), _M_offset(__y) { }
> 28468: 
> 28468:     void
> 28468:     _M_bump_up()
> 28468:     {
> 28468:       if (_M_offset++ == int(_S_word_bit) - 1)
> 28468:  {
> 28468:    _M_offset = 0;
> 28468:    ++_M_p;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:     void
> 28468:     _M_bump_down()
> 28468:     {
> 28468:       if (_M_offset-- == 0)
> 28468:  {
> 28468:    _M_offset = int(_S_word_bit) - 1;
> 28468:    --_M_p;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:     void
> 28468:     _M_incr(ptrdiff_t __i)
> 28468:     {
> 28468:       difference_type __n = __i + _M_offset;
> 28468:       _M_p += __n / int(_S_word_bit);
> 28468:       __n = __n % int(_S_word_bit);
> 28468:       if (__n < 0)
> 28468:  {
> 28468:    __n += int(_S_word_bit);
> 28468:    --_M_p;
> 28468:  }
> 28468:       _M_offset = static_cast<unsigned int>(__n);
> 28468:     }
> 28468: 
> 28468:     bool
> 28468:     operator==(const _Bit_iterator_base& __i) const
> 28468:     { return _M_p == __i._M_p && _M_offset == __i._M_offset; }
> 28468: 
> 28468:     bool
> 28468:     operator<(const _Bit_iterator_base& __i) const
> 28468:     {
> 28468:       return _M_p < __i._M_p
> 28468:      || (_M_p == __i._M_p && _M_offset < __i._M_offset);
> 28468:     }
> 28468: 
> 28468:     bool
> 28468:     operator!=(const _Bit_iterator_base& __i) const
> 28468:     { return !(*this == __i); }
> 28468: 
> 28468:     bool
> 28468:     operator>(const _Bit_iterator_base& __i) const
> 28468:     { return __i < *this; }
> 28468: 
> 28468:     bool
> 28468:     operator<=(const _Bit_iterator_base& __i) const
> 28468:     { return !(__i < *this); }
> 28468: 
> 28468:     bool
> 28468:     operator>=(const _Bit_iterator_base& __i) const
> 28468:     { return !(*this < __i); }
> 28468:   };
> 28468: 
> 28468:   inline ptrdiff_t
> 28468:   operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y)
> 28468:   {
> 28468:     return (int(_S_word_bit) * (__x._M_p - __y._M_p)
> 28468:      + __x._M_offset - __y._M_offset);
> 28468:   }
> 28468: 
> 28468:   struct _Bit_iterator : public _Bit_iterator_base
> 28468:   {
> 28468:     typedef _Bit_reference reference;
> 28468:     typedef _Bit_reference* pointer;
> 28468:     typedef _Bit_iterator iterator;
> 28468: 
> 28468:     _Bit_iterator() : _Bit_iterator_base(0, 0) { }
> 28468: 
> 28468:     _Bit_iterator(_Bit_type * __x, unsigned int __y)
> 28468:     : _Bit_iterator_base(__x, __y) { }
> 28468: 
> 28468:     iterator
> 28468:     _M_const_cast() const
> 28468:     { return *this; }
> 28468: 
> 28468:     reference
> 28468:     operator*() const
> 28468:     { return reference(_M_p, 1UL << _M_offset); }
> 28468: 
> 28468:     iterator&
> 28468:     operator++()
> 28468:     {
> 28468:       _M_bump_up();
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:     iterator
> 28468:     operator++(int)
> 28468:     {
> 28468:       iterator __tmp = *this;
> 28468:       _M_bump_up();
> 28468:       return __tmp;
> 28468:     }
> 28468: 
> 28468:     iterator&
> 28468:     operator--()
> 28468:     {
> 28468:       _M_bump_down();
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:     iterator
> 28468:     operator--(int)
> 28468:     {
> 28468:       iterator __tmp = *this;
> 28468:       _M_bump_down();
> 28468:       return __tmp;
> 28468:     }
> 28468: 
> 28468:     iterator&
> 28468:     operator+=(difference_type __i)
> 28468:     {
> 28468:       _M_incr(__i);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:     iterator&
> 28468:     operator-=(difference_type __i)
> 28468:     {
> 28468:       *this += -__i;
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:     iterator
> 28468:     operator+(difference_type __i) const
> 28468:     {
> 28468:       iterator __tmp = *this;
> 28468:       return __tmp += __i;
> 28468:     }
> 28468: 
> 28468:     iterator
> 28468:     operator-(difference_type __i) const
> 28468:     {
> 28468:       iterator __tmp = *this;
> 28468:       return __tmp -= __i;
> 28468:     }
> 28468: 
> 28468:     reference
> 28468:     operator[](difference_type __i) const
> 28468:     { return *(*this + __i); }
> 28468:   };
> 28468: 
> 28468:   inline _Bit_iterator
> 28468:   operator+(ptrdiff_t __n, const _Bit_iterator& __x)
> 28468:   { return __x + __n; }
> 28468: 
> 28468:   struct _Bit_const_iterator : public _Bit_iterator_base
> 28468:   {
> 28468:     typedef bool reference;
> 28468:     typedef bool const_reference;
> 28468:     typedef const bool* pointer;
> 28468:     typedef _Bit_const_iterator const_iterator;
> 28468: 
> 28468:     _Bit_const_iterator() : _Bit_iterator_base(0, 0) { }
> 28468: 
> 28468:     _Bit_const_iterator(_Bit_type * __x, unsigned int __y)
> 28468:     : _Bit_iterator_base(__x, __y) { }
> 28468: 
> 28468:     _Bit_const_iterator(const _Bit_iterator& __x)
> 28468:     : _Bit_iterator_base(__x._M_p, __x._M_offset) { }
> 28468: 
> 28468:     _Bit_iterator
> 28468:     _M_const_cast() const
> 28468:     { return _Bit_iterator(_M_p, _M_offset); }
> 28468: 
> 28468:     const_reference
> 28468:     operator*() const
> 28468:     { return _Bit_reference(_M_p, 1UL << _M_offset); }
> 28468: 
> 28468:     const_iterator&
> 28468:     operator++()
> 28468:     {
> 28468:       _M_bump_up();
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:     const_iterator
> 28468:     operator++(int)
> 28468:     {
> 28468:       const_iterator __tmp = *this;
> 28468:       _M_bump_up();
> 28468:       return __tmp;
> 28468:     }
> 28468: 
> 28468:     const_iterator&
> 28468:     operator--()
> 28468:     {
> 28468:       _M_bump_down();
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:     const_iterator
> 28468:     operator--(int)
> 28468:     {
> 28468:       const_iterator __tmp = *this;
> 28468:       _M_bump_down();
> 28468:       return __tmp;
> 28468:     }
> 28468: 
> 28468:     const_iterator&
> 28468:     operator+=(difference_type __i)
> 28468:     {
> 28468:       _M_incr(__i);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:     const_iterator&
> 28468:     operator-=(difference_type __i)
> 28468:     {
> 28468:       *this += -__i;
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:     const_iterator
> 28468:     operator+(difference_type __i) const
> 28468:     {
> 28468:       const_iterator __tmp = *this;
> 28468:       return __tmp += __i;
> 28468:     }
> 28468: 
> 28468:     const_iterator
> 28468:     operator-(difference_type __i) const
> 28468:     {
> 28468:       const_iterator __tmp = *this;
> 28468:       return __tmp -= __i;
> 28468:     }
> 28468: 
> 28468:     const_reference
> 28468:     operator[](difference_type __i) const
> 28468:     { return *(*this + __i); }
> 28468:   };
> 28468: 
> 28468:   inline _Bit_const_iterator
> 28468:   operator+(ptrdiff_t __n, const _Bit_const_iterator& __x)
> 28468:   { return __x + __n; }
> 28468: 
> 28468:   inline void
> 28468:   __fill_bvector(_Bit_type * __v,
> 28468:    unsigned int __first, unsigned int __last, bool __x)
> 28468:   {
> 28468:     const _Bit_type __fmask = ~0ul << __first;
> 28468:     const _Bit_type __lmask = ~0ul >> (_S_word_bit - __last);
> 28468:     const _Bit_type __mask = __fmask & __lmask;
> 28468: 
> 28468:     if (__x)
> 28468:       *__v |= __mask;
> 28468:     else
> 28468:       *__v &= ~__mask;
> 28468:   }
> 28468: 
> 28468:   inline void
> 28468:   fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x)
> 28468:   {
> 28468:     if (__first._M_p != __last._M_p)
> 28468:       {
> 28468:  _Bit_type* __first_p = __first._M_p;
> 28468:  if (__first._M_offset != 0)
> 28468:    __fill_bvector(__first_p++, __first._M_offset, _S_word_bit, __x);
> 28468: 
> 28468:  __builtin_memset(__first_p, __x ? ~0 : 0,
> 28468:     (__last._M_p - __first_p) * sizeof(_Bit_type));
> 28468: 
> 28468:  if (__last._M_offset != 0)
> 28468:    __fill_bvector(__last._M_p, 0, __last._M_offset, __x);
> 28468:       }
> 28468:     else if (__first._M_offset != __last._M_offset)
> 28468:       __fill_bvector(__first._M_p, __first._M_offset, __last._M_offset, __x);
> 28468:   }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct _Bvector_base
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
> 28468:         rebind<_Bit_type>::other _Bit_alloc_type;
> 28468:       typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type>
> 28468:  _Bit_alloc_traits;
> 28468:       typedef typename _Bit_alloc_traits::pointer _Bit_pointer;
> 28468: 
> 28468:       struct _Bvector_impl_data
> 28468:       {
> 28468:  _Bit_iterator _M_start;
> 28468:  _Bit_iterator _M_finish;
> 28468:  _Bit_pointer _M_end_of_storage;
> 28468: 
> 28468:  _Bvector_impl_data() noexcept
> 28468:  : _M_start(), _M_finish(), _M_end_of_storage()
> 28468:  { }
> 28468: 
> 28468: 
> 28468:  _Bvector_impl_data(_Bvector_impl_data&& __x) noexcept
> 28468:  : _M_start(__x._M_start), _M_finish(__x._M_finish)
> 28468:  , _M_end_of_storage(__x._M_end_of_storage)
> 28468:  { __x._M_reset(); }
> 28468: 
> 28468:  void
> 28468:  _M_move_data(_Bvector_impl_data&& __x) noexcept
> 28468:  {
> 28468:    this->_M_start = __x._M_start;
> 28468:    this->_M_finish = __x._M_finish;
> 28468:    this->_M_end_of_storage = __x._M_end_of_storage;
> 28468:    __x._M_reset();
> 28468:  }
> 28468: 
> 28468: 
> 28468:  void
> 28468:  _M_reset() noexcept
> 28468:  {
> 28468:    _M_start = _M_finish = _Bit_iterator();
> 28468:    _M_end_of_storage = _Bit_pointer();
> 28468:  }
> 28468:       };
> 28468: 
> 28468:       struct _Bvector_impl
> 28468:  : public _Bit_alloc_type, public _Bvector_impl_data
> 28468:  {
> 28468:  public:
> 28468:    _Bvector_impl() noexcept(is_nothrow_default_constructible<_Bit_alloc_type>::value)
> 28468: 
> 28468:    : _Bit_alloc_type()
> 28468:    { }
> 28468: 
> 28468:    _Bvector_impl(const _Bit_alloc_type& __a) noexcept
> 28468:    : _Bit_alloc_type(__a)
> 28468:    { }
> 28468: 
> 28468: 
> 28468:  _Bvector_impl(_Bvector_impl&&) = default;
> 28468: 
> 28468: 
> 28468:  _Bit_type*
> 28468:  _M_end_addr() const noexcept
> 28468:  {
> 28468:    if (this->_M_end_of_storage)
> 28468:      return std::__addressof(this->_M_end_of_storage[-1]) + 1;
> 28468:    return 0;
> 28468:  }
> 28468:       };
> 28468: 
> 28468:     public:
> 28468:       typedef _Alloc allocator_type;
> 28468: 
> 28468:       _Bit_alloc_type&
> 28468:       _M_get_Bit_allocator() noexcept
> 28468:       { return this->_M_impl; }
> 28468: 
> 28468:       const _Bit_alloc_type&
> 28468:       _M_get_Bit_allocator() const noexcept
> 28468:       { return this->_M_impl; }
> 28468: 
> 28468:       allocator_type
> 28468:       get_allocator() const noexcept
> 28468:       { return allocator_type(_M_get_Bit_allocator()); }
> 28468: 
> 28468: 
> 28468:       _Bvector_base() = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       _Bvector_base(const allocator_type& __a)
> 28468:       : _M_impl(__a) { }
> 28468: 
> 28468: 
> 28468:       _Bvector_base(_Bvector_base&&) = default;
> 28468: 
> 28468: 
> 28468:       ~_Bvector_base()
> 28468:       { this->_M_deallocate(); }
> 28468: 
> 28468:     protected:
> 28468:       _Bvector_impl _M_impl;
> 28468: 
> 28468:       _Bit_pointer
> 28468:       _M_allocate(size_t __n)
> 28468:       { return _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n)); }
> 28468: 
> 28468:       void
> 28468:       _M_deallocate()
> 28468:       {
> 28468:  if (_M_impl._M_start._M_p)
> 28468:    {
> 28468:      const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p;
> 28468:      _Bit_alloc_traits::deallocate(_M_impl,
> 28468:        _M_impl._M_end_of_storage - __n,
> 28468:        __n);
> 28468:      _M_impl._M_reset();
> 28468:    }
> 28468:       }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_move_data(_Bvector_base&& __x) noexcept
> 28468:       { _M_impl._M_move_data(std::move(__x._M_impl)); }
> 28468: 
> 28468: 
> 28468:       static size_t
> 28468:       _S_nword(size_t __n)
> 28468:       { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: # 591 "/usr/include/c++/9/bits/stl_bvector.h" 3
> 28468:   template<typename _Alloc>
> 28468:     class vector<bool, _Alloc> : protected _Bvector_base<_Alloc>
> 28468:     {
> 28468:       typedef _Bvector_base<_Alloc> _Base;
> 28468:       typedef typename _Base::_Bit_pointer _Bit_pointer;
> 28468:       typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits;
> 28468: 
> 28468: 
> 28468:       friend struct std::hash<vector>;
> 28468: 
> 28468: 
> 28468:     public:
> 28468:       typedef bool value_type;
> 28468:       typedef size_t size_type;
> 28468:       typedef ptrdiff_t difference_type;
> 28468:       typedef _Bit_reference reference;
> 28468:       typedef bool const_reference;
> 28468:       typedef _Bit_reference* pointer;
> 28468:       typedef const bool* const_pointer;
> 28468:       typedef _Bit_iterator iterator;
> 28468:       typedef _Bit_const_iterator const_iterator;
> 28468:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
> 28468:       typedef std::reverse_iterator<iterator> reverse_iterator;
> 28468:       typedef _Alloc allocator_type;
> 28468: 
> 28468:       allocator_type
> 28468:       get_allocator() const
> 28468:       { return _Base::get_allocator(); }
> 28468: 
> 28468:     protected:
> 28468:       using _Base::_M_allocate;
> 28468:       using _Base::_M_deallocate;
> 28468:       using _Base::_S_nword;
> 28468:       using _Base::_M_get_Bit_allocator;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       vector() = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       vector(const allocator_type& __a)
> 28468:       : _Base(__a) { }
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       vector(size_type __n, const allocator_type& __a = allocator_type())
> 28468:       : vector(__n, false, __a)
> 28468:       { }
> 28468: 
> 28468:       vector(size_type __n, const bool& __value,
> 28468:       const allocator_type& __a = allocator_type())
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       : _Base(__a)
> 28468:       {
> 28468:  _M_initialize(__n);
> 28468:  _M_initialize_value(__value);
> 28468:       }
> 28468: 
> 28468:       vector(const vector& __x)
> 28468:       : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator()))
> 28468:       {
> 28468:  _M_initialize(__x.size());
> 28468:  _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start);
> 28468:       }
> 28468: 
> 28468: 
> 28468:       vector(vector&&) = default;
> 28468: 
> 28468:       vector(vector&& __x, const allocator_type& __a)
> 28468:       noexcept(_Bit_alloc_traits::_S_always_equal())
> 28468:       : _Base(__a)
> 28468:       {
> 28468:  if (__x.get_allocator() == __a)
> 28468:    this->_M_move_data(std::move(__x));
> 28468:  else
> 28468:    {
> 28468:      _M_initialize(__x.size());
> 28468:      _M_copy_aligned(__x.begin(), __x.end(), begin());
> 28468:      __x.clear();
> 28468:    }
> 28468:       }
> 28468: 
> 28468:       vector(const vector& __x, const allocator_type& __a)
> 28468:       : _Base(__a)
> 28468:       {
> 28468:  _M_initialize(__x.size());
> 28468:  _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start);
> 28468:       }
> 28468: 
> 28468:       vector(initializer_list<bool> __l,
> 28468:       const allocator_type& __a = allocator_type())
> 28468:       : _Base(__a)
> 28468:       {
> 28468:  _M_initialize_range(__l.begin(), __l.end(),
> 28468:        random_access_iterator_tag());
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _InputIterator,
> 28468:         typename = std::_RequireInputIter<_InputIterator>>
> 28468:  vector(_InputIterator __first, _InputIterator __last,
> 28468:         const allocator_type& __a = allocator_type())
> 28468:  : _Base(__a)
> 28468:  { _M_initialize_dispatch(__first, __last, __false_type()); }
> 28468: # 714 "/usr/include/c++/9/bits/stl_bvector.h" 3
> 28468:       ~vector() noexcept { }
> 28468: 
> 28468:       vector&
> 28468:       operator=(const vector& __x)
> 28468:       {
> 28468:  if (&__x == this)
> 28468:    return *this;
> 28468: 
> 28468:  if (_Bit_alloc_traits::_S_propagate_on_copy_assign())
> 28468:    {
> 28468:      if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator())
> 28468:        {
> 28468:   this->_M_deallocate();
> 28468:   std::__alloc_on_copy(_M_get_Bit_allocator(),
> 28468:          __x._M_get_Bit_allocator());
> 28468:   _M_initialize(__x.size());
> 28468:        }
> 28468:      else
> 28468:        std::__alloc_on_copy(_M_get_Bit_allocator(),
> 28468:        __x._M_get_Bit_allocator());
> 28468:    }
> 28468: 
> 28468:  if (__x.size() > capacity())
> 28468:    {
> 28468:      this->_M_deallocate();
> 28468:      _M_initialize(__x.size());
> 28468:    }
> 28468:  this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
> 28468:         begin());
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       vector&
> 28468:       operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move())
> 28468:       {
> 28468:  if (_Bit_alloc_traits::_S_propagate_on_move_assign()
> 28468:      || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator())
> 28468:    {
> 28468:      this->_M_deallocate();
> 28468:      this->_M_move_data(std::move(__x));
> 28468:      std::__alloc_on_move(_M_get_Bit_allocator(),
> 28468:      __x._M_get_Bit_allocator());
> 28468:    }
> 28468:  else
> 28468:    {
> 28468:      if (__x.size() > capacity())
> 28468:        {
> 28468:   this->_M_deallocate();
> 28468:   _M_initialize(__x.size());
> 28468:        }
> 28468:      this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(),
> 28468:             begin());
> 28468:      __x.clear();
> 28468:    }
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       vector&
> 28468:       operator=(initializer_list<bool> __l)
> 28468:       {
> 28468:  this->assign (__l.begin(), __l.end());
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       assign(size_type __n, const bool& __x)
> 28468:       { _M_fill_assign(__n, __x); }
> 28468: 
> 28468: 
> 28468:       template<typename _InputIterator,
> 28468:         typename = std::_RequireInputIter<_InputIterator>>
> 28468:  void
> 28468:  assign(_InputIterator __first, _InputIterator __last)
> 28468:  { _M_assign_aux(__first, __last, std::__iterator_category(__first)); }
> 28468: # 805 "/usr/include/c++/9/bits/stl_bvector.h" 3
> 28468:       void
> 28468:       assign(initializer_list<bool> __l)
> 28468:       { _M_assign_aux(__l.begin(), __l.end(), random_access_iterator_tag()); }
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       begin() noexcept
> 28468:       { return iterator(this->_M_impl._M_start._M_p, 0); }
> 28468: 
> 28468:       const_iterator
> 28468:       begin() const noexcept
> 28468:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
> 28468: 
> 28468:       iterator
> 28468:       end() noexcept
> 28468:       { return this->_M_impl._M_finish; }
> 28468: 
> 28468:       const_iterator
> 28468:       end() const noexcept
> 28468:       { return this->_M_impl._M_finish; }
> 28468: 
> 28468:       reverse_iterator
> 28468:       rbegin() noexcept
> 28468:       { return reverse_iterator(end()); }
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rbegin() const noexcept
> 28468:       { return const_reverse_iterator(end()); }
> 28468: 
> 28468:       reverse_iterator
> 28468:       rend() noexcept
> 28468:       { return reverse_iterator(begin()); }
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rend() const noexcept
> 28468:       { return const_reverse_iterator(begin()); }
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       cbegin() const noexcept
> 28468:       { return const_iterator(this->_M_impl._M_start._M_p, 0); }
> 28468: 
> 28468:       const_iterator
> 28468:       cend() const noexcept
> 28468:       { return this->_M_impl._M_finish; }
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crbegin() const noexcept
> 28468:       { return const_reverse_iterator(end()); }
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crend() const noexcept
> 28468:       { return const_reverse_iterator(begin()); }
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       size() const noexcept
> 28468:       { return size_type(end() - begin()); }
> 28468: 
> 28468:       size_type
> 28468:       max_size() const noexcept
> 28468:       {
> 28468:  const size_type __isize =
> 28468:    __gnu_cxx::__numeric_traits<difference_type>::__max
> 28468:    - int(_S_word_bit) + 1;
> 28468:  const size_type __asize
> 28468:    = _Bit_alloc_traits::max_size(_M_get_Bit_allocator());
> 28468:  return (__asize <= __isize / int(_S_word_bit)
> 28468:   ? __asize * int(_S_word_bit) : __isize);
> 28468:       }
> 28468: 
> 28468:       size_type
> 28468:       capacity() const noexcept
> 28468:       { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0)
> 28468:     - begin()); }
> 28468: 
> 28468:       bool
> 28468:       empty() const noexcept
> 28468:       { return begin() == end(); }
> 28468: 
> 28468:       reference
> 28468:       operator[](size_type __n)
> 28468:       {
> 28468:  return *iterator(this->_M_impl._M_start._M_p
> 28468:     + __n / int(_S_word_bit), __n % int(_S_word_bit));
> 28468:       }
> 28468: 
> 28468:       const_reference
> 28468:       operator[](size_type __n) const
> 28468:       {
> 28468:  return *const_iterator(this->_M_impl._M_start._M_p
> 28468:         + __n / int(_S_word_bit), __n % int(_S_word_bit));
> 28468:       }
> 28468: 
> 28468:     protected:
> 28468:       void
> 28468:       _M_range_check(size_type __n) const
> 28468:       {
> 28468:  if (__n >= this->size())
> 28468:    __throw_out_of_range_fmt(("vector<bool>::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)")
> 28468: 
> 28468:                             ,
> 28468:        __n, this->size());
> 28468:       }
> 28468: 
> 28468:     public:
> 28468:       reference
> 28468:       at(size_type __n)
> 28468:       { _M_range_check(__n); return (*this)[__n]; }
> 28468: 
> 28468:       const_reference
> 28468:       at(size_type __n) const
> 28468:       { _M_range_check(__n); return (*this)[__n]; }
> 28468: 
> 28468:       void
> 28468:       reserve(size_type __n)
> 28468:       {
> 28468:  if (__n > max_size())
> 28468:    __throw_length_error(("vector::reserve"));
> 28468:  if (capacity() < __n)
> 28468:    _M_reallocate(__n);
> 28468:       }
> 28468: 
> 28468:       reference
> 28468:       front()
> 28468:       { return *begin(); }
> 28468: 
> 28468:       const_reference
> 28468:       front() const
> 28468:       { return *begin(); }
> 28468: 
> 28468:       reference
> 28468:       back()
> 28468:       { return *(end() - 1); }
> 28468: 
> 28468:       const_reference
> 28468:       back() const
> 28468:       { return *(end() - 1); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       data() noexcept { }
> 28468: 
> 28468:       void
> 28468:       push_back(bool __x)
> 28468:       {
> 28468:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
> 28468:    *this->_M_impl._M_finish++ = __x;
> 28468:  else
> 28468:    _M_insert_aux(end(), __x);
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       swap(vector& __x) noexcept
> 28468:       {
> 28468:  std::swap(this->_M_impl._M_start, __x._M_impl._M_start);
> 28468:  std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish);
> 28468:  std::swap(this->_M_impl._M_end_of_storage,
> 28468:     __x._M_impl._M_end_of_storage);
> 28468:  _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(),
> 28468:           __x._M_get_Bit_allocator());
> 28468:       }
> 28468: 
> 28468: 
> 28468:       static void
> 28468:       swap(reference __x, reference __y) noexcept
> 28468:       {
> 28468:  bool __tmp = __x;
> 28468:  __x = __y;
> 28468:  __y = __tmp;
> 28468:       }
> 28468: 
> 28468:       iterator
> 28468: 
> 28468:       insert(const_iterator __position, const bool& __x = bool())
> 28468: 
> 28468: 
> 28468: 
> 28468:       {
> 28468:  const difference_type __n = __position - begin();
> 28468:  if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()
> 28468:      && __position == end())
> 28468:    *this->_M_impl._M_finish++ = __x;
> 28468:  else
> 28468:    _M_insert_aux(__position._M_const_cast(), __x);
> 28468:  return begin() + __n;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       template<typename _InputIterator,
> 28468:         typename = std::_RequireInputIter<_InputIterator>>
> 28468:  iterator
> 28468:  insert(const_iterator __position,
> 28468:         _InputIterator __first, _InputIterator __last)
> 28468:  {
> 28468:    difference_type __offset = __position - cbegin();
> 28468:    _M_insert_dispatch(__position._M_const_cast(),
> 28468:         __first, __last, __false_type());
> 28468:    return begin() + __offset;
> 28468:  }
> 28468: # 1021 "/usr/include/c++/9/bits/stl_bvector.h" 3
> 28468:       iterator
> 28468:       insert(const_iterator __position, size_type __n, const bool& __x)
> 28468:       {
> 28468:  difference_type __offset = __position - cbegin();
> 28468:  _M_fill_insert(__position._M_const_cast(), __n, __x);
> 28468:  return begin() + __offset;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       insert(const_iterator __p, initializer_list<bool> __l)
> 28468:       { return this->insert(__p, __l.begin(), __l.end()); }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       pop_back()
> 28468:       { --this->_M_impl._M_finish; }
> 28468: 
> 28468:       iterator
> 28468: 
> 28468:       erase(const_iterator __position)
> 28468: 
> 28468: 
> 28468: 
> 28468:       { return _M_erase(__position._M_const_cast()); }
> 28468: 
> 28468:       iterator
> 28468: 
> 28468:       erase(const_iterator __first, const_iterator __last)
> 28468: 
> 28468: 
> 28468: 
> 28468:       { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); }
> 28468: 
> 28468:       void
> 28468:       resize(size_type __new_size, bool __x = bool())
> 28468:       {
> 28468:  if (__new_size < size())
> 28468:    _M_erase_at_end(begin() + difference_type(__new_size));
> 28468:  else
> 28468:    insert(end(), __new_size - size(), __x);
> 28468:       }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       shrink_to_fit()
> 28468:       { _M_shrink_to_fit(); }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       flip() noexcept
> 28468:       {
> 28468:  _Bit_type * const __end = this->_M_impl._M_end_addr();
> 28468:  for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p)
> 28468:    *__p = ~*__p;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       clear() noexcept
> 28468:       { _M_erase_at_end(begin()); }
> 28468: 
> 28468: 
> 28468:       template<typename... _Args>
> 28468: 
> 28468: 
> 28468: 
> 28468:  void
> 28468: 
> 28468:  emplace_back(_Args&&... __args)
> 28468:  {
> 28468:    push_back(bool(__args...));
> 28468: 
> 28468: 
> 28468: 
> 28468:  }
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  iterator
> 28468:  emplace(const_iterator __pos, _Args&&... __args)
> 28468:  { return insert(__pos, bool(__args...)); }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       iterator
> 28468:       _M_copy_aligned(const_iterator __first, const_iterator __last,
> 28468:         iterator __result)
> 28468:       {
> 28468:  _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p);
> 28468:  return std::copy(const_iterator(__last._M_p, 0), __last,
> 28468:     iterator(__q, 0));
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_initialize(size_type __n)
> 28468:       {
> 28468:  if (__n)
> 28468:    {
> 28468:      _Bit_pointer __q = this->_M_allocate(__n);
> 28468:      this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
> 28468:      this->_M_impl._M_start = iterator(std::__addressof(*__q), 0);
> 28468:    }
> 28468:  else
> 28468:    {
> 28468:      this->_M_impl._M_end_of_storage = _Bit_pointer();
> 28468:      this->_M_impl._M_start = iterator(0, 0);
> 28468:    }
> 28468:  this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n);
> 28468: 
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_initialize_value(bool __x)
> 28468:       {
> 28468:  if (_Bit_type* __p = this->_M_impl._M_start._M_p)
> 28468:    __builtin_memset(__p, __x ? ~0 : 0,
> 28468:       (this->_M_impl._M_end_addr() - __p)
> 28468:       * sizeof(_Bit_type));
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_reallocate(size_type __n);
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       _M_shrink_to_fit();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Integer>
> 28468:  void
> 28468:  _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type)
> 28468:  {
> 28468:    _M_initialize(static_cast<size_type>(__n));
> 28468:    _M_initialize_value(__x);
> 28468:  }
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  _M_initialize_dispatch(_InputIterator __first, _InputIterator __last,
> 28468:           __false_type)
> 28468:  { _M_initialize_range(__first, __last,
> 28468:          std::__iterator_category(__first)); }
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  _M_initialize_range(_InputIterator __first, _InputIterator __last,
> 28468:        std::input_iterator_tag)
> 28468:  {
> 28468:    for (; __first != __last; ++__first)
> 28468:      push_back(*__first);
> 28468:  }
> 28468: 
> 28468:       template<typename _ForwardIterator>
> 28468:  void
> 28468:  _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last,
> 28468:        std::forward_iterator_tag)
> 28468:  {
> 28468:    const size_type __n = std::distance(__first, __last);
> 28468:    _M_initialize(__n);
> 28468:    std::copy(__first, __last, this->_M_impl._M_start);
> 28468:  }
> 28468: # 1207 "/usr/include/c++/9/bits/stl_bvector.h" 3
> 28468:       void
> 28468:       _M_fill_assign(size_t __n, bool __x)
> 28468:       {
> 28468:  if (__n > size())
> 28468:    {
> 28468:      _M_initialize_value(__x);
> 28468:      insert(end(), __n - size(), __x);
> 28468:    }
> 28468:  else
> 28468:    {
> 28468:      _M_erase_at_end(begin() + __n);
> 28468:      _M_initialize_value(__x);
> 28468:    }
> 28468:       }
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  _M_assign_aux(_InputIterator __first, _InputIterator __last,
> 28468:         std::input_iterator_tag)
> 28468:  {
> 28468:    iterator __cur = begin();
> 28468:    for (; __first != __last && __cur != end(); ++__cur, (void)++__first)
> 28468:      *__cur = *__first;
> 28468:    if (__first == __last)
> 28468:      _M_erase_at_end(__cur);
> 28468:    else
> 28468:      insert(end(), __first, __last);
> 28468:  }
> 28468: 
> 28468:       template<typename _ForwardIterator>
> 28468:  void
> 28468:  _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
> 28468:         std::forward_iterator_tag)
> 28468:  {
> 28468:    const size_type __len = std::distance(__first, __last);
> 28468:    if (__len < size())
> 28468:      _M_erase_at_end(std::copy(__first, __last, begin()));
> 28468:    else
> 28468:      {
> 28468:        _ForwardIterator __mid = __first;
> 28468:        std::advance(__mid, size());
> 28468:        std::copy(__first, __mid, begin());
> 28468:        insert(end(), __mid, __last);
> 28468:      }
> 28468:  }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Integer>
> 28468:  void
> 28468:  _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x,
> 28468:       __true_type)
> 28468:  { _M_fill_insert(__pos, __n, __x); }
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  _M_insert_dispatch(iterator __pos,
> 28468:       _InputIterator __first, _InputIterator __last,
> 28468:       __false_type)
> 28468:  { _M_insert_range(__pos, __first, __last,
> 28468:      std::__iterator_category(__first)); }
> 28468: 
> 28468:       void
> 28468:       _M_fill_insert(iterator __position, size_type __n, bool __x);
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  _M_insert_range(iterator __pos, _InputIterator __first,
> 28468:    _InputIterator __last, std::input_iterator_tag)
> 28468:  {
> 28468:    for (; __first != __last; ++__first)
> 28468:      {
> 28468:        __pos = insert(__pos, *__first);
> 28468:        ++__pos;
> 28468:      }
> 28468:  }
> 28468: 
> 28468:       template<typename _ForwardIterator>
> 28468:  void
> 28468:  _M_insert_range(iterator __position, _ForwardIterator __first,
> 28468:    _ForwardIterator __last, std::forward_iterator_tag);
> 28468: 
> 28468:       void
> 28468:       _M_insert_aux(iterator __position, bool __x);
> 28468: 
> 28468:       size_type
> 28468:       _M_check_len(size_type __n, const char* __s) const
> 28468:       {
> 28468:  if (max_size() - size() < __n)
> 28468:    __throw_length_error((__s));
> 28468: 
> 28468:  const size_type __len = size() + std::max(size(), __n);
> 28468:  return (__len < size() || __len > max_size()) ? max_size() : __len;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_erase_at_end(iterator __pos)
> 28468:       { this->_M_impl._M_finish = __pos; }
> 28468: 
> 28468:       iterator
> 28468:       _M_erase(iterator __pos);
> 28468: 
> 28468:       iterator
> 28468:       _M_erase(iterator __first, iterator __last);
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     struct hash<std::vector<bool, _Alloc>>
> 28468:     : public __hash_base<size_t, std::vector<bool, _Alloc>>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(const std::vector<bool, _Alloc>&) const noexcept;
> 28468:     };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 69 "/usr/include/c++/9/vector" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/vector.tcc" 1 3
> 28468: # 59 "/usr/include/c++/9/bits/vector.tcc" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     void
> 28468:     vector<_Tp, _Alloc>::
> 28468:     reserve(size_type __n)
> 28468:     {
> 28468:       if (__n > this->max_size())
> 28468:  __throw_length_error(("vector::reserve"));
> 28468:       if (this->capacity() < __n)
> 28468:  {
> 28468:    const size_type __old_size = size();
> 28468:    pointer __tmp;
> 28468: 
> 28468:    if (_S_use_relocate())
> 28468:      {
> 28468:        __tmp = this->_M_allocate(__n);
> 28468:        _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
> 28468:      __tmp, _M_get_Tp_allocator());
> 28468:      }
> 28468:    else
> 28468: 
> 28468:      {
> 28468:        __tmp = _M_allocate_and_copy(__n,
> 28468:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_start),
> 28468:   std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish));
> 28468:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
> 28468:        _M_get_Tp_allocator());
> 28468:      }
> 28468:    ;
> 28468:    _M_deallocate(this->_M_impl._M_start,
> 28468:    this->_M_impl._M_end_of_storage
> 28468:    - this->_M_impl._M_start);
> 28468:    this->_M_impl._M_start = __tmp;
> 28468:    this->_M_impl._M_finish = __tmp + __old_size;
> 28468:    this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     template<typename... _Args>
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468: 
> 28468:       vector<_Tp, _Alloc>::
> 28468:       emplace_back(_Args&&... __args)
> 28468:       {
> 28468:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
> 28468:    {
> 28468:      ;
> 28468:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
> 28468:          std::forward<_Args>(__args)...);
> 28468:      ++this->_M_impl._M_finish;
> 28468:      ;
> 28468:    }
> 28468:  else
> 28468:    _M_realloc_insert(end(), std::forward<_Args>(__args)...);
> 28468: 
> 28468: 
> 28468: 
> 28468:       }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     typename vector<_Tp, _Alloc>::iterator
> 28468:     vector<_Tp, _Alloc>::
> 28468: 
> 28468:     insert(const_iterator __position, const value_type& __x)
> 28468: 
> 28468: 
> 28468: 
> 28468:     {
> 28468:       const size_type __n = __position - begin();
> 28468:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
> 28468:  if (__position == end())
> 28468:    {
> 28468:      ;
> 28468:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
> 28468:          __x);
> 28468:      ++this->_M_impl._M_finish;
> 28468:      ;
> 28468:    }
> 28468:  else
> 28468:    {
> 28468: 
> 28468:      const auto __pos = begin() + (__position - cbegin());
> 28468: 
> 28468: 
> 28468:      _Temporary_value __x_copy(this, __x);
> 28468:      _M_insert_aux(__pos, std::move(__x_copy._M_val()));
> 28468: 
> 28468: 
> 28468: 
> 28468:    }
> 28468:       else
> 28468: 
> 28468:  _M_realloc_insert(begin() + (__position - cbegin()), __x);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       return iterator(this->_M_impl._M_start + __n);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     typename vector<_Tp, _Alloc>::iterator
> 28468:     vector<_Tp, _Alloc>::
> 28468:     _M_erase(iterator __position)
> 28468:     {
> 28468:       if (__position + 1 != end())
> 28468:  std::move(__position + 1, end(), __position);
> 28468:       --this->_M_impl._M_finish;
> 28468:       _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish);
> 28468:       ;
> 28468:       return __position;
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     typename vector<_Tp, _Alloc>::iterator
> 28468:     vector<_Tp, _Alloc>::
> 28468:     _M_erase(iterator __first, iterator __last)
> 28468:     {
> 28468:       if (__first != __last)
> 28468:  {
> 28468:    if (__last != end())
> 28468:      std::move(__last, end(), __first);
> 28468:    _M_erase_at_end(__first.base() + (end() - __last));
> 28468:  }
> 28468:       return __first;
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     vector<_Tp, _Alloc>&
> 28468:     vector<_Tp, _Alloc>::
> 28468:     operator=(const vector<_Tp, _Alloc>& __x)
> 28468:     {
> 28468:       if (&__x != this)
> 28468:  {
> 28468:    ;
> 28468: 
> 28468:    if (_Alloc_traits::_S_propagate_on_copy_assign())
> 28468:      {
> 28468:        if (!_Alloc_traits::_S_always_equal()
> 28468:            && _M_get_Tp_allocator() != __x._M_get_Tp_allocator())
> 28468:          {
> 28468: 
> 28468:     this->clear();
> 28468:     _M_deallocate(this->_M_impl._M_start,
> 28468:     this->_M_impl._M_end_of_storage
> 28468:     - this->_M_impl._M_start);
> 28468:     this->_M_impl._M_start = nullptr;
> 28468:     this->_M_impl._M_finish = nullptr;
> 28468:     this->_M_impl._M_end_of_storage = nullptr;
> 28468:   }
> 28468:        std::__alloc_on_copy(_M_get_Tp_allocator(),
> 28468:        __x._M_get_Tp_allocator());
> 28468:      }
> 28468: 
> 28468:    const size_type __xlen = __x.size();
> 28468:    if (__xlen > capacity())
> 28468:      {
> 28468:        pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(),
> 28468:          __x.end());
> 28468:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
> 28468:        _M_get_Tp_allocator());
> 28468:        _M_deallocate(this->_M_impl._M_start,
> 28468:        this->_M_impl._M_end_of_storage
> 28468:        - this->_M_impl._M_start);
> 28468:        this->_M_impl._M_start = __tmp;
> 28468:        this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen;
> 28468:      }
> 28468:    else if (size() >= __xlen)
> 28468:      {
> 28468:        std::_Destroy(std::copy(__x.begin(), __x.end(), begin()),
> 28468:        end(), _M_get_Tp_allocator());
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(),
> 28468:    this->_M_impl._M_start);
> 28468:        std::__uninitialized_copy_a(__x._M_impl._M_start + size(),
> 28468:        __x._M_impl._M_finish,
> 28468:        this->_M_impl._M_finish,
> 28468:        _M_get_Tp_allocator());
> 28468:      }
> 28468:    this->_M_impl._M_finish = this->_M_impl._M_start + __xlen;
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     void
> 28468:     vector<_Tp, _Alloc>::
> 28468:     _M_fill_assign(size_t __n, const value_type& __val)
> 28468:     {
> 28468:       if (__n > capacity())
> 28468:  {
> 28468:    vector __tmp(__n, __val, _M_get_Tp_allocator());
> 28468:    __tmp._M_impl._M_swap_data(this->_M_impl);
> 28468:  }
> 28468:       else if (__n > size())
> 28468:  {
> 28468:    std::fill(begin(), end(), __val);
> 28468:    const size_type __add = __n - size();
> 28468:    ;
> 28468:    this->_M_impl._M_finish =
> 28468:      std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
> 28468:        __add, __val, _M_get_Tp_allocator());
> 28468:    ;
> 28468:  }
> 28468:       else
> 28468:         _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val));
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     template<typename _InputIterator>
> 28468:       void
> 28468:       vector<_Tp, _Alloc>::
> 28468:       _M_assign_aux(_InputIterator __first, _InputIterator __last,
> 28468:       std::input_iterator_tag)
> 28468:       {
> 28468:  pointer __cur(this->_M_impl._M_start);
> 28468:  for (; __first != __last && __cur != this->_M_impl._M_finish;
> 28468:       ++__cur, (void)++__first)
> 28468:    *__cur = *__first;
> 28468:  if (__first == __last)
> 28468:    _M_erase_at_end(__cur);
> 28468:  else
> 28468:    _M_range_insert(end(), __first, __last,
> 28468:      std::__iterator_category(__first));
> 28468:       }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     template<typename _ForwardIterator>
> 28468:       void
> 28468:       vector<_Tp, _Alloc>::
> 28468:       _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       std::forward_iterator_tag)
> 28468:       {
> 28468:  const size_type __len = std::distance(__first, __last);
> 28468: 
> 28468:  if (__len > capacity())
> 28468:    {
> 28468:      _S_check_init_len(__len, _M_get_Tp_allocator());
> 28468:      pointer __tmp(_M_allocate_and_copy(__len, __first, __last));
> 28468:      std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
> 28468:      _M_get_Tp_allocator());
> 28468:      ;
> 28468:      _M_deallocate(this->_M_impl._M_start,
> 28468:      this->_M_impl._M_end_of_storage
> 28468:      - this->_M_impl._M_start);
> 28468:      this->_M_impl._M_start = __tmp;
> 28468:      this->_M_impl._M_finish = this->_M_impl._M_start + __len;
> 28468:      this->_M_impl._M_end_of_storage = this->_M_impl._M_finish;
> 28468:    }
> 28468:  else if (size() >= __len)
> 28468:    _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start));
> 28468:  else
> 28468:    {
> 28468:      _ForwardIterator __mid = __first;
> 28468:      std::advance(__mid, size());
> 28468:      std::copy(__first, __mid, this->_M_impl._M_start);
> 28468:      const size_type __attribute__((__unused__)) __n = __len - size();
> 28468:      ;
> 28468:      this->_M_impl._M_finish =
> 28468:        std::__uninitialized_copy_a(__mid, __last,
> 28468:        this->_M_impl._M_finish,
> 28468:        _M_get_Tp_allocator());
> 28468:      ;
> 28468:    }
> 28468:       }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     auto
> 28468:     vector<_Tp, _Alloc>::
> 28468:     _M_insert_rval(const_iterator __position, value_type&& __v) -> iterator
> 28468:     {
> 28468:       const auto __n = __position - cbegin();
> 28468:       if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
> 28468:  if (__position == cend())
> 28468:    {
> 28468:      ;
> 28468:      _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
> 28468:          std::move(__v));
> 28468:      ++this->_M_impl._M_finish;
> 28468:      ;
> 28468:    }
> 28468:  else
> 28468:    _M_insert_aux(begin() + __n, std::move(__v));
> 28468:       else
> 28468:  _M_realloc_insert(begin() + __n, std::move(__v));
> 28468: 
> 28468:       return iterator(this->_M_impl._M_start + __n);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     template<typename... _Args>
> 28468:       auto
> 28468:       vector<_Tp, _Alloc>::
> 28468:       _M_emplace_aux(const_iterator __position, _Args&&... __args)
> 28468:       -> iterator
> 28468:       {
> 28468:  const auto __n = __position - cbegin();
> 28468:  if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage)
> 28468:    if (__position == cend())
> 28468:      {
> 28468:        ;
> 28468:        _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
> 28468:            std::forward<_Args>(__args)...);
> 28468:        ++this->_M_impl._M_finish;
> 28468:        ;
> 28468:      }
> 28468:    else
> 28468:      {
> 28468: 
> 28468: 
> 28468: 
> 28468:        _Temporary_value __tmp(this, std::forward<_Args>(__args)...);
> 28468:        _M_insert_aux(begin() + __n, std::move(__tmp._M_val()));
> 28468:      }
> 28468:  else
> 28468:    _M_realloc_insert(begin() + __n, std::forward<_Args>(__args)...);
> 28468: 
> 28468:  return iterator(this->_M_impl._M_start + __n);
> 28468:       }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     template<typename _Arg>
> 28468:       void
> 28468:       vector<_Tp, _Alloc>::
> 28468:       _M_insert_aux(iterator __position, _Arg&& __arg)
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     {
> 28468:       ;
> 28468:       _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish,
> 28468:           std::move(*(this->_M_impl._M_finish - 1)));
> 28468:       ++this->_M_impl._M_finish;
> 28468:       ;
> 28468: 
> 28468: 
> 28468: 
> 28468:       std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1)
> 28468: 
> 28468:                                      ;
> 28468: 
> 28468: 
> 28468: 
> 28468:       *__position = std::forward<_Arg>(__arg);
> 28468: 
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     template<typename... _Args>
> 28468:       void
> 28468:       vector<_Tp, _Alloc>::
> 28468:       _M_realloc_insert(iterator __position, _Args&&... __args)
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     {
> 28468:       const size_type __len =
> 28468:  _M_check_len(size_type(1), "vector::_M_realloc_insert");
> 28468:       pointer __old_start = this->_M_impl._M_start;
> 28468:       pointer __old_finish = this->_M_impl._M_finish;
> 28468:       const size_type __elems_before = __position - begin();
> 28468:       pointer __new_start(this->_M_allocate(__len));
> 28468:       pointer __new_finish(__new_start);
> 28468:       try
> 28468:  {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:    _Alloc_traits::construct(this->_M_impl,
> 28468:        __new_start + __elems_before,
> 28468: 
> 28468:        std::forward<_Args>(__args)...);
> 28468: 
> 28468: 
> 28468: 
> 28468:    __new_finish = pointer();
> 28468: 
> 28468: 
> 28468:    if (_S_use_relocate())
> 28468:      {
> 28468:        __new_finish = _S_relocate(__old_start, __position.base(),
> 28468:       __new_start, _M_get_Tp_allocator());
> 28468: 
> 28468:        ++__new_finish;
> 28468: 
> 28468:        __new_finish = _S_relocate(__position.base(), __old_finish,
> 28468:       __new_finish, _M_get_Tp_allocator());
> 28468:      }
> 28468:    else
> 28468: 
> 28468:      {
> 28468:        __new_finish
> 28468:   = std::__uninitialized_move_if_noexcept_a
> 28468:   (__old_start, __position.base(),
> 28468:    __new_start, _M_get_Tp_allocator());
> 28468: 
> 28468:        ++__new_finish;
> 28468: 
> 28468:        __new_finish
> 28468:   = std::__uninitialized_move_if_noexcept_a
> 28468:   (__position.base(), __old_finish,
> 28468:    __new_finish, _M_get_Tp_allocator());
> 28468:      }
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    if (!__new_finish)
> 28468:      _Alloc_traits::destroy(this->_M_impl,
> 28468:        __new_start + __elems_before);
> 28468:    else
> 28468:      std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator());
> 28468:    _M_deallocate(__new_start, __len);
> 28468:    throw;
> 28468:  }
> 28468: 
> 28468:       if (!_S_use_relocate())
> 28468: 
> 28468:  std::_Destroy(__old_start, __old_finish, _M_get_Tp_allocator());
> 28468:       ;
> 28468:       _M_deallocate(__old_start,
> 28468:       this->_M_impl._M_end_of_storage - __old_start);
> 28468:       this->_M_impl._M_start = __new_start;
> 28468:       this->_M_impl._M_finish = __new_finish;
> 28468:       this->_M_impl._M_end_of_storage = __new_start + __len;
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     void
> 28468:     vector<_Tp, _Alloc>::
> 28468:     _M_fill_insert(iterator __position, size_type __n, const value_type& __x)
> 28468:     {
> 28468:       if (__n != 0)
> 28468:  {
> 28468:    if (size_type(this->_M_impl._M_end_of_storage
> 28468:    - this->_M_impl._M_finish) >= __n)
> 28468:      {
> 28468: 
> 28468: 
> 28468: 
> 28468:        _Temporary_value __tmp(this, __x);
> 28468:        value_type& __x_copy = __tmp._M_val();
> 28468: 
> 28468:        const size_type __elems_after = end() - __position;
> 28468:        pointer __old_finish(this->_M_impl._M_finish);
> 28468:        if (__elems_after > __n)
> 28468:   {
> 28468:     ;
> 28468:     std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
> 28468:            this->_M_impl._M_finish,
> 28468:            this->_M_impl._M_finish,
> 28468:            _M_get_Tp_allocator());
> 28468:     this->_M_impl._M_finish += __n;
> 28468:     ;
> 28468:     std::move_backward(__position.base(), __old_finish - __n, __old_finish)
> 28468:                                         ;
> 28468:     std::fill(__position.base(), __position.base() + __n,
> 28468:        __x_copy);
> 28468:   }
> 28468:        else
> 28468:   {
> 28468:     ;
> 28468:     this->_M_impl._M_finish =
> 28468:       std::__uninitialized_fill_n_a(this->_M_impl._M_finish,
> 28468:         __n - __elems_after,
> 28468:         __x_copy,
> 28468:         _M_get_Tp_allocator());
> 28468:     ;
> 28468:     std::__uninitialized_move_a(__position.base(), __old_finish,
> 28468:            this->_M_impl._M_finish,
> 28468:            _M_get_Tp_allocator());
> 28468:     this->_M_impl._M_finish += __elems_after;
> 28468:     ;
> 28468:     std::fill(__position.base(), __old_finish, __x_copy);
> 28468:   }
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        const size_type __len =
> 28468:   _M_check_len(__n, "vector::_M_fill_insert");
> 28468:        const size_type __elems_before = __position - begin();
> 28468:        pointer __new_start(this->_M_allocate(__len));
> 28468:        pointer __new_finish(__new_start);
> 28468:        try
> 28468:   {
> 28468: 
> 28468:     std::__uninitialized_fill_n_a(__new_start + __elems_before,
> 28468:       __n, __x,
> 28468:       _M_get_Tp_allocator());
> 28468:     __new_finish = pointer();
> 28468: 
> 28468:     __new_finish
> 28468:       = std::__uninitialized_move_if_noexcept_a
> 28468:       (this->_M_impl._M_start, __position.base(),
> 28468:        __new_start, _M_get_Tp_allocator());
> 28468: 
> 28468:     __new_finish += __n;
> 28468: 
> 28468:     __new_finish
> 28468:       = std::__uninitialized_move_if_noexcept_a
> 28468:       (__position.base(), this->_M_impl._M_finish,
> 28468:        __new_finish, _M_get_Tp_allocator());
> 28468:   }
> 28468:        catch(...)
> 28468:   {
> 28468:     if (!__new_finish)
> 28468:       std::_Destroy(__new_start + __elems_before,
> 28468:       __new_start + __elems_before + __n,
> 28468:       _M_get_Tp_allocator());
> 28468:     else
> 28468:       std::_Destroy(__new_start, __new_finish,
> 28468:       _M_get_Tp_allocator());
> 28468:     _M_deallocate(__new_start, __len);
> 28468:     throw;
> 28468:   }
> 28468:        std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
> 28468:        _M_get_Tp_allocator());
> 28468:        ;
> 28468:        _M_deallocate(this->_M_impl._M_start,
> 28468:        this->_M_impl._M_end_of_storage
> 28468:        - this->_M_impl._M_start);
> 28468:        this->_M_impl._M_start = __new_start;
> 28468:        this->_M_impl._M_finish = __new_finish;
> 28468:        this->_M_impl._M_end_of_storage = __new_start + __len;
> 28468:      }
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     void
> 28468:     vector<_Tp, _Alloc>::
> 28468:     _M_default_append(size_type __n)
> 28468:     {
> 28468:       if (__n != 0)
> 28468:  {
> 28468:    const size_type __size = size();
> 28468:    size_type __navail = size_type(this->_M_impl._M_end_of_storage
> 28468:       - this->_M_impl._M_finish);
> 28468: 
> 28468:    if (__size > max_size() || __navail > max_size() - __size)
> 28468:      __builtin_unreachable();
> 28468: 
> 28468:    if (__navail >= __n)
> 28468:      {
> 28468:        ;
> 28468:        this->_M_impl._M_finish =
> 28468:   std::__uninitialized_default_n_a(this->_M_impl._M_finish,
> 28468:        __n, _M_get_Tp_allocator());
> 28468:        ;
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        const size_type __len =
> 28468:   _M_check_len(__n, "vector::_M_default_append");
> 28468:        pointer __new_start(this->_M_allocate(__len));
> 28468:        if (_S_use_relocate())
> 28468:   {
> 28468:     try
> 28468:       {
> 28468:         std::__uninitialized_default_n_a(__new_start + __size,
> 28468:          __n, _M_get_Tp_allocator());
> 28468:       }
> 28468:     catch(...)
> 28468:       {
> 28468:         _M_deallocate(__new_start, __len);
> 28468:         throw;
> 28468:       }
> 28468:     _S_relocate(this->_M_impl._M_start, this->_M_impl._M_finish,
> 28468:          __new_start, _M_get_Tp_allocator());
> 28468:   }
> 28468:        else
> 28468:   {
> 28468:     pointer __destroy_from = pointer();
> 28468:     try
> 28468:       {
> 28468:         std::__uninitialized_default_n_a(__new_start + __size,
> 28468:          __n, _M_get_Tp_allocator());
> 28468:         __destroy_from = __new_start + __size;
> 28468:         std::__uninitialized_move_if_noexcept_a(
> 28468:          this->_M_impl._M_start, this->_M_impl._M_finish,
> 28468:          __new_start, _M_get_Tp_allocator());
> 28468:       }
> 28468:     catch(...)
> 28468:       {
> 28468:         if (__destroy_from)
> 28468:    std::_Destroy(__destroy_from, __destroy_from + __n,
> 28468:           _M_get_Tp_allocator());
> 28468:         _M_deallocate(__new_start, __len);
> 28468:         throw;
> 28468:       }
> 28468:     std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
> 28468:     _M_get_Tp_allocator());
> 28468:   }
> 28468:        ;
> 28468:        _M_deallocate(this->_M_impl._M_start,
> 28468:        this->_M_impl._M_end_of_storage
> 28468:        - this->_M_impl._M_start);
> 28468:        this->_M_impl._M_start = __new_start;
> 28468:        this->_M_impl._M_finish = __new_start + __size + __n;
> 28468:        this->_M_impl._M_end_of_storage = __new_start + __len;
> 28468:      }
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     bool
> 28468:     vector<_Tp, _Alloc>::
> 28468:     _M_shrink_to_fit()
> 28468:     {
> 28468:       if (capacity() == size())
> 28468:  return false;
> 28468:       ;
> 28468:       return std::__shrink_to_fit_aux<vector>::_S_do_it(*this);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     template<typename _InputIterator>
> 28468:       void
> 28468:       vector<_Tp, _Alloc>::
> 28468:       _M_range_insert(iterator __pos, _InputIterator __first,
> 28468:         _InputIterator __last, std::input_iterator_tag)
> 28468:       {
> 28468:  if (__pos == end())
> 28468:    {
> 28468:      for (; __first != __last; ++__first)
> 28468:        insert(end(), *__first);
> 28468:    }
> 28468:  else if (__first != __last)
> 28468:    {
> 28468:      vector __tmp(__first, __last, _M_get_Tp_allocator());
> 28468:      insert(__pos,
> 28468:      std::make_move_iterator(__tmp.begin()),
> 28468:      std::make_move_iterator(__tmp.end()));
> 28468:    }
> 28468:       }
> 28468: 
> 28468:   template<typename _Tp, typename _Alloc>
> 28468:     template<typename _ForwardIterator>
> 28468:       void
> 28468:       vector<_Tp, _Alloc>::
> 28468:       _M_range_insert(iterator __position, _ForwardIterator __first,
> 28468:         _ForwardIterator __last, std::forward_iterator_tag)
> 28468:       {
> 28468:  if (__first != __last)
> 28468:    {
> 28468:      const size_type __n = std::distance(__first, __last);
> 28468:      if (size_type(this->_M_impl._M_end_of_storage
> 28468:      - this->_M_impl._M_finish) >= __n)
> 28468:        {
> 28468:   const size_type __elems_after = end() - __position;
> 28468:   pointer __old_finish(this->_M_impl._M_finish);
> 28468:   if (__elems_after > __n)
> 28468:     {
> 28468:       ;
> 28468:       std::__uninitialized_move_a(this->_M_impl._M_finish - __n,
> 28468:       this->_M_impl._M_finish,
> 28468:       this->_M_impl._M_finish,
> 28468:       _M_get_Tp_allocator());
> 28468:       this->_M_impl._M_finish += __n;
> 28468:       ;
> 28468:       std::move_backward(__position.base(), __old_finish - __n, __old_finish)
> 28468:                                           ;
> 28468:       std::copy(__first, __last, __position);
> 28468:     }
> 28468:   else
> 28468:     {
> 28468:       _ForwardIterator __mid = __first;
> 28468:       std::advance(__mid, __elems_after);
> 28468:       ;
> 28468:       std::__uninitialized_copy_a(__mid, __last,
> 28468:       this->_M_impl._M_finish,
> 28468:       _M_get_Tp_allocator());
> 28468:       this->_M_impl._M_finish += __n - __elems_after;
> 28468:       ;
> 28468:       std::__uninitialized_move_a(__position.base(),
> 28468:       __old_finish,
> 28468:       this->_M_impl._M_finish,
> 28468:       _M_get_Tp_allocator());
> 28468:       this->_M_impl._M_finish += __elems_after;
> 28468:       ;
> 28468:       std::copy(__first, __mid, __position);
> 28468:     }
> 28468:        }
> 28468:      else
> 28468:        {
> 28468:   const size_type __len =
> 28468:     _M_check_len(__n, "vector::_M_range_insert");
> 28468:   pointer __new_start(this->_M_allocate(__len));
> 28468:   pointer __new_finish(__new_start);
> 28468:   try
> 28468:     {
> 28468:       __new_finish
> 28468:         = std::__uninitialized_move_if_noexcept_a
> 28468:         (this->_M_impl._M_start, __position.base(),
> 28468:          __new_start, _M_get_Tp_allocator());
> 28468:       __new_finish
> 28468:         = std::__uninitialized_copy_a(__first, __last,
> 28468:           __new_finish,
> 28468:           _M_get_Tp_allocator());
> 28468:       __new_finish
> 28468:         = std::__uninitialized_move_if_noexcept_a
> 28468:         (__position.base(), this->_M_impl._M_finish,
> 28468:          __new_finish, _M_get_Tp_allocator());
> 28468:     }
> 28468:   catch(...)
> 28468:     {
> 28468:       std::_Destroy(__new_start, __new_finish,
> 28468:       _M_get_Tp_allocator());
> 28468:       _M_deallocate(__new_start, __len);
> 28468:       throw;
> 28468:     }
> 28468:   std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish,
> 28468:          _M_get_Tp_allocator());
> 28468:   ;
> 28468:   _M_deallocate(this->_M_impl._M_start,
> 28468:          this->_M_impl._M_end_of_storage
> 28468:          - this->_M_impl._M_start);
> 28468:   this->_M_impl._M_start = __new_start;
> 28468:   this->_M_impl._M_finish = __new_finish;
> 28468:   this->_M_impl._M_end_of_storage = __new_start + __len;
> 28468:        }
> 28468:    }
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     void
> 28468:     vector<bool, _Alloc>::
> 28468:     _M_reallocate(size_type __n)
> 28468:     {
> 28468:       _Bit_pointer __q = this->_M_allocate(__n);
> 28468:       iterator __start(std::__addressof(*__q), 0);
> 28468:       iterator __finish(_M_copy_aligned(begin(), end(), __start));
> 28468:       this->_M_deallocate();
> 28468:       this->_M_impl._M_start = __start;
> 28468:       this->_M_impl._M_finish = __finish;
> 28468:       this->_M_impl._M_end_of_storage = __q + _S_nword(__n);
> 28468:     }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     void
> 28468:     vector<bool, _Alloc>::
> 28468:     _M_fill_insert(iterator __position, size_type __n, bool __x)
> 28468:     {
> 28468:       if (__n == 0)
> 28468:  return;
> 28468:       if (capacity() - size() >= __n)
> 28468:  {
> 28468:    std::copy_backward(__position, end(),
> 28468:         this->_M_impl._M_finish + difference_type(__n));
> 28468:    std::fill(__position, __position + difference_type(__n), __x);
> 28468:    this->_M_impl._M_finish += difference_type(__n);
> 28468:  }
> 28468:       else
> 28468:  {
> 28468:    const size_type __len =
> 28468:      _M_check_len(__n, "vector<bool>::_M_fill_insert");
> 28468:    _Bit_pointer __q = this->_M_allocate(__len);
> 28468:    iterator __start(std::__addressof(*__q), 0);
> 28468:    iterator __i = _M_copy_aligned(begin(), __position, __start);
> 28468:    std::fill(__i, __i + difference_type(__n), __x);
> 28468:    iterator __finish = std::copy(__position, end(),
> 28468:      __i + difference_type(__n));
> 28468:    this->_M_deallocate();
> 28468:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
> 28468:    this->_M_impl._M_start = __start;
> 28468:    this->_M_impl._M_finish = __finish;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     template<typename _ForwardIterator>
> 28468:       void
> 28468:       vector<bool, _Alloc>::
> 28468:       _M_insert_range(iterator __position, _ForwardIterator __first,
> 28468:         _ForwardIterator __last, std::forward_iterator_tag)
> 28468:       {
> 28468:  if (__first != __last)
> 28468:    {
> 28468:      size_type __n = std::distance(__first, __last);
> 28468:      if (capacity() - size() >= __n)
> 28468:        {
> 28468:   std::copy_backward(__position, end(),
> 28468:        this->_M_impl._M_finish
> 28468:        + difference_type(__n));
> 28468:   std::copy(__first, __last, __position);
> 28468:   this->_M_impl._M_finish += difference_type(__n);
> 28468:        }
> 28468:      else
> 28468:        {
> 28468:   const size_type __len =
> 28468:     _M_check_len(__n, "vector<bool>::_M_insert_range");
> 28468:   _Bit_pointer __q = this->_M_allocate(__len);
> 28468:   iterator __start(std::__addressof(*__q), 0);
> 28468:   iterator __i = _M_copy_aligned(begin(), __position, __start);
> 28468:   __i = std::copy(__first, __last, __i);
> 28468:   iterator __finish = std::copy(__position, end(), __i);
> 28468:   this->_M_deallocate();
> 28468:   this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
> 28468:   this->_M_impl._M_start = __start;
> 28468:   this->_M_impl._M_finish = __finish;
> 28468:        }
> 28468:    }
> 28468:       }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     void
> 28468:     vector<bool, _Alloc>::
> 28468:     _M_insert_aux(iterator __position, bool __x)
> 28468:     {
> 28468:       if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr())
> 28468:  {
> 28468:    std::copy_backward(__position, this->_M_impl._M_finish,
> 28468:         this->_M_impl._M_finish + 1);
> 28468:    *__position = __x;
> 28468:    ++this->_M_impl._M_finish;
> 28468:  }
> 28468:       else
> 28468:  {
> 28468:    const size_type __len =
> 28468:      _M_check_len(size_type(1), "vector<bool>::_M_insert_aux");
> 28468:    _Bit_pointer __q = this->_M_allocate(__len);
> 28468:    iterator __start(std::__addressof(*__q), 0);
> 28468:    iterator __i = _M_copy_aligned(begin(), __position, __start);
> 28468:    *__i++ = __x;
> 28468:    iterator __finish = std::copy(__position, end(), __i);
> 28468:    this->_M_deallocate();
> 28468:    this->_M_impl._M_end_of_storage = __q + _S_nword(__len);
> 28468:    this->_M_impl._M_start = __start;
> 28468:    this->_M_impl._M_finish = __finish;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     typename vector<bool, _Alloc>::iterator
> 28468:     vector<bool, _Alloc>::
> 28468:     _M_erase(iterator __position)
> 28468:     {
> 28468:       if (__position + 1 != end())
> 28468:         std::copy(__position + 1, end(), __position);
> 28468:       --this->_M_impl._M_finish;
> 28468:       return __position;
> 28468:     }
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     typename vector<bool, _Alloc>::iterator
> 28468:     vector<bool, _Alloc>::
> 28468:     _M_erase(iterator __first, iterator __last)
> 28468:     {
> 28468:       if (__first != __last)
> 28468:  _M_erase_at_end(std::copy(__last, end(), __first));
> 28468:       return __first;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     bool
> 28468:     vector<bool, _Alloc>::
> 28468:     _M_shrink_to_fit()
> 28468:     {
> 28468:       if (capacity() - size() < int(_S_word_bit))
> 28468:  return false;
> 28468:       try
> 28468:  {
> 28468:    _M_reallocate(size());
> 28468:    return true;
> 28468:  }
> 28468:       catch(...)
> 28468:  { return false; }
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _Alloc>
> 28468:     size_t
> 28468:     hash<std::vector<bool, _Alloc>>::
> 28468:     operator()(const std::vector<bool, _Alloc>& __b) const noexcept
> 28468:     {
> 28468:       size_t __hash = 0;
> 28468:       using std::_S_word_bit;
> 28468:       using std::_Bit_type;
> 28468: 
> 28468:       const size_t __words = __b.size() / _S_word_bit;
> 28468:       if (__words)
> 28468:  {
> 28468:    const size_t __clength = __words * sizeof(_Bit_type);
> 28468:    __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength);
> 28468:  }
> 28468: 
> 28468:       const size_t __extrabits = __b.size() % _S_word_bit;
> 28468:       if (__extrabits)
> 28468:  {
> 28468:    _Bit_type __hiword = *__b._M_impl._M_finish._M_p;
> 28468:    __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits);
> 28468: 
> 28468:    const size_t __clength
> 28468:      = (__extrabits + 8 - 1) / 8;
> 28468:    if (__words)
> 28468:      __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash);
> 28468:    else
> 28468:      __hash = std::_Hash_impl::hash(&__hiword, __clength);
> 28468:  }
> 28468: 
> 28468:       return __hash;
> 28468:     }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 73 "/usr/include/c++/9/vector" 2 3
> 28468: # 16 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle_fwd.h" 2
> 28468: 
> 28468: 
> 28468: # 17 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle_fwd.h"
> 28468: namespace HepMC3 {
> 28468: 
> 28468: class GenParticle;
> 28468: 
> 28468: using GenParticlePtr = std::shared_ptr<GenParticle>;
> 28468: using ConstGenParticlePtr = std::shared_ptr<const GenParticle>;
> 28468: 
> 28468: using GenParticles = std::vector<GenParticlePtr>;
> 28468: using ConstGenParticles = std::vector<ConstGenParticlePtr>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: template<typename T>
> 28468: using GenParticles_type = typename std::conditional<std::is_const<typename T::element_type>::value, ConstGenParticles, GenParticles>::type;
> 28468: 
> 28468: }
> 28468: # 21 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle.h" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/GenVertex_fwd.h" 1
> 28468: # 16 "/<<PKGBUILDDIR>>/include/HepMC3/GenVertex_fwd.h"
> 28468: namespace HepMC3 {
> 28468: 
> 28468: class GenVertex;
> 28468: 
> 28468: using GenVertexPtr = std::shared_ptr<GenVertex>;
> 28468: using ConstGenVertexPtr = std::shared_ptr<const GenVertex>;
> 28468: 
> 28468: template<typename T>
> 28468: using GenVertex_type = typename std::conditional<std::is_const<typename T::element_type>::value, ConstGenVertexPtr, GenVertexPtr>::type;
> 28468: 
> 28468: }
> 28468: # 22 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle.h" 2
> 28468: 
> 28468: namespace HepMC3 {
> 28468: 
> 28468: 
> 28468: using namespace std;
> 28468: 
> 28468: class GenEvent;
> 28468: class Attribute;
> 28468: 
> 28468: class GenParticle : public std::enable_shared_from_this<GenParticle> {
> 28468: 
> 28468:     friend class GenVertex;
> 28468:     friend class GenEvent;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: public:
> 28468: 
> 28468:     GenParticle( const FourVector &momentum = FourVector::ZERO_VECTOR(), int pid = 0, int status = 0 );
> 28468: 
> 28468: 
> 28468:     GenParticle( const GenParticleData &data );
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: public:
> 28468: 
> 28468:     bool in_event() const { return (bool)(m_event); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: public:
> 28468: 
> 28468:     GenEvent* parent_event() { return m_event; }
> 28468:     const GenEvent* parent_event() const { return m_event; }
> 28468:     int id() const { return m_id; }
> 28468:     const GenParticleData& data() const { return m_data; }
> 28468: 
> 28468: 
> 28468:     ConstGenVertexPtr production_vertex() const;
> 28468:     ConstGenVertexPtr end_vertex() const;
> 28468: 
> 28468:     GenVertexPtr production_vertex();
> 28468:     GenVertexPtr end_vertex();
> 28468: 
> 28468: 
> 28468: 
> 28468:     vector<GenParticlePtr> parents();
> 28468: 
> 28468: 
> 28468: 
> 28468:     vector<ConstGenParticlePtr> parents() const;
> 28468: 
> 28468: 
> 28468: 
> 28468:     vector<GenParticlePtr> children();
> 28468: 
> 28468: 
> 28468: 
> 28468:     vector<ConstGenParticlePtr> children() const;
> 28468: 
> 28468:     int pid() const { return m_data.pid; }
> 28468:     int abs_pid() const { return abs(pid()); }
> 28468:     int status() const { return m_data.status; }
> 28468:     const FourVector& momentum() const { return m_data.momentum; }
> 28468:     bool is_generated_mass_set() const { return m_data.is_mass_set; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     double generated_mass() const;
> 28468: 
> 28468: 
> 28468:     void set_pid(int pid);
> 28468:     void set_status(int status);
> 28468:     void set_momentum(const FourVector& momentum);
> 28468:     void set_generated_mass(double m);
> 28468:     void unset_generated_mass();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     bool add_attribute(const string& name, shared_ptr<Attribute> att);
> 28468: 
> 28468: 
> 28468:     vector<string> attribute_names() const;
> 28468: 
> 28468: 
> 28468:     void remove_attribute(const string& name);
> 28468: 
> 28468: 
> 28468:     template<class T>
> 28468:     shared_ptr<T> attribute(const string& name) const;
> 28468: 
> 28468: 
> 28468:     string attribute_as_string(const string& name) const;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int pdg_id() const { return pid(); }
> 28468: 
> 28468: 
> 28468: 
> 28468:     void set_pdg_id(const int& pidin) { set_pid(pidin); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: private:
> 28468:     GenEvent *m_event;
> 28468:     int m_id;
> 28468:     GenParticleData m_data;
> 28468: 
> 28468:     weak_ptr<GenVertex> m_production_vertex;
> 28468:     weak_ptr<GenVertex> m_end_vertex;
> 28468: 
> 28468: };
> 28468: 
> 28468: }
> 28468: 
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h" 1
> 28468: # 13 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h"
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/Units.h" 1
> 28468: # 19 "/<<PKGBUILDDIR>>/include/HepMC3/Units.h"
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/Errors.h" 1
> 28468: # 13 "/<<PKGBUILDDIR>>/include/HepMC3/Errors.h"
> 28468: # 1 "/usr/include/c++/9/iostream" 1 3
> 28468: # 36 "/usr/include/c++/9/iostream" 3
> 28468:        
> 28468: # 37 "/usr/include/c++/9/iostream" 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/ostream" 1 3
> 28468: # 36 "/usr/include/c++/9/ostream" 3
> 28468:        
> 28468: # 37 "/usr/include/c++/9/ostream" 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/ios" 1 3
> 28468: # 36 "/usr/include/c++/9/ios" 3
> 28468:        
> 28468: # 37 "/usr/include/c++/9/ios" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/ios_base.h" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/locale_classes.h" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 43 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 62 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:   class locale
> 28468:   {
> 28468:   public:
> 28468: 
> 28468: 
> 28468:     typedef int category;
> 28468: 
> 28468: 
> 28468:     class facet;
> 28468:     class id;
> 28468:     class _Impl;
> 28468: 
> 28468:     friend class facet;
> 28468:     friend class _Impl;
> 28468: 
> 28468:     template<typename _Facet>
> 28468:       friend bool
> 28468:       has_facet(const locale&) throw();
> 28468: 
> 28468:     template<typename _Facet>
> 28468:       friend const _Facet&
> 28468:       use_facet(const locale&);
> 28468: 
> 28468:     template<typename _Cache>
> 28468:       friend struct __use_cache;
> 28468: # 98 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     static const category none = 0;
> 28468:     static const category ctype = 1L << 0;
> 28468:     static const category numeric = 1L << 1;
> 28468:     static const category collate = 1L << 2;
> 28468:     static const category time = 1L << 3;
> 28468:     static const category monetary = 1L << 4;
> 28468:     static const category messages = 1L << 5;
> 28468:     static const category all = (ctype | numeric | collate |
> 28468:         time | monetary | messages);
> 28468: # 117 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     locale() throw();
> 28468: # 126 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     locale(const locale& __other) throw();
> 28468: # 136 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     explicit
> 28468:     locale(const char* __s);
> 28468: # 151 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     locale(const locale& __base, const char* __s, category __cat);
> 28468: # 162 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     explicit
> 28468:     locale(const std::string& __s) : locale(__s.c_str()) { }
> 28468: # 177 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     locale(const locale& __base, const std::string& __s, category __cat)
> 28468:     : locale(__base, __s.c_str(), __cat) { }
> 28468: # 192 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     locale(const locale& __base, const locale& __add, category __cat);
> 28468: # 205 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     template<typename _Facet>
> 28468:       locale(const locale& __other, _Facet* __f);
> 28468: 
> 28468: 
> 28468:     ~locale() throw();
> 28468: # 219 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     const locale&
> 28468:     operator=(const locale& __other) throw();
> 28468: # 234 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     template<typename _Facet>
> 28468:       locale
> 28468:       combine(const locale& __other) const;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     __attribute ((__abi_tag__ ("cxx11")))
> 28468:     string
> 28468:     name() const;
> 28468: # 254 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     bool
> 28468:     operator==(const locale& __other) const throw();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     bool
> 28468:     operator!=(const locale& __other) const throw()
> 28468:     { return !(this->operator==(__other)); }
> 28468: # 282 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     template<typename _Char, typename _Traits, typename _Alloc>
> 28468:       bool
> 28468:       operator()(const basic_string<_Char, _Traits, _Alloc>& __s1,
> 28468:    const basic_string<_Char, _Traits, _Alloc>& __s2) const;
> 28468: # 298 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     static locale
> 28468:     global(const locale& __loc);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const locale&
> 28468:     classic();
> 28468: 
> 28468:   private:
> 28468: 
> 28468:     _Impl* _M_impl;
> 28468: 
> 28468: 
> 28468:     static _Impl* _S_classic;
> 28468: 
> 28468: 
> 28468:     static _Impl* _S_global;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const char* const* const _S_categories;
> 28468: # 333 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     enum { _S_categories_size = 6 + 6 };
> 28468: 
> 28468: 
> 28468:     static __gthread_once_t _S_once;
> 28468: 
> 28468: 
> 28468:     explicit
> 28468:     locale(_Impl*) throw();
> 28468: 
> 28468:     static void
> 28468:     _S_initialize();
> 28468: 
> 28468:     static void
> 28468:     _S_initialize_once() throw();
> 28468: 
> 28468:     static category
> 28468:     _S_normalize_category(category);
> 28468: 
> 28468:     void
> 28468:     _M_coalesce(const locale& __base, const locale& __add, category __cat);
> 28468: 
> 28468: 
> 28468:     static const id* const _S_twinned_facets[];
> 28468: 
> 28468:   };
> 28468: # 371 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:   class locale::facet
> 28468:   {
> 28468:   private:
> 28468:     friend class locale;
> 28468:     friend class locale::_Impl;
> 28468: 
> 28468:     mutable _Atomic_word _M_refcount;
> 28468: 
> 28468: 
> 28468:     static __c_locale _S_c_locale;
> 28468: 
> 28468: 
> 28468:     static const char _S_c_name[2];
> 28468: 
> 28468: 
> 28468:     static __gthread_once_t _S_once;
> 28468: 
> 28468: 
> 28468:     static void
> 28468:     _S_initialize_once();
> 28468: 
> 28468:   protected:
> 28468: # 402 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     explicit
> 28468:     facet(size_t __refs = 0) throw() : _M_refcount(__refs ? 1 : 0)
> 28468:     { }
> 28468: 
> 28468: 
> 28468:     virtual
> 28468:     ~facet();
> 28468: 
> 28468:     static void
> 28468:     _S_create_c_locale(__c_locale& __cloc, const char* __s,
> 28468:          __c_locale __old = 0);
> 28468: 
> 28468:     static __c_locale
> 28468:     _S_clone_c_locale(__c_locale& __cloc) throw();
> 28468: 
> 28468:     static void
> 28468:     _S_destroy_c_locale(__c_locale& __cloc);
> 28468: 
> 28468:     static __c_locale
> 28468:     _S_lc_ctype_c_locale(__c_locale __cloc, const char* __s);
> 28468: 
> 28468: 
> 28468: 
> 28468:     static __c_locale
> 28468:     _S_get_c_locale();
> 28468: 
> 28468:     __attribute__ ((__const__)) static const char*
> 28468:     _S_get_c_name() throw();
> 28468: # 438 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:     facet(const facet&) = delete;
> 28468: 
> 28468:     facet&
> 28468:     operator=(const facet&) = delete;
> 28468: 
> 28468: 
> 28468:   private:
> 28468:     void
> 28468:     _M_add_reference() const throw()
> 28468:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
> 28468: 
> 28468:     void
> 28468:     _M_remove_reference() const throw()
> 28468:     {
> 28468: 
> 28468:       ;
> 28468:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
> 28468:  {
> 28468:           ;
> 28468:    try
> 28468:      { delete this; }
> 28468:    catch(...)
> 28468:      { }
> 28468:  }
> 28468:     }
> 28468: 
> 28468:     const facet* _M_sso_shim(const id*) const;
> 28468:     const facet* _M_cow_shim(const id*) const;
> 28468: 
> 28468:   protected:
> 28468:     class __shim;
> 28468:   };
> 28468: # 483 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:   class locale::id
> 28468:   {
> 28468:   private:
> 28468:     friend class locale;
> 28468:     friend class locale::_Impl;
> 28468: 
> 28468:     template<typename _Facet>
> 28468:       friend const _Facet&
> 28468:       use_facet(const locale&);
> 28468: 
> 28468:     template<typename _Facet>
> 28468:       friend bool
> 28468:       has_facet(const locale&) throw();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     mutable size_t _M_index;
> 28468: 
> 28468: 
> 28468:     static _Atomic_word _S_refcount;
> 28468: 
> 28468:     void
> 28468:     operator=(const id&);
> 28468: 
> 28468:     id(const id&);
> 28468: 
> 28468:   public:
> 28468: 
> 28468: 
> 28468: 
> 28468:     id() { }
> 28468: 
> 28468:     size_t
> 28468:     _M_id() const throw();
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468:   class locale::_Impl
> 28468:   {
> 28468:   public:
> 28468: 
> 28468:     friend class locale;
> 28468:     friend class locale::facet;
> 28468: 
> 28468:     template<typename _Facet>
> 28468:       friend bool
> 28468:       has_facet(const locale&) throw();
> 28468: 
> 28468:     template<typename _Facet>
> 28468:       friend const _Facet&
> 28468:       use_facet(const locale&);
> 28468: 
> 28468:     template<typename _Cache>
> 28468:       friend struct __use_cache;
> 28468: 
> 28468:   private:
> 28468: 
> 28468:     _Atomic_word _M_refcount;
> 28468:     const facet** _M_facets;
> 28468:     size_t _M_facets_size;
> 28468:     const facet** _M_caches;
> 28468:     char** _M_names;
> 28468:     static const locale::id* const _S_id_ctype[];
> 28468:     static const locale::id* const _S_id_numeric[];
> 28468:     static const locale::id* const _S_id_collate[];
> 28468:     static const locale::id* const _S_id_time[];
> 28468:     static const locale::id* const _S_id_monetary[];
> 28468:     static const locale::id* const _S_id_messages[];
> 28468:     static const locale::id* const* const _S_facet_categories[];
> 28468: 
> 28468:     void
> 28468:     _M_add_reference() throw()
> 28468:     { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
> 28468: 
> 28468:     void
> 28468:     _M_remove_reference() throw()
> 28468:     {
> 28468: 
> 28468:       ;
> 28468:       if (__gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1) == 1)
> 28468:  {
> 28468:           ;
> 28468:    try
> 28468:      { delete this; }
> 28468:    catch(...)
> 28468:      { }
> 28468:  }
> 28468:     }
> 28468: 
> 28468:     _Impl(const _Impl&, size_t);
> 28468:     _Impl(const char*, size_t);
> 28468:     _Impl(size_t) throw();
> 28468: 
> 28468:    ~_Impl() throw();
> 28468: 
> 28468:     _Impl(const _Impl&);
> 28468: 
> 28468:     void
> 28468:     operator=(const _Impl&);
> 28468: 
> 28468:     bool
> 28468:     _M_check_same_name()
> 28468:     {
> 28468:       bool __ret = true;
> 28468:       if (_M_names[1])
> 28468: 
> 28468:  for (size_t __i = 0; __ret && __i < _S_categories_size - 1; ++__i)
> 28468:    __ret = __builtin_strcmp(_M_names[__i], _M_names[__i + 1]) == 0;
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:     void
> 28468:     _M_replace_categories(const _Impl*, category);
> 28468: 
> 28468:     void
> 28468:     _M_replace_category(const _Impl*, const locale::id* const*);
> 28468: 
> 28468:     void
> 28468:     _M_replace_facet(const _Impl*, const locale::id*);
> 28468: 
> 28468:     void
> 28468:     _M_install_facet(const locale::id*, const facet*);
> 28468: 
> 28468:     template<typename _Facet>
> 28468:       void
> 28468:       _M_init_facet(_Facet* __facet)
> 28468:       { _M_install_facet(&_Facet::id, __facet); }
> 28468: 
> 28468:     template<typename _Facet>
> 28468:       void
> 28468:       _M_init_facet_unchecked(_Facet* __facet)
> 28468:       {
> 28468:  __facet->_M_add_reference();
> 28468:  _M_facets[_Facet::id._M_id()] = __facet;
> 28468:       }
> 28468: 
> 28468:     void
> 28468:     _M_install_cache(const facet*, size_t);
> 28468: 
> 28468:     void _M_init_extra(facet**);
> 28468:     void _M_init_extra(void*, void*, const char*, const char*);
> 28468:   };
> 28468: # 641 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:   template<typename _CharT>
> 28468:     class __cxx11:: collate : public locale::facet
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef basic_string<_CharT> string_type;
> 28468: 
> 28468: 
> 28468:     protected:
> 28468: 
> 28468: 
> 28468:       __c_locale _M_c_locale_collate;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       static locale::id id;
> 28468: # 668 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:       explicit
> 28468:       collate(size_t __refs = 0)
> 28468:       : facet(__refs), _M_c_locale_collate(_S_get_c_locale())
> 28468:       { }
> 28468: # 682 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:       explicit
> 28468:       collate(__c_locale __cloc, size_t __refs = 0)
> 28468:       : facet(__refs), _M_c_locale_collate(_S_clone_c_locale(__cloc))
> 28468:       { }
> 28468: # 699 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:       int
> 28468:       compare(const _CharT* __lo1, const _CharT* __hi1,
> 28468:        const _CharT* __lo2, const _CharT* __hi2) const
> 28468:       { return this->do_compare(__lo1, __hi1, __lo2, __hi2); }
> 28468: # 718 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:       string_type
> 28468:       transform(const _CharT* __lo, const _CharT* __hi) const
> 28468:       { return this->do_transform(__lo, __hi); }
> 28468: # 732 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:       long
> 28468:       hash(const _CharT* __lo, const _CharT* __hi) const
> 28468:       { return this->do_hash(__lo, __hi); }
> 28468: 
> 28468: 
> 28468:       int
> 28468:       _M_compare(const _CharT*, const _CharT*) const throw();
> 28468: 
> 28468:       size_t
> 28468:       _M_transform(_CharT*, const _CharT*, size_t) const throw();
> 28468: 
> 28468:   protected:
> 28468: 
> 28468:       virtual
> 28468:       ~collate()
> 28468:       { _S_destroy_c_locale(_M_c_locale_collate); }
> 28468: # 761 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:       virtual int
> 28468:       do_compare(const _CharT* __lo1, const _CharT* __hi1,
> 28468:    const _CharT* __lo2, const _CharT* __hi2) const;
> 28468: # 775 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:       virtual string_type
> 28468:       do_transform(const _CharT* __lo, const _CharT* __hi) const;
> 28468: # 788 "/usr/include/c++/9/bits/locale_classes.h" 3
> 28468:       virtual long
> 28468:       do_hash(const _CharT* __lo, const _CharT* __hi) const;
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     locale::id collate<_CharT>::id;
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     int
> 28468:     collate<char>::_M_compare(const char*, const char*) const throw();
> 28468: 
> 28468:   template<>
> 28468:     size_t
> 28468:     collate<char>::_M_transform(char*, const char*, size_t) const throw();
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     int
> 28468:     collate<wchar_t>::_M_compare(const wchar_t*, const wchar_t*) const throw();
> 28468: 
> 28468:   template<>
> 28468:     size_t
> 28468:     collate<wchar_t>::_M_transform(wchar_t*, const wchar_t*, size_t) const throw();
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     class __cxx11:: collate_byname : public collate<_CharT>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef basic_string<_CharT> string_type;
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       collate_byname(const char* __s, size_t __refs = 0)
> 28468:       : collate<_CharT>(__refs)
> 28468:       {
> 28468:  if (__builtin_strcmp(__s, "C") != 0
> 28468:      && __builtin_strcmp(__s, "POSIX") != 0)
> 28468:    {
> 28468:      this->_S_destroy_c_locale(this->_M_c_locale_collate);
> 28468:      this->_S_create_c_locale(this->_M_c_locale_collate, __s);
> 28468:    }
> 28468:       }
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       collate_byname(const string& __s, size_t __refs = 0)
> 28468:       : collate_byname(__s.c_str(), __refs) { }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~collate_byname() { }
> 28468:     };
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/locale_classes.tcc" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/locale_classes.tcc" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/locale_classes.tcc" 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _Facet>
> 28468:     locale::
> 28468:     locale(const locale& __other, _Facet* __f)
> 28468:     {
> 28468:       _M_impl = new _Impl(*__other._M_impl, 1);
> 28468: 
> 28468:       try
> 28468:  { _M_impl->_M_install_facet(&_Facet::id, __f); }
> 28468:       catch(...)
> 28468:  {
> 28468:    _M_impl->_M_remove_reference();
> 28468:    throw;
> 28468:  }
> 28468:       delete [] _M_impl->_M_names[0];
> 28468:       _M_impl->_M_names[0] = 0;
> 28468:     }
> 28468: 
> 28468:   template<typename _Facet>
> 28468:     locale
> 28468:     locale::
> 28468:     combine(const locale& __other) const
> 28468:     {
> 28468:       _Impl* __tmp = new _Impl(*_M_impl, 1);
> 28468:       try
> 28468:  {
> 28468:    __tmp->_M_replace_facet(__other._M_impl, &_Facet::id);
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    __tmp->_M_remove_reference();
> 28468:    throw;
> 28468:  }
> 28468:       return locale(__tmp);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     bool
> 28468:     locale::
> 28468:     operator()(const basic_string<_CharT, _Traits, _Alloc>& __s1,
> 28468:         const basic_string<_CharT, _Traits, _Alloc>& __s2) const
> 28468:     {
> 28468:       typedef std::collate<_CharT> __collate_type;
> 28468:       const __collate_type& __collate = use_facet<__collate_type>(*this);
> 28468:       return (__collate.compare(__s1.data(), __s1.data() + __s1.length(),
> 28468:     __s2.data(), __s2.data() + __s2.length()) < 0);
> 28468:     }
> 28468: # 102 "/usr/include/c++/9/bits/locale_classes.tcc" 3
> 28468:   template<typename _Facet>
> 28468:     bool
> 28468:     has_facet(const locale& __loc) throw()
> 28468:     {
> 28468:       const size_t __i = _Facet::id._M_id();
> 28468:       const locale::facet** __facets = __loc._M_impl->_M_facets;
> 28468:       return (__i < __loc._M_impl->_M_facets_size
> 28468: 
> 28468:        && dynamic_cast<const _Facet*>(__facets[__i]));
> 28468: 
> 28468: 
> 28468: 
> 28468:     }
> 28468: # 130 "/usr/include/c++/9/bits/locale_classes.tcc" 3
> 28468:   template<typename _Facet>
> 28468:     const _Facet&
> 28468:     use_facet(const locale& __loc)
> 28468:     {
> 28468:       const size_t __i = _Facet::id._M_id();
> 28468:       const locale::facet** __facets = __loc._M_impl->_M_facets;
> 28468:       if (__i >= __loc._M_impl->_M_facets_size || !__facets[__i])
> 28468:         __throw_bad_cast();
> 28468: 
> 28468:       return dynamic_cast<const _Facet&>(*__facets[__i]);
> 28468: 
> 28468: 
> 28468: 
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     int
> 28468:     collate<_CharT>::_M_compare(const _CharT*, const _CharT*) const throw ()
> 28468:     { return 0; }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     size_t
> 28468:     collate<_CharT>::_M_transform(_CharT*, const _CharT*, size_t) const throw ()
> 28468:     { return 0; }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     int
> 28468:     collate<_CharT>::
> 28468:     do_compare(const _CharT* __lo1, const _CharT* __hi1,
> 28468:         const _CharT* __lo2, const _CharT* __hi2) const
> 28468:     {
> 28468: 
> 28468: 
> 28468:       const string_type __one(__lo1, __hi1);
> 28468:       const string_type __two(__lo2, __hi2);
> 28468: 
> 28468:       const _CharT* __p = __one.c_str();
> 28468:       const _CharT* __pend = __one.data() + __one.length();
> 28468:       const _CharT* __q = __two.c_str();
> 28468:       const _CharT* __qend = __two.data() + __two.length();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       for (;;)
> 28468:  {
> 28468:    const int __res = _M_compare(__p, __q);
> 28468:    if (__res)
> 28468:      return __res;
> 28468: 
> 28468:    __p += char_traits<_CharT>::length(__p);
> 28468:    __q += char_traits<_CharT>::length(__q);
> 28468:    if (__p == __pend && __q == __qend)
> 28468:      return 0;
> 28468:    else if (__p == __pend)
> 28468:      return -1;
> 28468:    else if (__q == __qend)
> 28468:      return 1;
> 28468: 
> 28468:    __p++;
> 28468:    __q++;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     typename collate<_CharT>::string_type
> 28468:     collate<_CharT>::
> 28468:     do_transform(const _CharT* __lo, const _CharT* __hi) const
> 28468:     {
> 28468:       string_type __ret;
> 28468: 
> 28468: 
> 28468:       const string_type __str(__lo, __hi);
> 28468: 
> 28468:       const _CharT* __p = __str.c_str();
> 28468:       const _CharT* __pend = __str.data() + __str.length();
> 28468: 
> 28468:       size_t __len = (__hi - __lo) * 2;
> 28468: 
> 28468:       _CharT* __c = new _CharT[__len];
> 28468: 
> 28468:       try
> 28468:  {
> 28468: 
> 28468: 
> 28468: 
> 28468:    for (;;)
> 28468:      {
> 28468: 
> 28468:        size_t __res = _M_transform(__c, __p, __len);
> 28468: 
> 28468: 
> 28468:        if (__res >= __len)
> 28468:   {
> 28468:     __len = __res + 1;
> 28468:     delete [] __c, __c = 0;
> 28468:     __c = new _CharT[__len];
> 28468:     __res = _M_transform(__c, __p, __len);
> 28468:   }
> 28468: 
> 28468:        __ret.append(__c, __res);
> 28468:        __p += char_traits<_CharT>::length(__p);
> 28468:        if (__p == __pend)
> 28468:   break;
> 28468: 
> 28468:        __p++;
> 28468:        __ret.push_back(_CharT());
> 28468:      }
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    delete [] __c;
> 28468:    throw;
> 28468:  }
> 28468: 
> 28468:       delete [] __c;
> 28468: 
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     long
> 28468:     collate<_CharT>::
> 28468:     do_hash(const _CharT* __lo, const _CharT* __hi) const
> 28468:     {
> 28468:       unsigned long __val = 0;
> 28468:       for (; __lo < __hi; ++__lo)
> 28468:  __val =
> 28468:    *__lo + ((__val << 7)
> 28468:      | (__val >> (__gnu_cxx::__numeric_traits<unsigned long>::
> 28468:     __digits - 7)));
> 28468:       return static_cast<long>(__val);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template class collate<char>;
> 28468:   extern template class collate_byname<char>;
> 28468: 
> 28468:   extern template
> 28468:     const collate<char>&
> 28468:     use_facet<collate<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<collate<char> >(const locale&);
> 28468: 
> 28468: 
> 28468:   extern template class collate<wchar_t>;
> 28468:   extern template class collate_byname<wchar_t>;
> 28468: 
> 28468:   extern template
> 28468:     const collate<wchar_t>&
> 28468:     use_facet<collate<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<collate<wchar_t> >(const locale&);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 852 "/usr/include/c++/9/bits/locale_classes.h" 2 3
> 28468: # 42 "/usr/include/c++/9/bits/ios_base.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/system_error" 1 3
> 28468: # 32 "/usr/include/c++/9/system_error" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/system_error" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/error_constants.h" 1 3
> 28468: # 34 "/usr/include/x86_64-linux-gnu/c++/9/bits/error_constants.h" 3
> 28468: # 1 "/usr/include/c++/9/cerrno" 1 3
> 28468: # 39 "/usr/include/c++/9/cerrno" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cerrno" 3
> 28468: # 35 "/usr/include/x86_64-linux-gnu/c++/9/bits/error_constants.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   enum class errc
> 28468:     {
> 28468:       address_family_not_supported = 97,
> 28468:       address_in_use = 98,
> 28468:       address_not_available = 99,
> 28468:       already_connected = 106,
> 28468:       argument_list_too_long = 7,
> 28468:       argument_out_of_domain = 33,
> 28468:       bad_address = 14,
> 28468:       bad_file_descriptor = 9,
> 28468: 
> 28468: 
> 28468:       bad_message = 74,
> 28468: 
> 28468: 
> 28468:       broken_pipe = 32,
> 28468:       connection_aborted = 103,
> 28468:       connection_already_in_progress = 114,
> 28468:       connection_refused = 111,
> 28468:       connection_reset = 104,
> 28468:       cross_device_link = 18,
> 28468:       destination_address_required = 89,
> 28468:       device_or_resource_busy = 16,
> 28468:       directory_not_empty = 39,
> 28468:       executable_format_error = 8,
> 28468:       file_exists = 17,
> 28468:       file_too_large = 27,
> 28468:       filename_too_long = 36,
> 28468:       function_not_supported = 38,
> 28468:       host_unreachable = 113,
> 28468: 
> 28468: 
> 28468:       identifier_removed = 43,
> 28468: 
> 28468: 
> 28468:       illegal_byte_sequence = 84,
> 28468:       inappropriate_io_control_operation = 25,
> 28468:       interrupted = 4,
> 28468:       invalid_argument = 22,
> 28468:       invalid_seek = 29,
> 28468:       io_error = 5,
> 28468:       is_a_directory = 21,
> 28468:       message_size = 90,
> 28468:       network_down = 100,
> 28468:       network_reset = 102,
> 28468:       network_unreachable = 101,
> 28468:       no_buffer_space = 105,
> 28468:       no_child_process = 10,
> 28468: 
> 28468: 
> 28468:       no_link = 67,
> 28468: 
> 28468: 
> 28468:       no_lock_available = 37,
> 28468: 
> 28468: 
> 28468:       no_message_available = 61,
> 28468: 
> 28468: 
> 28468:       no_message = 42,
> 28468:       no_protocol_option = 92,
> 28468:       no_space_on_device = 28,
> 28468: 
> 28468: 
> 28468:       no_stream_resources = 63,
> 28468: 
> 28468: 
> 28468:       no_such_device_or_address = 6,
> 28468:       no_such_device = 19,
> 28468:       no_such_file_or_directory = 2,
> 28468:       no_such_process = 3,
> 28468:       not_a_directory = 20,
> 28468:       not_a_socket = 88,
> 28468: 
> 28468: 
> 28468:       not_a_stream = 60,
> 28468: 
> 28468: 
> 28468:       not_connected = 107,
> 28468:       not_enough_memory = 12,
> 28468: 
> 28468: 
> 28468:       not_supported = 95,
> 28468: 
> 28468: 
> 28468: 
> 28468:       operation_canceled = 125,
> 28468: 
> 28468: 
> 28468:       operation_in_progress = 115,
> 28468:       operation_not_permitted = 1,
> 28468:       operation_not_supported = 95,
> 28468:       operation_would_block = 11,
> 28468: 
> 28468: 
> 28468:       owner_dead = 130,
> 28468: 
> 28468: 
> 28468:       permission_denied = 13,
> 28468: 
> 28468: 
> 28468:       protocol_error = 71,
> 28468: 
> 28468: 
> 28468:       protocol_not_supported = 93,
> 28468:       read_only_file_system = 30,
> 28468:       resource_deadlock_would_occur = 35,
> 28468:       resource_unavailable_try_again = 11,
> 28468:       result_out_of_range = 34,
> 28468: 
> 28468: 
> 28468:       state_not_recoverable = 131,
> 28468: 
> 28468: 
> 28468: 
> 28468:       stream_timeout = 62,
> 28468: 
> 28468: 
> 28468: 
> 28468:       text_file_busy = 26,
> 28468: 
> 28468: 
> 28468:       timed_out = 110,
> 28468:       too_many_files_open_in_system = 23,
> 28468:       too_many_files_open = 24,
> 28468:       too_many_links = 31,
> 28468:       too_many_symbolic_link_levels = 40,
> 28468: 
> 28468: 
> 28468:       value_too_large = 75,
> 28468: 
> 28468: 
> 28468:       wrong_protocol_type = 91
> 28468:     };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 40 "/usr/include/c++/9/system_error" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   class error_code;
> 28468:   class error_condition;
> 28468:   class system_error;
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_error_code_enum : public false_type { };
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct is_error_condition_enum : public false_type { };
> 28468: 
> 28468:   template<>
> 28468:     struct is_error_condition_enum<errc>
> 28468:     : public true_type { };
> 28468: # 71 "/usr/include/c++/9/system_error" 3
> 28468:   inline namespace _V2 {
> 28468: 
> 28468: 
> 28468:   class error_category
> 28468:   {
> 28468:   public:
> 28468:     constexpr error_category() noexcept = default;
> 28468: 
> 28468:     virtual ~error_category();
> 28468: 
> 28468:     error_category(const error_category&) = delete;
> 28468:     error_category& operator=(const error_category&) = delete;
> 28468: 
> 28468:     virtual const char*
> 28468:     name() const noexcept = 0;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   private:
> 28468:     __attribute ((__abi_tag__ ("cxx11")))
> 28468:     virtual __cow_string
> 28468:     _M_message(int) const;
> 28468: 
> 28468:   public:
> 28468:     __attribute ((__abi_tag__ ("cxx11")))
> 28468:     virtual string
> 28468:     message(int) const = 0;
> 28468: # 110 "/usr/include/c++/9/system_error" 3
> 28468:   public:
> 28468:     virtual error_condition
> 28468:     default_error_condition(int __i) const noexcept;
> 28468: 
> 28468:     virtual bool
> 28468:     equivalent(int __i, const error_condition& __cond) const noexcept;
> 28468: 
> 28468:     virtual bool
> 28468:     equivalent(const error_code& __code, int __i) const noexcept;
> 28468: 
> 28468:     bool
> 28468:     operator<(const error_category& __other) const noexcept
> 28468:     { return less<const error_category*>()(this, &__other); }
> 28468: 
> 28468:     bool
> 28468:     operator==(const error_category& __other) const noexcept
> 28468:     { return this == &__other; }
> 28468: 
> 28468:     bool
> 28468:     operator!=(const error_category& __other) const noexcept
> 28468:     { return this != &__other; }
> 28468:   };
> 28468: 
> 28468: 
> 28468:   __attribute__ ((__const__)) const error_category& system_category() noexcept;
> 28468:   __attribute__ ((__const__)) const error_category& generic_category() noexcept;
> 28468: 
> 28468:   }
> 28468: 
> 28468:   error_code make_error_code(errc) noexcept;
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct hash;
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct error_code
> 28468:   {
> 28468:     error_code() noexcept
> 28468:     : _M_value(0), _M_cat(&system_category()) { }
> 28468: 
> 28468:     error_code(int __v, const error_category& __cat) noexcept
> 28468:     : _M_value(__v), _M_cat(&__cat) { }
> 28468: 
> 28468:     template<typename _ErrorCodeEnum, typename = typename
> 28468:       enable_if<is_error_code_enum<_ErrorCodeEnum>::value>::type>
> 28468:       error_code(_ErrorCodeEnum __e) noexcept
> 28468:       { *this = make_error_code(__e); }
> 28468: 
> 28468:     void
> 28468:     assign(int __v, const error_category& __cat) noexcept
> 28468:     {
> 28468:       _M_value = __v;
> 28468:       _M_cat = &__cat;
> 28468:     }
> 28468: 
> 28468:     void
> 28468:     clear() noexcept
> 28468:     { assign(0, system_category()); }
> 28468: 
> 28468: 
> 28468:     template<typename _ErrorCodeEnum>
> 28468:       typename enable_if<is_error_code_enum<_ErrorCodeEnum>::value,
> 28468:     error_code&>::type
> 28468:       operator=(_ErrorCodeEnum __e) noexcept
> 28468:       { return *this = make_error_code(__e); }
> 28468: 
> 28468:     int
> 28468:     value() const noexcept { return _M_value; }
> 28468: 
> 28468:     const error_category&
> 28468:     category() const noexcept { return *_M_cat; }
> 28468: 
> 28468:     error_condition
> 28468:     default_error_condition() const noexcept;
> 28468: 
> 28468:     __attribute ((__abi_tag__ ("cxx11")))
> 28468:     string
> 28468:     message() const
> 28468:     { return category().message(value()); }
> 28468: 
> 28468:     explicit operator bool() const noexcept
> 28468:     { return _M_value != 0; }
> 28468: 
> 28468: 
> 28468:   private:
> 28468:     friend class hash<error_code>;
> 28468: 
> 28468:     int _M_value;
> 28468:     const error_category* _M_cat;
> 28468:   };
> 28468: 
> 28468: 
> 28468:   inline error_code
> 28468:   make_error_code(errc __e) noexcept
> 28468:   { return error_code(static_cast<int>(__e), generic_category()); }
> 28468: 
> 28468:   inline bool
> 28468:   operator<(const error_code& __lhs, const error_code& __rhs) noexcept
> 28468:   {
> 28468:     return (__lhs.category() < __rhs.category()
> 28468:      || (__lhs.category() == __rhs.category()
> 28468:   && __lhs.value() < __rhs.value()));
> 28468:   }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __os, const error_code& __e)
> 28468:     { return (__os << __e.category().name() << ':' << __e.value()); }
> 28468: 
> 28468:   error_condition make_error_condition(errc) noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct error_condition
> 28468:   {
> 28468:     error_condition() noexcept
> 28468:     : _M_value(0), _M_cat(&generic_category()) { }
> 28468: 
> 28468:     error_condition(int __v, const error_category& __cat) noexcept
> 28468:     : _M_value(__v), _M_cat(&__cat) { }
> 28468: 
> 28468:     template<typename _ErrorConditionEnum, typename = typename
> 28468:   enable_if<is_error_condition_enum<_ErrorConditionEnum>::value>::type>
> 28468:       error_condition(_ErrorConditionEnum __e) noexcept
> 28468:       { *this = make_error_condition(__e); }
> 28468: 
> 28468:     void
> 28468:     assign(int __v, const error_category& __cat) noexcept
> 28468:     {
> 28468:       _M_value = __v;
> 28468:       _M_cat = &__cat;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     template<typename _ErrorConditionEnum>
> 28468:       typename enable_if<is_error_condition_enum
> 28468:     <_ErrorConditionEnum>::value, error_condition&>::type
> 28468:       operator=(_ErrorConditionEnum __e) noexcept
> 28468:       { return *this = make_error_condition(__e); }
> 28468: 
> 28468:     void
> 28468:     clear() noexcept
> 28468:     { assign(0, generic_category()); }
> 28468: 
> 28468: 
> 28468:     int
> 28468:     value() const noexcept { return _M_value; }
> 28468: 
> 28468:     const error_category&
> 28468:     category() const noexcept { return *_M_cat; }
> 28468: 
> 28468:     __attribute ((__abi_tag__ ("cxx11")))
> 28468:     string
> 28468:     message() const
> 28468:     { return category().message(value()); }
> 28468: 
> 28468:     explicit operator bool() const noexcept
> 28468:     { return _M_value != 0; }
> 28468: 
> 28468: 
> 28468:   private:
> 28468:     int _M_value;
> 28468:     const error_category* _M_cat;
> 28468:   };
> 28468: 
> 28468: 
> 28468:   inline error_condition
> 28468:   make_error_condition(errc __e) noexcept
> 28468:   { return error_condition(static_cast<int>(__e), generic_category()); }
> 28468: 
> 28468:   inline bool
> 28468:   operator<(const error_condition& __lhs,
> 28468:      const error_condition& __rhs) noexcept
> 28468:   {
> 28468:     return (__lhs.category() < __rhs.category()
> 28468:      || (__lhs.category() == __rhs.category()
> 28468:   && __lhs.value() < __rhs.value()));
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline bool
> 28468:   operator==(const error_code& __lhs, const error_code& __rhs) noexcept
> 28468:   { return (__lhs.category() == __rhs.category()
> 28468:      && __lhs.value() == __rhs.value()); }
> 28468: 
> 28468:   inline bool
> 28468:   operator==(const error_code& __lhs, const error_condition& __rhs) noexcept
> 28468:   {
> 28468:     return (__lhs.category().equivalent(__lhs.value(), __rhs)
> 28468:      || __rhs.category().equivalent(__lhs, __rhs.value()));
> 28468:   }
> 28468: 
> 28468:   inline bool
> 28468:   operator==(const error_condition& __lhs, const error_code& __rhs) noexcept
> 28468:   {
> 28468:     return (__rhs.category().equivalent(__rhs.value(), __lhs)
> 28468:      || __lhs.category().equivalent(__rhs, __lhs.value()));
> 28468:   }
> 28468: 
> 28468:   inline bool
> 28468:   operator==(const error_condition& __lhs,
> 28468:       const error_condition& __rhs) noexcept
> 28468:   {
> 28468:     return (__lhs.category() == __rhs.category()
> 28468:      && __lhs.value() == __rhs.value());
> 28468:   }
> 28468: 
> 28468:   inline bool
> 28468:   operator!=(const error_code& __lhs, const error_code& __rhs) noexcept
> 28468:   { return !(__lhs == __rhs); }
> 28468: 
> 28468:   inline bool
> 28468:   operator!=(const error_code& __lhs, const error_condition& __rhs) noexcept
> 28468:   { return !(__lhs == __rhs); }
> 28468: 
> 28468:   inline bool
> 28468:   operator!=(const error_condition& __lhs, const error_code& __rhs) noexcept
> 28468:   { return !(__lhs == __rhs); }
> 28468: 
> 28468:   inline bool
> 28468:   operator!=(const error_condition& __lhs,
> 28468:       const error_condition& __rhs) noexcept
> 28468:   { return !(__lhs == __rhs); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class system_error : public std::runtime_error
> 28468:   {
> 28468:   private:
> 28468:     error_code _M_code;
> 28468: 
> 28468:   public:
> 28468:     system_error(error_code __ec = error_code())
> 28468:     : runtime_error(__ec.message()), _M_code(__ec) { }
> 28468: 
> 28468:     system_error(error_code __ec, const string& __what)
> 28468:     : runtime_error(__what + ": " + __ec.message()), _M_code(__ec) { }
> 28468: 
> 28468:     system_error(error_code __ec, const char* __what)
> 28468:     : runtime_error(__what + (": " + __ec.message())), _M_code(__ec) { }
> 28468: 
> 28468:     system_error(int __v, const error_category& __ecat, const char* __what)
> 28468:     : system_error(error_code(__v, __ecat), __what) { }
> 28468: 
> 28468:     system_error(int __v, const error_category& __ecat)
> 28468:     : runtime_error(error_code(__v, __ecat).message()),
> 28468:       _M_code(__v, __ecat) { }
> 28468: 
> 28468:     system_error(int __v, const error_category& __ecat, const string& __what)
> 28468:     : runtime_error(__what + ": " + error_code(__v, __ecat).message()),
> 28468:       _M_code(__v, __ecat) { }
> 28468: 
> 28468: 
> 28468:     system_error (const system_error &) = default;
> 28468:     system_error &operator= (const system_error &) = default;
> 28468: 
> 28468: 
> 28468:     virtual ~system_error() noexcept;
> 28468: 
> 28468:     const error_code&
> 28468:     code() const noexcept { return _M_code; }
> 28468:   };
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct hash<error_code>
> 28468:     : public __hash_base<size_t, error_code>
> 28468:     {
> 28468:       size_t
> 28468:       operator()(const error_code& __e) const noexcept
> 28468:       {
> 28468:  const size_t __tmp = std::_Hash_impl::hash(__e._M_value);
> 28468:  return std::_Hash_impl::__hash_combine(__e._M_cat, __tmp);
> 28468:       }
> 28468:     };
> 28468: # 419 "/usr/include/c++/9/system_error" 3
> 28468: 
> 28468: }
> 28468: # 47 "/usr/include/c++/9/bits/ios_base.h" 2 3
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   enum _Ios_Fmtflags
> 28468:     {
> 28468:       _S_boolalpha = 1L << 0,
> 28468:       _S_dec = 1L << 1,
> 28468:       _S_fixed = 1L << 2,
> 28468:       _S_hex = 1L << 3,
> 28468:       _S_internal = 1L << 4,
> 28468:       _S_left = 1L << 5,
> 28468:       _S_oct = 1L << 6,
> 28468:       _S_right = 1L << 7,
> 28468:       _S_scientific = 1L << 8,
> 28468:       _S_showbase = 1L << 9,
> 28468:       _S_showpoint = 1L << 10,
> 28468:       _S_showpos = 1L << 11,
> 28468:       _S_skipws = 1L << 12,
> 28468:       _S_unitbuf = 1L << 13,
> 28468:       _S_uppercase = 1L << 14,
> 28468:       _S_adjustfield = _S_left | _S_right | _S_internal,
> 28468:       _S_basefield = _S_dec | _S_oct | _S_hex,
> 28468:       _S_floatfield = _S_scientific | _S_fixed,
> 28468:       _S_ios_fmtflags_end = 1L << 16,
> 28468:       _S_ios_fmtflags_max = 0x7fffffff,
> 28468:       _S_ios_fmtflags_min = ~0x7fffffff
> 28468:     };
> 28468: 
> 28468:   inline constexpr _Ios_Fmtflags
> 28468:   operator&(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
> 28468:   { return _Ios_Fmtflags(static_cast<int>(__a) & static_cast<int>(__b)); }
> 28468: 
> 28468:   inline constexpr _Ios_Fmtflags
> 28468:   operator|(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
> 28468:   { return _Ios_Fmtflags(static_cast<int>(__a) | static_cast<int>(__b)); }
> 28468: 
> 28468:   inline constexpr _Ios_Fmtflags
> 28468:   operator^(_Ios_Fmtflags __a, _Ios_Fmtflags __b)
> 28468:   { return _Ios_Fmtflags(static_cast<int>(__a) ^ static_cast<int>(__b)); }
> 28468: 
> 28468:   inline constexpr _Ios_Fmtflags
> 28468:   operator~(_Ios_Fmtflags __a)
> 28468:   { return _Ios_Fmtflags(~static_cast<int>(__a)); }
> 28468: 
> 28468:   inline const _Ios_Fmtflags&
> 28468:   operator|=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
> 28468:   { return __a = __a | __b; }
> 28468: 
> 28468:   inline const _Ios_Fmtflags&
> 28468:   operator&=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
> 28468:   { return __a = __a & __b; }
> 28468: 
> 28468:   inline const _Ios_Fmtflags&
> 28468:   operator^=(_Ios_Fmtflags& __a, _Ios_Fmtflags __b)
> 28468:   { return __a = __a ^ __b; }
> 28468: 
> 28468: 
> 28468:   enum _Ios_Openmode
> 28468:     {
> 28468:       _S_app = 1L << 0,
> 28468:       _S_ate = 1L << 1,
> 28468:       _S_bin = 1L << 2,
> 28468:       _S_in = 1L << 3,
> 28468:       _S_out = 1L << 4,
> 28468:       _S_trunc = 1L << 5,
> 28468:       _S_ios_openmode_end = 1L << 16,
> 28468:       _S_ios_openmode_max = 0x7fffffff,
> 28468:       _S_ios_openmode_min = ~0x7fffffff
> 28468:     };
> 28468: 
> 28468:   inline constexpr _Ios_Openmode
> 28468:   operator&(_Ios_Openmode __a, _Ios_Openmode __b)
> 28468:   { return _Ios_Openmode(static_cast<int>(__a) & static_cast<int>(__b)); }
> 28468: 
> 28468:   inline constexpr _Ios_Openmode
> 28468:   operator|(_Ios_Openmode __a, _Ios_Openmode __b)
> 28468:   { return _Ios_Openmode(static_cast<int>(__a) | static_cast<int>(__b)); }
> 28468: 
> 28468:   inline constexpr _Ios_Openmode
> 28468:   operator^(_Ios_Openmode __a, _Ios_Openmode __b)
> 28468:   { return _Ios_Openmode(static_cast<int>(__a) ^ static_cast<int>(__b)); }
> 28468: 
> 28468:   inline constexpr _Ios_Openmode
> 28468:   operator~(_Ios_Openmode __a)
> 28468:   { return _Ios_Openmode(~static_cast<int>(__a)); }
> 28468: 
> 28468:   inline const _Ios_Openmode&
> 28468:   operator|=(_Ios_Openmode& __a, _Ios_Openmode __b)
> 28468:   { return __a = __a | __b; }
> 28468: 
> 28468:   inline const _Ios_Openmode&
> 28468:   operator&=(_Ios_Openmode& __a, _Ios_Openmode __b)
> 28468:   { return __a = __a & __b; }
> 28468: 
> 28468:   inline const _Ios_Openmode&
> 28468:   operator^=(_Ios_Openmode& __a, _Ios_Openmode __b)
> 28468:   { return __a = __a ^ __b; }
> 28468: 
> 28468: 
> 28468:   enum _Ios_Iostate
> 28468:     {
> 28468:       _S_goodbit = 0,
> 28468:       _S_badbit = 1L << 0,
> 28468:       _S_eofbit = 1L << 1,
> 28468:       _S_failbit = 1L << 2,
> 28468:       _S_ios_iostate_end = 1L << 16,
> 28468:       _S_ios_iostate_max = 0x7fffffff,
> 28468:       _S_ios_iostate_min = ~0x7fffffff
> 28468:     };
> 28468: 
> 28468:   inline constexpr _Ios_Iostate
> 28468:   operator&(_Ios_Iostate __a, _Ios_Iostate __b)
> 28468:   { return _Ios_Iostate(static_cast<int>(__a) & static_cast<int>(__b)); }
> 28468: 
> 28468:   inline constexpr _Ios_Iostate
> 28468:   operator|(_Ios_Iostate __a, _Ios_Iostate __b)
> 28468:   { return _Ios_Iostate(static_cast<int>(__a) | static_cast<int>(__b)); }
> 28468: 
> 28468:   inline constexpr _Ios_Iostate
> 28468:   operator^(_Ios_Iostate __a, _Ios_Iostate __b)
> 28468:   { return _Ios_Iostate(static_cast<int>(__a) ^ static_cast<int>(__b)); }
> 28468: 
> 28468:   inline constexpr _Ios_Iostate
> 28468:   operator~(_Ios_Iostate __a)
> 28468:   { return _Ios_Iostate(~static_cast<int>(__a)); }
> 28468: 
> 28468:   inline const _Ios_Iostate&
> 28468:   operator|=(_Ios_Iostate& __a, _Ios_Iostate __b)
> 28468:   { return __a = __a | __b; }
> 28468: 
> 28468:   inline const _Ios_Iostate&
> 28468:   operator&=(_Ios_Iostate& __a, _Ios_Iostate __b)
> 28468:   { return __a = __a & __b; }
> 28468: 
> 28468:   inline const _Ios_Iostate&
> 28468:   operator^=(_Ios_Iostate& __a, _Ios_Iostate __b)
> 28468:   { return __a = __a ^ __b; }
> 28468: 
> 28468: 
> 28468:   enum _Ios_Seekdir
> 28468:     {
> 28468:       _S_beg = 0,
> 28468:       _S_cur = 1,
> 28468:       _S_end = 2,
> 28468:       _S_ios_seekdir_end = 1L << 16
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   enum class io_errc { stream = 1 };
> 28468: 
> 28468:   template <> struct is_error_code_enum<io_errc> : public true_type { };
> 28468: 
> 28468:   const error_category& iostream_category() noexcept;
> 28468: 
> 28468:   inline error_code
> 28468:   make_error_code(io_errc __e) noexcept
> 28468:   { return error_code(static_cast<int>(__e), iostream_category()); }
> 28468: 
> 28468:   inline error_condition
> 28468:   make_error_condition(io_errc __e) noexcept
> 28468:   { return error_condition(static_cast<int>(__e), iostream_category()); }
> 28468: # 228 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:   class ios_base
> 28468:   {
> 28468: # 246 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:   public:
> 28468: # 255 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     class __attribute ((__abi_tag__ ("cxx11"))) failure : public system_error
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       failure(const string& __str);
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       failure(const string&, const error_code&);
> 28468: 
> 28468:       explicit
> 28468:       failure(const char*, const error_code& = io_errc::stream);
> 28468: 
> 28468: 
> 28468:       virtual
> 28468:       ~failure() throw();
> 28468: 
> 28468:       virtual const char*
> 28468:       what() const throw();
> 28468:     };
> 28468: # 323 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     typedef _Ios_Fmtflags fmtflags;
> 28468: 
> 28468: 
> 28468:     static const fmtflags boolalpha = _S_boolalpha;
> 28468: 
> 28468: 
> 28468:     static const fmtflags dec = _S_dec;
> 28468: 
> 28468: 
> 28468:     static const fmtflags fixed = _S_fixed;
> 28468: 
> 28468: 
> 28468:     static const fmtflags hex = _S_hex;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const fmtflags internal = _S_internal;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const fmtflags left = _S_left;
> 28468: 
> 28468: 
> 28468:     static const fmtflags oct = _S_oct;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const fmtflags right = _S_right;
> 28468: 
> 28468: 
> 28468:     static const fmtflags scientific = _S_scientific;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const fmtflags showbase = _S_showbase;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const fmtflags showpoint = _S_showpoint;
> 28468: 
> 28468: 
> 28468:     static const fmtflags showpos = _S_showpos;
> 28468: 
> 28468: 
> 28468:     static const fmtflags skipws = _S_skipws;
> 28468: 
> 28468: 
> 28468:     static const fmtflags unitbuf = _S_unitbuf;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const fmtflags uppercase = _S_uppercase;
> 28468: 
> 28468: 
> 28468:     static const fmtflags adjustfield = _S_adjustfield;
> 28468: 
> 28468: 
> 28468:     static const fmtflags basefield = _S_basefield;
> 28468: 
> 28468: 
> 28468:     static const fmtflags floatfield = _S_floatfield;
> 28468: # 398 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     typedef _Ios_Iostate iostate;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const iostate badbit = _S_badbit;
> 28468: 
> 28468: 
> 28468:     static const iostate eofbit = _S_eofbit;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const iostate failbit = _S_failbit;
> 28468: 
> 28468: 
> 28468:     static const iostate goodbit = _S_goodbit;
> 28468: # 429 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     typedef _Ios_Openmode openmode;
> 28468: 
> 28468: 
> 28468:     static const openmode app = _S_app;
> 28468: 
> 28468: 
> 28468:     static const openmode ate = _S_ate;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const openmode binary = _S_bin;
> 28468: 
> 28468: 
> 28468:     static const openmode in = _S_in;
> 28468: 
> 28468: 
> 28468:     static const openmode out = _S_out;
> 28468: 
> 28468: 
> 28468:     static const openmode trunc = _S_trunc;
> 28468: # 461 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     typedef _Ios_Seekdir seekdir;
> 28468: 
> 28468: 
> 28468:     static const seekdir beg = _S_beg;
> 28468: 
> 28468: 
> 28468:     static const seekdir cur = _S_cur;
> 28468: 
> 28468: 
> 28468:     static const seekdir end = _S_end;
> 28468: 
> 28468: 
> 28468: 
> 28468:     typedef int io_state;
> 28468:     typedef int open_mode;
> 28468:     typedef int seek_dir;
> 28468: 
> 28468:     typedef std::streampos streampos;
> 28468:     typedef std::streamoff streamoff;
> 28468: # 489 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     enum event
> 28468:     {
> 28468:       erase_event,
> 28468:       imbue_event,
> 28468:       copyfmt_event
> 28468:     };
> 28468: # 506 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     typedef void (*event_callback) (event __e, ios_base& __b, int __i);
> 28468: # 518 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     void
> 28468:     register_callback(event_callback __fn, int __index);
> 28468: 
> 28468:   protected:
> 28468:     streamsize _M_precision;
> 28468:     streamsize _M_width;
> 28468:     fmtflags _M_flags;
> 28468:     iostate _M_exception;
> 28468:     iostate _M_streambuf_state;
> 28468: 
> 28468: 
> 28468: 
> 28468:     struct _Callback_list
> 28468:     {
> 28468: 
> 28468:       _Callback_list* _M_next;
> 28468:       ios_base::event_callback _M_fn;
> 28468:       int _M_index;
> 28468:       _Atomic_word _M_refcount;
> 28468: 
> 28468:       _Callback_list(ios_base::event_callback __fn, int __index,
> 28468:        _Callback_list* __cb)
> 28468:       : _M_next(__cb), _M_fn(__fn), _M_index(__index), _M_refcount(0) { }
> 28468: 
> 28468:       void
> 28468:       _M_add_reference() { __gnu_cxx::__atomic_add_dispatch(&_M_refcount, 1); }
> 28468: 
> 28468: 
> 28468:       int
> 28468:       _M_remove_reference()
> 28468:       {
> 28468: 
> 28468:         ;
> 28468:         int __res = __gnu_cxx::__exchange_and_add_dispatch(&_M_refcount, -1);
> 28468:         if (__res == 0)
> 28468:           {
> 28468:             ;
> 28468:           }
> 28468:         return __res;
> 28468:       }
> 28468:     };
> 28468: 
> 28468:      _Callback_list* _M_callbacks;
> 28468: 
> 28468:     void
> 28468:     _M_call_callbacks(event __ev) throw();
> 28468: 
> 28468:     void
> 28468:     _M_dispose_callbacks(void) throw();
> 28468: 
> 28468: 
> 28468:     struct _Words
> 28468:     {
> 28468:       void* _M_pword;
> 28468:       long _M_iword;
> 28468:       _Words() : _M_pword(0), _M_iword(0) { }
> 28468:     };
> 28468: 
> 28468: 
> 28468:     _Words _M_word_zero;
> 28468: 
> 28468: 
> 28468: 
> 28468:     enum { _S_local_word_size = 8 };
> 28468:     _Words _M_local_word[_S_local_word_size];
> 28468: 
> 28468: 
> 28468:     int _M_word_size;
> 28468:     _Words* _M_word;
> 28468: 
> 28468:     _Words&
> 28468:     _M_grow_words(int __index, bool __iword);
> 28468: 
> 28468: 
> 28468:     locale _M_ios_locale;
> 28468: 
> 28468:     void
> 28468:     _M_init() throw();
> 28468: 
> 28468:   public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     class Init
> 28468:     {
> 28468:       friend class ios_base;
> 28468:     public:
> 28468:       Init();
> 28468:       ~Init();
> 28468: 
> 28468: 
> 28468:       Init(const Init&) = default;
> 28468:       Init& operator=(const Init&) = default;
> 28468: 
> 28468: 
> 28468:     private:
> 28468:       static _Atomic_word _S_refcount;
> 28468:       static bool _S_synced_with_stdio;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     fmtflags
> 28468:     flags() const
> 28468:     { return _M_flags; }
> 28468: # 636 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     fmtflags
> 28468:     flags(fmtflags __fmtfl)
> 28468:     {
> 28468:       fmtflags __old = _M_flags;
> 28468:       _M_flags = __fmtfl;
> 28468:       return __old;
> 28468:     }
> 28468: # 652 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     fmtflags
> 28468:     setf(fmtflags __fmtfl)
> 28468:     {
> 28468:       fmtflags __old = _M_flags;
> 28468:       _M_flags |= __fmtfl;
> 28468:       return __old;
> 28468:     }
> 28468: # 669 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     fmtflags
> 28468:     setf(fmtflags __fmtfl, fmtflags __mask)
> 28468:     {
> 28468:       fmtflags __old = _M_flags;
> 28468:       _M_flags &= ~__mask;
> 28468:       _M_flags |= (__fmtfl & __mask);
> 28468:       return __old;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void
> 28468:     unsetf(fmtflags __mask)
> 28468:     { _M_flags &= ~__mask; }
> 28468: # 695 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     streamsize
> 28468:     precision() const
> 28468:     { return _M_precision; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     streamsize
> 28468:     precision(streamsize __prec)
> 28468:     {
> 28468:       streamsize __old = _M_precision;
> 28468:       _M_precision = __prec;
> 28468:       return __old;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     streamsize
> 28468:     width() const
> 28468:     { return _M_width; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     streamsize
> 28468:     width(streamsize __wide)
> 28468:     {
> 28468:       streamsize __old = _M_width;
> 28468:       _M_width = __wide;
> 28468:       return __old;
> 28468:     }
> 28468: # 746 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     static bool
> 28468:     sync_with_stdio(bool __sync = true);
> 28468: # 758 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     locale
> 28468:     imbue(const locale& __loc) throw();
> 28468: # 769 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     locale
> 28468:     getloc() const
> 28468:     { return _M_ios_locale; }
> 28468: # 780 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     const locale&
> 28468:     _M_getloc() const
> 28468:     { return _M_ios_locale; }
> 28468: # 799 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     static int
> 28468:     xalloc() throw();
> 28468: # 815 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     long&
> 28468:     iword(int __ix)
> 28468:     {
> 28468:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
> 28468:    ? _M_word[__ix] : _M_grow_words(__ix, true);
> 28468:       return __word._M_iword;
> 28468:     }
> 28468: # 836 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     void*&
> 28468:     pword(int __ix)
> 28468:     {
> 28468:       _Words& __word = ((unsigned)__ix < (unsigned)_M_word_size)
> 28468:    ? _M_word[__ix] : _M_grow_words(__ix, false);
> 28468:       return __word._M_pword;
> 28468:     }
> 28468: # 853 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:     virtual ~ios_base();
> 28468: 
> 28468:   protected:
> 28468:     ios_base() throw ();
> 28468: # 867 "/usr/include/c++/9/bits/ios_base.h" 3
> 28468:   public:
> 28468:     ios_base(const ios_base&) = delete;
> 28468: 
> 28468:     ios_base&
> 28468:     operator=(const ios_base&) = delete;
> 28468: 
> 28468:   protected:
> 28468:     void
> 28468:     _M_move(ios_base&) noexcept;
> 28468: 
> 28468:     void
> 28468:     _M_swap(ios_base& __rhs) noexcept;
> 28468: 
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   boolalpha(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::boolalpha);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   noboolalpha(ios_base& __base)
> 28468:   {
> 28468:     __base.unsetf(ios_base::boolalpha);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   showbase(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::showbase);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   noshowbase(ios_base& __base)
> 28468:   {
> 28468:     __base.unsetf(ios_base::showbase);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   showpoint(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::showpoint);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   noshowpoint(ios_base& __base)
> 28468:   {
> 28468:     __base.unsetf(ios_base::showpoint);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   showpos(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::showpos);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   noshowpos(ios_base& __base)
> 28468:   {
> 28468:     __base.unsetf(ios_base::showpos);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   skipws(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::skipws);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   noskipws(ios_base& __base)
> 28468:   {
> 28468:     __base.unsetf(ios_base::skipws);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   uppercase(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::uppercase);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   nouppercase(ios_base& __base)
> 28468:   {
> 28468:     __base.unsetf(ios_base::uppercase);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   unitbuf(ios_base& __base)
> 28468:   {
> 28468:      __base.setf(ios_base::unitbuf);
> 28468:      return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   nounitbuf(ios_base& __base)
> 28468:   {
> 28468:      __base.unsetf(ios_base::unitbuf);
> 28468:      return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   internal(ios_base& __base)
> 28468:   {
> 28468:      __base.setf(ios_base::internal, ios_base::adjustfield);
> 28468:      return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   left(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::left, ios_base::adjustfield);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   right(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::right, ios_base::adjustfield);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   dec(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::dec, ios_base::basefield);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   hex(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::hex, ios_base::basefield);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   oct(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::oct, ios_base::basefield);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   fixed(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::fixed, ios_base::floatfield);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   scientific(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::scientific, ios_base::floatfield);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   hexfloat(ios_base& __base)
> 28468:   {
> 28468:     __base.setf(ios_base::fixed | ios_base::scientific, ios_base::floatfield);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468:   inline ios_base&
> 28468:   defaultfloat(ios_base& __base)
> 28468:   {
> 28468:     __base.unsetf(ios_base::floatfield);
> 28468:     return __base;
> 28468:   }
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 43 "/usr/include/c++/9/ios" 2 3
> 28468: # 1 "/usr/include/c++/9/streambuf" 1 3
> 28468: # 36 "/usr/include/c++/9/streambuf" 3
> 28468:        
> 28468: # 37 "/usr/include/c++/9/streambuf" 3
> 28468: # 45 "/usr/include/c++/9/streambuf" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     streamsize
> 28468:     __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>*,
> 28468:      basic_streambuf<_CharT, _Traits>*, bool&);
> 28468: # 121 "/usr/include/c++/9/streambuf" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     class basic_streambuf
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _Traits traits_type;
> 28468:       typedef typename traits_type::int_type int_type;
> 28468:       typedef typename traits_type::pos_type pos_type;
> 28468:       typedef typename traits_type::off_type off_type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
> 28468: 
> 28468: 
> 28468:       friend class basic_ios<char_type, traits_type>;
> 28468:       friend class basic_istream<char_type, traits_type>;
> 28468:       friend class basic_ostream<char_type, traits_type>;
> 28468:       friend class istreambuf_iterator<char_type, traits_type>;
> 28468:       friend class ostreambuf_iterator<char_type, traits_type>;
> 28468: 
> 28468:       friend streamsize
> 28468:       __copy_streambufs_eof<>(basic_streambuf*, basic_streambuf*, bool&);
> 28468: 
> 28468:       template<bool _IsMove, typename _CharT2>
> 28468:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
> 28468:             _CharT2*>::__type
> 28468:         __copy_move_a2(istreambuf_iterator<_CharT2>,
> 28468:          istreambuf_iterator<_CharT2>, _CharT2*);
> 28468: 
> 28468:       template<typename _CharT2>
> 28468:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
> 28468:       istreambuf_iterator<_CharT2> >::__type
> 28468:         find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
> 28468:       const _CharT2&);
> 28468: 
> 28468:       template<typename _CharT2, typename _Distance>
> 28468:         friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
> 28468:             void>::__type
> 28468:         advance(istreambuf_iterator<_CharT2>&, _Distance);
> 28468: 
> 28468:       template<typename _CharT2, typename _Traits2>
> 28468:         friend basic_istream<_CharT2, _Traits2>&
> 28468:         operator>>(basic_istream<_CharT2, _Traits2>&, _CharT2*);
> 28468: 
> 28468:       template<typename _CharT2, typename _Traits2, typename _Alloc>
> 28468:         friend basic_istream<_CharT2, _Traits2>&
> 28468:         operator>>(basic_istream<_CharT2, _Traits2>&,
> 28468:      basic_string<_CharT2, _Traits2, _Alloc>&);
> 28468: 
> 28468:       template<typename _CharT2, typename _Traits2, typename _Alloc>
> 28468:         friend basic_istream<_CharT2, _Traits2>&
> 28468:         getline(basic_istream<_CharT2, _Traits2>&,
> 28468:   basic_string<_CharT2, _Traits2, _Alloc>&, _CharT2);
> 28468: 
> 28468:     protected:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       char_type* _M_in_beg;
> 28468:       char_type* _M_in_cur;
> 28468:       char_type* _M_in_end;
> 28468:       char_type* _M_out_beg;
> 28468:       char_type* _M_out_cur;
> 28468:       char_type* _M_out_end;
> 28468: 
> 28468: 
> 28468:       locale _M_buf_locale;
> 28468: 
> 28468:   public:
> 28468: 
> 28468:       virtual
> 28468:       ~basic_streambuf()
> 28468:       { }
> 28468: # 215 "/usr/include/c++/9/streambuf" 3
> 28468:       locale
> 28468:       pubimbue(const locale& __loc)
> 28468:       {
> 28468:  locale __tmp(this->getloc());
> 28468:  this->imbue(__loc);
> 28468:  _M_buf_locale = __loc;
> 28468:  return __tmp;
> 28468:       }
> 28468: # 232 "/usr/include/c++/9/streambuf" 3
> 28468:       locale
> 28468:       getloc() const
> 28468:       { return _M_buf_locale; }
> 28468: # 245 "/usr/include/c++/9/streambuf" 3
> 28468:       basic_streambuf*
> 28468:       pubsetbuf(char_type* __s, streamsize __n)
> 28468:       { return this->setbuf(__s, __n); }
> 28468: # 257 "/usr/include/c++/9/streambuf" 3
> 28468:       pos_type
> 28468:       pubseekoff(off_type __off, ios_base::seekdir __way,
> 28468:    ios_base::openmode __mode = ios_base::in | ios_base::out)
> 28468:       { return this->seekoff(__off, __way, __mode); }
> 28468: # 269 "/usr/include/c++/9/streambuf" 3
> 28468:       pos_type
> 28468:       pubseekpos(pos_type __sp,
> 28468:    ios_base::openmode __mode = ios_base::in | ios_base::out)
> 28468:       { return this->seekpos(__sp, __mode); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       int
> 28468:       pubsync() { return this->sync(); }
> 28468: # 290 "/usr/include/c++/9/streambuf" 3
> 28468:       streamsize
> 28468:       in_avail()
> 28468:       {
> 28468:  const streamsize __ret = this->egptr() - this->gptr();
> 28468:  return __ret ? __ret : this->showmanyc();
> 28468:       }
> 28468: # 304 "/usr/include/c++/9/streambuf" 3
> 28468:       int_type
> 28468:       snextc()
> 28468:       {
> 28468:  int_type __ret = traits_type::eof();
> 28468:  if (__builtin_expect(!traits_type::eq_int_type(this->sbumpc(),
> 28468:              __ret), true))
> 28468:    __ret = this->sgetc();
> 28468:  return __ret;
> 28468:       }
> 28468: # 322 "/usr/include/c++/9/streambuf" 3
> 28468:       int_type
> 28468:       sbumpc()
> 28468:       {
> 28468:  int_type __ret;
> 28468:  if (__builtin_expect(this->gptr() < this->egptr(), true))
> 28468:    {
> 28468:      __ret = traits_type::to_int_type(*this->gptr());
> 28468:      this->gbump(1);
> 28468:    }
> 28468:  else
> 28468:    __ret = this->uflow();
> 28468:  return __ret;
> 28468:       }
> 28468: # 344 "/usr/include/c++/9/streambuf" 3
> 28468:       int_type
> 28468:       sgetc()
> 28468:       {
> 28468:  int_type __ret;
> 28468:  if (__builtin_expect(this->gptr() < this->egptr(), true))
> 28468:    __ret = traits_type::to_int_type(*this->gptr());
> 28468:  else
> 28468:    __ret = this->underflow();
> 28468:  return __ret;
> 28468:       }
> 28468: # 363 "/usr/include/c++/9/streambuf" 3
> 28468:       streamsize
> 28468:       sgetn(char_type* __s, streamsize __n)
> 28468:       { return this->xsgetn(__s, __n); }
> 28468: # 378 "/usr/include/c++/9/streambuf" 3
> 28468:       int_type
> 28468:       sputbackc(char_type __c)
> 28468:       {
> 28468:  int_type __ret;
> 28468:  const bool __testpos = this->eback() < this->gptr();
> 28468:  if (__builtin_expect(!__testpos ||
> 28468:         !traits_type::eq(__c, this->gptr()[-1]), false))
> 28468:    __ret = this->pbackfail(traits_type::to_int_type(__c));
> 28468:  else
> 28468:    {
> 28468:      this->gbump(-1);
> 28468:      __ret = traits_type::to_int_type(*this->gptr());
> 28468:    }
> 28468:  return __ret;
> 28468:       }
> 28468: # 403 "/usr/include/c++/9/streambuf" 3
> 28468:       int_type
> 28468:       sungetc()
> 28468:       {
> 28468:  int_type __ret;
> 28468:  if (__builtin_expect(this->eback() < this->gptr(), true))
> 28468:    {
> 28468:      this->gbump(-1);
> 28468:      __ret = traits_type::to_int_type(*this->gptr());
> 28468:    }
> 28468:  else
> 28468:    __ret = this->pbackfail();
> 28468:  return __ret;
> 28468:       }
> 28468: # 430 "/usr/include/c++/9/streambuf" 3
> 28468:       int_type
> 28468:       sputc(char_type __c)
> 28468:       {
> 28468:  int_type __ret;
> 28468:  if (__builtin_expect(this->pptr() < this->epptr(), true))
> 28468:    {
> 28468:      *this->pptr() = __c;
> 28468:      this->pbump(1);
> 28468:      __ret = traits_type::to_int_type(__c);
> 28468:    }
> 28468:  else
> 28468:    __ret = this->overflow(traits_type::to_int_type(__c));
> 28468:  return __ret;
> 28468:       }
> 28468: # 456 "/usr/include/c++/9/streambuf" 3
> 28468:       streamsize
> 28468:       sputn(const char_type* __s, streamsize __n)
> 28468:       { return this->xsputn(__s, __n); }
> 28468: 
> 28468:     protected:
> 28468: # 470 "/usr/include/c++/9/streambuf" 3
> 28468:       basic_streambuf()
> 28468:       : _M_in_beg(0), _M_in_cur(0), _M_in_end(0),
> 28468:       _M_out_beg(0), _M_out_cur(0), _M_out_end(0),
> 28468:       _M_buf_locale(locale())
> 28468:       { }
> 28468: # 488 "/usr/include/c++/9/streambuf" 3
> 28468:       char_type*
> 28468:       eback() const { return _M_in_beg; }
> 28468: 
> 28468:       char_type*
> 28468:       gptr() const { return _M_in_cur; }
> 28468: 
> 28468:       char_type*
> 28468:       egptr() const { return _M_in_end; }
> 28468: # 504 "/usr/include/c++/9/streambuf" 3
> 28468:       void
> 28468:       gbump(int __n) { _M_in_cur += __n; }
> 28468: # 515 "/usr/include/c++/9/streambuf" 3
> 28468:       void
> 28468:       setg(char_type* __gbeg, char_type* __gnext, char_type* __gend)
> 28468:       {
> 28468:  _M_in_beg = __gbeg;
> 28468:  _M_in_cur = __gnext;
> 28468:  _M_in_end = __gend;
> 28468:       }
> 28468: # 535 "/usr/include/c++/9/streambuf" 3
> 28468:       char_type*
> 28468:       pbase() const { return _M_out_beg; }
> 28468: 
> 28468:       char_type*
> 28468:       pptr() const { return _M_out_cur; }
> 28468: 
> 28468:       char_type*
> 28468:       epptr() const { return _M_out_end; }
> 28468: # 551 "/usr/include/c++/9/streambuf" 3
> 28468:       void
> 28468:       pbump(int __n) { _M_out_cur += __n; }
> 28468: # 561 "/usr/include/c++/9/streambuf" 3
> 28468:       void
> 28468:       setp(char_type* __pbeg, char_type* __pend)
> 28468:       {
> 28468:  _M_out_beg = _M_out_cur = __pbeg;
> 28468:  _M_out_end = __pend;
> 28468:       }
> 28468: # 582 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual void
> 28468:       imbue(const locale& __loc __attribute__ ((__unused__)))
> 28468:       { }
> 28468: # 597 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual basic_streambuf<char_type,_Traits>*
> 28468:       setbuf(char_type*, streamsize)
> 28468:       { return this; }
> 28468: # 608 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual pos_type
> 28468:       seekoff(off_type, ios_base::seekdir,
> 28468:        ios_base::openmode = ios_base::in | ios_base::out)
> 28468:       { return pos_type(off_type(-1)); }
> 28468: # 620 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual pos_type
> 28468:       seekpos(pos_type,
> 28468:        ios_base::openmode = ios_base::in | ios_base::out)
> 28468:       { return pos_type(off_type(-1)); }
> 28468: # 633 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual int
> 28468:       sync() { return 0; }
> 28468: # 655 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual streamsize
> 28468:       showmanyc() { return 0; }
> 28468: # 671 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual streamsize
> 28468:       xsgetn(char_type* __s, streamsize __n);
> 28468: # 693 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual int_type
> 28468:       underflow()
> 28468:       { return traits_type::eof(); }
> 28468: # 706 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual int_type
> 28468:       uflow()
> 28468:       {
> 28468:  int_type __ret = traits_type::eof();
> 28468:  const bool __testeof = traits_type::eq_int_type(this->underflow(),
> 28468:        __ret);
> 28468:  if (!__testeof)
> 28468:    {
> 28468:      __ret = traits_type::to_int_type(*this->gptr());
> 28468:      this->gbump(1);
> 28468:    }
> 28468:  return __ret;
> 28468:       }
> 28468: # 730 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual int_type
> 28468:       pbackfail(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
> 28468:       { return traits_type::eof(); }
> 28468: # 748 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual streamsize
> 28468:       xsputn(const char_type* __s, streamsize __n);
> 28468: # 774 "/usr/include/c++/9/streambuf" 3
> 28468:       virtual int_type
> 28468:       overflow(int_type __c __attribute__ ((__unused__)) = traits_type::eof())
> 28468:       { return traits_type::eof(); }
> 28468: 
> 28468: 
> 28468: 
> 28468:     public:
> 28468: # 790 "/usr/include/c++/9/streambuf" 3
> 28468:       [[__deprecated__("stossc is deprecated, use sbumpc instead")]]
> 28468: 
> 28468:       void
> 28468:       stossc()
> 28468:       {
> 28468:  if (this->gptr() < this->egptr())
> 28468:    this->gbump(1);
> 28468:  else
> 28468:    this->uflow();
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       __safe_gbump(streamsize __n) { _M_in_cur += __n; }
> 28468: 
> 28468:       void
> 28468:       __safe_pbump(streamsize __n) { _M_out_cur += __n; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       basic_streambuf(const basic_streambuf&);
> 28468: 
> 28468:       basic_streambuf&
> 28468:       operator=(const basic_streambuf&);
> 28468: 
> 28468: 
> 28468:       void
> 28468:       swap(basic_streambuf& __sb)
> 28468:       {
> 28468:  std::swap(_M_in_beg, __sb._M_in_beg);
> 28468:  std::swap(_M_in_cur, __sb._M_in_cur);
> 28468:  std::swap(_M_in_end, __sb._M_in_end);
> 28468:  std::swap(_M_out_beg, __sb._M_out_beg);
> 28468:  std::swap(_M_out_cur, __sb._M_out_cur);
> 28468:  std::swap(_M_out_end, __sb._M_out_end);
> 28468:  std::swap(_M_buf_locale, __sb._M_buf_locale);
> 28468:       }
> 28468: 
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     std::basic_streambuf<_CharT, _Traits>::
> 28468:     basic_streambuf(const basic_streambuf&) = default;
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     std::basic_streambuf<_CharT, _Traits>&
> 28468:     std::basic_streambuf<_CharT, _Traits>::
> 28468:     operator=(const basic_streambuf&) = default;
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     streamsize
> 28468:     __copy_streambufs_eof(basic_streambuf<char>* __sbin,
> 28468:      basic_streambuf<char>* __sbout, bool& __ineof);
> 28468: 
> 28468:   template<>
> 28468:     streamsize
> 28468:     __copy_streambufs_eof(basic_streambuf<wchar_t>* __sbin,
> 28468:      basic_streambuf<wchar_t>* __sbout, bool& __ineof);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/streambuf.tcc" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/streambuf.tcc" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/streambuf.tcc" 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     streamsize
> 28468:     basic_streambuf<_CharT, _Traits>::
> 28468:     xsgetn(char_type* __s, streamsize __n)
> 28468:     {
> 28468:       streamsize __ret = 0;
> 28468:       while (__ret < __n)
> 28468:  {
> 28468:    const streamsize __buf_len = this->egptr() - this->gptr();
> 28468:    if (__buf_len)
> 28468:      {
> 28468:        const streamsize __remaining = __n - __ret;
> 28468:        const streamsize __len = std::min(__buf_len, __remaining);
> 28468:        traits_type::copy(__s, this->gptr(), __len);
> 28468:        __ret += __len;
> 28468:        __s += __len;
> 28468:        this->__safe_gbump(__len);
> 28468:      }
> 28468: 
> 28468:    if (__ret < __n)
> 28468:      {
> 28468:        const int_type __c = this->uflow();
> 28468:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
> 28468:   {
> 28468:     traits_type::assign(*__s++, traits_type::to_char_type(__c));
> 28468:     ++__ret;
> 28468:   }
> 28468:        else
> 28468:   break;
> 28468:      }
> 28468:  }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     streamsize
> 28468:     basic_streambuf<_CharT, _Traits>::
> 28468:     xsputn(const char_type* __s, streamsize __n)
> 28468:     {
> 28468:       streamsize __ret = 0;
> 28468:       while (__ret < __n)
> 28468:  {
> 28468:    const streamsize __buf_len = this->epptr() - this->pptr();
> 28468:    if (__buf_len)
> 28468:      {
> 28468:        const streamsize __remaining = __n - __ret;
> 28468:        const streamsize __len = std::min(__buf_len, __remaining);
> 28468:        traits_type::copy(this->pptr(), __s, __len);
> 28468:        __ret += __len;
> 28468:        __s += __len;
> 28468:        this->__safe_pbump(__len);
> 28468:      }
> 28468: 
> 28468:    if (__ret < __n)
> 28468:      {
> 28468:        int_type __c = this->overflow(traits_type::to_int_type(*__s));
> 28468:        if (!traits_type::eq_int_type(__c, traits_type::eof()))
> 28468:   {
> 28468:     ++__ret;
> 28468:     ++__s;
> 28468:   }
> 28468:        else
> 28468:   break;
> 28468:      }
> 28468:  }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     streamsize
> 28468:     __copy_streambufs_eof(basic_streambuf<_CharT, _Traits>* __sbin,
> 28468:      basic_streambuf<_CharT, _Traits>* __sbout,
> 28468:      bool& __ineof)
> 28468:     {
> 28468:       streamsize __ret = 0;
> 28468:       __ineof = true;
> 28468:       typename _Traits::int_type __c = __sbin->sgetc();
> 28468:       while (!_Traits::eq_int_type(__c, _Traits::eof()))
> 28468:  {
> 28468:    __c = __sbout->sputc(_Traits::to_char_type(__c));
> 28468:    if (_Traits::eq_int_type(__c, _Traits::eof()))
> 28468:      {
> 28468:        __ineof = false;
> 28468:        break;
> 28468:      }
> 28468:    ++__ret;
> 28468:    __c = __sbin->snextc();
> 28468:  }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline streamsize
> 28468:     __copy_streambufs(basic_streambuf<_CharT, _Traits>* __sbin,
> 28468:         basic_streambuf<_CharT, _Traits>* __sbout)
> 28468:     {
> 28468:       bool __ineof;
> 28468:       return __copy_streambufs_eof(__sbin, __sbout, __ineof);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template class basic_streambuf<char>;
> 28468:   extern template
> 28468:     streamsize
> 28468:     __copy_streambufs(basic_streambuf<char>*,
> 28468:         basic_streambuf<char>*);
> 28468:   extern template
> 28468:     streamsize
> 28468:     __copy_streambufs_eof(basic_streambuf<char>*,
> 28468:      basic_streambuf<char>*, bool&);
> 28468: 
> 28468: 
> 28468:   extern template class basic_streambuf<wchar_t>;
> 28468:   extern template
> 28468:     streamsize
> 28468:     __copy_streambufs(basic_streambuf<wchar_t>*,
> 28468:         basic_streambuf<wchar_t>*);
> 28468:   extern template
> 28468:     streamsize
> 28468:     __copy_streambufs_eof(basic_streambuf<wchar_t>*,
> 28468:      basic_streambuf<wchar_t>*, bool&);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 863 "/usr/include/c++/9/streambuf" 2 3
> 28468: # 44 "/usr/include/c++/9/ios" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/basic_ios.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/locale_facets.h" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/cwctype" 1 3
> 28468: # 39 "/usr/include/c++/9/cwctype" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cwctype" 3
> 28468: # 50 "/usr/include/c++/9/cwctype" 3
> 28468: # 1 "/usr/include/wctype.h" 1 3 4
> 28468: # 38 "/usr/include/wctype.h" 3 4
> 28468: # 1 "/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h" 1 3 4
> 28468: # 38 "/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h" 3 4
> 28468: typedef unsigned long int wctype_t;
> 28468: # 56 "/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h" 3 4
> 28468: enum
> 28468: {
> 28468:   __ISwupper = 0,
> 28468:   __ISwlower = 1,
> 28468:   __ISwalpha = 2,
> 28468:   __ISwdigit = 3,
> 28468:   __ISwxdigit = 4,
> 28468:   __ISwspace = 5,
> 28468:   __ISwprint = 6,
> 28468:   __ISwgraph = 7,
> 28468:   __ISwblank = 8,
> 28468:   __ISwcntrl = 9,
> 28468:   __ISwpunct = 10,
> 28468:   __ISwalnum = 11,
> 28468: 
> 28468:   _ISwupper = ((__ISwupper) < 8 ? (int) ((1UL << (__ISwupper)) << 24) : ((__ISwupper) < 16 ? (int) ((1UL << (__ISwupper)) << 8) : ((__ISwupper) < 24 ? (int) ((1UL << (__ISwupper)) >> 8) : (int) ((1UL << (__ISwupper)) >> 24)))),
> 28468:   _ISwlower = ((__ISwlower) < 8 ? (int) ((1UL << (__ISwlower)) << 24) : ((__ISwlower) < 16 ? (int) ((1UL << (__ISwlower)) << 8) : ((__ISwlower) < 24 ? (int) ((1UL << (__ISwlower)) >> 8) : (int) ((1UL << (__ISwlower)) >> 24)))),
> 28468:   _ISwalpha = ((__ISwalpha) < 8 ? (int) ((1UL << (__ISwalpha)) << 24) : ((__ISwalpha) < 16 ? (int) ((1UL << (__ISwalpha)) << 8) : ((__ISwalpha) < 24 ? (int) ((1UL << (__ISwalpha)) >> 8) : (int) ((1UL << (__ISwalpha)) >> 24)))),
> 28468:   _ISwdigit = ((__ISwdigit) < 8 ? (int) ((1UL << (__ISwdigit)) << 24) : ((__ISwdigit) < 16 ? (int) ((1UL << (__ISwdigit)) << 8) : ((__ISwdigit) < 24 ? (int) ((1UL << (__ISwdigit)) >> 8) : (int) ((1UL << (__ISwdigit)) >> 24)))),
> 28468:   _ISwxdigit = ((__ISwxdigit) < 8 ? (int) ((1UL << (__ISwxdigit)) << 24) : ((__ISwxdigit) < 16 ? (int) ((1UL << (__ISwxdigit)) << 8) : ((__ISwxdigit) < 24 ? (int) ((1UL << (__ISwxdigit)) >> 8) : (int) ((1UL << (__ISwxdigit)) >> 24)))),
> 28468:   _ISwspace = ((__ISwspace) < 8 ? (int) ((1UL << (__ISwspace)) << 24) : ((__ISwspace) < 16 ? (int) ((1UL << (__ISwspace)) << 8) : ((__ISwspace) < 24 ? (int) ((1UL << (__ISwspace)) >> 8) : (int) ((1UL << (__ISwspace)) >> 24)))),
> 28468:   _ISwprint = ((__ISwprint) < 8 ? (int) ((1UL << (__ISwprint)) << 24) : ((__ISwprint) < 16 ? (int) ((1UL << (__ISwprint)) << 8) : ((__ISwprint) < 24 ? (int) ((1UL << (__ISwprint)) >> 8) : (int) ((1UL << (__ISwprint)) >> 24)))),
> 28468:   _ISwgraph = ((__ISwgraph) < 8 ? (int) ((1UL << (__ISwgraph)) << 24) : ((__ISwgraph) < 16 ? (int) ((1UL << (__ISwgraph)) << 8) : ((__ISwgraph) < 24 ? (int) ((1UL << (__ISwgraph)) >> 8) : (int) ((1UL << (__ISwgraph)) >> 24)))),
> 28468:   _ISwblank = ((__ISwblank) < 8 ? (int) ((1UL << (__ISwblank)) << 24) : ((__ISwblank) < 16 ? (int) ((1UL << (__ISwblank)) << 8) : ((__ISwblank) < 24 ? (int) ((1UL << (__ISwblank)) >> 8) : (int) ((1UL << (__ISwblank)) >> 24)))),
> 28468:   _ISwcntrl = ((__ISwcntrl) < 8 ? (int) ((1UL << (__ISwcntrl)) << 24) : ((__ISwcntrl) < 16 ? (int) ((1UL << (__ISwcntrl)) << 8) : ((__ISwcntrl) < 24 ? (int) ((1UL << (__ISwcntrl)) >> 8) : (int) ((1UL << (__ISwcntrl)) >> 24)))),
> 28468:   _ISwpunct = ((__ISwpunct) < 8 ? (int) ((1UL << (__ISwpunct)) << 24) : ((__ISwpunct) < 16 ? (int) ((1UL << (__ISwpunct)) << 8) : ((__ISwpunct) < 24 ? (int) ((1UL << (__ISwpunct)) >> 8) : (int) ((1UL << (__ISwpunct)) >> 24)))),
> 28468:   _ISwalnum = ((__ISwalnum) < 8 ? (int) ((1UL << (__ISwalnum)) << 24) : ((__ISwalnum) < 16 ? (int) ((1UL << (__ISwalnum)) << 8) : ((__ISwalnum) < 24 ? (int) ((1UL << (__ISwalnum)) >> 8) : (int) ((1UL << (__ISwalnum)) >> 24))))
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswalnum (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswalpha (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: extern int iswcntrl (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswdigit (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswgraph (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswlower (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: extern int iswprint (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswpunct (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswspace (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswupper (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswxdigit (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswblank (wint_t __wc) throw ();
> 28468: # 155 "/usr/include/x86_64-linux-gnu/bits/wctype-wchar.h" 3 4
> 28468: extern wctype_t wctype (const char *__property) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswctype (wint_t __wc, wctype_t __desc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wint_t towlower (wint_t __wc) throw ();
> 28468: 
> 28468: 
> 28468: extern wint_t towupper (wint_t __wc) throw ();
> 28468: 
> 28468: }
> 28468: # 39 "/usr/include/wctype.h" 2 3 4
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef const __int32_t *wctrans_t;
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wctrans_t wctrans (const char *__property) throw ();
> 28468: 
> 28468: 
> 28468: extern wint_t towctrans (wint_t __wc, wctrans_t __desc) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswalnum_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswalpha_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: extern int iswcntrl_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswdigit_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswgraph_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswlower_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: extern int iswprint_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswpunct_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswspace_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswupper_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswxdigit_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswblank_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wctype_t wctype_l (const char *__property, locale_t __locale)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern int iswctype_l (wint_t __wc, wctype_t __desc, locale_t __locale)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wint_t towlower_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: extern wint_t towupper_l (wint_t __wc, locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern wctrans_t wctrans_l (const char *__property, locale_t __locale)
> 28468:      throw ();
> 28468: 
> 28468: 
> 28468: extern wint_t towctrans_l (wint_t __wc, wctrans_t __desc,
> 28468:       locale_t __locale) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 51 "/usr/include/c++/9/cwctype" 2 3
> 28468: # 80 "/usr/include/c++/9/cwctype" 3
> 28468: namespace std
> 28468: {
> 28468:   using ::wctrans_t;
> 28468:   using ::wctype_t;
> 28468:   using ::wint_t;
> 28468: 
> 28468:   using ::iswalnum;
> 28468:   using ::iswalpha;
> 28468: 
> 28468:   using ::iswblank;
> 28468: 
> 28468:   using ::iswcntrl;
> 28468:   using ::iswctype;
> 28468:   using ::iswdigit;
> 28468:   using ::iswgraph;
> 28468:   using ::iswlower;
> 28468:   using ::iswprint;
> 28468:   using ::iswpunct;
> 28468:   using ::iswspace;
> 28468:   using ::iswupper;
> 28468:   using ::iswxdigit;
> 28468:   using ::towctrans;
> 28468:   using ::towlower;
> 28468:   using ::towupper;
> 28468:   using ::wctrans;
> 28468:   using ::wctype;
> 28468: }
> 28468: # 40 "/usr/include/c++/9/bits/locale_facets.h" 2 3
> 28468: # 1 "/usr/include/c++/9/cctype" 1 3
> 28468: # 39 "/usr/include/c++/9/cctype" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cctype" 3
> 28468: # 41 "/usr/include/c++/9/bits/locale_facets.h" 2 3
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_base.h" 1 3
> 28468: # 36 "/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_base.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct ctype_base
> 28468:   {
> 28468: 
> 28468:     typedef const int* __to_type;
> 28468: 
> 28468: 
> 28468: 
> 28468:     typedef unsigned short mask;
> 28468:     static const mask upper = _ISupper;
> 28468:     static const mask lower = _ISlower;
> 28468:     static const mask alpha = _ISalpha;
> 28468:     static const mask digit = _ISdigit;
> 28468:     static const mask xdigit = _ISxdigit;
> 28468:     static const mask space = _ISspace;
> 28468:     static const mask print = _ISprint;
> 28468:     static const mask graph = _ISalpha | _ISdigit | _ISpunct;
> 28468:     static const mask cntrl = _IScntrl;
> 28468:     static const mask punct = _ISpunct;
> 28468:     static const mask alnum = _ISalpha | _ISdigit;
> 28468: 
> 28468:     static const mask blank = _ISblank;
> 28468: 
> 28468:   };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 42 "/usr/include/c++/9/bits/locale_facets.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/streambuf_iterator.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/streambuf_iterator.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/streambuf_iterator.h" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 49 "/usr/include/c++/9/bits/streambuf_iterator.h" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     class istreambuf_iterator
> 28468:     : public iterator<input_iterator_tag, _CharT, typename _Traits::off_type,
> 28468:         _CharT*,
> 28468: 
> 28468: 
> 28468:         _CharT>
> 28468: 
> 28468: 
> 28468: 
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _Traits traits_type;
> 28468:       typedef typename _Traits::int_type int_type;
> 28468:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
> 28468:       typedef basic_istream<_CharT, _Traits> istream_type;
> 28468: 
> 28468: 
> 28468:       template<typename _CharT2>
> 28468:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
> 28468:         ostreambuf_iterator<_CharT2> >::__type
> 28468:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
> 28468:       ostreambuf_iterator<_CharT2>);
> 28468: 
> 28468:       template<bool _IsMove, typename _CharT2>
> 28468:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
> 28468:             _CharT2*>::__type
> 28468:  __copy_move_a2(istreambuf_iterator<_CharT2>,
> 28468:          istreambuf_iterator<_CharT2>, _CharT2*);
> 28468: 
> 28468:       template<typename _CharT2>
> 28468:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
> 28468:         istreambuf_iterator<_CharT2> >::__type
> 28468:  find(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
> 28468:       const _CharT2&);
> 28468: 
> 28468:       template<typename _CharT2, typename _Distance>
> 28468:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
> 28468:             void>::__type
> 28468:  advance(istreambuf_iterator<_CharT2>&, _Distance);
> 28468: 
> 28468:     private:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       mutable streambuf_type* _M_sbuf;
> 28468:       int_type _M_c;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       constexpr istreambuf_iterator() noexcept
> 28468:       : _M_sbuf(0), _M_c(traits_type::eof()) { }
> 28468: 
> 28468: 
> 28468:       istreambuf_iterator(const istreambuf_iterator&) noexcept = default;
> 28468: 
> 28468:       ~istreambuf_iterator() = default;
> 28468: 
> 28468: 
> 28468: 
> 28468:       istreambuf_iterator(istream_type& __s) noexcept
> 28468:       : _M_sbuf(__s.rdbuf()), _M_c(traits_type::eof()) { }
> 28468: 
> 28468: 
> 28468:       istreambuf_iterator(streambuf_type* __s) noexcept
> 28468:       : _M_sbuf(__s), _M_c(traits_type::eof()) { }
> 28468: 
> 28468: 
> 28468:       istreambuf_iterator&
> 28468:       operator=(const istreambuf_iterator&) noexcept = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       char_type
> 28468:       operator*() const
> 28468:       {
> 28468:  int_type __c = _M_get();
> 28468: # 144 "/usr/include/c++/9/bits/streambuf_iterator.h" 3
> 28468:  return traits_type::to_char_type(__c);
> 28468:       }
> 28468: 
> 28468: 
> 28468:       istreambuf_iterator&
> 28468:       operator++()
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:                         ;
> 28468: 
> 28468:  _M_sbuf->sbumpc();
> 28468:  _M_c = traits_type::eof();
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       istreambuf_iterator
> 28468:       operator++(int)
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:                         ;
> 28468: 
> 28468:  istreambuf_iterator __old = *this;
> 28468:  __old._M_c = _M_sbuf->sbumpc();
> 28468:  _M_c = traits_type::eof();
> 28468:  return __old;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       equal(const istreambuf_iterator& __b) const
> 28468:       { return _M_at_eof() == __b._M_at_eof(); }
> 28468: 
> 28468:     private:
> 28468:       int_type
> 28468:       _M_get() const
> 28468:       {
> 28468:  int_type __ret = _M_c;
> 28468:  if (_M_sbuf && _S_is_eof(__ret) && _S_is_eof(__ret = _M_sbuf->sgetc()))
> 28468:    _M_sbuf = 0;
> 28468:  return __ret;
> 28468:       }
> 28468: 
> 28468:       bool
> 28468:       _M_at_eof() const
> 28468:       { return _S_is_eof(_M_get()); }
> 28468: 
> 28468:       static bool
> 28468:       _S_is_eof(int_type __c)
> 28468:       {
> 28468:  const int_type __eof = traits_type::eof();
> 28468:  return traits_type::eq_int_type(__c, __eof);
> 28468:       }
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline bool
> 28468:     operator==(const istreambuf_iterator<_CharT, _Traits>& __a,
> 28468:         const istreambuf_iterator<_CharT, _Traits>& __b)
> 28468:     { return __a.equal(__b); }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline bool
> 28468:     operator!=(const istreambuf_iterator<_CharT, _Traits>& __a,
> 28468:         const istreambuf_iterator<_CharT, _Traits>& __b)
> 28468:     { return !__a.equal(__b); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     class ostreambuf_iterator
> 28468:     : public iterator<output_iterator_tag, void, void, void, void>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _Traits traits_type;
> 28468:       typedef basic_streambuf<_CharT, _Traits> streambuf_type;
> 28468:       typedef basic_ostream<_CharT, _Traits> ostream_type;
> 28468: 
> 28468: 
> 28468:       template<typename _CharT2>
> 28468:  friend typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value,
> 28468:         ostreambuf_iterator<_CharT2> >::__type
> 28468:  copy(istreambuf_iterator<_CharT2>, istreambuf_iterator<_CharT2>,
> 28468:       ostreambuf_iterator<_CharT2>);
> 28468: 
> 28468:     private:
> 28468:       streambuf_type* _M_sbuf;
> 28468:       bool _M_failed;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       ostreambuf_iterator(ostream_type& __s) noexcept
> 28468:       : _M_sbuf(__s.rdbuf()), _M_failed(!_M_sbuf) { }
> 28468: 
> 28468: 
> 28468:       ostreambuf_iterator(streambuf_type* __s) noexcept
> 28468:       : _M_sbuf(__s), _M_failed(!_M_sbuf) { }
> 28468: 
> 28468: 
> 28468:       ostreambuf_iterator&
> 28468:       operator=(_CharT __c)
> 28468:       {
> 28468:  if (!_M_failed &&
> 28468:      _Traits::eq_int_type(_M_sbuf->sputc(__c), _Traits::eof()))
> 28468:    _M_failed = true;
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       ostreambuf_iterator&
> 28468:       operator*()
> 28468:       { return *this; }
> 28468: 
> 28468: 
> 28468:       ostreambuf_iterator&
> 28468:       operator++(int)
> 28468:       { return *this; }
> 28468: 
> 28468: 
> 28468:       ostreambuf_iterator&
> 28468:       operator++()
> 28468:       { return *this; }
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       failed() const noexcept
> 28468:       { return _M_failed; }
> 28468: 
> 28468:       ostreambuf_iterator&
> 28468:       _M_put(const _CharT* __ws, streamsize __len)
> 28468:       {
> 28468:  if (__builtin_expect(!_M_failed, true)
> 28468:      && __builtin_expect(this->_M_sbuf->sputn(__ws, __len) != __len,
> 28468:     false))
> 28468:    _M_failed = true;
> 28468:  return *this;
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
> 28468:         ostreambuf_iterator<_CharT> >::__type
> 28468:     copy(istreambuf_iterator<_CharT> __first,
> 28468:   istreambuf_iterator<_CharT> __last,
> 28468:   ostreambuf_iterator<_CharT> __result)
> 28468:     {
> 28468:       if (__first._M_sbuf && !__last._M_sbuf && !__result._M_failed)
> 28468:  {
> 28468:    bool __ineof;
> 28468:    __copy_streambufs_eof(__first._M_sbuf, __result._M_sbuf, __ineof);
> 28468:    if (!__ineof)
> 28468:      __result._M_failed = true;
> 28468:  }
> 28468:       return __result;
> 28468:     }
> 28468: 
> 28468:   template<bool _IsMove, typename _CharT>
> 28468:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
> 28468:         ostreambuf_iterator<_CharT> >::__type
> 28468:     __copy_move_a2(_CharT* __first, _CharT* __last,
> 28468:      ostreambuf_iterator<_CharT> __result)
> 28468:     {
> 28468:       const streamsize __num = __last - __first;
> 28468:       if (__num > 0)
> 28468:  __result._M_put(__first, __num);
> 28468:       return __result;
> 28468:     }
> 28468: 
> 28468:   template<bool _IsMove, typename _CharT>
> 28468:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
> 28468:         ostreambuf_iterator<_CharT> >::__type
> 28468:     __copy_move_a2(const _CharT* __first, const _CharT* __last,
> 28468:      ostreambuf_iterator<_CharT> __result)
> 28468:     {
> 28468:       const streamsize __num = __last - __first;
> 28468:       if (__num > 0)
> 28468:  __result._M_put(__first, __num);
> 28468:       return __result;
> 28468:     }
> 28468: 
> 28468:   template<bool _IsMove, typename _CharT>
> 28468:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
> 28468:         _CharT*>::__type
> 28468:     __copy_move_a2(istreambuf_iterator<_CharT> __first,
> 28468:      istreambuf_iterator<_CharT> __last, _CharT* __result)
> 28468:     {
> 28468:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
> 28468:       typedef typename __is_iterator_type::traits_type traits_type;
> 28468:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
> 28468:       typedef typename traits_type::int_type int_type;
> 28468: 
> 28468:       if (__first._M_sbuf && !__last._M_sbuf)
> 28468:  {
> 28468:    streambuf_type* __sb = __first._M_sbuf;
> 28468:    int_type __c = __sb->sgetc();
> 28468:    while (!traits_type::eq_int_type(__c, traits_type::eof()))
> 28468:      {
> 28468:        const streamsize __n = __sb->egptr() - __sb->gptr();
> 28468:        if (__n > 1)
> 28468:   {
> 28468:     traits_type::copy(__result, __sb->gptr(), __n);
> 28468:     __sb->__safe_gbump(__n);
> 28468:     __result += __n;
> 28468:     __c = __sb->underflow();
> 28468:   }
> 28468:        else
> 28468:   {
> 28468:     *__result++ = traits_type::to_char_type(__c);
> 28468:     __c = __sb->snextc();
> 28468:   }
> 28468:      }
> 28468:  }
> 28468:       return __result;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
> 28468:           istreambuf_iterator<_CharT> >::__type
> 28468:     find(istreambuf_iterator<_CharT> __first,
> 28468:   istreambuf_iterator<_CharT> __last, const _CharT& __val)
> 28468:     {
> 28468:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
> 28468:       typedef typename __is_iterator_type::traits_type traits_type;
> 28468:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
> 28468:       typedef typename traits_type::int_type int_type;
> 28468:       const int_type __eof = traits_type::eof();
> 28468: 
> 28468:       if (__first._M_sbuf && !__last._M_sbuf)
> 28468:  {
> 28468:    const int_type __ival = traits_type::to_int_type(__val);
> 28468:    streambuf_type* __sb = __first._M_sbuf;
> 28468:    int_type __c = __sb->sgetc();
> 28468:    while (!traits_type::eq_int_type(__c, __eof)
> 28468:    && !traits_type::eq_int_type(__c, __ival))
> 28468:      {
> 28468:        streamsize __n = __sb->egptr() - __sb->gptr();
> 28468:        if (__n > 1)
> 28468:   {
> 28468:     const _CharT* __p = traits_type::find(__sb->gptr(),
> 28468:        __n, __val);
> 28468:     if (__p)
> 28468:       __n = __p - __sb->gptr();
> 28468:     __sb->__safe_gbump(__n);
> 28468:     __c = __sb->sgetc();
> 28468:   }
> 28468:        else
> 28468:   __c = __sb->snextc();
> 28468:      }
> 28468: 
> 28468:    __first._M_c = __eof;
> 28468:  }
> 28468: 
> 28468:       return __first;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Distance>
> 28468:     typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value,
> 28468:         void>::__type
> 28468:     advance(istreambuf_iterator<_CharT>& __i, _Distance __n)
> 28468:     {
> 28468:       if (__n == 0)
> 28468:  return;
> 28468: 
> 28468:       ;
> 28468:      
> 28468: 
> 28468:                            ;
> 28468: 
> 28468:       typedef istreambuf_iterator<_CharT> __is_iterator_type;
> 28468:       typedef typename __is_iterator_type::traits_type traits_type;
> 28468:       typedef typename __is_iterator_type::streambuf_type streambuf_type;
> 28468:       typedef typename traits_type::int_type int_type;
> 28468:       const int_type __eof = traits_type::eof();
> 28468: 
> 28468:       streambuf_type* __sb = __i._M_sbuf;
> 28468:       while (__n > 0)
> 28468:  {
> 28468:    streamsize __size = __sb->egptr() - __sb->gptr();
> 28468:    if (__size > __n)
> 28468:      {
> 28468:        __sb->__safe_gbump(__n);
> 28468:        break;
> 28468:      }
> 28468: 
> 28468:    __sb->__safe_gbump(__size);
> 28468:    __n -= __size;
> 28468:    if (traits_type::eq_int_type(__sb->underflow(), __eof))
> 28468:      {
> 28468:       
> 28468: 
> 28468:                       ;
> 28468:        break;
> 28468:      }
> 28468:  }
> 28468: 
> 28468:       __i._M_c = __eof;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 49 "/usr/include/c++/9/bits/locale_facets.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 71 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:   template<typename _Tp>
> 28468:     void
> 28468:     __convert_to_v(const char*, _Tp&, ios_base::iostate&,
> 28468:      const __c_locale&) throw();
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     __convert_to_v(const char*, float&, ios_base::iostate&,
> 28468:      const __c_locale&) throw();
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     __convert_to_v(const char*, double&, ios_base::iostate&,
> 28468:      const __c_locale&) throw();
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     __convert_to_v(const char*, long double&, ios_base::iostate&,
> 28468:      const __c_locale&) throw();
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     struct __pad
> 28468:     {
> 28468:       static void
> 28468:       _S_pad(ios_base& __io, _CharT __fill, _CharT* __news,
> 28468:       const _CharT* __olds, streamsize __newlen, streamsize __oldlen);
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     _CharT*
> 28468:     __add_grouping(_CharT* __s, _CharT __sep,
> 28468:      const char* __gbeg, size_t __gsize,
> 28468:      const _CharT* __first, const _CharT* __last);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline
> 28468:     ostreambuf_iterator<_CharT>
> 28468:     __write(ostreambuf_iterator<_CharT> __s, const _CharT* __ws, int __len)
> 28468:     {
> 28468:       __s._M_put(__ws, __len);
> 28468:       return __s;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     inline
> 28468:     _OutIter
> 28468:     __write(_OutIter __s, const _CharT* __ws, int __len)
> 28468:     {
> 28468:       for (int __j = 0; __j < __len; __j++, ++__s)
> 28468:  *__s = __ws[__j];
> 28468:       return __s;
> 28468:     }
> 28468: # 149 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:   template<typename _CharT>
> 28468:     class __ctype_abstract_base : public locale::facet, public ctype_base
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468: # 168 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       bool
> 28468:       is(mask __m, char_type __c) const
> 28468:       { return this->do_is(__m, __c); }
> 28468: # 185 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       const char_type*
> 28468:       is(const char_type *__lo, const char_type *__hi, mask *__vec) const
> 28468:       { return this->do_is(__lo, __hi, __vec); }
> 28468: # 201 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       const char_type*
> 28468:       scan_is(mask __m, const char_type* __lo, const char_type* __hi) const
> 28468:       { return this->do_scan_is(__m, __lo, __hi); }
> 28468: # 217 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       const char_type*
> 28468:       scan_not(mask __m, const char_type* __lo, const char_type* __hi) const
> 28468:       { return this->do_scan_not(__m, __lo, __hi); }
> 28468: # 231 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       char_type
> 28468:       toupper(char_type __c) const
> 28468:       { return this->do_toupper(__c); }
> 28468: # 246 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       const char_type*
> 28468:       toupper(char_type *__lo, const char_type* __hi) const
> 28468:       { return this->do_toupper(__lo, __hi); }
> 28468: # 260 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       char_type
> 28468:       tolower(char_type __c) const
> 28468:       { return this->do_tolower(__c); }
> 28468: # 275 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       const char_type*
> 28468:       tolower(char_type* __lo, const char_type* __hi) const
> 28468:       { return this->do_tolower(__lo, __hi); }
> 28468: # 292 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       char_type
> 28468:       widen(char __c) const
> 28468:       { return this->do_widen(__c); }
> 28468: # 311 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       const char*
> 28468:       widen(const char* __lo, const char* __hi, char_type* __to) const
> 28468:       { return this->do_widen(__lo, __hi, __to); }
> 28468: # 330 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       char
> 28468:       narrow(char_type __c, char __dfault) const
> 28468:       { return this->do_narrow(__c, __dfault); }
> 28468: # 352 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       const char_type*
> 28468:       narrow(const char_type* __lo, const char_type* __hi,
> 28468:        char __dfault, char* __to) const
> 28468:       { return this->do_narrow(__lo, __hi, __dfault, __to); }
> 28468: 
> 28468:     protected:
> 28468:       explicit
> 28468:       __ctype_abstract_base(size_t __refs = 0): facet(__refs) { }
> 28468: 
> 28468:       virtual
> 28468:       ~__ctype_abstract_base() { }
> 28468: # 377 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual bool
> 28468:       do_is(mask __m, char_type __c) const = 0;
> 28468: # 396 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_is(const char_type* __lo, const char_type* __hi,
> 28468:      mask* __vec) const = 0;
> 28468: # 415 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_scan_is(mask __m, const char_type* __lo,
> 28468:    const char_type* __hi) const = 0;
> 28468: # 434 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_scan_not(mask __m, const char_type* __lo,
> 28468:     const char_type* __hi) const = 0;
> 28468: # 452 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char_type
> 28468:       do_toupper(char_type __c) const = 0;
> 28468: # 469 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_toupper(char_type* __lo, const char_type* __hi) const = 0;
> 28468: # 485 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char_type
> 28468:       do_tolower(char_type __c) const = 0;
> 28468: # 502 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_tolower(char_type* __lo, const char_type* __hi) const = 0;
> 28468: # 521 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char_type
> 28468:       do_widen(char __c) const = 0;
> 28468: # 542 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char*
> 28468:       do_widen(const char* __lo, const char* __hi, char_type* __to) const = 0;
> 28468: # 563 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char
> 28468:       do_narrow(char_type __c, char __dfault) const = 0;
> 28468: # 588 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_narrow(const char_type* __lo, const char_type* __hi,
> 28468:   char __dfault, char* __to) const = 0;
> 28468:     };
> 28468: # 611 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:   template<typename _CharT>
> 28468:     class ctype : public __ctype_abstract_base<_CharT>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef typename __ctype_abstract_base<_CharT>::mask mask;
> 28468: 
> 28468: 
> 28468:       static locale::id id;
> 28468: 
> 28468:       explicit
> 28468:       ctype(size_t __refs = 0) : __ctype_abstract_base<_CharT>(__refs) { }
> 28468: 
> 28468:    protected:
> 28468:       virtual
> 28468:       ~ctype();
> 28468: 
> 28468:       virtual bool
> 28468:       do_is(mask __m, char_type __c) const;
> 28468: 
> 28468:       virtual const char_type*
> 28468:       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
> 28468: 
> 28468:       virtual const char_type*
> 28468:       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
> 28468: 
> 28468:       virtual const char_type*
> 28468:       do_scan_not(mask __m, const char_type* __lo,
> 28468:     const char_type* __hi) const;
> 28468: 
> 28468:       virtual char_type
> 28468:       do_toupper(char_type __c) const;
> 28468: 
> 28468:       virtual const char_type*
> 28468:       do_toupper(char_type* __lo, const char_type* __hi) const;
> 28468: 
> 28468:       virtual char_type
> 28468:       do_tolower(char_type __c) const;
> 28468: 
> 28468:       virtual const char_type*
> 28468:       do_tolower(char_type* __lo, const char_type* __hi) const;
> 28468: 
> 28468:       virtual char_type
> 28468:       do_widen(char __c) const;
> 28468: 
> 28468:       virtual const char*
> 28468:       do_widen(const char* __lo, const char* __hi, char_type* __dest) const;
> 28468: 
> 28468:       virtual char
> 28468:       do_narrow(char_type, char __dfault) const;
> 28468: 
> 28468:       virtual const char_type*
> 28468:       do_narrow(const char_type* __lo, const char_type* __hi,
> 28468:   char __dfault, char* __to) const;
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     locale::id ctype<_CharT>::id;
> 28468: # 680 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:   template<>
> 28468:     class ctype<char> : public locale::facet, public ctype_base
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468:       typedef char char_type;
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       __c_locale _M_c_locale_ctype;
> 28468:       bool _M_del;
> 28468:       __to_type _M_toupper;
> 28468:       __to_type _M_tolower;
> 28468:       const mask* _M_table;
> 28468:       mutable char _M_widen_ok;
> 28468:       mutable char _M_widen[1 + static_cast<unsigned char>(-1)];
> 28468:       mutable char _M_narrow[1 + static_cast<unsigned char>(-1)];
> 28468:       mutable char _M_narrow_ok;
> 28468: 
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       static locale::id id;
> 28468: 
> 28468:       static const size_t table_size = 1 + static_cast<unsigned char>(-1);
> 28468: # 717 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       explicit
> 28468:       ctype(const mask* __table = 0, bool __del = false, size_t __refs = 0);
> 28468: # 730 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       explicit
> 28468:       ctype(__c_locale __cloc, const mask* __table = 0, bool __del = false,
> 28468:      size_t __refs = 0);
> 28468: # 743 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       inline bool
> 28468:       is(mask __m, char __c) const;
> 28468: # 758 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       inline const char*
> 28468:       is(const char* __lo, const char* __hi, mask* __vec) const;
> 28468: # 772 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       inline const char*
> 28468:       scan_is(mask __m, const char* __lo, const char* __hi) const;
> 28468: # 786 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       inline const char*
> 28468:       scan_not(mask __m, const char* __lo, const char* __hi) const;
> 28468: # 801 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       char_type
> 28468:       toupper(char_type __c) const
> 28468:       { return this->do_toupper(__c); }
> 28468: # 818 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       const char_type*
> 28468:       toupper(char_type *__lo, const char_type* __hi) const
> 28468:       { return this->do_toupper(__lo, __hi); }
> 28468: # 834 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       char_type
> 28468:       tolower(char_type __c) const
> 28468:       { return this->do_tolower(__c); }
> 28468: # 851 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       const char_type*
> 28468:       tolower(char_type* __lo, const char_type* __hi) const
> 28468:       { return this->do_tolower(__lo, __hi); }
> 28468: # 871 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       char_type
> 28468:       widen(char __c) const
> 28468:       {
> 28468:  if (_M_widen_ok)
> 28468:    return _M_widen[static_cast<unsigned char>(__c)];
> 28468:  this->_M_widen_init();
> 28468:  return this->do_widen(__c);
> 28468:       }
> 28468: # 898 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       const char*
> 28468:       widen(const char* __lo, const char* __hi, char_type* __to) const
> 28468:       {
> 28468:  if (_M_widen_ok == 1)
> 28468:    {
> 28468:      if (__builtin_expect(__hi != __lo, true))
> 28468:        __builtin_memcpy(__to, __lo, __hi - __lo);
> 28468:      return __hi;
> 28468:    }
> 28468:  if (!_M_widen_ok)
> 28468:    _M_widen_init();
> 28468:  return this->do_widen(__lo, __hi, __to);
> 28468:       }
> 28468: # 930 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       char
> 28468:       narrow(char_type __c, char __dfault) const
> 28468:       {
> 28468:  if (_M_narrow[static_cast<unsigned char>(__c)])
> 28468:    return _M_narrow[static_cast<unsigned char>(__c)];
> 28468:  const char __t = do_narrow(__c, __dfault);
> 28468:  if (__t != __dfault)
> 28468:    _M_narrow[static_cast<unsigned char>(__c)] = __t;
> 28468:  return __t;
> 28468:       }
> 28468: # 963 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       const char_type*
> 28468:       narrow(const char_type* __lo, const char_type* __hi,
> 28468:       char __dfault, char* __to) const
> 28468:       {
> 28468:  if (__builtin_expect(_M_narrow_ok == 1, true))
> 28468:    {
> 28468:      if (__builtin_expect(__hi != __lo, true))
> 28468:        __builtin_memcpy(__to, __lo, __hi - __lo);
> 28468:      return __hi;
> 28468:    }
> 28468:  if (!_M_narrow_ok)
> 28468:    _M_narrow_init();
> 28468:  return this->do_narrow(__lo, __hi, __dfault, __to);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const mask*
> 28468:       table() const throw()
> 28468:       { return _M_table; }
> 28468: 
> 28468: 
> 28468:       static const mask*
> 28468:       classic_table() throw();
> 28468:     protected:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       virtual
> 28468:       ~ctype();
> 28468: # 1013 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char_type
> 28468:       do_toupper(char_type __c) const;
> 28468: # 1030 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_toupper(char_type* __lo, const char_type* __hi) const;
> 28468: # 1046 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char_type
> 28468:       do_tolower(char_type __c) const;
> 28468: # 1063 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_tolower(char_type* __lo, const char_type* __hi) const;
> 28468: # 1083 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char_type
> 28468:       do_widen(char __c) const
> 28468:       { return __c; }
> 28468: # 1106 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char*
> 28468:       do_widen(const char* __lo, const char* __hi, char_type* __to) const
> 28468:       {
> 28468:  if (__builtin_expect(__hi != __lo, true))
> 28468:    __builtin_memcpy(__to, __lo, __hi - __lo);
> 28468:  return __hi;
> 28468:       }
> 28468: # 1133 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char
> 28468:       do_narrow(char_type __c, char __dfault __attribute__((__unused__))) const
> 28468:       { return __c; }
> 28468: # 1159 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_narrow(const char_type* __lo, const char_type* __hi,
> 28468:   char __dfault __attribute__((__unused__)), char* __to) const
> 28468:       {
> 28468:  if (__builtin_expect(__hi != __lo, true))
> 28468:    __builtin_memcpy(__to, __lo, __hi - __lo);
> 28468:  return __hi;
> 28468:       }
> 28468: 
> 28468:     private:
> 28468:       void _M_narrow_init() const;
> 28468:       void _M_widen_init() const;
> 28468:     };
> 28468: # 1185 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:   template<>
> 28468:     class ctype<wchar_t> : public __ctype_abstract_base<wchar_t>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468:       typedef wchar_t char_type;
> 28468:       typedef wctype_t __wmask_type;
> 28468: 
> 28468:     protected:
> 28468:       __c_locale _M_c_locale_ctype;
> 28468: 
> 28468: 
> 28468:       bool _M_narrow_ok;
> 28468:       char _M_narrow[128];
> 28468:       wint_t _M_widen[1 + static_cast<unsigned char>(-1)];
> 28468: 
> 28468: 
> 28468:       mask _M_bit[16];
> 28468:       __wmask_type _M_wmask[16];
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468:       static locale::id id;
> 28468: # 1218 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       explicit
> 28468:       ctype(size_t __refs = 0);
> 28468: # 1229 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       explicit
> 28468:       ctype(__c_locale __cloc, size_t __refs = 0);
> 28468: 
> 28468:     protected:
> 28468:       __wmask_type
> 28468:       _M_convert_to_wmask(const mask __m) const throw();
> 28468: 
> 28468: 
> 28468:       virtual
> 28468:       ~ctype();
> 28468: # 1253 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual bool
> 28468:       do_is(mask __m, char_type __c) const;
> 28468: # 1272 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_is(const char_type* __lo, const char_type* __hi, mask* __vec) const;
> 28468: # 1290 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_scan_is(mask __m, const char_type* __lo, const char_type* __hi) const;
> 28468: # 1308 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_scan_not(mask __m, const char_type* __lo,
> 28468:     const char_type* __hi) const;
> 28468: # 1325 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char_type
> 28468:       do_toupper(char_type __c) const;
> 28468: # 1342 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_toupper(char_type* __lo, const char_type* __hi) const;
> 28468: # 1358 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char_type
> 28468:       do_tolower(char_type __c) const;
> 28468: # 1375 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_tolower(char_type* __lo, const char_type* __hi) const;
> 28468: # 1395 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char_type
> 28468:       do_widen(char __c) const;
> 28468: # 1417 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char*
> 28468:       do_widen(const char* __lo, const char* __hi, char_type* __to) const;
> 28468: # 1440 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char
> 28468:       do_narrow(char_type __c, char __dfault) const;
> 28468: # 1466 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual const char_type*
> 28468:       do_narrow(const char_type* __lo, const char_type* __hi,
> 28468:   char __dfault, char* __to) const;
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_initialize_ctype() throw();
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     class ctype_byname : public ctype<_CharT>
> 28468:     {
> 28468:     public:
> 28468:       typedef typename ctype<_CharT>::mask mask;
> 28468: 
> 28468:       explicit
> 28468:       ctype_byname(const char* __s, size_t __refs = 0);
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       ctype_byname(const string& __s, size_t __refs = 0)
> 28468:       : ctype_byname(__s.c_str(), __refs) { }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~ctype_byname() { }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     class ctype_byname<char> : public ctype<char>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       ctype_byname(const char* __s, size_t __refs = 0);
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       ctype_byname(const string& __s, size_t __refs = 0);
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~ctype_byname();
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     class ctype_byname<wchar_t> : public ctype<wchar_t>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       ctype_byname(const char* __s, size_t __refs = 0);
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       ctype_byname(const string& __s, size_t __refs = 0);
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~ctype_byname();
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_inline.h" 1 3
> 28468: # 37 "/usr/include/x86_64-linux-gnu/c++/9/bits/ctype_inline.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   bool
> 28468:   ctype<char>::
> 28468:   is(mask __m, char __c) const
> 28468:   { return _M_table[static_cast<unsigned char>(__c)] & __m; }
> 28468: 
> 28468:   const char*
> 28468:   ctype<char>::
> 28468:   is(const char* __low, const char* __high, mask* __vec) const
> 28468:   {
> 28468:     while (__low < __high)
> 28468:       *__vec++ = _M_table[static_cast<unsigned char>(*__low++)];
> 28468:     return __high;
> 28468:   }
> 28468: 
> 28468:   const char*
> 28468:   ctype<char>::
> 28468:   scan_is(mask __m, const char* __low, const char* __high) const
> 28468:   {
> 28468:     while (__low < __high
> 28468:     && !(_M_table[static_cast<unsigned char>(*__low)] & __m))
> 28468:       ++__low;
> 28468:     return __low;
> 28468:   }
> 28468: 
> 28468:   const char*
> 28468:   ctype<char>::
> 28468:   scan_not(mask __m, const char* __low, const char* __high) const
> 28468:   {
> 28468:     while (__low < __high
> 28468:     && (_M_table[static_cast<unsigned char>(*__low)] & __m) != 0)
> 28468:       ++__low;
> 28468:     return __low;
> 28468:   }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 1539 "/usr/include/c++/9/bits/locale_facets.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   class __num_base
> 28468:   {
> 28468:   public:
> 28468: 
> 28468: 
> 28468:     enum
> 28468:       {
> 28468:  _S_ominus,
> 28468:  _S_oplus,
> 28468:  _S_ox,
> 28468:  _S_oX,
> 28468:  _S_odigits,
> 28468:  _S_odigits_end = _S_odigits + 16,
> 28468:  _S_oudigits = _S_odigits_end,
> 28468:  _S_oudigits_end = _S_oudigits + 16,
> 28468:  _S_oe = _S_odigits + 14,
> 28468:  _S_oE = _S_oudigits + 14,
> 28468:  _S_oend = _S_oudigits_end
> 28468:       };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const char* _S_atoms_out;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const char* _S_atoms_in;
> 28468: 
> 28468:     enum
> 28468:     {
> 28468:       _S_iminus,
> 28468:       _S_iplus,
> 28468:       _S_ix,
> 28468:       _S_iX,
> 28468:       _S_izero,
> 28468:       _S_ie = _S_izero + 14,
> 28468:       _S_iE = _S_izero + 20,
> 28468:       _S_iend = 26
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:     static void
> 28468:     _S_format_float(const ios_base& __io, char* __fptr, char __mod) throw();
> 28468:   };
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     struct __numpunct_cache : public locale::facet
> 28468:     {
> 28468:       const char* _M_grouping;
> 28468:       size_t _M_grouping_size;
> 28468:       bool _M_use_grouping;
> 28468:       const _CharT* _M_truename;
> 28468:       size_t _M_truename_size;
> 28468:       const _CharT* _M_falsename;
> 28468:       size_t _M_falsename_size;
> 28468:       _CharT _M_decimal_point;
> 28468:       _CharT _M_thousands_sep;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       _CharT _M_atoms_out[__num_base::_S_oend];
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       _CharT _M_atoms_in[__num_base::_S_iend];
> 28468: 
> 28468:       bool _M_allocated;
> 28468: 
> 28468:       __numpunct_cache(size_t __refs = 0)
> 28468:       : facet(__refs), _M_grouping(0), _M_grouping_size(0),
> 28468:  _M_use_grouping(false),
> 28468:  _M_truename(0), _M_truename_size(0), _M_falsename(0),
> 28468:  _M_falsename_size(0), _M_decimal_point(_CharT()),
> 28468:  _M_thousands_sep(_CharT()), _M_allocated(false)
> 28468:  { }
> 28468: 
> 28468:       ~__numpunct_cache();
> 28468: 
> 28468:       void
> 28468:       _M_cache(const locale& __loc);
> 28468: 
> 28468:     private:
> 28468:       __numpunct_cache&
> 28468:       operator=(const __numpunct_cache&);
> 28468: 
> 28468:       explicit
> 28468:       __numpunct_cache(const __numpunct_cache&);
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     __numpunct_cache<_CharT>::~__numpunct_cache()
> 28468:     {
> 28468:       if (_M_allocated)
> 28468:  {
> 28468:    delete [] _M_grouping;
> 28468:    delete [] _M_truename;
> 28468:    delete [] _M_falsename;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: namespace __cxx11 {
> 28468: # 1669 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:   template<typename _CharT>
> 28468:     class numpunct : public locale::facet
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef basic_string<_CharT> string_type;
> 28468: 
> 28468:       typedef __numpunct_cache<_CharT> __cache_type;
> 28468: 
> 28468:     protected:
> 28468:       __cache_type* _M_data;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       static locale::id id;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       numpunct(size_t __refs = 0)
> 28468:       : facet(__refs), _M_data(0)
> 28468:       { _M_initialize_numpunct(); }
> 28468: # 1707 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       explicit
> 28468:       numpunct(__cache_type* __cache, size_t __refs = 0)
> 28468:       : facet(__refs), _M_data(__cache)
> 28468:       { _M_initialize_numpunct(); }
> 28468: # 1721 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       explicit
> 28468:       numpunct(__c_locale __cloc, size_t __refs = 0)
> 28468:       : facet(__refs), _M_data(0)
> 28468:       { _M_initialize_numpunct(__cloc); }
> 28468: # 1735 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       char_type
> 28468:       decimal_point() const
> 28468:       { return this->do_decimal_point(); }
> 28468: # 1748 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       char_type
> 28468:       thousands_sep() const
> 28468:       { return this->do_thousands_sep(); }
> 28468: # 1779 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       string
> 28468:       grouping() const
> 28468:       { return this->do_grouping(); }
> 28468: # 1792 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       string_type
> 28468:       truename() const
> 28468:       { return this->do_truename(); }
> 28468: # 1805 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       string_type
> 28468:       falsename() const
> 28468:       { return this->do_falsename(); }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       virtual
> 28468:       ~numpunct();
> 28468: # 1822 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char_type
> 28468:       do_decimal_point() const
> 28468:       { return _M_data->_M_decimal_point; }
> 28468: # 1834 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual char_type
> 28468:       do_thousands_sep() const
> 28468:       { return _M_data->_M_thousands_sep; }
> 28468: # 1847 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual string
> 28468:       do_grouping() const
> 28468:       { return _M_data->_M_grouping; }
> 28468: # 1860 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual string_type
> 28468:       do_truename() const
> 28468:       { return _M_data->_M_truename; }
> 28468: # 1873 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual string_type
> 28468:       do_falsename() const
> 28468:       { return _M_data->_M_falsename; }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_initialize_numpunct(__c_locale __cloc = 0);
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     locale::id numpunct<_CharT>::id;
> 28468: 
> 28468:   template<>
> 28468:     numpunct<char>::~numpunct();
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     numpunct<char>::_M_initialize_numpunct(__c_locale __cloc);
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     numpunct<wchar_t>::~numpunct();
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     numpunct<wchar_t>::_M_initialize_numpunct(__c_locale __cloc);
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     class numpunct_byname : public numpunct<_CharT>
> 28468:     {
> 28468:     public:
> 28468:       typedef _CharT char_type;
> 28468:       typedef basic_string<_CharT> string_type;
> 28468: 
> 28468:       explicit
> 28468:       numpunct_byname(const char* __s, size_t __refs = 0)
> 28468:       : numpunct<_CharT>(__refs)
> 28468:       {
> 28468:  if (__builtin_strcmp(__s, "C") != 0
> 28468:      && __builtin_strcmp(__s, "POSIX") != 0)
> 28468:    {
> 28468:      __c_locale __tmp;
> 28468:      this->_S_create_c_locale(__tmp, __s);
> 28468:      this->_M_initialize_numpunct(__tmp);
> 28468:      this->_S_destroy_c_locale(__tmp);
> 28468:    }
> 28468:       }
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       numpunct_byname(const string& __s, size_t __refs = 0)
> 28468:       : numpunct_byname(__s.c_str(), __refs) { }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~numpunct_byname() { }
> 28468:     };
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: # 1951 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     class num_get : public locale::facet
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _InIter iter_type;
> 28468: 
> 28468: 
> 28468: 
> 28468:       static locale::id id;
> 28468: # 1972 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       explicit
> 28468:       num_get(size_t __refs = 0) : facet(__refs) { }
> 28468: # 1998 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       iter_type
> 28468:       get(iter_type __in, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, bool& __v) const
> 28468:       { return this->do_get(__in, __end, __io, __err, __v); }
> 28468: # 2035 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       iter_type
> 28468:       get(iter_type __in, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, long& __v) const
> 28468:       { return this->do_get(__in, __end, __io, __err, __v); }
> 28468: 
> 28468:       iter_type
> 28468:       get(iter_type __in, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, unsigned short& __v) const
> 28468:       { return this->do_get(__in, __end, __io, __err, __v); }
> 28468: 
> 28468:       iter_type
> 28468:       get(iter_type __in, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, unsigned int& __v) const
> 28468:       { return this->do_get(__in, __end, __io, __err, __v); }
> 28468: 
> 28468:       iter_type
> 28468:       get(iter_type __in, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, unsigned long& __v) const
> 28468:       { return this->do_get(__in, __end, __io, __err, __v); }
> 28468: 
> 28468: 
> 28468:       iter_type
> 28468:       get(iter_type __in, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, long long& __v) const
> 28468:       { return this->do_get(__in, __end, __io, __err, __v); }
> 28468: 
> 28468:       iter_type
> 28468:       get(iter_type __in, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, unsigned long long& __v) const
> 28468:       { return this->do_get(__in, __end, __io, __err, __v); }
> 28468: # 2095 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       iter_type
> 28468:       get(iter_type __in, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, float& __v) const
> 28468:       { return this->do_get(__in, __end, __io, __err, __v); }
> 28468: 
> 28468:       iter_type
> 28468:       get(iter_type __in, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, double& __v) const
> 28468:       { return this->do_get(__in, __end, __io, __err, __v); }
> 28468: 
> 28468:       iter_type
> 28468:       get(iter_type __in, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, long double& __v) const
> 28468:       { return this->do_get(__in, __end, __io, __err, __v); }
> 28468: # 2138 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       iter_type
> 28468:       get(iter_type __in, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, void*& __v) const
> 28468:       { return this->do_get(__in, __end, __io, __err, __v); }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       virtual ~num_get() { }
> 28468: 
> 28468:       __attribute ((__abi_tag__ ("cxx11")))
> 28468:       iter_type
> 28468:       _M_extract_float(iter_type, iter_type, ios_base&, ios_base::iostate&,
> 28468:          string&) const;
> 28468: 
> 28468:       template<typename _ValueT>
> 28468:  __attribute ((__abi_tag__ ("cxx11")))
> 28468:  iter_type
> 28468:  _M_extract_int(iter_type, iter_type, ios_base&, ios_base::iostate&,
> 28468:          _ValueT&) const;
> 28468: 
> 28468:       template<typename _CharT2>
> 28468:       typename __gnu_cxx::__enable_if<__is_char<_CharT2>::__value, int>::__type
> 28468:  _M_find(const _CharT2*, size_t __len, _CharT2 __c) const
> 28468:  {
> 28468:    int __ret = -1;
> 28468:    if (__len <= 10)
> 28468:      {
> 28468:        if (__c >= _CharT2('0') && __c < _CharT2(_CharT2('0') + __len))
> 28468:   __ret = __c - _CharT2('0');
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        if (__c >= _CharT2('0') && __c <= _CharT2('9'))
> 28468:   __ret = __c - _CharT2('0');
> 28468:        else if (__c >= _CharT2('a') && __c <= _CharT2('f'))
> 28468:   __ret = 10 + (__c - _CharT2('a'));
> 28468:        else if (__c >= _CharT2('A') && __c <= _CharT2('F'))
> 28468:   __ret = 10 + (__c - _CharT2('A'));
> 28468:      }
> 28468:    return __ret;
> 28468:  }
> 28468: 
> 28468:       template<typename _CharT2>
> 28468:       typename __gnu_cxx::__enable_if<!__is_char<_CharT2>::__value,
> 28468:           int>::__type
> 28468:  _M_find(const _CharT2* __zero, size_t __len, _CharT2 __c) const
> 28468:  {
> 28468:    int __ret = -1;
> 28468:    const char_type* __q = char_traits<_CharT2>::find(__zero, __len, __c);
> 28468:    if (__q)
> 28468:      {
> 28468:        __ret = __q - __zero;
> 28468:        if (__ret > 15)
> 28468:   __ret -= 6;
> 28468:      }
> 28468:    return __ret;
> 28468:  }
> 28468: # 2211 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual iter_type
> 28468:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, bool&) const;
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:       ios_base::iostate& __err, long& __v) const
> 28468:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:       ios_base::iostate& __err, unsigned short& __v) const
> 28468:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:       ios_base::iostate& __err, unsigned int& __v) const
> 28468:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:       ios_base::iostate& __err, unsigned long& __v) const
> 28468:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
> 28468: 
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:       ios_base::iostate& __err, long long& __v) const
> 28468:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:       ios_base::iostate& __err, unsigned long long& __v) const
> 28468:       { return _M_extract_int(__beg, __end, __io, __err, __v); }
> 28468: 
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, float&) const;
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
> 28468:       double&) const;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&,
> 28468:       long double&) const;
> 28468: 
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_get(iter_type, iter_type, ios_base&, ios_base::iostate&, void*&) const;
> 28468: # 2274 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     locale::id num_get<_CharT, _InIter>::id;
> 28468: # 2292 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     class num_put : public locale::facet
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _OutIter iter_type;
> 28468: 
> 28468: 
> 28468: 
> 28468:       static locale::id id;
> 28468: # 2313 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       explicit
> 28468:       num_put(size_t __refs = 0) : facet(__refs) { }
> 28468: # 2331 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       iter_type
> 28468:       put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
> 28468:       { return this->do_put(__s, __io, __fill, __v); }
> 28468: # 2373 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       iter_type
> 28468:       put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
> 28468:       { return this->do_put(__s, __io, __fill, __v); }
> 28468: 
> 28468:       iter_type
> 28468:       put(iter_type __s, ios_base& __io, char_type __fill,
> 28468:    unsigned long __v) const
> 28468:       { return this->do_put(__s, __io, __fill, __v); }
> 28468: 
> 28468: 
> 28468:       iter_type
> 28468:       put(iter_type __s, ios_base& __io, char_type __fill, long long __v) const
> 28468:       { return this->do_put(__s, __io, __fill, __v); }
> 28468: 
> 28468:       iter_type
> 28468:       put(iter_type __s, ios_base& __io, char_type __fill,
> 28468:    unsigned long long __v) const
> 28468:       { return this->do_put(__s, __io, __fill, __v); }
> 28468: # 2436 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       iter_type
> 28468:       put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
> 28468:       { return this->do_put(__s, __io, __fill, __v); }
> 28468: 
> 28468:       iter_type
> 28468:       put(iter_type __s, ios_base& __io, char_type __fill,
> 28468:    long double __v) const
> 28468:       { return this->do_put(__s, __io, __fill, __v); }
> 28468: # 2461 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       iter_type
> 28468:       put(iter_type __s, ios_base& __io, char_type __fill,
> 28468:    const void* __v) const
> 28468:       { return this->do_put(__s, __io, __fill, __v); }
> 28468: 
> 28468:     protected:
> 28468:       template<typename _ValueT>
> 28468:  iter_type
> 28468:  _M_insert_float(iter_type, ios_base& __io, char_type __fill,
> 28468:    char __mod, _ValueT __v) const;
> 28468: 
> 28468:       void
> 28468:       _M_group_float(const char* __grouping, size_t __grouping_size,
> 28468:        char_type __sep, const char_type* __p, char_type* __new,
> 28468:        char_type* __cs, int& __len) const;
> 28468: 
> 28468:       template<typename _ValueT>
> 28468:  iter_type
> 28468:  _M_insert_int(iter_type, ios_base& __io, char_type __fill,
> 28468:         _ValueT __v) const;
> 28468: 
> 28468:       void
> 28468:       _M_group_int(const char* __grouping, size_t __grouping_size,
> 28468:      char_type __sep, ios_base& __io, char_type* __new,
> 28468:      char_type* __cs, int& __len) const;
> 28468: 
> 28468:       void
> 28468:       _M_pad(char_type __fill, streamsize __w, ios_base& __io,
> 28468:       char_type* __new, const char_type* __cs, int& __len) const;
> 28468: 
> 28468: 
> 28468:       virtual
> 28468:       ~num_put() { }
> 28468: # 2509 "/usr/include/c++/9/bits/locale_facets.h" 3
> 28468:       virtual iter_type
> 28468:       do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const;
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_put(iter_type __s, ios_base& __io, char_type __fill, long __v) const
> 28468:       { return _M_insert_int(__s, __io, __fill, __v); }
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_put(iter_type __s, ios_base& __io, char_type __fill,
> 28468:       unsigned long __v) const
> 28468:       { return _M_insert_int(__s, __io, __fill, __v); }
> 28468: 
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_put(iter_type __s, ios_base& __io, char_type __fill,
> 28468:       long long __v) const
> 28468:       { return _M_insert_int(__s, __io, __fill, __v); }
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_put(iter_type __s, ios_base& __io, char_type __fill,
> 28468:       unsigned long long __v) const
> 28468:       { return _M_insert_int(__s, __io, __fill, __v); }
> 28468: 
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_put(iter_type, ios_base&, char_type, double) const;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_put(iter_type, ios_base&, char_type, long double) const;
> 28468: 
> 28468: 
> 28468:       virtual iter_type
> 28468:       do_put(iter_type, ios_base&, char_type, const void*) const;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     };
> 28468: 
> 28468:   template <typename _CharT, typename _OutIter>
> 28468:     locale::id num_put<_CharT, _OutIter>::id;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     isspace(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::space, __c); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     isprint(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::print, __c); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     iscntrl(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::cntrl, __c); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     isupper(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::upper, __c); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     islower(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::lower, __c); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     isalpha(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alpha, __c); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     isdigit(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::digit, __c); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     ispunct(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::punct, __c); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     isxdigit(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::xdigit, __c); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     isalnum(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::alnum, __c); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     isgraph(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::graph, __c); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline bool
> 28468:     isblank(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).is(ctype_base::blank, __c); }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline _CharT
> 28468:     toupper(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).toupper(__c); }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     inline _CharT
> 28468:     tolower(_CharT __c, const locale& __loc)
> 28468:     { return use_facet<ctype<_CharT> >(__loc).tolower(__c); }
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/locale_facets.tcc" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/locale_facets.tcc" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/locale_facets.tcc" 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Facet>
> 28468:     struct __use_cache
> 28468:     {
> 28468:       const _Facet*
> 28468:       operator() (const locale& __loc) const;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     struct __use_cache<__numpunct_cache<_CharT> >
> 28468:     {
> 28468:       const __numpunct_cache<_CharT>*
> 28468:       operator() (const locale& __loc) const
> 28468:       {
> 28468:  const size_t __i = numpunct<_CharT>::id._M_id();
> 28468:  const locale::facet** __caches = __loc._M_impl->_M_caches;
> 28468:  if (!__caches[__i])
> 28468:    {
> 28468:      __numpunct_cache<_CharT>* __tmp = 0;
> 28468:      try
> 28468:        {
> 28468:   __tmp = new __numpunct_cache<_CharT>;
> 28468:   __tmp->_M_cache(__loc);
> 28468:        }
> 28468:      catch(...)
> 28468:        {
> 28468:   delete __tmp;
> 28468:   throw;
> 28468:        }
> 28468:      __loc._M_impl->_M_install_cache(__tmp, __i);
> 28468:    }
> 28468:  return static_cast<const __numpunct_cache<_CharT>*>(__caches[__i]);
> 28468:       }
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     void
> 28468:     __numpunct_cache<_CharT>::_M_cache(const locale& __loc)
> 28468:     {
> 28468:       const numpunct<_CharT>& __np = use_facet<numpunct<_CharT> >(__loc);
> 28468: 
> 28468:       char* __grouping = 0;
> 28468:       _CharT* __truename = 0;
> 28468:       _CharT* __falsename = 0;
> 28468:       try
> 28468:  {
> 28468:    const string& __g = __np.grouping();
> 28468:    _M_grouping_size = __g.size();
> 28468:    __grouping = new char[_M_grouping_size];
> 28468:    __g.copy(__grouping, _M_grouping_size);
> 28468:    _M_use_grouping = (_M_grouping_size
> 28468:         && static_cast<signed char>(__grouping[0]) > 0
> 28468:         && (__grouping[0]
> 28468:      != __gnu_cxx::__numeric_traits<char>::__max));
> 28468: 
> 28468:    const basic_string<_CharT>& __tn = __np.truename();
> 28468:    _M_truename_size = __tn.size();
> 28468:    __truename = new _CharT[_M_truename_size];
> 28468:    __tn.copy(__truename, _M_truename_size);
> 28468: 
> 28468:    const basic_string<_CharT>& __fn = __np.falsename();
> 28468:    _M_falsename_size = __fn.size();
> 28468:    __falsename = new _CharT[_M_falsename_size];
> 28468:    __fn.copy(__falsename, _M_falsename_size);
> 28468: 
> 28468:    _M_decimal_point = __np.decimal_point();
> 28468:    _M_thousands_sep = __np.thousands_sep();
> 28468: 
> 28468:    const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
> 28468:    __ct.widen(__num_base::_S_atoms_out,
> 28468:        __num_base::_S_atoms_out
> 28468:        + __num_base::_S_oend, _M_atoms_out);
> 28468:    __ct.widen(__num_base::_S_atoms_in,
> 28468:        __num_base::_S_atoms_in
> 28468:        + __num_base::_S_iend, _M_atoms_in);
> 28468: 
> 28468:    _M_grouping = __grouping;
> 28468:    _M_truename = __truename;
> 28468:    _M_falsename = __falsename;
> 28468:    _M_allocated = true;
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    delete [] __grouping;
> 28468:    delete [] __truename;
> 28468:    delete [] __falsename;
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: # 139 "/usr/include/c++/9/bits/locale_facets.tcc" 3
> 28468:   __attribute__ ((__pure__)) bool
> 28468:   __verify_grouping(const char* __grouping, size_t __grouping_size,
> 28468:       const string& __grouping_tmp) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     __attribute ((__abi_tag__ ("cxx11")))
> 28468:     _InIter
> 28468:     num_get<_CharT, _InIter>::
> 28468:     _M_extract_float(_InIter __beg, _InIter __end, ios_base& __io,
> 28468:        ios_base::iostate& __err, string& __xtrc) const
> 28468:     {
> 28468:       typedef char_traits<_CharT> __traits_type;
> 28468:       typedef __numpunct_cache<_CharT> __cache_type;
> 28468:       __use_cache<__cache_type> __uc;
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       const __cache_type* __lc = __uc(__loc);
> 28468:       const _CharT* __lit = __lc->_M_atoms_in;
> 28468:       char_type __c = char_type();
> 28468: 
> 28468: 
> 28468:       bool __testeof = __beg == __end;
> 28468: 
> 28468: 
> 28468:       if (!__testeof)
> 28468:  {
> 28468:    __c = *__beg;
> 28468:    const bool __plus = __c == __lit[__num_base::_S_iplus];
> 28468:    if ((__plus || __c == __lit[__num_base::_S_iminus])
> 28468:        && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
> 28468:        && !(__c == __lc->_M_decimal_point))
> 28468:      {
> 28468:        __xtrc += __plus ? '+' : '-';
> 28468:        if (++__beg != __end)
> 28468:   __c = *__beg;
> 28468:        else
> 28468:   __testeof = true;
> 28468:      }
> 28468:  }
> 28468: 
> 28468: 
> 28468:       bool __found_mantissa = false;
> 28468:       int __sep_pos = 0;
> 28468:       while (!__testeof)
> 28468:  {
> 28468:    if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
> 28468:        || __c == __lc->_M_decimal_point)
> 28468:      break;
> 28468:    else if (__c == __lit[__num_base::_S_izero])
> 28468:      {
> 28468:        if (!__found_mantissa)
> 28468:   {
> 28468:     __xtrc += '0';
> 28468:     __found_mantissa = true;
> 28468:   }
> 28468:        ++__sep_pos;
> 28468: 
> 28468:        if (++__beg != __end)
> 28468:   __c = *__beg;
> 28468:        else
> 28468:   __testeof = true;
> 28468:      }
> 28468:    else
> 28468:      break;
> 28468:  }
> 28468: 
> 28468: 
> 28468:       bool __found_dec = false;
> 28468:       bool __found_sci = false;
> 28468:       string __found_grouping;
> 28468:       if (__lc->_M_use_grouping)
> 28468:  __found_grouping.reserve(32);
> 28468:       const char_type* __lit_zero = __lit + __num_base::_S_izero;
> 28468: 
> 28468:       if (!__lc->_M_allocated)
> 28468: 
> 28468:  while (!__testeof)
> 28468:    {
> 28468:      const int __digit = _M_find(__lit_zero, 10, __c);
> 28468:      if (__digit != -1)
> 28468:        {
> 28468:   __xtrc += '0' + __digit;
> 28468:   __found_mantissa = true;
> 28468:        }
> 28468:      else if (__c == __lc->_M_decimal_point
> 28468:        && !__found_dec && !__found_sci)
> 28468:        {
> 28468:   __xtrc += '.';
> 28468:   __found_dec = true;
> 28468:        }
> 28468:      else if ((__c == __lit[__num_base::_S_ie]
> 28468:         || __c == __lit[__num_base::_S_iE])
> 28468:        && !__found_sci && __found_mantissa)
> 28468:        {
> 28468: 
> 28468:   __xtrc += 'e';
> 28468:   __found_sci = true;
> 28468: 
> 28468: 
> 28468:   if (++__beg != __end)
> 28468:     {
> 28468:       __c = *__beg;
> 28468:       const bool __plus = __c == __lit[__num_base::_S_iplus];
> 28468:       if (__plus || __c == __lit[__num_base::_S_iminus])
> 28468:         __xtrc += __plus ? '+' : '-';
> 28468:       else
> 28468:         continue;
> 28468:     }
> 28468:   else
> 28468:     {
> 28468:       __testeof = true;
> 28468:       break;
> 28468:     }
> 28468:        }
> 28468:      else
> 28468:        break;
> 28468: 
> 28468:      if (++__beg != __end)
> 28468:        __c = *__beg;
> 28468:      else
> 28468:        __testeof = true;
> 28468:    }
> 28468:       else
> 28468:  while (!__testeof)
> 28468:    {
> 28468: 
> 28468: 
> 28468:      if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
> 28468:        {
> 28468:   if (!__found_dec && !__found_sci)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       if (__sep_pos)
> 28468:         {
> 28468:    __found_grouping += static_cast<char>(__sep_pos);
> 28468:    __sep_pos = 0;
> 28468:         }
> 28468:       else
> 28468:         {
> 28468: 
> 28468: 
> 28468:    __xtrc.clear();
> 28468:    break;
> 28468:         }
> 28468:     }
> 28468:   else
> 28468:     break;
> 28468:        }
> 28468:      else if (__c == __lc->_M_decimal_point)
> 28468:        {
> 28468:   if (!__found_dec && !__found_sci)
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468:       if (__found_grouping.size())
> 28468:         __found_grouping += static_cast<char>(__sep_pos);
> 28468:       __xtrc += '.';
> 28468:       __found_dec = true;
> 28468:     }
> 28468:   else
> 28468:     break;
> 28468:        }
> 28468:      else
> 28468:        {
> 28468:   const char_type* __q =
> 28468:     __traits_type::find(__lit_zero, 10, __c);
> 28468:   if (__q)
> 28468:     {
> 28468:       __xtrc += '0' + (__q - __lit_zero);
> 28468:       __found_mantissa = true;
> 28468:       ++__sep_pos;
> 28468:     }
> 28468:   else if ((__c == __lit[__num_base::_S_ie]
> 28468:      || __c == __lit[__num_base::_S_iE])
> 28468:     && !__found_sci && __found_mantissa)
> 28468:     {
> 28468: 
> 28468:       if (__found_grouping.size() && !__found_dec)
> 28468:         __found_grouping += static_cast<char>(__sep_pos);
> 28468:       __xtrc += 'e';
> 28468:       __found_sci = true;
> 28468: 
> 28468: 
> 28468:       if (++__beg != __end)
> 28468:         {
> 28468:    __c = *__beg;
> 28468:    const bool __plus = __c == __lit[__num_base::_S_iplus];
> 28468:    if ((__plus || __c == __lit[__num_base::_S_iminus])
> 28468:        && !(__lc->_M_use_grouping
> 28468:      && __c == __lc->_M_thousands_sep)
> 28468:        && !(__c == __lc->_M_decimal_point))
> 28468:         __xtrc += __plus ? '+' : '-';
> 28468:    else
> 28468:      continue;
> 28468:         }
> 28468:       else
> 28468:         {
> 28468:    __testeof = true;
> 28468:    break;
> 28468:         }
> 28468:     }
> 28468:   else
> 28468:     break;
> 28468:        }
> 28468: 
> 28468:      if (++__beg != __end)
> 28468:        __c = *__beg;
> 28468:      else
> 28468:        __testeof = true;
> 28468:    }
> 28468: 
> 28468: 
> 28468: 
> 28468:       if (__found_grouping.size())
> 28468:         {
> 28468: 
> 28468:    if (!__found_dec && !__found_sci)
> 28468:      __found_grouping += static_cast<char>(__sep_pos);
> 28468: 
> 28468:           if (!std::__verify_grouping(__lc->_M_grouping,
> 28468:           __lc->_M_grouping_size,
> 28468:           __found_grouping))
> 28468:      __err = ios_base::failbit;
> 28468:         }
> 28468: 
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     template<typename _ValueT>
> 28468:       __attribute ((__abi_tag__ ("cxx11")))
> 28468:       _InIter
> 28468:       num_get<_CharT, _InIter>::
> 28468:       _M_extract_int(_InIter __beg, _InIter __end, ios_base& __io,
> 28468:        ios_base::iostate& __err, _ValueT& __v) const
> 28468:       {
> 28468:         typedef char_traits<_CharT> __traits_type;
> 28468:  using __gnu_cxx::__add_unsigned;
> 28468:  typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
> 28468:  typedef __numpunct_cache<_CharT> __cache_type;
> 28468:  __use_cache<__cache_type> __uc;
> 28468:  const locale& __loc = __io._M_getloc();
> 28468:  const __cache_type* __lc = __uc(__loc);
> 28468:  const _CharT* __lit = __lc->_M_atoms_in;
> 28468:  char_type __c = char_type();
> 28468: 
> 28468: 
> 28468:  const ios_base::fmtflags __basefield = __io.flags()
> 28468:                                         & ios_base::basefield;
> 28468:  const bool __oct = __basefield == ios_base::oct;
> 28468:  int __base = __oct ? 8 : (__basefield == ios_base::hex ? 16 : 10);
> 28468: 
> 28468: 
> 28468:  bool __testeof = __beg == __end;
> 28468: 
> 28468: 
> 28468:  bool __negative = false;
> 28468:  if (!__testeof)
> 28468:    {
> 28468:      __c = *__beg;
> 28468:      __negative = __c == __lit[__num_base::_S_iminus];
> 28468:      if ((__negative || __c == __lit[__num_base::_S_iplus])
> 28468:   && !(__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
> 28468:   && !(__c == __lc->_M_decimal_point))
> 28468:        {
> 28468:   if (++__beg != __end)
> 28468:     __c = *__beg;
> 28468:   else
> 28468:     __testeof = true;
> 28468:        }
> 28468:    }
> 28468: 
> 28468: 
> 28468: 
> 28468:  bool __found_zero = false;
> 28468:  int __sep_pos = 0;
> 28468:  while (!__testeof)
> 28468:    {
> 28468:      if ((__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
> 28468:   || __c == __lc->_M_decimal_point)
> 28468:        break;
> 28468:      else if (__c == __lit[__num_base::_S_izero]
> 28468:        && (!__found_zero || __base == 10))
> 28468:        {
> 28468:   __found_zero = true;
> 28468:   ++__sep_pos;
> 28468:   if (__basefield == 0)
> 28468:     __base = 8;
> 28468:   if (__base == 8)
> 28468:     __sep_pos = 0;
> 28468:        }
> 28468:      else if (__found_zero
> 28468:        && (__c == __lit[__num_base::_S_ix]
> 28468:     || __c == __lit[__num_base::_S_iX]))
> 28468:        {
> 28468:   if (__basefield == 0)
> 28468:     __base = 16;
> 28468:   if (__base == 16)
> 28468:     {
> 28468:       __found_zero = false;
> 28468:       __sep_pos = 0;
> 28468:     }
> 28468:   else
> 28468:     break;
> 28468:        }
> 28468:      else
> 28468:        break;
> 28468: 
> 28468:      if (++__beg != __end)
> 28468:        {
> 28468:   __c = *__beg;
> 28468:   if (!__found_zero)
> 28468:     break;
> 28468:        }
> 28468:      else
> 28468:        __testeof = true;
> 28468:    }
> 28468: 
> 28468: 
> 28468: 
> 28468:  const size_t __len = (__base == 16 ? __num_base::_S_iend
> 28468:          - __num_base::_S_izero : __base);
> 28468: 
> 28468: 
> 28468:  typedef __gnu_cxx::__numeric_traits<_ValueT> __num_traits;
> 28468:  string __found_grouping;
> 28468:  if (__lc->_M_use_grouping)
> 28468:    __found_grouping.reserve(32);
> 28468:  bool __testfail = false;
> 28468:  bool __testoverflow = false;
> 28468:  const __unsigned_type __max =
> 28468:    (__negative && __num_traits::__is_signed)
> 28468:    ? -static_cast<__unsigned_type>(__num_traits::__min)
> 28468:    : __num_traits::__max;
> 28468:  const __unsigned_type __smax = __max / __base;
> 28468:  __unsigned_type __result = 0;
> 28468:  int __digit = 0;
> 28468:  const char_type* __lit_zero = __lit + __num_base::_S_izero;
> 28468: 
> 28468:  if (!__lc->_M_allocated)
> 28468: 
> 28468:    while (!__testeof)
> 28468:      {
> 28468:        __digit = _M_find(__lit_zero, __len, __c);
> 28468:        if (__digit == -1)
> 28468:   break;
> 28468: 
> 28468:        if (__result > __smax)
> 28468:   __testoverflow = true;
> 28468:        else
> 28468:   {
> 28468:     __result *= __base;
> 28468:     __testoverflow |= __result > __max - __digit;
> 28468:     __result += __digit;
> 28468:     ++__sep_pos;
> 28468:   }
> 28468: 
> 28468:        if (++__beg != __end)
> 28468:   __c = *__beg;
> 28468:        else
> 28468:   __testeof = true;
> 28468:      }
> 28468:  else
> 28468:    while (!__testeof)
> 28468:      {
> 28468: 
> 28468: 
> 28468:        if (__lc->_M_use_grouping && __c == __lc->_M_thousands_sep)
> 28468:   {
> 28468: 
> 28468: 
> 28468:     if (__sep_pos)
> 28468:       {
> 28468:         __found_grouping += static_cast<char>(__sep_pos);
> 28468:         __sep_pos = 0;
> 28468:       }
> 28468:     else
> 28468:       {
> 28468:         __testfail = true;
> 28468:         break;
> 28468:       }
> 28468:   }
> 28468:        else if (__c == __lc->_M_decimal_point)
> 28468:   break;
> 28468:        else
> 28468:   {
> 28468:     const char_type* __q =
> 28468:       __traits_type::find(__lit_zero, __len, __c);
> 28468:     if (!__q)
> 28468:       break;
> 28468: 
> 28468:     __digit = __q - __lit_zero;
> 28468:     if (__digit > 15)
> 28468:       __digit -= 6;
> 28468:     if (__result > __smax)
> 28468:       __testoverflow = true;
> 28468:     else
> 28468:       {
> 28468:         __result *= __base;
> 28468:         __testoverflow |= __result > __max - __digit;
> 28468:         __result += __digit;
> 28468:         ++__sep_pos;
> 28468:       }
> 28468:   }
> 28468: 
> 28468:        if (++__beg != __end)
> 28468:   __c = *__beg;
> 28468:        else
> 28468:   __testeof = true;
> 28468:      }
> 28468: 
> 28468: 
> 28468: 
> 28468:  if (__found_grouping.size())
> 28468:    {
> 28468: 
> 28468:      __found_grouping += static_cast<char>(__sep_pos);
> 28468: 
> 28468:      if (!std::__verify_grouping(__lc->_M_grouping,
> 28468:      __lc->_M_grouping_size,
> 28468:      __found_grouping))
> 28468:        __err = ios_base::failbit;
> 28468:    }
> 28468: 
> 28468: 
> 28468: 
> 28468:  if ((!__sep_pos && !__found_zero && !__found_grouping.size())
> 28468:      || __testfail)
> 28468:    {
> 28468:      __v = 0;
> 28468:      __err = ios_base::failbit;
> 28468:    }
> 28468:  else if (__testoverflow)
> 28468:    {
> 28468:      if (__negative && __num_traits::__is_signed)
> 28468:        __v = __num_traits::__min;
> 28468:      else
> 28468:        __v = __num_traits::__max;
> 28468:      __err = ios_base::failbit;
> 28468:    }
> 28468:  else
> 28468:    __v = __negative ? -__result : __result;
> 28468: 
> 28468:  if (__testeof)
> 28468:    __err |= ios_base::eofbit;
> 28468:  return __beg;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     num_get<_CharT, _InIter>::
> 28468:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:            ios_base::iostate& __err, bool& __v) const
> 28468:     {
> 28468:       if (!(__io.flags() & ios_base::boolalpha))
> 28468:         {
> 28468: 
> 28468: 
> 28468: 
> 28468:    long __l = -1;
> 28468:           __beg = _M_extract_int(__beg, __end, __io, __err, __l);
> 28468:    if (__l == 0 || __l == 1)
> 28468:      __v = bool(__l);
> 28468:    else
> 28468:      {
> 28468: 
> 28468: 
> 28468:        __v = true;
> 28468:        __err = ios_base::failbit;
> 28468:        if (__beg == __end)
> 28468:   __err |= ios_base::eofbit;
> 28468:      }
> 28468:         }
> 28468:       else
> 28468:         {
> 28468: 
> 28468:    typedef __numpunct_cache<_CharT> __cache_type;
> 28468:    __use_cache<__cache_type> __uc;
> 28468:    const locale& __loc = __io._M_getloc();
> 28468:    const __cache_type* __lc = __uc(__loc);
> 28468: 
> 28468:    bool __testf = true;
> 28468:    bool __testt = true;
> 28468:    bool __donef = __lc->_M_falsename_size == 0;
> 28468:    bool __donet = __lc->_M_truename_size == 0;
> 28468:    bool __testeof = false;
> 28468:    size_t __n = 0;
> 28468:    while (!__donef || !__donet)
> 28468:      {
> 28468:        if (__beg == __end)
> 28468:   {
> 28468:     __testeof = true;
> 28468:     break;
> 28468:   }
> 28468: 
> 28468:        const char_type __c = *__beg;
> 28468: 
> 28468:        if (!__donef)
> 28468:   __testf = __c == __lc->_M_falsename[__n];
> 28468: 
> 28468:        if (!__testf && __donet)
> 28468:   break;
> 28468: 
> 28468:        if (!__donet)
> 28468:   __testt = __c == __lc->_M_truename[__n];
> 28468: 
> 28468:        if (!__testt && __donef)
> 28468:   break;
> 28468: 
> 28468:        if (!__testt && !__testf)
> 28468:   break;
> 28468: 
> 28468:        ++__n;
> 28468:        ++__beg;
> 28468: 
> 28468:        __donef = !__testf || __n >= __lc->_M_falsename_size;
> 28468:        __donet = !__testt || __n >= __lc->_M_truename_size;
> 28468:      }
> 28468:    if (__testf && __n == __lc->_M_falsename_size && __n)
> 28468:      {
> 28468:        __v = false;
> 28468:        if (__testt && __n == __lc->_M_truename_size)
> 28468:   __err = ios_base::failbit;
> 28468:        else
> 28468:   __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
> 28468:      }
> 28468:    else if (__testt && __n == __lc->_M_truename_size && __n)
> 28468:      {
> 28468:        __v = true;
> 28468:        __err = __testeof ? ios_base::eofbit : ios_base::goodbit;
> 28468:      }
> 28468:    else
> 28468:      {
> 28468: 
> 28468: 
> 28468:        __v = false;
> 28468:        __err = ios_base::failbit;
> 28468:        if (__testeof)
> 28468:   __err |= ios_base::eofbit;
> 28468:      }
> 28468:  }
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     num_get<_CharT, _InIter>::
> 28468:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:     ios_base::iostate& __err, float& __v) const
> 28468:     {
> 28468:       string __xtrc;
> 28468:       __xtrc.reserve(32);
> 28468:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
> 28468:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
> 28468:       if (__beg == __end)
> 28468:  __err |= ios_base::eofbit;
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     num_get<_CharT, _InIter>::
> 28468:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:            ios_base::iostate& __err, double& __v) const
> 28468:     {
> 28468:       string __xtrc;
> 28468:       __xtrc.reserve(32);
> 28468:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
> 28468:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
> 28468:       if (__beg == __end)
> 28468:  __err |= ios_base::eofbit;
> 28468:       return __beg;
> 28468:     }
> 28468: # 735 "/usr/include/c++/9/bits/locale_facets.tcc" 3
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     num_get<_CharT, _InIter>::
> 28468:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:            ios_base::iostate& __err, long double& __v) const
> 28468:     {
> 28468:       string __xtrc;
> 28468:       __xtrc.reserve(32);
> 28468:       __beg = _M_extract_float(__beg, __end, __io, __err, __xtrc);
> 28468:       std::__convert_to_v(__xtrc.c_str(), __v, __err, _S_get_c_locale());
> 28468:       if (__beg == __end)
> 28468:  __err |= ios_base::eofbit;
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     num_get<_CharT, _InIter>::
> 28468:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:            ios_base::iostate& __err, void*& __v) const
> 28468:     {
> 28468: 
> 28468:       typedef ios_base::fmtflags fmtflags;
> 28468:       const fmtflags __fmt = __io.flags();
> 28468:       __io.flags((__fmt & ~ios_base::basefield) | ios_base::hex);
> 28468: 
> 28468:       typedef __gnu_cxx::__conditional_type<(sizeof(void*)
> 28468:           <= sizeof(unsigned long)),
> 28468:  unsigned long, unsigned long long>::__type _UIntPtrType;
> 28468: 
> 28468:       _UIntPtrType __ul;
> 28468:       __beg = _M_extract_int(__beg, __end, __io, __err, __ul);
> 28468: 
> 28468: 
> 28468:       __io.flags(__fmt);
> 28468: 
> 28468:       __v = reinterpret_cast<void*>(__ul);
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     void
> 28468:     num_put<_CharT, _OutIter>::
> 28468:     _M_pad(_CharT __fill, streamsize __w, ios_base& __io,
> 28468:     _CharT* __new, const _CharT* __cs, int& __len) const
> 28468:     {
> 28468: 
> 28468: 
> 28468:       __pad<_CharT, char_traits<_CharT> >::_S_pad(__io, __fill, __new,
> 28468:         __cs, __w, __len);
> 28468:       __len = static_cast<int>(__w);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _ValueT>
> 28468:     int
> 28468:     __int_to_char(_CharT* __bufend, _ValueT __v, const _CharT* __lit,
> 28468:     ios_base::fmtflags __flags, bool __dec)
> 28468:     {
> 28468:       _CharT* __buf = __bufend;
> 28468:       if (__builtin_expect(__dec, true))
> 28468:  {
> 28468: 
> 28468:    do
> 28468:      {
> 28468:        *--__buf = __lit[(__v % 10) + __num_base::_S_odigits];
> 28468:        __v /= 10;
> 28468:      }
> 28468:    while (__v != 0);
> 28468:  }
> 28468:       else if ((__flags & ios_base::basefield) == ios_base::oct)
> 28468:  {
> 28468: 
> 28468:    do
> 28468:      {
> 28468:        *--__buf = __lit[(__v & 0x7) + __num_base::_S_odigits];
> 28468:        __v >>= 3;
> 28468:      }
> 28468:    while (__v != 0);
> 28468:  }
> 28468:       else
> 28468:  {
> 28468: 
> 28468:    const bool __uppercase = __flags & ios_base::uppercase;
> 28468:    const int __case_offset = __uppercase ? __num_base::_S_oudigits
> 28468:                                          : __num_base::_S_odigits;
> 28468:    do
> 28468:      {
> 28468:        *--__buf = __lit[(__v & 0xf) + __case_offset];
> 28468:        __v >>= 4;
> 28468:      }
> 28468:    while (__v != 0);
> 28468:  }
> 28468:       return __bufend - __buf;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     void
> 28468:     num_put<_CharT, _OutIter>::
> 28468:     _M_group_int(const char* __grouping, size_t __grouping_size, _CharT __sep,
> 28468:    ios_base&, _CharT* __new, _CharT* __cs, int& __len) const
> 28468:     {
> 28468:       _CharT* __p = std::__add_grouping(__new, __sep, __grouping,
> 28468:      __grouping_size, __cs, __cs + __len);
> 28468:       __len = __p - __new;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     template<typename _ValueT>
> 28468:       _OutIter
> 28468:       num_put<_CharT, _OutIter>::
> 28468:       _M_insert_int(_OutIter __s, ios_base& __io, _CharT __fill,
> 28468:       _ValueT __v) const
> 28468:       {
> 28468:  using __gnu_cxx::__add_unsigned;
> 28468:  typedef typename __add_unsigned<_ValueT>::__type __unsigned_type;
> 28468:  typedef __numpunct_cache<_CharT> __cache_type;
> 28468:  __use_cache<__cache_type> __uc;
> 28468:  const locale& __loc = __io._M_getloc();
> 28468:  const __cache_type* __lc = __uc(__loc);
> 28468:  const _CharT* __lit = __lc->_M_atoms_out;
> 28468:  const ios_base::fmtflags __flags = __io.flags();
> 28468: 
> 28468: 
> 28468:  const int __ilen = 5 * sizeof(_ValueT);
> 28468:  _CharT* __cs = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
> 28468:             * __ilen));
> 28468: 
> 28468: 
> 28468: 
> 28468:  const ios_base::fmtflags __basefield = __flags & ios_base::basefield;
> 28468:  const bool __dec = (__basefield != ios_base::oct
> 28468:        && __basefield != ios_base::hex);
> 28468:  const __unsigned_type __u = ((__v > 0 || !__dec)
> 28468:          ? __unsigned_type(__v)
> 28468:          : -__unsigned_type(__v));
> 28468:   int __len = __int_to_char(__cs + __ilen, __u, __lit, __flags, __dec);
> 28468:  __cs += __ilen - __len;
> 28468: 
> 28468: 
> 28468:  if (__lc->_M_use_grouping)
> 28468:    {
> 28468: 
> 28468: 
> 28468:      _CharT* __cs2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
> 28468:           * (__len + 1)
> 28468:           * 2));
> 28468:      _M_group_int(__lc->_M_grouping, __lc->_M_grouping_size,
> 28468:     __lc->_M_thousands_sep, __io, __cs2 + 2, __cs, __len);
> 28468:      __cs = __cs2 + 2;
> 28468:    }
> 28468: 
> 28468: 
> 28468:  if (__builtin_expect(__dec, true))
> 28468:    {
> 28468: 
> 28468:      if (__v >= 0)
> 28468:        {
> 28468:   if (bool(__flags & ios_base::showpos)
> 28468:       && __gnu_cxx::__numeric_traits<_ValueT>::__is_signed)
> 28468:     *--__cs = __lit[__num_base::_S_oplus], ++__len;
> 28468:        }
> 28468:      else
> 28468:        *--__cs = __lit[__num_base::_S_ominus], ++__len;
> 28468:    }
> 28468:  else if (bool(__flags & ios_base::showbase) && __v)
> 28468:    {
> 28468:      if (__basefield == ios_base::oct)
> 28468:        *--__cs = __lit[__num_base::_S_odigits], ++__len;
> 28468:      else
> 28468:        {
> 28468: 
> 28468:   const bool __uppercase = __flags & ios_base::uppercase;
> 28468:   *--__cs = __lit[__num_base::_S_ox + __uppercase];
> 28468: 
> 28468:   *--__cs = __lit[__num_base::_S_odigits];
> 28468:   __len += 2;
> 28468:        }
> 28468:    }
> 28468: 
> 28468: 
> 28468:  const streamsize __w = __io.width();
> 28468:  if (__w > static_cast<streamsize>(__len))
> 28468:    {
> 28468:      _CharT* __cs3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
> 28468:           * __w));
> 28468:      _M_pad(__fill, __w, __io, __cs3, __cs, __len);
> 28468:      __cs = __cs3;
> 28468:    }
> 28468:  __io.width(0);
> 28468: 
> 28468: 
> 28468: 
> 28468:  return std::__write(__s, __cs, __len);
> 28468:       }
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     void
> 28468:     num_put<_CharT, _OutIter>::
> 28468:     _M_group_float(const char* __grouping, size_t __grouping_size,
> 28468:      _CharT __sep, const _CharT* __p, _CharT* __new,
> 28468:      _CharT* __cs, int& __len) const
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468:       const int __declen = __p ? __p - __cs : __len;
> 28468:       _CharT* __p2 = std::__add_grouping(__new, __sep, __grouping,
> 28468:       __grouping_size,
> 28468:       __cs, __cs + __declen);
> 28468: 
> 28468: 
> 28468:       int __newlen = __p2 - __new;
> 28468:       if (__p)
> 28468:  {
> 28468:    char_traits<_CharT>::copy(__p2, __p, __len - __declen);
> 28468:    __newlen += __len - __declen;
> 28468:  }
> 28468:       __len = __newlen;
> 28468:     }
> 28468: # 971 "/usr/include/c++/9/bits/locale_facets.tcc" 3
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     template<typename _ValueT>
> 28468:       _OutIter
> 28468:       num_put<_CharT, _OutIter>::
> 28468:       _M_insert_float(_OutIter __s, ios_base& __io, _CharT __fill, char __mod,
> 28468:          _ValueT __v) const
> 28468:       {
> 28468:  typedef __numpunct_cache<_CharT> __cache_type;
> 28468:  __use_cache<__cache_type> __uc;
> 28468:  const locale& __loc = __io._M_getloc();
> 28468:  const __cache_type* __lc = __uc(__loc);
> 28468: 
> 28468: 
> 28468:  const streamsize __prec = __io.precision() < 0 ? 6 : __io.precision();
> 28468: 
> 28468:  const int __max_digits =
> 28468:    __gnu_cxx::__numeric_traits<_ValueT>::__digits10;
> 28468: 
> 28468: 
> 28468:  int __len;
> 28468: 
> 28468:  char __fbuf[16];
> 28468:  __num_base::_S_format_float(__io, __fbuf, __mod);
> 28468: 
> 28468: 
> 28468: 
> 28468:  const bool __use_prec =
> 28468:    (__io.flags() & ios_base::floatfield) != ios_base::floatfield;
> 28468: 
> 28468: 
> 28468: 
> 28468:  int __cs_size = __max_digits * 3;
> 28468:  char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
> 28468:  if (__use_prec)
> 28468:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
> 28468:      __fbuf, __prec, __v);
> 28468:  else
> 28468:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
> 28468:      __fbuf, __v);
> 28468: 
> 28468: 
> 28468:  if (__len >= __cs_size)
> 28468:    {
> 28468:      __cs_size = __len + 1;
> 28468:      __cs = static_cast<char*>(__builtin_alloca(__cs_size));
> 28468:      if (__use_prec)
> 28468:        __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
> 28468:          __fbuf, __prec, __v);
> 28468:      else
> 28468:        __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
> 28468:          __fbuf, __v);
> 28468:    }
> 28468: # 1044 "/usr/include/c++/9/bits/locale_facets.tcc" 3
> 28468:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468: 
> 28468:  _CharT* __ws = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
> 28468:             * __len));
> 28468:  __ctype.widen(__cs, __cs + __len, __ws);
> 28468: 
> 28468: 
> 28468:  _CharT* __wp = 0;
> 28468:  const char* __p = char_traits<char>::find(__cs, __len, '.');
> 28468:  if (__p)
> 28468:    {
> 28468:      __wp = __ws + (__p - __cs);
> 28468:      *__wp = __lc->_M_decimal_point;
> 28468:    }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  if (__lc->_M_use_grouping
> 28468:      && (__wp || __len < 3 || (__cs[1] <= '9' && __cs[2] <= '9'
> 28468:           && __cs[1] >= '0' && __cs[2] >= '0')))
> 28468:    {
> 28468: 
> 28468: 
> 28468:      _CharT* __ws2 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
> 28468:           * __len * 2));
> 28468: 
> 28468:      streamsize __off = 0;
> 28468:      if (__cs[0] == '-' || __cs[0] == '+')
> 28468:        {
> 28468:   __off = 1;
> 28468:   __ws2[0] = __ws[0];
> 28468:   __len -= 1;
> 28468:        }
> 28468: 
> 28468:      _M_group_float(__lc->_M_grouping, __lc->_M_grouping_size,
> 28468:       __lc->_M_thousands_sep, __wp, __ws2 + __off,
> 28468:       __ws + __off, __len);
> 28468:      __len += __off;
> 28468: 
> 28468:      __ws = __ws2;
> 28468:    }
> 28468: 
> 28468: 
> 28468:  const streamsize __w = __io.width();
> 28468:  if (__w > static_cast<streamsize>(__len))
> 28468:    {
> 28468:      _CharT* __ws3 = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
> 28468:           * __w));
> 28468:      _M_pad(__fill, __w, __io, __ws3, __ws, __len);
> 28468:      __ws = __ws3;
> 28468:    }
> 28468:  __io.width(0);
> 28468: 
> 28468: 
> 28468: 
> 28468:  return std::__write(__s, __ws, __len);
> 28468:       }
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     _OutIter
> 28468:     num_put<_CharT, _OutIter>::
> 28468:     do_put(iter_type __s, ios_base& __io, char_type __fill, bool __v) const
> 28468:     {
> 28468:       const ios_base::fmtflags __flags = __io.flags();
> 28468:       if ((__flags & ios_base::boolalpha) == 0)
> 28468:         {
> 28468:           const long __l = __v;
> 28468:           __s = _M_insert_int(__s, __io, __fill, __l);
> 28468:         }
> 28468:       else
> 28468:         {
> 28468:    typedef __numpunct_cache<_CharT> __cache_type;
> 28468:    __use_cache<__cache_type> __uc;
> 28468:    const locale& __loc = __io._M_getloc();
> 28468:    const __cache_type* __lc = __uc(__loc);
> 28468: 
> 28468:    const _CharT* __name = __v ? __lc->_M_truename
> 28468:                               : __lc->_M_falsename;
> 28468:    int __len = __v ? __lc->_M_truename_size
> 28468:                    : __lc->_M_falsename_size;
> 28468: 
> 28468:    const streamsize __w = __io.width();
> 28468:    if (__w > static_cast<streamsize>(__len))
> 28468:      {
> 28468:        const streamsize __plen = __w - __len;
> 28468:        _CharT* __ps
> 28468:   = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT)
> 28468:        * __plen));
> 28468: 
> 28468:        char_traits<_CharT>::assign(__ps, __plen, __fill);
> 28468:        __io.width(0);
> 28468: 
> 28468:        if ((__flags & ios_base::adjustfield) == ios_base::left)
> 28468:   {
> 28468:     __s = std::__write(__s, __name, __len);
> 28468:     __s = std::__write(__s, __ps, __plen);
> 28468:   }
> 28468:        else
> 28468:   {
> 28468:     __s = std::__write(__s, __ps, __plen);
> 28468:     __s = std::__write(__s, __name, __len);
> 28468:   }
> 28468:        return __s;
> 28468:      }
> 28468:    __io.width(0);
> 28468:    __s = std::__write(__s, __name, __len);
> 28468:  }
> 28468:       return __s;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     _OutIter
> 28468:     num_put<_CharT, _OutIter>::
> 28468:     do_put(iter_type __s, ios_base& __io, char_type __fill, double __v) const
> 28468:     { return _M_insert_float(__s, __io, __fill, char(), __v); }
> 28468: # 1169 "/usr/include/c++/9/bits/locale_facets.tcc" 3
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     _OutIter
> 28468:     num_put<_CharT, _OutIter>::
> 28468:     do_put(iter_type __s, ios_base& __io, char_type __fill,
> 28468:     long double __v) const
> 28468:     { return _M_insert_float(__s, __io, __fill, 'L', __v); }
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     _OutIter
> 28468:     num_put<_CharT, _OutIter>::
> 28468:     do_put(iter_type __s, ios_base& __io, char_type __fill,
> 28468:            const void* __v) const
> 28468:     {
> 28468:       const ios_base::fmtflags __flags = __io.flags();
> 28468:       const ios_base::fmtflags __fmt = ~(ios_base::basefield
> 28468:       | ios_base::uppercase);
> 28468:       __io.flags((__flags & __fmt) | (ios_base::hex | ios_base::showbase));
> 28468: 
> 28468:       typedef __gnu_cxx::__conditional_type<(sizeof(const void*)
> 28468:           <= sizeof(unsigned long)),
> 28468:  unsigned long, unsigned long long>::__type _UIntPtrType;
> 28468: 
> 28468:       __s = _M_insert_int(__s, __io, __fill,
> 28468:      reinterpret_cast<_UIntPtrType>(__v));
> 28468:       __io.flags(__flags);
> 28468:       return __s;
> 28468:     }
> 28468: 
> 28468: 
> 28468: # 1206 "/usr/include/c++/9/bits/locale_facets.tcc" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     void
> 28468:     __pad<_CharT, _Traits>::_S_pad(ios_base& __io, _CharT __fill,
> 28468:        _CharT* __news, const _CharT* __olds,
> 28468:        streamsize __newlen, streamsize __oldlen)
> 28468:     {
> 28468:       const size_t __plen = static_cast<size_t>(__newlen - __oldlen);
> 28468:       const ios_base::fmtflags __adjust = __io.flags() & ios_base::adjustfield;
> 28468: 
> 28468: 
> 28468:       if (__adjust == ios_base::left)
> 28468:  {
> 28468:    _Traits::copy(__news, __olds, __oldlen);
> 28468:    _Traits::assign(__news + __oldlen, __plen, __fill);
> 28468:    return;
> 28468:  }
> 28468: 
> 28468:       size_t __mod = 0;
> 28468:       if (__adjust == ios_base::internal)
> 28468:  {
> 28468: 
> 28468: 
> 28468: 
> 28468:           const locale& __loc = __io._M_getloc();
> 28468:    const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468: 
> 28468:    if (__ctype.widen('-') == __olds[0]
> 28468:        || __ctype.widen('+') == __olds[0])
> 28468:      {
> 28468:        __news[0] = __olds[0];
> 28468:        __mod = 1;
> 28468:        ++__news;
> 28468:      }
> 28468:    else if (__ctype.widen('0') == __olds[0]
> 28468:      && __oldlen > 1
> 28468:      && (__ctype.widen('x') == __olds[1]
> 28468:          || __ctype.widen('X') == __olds[1]))
> 28468:      {
> 28468:        __news[0] = __olds[0];
> 28468:        __news[1] = __olds[1];
> 28468:        __mod = 2;
> 28468:        __news += 2;
> 28468:      }
> 28468: 
> 28468:  }
> 28468:       _Traits::assign(__news, __plen, __fill);
> 28468:       _Traits::copy(__news + __plen, __olds + __mod, __oldlen - __mod);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     _CharT*
> 28468:     __add_grouping(_CharT* __s, _CharT __sep,
> 28468:      const char* __gbeg, size_t __gsize,
> 28468:      const _CharT* __first, const _CharT* __last)
> 28468:     {
> 28468:       size_t __idx = 0;
> 28468:       size_t __ctr = 0;
> 28468: 
> 28468:       while (__last - __first > __gbeg[__idx]
> 28468:       && static_cast<signed char>(__gbeg[__idx]) > 0
> 28468:       && __gbeg[__idx] != __gnu_cxx::__numeric_traits<char>::__max)
> 28468:  {
> 28468:    __last -= __gbeg[__idx];
> 28468:    __idx < __gsize - 1 ? ++__idx : ++__ctr;
> 28468:  }
> 28468: 
> 28468:       while (__first != __last)
> 28468:  *__s++ = *__first++;
> 28468: 
> 28468:       while (__ctr--)
> 28468:  {
> 28468:    *__s++ = __sep;
> 28468:    for (char __i = __gbeg[__idx]; __i > 0; --__i)
> 28468:      *__s++ = *__first++;
> 28468:  }
> 28468: 
> 28468:       while (__idx--)
> 28468:  {
> 28468:    *__s++ = __sep;
> 28468:    for (char __i = __gbeg[__idx]; __i > 0; --__i)
> 28468:      *__s++ = *__first++;
> 28468:  }
> 28468: 
> 28468:       return __s;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template class __cxx11:: numpunct<char>;
> 28468:   extern template class __cxx11:: numpunct_byname<char>;
> 28468:   extern template class num_get<char>;
> 28468:   extern template class num_put<char>;
> 28468:   extern template class ctype_byname<char>;
> 28468: 
> 28468:   extern template
> 28468:     const ctype<char>&
> 28468:     use_facet<ctype<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const numpunct<char>&
> 28468:     use_facet<numpunct<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const num_put<char>&
> 28468:     use_facet<num_put<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const num_get<char>&
> 28468:     use_facet<num_get<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<ctype<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<numpunct<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<num_put<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<num_get<char> >(const locale&);
> 28468: 
> 28468: 
> 28468:   extern template class __cxx11:: numpunct<wchar_t>;
> 28468:   extern template class __cxx11:: numpunct_byname<wchar_t>;
> 28468:   extern template class num_get<wchar_t>;
> 28468:   extern template class num_put<wchar_t>;
> 28468:   extern template class ctype_byname<wchar_t>;
> 28468: 
> 28468:   extern template
> 28468:     const ctype<wchar_t>&
> 28468:     use_facet<ctype<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const numpunct<wchar_t>&
> 28468:     use_facet<numpunct<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const num_put<wchar_t>&
> 28468:     use_facet<num_put<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const num_get<wchar_t>&
> 28468:     use_facet<num_get<wchar_t> >(const locale&);
> 28468: 
> 28468:  extern template
> 28468:     bool
> 28468:     has_facet<ctype<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<numpunct<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<num_put<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<num_get<wchar_t> >(const locale&);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 2656 "/usr/include/c++/9/bits/locale_facets.h" 2 3
> 28468: # 38 "/usr/include/c++/9/bits/basic_ios.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _Facet>
> 28468:     inline const _Facet&
> 28468:     __check_facet(const _Facet* __f)
> 28468:     {
> 28468:       if (!__f)
> 28468:  __throw_bad_cast();
> 28468:       return *__f;
> 28468:     }
> 28468: # 66 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     class basic_ios : public ios_base
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef typename _Traits::int_type int_type;
> 28468:       typedef typename _Traits::pos_type pos_type;
> 28468:       typedef typename _Traits::off_type off_type;
> 28468:       typedef _Traits traits_type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef ctype<_CharT> __ctype_type;
> 28468:       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
> 28468:            __num_put_type;
> 28468:       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
> 28468:            __num_get_type;
> 28468: 
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       basic_ostream<_CharT, _Traits>* _M_tie;
> 28468:       mutable char_type _M_fill;
> 28468:       mutable bool _M_fill_init;
> 28468:       basic_streambuf<_CharT, _Traits>* _M_streambuf;
> 28468: 
> 28468: 
> 28468:       const __ctype_type* _M_ctype;
> 28468: 
> 28468:       const __num_put_type* _M_num_put;
> 28468: 
> 28468:       const __num_get_type* _M_num_get;
> 28468: 
> 28468:     public:
> 28468: # 117 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       explicit operator bool() const
> 28468:       { return !this->fail(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       operator!() const
> 28468:       { return this->fail(); }
> 28468: # 136 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       iostate
> 28468:       rdstate() const
> 28468:       { return _M_streambuf_state; }
> 28468: # 147 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       void
> 28468:       clear(iostate __state = goodbit);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       setstate(iostate __state)
> 28468:       { this->clear(this->rdstate() | __state); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_setstate(iostate __state)
> 28468:       {
> 28468: 
> 28468: 
> 28468:  _M_streambuf_state |= __state;
> 28468:  if (this->exceptions() & __state)
> 28468:    throw;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       good() const
> 28468:       { return this->rdstate() == 0; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       eof() const
> 28468:       { return (this->rdstate() & eofbit) != 0; }
> 28468: # 200 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       bool
> 28468:       fail() const
> 28468:       { return (this->rdstate() & (badbit | failbit)) != 0; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       bad() const
> 28468:       { return (this->rdstate() & badbit) != 0; }
> 28468: # 221 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       iostate
> 28468:       exceptions() const
> 28468:       { return _M_exception; }
> 28468: # 256 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       void
> 28468:       exceptions(iostate __except)
> 28468:       {
> 28468:         _M_exception = __except;
> 28468:         this->clear(_M_streambuf_state);
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       basic_ios(basic_streambuf<_CharT, _Traits>* __sb)
> 28468:       : ios_base(), _M_tie(0), _M_fill(), _M_fill_init(false), _M_streambuf(0),
> 28468:  _M_ctype(0), _M_num_put(0), _M_num_get(0)
> 28468:       { this->init(__sb); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       virtual
> 28468:       ~basic_ios() { }
> 28468: # 294 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       basic_ostream<_CharT, _Traits>*
> 28468:       tie() const
> 28468:       { return _M_tie; }
> 28468: # 306 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       basic_ostream<_CharT, _Traits>*
> 28468:       tie(basic_ostream<_CharT, _Traits>* __tiestr)
> 28468:       {
> 28468:         basic_ostream<_CharT, _Traits>* __old = _M_tie;
> 28468:         _M_tie = __tiestr;
> 28468:         return __old;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_streambuf<_CharT, _Traits>*
> 28468:       rdbuf() const
> 28468:       { return _M_streambuf; }
> 28468: # 346 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       basic_streambuf<_CharT, _Traits>*
> 28468:       rdbuf(basic_streambuf<_CharT, _Traits>* __sb);
> 28468: # 360 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       basic_ios&
> 28468:       copyfmt(const basic_ios& __rhs);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       char_type
> 28468:       fill() const
> 28468:       {
> 28468:  if (!_M_fill_init)
> 28468:    {
> 28468:      _M_fill = this->widen(' ');
> 28468:      _M_fill_init = true;
> 28468:    }
> 28468:  return _M_fill;
> 28468:       }
> 28468: # 389 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       char_type
> 28468:       fill(char_type __ch)
> 28468:       {
> 28468:  char_type __old = this->fill();
> 28468:  _M_fill = __ch;
> 28468:  return __old;
> 28468:       }
> 28468: # 409 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       locale
> 28468:       imbue(const locale& __loc);
> 28468: # 429 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       char
> 28468:       narrow(char_type __c, char __dfault) const
> 28468:       { return __check_facet(_M_ctype).narrow(__c, __dfault); }
> 28468: # 448 "/usr/include/c++/9/bits/basic_ios.h" 3
> 28468:       char_type
> 28468:       widen(char __c) const
> 28468:       { return __check_facet(_M_ctype).widen(__c); }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_ios()
> 28468:       : ios_base(), _M_tie(0), _M_fill(char_type()), _M_fill_init(false),
> 28468:  _M_streambuf(0), _M_ctype(0), _M_num_put(0), _M_num_get(0)
> 28468:       { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       init(basic_streambuf<_CharT, _Traits>* __sb);
> 28468: 
> 28468: 
> 28468:       basic_ios(const basic_ios&) = delete;
> 28468:       basic_ios& operator=(const basic_ios&) = delete;
> 28468: 
> 28468:       void
> 28468:       move(basic_ios& __rhs)
> 28468:       {
> 28468:  ios_base::_M_move(__rhs);
> 28468:  _M_cache_locale(_M_ios_locale);
> 28468:  this->tie(__rhs.tie(nullptr));
> 28468:  _M_fill = __rhs._M_fill;
> 28468:  _M_fill_init = __rhs._M_fill_init;
> 28468:  _M_streambuf = nullptr;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       move(basic_ios&& __rhs)
> 28468:       { this->move(__rhs); }
> 28468: 
> 28468:       void
> 28468:       swap(basic_ios& __rhs) noexcept
> 28468:       {
> 28468:  ios_base::_M_swap(__rhs);
> 28468:  _M_cache_locale(_M_ios_locale);
> 28468:  __rhs._M_cache_locale(__rhs._M_ios_locale);
> 28468:  std::swap(_M_tie, __rhs._M_tie);
> 28468:  std::swap(_M_fill, __rhs._M_fill);
> 28468:  std::swap(_M_fill_init, __rhs._M_fill_init);
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       set_rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
> 28468:       { _M_streambuf = __sb; }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_cache_locale(const locale& __loc);
> 28468:     };
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/basic_ios.tcc" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/basic_ios.tcc" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/basic_ios.tcc" 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     void
> 28468:     basic_ios<_CharT, _Traits>::clear(iostate __state)
> 28468:     {
> 28468:       if (this->rdbuf())
> 28468:  _M_streambuf_state = __state;
> 28468:       else
> 28468:    _M_streambuf_state = __state | badbit;
> 28468:       if (this->exceptions() & this->rdstate())
> 28468:  __throw_ios_failure(("basic_ios::clear"));
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_streambuf<_CharT, _Traits>*
> 28468:     basic_ios<_CharT, _Traits>::rdbuf(basic_streambuf<_CharT, _Traits>* __sb)
> 28468:     {
> 28468:       basic_streambuf<_CharT, _Traits>* __old = _M_streambuf;
> 28468:       _M_streambuf = __sb;
> 28468:       this->clear();
> 28468:       return __old;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ios<_CharT, _Traits>&
> 28468:     basic_ios<_CharT, _Traits>::copyfmt(const basic_ios& __rhs)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       if (this != &__rhs)
> 28468:  {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:    _Words* __words = (__rhs._M_word_size <= _S_local_word_size) ?
> 28468:                       _M_local_word : new _Words[__rhs._M_word_size];
> 28468: 
> 28468: 
> 28468:    _Callback_list* __cb = __rhs._M_callbacks;
> 28468:    if (__cb)
> 28468:      __cb->_M_add_reference();
> 28468:    _M_call_callbacks(erase_event);
> 28468:    if (_M_word != _M_local_word)
> 28468:      {
> 28468:        delete [] _M_word;
> 28468:        _M_word = 0;
> 28468:      }
> 28468:    _M_dispose_callbacks();
> 28468: 
> 28468: 
> 28468:    _M_callbacks = __cb;
> 28468:    for (int __i = 0; __i < __rhs._M_word_size; ++__i)
> 28468:      __words[__i] = __rhs._M_word[__i];
> 28468:    _M_word = __words;
> 28468:    _M_word_size = __rhs._M_word_size;
> 28468: 
> 28468:    this->flags(__rhs.flags());
> 28468:    this->width(__rhs.width());
> 28468:    this->precision(__rhs.precision());
> 28468:    this->tie(__rhs.tie());
> 28468:    this->fill(__rhs.fill());
> 28468:    _M_ios_locale = __rhs.getloc();
> 28468:    _M_cache_locale(_M_ios_locale);
> 28468: 
> 28468:    _M_call_callbacks(copyfmt_event);
> 28468: 
> 28468: 
> 28468:    this->exceptions(__rhs.exceptions());
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     locale
> 28468:     basic_ios<_CharT, _Traits>::imbue(const locale& __loc)
> 28468:     {
> 28468:       locale __old(this->getloc());
> 28468:       ios_base::imbue(__loc);
> 28468:       _M_cache_locale(__loc);
> 28468:       if (this->rdbuf() != 0)
> 28468:  this->rdbuf()->pubimbue(__loc);
> 28468:       return __old;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     void
> 28468:     basic_ios<_CharT, _Traits>::init(basic_streambuf<_CharT, _Traits>* __sb)
> 28468:     {
> 28468: 
> 28468:       ios_base::_M_init();
> 28468: 
> 28468: 
> 28468:       _M_cache_locale(_M_ios_locale);
> 28468: # 146 "/usr/include/c++/9/bits/basic_ios.tcc" 3
> 28468:       _M_fill = _CharT();
> 28468:       _M_fill_init = false;
> 28468: 
> 28468:       _M_tie = 0;
> 28468:       _M_exception = goodbit;
> 28468:       _M_streambuf = __sb;
> 28468:       _M_streambuf_state = __sb ? goodbit : badbit;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     void
> 28468:     basic_ios<_CharT, _Traits>::_M_cache_locale(const locale& __loc)
> 28468:     {
> 28468:       if (__builtin_expect(has_facet<__ctype_type>(__loc), true))
> 28468:  _M_ctype = std::__addressof(use_facet<__ctype_type>(__loc));
> 28468:       else
> 28468:  _M_ctype = 0;
> 28468: 
> 28468:       if (__builtin_expect(has_facet<__num_put_type>(__loc), true))
> 28468:  _M_num_put = std::__addressof(use_facet<__num_put_type>(__loc));
> 28468:       else
> 28468:  _M_num_put = 0;
> 28468: 
> 28468:       if (__builtin_expect(has_facet<__num_get_type>(__loc), true))
> 28468:  _M_num_get = std::__addressof(use_facet<__num_get_type>(__loc));
> 28468:       else
> 28468:  _M_num_get = 0;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template class basic_ios<char>;
> 28468: 
> 28468: 
> 28468:   extern template class basic_ios<wchar_t>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 517 "/usr/include/c++/9/bits/basic_ios.h" 2 3
> 28468: # 45 "/usr/include/c++/9/ios" 2 3
> 28468: # 39 "/usr/include/c++/9/ostream" 2 3
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 57 "/usr/include/c++/9/ostream" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     class basic_ostream : virtual public basic_ios<_CharT, _Traits>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef typename _Traits::int_type int_type;
> 28468:       typedef typename _Traits::pos_type pos_type;
> 28468:       typedef typename _Traits::off_type off_type;
> 28468:       typedef _Traits traits_type;
> 28468: 
> 28468: 
> 28468:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
> 28468:       typedef basic_ios<_CharT, _Traits> __ios_type;
> 28468:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
> 28468:       typedef num_put<_CharT, ostreambuf_iterator<_CharT, _Traits> >
> 28468:              __num_put_type;
> 28468:       typedef ctype<_CharT> __ctype_type;
> 28468: # 83 "/usr/include/c++/9/ostream" 3
> 28468:       explicit
> 28468:       basic_ostream(__streambuf_type* __sb)
> 28468:       { this->init(__sb); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       virtual
> 28468:       ~basic_ostream() { }
> 28468: 
> 28468: 
> 28468:       class sentry;
> 28468:       friend class sentry;
> 28468: # 107 "/usr/include/c++/9/ostream" 3
> 28468:       __ostream_type&
> 28468:       operator<<(__ostream_type& (*__pf)(__ostream_type&))
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:  return __pf(*this);
> 28468:       }
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(__ios_type& (*__pf)(__ios_type&))
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:  __pf(*this);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(ios_base& (*__pf) (ios_base&))
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:  __pf(*this);
> 28468:  return *this;
> 28468:       }
> 28468: # 165 "/usr/include/c++/9/ostream" 3
> 28468:       __ostream_type&
> 28468:       operator<<(long __n)
> 28468:       { return _M_insert(__n); }
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(unsigned long __n)
> 28468:       { return _M_insert(__n); }
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(bool __n)
> 28468:       { return _M_insert(__n); }
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(short __n);
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(unsigned short __n)
> 28468:       {
> 28468: 
> 28468: 
> 28468:  return _M_insert(static_cast<unsigned long>(__n));
> 28468:       }
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(int __n);
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(unsigned int __n)
> 28468:       {
> 28468: 
> 28468: 
> 28468:  return _M_insert(static_cast<unsigned long>(__n));
> 28468:       }
> 28468: 
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(long long __n)
> 28468:       { return _M_insert(__n); }
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(unsigned long long __n)
> 28468:       { return _M_insert(__n); }
> 28468: # 219 "/usr/include/c++/9/ostream" 3
> 28468:       __ostream_type&
> 28468:       operator<<(double __f)
> 28468:       { return _M_insert(__f); }
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(float __f)
> 28468:       {
> 28468: 
> 28468: 
> 28468:  return _M_insert(static_cast<double>(__f));
> 28468:       }
> 28468: 
> 28468:       __ostream_type&
> 28468:       operator<<(long double __f)
> 28468:       { return _M_insert(__f); }
> 28468: # 244 "/usr/include/c++/9/ostream" 3
> 28468:       __ostream_type&
> 28468:       operator<<(const void* __p)
> 28468:       { return _M_insert(__p); }
> 28468: # 275 "/usr/include/c++/9/ostream" 3
> 28468:       __ostream_type&
> 28468:       operator<<(__streambuf_type* __sb);
> 28468: # 308 "/usr/include/c++/9/ostream" 3
> 28468:       __ostream_type&
> 28468:       put(char_type __c);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_write(const char_type* __s, streamsize __n)
> 28468:       {
> 28468:  const streamsize __put = this->rdbuf()->sputn(__s, __n);
> 28468:  if (__put != __n)
> 28468:    this->setstate(ios_base::badbit);
> 28468:       }
> 28468: # 340 "/usr/include/c++/9/ostream" 3
> 28468:       __ostream_type&
> 28468:       write(const char_type* __s, streamsize __n);
> 28468: # 353 "/usr/include/c++/9/ostream" 3
> 28468:       __ostream_type&
> 28468:       flush();
> 28468: # 363 "/usr/include/c++/9/ostream" 3
> 28468:       pos_type
> 28468:       tellp();
> 28468: # 374 "/usr/include/c++/9/ostream" 3
> 28468:       __ostream_type&
> 28468:       seekp(pos_type);
> 28468: # 386 "/usr/include/c++/9/ostream" 3
> 28468:        __ostream_type&
> 28468:       seekp(off_type, ios_base::seekdir);
> 28468: 
> 28468:     protected:
> 28468:       basic_ostream()
> 28468:       { this->init(0); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_ostream(basic_iostream<_CharT, _Traits>&) { }
> 28468: 
> 28468:       basic_ostream(const basic_ostream&) = delete;
> 28468: 
> 28468:       basic_ostream(basic_ostream&& __rhs)
> 28468:       : __ios_type()
> 28468:       { __ios_type::move(__rhs); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_ostream& operator=(const basic_ostream&) = delete;
> 28468: 
> 28468:       basic_ostream&
> 28468:       operator=(basic_ostream&& __rhs)
> 28468:       {
> 28468:  swap(__rhs);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       swap(basic_ostream& __rhs)
> 28468:       { __ios_type::swap(__rhs); }
> 28468: 
> 28468: 
> 28468:       template<typename _ValueT>
> 28468:  __ostream_type&
> 28468:  _M_insert(_ValueT __v);
> 28468:     };
> 28468: # 431 "/usr/include/c++/9/ostream" 3
> 28468:   template <typename _CharT, typename _Traits>
> 28468:     class basic_ostream<_CharT, _Traits>::sentry
> 28468:     {
> 28468: 
> 28468:       bool _M_ok;
> 28468:       basic_ostream<_CharT, _Traits>& _M_os;
> 28468: 
> 28468:     public:
> 28468: # 450 "/usr/include/c++/9/ostream" 3
> 28468:       explicit
> 28468:       sentry(basic_ostream<_CharT, _Traits>& __os);
> 28468: 
> 28468: #pragma GCC diagnostic push
> 28468: #pragma GCC diagnostic ignored "-Wdeprecated-declarations"
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       ~sentry()
> 28468:       {
> 28468: 
> 28468:  if (bool(_M_os.flags() & ios_base::unitbuf) && !uncaught_exception())
> 28468:    {
> 28468: 
> 28468:      if (_M_os.rdbuf() && _M_os.rdbuf()->pubsync() == -1)
> 28468:        _M_os.setstate(ios_base::badbit);
> 28468:    }
> 28468:       }
> 28468: #pragma GCC diagnostic pop
> 28468: # 482 "/usr/include/c++/9/ostream" 3
> 28468:       explicit
> 28468: 
> 28468:       operator bool() const
> 28468:       { return _M_ok; }
> 28468:     };
> 28468: # 504 "/usr/include/c++/9/ostream" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __out, _CharT __c)
> 28468:     { return __ostream_insert(__out, &__c, 1); }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __out, char __c)
> 28468:     { return (__out << __out.widen(__c)); }
> 28468: 
> 28468: 
> 28468:   template <class _Traits>
> 28468:     inline basic_ostream<char, _Traits>&
> 28468:     operator<<(basic_ostream<char, _Traits>& __out, char __c)
> 28468:     { return __ostream_insert(__out, &__c, 1); }
> 28468: 
> 28468: 
> 28468:   template<class _Traits>
> 28468:     inline basic_ostream<char, _Traits>&
> 28468:     operator<<(basic_ostream<char, _Traits>& __out, signed char __c)
> 28468:     { return (__out << static_cast<char>(__c)); }
> 28468: 
> 28468:   template<class _Traits>
> 28468:     inline basic_ostream<char, _Traits>&
> 28468:     operator<<(basic_ostream<char, _Traits>& __out, unsigned char __c)
> 28468:     { return (__out << static_cast<char>(__c)); }
> 28468: # 546 "/usr/include/c++/9/ostream" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __out, const _CharT* __s)
> 28468:     {
> 28468:       if (!__s)
> 28468:  __out.setstate(ios_base::badbit);
> 28468:       else
> 28468:  __ostream_insert(__out, __s,
> 28468:     static_cast<streamsize>(_Traits::length(__s)));
> 28468:       return __out;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits> &
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s);
> 28468: 
> 28468: 
> 28468:   template<class _Traits>
> 28468:     inline basic_ostream<char, _Traits>&
> 28468:     operator<<(basic_ostream<char, _Traits>& __out, const char* __s)
> 28468:     {
> 28468:       if (!__s)
> 28468:  __out.setstate(ios_base::badbit);
> 28468:       else
> 28468:  __ostream_insert(__out, __s,
> 28468:     static_cast<streamsize>(_Traits::length(__s)));
> 28468:       return __out;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<class _Traits>
> 28468:     inline basic_ostream<char, _Traits>&
> 28468:     operator<<(basic_ostream<char, _Traits>& __out, const signed char* __s)
> 28468:     { return (__out << reinterpret_cast<const char*>(__s)); }
> 28468: 
> 28468:   template<class _Traits>
> 28468:     inline basic_ostream<char, _Traits> &
> 28468:     operator<<(basic_ostream<char, _Traits>& __out, const unsigned char* __s)
> 28468:     { return (__out << reinterpret_cast<const char*>(__s)); }
> 28468: # 597 "/usr/include/c++/9/ostream" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     endl(basic_ostream<_CharT, _Traits>& __os)
> 28468:     { return flush(__os.put(__os.widen('\n'))); }
> 28468: # 609 "/usr/include/c++/9/ostream" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     ends(basic_ostream<_CharT, _Traits>& __os)
> 28468:     { return __os.put(_CharT()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     flush(basic_ostream<_CharT, _Traits>& __os)
> 28468:     { return __os.flush(); }
> 28468: 
> 28468: 
> 28468:   template<typename _Ch, typename _Up>
> 28468:     basic_ostream<_Ch, _Up>&
> 28468:     __is_convertible_to_basic_ostream_test(basic_ostream<_Ch, _Up>*);
> 28468: 
> 28468:   template<typename _Tp, typename = void>
> 28468:     struct __is_convertible_to_basic_ostream_impl
> 28468:     {
> 28468:       using __ostream_type = void;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     using __do_is_convertible_to_basic_ostream_impl =
> 28468:     decltype(__is_convertible_to_basic_ostream_test
> 28468:       (declval<typename remove_reference<_Tp>::type*>()));
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_convertible_to_basic_ostream_impl
> 28468:     <_Tp,
> 28468:      __void_t<__do_is_convertible_to_basic_ostream_impl<_Tp>>>
> 28468:     {
> 28468:       using __ostream_type =
> 28468:  __do_is_convertible_to_basic_ostream_impl<_Tp>;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_convertible_to_basic_ostream
> 28468:     : __is_convertible_to_basic_ostream_impl<_Tp>
> 28468:     {
> 28468:     public:
> 28468:       using type = __not_<is_void<
> 28468:         typename __is_convertible_to_basic_ostream_impl<_Tp>::__ostream_type>>;
> 28468:       constexpr static bool value = type::value;
> 28468:     };
> 28468: 
> 28468:   template<typename _Ostream, typename _Tp, typename = void>
> 28468:     struct __is_insertable : false_type {};
> 28468: 
> 28468:   template<typename _Ostream, typename _Tp>
> 28468:     struct __is_insertable<_Ostream, _Tp,
> 28468:       __void_t<decltype(declval<_Ostream&>()
> 28468:           << declval<const _Tp&>())>>
> 28468:         : true_type {};
> 28468: 
> 28468:   template<typename _Ostream>
> 28468:     using __rvalue_ostream_type =
> 28468:       typename __is_convertible_to_basic_ostream<
> 28468:  _Ostream>::__ostream_type;
> 28468: # 683 "/usr/include/c++/9/ostream" 3
> 28468:   template<typename _Ostream, typename _Tp>
> 28468:     inline
> 28468:     typename enable_if<__and_<__not_<is_lvalue_reference<_Ostream>>,
> 28468:          __is_convertible_to_basic_ostream<_Ostream>,
> 28468:          __is_insertable<
> 28468:     __rvalue_ostream_type<_Ostream>,
> 28468:     const _Tp&>>::value,
> 28468:          __rvalue_ostream_type<_Ostream>>::type
> 28468:     operator<<(_Ostream&& __os, const _Tp& __x)
> 28468:     {
> 28468:       __rvalue_ostream_type<_Ostream> __ret_os = __os;
> 28468:       __ret_os << __x;
> 28468:       return __ret_os;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/ostream.tcc" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/ostream.tcc" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/ostream.tcc" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>::sentry::
> 28468:     sentry(basic_ostream<_CharT, _Traits>& __os)
> 28468:     : _M_ok(false), _M_os(__os)
> 28468:     {
> 28468: 
> 28468:       if (__os.tie() && __os.good())
> 28468:  __os.tie()->flush();
> 28468: 
> 28468:       if (__os.good())
> 28468:  _M_ok = true;
> 28468:       else
> 28468:  __os.setstate(ios_base::failbit);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     template<typename _ValueT>
> 28468:       basic_ostream<_CharT, _Traits>&
> 28468:       basic_ostream<_CharT, _Traits>::
> 28468:       _M_insert(_ValueT __v)
> 28468:       {
> 28468:  sentry __cerb(*this);
> 28468:  if (__cerb)
> 28468:    {
> 28468:      ios_base::iostate __err = ios_base::goodbit;
> 28468:      try
> 28468:        {
> 28468:   const __num_put_type& __np = __check_facet(this->_M_num_put);
> 28468:   if (__np.put(*this, *this, this->fill(), __v).failed())
> 28468:     __err |= ios_base::badbit;
> 28468:        }
> 28468:      catch(__cxxabiv1::__forced_unwind&)
> 28468:        {
> 28468:   this->_M_setstate(ios_base::badbit);
> 28468:   throw;
> 28468:        }
> 28468:      catch(...)
> 28468:        { this->_M_setstate(ios_base::badbit); }
> 28468:      if (__err)
> 28468:        this->setstate(__err);
> 28468:    }
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     basic_ostream<_CharT, _Traits>::
> 28468:     operator<<(short __n)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
> 28468:       if (__fmt == ios_base::oct || __fmt == ios_base::hex)
> 28468:  return _M_insert(static_cast<long>(static_cast<unsigned short>(__n)));
> 28468:       else
> 28468:  return _M_insert(static_cast<long>(__n));
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     basic_ostream<_CharT, _Traits>::
> 28468:     operator<<(int __n)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       const ios_base::fmtflags __fmt = this->flags() & ios_base::basefield;
> 28468:       if (__fmt == ios_base::oct || __fmt == ios_base::hex)
> 28468:  return _M_insert(static_cast<long>(static_cast<unsigned int>(__n)));
> 28468:       else
> 28468:  return _M_insert(static_cast<long>(__n));
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     basic_ostream<_CharT, _Traits>::
> 28468:     operator<<(__streambuf_type* __sbin)
> 28468:     {
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       sentry __cerb(*this);
> 28468:       if (__cerb && __sbin)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468:        if (!__copy_streambufs(__sbin, this->rdbuf()))
> 28468:   __err |= ios_base::failbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::failbit); }
> 28468:  }
> 28468:       else if (!__sbin)
> 28468:  __err |= ios_base::badbit;
> 28468:       if (__err)
> 28468:  this->setstate(__err);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     basic_ostream<_CharT, _Traits>::
> 28468:     put(char_type __c)
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       sentry __cerb(*this);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        const int_type __put = this->rdbuf()->sputc(__c);
> 28468:        if (traits_type::eq_int_type(__put, traits_type::eof()))
> 28468:   __err |= ios_base::badbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     basic_ostream<_CharT, _Traits>::
> 28468:     write(const _CharT* __s, streamsize __n)
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       sentry __cerb(*this);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    try
> 28468:      { _M_write(__s, __n); }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     basic_ostream<_CharT, _Traits>::
> 28468:     flush()
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       try
> 28468:  {
> 28468:    if (this->rdbuf() && this->rdbuf()->pubsync() == -1)
> 28468:      __err |= ios_base::badbit;
> 28468:  }
> 28468:       catch(__cxxabiv1::__forced_unwind&)
> 28468:  {
> 28468:    this->_M_setstate(ios_base::badbit);
> 28468:    throw;
> 28468:  }
> 28468:       catch(...)
> 28468:  { this->_M_setstate(ios_base::badbit); }
> 28468:       if (__err)
> 28468:  this->setstate(__err);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     typename basic_ostream<_CharT, _Traits>::pos_type
> 28468:     basic_ostream<_CharT, _Traits>::
> 28468:     tellp()
> 28468:     {
> 28468:       pos_type __ret = pos_type(-1);
> 28468:       try
> 28468:  {
> 28468:    if (!this->fail())
> 28468:      __ret = this->rdbuf()->pubseekoff(0, ios_base::cur, ios_base::out);
> 28468:  }
> 28468:       catch(__cxxabiv1::__forced_unwind&)
> 28468:  {
> 28468:    this->_M_setstate(ios_base::badbit);
> 28468:    throw;
> 28468:  }
> 28468:       catch(...)
> 28468:  { this->_M_setstate(ios_base::badbit); }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     basic_ostream<_CharT, _Traits>::
> 28468:     seekp(pos_type __pos)
> 28468:     {
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       try
> 28468:  {
> 28468:    if (!this->fail())
> 28468:      {
> 28468: 
> 28468: 
> 28468:        const pos_type __p = this->rdbuf()->pubseekpos(__pos,
> 28468:             ios_base::out);
> 28468: 
> 28468: 
> 28468:        if (__p == pos_type(off_type(-1)))
> 28468:   __err |= ios_base::failbit;
> 28468:      }
> 28468:  }
> 28468:       catch(__cxxabiv1::__forced_unwind&)
> 28468:  {
> 28468:    this->_M_setstate(ios_base::badbit);
> 28468:    throw;
> 28468:  }
> 28468:       catch(...)
> 28468:  { this->_M_setstate(ios_base::badbit); }
> 28468:       if (__err)
> 28468:  this->setstate(__err);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     basic_ostream<_CharT, _Traits>::
> 28468:     seekp(off_type __off, ios_base::seekdir __dir)
> 28468:     {
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       try
> 28468:  {
> 28468:    if (!this->fail())
> 28468:      {
> 28468: 
> 28468: 
> 28468:        const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
> 28468:             ios_base::out);
> 28468: 
> 28468: 
> 28468:        if (__p == pos_type(off_type(-1)))
> 28468:   __err |= ios_base::failbit;
> 28468:      }
> 28468:  }
> 28468:       catch(__cxxabiv1::__forced_unwind&)
> 28468:  {
> 28468:    this->_M_setstate(ios_base::badbit);
> 28468:    throw;
> 28468:  }
> 28468:       catch(...)
> 28468:  { this->_M_setstate(ios_base::badbit); }
> 28468:       if (__err)
> 28468:  this->setstate(__err);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __out, const char* __s)
> 28468:     {
> 28468:       if (!__s)
> 28468:  __out.setstate(ios_base::badbit);
> 28468:       else
> 28468:  {
> 28468: 
> 28468: 
> 28468:    const size_t __clen = char_traits<char>::length(__s);
> 28468:    try
> 28468:      {
> 28468:        struct __ptr_guard
> 28468:        {
> 28468:   _CharT *__p;
> 28468:   __ptr_guard (_CharT *__ip): __p(__ip) { }
> 28468:   ~__ptr_guard() { delete[] __p; }
> 28468:   _CharT* __get() { return __p; }
> 28468:        } __pg (new _CharT[__clen]);
> 28468: 
> 28468:        _CharT *__ws = __pg.__get();
> 28468:        for (size_t __i = 0; __i < __clen; ++__i)
> 28468:   __ws[__i] = __out.widen(__s[__i]);
> 28468:        __ostream_insert(__out, __ws, __clen);
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        __out._M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { __out._M_setstate(ios_base::badbit); }
> 28468:  }
> 28468:       return __out;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template class basic_ostream<char>;
> 28468:   extern template ostream& endl(ostream&);
> 28468:   extern template ostream& ends(ostream&);
> 28468:   extern template ostream& flush(ostream&);
> 28468:   extern template ostream& operator<<(ostream&, char);
> 28468:   extern template ostream& operator<<(ostream&, unsigned char);
> 28468:   extern template ostream& operator<<(ostream&, signed char);
> 28468:   extern template ostream& operator<<(ostream&, const char*);
> 28468:   extern template ostream& operator<<(ostream&, const unsigned char*);
> 28468:   extern template ostream& operator<<(ostream&, const signed char*);
> 28468: 
> 28468:   extern template ostream& ostream::_M_insert(long);
> 28468:   extern template ostream& ostream::_M_insert(unsigned long);
> 28468:   extern template ostream& ostream::_M_insert(bool);
> 28468: 
> 28468:   extern template ostream& ostream::_M_insert(long long);
> 28468:   extern template ostream& ostream::_M_insert(unsigned long long);
> 28468: 
> 28468:   extern template ostream& ostream::_M_insert(double);
> 28468:   extern template ostream& ostream::_M_insert(long double);
> 28468:   extern template ostream& ostream::_M_insert(const void*);
> 28468: 
> 28468: 
> 28468:   extern template class basic_ostream<wchar_t>;
> 28468:   extern template wostream& endl(wostream&);
> 28468:   extern template wostream& ends(wostream&);
> 28468:   extern template wostream& flush(wostream&);
> 28468:   extern template wostream& operator<<(wostream&, wchar_t);
> 28468:   extern template wostream& operator<<(wostream&, char);
> 28468:   extern template wostream& operator<<(wostream&, const wchar_t*);
> 28468:   extern template wostream& operator<<(wostream&, const char*);
> 28468: 
> 28468:   extern template wostream& wostream::_M_insert(long);
> 28468:   extern template wostream& wostream::_M_insert(unsigned long);
> 28468:   extern template wostream& wostream::_M_insert(bool);
> 28468: 
> 28468:   extern template wostream& wostream::_M_insert(long long);
> 28468:   extern template wostream& wostream::_M_insert(unsigned long long);
> 28468: 
> 28468:   extern template wostream& wostream::_M_insert(double);
> 28468:   extern template wostream& wostream::_M_insert(long double);
> 28468:   extern template wostream& wostream::_M_insert(const void*);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 703 "/usr/include/c++/9/ostream" 2 3
> 28468: # 40 "/usr/include/c++/9/iostream" 2 3
> 28468: # 1 "/usr/include/c++/9/istream" 1 3
> 28468: # 36 "/usr/include/c++/9/istream" 3
> 28468:        
> 28468: # 37 "/usr/include/c++/9/istream" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 57 "/usr/include/c++/9/istream" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     class basic_istream : virtual public basic_ios<_CharT, _Traits>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef typename _Traits::int_type int_type;
> 28468:       typedef typename _Traits::pos_type pos_type;
> 28468:       typedef typename _Traits::off_type off_type;
> 28468:       typedef _Traits traits_type;
> 28468: 
> 28468: 
> 28468:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
> 28468:       typedef basic_ios<_CharT, _Traits> __ios_type;
> 28468:       typedef basic_istream<_CharT, _Traits> __istream_type;
> 28468:       typedef num_get<_CharT, istreambuf_iterator<_CharT, _Traits> >
> 28468:         __num_get_type;
> 28468:       typedef ctype<_CharT> __ctype_type;
> 28468: 
> 28468:     protected:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       streamsize _M_gcount;
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       basic_istream(__streambuf_type* __sb)
> 28468:       : _M_gcount(streamsize(0))
> 28468:       { this->init(__sb); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       virtual
> 28468:       ~basic_istream()
> 28468:       { _M_gcount = streamsize(0); }
> 28468: 
> 28468: 
> 28468:       class sentry;
> 28468:       friend class sentry;
> 28468: # 119 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       operator>>(__istream_type& (*__pf)(__istream_type&))
> 28468:       { return __pf(*this); }
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(__ios_type& (*__pf)(__ios_type&))
> 28468:       {
> 28468:  __pf(*this);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(ios_base& (*__pf)(ios_base&))
> 28468:       {
> 28468:  __pf(*this);
> 28468:  return *this;
> 28468:       }
> 28468: # 167 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       operator>>(bool& __n)
> 28468:       { return _M_extract(__n); }
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(short& __n);
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(unsigned short& __n)
> 28468:       { return _M_extract(__n); }
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(int& __n);
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(unsigned int& __n)
> 28468:       { return _M_extract(__n); }
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(long& __n)
> 28468:       { return _M_extract(__n); }
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(unsigned long& __n)
> 28468:       { return _M_extract(__n); }
> 28468: 
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(long long& __n)
> 28468:       { return _M_extract(__n); }
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(unsigned long long& __n)
> 28468:       { return _M_extract(__n); }
> 28468: # 213 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       operator>>(float& __f)
> 28468:       { return _M_extract(__f); }
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(double& __f)
> 28468:       { return _M_extract(__f); }
> 28468: 
> 28468:       __istream_type&
> 28468:       operator>>(long double& __f)
> 28468:       { return _M_extract(__f); }
> 28468: # 234 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       operator>>(void*& __p)
> 28468:       { return _M_extract(__p); }
> 28468: # 258 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       operator>>(__streambuf_type* __sb);
> 28468: # 268 "/usr/include/c++/9/istream" 3
> 28468:       streamsize
> 28468:       gcount() const
> 28468:       { return _M_gcount; }
> 28468: # 301 "/usr/include/c++/9/istream" 3
> 28468:       int_type
> 28468:       get();
> 28468: # 315 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       get(char_type& __c);
> 28468: # 342 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       get(char_type* __s, streamsize __n, char_type __delim);
> 28468: # 353 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       get(char_type* __s, streamsize __n)
> 28468:       { return this->get(__s, __n, this->widen('\n')); }
> 28468: # 376 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       get(__streambuf_type& __sb, char_type __delim);
> 28468: # 386 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       get(__streambuf_type& __sb)
> 28468:       { return this->get(__sb, this->widen('\n')); }
> 28468: # 415 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       getline(char_type* __s, streamsize __n, char_type __delim);
> 28468: # 426 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       getline(char_type* __s, streamsize __n)
> 28468:       { return this->getline(__s, __n, this->widen('\n')); }
> 28468: # 450 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       ignore(streamsize __n, int_type __delim);
> 28468: 
> 28468:       __istream_type&
> 28468:       ignore(streamsize __n);
> 28468: 
> 28468:       __istream_type&
> 28468:       ignore();
> 28468: # 467 "/usr/include/c++/9/istream" 3
> 28468:       int_type
> 28468:       peek();
> 28468: # 485 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       read(char_type* __s, streamsize __n);
> 28468: # 504 "/usr/include/c++/9/istream" 3
> 28468:       streamsize
> 28468:       readsome(char_type* __s, streamsize __n);
> 28468: # 521 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       putback(char_type __c);
> 28468: # 537 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       unget();
> 28468: # 555 "/usr/include/c++/9/istream" 3
> 28468:       int
> 28468:       sync();
> 28468: # 570 "/usr/include/c++/9/istream" 3
> 28468:       pos_type
> 28468:       tellg();
> 28468: # 585 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       seekg(pos_type);
> 28468: # 601 "/usr/include/c++/9/istream" 3
> 28468:       __istream_type&
> 28468:       seekg(off_type, ios_base::seekdir);
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       basic_istream()
> 28468:       : _M_gcount(streamsize(0))
> 28468:       { this->init(0); }
> 28468: 
> 28468: 
> 28468:       basic_istream(const basic_istream&) = delete;
> 28468: 
> 28468:       basic_istream(basic_istream&& __rhs)
> 28468:       : __ios_type(), _M_gcount(__rhs._M_gcount)
> 28468:       {
> 28468:  __ios_type::move(__rhs);
> 28468:  __rhs._M_gcount = 0;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_istream& operator=(const basic_istream&) = delete;
> 28468: 
> 28468:       basic_istream&
> 28468:       operator=(basic_istream&& __rhs)
> 28468:       {
> 28468:  swap(__rhs);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       swap(basic_istream& __rhs)
> 28468:       {
> 28468:  __ios_type::swap(__rhs);
> 28468:  std::swap(_M_gcount, __rhs._M_gcount);
> 28468:       }
> 28468: 
> 28468: 
> 28468:       template<typename _ValueT>
> 28468:  __istream_type&
> 28468:  _M_extract(_ValueT& __v);
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     basic_istream<char>&
> 28468:     basic_istream<char>::
> 28468:     getline(char_type* __s, streamsize __n, char_type __delim);
> 28468: 
> 28468:   template<>
> 28468:     basic_istream<char>&
> 28468:     basic_istream<char>::
> 28468:     ignore(streamsize __n);
> 28468: 
> 28468:   template<>
> 28468:     basic_istream<char>&
> 28468:     basic_istream<char>::
> 28468:     ignore(streamsize __n, int_type __delim);
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     basic_istream<wchar_t>&
> 28468:     basic_istream<wchar_t>::
> 28468:     getline(char_type* __s, streamsize __n, char_type __delim);
> 28468: 
> 28468:   template<>
> 28468:     basic_istream<wchar_t>&
> 28468:     basic_istream<wchar_t>::
> 28468:     ignore(streamsize __n);
> 28468: 
> 28468:   template<>
> 28468:     basic_istream<wchar_t>&
> 28468:     basic_istream<wchar_t>::
> 28468:     ignore(streamsize __n, int_type __delim);
> 28468: # 685 "/usr/include/c++/9/istream" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     class basic_istream<_CharT, _Traits>::sentry
> 28468:     {
> 28468: 
> 28468:       bool _M_ok;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       typedef _Traits traits_type;
> 28468:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
> 28468:       typedef basic_istream<_CharT, _Traits> __istream_type;
> 28468:       typedef typename __istream_type::__ctype_type __ctype_type;
> 28468:       typedef typename _Traits::int_type __int_type;
> 28468: # 721 "/usr/include/c++/9/istream" 3
> 28468:       explicit
> 28468:       sentry(basic_istream<_CharT, _Traits>& __is, bool __noskipws = false);
> 28468: # 732 "/usr/include/c++/9/istream" 3
> 28468:       explicit
> 28468: 
> 28468:       operator bool() const
> 28468:       { return _M_ok; }
> 28468:     };
> 28468: # 750 "/usr/include/c++/9/istream" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c);
> 28468: 
> 28468:   template<class _Traits>
> 28468:     inline basic_istream<char, _Traits>&
> 28468:     operator>>(basic_istream<char, _Traits>& __in, unsigned char& __c)
> 28468:     { return (__in >> reinterpret_cast<char&>(__c)); }
> 28468: 
> 28468:   template<class _Traits>
> 28468:     inline basic_istream<char, _Traits>&
> 28468:     operator>>(basic_istream<char, _Traits>& __in, signed char& __c)
> 28468:     { return (__in >> reinterpret_cast<char&>(__c)); }
> 28468: # 792 "/usr/include/c++/9/istream" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s);
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     basic_istream<char>&
> 28468:     operator>>(basic_istream<char>& __in, char* __s);
> 28468: 
> 28468:   template<class _Traits>
> 28468:     inline basic_istream<char, _Traits>&
> 28468:     operator>>(basic_istream<char, _Traits>& __in, unsigned char* __s)
> 28468:     { return (__in >> reinterpret_cast<char*>(__s)); }
> 28468: 
> 28468:   template<class _Traits>
> 28468:     inline basic_istream<char, _Traits>&
> 28468:     operator>>(basic_istream<char, _Traits>& __in, signed char* __s)
> 28468:     { return (__in >> reinterpret_cast<char*>(__s)); }
> 28468: # 823 "/usr/include/c++/9/istream" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     class basic_iostream
> 28468:     : public basic_istream<_CharT, _Traits>,
> 28468:       public basic_ostream<_CharT, _Traits>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef typename _Traits::int_type int_type;
> 28468:       typedef typename _Traits::pos_type pos_type;
> 28468:       typedef typename _Traits::off_type off_type;
> 28468:       typedef _Traits traits_type;
> 28468: 
> 28468: 
> 28468:       typedef basic_istream<_CharT, _Traits> __istream_type;
> 28468:       typedef basic_ostream<_CharT, _Traits> __ostream_type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       basic_iostream(basic_streambuf<_CharT, _Traits>* __sb)
> 28468:       : __istream_type(__sb), __ostream_type(__sb) { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       virtual
> 28468:       ~basic_iostream() { }
> 28468: 
> 28468:     protected:
> 28468:       basic_iostream()
> 28468:       : __istream_type(), __ostream_type() { }
> 28468: 
> 28468: 
> 28468:       basic_iostream(const basic_iostream&) = delete;
> 28468: 
> 28468:       basic_iostream(basic_iostream&& __rhs)
> 28468:       : __istream_type(std::move(__rhs)), __ostream_type(*this)
> 28468:       { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_iostream& operator=(const basic_iostream&) = delete;
> 28468: 
> 28468:       basic_iostream&
> 28468:       operator=(basic_iostream&& __rhs)
> 28468:       {
> 28468:  swap(__rhs);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       swap(basic_iostream& __rhs)
> 28468:       { __istream_type::swap(__rhs); }
> 28468: 
> 28468:     };
> 28468: # 906 "/usr/include/c++/9/istream" 3
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     ws(basic_istream<_CharT, _Traits>& __is);
> 28468: 
> 28468: 
> 28468:   template<typename _Ch, typename _Up>
> 28468:     basic_istream<_Ch, _Up>&
> 28468:     __is_convertible_to_basic_istream_test(basic_istream<_Ch, _Up>*);
> 28468: 
> 28468:   template<typename _Tp, typename = void>
> 28468:     struct __is_convertible_to_basic_istream_impl
> 28468:     {
> 28468:       using __istream_type = void;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     using __do_is_convertible_to_basic_istream_impl =
> 28468:     decltype(__is_convertible_to_basic_istream_test
> 28468:       (declval<typename remove_reference<_Tp>::type*>()));
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_convertible_to_basic_istream_impl
> 28468:     <_Tp,
> 28468:      __void_t<__do_is_convertible_to_basic_istream_impl<_Tp>>>
> 28468:     {
> 28468:       using __istream_type =
> 28468:  __do_is_convertible_to_basic_istream_impl<_Tp>;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_convertible_to_basic_istream
> 28468:     : __is_convertible_to_basic_istream_impl<_Tp>
> 28468:     {
> 28468:     public:
> 28468:       using type = __not_<is_void<
> 28468:         typename __is_convertible_to_basic_istream_impl<_Tp>::__istream_type>>;
> 28468:       constexpr static bool value = type::value;
> 28468:     };
> 28468: 
> 28468:   template<typename _Istream, typename _Tp, typename = void>
> 28468:     struct __is_extractable : false_type {};
> 28468: 
> 28468:   template<typename _Istream, typename _Tp>
> 28468:     struct __is_extractable<_Istream, _Tp,
> 28468:        __void_t<decltype(declval<_Istream&>()
> 28468:            >> declval<_Tp>())>>
> 28468:     : true_type {};
> 28468: 
> 28468:   template<typename _Istream>
> 28468:     using __rvalue_istream_type =
> 28468:       typename __is_convertible_to_basic_istream<
> 28468:  _Istream>::__istream_type;
> 28468: # 972 "/usr/include/c++/9/istream" 3
> 28468:   template<typename _Istream, typename _Tp>
> 28468:     inline
> 28468:     typename enable_if<__and_<__not_<is_lvalue_reference<_Istream>>,
> 28468:          __is_convertible_to_basic_istream<_Istream>,
> 28468:          __is_extractable<
> 28468:     __rvalue_istream_type<_Istream>,
> 28468:     _Tp&&>>::value,
> 28468:          __rvalue_istream_type<_Istream>>::type
> 28468:     operator>>(_Istream&& __is, _Tp&& __x)
> 28468:     {
> 28468:       __rvalue_istream_type<_Istream> __ret_is = __is;
> 28468:       __ret_is >> std::forward<_Tp>(__x);
> 28468:       return __ret_is;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/istream.tcc" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/istream.tcc" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/istream.tcc" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>::sentry::
> 28468:     sentry(basic_istream<_CharT, _Traits>& __in, bool __noskip) : _M_ok(false)
> 28468:     {
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       if (__in.good())
> 28468:  try
> 28468:    {
> 28468:      if (__in.tie())
> 28468:        __in.tie()->flush();
> 28468:      if (!__noskip && bool(__in.flags() & ios_base::skipws))
> 28468:        {
> 28468:   const __int_type __eof = traits_type::eof();
> 28468:   __streambuf_type* __sb = __in.rdbuf();
> 28468:   __int_type __c = __sb->sgetc();
> 28468: 
> 28468:   const __ctype_type& __ct = __check_facet(__in._M_ctype);
> 28468:   while (!traits_type::eq_int_type(__c, __eof)
> 28468:          && __ct.is(ctype_base::space,
> 28468:       traits_type::to_char_type(__c)))
> 28468:     __c = __sb->snextc();
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   if (traits_type::eq_int_type(__c, __eof))
> 28468:     __err |= ios_base::eofbit;
> 28468:        }
> 28468:    }
> 28468:  catch(__cxxabiv1::__forced_unwind&)
> 28468:    {
> 28468:      __in._M_setstate(ios_base::badbit);
> 28468:      throw;
> 28468:    }
> 28468:  catch(...)
> 28468:    { __in._M_setstate(ios_base::badbit); }
> 28468: 
> 28468:       if (__in.good() && __err == ios_base::goodbit)
> 28468:  _M_ok = true;
> 28468:       else
> 28468:  {
> 28468:    __err |= ios_base::failbit;
> 28468:    __in.setstate(__err);
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     template<typename _ValueT>
> 28468:       basic_istream<_CharT, _Traits>&
> 28468:       basic_istream<_CharT, _Traits>::
> 28468:       _M_extract(_ValueT& __v)
> 28468:       {
> 28468:  sentry __cerb(*this, false);
> 28468:  if (__cerb)
> 28468:    {
> 28468:      ios_base::iostate __err = ios_base::goodbit;
> 28468:      try
> 28468:        {
> 28468:   const __num_get_type& __ng = __check_facet(this->_M_num_get);
> 28468:   __ng.get(*this, 0, *this, __err, __v);
> 28468:        }
> 28468:      catch(__cxxabiv1::__forced_unwind&)
> 28468:        {
> 28468:   this->_M_setstate(ios_base::badbit);
> 28468:   throw;
> 28468:        }
> 28468:      catch(...)
> 28468:        { this->_M_setstate(ios_base::badbit); }
> 28468:      if (__err)
> 28468:        this->setstate(__err);
> 28468:    }
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     operator>>(short& __n)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       sentry __cerb(*this, false);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        long __l;
> 28468:        const __num_get_type& __ng = __check_facet(this->_M_num_get);
> 28468:        __ng.get(*this, 0, *this, __err, __l);
> 28468: 
> 28468: 
> 28468: 
> 28468:        if (__l < __gnu_cxx::__numeric_traits<short>::__min)
> 28468:   {
> 28468:     __err |= ios_base::failbit;
> 28468:     __n = __gnu_cxx::__numeric_traits<short>::__min;
> 28468:   }
> 28468:        else if (__l > __gnu_cxx::__numeric_traits<short>::__max)
> 28468:   {
> 28468:     __err |= ios_base::failbit;
> 28468:     __n = __gnu_cxx::__numeric_traits<short>::__max;
> 28468:   }
> 28468:        else
> 28468:   __n = short(__l);
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     operator>>(int& __n)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       sentry __cerb(*this, false);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        long __l;
> 28468:        const __num_get_type& __ng = __check_facet(this->_M_num_get);
> 28468:        __ng.get(*this, 0, *this, __err, __l);
> 28468: 
> 28468: 
> 28468: 
> 28468:        if (__l < __gnu_cxx::__numeric_traits<int>::__min)
> 28468:   {
> 28468:     __err |= ios_base::failbit;
> 28468:     __n = __gnu_cxx::__numeric_traits<int>::__min;
> 28468:   }
> 28468:        else if (__l > __gnu_cxx::__numeric_traits<int>::__max)
> 28468:   {
> 28468:     __err |= ios_base::failbit;
> 28468:     __n = __gnu_cxx::__numeric_traits<int>::__max;
> 28468:   }
> 28468:        else
> 28468:   __n = int(__l);
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     operator>>(__streambuf_type* __sbout)
> 28468:     {
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       sentry __cerb(*this, false);
> 28468:       if (__cerb && __sbout)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468:        bool __ineof;
> 28468:        if (!__copy_streambufs_eof(this->rdbuf(), __sbout, __ineof))
> 28468:   __err |= ios_base::failbit;
> 28468:        if (__ineof)
> 28468:   __err |= ios_base::eofbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::failbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::failbit); }
> 28468:  }
> 28468:       else if (!__sbout)
> 28468:  __err |= ios_base::failbit;
> 28468:       if (__err)
> 28468:  this->setstate(__err);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     typename basic_istream<_CharT, _Traits>::int_type
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     get(void)
> 28468:     {
> 28468:       const int_type __eof = traits_type::eof();
> 28468:       int_type __c = __eof;
> 28468:       _M_gcount = 0;
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468:        __c = this->rdbuf()->sbumpc();
> 28468: 
> 28468:        if (!traits_type::eq_int_type(__c, __eof))
> 28468:   _M_gcount = 1;
> 28468:        else
> 28468:   __err |= ios_base::eofbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:  }
> 28468:       if (!_M_gcount)
> 28468:  __err |= ios_base::failbit;
> 28468:       if (__err)
> 28468:  this->setstate(__err);
> 28468:       return __c;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     get(char_type& __c)
> 28468:     {
> 28468:       _M_gcount = 0;
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468:        const int_type __cb = this->rdbuf()->sbumpc();
> 28468: 
> 28468:        if (!traits_type::eq_int_type(__cb, traits_type::eof()))
> 28468:   {
> 28468:     _M_gcount = 1;
> 28468:     __c = traits_type::to_char_type(__cb);
> 28468:   }
> 28468:        else
> 28468:   __err |= ios_base::eofbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:  }
> 28468:       if (!_M_gcount)
> 28468:  __err |= ios_base::failbit;
> 28468:       if (__err)
> 28468:  this->setstate(__err);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     get(char_type* __s, streamsize __n, char_type __delim)
> 28468:     {
> 28468:       _M_gcount = 0;
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468:        const int_type __idelim = traits_type::to_int_type(__delim);
> 28468:        const int_type __eof = traits_type::eof();
> 28468:        __streambuf_type* __sb = this->rdbuf();
> 28468:        int_type __c = __sb->sgetc();
> 28468: 
> 28468:        while (_M_gcount + 1 < __n
> 28468:        && !traits_type::eq_int_type(__c, __eof)
> 28468:        && !traits_type::eq_int_type(__c, __idelim))
> 28468:   {
> 28468:     *__s++ = traits_type::to_char_type(__c);
> 28468:     ++_M_gcount;
> 28468:     __c = __sb->snextc();
> 28468:   }
> 28468:        if (traits_type::eq_int_type(__c, __eof))
> 28468:   __err |= ios_base::eofbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:  }
> 28468: 
> 28468: 
> 28468:       if (__n > 0)
> 28468:  *__s = char_type();
> 28468:       if (!_M_gcount)
> 28468:  __err |= ios_base::failbit;
> 28468:       if (__err)
> 28468:  this->setstate(__err);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     get(__streambuf_type& __sb, char_type __delim)
> 28468:     {
> 28468:       _M_gcount = 0;
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468:        const int_type __idelim = traits_type::to_int_type(__delim);
> 28468:        const int_type __eof = traits_type::eof();
> 28468:        __streambuf_type* __this_sb = this->rdbuf();
> 28468:        int_type __c = __this_sb->sgetc();
> 28468:        char_type __c2 = traits_type::to_char_type(__c);
> 28468: 
> 28468:        while (!traits_type::eq_int_type(__c, __eof)
> 28468:        && !traits_type::eq_int_type(__c, __idelim)
> 28468:        && !traits_type::eq_int_type(__sb.sputc(__c2), __eof))
> 28468:   {
> 28468:     ++_M_gcount;
> 28468:     __c = __this_sb->snextc();
> 28468:     __c2 = traits_type::to_char_type(__c);
> 28468:   }
> 28468:        if (traits_type::eq_int_type(__c, __eof))
> 28468:   __err |= ios_base::eofbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:  }
> 28468:       if (!_M_gcount)
> 28468:  __err |= ios_base::failbit;
> 28468:       if (__err)
> 28468:  this->setstate(__err);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     getline(char_type* __s, streamsize __n, char_type __delim)
> 28468:     {
> 28468:       _M_gcount = 0;
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:         {
> 28468:           try
> 28468:             {
> 28468:               const int_type __idelim = traits_type::to_int_type(__delim);
> 28468:               const int_type __eof = traits_type::eof();
> 28468:               __streambuf_type* __sb = this->rdbuf();
> 28468:               int_type __c = __sb->sgetc();
> 28468: 
> 28468:               while (_M_gcount + 1 < __n
> 28468:                      && !traits_type::eq_int_type(__c, __eof)
> 28468:                      && !traits_type::eq_int_type(__c, __idelim))
> 28468:                 {
> 28468:                   *__s++ = traits_type::to_char_type(__c);
> 28468:                   __c = __sb->snextc();
> 28468:                   ++_M_gcount;
> 28468:                 }
> 28468:               if (traits_type::eq_int_type(__c, __eof))
> 28468:                 __err |= ios_base::eofbit;
> 28468:               else
> 28468:                 {
> 28468:                   if (traits_type::eq_int_type(__c, __idelim))
> 28468:                     {
> 28468:                       __sb->sbumpc();
> 28468:                       ++_M_gcount;
> 28468:                     }
> 28468:                   else
> 28468:                     __err |= ios_base::failbit;
> 28468:                 }
> 28468:             }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:           catch(...)
> 28468:             { this->_M_setstate(ios_base::badbit); }
> 28468:         }
> 28468: 
> 28468: 
> 28468:       if (__n > 0)
> 28468:  *__s = char_type();
> 28468:       if (!_M_gcount)
> 28468:         __err |= ios_base::failbit;
> 28468:       if (__err)
> 28468:         this->setstate(__err);
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     ignore(void)
> 28468:     {
> 28468:       _M_gcount = 0;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        const int_type __eof = traits_type::eof();
> 28468:        __streambuf_type* __sb = this->rdbuf();
> 28468: 
> 28468:        if (traits_type::eq_int_type(__sb->sbumpc(), __eof))
> 28468:   __err |= ios_base::eofbit;
> 28468:        else
> 28468:   _M_gcount = 1;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     ignore(streamsize __n)
> 28468:     {
> 28468:       _M_gcount = 0;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb && __n > 0)
> 28468:         {
> 28468:           ios_base::iostate __err = ios_base::goodbit;
> 28468:           try
> 28468:             {
> 28468:               const int_type __eof = traits_type::eof();
> 28468:               __streambuf_type* __sb = this->rdbuf();
> 28468:               int_type __c = __sb->sgetc();
> 28468: # 521 "/usr/include/c++/9/bits/istream.tcc" 3
> 28468:        bool __large_ignore = false;
> 28468:        while (true)
> 28468:   {
> 28468:     while (_M_gcount < __n
> 28468:     && !traits_type::eq_int_type(__c, __eof))
> 28468:       {
> 28468:         ++_M_gcount;
> 28468:         __c = __sb->snextc();
> 28468:       }
> 28468:     if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
> 28468:         && !traits_type::eq_int_type(__c, __eof))
> 28468:       {
> 28468:         _M_gcount =
> 28468:    __gnu_cxx::__numeric_traits<streamsize>::__min;
> 28468:         __large_ignore = true;
> 28468:       }
> 28468:     else
> 28468:       break;
> 28468:   }
> 28468: 
> 28468:        if (__large_ignore)
> 28468:   _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
> 28468: 
> 28468:        if (traits_type::eq_int_type(__c, __eof))
> 28468:                 __err |= ios_base::eofbit;
> 28468:             }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:           catch(...)
> 28468:             { this->_M_setstate(ios_base::badbit); }
> 28468:           if (__err)
> 28468:             this->setstate(__err);
> 28468:         }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     ignore(streamsize __n, int_type __delim)
> 28468:     {
> 28468:       _M_gcount = 0;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb && __n > 0)
> 28468:         {
> 28468:           ios_base::iostate __err = ios_base::goodbit;
> 28468:           try
> 28468:             {
> 28468:               const int_type __eof = traits_type::eof();
> 28468:               __streambuf_type* __sb = this->rdbuf();
> 28468:               int_type __c = __sb->sgetc();
> 28468: 
> 28468: 
> 28468:        bool __large_ignore = false;
> 28468:        while (true)
> 28468:   {
> 28468:     while (_M_gcount < __n
> 28468:     && !traits_type::eq_int_type(__c, __eof)
> 28468:     && !traits_type::eq_int_type(__c, __delim))
> 28468:       {
> 28468:         ++_M_gcount;
> 28468:         __c = __sb->snextc();
> 28468:       }
> 28468:     if (__n == __gnu_cxx::__numeric_traits<streamsize>::__max
> 28468:         && !traits_type::eq_int_type(__c, __eof)
> 28468:         && !traits_type::eq_int_type(__c, __delim))
> 28468:       {
> 28468:         _M_gcount =
> 28468:    __gnu_cxx::__numeric_traits<streamsize>::__min;
> 28468:         __large_ignore = true;
> 28468:       }
> 28468:     else
> 28468:       break;
> 28468:   }
> 28468: 
> 28468:        if (__large_ignore)
> 28468:   _M_gcount = __gnu_cxx::__numeric_traits<streamsize>::__max;
> 28468: 
> 28468:               if (traits_type::eq_int_type(__c, __eof))
> 28468:                 __err |= ios_base::eofbit;
> 28468:        else if (traits_type::eq_int_type(__c, __delim))
> 28468:   {
> 28468:     if (_M_gcount
> 28468:         < __gnu_cxx::__numeric_traits<streamsize>::__max)
> 28468:       ++_M_gcount;
> 28468:     __sb->sbumpc();
> 28468:   }
> 28468:             }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:           catch(...)
> 28468:             { this->_M_setstate(ios_base::badbit); }
> 28468:           if (__err)
> 28468:             this->setstate(__err);
> 28468:         }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     typename basic_istream<_CharT, _Traits>::int_type
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     peek(void)
> 28468:     {
> 28468:       int_type __c = traits_type::eof();
> 28468:       _M_gcount = 0;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        __c = this->rdbuf()->sgetc();
> 28468:        if (traits_type::eq_int_type(__c, traits_type::eof()))
> 28468:   __err |= ios_base::eofbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return __c;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     read(char_type* __s, streamsize __n)
> 28468:     {
> 28468:       _M_gcount = 0;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        _M_gcount = this->rdbuf()->sgetn(__s, __n);
> 28468:        if (_M_gcount != __n)
> 28468:   __err |= (ios_base::eofbit | ios_base::failbit);
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     streamsize
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     readsome(char_type* __s, streamsize __n)
> 28468:     {
> 28468:       _M_gcount = 0;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468: 
> 28468:        const streamsize __num = this->rdbuf()->in_avail();
> 28468:        if (__num > 0)
> 28468:   _M_gcount = this->rdbuf()->sgetn(__s, std::min(__num, __n));
> 28468:        else if (__num == -1)
> 28468:   __err |= ios_base::eofbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return _M_gcount;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     putback(char_type __c)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       _M_gcount = 0;
> 28468: 
> 28468:       this->clear(this->rdstate() & ~ios_base::eofbit);
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        const int_type __eof = traits_type::eof();
> 28468:        __streambuf_type* __sb = this->rdbuf();
> 28468:        if (!__sb
> 28468:     || traits_type::eq_int_type(__sb->sputbackc(__c), __eof))
> 28468:   __err |= ios_base::badbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     unget(void)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       _M_gcount = 0;
> 28468: 
> 28468:       this->clear(this->rdstate() & ~ios_base::eofbit);
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        const int_type __eof = traits_type::eof();
> 28468:        __streambuf_type* __sb = this->rdbuf();
> 28468:        if (!__sb
> 28468:     || traits_type::eq_int_type(__sb->sungetc(), __eof))
> 28468:   __err |= ios_base::badbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     int
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     sync(void)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       int __ret = -1;
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        __streambuf_type* __sb = this->rdbuf();
> 28468:        if (__sb)
> 28468:   {
> 28468:     if (__sb->pubsync() == -1)
> 28468:       __err |= ios_base::badbit;
> 28468:     else
> 28468:       __ret = 0;
> 28468:   }
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     typename basic_istream<_CharT, _Traits>::pos_type
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     tellg(void)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       pos_type __ret = pos_type(-1);
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468:        if (!this->fail())
> 28468:   __ret = this->rdbuf()->pubseekoff(0, ios_base::cur,
> 28468:         ios_base::in);
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:  }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     seekg(pos_type __pos)
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468:       this->clear(this->rdstate() & ~ios_base::eofbit);
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        if (!this->fail())
> 28468:   {
> 28468: 
> 28468:     const pos_type __p = this->rdbuf()->pubseekpos(__pos,
> 28468:          ios_base::in);
> 28468: 
> 28468: 
> 28468:     if (__p == pos_type(off_type(-1)))
> 28468:       __err |= ios_base::failbit;
> 28468:   }
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     basic_istream<_CharT, _Traits>::
> 28468:     seekg(off_type __off, ios_base::seekdir __dir)
> 28468:     {
> 28468: 
> 28468: 
> 28468: 
> 28468:       this->clear(this->rdstate() & ~ios_base::eofbit);
> 28468:       sentry __cerb(*this, true);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        if (!this->fail())
> 28468:   {
> 28468: 
> 28468:     const pos_type __p = this->rdbuf()->pubseekoff(__off, __dir,
> 28468:          ios_base::in);
> 28468: 
> 28468: 
> 28468:     if (__p == pos_type(off_type(-1)))
> 28468:       __err |= ios_base::failbit;
> 28468:   }
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        this->_M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { this->_M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      this->setstate(__err);
> 28468:  }
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT& __c)
> 28468:     {
> 28468:       typedef basic_istream<_CharT, _Traits> __istream_type;
> 28468:       typedef typename __istream_type::int_type __int_type;
> 28468: 
> 28468:       typename __istream_type::sentry __cerb(__in, false);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        const __int_type __cb = __in.rdbuf()->sbumpc();
> 28468:        if (!_Traits::eq_int_type(__cb, _Traits::eof()))
> 28468:   __c = _Traits::to_char_type(__cb);
> 28468:        else
> 28468:   __err |= (ios_base::eofbit | ios_base::failbit);
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        __in._M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { __in._M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      __in.setstate(__err);
> 28468:  }
> 28468:       return __in;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __in, _CharT* __s)
> 28468:     {
> 28468:       typedef basic_istream<_CharT, _Traits> __istream_type;
> 28468:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
> 28468:       typedef typename _Traits::int_type int_type;
> 28468:       typedef _CharT char_type;
> 28468:       typedef ctype<_CharT> __ctype_type;
> 28468: 
> 28468:       streamsize __extracted = 0;
> 28468:       ios_base::iostate __err = ios_base::goodbit;
> 28468:       typename __istream_type::sentry __cerb(__in, false);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468: 
> 28468:        streamsize __num = __in.width();
> 28468:        if (__num <= 0)
> 28468:   __num = __gnu_cxx::__numeric_traits<streamsize>::__max;
> 28468: 
> 28468:        const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
> 28468: 
> 28468:        const int_type __eof = _Traits::eof();
> 28468:        __streambuf_type* __sb = __in.rdbuf();
> 28468:        int_type __c = __sb->sgetc();
> 28468: 
> 28468:        while (__extracted < __num - 1
> 28468:        && !_Traits::eq_int_type(__c, __eof)
> 28468:        && !__ct.is(ctype_base::space,
> 28468:      _Traits::to_char_type(__c)))
> 28468:   {
> 28468:     *__s++ = _Traits::to_char_type(__c);
> 28468:     ++__extracted;
> 28468:     __c = __sb->snextc();
> 28468:   }
> 28468:        if (_Traits::eq_int_type(__c, __eof))
> 28468:   __err |= ios_base::eofbit;
> 28468: 
> 28468: 
> 28468: 
> 28468:        *__s = char_type();
> 28468:        __in.width(0);
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        __in._M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { __in._M_setstate(ios_base::badbit); }
> 28468:  }
> 28468:       if (!__extracted)
> 28468:  __err |= ios_base::failbit;
> 28468:       if (__err)
> 28468:  __in.setstate(__err);
> 28468:       return __in;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     ws(basic_istream<_CharT, _Traits>& __in)
> 28468:     {
> 28468:       typedef basic_istream<_CharT, _Traits> __istream_type;
> 28468:       typedef basic_streambuf<_CharT, _Traits> __streambuf_type;
> 28468:       typedef typename __istream_type::int_type __int_type;
> 28468:       typedef ctype<_CharT> __ctype_type;
> 28468: 
> 28468:       const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc());
> 28468:       const __int_type __eof = _Traits::eof();
> 28468:       __streambuf_type* __sb = __in.rdbuf();
> 28468:       __int_type __c = __sb->sgetc();
> 28468: 
> 28468:       while (!_Traits::eq_int_type(__c, __eof)
> 28468:       && __ct.is(ctype_base::space, _Traits::to_char_type(__c)))
> 28468:  __c = __sb->snextc();
> 28468: 
> 28468:        if (_Traits::eq_int_type(__c, __eof))
> 28468:   __in.setstate(ios_base::eofbit);
> 28468:       return __in;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template class basic_istream<char>;
> 28468:   extern template istream& ws(istream&);
> 28468:   extern template istream& operator>>(istream&, char&);
> 28468:   extern template istream& operator>>(istream&, char*);
> 28468:   extern template istream& operator>>(istream&, unsigned char&);
> 28468:   extern template istream& operator>>(istream&, signed char&);
> 28468:   extern template istream& operator>>(istream&, unsigned char*);
> 28468:   extern template istream& operator>>(istream&, signed char*);
> 28468: 
> 28468:   extern template istream& istream::_M_extract(unsigned short&);
> 28468:   extern template istream& istream::_M_extract(unsigned int&);
> 28468:   extern template istream& istream::_M_extract(long&);
> 28468:   extern template istream& istream::_M_extract(unsigned long&);
> 28468:   extern template istream& istream::_M_extract(bool&);
> 28468: 
> 28468:   extern template istream& istream::_M_extract(long long&);
> 28468:   extern template istream& istream::_M_extract(unsigned long long&);
> 28468: 
> 28468:   extern template istream& istream::_M_extract(float&);
> 28468:   extern template istream& istream::_M_extract(double&);
> 28468:   extern template istream& istream::_M_extract(long double&);
> 28468:   extern template istream& istream::_M_extract(void*&);
> 28468: 
> 28468:   extern template class basic_iostream<char>;
> 28468: 
> 28468: 
> 28468:   extern template class basic_istream<wchar_t>;
> 28468:   extern template wistream& ws(wistream&);
> 28468:   extern template wistream& operator>>(wistream&, wchar_t&);
> 28468:   extern template wistream& operator>>(wistream&, wchar_t*);
> 28468: 
> 28468:   extern template wistream& wistream::_M_extract(unsigned short&);
> 28468:   extern template wistream& wistream::_M_extract(unsigned int&);
> 28468:   extern template wistream& wistream::_M_extract(long&);
> 28468:   extern template wistream& wistream::_M_extract(unsigned long&);
> 28468:   extern template wistream& wistream::_M_extract(bool&);
> 28468: 
> 28468:   extern template wistream& wistream::_M_extract(long long&);
> 28468:   extern template wistream& wistream::_M_extract(unsigned long long&);
> 28468: 
> 28468:   extern template wistream& wistream::_M_extract(float&);
> 28468:   extern template wistream& wistream::_M_extract(double&);
> 28468:   extern template wistream& wistream::_M_extract(long double&);
> 28468:   extern template wistream& wistream::_M_extract(void*&);
> 28468: 
> 28468:   extern template class basic_iostream<wchar_t>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 992 "/usr/include/c++/9/istream" 2 3
> 28468: # 41 "/usr/include/c++/9/iostream" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 60 "/usr/include/c++/9/iostream" 3
> 28468:   extern istream cin;
> 28468:   extern ostream cout;
> 28468:   extern ostream cerr;
> 28468:   extern ostream clog;
> 28468: 
> 28468: 
> 28468:   extern wistream wcin;
> 28468:   extern wostream wcout;
> 28468:   extern wostream wcerr;
> 28468:   extern wostream wclog;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   static ios_base::Init __ioinit;
> 28468: 
> 28468: 
> 28468: }
> 28468: # 14 "/<<PKGBUILDDIR>>/include/HepMC3/Errors.h" 2
> 28468: 
> 28468: 
> 28468: 
> 28468: # 16 "/<<PKGBUILDDIR>>/include/HepMC3/Errors.h"
> 28468: namespace HepMC3 {
> 28468: # 51 "/<<PKGBUILDDIR>>/include/HepMC3/Errors.h"
> 28468: struct Exception : public std::runtime_error {
> 28468:     Exception(const std::string& msg) : std::runtime_error(msg) {}
> 28468: };
> 28468: 
> 28468: 
> 28468: struct WeightError : public Exception {
> 28468:     WeightError(const std::string& msg) : Exception(msg) {}
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 20 "/<<PKGBUILDDIR>>/include/HepMC3/Units.h" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/Setup.h" 1
> 28468: # 14 "/<<PKGBUILDDIR>>/include/HepMC3/Setup.h"
> 28468: namespace HepMC3 {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class Setup {
> 28468: 
> 28468: 
> 28468:     Setup() {}
> 28468: 
> 28468:     ~Setup() {}
> 28468: 
> 28468: 
> 28468: public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static bool print_errors();
> 28468: 
> 28468:     static void set_print_errors(const bool flag);
> 28468: 
> 28468: 
> 28468:     static bool print_warnings();
> 28468: 
> 28468:     static void set_print_warnings(const bool flag);
> 28468: 
> 28468: 
> 28468:     static int debug_level();
> 28468: 
> 28468:     static void set_debug_level(const int level);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const unsigned int DEFAULT_DOUBLE_ALMOST_EQUAL_MAXULPS;
> 28468: 
> 28468: 
> 28468:     static const double DOUBLE_EPSILON;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: private:
> 28468: 
> 28468:     static bool m_is_printing_errors;
> 28468:     static bool m_is_printing_warnings;
> 28468:     static int m_debug_level;
> 28468: };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 21 "/<<PKGBUILDDIR>>/include/HepMC3/Units.h" 2
> 28468: 
> 28468: 
> 28468: namespace HepMC3 {
> 28468: 
> 28468: 
> 28468: class Units {
> 28468: public:
> 28468: 
> 28468:     enum MomentumUnit { MEV, GEV };
> 28468: 
> 28468: 
> 28468:     enum LengthUnit { MM, CM };
> 28468: 
> 28468: public:
> 28468: 
> 28468:     static MomentumUnit momentum_unit( const std::string& name ) {
> 28468:         if( name.compare(0,3,"GEV") == 0 ) return GEV;
> 28468:         if( name.compare(0,3,"MEV") == 0 ) return MEV;
> 28468: 
> 28468:         if ( Setup::print_errors() ) { std::cerr << "ERROR::" << "Units::momentum_unit: unrecognised unit name: '" << name <<"', setting to GEV" << std::endl; }
> 28468: 
> 28468:         return GEV;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     static LengthUnit length_unit( const std::string& name ) {
> 28468:         if( name.compare(0,2,"CM") == 0 ) return CM;
> 28468:         if( name.compare(0,2,"MM") == 0 ) return MM;
> 28468: 
> 28468:         if ( Setup::print_errors() ) { std::cerr << "ERROR::" << "Units::length_unit: unrecognised unit name: '" << name <<"', setting to CM" << std::endl; }
> 28468: 
> 28468:         return CM;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     static std::string name( MomentumUnit u ) {
> 28468:         switch(u) {
> 28468:         case MEV:
> 28468:             return "MEV";
> 28468:         case GEV:
> 28468:             return "GEV";
> 28468:         }
> 28468: 
> 28468:         return "<UNDEFINED>";
> 28468:     }
> 28468: 
> 28468: 
> 28468:     static std::string name( LengthUnit u ) {
> 28468:         switch(u) {
> 28468:         case MM:
> 28468:             return "MM";
> 28468:         case CM:
> 28468:             return "CM";
> 28468:         }
> 28468: 
> 28468:         return "<UNDEFINED>";
> 28468:     }
> 28468: 
> 28468: 
> 28468:     template <typename T>
> 28468:     static void convert( T &m, MomentumUnit from, MomentumUnit to ) {
> 28468:         if( from == to ) return;
> 28468: 
> 28468:         if( from == GEV ) {
> 28468: 
> 28468:             m *= 1000.;
> 28468:         }
> 28468:         else if( from == MEV ) {
> 28468: 
> 28468:             m *= 0.001;
> 28468:         }
> 28468:     }
> 28468: 
> 28468: 
> 28468:     template <typename T>
> 28468:     static void convert( T &m, LengthUnit from, LengthUnit to ) {
> 28468:         if( from == to ) return;
> 28468: 
> 28468:         if( from == CM ) {
> 28468: 
> 28468:             m *= 10.0;
> 28468:         }
> 28468:         else if( from == MM ) {
> 28468: 
> 28468:             m *= 0.1;
> 28468:         }
> 28468:     }
> 28468: 
> 28468: };
> 28468: 
> 28468: }
> 28468: # 14 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h" 2
> 28468: 
> 28468: 
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/GenPdfInfo_fwd.h" 1
> 28468: # 16 "/<<PKGBUILDDIR>>/include/HepMC3/GenPdfInfo_fwd.h"
> 28468: namespace HepMC3 {
> 28468: 
> 28468: class GenPdfInfo;
> 28468: 
> 28468: using GenPdfInfoPtr = std::shared_ptr<GenPdfInfo>;
> 28468: using ConstGenPdfInfoPtr = std::shared_ptr<const GenPdfInfo>;
> 28468: 
> 28468: }
> 28468: # 17 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/GenHeavyIon_fwd.h" 1
> 28468: # 16 "/<<PKGBUILDDIR>>/include/HepMC3/GenHeavyIon_fwd.h"
> 28468: namespace HepMC3 {
> 28468: 
> 28468: class GenHeavyIon;
> 28468: 
> 28468: using GenHeavyIonPtr = std::shared_ptr<GenHeavyIon>;
> 28468: using ConstGenHeavyIonPtr = std::shared_ptr<const GenHeavyIon>;
> 28468: 
> 28468: }
> 28468: # 18 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/GenCrossSection_fwd.h" 1
> 28468: # 16 "/<<PKGBUILDDIR>>/include/HepMC3/GenCrossSection_fwd.h"
> 28468: namespace HepMC3 {
> 28468: 
> 28468: class GenCrossSection;
> 28468: 
> 28468: using GenCrossSectionPtr = std::shared_ptr<GenCrossSection>;
> 28468: using ConstGenCrossSectionPtr = std::shared_ptr<const GenCrossSection>;
> 28468: 
> 28468: }
> 28468: # 19 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h" 2
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/GenHeavyIon.h" 1
> 28468: # 21 "/<<PKGBUILDDIR>>/include/HepMC3/GenHeavyIon.h"
> 28468: # 1 "/usr/include/c++/9/map" 1 3
> 28468: # 58 "/usr/include/c++/9/map" 3
> 28468:        
> 28468: # 59 "/usr/include/c++/9/map" 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/stl_tree.h" 1 3
> 28468: # 61 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:        
> 28468: # 62 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468: # 75 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468: 
> 28468: # 75 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 99 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:   enum _Rb_tree_color { _S_red = false, _S_black = true };
> 28468: 
> 28468:   struct _Rb_tree_node_base
> 28468:   {
> 28468:     typedef _Rb_tree_node_base* _Base_ptr;
> 28468:     typedef const _Rb_tree_node_base* _Const_Base_ptr;
> 28468: 
> 28468:     _Rb_tree_color _M_color;
> 28468:     _Base_ptr _M_parent;
> 28468:     _Base_ptr _M_left;
> 28468:     _Base_ptr _M_right;
> 28468: 
> 28468:     static _Base_ptr
> 28468:     _S_minimum(_Base_ptr __x) noexcept
> 28468:     {
> 28468:       while (__x->_M_left != 0) __x = __x->_M_left;
> 28468:       return __x;
> 28468:     }
> 28468: 
> 28468:     static _Const_Base_ptr
> 28468:     _S_minimum(_Const_Base_ptr __x) noexcept
> 28468:     {
> 28468:       while (__x->_M_left != 0) __x = __x->_M_left;
> 28468:       return __x;
> 28468:     }
> 28468: 
> 28468:     static _Base_ptr
> 28468:     _S_maximum(_Base_ptr __x) noexcept
> 28468:     {
> 28468:       while (__x->_M_right != 0) __x = __x->_M_right;
> 28468:       return __x;
> 28468:     }
> 28468: 
> 28468:     static _Const_Base_ptr
> 28468:     _S_maximum(_Const_Base_ptr __x) noexcept
> 28468:     {
> 28468:       while (__x->_M_right != 0) __x = __x->_M_right;
> 28468:       return __x;
> 28468:     }
> 28468:   };
> 28468: 
> 28468: 
> 28468:   template<typename _Key_compare>
> 28468:     struct _Rb_tree_key_compare
> 28468:     {
> 28468:       _Key_compare _M_key_compare;
> 28468: 
> 28468:       _Rb_tree_key_compare()
> 28468:       noexcept(is_nothrow_default_constructible<_Key_compare>::value)
> 28468: 
> 28468:       : _M_key_compare()
> 28468:       { }
> 28468: 
> 28468:       _Rb_tree_key_compare(const _Key_compare& __comp)
> 28468:       : _M_key_compare(__comp)
> 28468:       { }
> 28468: 
> 28468: 
> 28468: 
> 28468:       _Rb_tree_key_compare(const _Rb_tree_key_compare&) = default;
> 28468: 
> 28468:       _Rb_tree_key_compare(_Rb_tree_key_compare&& __x)
> 28468:  noexcept(is_nothrow_copy_constructible<_Key_compare>::value)
> 28468:       : _M_key_compare(__x._M_key_compare)
> 28468:       { }
> 28468: 
> 28468:     };
> 28468: 
> 28468: 
> 28468:   struct _Rb_tree_header
> 28468:   {
> 28468:     _Rb_tree_node_base _M_header;
> 28468:     size_t _M_node_count;
> 28468: 
> 28468:     _Rb_tree_header() noexcept
> 28468:     {
> 28468:       _M_header._M_color = _S_red;
> 28468:       _M_reset();
> 28468:     }
> 28468: 
> 28468: 
> 28468:     _Rb_tree_header(_Rb_tree_header&& __x) noexcept
> 28468:     {
> 28468:       if (__x._M_header._M_parent != nullptr)
> 28468:  _M_move_data(__x);
> 28468:       else
> 28468:  {
> 28468:    _M_header._M_color = _S_red;
> 28468:    _M_reset();
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void
> 28468:     _M_move_data(_Rb_tree_header& __from)
> 28468:     {
> 28468:       _M_header._M_color = __from._M_header._M_color;
> 28468:       _M_header._M_parent = __from._M_header._M_parent;
> 28468:       _M_header._M_left = __from._M_header._M_left;
> 28468:       _M_header._M_right = __from._M_header._M_right;
> 28468:       _M_header._M_parent->_M_parent = &_M_header;
> 28468:       _M_node_count = __from._M_node_count;
> 28468: 
> 28468:       __from._M_reset();
> 28468:     }
> 28468: 
> 28468:     void
> 28468:     _M_reset()
> 28468:     {
> 28468:       _M_header._M_parent = 0;
> 28468:       _M_header._M_left = &_M_header;
> 28468:       _M_header._M_right = &_M_header;
> 28468:       _M_node_count = 0;
> 28468:     }
> 28468:   };
> 28468: 
> 28468:   template<typename _Val>
> 28468:     struct _Rb_tree_node : public _Rb_tree_node_base
> 28468:     {
> 28468:       typedef _Rb_tree_node<_Val>* _Link_type;
> 28468: # 231 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:       __gnu_cxx::__aligned_membuf<_Val> _M_storage;
> 28468: 
> 28468:       _Val*
> 28468:       _M_valptr()
> 28468:       { return _M_storage._M_ptr(); }
> 28468: 
> 28468:       const _Val*
> 28468:       _M_valptr() const
> 28468:       { return _M_storage._M_ptr(); }
> 28468: 
> 28468:     };
> 28468: 
> 28468:   __attribute__ ((__pure__)) _Rb_tree_node_base*
> 28468:   _Rb_tree_increment(_Rb_tree_node_base* __x) throw ();
> 28468: 
> 28468:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
> 28468:   _Rb_tree_increment(const _Rb_tree_node_base* __x) throw ();
> 28468: 
> 28468:   __attribute__ ((__pure__)) _Rb_tree_node_base*
> 28468:   _Rb_tree_decrement(_Rb_tree_node_base* __x) throw ();
> 28468: 
> 28468:   __attribute__ ((__pure__)) const _Rb_tree_node_base*
> 28468:   _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw ();
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct _Rb_tree_iterator
> 28468:     {
> 28468:       typedef _Tp value_type;
> 28468:       typedef _Tp& reference;
> 28468:       typedef _Tp* pointer;
> 28468: 
> 28468:       typedef bidirectional_iterator_tag iterator_category;
> 28468:       typedef ptrdiff_t difference_type;
> 28468: 
> 28468:       typedef _Rb_tree_iterator<_Tp> _Self;
> 28468:       typedef _Rb_tree_node_base::_Base_ptr _Base_ptr;
> 28468:       typedef _Rb_tree_node<_Tp>* _Link_type;
> 28468: 
> 28468:       _Rb_tree_iterator() noexcept
> 28468:       : _M_node() { }
> 28468: 
> 28468:       explicit
> 28468:       _Rb_tree_iterator(_Base_ptr __x) noexcept
> 28468:       : _M_node(__x) { }
> 28468: 
> 28468:       reference
> 28468:       operator*() const noexcept
> 28468:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
> 28468: 
> 28468:       pointer
> 28468:       operator->() const noexcept
> 28468:       { return static_cast<_Link_type> (_M_node)->_M_valptr(); }
> 28468: 
> 28468:       _Self&
> 28468:       operator++() noexcept
> 28468:       {
> 28468:  _M_node = _Rb_tree_increment(_M_node);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       _Self
> 28468:       operator++(int) noexcept
> 28468:       {
> 28468:  _Self __tmp = *this;
> 28468:  _M_node = _Rb_tree_increment(_M_node);
> 28468:  return __tmp;
> 28468:       }
> 28468: 
> 28468:       _Self&
> 28468:       operator--() noexcept
> 28468:       {
> 28468:  _M_node = _Rb_tree_decrement(_M_node);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       _Self
> 28468:       operator--(int) noexcept
> 28468:       {
> 28468:  _Self __tmp = *this;
> 28468:  _M_node = _Rb_tree_decrement(_M_node);
> 28468:  return __tmp;
> 28468:       }
> 28468: 
> 28468:       friend bool
> 28468:       operator==(const _Self& __x, const _Self& __y) noexcept
> 28468:       { return __x._M_node == __y._M_node; }
> 28468: 
> 28468:       friend bool
> 28468:       operator!=(const _Self& __x, const _Self& __y) noexcept
> 28468:       { return __x._M_node != __y._M_node; }
> 28468: 
> 28468:       _Base_ptr _M_node;
> 28468:   };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct _Rb_tree_const_iterator
> 28468:     {
> 28468:       typedef _Tp value_type;
> 28468:       typedef const _Tp& reference;
> 28468:       typedef const _Tp* pointer;
> 28468: 
> 28468:       typedef _Rb_tree_iterator<_Tp> iterator;
> 28468: 
> 28468:       typedef bidirectional_iterator_tag iterator_category;
> 28468:       typedef ptrdiff_t difference_type;
> 28468: 
> 28468:       typedef _Rb_tree_const_iterator<_Tp> _Self;
> 28468:       typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr;
> 28468:       typedef const _Rb_tree_node<_Tp>* _Link_type;
> 28468: 
> 28468:       _Rb_tree_const_iterator() noexcept
> 28468:       : _M_node() { }
> 28468: 
> 28468:       explicit
> 28468:       _Rb_tree_const_iterator(_Base_ptr __x) noexcept
> 28468:       : _M_node(__x) { }
> 28468: 
> 28468:       _Rb_tree_const_iterator(const iterator& __it) noexcept
> 28468:       : _M_node(__it._M_node) { }
> 28468: 
> 28468:       iterator
> 28468:       _M_const_cast() const noexcept
> 28468:       { return iterator(const_cast<typename iterator::_Base_ptr>(_M_node)); }
> 28468: 
> 28468:       reference
> 28468:       operator*() const noexcept
> 28468:       { return *static_cast<_Link_type>(_M_node)->_M_valptr(); }
> 28468: 
> 28468:       pointer
> 28468:       operator->() const noexcept
> 28468:       { return static_cast<_Link_type>(_M_node)->_M_valptr(); }
> 28468: 
> 28468:       _Self&
> 28468:       operator++() noexcept
> 28468:       {
> 28468:  _M_node = _Rb_tree_increment(_M_node);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       _Self
> 28468:       operator++(int) noexcept
> 28468:       {
> 28468:  _Self __tmp = *this;
> 28468:  _M_node = _Rb_tree_increment(_M_node);
> 28468:  return __tmp;
> 28468:       }
> 28468: 
> 28468:       _Self&
> 28468:       operator--() noexcept
> 28468:       {
> 28468:  _M_node = _Rb_tree_decrement(_M_node);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       _Self
> 28468:       operator--(int) noexcept
> 28468:       {
> 28468:  _Self __tmp = *this;
> 28468:  _M_node = _Rb_tree_decrement(_M_node);
> 28468:  return __tmp;
> 28468:       }
> 28468: 
> 28468:       friend bool
> 28468:       operator==(const _Self& __x, const _Self& __y) noexcept
> 28468:       { return __x._M_node == __y._M_node; }
> 28468: 
> 28468:       friend bool
> 28468:       operator!=(const _Self& __x, const _Self& __y) noexcept
> 28468:       { return __x._M_node != __y._M_node; }
> 28468: 
> 28468:       _Base_ptr _M_node;
> 28468:     };
> 28468: 
> 28468:   void
> 28468:   _Rb_tree_insert_and_rebalance(const bool __insert_left,
> 28468:     _Rb_tree_node_base* __x,
> 28468:     _Rb_tree_node_base* __p,
> 28468:     _Rb_tree_node_base& __header) throw ();
> 28468: 
> 28468:   _Rb_tree_node_base*
> 28468:   _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z,
> 28468:           _Rb_tree_node_base& __header) throw ();
> 28468: # 434 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc = allocator<_Val> >
> 28468:     class _Rb_tree
> 28468:     {
> 28468:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
> 28468:  rebind<_Rb_tree_node<_Val> >::other _Node_allocator;
> 28468: 
> 28468:       typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits;
> 28468: 
> 28468:     protected:
> 28468:       typedef _Rb_tree_node_base* _Base_ptr;
> 28468:       typedef const _Rb_tree_node_base* _Const_Base_ptr;
> 28468:       typedef _Rb_tree_node<_Val>* _Link_type;
> 28468:       typedef const _Rb_tree_node<_Val>* _Const_Link_type;
> 28468: 
> 28468:     private:
> 28468: 
> 28468: 
> 28468:       struct _Reuse_or_alloc_node
> 28468:       {
> 28468:  _Reuse_or_alloc_node(_Rb_tree& __t)
> 28468:  : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t)
> 28468:  {
> 28468:    if (_M_root)
> 28468:      {
> 28468:        _M_root->_M_parent = 0;
> 28468: 
> 28468:        if (_M_nodes->_M_left)
> 28468:   _M_nodes = _M_nodes->_M_left;
> 28468:      }
> 28468:    else
> 28468:      _M_nodes = 0;
> 28468:  }
> 28468: 
> 28468: 
> 28468:  _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete;
> 28468: 
> 28468: 
> 28468:  ~_Reuse_or_alloc_node()
> 28468:  { _M_t._M_erase(static_cast<_Link_type>(_M_root)); }
> 28468: 
> 28468:  template<typename _Arg>
> 28468:    _Link_type
> 28468: 
> 28468: 
> 28468: 
> 28468:    operator()(_Arg&& __arg)
> 28468: 
> 28468:    {
> 28468:      _Link_type __node = static_cast<_Link_type>(_M_extract());
> 28468:      if (__node)
> 28468:        {
> 28468:   _M_t._M_destroy_node(__node);
> 28468:   _M_t._M_construct_node(__node, std::forward<_Arg>(__arg));
> 28468:   return __node;
> 28468:        }
> 28468: 
> 28468:      return _M_t._M_create_node(std::forward<_Arg>(__arg));
> 28468:    }
> 28468: 
> 28468:       private:
> 28468:  _Base_ptr
> 28468:  _M_extract()
> 28468:  {
> 28468:    if (!_M_nodes)
> 28468:      return _M_nodes;
> 28468: 
> 28468:    _Base_ptr __node = _M_nodes;
> 28468:    _M_nodes = _M_nodes->_M_parent;
> 28468:    if (_M_nodes)
> 28468:      {
> 28468:        if (_M_nodes->_M_right == __node)
> 28468:   {
> 28468:     _M_nodes->_M_right = 0;
> 28468: 
> 28468:     if (_M_nodes->_M_left)
> 28468:       {
> 28468:         _M_nodes = _M_nodes->_M_left;
> 28468: 
> 28468:         while (_M_nodes->_M_right)
> 28468:    _M_nodes = _M_nodes->_M_right;
> 28468: 
> 28468:         if (_M_nodes->_M_left)
> 28468:    _M_nodes = _M_nodes->_M_left;
> 28468:       }
> 28468:   }
> 28468:        else
> 28468:   _M_nodes->_M_left = 0;
> 28468:      }
> 28468:    else
> 28468:      _M_root = 0;
> 28468: 
> 28468:    return __node;
> 28468:  }
> 28468: 
> 28468:  _Base_ptr _M_root;
> 28468:  _Base_ptr _M_nodes;
> 28468:  _Rb_tree& _M_t;
> 28468:       };
> 28468: 
> 28468: 
> 28468: 
> 28468:       struct _Alloc_node
> 28468:       {
> 28468:  _Alloc_node(_Rb_tree& __t)
> 28468:  : _M_t(__t) { }
> 28468: 
> 28468:  template<typename _Arg>
> 28468:    _Link_type
> 28468: 
> 28468: 
> 28468: 
> 28468:    operator()(_Arg&& __arg) const
> 28468: 
> 28468:    { return _M_t._M_create_node(std::forward<_Arg>(__arg)); }
> 28468: 
> 28468:       private:
> 28468:  _Rb_tree& _M_t;
> 28468:       };
> 28468: 
> 28468:     public:
> 28468:       typedef _Key key_type;
> 28468:       typedef _Val value_type;
> 28468:       typedef value_type* pointer;
> 28468:       typedef const value_type* const_pointer;
> 28468:       typedef value_type& reference;
> 28468:       typedef const value_type& const_reference;
> 28468:       typedef size_t size_type;
> 28468:       typedef ptrdiff_t difference_type;
> 28468:       typedef _Alloc allocator_type;
> 28468: 
> 28468:       _Node_allocator&
> 28468:       _M_get_Node_allocator() noexcept
> 28468:       { return this->_M_impl; }
> 28468: 
> 28468:       const _Node_allocator&
> 28468:       _M_get_Node_allocator() const noexcept
> 28468:       { return this->_M_impl; }
> 28468: 
> 28468:       allocator_type
> 28468:       get_allocator() const noexcept
> 28468:       { return allocator_type(_M_get_Node_allocator()); }
> 28468: 
> 28468:     protected:
> 28468:       _Link_type
> 28468:       _M_get_node()
> 28468:       { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); }
> 28468: 
> 28468:       void
> 28468:       _M_put_node(_Link_type __p) noexcept
> 28468:       { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); }
> 28468: # 607 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:       template<typename... _Args>
> 28468:  void
> 28468:  _M_construct_node(_Link_type __node, _Args&&... __args)
> 28468:  {
> 28468:    try
> 28468:      {
> 28468:        ::new(__node) _Rb_tree_node<_Val>;
> 28468:        _Alloc_traits::construct(_M_get_Node_allocator(),
> 28468:            __node->_M_valptr(),
> 28468:            std::forward<_Args>(__args)...);
> 28468:      }
> 28468:    catch(...)
> 28468:      {
> 28468:        __node->~_Rb_tree_node<_Val>();
> 28468:        _M_put_node(__node);
> 28468:        throw;
> 28468:      }
> 28468:  }
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  _Link_type
> 28468:  _M_create_node(_Args&&... __args)
> 28468:  {
> 28468:    _Link_type __tmp = _M_get_node();
> 28468:    _M_construct_node(__tmp, std::forward<_Args>(__args)...);
> 28468:    return __tmp;
> 28468:  }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_destroy_node(_Link_type __p) noexcept
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:  _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr());
> 28468:  __p->~_Rb_tree_node<_Val>();
> 28468: 
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_drop_node(_Link_type __p) noexcept
> 28468:       {
> 28468:  _M_destroy_node(__p);
> 28468:  _M_put_node(__p);
> 28468:       }
> 28468: 
> 28468:       template<typename _NodeGen>
> 28468:  _Link_type
> 28468:  _M_clone_node(_Const_Link_type __x, _NodeGen& __node_gen)
> 28468:  {
> 28468:    _Link_type __tmp = __node_gen(*__x->_M_valptr());
> 28468:    __tmp->_M_color = __x->_M_color;
> 28468:    __tmp->_M_left = 0;
> 28468:    __tmp->_M_right = 0;
> 28468:    return __tmp;
> 28468:  }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Key_compare,
> 28468:         bool = __is_pod(_Key_compare)>
> 28468: 
> 28468:  struct _Rb_tree_impl
> 28468:  : public _Node_allocator
> 28468:  , public _Rb_tree_key_compare<_Key_compare>
> 28468:  , public _Rb_tree_header
> 28468:  {
> 28468:    typedef _Rb_tree_key_compare<_Key_compare> _Base_key_compare;
> 28468: 
> 28468:    _Rb_tree_impl()
> 28468:      noexcept(is_nothrow_default_constructible<_Node_allocator>::value && is_nothrow_default_constructible<_Base_key_compare>::value)
> 28468: 
> 28468: 
> 28468:    : _Node_allocator()
> 28468:    { }
> 28468: 
> 28468:    _Rb_tree_impl(const _Rb_tree_impl& __x)
> 28468:    : _Node_allocator(_Alloc_traits::_S_select_on_copy(__x))
> 28468:    , _Base_key_compare(__x._M_key_compare)
> 28468:    { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:    _Rb_tree_impl(_Rb_tree_impl&&) = default;
> 28468: 
> 28468:    explicit
> 28468:    _Rb_tree_impl(_Node_allocator&& __a)
> 28468:    : _Node_allocator(std::move(__a))
> 28468:    { }
> 28468: 
> 28468:    _Rb_tree_impl(_Rb_tree_impl&& __x, _Node_allocator&& __a)
> 28468:    : _Node_allocator(std::move(__a)),
> 28468:      _Base_key_compare(std::move(__x)),
> 28468:      _Rb_tree_header(std::move(__x))
> 28468:    { }
> 28468: 
> 28468:    _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a)
> 28468:    : _Node_allocator(std::move(__a)), _Base_key_compare(__comp)
> 28468:    { }
> 28468: 
> 28468:  };
> 28468: 
> 28468:       _Rb_tree_impl<_Compare> _M_impl;
> 28468: 
> 28468:     protected:
> 28468:       _Base_ptr&
> 28468:       _M_root() noexcept
> 28468:       { return this->_M_impl._M_header._M_parent; }
> 28468: 
> 28468:       _Const_Base_ptr
> 28468:       _M_root() const noexcept
> 28468:       { return this->_M_impl._M_header._M_parent; }
> 28468: 
> 28468:       _Base_ptr&
> 28468:       _M_leftmost() noexcept
> 28468:       { return this->_M_impl._M_header._M_left; }
> 28468: 
> 28468:       _Const_Base_ptr
> 28468:       _M_leftmost() const noexcept
> 28468:       { return this->_M_impl._M_header._M_left; }
> 28468: 
> 28468:       _Base_ptr&
> 28468:       _M_rightmost() noexcept
> 28468:       { return this->_M_impl._M_header._M_right; }
> 28468: 
> 28468:       _Const_Base_ptr
> 28468:       _M_rightmost() const noexcept
> 28468:       { return this->_M_impl._M_header._M_right; }
> 28468: 
> 28468:       _Link_type
> 28468:       _M_begin() noexcept
> 28468:       { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); }
> 28468: 
> 28468:       _Const_Link_type
> 28468:       _M_begin() const noexcept
> 28468:       {
> 28468:  return static_cast<_Const_Link_type>
> 28468:    (this->_M_impl._M_header._M_parent);
> 28468:       }
> 28468: 
> 28468:       _Base_ptr
> 28468:       _M_end() noexcept
> 28468:       { return &this->_M_impl._M_header; }
> 28468: 
> 28468:       _Const_Base_ptr
> 28468:       _M_end() const noexcept
> 28468:       { return &this->_M_impl._M_header; }
> 28468: 
> 28468:       static const_reference
> 28468:       _S_value(_Const_Link_type __x)
> 28468:       { return *__x->_M_valptr(); }
> 28468: 
> 28468:       static const _Key&
> 28468:       _S_key(_Const_Link_type __x)
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:  static_assert(__is_invocable<_Compare&, const _Key&, const _Key&>{},
> 28468:         "comparison object must be invocable "
> 28468:         "with two arguments of key type");
> 28468: # 785 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:  return _KeyOfValue()(*__x->_M_valptr());
> 28468:       }
> 28468: 
> 28468:       static _Link_type
> 28468:       _S_left(_Base_ptr __x) noexcept
> 28468:       { return static_cast<_Link_type>(__x->_M_left); }
> 28468: 
> 28468:       static _Const_Link_type
> 28468:       _S_left(_Const_Base_ptr __x) noexcept
> 28468:       { return static_cast<_Const_Link_type>(__x->_M_left); }
> 28468: 
> 28468:       static _Link_type
> 28468:       _S_right(_Base_ptr __x) noexcept
> 28468:       { return static_cast<_Link_type>(__x->_M_right); }
> 28468: 
> 28468:       static _Const_Link_type
> 28468:       _S_right(_Const_Base_ptr __x) noexcept
> 28468:       { return static_cast<_Const_Link_type>(__x->_M_right); }
> 28468: 
> 28468:       static const_reference
> 28468:       _S_value(_Const_Base_ptr __x)
> 28468:       { return *static_cast<_Const_Link_type>(__x)->_M_valptr(); }
> 28468: 
> 28468:       static const _Key&
> 28468:       _S_key(_Const_Base_ptr __x)
> 28468:       { return _S_key(static_cast<_Const_Link_type>(__x)); }
> 28468: 
> 28468:       static _Base_ptr
> 28468:       _S_minimum(_Base_ptr __x) noexcept
> 28468:       { return _Rb_tree_node_base::_S_minimum(__x); }
> 28468: 
> 28468:       static _Const_Base_ptr
> 28468:       _S_minimum(_Const_Base_ptr __x) noexcept
> 28468:       { return _Rb_tree_node_base::_S_minimum(__x); }
> 28468: 
> 28468:       static _Base_ptr
> 28468:       _S_maximum(_Base_ptr __x) noexcept
> 28468:       { return _Rb_tree_node_base::_S_maximum(__x); }
> 28468: 
> 28468:       static _Const_Base_ptr
> 28468:       _S_maximum(_Const_Base_ptr __x) noexcept
> 28468:       { return _Rb_tree_node_base::_S_maximum(__x); }
> 28468: 
> 28468:     public:
> 28468:       typedef _Rb_tree_iterator<value_type> iterator;
> 28468:       typedef _Rb_tree_const_iterator<value_type> const_iterator;
> 28468: 
> 28468:       typedef std::reverse_iterator<iterator> reverse_iterator;
> 28468:       typedef std::reverse_iterator<const_iterator> const_reverse_iterator;
> 28468: # 842 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:       pair<_Base_ptr, _Base_ptr>
> 28468:       _M_get_insert_unique_pos(const key_type& __k);
> 28468: 
> 28468:       pair<_Base_ptr, _Base_ptr>
> 28468:       _M_get_insert_equal_pos(const key_type& __k);
> 28468: 
> 28468:       pair<_Base_ptr, _Base_ptr>
> 28468:       _M_get_insert_hint_unique_pos(const_iterator __pos,
> 28468:         const key_type& __k);
> 28468: 
> 28468:       pair<_Base_ptr, _Base_ptr>
> 28468:       _M_get_insert_hint_equal_pos(const_iterator __pos,
> 28468:        const key_type& __k);
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       template<typename _Arg, typename _NodeGen>
> 28468:  iterator
> 28468:  _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&);
> 28468: 
> 28468:       iterator
> 28468:       _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z);
> 28468: 
> 28468:       template<typename _Arg>
> 28468:  iterator
> 28468:  _M_insert_lower(_Base_ptr __y, _Arg&& __v);
> 28468: 
> 28468:       template<typename _Arg>
> 28468:  iterator
> 28468:  _M_insert_equal_lower(_Arg&& __x);
> 28468: 
> 28468:       iterator
> 28468:       _M_insert_lower_node(_Base_ptr __p, _Link_type __z);
> 28468: 
> 28468:       iterator
> 28468:       _M_insert_equal_lower_node(_Link_type __z);
> 28468: # 893 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:       template<typename _NodeGen>
> 28468:  _Link_type
> 28468:  _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen&);
> 28468: 
> 28468:       template<typename _NodeGen>
> 28468:  _Link_type
> 28468:  _M_copy(const _Rb_tree& __x, _NodeGen& __gen)
> 28468:  {
> 28468:    _Link_type __root = _M_copy(__x._M_begin(), _M_end(), __gen);
> 28468:    _M_leftmost() = _S_minimum(__root);
> 28468:    _M_rightmost() = _S_maximum(__root);
> 28468:    _M_impl._M_node_count = __x._M_impl._M_node_count;
> 28468:    return __root;
> 28468:  }
> 28468: 
> 28468:       _Link_type
> 28468:       _M_copy(const _Rb_tree& __x)
> 28468:       {
> 28468:  _Alloc_node __an(*this);
> 28468:  return _M_copy(__x, __an);
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_erase(_Link_type __x);
> 28468: 
> 28468:       iterator
> 28468:       _M_lower_bound(_Link_type __x, _Base_ptr __y,
> 28468:        const _Key& __k);
> 28468: 
> 28468:       const_iterator
> 28468:       _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
> 28468:        const _Key& __k) const;
> 28468: 
> 28468:       iterator
> 28468:       _M_upper_bound(_Link_type __x, _Base_ptr __y,
> 28468:        const _Key& __k);
> 28468: 
> 28468:       const_iterator
> 28468:       _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
> 28468:        const _Key& __k) const;
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       _Rb_tree() = default;
> 28468: 
> 28468: 
> 28468:       _Rb_tree(const _Compare& __comp,
> 28468:         const allocator_type& __a = allocator_type())
> 28468:       : _M_impl(__comp, _Node_allocator(__a)) { }
> 28468: 
> 28468:       _Rb_tree(const _Rb_tree& __x)
> 28468:       : _M_impl(__x._M_impl)
> 28468:       {
> 28468:  if (__x._M_root() != 0)
> 28468:    _M_root() = _M_copy(__x);
> 28468:       }
> 28468: 
> 28468: 
> 28468:       _Rb_tree(const allocator_type& __a)
> 28468:       : _M_impl(_Node_allocator(__a))
> 28468:       { }
> 28468: 
> 28468:       _Rb_tree(const _Rb_tree& __x, const allocator_type& __a)
> 28468:       : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a))
> 28468:       {
> 28468:  if (__x._M_root() != nullptr)
> 28468:    _M_root() = _M_copy(__x);
> 28468:       }
> 28468: 
> 28468:       _Rb_tree(_Rb_tree&&) = default;
> 28468: 
> 28468:       _Rb_tree(_Rb_tree&& __x, const allocator_type& __a)
> 28468:       : _Rb_tree(std::move(__x), _Node_allocator(__a))
> 28468:       { }
> 28468: 
> 28468:     private:
> 28468:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, true_type)
> 28468:       noexcept(is_nothrow_default_constructible<_Compare>::value)
> 28468:       : _M_impl(std::move(__x._M_impl), std::move(__a))
> 28468:       { }
> 28468: 
> 28468:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a, false_type)
> 28468:       : _M_impl(__x._M_impl._M_key_compare, std::move(__a))
> 28468:       {
> 28468:  if (__x._M_root() != nullptr)
> 28468:    _M_move_data(__x, false_type{});
> 28468:       }
> 28468: 
> 28468:     public:
> 28468:       _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a)
> 28468:       noexcept( noexcept(
> 28468:  _Rb_tree(std::declval<_Rb_tree&&>(), std::declval<_Node_allocator&&>(),
> 28468:    std::declval<typename _Alloc_traits::is_always_equal>())) )
> 28468:       : _Rb_tree(std::move(__x), std::move(__a),
> 28468:    typename _Alloc_traits::is_always_equal{})
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       ~_Rb_tree() noexcept
> 28468:       { _M_erase(_M_begin()); }
> 28468: 
> 28468:       _Rb_tree&
> 28468:       operator=(const _Rb_tree& __x);
> 28468: 
> 28468: 
> 28468:       _Compare
> 28468:       key_comp() const
> 28468:       { return _M_impl._M_key_compare; }
> 28468: 
> 28468:       iterator
> 28468:       begin() noexcept
> 28468:       { return iterator(this->_M_impl._M_header._M_left); }
> 28468: 
> 28468:       const_iterator
> 28468:       begin() const noexcept
> 28468:       { return const_iterator(this->_M_impl._M_header._M_left); }
> 28468: 
> 28468:       iterator
> 28468:       end() noexcept
> 28468:       { return iterator(&this->_M_impl._M_header); }
> 28468: 
> 28468:       const_iterator
> 28468:       end() const noexcept
> 28468:       { return const_iterator(&this->_M_impl._M_header); }
> 28468: 
> 28468:       reverse_iterator
> 28468:       rbegin() noexcept
> 28468:       { return reverse_iterator(end()); }
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rbegin() const noexcept
> 28468:       { return const_reverse_iterator(end()); }
> 28468: 
> 28468:       reverse_iterator
> 28468:       rend() noexcept
> 28468:       { return reverse_iterator(begin()); }
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rend() const noexcept
> 28468:       { return const_reverse_iterator(begin()); }
> 28468: 
> 28468:       bool
> 28468:       empty() const noexcept
> 28468:       { return _M_impl._M_node_count == 0; }
> 28468: 
> 28468:       size_type
> 28468:       size() const noexcept
> 28468:       { return _M_impl._M_node_count; }
> 28468: 
> 28468:       size_type
> 28468:       max_size() const noexcept
> 28468:       { return _Alloc_traits::max_size(_M_get_Node_allocator()); }
> 28468: 
> 28468:       void
> 28468:       swap(_Rb_tree& __t)
> 28468:       noexcept(__is_nothrow_swappable<_Compare>::value);
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Arg>
> 28468:  pair<iterator, bool>
> 28468:  _M_insert_unique(_Arg&& __x);
> 28468: 
> 28468:       template<typename _Arg>
> 28468:  iterator
> 28468:  _M_insert_equal(_Arg&& __x);
> 28468: 
> 28468:       template<typename _Arg, typename _NodeGen>
> 28468:  iterator
> 28468:  _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&);
> 28468: 
> 28468:       template<typename _Arg>
> 28468:  iterator
> 28468:  _M_insert_unique_(const_iterator __pos, _Arg&& __x)
> 28468:  {
> 28468:    _Alloc_node __an(*this);
> 28468:    return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an);
> 28468:  }
> 28468: 
> 28468:       template<typename _Arg, typename _NodeGen>
> 28468:  iterator
> 28468:  _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&);
> 28468: 
> 28468:       template<typename _Arg>
> 28468:  iterator
> 28468:  _M_insert_equal_(const_iterator __pos, _Arg&& __x)
> 28468:  {
> 28468:    _Alloc_node __an(*this);
> 28468:    return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an);
> 28468:  }
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  pair<iterator, bool>
> 28468:  _M_emplace_unique(_Args&&... __args);
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  iterator
> 28468:  _M_emplace_equal(_Args&&... __args);
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  iterator
> 28468:  _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args);
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  iterator
> 28468:  _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args);
> 28468: 
> 28468:       template<typename _Iter>
> 28468:  using __same_value_type
> 28468:    = is_same<value_type, typename iterator_traits<_Iter>::value_type>;
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  __enable_if_t<__same_value_type<_InputIterator>::value>
> 28468:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
> 28468:  {
> 28468:    _Alloc_node __an(*this);
> 28468:    for (; __first != __last; ++__first)
> 28468:      _M_insert_unique_(end(), *__first, __an);
> 28468:  }
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  __enable_if_t<!__same_value_type<_InputIterator>::value>
> 28468:  _M_insert_range_unique(_InputIterator __first, _InputIterator __last)
> 28468:  {
> 28468:    for (; __first != __last; ++__first)
> 28468:      _M_emplace_unique(*__first);
> 28468:  }
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  __enable_if_t<__same_value_type<_InputIterator>::value>
> 28468:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
> 28468:  {
> 28468:    _Alloc_node __an(*this);
> 28468:    for (; __first != __last; ++__first)
> 28468:      _M_insert_equal_(end(), *__first, __an);
> 28468:  }
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  __enable_if_t<!__same_value_type<_InputIterator>::value>
> 28468:  _M_insert_range_equal(_InputIterator __first, _InputIterator __last)
> 28468:  {
> 28468:    _Alloc_node __an(*this);
> 28468:    for (; __first != __last; ++__first)
> 28468:      _M_emplace_equal(*__first);
> 28468:  }
> 28468: # 1190 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:     private:
> 28468:       void
> 28468:       _M_erase_aux(const_iterator __position);
> 28468: 
> 28468:       void
> 28468:       _M_erase_aux(const_iterator __first, const_iterator __last);
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       __attribute ((__abi_tag__ ("cxx11")))
> 28468:       iterator
> 28468:       erase(const_iterator __position)
> 28468:       {
> 28468:  ;
> 28468:  const_iterator __result = __position;
> 28468:  ++__result;
> 28468:  _M_erase_aux(__position);
> 28468:  return __result._M_const_cast();
> 28468:       }
> 28468: 
> 28468: 
> 28468:       __attribute ((__abi_tag__ ("cxx11")))
> 28468:       iterator
> 28468:       erase(iterator __position)
> 28468:       {
> 28468:  ;
> 28468:  iterator __result = __position;
> 28468:  ++__result;
> 28468:  _M_erase_aux(__position);
> 28468:  return __result;
> 28468:       }
> 28468: # 1238 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:       size_type
> 28468:       erase(const key_type& __x);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       __attribute ((__abi_tag__ ("cxx11")))
> 28468:       iterator
> 28468:       erase(const_iterator __first, const_iterator __last)
> 28468:       {
> 28468:  _M_erase_aux(__first, __last);
> 28468:  return __last._M_const_cast();
> 28468:       }
> 28468: # 1260 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:       void
> 28468:       erase(const key_type* __first, const key_type* __last);
> 28468: 
> 28468:       void
> 28468:       clear() noexcept
> 28468:       {
> 28468:  _M_erase(_M_begin());
> 28468:  _M_impl._M_reset();
> 28468:       }
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       find(const key_type& __k);
> 28468: 
> 28468:       const_iterator
> 28468:       find(const key_type& __k) const;
> 28468: 
> 28468:       size_type
> 28468:       count(const key_type& __k) const;
> 28468: 
> 28468:       iterator
> 28468:       lower_bound(const key_type& __k)
> 28468:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
> 28468: 
> 28468:       const_iterator
> 28468:       lower_bound(const key_type& __k) const
> 28468:       { return _M_lower_bound(_M_begin(), _M_end(), __k); }
> 28468: 
> 28468:       iterator
> 28468:       upper_bound(const key_type& __k)
> 28468:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
> 28468: 
> 28468:       const_iterator
> 28468:       upper_bound(const key_type& __k) const
> 28468:       { return _M_upper_bound(_M_begin(), _M_end(), __k); }
> 28468: 
> 28468:       pair<iterator, iterator>
> 28468:       equal_range(const key_type& __k);
> 28468: 
> 28468:       pair<const_iterator, const_iterator>
> 28468:       equal_range(const key_type& __k) const;
> 28468: # 1411 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:       bool
> 28468:       __rb_verify() const;
> 28468: 
> 28468: 
> 28468:       _Rb_tree&
> 28468:       operator=(_Rb_tree&&)
> 28468:       noexcept(_Alloc_traits::_S_nothrow_move()
> 28468:         && is_nothrow_move_assignable<_Compare>::value);
> 28468: 
> 28468:       template<typename _Iterator>
> 28468:  void
> 28468:  _M_assign_unique(_Iterator, _Iterator);
> 28468: 
> 28468:       template<typename _Iterator>
> 28468:  void
> 28468:  _M_assign_equal(_Iterator, _Iterator);
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       void
> 28468:       _M_move_data(_Rb_tree& __x, true_type)
> 28468:       { _M_impl._M_move_data(__x._M_impl); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_move_data(_Rb_tree&, false_type);
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_move_assign(_Rb_tree&, true_type);
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_move_assign(_Rb_tree&, false_type);
> 28468: # 1615 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468:       friend bool
> 28468:       operator==(const _Rb_tree& __x, const _Rb_tree& __y)
> 28468:       {
> 28468:  return __x.size() == __y.size()
> 28468:    && std::equal(__x.begin(), __x.end(), __y.begin());
> 28468:       }
> 28468: 
> 28468:       friend bool
> 28468:       operator<(const _Rb_tree& __x, const _Rb_tree& __y)
> 28468:       {
> 28468:  return std::lexicographical_compare(__x.begin(), __x.end(),
> 28468:          __y.begin(), __y.end());
> 28468:       }
> 28468: 
> 28468:       friend bool __attribute__ ((__deprecated__))
> 28468:       operator!=(const _Rb_tree& __x, const _Rb_tree& __y)
> 28468:       { return !(__x == __y); }
> 28468: 
> 28468:       friend bool __attribute__ ((__deprecated__))
> 28468:       operator>(const _Rb_tree& __x, const _Rb_tree& __y)
> 28468:       { return __y < __x; }
> 28468: 
> 28468:       friend bool __attribute__ ((__deprecated__))
> 28468:       operator<=(const _Rb_tree& __x, const _Rb_tree& __y)
> 28468:       { return !(__y < __x); }
> 28468: 
> 28468:       friend bool __attribute__ ((__deprecated__))
> 28468:       operator>=(const _Rb_tree& __x, const _Rb_tree& __y)
> 28468:       { return !(__x < __y); }
> 28468:     };
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     inline void
> 28468:     swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x,
> 28468:   _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y)
> 28468:     { __x.swap(__y); }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     void
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_move_data(_Rb_tree& __x, false_type)
> 28468:     {
> 28468:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
> 28468:  _M_move_data(__x, true_type());
> 28468:       else
> 28468:  {
> 28468:    _Alloc_node __an(*this);
> 28468:    auto __lbd =
> 28468:      [&__an](const value_type& __cval)
> 28468:      {
> 28468:        auto& __val = const_cast<value_type&>(__cval);
> 28468:        return __an(std::move_if_noexcept(__val));
> 28468:      };
> 28468:    _M_root() = _M_copy(__x, __lbd);
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     inline void
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_move_assign(_Rb_tree& __x, true_type)
> 28468:     {
> 28468:       clear();
> 28468:       if (__x._M_root() != nullptr)
> 28468:  _M_move_data(__x, true_type());
> 28468:       std::__alloc_on_move(_M_get_Node_allocator(),
> 28468:       __x._M_get_Node_allocator());
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     void
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_move_assign(_Rb_tree& __x, false_type)
> 28468:     {
> 28468:       if (_M_get_Node_allocator() == __x._M_get_Node_allocator())
> 28468:  return _M_move_assign(__x, true_type{});
> 28468: 
> 28468: 
> 28468: 
> 28468:       _Reuse_or_alloc_node __roan(*this);
> 28468:       _M_impl._M_reset();
> 28468:       if (__x._M_root() != nullptr)
> 28468:  {
> 28468:    auto __lbd =
> 28468:      [&__roan](const value_type& __cval)
> 28468:      {
> 28468:        auto& __val = const_cast<value_type&>(__cval);
> 28468:        return __roan(std::move_if_noexcept(__val));
> 28468:      };
> 28468:    _M_root() = _M_copy(__x, __lbd);
> 28468:    __x.clear();
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     operator=(_Rb_tree&& __x)
> 28468:     noexcept(_Alloc_traits::_S_nothrow_move()
> 28468:       && is_nothrow_move_assignable<_Compare>::value)
> 28468:     {
> 28468:       _M_impl._M_key_compare = std::move(__x._M_impl._M_key_compare);
> 28468:       _M_move_assign(__x, __bool_constant<_Alloc_traits::_S_nothrow_move()>());
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     template<typename _Iterator>
> 28468:       void
> 28468:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:       _M_assign_unique(_Iterator __first, _Iterator __last)
> 28468:       {
> 28468:  _Reuse_or_alloc_node __roan(*this);
> 28468:  _M_impl._M_reset();
> 28468:  for (; __first != __last; ++__first)
> 28468:    _M_insert_unique_(end(), *__first, __roan);
> 28468:       }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     template<typename _Iterator>
> 28468:       void
> 28468:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:       _M_assign_equal(_Iterator __first, _Iterator __last)
> 28468:       {
> 28468:  _Reuse_or_alloc_node __roan(*this);
> 28468:  _M_impl._M_reset();
> 28468:  for (; __first != __last; ++__first)
> 28468:    _M_insert_equal_(end(), *__first, __roan);
> 28468:       }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>&
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     operator=(const _Rb_tree& __x)
> 28468:     {
> 28468:       if (this != &__x)
> 28468:  {
> 28468: 
> 28468: 
> 28468:    if (_Alloc_traits::_S_propagate_on_copy_assign())
> 28468:      {
> 28468:        auto& __this_alloc = this->_M_get_Node_allocator();
> 28468:        auto& __that_alloc = __x._M_get_Node_allocator();
> 28468:        if (!_Alloc_traits::_S_always_equal()
> 28468:     && __this_alloc != __that_alloc)
> 28468:   {
> 28468: 
> 28468: 
> 28468:     clear();
> 28468:     std::__alloc_on_copy(__this_alloc, __that_alloc);
> 28468:   }
> 28468:      }
> 28468: 
> 28468: 
> 28468:    _Reuse_or_alloc_node __roan(*this);
> 28468:    _M_impl._M_reset();
> 28468:    _M_impl._M_key_compare = __x._M_impl._M_key_compare;
> 28468:    if (__x._M_root() != 0)
> 28468:      _M_root() = _M_copy(__x, __roan);
> 28468:  }
> 28468: 
> 28468:       return *this;
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468: 
> 28468:     template<typename _Arg, typename _NodeGen>
> 28468: 
> 28468: 
> 28468: 
> 28468:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:       _M_insert_(_Base_ptr __x, _Base_ptr __p,
> 28468: 
> 28468:    _Arg&& __v,
> 28468: 
> 28468: 
> 28468: 
> 28468:    _NodeGen& __node_gen)
> 28468:       {
> 28468:  bool __insert_left = (__x != 0 || __p == _M_end()
> 28468:          || _M_impl._M_key_compare(_KeyOfValue()(__v),
> 28468:        _S_key(__p)));
> 28468: 
> 28468:  _Link_type __z = __node_gen(std::forward<_Arg>(__v));
> 28468: 
> 28468:  _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
> 28468:           this->_M_impl._M_header);
> 28468:  ++_M_impl._M_node_count;
> 28468:  return iterator(__z);
> 28468:       }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468: 
> 28468:     template<typename _Arg>
> 28468: 
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468: 
> 28468:     _M_insert_lower(_Base_ptr __p, _Arg&& __v)
> 28468: 
> 28468: 
> 28468: 
> 28468:     {
> 28468:       bool __insert_left = (__p == _M_end()
> 28468:        || !_M_impl._M_key_compare(_S_key(__p),
> 28468:              _KeyOfValue()(__v)));
> 28468: 
> 28468:       _Link_type __z = _M_create_node(std::forward<_Arg>(__v));
> 28468: 
> 28468:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
> 28468:         this->_M_impl._M_header);
> 28468:       ++_M_impl._M_node_count;
> 28468:       return iterator(__z);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468: 
> 28468:     template<typename _Arg>
> 28468: 
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468: 
> 28468:     _M_insert_equal_lower(_Arg&& __v)
> 28468: 
> 28468: 
> 28468: 
> 28468:     {
> 28468:       _Link_type __x = _M_begin();
> 28468:       _Base_ptr __y = _M_end();
> 28468:       while (__x != 0)
> 28468:  {
> 28468:    __y = __x;
> 28468:    __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ?
> 28468:   _S_left(__x) : _S_right(__x);
> 28468:  }
> 28468:       return _M_insert_lower(__y, std::forward<_Arg>(__v));
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KoV,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     template<typename _NodeGen>
> 28468:       typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type
> 28468:       _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::
> 28468:       _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen)
> 28468:       {
> 28468: 
> 28468:  _Link_type __top = _M_clone_node(__x, __node_gen);
> 28468:  __top->_M_parent = __p;
> 28468: 
> 28468:  try
> 28468:    {
> 28468:      if (__x->_M_right)
> 28468:        __top->_M_right = _M_copy(_S_right(__x), __top, __node_gen);
> 28468:      __p = __top;
> 28468:      __x = _S_left(__x);
> 28468: 
> 28468:      while (__x != 0)
> 28468:        {
> 28468:   _Link_type __y = _M_clone_node(__x, __node_gen);
> 28468:   __p->_M_left = __y;
> 28468:   __y->_M_parent = __p;
> 28468:   if (__x->_M_right)
> 28468:     __y->_M_right = _M_copy(_S_right(__x), __y, __node_gen);
> 28468:   __p = __y;
> 28468:   __x = _S_left(__x);
> 28468:        }
> 28468:    }
> 28468:  catch(...)
> 28468:    {
> 28468:      _M_erase(__top);
> 28468:      throw;
> 28468:    }
> 28468:  return __top;
> 28468:       }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     void
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_erase(_Link_type __x)
> 28468:     {
> 28468: 
> 28468:       while (__x != 0)
> 28468:  {
> 28468:    _M_erase(_S_right(__x));
> 28468:    _Link_type __y = _S_left(__x);
> 28468:    _M_drop_node(__x);
> 28468:    __x = __y;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:         _Compare, _Alloc>::iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_lower_bound(_Link_type __x, _Base_ptr __y,
> 28468:      const _Key& __k)
> 28468:     {
> 28468:       while (__x != 0)
> 28468:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
> 28468:    __y = __x, __x = _S_left(__x);
> 28468:  else
> 28468:    __x = _S_right(__x);
> 28468:       return iterator(__y);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:         _Compare, _Alloc>::const_iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y,
> 28468:      const _Key& __k) const
> 28468:     {
> 28468:       while (__x != 0)
> 28468:  if (!_M_impl._M_key_compare(_S_key(__x), __k))
> 28468:    __y = __x, __x = _S_left(__x);
> 28468:  else
> 28468:    __x = _S_right(__x);
> 28468:       return const_iterator(__y);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:         _Compare, _Alloc>::iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_upper_bound(_Link_type __x, _Base_ptr __y,
> 28468:      const _Key& __k)
> 28468:     {
> 28468:       while (__x != 0)
> 28468:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
> 28468:    __y = __x, __x = _S_left(__x);
> 28468:  else
> 28468:    __x = _S_right(__x);
> 28468:       return iterator(__y);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:         _Compare, _Alloc>::const_iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y,
> 28468:      const _Key& __k) const
> 28468:     {
> 28468:       while (__x != 0)
> 28468:  if (_M_impl._M_key_compare(__k, _S_key(__x)))
> 28468:    __y = __x, __x = _S_left(__x);
> 28468:  else
> 28468:    __x = _S_right(__x);
> 28468:       return const_iterator(__y);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::iterator,
> 28468:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::iterator>
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     equal_range(const _Key& __k)
> 28468:     {
> 28468:       _Link_type __x = _M_begin();
> 28468:       _Base_ptr __y = _M_end();
> 28468:       while (__x != 0)
> 28468:  {
> 28468:    if (_M_impl._M_key_compare(_S_key(__x), __k))
> 28468:      __x = _S_right(__x);
> 28468:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
> 28468:      __y = __x, __x = _S_left(__x);
> 28468:    else
> 28468:      {
> 28468:        _Link_type __xu(__x);
> 28468:        _Base_ptr __yu(__y);
> 28468:        __y = __x, __x = _S_left(__x);
> 28468:        __xu = _S_right(__xu);
> 28468:        return pair<iterator,
> 28468:      iterator>(_M_lower_bound(__x, __y, __k),
> 28468:         _M_upper_bound(__xu, __yu, __k));
> 28468:      }
> 28468:  }
> 28468:       return pair<iterator, iterator>(iterator(__y),
> 28468:           iterator(__y));
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::const_iterator,
> 28468:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::const_iterator>
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     equal_range(const _Key& __k) const
> 28468:     {
> 28468:       _Const_Link_type __x = _M_begin();
> 28468:       _Const_Base_ptr __y = _M_end();
> 28468:       while (__x != 0)
> 28468:  {
> 28468:    if (_M_impl._M_key_compare(_S_key(__x), __k))
> 28468:      __x = _S_right(__x);
> 28468:    else if (_M_impl._M_key_compare(__k, _S_key(__x)))
> 28468:      __y = __x, __x = _S_left(__x);
> 28468:    else
> 28468:      {
> 28468:        _Const_Link_type __xu(__x);
> 28468:        _Const_Base_ptr __yu(__y);
> 28468:        __y = __x, __x = _S_left(__x);
> 28468:        __xu = _S_right(__xu);
> 28468:        return pair<const_iterator,
> 28468:      const_iterator>(_M_lower_bound(__x, __y, __k),
> 28468:        _M_upper_bound(__xu, __yu, __k));
> 28468:      }
> 28468:  }
> 28468:       return pair<const_iterator, const_iterator>(const_iterator(__y),
> 28468:         const_iterator(__y));
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     void
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     swap(_Rb_tree& __t)
> 28468:     noexcept(__is_nothrow_swappable<_Compare>::value)
> 28468:     {
> 28468:       if (_M_root() == 0)
> 28468:  {
> 28468:    if (__t._M_root() != 0)
> 28468:      _M_impl._M_move_data(__t._M_impl);
> 28468:  }
> 28468:       else if (__t._M_root() == 0)
> 28468:  __t._M_impl._M_move_data(_M_impl);
> 28468:       else
> 28468:  {
> 28468:    std::swap(_M_root(),__t._M_root());
> 28468:    std::swap(_M_leftmost(),__t._M_leftmost());
> 28468:    std::swap(_M_rightmost(),__t._M_rightmost());
> 28468: 
> 28468:    _M_root()->_M_parent = _M_end();
> 28468:    __t._M_root()->_M_parent = __t._M_end();
> 28468:    std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count);
> 28468:  }
> 28468: 
> 28468:       std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare);
> 28468: 
> 28468:       _Alloc_traits::_S_on_swap(_M_get_Node_allocator(),
> 28468:     __t._M_get_Node_allocator());
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::_Base_ptr,
> 28468:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::_Base_ptr>
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_get_insert_unique_pos(const key_type& __k)
> 28468:     {
> 28468:       typedef pair<_Base_ptr, _Base_ptr> _Res;
> 28468:       _Link_type __x = _M_begin();
> 28468:       _Base_ptr __y = _M_end();
> 28468:       bool __comp = true;
> 28468:       while (__x != 0)
> 28468:  {
> 28468:    __y = __x;
> 28468:    __comp = _M_impl._M_key_compare(__k, _S_key(__x));
> 28468:    __x = __comp ? _S_left(__x) : _S_right(__x);
> 28468:  }
> 28468:       iterator __j = iterator(__y);
> 28468:       if (__comp)
> 28468:  {
> 28468:    if (__j == begin())
> 28468:      return _Res(__x, __y);
> 28468:    else
> 28468:      --__j;
> 28468:  }
> 28468:       if (_M_impl._M_key_compare(_S_key(__j._M_node), __k))
> 28468:  return _Res(__x, __y);
> 28468:       return _Res(__j._M_node, 0);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::_Base_ptr,
> 28468:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::_Base_ptr>
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_get_insert_equal_pos(const key_type& __k)
> 28468:     {
> 28468:       typedef pair<_Base_ptr, _Base_ptr> _Res;
> 28468:       _Link_type __x = _M_begin();
> 28468:       _Base_ptr __y = _M_end();
> 28468:       while (__x != 0)
> 28468:  {
> 28468:    __y = __x;
> 28468:    __x = _M_impl._M_key_compare(__k, _S_key(__x)) ?
> 28468:   _S_left(__x) : _S_right(__x);
> 28468:  }
> 28468:       return _Res(__x, __y);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468: 
> 28468:     template<typename _Arg>
> 28468: 
> 28468:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::iterator, bool>
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468: 
> 28468:     _M_insert_unique(_Arg&& __v)
> 28468: 
> 28468: 
> 28468: 
> 28468:     {
> 28468:       typedef pair<iterator, bool> _Res;
> 28468:       pair<_Base_ptr, _Base_ptr> __res
> 28468:  = _M_get_insert_unique_pos(_KeyOfValue()(__v));
> 28468: 
> 28468:       if (__res.second)
> 28468:  {
> 28468:    _Alloc_node __an(*this);
> 28468:    return _Res(_M_insert_(__res.first, __res.second,
> 28468:      std::forward<_Arg>(__v), __an),
> 28468:         true);
> 28468:  }
> 28468: 
> 28468:       return _Res(iterator(__res.first), false);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468: 
> 28468:     template<typename _Arg>
> 28468: 
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468: 
> 28468:     _M_insert_equal(_Arg&& __v)
> 28468: 
> 28468: 
> 28468: 
> 28468:     {
> 28468:       pair<_Base_ptr, _Base_ptr> __res
> 28468:  = _M_get_insert_equal_pos(_KeyOfValue()(__v));
> 28468:       _Alloc_node __an(*this);
> 28468:       return _M_insert_(__res.first, __res.second,
> 28468:    std::forward<_Arg>(__v), __an);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::_Base_ptr,
> 28468:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::_Base_ptr>
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_get_insert_hint_unique_pos(const_iterator __position,
> 28468:       const key_type& __k)
> 28468:     {
> 28468:       iterator __pos = __position._M_const_cast();
> 28468:       typedef pair<_Base_ptr, _Base_ptr> _Res;
> 28468: 
> 28468: 
> 28468:       if (__pos._M_node == _M_end())
> 28468:  {
> 28468:    if (size() > 0
> 28468:        && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k))
> 28468:      return _Res(0, _M_rightmost());
> 28468:    else
> 28468:      return _M_get_insert_unique_pos(__k);
> 28468:  }
> 28468:       else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node)))
> 28468:  {
> 28468: 
> 28468:    iterator __before = __pos;
> 28468:    if (__pos._M_node == _M_leftmost())
> 28468:      return _Res(_M_leftmost(), _M_leftmost());
> 28468:    else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k))
> 28468:      {
> 28468:        if (_S_right(__before._M_node) == 0)
> 28468:   return _Res(0, __before._M_node);
> 28468:        else
> 28468:   return _Res(__pos._M_node, __pos._M_node);
> 28468:      }
> 28468:    else
> 28468:      return _M_get_insert_unique_pos(__k);
> 28468:  }
> 28468:       else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
> 28468:  {
> 28468: 
> 28468:    iterator __after = __pos;
> 28468:    if (__pos._M_node == _M_rightmost())
> 28468:      return _Res(0, _M_rightmost());
> 28468:    else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node)))
> 28468:      {
> 28468:        if (_S_right(__pos._M_node) == 0)
> 28468:   return _Res(0, __pos._M_node);
> 28468:        else
> 28468:   return _Res(__after._M_node, __after._M_node);
> 28468:      }
> 28468:    else
> 28468:      return _M_get_insert_unique_pos(__k);
> 28468:  }
> 28468:       else
> 28468: 
> 28468:  return _Res(__pos._M_node, 0);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468: 
> 28468:     template<typename _Arg, typename _NodeGen>
> 28468: 
> 28468: 
> 28468: 
> 28468:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:       _M_insert_unique_(const_iterator __position,
> 28468: 
> 28468:    _Arg&& __v,
> 28468: 
> 28468: 
> 28468: 
> 28468:    _NodeGen& __node_gen)
> 28468:     {
> 28468:       pair<_Base_ptr, _Base_ptr> __res
> 28468:  = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v));
> 28468: 
> 28468:       if (__res.second)
> 28468:  return _M_insert_(__res.first, __res.second,
> 28468:      std::forward<_Arg>(__v),
> 28468:      __node_gen);
> 28468:       return iterator(__res.first);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::_Base_ptr,
> 28468:   typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:       _Compare, _Alloc>::_Base_ptr>
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k)
> 28468:     {
> 28468:       iterator __pos = __position._M_const_cast();
> 28468:       typedef pair<_Base_ptr, _Base_ptr> _Res;
> 28468: 
> 28468: 
> 28468:       if (__pos._M_node == _M_end())
> 28468:  {
> 28468:    if (size() > 0
> 28468:        && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost())))
> 28468:      return _Res(0, _M_rightmost());
> 28468:    else
> 28468:      return _M_get_insert_equal_pos(__k);
> 28468:  }
> 28468:       else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k))
> 28468:  {
> 28468: 
> 28468:    iterator __before = __pos;
> 28468:    if (__pos._M_node == _M_leftmost())
> 28468:      return _Res(_M_leftmost(), _M_leftmost());
> 28468:    else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node)))
> 28468:      {
> 28468:        if (_S_right(__before._M_node) == 0)
> 28468:   return _Res(0, __before._M_node);
> 28468:        else
> 28468:   return _Res(__pos._M_node, __pos._M_node);
> 28468:      }
> 28468:    else
> 28468:      return _M_get_insert_equal_pos(__k);
> 28468:  }
> 28468:       else
> 28468:  {
> 28468: 
> 28468:    iterator __after = __pos;
> 28468:    if (__pos._M_node == _M_rightmost())
> 28468:      return _Res(0, _M_rightmost());
> 28468:    else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k))
> 28468:      {
> 28468:        if (_S_right(__pos._M_node) == 0)
> 28468:   return _Res(0, __pos._M_node);
> 28468:        else
> 28468:   return _Res(__after._M_node, __after._M_node);
> 28468:      }
> 28468:    else
> 28468:      return _Res(0, 0);
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468: 
> 28468:     template<typename _Arg, typename _NodeGen>
> 28468: 
> 28468: 
> 28468: 
> 28468:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:       _M_insert_equal_(const_iterator __position,
> 28468: 
> 28468:          _Arg&& __v,
> 28468: 
> 28468: 
> 28468: 
> 28468:          _NodeGen& __node_gen)
> 28468:       {
> 28468:  pair<_Base_ptr, _Base_ptr> __res
> 28468:    = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v));
> 28468: 
> 28468:  if (__res.second)
> 28468:    return _M_insert_(__res.first, __res.second,
> 28468:        std::forward<_Arg>(__v),
> 28468:        __node_gen);
> 28468: 
> 28468:  return _M_insert_equal_lower(std::forward<_Arg>(__v));
> 28468:       }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z)
> 28468:     {
> 28468:       bool __insert_left = (__x != 0 || __p == _M_end()
> 28468:        || _M_impl._M_key_compare(_S_key(__z),
> 28468:             _S_key(__p)));
> 28468: 
> 28468:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
> 28468:         this->_M_impl._M_header);
> 28468:       ++_M_impl._M_node_count;
> 28468:       return iterator(__z);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_insert_lower_node(_Base_ptr __p, _Link_type __z)
> 28468:     {
> 28468:       bool __insert_left = (__p == _M_end()
> 28468:        || !_M_impl._M_key_compare(_S_key(__p),
> 28468:              _S_key(__z)));
> 28468: 
> 28468:       _Rb_tree_insert_and_rebalance(__insert_left, __z, __p,
> 28468:         this->_M_impl._M_header);
> 28468:       ++_M_impl._M_node_count;
> 28468:       return iterator(__z);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_insert_equal_lower_node(_Link_type __z)
> 28468:     {
> 28468:       _Link_type __x = _M_begin();
> 28468:       _Base_ptr __y = _M_end();
> 28468:       while (__x != 0)
> 28468:  {
> 28468:    __y = __x;
> 28468:    __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ?
> 28468:   _S_left(__x) : _S_right(__x);
> 28468:  }
> 28468:       return _M_insert_lower_node(__y, __z);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     template<typename... _Args>
> 28468:       pair<typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:         _Compare, _Alloc>::iterator, bool>
> 28468:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:       _M_emplace_unique(_Args&&... __args)
> 28468:       {
> 28468:  _Link_type __z = _M_create_node(std::forward<_Args>(__args)...);
> 28468: 
> 28468:  try
> 28468:    {
> 28468:      typedef pair<iterator, bool> _Res;
> 28468:      auto __res = _M_get_insert_unique_pos(_S_key(__z));
> 28468:      if (__res.second)
> 28468:        return _Res(_M_insert_node(__res.first, __res.second, __z), true);
> 28468: 
> 28468:      _M_drop_node(__z);
> 28468:      return _Res(iterator(__res.first), false);
> 28468:    }
> 28468:  catch(...)
> 28468:    {
> 28468:      _M_drop_node(__z);
> 28468:      throw;
> 28468:    }
> 28468:       }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     template<typename... _Args>
> 28468:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:       _M_emplace_equal(_Args&&... __args)
> 28468:       {
> 28468:  _Link_type __z = _M_create_node(std::forward<_Args>(__args)...);
> 28468: 
> 28468:  try
> 28468:    {
> 28468:      auto __res = _M_get_insert_equal_pos(_S_key(__z));
> 28468:      return _M_insert_node(__res.first, __res.second, __z);
> 28468:    }
> 28468:  catch(...)
> 28468:    {
> 28468:      _M_drop_node(__z);
> 28468:      throw;
> 28468:    }
> 28468:       }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     template<typename... _Args>
> 28468:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:       _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args)
> 28468:       {
> 28468:  _Link_type __z = _M_create_node(std::forward<_Args>(__args)...);
> 28468: 
> 28468:  try
> 28468:    {
> 28468:      auto __res = _M_get_insert_hint_unique_pos(__pos, _S_key(__z));
> 28468: 
> 28468:      if (__res.second)
> 28468:        return _M_insert_node(__res.first, __res.second, __z);
> 28468: 
> 28468:      _M_drop_node(__z);
> 28468:      return iterator(__res.first);
> 28468:    }
> 28468:  catch(...)
> 28468:    {
> 28468:      _M_drop_node(__z);
> 28468:      throw;
> 28468:    }
> 28468:       }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     template<typename... _Args>
> 28468:       typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator
> 28468:       _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:       _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args)
> 28468:       {
> 28468:  _Link_type __z = _M_create_node(std::forward<_Args>(__args)...);
> 28468: 
> 28468:  try
> 28468:    {
> 28468:      auto __res = _M_get_insert_hint_equal_pos(__pos, _S_key(__z));
> 28468: 
> 28468:      if (__res.second)
> 28468:        return _M_insert_node(__res.first, __res.second, __z);
> 28468: 
> 28468:      return _M_insert_equal_lower_node(__z);
> 28468:    }
> 28468:  catch(...)
> 28468:    {
> 28468:      _M_drop_node(__z);
> 28468:      throw;
> 28468:    }
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     void
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_erase_aux(const_iterator __position)
> 28468:     {
> 28468:       _Link_type __y =
> 28468:  static_cast<_Link_type>(_Rb_tree_rebalance_for_erase
> 28468:     (const_cast<_Base_ptr>(__position._M_node),
> 28468:      this->_M_impl._M_header));
> 28468:       _M_drop_node(__y);
> 28468:       --_M_impl._M_node_count;
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     void
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     _M_erase_aux(const_iterator __first, const_iterator __last)
> 28468:     {
> 28468:       if (__first == begin() && __last == end())
> 28468:  clear();
> 28468:       else
> 28468:  while (__first != __last)
> 28468:    _M_erase_aux(__first++);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     erase(const _Key& __x)
> 28468:     {
> 28468:       pair<iterator, iterator> __p = equal_range(__x);
> 28468:       const size_type __old_size = size();
> 28468:       _M_erase_aux(__p.first, __p.second);
> 28468:       return __old_size - size();
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     void
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     erase(const _Key* __first, const _Key* __last)
> 28468:     {
> 28468:       while (__first != __last)
> 28468:  erase(*__first++);
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:         _Compare, _Alloc>::iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     find(const _Key& __k)
> 28468:     {
> 28468:       iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
> 28468:       return (__j == end()
> 28468:        || _M_impl._M_key_compare(__k,
> 28468:      _S_key(__j._M_node))) ? end() : __j;
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue,
> 28468:         _Compare, _Alloc>::const_iterator
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     find(const _Key& __k) const
> 28468:     {
> 28468:       const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k);
> 28468:       return (__j == end()
> 28468:        || _M_impl._M_key_compare(__k,
> 28468:      _S_key(__j._M_node))) ? end() : __j;
> 28468:     }
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type
> 28468:     _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::
> 28468:     count(const _Key& __k) const
> 28468:     {
> 28468:       pair<const_iterator, const_iterator> __p = equal_range(__k);
> 28468:       const size_type __n = std::distance(__p.first, __p.second);
> 28468:       return __n;
> 28468:     }
> 28468: 
> 28468:   __attribute__ ((__pure__)) unsigned int
> 28468:   _Rb_tree_black_count(const _Rb_tree_node_base* __node,
> 28468:          const _Rb_tree_node_base* __root) throw ();
> 28468: 
> 28468:   template<typename _Key, typename _Val, typename _KeyOfValue,
> 28468:     typename _Compare, typename _Alloc>
> 28468:     bool
> 28468:     _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const
> 28468:     {
> 28468:       if (_M_impl._M_node_count == 0 || begin() == end())
> 28468:  return _M_impl._M_node_count == 0 && begin() == end()
> 28468:         && this->_M_impl._M_header._M_left == _M_end()
> 28468:         && this->_M_impl._M_header._M_right == _M_end();
> 28468: 
> 28468:       unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root());
> 28468:       for (const_iterator __it = begin(); __it != end(); ++__it)
> 28468:  {
> 28468:    _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node);
> 28468:    _Const_Link_type __L = _S_left(__x);
> 28468:    _Const_Link_type __R = _S_right(__x);
> 28468: 
> 28468:    if (__x->_M_color == _S_red)
> 28468:      if ((__L && __L->_M_color == _S_red)
> 28468:   || (__R && __R->_M_color == _S_red))
> 28468:        return false;
> 28468: 
> 28468:    if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L)))
> 28468:      return false;
> 28468:    if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x)))
> 28468:      return false;
> 28468: 
> 28468:    if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len)
> 28468:      return false;
> 28468:  }
> 28468: 
> 28468:       if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root()))
> 28468:  return false;
> 28468:       if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root()))
> 28468:  return false;
> 28468:       return true;
> 28468:     }
> 28468: # 2645 "/usr/include/c++/9/bits/stl_tree.h" 3
> 28468: 
> 28468: }
> 28468: # 61 "/usr/include/c++/9/map" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_map.h" 1 3
> 28468: # 66 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     class multimap;
> 28468: # 98 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:   template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>,
> 28468:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
> 28468:     class map
> 28468:     {
> 28468:     public:
> 28468:       typedef _Key key_type;
> 28468:       typedef _Tp mapped_type;
> 28468:       typedef std::pair<const _Key, _Tp> value_type;
> 28468:       typedef _Compare key_compare;
> 28468:       typedef _Alloc allocator_type;
> 28468: 
> 28468:     private:
> 28468: # 122 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
> 28468:    "std::map must have the same value_type as its allocator");
> 28468: 
> 28468: 
> 28468:     public:
> 28468:       class value_compare
> 28468:       : public std::binary_function<value_type, value_type, bool>
> 28468:       {
> 28468:  friend class map<_Key, _Tp, _Compare, _Alloc>;
> 28468:       protected:
> 28468:  _Compare comp;
> 28468: 
> 28468:  value_compare(_Compare __c)
> 28468:  : comp(__c) { }
> 28468: 
> 28468:       public:
> 28468:  bool operator()(const value_type& __x, const value_type& __y) const
> 28468:  { return comp(__x.first, __y.first); }
> 28468:       };
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
> 28468:  rebind<value_type>::other _Pair_alloc_type;
> 28468: 
> 28468:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
> 28468:          key_compare, _Pair_alloc_type> _Rep_type;
> 28468: 
> 28468: 
> 28468:       _Rep_type _M_t;
> 28468: 
> 28468:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits;
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468:       typedef typename _Alloc_traits::pointer pointer;
> 28468:       typedef typename _Alloc_traits::const_pointer const_pointer;
> 28468:       typedef typename _Alloc_traits::reference reference;
> 28468:       typedef typename _Alloc_traits::const_reference const_reference;
> 28468:       typedef typename _Rep_type::iterator iterator;
> 28468:       typedef typename _Rep_type::const_iterator const_iterator;
> 28468:       typedef typename _Rep_type::size_type size_type;
> 28468:       typedef typename _Rep_type::difference_type difference_type;
> 28468:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
> 28468:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
> 28468: # 183 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       map() = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       map(const _Compare& __comp,
> 28468:    const allocator_type& __a = allocator_type())
> 28468:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
> 28468: # 205 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       map(const map&) = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       map(map&&) = default;
> 28468: # 226 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       map(initializer_list<value_type> __l,
> 28468:    const _Compare& __comp = _Compare(),
> 28468:    const allocator_type& __a = allocator_type())
> 28468:       : _M_t(__comp, _Pair_alloc_type(__a))
> 28468:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       map(const allocator_type& __a)
> 28468:       : _M_t(_Pair_alloc_type(__a)) { }
> 28468: 
> 28468: 
> 28468:       map(const map& __m, const allocator_type& __a)
> 28468:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
> 28468: 
> 28468: 
> 28468:       map(map&& __m, const allocator_type& __a)
> 28468:       noexcept(is_nothrow_copy_constructible<_Compare>::value
> 28468:         && _Alloc_traits::_S_always_equal())
> 28468:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
> 28468: 
> 28468: 
> 28468:       map(initializer_list<value_type> __l, const allocator_type& __a)
> 28468:       : _M_t(_Pair_alloc_type(__a))
> 28468:       { _M_t._M_insert_range_unique(__l.begin(), __l.end()); }
> 28468: 
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  map(_InputIterator __first, _InputIterator __last,
> 28468:      const allocator_type& __a)
> 28468:  : _M_t(_Pair_alloc_type(__a))
> 28468:  { _M_t._M_insert_range_unique(__first, __last); }
> 28468: # 270 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       template<typename _InputIterator>
> 28468:  map(_InputIterator __first, _InputIterator __last)
> 28468:  : _M_t()
> 28468:  { _M_t._M_insert_range_unique(__first, __last); }
> 28468: # 287 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       template<typename _InputIterator>
> 28468:  map(_InputIterator __first, _InputIterator __last,
> 28468:      const _Compare& __comp,
> 28468:      const allocator_type& __a = allocator_type())
> 28468:  : _M_t(__comp, _Pair_alloc_type(__a))
> 28468:  { _M_t._M_insert_range_unique(__first, __last); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       ~map() = default;
> 28468: # 316 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       map&
> 28468:       operator=(const map&) = default;
> 28468: 
> 28468: 
> 28468:       map&
> 28468:       operator=(map&&) = default;
> 28468: # 334 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       map&
> 28468:       operator=(initializer_list<value_type> __l)
> 28468:       {
> 28468:  _M_t._M_assign_unique(__l.begin(), __l.end());
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       allocator_type
> 28468:       get_allocator() const noexcept
> 28468:       { return allocator_type(_M_t.get_allocator()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       begin() noexcept
> 28468:       { return _M_t.begin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       begin() const noexcept
> 28468:       { return _M_t.begin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       end() noexcept
> 28468:       { return _M_t.end(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       end() const noexcept
> 28468:       { return _M_t.end(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       rbegin() noexcept
> 28468:       { return _M_t.rbegin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rbegin() const noexcept
> 28468:       { return _M_t.rbegin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       rend() noexcept
> 28468:       { return _M_t.rend(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rend() const noexcept
> 28468:       { return _M_t.rend(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       cbegin() const noexcept
> 28468:       { return _M_t.begin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       cend() const noexcept
> 28468:       { return _M_t.end(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crbegin() const noexcept
> 28468:       { return _M_t.rbegin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crend() const noexcept
> 28468:       { return _M_t.rend(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       empty() const noexcept
> 28468:       { return _M_t.empty(); }
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       size() const noexcept
> 28468:       { return _M_t.size(); }
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       max_size() const noexcept
> 28468:       { return _M_t.max_size(); }
> 28468: # 489 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       mapped_type&
> 28468:       operator[](const key_type& __k)
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:  iterator __i = lower_bound(__k);
> 28468: 
> 28468:  if (__i == end() || key_comp()(__k, (*__i).first))
> 28468: 
> 28468:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
> 28468:          std::tuple<const key_type&>(__k),
> 28468:          std::tuple<>());
> 28468: 
> 28468: 
> 28468: 
> 28468:  return (*__i).second;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       mapped_type&
> 28468:       operator[](key_type&& __k)
> 28468:       {
> 28468: 
> 28468: 
> 28468: 
> 28468:  iterator __i = lower_bound(__k);
> 28468: 
> 28468:  if (__i == end() || key_comp()(__k, (*__i).first))
> 28468:    __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct,
> 28468:      std::forward_as_tuple(std::move(__k)),
> 28468:      std::tuple<>());
> 28468:  return (*__i).second;
> 28468:       }
> 28468: # 534 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       mapped_type&
> 28468:       at(const key_type& __k)
> 28468:       {
> 28468:  iterator __i = lower_bound(__k);
> 28468:  if (__i == end() || key_comp()(__k, (*__i).first))
> 28468:    __throw_out_of_range(("map::at"));
> 28468:  return (*__i).second;
> 28468:       }
> 28468: 
> 28468:       const mapped_type&
> 28468:       at(const key_type& __k) const
> 28468:       {
> 28468:  const_iterator __i = lower_bound(__k);
> 28468:  if (__i == end() || key_comp()(__k, (*__i).first))
> 28468:    __throw_out_of_range(("map::at"));
> 28468:  return (*__i).second;
> 28468:       }
> 28468: # 572 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       template<typename... _Args>
> 28468:  std::pair<iterator, bool>
> 28468:  emplace(_Args&&... __args)
> 28468:  { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); }
> 28468: # 602 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       template<typename... _Args>
> 28468:  iterator
> 28468:  emplace_hint(const_iterator __pos, _Args&&... __args)
> 28468:  {
> 28468:    return _M_t._M_emplace_hint_unique(__pos,
> 28468:           std::forward<_Args>(__args)...);
> 28468:  }
> 28468: # 800 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       std::pair<iterator, bool>
> 28468:       insert(const value_type& __x)
> 28468:       { return _M_t._M_insert_unique(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       std::pair<iterator, bool>
> 28468:       insert(value_type&& __x)
> 28468:       { return _M_t._M_insert_unique(std::move(__x)); }
> 28468: 
> 28468:       template<typename _Pair>
> 28468:  __enable_if_t<is_constructible<value_type, _Pair>::value,
> 28468:         pair<iterator, bool>>
> 28468:  insert(_Pair&& __x)
> 28468:  { return _M_t._M_emplace_unique(std::forward<_Pair>(__x)); }
> 28468: # 827 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       void
> 28468:       insert(std::initializer_list<value_type> __list)
> 28468:       { insert(__list.begin(), __list.end()); }
> 28468: # 856 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       iterator
> 28468: 
> 28468:       insert(const_iterator __position, const value_type& __x)
> 28468: 
> 28468: 
> 28468: 
> 28468:       { return _M_t._M_insert_unique_(__position, __x); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       insert(const_iterator __position, value_type&& __x)
> 28468:       { return _M_t._M_insert_unique_(__position, std::move(__x)); }
> 28468: 
> 28468:       template<typename _Pair>
> 28468:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
> 28468:  insert(const_iterator __position, _Pair&& __x)
> 28468:  {
> 28468:    return _M_t._M_emplace_hint_unique(__position,
> 28468:           std::forward<_Pair>(__x));
> 28468:  }
> 28468: # 889 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  insert(_InputIterator __first, _InputIterator __last)
> 28468:  { _M_t._M_insert_range_unique(__first, __last); }
> 28468: # 1029 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       iterator
> 28468:       erase(const_iterator __position)
> 28468:       { return _M_t.erase(__position); }
> 28468: 
> 28468: 
> 28468:       __attribute ((__abi_tag__ ("cxx11")))
> 28468:       iterator
> 28468:       erase(iterator __position)
> 28468:       { return _M_t.erase(__position); }
> 28468: # 1066 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       size_type
> 28468:       erase(const key_type& __x)
> 28468:       { return _M_t.erase(__x); }
> 28468: # 1086 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       iterator
> 28468:       erase(const_iterator __first, const_iterator __last)
> 28468:       { return _M_t.erase(__first, __last); }
> 28468: # 1120 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       void
> 28468:       swap(map& __x)
> 28468:       noexcept(__is_nothrow_swappable<_Compare>::value)
> 28468:       { _M_t.swap(__x._M_t); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       clear() noexcept
> 28468:       { _M_t.clear(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       key_compare
> 28468:       key_comp() const
> 28468:       { return _M_t.key_comp(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       value_compare
> 28468:       value_comp() const
> 28468:       { return value_compare(_M_t.key_comp()); }
> 28468: # 1167 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       iterator
> 28468:       find(const key_type& __x)
> 28468:       { return _M_t.find(__x); }
> 28468: # 1192 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       const_iterator
> 28468:       find(const key_type& __x) const
> 28468:       { return _M_t.find(__x); }
> 28468: # 1213 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       size_type
> 28468:       count(const key_type& __x) const
> 28468:       { return _M_t.find(__x) == _M_t.end() ? 0 : 1; }
> 28468: # 1256 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       iterator
> 28468:       lower_bound(const key_type& __x)
> 28468:       { return _M_t.lower_bound(__x); }
> 28468: # 1281 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       const_iterator
> 28468:       lower_bound(const key_type& __x) const
> 28468:       { return _M_t.lower_bound(__x); }
> 28468: # 1301 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       iterator
> 28468:       upper_bound(const key_type& __x)
> 28468:       { return _M_t.upper_bound(__x); }
> 28468: # 1321 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       const_iterator
> 28468:       upper_bound(const key_type& __x) const
> 28468:       { return _M_t.upper_bound(__x); }
> 28468: # 1350 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       std::pair<iterator, iterator>
> 28468:       equal_range(const key_type& __x)
> 28468:       { return _M_t.equal_range(__x); }
> 28468: # 1379 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       std::pair<const_iterator, const_iterator>
> 28468:       equal_range(const key_type& __x) const
> 28468:       { return _M_t.equal_range(__x); }
> 28468: # 1396 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:       template<typename _K1, typename _T1, typename _C1, typename _A1>
> 28468:  friend bool
> 28468:  operator==(const map<_K1, _T1, _C1, _A1>&,
> 28468:      const map<_K1, _T1, _C1, _A1>&);
> 28468: 
> 28468:       template<typename _K1, typename _T1, typename _C1, typename _A1>
> 28468:  friend bool
> 28468:  operator<(const map<_K1, _T1, _C1, _A1>&,
> 28468:     const map<_K1, _T1, _C1, _A1>&);
> 28468:     };
> 28468: # 1453 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return __x._M_t == __y._M_t; }
> 28468: # 1470 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return __x._M_t < __y._M_t; }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return !(__x == __y); }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:        const map<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return __y < __x; }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return !(__y < __x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:         const map<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return !(__x < __y); }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline void
> 28468:     swap(map<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:   map<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     noexcept(noexcept(__x.swap(__y)))
> 28468:     { __x.swap(__y); }
> 28468: 
> 28468: 
> 28468: # 1535 "/usr/include/c++/9/bits/stl_map.h" 3
> 28468: 
> 28468: }
> 28468: # 62 "/usr/include/c++/9/map" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_multimap.h" 1 3
> 28468: # 64 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   template <typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     class map;
> 28468: # 96 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:   template <typename _Key, typename _Tp,
> 28468:      typename _Compare = std::less<_Key>,
> 28468:      typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > >
> 28468:     class multimap
> 28468:     {
> 28468:     public:
> 28468:       typedef _Key key_type;
> 28468:       typedef _Tp mapped_type;
> 28468:       typedef std::pair<const _Key, _Tp> value_type;
> 28468:       typedef _Compare key_compare;
> 28468:       typedef _Alloc allocator_type;
> 28468: 
> 28468:     private:
> 28468: # 121 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       static_assert(is_same<typename _Alloc::value_type, value_type>::value,
> 28468:    "std::multimap must have the same value_type as its allocator");
> 28468: 
> 28468: 
> 28468:     public:
> 28468:       class value_compare
> 28468:       : public std::binary_function<value_type, value_type, bool>
> 28468:       {
> 28468:  friend class multimap<_Key, _Tp, _Compare, _Alloc>;
> 28468:       protected:
> 28468:  _Compare comp;
> 28468: 
> 28468:  value_compare(_Compare __c)
> 28468:  : comp(__c) { }
> 28468: 
> 28468:       public:
> 28468:  bool operator()(const value_type& __x, const value_type& __y) const
> 28468:  { return comp(__x.first, __y.first); }
> 28468:       };
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template
> 28468:  rebind<value_type>::other _Pair_alloc_type;
> 28468: 
> 28468:       typedef _Rb_tree<key_type, value_type, _Select1st<value_type>,
> 28468:          key_compare, _Pair_alloc_type> _Rep_type;
> 28468: 
> 28468:       _Rep_type _M_t;
> 28468: 
> 28468:       typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits;
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468:       typedef typename _Alloc_traits::pointer pointer;
> 28468:       typedef typename _Alloc_traits::const_pointer const_pointer;
> 28468:       typedef typename _Alloc_traits::reference reference;
> 28468:       typedef typename _Alloc_traits::const_reference const_reference;
> 28468:       typedef typename _Rep_type::iterator iterator;
> 28468:       typedef typename _Rep_type::const_iterator const_iterator;
> 28468:       typedef typename _Rep_type::size_type size_type;
> 28468:       typedef typename _Rep_type::difference_type difference_type;
> 28468:       typedef typename _Rep_type::reverse_iterator reverse_iterator;
> 28468:       typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator;
> 28468: # 180 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       multimap() = default;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       multimap(const _Compare& __comp,
> 28468:         const allocator_type& __a = allocator_type())
> 28468:       : _M_t(__comp, _Pair_alloc_type(__a)) { }
> 28468: # 202 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       multimap(const multimap&) = default;
> 28468: # 211 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       multimap(multimap&&) = default;
> 28468: # 223 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       multimap(initializer_list<value_type> __l,
> 28468:         const _Compare& __comp = _Compare(),
> 28468:         const allocator_type& __a = allocator_type())
> 28468:       : _M_t(__comp, _Pair_alloc_type(__a))
> 28468:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       multimap(const allocator_type& __a)
> 28468:       : _M_t(_Pair_alloc_type(__a)) { }
> 28468: 
> 28468: 
> 28468:       multimap(const multimap& __m, const allocator_type& __a)
> 28468:       : _M_t(__m._M_t, _Pair_alloc_type(__a)) { }
> 28468: 
> 28468: 
> 28468:       multimap(multimap&& __m, const allocator_type& __a)
> 28468:       noexcept(is_nothrow_copy_constructible<_Compare>::value
> 28468:         && _Alloc_traits::_S_always_equal())
> 28468:       : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { }
> 28468: 
> 28468: 
> 28468:       multimap(initializer_list<value_type> __l, const allocator_type& __a)
> 28468:       : _M_t(_Pair_alloc_type(__a))
> 28468:       { _M_t._M_insert_range_equal(__l.begin(), __l.end()); }
> 28468: 
> 28468: 
> 28468:       template<typename _InputIterator>
> 28468:  multimap(_InputIterator __first, _InputIterator __last,
> 28468:    const allocator_type& __a)
> 28468:  : _M_t(_Pair_alloc_type(__a))
> 28468:  { _M_t._M_insert_range_equal(__first, __last); }
> 28468: # 266 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       template<typename _InputIterator>
> 28468:  multimap(_InputIterator __first, _InputIterator __last)
> 28468:  : _M_t()
> 28468:  { _M_t._M_insert_range_equal(__first, __last); }
> 28468: # 282 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       template<typename _InputIterator>
> 28468:  multimap(_InputIterator __first, _InputIterator __last,
> 28468:    const _Compare& __comp,
> 28468:    const allocator_type& __a = allocator_type())
> 28468:  : _M_t(__comp, _Pair_alloc_type(__a))
> 28468:  { _M_t._M_insert_range_equal(__first, __last); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       ~multimap() = default;
> 28468: # 311 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       multimap&
> 28468:       operator=(const multimap&) = default;
> 28468: 
> 28468: 
> 28468:       multimap&
> 28468:       operator=(multimap&&) = default;
> 28468: # 329 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       multimap&
> 28468:       operator=(initializer_list<value_type> __l)
> 28468:       {
> 28468:  _M_t._M_assign_equal(__l.begin(), __l.end());
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       allocator_type
> 28468:       get_allocator() const noexcept
> 28468:       { return allocator_type(_M_t.get_allocator()); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       begin() noexcept
> 28468:       { return _M_t.begin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       begin() const noexcept
> 28468:       { return _M_t.begin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       end() noexcept
> 28468:       { return _M_t.end(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       end() const noexcept
> 28468:       { return _M_t.end(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       rbegin() noexcept
> 28468:       { return _M_t.rbegin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rbegin() const noexcept
> 28468:       { return _M_t.rbegin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       reverse_iterator
> 28468:       rend() noexcept
> 28468:       { return _M_t.rend(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       rend() const noexcept
> 28468:       { return _M_t.rend(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       cbegin() const noexcept
> 28468:       { return _M_t.begin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_iterator
> 28468:       cend() const noexcept
> 28468:       { return _M_t.end(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crbegin() const noexcept
> 28468:       { return _M_t.rbegin(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       const_reverse_iterator
> 28468:       crend() const noexcept
> 28468:       { return _M_t.rend(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       empty() const noexcept
> 28468:       { return _M_t.empty(); }
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       size() const noexcept
> 28468:       { return _M_t.size(); }
> 28468: 
> 28468: 
> 28468:       size_type
> 28468:       max_size() const noexcept
> 28468:       { return _M_t.max_size(); }
> 28468: # 487 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       template<typename... _Args>
> 28468:  iterator
> 28468:  emplace(_Args&&... __args)
> 28468:  { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); }
> 28468: # 514 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       template<typename... _Args>
> 28468:  iterator
> 28468:  emplace_hint(const_iterator __pos, _Args&&... __args)
> 28468:  {
> 28468:    return _M_t._M_emplace_hint_equal(__pos,
> 28468:          std::forward<_Args>(__args)...);
> 28468:  }
> 28468: # 536 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       iterator
> 28468:       insert(const value_type& __x)
> 28468:       { return _M_t._M_insert_equal(__x); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       insert(value_type&& __x)
> 28468:       { return _M_t._M_insert_equal(std::move(__x)); }
> 28468: 
> 28468:       template<typename _Pair>
> 28468:  __enable_if_t<is_constructible<value_type, _Pair>::value, iterator>
> 28468:  insert(_Pair&& __x)
> 28468:  { return _M_t._M_emplace_equal(std::forward<_Pair>(__x)); }
> 28468: # 575 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       iterator
> 28468: 
> 28468:       insert(const_iterator __position, const value_type& __x)
> 28468: 
> 28468: 
> 28468: 
> 28468:       { return _M_t._M_insert_equal_(__position, __x); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       iterator
> 28468:       insert(const_iterator __position, value_type&& __x)
> 28468:       { return _M_t._M_insert_equal_(__position, std::move(__x)); }
> 28468: 
> 28468:       template<typename _Pair>
> 28468:  __enable_if_t<is_constructible<value_type, _Pair&&>::value, iterator>
> 28468:  insert(const_iterator __position, _Pair&& __x)
> 28468:  {
> 28468:    return _M_t._M_emplace_hint_equal(__position,
> 28468:          std::forward<_Pair>(__x));
> 28468:  }
> 28468: # 609 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       template<typename _InputIterator>
> 28468:  void
> 28468:  insert(_InputIterator __first, _InputIterator __last)
> 28468:  { _M_t._M_insert_range_equal(__first, __last); }
> 28468: # 622 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       void
> 28468:       insert(initializer_list<value_type> __l)
> 28468:       { this->insert(__l.begin(), __l.end()); }
> 28468: # 699 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       iterator
> 28468:       erase(const_iterator __position)
> 28468:       { return _M_t.erase(__position); }
> 28468: 
> 28468: 
> 28468:       __attribute ((__abi_tag__ ("cxx11")))
> 28468:       iterator
> 28468:       erase(iterator __position)
> 28468:       { return _M_t.erase(__position); }
> 28468: # 736 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       size_type
> 28468:       erase(const key_type& __x)
> 28468:       { return _M_t.erase(__x); }
> 28468: # 757 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       iterator
> 28468:       erase(const_iterator __first, const_iterator __last)
> 28468:       { return _M_t.erase(__first, __last); }
> 28468: # 794 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       void
> 28468:       swap(multimap& __x)
> 28468:       noexcept(__is_nothrow_swappable<_Compare>::value)
> 28468:       { _M_t.swap(__x._M_t); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       clear() noexcept
> 28468:       { _M_t.clear(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       key_compare
> 28468:       key_comp() const
> 28468:       { return _M_t.key_comp(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       value_compare
> 28468:       value_comp() const
> 28468:       { return value_compare(_M_t.key_comp()); }
> 28468: # 840 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       iterator
> 28468:       find(const key_type& __x)
> 28468:       { return _M_t.find(__x); }
> 28468: # 864 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       const_iterator
> 28468:       find(const key_type& __x) const
> 28468:       { return _M_t.find(__x); }
> 28468: # 882 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       size_type
> 28468:       count(const key_type& __x) const
> 28468:       { return _M_t.count(__x); }
> 28468: # 925 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       iterator
> 28468:       lower_bound(const key_type& __x)
> 28468:       { return _M_t.lower_bound(__x); }
> 28468: # 950 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       const_iterator
> 28468:       lower_bound(const key_type& __x) const
> 28468:       { return _M_t.lower_bound(__x); }
> 28468: # 970 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       iterator
> 28468:       upper_bound(const key_type& __x)
> 28468:       { return _M_t.upper_bound(__x); }
> 28468: # 990 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       const_iterator
> 28468:       upper_bound(const key_type& __x) const
> 28468:       { return _M_t.upper_bound(__x); }
> 28468: # 1017 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       std::pair<iterator, iterator>
> 28468:       equal_range(const key_type& __x)
> 28468:       { return _M_t.equal_range(__x); }
> 28468: # 1044 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       std::pair<const_iterator, const_iterator>
> 28468:       equal_range(const key_type& __x) const
> 28468:       { return _M_t.equal_range(__x); }
> 28468: # 1061 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:       template<typename _K1, typename _T1, typename _C1, typename _A1>
> 28468:  friend bool
> 28468:  operator==(const multimap<_K1, _T1, _C1, _A1>&,
> 28468:      const multimap<_K1, _T1, _C1, _A1>&);
> 28468: 
> 28468:       template<typename _K1, typename _T1, typename _C1, typename _A1>
> 28468:  friend bool
> 28468:  operator<(const multimap<_K1, _T1, _C1, _A1>&,
> 28468:     const multimap<_K1, _T1, _C1, _A1>&);
> 28468:   };
> 28468: # 1117 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return __x._M_t == __y._M_t; }
> 28468: # 1134 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return __x._M_t < __y._M_t; }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return !(__x == __y); }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:        const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return __y < __x; }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return !(__y < __x); }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline bool
> 28468:     operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:         const multimap<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     { return !(__x < __y); }
> 28468: 
> 28468: 
> 28468:   template<typename _Key, typename _Tp, typename _Compare, typename _Alloc>
> 28468:     inline void
> 28468:     swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x,
> 28468:   multimap<_Key, _Tp, _Compare, _Alloc>& __y)
> 28468:     noexcept(noexcept(__x.swap(__y)))
> 28468:     { __x.swap(__y); }
> 28468: 
> 28468: 
> 28468: # 1199 "/usr/include/c++/9/bits/stl_multimap.h" 3
> 28468: 
> 28468: }
> 28468: # 63 "/usr/include/c++/9/map" 2 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/erase_if.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/erase_if.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/erase_if.h" 3
> 28468: # 65 "/usr/include/c++/9/map" 2 3
> 28468: # 22 "/<<PKGBUILDDIR>>/include/HepMC3/GenHeavyIon.h" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h" 1
> 28468: # 22 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h"
> 28468: # 1 "/usr/include/c++/9/cstdio" 1 3
> 28468: # 39 "/usr/include/c++/9/cstdio" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cstdio" 3
> 28468: # 23 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h" 2
> 28468: 
> 28468: # 1 "/usr/include/c++/9/limits" 1 3
> 28468: # 40 "/usr/include/c++/9/limits" 3
> 28468:        
> 28468: # 41 "/usr/include/c++/9/limits" 3
> 28468: # 158 "/usr/include/c++/9/limits" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   enum float_round_style
> 28468:   {
> 28468:     round_indeterminate = -1,
> 28468:     round_toward_zero = 0,
> 28468:     round_to_nearest = 1,
> 28468:     round_toward_infinity = 2,
> 28468:     round_toward_neg_infinity = 3
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   enum float_denorm_style
> 28468:   {
> 28468: 
> 28468:     denorm_indeterminate = -1,
> 28468: 
> 28468:     denorm_absent = 0,
> 28468: 
> 28468:     denorm_present = 1
> 28468:   };
> 28468: # 202 "/usr/include/c++/9/limits" 3
> 28468:   struct __numeric_limits_base
> 28468:   {
> 28468: 
> 28468: 
> 28468:     static constexpr bool is_specialized = false;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr int digits = 0;
> 28468: 
> 28468: 
> 28468:     static constexpr int digits10 = 0;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr int max_digits10 = 0;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr bool is_signed = false;
> 28468: 
> 28468: 
> 28468:     static constexpr bool is_integer = false;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr bool is_exact = false;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr int radix = 0;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr int min_exponent = 0;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr int min_exponent10 = 0;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr int max_exponent = 0;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr int max_exponent10 = 0;
> 28468: 
> 28468: 
> 28468:     static constexpr bool has_infinity = false;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr bool has_quiet_NaN = false;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr bool has_signaling_NaN = false;
> 28468: 
> 28468: 
> 28468:     static constexpr float_denorm_style has_denorm = denorm_absent;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr bool is_iec559 = false;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr bool is_bounded = false;
> 28468: # 288 "/usr/include/c++/9/limits" 3
> 28468:     static constexpr bool is_modulo = false;
> 28468: 
> 28468: 
> 28468:     static constexpr bool traps = false;
> 28468: 
> 28468: 
> 28468:     static constexpr bool tinyness_before = false;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     static constexpr float_round_style round_style =
> 28468:           round_toward_zero;
> 28468:   };
> 28468: # 311 "/usr/include/c++/9/limits" 3
> 28468:   template<typename _Tp>
> 28468:     struct numeric_limits : public __numeric_limits_base
> 28468:     {
> 28468: 
> 28468: 
> 28468:       static constexpr _Tp
> 28468:       min() noexcept { return _Tp(); }
> 28468: 
> 28468: 
> 28468:       static constexpr _Tp
> 28468:       max() noexcept { return _Tp(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       static constexpr _Tp
> 28468:       lowest() noexcept { return _Tp(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       static constexpr _Tp
> 28468:       epsilon() noexcept { return _Tp(); }
> 28468: 
> 28468: 
> 28468:       static constexpr _Tp
> 28468:       round_error() noexcept { return _Tp(); }
> 28468: 
> 28468: 
> 28468:       static constexpr _Tp
> 28468:       infinity() noexcept { return _Tp(); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       static constexpr _Tp
> 28468:       quiet_NaN() noexcept { return _Tp(); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       static constexpr _Tp
> 28468:       signaling_NaN() noexcept { return _Tp(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       static constexpr _Tp
> 28468:       denorm_min() noexcept { return _Tp(); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct numeric_limits<const _Tp>
> 28468:     : public numeric_limits<_Tp> { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct numeric_limits<volatile _Tp>
> 28468:     : public numeric_limits<_Tp> { };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct numeric_limits<const volatile _Tp>
> 28468:     : public numeric_limits<_Tp> { };
> 28468: # 383 "/usr/include/c++/9/limits" 3
> 28468:   template<>
> 28468:     struct numeric_limits<bool>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr bool
> 28468:       min() noexcept { return false; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       max() noexcept { return true; }
> 28468: 
> 28468: 
> 28468:       static constexpr bool
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468:       static constexpr int digits = 1;
> 28468:       static constexpr int digits10 = 0;
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = false;
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr bool
> 28468:       epsilon() noexcept { return false; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       round_error() noexcept { return false; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr bool
> 28468:       infinity() noexcept { return false; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       quiet_NaN() noexcept { return false; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       signaling_NaN() noexcept { return false; }
> 28468: 
> 28468:       static constexpr bool
> 28468:       denorm_min() noexcept { return false; }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = false;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<char>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr char
> 28468:       min() noexcept { return (((char)(-1) < 0) ? -(((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0) - 1 : (char)0); }
> 28468: 
> 28468:       static constexpr char
> 28468:       max() noexcept { return (((char)(-1) < 0) ? (((((char)1 << ((sizeof(char) * 8 - ((char)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char)0); }
> 28468: 
> 28468: 
> 28468:       static constexpr char
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits = (sizeof(char) * 8 - ((char)(-1) < 0));
> 28468:       static constexpr int digits10 = ((sizeof(char) * 8 - ((char)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = ((char)(-1) < 0);
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr char
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr char
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr
> 28468:       char infinity() noexcept { return char(); }
> 28468: 
> 28468:       static constexpr char
> 28468:       quiet_NaN() noexcept { return char(); }
> 28468: 
> 28468:       static constexpr char
> 28468:       signaling_NaN() noexcept { return char(); }
> 28468: 
> 28468:       static constexpr char
> 28468:       denorm_min() noexcept { return static_cast<char>(0); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = !is_signed;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<signed char>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr signed char
> 28468:       min() noexcept { return -0x7f - 1; }
> 28468: 
> 28468:       static constexpr signed char
> 28468:       max() noexcept { return 0x7f; }
> 28468: 
> 28468: 
> 28468:       static constexpr signed char
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits = (sizeof(signed char) * 8 - ((signed char)(-1) < 0));
> 28468:       static constexpr int digits10
> 28468:        = ((sizeof(signed char) * 8 - ((signed char)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = true;
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr signed char
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr signed char
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr signed char
> 28468:       infinity() noexcept { return static_cast<signed char>(0); }
> 28468: 
> 28468:       static constexpr signed char
> 28468:       quiet_NaN() noexcept { return static_cast<signed char>(0); }
> 28468: 
> 28468:       static constexpr signed char
> 28468:       signaling_NaN() noexcept
> 28468:       { return static_cast<signed char>(0); }
> 28468: 
> 28468:       static constexpr signed char
> 28468:       denorm_min() noexcept
> 28468:       { return static_cast<signed char>(0); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = false;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<unsigned char>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr unsigned char
> 28468:       min() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr unsigned char
> 28468:       max() noexcept { return 0x7f * 2U + 1; }
> 28468: 
> 28468: 
> 28468:       static constexpr unsigned char
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits
> 28468:        = (sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0));
> 28468:       static constexpr int digits10
> 28468:        = ((sizeof(unsigned char) * 8 - ((unsigned char)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = false;
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr unsigned char
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr unsigned char
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr unsigned char
> 28468:       infinity() noexcept
> 28468:       { return static_cast<unsigned char>(0); }
> 28468: 
> 28468:       static constexpr unsigned char
> 28468:       quiet_NaN() noexcept
> 28468:       { return static_cast<unsigned char>(0); }
> 28468: 
> 28468:       static constexpr unsigned char
> 28468:       signaling_NaN() noexcept
> 28468:       { return static_cast<unsigned char>(0); }
> 28468: 
> 28468:       static constexpr unsigned char
> 28468:       denorm_min() noexcept
> 28468:       { return static_cast<unsigned char>(0); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = true;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<wchar_t>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr wchar_t
> 28468:       min() noexcept { return (((wchar_t)(-1) < 0) ? -(((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0) - 1 : (wchar_t)0); }
> 28468: 
> 28468:       static constexpr wchar_t
> 28468:       max() noexcept { return (((wchar_t)(-1) < 0) ? (((((wchar_t)1 << ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(wchar_t)0); }
> 28468: 
> 28468: 
> 28468:       static constexpr wchar_t
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits = (sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0));
> 28468:       static constexpr int digits10
> 28468:        = ((sizeof(wchar_t) * 8 - ((wchar_t)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = ((wchar_t)(-1) < 0);
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr wchar_t
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr wchar_t
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr wchar_t
> 28468:       infinity() noexcept { return wchar_t(); }
> 28468: 
> 28468:       static constexpr wchar_t
> 28468:       quiet_NaN() noexcept { return wchar_t(); }
> 28468: 
> 28468:       static constexpr wchar_t
> 28468:       signaling_NaN() noexcept { return wchar_t(); }
> 28468: 
> 28468:       static constexpr wchar_t
> 28468:       denorm_min() noexcept { return wchar_t(); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = !is_signed;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: # 796 "/usr/include/c++/9/limits" 3
> 28468:   template<>
> 28468:     struct numeric_limits<char16_t>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr char16_t
> 28468:       min() noexcept { return (((char16_t)(-1) < 0) ? -(((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0) - 1 : (char16_t)0); }
> 28468: 
> 28468:       static constexpr char16_t
> 28468:       max() noexcept { return (((char16_t)(-1) < 0) ? (((((char16_t)1 << ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char16_t)0); }
> 28468: 
> 28468:       static constexpr char16_t
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468:       static constexpr int digits = (sizeof(char16_t) * 8 - ((char16_t)(-1) < 0));
> 28468:       static constexpr int digits10 = ((sizeof(char16_t) * 8 - ((char16_t)(-1) < 0)) * 643L / 2136);
> 28468:       static constexpr int max_digits10 = 0;
> 28468:       static constexpr bool is_signed = ((char16_t)(-1) < 0);
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr char16_t
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr char16_t
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr char16_t
> 28468:       infinity() noexcept { return char16_t(); }
> 28468: 
> 28468:       static constexpr char16_t
> 28468:       quiet_NaN() noexcept { return char16_t(); }
> 28468: 
> 28468:       static constexpr char16_t
> 28468:       signaling_NaN() noexcept { return char16_t(); }
> 28468: 
> 28468:       static constexpr char16_t
> 28468:       denorm_min() noexcept { return char16_t(); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = !is_signed;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<char32_t>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr char32_t
> 28468:       min() noexcept { return (((char32_t)(-1) < 0) ? -(((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0) - 1 : (char32_t)0); }
> 28468: 
> 28468:       static constexpr char32_t
> 28468:       max() noexcept { return (((char32_t)(-1) < 0) ? (((((char32_t)1 << ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(char32_t)0); }
> 28468: 
> 28468:       static constexpr char32_t
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468:       static constexpr int digits = (sizeof(char32_t) * 8 - ((char32_t)(-1) < 0));
> 28468:       static constexpr int digits10 = ((sizeof(char32_t) * 8 - ((char32_t)(-1) < 0)) * 643L / 2136);
> 28468:       static constexpr int max_digits10 = 0;
> 28468:       static constexpr bool is_signed = ((char32_t)(-1) < 0);
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr char32_t
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr char32_t
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr char32_t
> 28468:       infinity() noexcept { return char32_t(); }
> 28468: 
> 28468:       static constexpr char32_t
> 28468:       quiet_NaN() noexcept { return char32_t(); }
> 28468: 
> 28468:       static constexpr char32_t
> 28468:       signaling_NaN() noexcept { return char32_t(); }
> 28468: 
> 28468:       static constexpr char32_t
> 28468:       denorm_min() noexcept { return char32_t(); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = !is_signed;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<short>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr short
> 28468:       min() noexcept { return -0x7fff - 1; }
> 28468: 
> 28468:       static constexpr short
> 28468:       max() noexcept { return 0x7fff; }
> 28468: 
> 28468: 
> 28468:       static constexpr short
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits = (sizeof(short) * 8 - ((short)(-1) < 0));
> 28468:       static constexpr int digits10 = ((sizeof(short) * 8 - ((short)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = true;
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr short
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr short
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr short
> 28468:       infinity() noexcept { return short(); }
> 28468: 
> 28468:       static constexpr short
> 28468:       quiet_NaN() noexcept { return short(); }
> 28468: 
> 28468:       static constexpr short
> 28468:       signaling_NaN() noexcept { return short(); }
> 28468: 
> 28468:       static constexpr short
> 28468:       denorm_min() noexcept { return short(); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = false;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<unsigned short>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr unsigned short
> 28468:       min() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr unsigned short
> 28468:       max() noexcept { return 0x7fff * 2U + 1; }
> 28468: 
> 28468: 
> 28468:       static constexpr unsigned short
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits
> 28468:        = (sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0));
> 28468:       static constexpr int digits10
> 28468:        = ((sizeof(unsigned short) * 8 - ((unsigned short)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = false;
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr unsigned short
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr unsigned short
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr unsigned short
> 28468:       infinity() noexcept
> 28468:       { return static_cast<unsigned short>(0); }
> 28468: 
> 28468:       static constexpr unsigned short
> 28468:       quiet_NaN() noexcept
> 28468:       { return static_cast<unsigned short>(0); }
> 28468: 
> 28468:       static constexpr unsigned short
> 28468:       signaling_NaN() noexcept
> 28468:       { return static_cast<unsigned short>(0); }
> 28468: 
> 28468:       static constexpr unsigned short
> 28468:       denorm_min() noexcept
> 28468:       { return static_cast<unsigned short>(0); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = true;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<int>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr int
> 28468:       min() noexcept { return -0x7fffffff - 1; }
> 28468: 
> 28468:       static constexpr int
> 28468:       max() noexcept { return 0x7fffffff; }
> 28468: 
> 28468: 
> 28468:       static constexpr int
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits = (sizeof(int) * 8 - ((int)(-1) < 0));
> 28468:       static constexpr int digits10 = ((sizeof(int) * 8 - ((int)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = true;
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr int
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr int
> 28468:       infinity() noexcept { return static_cast<int>(0); }
> 28468: 
> 28468:       static constexpr int
> 28468:       quiet_NaN() noexcept { return static_cast<int>(0); }
> 28468: 
> 28468:       static constexpr int
> 28468:       signaling_NaN() noexcept { return static_cast<int>(0); }
> 28468: 
> 28468:       static constexpr int
> 28468:       denorm_min() noexcept { return static_cast<int>(0); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = false;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<unsigned int>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr unsigned int
> 28468:       min() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr unsigned int
> 28468:       max() noexcept { return 0x7fffffff * 2U + 1; }
> 28468: 
> 28468: 
> 28468:       static constexpr unsigned int
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits
> 28468:        = (sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0));
> 28468:       static constexpr int digits10
> 28468:        = ((sizeof(unsigned int) * 8 - ((unsigned int)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = false;
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr unsigned int
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr unsigned int
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr unsigned int
> 28468:       infinity() noexcept { return static_cast<unsigned int>(0); }
> 28468: 
> 28468:       static constexpr unsigned int
> 28468:       quiet_NaN() noexcept
> 28468:       { return static_cast<unsigned int>(0); }
> 28468: 
> 28468:       static constexpr unsigned int
> 28468:       signaling_NaN() noexcept
> 28468:       { return static_cast<unsigned int>(0); }
> 28468: 
> 28468:       static constexpr unsigned int
> 28468:       denorm_min() noexcept
> 28468:       { return static_cast<unsigned int>(0); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = true;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<long>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr long
> 28468:       min() noexcept { return -0x7fffffffffffffffL - 1; }
> 28468: 
> 28468:       static constexpr long
> 28468:       max() noexcept { return 0x7fffffffffffffffL; }
> 28468: 
> 28468: 
> 28468:       static constexpr long
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits = (sizeof(long) * 8 - ((long)(-1) < 0));
> 28468:       static constexpr int digits10 = ((sizeof(long) * 8 - ((long)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = true;
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr long
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr long
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr long
> 28468:       infinity() noexcept { return static_cast<long>(0); }
> 28468: 
> 28468:       static constexpr long
> 28468:       quiet_NaN() noexcept { return static_cast<long>(0); }
> 28468: 
> 28468:       static constexpr long
> 28468:       signaling_NaN() noexcept { return static_cast<long>(0); }
> 28468: 
> 28468:       static constexpr long
> 28468:       denorm_min() noexcept { return static_cast<long>(0); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = false;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<unsigned long>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr unsigned long
> 28468:       min() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr unsigned long
> 28468:       max() noexcept { return 0x7fffffffffffffffL * 2UL + 1; }
> 28468: 
> 28468: 
> 28468:       static constexpr unsigned long
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits
> 28468:        = (sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0));
> 28468:       static constexpr int digits10
> 28468:        = ((sizeof(unsigned long) * 8 - ((unsigned long)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = false;
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr unsigned long
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr unsigned long
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr unsigned long
> 28468:       infinity() noexcept
> 28468:       { return static_cast<unsigned long>(0); }
> 28468: 
> 28468:       static constexpr unsigned long
> 28468:       quiet_NaN() noexcept
> 28468:       { return static_cast<unsigned long>(0); }
> 28468: 
> 28468:       static constexpr unsigned long
> 28468:       signaling_NaN() noexcept
> 28468:       { return static_cast<unsigned long>(0); }
> 28468: 
> 28468:       static constexpr unsigned long
> 28468:       denorm_min() noexcept
> 28468:       { return static_cast<unsigned long>(0); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = true;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<long long>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr long long
> 28468:       min() noexcept { return -0x7fffffffffffffffLL - 1; }
> 28468: 
> 28468:       static constexpr long long
> 28468:       max() noexcept { return 0x7fffffffffffffffLL; }
> 28468: 
> 28468: 
> 28468:       static constexpr long long
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits
> 28468:        = (sizeof(long long) * 8 - ((long long)(-1) < 0));
> 28468:       static constexpr int digits10
> 28468:        = ((sizeof(long long) * 8 - ((long long)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = true;
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr long long
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr long long
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr long long
> 28468:       infinity() noexcept { return static_cast<long long>(0); }
> 28468: 
> 28468:       static constexpr long long
> 28468:       quiet_NaN() noexcept { return static_cast<long long>(0); }
> 28468: 
> 28468:       static constexpr long long
> 28468:       signaling_NaN() noexcept
> 28468:       { return static_cast<long long>(0); }
> 28468: 
> 28468:       static constexpr long long
> 28468:       denorm_min() noexcept { return static_cast<long long>(0); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = false;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<unsigned long long>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr unsigned long long
> 28468:       min() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr unsigned long long
> 28468:       max() noexcept { return 0x7fffffffffffffffLL * 2ULL + 1; }
> 28468: 
> 28468: 
> 28468:       static constexpr unsigned long long
> 28468:       lowest() noexcept { return min(); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits
> 28468:        = (sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0));
> 28468:       static constexpr int digits10
> 28468:        = ((sizeof(unsigned long long) * 8 - ((unsigned long long)(-1) < 0)) * 643L / 2136);
> 28468: 
> 28468:       static constexpr int max_digits10 = 0;
> 28468: 
> 28468:       static constexpr bool is_signed = false;
> 28468:       static constexpr bool is_integer = true;
> 28468:       static constexpr bool is_exact = true;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr unsigned long long
> 28468:       epsilon() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr unsigned long long
> 28468:       round_error() noexcept { return 0; }
> 28468: 
> 28468:       static constexpr int min_exponent = 0;
> 28468:       static constexpr int min_exponent10 = 0;
> 28468:       static constexpr int max_exponent = 0;
> 28468:       static constexpr int max_exponent10 = 0;
> 28468: 
> 28468:       static constexpr bool has_infinity = false;
> 28468:       static constexpr bool has_quiet_NaN = false;
> 28468:       static constexpr bool has_signaling_NaN = false;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:        = denorm_absent;
> 28468:       static constexpr bool has_denorm_loss = false;
> 28468: 
> 28468:       static constexpr unsigned long long
> 28468:       infinity() noexcept
> 28468:       { return static_cast<unsigned long long>(0); }
> 28468: 
> 28468:       static constexpr unsigned long long
> 28468:       quiet_NaN() noexcept
> 28468:       { return static_cast<unsigned long long>(0); }
> 28468: 
> 28468:       static constexpr unsigned long long
> 28468:       signaling_NaN() noexcept
> 28468:       { return static_cast<unsigned long long>(0); }
> 28468: 
> 28468:       static constexpr unsigned long long
> 28468:       denorm_min() noexcept
> 28468:       { return static_cast<unsigned long long>(0); }
> 28468: 
> 28468:       static constexpr bool is_iec559 = false;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = true;
> 28468: 
> 28468:       static constexpr bool traps = true;
> 28468:       static constexpr bool tinyness_before = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_toward_zero;
> 28468:     };
> 28468: # 1659 "/usr/include/c++/9/limits" 3
> 28468:   template<>
> 28468:     struct numeric_limits<float>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr float
> 28468:       min() noexcept { return 1.17549435082228750796873653722224568e-38F; }
> 28468: 
> 28468:       static constexpr float
> 28468:       max() noexcept { return 3.40282346638528859811704183484516925e+38F; }
> 28468: 
> 28468: 
> 28468:       static constexpr float
> 28468:       lowest() noexcept { return -3.40282346638528859811704183484516925e+38F; }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits = 24;
> 28468:       static constexpr int digits10 = 6;
> 28468: 
> 28468:       static constexpr int max_digits10
> 28468:   = (2 + (24) * 643L / 2136);
> 28468: 
> 28468:       static constexpr bool is_signed = true;
> 28468:       static constexpr bool is_integer = false;
> 28468:       static constexpr bool is_exact = false;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr float
> 28468:       epsilon() noexcept { return 1.19209289550781250000000000000000000e-7F; }
> 28468: 
> 28468:       static constexpr float
> 28468:       round_error() noexcept { return 0.5F; }
> 28468: 
> 28468:       static constexpr int min_exponent = (-125);
> 28468:       static constexpr int min_exponent10 = (-37);
> 28468:       static constexpr int max_exponent = 128;
> 28468:       static constexpr int max_exponent10 = 38;
> 28468: 
> 28468:       static constexpr bool has_infinity = 1;
> 28468:       static constexpr bool has_quiet_NaN = 1;
> 28468:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:  = bool(1) ? denorm_present : denorm_absent;
> 28468:       static constexpr bool has_denorm_loss
> 28468:        = false;
> 28468: 
> 28468:       static constexpr float
> 28468:       infinity() noexcept { return __builtin_huge_valf(); }
> 28468: 
> 28468:       static constexpr float
> 28468:       quiet_NaN() noexcept { return __builtin_nanf(""); }
> 28468: 
> 28468:       static constexpr float
> 28468:       signaling_NaN() noexcept { return __builtin_nansf(""); }
> 28468: 
> 28468:       static constexpr float
> 28468:       denorm_min() noexcept { return 1.40129846432481707092372958328991613e-45F; }
> 28468: 
> 28468:       static constexpr bool is_iec559
> 28468:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = false;
> 28468: 
> 28468:       static constexpr bool traps = false;
> 28468:       static constexpr bool tinyness_before
> 28468:        = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_to_nearest;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<double>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr double
> 28468:       min() noexcept { return double(2.22507385850720138309023271733240406e-308L); }
> 28468: 
> 28468:       static constexpr double
> 28468:       max() noexcept { return double(1.79769313486231570814527423731704357e+308L); }
> 28468: 
> 28468: 
> 28468:       static constexpr double
> 28468:       lowest() noexcept { return -double(1.79769313486231570814527423731704357e+308L); }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits = 53;
> 28468:       static constexpr int digits10 = 15;
> 28468: 
> 28468:       static constexpr int max_digits10
> 28468:   = (2 + (53) * 643L / 2136);
> 28468: 
> 28468:       static constexpr bool is_signed = true;
> 28468:       static constexpr bool is_integer = false;
> 28468:       static constexpr bool is_exact = false;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr double
> 28468:       epsilon() noexcept { return double(2.22044604925031308084726333618164062e-16L); }
> 28468: 
> 28468:       static constexpr double
> 28468:       round_error() noexcept { return 0.5; }
> 28468: 
> 28468:       static constexpr int min_exponent = (-1021);
> 28468:       static constexpr int min_exponent10 = (-307);
> 28468:       static constexpr int max_exponent = 1024;
> 28468:       static constexpr int max_exponent10 = 308;
> 28468: 
> 28468:       static constexpr bool has_infinity = 1;
> 28468:       static constexpr bool has_quiet_NaN = 1;
> 28468:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:  = bool(1) ? denorm_present : denorm_absent;
> 28468:       static constexpr bool has_denorm_loss
> 28468:         = false;
> 28468: 
> 28468:       static constexpr double
> 28468:       infinity() noexcept { return __builtin_huge_val(); }
> 28468: 
> 28468:       static constexpr double
> 28468:       quiet_NaN() noexcept { return __builtin_nan(""); }
> 28468: 
> 28468:       static constexpr double
> 28468:       signaling_NaN() noexcept { return __builtin_nans(""); }
> 28468: 
> 28468:       static constexpr double
> 28468:       denorm_min() noexcept { return double(4.94065645841246544176568792868221372e-324L); }
> 28468: 
> 28468:       static constexpr bool is_iec559
> 28468:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = false;
> 28468: 
> 28468:       static constexpr bool traps = false;
> 28468:       static constexpr bool tinyness_before
> 28468:        = false;
> 28468:       static constexpr float_round_style round_style
> 28468:        = round_to_nearest;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     struct numeric_limits<long double>
> 28468:     {
> 28468:       static constexpr bool is_specialized = true;
> 28468: 
> 28468:       static constexpr long double
> 28468:       min() noexcept { return 3.36210314311209350626267781732175260e-4932L; }
> 28468: 
> 28468:       static constexpr long double
> 28468:       max() noexcept { return 1.18973149535723176502126385303097021e+4932L; }
> 28468: 
> 28468: 
> 28468:       static constexpr long double
> 28468:       lowest() noexcept { return -1.18973149535723176502126385303097021e+4932L; }
> 28468: 
> 28468: 
> 28468:       static constexpr int digits = 64;
> 28468:       static constexpr int digits10 = 18;
> 28468: 
> 28468:       static constexpr int max_digits10
> 28468:   = (2 + (64) * 643L / 2136);
> 28468: 
> 28468:       static constexpr bool is_signed = true;
> 28468:       static constexpr bool is_integer = false;
> 28468:       static constexpr bool is_exact = false;
> 28468:       static constexpr int radix = 2;
> 28468: 
> 28468:       static constexpr long double
> 28468:       epsilon() noexcept { return 1.08420217248550443400745280086994171e-19L; }
> 28468: 
> 28468:       static constexpr long double
> 28468:       round_error() noexcept { return 0.5L; }
> 28468: 
> 28468:       static constexpr int min_exponent = (-16381);
> 28468:       static constexpr int min_exponent10 = (-4931);
> 28468:       static constexpr int max_exponent = 16384;
> 28468:       static constexpr int max_exponent10 = 4932;
> 28468: 
> 28468:       static constexpr bool has_infinity = 1;
> 28468:       static constexpr bool has_quiet_NaN = 1;
> 28468:       static constexpr bool has_signaling_NaN = has_quiet_NaN;
> 28468:       static constexpr float_denorm_style has_denorm
> 28468:  = bool(1) ? denorm_present : denorm_absent;
> 28468:       static constexpr bool has_denorm_loss
> 28468:  = false;
> 28468: 
> 28468:       static constexpr long double
> 28468:       infinity() noexcept { return __builtin_huge_vall(); }
> 28468: 
> 28468:       static constexpr long double
> 28468:       quiet_NaN() noexcept { return __builtin_nanl(""); }
> 28468: 
> 28468:       static constexpr long double
> 28468:       signaling_NaN() noexcept { return __builtin_nansl(""); }
> 28468: 
> 28468:       static constexpr long double
> 28468:       denorm_min() noexcept { return 3.64519953188247460252840593361941982e-4951L; }
> 28468: 
> 28468:       static constexpr bool is_iec559
> 28468:  = has_infinity && has_quiet_NaN && has_denorm == denorm_present;
> 28468:       static constexpr bool is_bounded = true;
> 28468:       static constexpr bool is_modulo = false;
> 28468: 
> 28468:       static constexpr bool traps = false;
> 28468:       static constexpr bool tinyness_before =
> 28468:       false;
> 28468:       static constexpr float_round_style round_style =
> 28468:             round_to_nearest;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 25 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h" 2
> 28468: # 1 "/usr/include/c++/9/sstream" 1 3
> 28468: # 36 "/usr/include/c++/9/sstream" 3
> 28468:        
> 28468: # 37 "/usr/include/c++/9/sstream" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: namespace __cxx11 {
> 28468: # 64 "/usr/include/c++/9/sstream" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     class basic_stringbuf : public basic_streambuf<_CharT, _Traits>
> 28468:     {
> 28468:       struct __xfer_bufptrs;
> 28468:     public:
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _Traits traits_type;
> 28468: 
> 28468: 
> 28468:       typedef _Alloc allocator_type;
> 28468:       typedef typename traits_type::int_type int_type;
> 28468:       typedef typename traits_type::pos_type pos_type;
> 28468:       typedef typename traits_type::off_type off_type;
> 28468: 
> 28468:       typedef basic_streambuf<char_type, traits_type> __streambuf_type;
> 28468:       typedef basic_string<char_type, _Traits, _Alloc> __string_type;
> 28468:       typedef typename __string_type::size_type __size_type;
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       ios_base::openmode _M_mode;
> 28468: 
> 28468: 
> 28468:       __string_type _M_string;
> 28468: 
> 28468:     public:
> 28468: # 99 "/usr/include/c++/9/sstream" 3
> 28468:       basic_stringbuf()
> 28468:       : __streambuf_type(), _M_mode(ios_base::in | ios_base::out), _M_string()
> 28468:       { }
> 28468: # 110 "/usr/include/c++/9/sstream" 3
> 28468:       explicit
> 28468:       basic_stringbuf(ios_base::openmode __mode)
> 28468:       : __streambuf_type(), _M_mode(__mode), _M_string()
> 28468:       { }
> 28468: # 123 "/usr/include/c++/9/sstream" 3
> 28468:       explicit
> 28468:       basic_stringbuf(const __string_type& __str,
> 28468:         ios_base::openmode __mode = ios_base::in | ios_base::out)
> 28468:       : __streambuf_type(), _M_mode(),
> 28468:  _M_string(__str.data(), __str.size(), __str.get_allocator())
> 28468:       { _M_stringbuf_init(__mode); }
> 28468: 
> 28468: 
> 28468:       basic_stringbuf(const basic_stringbuf&) = delete;
> 28468: 
> 28468:       basic_stringbuf(basic_stringbuf&& __rhs)
> 28468:       : basic_stringbuf(std::move(__rhs), __xfer_bufptrs(__rhs, this))
> 28468:       { __rhs._M_sync(const_cast<char_type*>(__rhs._M_string.data()), 0, 0); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_stringbuf&
> 28468:       operator=(const basic_stringbuf&) = delete;
> 28468: 
> 28468:       basic_stringbuf&
> 28468:       operator=(basic_stringbuf&& __rhs)
> 28468:       {
> 28468:  __xfer_bufptrs __st{__rhs, this};
> 28468:  const __streambuf_type& __base = __rhs;
> 28468:  __streambuf_type::operator=(__base);
> 28468:  this->pubimbue(__rhs.getloc());
> 28468:  _M_mode = __rhs._M_mode;
> 28468:  _M_string = std::move(__rhs._M_string);
> 28468:  __rhs._M_sync(const_cast<char_type*>(__rhs._M_string.data()), 0, 0);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       swap(basic_stringbuf& __rhs)
> 28468:       {
> 28468:  __xfer_bufptrs __l_st{*this, std::__addressof(__rhs)};
> 28468:  __xfer_bufptrs __r_st{__rhs, this};
> 28468:  __streambuf_type& __base = __rhs;
> 28468:  __streambuf_type::swap(__base);
> 28468:  __rhs.pubimbue(this->pubimbue(__rhs.getloc()));
> 28468:  std::swap(_M_mode, __rhs._M_mode);
> 28468:  std::swap(_M_string, __rhs._M_string);
> 28468:       }
> 28468: # 177 "/usr/include/c++/9/sstream" 3
> 28468:       __string_type
> 28468:       str() const
> 28468:       {
> 28468:  __string_type __ret(_M_string.get_allocator());
> 28468:  if (this->pptr())
> 28468:    {
> 28468: 
> 28468:      if (this->pptr() > this->egptr())
> 28468:        __ret.assign(this->pbase(), this->pptr());
> 28468:      else
> 28468:        __ret.assign(this->pbase(), this->egptr());
> 28468:    }
> 28468:  else
> 28468:    __ret = _M_string;
> 28468:  return __ret;
> 28468:       }
> 28468: # 201 "/usr/include/c++/9/sstream" 3
> 28468:       void
> 28468:       str(const __string_type& __s)
> 28468:       {
> 28468: 
> 28468: 
> 28468:  _M_string.assign(__s.data(), __s.size());
> 28468:  _M_stringbuf_init(_M_mode);
> 28468:       }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       void
> 28468:       _M_stringbuf_init(ios_base::openmode __mode)
> 28468:       {
> 28468:  _M_mode = __mode;
> 28468:  __size_type __len = 0;
> 28468:  if (_M_mode & (ios_base::ate | ios_base::app))
> 28468:    __len = _M_string.size();
> 28468:  _M_sync(const_cast<char_type*>(_M_string.data()), 0, __len);
> 28468:       }
> 28468: 
> 28468:       virtual streamsize
> 28468:       showmanyc()
> 28468:       {
> 28468:  streamsize __ret = -1;
> 28468:  if (_M_mode & ios_base::in)
> 28468:    {
> 28468:      _M_update_egptr();
> 28468:      __ret = this->egptr() - this->gptr();
> 28468:    }
> 28468:  return __ret;
> 28468:       }
> 28468: 
> 28468:       virtual int_type
> 28468:       underflow();
> 28468: 
> 28468:       virtual int_type
> 28468:       pbackfail(int_type __c = traits_type::eof());
> 28468: 
> 28468:       virtual int_type
> 28468:       overflow(int_type __c = traits_type::eof());
> 28468: # 254 "/usr/include/c++/9/sstream" 3
> 28468:       virtual __streambuf_type*
> 28468:       setbuf(char_type* __s, streamsize __n)
> 28468:       {
> 28468:  if (__s && __n >= 0)
> 28468:    {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:      _M_string.clear();
> 28468: 
> 28468: 
> 28468:      _M_sync(__s, __n, 0);
> 28468:    }
> 28468:  return this;
> 28468:       }
> 28468: 
> 28468:       virtual pos_type
> 28468:       seekoff(off_type __off, ios_base::seekdir __way,
> 28468:        ios_base::openmode __mode = ios_base::in | ios_base::out);
> 28468: 
> 28468:       virtual pos_type
> 28468:       seekpos(pos_type __sp,
> 28468:        ios_base::openmode __mode = ios_base::in | ios_base::out);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_sync(char_type* __base, __size_type __i, __size_type __o);
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_update_egptr()
> 28468:       {
> 28468:  const bool __testin = _M_mode & ios_base::in;
> 28468:  if (this->pptr() && this->pptr() > this->egptr())
> 28468:    {
> 28468:      if (__testin)
> 28468:        this->setg(this->eback(), this->gptr(), this->pptr());
> 28468:      else
> 28468:        this->setg(this->pptr(), this->pptr(), this->pptr());
> 28468:    }
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off);
> 28468: 
> 28468:     private:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       struct __xfer_bufptrs
> 28468:       {
> 28468:  __xfer_bufptrs(const basic_stringbuf& __from, basic_stringbuf* __to)
> 28468:  : _M_to{__to}, _M_goff{-1, -1, -1}, _M_poff{-1, -1, -1}
> 28468:  {
> 28468:    const _CharT* const __str = __from._M_string.data();
> 28468:    const _CharT* __end = nullptr;
> 28468:    if (__from.eback())
> 28468:      {
> 28468:        _M_goff[0] = __from.eback() - __str;
> 28468:        _M_goff[1] = __from.gptr() - __str;
> 28468:        _M_goff[2] = __from.egptr() - __str;
> 28468:        __end = __from.egptr();
> 28468:      }
> 28468:    if (__from.pbase())
> 28468:      {
> 28468:        _M_poff[0] = __from.pbase() - __str;
> 28468:        _M_poff[1] = __from.pptr() - __from.pbase();
> 28468:        _M_poff[2] = __from.epptr() - __str;
> 28468:        if (__from.pptr() > __end)
> 28468:   __end = __from.pptr();
> 28468:      }
> 28468: 
> 28468: 
> 28468:    if (__end)
> 28468:      {
> 28468: 
> 28468: 
> 28468:        auto& __mut_from = const_cast<basic_stringbuf&>(__from);
> 28468:        __mut_from._M_string._M_length(__end - __str);
> 28468:      }
> 28468:  }
> 28468: 
> 28468:  ~__xfer_bufptrs()
> 28468:  {
> 28468:    char_type* __str = const_cast<char_type*>(_M_to->_M_string.data());
> 28468:    if (_M_goff[0] != -1)
> 28468:      _M_to->setg(__str+_M_goff[0], __str+_M_goff[1], __str+_M_goff[2]);
> 28468:    if (_M_poff[0] != -1)
> 28468:      _M_to->_M_pbump(__str+_M_poff[0], __str+_M_poff[2], _M_poff[1]);
> 28468:  }
> 28468: 
> 28468:  basic_stringbuf* _M_to;
> 28468:  off_type _M_goff[3];
> 28468:  off_type _M_poff[3];
> 28468:       };
> 28468: # 368 "/usr/include/c++/9/sstream" 3
> 28468:       basic_stringbuf(basic_stringbuf&& __rhs, __xfer_bufptrs&&)
> 28468:       : __streambuf_type(static_cast<const __streambuf_type&>(__rhs)),
> 28468:       _M_mode(__rhs._M_mode), _M_string(std::move(__rhs._M_string))
> 28468:       { }
> 28468: 
> 28468:     };
> 28468: # 391 "/usr/include/c++/9/sstream" 3
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc>
> 28468:     class basic_istringstream : public basic_istream<_CharT, _Traits>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _Traits traits_type;
> 28468: 
> 28468: 
> 28468:       typedef _Alloc allocator_type;
> 28468:       typedef typename traits_type::int_type int_type;
> 28468:       typedef typename traits_type::pos_type pos_type;
> 28468:       typedef typename traits_type::off_type off_type;
> 28468: 
> 28468: 
> 28468:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
> 28468:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
> 28468:       typedef basic_istream<char_type, traits_type> __istream_type;
> 28468: 
> 28468:     private:
> 28468:       __stringbuf_type _M_stringbuf;
> 28468: 
> 28468:     public:
> 28468: # 425 "/usr/include/c++/9/sstream" 3
> 28468:       basic_istringstream()
> 28468:       : __istream_type(), _M_stringbuf(ios_base::in)
> 28468:       { this->init(&_M_stringbuf); }
> 28468: # 441 "/usr/include/c++/9/sstream" 3
> 28468:       explicit
> 28468:       basic_istringstream(ios_base::openmode __mode)
> 28468:       : __istream_type(), _M_stringbuf(__mode | ios_base::in)
> 28468:       { this->init(&_M_stringbuf); }
> 28468: # 459 "/usr/include/c++/9/sstream" 3
> 28468:       explicit
> 28468:       basic_istringstream(const __string_type& __str,
> 28468:      ios_base::openmode __mode = ios_base::in)
> 28468:       : __istream_type(), _M_stringbuf(__str, __mode | ios_base::in)
> 28468:       { this->init(&_M_stringbuf); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       ~basic_istringstream()
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       basic_istringstream(const basic_istringstream&) = delete;
> 28468: 
> 28468:       basic_istringstream(basic_istringstream&& __rhs)
> 28468:       : __istream_type(std::move(__rhs)),
> 28468:       _M_stringbuf(std::move(__rhs._M_stringbuf))
> 28468:       { __istream_type::set_rdbuf(&_M_stringbuf); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_istringstream&
> 28468:       operator=(const basic_istringstream&) = delete;
> 28468: 
> 28468:       basic_istringstream&
> 28468:       operator=(basic_istringstream&& __rhs)
> 28468:       {
> 28468:  __istream_type::operator=(std::move(__rhs));
> 28468:  _M_stringbuf = std::move(__rhs._M_stringbuf);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       swap(basic_istringstream& __rhs)
> 28468:       {
> 28468:  __istream_type::swap(__rhs);
> 28468:  _M_stringbuf.swap(__rhs._M_stringbuf);
> 28468:       }
> 28468: # 510 "/usr/include/c++/9/sstream" 3
> 28468:       __stringbuf_type*
> 28468:       rdbuf() const
> 28468:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       __string_type
> 28468:       str() const
> 28468:       { return _M_stringbuf.str(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       str(const __string_type& __s)
> 28468:       { _M_stringbuf.str(__s); }
> 28468:     };
> 28468: # 549 "/usr/include/c++/9/sstream" 3
> 28468:   template <typename _CharT, typename _Traits, typename _Alloc>
> 28468:     class basic_ostringstream : public basic_ostream<_CharT, _Traits>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _Traits traits_type;
> 28468: 
> 28468: 
> 28468:       typedef _Alloc allocator_type;
> 28468:       typedef typename traits_type::int_type int_type;
> 28468:       typedef typename traits_type::pos_type pos_type;
> 28468:       typedef typename traits_type::off_type off_type;
> 28468: 
> 28468: 
> 28468:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
> 28468:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
> 28468:       typedef basic_ostream<char_type, traits_type> __ostream_type;
> 28468: 
> 28468:     private:
> 28468:       __stringbuf_type _M_stringbuf;
> 28468: 
> 28468:     public:
> 28468: # 583 "/usr/include/c++/9/sstream" 3
> 28468:       basic_ostringstream()
> 28468:       : __ostream_type(), _M_stringbuf(ios_base::out)
> 28468:       { this->init(&_M_stringbuf); }
> 28468: # 599 "/usr/include/c++/9/sstream" 3
> 28468:       explicit
> 28468:       basic_ostringstream(ios_base::openmode __mode)
> 28468:       : __ostream_type(), _M_stringbuf(__mode | ios_base::out)
> 28468:       { this->init(&_M_stringbuf); }
> 28468: # 617 "/usr/include/c++/9/sstream" 3
> 28468:       explicit
> 28468:       basic_ostringstream(const __string_type& __str,
> 28468:      ios_base::openmode __mode = ios_base::out)
> 28468:       : __ostream_type(), _M_stringbuf(__str, __mode | ios_base::out)
> 28468:       { this->init(&_M_stringbuf); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       ~basic_ostringstream()
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       basic_ostringstream(const basic_ostringstream&) = delete;
> 28468: 
> 28468:       basic_ostringstream(basic_ostringstream&& __rhs)
> 28468:       : __ostream_type(std::move(__rhs)),
> 28468:       _M_stringbuf(std::move(__rhs._M_stringbuf))
> 28468:       { __ostream_type::set_rdbuf(&_M_stringbuf); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_ostringstream&
> 28468:       operator=(const basic_ostringstream&) = delete;
> 28468: 
> 28468:       basic_ostringstream&
> 28468:       operator=(basic_ostringstream&& __rhs)
> 28468:       {
> 28468:  __ostream_type::operator=(std::move(__rhs));
> 28468:  _M_stringbuf = std::move(__rhs._M_stringbuf);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       swap(basic_ostringstream& __rhs)
> 28468:       {
> 28468:  __ostream_type::swap(__rhs);
> 28468:  _M_stringbuf.swap(__rhs._M_stringbuf);
> 28468:       }
> 28468: # 668 "/usr/include/c++/9/sstream" 3
> 28468:       __stringbuf_type*
> 28468:       rdbuf() const
> 28468:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       __string_type
> 28468:       str() const
> 28468:       { return _M_stringbuf.str(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       str(const __string_type& __s)
> 28468:       { _M_stringbuf.str(__s); }
> 28468:     };
> 28468: # 707 "/usr/include/c++/9/sstream" 3
> 28468:   template <typename _CharT, typename _Traits, typename _Alloc>
> 28468:     class basic_stringstream : public basic_iostream<_CharT, _Traits>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _Traits traits_type;
> 28468: 
> 28468: 
> 28468:       typedef _Alloc allocator_type;
> 28468:       typedef typename traits_type::int_type int_type;
> 28468:       typedef typename traits_type::pos_type pos_type;
> 28468:       typedef typename traits_type::off_type off_type;
> 28468: 
> 28468: 
> 28468:       typedef basic_string<_CharT, _Traits, _Alloc> __string_type;
> 28468:       typedef basic_stringbuf<_CharT, _Traits, _Alloc> __stringbuf_type;
> 28468:       typedef basic_iostream<char_type, traits_type> __iostream_type;
> 28468: 
> 28468:     private:
> 28468:       __stringbuf_type _M_stringbuf;
> 28468: 
> 28468:     public:
> 28468: # 741 "/usr/include/c++/9/sstream" 3
> 28468:       basic_stringstream()
> 28468:       : __iostream_type(), _M_stringbuf(ios_base::out | ios_base::in)
> 28468:       { this->init(&_M_stringbuf); }
> 28468: # 755 "/usr/include/c++/9/sstream" 3
> 28468:       explicit
> 28468:       basic_stringstream(ios_base::openmode __m)
> 28468:       : __iostream_type(), _M_stringbuf(__m)
> 28468:       { this->init(&_M_stringbuf); }
> 28468: # 771 "/usr/include/c++/9/sstream" 3
> 28468:       explicit
> 28468:       basic_stringstream(const __string_type& __str,
> 28468:     ios_base::openmode __m = ios_base::out | ios_base::in)
> 28468:       : __iostream_type(), _M_stringbuf(__str, __m)
> 28468:       { this->init(&_M_stringbuf); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       ~basic_stringstream()
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       basic_stringstream(const basic_stringstream&) = delete;
> 28468: 
> 28468:       basic_stringstream(basic_stringstream&& __rhs)
> 28468:       : __iostream_type(std::move(__rhs)),
> 28468:       _M_stringbuf(std::move(__rhs._M_stringbuf))
> 28468:       { __iostream_type::set_rdbuf(&_M_stringbuf); }
> 28468: 
> 28468: 
> 28468: 
> 28468:       basic_stringstream&
> 28468:       operator=(const basic_stringstream&) = delete;
> 28468: 
> 28468:       basic_stringstream&
> 28468:       operator=(basic_stringstream&& __rhs)
> 28468:       {
> 28468:  __iostream_type::operator=(std::move(__rhs));
> 28468:  _M_stringbuf = std::move(__rhs._M_stringbuf);
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       swap(basic_stringstream& __rhs)
> 28468:       {
> 28468:  __iostream_type::swap(__rhs);
> 28468:  _M_stringbuf.swap(__rhs._M_stringbuf);
> 28468:       }
> 28468: # 822 "/usr/include/c++/9/sstream" 3
> 28468:       __stringbuf_type*
> 28468:       rdbuf() const
> 28468:       { return const_cast<__stringbuf_type*>(&_M_stringbuf); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       __string_type
> 28468:       str() const
> 28468:       { return _M_stringbuf.str(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       str(const __string_type& __s)
> 28468:       { _M_stringbuf.str(__s); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template <class _CharT, class _Traits, class _Allocator>
> 28468:     inline void
> 28468:     swap(basic_stringbuf<_CharT, _Traits, _Allocator>& __x,
> 28468:   basic_stringbuf<_CharT, _Traits, _Allocator>& __y)
> 28468:     { __x.swap(__y); }
> 28468: 
> 28468: 
> 28468:   template <class _CharT, class _Traits, class _Allocator>
> 28468:     inline void
> 28468:     swap(basic_istringstream<_CharT, _Traits, _Allocator>& __x,
> 28468:   basic_istringstream<_CharT, _Traits, _Allocator>& __y)
> 28468:     { __x.swap(__y); }
> 28468: 
> 28468: 
> 28468:   template <class _CharT, class _Traits, class _Allocator>
> 28468:     inline void
> 28468:     swap(basic_ostringstream<_CharT, _Traits, _Allocator>& __x,
> 28468:   basic_ostringstream<_CharT, _Traits, _Allocator>& __y)
> 28468:     { __x.swap(__y); }
> 28468: 
> 28468: 
> 28468:   template <class _CharT, class _Traits, class _Allocator>
> 28468:     inline void
> 28468:     swap(basic_stringstream<_CharT, _Traits, _Allocator>& __x,
> 28468:   basic_stringstream<_CharT, _Traits, _Allocator>& __y)
> 28468:     { __x.swap(__y); }
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: }
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/sstream.tcc" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/sstream.tcc" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/sstream.tcc" 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template <class _CharT, class _Traits, class _Alloc>
> 28468:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
> 28468:     basic_stringbuf<_CharT, _Traits, _Alloc>::
> 28468:     pbackfail(int_type __c)
> 28468:     {
> 28468:       int_type __ret = traits_type::eof();
> 28468:       if (this->eback() < this->gptr())
> 28468:  {
> 28468: 
> 28468: 
> 28468:    const bool __testeof = traits_type::eq_int_type(__c, __ret);
> 28468:    if (!__testeof)
> 28468:      {
> 28468:        const bool __testeq = traits_type::eq(traits_type::
> 28468:           to_char_type(__c),
> 28468:           this->gptr()[-1]);
> 28468:        const bool __testout = this->_M_mode & ios_base::out;
> 28468:        if (__testeq || __testout)
> 28468:   {
> 28468:     this->gbump(-1);
> 28468:     if (!__testeq)
> 28468:       *this->gptr() = traits_type::to_char_type(__c);
> 28468:     __ret = __c;
> 28468:   }
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        this->gbump(-1);
> 28468:        __ret = traits_type::not_eof(__c);
> 28468:      }
> 28468:  }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template <class _CharT, class _Traits, class _Alloc>
> 28468:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
> 28468:     basic_stringbuf<_CharT, _Traits, _Alloc>::
> 28468:     overflow(int_type __c)
> 28468:     {
> 28468:       const bool __testout = this->_M_mode & ios_base::out;
> 28468:       if (__builtin_expect(!__testout, false))
> 28468:  return traits_type::eof();
> 28468: 
> 28468:       const bool __testeof = traits_type::eq_int_type(__c, traits_type::eof());
> 28468:       if (__builtin_expect(__testeof, false))
> 28468:  return traits_type::not_eof(__c);
> 28468: 
> 28468:       const __size_type __capacity = _M_string.capacity();
> 28468: 
> 28468: 
> 28468:       if ((this->epptr() - this->pbase()) < __capacity)
> 28468:  {
> 28468: 
> 28468:    char_type* __base = const_cast<char_type*>(_M_string.data());
> 28468:    _M_pbump(__base, __base + __capacity, this->pptr() - this->pbase());
> 28468:    if (_M_mode & ios_base::in)
> 28468:      {
> 28468:        const __size_type __nget = this->gptr() - this->eback();
> 28468:        const __size_type __eget = this->egptr() - this->eback();
> 28468:        this->setg(__base, __base + __nget, __base + __eget + 1);
> 28468:      }
> 28468:    *this->pptr() = traits_type::to_char_type(__c);
> 28468:    this->pbump(1);
> 28468:    return __c;
> 28468:  }
> 28468: 
> 28468: 
> 28468:       const __size_type __max_size = _M_string.max_size();
> 28468:       const bool __testput = this->pptr() < this->epptr();
> 28468:       if (__builtin_expect(!__testput && __capacity == __max_size, false))
> 28468:  return traits_type::eof();
> 28468: 
> 28468: 
> 28468: 
> 28468:       const char_type __conv = traits_type::to_char_type(__c);
> 28468:       if (!__testput)
> 28468:  {
> 28468: # 129 "/usr/include/c++/9/bits/sstream.tcc" 3
> 28468:    const __size_type __opt_len = std::max(__size_type(2 * __capacity),
> 28468:        __size_type(512));
> 28468:    const __size_type __len = std::min(__opt_len, __max_size);
> 28468:    __string_type __tmp(_M_string.get_allocator());
> 28468:    __tmp.reserve(__len);
> 28468:    if (this->pbase())
> 28468:      __tmp.assign(this->pbase(), this->epptr() - this->pbase());
> 28468:    __tmp.push_back(__conv);
> 28468:    _M_string.swap(__tmp);
> 28468:    _M_sync(const_cast<char_type*>(_M_string.data()),
> 28468:     this->gptr() - this->eback(), this->pptr() - this->pbase());
> 28468:  }
> 28468:       else
> 28468:  *this->pptr() = __conv;
> 28468:       this->pbump(1);
> 28468:       return __c;
> 28468:     }
> 28468: 
> 28468:   template <class _CharT, class _Traits, class _Alloc>
> 28468:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::int_type
> 28468:     basic_stringbuf<_CharT, _Traits, _Alloc>::
> 28468:     underflow()
> 28468:     {
> 28468:       int_type __ret = traits_type::eof();
> 28468:       const bool __testin = this->_M_mode & ios_base::in;
> 28468:       if (__testin)
> 28468:  {
> 28468: 
> 28468:    _M_update_egptr();
> 28468: 
> 28468:    if (this->gptr() < this->egptr())
> 28468:      __ret = traits_type::to_int_type(*this->gptr());
> 28468:  }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template <class _CharT, class _Traits, class _Alloc>
> 28468:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
> 28468:     basic_stringbuf<_CharT, _Traits, _Alloc>::
> 28468:     seekoff(off_type __off, ios_base::seekdir __way, ios_base::openmode __mode)
> 28468:     {
> 28468:       pos_type __ret = pos_type(off_type(-1));
> 28468:       bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
> 28468:       bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
> 28468:       const bool __testboth = __testin && __testout && __way != ios_base::cur;
> 28468:       __testin &= !(__mode & ios_base::out);
> 28468:       __testout &= !(__mode & ios_base::in);
> 28468: 
> 28468: 
> 28468: 
> 28468:       const char_type* __beg = __testin ? this->eback() : this->pbase();
> 28468:       if ((__beg || !__off) && (__testin || __testout || __testboth))
> 28468:  {
> 28468:    _M_update_egptr();
> 28468: 
> 28468:    off_type __newoffi = __off;
> 28468:    off_type __newoffo = __newoffi;
> 28468:    if (__way == ios_base::cur)
> 28468:      {
> 28468:        __newoffi += this->gptr() - __beg;
> 28468:        __newoffo += this->pptr() - __beg;
> 28468:      }
> 28468:    else if (__way == ios_base::end)
> 28468:      __newoffo = __newoffi += this->egptr() - __beg;
> 28468: 
> 28468:    if ((__testin || __testboth)
> 28468:        && __newoffi >= 0
> 28468:        && this->egptr() - __beg >= __newoffi)
> 28468:      {
> 28468:        this->setg(this->eback(), this->eback() + __newoffi,
> 28468:     this->egptr());
> 28468:        __ret = pos_type(__newoffi);
> 28468:      }
> 28468:    if ((__testout || __testboth)
> 28468:        && __newoffo >= 0
> 28468:        && this->egptr() - __beg >= __newoffo)
> 28468:      {
> 28468:        _M_pbump(this->pbase(), this->epptr(), __newoffo);
> 28468:        __ret = pos_type(__newoffo);
> 28468:      }
> 28468:  }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template <class _CharT, class _Traits, class _Alloc>
> 28468:     typename basic_stringbuf<_CharT, _Traits, _Alloc>::pos_type
> 28468:     basic_stringbuf<_CharT, _Traits, _Alloc>::
> 28468:     seekpos(pos_type __sp, ios_base::openmode __mode)
> 28468:     {
> 28468:       pos_type __ret = pos_type(off_type(-1));
> 28468:       const bool __testin = (ios_base::in & this->_M_mode & __mode) != 0;
> 28468:       const bool __testout = (ios_base::out & this->_M_mode & __mode) != 0;
> 28468: 
> 28468:       const char_type* __beg = __testin ? this->eback() : this->pbase();
> 28468:       if ((__beg || !off_type(__sp)) && (__testin || __testout))
> 28468:  {
> 28468:    _M_update_egptr();
> 28468: 
> 28468:    const off_type __pos(__sp);
> 28468:    const bool __testpos = (0 <= __pos
> 28468:       && __pos <= this->egptr() - __beg);
> 28468:    if (__testpos)
> 28468:      {
> 28468:        if (__testin)
> 28468:   this->setg(this->eback(), this->eback() + __pos,
> 28468:       this->egptr());
> 28468:        if (__testout)
> 28468:   _M_pbump(this->pbase(), this->epptr(), __pos);
> 28468:        __ret = __sp;
> 28468:      }
> 28468:  }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468:   template <class _CharT, class _Traits, class _Alloc>
> 28468:     void
> 28468:     basic_stringbuf<_CharT, _Traits, _Alloc>::
> 28468:     _M_sync(char_type* __base, __size_type __i, __size_type __o)
> 28468:     {
> 28468:       const bool __testin = _M_mode & ios_base::in;
> 28468:       const bool __testout = _M_mode & ios_base::out;
> 28468:       char_type* __endg = __base + _M_string.size();
> 28468:       char_type* __endp = __base + _M_string.capacity();
> 28468: 
> 28468:       if (__base != _M_string.data())
> 28468:  {
> 28468: 
> 28468:    __endg += __i;
> 28468:    __i = 0;
> 28468:    __endp = __endg;
> 28468:  }
> 28468: 
> 28468:       if (__testin)
> 28468:  this->setg(__base, __base + __i, __endg);
> 28468:       if (__testout)
> 28468:  {
> 28468:    _M_pbump(__base, __endp, __o);
> 28468: 
> 28468: 
> 28468: 
> 28468:    if (!__testin)
> 28468:      this->setg(__endg, __endg, __endg);
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template <class _CharT, class _Traits, class _Alloc>
> 28468:     void
> 28468:     basic_stringbuf<_CharT, _Traits, _Alloc>::
> 28468:     _M_pbump(char_type* __pbeg, char_type* __pend, off_type __off)
> 28468:     {
> 28468:       this->setp(__pbeg, __pend);
> 28468:       while (__off > __gnu_cxx::__numeric_traits<int>::__max)
> 28468:  {
> 28468:    this->pbump(__gnu_cxx::__numeric_traits<int>::__max);
> 28468:    __off -= __gnu_cxx::__numeric_traits<int>::__max;
> 28468:  }
> 28468:       this->pbump(__off);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template class basic_stringbuf<char>;
> 28468:   extern template class basic_istringstream<char>;
> 28468:   extern template class basic_ostringstream<char>;
> 28468:   extern template class basic_stringstream<char>;
> 28468: 
> 28468: 
> 28468:   extern template class basic_stringbuf<wchar_t>;
> 28468:   extern template class basic_istringstream<wchar_t>;
> 28468:   extern template class basic_ostringstream<wchar_t>;
> 28468:   extern template class basic_stringstream<wchar_t>;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 880 "/usr/include/c++/9/sstream" 2 3
> 28468: # 26 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h" 2
> 28468: # 1 "/usr/include/c++/9/iomanip" 1 3
> 28468: # 36 "/usr/include/c++/9/iomanip" 3
> 28468:        
> 28468: # 37 "/usr/include/c++/9/iomanip" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/locale" 1 3
> 28468: # 36 "/usr/include/c++/9/locale" 3
> 28468:        
> 28468: # 37 "/usr/include/c++/9/locale" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/locale_facets_nonio.h" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:        
> 28468: # 38 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/ctime" 1 3
> 28468: # 39 "/usr/include/c++/9/ctime" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/ctime" 3
> 28468: # 58 "/usr/include/c++/9/ctime" 3
> 28468: namespace std
> 28468: {
> 28468:   using ::clock_t;
> 28468:   using ::time_t;
> 28468:   using ::tm;
> 28468: 
> 28468:   using ::clock;
> 28468:   using ::difftime;
> 28468:   using ::mktime;
> 28468:   using ::time;
> 28468:   using ::asctime;
> 28468:   using ::ctime;
> 28468:   using ::gmtime;
> 28468:   using ::localtime;
> 28468:   using ::strftime;
> 28468: }
> 28468: # 40 "/usr/include/c++/9/bits/locale_facets_nonio.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 52 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:   class time_base
> 28468:   {
> 28468:   public:
> 28468:     enum dateorder { no_order, dmy, mdy, ymd, ydm };
> 28468:   };
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     struct __timepunct_cache : public locale::facet
> 28468:     {
> 28468: 
> 28468:       static const _CharT* _S_timezones[14];
> 28468: 
> 28468:       const _CharT* _M_date_format;
> 28468:       const _CharT* _M_date_era_format;
> 28468:       const _CharT* _M_time_format;
> 28468:       const _CharT* _M_time_era_format;
> 28468:       const _CharT* _M_date_time_format;
> 28468:       const _CharT* _M_date_time_era_format;
> 28468:       const _CharT* _M_am;
> 28468:       const _CharT* _M_pm;
> 28468:       const _CharT* _M_am_pm_format;
> 28468: 
> 28468: 
> 28468:       const _CharT* _M_day1;
> 28468:       const _CharT* _M_day2;
> 28468:       const _CharT* _M_day3;
> 28468:       const _CharT* _M_day4;
> 28468:       const _CharT* _M_day5;
> 28468:       const _CharT* _M_day6;
> 28468:       const _CharT* _M_day7;
> 28468: 
> 28468: 
> 28468:       const _CharT* _M_aday1;
> 28468:       const _CharT* _M_aday2;
> 28468:       const _CharT* _M_aday3;
> 28468:       const _CharT* _M_aday4;
> 28468:       const _CharT* _M_aday5;
> 28468:       const _CharT* _M_aday6;
> 28468:       const _CharT* _M_aday7;
> 28468: 
> 28468: 
> 28468:       const _CharT* _M_month01;
> 28468:       const _CharT* _M_month02;
> 28468:       const _CharT* _M_month03;
> 28468:       const _CharT* _M_month04;
> 28468:       const _CharT* _M_month05;
> 28468:       const _CharT* _M_month06;
> 28468:       const _CharT* _M_month07;
> 28468:       const _CharT* _M_month08;
> 28468:       const _CharT* _M_month09;
> 28468:       const _CharT* _M_month10;
> 28468:       const _CharT* _M_month11;
> 28468:       const _CharT* _M_month12;
> 28468: 
> 28468: 
> 28468:       const _CharT* _M_amonth01;
> 28468:       const _CharT* _M_amonth02;
> 28468:       const _CharT* _M_amonth03;
> 28468:       const _CharT* _M_amonth04;
> 28468:       const _CharT* _M_amonth05;
> 28468:       const _CharT* _M_amonth06;
> 28468:       const _CharT* _M_amonth07;
> 28468:       const _CharT* _M_amonth08;
> 28468:       const _CharT* _M_amonth09;
> 28468:       const _CharT* _M_amonth10;
> 28468:       const _CharT* _M_amonth11;
> 28468:       const _CharT* _M_amonth12;
> 28468: 
> 28468:       bool _M_allocated;
> 28468: 
> 28468:       __timepunct_cache(size_t __refs = 0) : facet(__refs),
> 28468:       _M_date_format(0), _M_date_era_format(0), _M_time_format(0),
> 28468:       _M_time_era_format(0), _M_date_time_format(0),
> 28468:       _M_date_time_era_format(0), _M_am(0), _M_pm(0),
> 28468:       _M_am_pm_format(0), _M_day1(0), _M_day2(0), _M_day3(0),
> 28468:       _M_day4(0), _M_day5(0), _M_day6(0), _M_day7(0),
> 28468:       _M_aday1(0), _M_aday2(0), _M_aday3(0), _M_aday4(0),
> 28468:       _M_aday5(0), _M_aday6(0), _M_aday7(0), _M_month01(0),
> 28468:       _M_month02(0), _M_month03(0), _M_month04(0), _M_month05(0),
> 28468:       _M_month06(0), _M_month07(0), _M_month08(0), _M_month09(0),
> 28468:       _M_month10(0), _M_month11(0), _M_month12(0), _M_amonth01(0),
> 28468:       _M_amonth02(0), _M_amonth03(0), _M_amonth04(0),
> 28468:       _M_amonth05(0), _M_amonth06(0), _M_amonth07(0),
> 28468:       _M_amonth08(0), _M_amonth09(0), _M_amonth10(0),
> 28468:       _M_amonth11(0), _M_amonth12(0), _M_allocated(false)
> 28468:       { }
> 28468: 
> 28468:       ~__timepunct_cache();
> 28468: 
> 28468:     private:
> 28468:       __timepunct_cache&
> 28468:       operator=(const __timepunct_cache&);
> 28468: 
> 28468:       explicit
> 28468:       __timepunct_cache(const __timepunct_cache&);
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     __timepunct_cache<_CharT>::~__timepunct_cache()
> 28468:     {
> 28468:       if (_M_allocated)
> 28468:  {
> 28468: 
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     const char*
> 28468:     __timepunct_cache<char>::_S_timezones[14];
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     const wchar_t*
> 28468:     __timepunct_cache<wchar_t>::_S_timezones[14];
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     const _CharT* __timepunct_cache<_CharT>::_S_timezones[14];
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     class __timepunct : public locale::facet
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef _CharT __char_type;
> 28468:       typedef __timepunct_cache<_CharT> __cache_type;
> 28468: 
> 28468:     protected:
> 28468:       __cache_type* _M_data;
> 28468:       __c_locale _M_c_locale_timepunct;
> 28468:       const char* _M_name_timepunct;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       static locale::id id;
> 28468: 
> 28468:       explicit
> 28468:       __timepunct(size_t __refs = 0);
> 28468: 
> 28468:       explicit
> 28468:       __timepunct(__cache_type* __cache, size_t __refs = 0);
> 28468: # 206 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       explicit
> 28468:       __timepunct(__c_locale __cloc, const char* __s, size_t __refs = 0);
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_put(_CharT* __s, size_t __maxlen, const _CharT* __format,
> 28468:       const tm* __tm) const throw ();
> 28468: 
> 28468:       void
> 28468:       _M_date_formats(const _CharT** __date) const
> 28468:       {
> 28468: 
> 28468:  __date[0] = _M_data->_M_date_format;
> 28468:  __date[1] = _M_data->_M_date_era_format;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_time_formats(const _CharT** __time) const
> 28468:       {
> 28468: 
> 28468:  __time[0] = _M_data->_M_time_format;
> 28468:  __time[1] = _M_data->_M_time_era_format;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_date_time_formats(const _CharT** __dt) const
> 28468:       {
> 28468: 
> 28468:  __dt[0] = _M_data->_M_date_time_format;
> 28468:  __dt[1] = _M_data->_M_date_time_era_format;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_am_pm_format(const _CharT*) const
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_am_pm(const _CharT** __ampm) const
> 28468:       {
> 28468:  __ampm[0] = _M_data->_M_am;
> 28468:  __ampm[1] = _M_data->_M_pm;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_days(const _CharT** __days) const
> 28468:       {
> 28468:  __days[0] = _M_data->_M_day1;
> 28468:  __days[1] = _M_data->_M_day2;
> 28468:  __days[2] = _M_data->_M_day3;
> 28468:  __days[3] = _M_data->_M_day4;
> 28468:  __days[4] = _M_data->_M_day5;
> 28468:  __days[5] = _M_data->_M_day6;
> 28468:  __days[6] = _M_data->_M_day7;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_days_abbreviated(const _CharT** __days) const
> 28468:       {
> 28468:  __days[0] = _M_data->_M_aday1;
> 28468:  __days[1] = _M_data->_M_aday2;
> 28468:  __days[2] = _M_data->_M_aday3;
> 28468:  __days[3] = _M_data->_M_aday4;
> 28468:  __days[4] = _M_data->_M_aday5;
> 28468:  __days[5] = _M_data->_M_aday6;
> 28468:  __days[6] = _M_data->_M_aday7;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_months(const _CharT** __months) const
> 28468:       {
> 28468:  __months[0] = _M_data->_M_month01;
> 28468:  __months[1] = _M_data->_M_month02;
> 28468:  __months[2] = _M_data->_M_month03;
> 28468:  __months[3] = _M_data->_M_month04;
> 28468:  __months[4] = _M_data->_M_month05;
> 28468:  __months[5] = _M_data->_M_month06;
> 28468:  __months[6] = _M_data->_M_month07;
> 28468:  __months[7] = _M_data->_M_month08;
> 28468:  __months[8] = _M_data->_M_month09;
> 28468:  __months[9] = _M_data->_M_month10;
> 28468:  __months[10] = _M_data->_M_month11;
> 28468:  __months[11] = _M_data->_M_month12;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       _M_months_abbreviated(const _CharT** __months) const
> 28468:       {
> 28468:  __months[0] = _M_data->_M_amonth01;
> 28468:  __months[1] = _M_data->_M_amonth02;
> 28468:  __months[2] = _M_data->_M_amonth03;
> 28468:  __months[3] = _M_data->_M_amonth04;
> 28468:  __months[4] = _M_data->_M_amonth05;
> 28468:  __months[5] = _M_data->_M_amonth06;
> 28468:  __months[6] = _M_data->_M_amonth07;
> 28468:  __months[7] = _M_data->_M_amonth08;
> 28468:  __months[8] = _M_data->_M_amonth09;
> 28468:  __months[9] = _M_data->_M_amonth10;
> 28468:  __months[10] = _M_data->_M_amonth11;
> 28468:  __months[11] = _M_data->_M_amonth12;
> 28468:       }
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~__timepunct();
> 28468: 
> 28468: 
> 28468:       void
> 28468:       _M_initialize_timepunct(__c_locale __cloc = 0);
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     locale::id __timepunct<_CharT>::id;
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     __timepunct<char>::_M_initialize_timepunct(__c_locale __cloc);
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     __timepunct<char>::_M_put(char*, size_t, const char*, const tm*) const throw ();
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     __timepunct<wchar_t>::_M_initialize_timepunct(__c_locale __cloc);
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     __timepunct<wchar_t>::_M_put(wchar_t*, size_t, const wchar_t*,
> 28468:      const tm*) const throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/time_members.h" 1 3
> 28468: # 37 "/usr/include/x86_64-linux-gnu/c++/9/bits/time_members.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     __timepunct<_CharT>::__timepunct(size_t __refs)
> 28468:     : facet(__refs), _M_data(0), _M_c_locale_timepunct(0),
> 28468:       _M_name_timepunct(_S_get_c_name())
> 28468:     { _M_initialize_timepunct(); }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     __timepunct<_CharT>::__timepunct(__cache_type* __cache, size_t __refs)
> 28468:     : facet(__refs), _M_data(__cache), _M_c_locale_timepunct(0),
> 28468:       _M_name_timepunct(_S_get_c_name())
> 28468:     { _M_initialize_timepunct(); }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     __timepunct<_CharT>::__timepunct(__c_locale __cloc, const char* __s,
> 28468:          size_t __refs)
> 28468:     : facet(__refs), _M_data(0), _M_c_locale_timepunct(0),
> 28468:       _M_name_timepunct(0)
> 28468:     {
> 28468:       if (__builtin_strcmp(__s, _S_get_c_name()) != 0)
> 28468:  {
> 28468:    const size_t __len = __builtin_strlen(__s) + 1;
> 28468:    char* __tmp = new char[__len];
> 28468:    __builtin_memcpy(__tmp, __s, __len);
> 28468:    _M_name_timepunct = __tmp;
> 28468:  }
> 28468:       else
> 28468:  _M_name_timepunct = _S_get_c_name();
> 28468: 
> 28468:       try
> 28468:  { _M_initialize_timepunct(__cloc); }
> 28468:       catch(...)
> 28468:  {
> 28468:    if (_M_name_timepunct != _S_get_c_name())
> 28468:      delete [] _M_name_timepunct;
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     __timepunct<_CharT>::~__timepunct()
> 28468:     {
> 28468:       if (_M_name_timepunct != _S_get_c_name())
> 28468:  delete [] _M_name_timepunct;
> 28468:       delete _M_data;
> 28468:       _S_destroy_c_locale(_M_c_locale_timepunct);
> 28468:     }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 347 "/usr/include/c++/9/bits/locale_facets_nonio.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: namespace __cxx11 {
> 28468: # 367 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     class time_get : public locale::facet, public time_base
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _InIter iter_type;
> 28468: 
> 28468: 
> 28468: 
> 28468:       static locale::id id;
> 28468: # 388 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       explicit
> 28468:       time_get(size_t __refs = 0)
> 28468:       : facet (__refs) { }
> 28468: # 405 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       dateorder
> 28468:       date_order() const
> 28468:       { return this->do_date_order(); }
> 28468: # 429 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type
> 28468:       get_time(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:         ios_base::iostate& __err, tm* __tm) const
> 28468:       { return this->do_get_time(__beg, __end, __io, __err, __tm); }
> 28468: # 454 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type
> 28468:       get_date(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:         ios_base::iostate& __err, tm* __tm) const
> 28468:       { return this->do_get_date(__beg, __end, __io, __err, __tm); }
> 28468: # 482 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type
> 28468:       get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:     ios_base::iostate& __err, tm* __tm) const
> 28468:       { return this->do_get_weekday(__beg, __end, __io, __err, __tm); }
> 28468: # 511 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type
> 28468:       get_monthname(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:       ios_base::iostate& __err, tm* __tm) const
> 28468:       { return this->do_get_monthname(__beg, __end, __io, __err, __tm); }
> 28468: # 537 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type
> 28468:       get_year(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:         ios_base::iostate& __err, tm* __tm) const
> 28468:       { return this->do_get_year(__beg, __end, __io, __err, __tm); }
> 28468: # 558 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       inline
> 28468:       iter_type get(iter_type __s, iter_type __end, ios_base& __io,
> 28468:                     ios_base::iostate& __err, tm* __tm, char __format,
> 28468:                     char __modifier = 0) const
> 28468:       {
> 28468:         return this->do_get(__s, __end, __io, __err, __tm, __format,
> 28468:                             __modifier);
> 28468:       }
> 28468: # 585 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type get(iter_type __s, iter_type __end, ios_base& __io,
> 28468:                     ios_base::iostate& __err, tm* __tm, const char_type* __fmt,
> 28468:                     const char_type* __fmtend) const;
> 28468: 
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       virtual
> 28468:       ~time_get() { }
> 28468: # 605 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual dateorder
> 28468:       do_date_order() const;
> 28468: # 623 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual iter_type
> 28468:       do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:     ios_base::iostate& __err, tm* __tm) const;
> 28468: # 642 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual iter_type
> 28468:       do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:     ios_base::iostate& __err, tm* __tm) const;
> 28468: # 661 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual iter_type
> 28468:       do_get_weekday(iter_type __beg, iter_type __end, ios_base&,
> 28468:        ios_base::iostate& __err, tm* __tm) const;
> 28468: # 680 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual iter_type
> 28468:       do_get_monthname(iter_type __beg, iter_type __end, ios_base&,
> 28468:          ios_base::iostate& __err, tm* __tm) const;
> 28468: # 699 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual iter_type
> 28468:       do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:     ios_base::iostate& __err, tm* __tm) const;
> 28468: # 722 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual
> 28468: 
> 28468:       iter_type
> 28468:       do_get(iter_type __s, iter_type __end, ios_base& __f,
> 28468:              ios_base::iostate& __err, tm* __tm,
> 28468:              char __format, char __modifier) const;
> 28468: 
> 28468: 
> 28468: 
> 28468:       iter_type
> 28468:       _M_extract_num(iter_type __beg, iter_type __end, int& __member,
> 28468:        int __min, int __max, size_t __len,
> 28468:        ios_base& __io, ios_base::iostate& __err) const;
> 28468: 
> 28468: 
> 28468:       iter_type
> 28468:       _M_extract_name(iter_type __beg, iter_type __end, int& __member,
> 28468:         const _CharT** __names, size_t __indexlen,
> 28468:         ios_base& __io, ios_base::iostate& __err) const;
> 28468: 
> 28468: 
> 28468:       iter_type
> 28468:       _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member,
> 28468:           const _CharT** __names, size_t __indexlen,
> 28468:           ios_base& __io, ios_base::iostate& __err) const;
> 28468: 
> 28468: 
> 28468:       iter_type
> 28468:       _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:        ios_base::iostate& __err, tm* __tm,
> 28468:        const _CharT* __format) const;
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     locale::id time_get<_CharT, _InIter>::id;
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     class time_get_byname : public time_get<_CharT, _InIter>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _InIter iter_type;
> 28468: 
> 28468:       explicit
> 28468:       time_get_byname(const char*, size_t __refs = 0)
> 28468:       : time_get<_CharT, _InIter>(__refs) { }
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       time_get_byname(const string& __s, size_t __refs = 0)
> 28468:       : time_get_byname(__s.c_str(), __refs) { }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~time_get_byname() { }
> 28468:     };
> 28468: 
> 28468: }
> 28468: # 796 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     class time_put : public locale::facet
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _OutIter iter_type;
> 28468: 
> 28468: 
> 28468: 
> 28468:       static locale::id id;
> 28468: # 817 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       explicit
> 28468:       time_put(size_t __refs = 0)
> 28468:       : facet(__refs) { }
> 28468: # 836 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type
> 28468:       put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
> 28468:    const _CharT* __beg, const _CharT* __end) const;
> 28468: # 856 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type
> 28468:       put(iter_type __s, ios_base& __io, char_type __fill,
> 28468:    const tm* __tm, char __format, char __mod = 0) const
> 28468:       { return this->do_put(__s, __io, __fill, __tm, __format, __mod); }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       virtual
> 28468:       ~time_put()
> 28468:       { }
> 28468: # 883 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual iter_type
> 28468:       do_put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
> 28468:       char __format, char __mod) const;
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     locale::id time_put<_CharT, _OutIter>::id;
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     class time_put_byname : public time_put<_CharT, _OutIter>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _OutIter iter_type;
> 28468: 
> 28468:       explicit
> 28468:       time_put_byname(const char*, size_t __refs = 0)
> 28468:       : time_put<_CharT, _OutIter>(__refs)
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       time_put_byname(const string& __s, size_t __refs = 0)
> 28468:       : time_put_byname(__s.c_str(), __refs) { }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~time_put_byname() { }
> 28468:     };
> 28468: # 928 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:   class money_base
> 28468:   {
> 28468:   public:
> 28468:     enum part { none, space, symbol, sign, value };
> 28468:     struct pattern { char field[4]; };
> 28468: 
> 28468:     static const pattern _S_default_pattern;
> 28468: 
> 28468:     enum
> 28468:     {
> 28468:       _S_minus,
> 28468:       _S_zero,
> 28468:       _S_end = 11
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:     static const char* _S_atoms;
> 28468: 
> 28468: 
> 28468: 
> 28468:     __attribute__ ((__const__)) static pattern
> 28468:     _S_construct_pattern(char __precedes, char __space, char __posn) throw ();
> 28468:   };
> 28468: 
> 28468:   template<typename _CharT, bool _Intl>
> 28468:     struct __moneypunct_cache : public locale::facet
> 28468:     {
> 28468:       const char* _M_grouping;
> 28468:       size_t _M_grouping_size;
> 28468:       bool _M_use_grouping;
> 28468:       _CharT _M_decimal_point;
> 28468:       _CharT _M_thousands_sep;
> 28468:       const _CharT* _M_curr_symbol;
> 28468:       size_t _M_curr_symbol_size;
> 28468:       const _CharT* _M_positive_sign;
> 28468:       size_t _M_positive_sign_size;
> 28468:       const _CharT* _M_negative_sign;
> 28468:       size_t _M_negative_sign_size;
> 28468:       int _M_frac_digits;
> 28468:       money_base::pattern _M_pos_format;
> 28468:       money_base::pattern _M_neg_format;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       _CharT _M_atoms[money_base::_S_end];
> 28468: 
> 28468:       bool _M_allocated;
> 28468: 
> 28468:       __moneypunct_cache(size_t __refs = 0) : facet(__refs),
> 28468:       _M_grouping(0), _M_grouping_size(0), _M_use_grouping(false),
> 28468:       _M_decimal_point(_CharT()), _M_thousands_sep(_CharT()),
> 28468:       _M_curr_symbol(0), _M_curr_symbol_size(0),
> 28468:       _M_positive_sign(0), _M_positive_sign_size(0),
> 28468:       _M_negative_sign(0), _M_negative_sign_size(0),
> 28468:       _M_frac_digits(0),
> 28468:       _M_pos_format(money_base::pattern()),
> 28468:       _M_neg_format(money_base::pattern()), _M_allocated(false)
> 28468:       { }
> 28468: 
> 28468:       ~__moneypunct_cache();
> 28468: 
> 28468:       void
> 28468:       _M_cache(const locale& __loc);
> 28468: 
> 28468:     private:
> 28468:       __moneypunct_cache&
> 28468:       operator=(const __moneypunct_cache&);
> 28468: 
> 28468:       explicit
> 28468:       __moneypunct_cache(const __moneypunct_cache&);
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT, bool _Intl>
> 28468:     __moneypunct_cache<_CharT, _Intl>::~__moneypunct_cache()
> 28468:     {
> 28468:       if (_M_allocated)
> 28468:  {
> 28468:    delete [] _M_grouping;
> 28468:    delete [] _M_curr_symbol;
> 28468:    delete [] _M_positive_sign;
> 28468:    delete [] _M_negative_sign;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: namespace __cxx11 {
> 28468: # 1023 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:   template<typename _CharT, bool _Intl>
> 28468:     class moneypunct : public locale::facet, public money_base
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef basic_string<_CharT> string_type;
> 28468: 
> 28468:       typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
> 28468: 
> 28468:     private:
> 28468:       __cache_type* _M_data;
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468:       static const bool intl = _Intl;
> 28468: 
> 28468:       static locale::id id;
> 28468: # 1052 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       explicit
> 28468:       moneypunct(size_t __refs = 0)
> 28468:       : facet(__refs), _M_data(0)
> 28468:       { _M_initialize_moneypunct(); }
> 28468: # 1065 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       explicit
> 28468:       moneypunct(__cache_type* __cache, size_t __refs = 0)
> 28468:       : facet(__refs), _M_data(__cache)
> 28468:       { _M_initialize_moneypunct(); }
> 28468: # 1080 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       explicit
> 28468:       moneypunct(__c_locale __cloc, const char* __s, size_t __refs = 0)
> 28468:       : facet(__refs), _M_data(0)
> 28468:       { _M_initialize_moneypunct(__cloc, __s); }
> 28468: # 1094 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       char_type
> 28468:       decimal_point() const
> 28468:       { return this->do_decimal_point(); }
> 28468: # 1107 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       char_type
> 28468:       thousands_sep() const
> 28468:       { return this->do_thousands_sep(); }
> 28468: # 1137 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       string
> 28468:       grouping() const
> 28468:       { return this->do_grouping(); }
> 28468: # 1150 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       string_type
> 28468:       curr_symbol() const
> 28468:       { return this->do_curr_symbol(); }
> 28468: # 1167 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       string_type
> 28468:       positive_sign() const
> 28468:       { return this->do_positive_sign(); }
> 28468: # 1184 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       string_type
> 28468:       negative_sign() const
> 28468:       { return this->do_negative_sign(); }
> 28468: # 1200 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       int
> 28468:       frac_digits() const
> 28468:       { return this->do_frac_digits(); }
> 28468: # 1236 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       pattern
> 28468:       pos_format() const
> 28468:       { return this->do_pos_format(); }
> 28468: 
> 28468:       pattern
> 28468:       neg_format() const
> 28468:       { return this->do_neg_format(); }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       virtual
> 28468:       ~moneypunct();
> 28468: # 1258 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual char_type
> 28468:       do_decimal_point() const
> 28468:       { return _M_data->_M_decimal_point; }
> 28468: # 1270 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual char_type
> 28468:       do_thousands_sep() const
> 28468:       { return _M_data->_M_thousands_sep; }
> 28468: # 1283 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual string
> 28468:       do_grouping() const
> 28468:       { return _M_data->_M_grouping; }
> 28468: # 1296 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual string_type
> 28468:       do_curr_symbol() const
> 28468:       { return _M_data->_M_curr_symbol; }
> 28468: # 1309 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual string_type
> 28468:       do_positive_sign() const
> 28468:       { return _M_data->_M_positive_sign; }
> 28468: # 1322 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual string_type
> 28468:       do_negative_sign() const
> 28468:       { return _M_data->_M_negative_sign; }
> 28468: # 1336 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual int
> 28468:       do_frac_digits() const
> 28468:       { return _M_data->_M_frac_digits; }
> 28468: # 1350 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual pattern
> 28468:       do_pos_format() const
> 28468:       { return _M_data->_M_pos_format; }
> 28468: # 1364 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual pattern
> 28468:       do_neg_format() const
> 28468:       { return _M_data->_M_neg_format; }
> 28468: 
> 28468: 
> 28468:        void
> 28468:        _M_initialize_moneypunct(__c_locale __cloc = 0,
> 28468:     const char* __name = 0);
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT, bool _Intl>
> 28468:     locale::id moneypunct<_CharT, _Intl>::id;
> 28468: 
> 28468:   template<typename _CharT, bool _Intl>
> 28468:     const bool moneypunct<_CharT, _Intl>::intl;
> 28468: 
> 28468:   template<>
> 28468:     moneypunct<char, true>::~moneypunct();
> 28468: 
> 28468:   template<>
> 28468:     moneypunct<char, false>::~moneypunct();
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     moneypunct<char, true>::_M_initialize_moneypunct(__c_locale, const char*);
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     moneypunct<char, false>::_M_initialize_moneypunct(__c_locale, const char*);
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     moneypunct<wchar_t, true>::~moneypunct();
> 28468: 
> 28468:   template<>
> 28468:     moneypunct<wchar_t, false>::~moneypunct();
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     moneypunct<wchar_t, true>::_M_initialize_moneypunct(__c_locale,
> 28468:        const char*);
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     moneypunct<wchar_t, false>::_M_initialize_moneypunct(__c_locale,
> 28468:         const char*);
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, bool _Intl>
> 28468:     class moneypunct_byname : public moneypunct<_CharT, _Intl>
> 28468:     {
> 28468:     public:
> 28468:       typedef _CharT char_type;
> 28468:       typedef basic_string<_CharT> string_type;
> 28468: 
> 28468:       static const bool intl = _Intl;
> 28468: 
> 28468:       explicit
> 28468:       moneypunct_byname(const char* __s, size_t __refs = 0)
> 28468:       : moneypunct<_CharT, _Intl>(__refs)
> 28468:       {
> 28468:  if (__builtin_strcmp(__s, "C") != 0
> 28468:      && __builtin_strcmp(__s, "POSIX") != 0)
> 28468:    {
> 28468:      __c_locale __tmp;
> 28468:      this->_S_create_c_locale(__tmp, __s);
> 28468:      this->_M_initialize_moneypunct(__tmp);
> 28468:      this->_S_destroy_c_locale(__tmp);
> 28468:    }
> 28468:       }
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       moneypunct_byname(const string& __s, size_t __refs = 0)
> 28468:       : moneypunct_byname(__s.c_str(), __refs) { }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~moneypunct_byname() { }
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT, bool _Intl>
> 28468:     const bool moneypunct_byname<_CharT, _Intl>::intl;
> 28468: 
> 28468: }
> 28468: 
> 28468: namespace __cxx11 {
> 28468: # 1467 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     class money_get : public locale::facet
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _InIter iter_type;
> 28468:       typedef basic_string<_CharT> string_type;
> 28468: 
> 28468: 
> 28468: 
> 28468:       static locale::id id;
> 28468: # 1489 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       explicit
> 28468:       money_get(size_t __refs = 0) : facet(__refs) { }
> 28468: # 1519 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type
> 28468:       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
> 28468:    ios_base::iostate& __err, long double& __units) const
> 28468:       { return this->do_get(__s, __end, __intl, __io, __err, __units); }
> 28468: # 1550 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type
> 28468:       get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
> 28468:    ios_base::iostate& __err, string_type& __digits) const
> 28468:       { return this->do_get(__s, __end, __intl, __io, __err, __digits); }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       virtual
> 28468:       ~money_get() { }
> 28468: # 1574 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual iter_type
> 28468:       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
> 28468:       ios_base::iostate& __err, long double& __units) const;
> 28468: # 1586 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual iter_type
> 28468:       do_get(iter_type __s, iter_type __end, bool __intl, ios_base& __io,
> 28468:       ios_base::iostate& __err, string_type& __digits) const;
> 28468: # 1598 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       template<bool _Intl>
> 28468:         iter_type
> 28468:         _M_extract(iter_type __s, iter_type __end, ios_base& __io,
> 28468:      ios_base::iostate& __err, string& __digits) const;
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     locale::id money_get<_CharT, _InIter>::id;
> 28468: # 1620 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     class money_put : public locale::facet
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef _OutIter iter_type;
> 28468:       typedef basic_string<_CharT> string_type;
> 28468: 
> 28468: 
> 28468: 
> 28468:       static locale::id id;
> 28468: # 1641 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       explicit
> 28468:       money_put(size_t __refs = 0) : facet(__refs) { }
> 28468: # 1661 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type
> 28468:       put(iter_type __s, bool __intl, ios_base& __io,
> 28468:    char_type __fill, long double __units) const
> 28468:       { return this->do_put(__s, __intl, __io, __fill, __units); }
> 28468: # 1684 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       iter_type
> 28468:       put(iter_type __s, bool __intl, ios_base& __io,
> 28468:    char_type __fill, const string_type& __digits) const
> 28468:       { return this->do_put(__s, __intl, __io, __fill, __digits); }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       virtual
> 28468:       ~money_put() { }
> 28468: # 1719 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual iter_type
> 28468:       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
> 28468:       long double __units) const;
> 28468: # 1743 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual iter_type
> 28468:       do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
> 28468:       const string_type& __digits) const;
> 28468: # 1755 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       template<bool _Intl>
> 28468:         iter_type
> 28468:         _M_insert(iter_type __s, ios_base& __io, char_type __fill,
> 28468:     const string_type& __digits) const;
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     locale::id money_put<_CharT, _OutIter>::id;
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct messages_base
> 28468:   {
> 28468:     typedef int catalog;
> 28468:   };
> 28468: 
> 28468: namespace __cxx11 {
> 28468: # 1798 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:   template<typename _CharT>
> 28468:     class messages : public locale::facet, public messages_base
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       typedef _CharT char_type;
> 28468:       typedef basic_string<_CharT> string_type;
> 28468: 
> 28468: 
> 28468:     protected:
> 28468: 
> 28468: 
> 28468:       __c_locale _M_c_locale_messages;
> 28468:       const char* _M_name_messages;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       static locale::id id;
> 28468: # 1826 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       explicit
> 28468:       messages(size_t __refs = 0);
> 28468: # 1840 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       explicit
> 28468:       messages(__c_locale __cloc, const char* __s, size_t __refs = 0);
> 28468: # 1853 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       catalog
> 28468:       open(const basic_string<char>& __s, const locale& __loc) const
> 28468:       { return this->do_open(__s, __loc); }
> 28468: # 1871 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       catalog
> 28468:       open(const basic_string<char>&, const locale&, const char*) const;
> 28468: # 1889 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       string_type
> 28468:       get(catalog __c, int __set, int __msgid, const string_type& __s) const
> 28468:       { return this->do_get(__c, __set, __msgid, __s); }
> 28468: # 1900 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       void
> 28468:       close(catalog __c) const
> 28468:       { return this->do_close(__c); }
> 28468: 
> 28468:     protected:
> 28468: 
> 28468:       virtual
> 28468:       ~messages();
> 28468: # 1920 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual catalog
> 28468:       do_open(const basic_string<char>&, const locale&) const;
> 28468: # 1939 "/usr/include/c++/9/bits/locale_facets_nonio.h" 3
> 28468:       virtual string_type
> 28468:       do_get(catalog, int, int, const string_type& __dfault) const;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       virtual void
> 28468:       do_close(catalog) const;
> 28468: 
> 28468: 
> 28468:       char*
> 28468:       _M_convert_to_char(const string_type& __msg) const
> 28468:       {
> 28468: 
> 28468:  return reinterpret_cast<char*>(const_cast<_CharT*>(__msg.c_str()));
> 28468:       }
> 28468: 
> 28468: 
> 28468:       string_type
> 28468:       _M_convert_from_char(char*) const
> 28468:       {
> 28468: 
> 28468:  return string_type();
> 28468:       }
> 28468:      };
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     locale::id messages<_CharT>::id;
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     string
> 28468:     messages<char>::do_get(catalog, int, int, const string&) const;
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     wstring
> 28468:     messages<wchar_t>::do_get(catalog, int, int, const wstring&) const;
> 28468: 
> 28468: 
> 28468: 
> 28468:    template<typename _CharT>
> 28468:     class messages_byname : public messages<_CharT>
> 28468:     {
> 28468:     public:
> 28468:       typedef _CharT char_type;
> 28468:       typedef basic_string<_CharT> string_type;
> 28468: 
> 28468:       explicit
> 28468:       messages_byname(const char* __s, size_t __refs = 0);
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       messages_byname(const string& __s, size_t __refs = 0)
> 28468:       : messages_byname(__s.c_str(), __refs) { }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~messages_byname()
> 28468:       { }
> 28468:     };
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/x86_64-linux-gnu/c++/9/bits/messages_members.h" 1 3
> 28468: # 36 "/usr/include/x86_64-linux-gnu/c++/9/bits/messages_members.h" 3
> 28468: # 1 "/usr/include/libintl.h" 1 3 4
> 28468: # 34 "/usr/include/libintl.h" 3 4
> 28468: extern "C" {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *gettext (const char *__msgid)
> 28468:      throw () __attribute__ ((__format_arg__ (1)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *dgettext (const char *__domainname, const char *__msgid)
> 28468:      throw () __attribute__ ((__format_arg__ (2)));
> 28468: extern char *__dgettext (const char *__domainname, const char *__msgid)
> 28468:      throw () __attribute__ ((__format_arg__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *dcgettext (const char *__domainname,
> 28468:    const char *__msgid, int __category)
> 28468:      throw () __attribute__ ((__format_arg__ (2)));
> 28468: extern char *__dcgettext (const char *__domainname,
> 28468:      const char *__msgid, int __category)
> 28468:      throw () __attribute__ ((__format_arg__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *ngettext (const char *__msgid1, const char *__msgid2,
> 28468:          unsigned long int __n)
> 28468:      throw () __attribute__ ((__format_arg__ (1))) __attribute__ ((__format_arg__ (2)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *dngettext (const char *__domainname, const char *__msgid1,
> 28468:    const char *__msgid2, unsigned long int __n)
> 28468:      throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *dcngettext (const char *__domainname, const char *__msgid1,
> 28468:     const char *__msgid2, unsigned long int __n,
> 28468:     int __category)
> 28468:      throw () __attribute__ ((__format_arg__ (2))) __attribute__ ((__format_arg__ (3)));
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *textdomain (const char *__domainname) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *bindtextdomain (const char *__domainname,
> 28468:         const char *__dirname) throw ();
> 28468: 
> 28468: 
> 28468: 
> 28468: extern char *bind_textdomain_codeset (const char *__domainname,
> 28468:           const char *__codeset) throw ();
> 28468: # 121 "/usr/include/libintl.h" 3 4
> 28468: }
> 28468: # 37 "/usr/include/x86_64-linux-gnu/c++/9/bits/messages_members.h" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     messages<_CharT>::messages(size_t __refs)
> 28468:     : facet(__refs), _M_c_locale_messages(_S_get_c_locale()),
> 28468:       _M_name_messages(_S_get_c_name())
> 28468:     { }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     messages<_CharT>::messages(__c_locale __cloc, const char* __s,
> 28468:           size_t __refs)
> 28468:     : facet(__refs), _M_c_locale_messages(0), _M_name_messages(0)
> 28468:     {
> 28468:       if (__builtin_strcmp(__s, _S_get_c_name()) != 0)
> 28468:  {
> 28468:    const size_t __len = __builtin_strlen(__s) + 1;
> 28468:    char* __tmp = new char[__len];
> 28468:    __builtin_memcpy(__tmp, __s, __len);
> 28468:    _M_name_messages = __tmp;
> 28468:  }
> 28468:       else
> 28468:  _M_name_messages = _S_get_c_name();
> 28468: 
> 28468: 
> 28468:       _M_c_locale_messages = _S_clone_c_locale(__cloc);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     typename messages<_CharT>::catalog
> 28468:     messages<_CharT>::open(const basic_string<char>& __s, const locale& __loc,
> 28468:       const char* __dir) const
> 28468:     {
> 28468:       bindtextdomain(__s.c_str(), __dir);
> 28468:       return this->do_open(__s, __loc);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     messages<_CharT>::~messages()
> 28468:     {
> 28468:       if (_M_name_messages != _S_get_c_name())
> 28468:  delete [] _M_name_messages;
> 28468:       _S_destroy_c_locale(_M_c_locale_messages);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     typename messages<_CharT>::catalog
> 28468:     messages<_CharT>::do_open(const basic_string<char>& __s,
> 28468:          const locale&) const
> 28468:     {
> 28468: 
> 28468: 
> 28468:       textdomain(__s.c_str());
> 28468:       return 0;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     void
> 28468:     messages<_CharT>::do_close(catalog) const
> 28468:     { }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     messages_byname<_CharT>::messages_byname(const char* __s, size_t __refs)
> 28468:     : messages<_CharT>(__refs)
> 28468:     {
> 28468:       if (this->_M_name_messages != locale::facet::_S_get_c_name())
> 28468:  {
> 28468:    delete [] this->_M_name_messages;
> 28468:    if (__builtin_strcmp(__s, locale::facet::_S_get_c_name()) != 0)
> 28468:      {
> 28468:        const size_t __len = __builtin_strlen(__s) + 1;
> 28468:        char* __tmp = new char[__len];
> 28468:        __builtin_memcpy(__tmp, __s, __len);
> 28468:        this->_M_name_messages = __tmp;
> 28468:      }
> 28468:    else
> 28468:      this->_M_name_messages = locale::facet::_S_get_c_name();
> 28468:  }
> 28468: 
> 28468:       if (__builtin_strcmp(__s, "C") != 0
> 28468:    && __builtin_strcmp(__s, "POSIX") != 0)
> 28468:  {
> 28468:    this->_S_destroy_c_locale(this->_M_c_locale_messages);
> 28468:    this->_S_create_c_locale(this->_M_c_locale_messages, __s);
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     typename messages<char>::catalog
> 28468:     messages<char>::do_open(const basic_string<char>&,
> 28468:        const locale&) const;
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     messages<char>::do_close(catalog) const;
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     typename messages<wchar_t>::catalog
> 28468:     messages<wchar_t>::do_open(const basic_string<char>&,
> 28468:           const locale&) const;
> 28468: 
> 28468:   template<>
> 28468:     void
> 28468:     messages<wchar_t>::do_close(catalog) const;
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 2011 "/usr/include/c++/9/bits/locale_facets_nonio.h" 2 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/codecvt.h" 1 3
> 28468: # 39 "/usr/include/c++/9/bits/codecvt.h" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/bits/codecvt.h" 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   class codecvt_base
> 28468:   {
> 28468:   public:
> 28468:     enum result
> 28468:     {
> 28468:       ok,
> 28468:       partial,
> 28468:       error,
> 28468:       noconv
> 28468:     };
> 28468:   };
> 28468: # 67 "/usr/include/c++/9/bits/codecvt.h" 3
> 28468:   template<typename _InternT, typename _ExternT, typename _StateT>
> 28468:     class __codecvt_abstract_base
> 28468:     : public locale::facet, public codecvt_base
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef codecvt_base::result result;
> 28468:       typedef _InternT intern_type;
> 28468:       typedef _ExternT extern_type;
> 28468:       typedef _StateT state_type;
> 28468: # 115 "/usr/include/c++/9/bits/codecvt.h" 3
> 28468:       result
> 28468:       out(state_type& __state, const intern_type* __from,
> 28468:    const intern_type* __from_end, const intern_type*& __from_next,
> 28468:    extern_type* __to, extern_type* __to_end,
> 28468:    extern_type*& __to_next) const
> 28468:       {
> 28468:  return this->do_out(__state, __from, __from_end, __from_next,
> 28468:        __to, __to_end, __to_next);
> 28468:       }
> 28468: # 154 "/usr/include/c++/9/bits/codecvt.h" 3
> 28468:       result
> 28468:       unshift(state_type& __state, extern_type* __to, extern_type* __to_end,
> 28468:        extern_type*& __to_next) const
> 28468:       { return this->do_unshift(__state, __to,__to_end,__to_next); }
> 28468: # 195 "/usr/include/c++/9/bits/codecvt.h" 3
> 28468:       result
> 28468:       in(state_type& __state, const extern_type* __from,
> 28468:   const extern_type* __from_end, const extern_type*& __from_next,
> 28468:   intern_type* __to, intern_type* __to_end,
> 28468:   intern_type*& __to_next) const
> 28468:       {
> 28468:  return this->do_in(__state, __from, __from_end, __from_next,
> 28468:       __to, __to_end, __to_next);
> 28468:       }
> 28468: 
> 28468:       int
> 28468:       encoding() const throw()
> 28468:       { return this->do_encoding(); }
> 28468: 
> 28468:       bool
> 28468:       always_noconv() const throw()
> 28468:       { return this->do_always_noconv(); }
> 28468: 
> 28468:       int
> 28468:       length(state_type& __state, const extern_type* __from,
> 28468:       const extern_type* __end, size_t __max) const
> 28468:       { return this->do_length(__state, __from, __end, __max); }
> 28468: 
> 28468:       int
> 28468:       max_length() const throw()
> 28468:       { return this->do_max_length(); }
> 28468: 
> 28468:     protected:
> 28468:       explicit
> 28468:       __codecvt_abstract_base(size_t __refs = 0) : locale::facet(__refs) { }
> 28468: 
> 28468:       virtual
> 28468:       ~__codecvt_abstract_base() { }
> 28468: # 236 "/usr/include/c++/9/bits/codecvt.h" 3
> 28468:       virtual result
> 28468:       do_out(state_type& __state, const intern_type* __from,
> 28468:       const intern_type* __from_end, const intern_type*& __from_next,
> 28468:       extern_type* __to, extern_type* __to_end,
> 28468:       extern_type*& __to_next) const = 0;
> 28468: 
> 28468:       virtual result
> 28468:       do_unshift(state_type& __state, extern_type* __to,
> 28468:    extern_type* __to_end, extern_type*& __to_next) const = 0;
> 28468: 
> 28468:       virtual result
> 28468:       do_in(state_type& __state, const extern_type* __from,
> 28468:      const extern_type* __from_end, const extern_type*& __from_next,
> 28468:      intern_type* __to, intern_type* __to_end,
> 28468:      intern_type*& __to_next) const = 0;
> 28468: 
> 28468:       virtual int
> 28468:       do_encoding() const throw() = 0;
> 28468: 
> 28468:       virtual bool
> 28468:       do_always_noconv() const throw() = 0;
> 28468: 
> 28468:       virtual int
> 28468:       do_length(state_type&, const extern_type* __from,
> 28468:   const extern_type* __end, size_t __max) const = 0;
> 28468: 
> 28468:       virtual int
> 28468:       do_max_length() const throw() = 0;
> 28468:     };
> 28468: # 273 "/usr/include/c++/9/bits/codecvt.h" 3
> 28468:    template<typename _InternT, typename _ExternT, typename _StateT>
> 28468:     class codecvt
> 28468:     : public __codecvt_abstract_base<_InternT, _ExternT, _StateT>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef codecvt_base::result result;
> 28468:       typedef _InternT intern_type;
> 28468:       typedef _ExternT extern_type;
> 28468:       typedef _StateT state_type;
> 28468: 
> 28468:     protected:
> 28468:       __c_locale _M_c_locale_codecvt;
> 28468: 
> 28468:     public:
> 28468:       static locale::id id;
> 28468: 
> 28468:       explicit
> 28468:       codecvt(size_t __refs = 0)
> 28468:       : __codecvt_abstract_base<_InternT, _ExternT, _StateT> (__refs),
> 28468:  _M_c_locale_codecvt(0)
> 28468:       { }
> 28468: 
> 28468:       explicit
> 28468:       codecvt(__c_locale __cloc, size_t __refs = 0);
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~codecvt() { }
> 28468: 
> 28468:       virtual result
> 28468:       do_out(state_type& __state, const intern_type* __from,
> 28468:       const intern_type* __from_end, const intern_type*& __from_next,
> 28468:       extern_type* __to, extern_type* __to_end,
> 28468:       extern_type*& __to_next) const;
> 28468: 
> 28468:       virtual result
> 28468:       do_unshift(state_type& __state, extern_type* __to,
> 28468:    extern_type* __to_end, extern_type*& __to_next) const;
> 28468: 
> 28468:       virtual result
> 28468:       do_in(state_type& __state, const extern_type* __from,
> 28468:      const extern_type* __from_end, const extern_type*& __from_next,
> 28468:      intern_type* __to, intern_type* __to_end,
> 28468:      intern_type*& __to_next) const;
> 28468: 
> 28468:       virtual int
> 28468:       do_encoding() const throw();
> 28468: 
> 28468:       virtual bool
> 28468:       do_always_noconv() const throw();
> 28468: 
> 28468:       virtual int
> 28468:       do_length(state_type&, const extern_type* __from,
> 28468:   const extern_type* __end, size_t __max) const;
> 28468: 
> 28468:       virtual int
> 28468:       do_max_length() const throw();
> 28468:     };
> 28468: 
> 28468:   template<typename _InternT, typename _ExternT, typename _StateT>
> 28468:     locale::id codecvt<_InternT, _ExternT, _StateT>::id;
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     class codecvt<char, char, mbstate_t>
> 28468:     : public __codecvt_abstract_base<char, char, mbstate_t>
> 28468:     {
> 28468:       friend class messages<char>;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       typedef char intern_type;
> 28468:       typedef char extern_type;
> 28468:       typedef mbstate_t state_type;
> 28468: 
> 28468:     protected:
> 28468:       __c_locale _M_c_locale_codecvt;
> 28468: 
> 28468:     public:
> 28468:       static locale::id id;
> 28468: 
> 28468:       explicit
> 28468:       codecvt(size_t __refs = 0);
> 28468: 
> 28468:       explicit
> 28468:       codecvt(__c_locale __cloc, size_t __refs = 0);
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~codecvt();
> 28468: 
> 28468:       virtual result
> 28468:       do_out(state_type& __state, const intern_type* __from,
> 28468:       const intern_type* __from_end, const intern_type*& __from_next,
> 28468:       extern_type* __to, extern_type* __to_end,
> 28468:       extern_type*& __to_next) const;
> 28468: 
> 28468:       virtual result
> 28468:       do_unshift(state_type& __state, extern_type* __to,
> 28468:    extern_type* __to_end, extern_type*& __to_next) const;
> 28468: 
> 28468:       virtual result
> 28468:       do_in(state_type& __state, const extern_type* __from,
> 28468:      const extern_type* __from_end, const extern_type*& __from_next,
> 28468:      intern_type* __to, intern_type* __to_end,
> 28468:      intern_type*& __to_next) const;
> 28468: 
> 28468:       virtual int
> 28468:       do_encoding() const throw();
> 28468: 
> 28468:       virtual bool
> 28468:       do_always_noconv() const throw();
> 28468: 
> 28468:       virtual int
> 28468:       do_length(state_type&, const extern_type* __from,
> 28468:   const extern_type* __end, size_t __max) const;
> 28468: 
> 28468:       virtual int
> 28468:       do_max_length() const throw();
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     class codecvt<wchar_t, char, mbstate_t>
> 28468:     : public __codecvt_abstract_base<wchar_t, char, mbstate_t>
> 28468:     {
> 28468:       friend class messages<wchar_t>;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       typedef wchar_t intern_type;
> 28468:       typedef char extern_type;
> 28468:       typedef mbstate_t state_type;
> 28468: 
> 28468:     protected:
> 28468:       __c_locale _M_c_locale_codecvt;
> 28468: 
> 28468:     public:
> 28468:       static locale::id id;
> 28468: 
> 28468:       explicit
> 28468:       codecvt(size_t __refs = 0);
> 28468: 
> 28468:       explicit
> 28468:       codecvt(__c_locale __cloc, size_t __refs = 0);
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~codecvt();
> 28468: 
> 28468:       virtual result
> 28468:       do_out(state_type& __state, const intern_type* __from,
> 28468:       const intern_type* __from_end, const intern_type*& __from_next,
> 28468:       extern_type* __to, extern_type* __to_end,
> 28468:       extern_type*& __to_next) const;
> 28468: 
> 28468:       virtual result
> 28468:       do_unshift(state_type& __state,
> 28468:    extern_type* __to, extern_type* __to_end,
> 28468:    extern_type*& __to_next) const;
> 28468: 
> 28468:       virtual result
> 28468:       do_in(state_type& __state,
> 28468:       const extern_type* __from, const extern_type* __from_end,
> 28468:       const extern_type*& __from_next,
> 28468:       intern_type* __to, intern_type* __to_end,
> 28468:       intern_type*& __to_next) const;
> 28468: 
> 28468:       virtual
> 28468:       int do_encoding() const throw();
> 28468: 
> 28468:       virtual
> 28468:       bool do_always_noconv() const throw();
> 28468: 
> 28468:       virtual
> 28468:       int do_length(state_type&, const extern_type* __from,
> 28468:       const extern_type* __end, size_t __max) const;
> 28468: 
> 28468:       virtual int
> 28468:       do_max_length() const throw();
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     class codecvt<char16_t, char, mbstate_t>
> 28468:     : public __codecvt_abstract_base<char16_t, char, mbstate_t>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef char16_t intern_type;
> 28468:       typedef char extern_type;
> 28468:       typedef mbstate_t state_type;
> 28468: 
> 28468:     public:
> 28468:       static locale::id id;
> 28468: 
> 28468:       explicit
> 28468:       codecvt(size_t __refs = 0)
> 28468:       : __codecvt_abstract_base<char16_t, char, mbstate_t>(__refs) { }
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~codecvt();
> 28468: 
> 28468:       virtual result
> 28468:       do_out(state_type& __state, const intern_type* __from,
> 28468:       const intern_type* __from_end, const intern_type*& __from_next,
> 28468:       extern_type* __to, extern_type* __to_end,
> 28468:       extern_type*& __to_next) const;
> 28468: 
> 28468:       virtual result
> 28468:       do_unshift(state_type& __state,
> 28468:    extern_type* __to, extern_type* __to_end,
> 28468:    extern_type*& __to_next) const;
> 28468: 
> 28468:       virtual result
> 28468:       do_in(state_type& __state,
> 28468:       const extern_type* __from, const extern_type* __from_end,
> 28468:       const extern_type*& __from_next,
> 28468:       intern_type* __to, intern_type* __to_end,
> 28468:       intern_type*& __to_next) const;
> 28468: 
> 28468:       virtual
> 28468:       int do_encoding() const throw();
> 28468: 
> 28468:       virtual
> 28468:       bool do_always_noconv() const throw();
> 28468: 
> 28468:       virtual
> 28468:       int do_length(state_type&, const extern_type* __from,
> 28468:       const extern_type* __end, size_t __max) const;
> 28468: 
> 28468:       virtual int
> 28468:       do_max_length() const throw();
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     class codecvt<char32_t, char, mbstate_t>
> 28468:     : public __codecvt_abstract_base<char32_t, char, mbstate_t>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468:       typedef char32_t intern_type;
> 28468:       typedef char extern_type;
> 28468:       typedef mbstate_t state_type;
> 28468: 
> 28468:     public:
> 28468:       static locale::id id;
> 28468: 
> 28468:       explicit
> 28468:       codecvt(size_t __refs = 0)
> 28468:       : __codecvt_abstract_base<char32_t, char, mbstate_t>(__refs) { }
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~codecvt();
> 28468: 
> 28468:       virtual result
> 28468:       do_out(state_type& __state, const intern_type* __from,
> 28468:       const intern_type* __from_end, const intern_type*& __from_next,
> 28468:       extern_type* __to, extern_type* __to_end,
> 28468:       extern_type*& __to_next) const;
> 28468: 
> 28468:       virtual result
> 28468:       do_unshift(state_type& __state,
> 28468:    extern_type* __to, extern_type* __to_end,
> 28468:    extern_type*& __to_next) const;
> 28468: 
> 28468:       virtual result
> 28468:       do_in(state_type& __state,
> 28468:       const extern_type* __from, const extern_type* __from_end,
> 28468:       const extern_type*& __from_next,
> 28468:       intern_type* __to, intern_type* __to_end,
> 28468:       intern_type*& __to_next) const;
> 28468: 
> 28468:       virtual
> 28468:       int do_encoding() const throw();
> 28468: 
> 28468:       virtual
> 28468:       bool do_always_noconv() const throw();
> 28468: 
> 28468:       virtual
> 28468:       int do_length(state_type&, const extern_type* __from,
> 28468:       const extern_type* __end, size_t __max) const;
> 28468: 
> 28468:       virtual int
> 28468:       do_max_length() const throw();
> 28468:     };
> 28468: # 695 "/usr/include/c++/9/bits/codecvt.h" 3
> 28468:   template<typename _InternT, typename _ExternT, typename _StateT>
> 28468:     class codecvt_byname : public codecvt<_InternT, _ExternT, _StateT>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       codecvt_byname(const char* __s, size_t __refs = 0)
> 28468:       : codecvt<_InternT, _ExternT, _StateT>(__refs)
> 28468:       {
> 28468:  if (__builtin_strcmp(__s, "C") != 0
> 28468:      && __builtin_strcmp(__s, "POSIX") != 0)
> 28468:    {
> 28468:      this->_S_destroy_c_locale(this->_M_c_locale_codecvt);
> 28468:      this->_S_create_c_locale(this->_M_c_locale_codecvt, __s);
> 28468:    }
> 28468:       }
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       codecvt_byname(const string& __s, size_t __refs = 0)
> 28468:       : codecvt_byname(__s.c_str(), __refs) { }
> 28468: 
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~codecvt_byname() { }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<>
> 28468:     class codecvt_byname<char16_t, char, mbstate_t>
> 28468:     : public codecvt<char16_t, char, mbstate_t>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       codecvt_byname(const char*, size_t __refs = 0)
> 28468:       : codecvt<char16_t, char, mbstate_t>(__refs) { }
> 28468: 
> 28468:       explicit
> 28468:       codecvt_byname(const string& __s, size_t __refs = 0)
> 28468:       : codecvt_byname(__s.c_str(), __refs) { }
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~codecvt_byname() { }
> 28468:     };
> 28468: 
> 28468:   template<>
> 28468:     class codecvt_byname<char32_t, char, mbstate_t>
> 28468:     : public codecvt<char32_t, char, mbstate_t>
> 28468:     {
> 28468:     public:
> 28468:       explicit
> 28468:       codecvt_byname(const char*, size_t __refs = 0)
> 28468:       : codecvt<char32_t, char, mbstate_t>(__refs) { }
> 28468: 
> 28468:       explicit
> 28468:       codecvt_byname(const string& __s, size_t __refs = 0)
> 28468:       : codecvt_byname(__s.c_str(), __refs) { }
> 28468: 
> 28468:     protected:
> 28468:       virtual
> 28468:       ~codecvt_byname() { }
> 28468:     };
> 28468: # 802 "/usr/include/c++/9/bits/codecvt.h" 3
> 28468:   extern template class codecvt_byname<char, char, mbstate_t>;
> 28468: 
> 28468:   extern template
> 28468:     const codecvt<char, char, mbstate_t>&
> 28468:     use_facet<codecvt<char, char, mbstate_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<codecvt<char, char, mbstate_t> >(const locale&);
> 28468: 
> 28468: 
> 28468:   extern template class codecvt_byname<wchar_t, char, mbstate_t>;
> 28468: 
> 28468:   extern template
> 28468:     const codecvt<wchar_t, char, mbstate_t>&
> 28468:     use_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<codecvt<wchar_t, char, mbstate_t> >(const locale&);
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template class codecvt_byname<char16_t, char, mbstate_t>;
> 28468:   extern template class codecvt_byname<char32_t, char, mbstate_t>;
> 28468: # 837 "/usr/include/c++/9/bits/codecvt.h" 3
> 28468: 
> 28468: }
> 28468: # 2014 "/usr/include/c++/9/bits/locale_facets_nonio.h" 2 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/locale_facets_nonio.tcc" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/locale_facets_nonio.tcc" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/locale_facets_nonio.tcc" 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, bool _Intl>
> 28468:     struct __use_cache<__moneypunct_cache<_CharT, _Intl> >
> 28468:     {
> 28468:       const __moneypunct_cache<_CharT, _Intl>*
> 28468:       operator() (const locale& __loc) const
> 28468:       {
> 28468:  const size_t __i = moneypunct<_CharT, _Intl>::id._M_id();
> 28468:  const locale::facet** __caches = __loc._M_impl->_M_caches;
> 28468:  if (!__caches[__i])
> 28468:    {
> 28468:      __moneypunct_cache<_CharT, _Intl>* __tmp = 0;
> 28468:      try
> 28468:        {
> 28468:   __tmp = new __moneypunct_cache<_CharT, _Intl>;
> 28468:   __tmp->_M_cache(__loc);
> 28468:        }
> 28468:      catch(...)
> 28468:        {
> 28468:   delete __tmp;
> 28468:   throw;
> 28468:        }
> 28468:      __loc._M_impl->_M_install_cache(__tmp, __i);
> 28468:    }
> 28468:  return static_cast<
> 28468:    const __moneypunct_cache<_CharT, _Intl>*>(__caches[__i]);
> 28468:       }
> 28468:     };
> 28468: 
> 28468:   template<typename _CharT, bool _Intl>
> 28468:     void
> 28468:     __moneypunct_cache<_CharT, _Intl>::_M_cache(const locale& __loc)
> 28468:     {
> 28468:       const moneypunct<_CharT, _Intl>& __mp =
> 28468:  use_facet<moneypunct<_CharT, _Intl> >(__loc);
> 28468: 
> 28468:       _M_decimal_point = __mp.decimal_point();
> 28468:       _M_thousands_sep = __mp.thousands_sep();
> 28468:       _M_frac_digits = __mp.frac_digits();
> 28468: 
> 28468:       char* __grouping = 0;
> 28468:       _CharT* __curr_symbol = 0;
> 28468:       _CharT* __positive_sign = 0;
> 28468:       _CharT* __negative_sign = 0;
> 28468:       try
> 28468:  {
> 28468:    const string& __g = __mp.grouping();
> 28468:    _M_grouping_size = __g.size();
> 28468:    __grouping = new char[_M_grouping_size];
> 28468:    __g.copy(__grouping, _M_grouping_size);
> 28468:    _M_use_grouping = (_M_grouping_size
> 28468:         && static_cast<signed char>(__grouping[0]) > 0
> 28468:         && (__grouping[0]
> 28468:      != __gnu_cxx::__numeric_traits<char>::__max));
> 28468: 
> 28468:    const basic_string<_CharT>& __cs = __mp.curr_symbol();
> 28468:    _M_curr_symbol_size = __cs.size();
> 28468:    __curr_symbol = new _CharT[_M_curr_symbol_size];
> 28468:    __cs.copy(__curr_symbol, _M_curr_symbol_size);
> 28468: 
> 28468:    const basic_string<_CharT>& __ps = __mp.positive_sign();
> 28468:    _M_positive_sign_size = __ps.size();
> 28468:    __positive_sign = new _CharT[_M_positive_sign_size];
> 28468:    __ps.copy(__positive_sign, _M_positive_sign_size);
> 28468: 
> 28468:    const basic_string<_CharT>& __ns = __mp.negative_sign();
> 28468:    _M_negative_sign_size = __ns.size();
> 28468:    __negative_sign = new _CharT[_M_negative_sign_size];
> 28468:    __ns.copy(__negative_sign, _M_negative_sign_size);
> 28468: 
> 28468:    _M_pos_format = __mp.pos_format();
> 28468:    _M_neg_format = __mp.neg_format();
> 28468: 
> 28468:    const ctype<_CharT>& __ct = use_facet<ctype<_CharT> >(__loc);
> 28468:    __ct.widen(money_base::_S_atoms,
> 28468:        money_base::_S_atoms + money_base::_S_end, _M_atoms);
> 28468: 
> 28468:    _M_grouping = __grouping;
> 28468:    _M_curr_symbol = __curr_symbol;
> 28468:    _M_positive_sign = __positive_sign;
> 28468:    _M_negative_sign = __negative_sign;
> 28468:    _M_allocated = true;
> 28468:  }
> 28468:       catch(...)
> 28468:  {
> 28468:    delete [] __grouping;
> 28468:    delete [] __curr_symbol;
> 28468:    delete [] __positive_sign;
> 28468:    delete [] __negative_sign;
> 28468:    throw;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: namespace __cxx11 {
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     template<bool _Intl>
> 28468:       _InIter
> 28468:       money_get<_CharT, _InIter>::
> 28468:       _M_extract(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:    ios_base::iostate& __err, string& __units) const
> 28468:       {
> 28468:  typedef char_traits<_CharT> __traits_type;
> 28468:  typedef typename string_type::size_type size_type;
> 28468:  typedef money_base::part part;
> 28468:  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
> 28468: 
> 28468:  const locale& __loc = __io._M_getloc();
> 28468:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468: 
> 28468:  __use_cache<__cache_type> __uc;
> 28468:  const __cache_type* __lc = __uc(__loc);
> 28468:  const char_type* __lit = __lc->_M_atoms;
> 28468: 
> 28468: 
> 28468:  bool __negative = false;
> 28468: 
> 28468:  size_type __sign_size = 0;
> 28468: 
> 28468:  const bool __mandatory_sign = (__lc->_M_positive_sign_size
> 28468:            && __lc->_M_negative_sign_size);
> 28468: 
> 28468:  string __grouping_tmp;
> 28468:  if (__lc->_M_use_grouping)
> 28468:    __grouping_tmp.reserve(32);
> 28468: 
> 28468:  int __last_pos = 0;
> 28468: 
> 28468:  int __n = 0;
> 28468: 
> 28468:  bool __testvalid = true;
> 28468: 
> 28468:  bool __testdecfound = false;
> 28468: 
> 28468: 
> 28468:  string __res;
> 28468:  __res.reserve(32);
> 28468: 
> 28468:  const char_type* __lit_zero = __lit + money_base::_S_zero;
> 28468:  const money_base::pattern __p = __lc->_M_neg_format;
> 28468:  for (int __i = 0; __i < 4 && __testvalid; ++__i)
> 28468:    {
> 28468:      const part __which = static_cast<part>(__p.field[__i]);
> 28468:      switch (__which)
> 28468:        {
> 28468:        case money_base::symbol:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   if (__io.flags() & ios_base::showbase || __sign_size > 1
> 28468:       || __i == 0
> 28468:       || (__i == 1 && (__mandatory_sign
> 28468:          || (static_cast<part>(__p.field[0])
> 28468:       == money_base::sign)
> 28468:          || (static_cast<part>(__p.field[2])
> 28468:       == money_base::space)))
> 28468:       || (__i == 2 && ((static_cast<part>(__p.field[3])
> 28468:           == money_base::value)
> 28468:          || (__mandatory_sign
> 28468:       && (static_cast<part>(__p.field[3])
> 28468:           == money_base::sign)))))
> 28468:     {
> 28468:       const size_type __len = __lc->_M_curr_symbol_size;
> 28468:       size_type __j = 0;
> 28468:       for (; __beg != __end && __j < __len
> 28468:       && *__beg == __lc->_M_curr_symbol[__j];
> 28468:     ++__beg, (void)++__j);
> 28468:       if (__j != __len
> 28468:    && (__j || __io.flags() & ios_base::showbase))
> 28468:         __testvalid = false;
> 28468:     }
> 28468:   break;
> 28468:        case money_base::sign:
> 28468: 
> 28468:   if (__lc->_M_positive_sign_size && __beg != __end
> 28468:       && *__beg == __lc->_M_positive_sign[0])
> 28468:     {
> 28468:       __sign_size = __lc->_M_positive_sign_size;
> 28468:       ++__beg;
> 28468:     }
> 28468:   else if (__lc->_M_negative_sign_size && __beg != __end
> 28468:     && *__beg == __lc->_M_negative_sign[0])
> 28468:     {
> 28468:       __negative = true;
> 28468:       __sign_size = __lc->_M_negative_sign_size;
> 28468:       ++__beg;
> 28468:     }
> 28468:   else if (__lc->_M_positive_sign_size
> 28468:     && !__lc->_M_negative_sign_size)
> 28468: 
> 28468: 
> 28468:     __negative = true;
> 28468:   else if (__mandatory_sign)
> 28468:     __testvalid = false;
> 28468:   break;
> 28468:        case money_base::value:
> 28468: 
> 28468: 
> 28468:   for (; __beg != __end; ++__beg)
> 28468:     {
> 28468:       const char_type __c = *__beg;
> 28468:       const char_type* __q = __traits_type::find(__lit_zero,
> 28468:               10, __c);
> 28468:       if (__q != 0)
> 28468:         {
> 28468:    __res += money_base::_S_atoms[__q - __lit];
> 28468:    ++__n;
> 28468:         }
> 28468:       else if (__c == __lc->_M_decimal_point
> 28468:         && !__testdecfound)
> 28468:         {
> 28468:    if (__lc->_M_frac_digits <= 0)
> 28468:      break;
> 28468: 
> 28468:    __last_pos = __n;
> 28468:    __n = 0;
> 28468:    __testdecfound = true;
> 28468:         }
> 28468:       else if (__lc->_M_use_grouping
> 28468:         && __c == __lc->_M_thousands_sep
> 28468:         && !__testdecfound)
> 28468:         {
> 28468:    if (__n)
> 28468:      {
> 28468: 
> 28468:        __grouping_tmp += static_cast<char>(__n);
> 28468:        __n = 0;
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        __testvalid = false;
> 28468:        break;
> 28468:      }
> 28468:         }
> 28468:       else
> 28468:         break;
> 28468:     }
> 28468:   if (__res.empty())
> 28468:     __testvalid = false;
> 28468:   break;
> 28468:        case money_base::space:
> 28468: 
> 28468:   if (__beg != __end && __ctype.is(ctype_base::space, *__beg))
> 28468:     ++__beg;
> 28468:   else
> 28468:     __testvalid = false;
> 28468: 
> 28468:        case money_base::none:
> 28468: 
> 28468:   if (__i != 3)
> 28468:     for (; __beg != __end
> 28468:     && __ctype.is(ctype_base::space, *__beg); ++__beg);
> 28468:   break;
> 28468:        }
> 28468:    }
> 28468: 
> 28468: 
> 28468:  if (__sign_size > 1 && __testvalid)
> 28468:    {
> 28468:      const char_type* __sign = __negative ? __lc->_M_negative_sign
> 28468:                                           : __lc->_M_positive_sign;
> 28468:      size_type __i = 1;
> 28468:      for (; __beg != __end && __i < __sign_size
> 28468:      && *__beg == __sign[__i]; ++__beg, (void)++__i);
> 28468: 
> 28468:      if (__i != __sign_size)
> 28468:        __testvalid = false;
> 28468:    }
> 28468: 
> 28468:  if (__testvalid)
> 28468:    {
> 28468: 
> 28468:      if (__res.size() > 1)
> 28468:        {
> 28468:   const size_type __first = __res.find_first_not_of('0');
> 28468:   const bool __only_zeros = __first == string::npos;
> 28468:   if (__first)
> 28468:     __res.erase(0, __only_zeros ? __res.size() - 1 : __first);
> 28468:        }
> 28468: 
> 28468: 
> 28468:      if (__negative && __res[0] != '0')
> 28468:        __res.insert(__res.begin(), '-');
> 28468: 
> 28468: 
> 28468:      if (__grouping_tmp.size())
> 28468:        {
> 28468: 
> 28468:   __grouping_tmp += static_cast<char>(__testdecfound ? __last_pos
> 28468:                          : __n);
> 28468:   if (!std::__verify_grouping(__lc->_M_grouping,
> 28468:          __lc->_M_grouping_size,
> 28468:          __grouping_tmp))
> 28468:     __err |= ios_base::failbit;
> 28468:        }
> 28468: 
> 28468: 
> 28468:      if (__testdecfound && __n != __lc->_M_frac_digits)
> 28468:        __testvalid = false;
> 28468:    }
> 28468: 
> 28468: 
> 28468:  if (!__testvalid)
> 28468:    __err |= ios_base::failbit;
> 28468:  else
> 28468:    __units.swap(__res);
> 28468: 
> 28468: 
> 28468:  if (__beg == __end)
> 28468:    __err |= ios_base::eofbit;
> 28468:  return __beg;
> 28468:       }
> 28468: # 368 "/usr/include/c++/9/bits/locale_facets_nonio.tcc" 3
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     money_get<_CharT, _InIter>::
> 28468:     do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
> 28468:     ios_base::iostate& __err, long double& __units) const
> 28468:     {
> 28468:       string __str;
> 28468:       __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str)
> 28468:               : _M_extract<false>(__beg, __end, __io, __err, __str);
> 28468:       std::__convert_to_v(__str.c_str(), __units, __err, _S_get_c_locale());
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     money_get<_CharT, _InIter>::
> 28468:     do_get(iter_type __beg, iter_type __end, bool __intl, ios_base& __io,
> 28468:     ios_base::iostate& __err, string_type& __digits) const
> 28468:     {
> 28468:       typedef typename string::size_type size_type;
> 28468: 
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468: 
> 28468:       string __str;
> 28468:       __beg = __intl ? _M_extract<true>(__beg, __end, __io, __err, __str)
> 28468:               : _M_extract<false>(__beg, __end, __io, __err, __str);
> 28468:       const size_type __len = __str.size();
> 28468:       if (__len)
> 28468:  {
> 28468:    __digits.resize(__len);
> 28468:    __ctype.widen(__str.data(), __str.data() + __len, &__digits[0]);
> 28468:  }
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     template<bool _Intl>
> 28468:       _OutIter
> 28468:       money_put<_CharT, _OutIter>::
> 28468:       _M_insert(iter_type __s, ios_base& __io, char_type __fill,
> 28468:   const string_type& __digits) const
> 28468:       {
> 28468:  typedef typename string_type::size_type size_type;
> 28468:  typedef money_base::part part;
> 28468:  typedef __moneypunct_cache<_CharT, _Intl> __cache_type;
> 28468: 
> 28468:  const locale& __loc = __io._M_getloc();
> 28468:  const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468: 
> 28468:  __use_cache<__cache_type> __uc;
> 28468:  const __cache_type* __lc = __uc(__loc);
> 28468:  const char_type* __lit = __lc->_M_atoms;
> 28468: 
> 28468: 
> 28468: 
> 28468:  const char_type* __beg = __digits.data();
> 28468: 
> 28468:  money_base::pattern __p;
> 28468:  const char_type* __sign;
> 28468:  size_type __sign_size;
> 28468:  if (!(*__beg == __lit[money_base::_S_minus]))
> 28468:    {
> 28468:      __p = __lc->_M_pos_format;
> 28468:      __sign = __lc->_M_positive_sign;
> 28468:      __sign_size = __lc->_M_positive_sign_size;
> 28468:    }
> 28468:  else
> 28468:    {
> 28468:      __p = __lc->_M_neg_format;
> 28468:      __sign = __lc->_M_negative_sign;
> 28468:      __sign_size = __lc->_M_negative_sign_size;
> 28468:      if (__digits.size())
> 28468:        ++__beg;
> 28468:    }
> 28468: 
> 28468: 
> 28468:  size_type __len = __ctype.scan_not(ctype_base::digit, __beg,
> 28468:         __beg + __digits.size()) - __beg;
> 28468:  if (__len)
> 28468:    {
> 28468: 
> 28468: 
> 28468: 
> 28468:      string_type __value;
> 28468:      __value.reserve(2 * __len);
> 28468: 
> 28468: 
> 28468: 
> 28468:      long __paddec = __len - __lc->_M_frac_digits;
> 28468:      if (__paddec > 0)
> 28468:          {
> 28468:   if (__lc->_M_frac_digits < 0)
> 28468:     __paddec = __len;
> 28468:     if (__lc->_M_grouping_size)
> 28468:       {
> 28468:       __value.assign(2 * __paddec, char_type());
> 28468:        _CharT* __vend =
> 28468:         std::__add_grouping(&__value[0], __lc->_M_thousands_sep,
> 28468:        __lc->_M_grouping,
> 28468:        __lc->_M_grouping_size,
> 28468:        __beg, __beg + __paddec);
> 28468:       __value.erase(__vend - &__value[0]);
> 28468:       }
> 28468:     else
> 28468:     __value.assign(__beg, __paddec);
> 28468:        }
> 28468: 
> 28468: 
> 28468:      if (__lc->_M_frac_digits > 0)
> 28468:        {
> 28468:   __value += __lc->_M_decimal_point;
> 28468:   if (__paddec >= 0)
> 28468:     __value.append(__beg + __paddec, __lc->_M_frac_digits);
> 28468:   else
> 28468:     {
> 28468: 
> 28468:       __value.append(-__paddec, __lit[money_base::_S_zero]);
> 28468:       __value.append(__beg, __len);
> 28468:     }
> 28468:          }
> 28468: 
> 28468: 
> 28468:      const ios_base::fmtflags __f = __io.flags()
> 28468:                                     & ios_base::adjustfield;
> 28468:      __len = __value.size() + __sign_size;
> 28468:      __len += ((__io.flags() & ios_base::showbase)
> 28468:         ? __lc->_M_curr_symbol_size : 0);
> 28468: 
> 28468:      string_type __res;
> 28468:      __res.reserve(2 * __len);
> 28468: 
> 28468:      const size_type __width = static_cast<size_type>(__io.width());
> 28468:      const bool __testipad = (__f == ios_base::internal
> 28468:          && __len < __width);
> 28468: 
> 28468:      for (int __i = 0; __i < 4; ++__i)
> 28468:        {
> 28468:   const part __which = static_cast<part>(__p.field[__i]);
> 28468:   switch (__which)
> 28468:     {
> 28468:     case money_base::symbol:
> 28468:       if (__io.flags() & ios_base::showbase)
> 28468:         __res.append(__lc->_M_curr_symbol,
> 28468:        __lc->_M_curr_symbol_size);
> 28468:       break;
> 28468:     case money_base::sign:
> 28468: 
> 28468: 
> 28468: 
> 28468:       if (__sign_size)
> 28468:         __res += __sign[0];
> 28468:       break;
> 28468:     case money_base::value:
> 28468:       __res += __value;
> 28468:       break;
> 28468:     case money_base::space:
> 28468: 
> 28468: 
> 28468: 
> 28468:       if (__testipad)
> 28468:         __res.append(__width - __len, __fill);
> 28468:       else
> 28468:         __res += __fill;
> 28468:       break;
> 28468:     case money_base::none:
> 28468:       if (__testipad)
> 28468:         __res.append(__width - __len, __fill);
> 28468:       break;
> 28468:     }
> 28468:        }
> 28468: 
> 28468: 
> 28468:      if (__sign_size > 1)
> 28468:        __res.append(__sign + 1, __sign_size - 1);
> 28468: 
> 28468: 
> 28468:      __len = __res.size();
> 28468:      if (__width > __len)
> 28468:        {
> 28468:   if (__f == ios_base::left)
> 28468: 
> 28468:     __res.append(__width - __len, __fill);
> 28468:   else
> 28468: 
> 28468:     __res.insert(0, __width - __len, __fill);
> 28468:   __len = __width;
> 28468:        }
> 28468: 
> 28468: 
> 28468:      __s = std::__write(__s, __res.data(), __len);
> 28468:    }
> 28468:  __io.width(0);
> 28468:  return __s;
> 28468:       }
> 28468: # 574 "/usr/include/c++/9/bits/locale_facets_nonio.tcc" 3
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     _OutIter
> 28468:     money_put<_CharT, _OutIter>::
> 28468:     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
> 28468:     long double __units) const
> 28468:     {
> 28468:       const locale __loc = __io.getloc();
> 28468:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468: 
> 28468: 
> 28468:       int __cs_size = 64;
> 28468:       char* __cs = static_cast<char*>(__builtin_alloca(__cs_size));
> 28468: 
> 28468: 
> 28468:       int __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
> 28468:      "%.*Lf", 0, __units);
> 28468: 
> 28468:       if (__len >= __cs_size)
> 28468:  {
> 28468:    __cs_size = __len + 1;
> 28468:    __cs = static_cast<char*>(__builtin_alloca(__cs_size));
> 28468:    __len = std::__convert_from_v(_S_get_c_locale(), __cs, __cs_size,
> 28468:      "%.*Lf", 0, __units);
> 28468:  }
> 28468: # 606 "/usr/include/c++/9/bits/locale_facets_nonio.tcc" 3
> 28468:       string_type __digits(__len, char_type());
> 28468:       __ctype.widen(__cs, __cs + __len, &__digits[0]);
> 28468:       return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
> 28468:              : _M_insert<false>(__s, __io, __fill, __digits);
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     _OutIter
> 28468:     money_put<_CharT, _OutIter>::
> 28468:     do_put(iter_type __s, bool __intl, ios_base& __io, char_type __fill,
> 28468:     const string_type& __digits) const
> 28468:     { return __intl ? _M_insert<true>(__s, __io, __fill, __digits)
> 28468:              : _M_insert<false>(__s, __io, __fill, __digits); }
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     time_base::dateorder
> 28468:     time_get<_CharT, _InIter>::do_date_order() const
> 28468:     { return time_base::no_order; }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     time_get<_CharT, _InIter>::
> 28468:     _M_extract_via_format(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:      ios_base::iostate& __err, tm* __tm,
> 28468:      const _CharT* __format) const
> 28468:     {
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
> 28468:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468:       const size_t __len = char_traits<_CharT>::length(__format);
> 28468: 
> 28468:       ios_base::iostate __tmperr = ios_base::goodbit;
> 28468:       size_t __i = 0;
> 28468:       for (; __beg != __end && __i < __len && !__tmperr; ++__i)
> 28468:  {
> 28468:    if (__ctype.narrow(__format[__i], 0) == '%')
> 28468:      {
> 28468: 
> 28468:        char __c = __ctype.narrow(__format[++__i], 0);
> 28468:        int __mem = 0;
> 28468:        if (__c == 'E' || __c == 'O')
> 28468:   __c = __ctype.narrow(__format[++__i], 0);
> 28468:        switch (__c)
> 28468:   {
> 28468:     const char* __cs;
> 28468:     _CharT __wcs[10];
> 28468:   case 'a':
> 28468: 
> 28468:     const char_type* __days1[7];
> 28468:     __tp._M_days_abbreviated(__days1);
> 28468:     __beg = _M_extract_name(__beg, __end, __mem, __days1,
> 28468:        7, __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:       __tm->tm_wday = __mem;
> 28468:     break;
> 28468:   case 'A':
> 28468: 
> 28468:     const char_type* __days2[7];
> 28468:     __tp._M_days(__days2);
> 28468:     __beg = _M_extract_name(__beg, __end, __mem, __days2,
> 28468:        7, __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:       __tm->tm_wday = __mem;
> 28468:     break;
> 28468:   case 'h':
> 28468:   case 'b':
> 28468: 
> 28468:     const char_type* __months1[12];
> 28468:     __tp._M_months_abbreviated(__months1);
> 28468:     __beg = _M_extract_name(__beg, __end, __mem,
> 28468:        __months1, 12, __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:       __tm->tm_mon = __mem;
> 28468:     break;
> 28468:   case 'B':
> 28468: 
> 28468:     const char_type* __months2[12];
> 28468:     __tp._M_months(__months2);
> 28468:     __beg = _M_extract_name(__beg, __end, __mem,
> 28468:        __months2, 12, __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:       __tm->tm_mon = __mem;
> 28468:     break;
> 28468:   case 'c':
> 28468: 
> 28468:     const char_type* __dt[2];
> 28468:     __tp._M_date_time_formats(__dt);
> 28468:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
> 28468:       __tm, __dt[0]);
> 28468:     break;
> 28468:   case 'd':
> 28468: 
> 28468:     __beg = _M_extract_num(__beg, __end, __mem, 1, 31, 2,
> 28468:       __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:       __tm->tm_mday = __mem;
> 28468:     break;
> 28468:   case 'e':
> 28468: 
> 28468: 
> 28468:     if (__ctype.is(ctype_base::space, *__beg))
> 28468:       __beg = _M_extract_num(++__beg, __end, __mem, 1, 9,
> 28468:         1, __io, __tmperr);
> 28468:     else
> 28468:       __beg = _M_extract_num(__beg, __end, __mem, 10, 31,
> 28468:         2, __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:       __tm->tm_mday = __mem;
> 28468:     break;
> 28468:   case 'D':
> 28468: 
> 28468:     __cs = "%m/%d/%y";
> 28468:     __ctype.widen(__cs, __cs + 9, __wcs);
> 28468:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
> 28468:       __tm, __wcs);
> 28468:     break;
> 28468:   case 'H':
> 28468: 
> 28468:     __beg = _M_extract_num(__beg, __end, __mem, 0, 23, 2,
> 28468:       __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:       __tm->tm_hour = __mem;
> 28468:     break;
> 28468:   case 'I':
> 28468: 
> 28468:     __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2,
> 28468:       __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:       __tm->tm_hour = __mem;
> 28468:     break;
> 28468:   case 'm':
> 28468: 
> 28468:     __beg = _M_extract_num(__beg, __end, __mem, 1, 12, 2,
> 28468:       __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:       __tm->tm_mon = __mem - 1;
> 28468:     break;
> 28468:   case 'M':
> 28468: 
> 28468:     __beg = _M_extract_num(__beg, __end, __mem, 0, 59, 2,
> 28468:       __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:       __tm->tm_min = __mem;
> 28468:     break;
> 28468:   case 'n':
> 28468:     if (__ctype.narrow(*__beg, 0) == '\n')
> 28468:       ++__beg;
> 28468:     else
> 28468:       __tmperr |= ios_base::failbit;
> 28468:     break;
> 28468:   case 'R':
> 28468: 
> 28468:     __cs = "%H:%M";
> 28468:     __ctype.widen(__cs, __cs + 6, __wcs);
> 28468:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
> 28468:       __tm, __wcs);
> 28468:     break;
> 28468:   case 'S':
> 28468: 
> 28468: 
> 28468: 
> 28468:     __beg = _M_extract_num(__beg, __end, __mem, 0, 60, 2,
> 28468: 
> 28468: 
> 28468: 
> 28468:       __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:     __tm->tm_sec = __mem;
> 28468:     break;
> 28468:   case 't':
> 28468:     if (__ctype.narrow(*__beg, 0) == '\t')
> 28468:       ++__beg;
> 28468:     else
> 28468:       __tmperr |= ios_base::failbit;
> 28468:     break;
> 28468:   case 'T':
> 28468: 
> 28468:     __cs = "%H:%M:%S";
> 28468:     __ctype.widen(__cs, __cs + 9, __wcs);
> 28468:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
> 28468:       __tm, __wcs);
> 28468:     break;
> 28468:   case 'x':
> 28468: 
> 28468:     const char_type* __dates[2];
> 28468:     __tp._M_date_formats(__dates);
> 28468:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
> 28468:       __tm, __dates[0]);
> 28468:     break;
> 28468:   case 'X':
> 28468: 
> 28468:     const char_type* __times[2];
> 28468:     __tp._M_time_formats(__times);
> 28468:     __beg = _M_extract_via_format(__beg, __end, __io, __tmperr,
> 28468:       __tm, __times[0]);
> 28468:     break;
> 28468:   case 'y':
> 28468:   case 'C':
> 28468: 
> 28468:   case 'Y':
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     __beg = _M_extract_num(__beg, __end, __mem, 0, 9999, 4,
> 28468:       __io, __tmperr);
> 28468:     if (!__tmperr)
> 28468:       __tm->tm_year = __mem < 0 ? __mem + 100 : __mem - 1900;
> 28468:     break;
> 28468:   case 'Z':
> 28468: 
> 28468:     if (__ctype.is(ctype_base::upper, *__beg))
> 28468:       {
> 28468:         int __tmp;
> 28468:         __beg = _M_extract_name(__beg, __end, __tmp,
> 28468:            __timepunct_cache<_CharT>::_S_timezones,
> 28468:            14, __io, __tmperr);
> 28468: 
> 28468: 
> 28468:         if (__beg != __end && !__tmperr && __tmp == 0
> 28468:      && (*__beg == __ctype.widen('-')
> 28468:          || *__beg == __ctype.widen('+')))
> 28468:    {
> 28468:      __beg = _M_extract_num(__beg, __end, __tmp, 0, 23, 2,
> 28468:        __io, __tmperr);
> 28468:      __beg = _M_extract_num(__beg, __end, __tmp, 0, 59, 2,
> 28468:        __io, __tmperr);
> 28468:    }
> 28468:       }
> 28468:     else
> 28468:       __tmperr |= ios_base::failbit;
> 28468:     break;
> 28468:   default:
> 28468: 
> 28468:     __tmperr |= ios_base::failbit;
> 28468:   }
> 28468:      }
> 28468:    else
> 28468:      {
> 28468: 
> 28468:        if (__format[__i] == *__beg)
> 28468:   ++__beg;
> 28468:        else
> 28468:   __tmperr |= ios_base::failbit;
> 28468:      }
> 28468:  }
> 28468: 
> 28468:       if (__tmperr || __i != __len)
> 28468:  __err |= ios_base::failbit;
> 28468: 
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     time_get<_CharT, _InIter>::
> 28468:     _M_extract_num(iter_type __beg, iter_type __end, int& __member,
> 28468:      int __min, int __max, size_t __len,
> 28468:      ios_base& __io, ios_base::iostate& __err) const
> 28468:     {
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468: 
> 28468: 
> 28468:       int __mult = __len == 2 ? 10 : (__len == 4 ? 1000 : 1);
> 28468: 
> 28468:       ++__min;
> 28468:       size_t __i = 0;
> 28468:       int __value = 0;
> 28468:       for (; __beg != __end && __i < __len; ++__beg, (void)++__i)
> 28468:  {
> 28468:    const char __c = __ctype.narrow(*__beg, '*');
> 28468:    if (__c >= '0' && __c <= '9')
> 28468:      {
> 28468:        __value = __value * 10 + (__c - '0');
> 28468:        const int __valuec = __value * __mult;
> 28468:        if (__valuec > __max || __valuec + __mult < __min)
> 28468:   break;
> 28468:        __mult /= 10;
> 28468:      }
> 28468:    else
> 28468:      break;
> 28468:  }
> 28468:       if (__i == __len)
> 28468:  __member = __value;
> 28468: 
> 28468:       else if (__len == 4 && __i == 2)
> 28468:  __member = __value - 100;
> 28468:       else
> 28468:  __err |= ios_base::failbit;
> 28468: 
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     time_get<_CharT, _InIter>::
> 28468:     _M_extract_name(iter_type __beg, iter_type __end, int& __member,
> 28468:       const _CharT** __names, size_t __indexlen,
> 28468:       ios_base& __io, ios_base::iostate& __err) const
> 28468:     {
> 28468:       typedef char_traits<_CharT> __traits_type;
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468: 
> 28468:       int* __matches = static_cast<int*>(__builtin_alloca(sizeof(int)
> 28468:          * __indexlen));
> 28468:       size_t __nmatches = 0;
> 28468:       size_t __pos = 0;
> 28468:       bool __testvalid = true;
> 28468:       const char_type* __name;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       if (__beg != __end)
> 28468:  {
> 28468:    const char_type __c = *__beg;
> 28468:    for (size_t __i1 = 0; __i1 < __indexlen; ++__i1)
> 28468:      if (__c == __names[__i1][0]
> 28468:   || __c == __ctype.toupper(__names[__i1][0]))
> 28468:        __matches[__nmatches++] = __i1;
> 28468:  }
> 28468: 
> 28468:       while (__nmatches > 1)
> 28468:  {
> 28468: 
> 28468:    size_t __minlen = __traits_type::length(__names[__matches[0]]);
> 28468:    for (size_t __i2 = 1; __i2 < __nmatches; ++__i2)
> 28468:      __minlen = std::min(__minlen,
> 28468:          __traits_type::length(__names[__matches[__i2]]));
> 28468:    ++__beg;
> 28468:    ++__pos;
> 28468:    if (__pos < __minlen && __beg != __end)
> 28468:      for (size_t __i3 = 0; __i3 < __nmatches;)
> 28468:        {
> 28468:   __name = __names[__matches[__i3]];
> 28468:   if (!(__name[__pos] == *__beg))
> 28468:     __matches[__i3] = __matches[--__nmatches];
> 28468:   else
> 28468:     ++__i3;
> 28468:        }
> 28468:    else
> 28468:      break;
> 28468:  }
> 28468: 
> 28468:       if (__nmatches == 1)
> 28468:  {
> 28468: 
> 28468:    ++__beg;
> 28468:    ++__pos;
> 28468:    __name = __names[__matches[0]];
> 28468:    const size_t __len = __traits_type::length(__name);
> 28468:    while (__pos < __len && __beg != __end && __name[__pos] == *__beg)
> 28468:      ++__beg, (void)++__pos;
> 28468: 
> 28468:    if (__len == __pos)
> 28468:      __member = __matches[0];
> 28468:    else
> 28468:      __testvalid = false;
> 28468:  }
> 28468:       else
> 28468:  __testvalid = false;
> 28468:       if (!__testvalid)
> 28468:  __err |= ios_base::failbit;
> 28468: 
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     time_get<_CharT, _InIter>::
> 28468:     _M_extract_wday_or_month(iter_type __beg, iter_type __end, int& __member,
> 28468:         const _CharT** __names, size_t __indexlen,
> 28468:         ios_base& __io, ios_base::iostate& __err) const
> 28468:     {
> 28468:       typedef char_traits<_CharT> __traits_type;
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       const ctype<_CharT>& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468: 
> 28468:       int* __matches = static_cast<int*>(__builtin_alloca(2 * sizeof(int)
> 28468:          * __indexlen));
> 28468:       size_t __nmatches = 0;
> 28468:       size_t* __matches_lengths = 0;
> 28468:       size_t __pos = 0;
> 28468: 
> 28468:       if (__beg != __end)
> 28468:  {
> 28468:    const char_type __c = *__beg;
> 28468:    for (size_t __i = 0; __i < 2 * __indexlen; ++__i)
> 28468:      if (__c == __names[__i][0]
> 28468:   || __c == __ctype.toupper(__names[__i][0]))
> 28468:        __matches[__nmatches++] = __i;
> 28468:  }
> 28468: 
> 28468:       if (__nmatches)
> 28468:  {
> 28468:    ++__beg;
> 28468:    ++__pos;
> 28468: 
> 28468:    __matches_lengths
> 28468:      = static_cast<size_t*>(__builtin_alloca(sizeof(size_t)
> 28468:           * __nmatches));
> 28468:    for (size_t __i = 0; __i < __nmatches; ++__i)
> 28468:      __matches_lengths[__i]
> 28468:        = __traits_type::length(__names[__matches[__i]]);
> 28468:  }
> 28468: 
> 28468:       for (; __beg != __end; ++__beg, (void)++__pos)
> 28468:  {
> 28468:    size_t __nskipped = 0;
> 28468:    const char_type __c = *__beg;
> 28468:    for (size_t __i = 0; __i < __nmatches;)
> 28468:      {
> 28468:        const char_type* __name = __names[__matches[__i]];
> 28468:        if (__pos >= __matches_lengths[__i])
> 28468:   ++__nskipped, ++__i;
> 28468:        else if (!(__name[__pos] == __c))
> 28468:   {
> 28468:     --__nmatches;
> 28468:     __matches[__i] = __matches[__nmatches];
> 28468:     __matches_lengths[__i] = __matches_lengths[__nmatches];
> 28468:   }
> 28468:        else
> 28468:   ++__i;
> 28468:      }
> 28468:    if (__nskipped == __nmatches)
> 28468:      break;
> 28468:  }
> 28468: 
> 28468:       if ((__nmatches == 1 && __matches_lengths[0] == __pos)
> 28468:    || (__nmatches == 2 && (__matches_lengths[0] == __pos
> 28468:       || __matches_lengths[1] == __pos)))
> 28468:  __member = (__matches[0] >= __indexlen
> 28468:       ? __matches[0] - __indexlen : __matches[0]);
> 28468:       else
> 28468:  __err |= ios_base::failbit;
> 28468: 
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     time_get<_CharT, _InIter>::
> 28468:     do_get_time(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:   ios_base::iostate& __err, tm* __tm) const
> 28468:     {
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
> 28468:       const char_type* __times[2];
> 28468:       __tp._M_time_formats(__times);
> 28468:       __beg = _M_extract_via_format(__beg, __end, __io, __err,
> 28468:         __tm, __times[0]);
> 28468:       if (__beg == __end)
> 28468:  __err |= ios_base::eofbit;
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     time_get<_CharT, _InIter>::
> 28468:     do_get_date(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:   ios_base::iostate& __err, tm* __tm) const
> 28468:     {
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
> 28468:       const char_type* __dates[2];
> 28468:       __tp._M_date_formats(__dates);
> 28468:       __beg = _M_extract_via_format(__beg, __end, __io, __err,
> 28468:         __tm, __dates[0]);
> 28468:       if (__beg == __end)
> 28468:  __err |= ios_base::eofbit;
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     time_get<_CharT, _InIter>::
> 28468:     do_get_weekday(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:      ios_base::iostate& __err, tm* __tm) const
> 28468:     {
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
> 28468:       const char_type* __days[14];
> 28468:       __tp._M_days_abbreviated(__days);
> 28468:       __tp._M_days(__days + 7);
> 28468:       int __tmpwday;
> 28468:       ios_base::iostate __tmperr = ios_base::goodbit;
> 28468: 
> 28468:       __beg = _M_extract_wday_or_month(__beg, __end, __tmpwday, __days, 7,
> 28468:            __io, __tmperr);
> 28468:       if (!__tmperr)
> 28468:  __tm->tm_wday = __tmpwday;
> 28468:       else
> 28468:  __err |= ios_base::failbit;
> 28468: 
> 28468:       if (__beg == __end)
> 28468:  __err |= ios_base::eofbit;
> 28468:       return __beg;
> 28468:      }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     time_get<_CharT, _InIter>::
> 28468:     do_get_monthname(iter_type __beg, iter_type __end,
> 28468:                      ios_base& __io, ios_base::iostate& __err, tm* __tm) const
> 28468:     {
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       const __timepunct<_CharT>& __tp = use_facet<__timepunct<_CharT> >(__loc);
> 28468:       const char_type* __months[24];
> 28468:       __tp._M_months_abbreviated(__months);
> 28468:       __tp._M_months(__months + 12);
> 28468:       int __tmpmon;
> 28468:       ios_base::iostate __tmperr = ios_base::goodbit;
> 28468: 
> 28468:       __beg = _M_extract_wday_or_month(__beg, __end, __tmpmon, __months, 12,
> 28468:            __io, __tmperr);
> 28468:       if (!__tmperr)
> 28468:  __tm->tm_mon = __tmpmon;
> 28468:       else
> 28468:  __err |= ios_base::failbit;
> 28468: 
> 28468:       if (__beg == __end)
> 28468:  __err |= ios_base::eofbit;
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     _InIter
> 28468:     time_get<_CharT, _InIter>::
> 28468:     do_get_year(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:   ios_base::iostate& __err, tm* __tm) const
> 28468:     {
> 28468:       int __tmpyear;
> 28468:       ios_base::iostate __tmperr = ios_base::goodbit;
> 28468: 
> 28468:       __beg = _M_extract_num(__beg, __end, __tmpyear, 0, 9999, 4,
> 28468:         __io, __tmperr);
> 28468:       if (!__tmperr)
> 28468:  __tm->tm_year = __tmpyear < 0 ? __tmpyear + 100 : __tmpyear - 1900;
> 28468:       else
> 28468:  __err |= ios_base::failbit;
> 28468: 
> 28468:       if (__beg == __end)
> 28468:  __err |= ios_base::eofbit;
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     inline
> 28468:     _InIter
> 28468:     time_get<_CharT, _InIter>::
> 28468:     get(iter_type __s, iter_type __end, ios_base& __io,
> 28468:         ios_base::iostate& __err, tm* __tm, const char_type* __fmt,
> 28468:         const char_type* __fmtend) const
> 28468:     {
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468:       __err = ios_base::goodbit;
> 28468:       while (__fmt != __fmtend &&
> 28468:              __err == ios_base::goodbit)
> 28468:         {
> 28468:           if (__s == __end)
> 28468:             {
> 28468:               __err = ios_base::eofbit | ios_base::failbit;
> 28468:               break;
> 28468:             }
> 28468:           else if (__ctype.narrow(*__fmt, 0) == '%')
> 28468:             {
> 28468:               char __format;
> 28468:               char __mod = 0;
> 28468:               if (++__fmt == __fmtend)
> 28468:                 {
> 28468:                   __err = ios_base::failbit;
> 28468:                   break;
> 28468:                 }
> 28468:               const char __c = __ctype.narrow(*__fmt, 0);
> 28468:               if (__c != 'E' && __c != 'O')
> 28468:                 __format = __c;
> 28468:               else if (++__fmt != __fmtend)
> 28468:                 {
> 28468:                   __mod = __c;
> 28468:                   __format = __ctype.narrow(*__fmt, 0);
> 28468:                 }
> 28468:               else
> 28468:                 {
> 28468:                   __err = ios_base::failbit;
> 28468:                   break;
> 28468:                 }
> 28468:               __s = this->do_get(__s, __end, __io, __err, __tm, __format,
> 28468:      __mod);
> 28468:               ++__fmt;
> 28468:             }
> 28468:           else if (__ctype.is(ctype_base::space, *__fmt))
> 28468:             {
> 28468:               ++__fmt;
> 28468:               while (__fmt != __fmtend &&
> 28468:                      __ctype.is(ctype_base::space, *__fmt))
> 28468:                 ++__fmt;
> 28468: 
> 28468:               while (__s != __end &&
> 28468:                      __ctype.is(ctype_base::space, *__s))
> 28468:                 ++__s;
> 28468:             }
> 28468: 
> 28468:           else if (__ctype.tolower(*__s) == __ctype.tolower(*__fmt) ||
> 28468:                    __ctype.toupper(*__s) == __ctype.toupper(*__fmt))
> 28468:             {
> 28468:               ++__s;
> 28468:               ++__fmt;
> 28468:             }
> 28468:           else
> 28468:             {
> 28468:               __err = ios_base::failbit;
> 28468:               break;
> 28468:             }
> 28468:         }
> 28468:       return __s;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _InIter>
> 28468:     inline
> 28468:     _InIter
> 28468:     time_get<_CharT, _InIter>::
> 28468:     do_get(iter_type __beg, iter_type __end, ios_base& __io,
> 28468:            ios_base::iostate& __err, tm* __tm,
> 28468:            char __format, char __mod) const
> 28468:     {
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468:       __err = ios_base::goodbit;
> 28468: 
> 28468:       char_type __fmt[4];
> 28468:       __fmt[0] = __ctype.widen('%');
> 28468:       if (!__mod)
> 28468:         {
> 28468:           __fmt[1] = __format;
> 28468:           __fmt[2] = char_type();
> 28468:         }
> 28468:       else
> 28468:         {
> 28468:           __fmt[1] = __mod;
> 28468:           __fmt[2] = __format;
> 28468:           __fmt[3] = char_type();
> 28468:         }
> 28468: 
> 28468:       __beg = _M_extract_via_format(__beg, __end, __io, __err, __tm, __fmt);
> 28468:       if (__beg == __end)
> 28468:  __err |= ios_base::eofbit;
> 28468:       return __beg;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     _OutIter
> 28468:     time_put<_CharT, _OutIter>::
> 28468:     put(iter_type __s, ios_base& __io, char_type __fill, const tm* __tm,
> 28468:  const _CharT* __beg, const _CharT* __end) const
> 28468:     {
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468:       for (; __beg != __end; ++__beg)
> 28468:  if (__ctype.narrow(*__beg, 0) != '%')
> 28468:    {
> 28468:      *__s = *__beg;
> 28468:      ++__s;
> 28468:    }
> 28468:  else if (++__beg != __end)
> 28468:    {
> 28468:      char __format;
> 28468:      char __mod = 0;
> 28468:      const char __c = __ctype.narrow(*__beg, 0);
> 28468:      if (__c != 'E' && __c != 'O')
> 28468:        __format = __c;
> 28468:      else if (++__beg != __end)
> 28468:        {
> 28468:   __mod = __c;
> 28468:   __format = __ctype.narrow(*__beg, 0);
> 28468:        }
> 28468:      else
> 28468:        break;
> 28468:      __s = this->do_put(__s, __io, __fill, __tm, __format, __mod);
> 28468:    }
> 28468:  else
> 28468:    break;
> 28468:       return __s;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _OutIter>
> 28468:     _OutIter
> 28468:     time_put<_CharT, _OutIter>::
> 28468:     do_put(iter_type __s, ios_base& __io, char_type, const tm* __tm,
> 28468:     char __format, char __mod) const
> 28468:     {
> 28468:       const locale& __loc = __io._M_getloc();
> 28468:       ctype<_CharT> const& __ctype = use_facet<ctype<_CharT> >(__loc);
> 28468:       __timepunct<_CharT> const& __tp = use_facet<__timepunct<_CharT> >(__loc);
> 28468: 
> 28468: 
> 28468: 
> 28468:       const size_t __maxlen = 128;
> 28468:       char_type __res[__maxlen];
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       char_type __fmt[4];
> 28468:       __fmt[0] = __ctype.widen('%');
> 28468:       if (!__mod)
> 28468:  {
> 28468:    __fmt[1] = __format;
> 28468:    __fmt[2] = char_type();
> 28468:  }
> 28468:       else
> 28468:  {
> 28468:    __fmt[1] = __mod;
> 28468:    __fmt[2] = __format;
> 28468:    __fmt[3] = char_type();
> 28468:  }
> 28468: 
> 28468:       __tp._M_put(__res, __maxlen, __fmt, __tm);
> 28468: 
> 28468: 
> 28468:       return std::__write(__s, __res, char_traits<char_type>::length(__res));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   extern template class moneypunct<char, false>;
> 28468:   extern template class moneypunct<char, true>;
> 28468:   extern template class moneypunct_byname<char, false>;
> 28468:   extern template class moneypunct_byname<char, true>;
> 28468:   extern template class __cxx11:: money_get<char>;
> 28468:   extern template class __cxx11:: money_put<char>;
> 28468:   extern template class __timepunct<char>;
> 28468:   extern template class time_put<char>;
> 28468:   extern template class time_put_byname<char>;
> 28468:   extern template class time_get<char>;
> 28468:   extern template class time_get_byname<char>;
> 28468:   extern template class messages<char>;
> 28468:   extern template class messages_byname<char>;
> 28468: 
> 28468:   extern template
> 28468:     const moneypunct<char, true>&
> 28468:     use_facet<moneypunct<char, true> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const moneypunct<char, false>&
> 28468:     use_facet<moneypunct<char, false> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const money_put<char>&
> 28468:     use_facet<money_put<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const money_get<char>&
> 28468:     use_facet<money_get<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const __timepunct<char>&
> 28468:     use_facet<__timepunct<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const time_put<char>&
> 28468:     use_facet<time_put<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const time_get<char>&
> 28468:     use_facet<time_get<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const messages<char>&
> 28468:     use_facet<messages<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<moneypunct<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<money_put<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<money_get<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<__timepunct<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<time_put<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<time_get<char> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<messages<char> >(const locale&);
> 28468: 
> 28468: 
> 28468:   extern template class moneypunct<wchar_t, false>;
> 28468:   extern template class moneypunct<wchar_t, true>;
> 28468:   extern template class moneypunct_byname<wchar_t, false>;
> 28468:   extern template class moneypunct_byname<wchar_t, true>;
> 28468:   extern template class __cxx11:: money_get<wchar_t>;
> 28468:   extern template class __cxx11:: money_put<wchar_t>;
> 28468:   extern template class __timepunct<wchar_t>;
> 28468:   extern template class time_put<wchar_t>;
> 28468:   extern template class time_put_byname<wchar_t>;
> 28468:   extern template class time_get<wchar_t>;
> 28468:   extern template class time_get_byname<wchar_t>;
> 28468:   extern template class messages<wchar_t>;
> 28468:   extern template class messages_byname<wchar_t>;
> 28468: 
> 28468:   extern template
> 28468:     const moneypunct<wchar_t, true>&
> 28468:     use_facet<moneypunct<wchar_t, true> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const moneypunct<wchar_t, false>&
> 28468:     use_facet<moneypunct<wchar_t, false> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const money_put<wchar_t>&
> 28468:     use_facet<money_put<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const money_get<wchar_t>&
> 28468:     use_facet<money_get<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const __timepunct<wchar_t>&
> 28468:     use_facet<__timepunct<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const time_put<wchar_t>&
> 28468:     use_facet<time_put<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const time_get<wchar_t>&
> 28468:     use_facet<time_get<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     const messages<wchar_t>&
> 28468:     use_facet<messages<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<moneypunct<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<money_put<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<money_get<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<__timepunct<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<time_put<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<time_get<wchar_t> >(const locale&);
> 28468: 
> 28468:   extern template
> 28468:     bool
> 28468:     has_facet<messages<wchar_t> >(const locale&);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 2016 "/usr/include/c++/9/bits/locale_facets_nonio.h" 2 3
> 28468: # 42 "/usr/include/c++/9/locale" 2 3
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/locale_conv.h" 1 3
> 28468: # 43 "/usr/include/c++/9/bits/locale_conv.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _OutStr, typename _InChar, typename _Codecvt,
> 28468:     typename _State, typename _Fn>
> 28468:     bool
> 28468:     __do_str_codecvt(const _InChar* __first, const _InChar* __last,
> 28468:        _OutStr& __outstr, const _Codecvt& __cvt, _State& __state,
> 28468:        size_t& __count, _Fn __fn)
> 28468:     {
> 28468:       if (__first == __last)
> 28468:  {
> 28468:    __outstr.clear();
> 28468:    __count = 0;
> 28468:    return true;
> 28468:  }
> 28468: 
> 28468:       size_t __outchars = 0;
> 28468:       auto __next = __first;
> 28468:       const auto __maxlen = __cvt.max_length() + 1;
> 28468: 
> 28468:       codecvt_base::result __result;
> 28468:       do
> 28468:  {
> 28468:    __outstr.resize(__outstr.size() + (__last - __next) * __maxlen);
> 28468:    auto __outnext = &__outstr.front() + __outchars;
> 28468:    auto const __outlast = &__outstr.back() + 1;
> 28468:    __result = (__cvt.*__fn)(__state, __next, __last, __next,
> 28468:      __outnext, __outlast, __outnext);
> 28468:    __outchars = __outnext - &__outstr.front();
> 28468:  }
> 28468:       while (__result == codecvt_base::partial && __next != __last
> 28468:       && (__outstr.size() - __outchars) < __maxlen);
> 28468: 
> 28468:       if (__result == codecvt_base::error)
> 28468:  {
> 28468:    __count = __next - __first;
> 28468:    return false;
> 28468:  }
> 28468: 
> 28468: 
> 28468: 
> 28468:       if (is_same<typename _Codecvt::intern_type,
> 28468:            typename _Codecvt::extern_type>())
> 28468:  if (__result == codecvt_base::noconv)
> 28468:    {
> 28468:      __outstr.assign(__first, __last);
> 28468:      __count = __last - __first;
> 28468:      return true;
> 28468:    }
> 28468: 
> 28468:       __outstr.resize(__outchars);
> 28468:       __count = __next - __first;
> 28468:       return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
> 28468:     inline bool
> 28468:     __str_codecvt_in(const char* __first, const char* __last,
> 28468:        basic_string<_CharT, _Traits, _Alloc>& __outstr,
> 28468:        const codecvt<_CharT, char, _State>& __cvt,
> 28468:        _State& __state, size_t& __count)
> 28468:     {
> 28468:       using _Codecvt = codecvt<_CharT, char, _State>;
> 28468:       using _ConvFn
> 28468:  = codecvt_base::result
> 28468:    (_Codecvt::*)(_State&, const char*, const char*, const char*&,
> 28468:    _CharT*, _CharT*, _CharT*&) const;
> 28468:       _ConvFn __fn = &codecvt<_CharT, char, _State>::in;
> 28468:       return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> 28468:          __count, __fn);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
> 28468:     inline bool
> 28468:     __str_codecvt_in(const char* __first, const char* __last,
> 28468:        basic_string<_CharT, _Traits, _Alloc>& __outstr,
> 28468:        const codecvt<_CharT, char, _State>& __cvt)
> 28468:     {
> 28468:       _State __state = {};
> 28468:       size_t __n;
> 28468:       return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
> 28468:     inline bool
> 28468:     __str_codecvt_in_all(const char* __first, const char* __last,
> 28468:     basic_string<_CharT, _Traits, _Alloc>& __outstr,
> 28468:     const codecvt<_CharT, char, _State>& __cvt)
> 28468:     {
> 28468:       _State __state = {};
> 28468:       size_t __n;
> 28468:       return __str_codecvt_in(__first, __last, __outstr, __cvt, __state, __n)
> 28468:  && (__n == (__last - __first));
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
> 28468:     inline bool
> 28468:     __str_codecvt_out(const _CharT* __first, const _CharT* __last,
> 28468:         basic_string<char, _Traits, _Alloc>& __outstr,
> 28468:         const codecvt<_CharT, char, _State>& __cvt,
> 28468:         _State& __state, size_t& __count)
> 28468:     {
> 28468:       using _Codecvt = codecvt<_CharT, char, _State>;
> 28468:       using _ConvFn
> 28468:  = codecvt_base::result
> 28468:    (_Codecvt::*)(_State&, const _CharT*, const _CharT*, const _CharT*&,
> 28468:    char*, char*, char*&) const;
> 28468:       _ConvFn __fn = &codecvt<_CharT, char, _State>::out;
> 28468:       return __do_str_codecvt(__first, __last, __outstr, __cvt, __state,
> 28468:          __count, __fn);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
> 28468:     inline bool
> 28468:     __str_codecvt_out(const _CharT* __first, const _CharT* __last,
> 28468:         basic_string<char, _Traits, _Alloc>& __outstr,
> 28468:         const codecvt<_CharT, char, _State>& __cvt)
> 28468:     {
> 28468:       _State __state = {};
> 28468:       size_t __n;
> 28468:       return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _Alloc, typename _State>
> 28468:     inline bool
> 28468:     __str_codecvt_out_all(const _CharT* __first, const _CharT* __last,
> 28468:      basic_string<char, _Traits, _Alloc>& __outstr,
> 28468:      const codecvt<_CharT, char, _State>& __cvt)
> 28468:     {
> 28468:       _State __state = {};
> 28468:       size_t __n;
> 28468:       return __str_codecvt_out(__first, __last, __outstr, __cvt, __state, __n)
> 28468:  && (__n == (__last - __first));
> 28468:     }
> 28468: # 226 "/usr/include/c++/9/bits/locale_conv.h" 3
> 28468: namespace __cxx11 {
> 28468: 
> 28468: 
> 28468:   template<typename _Codecvt, typename _Elem = wchar_t,
> 28468:     typename _Wide_alloc = allocator<_Elem>,
> 28468:     typename _Byte_alloc = allocator<char>>
> 28468:     class wstring_convert
> 28468:     {
> 28468:     public:
> 28468:       typedef basic_string<char, char_traits<char>, _Byte_alloc> byte_string;
> 28468:       typedef basic_string<_Elem, char_traits<_Elem>, _Wide_alloc> wide_string;
> 28468:       typedef typename _Codecvt::state_type state_type;
> 28468:       typedef typename wide_string::traits_type::int_type int_type;
> 28468: 
> 28468: 
> 28468:       wstring_convert() : _M_cvt(new _Codecvt()) { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       wstring_convert(_Codecvt* __pcvt) : _M_cvt(__pcvt)
> 28468:       {
> 28468:  if (!_M_cvt)
> 28468:    __throw_logic_error("wstring_convert");
> 28468:       }
> 28468: # 264 "/usr/include/c++/9/bits/locale_conv.h" 3
> 28468:       wstring_convert(_Codecvt* __pcvt, state_type __state)
> 28468:       : _M_cvt(__pcvt), _M_state(__state), _M_with_cvtstate(true)
> 28468:       {
> 28468:  if (!_M_cvt)
> 28468:    __throw_logic_error("wstring_convert");
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       wstring_convert(const byte_string& __byte_err,
> 28468:         const wide_string& __wide_err = wide_string())
> 28468:       : _M_cvt(new _Codecvt),
> 28468:  _M_byte_err_string(__byte_err), _M_wide_err_string(__wide_err),
> 28468:  _M_with_strings(true)
> 28468:       {
> 28468:  if (!_M_cvt)
> 28468:    __throw_logic_error("wstring_convert");
> 28468:       }
> 28468: 
> 28468:       ~wstring_convert() = default;
> 28468: 
> 28468: 
> 28468: 
> 28468:       wstring_convert(const wstring_convert&) = delete;
> 28468:       wstring_convert& operator=(const wstring_convert&) = delete;
> 28468: 
> 28468: 
> 28468:       wide_string
> 28468:       from_bytes(char __byte)
> 28468:       {
> 28468:  char __bytes[2] = { __byte };
> 28468:  return from_bytes(__bytes, __bytes+1);
> 28468:       }
> 28468: 
> 28468:       wide_string
> 28468:       from_bytes(const char* __ptr)
> 28468:       { return from_bytes(__ptr, __ptr+char_traits<char>::length(__ptr)); }
> 28468: 
> 28468:       wide_string
> 28468:       from_bytes(const byte_string& __str)
> 28468:       {
> 28468:  auto __ptr = __str.data();
> 28468:  return from_bytes(__ptr, __ptr + __str.size());
> 28468:       }
> 28468: 
> 28468:       wide_string
> 28468:       from_bytes(const char* __first, const char* __last)
> 28468:       {
> 28468:  if (!_M_with_cvtstate)
> 28468:    _M_state = state_type();
> 28468:  wide_string __out{ _M_wide_err_string.get_allocator() };
> 28468:  if (__str_codecvt_in(__first, __last, __out, *_M_cvt, _M_state,
> 28468:         _M_count))
> 28468:    return __out;
> 28468:  if (_M_with_strings)
> 28468:    return _M_wide_err_string;
> 28468:  __throw_range_error("wstring_convert::from_bytes");
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468:       byte_string
> 28468:       to_bytes(_Elem __wchar)
> 28468:       {
> 28468:  _Elem __wchars[2] = { __wchar };
> 28468:  return to_bytes(__wchars, __wchars+1);
> 28468:       }
> 28468: 
> 28468:       byte_string
> 28468:       to_bytes(const _Elem* __ptr)
> 28468:       {
> 28468:  return to_bytes(__ptr, __ptr+wide_string::traits_type::length(__ptr));
> 28468:       }
> 28468: 
> 28468:       byte_string
> 28468:       to_bytes(const wide_string& __wstr)
> 28468:       {
> 28468:  auto __ptr = __wstr.data();
> 28468:  return to_bytes(__ptr, __ptr + __wstr.size());
> 28468:       }
> 28468: 
> 28468:       byte_string
> 28468:       to_bytes(const _Elem* __first, const _Elem* __last)
> 28468:       {
> 28468:  if (!_M_with_cvtstate)
> 28468:    _M_state = state_type();
> 28468:  byte_string __out{ _M_byte_err_string.get_allocator() };
> 28468:  if (__str_codecvt_out(__first, __last, __out, *_M_cvt, _M_state,
> 28468:          _M_count))
> 28468:    return __out;
> 28468:  if (_M_with_strings)
> 28468:    return _M_byte_err_string;
> 28468:  __throw_range_error("wstring_convert::to_bytes");
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       size_t converted() const noexcept { return _M_count; }
> 28468: 
> 28468: 
> 28468:       state_type state() const { return _M_state; }
> 28468: 
> 28468:     private:
> 28468:       unique_ptr<_Codecvt> _M_cvt;
> 28468:       byte_string _M_byte_err_string;
> 28468:       wide_string _M_wide_err_string;
> 28468:       state_type _M_state = state_type();
> 28468:       size_t _M_count = 0;
> 28468:       bool _M_with_cvtstate = false;
> 28468:       bool _M_with_strings = false;
> 28468:     };
> 28468: 
> 28468: }
> 28468: 
> 28468: 
> 28468:   template<typename _Codecvt, typename _Elem = wchar_t,
> 28468:     typename _Tr = char_traits<_Elem>>
> 28468:     class wbuffer_convert : public basic_streambuf<_Elem, _Tr>
> 28468:     {
> 28468:       typedef basic_streambuf<_Elem, _Tr> _Wide_streambuf;
> 28468: 
> 28468:     public:
> 28468:       typedef typename _Codecvt::state_type state_type;
> 28468: 
> 28468: 
> 28468:       wbuffer_convert() : wbuffer_convert(nullptr) { }
> 28468: # 405 "/usr/include/c++/9/bits/locale_conv.h" 3
> 28468:       explicit
> 28468:       wbuffer_convert(streambuf* __bytebuf, _Codecvt* __pcvt = new _Codecvt,
> 28468:         state_type __state = state_type())
> 28468:       : _M_buf(__bytebuf), _M_cvt(__pcvt), _M_state(__state)
> 28468:       {
> 28468:  if (!_M_cvt)
> 28468:    __throw_logic_error("wbuffer_convert");
> 28468: 
> 28468:  _M_always_noconv = _M_cvt->always_noconv();
> 28468: 
> 28468:  if (_M_buf)
> 28468:    {
> 28468:      this->setp(_M_put_area, _M_put_area + _S_buffer_length);
> 28468:      this->setg(_M_get_area + _S_putback_length,
> 28468:          _M_get_area + _S_putback_length,
> 28468:          _M_get_area + _S_putback_length);
> 28468:    }
> 28468:       }
> 28468: 
> 28468:       ~wbuffer_convert() = default;
> 28468: 
> 28468: 
> 28468: 
> 28468:       wbuffer_convert(const wbuffer_convert&) = delete;
> 28468:       wbuffer_convert& operator=(const wbuffer_convert&) = delete;
> 28468: 
> 28468:       streambuf* rdbuf() const noexcept { return _M_buf; }
> 28468: 
> 28468:       streambuf*
> 28468:       rdbuf(streambuf *__bytebuf) noexcept
> 28468:       {
> 28468:  auto __prev = _M_buf;
> 28468:  _M_buf = __bytebuf;
> 28468:  return __prev;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       state_type state() const noexcept { return _M_state; }
> 28468: 
> 28468:     protected:
> 28468:       int
> 28468:       sync()
> 28468:       { return _M_buf && _M_conv_put() && !_M_buf->pubsync() ? 0 : -1; }
> 28468: 
> 28468:       typename _Wide_streambuf::int_type
> 28468:       overflow(typename _Wide_streambuf::int_type __out)
> 28468:       {
> 28468:  if (!_M_buf || !_M_conv_put())
> 28468:    return _Tr::eof();
> 28468:  else if (!_Tr::eq_int_type(__out, _Tr::eof()))
> 28468:    return this->sputc(__out);
> 28468:  return _Tr::not_eof(__out);
> 28468:       }
> 28468: 
> 28468:       typename _Wide_streambuf::int_type
> 28468:       underflow()
> 28468:       {
> 28468:  if (!_M_buf)
> 28468:    return _Tr::eof();
> 28468: 
> 28468:  if (this->gptr() < this->egptr() || (_M_buf && _M_conv_get()))
> 28468:    return _Tr::to_int_type(*this->gptr());
> 28468:  else
> 28468:    return _Tr::eof();
> 28468:       }
> 28468: 
> 28468:       streamsize
> 28468:       xsputn(const typename _Wide_streambuf::char_type* __s, streamsize __n)
> 28468:       {
> 28468:  if (!_M_buf || __n == 0)
> 28468:    return 0;
> 28468:  streamsize __done = 0;
> 28468:  do
> 28468:  {
> 28468:    auto __nn = std::min<streamsize>(this->epptr() - this->pptr(),
> 28468:         __n - __done);
> 28468:    _Tr::copy(this->pptr(), __s + __done, __nn);
> 28468:    this->pbump(__nn);
> 28468:    __done += __nn;
> 28468:  } while (__done < __n && _M_conv_put());
> 28468:  return __done;
> 28468:       }
> 28468: 
> 28468:     private:
> 28468: 
> 28468:       bool
> 28468:       _M_conv_get()
> 28468:       {
> 28468:  const streamsize __pb1 = this->gptr() - this->eback();
> 28468:  const streamsize __pb2 = _S_putback_length;
> 28468:  const streamsize __npb = std::min(__pb1, __pb2);
> 28468: 
> 28468:  _Tr::move(_M_get_area + _S_putback_length - __npb,
> 28468:     this->gptr() - __npb, __npb);
> 28468: 
> 28468:  streamsize __nbytes = sizeof(_M_get_buf) - _M_unconv;
> 28468:  __nbytes = std::min(__nbytes, _M_buf->in_avail());
> 28468:  if (__nbytes < 1)
> 28468:    __nbytes = 1;
> 28468:  __nbytes = _M_buf->sgetn(_M_get_buf + _M_unconv, __nbytes);
> 28468:  if (__nbytes < 1)
> 28468:    return false;
> 28468:  __nbytes += _M_unconv;
> 28468: 
> 28468: 
> 28468: 
> 28468:  _Elem* __outbuf = _M_get_area + _S_putback_length;
> 28468:  _Elem* __outnext = __outbuf;
> 28468:  const char* __bnext = _M_get_buf;
> 28468: 
> 28468:  codecvt_base::result __result;
> 28468:  if (_M_always_noconv)
> 28468:    __result = codecvt_base::noconv;
> 28468:  else
> 28468:    {
> 28468:      _Elem* __outend = _M_get_area + _S_buffer_length;
> 28468: 
> 28468:      __result = _M_cvt->in(_M_state,
> 28468:       __bnext, __bnext + __nbytes, __bnext,
> 28468:       __outbuf, __outend, __outnext);
> 28468:    }
> 28468: 
> 28468:  if (__result == codecvt_base::noconv)
> 28468:    {
> 28468: 
> 28468:      auto __get_buf = reinterpret_cast<const _Elem*>(_M_get_buf);
> 28468:      _Tr::copy(__outbuf, __get_buf, __nbytes);
> 28468:      _M_unconv = 0;
> 28468:      return true;
> 28468:    }
> 28468: 
> 28468:  if ((_M_unconv = _M_get_buf + __nbytes - __bnext))
> 28468:    char_traits<char>::move(_M_get_buf, __bnext, _M_unconv);
> 28468: 
> 28468:  this->setg(__outbuf, __outbuf, __outnext);
> 28468: 
> 28468:  return __result != codecvt_base::error;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       _M_put(...)
> 28468:       { return false; }
> 28468: 
> 28468:       bool
> 28468:       _M_put(const char* __p, streamsize __n)
> 28468:       {
> 28468:  if (_M_buf->sputn(__p, __n) < __n)
> 28468:    return false;
> 28468:  return true;
> 28468:       }
> 28468: 
> 28468: 
> 28468:       bool
> 28468:       _M_conv_put()
> 28468:       {
> 28468:  _Elem* const __first = this->pbase();
> 28468:  const _Elem* const __last = this->pptr();
> 28468:  const streamsize __pending = __last - __first;
> 28468: 
> 28468:  if (_M_always_noconv)
> 28468:    return _M_put(__first, __pending);
> 28468: 
> 28468:  char __outbuf[2 * _S_buffer_length];
> 28468: 
> 28468:  const _Elem* __next = __first;
> 28468:  const _Elem* __start;
> 28468:  do
> 28468:    {
> 28468:      __start = __next;
> 28468:      char* __outnext = __outbuf;
> 28468:      char* const __outlast = __outbuf + sizeof(__outbuf);
> 28468:      auto __result = _M_cvt->out(_M_state, __next, __last, __next,
> 28468:      __outnext, __outlast, __outnext);
> 28468:      if (__result == codecvt_base::error)
> 28468:        return false;
> 28468:      else if (__result == codecvt_base::noconv)
> 28468:        return _M_put(__next, __pending);
> 28468: 
> 28468:      if (!_M_put(__outbuf, __outnext - __outbuf))
> 28468:        return false;
> 28468:    }
> 28468:  while (__next != __last && __next != __start);
> 28468: 
> 28468:  if (__next != __last)
> 28468:    _Tr::move(__first, __next, __last - __next);
> 28468: 
> 28468:  this->pbump(__first - __next);
> 28468:  return __next != __first;
> 28468:       }
> 28468: 
> 28468:       streambuf* _M_buf;
> 28468:       unique_ptr<_Codecvt> _M_cvt;
> 28468:       state_type _M_state;
> 28468: 
> 28468:       static const streamsize _S_buffer_length = 32;
> 28468:       static const streamsize _S_putback_length = 3;
> 28468:       _Elem _M_put_area[_S_buffer_length];
> 28468:       _Elem _M_get_area[_S_buffer_length];
> 28468:       streamsize _M_unconv = 0;
> 28468:       char _M_get_buf[_S_buffer_length-_S_putback_length];
> 28468:       bool _M_always_noconv;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 44 "/usr/include/c++/9/locale" 2 3
> 28468: # 44 "/usr/include/c++/9/iomanip" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct _Resetiosflags { ios_base::fmtflags _M_mask; };
> 28468: # 65 "/usr/include/c++/9/iomanip" 3
> 28468:   inline _Resetiosflags
> 28468:   resetiosflags(ios_base::fmtflags __mask)
> 28468:   { return { __mask }; }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __is, _Resetiosflags __f)
> 28468:     {
> 28468:       __is.setf(ios_base::fmtflags(0), __f._M_mask);
> 28468:       return __is;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Resetiosflags __f)
> 28468:     {
> 28468:       __os.setf(ios_base::fmtflags(0), __f._M_mask);
> 28468:       return __os;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   struct _Setiosflags { ios_base::fmtflags _M_mask; };
> 28468: # 95 "/usr/include/c++/9/iomanip" 3
> 28468:   inline _Setiosflags
> 28468:   setiosflags(ios_base::fmtflags __mask)
> 28468:   { return { __mask }; }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __is, _Setiosflags __f)
> 28468:     {
> 28468:       __is.setf(__f._M_mask);
> 28468:       return __is;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setiosflags __f)
> 28468:     {
> 28468:       __os.setf(__f._M_mask);
> 28468:       return __os;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   struct _Setbase { int _M_base; };
> 28468: # 126 "/usr/include/c++/9/iomanip" 3
> 28468:   inline _Setbase
> 28468:   setbase(int __base)
> 28468:   { return { __base }; }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __is, _Setbase __f)
> 28468:     {
> 28468:       __is.setf(__f._M_base == 8 ? ios_base::oct :
> 28468:   __f._M_base == 10 ? ios_base::dec :
> 28468:   __f._M_base == 16 ? ios_base::hex :
> 28468:   ios_base::fmtflags(0), ios_base::basefield);
> 28468:       return __is;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setbase __f)
> 28468:     {
> 28468:       __os.setf(__f._M_base == 8 ? ios_base::oct :
> 28468:   __f._M_base == 10 ? ios_base::dec :
> 28468:   __f._M_base == 16 ? ios_base::hex :
> 28468:   ios_base::fmtflags(0), ios_base::basefield);
> 28468:       return __os;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     struct _Setfill { _CharT _M_c; };
> 28468: # 163 "/usr/include/c++/9/iomanip" 3
> 28468:   template<typename _CharT>
> 28468:     inline _Setfill<_CharT>
> 28468:     setfill(_CharT __c)
> 28468:     { return { __c }; }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __is, _Setfill<_CharT> __f)
> 28468:     {
> 28468:       __is.fill(__f._M_c);
> 28468:       return __is;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setfill<_CharT> __f)
> 28468:     {
> 28468:       __os.fill(__f._M_c);
> 28468:       return __os;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   struct _Setprecision { int _M_n; };
> 28468: # 194 "/usr/include/c++/9/iomanip" 3
> 28468:   inline _Setprecision
> 28468:   setprecision(int __n)
> 28468:   { return { __n }; }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __is, _Setprecision __f)
> 28468:     {
> 28468:       __is.precision(__f._M_n);
> 28468:       return __is;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setprecision __f)
> 28468:     {
> 28468:       __os.precision(__f._M_n);
> 28468:       return __os;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   struct _Setw { int _M_n; };
> 28468: # 224 "/usr/include/c++/9/iomanip" 3
> 28468:   inline _Setw
> 28468:   setw(int __n)
> 28468:   { return { __n }; }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __is, _Setw __f)
> 28468:     {
> 28468:       __is.width(__f._M_n);
> 28468:       return __is;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     inline basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Setw __f)
> 28468:     {
> 28468:       __os.width(__f._M_n);
> 28468:       return __os;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _MoneyT>
> 28468:     struct _Get_money { _MoneyT& _M_mon; bool _M_intl; };
> 28468: # 257 "/usr/include/c++/9/iomanip" 3
> 28468:   template<typename _MoneyT>
> 28468:     inline _Get_money<_MoneyT>
> 28468:     get_money(_MoneyT& __mon, bool __intl = false)
> 28468:     { return { __mon, __intl }; }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _MoneyT>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __is, _Get_money<_MoneyT> __f)
> 28468:     {
> 28468:       typename basic_istream<_CharT, _Traits>::sentry __cerb(__is, false);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        typedef istreambuf_iterator<_CharT, _Traits> _Iter;
> 28468:        typedef money_get<_CharT, _Iter> _MoneyGet;
> 28468: 
> 28468:        const _MoneyGet& __mg = use_facet<_MoneyGet>(__is.getloc());
> 28468:        __mg.get(_Iter(__is.rdbuf()), _Iter(), __f._M_intl,
> 28468:          __is, __err, __f._M_mon);
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        __is._M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { __is._M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      __is.setstate(__err);
> 28468:  }
> 28468:       return __is;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _MoneyT>
> 28468:     struct _Put_money { const _MoneyT& _M_mon; bool _M_intl; };
> 28468: # 304 "/usr/include/c++/9/iomanip" 3
> 28468:   template<typename _MoneyT>
> 28468:     inline _Put_money<_MoneyT>
> 28468:     put_money(const _MoneyT& __mon, bool __intl = false)
> 28468:     { return { __mon, __intl }; }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits, typename _MoneyT>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_money<_MoneyT> __f)
> 28468:     {
> 28468:       typename basic_ostream<_CharT, _Traits>::sentry __cerb(__os);
> 28468:       if (__cerb)
> 28468:  {
> 28468:    ios_base::iostate __err = ios_base::goodbit;
> 28468:    try
> 28468:      {
> 28468:        typedef ostreambuf_iterator<_CharT, _Traits> _Iter;
> 28468:        typedef money_put<_CharT, _Iter> _MoneyPut;
> 28468: 
> 28468:        const _MoneyPut& __mp = use_facet<_MoneyPut>(__os.getloc());
> 28468:        if (__mp.put(_Iter(__os.rdbuf()), __f._M_intl, __os,
> 28468:       __os.fill(), __f._M_mon).failed())
> 28468:   __err |= ios_base::badbit;
> 28468:      }
> 28468:    catch(__cxxabiv1::__forced_unwind&)
> 28468:      {
> 28468:        __os._M_setstate(ios_base::badbit);
> 28468:        throw;
> 28468:      }
> 28468:    catch(...)
> 28468:      { __os._M_setstate(ios_base::badbit); }
> 28468:    if (__err)
> 28468:      __os.setstate(__err);
> 28468:  }
> 28468:       return __os;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     struct _Put_time
> 28468:     {
> 28468:       const std::tm* _M_tmb;
> 28468:       const _CharT* _M_fmt;
> 28468:     };
> 28468: # 356 "/usr/include/c++/9/iomanip" 3
> 28468:   template<typename _CharT>
> 28468:     inline _Put_time<_CharT>
> 28468:     put_time(const std::tm* __tmb, const _CharT* __fmt)
> 28468:     { return { __tmb, __fmt }; }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_ostream<_CharT, _Traits>&
> 28468:     operator<<(basic_ostream<_CharT, _Traits>& __os, _Put_time<_CharT> __f)
> 28468:     {
> 28468:       typename basic_ostream<_CharT, _Traits>::sentry __cerb(__os);
> 28468:       if (__cerb)
> 28468:         {
> 28468:           ios_base::iostate __err = ios_base::goodbit;
> 28468:           try
> 28468:             {
> 28468:               typedef ostreambuf_iterator<_CharT, _Traits> _Iter;
> 28468:               typedef time_put<_CharT, _Iter> _TimePut;
> 28468: 
> 28468:               const _CharT* const __fmt_end = __f._M_fmt +
> 28468:                 _Traits::length(__f._M_fmt);
> 28468: 
> 28468:               const _TimePut& __mp = use_facet<_TimePut>(__os.getloc());
> 28468:               if (__mp.put(_Iter(__os.rdbuf()), __os, __os.fill(),
> 28468:                            __f._M_tmb, __f._M_fmt, __fmt_end).failed())
> 28468:                 __err |= ios_base::badbit;
> 28468:             }
> 28468:           catch(__cxxabiv1::__forced_unwind&)
> 28468:             {
> 28468:               __os._M_setstate(ios_base::badbit);
> 28468:               throw;
> 28468:             }
> 28468:           catch(...)
> 28468:             { __os._M_setstate(ios_base::badbit); }
> 28468:           if (__err)
> 28468:             __os.setstate(__err);
> 28468:         }
> 28468:       return __os;
> 28468:     }
> 28468: 
> 28468:   template<typename _CharT>
> 28468:     struct _Get_time
> 28468:     {
> 28468:       std::tm* _M_tmb;
> 28468:       const _CharT* _M_fmt;
> 28468:     };
> 28468: # 411 "/usr/include/c++/9/iomanip" 3
> 28468:   template<typename _CharT>
> 28468:     inline _Get_time<_CharT>
> 28468:     get_time(std::tm* __tmb, const _CharT* __fmt)
> 28468:     { return { __tmb, __fmt }; }
> 28468: 
> 28468:   template<typename _CharT, typename _Traits>
> 28468:     basic_istream<_CharT, _Traits>&
> 28468:     operator>>(basic_istream<_CharT, _Traits>& __is, _Get_time<_CharT> __f)
> 28468:     {
> 28468:       typename basic_istream<_CharT, _Traits>::sentry __cerb(__is, false);
> 28468:       if (__cerb)
> 28468:         {
> 28468:           ios_base::iostate __err = ios_base::goodbit;
> 28468:           try
> 28468:             {
> 28468:               typedef istreambuf_iterator<_CharT, _Traits> _Iter;
> 28468:               typedef time_get<_CharT, _Iter> _TimeGet;
> 28468: 
> 28468:               const _CharT* const __fmt_end = __f._M_fmt +
> 28468:                 _Traits::length(__f._M_fmt);
> 28468: 
> 28468:               const _TimeGet& __mg = use_facet<_TimeGet>(__is.getloc());
> 28468:               __mg.get(_Iter(__is.rdbuf()), _Iter(), __is,
> 28468:                        __err, __f._M_tmb, __f._M_fmt, __fmt_end);
> 28468:             }
> 28468:           catch(__cxxabiv1::__forced_unwind&)
> 28468:             {
> 28468:               __is._M_setstate(ios_base::badbit);
> 28468:               throw;
> 28468:             }
> 28468:           catch(...)
> 28468:             { __is._M_setstate(ios_base::badbit); }
> 28468:           if (__err)
> 28468:             __is.setstate(__err);
> 28468:         }
> 28468:       return __is;
> 28468:     }
> 28468: # 508 "/usr/include/c++/9/iomanip" 3
> 28468:   extern template ostream& operator<<(ostream&, _Setfill<char>);
> 28468:   extern template ostream& operator<<(ostream&, _Setiosflags);
> 28468:   extern template ostream& operator<<(ostream&, _Resetiosflags);
> 28468:   extern template ostream& operator<<(ostream&, _Setbase);
> 28468:   extern template ostream& operator<<(ostream&, _Setprecision);
> 28468:   extern template ostream& operator<<(ostream&, _Setw);
> 28468:   extern template istream& operator>>(istream&, _Setfill<char>);
> 28468:   extern template istream& operator>>(istream&, _Setiosflags);
> 28468:   extern template istream& operator>>(istream&, _Resetiosflags);
> 28468:   extern template istream& operator>>(istream&, _Setbase);
> 28468:   extern template istream& operator>>(istream&, _Setprecision);
> 28468:   extern template istream& operator>>(istream&, _Setw);
> 28468: 
> 28468: 
> 28468:   extern template wostream& operator<<(wostream&, _Setfill<wchar_t>);
> 28468:   extern template wostream& operator<<(wostream&, _Setiosflags);
> 28468:   extern template wostream& operator<<(wostream&, _Resetiosflags);
> 28468:   extern template wostream& operator<<(wostream&, _Setbase);
> 28468:   extern template wostream& operator<<(wostream&, _Setprecision);
> 28468:   extern template wostream& operator<<(wostream&, _Setw);
> 28468:   extern template wistream& operator>>(wistream&, _Setfill<wchar_t>);
> 28468:   extern template wistream& operator>>(wistream&, _Setiosflags);
> 28468:   extern template wistream& operator>>(wistream&, _Resetiosflags);
> 28468:   extern template wistream& operator>>(wistream&, _Setbase);
> 28468:   extern template wistream& operator>>(wistream&, _Setprecision);
> 28468:   extern template wistream& operator>>(wistream&, _Setw);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 27 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h" 2
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 32 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h"
> 28468: using std::string;
> 28468: 
> 28468: namespace HepMC3 {
> 28468: 
> 28468: 
> 28468: class GenEvent;
> 28468: 
> 28468: 
> 28468: class GenRunInfo;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class Attribute {
> 28468: 
> 28468: 
> 28468: 
> 28468: public:
> 28468: 
> 28468: 
> 28468:     Attribute():m_is_parsed(true) { m_event=nullptr; }
> 28468: 
> 28468: 
> 28468:     virtual ~Attribute() {}
> 28468: 
> 28468: protected:
> 28468: # 67 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h"
> 28468:     explicit Attribute(const string &st):m_is_parsed(false),m_string(st) { m_event=nullptr; }
> 28468: 
> 28468: 
> 28468:     friend class GenEvent;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: public:
> 28468: 
> 28468: 
> 28468:     virtual bool from_string(const string & att) = 0;
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual bool init() {
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual bool init(const GenRunInfo & ) {
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     virtual bool to_string(string &att) const = 0;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: public:
> 28468: 
> 28468:     bool is_parsed() const { return m_is_parsed; }
> 28468: 
> 28468: 
> 28468:     const string& unparsed_string() const { return m_string; }
> 28468: 
> 28468: 
> 28468:     const GenEvent * event() const {
> 28468:         return m_event;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     GenParticlePtr particle() {
> 28468:         return m_particle;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     ConstGenParticlePtr particle() const {
> 28468:         return std::const_pointer_cast<GenParticle>(m_particle);
> 28468:     }
> 28468: 
> 28468: 
> 28468:     GenVertexPtr vertex() {
> 28468:         return m_vertex;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     ConstGenVertexPtr vertex() const {
> 28468:         return std::const_pointer_cast<GenVertex>(m_vertex);
> 28468:     }
> 28468: 
> 28468: protected:
> 28468: 
> 28468:     void set_is_parsed(bool flag) { m_is_parsed = flag; }
> 28468: 
> 28468: 
> 28468:     void set_unparsed_string(const string &st) { m_string = st; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: private:
> 28468:     bool m_is_parsed;
> 28468:     string m_string;
> 28468:     const GenEvent * m_event;
> 28468: 
> 28468:     GenParticlePtr m_particle;
> 28468:     GenVertexPtr m_vertex;
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class IntAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     IntAttribute():Attribute(),m_val(0) {}
> 28468: 
> 28468: 
> 28468:     IntAttribute(int val):Attribute(),m_val(val) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         m_val = atoi( att.c_str() );
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         att = std::to_string(m_val);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     int value() const {
> 28468:         return m_val;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const int& i) {
> 28468:         m_val = i;
> 28468:     }
> 28468: 
> 28468: private:
> 28468:     int m_val;
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class LongAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     LongAttribute(): Attribute(), m_val(0) {}
> 28468: 
> 28468: 
> 28468:     LongAttribute(long val): Attribute(), m_val(val) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         m_val = atol( att.c_str() );
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         att = std::to_string(m_val);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     long value() const {
> 28468:         return m_val;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const long& l) {
> 28468:         m_val = l;
> 28468:     }
> 28468: 
> 28468: private:
> 28468: 
> 28468:     long m_val;
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class DoubleAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     DoubleAttribute(): Attribute(), m_val(0.0) {}
> 28468: 
> 28468: 
> 28468:     DoubleAttribute(double val): Attribute(), m_val(val) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         m_val = atof( att.c_str() );
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         std::ostringstream oss;
> 28468:         oss << std::setprecision(std::numeric_limits<double>::digits10)
> 28468:             << m_val;
> 28468:         att = oss.str();
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     double value() const {
> 28468:         return m_val;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const double& d) {
> 28468:         m_val = d;
> 28468:     }
> 28468: 
> 28468: private:
> 28468: 
> 28468:     double m_val;
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class FloatAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     FloatAttribute(): Attribute(), m_val(0.0) {}
> 28468: 
> 28468: 
> 28468:     FloatAttribute(float val): Attribute(), m_val(val) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         m_val = float(atof( att.c_str() ));
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         std::ostringstream oss;
> 28468:         oss << std::setprecision(std::numeric_limits<float>::digits10)
> 28468:             << m_val;
> 28468:         att = oss.str();
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     float value() const {
> 28468:         return m_val;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const float& f) {
> 28468:         m_val = f;
> 28468:     }
> 28468: 
> 28468: private:
> 28468: 
> 28468:     float m_val;
> 28468: };
> 28468: # 336 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h"
> 28468: class StringAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     StringAttribute():Attribute() {}
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     StringAttribute(const string &st):Attribute(st) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         set_unparsed_string(att);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         att = unparsed_string();
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     string value() const {
> 28468:         return unparsed_string();
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const string& s) {
> 28468:         set_unparsed_string(s);
> 28468:     }
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class CharAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     CharAttribute():Attribute(),m_val(0) {}
> 28468: 
> 28468: 
> 28468:     CharAttribute(char val):Attribute(),m_val(val) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         if (att.size())
> 28468:         {
> 28468:             m_val = att.at(0);
> 28468:             return true;
> 28468:         }
> 28468:         return false;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         att = std::to_string(m_val);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     char value() const {
> 28468:         return m_val;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const char& i) {
> 28468:         m_val = i;
> 28468:     }
> 28468: 
> 28468: private:
> 28468:     char m_val;
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class LongLongAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     LongLongAttribute(): Attribute(), m_val(0) {}
> 28468: 
> 28468: 
> 28468:     LongLongAttribute(long long val): Attribute(), m_val(val) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         m_val = atoll( att.c_str() );
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         att = std::to_string(m_val);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     long long value() const {
> 28468:         return m_val;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const long long& l) {
> 28468:         m_val = l;
> 28468:     }
> 28468: 
> 28468: private:
> 28468: 
> 28468:     long long m_val;
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class LongDoubleAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     LongDoubleAttribute(): Attribute(), m_val(0.0) {}
> 28468: 
> 28468: 
> 28468:     LongDoubleAttribute(long double val): Attribute(), m_val(val) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         m_val = strtold( att.c_str(),
> 28468: # 479 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h" 3 4
> 28468:                                     __null
> 28468: # 479 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h"
> 28468:                                         );
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         std::ostringstream oss;
> 28468:         oss << std::setprecision(std::numeric_limits<long double>::digits10)
> 28468:             << m_val;
> 28468:         att = oss.str();
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     long double value() const {
> 28468:         return m_val;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const long double& d) {
> 28468:         m_val = d;
> 28468:     }
> 28468: 
> 28468: private:
> 28468: 
> 28468:     long double m_val;
> 28468: };
> 28468: # 515 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h"
> 28468: class UIntAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     UIntAttribute():Attribute(),m_val(0) {}
> 28468: 
> 28468: 
> 28468:     UIntAttribute(unsigned int val):Attribute(),m_val(val) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         m_val = strtoul(att.c_str(), 
> 28468: # 526 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h" 3 4
> 28468:                                     __null
> 28468: # 526 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h"
> 28468:                                         , 0);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         att = std::to_string(m_val);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     unsigned int value() const {
> 28468:         return m_val;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const unsigned int& i) {
> 28468:         m_val = i;
> 28468:     }
> 28468: 
> 28468: private:
> 28468:     unsigned int m_val;
> 28468: };
> 28468: # 558 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h"
> 28468: class ULongAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     ULongAttribute():Attribute(),m_val(0) {}
> 28468: 
> 28468: 
> 28468:     ULongAttribute(unsigned long val):Attribute(),m_val(val) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         m_val = strtoul(att.c_str(), 
> 28468: # 569 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h" 3 4
> 28468:                                     __null
> 28468: # 569 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h"
> 28468:                                         , 0);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         att = std::to_string(m_val);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     unsigned long value() const {
> 28468:         return m_val;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const unsigned long& i) {
> 28468:         m_val = i;
> 28468:     }
> 28468: 
> 28468: private:
> 28468:     unsigned long m_val;
> 28468: };
> 28468: # 600 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h"
> 28468: class ULongLongAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     ULongLongAttribute():Attribute(),m_val(0) {}
> 28468: 
> 28468: 
> 28468:     ULongLongAttribute(unsigned long long val):Attribute(),m_val(val) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         m_val = strtoull(att.c_str(), 
> 28468: # 611 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h" 3 4
> 28468:                                      __null
> 28468: # 611 "/<<PKGBUILDDIR>>/include/HepMC3/Attribute.h"
> 28468:                                          , 0);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         att = std::to_string(m_val);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     unsigned long long value() const {
> 28468:         return m_val;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const unsigned long long& i) {
> 28468:         m_val = i;
> 28468:     }
> 28468: 
> 28468: private:
> 28468:     unsigned long long m_val;
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class BoolAttribute : public Attribute {
> 28468: public:
> 28468: 
> 28468: 
> 28468:     BoolAttribute():Attribute(),m_val(false) {}
> 28468: 
> 28468: 
> 28468:     BoolAttribute(bool val):Attribute(),m_val(val) {}
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att) {
> 28468:         if (att.size()!=1) return false;
> 28468:         if(att==std::string("1")) {m_val = true; return true;}
> 28468:         if(att==std::string("0")) {m_val = false; return true;}
> 28468:         return false;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const {
> 28468:         att = std::to_string(m_val);
> 28468:         return true;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool value() const {
> 28468:         return m_val;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void set_value(const bool& i) {
> 28468:         m_val = i;
> 28468:     }
> 28468: 
> 28468: private:
> 28468:     bool m_val;
> 28468: };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 23 "/<<PKGBUILDDIR>>/include/HepMC3/GenHeavyIon.h" 2
> 28468: 
> 28468: namespace HepMC3 {
> 28468: using namespace std;
> 28468: 
> 28468: class GenHeavyIon : public Attribute {
> 28468: 
> 28468: public:
> 28468: 
> 28468: 
> 28468:     GenHeavyIon()
> 28468:         : Ncoll_hard(-1), Npart_proj(-1), Npart_targ(-1), Ncoll(-1),
> 28468: 
> 28468:           spectator_neutrons(-1), spectator_protons(-1),
> 28468: 
> 28468:           N_Nwounded_collisions(-1), Nwounded_N_collisions(-1),
> 28468:           Nwounded_Nwounded_collisions(-1), impact_parameter(-1.0),
> 28468:           event_plane_angle(-1.0),
> 28468: 
> 28468:           eccentricity(-1.0),
> 28468: 
> 28468:           sigma_inel_NN(-1.0), centrality(-1.0), user_cent_estimate(-1.0),
> 28468:           Nspec_proj_n(-1), Nspec_targ_n(-1),
> 28468:           Nspec_proj_p(-1), Nspec_targ_p(-1), forceoldformat(false) {}
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int Ncoll_hard;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int Npart_proj;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int Npart_targ;
> 28468: # 81 "/<<PKGBUILDDIR>>/include/HepMC3/GenHeavyIon.h"
> 28468:     int Ncoll;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int spectator_neutrons;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int spectator_protons;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int N_Nwounded_collisions;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int Nwounded_N_collisions;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int Nwounded_Nwounded_collisions;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     double impact_parameter;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     double event_plane_angle;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     double eccentricity;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     double sigma_inel_NN;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     double centrality;
> 28468: # 158 "/<<PKGBUILDDIR>>/include/HepMC3/GenHeavyIon.h"
> 28468:     double user_cent_estimate;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int Nspec_proj_n;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int Nspec_targ_n;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int Nspec_proj_p;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     int Nspec_targ_p;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     map<int,double> participant_plane_angles;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     map<int,double> eccentricities;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: public:
> 28468: 
> 28468: 
> 28468:     bool from_string(const string &att);
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     bool operator==( const GenHeavyIon& ) const;
> 28468: 
> 28468: 
> 28468:     bool operator!=( const GenHeavyIon& ) const;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void set( const int&nh, const int&np, const int&nt, const int&nc, const int&ns, const int&nsp,
> 28468:               const int&nnw=0, const int&nwn=0, const int&nwnw=0,
> 28468:               const double& im=0., const double& pl=0., const double& ec=0., const double& s=0., const double& cent=0., const double& ucent=0. );
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     bool is_valid() const;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     bool forceoldformat;
> 28468: 
> 28468: 
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: typedef GenHeavyIon HeavyIon;
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 23 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/GenPdfInfo.h" 1
> 28468: # 30 "/<<PKGBUILDDIR>>/include/HepMC3/GenPdfInfo.h"
> 28468: namespace HepMC3 {
> 28468: 
> 28468: class GenPdfInfo : public Attribute {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: public:
> 28468:     int parton_id[2];
> 28468:     int pdf_id[2];
> 28468:     double scale;
> 28468:     double x[2];
> 28468:     double xf[2];
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: public:
> 28468: 
> 28468:     bool from_string(const string &att);
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const;
> 28468: 
> 28468: 
> 28468:     void set( const int& parton_id1, const int& parton_id2, const double& x1, const double& x2,
> 28468:               const double& scale_in, const double& xf1, const double& xf2,
> 28468:               const int& pdf_id1 = 0, const int& pdf_id2 = 0 );
> 28468: 
> 28468:     bool operator==( const GenPdfInfo& ) const;
> 28468:     bool operator!=( const GenPdfInfo& ) const;
> 28468:     bool is_valid() const;
> 28468: };
> 28468: 
> 28468: }
> 28468: # 24 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/GenCrossSection.h" 1
> 28468: # 35 "/<<PKGBUILDDIR>>/include/HepMC3/GenCrossSection.h"
> 28468: # 1 "/usr/include/c++/9/algorithm" 1 3
> 28468: # 58 "/usr/include/c++/9/algorithm" 3
> 28468:        
> 28468: # 59 "/usr/include/c++/9/algorithm" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/stl_algo.h" 1 3
> 28468: # 59 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468: # 1 "/usr/include/c++/9/cstdlib" 1 3
> 28468: # 39 "/usr/include/c++/9/cstdlib" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/cstdlib" 3
> 28468: # 60 "/usr/include/c++/9/bits/stl_algo.h" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/algorithmfwd.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/algorithmfwd.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/algorithmfwd.h" 3
> 28468: # 42 "/usr/include/c++/9/bits/algorithmfwd.h" 3
> 28468: 
> 28468: # 42 "/usr/include/c++/9/bits/algorithmfwd.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 195 "/usr/include/c++/9/bits/algorithmfwd.h" 3
> 28468:   template<typename _IIter, typename _Predicate>
> 28468:     bool
> 28468:     all_of(_IIter, _IIter, _Predicate);
> 28468: 
> 28468:   template<typename _IIter, typename _Predicate>
> 28468:     bool
> 28468:     any_of(_IIter, _IIter, _Predicate);
> 28468: 
> 28468: 
> 28468:   template<typename _FIter, typename _Tp>
> 28468:     bool
> 28468:     binary_search(_FIter, _FIter, const _Tp&);
> 28468: 
> 28468:   template<typename _FIter, typename _Tp, typename _Compare>
> 28468:     bool
> 28468:     binary_search(_FIter, _FIter, const _Tp&, _Compare);
> 28468: # 224 "/usr/include/c++/9/bits/algorithmfwd.h" 3
> 28468:   template<typename _IIter, typename _OIter>
> 28468:     _OIter
> 28468:     copy(_IIter, _IIter, _OIter);
> 28468: 
> 28468:   template<typename _BIter1, typename _BIter2>
> 28468:     _BIter2
> 28468:     copy_backward(_BIter1, _BIter1, _BIter2);
> 28468: 
> 28468: 
> 28468:   template<typename _IIter, typename _OIter, typename _Predicate>
> 28468:     _OIter
> 28468:     copy_if(_IIter, _IIter, _OIter, _Predicate);
> 28468: 
> 28468:   template<typename _IIter, typename _Size, typename _OIter>
> 28468:     _OIter
> 28468:     copy_n(_IIter, _Size, _OIter);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _FIter, typename _Tp>
> 28468:     pair<_FIter, _FIter>
> 28468:     equal_range(_FIter, _FIter, const _Tp&);
> 28468: 
> 28468:   template<typename _FIter, typename _Tp, typename _Compare>
> 28468:     pair<_FIter, _FIter>
> 28468:     equal_range(_FIter, _FIter, const _Tp&, _Compare);
> 28468: 
> 28468:   template<typename _FIter, typename _Tp>
> 28468:     void
> 28468:     fill(_FIter, _FIter, const _Tp&);
> 28468: 
> 28468:   template<typename _OIter, typename _Size, typename _Tp>
> 28468:     _OIter
> 28468:     fill_n(_OIter, _Size, const _Tp&);
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _FIter1, typename _FIter2>
> 28468:     _FIter1
> 28468:     find_end(_FIter1, _FIter1, _FIter2, _FIter2);
> 28468: 
> 28468:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
> 28468:     _FIter1
> 28468:     find_end(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _IIter, typename _Predicate>
> 28468:     _IIter
> 28468:     find_if_not(_IIter, _IIter, _Predicate);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2>
> 28468:     bool
> 28468:     includes(_IIter1, _IIter1, _IIter2, _IIter2);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _Compare>
> 28468:     bool
> 28468:     includes(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
> 28468: 
> 28468:   template<typename _BIter>
> 28468:     void
> 28468:     inplace_merge(_BIter, _BIter, _BIter);
> 28468: 
> 28468:   template<typename _BIter, typename _Compare>
> 28468:     void
> 28468:     inplace_merge(_BIter, _BIter, _BIter, _Compare);
> 28468: 
> 28468: 
> 28468:   template<typename _RAIter>
> 28468:     bool
> 28468:     is_heap(_RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _RAIter, typename _Compare>
> 28468:     bool
> 28468:     is_heap(_RAIter, _RAIter, _Compare);
> 28468: 
> 28468:   template<typename _RAIter>
> 28468:     _RAIter
> 28468:     is_heap_until(_RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _RAIter, typename _Compare>
> 28468:     _RAIter
> 28468:     is_heap_until(_RAIter, _RAIter, _Compare);
> 28468: 
> 28468:   template<typename _IIter, typename _Predicate>
> 28468:     bool
> 28468:     is_partitioned(_IIter, _IIter, _Predicate);
> 28468: 
> 28468:   template<typename _FIter1, typename _FIter2>
> 28468:     bool
> 28468:     is_permutation(_FIter1, _FIter1, _FIter2);
> 28468: 
> 28468:   template<typename _FIter1, typename _FIter2,
> 28468:     typename _BinaryPredicate>
> 28468:     bool
> 28468:     is_permutation(_FIter1, _FIter1, _FIter2, _BinaryPredicate);
> 28468: 
> 28468:   template<typename _FIter>
> 28468:     bool
> 28468:     is_sorted(_FIter, _FIter);
> 28468: 
> 28468:   template<typename _FIter, typename _Compare>
> 28468:     bool
> 28468:     is_sorted(_FIter, _FIter, _Compare);
> 28468: 
> 28468:   template<typename _FIter>
> 28468:     _FIter
> 28468:     is_sorted_until(_FIter, _FIter);
> 28468: 
> 28468:   template<typename _FIter, typename _Compare>
> 28468:     _FIter
> 28468:     is_sorted_until(_FIter, _FIter, _Compare);
> 28468: 
> 28468: 
> 28468:   template<typename _FIter1, typename _FIter2>
> 28468:     void
> 28468:     iter_swap(_FIter1, _FIter2);
> 28468: 
> 28468:   template<typename _FIter, typename _Tp>
> 28468:     _FIter
> 28468:     lower_bound(_FIter, _FIter, const _Tp&);
> 28468: 
> 28468:   template<typename _FIter, typename _Tp, typename _Compare>
> 28468:     _FIter
> 28468:     lower_bound(_FIter, _FIter, const _Tp&, _Compare);
> 28468: 
> 28468:   template<typename _RAIter>
> 28468:     void
> 28468:     make_heap(_RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _RAIter, typename _Compare>
> 28468:     void
> 28468:     make_heap(_RAIter, _RAIter, _Compare);
> 28468: 
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     const _Tp&
> 28468:     max(const _Tp&, const _Tp&);
> 28468: 
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     const _Tp&
> 28468:     max(const _Tp&, const _Tp&, _Compare);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     const _Tp&
> 28468:     min(const _Tp&, const _Tp&);
> 28468: 
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     const _Tp&
> 28468:     min(const _Tp&, const _Tp&, _Compare);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     pair<const _Tp&, const _Tp&>
> 28468:     minmax(const _Tp&, const _Tp&);
> 28468: 
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     pair<const _Tp&, const _Tp&>
> 28468:     minmax(const _Tp&, const _Tp&, _Compare);
> 28468: 
> 28468:   template<typename _FIter>
> 28468:    
> 28468:     pair<_FIter, _FIter>
> 28468:     minmax_element(_FIter, _FIter);
> 28468: 
> 28468:   template<typename _FIter, typename _Compare>
> 28468:    
> 28468:     pair<_FIter, _FIter>
> 28468:     minmax_element(_FIter, _FIter, _Compare);
> 28468: 
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     _Tp
> 28468:     min(initializer_list<_Tp>);
> 28468: 
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     _Tp
> 28468:     min(initializer_list<_Tp>, _Compare);
> 28468: 
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     _Tp
> 28468:     max(initializer_list<_Tp>);
> 28468: 
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     _Tp
> 28468:     max(initializer_list<_Tp>, _Compare);
> 28468: 
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     pair<_Tp, _Tp>
> 28468:     minmax(initializer_list<_Tp>);
> 28468: 
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     pair<_Tp, _Tp>
> 28468:     minmax(initializer_list<_Tp>, _Compare);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _BIter>
> 28468:     bool
> 28468:     next_permutation(_BIter, _BIter);
> 28468: 
> 28468:   template<typename _BIter, typename _Compare>
> 28468:     bool
> 28468:     next_permutation(_BIter, _BIter, _Compare);
> 28468: 
> 28468: 
> 28468:   template<typename _IIter, typename _Predicate>
> 28468:     bool
> 28468:     none_of(_IIter, _IIter, _Predicate);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _IIter, typename _RAIter>
> 28468:     _RAIter
> 28468:     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _IIter, typename _RAIter, typename _Compare>
> 28468:     _RAIter
> 28468:     partial_sort_copy(_IIter, _IIter, _RAIter, _RAIter, _Compare);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _IIter, typename _OIter1,
> 28468:     typename _OIter2, typename _Predicate>
> 28468:     pair<_OIter1, _OIter2>
> 28468:     partition_copy(_IIter, _IIter, _OIter1, _OIter2, _Predicate);
> 28468: 
> 28468:   template<typename _FIter, typename _Predicate>
> 28468:     _FIter
> 28468:     partition_point(_FIter, _FIter, _Predicate);
> 28468: 
> 28468: 
> 28468:   template<typename _RAIter>
> 28468:     void
> 28468:     pop_heap(_RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _RAIter, typename _Compare>
> 28468:     void
> 28468:     pop_heap(_RAIter, _RAIter, _Compare);
> 28468: 
> 28468:   template<typename _BIter>
> 28468:     bool
> 28468:     prev_permutation(_BIter, _BIter);
> 28468: 
> 28468:   template<typename _BIter, typename _Compare>
> 28468:     bool
> 28468:     prev_permutation(_BIter, _BIter, _Compare);
> 28468: 
> 28468:   template<typename _RAIter>
> 28468:     void
> 28468:     push_heap(_RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _RAIter, typename _Compare>
> 28468:     void
> 28468:     push_heap(_RAIter, _RAIter, _Compare);
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _FIter, typename _Tp>
> 28468:     _FIter
> 28468:     remove(_FIter, _FIter, const _Tp&);
> 28468: 
> 28468:   template<typename _FIter, typename _Predicate>
> 28468:     _FIter
> 28468:     remove_if(_FIter, _FIter, _Predicate);
> 28468: 
> 28468:   template<typename _IIter, typename _OIter, typename _Tp>
> 28468:     _OIter
> 28468:     remove_copy(_IIter, _IIter, _OIter, const _Tp&);
> 28468: 
> 28468:   template<typename _IIter, typename _OIter, typename _Predicate>
> 28468:     _OIter
> 28468:     remove_copy_if(_IIter, _IIter, _OIter, _Predicate);
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _IIter, typename _OIter, typename _Tp>
> 28468:     _OIter
> 28468:     replace_copy(_IIter, _IIter, _OIter, const _Tp&, const _Tp&);
> 28468: 
> 28468:   template<typename _Iter, typename _OIter, typename _Predicate, typename _Tp>
> 28468:     _OIter
> 28468:     replace_copy_if(_Iter, _Iter, _OIter, _Predicate, const _Tp&);
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _BIter>
> 28468:     void
> 28468:     reverse(_BIter, _BIter);
> 28468: 
> 28468:   template<typename _BIter, typename _OIter>
> 28468:     _OIter
> 28468:     reverse_copy(_BIter, _BIter, _OIter);
> 28468: 
> 28468:   inline namespace _V2
> 28468:   {
> 28468:     template<typename _FIter>
> 28468:       _FIter
> 28468:       rotate(_FIter, _FIter, _FIter);
> 28468:   }
> 28468: 
> 28468:   template<typename _FIter, typename _OIter>
> 28468:     _OIter
> 28468:     rotate_copy(_FIter, _FIter, _FIter, _OIter);
> 28468: # 565 "/usr/include/c++/9/bits/algorithmfwd.h" 3
> 28468:   template<typename _RAIter, typename _UGenerator>
> 28468:     void
> 28468:     shuffle(_RAIter, _RAIter, _UGenerator&&);
> 28468: 
> 28468: 
> 28468:   template<typename _RAIter>
> 28468:     void
> 28468:     sort_heap(_RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _RAIter, typename _Compare>
> 28468:     void
> 28468:     sort_heap(_RAIter, _RAIter, _Compare);
> 28468: 
> 28468:   template<typename _BIter, typename _Predicate>
> 28468:     _BIter
> 28468:     stable_partition(_BIter, _BIter, _Predicate);
> 28468: # 594 "/usr/include/c++/9/bits/algorithmfwd.h" 3
> 28468:   template<typename _FIter1, typename _FIter2>
> 28468:     _FIter2
> 28468:     swap_ranges(_FIter1, _FIter1, _FIter2);
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _FIter>
> 28468:     _FIter
> 28468:     unique(_FIter, _FIter);
> 28468: 
> 28468:   template<typename _FIter, typename _BinaryPredicate>
> 28468:     _FIter
> 28468:     unique(_FIter, _FIter, _BinaryPredicate);
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _FIter, typename _Tp>
> 28468:     _FIter
> 28468:     upper_bound(_FIter, _FIter, const _Tp&);
> 28468: 
> 28468:   template<typename _FIter, typename _Tp, typename _Compare>
> 28468:     _FIter
> 28468:     upper_bound(_FIter, _FIter, const _Tp&, _Compare);
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _FIter>
> 28468:     _FIter
> 28468:     adjacent_find(_FIter, _FIter);
> 28468: 
> 28468:   template<typename _FIter, typename _BinaryPredicate>
> 28468:     _FIter
> 28468:     adjacent_find(_FIter, _FIter, _BinaryPredicate);
> 28468: 
> 28468:   template<typename _IIter, typename _Tp>
> 28468:     typename iterator_traits<_IIter>::difference_type
> 28468:     count(_IIter, _IIter, const _Tp&);
> 28468: 
> 28468:   template<typename _IIter, typename _Predicate>
> 28468:     typename iterator_traits<_IIter>::difference_type
> 28468:     count_if(_IIter, _IIter, _Predicate);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2>
> 28468:     bool
> 28468:     equal(_IIter1, _IIter1, _IIter2);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
> 28468:     bool
> 28468:     equal(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
> 28468: 
> 28468:   template<typename _IIter, typename _Tp>
> 28468:     _IIter
> 28468:     find(_IIter, _IIter, const _Tp&);
> 28468: 
> 28468:   template<typename _FIter1, typename _FIter2>
> 28468:     _FIter1
> 28468:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2);
> 28468: 
> 28468:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
> 28468:     _FIter1
> 28468:     find_first_of(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
> 28468: 
> 28468:   template<typename _IIter, typename _Predicate>
> 28468:     _IIter
> 28468:     find_if(_IIter, _IIter, _Predicate);
> 28468: 
> 28468:   template<typename _IIter, typename _Funct>
> 28468:     _Funct
> 28468:     for_each(_IIter, _IIter, _Funct);
> 28468: 
> 28468:   template<typename _FIter, typename _Generator>
> 28468:     void
> 28468:     generate(_FIter, _FIter, _Generator);
> 28468: 
> 28468:   template<typename _OIter, typename _Size, typename _Generator>
> 28468:     _OIter
> 28468:     generate_n(_OIter, _Size, _Generator);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2>
> 28468:     bool
> 28468:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _Compare>
> 28468:     bool
> 28468:     lexicographical_compare(_IIter1, _IIter1, _IIter2, _IIter2, _Compare);
> 28468: 
> 28468:   template<typename _FIter>
> 28468:    
> 28468:     _FIter
> 28468:     max_element(_FIter, _FIter);
> 28468: 
> 28468:   template<typename _FIter, typename _Compare>
> 28468:    
> 28468:     _FIter
> 28468:     max_element(_FIter, _FIter, _Compare);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _OIter>
> 28468:     _OIter
> 28468:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _OIter,
> 28468:     typename _Compare>
> 28468:     _OIter
> 28468:     merge(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
> 28468: 
> 28468:   template<typename _FIter>
> 28468:    
> 28468:     _FIter
> 28468:     min_element(_FIter, _FIter);
> 28468: 
> 28468:   template<typename _FIter, typename _Compare>
> 28468:    
> 28468:     _FIter
> 28468:     min_element(_FIter, _FIter, _Compare);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2>
> 28468:     pair<_IIter1, _IIter2>
> 28468:     mismatch(_IIter1, _IIter1, _IIter2);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _BinaryPredicate>
> 28468:     pair<_IIter1, _IIter2>
> 28468:     mismatch(_IIter1, _IIter1, _IIter2, _BinaryPredicate);
> 28468: 
> 28468:   template<typename _RAIter>
> 28468:     void
> 28468:     nth_element(_RAIter, _RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _RAIter, typename _Compare>
> 28468:     void
> 28468:     nth_element(_RAIter, _RAIter, _RAIter, _Compare);
> 28468: 
> 28468:   template<typename _RAIter>
> 28468:     void
> 28468:     partial_sort(_RAIter, _RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _RAIter, typename _Compare>
> 28468:     void
> 28468:     partial_sort(_RAIter, _RAIter, _RAIter, _Compare);
> 28468: 
> 28468:   template<typename _BIter, typename _Predicate>
> 28468:     _BIter
> 28468:     partition(_BIter, _BIter, _Predicate);
> 28468: 
> 28468:   template<typename _RAIter>
> 28468:     void
> 28468:     random_shuffle(_RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _RAIter, typename _Generator>
> 28468:     void
> 28468:     random_shuffle(_RAIter, _RAIter,
> 28468: 
> 28468:      _Generator&&);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _FIter, typename _Tp>
> 28468:     void
> 28468:     replace(_FIter, _FIter, const _Tp&, const _Tp&);
> 28468: 
> 28468:   template<typename _FIter, typename _Predicate, typename _Tp>
> 28468:     void
> 28468:     replace_if(_FIter, _FIter, _Predicate, const _Tp&);
> 28468: 
> 28468:   template<typename _FIter1, typename _FIter2>
> 28468:     _FIter1
> 28468:     search(_FIter1, _FIter1, _FIter2, _FIter2);
> 28468: 
> 28468:   template<typename _FIter1, typename _FIter2, typename _BinaryPredicate>
> 28468:     _FIter1
> 28468:     search(_FIter1, _FIter1, _FIter2, _FIter2, _BinaryPredicate);
> 28468: 
> 28468:   template<typename _FIter, typename _Size, typename _Tp>
> 28468:     _FIter
> 28468:     search_n(_FIter, _FIter, _Size, const _Tp&);
> 28468: 
> 28468:   template<typename _FIter, typename _Size, typename _Tp,
> 28468:     typename _BinaryPredicate>
> 28468:     _FIter
> 28468:     search_n(_FIter, _FIter, _Size, const _Tp&, _BinaryPredicate);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _OIter>
> 28468:     _OIter
> 28468:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _OIter,
> 28468:     typename _Compare>
> 28468:     _OIter
> 28468:     set_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _OIter>
> 28468:     _OIter
> 28468:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _OIter,
> 28468:     typename _Compare>
> 28468:     _OIter
> 28468:     set_intersection(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _OIter>
> 28468:     _OIter
> 28468:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _OIter,
> 28468:     typename _Compare>
> 28468:     _OIter
> 28468:     set_symmetric_difference(_IIter1, _IIter1, _IIter2, _IIter2,
> 28468:         _OIter, _Compare);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _OIter>
> 28468:     _OIter
> 28468:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _OIter,
> 28468:     typename _Compare>
> 28468:     _OIter
> 28468:     set_union(_IIter1, _IIter1, _IIter2, _IIter2, _OIter, _Compare);
> 28468: 
> 28468:   template<typename _RAIter>
> 28468:     void
> 28468:     sort(_RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _RAIter, typename _Compare>
> 28468:     void
> 28468:     sort(_RAIter, _RAIter, _Compare);
> 28468: 
> 28468:   template<typename _RAIter>
> 28468:     void
> 28468:     stable_sort(_RAIter, _RAIter);
> 28468: 
> 28468:   template<typename _RAIter, typename _Compare>
> 28468:     void
> 28468:     stable_sort(_RAIter, _RAIter, _Compare);
> 28468: 
> 28468:   template<typename _IIter, typename _OIter, typename _UnaryOperation>
> 28468:     _OIter
> 28468:     transform(_IIter, _IIter, _OIter, _UnaryOperation);
> 28468: 
> 28468:   template<typename _IIter1, typename _IIter2, typename _OIter,
> 28468:     typename _BinaryOperation>
> 28468:     _OIter
> 28468:     transform(_IIter1, _IIter1, _IIter2, _OIter, _BinaryOperation);
> 28468: 
> 28468:   template<typename _IIter, typename _OIter>
> 28468:     _OIter
> 28468:     unique_copy(_IIter, _IIter, _OIter);
> 28468: 
> 28468:   template<typename _IIter, typename _OIter, typename _BinaryPredicate>
> 28468:     _OIter
> 28468:     unique_copy(_IIter, _IIter, _OIter, _BinaryPredicate);
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 61 "/usr/include/c++/9/bits/stl_algo.h" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/stl_heap.h" 1 3
> 28468: # 62 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Distance,
> 28468:     typename _Compare>
> 28468:     _Distance
> 28468:     __is_heap_until(_RandomAccessIterator __first, _Distance __n,
> 28468:       _Compare& __comp)
> 28468:     {
> 28468:       _Distance __parent = 0;
> 28468:       for (_Distance __child = 1; __child < __n; ++__child)
> 28468:  {
> 28468:    if (__comp(__first + __parent, __first + __child))
> 28468:      return __child;
> 28468:    if ((__child & 1) == 0)
> 28468:      ++__parent;
> 28468:  }
> 28468:       return __n;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Distance>
> 28468:     inline bool
> 28468:     __is_heap(_RandomAccessIterator __first, _Distance __n)
> 28468:     {
> 28468:       __gnu_cxx::__ops::_Iter_less_iter __comp;
> 28468:       return std::__is_heap_until(__first, __n, __comp) == __n;
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare,
> 28468:     typename _Distance>
> 28468:     inline bool
> 28468:     __is_heap(_RandomAccessIterator __first, _Compare __comp, _Distance __n)
> 28468:     {
> 28468:       typedef __decltype(__comp) _Cmp;
> 28468:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
> 28468:       return std::__is_heap_until(__first, __n, __cmp) == __n;
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline bool
> 28468:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
> 28468:     { return std::__is_heap(__first, std::distance(__first, __last)); }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline bool
> 28468:     __is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:        _Compare __comp)
> 28468:     {
> 28468:       return std::__is_heap(__first, std::move(__comp),
> 28468:        std::distance(__first, __last));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Distance, typename _Tp,
> 28468:     typename _Compare>
> 28468:     void
> 28468:     __push_heap(_RandomAccessIterator __first,
> 28468:   _Distance __holeIndex, _Distance __topIndex, _Tp __value,
> 28468:   _Compare& __comp)
> 28468:     {
> 28468:       _Distance __parent = (__holeIndex - 1) / 2;
> 28468:       while (__holeIndex > __topIndex && __comp(__first + __parent, __value))
> 28468:  {
> 28468:    *(__first + __holeIndex) = std::move(*(__first + __parent));
> 28468:    __holeIndex = __parent;
> 28468:    __parent = (__holeIndex - 1) / 2;
> 28468:  }
> 28468:       *(__first + __holeIndex) = std::move(__value);
> 28468:     }
> 28468: # 152 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline void
> 28468:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
> 28468:     {
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
> 28468:    _ValueType;
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
> 28468:    _DistanceType;
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       __gnu_cxx::__ops::_Iter_less_val __comp;
> 28468:       _ValueType __value = std::move(*(__last - 1));
> 28468:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
> 28468:          _DistanceType(0), std::move(__value), __comp);
> 28468:     }
> 28468: # 187 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     push_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:        _Compare __comp)
> 28468:     {
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
> 28468:    _ValueType;
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
> 28468:    _DistanceType;
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp)))
> 28468:  __cmp(std::move(__comp));
> 28468:       _ValueType __value = std::move(*(__last - 1));
> 28468:       std::__push_heap(__first, _DistanceType((__last - __first) - 1),
> 28468:          _DistanceType(0), std::move(__value), __cmp);
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Distance,
> 28468:     typename _Tp, typename _Compare>
> 28468:     void
> 28468:     __adjust_heap(_RandomAccessIterator __first, _Distance __holeIndex,
> 28468:     _Distance __len, _Tp __value, _Compare __comp)
> 28468:     {
> 28468:       const _Distance __topIndex = __holeIndex;
> 28468:       _Distance __secondChild = __holeIndex;
> 28468:       while (__secondChild < (__len - 1) / 2)
> 28468:  {
> 28468:    __secondChild = 2 * (__secondChild + 1);
> 28468:    if (__comp(__first + __secondChild,
> 28468:        __first + (__secondChild - 1)))
> 28468:      __secondChild--;
> 28468:    *(__first + __holeIndex) = std::move(*(__first + __secondChild));
> 28468:    __holeIndex = __secondChild;
> 28468:  }
> 28468:       if ((__len & 1) == 0 && __secondChild == (__len - 2) / 2)
> 28468:  {
> 28468:    __secondChild = 2 * (__secondChild + 1);
> 28468:    *(__first + __holeIndex) = std::move(*(__first + (__secondChild - 1)))
> 28468:                                   ;
> 28468:    __holeIndex = __secondChild - 1;
> 28468:  }
> 28468:       __decltype(__gnu_cxx::__ops::__iter_comp_val(std::move(__comp)))
> 28468:  __cmp(std::move(__comp));
> 28468:       std::__push_heap(__first, __holeIndex, __topIndex,
> 28468:          std::move(__value), __cmp);
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     __pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:         _RandomAccessIterator __result, _Compare& __comp)
> 28468:     {
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
> 28468:  _ValueType;
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
> 28468:  _DistanceType;
> 28468: 
> 28468:       _ValueType __value = std::move(*__result);
> 28468:       *__result = std::move(*__first);
> 28468:       std::__adjust_heap(__first, _DistanceType(0),
> 28468:     _DistanceType(__last - __first),
> 28468:     std::move(__value), __comp);
> 28468:     }
> 28468: # 269 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline void
> 28468:     pop_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       if (__last - __first > 1)
> 28468:  {
> 28468:    --__last;
> 28468:    __gnu_cxx::__ops::_Iter_less_iter __comp;
> 28468:    std::__pop_heap(__first, __last, __last, __comp);
> 28468:  }
> 28468:     }
> 28468: # 302 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     pop_heap(_RandomAccessIterator __first,
> 28468:       _RandomAccessIterator __last, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       if (__last - __first > 1)
> 28468:  {
> 28468:    typedef __decltype(__comp) _Cmp;
> 28468:    __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
> 28468:    --__last;
> 28468:    std::__pop_heap(__first, __last, __last, __cmp);
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     void
> 28468:     __make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:   _Compare& __comp)
> 28468:     {
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
> 28468:    _ValueType;
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
> 28468:    _DistanceType;
> 28468: 
> 28468:       if (__last - __first < 2)
> 28468:  return;
> 28468: 
> 28468:       const _DistanceType __len = __last - __first;
> 28468:       _DistanceType __parent = (__len - 2) / 2;
> 28468:       while (true)
> 28468:  {
> 28468:    _ValueType __value = std::move(*(__first + __parent));
> 28468:    std::__adjust_heap(__first, __parent, __len, std::move(__value),
> 28468:         __comp);
> 28468:    if (__parent == 0)
> 28468:      return;
> 28468:    __parent--;
> 28468:  }
> 28468:     }
> 28468: # 358 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline void
> 28468:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       __gnu_cxx::__ops::_Iter_less_iter __comp;
> 28468:       std::__make_heap(__first, __last, __comp);
> 28468:     }
> 28468: # 384 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     make_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:        _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       typedef __decltype(__comp) _Cmp;
> 28468:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
> 28468:       std::__make_heap(__first, __last, __cmp);
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     void
> 28468:     __sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:   _Compare& __comp)
> 28468:     {
> 28468:       while (__last - __first > 1)
> 28468:  {
> 28468:    --__last;
> 28468:    std::__pop_heap(__first, __last, __last, __comp);
> 28468:  }
> 28468:     }
> 28468: # 420 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline void
> 28468:     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       __gnu_cxx::__ops::_Iter_less_iter __comp;
> 28468:       std::__sort_heap(__first, __last, __comp);
> 28468:     }
> 28468: # 447 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     sort_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:        _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       typedef __decltype(__comp) _Cmp;
> 28468:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
> 28468:       std::__sort_heap(__first, __last, __cmp);
> 28468:     }
> 28468: # 475 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline _RandomAccessIterator
> 28468:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       __gnu_cxx::__ops::_Iter_less_iter __comp;
> 28468:       return __first +
> 28468:  std::__is_heap_until(__first, std::distance(__first, __last), __comp);
> 28468:     }
> 28468: # 503 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline _RandomAccessIterator
> 28468:     is_heap_until(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:     _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       typedef __decltype(__comp) _Cmp;
> 28468:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
> 28468:       return __first
> 28468:  + std::__is_heap_until(__first, std::distance(__first, __last), __cmp);
> 28468:     }
> 28468: # 527 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline bool
> 28468:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last)
> 28468:     { return std::is_heap_until(__first, __last) == __last; }
> 28468: # 540 "/usr/include/c++/9/bits/stl_heap.h" 3
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline bool
> 28468:     is_heap(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:      _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       const auto __dist = std::distance(__first, __last);
> 28468:       typedef __decltype(__comp) _Cmp;
> 28468:       __gnu_cxx::__ops::_Iter_comp_iter<_Cmp> __cmp(std::move(__comp));
> 28468:       return std::__is_heap_until(__first, __dist, __cmp) == __dist;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 62 "/usr/include/c++/9/bits/stl_algo.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/uniform_int_dist.h" 1 3
> 28468: # 37 "/usr/include/c++/9/bits/uniform_int_dist.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468:   namespace __detail
> 28468:   {
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       inline bool
> 28468:       _Power_of_2(_Tp __x)
> 28468:       {
> 28468:  return ((__x - 1) & __x) == 0;
> 28468:       }
> 28468:   }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _IntType = int>
> 28468:     class uniform_int_distribution
> 28468:     {
> 28468:       static_assert(std::is_integral<_IntType>::value,
> 28468:       "template argument must be an integral type");
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       typedef _IntType result_type;
> 28468: 
> 28468:       struct param_type
> 28468:       {
> 28468:  typedef uniform_int_distribution<_IntType> distribution_type;
> 28468: 
> 28468:  param_type() : param_type(0) { }
> 28468: 
> 28468:  explicit
> 28468:  param_type(_IntType __a,
> 28468:      _IntType __b = numeric_limits<_IntType>::max())
> 28468:  : _M_a(__a), _M_b(__b)
> 28468:  {
> 28468:    ;
> 28468:  }
> 28468: 
> 28468:  result_type
> 28468:  a() const
> 28468:  { return _M_a; }
> 28468: 
> 28468:  result_type
> 28468:  b() const
> 28468:  { return _M_b; }
> 28468: 
> 28468:  friend bool
> 28468:  operator==(const param_type& __p1, const param_type& __p2)
> 28468:  { return __p1._M_a == __p2._M_a && __p1._M_b == __p2._M_b; }
> 28468: 
> 28468:  friend bool
> 28468:  operator!=(const param_type& __p1, const param_type& __p2)
> 28468:  { return !(__p1 == __p2); }
> 28468: 
> 28468:       private:
> 28468:  _IntType _M_a;
> 28468:  _IntType _M_b;
> 28468:       };
> 28468: 
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468:       uniform_int_distribution() : uniform_int_distribution(0) { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       explicit
> 28468:       uniform_int_distribution(_IntType __a,
> 28468:           _IntType __b = numeric_limits<_IntType>::max())
> 28468:       : _M_param(__a, __b)
> 28468:       { }
> 28468: 
> 28468:       explicit
> 28468:       uniform_int_distribution(const param_type& __p)
> 28468:       : _M_param(__p)
> 28468:       { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       reset() { }
> 28468: 
> 28468:       result_type
> 28468:       a() const
> 28468:       { return _M_param.a(); }
> 28468: 
> 28468:       result_type
> 28468:       b() const
> 28468:       { return _M_param.b(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       param_type
> 28468:       param() const
> 28468:       { return _M_param; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       void
> 28468:       param(const param_type& __param)
> 28468:       { _M_param = __param; }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       result_type
> 28468:       min() const
> 28468:       { return this->a(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       result_type
> 28468:       max() const
> 28468:       { return this->b(); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _UniformRandomNumberGenerator>
> 28468:  result_type
> 28468:  operator()(_UniformRandomNumberGenerator& __urng)
> 28468:         { return this->operator()(__urng, _M_param); }
> 28468: 
> 28468:       template<typename _UniformRandomNumberGenerator>
> 28468:  result_type
> 28468:  operator()(_UniformRandomNumberGenerator& __urng,
> 28468:      const param_type& __p);
> 28468: 
> 28468:       template<typename _ForwardIterator,
> 28468:         typename _UniformRandomNumberGenerator>
> 28468:  void
> 28468:  __generate(_ForwardIterator __f, _ForwardIterator __t,
> 28468:      _UniformRandomNumberGenerator& __urng)
> 28468:  { this->__generate(__f, __t, __urng, _M_param); }
> 28468: 
> 28468:       template<typename _ForwardIterator,
> 28468:         typename _UniformRandomNumberGenerator>
> 28468:  void
> 28468:  __generate(_ForwardIterator __f, _ForwardIterator __t,
> 28468:      _UniformRandomNumberGenerator& __urng,
> 28468:      const param_type& __p)
> 28468:  { this->__generate_impl(__f, __t, __urng, __p); }
> 28468: 
> 28468:       template<typename _UniformRandomNumberGenerator>
> 28468:  void
> 28468:  __generate(result_type* __f, result_type* __t,
> 28468:      _UniformRandomNumberGenerator& __urng,
> 28468:      const param_type& __p)
> 28468:  { this->__generate_impl(__f, __t, __urng, __p); }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       friend bool
> 28468:       operator==(const uniform_int_distribution& __d1,
> 28468:    const uniform_int_distribution& __d2)
> 28468:       { return __d1._M_param == __d2._M_param; }
> 28468: 
> 28468:     private:
> 28468:       template<typename _ForwardIterator,
> 28468:         typename _UniformRandomNumberGenerator>
> 28468:  void
> 28468:  __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
> 28468:    _UniformRandomNumberGenerator& __urng,
> 28468:    const param_type& __p);
> 28468: 
> 28468:       param_type _M_param;
> 28468:     };
> 28468: 
> 28468:   template<typename _IntType>
> 28468:     template<typename _UniformRandomNumberGenerator>
> 28468:       typename uniform_int_distribution<_IntType>::result_type
> 28468:       uniform_int_distribution<_IntType>::
> 28468:       operator()(_UniformRandomNumberGenerator& __urng,
> 28468:    const param_type& __param)
> 28468:       {
> 28468:  typedef typename _UniformRandomNumberGenerator::result_type
> 28468:    _Gresult_type;
> 28468:  typedef typename std::make_unsigned<result_type>::type __utype;
> 28468:  typedef typename std::common_type<_Gresult_type, __utype>::type
> 28468:    __uctype;
> 28468: 
> 28468:  const __uctype __urngmin = __urng.min();
> 28468:  const __uctype __urngmax = __urng.max();
> 28468:  const __uctype __urngrange = __urngmax - __urngmin;
> 28468:  const __uctype __urange
> 28468:    = __uctype(__param.b()) - __uctype(__param.a());
> 28468: 
> 28468:  __uctype __ret;
> 28468: 
> 28468:  if (__urngrange > __urange)
> 28468:    {
> 28468: 
> 28468:      const __uctype __uerange = __urange + 1;
> 28468:      const __uctype __scaling = __urngrange / __uerange;
> 28468:      const __uctype __past = __uerange * __scaling;
> 28468:      do
> 28468:        __ret = __uctype(__urng()) - __urngmin;
> 28468:      while (__ret >= __past);
> 28468:      __ret /= __scaling;
> 28468:    }
> 28468:  else if (__urngrange < __urange)
> 28468:    {
> 28468: # 271 "/usr/include/c++/9/bits/uniform_int_dist.h" 3
> 28468:      __uctype __tmp;
> 28468:      do
> 28468:        {
> 28468:   const __uctype __uerngrange = __urngrange + 1;
> 28468:   __tmp = (__uerngrange * operator()
> 28468:     (__urng, param_type(0, __urange / __uerngrange)));
> 28468:   __ret = __tmp + (__uctype(__urng()) - __urngmin);
> 28468:        }
> 28468:      while (__ret > __urange || __ret < __tmp);
> 28468:    }
> 28468:  else
> 28468:    __ret = __uctype(__urng()) - __urngmin;
> 28468: 
> 28468:  return __ret + __param.a();
> 28468:       }
> 28468: 
> 28468: 
> 28468:   template<typename _IntType>
> 28468:     template<typename _ForwardIterator,
> 28468:       typename _UniformRandomNumberGenerator>
> 28468:       void
> 28468:       uniform_int_distribution<_IntType>::
> 28468:       __generate_impl(_ForwardIterator __f, _ForwardIterator __t,
> 28468:         _UniformRandomNumberGenerator& __urng,
> 28468:         const param_type& __param)
> 28468:       {
> 28468: 
> 28468:  typedef typename _UniformRandomNumberGenerator::result_type
> 28468:    _Gresult_type;
> 28468:  typedef typename std::make_unsigned<result_type>::type __utype;
> 28468:  typedef typename std::common_type<_Gresult_type, __utype>::type
> 28468:    __uctype;
> 28468: 
> 28468:  const __uctype __urngmin = __urng.min();
> 28468:  const __uctype __urngmax = __urng.max();
> 28468:  const __uctype __urngrange = __urngmax - __urngmin;
> 28468:  const __uctype __urange
> 28468:    = __uctype(__param.b()) - __uctype(__param.a());
> 28468: 
> 28468:  __uctype __ret;
> 28468: 
> 28468:  if (__urngrange > __urange)
> 28468:    {
> 28468:      if (__detail::_Power_of_2(__urngrange + 1)
> 28468:   && __detail::_Power_of_2(__urange + 1))
> 28468:        {
> 28468:   while (__f != __t)
> 28468:     {
> 28468:       __ret = __uctype(__urng()) - __urngmin;
> 28468:       *__f++ = (__ret & __urange) + __param.a();
> 28468:     }
> 28468:        }
> 28468:      else
> 28468:        {
> 28468: 
> 28468:   const __uctype __uerange = __urange + 1;
> 28468:   const __uctype __scaling = __urngrange / __uerange;
> 28468:   const __uctype __past = __uerange * __scaling;
> 28468:   while (__f != __t)
> 28468:     {
> 28468:       do
> 28468:         __ret = __uctype(__urng()) - __urngmin;
> 28468:       while (__ret >= __past);
> 28468:       *__f++ = __ret / __scaling + __param.a();
> 28468:     }
> 28468:        }
> 28468:    }
> 28468:  else if (__urngrange < __urange)
> 28468:    {
> 28468: # 355 "/usr/include/c++/9/bits/uniform_int_dist.h" 3
> 28468:      __uctype __tmp;
> 28468:      while (__f != __t)
> 28468:        {
> 28468:   do
> 28468:     {
> 28468:       const __uctype __uerngrange = __urngrange + 1;
> 28468:       __tmp = (__uerngrange * operator()
> 28468:         (__urng, param_type(0, __urange / __uerngrange)));
> 28468:       __ret = __tmp + (__uctype(__urng()) - __urngmin);
> 28468:     }
> 28468:   while (__ret > __urange || __ret < __tmp);
> 28468:   *__f++ = __ret;
> 28468:        }
> 28468:    }
> 28468:  else
> 28468:    while (__f != __t)
> 28468:      *__f++ = __uctype(__urng()) - __urngmin + __param.a();
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 67 "/usr/include/c++/9/bits/stl_algo.h" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Iterator, typename _Compare>
> 28468:     void
> 28468:     __move_median_to_first(_Iterator __result,_Iterator __a, _Iterator __b,
> 28468:       _Iterator __c, _Compare __comp)
> 28468:     {
> 28468:       if (__comp(__a, __b))
> 28468:  {
> 28468:    if (__comp(__b, __c))
> 28468:      std::iter_swap(__result, __b);
> 28468:    else if (__comp(__a, __c))
> 28468:      std::iter_swap(__result, __c);
> 28468:    else
> 28468:      std::iter_swap(__result, __a);
> 28468:  }
> 28468:       else if (__comp(__a, __c))
> 28468:  std::iter_swap(__result, __a);
> 28468:       else if (__comp(__b, __c))
> 28468:  std::iter_swap(__result, __c);
> 28468:       else
> 28468:  std::iter_swap(__result, __b);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator, typename _Predicate>
> 28468:     inline _InputIterator
> 28468:     __find_if(_InputIterator __first, _InputIterator __last,
> 28468:        _Predicate __pred, input_iterator_tag)
> 28468:     {
> 28468:       while (__first != __last && !__pred(__first))
> 28468:  ++__first;
> 28468:       return __first;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Predicate>
> 28468:     _RandomAccessIterator
> 28468:     __find_if(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:        _Predicate __pred, random_access_iterator_tag)
> 28468:     {
> 28468:       typename iterator_traits<_RandomAccessIterator>::difference_type
> 28468:  __trip_count = (__last - __first) >> 2;
> 28468: 
> 28468:       for (; __trip_count > 0; --__trip_count)
> 28468:  {
> 28468:    if (__pred(__first))
> 28468:      return __first;
> 28468:    ++__first;
> 28468: 
> 28468:    if (__pred(__first))
> 28468:      return __first;
> 28468:    ++__first;
> 28468: 
> 28468:    if (__pred(__first))
> 28468:      return __first;
> 28468:    ++__first;
> 28468: 
> 28468:    if (__pred(__first))
> 28468:      return __first;
> 28468:    ++__first;
> 28468:  }
> 28468: 
> 28468:       switch (__last - __first)
> 28468:  {
> 28468:  case 3:
> 28468:    if (__pred(__first))
> 28468:      return __first;
> 28468:    ++__first;
> 28468:  case 2:
> 28468:    if (__pred(__first))
> 28468:      return __first;
> 28468:    ++__first;
> 28468:  case 1:
> 28468:    if (__pred(__first))
> 28468:      return __first;
> 28468:    ++__first;
> 28468:  case 0:
> 28468:  default:
> 28468:    return __last;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _Iterator, typename _Predicate>
> 28468:     inline _Iterator
> 28468:     __find_if(_Iterator __first, _Iterator __last, _Predicate __pred)
> 28468:     {
> 28468:       return __find_if(__first, __last, __pred,
> 28468:          std::__iterator_category(__first));
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator, typename _Predicate>
> 28468:     inline _InputIterator
> 28468:     __find_if_not(_InputIterator __first, _InputIterator __last,
> 28468:     _Predicate __pred)
> 28468:     {
> 28468:       return std::__find_if(__first, __last,
> 28468:        __gnu_cxx::__ops::__negate(__pred),
> 28468:        std::__iterator_category(__first));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator, typename _Predicate, typename _Distance>
> 28468:     _InputIterator
> 28468:     __find_if_not_n(_InputIterator __first, _Distance& __len, _Predicate __pred)
> 28468:     {
> 28468:       for (; __len; --__len, (void) ++__first)
> 28468:  if (!__pred(__first))
> 28468:    break;
> 28468:       return __first;
> 28468:     }
> 28468: # 202 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator1, typename _ForwardIterator2,
> 28468:     typename _BinaryPredicate>
> 28468:     _ForwardIterator1
> 28468:     __search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
> 28468:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
> 28468:       _BinaryPredicate __predicate)
> 28468:     {
> 28468: 
> 28468:       if (__first1 == __last1 || __first2 == __last2)
> 28468:  return __first1;
> 28468: 
> 28468: 
> 28468:       _ForwardIterator2 __p1(__first2);
> 28468:       if (++__p1 == __last2)
> 28468:  return std::__find_if(__first1, __last1,
> 28468:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
> 28468: 
> 28468: 
> 28468:       _ForwardIterator2 __p;
> 28468:       _ForwardIterator1 __current = __first1;
> 28468: 
> 28468:       for (;;)
> 28468:  {
> 28468:    __first1 =
> 28468:      std::__find_if(__first1, __last1,
> 28468:   __gnu_cxx::__ops::__iter_comp_iter(__predicate, __first2));
> 28468: 
> 28468:    if (__first1 == __last1)
> 28468:      return __last1;
> 28468: 
> 28468:    __p = __p1;
> 28468:    __current = __first1;
> 28468:    if (++__current == __last1)
> 28468:      return __last1;
> 28468: 
> 28468:    while (__predicate(__current, __p))
> 28468:      {
> 28468:        if (++__p == __last2)
> 28468:   return __first1;
> 28468:        if (++__current == __last1)
> 28468:   return __last1;
> 28468:      }
> 28468:    ++__first1;
> 28468:  }
> 28468:       return __first1;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Integer,
> 28468:     typename _UnaryPredicate>
> 28468:     _ForwardIterator
> 28468:     __search_n_aux(_ForwardIterator __first, _ForwardIterator __last,
> 28468:      _Integer __count, _UnaryPredicate __unary_pred,
> 28468:      std::forward_iterator_tag)
> 28468:     {
> 28468:       __first = std::__find_if(__first, __last, __unary_pred);
> 28468:       while (__first != __last)
> 28468:  {
> 28468:    typename iterator_traits<_ForwardIterator>::difference_type
> 28468:      __n = __count;
> 28468:    _ForwardIterator __i = __first;
> 28468:    ++__i;
> 28468:    while (__i != __last && __n != 1 && __unary_pred(__i))
> 28468:      {
> 28468:        ++__i;
> 28468:        --__n;
> 28468:      }
> 28468:    if (__n == 1)
> 28468:      return __first;
> 28468:    if (__i == __last)
> 28468:      return __last;
> 28468:    __first = std::__find_if(++__i, __last, __unary_pred);
> 28468:  }
> 28468:       return __last;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIter, typename _Integer,
> 28468:     typename _UnaryPredicate>
> 28468:     _RandomAccessIter
> 28468:     __search_n_aux(_RandomAccessIter __first, _RandomAccessIter __last,
> 28468:      _Integer __count, _UnaryPredicate __unary_pred,
> 28468:      std::random_access_iterator_tag)
> 28468:     {
> 28468:       typedef typename std::iterator_traits<_RandomAccessIter>::difference_type
> 28468:  _DistanceType;
> 28468: 
> 28468:       _DistanceType __tailSize = __last - __first;
> 28468:       _DistanceType __remainder = __count;
> 28468: 
> 28468:       while (__remainder <= __tailSize)
> 28468:  {
> 28468:    __first += __remainder;
> 28468:    __tailSize -= __remainder;
> 28468: 
> 28468: 
> 28468:    _RandomAccessIter __backTrack = __first;
> 28468:    while (__unary_pred(--__backTrack))
> 28468:      {
> 28468:        if (--__remainder == 0)
> 28468:   return (__first - __count);
> 28468:      }
> 28468:    __remainder = __count + 1 - (__first - __backTrack);
> 28468:  }
> 28468:       return __last;
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Integer,
> 28468:     typename _UnaryPredicate>
> 28468:     _ForwardIterator
> 28468:     __search_n(_ForwardIterator __first, _ForwardIterator __last,
> 28468:         _Integer __count,
> 28468:         _UnaryPredicate __unary_pred)
> 28468:     {
> 28468:       if (__count <= 0)
> 28468:  return __first;
> 28468: 
> 28468:       if (__count == 1)
> 28468:  return std::__find_if(__first, __last, __unary_pred);
> 28468: 
> 28468:       return std::__search_n_aux(__first, __last, __count, __unary_pred,
> 28468:      std::__iterator_category(__first));
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator1, typename _ForwardIterator2,
> 28468:     typename _BinaryPredicate>
> 28468:     _ForwardIterator1
> 28468:     __find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
> 28468:         _ForwardIterator2 __first2, _ForwardIterator2 __last2,
> 28468:         forward_iterator_tag, forward_iterator_tag,
> 28468:         _BinaryPredicate __comp)
> 28468:     {
> 28468:       if (__first2 == __last2)
> 28468:  return __last1;
> 28468: 
> 28468:       _ForwardIterator1 __result = __last1;
> 28468:       while (1)
> 28468:  {
> 28468:    _ForwardIterator1 __new_result
> 28468:      = std::__search(__first1, __last1, __first2, __last2, __comp);
> 28468:    if (__new_result == __last1)
> 28468:      return __result;
> 28468:    else
> 28468:      {
> 28468:        __result = __new_result;
> 28468:        __first1 = __new_result;
> 28468:        ++__first1;
> 28468:      }
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
> 28468:     typename _BinaryPredicate>
> 28468:     _BidirectionalIterator1
> 28468:     __find_end(_BidirectionalIterator1 __first1,
> 28468:         _BidirectionalIterator1 __last1,
> 28468:         _BidirectionalIterator2 __first2,
> 28468:         _BidirectionalIterator2 __last2,
> 28468:         bidirectional_iterator_tag, bidirectional_iterator_tag,
> 28468:         _BinaryPredicate __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       typedef reverse_iterator<_BidirectionalIterator1> _RevIterator1;
> 28468:       typedef reverse_iterator<_BidirectionalIterator2> _RevIterator2;
> 28468: 
> 28468:       _RevIterator1 __rlast1(__first1);
> 28468:       _RevIterator2 __rlast2(__first2);
> 28468:       _RevIterator1 __rresult = std::__search(_RevIterator1(__last1), __rlast1,
> 28468:            _RevIterator2(__last2), __rlast2,
> 28468:            __comp);
> 28468: 
> 28468:       if (__rresult == __rlast1)
> 28468:  return __last1;
> 28468:       else
> 28468:  {
> 28468:    _BidirectionalIterator1 __result = __rresult.base();
> 28468:    std::advance(__result, -std::distance(__first2, __last2));
> 28468:    return __result;
> 28468:  }
> 28468:     }
> 28468: # 423 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator1, typename _ForwardIterator2>
> 28468:     inline _ForwardIterator1
> 28468:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
> 28468:       _ForwardIterator2 __first2, _ForwardIterator2 __last2)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__find_end(__first1, __last1, __first2, __last2,
> 28468:         std::__iterator_category(__first1),
> 28468:         std::__iterator_category(__first2),
> 28468:         __gnu_cxx::__ops::__iter_equal_to_iter());
> 28468:     }
> 28468: # 471 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator1, typename _ForwardIterator2,
> 28468:     typename _BinaryPredicate>
> 28468:     inline _ForwardIterator1
> 28468:     find_end(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
> 28468:       _ForwardIterator2 __first2, _ForwardIterator2 __last2,
> 28468:       _BinaryPredicate __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__find_end(__first1, __last1, __first2, __last2,
> 28468:         std::__iterator_category(__first1),
> 28468:         std::__iterator_category(__first2),
> 28468:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: # 506 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _Predicate>
> 28468:     inline bool
> 28468:     all_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
> 28468:     { return __last == std::find_if_not(__first, __last, __pred); }
> 28468: # 523 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _Predicate>
> 28468:     inline bool
> 28468:     none_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
> 28468:     { return __last == std::find_if(__first, __last, __pred); }
> 28468: # 541 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _Predicate>
> 28468:     inline bool
> 28468:     any_of(_InputIterator __first, _InputIterator __last, _Predicate __pred)
> 28468:     { return !std::none_of(__first, __last, __pred); }
> 28468: # 556 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _Predicate>
> 28468:     inline _InputIterator
> 28468:     find_if_not(_InputIterator __first, _InputIterator __last,
> 28468:   _Predicate __pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       return std::__find_if_not(__first, __last,
> 28468:     __gnu_cxx::__ops::__pred_iter(__pred));
> 28468:     }
> 28468: # 580 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _Predicate>
> 28468:     inline bool
> 28468:     is_partitioned(_InputIterator __first, _InputIterator __last,
> 28468:      _Predicate __pred)
> 28468:     {
> 28468:       __first = std::find_if_not(__first, __last, __pred);
> 28468:       if (__first == __last)
> 28468:  return true;
> 28468:       ++__first;
> 28468:       return std::none_of(__first, __last, __pred);
> 28468:     }
> 28468: # 601 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Predicate>
> 28468:     _ForwardIterator
> 28468:     partition_point(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       _Predicate __pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       typedef typename iterator_traits<_ForwardIterator>::difference_type
> 28468:  _DistanceType;
> 28468: 
> 28468:       _DistanceType __len = std::distance(__first, __last);
> 28468:       _DistanceType __half;
> 28468:       _ForwardIterator __middle;
> 28468: 
> 28468:       while (__len > 0)
> 28468:  {
> 28468:    __half = __len >> 1;
> 28468:    __middle = __first;
> 28468:    std::advance(__middle, __half);
> 28468:    if (__pred(*__middle))
> 28468:      {
> 28468:        __first = __middle;
> 28468:        ++__first;
> 28468:        __len = __len - __half - 1;
> 28468:      }
> 28468:    else
> 28468:      __len = __half;
> 28468:  }
> 28468:       return __first;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator, typename _OutputIterator,
> 28468:     typename _Predicate>
> 28468:     _OutputIterator
> 28468:     __remove_copy_if(_InputIterator __first, _InputIterator __last,
> 28468:        _OutputIterator __result, _Predicate __pred)
> 28468:     {
> 28468:       for (; __first != __last; ++__first)
> 28468:  if (!__pred(__first))
> 28468:    {
> 28468:      *__result = *__first;
> 28468:      ++__result;
> 28468:    }
> 28468:       return __result;
> 28468:     }
> 28468: # 668 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
> 28468:     inline _OutputIterator
> 28468:     remove_copy(_InputIterator __first, _InputIterator __last,
> 28468:   _OutputIterator __result, const _Tp& __value)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__remove_copy_if(__first, __last, __result,
> 28468:  __gnu_cxx::__ops::__iter_equals_val(__value));
> 28468:     }
> 28468: # 700 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _OutputIterator,
> 28468:     typename _Predicate>
> 28468:     inline _OutputIterator
> 28468:     remove_copy_if(_InputIterator __first, _InputIterator __last,
> 28468:      _OutputIterator __result, _Predicate __pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__remove_copy_if(__first, __last, __result,
> 28468:        __gnu_cxx::__ops::__pred_iter(__pred));
> 28468:     }
> 28468: # 734 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _OutputIterator,
> 28468:     typename _Predicate>
> 28468:     _OutputIterator
> 28468:     copy_if(_InputIterator __first, _InputIterator __last,
> 28468:      _OutputIterator __result, _Predicate __pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       for (; __first != __last; ++__first)
> 28468:  if (__pred(*__first))
> 28468:    {
> 28468:      *__result = *__first;
> 28468:      ++__result;
> 28468:    }
> 28468:       return __result;
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
> 28468:     _OutputIterator
> 28468:     __copy_n(_InputIterator __first, _Size __n,
> 28468:       _OutputIterator __result, input_iterator_tag)
> 28468:     {
> 28468:       if (__n > 0)
> 28468:  {
> 28468:    while (true)
> 28468:      {
> 28468:        *__result = *__first;
> 28468:        ++__result;
> 28468:        if (--__n > 0)
> 28468:   ++__first;
> 28468:        else
> 28468:   break;
> 28468:      }
> 28468:  }
> 28468:       return __result;
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Size,
> 28468:     typename _OutputIterator>
> 28468:     inline _OutputIterator
> 28468:     __copy_n(_RandomAccessIterator __first, _Size __n,
> 28468:       _OutputIterator __result, random_access_iterator_tag)
> 28468:     { return std::copy(__first, __first + __n, __result); }
> 28468: # 797 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _Size, typename _OutputIterator>
> 28468:     inline _OutputIterator
> 28468:     copy_n(_InputIterator __first, _Size __n, _OutputIterator __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       return std::__copy_n(__first, __n, __result,
> 28468:       std::__iterator_category(__first));
> 28468:     }
> 28468: # 825 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _OutputIterator1,
> 28468:     typename _OutputIterator2, typename _Predicate>
> 28468:     pair<_OutputIterator1, _OutputIterator2>
> 28468:     partition_copy(_InputIterator __first, _InputIterator __last,
> 28468:      _OutputIterator1 __out_true, _OutputIterator2 __out_false,
> 28468:      _Predicate __pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       for (; __first != __last; ++__first)
> 28468:  if (__pred(*__first))
> 28468:    {
> 28468:      *__out_true = *__first;
> 28468:      ++__out_true;
> 28468:    }
> 28468:  else
> 28468:    {
> 28468:      *__out_false = *__first;
> 28468:      ++__out_false;
> 28468:    }
> 28468: 
> 28468:       return pair<_OutputIterator1, _OutputIterator2>(__out_true, __out_false);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Predicate>
> 28468:     _ForwardIterator
> 28468:     __remove_if(_ForwardIterator __first, _ForwardIterator __last,
> 28468:   _Predicate __pred)
> 28468:     {
> 28468:       __first = std::__find_if(__first, __last, __pred);
> 28468:       if (__first == __last)
> 28468:  return __first;
> 28468:       _ForwardIterator __result = __first;
> 28468:       ++__first;
> 28468:       for (; __first != __last; ++__first)
> 28468:  if (!__pred(__first))
> 28468:    {
> 28468:      *__result = std::move(*__first);
> 28468:      ++__result;
> 28468:    }
> 28468:       return __result;
> 28468:     }
> 28468: # 894 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     inline _ForwardIterator
> 28468:     remove(_ForwardIterator __first, _ForwardIterator __last,
> 28468:     const _Tp& __value)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__remove_if(__first, __last,
> 28468:   __gnu_cxx::__ops::__iter_equals_val(__value));
> 28468:     }
> 28468: # 927 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Predicate>
> 28468:     inline _ForwardIterator
> 28468:     remove_if(_ForwardIterator __first, _ForwardIterator __last,
> 28468:        _Predicate __pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__remove_if(__first, __last,
> 28468:          __gnu_cxx::__ops::__pred_iter(__pred));
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _BinaryPredicate>
> 28468:     _ForwardIterator
> 28468:     __adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       _BinaryPredicate __binary_pred)
> 28468:     {
> 28468:       if (__first == __last)
> 28468:  return __last;
> 28468:       _ForwardIterator __next = __first;
> 28468:       while (++__next != __last)
> 28468:  {
> 28468:    if (__binary_pred(__first, __next))
> 28468:      return __first;
> 28468:    __first = __next;
> 28468:  }
> 28468:       return __last;
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _BinaryPredicate>
> 28468:     _ForwardIterator
> 28468:     __unique(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       _BinaryPredicate __binary_pred)
> 28468:     {
> 28468: 
> 28468:       __first = std::__adjacent_find(__first, __last, __binary_pred);
> 28468:       if (__first == __last)
> 28468:  return __last;
> 28468: 
> 28468: 
> 28468:       _ForwardIterator __dest = __first;
> 28468:       ++__first;
> 28468:       while (++__first != __last)
> 28468:  if (!__binary_pred(__dest, __first))
> 28468:    *++__dest = std::move(*__first);
> 28468:       return ++__dest;
> 28468:     }
> 28468: # 993 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator>
> 28468:     inline _ForwardIterator
> 28468:     unique(_ForwardIterator __first, _ForwardIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__unique(__first, __last,
> 28468:       __gnu_cxx::__ops::__iter_equal_to_iter());
> 28468:     }
> 28468: # 1023 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _BinaryPredicate>
> 28468:     inline _ForwardIterator
> 28468:     unique(_ForwardIterator __first, _ForwardIterator __last,
> 28468:     _BinaryPredicate __binary_pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__unique(__first, __last,
> 28468:       __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _OutputIterator,
> 28468:     typename _BinaryPredicate>
> 28468:     _OutputIterator
> 28468:     __unique_copy(_ForwardIterator __first, _ForwardIterator __last,
> 28468:     _OutputIterator __result, _BinaryPredicate __binary_pred,
> 28468:     forward_iterator_tag, output_iterator_tag)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468: 
> 28468:       _ForwardIterator __next = __first;
> 28468:       *__result = *__first;
> 28468:       while (++__next != __last)
> 28468:  if (!__binary_pred(__first, __next))
> 28468:    {
> 28468:      __first = __next;
> 28468:      *++__result = *__first;
> 28468:    }
> 28468:       return ++__result;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator, typename _OutputIterator,
> 28468:     typename _BinaryPredicate>
> 28468:     _OutputIterator
> 28468:     __unique_copy(_InputIterator __first, _InputIterator __last,
> 28468:     _OutputIterator __result, _BinaryPredicate __binary_pred,
> 28468:     input_iterator_tag, output_iterator_tag)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468: 
> 28468:       typename iterator_traits<_InputIterator>::value_type __value = *__first;
> 28468:       __decltype(__gnu_cxx::__ops::__iter_comp_val(__binary_pred))
> 28468:  __rebound_pred
> 28468:  = __gnu_cxx::__ops::__iter_comp_val(__binary_pred);
> 28468:       *__result = __value;
> 28468:       while (++__first != __last)
> 28468:  if (!__rebound_pred(__first, __value))
> 28468:    {
> 28468:      __value = *__first;
> 28468:      *++__result = __value;
> 28468:    }
> 28468:       return ++__result;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator, typename _ForwardIterator,
> 28468:     typename _BinaryPredicate>
> 28468:     _ForwardIterator
> 28468:     __unique_copy(_InputIterator __first, _InputIterator __last,
> 28468:     _ForwardIterator __result, _BinaryPredicate __binary_pred,
> 28468:     input_iterator_tag, forward_iterator_tag)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       *__result = *__first;
> 28468:       while (++__first != __last)
> 28468:  if (!__binary_pred(__result, __first))
> 28468:    *++__result = *__first;
> 28468:       return ++__result;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _BidirectionalIterator>
> 28468:     void
> 28468:     __reverse(_BidirectionalIterator __first, _BidirectionalIterator __last,
> 28468:        bidirectional_iterator_tag)
> 28468:     {
> 28468:       while (true)
> 28468:  if (__first == __last || __first == --__last)
> 28468:    return;
> 28468:  else
> 28468:    {
> 28468:      std::iter_swap(__first, __last);
> 28468:      ++__first;
> 28468:    }
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator>
> 28468:     void
> 28468:     __reverse(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:        random_access_iterator_tag)
> 28468:     {
> 28468:       if (__first == __last)
> 28468:  return;
> 28468:       --__last;
> 28468:       while (__first < __last)
> 28468:  {
> 28468:    std::iter_swap(__first, __last);
> 28468:    ++__first;
> 28468:    --__last;
> 28468:  }
> 28468:     }
> 28468: # 1178 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _BidirectionalIterator>
> 28468:     inline void
> 28468:     reverse(_BidirectionalIterator __first, _BidirectionalIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       std::__reverse(__first, __last, std::__iterator_category(__first));
> 28468:     }
> 28468: # 1205 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _BidirectionalIterator, typename _OutputIterator>
> 28468:     _OutputIterator
> 28468:     reverse_copy(_BidirectionalIterator __first, _BidirectionalIterator __last,
> 28468:    _OutputIterator __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       while (__first != __last)
> 28468:  {
> 28468:    --__last;
> 28468:    *__result = *__last;
> 28468:    ++__result;
> 28468:  }
> 28468:       return __result;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _EuclideanRingElement>
> 28468:     _EuclideanRingElement
> 28468:     __gcd(_EuclideanRingElement __m, _EuclideanRingElement __n)
> 28468:     {
> 28468:       while (__n != 0)
> 28468:  {
> 28468:    _EuclideanRingElement __t = __m % __n;
> 28468:    __m = __n;
> 28468:    __n = __t;
> 28468:  }
> 28468:       return __m;
> 28468:     }
> 28468: 
> 28468:   inline namespace _V2
> 28468:   {
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator>
> 28468:     _ForwardIterator
> 28468:     __rotate(_ForwardIterator __first,
> 28468:       _ForwardIterator __middle,
> 28468:       _ForwardIterator __last,
> 28468:       forward_iterator_tag)
> 28468:     {
> 28468:       if (__first == __middle)
> 28468:  return __last;
> 28468:       else if (__last == __middle)
> 28468:  return __first;
> 28468: 
> 28468:       _ForwardIterator __first2 = __middle;
> 28468:       do
> 28468:  {
> 28468:    std::iter_swap(__first, __first2);
> 28468:    ++__first;
> 28468:    ++__first2;
> 28468:    if (__first == __middle)
> 28468:      __middle = __first2;
> 28468:  }
> 28468:       while (__first2 != __last);
> 28468: 
> 28468:       _ForwardIterator __ret = __first;
> 28468: 
> 28468:       __first2 = __middle;
> 28468: 
> 28468:       while (__first2 != __last)
> 28468:  {
> 28468:    std::iter_swap(__first, __first2);
> 28468:    ++__first;
> 28468:    ++__first2;
> 28468:    if (__first == __middle)
> 28468:      __middle = __first2;
> 28468:    else if (__first2 == __last)
> 28468:      __first2 = __middle;
> 28468:  }
> 28468:       return __ret;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _BidirectionalIterator>
> 28468:     _BidirectionalIterator
> 28468:     __rotate(_BidirectionalIterator __first,
> 28468:       _BidirectionalIterator __middle,
> 28468:       _BidirectionalIterator __last,
> 28468:        bidirectional_iterator_tag)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       if (__first == __middle)
> 28468:  return __last;
> 28468:       else if (__last == __middle)
> 28468:  return __first;
> 28468: 
> 28468:       std::__reverse(__first, __middle, bidirectional_iterator_tag());
> 28468:       std::__reverse(__middle, __last, bidirectional_iterator_tag());
> 28468: 
> 28468:       while (__first != __middle && __middle != __last)
> 28468:  {
> 28468:    std::iter_swap(__first, --__last);
> 28468:    ++__first;
> 28468:  }
> 28468: 
> 28468:       if (__first == __middle)
> 28468:  {
> 28468:    std::__reverse(__middle, __last, bidirectional_iterator_tag());
> 28468:    return __last;
> 28468:  }
> 28468:       else
> 28468:  {
> 28468:    std::__reverse(__first, __middle, bidirectional_iterator_tag());
> 28468:    return __first;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator>
> 28468:     _RandomAccessIterator
> 28468:     __rotate(_RandomAccessIterator __first,
> 28468:       _RandomAccessIterator __middle,
> 28468:       _RandomAccessIterator __last,
> 28468:       random_access_iterator_tag)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       if (__first == __middle)
> 28468:  return __last;
> 28468:       else if (__last == __middle)
> 28468:  return __first;
> 28468: 
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
> 28468:  _Distance;
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
> 28468:  _ValueType;
> 28468: 
> 28468:       _Distance __n = __last - __first;
> 28468:       _Distance __k = __middle - __first;
> 28468: 
> 28468:       if (__k == __n - __k)
> 28468:  {
> 28468:    std::swap_ranges(__first, __middle, __middle);
> 28468:    return __middle;
> 28468:  }
> 28468: 
> 28468:       _RandomAccessIterator __p = __first;
> 28468:       _RandomAccessIterator __ret = __first + (__last - __middle);
> 28468: 
> 28468:       for (;;)
> 28468:  {
> 28468:    if (__k < __n - __k)
> 28468:      {
> 28468:        if (__is_pod(_ValueType) && __k == 1)
> 28468:   {
> 28468:     _ValueType __t = std::move(*__p);
> 28468:     std::move(__p + 1, __p + __n, __p);
> 28468:     *(__p + __n - 1) = std::move(__t);
> 28468:     return __ret;
> 28468:   }
> 28468:        _RandomAccessIterator __q = __p + __k;
> 28468:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
> 28468:   {
> 28468:     std::iter_swap(__p, __q);
> 28468:     ++__p;
> 28468:     ++__q;
> 28468:   }
> 28468:        __n %= __k;
> 28468:        if (__n == 0)
> 28468:   return __ret;
> 28468:        std::swap(__n, __k);
> 28468:        __k = __n - __k;
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        __k = __n - __k;
> 28468:        if (__is_pod(_ValueType) && __k == 1)
> 28468:   {
> 28468:     _ValueType __t = std::move(*(__p + __n - 1));
> 28468:     std::move_backward(__p, __p + __n - 1, __p + __n);
> 28468:     *__p = std::move(__t);
> 28468:     return __ret;
> 28468:   }
> 28468:        _RandomAccessIterator __q = __p + __n;
> 28468:        __p = __q - __k;
> 28468:        for (_Distance __i = 0; __i < __n - __k; ++ __i)
> 28468:   {
> 28468:     --__p;
> 28468:     --__q;
> 28468:     std::iter_swap(__p, __q);
> 28468:   }
> 28468:        __n %= __k;
> 28468:        if (__n == 0)
> 28468:   return __ret;
> 28468:        std::swap(__n, __k);
> 28468:      }
> 28468:  }
> 28468:     }
> 28468: # 1432 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator>
> 28468:     inline _ForwardIterator
> 28468:     rotate(_ForwardIterator __first, _ForwardIterator __middle,
> 28468:     _ForwardIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__rotate(__first, __middle, __last,
> 28468:       std::__iterator_category(__first));
> 28468:     }
> 28468: 
> 28468:   }
> 28468: # 1469 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _OutputIterator>
> 28468:     inline _OutputIterator
> 28468:     rotate_copy(_ForwardIterator __first, _ForwardIterator __middle,
> 28468:   _ForwardIterator __last, _OutputIterator __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::copy(__first, __middle,
> 28468:          std::copy(__middle, __last, __result));
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Predicate>
> 28468:     _ForwardIterator
> 28468:     __partition(_ForwardIterator __first, _ForwardIterator __last,
> 28468:   _Predicate __pred, forward_iterator_tag)
> 28468:     {
> 28468:       if (__first == __last)
> 28468:  return __first;
> 28468: 
> 28468:       while (__pred(*__first))
> 28468:  if (++__first == __last)
> 28468:    return __first;
> 28468: 
> 28468:       _ForwardIterator __next = __first;
> 28468: 
> 28468:       while (++__next != __last)
> 28468:  if (__pred(*__next))
> 28468:    {
> 28468:      std::iter_swap(__first, __next);
> 28468:      ++__first;
> 28468:    }
> 28468: 
> 28468:       return __first;
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _BidirectionalIterator, typename _Predicate>
> 28468:     _BidirectionalIterator
> 28468:     __partition(_BidirectionalIterator __first, _BidirectionalIterator __last,
> 28468:   _Predicate __pred, bidirectional_iterator_tag)
> 28468:     {
> 28468:       while (true)
> 28468:  {
> 28468:    while (true)
> 28468:      if (__first == __last)
> 28468:        return __first;
> 28468:      else if (__pred(*__first))
> 28468:        ++__first;
> 28468:      else
> 28468:        break;
> 28468:    --__last;
> 28468:    while (true)
> 28468:      if (__first == __last)
> 28468:        return __first;
> 28468:      else if (!bool(__pred(*__last)))
> 28468:        --__last;
> 28468:      else
> 28468:        break;
> 28468:    std::iter_swap(__first, __last);
> 28468:    ++__first;
> 28468:  }
> 28468:     }
> 28468: # 1546 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Pointer, typename _Predicate,
> 28468:     typename _Distance>
> 28468:     _ForwardIterator
> 28468:     __stable_partition_adaptive(_ForwardIterator __first,
> 28468:     _ForwardIterator __last,
> 28468:     _Predicate __pred, _Distance __len,
> 28468:     _Pointer __buffer,
> 28468:     _Distance __buffer_size)
> 28468:     {
> 28468:       if (__len == 1)
> 28468:  return __first;
> 28468: 
> 28468:       if (__len <= __buffer_size)
> 28468:  {
> 28468:    _ForwardIterator __result1 = __first;
> 28468:    _Pointer __result2 = __buffer;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:    *__result2 = std::move(*__first);
> 28468:    ++__result2;
> 28468:    ++__first;
> 28468:    for (; __first != __last; ++__first)
> 28468:      if (__pred(__first))
> 28468:        {
> 28468:   *__result1 = std::move(*__first);
> 28468:   ++__result1;
> 28468:        }
> 28468:      else
> 28468:        {
> 28468:   *__result2 = std::move(*__first);
> 28468:   ++__result2;
> 28468:        }
> 28468: 
> 28468:    std::move(__buffer, __result2, __result1);
> 28468:    return __result1;
> 28468:  }
> 28468: 
> 28468:       _ForwardIterator __middle = __first;
> 28468:       std::advance(__middle, __len / 2);
> 28468:       _ForwardIterator __left_split =
> 28468:  std::__stable_partition_adaptive(__first, __middle, __pred,
> 28468:       __len / 2, __buffer,
> 28468:       __buffer_size);
> 28468: 
> 28468: 
> 28468: 
> 28468:       _Distance __right_len = __len - __len / 2;
> 28468:       _ForwardIterator __right_split =
> 28468:  std::__find_if_not_n(__middle, __right_len, __pred);
> 28468: 
> 28468:       if (__right_len)
> 28468:  __right_split =
> 28468:    std::__stable_partition_adaptive(__right_split, __last, __pred,
> 28468:         __right_len,
> 28468:         __buffer, __buffer_size);
> 28468: 
> 28468:       return std::rotate(__left_split, __middle, __right_split);
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Predicate>
> 28468:     _ForwardIterator
> 28468:     __stable_partition(_ForwardIterator __first, _ForwardIterator __last,
> 28468:          _Predicate __pred)
> 28468:     {
> 28468:       __first = std::__find_if_not(__first, __last, __pred);
> 28468: 
> 28468:       if (__first == __last)
> 28468:  return __first;
> 28468: 
> 28468:       typedef typename iterator_traits<_ForwardIterator>::value_type
> 28468:  _ValueType;
> 28468:       typedef typename iterator_traits<_ForwardIterator>::difference_type
> 28468:  _DistanceType;
> 28468: 
> 28468:       _Temporary_buffer<_ForwardIterator, _ValueType>
> 28468:  __buf(__first, std::distance(__first, __last));
> 28468:       return
> 28468:  std::__stable_partition_adaptive(__first, __last, __pred,
> 28468:       _DistanceType(__buf.requested_size()),
> 28468:       __buf.begin(),
> 28468:       _DistanceType(__buf.size()));
> 28468:     }
> 28468: # 1648 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Predicate>
> 28468:     inline _ForwardIterator
> 28468:     stable_partition(_ForwardIterator __first, _ForwardIterator __last,
> 28468:        _Predicate __pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__stable_partition(__first, __last,
> 28468:          __gnu_cxx::__ops::__pred_iter(__pred));
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     void
> 28468:     __heap_select(_RandomAccessIterator __first,
> 28468:     _RandomAccessIterator __middle,
> 28468:     _RandomAccessIterator __last, _Compare __comp)
> 28468:     {
> 28468:       std::__make_heap(__first, __middle, __comp);
> 28468:       for (_RandomAccessIterator __i = __middle; __i < __last; ++__i)
> 28468:  if (__comp(__i, __first))
> 28468:    std::__pop_heap(__first, __middle, __i, __comp);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator, typename _RandomAccessIterator,
> 28468:     typename _Compare>
> 28468:     _RandomAccessIterator
> 28468:     __partial_sort_copy(_InputIterator __first, _InputIterator __last,
> 28468:    _RandomAccessIterator __result_first,
> 28468:    _RandomAccessIterator __result_last,
> 28468:    _Compare __comp)
> 28468:     {
> 28468:       typedef typename iterator_traits<_InputIterator>::value_type
> 28468:  _InputValueType;
> 28468:       typedef iterator_traits<_RandomAccessIterator> _RItTraits;
> 28468:       typedef typename _RItTraits::difference_type _DistanceType;
> 28468: 
> 28468:       if (__result_first == __result_last)
> 28468:  return __result_last;
> 28468:       _RandomAccessIterator __result_real_last = __result_first;
> 28468:       while (__first != __last && __result_real_last != __result_last)
> 28468:  {
> 28468:    *__result_real_last = *__first;
> 28468:    ++__result_real_last;
> 28468:    ++__first;
> 28468:  }
> 28468: 
> 28468:       std::__make_heap(__result_first, __result_real_last, __comp);
> 28468:       while (__first != __last)
> 28468:  {
> 28468:    if (__comp(__first, __result_first))
> 28468:      std::__adjust_heap(__result_first, _DistanceType(0),
> 28468:           _DistanceType(__result_real_last
> 28468:           - __result_first),
> 28468:           _InputValueType(*__first), __comp);
> 28468:    ++__first;
> 28468:  }
> 28468:       std::__sort_heap(__result_first, __result_real_last, __comp);
> 28468:       return __result_real_last;
> 28468:     }
> 28468: # 1734 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _RandomAccessIterator>
> 28468:     inline _RandomAccessIterator
> 28468:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
> 28468:         _RandomAccessIterator __result_first,
> 28468:         _RandomAccessIterator __result_last)
> 28468:     {
> 28468: # 1748 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__partial_sort_copy(__first, __last,
> 28468:           __result_first, __result_last,
> 28468:           __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 1783 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _RandomAccessIterator,
> 28468:     typename _Compare>
> 28468:     inline _RandomAccessIterator
> 28468:     partial_sort_copy(_InputIterator __first, _InputIterator __last,
> 28468:         _RandomAccessIterator __result_first,
> 28468:         _RandomAccessIterator __result_last,
> 28468:         _Compare __comp)
> 28468:     {
> 28468: # 1799 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__partial_sort_copy(__first, __last,
> 28468:           __result_first, __result_last,
> 28468:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     void
> 28468:     __unguarded_linear_insert(_RandomAccessIterator __last,
> 28468:          _Compare __comp)
> 28468:     {
> 28468:       typename iterator_traits<_RandomAccessIterator>::value_type
> 28468:  __val = std::move(*__last);
> 28468:       _RandomAccessIterator __next = __last;
> 28468:       --__next;
> 28468:       while (__comp(__val, __next))
> 28468:  {
> 28468:    *__last = std::move(*__next);
> 28468:    __last = __next;
> 28468:    --__next;
> 28468:  }
> 28468:       *__last = std::move(__val);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     void
> 28468:     __insertion_sort(_RandomAccessIterator __first,
> 28468:        _RandomAccessIterator __last, _Compare __comp)
> 28468:     {
> 28468:       if (__first == __last) return;
> 28468: 
> 28468:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
> 28468:  {
> 28468:    if (__comp(__i, __first))
> 28468:      {
> 28468:        typename iterator_traits<_RandomAccessIterator>::value_type
> 28468:   __val = std::move(*__i);
> 28468:        std::move_backward(__first, __i, __i + 1);
> 28468:        *__first = std::move(__val);
> 28468:      }
> 28468:    else
> 28468:      std::__unguarded_linear_insert(__i,
> 28468:     __gnu_cxx::__ops::__val_comp_iter(__comp));
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     __unguarded_insertion_sort(_RandomAccessIterator __first,
> 28468:           _RandomAccessIterator __last, _Compare __comp)
> 28468:     {
> 28468:       for (_RandomAccessIterator __i = __first; __i != __last; ++__i)
> 28468:  std::__unguarded_linear_insert(__i,
> 28468:     __gnu_cxx::__ops::__val_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   enum { _S_threshold = 16 };
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     void
> 28468:     __final_insertion_sort(_RandomAccessIterator __first,
> 28468:       _RandomAccessIterator __last, _Compare __comp)
> 28468:     {
> 28468:       if (__last - __first > int(_S_threshold))
> 28468:  {
> 28468:    std::__insertion_sort(__first, __first + int(_S_threshold), __comp);
> 28468:    std::__unguarded_insertion_sort(__first + int(_S_threshold), __last,
> 28468:        __comp);
> 28468:  }
> 28468:       else
> 28468:  std::__insertion_sort(__first, __last, __comp);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     _RandomAccessIterator
> 28468:     __unguarded_partition(_RandomAccessIterator __first,
> 28468:      _RandomAccessIterator __last,
> 28468:      _RandomAccessIterator __pivot, _Compare __comp)
> 28468:     {
> 28468:       while (true)
> 28468:  {
> 28468:    while (__comp(__first, __pivot))
> 28468:      ++__first;
> 28468:    --__last;
> 28468:    while (__comp(__pivot, __last))
> 28468:      --__last;
> 28468:    if (!(__first < __last))
> 28468:      return __first;
> 28468:    std::iter_swap(__first, __last);
> 28468:    ++__first;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline _RandomAccessIterator
> 28468:     __unguarded_partition_pivot(_RandomAccessIterator __first,
> 28468:     _RandomAccessIterator __last, _Compare __comp)
> 28468:     {
> 28468:       _RandomAccessIterator __mid = __first + (__last - __first) / 2;
> 28468:       std::__move_median_to_first(__first, __first + 1, __mid, __last - 1,
> 28468:       __comp);
> 28468:       return std::__unguarded_partition(__first + 1, __last, __first, __comp);
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     __partial_sort(_RandomAccessIterator __first,
> 28468:      _RandomAccessIterator __middle,
> 28468:      _RandomAccessIterator __last,
> 28468:      _Compare __comp)
> 28468:     {
> 28468:       std::__heap_select(__first, __middle, __last, __comp);
> 28468:       std::__sort_heap(__first, __middle, __comp);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
> 28468:     void
> 28468:     __introsort_loop(_RandomAccessIterator __first,
> 28468:        _RandomAccessIterator __last,
> 28468:        _Size __depth_limit, _Compare __comp)
> 28468:     {
> 28468:       while (__last - __first > int(_S_threshold))
> 28468:  {
> 28468:    if (__depth_limit == 0)
> 28468:      {
> 28468:        std::__partial_sort(__first, __last, __last, __comp);
> 28468:        return;
> 28468:      }
> 28468:    --__depth_limit;
> 28468:    _RandomAccessIterator __cut =
> 28468:      std::__unguarded_partition_pivot(__first, __last, __comp);
> 28468:    std::__introsort_loop(__cut, __last, __depth_limit, __comp);
> 28468:    __last = __cut;
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     __sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:     _Compare __comp)
> 28468:     {
> 28468:       if (__first != __last)
> 28468:  {
> 28468:    std::__introsort_loop(__first, __last,
> 28468:     std::__lg(__last - __first) * 2,
> 28468:     __comp);
> 28468:    std::__final_insertion_sort(__first, __last, __comp);
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Size, typename _Compare>
> 28468:     void
> 28468:     __introselect(_RandomAccessIterator __first, _RandomAccessIterator __nth,
> 28468:     _RandomAccessIterator __last, _Size __depth_limit,
> 28468:     _Compare __comp)
> 28468:     {
> 28468:       while (__last - __first > 3)
> 28468:  {
> 28468:    if (__depth_limit == 0)
> 28468:      {
> 28468:        std::__heap_select(__first, __nth + 1, __last, __comp);
> 28468: 
> 28468:        std::iter_swap(__first, __nth);
> 28468:        return;
> 28468:      }
> 28468:    --__depth_limit;
> 28468:    _RandomAccessIterator __cut =
> 28468:      std::__unguarded_partition_pivot(__first, __last, __comp);
> 28468:    if (__cut <= __nth)
> 28468:      __first = __cut;
> 28468:    else
> 28468:      __last = __cut;
> 28468:  }
> 28468:       std::__insertion_sort(__first, __last, __comp);
> 28468:     }
> 28468: # 2020 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
> 28468:     inline _ForwardIterator
> 28468:     lower_bound(_ForwardIterator __first, _ForwardIterator __last,
> 28468:   const _Tp& __val, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468:                     ;
> 28468: 
> 28468:       return std::__lower_bound(__first, __last, __val,
> 28468:     __gnu_cxx::__ops::__iter_comp_val(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
> 28468:     _ForwardIterator
> 28468:     __upper_bound(_ForwardIterator __first, _ForwardIterator __last,
> 28468:     const _Tp& __val, _Compare __comp)
> 28468:     {
> 28468:       typedef typename iterator_traits<_ForwardIterator>::difference_type
> 28468:  _DistanceType;
> 28468: 
> 28468:       _DistanceType __len = std::distance(__first, __last);
> 28468: 
> 28468:       while (__len > 0)
> 28468:  {
> 28468:    _DistanceType __half = __len >> 1;
> 28468:    _ForwardIterator __middle = __first;
> 28468:    std::advance(__middle, __half);
> 28468:    if (__comp(__val, __middle))
> 28468:      __len = __half;
> 28468:    else
> 28468:      {
> 28468:        __first = __middle;
> 28468:        ++__first;
> 28468:        __len = __len - __half - 1;
> 28468:      }
> 28468:  }
> 28468:       return __first;
> 28468:     }
> 28468: # 2074 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     inline _ForwardIterator
> 28468:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
> 28468:   const _Tp& __val)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__upper_bound(__first, __last, __val,
> 28468:     __gnu_cxx::__ops::__val_less_iter());
> 28468:     }
> 28468: # 2104 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
> 28468:     inline _ForwardIterator
> 28468:     upper_bound(_ForwardIterator __first, _ForwardIterator __last,
> 28468:   const _Tp& __val, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468:                     ;
> 28468: 
> 28468:       return std::__upper_bound(__first, __last, __val,
> 28468:     __gnu_cxx::__ops::__val_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Tp,
> 28468:     typename _CompareItTp, typename _CompareTpIt>
> 28468:     pair<_ForwardIterator, _ForwardIterator>
> 28468:     __equal_range(_ForwardIterator __first, _ForwardIterator __last,
> 28468:     const _Tp& __val,
> 28468:     _CompareItTp __comp_it_val, _CompareTpIt __comp_val_it)
> 28468:     {
> 28468:       typedef typename iterator_traits<_ForwardIterator>::difference_type
> 28468:  _DistanceType;
> 28468: 
> 28468:       _DistanceType __len = std::distance(__first, __last);
> 28468: 
> 28468:       while (__len > 0)
> 28468:  {
> 28468:    _DistanceType __half = __len >> 1;
> 28468:    _ForwardIterator __middle = __first;
> 28468:    std::advance(__middle, __half);
> 28468:    if (__comp_it_val(__middle, __val))
> 28468:      {
> 28468:        __first = __middle;
> 28468:        ++__first;
> 28468:        __len = __len - __half - 1;
> 28468:      }
> 28468:    else if (__comp_val_it(__val, __middle))
> 28468:      __len = __half;
> 28468:    else
> 28468:      {
> 28468:        _ForwardIterator __left
> 28468:   = std::__lower_bound(__first, __middle, __val, __comp_it_val);
> 28468:        std::advance(__first, __len);
> 28468:        _ForwardIterator __right
> 28468:   = std::__upper_bound(++__middle, __first, __val, __comp_val_it);
> 28468:        return pair<_ForwardIterator, _ForwardIterator>(__left, __right);
> 28468:      }
> 28468:  }
> 28468:       return pair<_ForwardIterator, _ForwardIterator>(__first, __first);
> 28468:     }
> 28468: # 2175 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     inline pair<_ForwardIterator, _ForwardIterator>
> 28468:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
> 28468:   const _Tp& __val)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__equal_range(__first, __last, __val,
> 28468:     __gnu_cxx::__ops::__iter_less_val(),
> 28468:     __gnu_cxx::__ops::__val_less_iter());
> 28468:     }
> 28468: # 2211 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
> 28468:     inline pair<_ForwardIterator, _ForwardIterator>
> 28468:     equal_range(_ForwardIterator __first, _ForwardIterator __last,
> 28468:   const _Tp& __val, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468:                     ;
> 28468:      
> 28468:                     ;
> 28468: 
> 28468:       return std::__equal_range(__first, __last, __val,
> 28468:     __gnu_cxx::__ops::__iter_comp_val(__comp),
> 28468:     __gnu_cxx::__ops::__val_comp_iter(__comp));
> 28468:     }
> 28468: # 2244 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     bool
> 28468:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
> 28468:     const _Tp& __val)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       _ForwardIterator __i
> 28468:  = std::__lower_bound(__first, __last, __val,
> 28468:         __gnu_cxx::__ops::__iter_less_val());
> 28468:       return __i != __last && !(__val < *__i);
> 28468:     }
> 28468: # 2277 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp, typename _Compare>
> 28468:     bool
> 28468:     binary_search(_ForwardIterator __first, _ForwardIterator __last,
> 28468:     const _Tp& __val, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468:                     ;
> 28468:      
> 28468:                     ;
> 28468: 
> 28468:       _ForwardIterator __i
> 28468:  = std::__lower_bound(__first, __last, __val,
> 28468:         __gnu_cxx::__ops::__iter_comp_val(__comp));
> 28468:       return __i != __last && !bool(__comp(__val, *__i));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator, typename _Compare>
> 28468:     void
> 28468:     __move_merge_adaptive(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:      _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:      _OutputIterator __result, _Compare __comp)
> 28468:     {
> 28468:       while (__first1 != __last1 && __first2 != __last2)
> 28468:  {
> 28468:    if (__comp(__first2, __first1))
> 28468:      {
> 28468:        *__result = std::move(*__first2);
> 28468:        ++__first2;
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        *__result = std::move(*__first1);
> 28468:        ++__first1;
> 28468:      }
> 28468:    ++__result;
> 28468:  }
> 28468:       if (__first1 != __last1)
> 28468:  std::move(__first1, __last1, __result);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
> 28468:     typename _BidirectionalIterator3, typename _Compare>
> 28468:     void
> 28468:     __move_merge_adaptive_backward(_BidirectionalIterator1 __first1,
> 28468:        _BidirectionalIterator1 __last1,
> 28468:        _BidirectionalIterator2 __first2,
> 28468:        _BidirectionalIterator2 __last2,
> 28468:        _BidirectionalIterator3 __result,
> 28468:        _Compare __comp)
> 28468:     {
> 28468:       if (__first1 == __last1)
> 28468:  {
> 28468:    std::move_backward(__first2, __last2, __result);
> 28468:    return;
> 28468:  }
> 28468:       else if (__first2 == __last2)
> 28468:  return;
> 28468: 
> 28468:       --__last1;
> 28468:       --__last2;
> 28468:       while (true)
> 28468:  {
> 28468:    if (__comp(__last2, __last1))
> 28468:      {
> 28468:        *--__result = std::move(*__last1);
> 28468:        if (__first1 == __last1)
> 28468:   {
> 28468:     std::move_backward(__first2, ++__last2, __result);
> 28468:     return;
> 28468:   }
> 28468:        --__last1;
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        *--__result = std::move(*__last2);
> 28468:        if (__first2 == __last2)
> 28468:   return;
> 28468:        --__last2;
> 28468:      }
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _BidirectionalIterator1, typename _BidirectionalIterator2,
> 28468:     typename _Distance>
> 28468:     _BidirectionalIterator1
> 28468:     __rotate_adaptive(_BidirectionalIterator1 __first,
> 28468:         _BidirectionalIterator1 __middle,
> 28468:         _BidirectionalIterator1 __last,
> 28468:         _Distance __len1, _Distance __len2,
> 28468:         _BidirectionalIterator2 __buffer,
> 28468:         _Distance __buffer_size)
> 28468:     {
> 28468:       _BidirectionalIterator2 __buffer_end;
> 28468:       if (__len1 > __len2 && __len2 <= __buffer_size)
> 28468:  {
> 28468:    if (__len2)
> 28468:      {
> 28468:        __buffer_end = std::move(__middle, __last, __buffer);
> 28468:        std::move_backward(__first, __middle, __last);
> 28468:        return std::move(__buffer, __buffer_end, __first);
> 28468:      }
> 28468:    else
> 28468:      return __first;
> 28468:  }
> 28468:       else if (__len1 <= __buffer_size)
> 28468:  {
> 28468:    if (__len1)
> 28468:      {
> 28468:        __buffer_end = std::move(__first, __middle, __buffer);
> 28468:        std::move(__middle, __last, __first);
> 28468:        return std::move_backward(__buffer, __buffer_end, __last);
> 28468:      }
> 28468:    else
> 28468:      return __last;
> 28468:  }
> 28468:       else
> 28468:  return std::rotate(__first, __middle, __last);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _BidirectionalIterator, typename _Distance,
> 28468:     typename _Pointer, typename _Compare>
> 28468:     void
> 28468:     __merge_adaptive(_BidirectionalIterator __first,
> 28468:        _BidirectionalIterator __middle,
> 28468:        _BidirectionalIterator __last,
> 28468:        _Distance __len1, _Distance __len2,
> 28468:        _Pointer __buffer, _Distance __buffer_size,
> 28468:        _Compare __comp)
> 28468:     {
> 28468:       if (__len1 <= __len2 && __len1 <= __buffer_size)
> 28468:  {
> 28468:    _Pointer __buffer_end = std::move(__first, __middle, __buffer);
> 28468:    std::__move_merge_adaptive(__buffer, __buffer_end, __middle, __last,
> 28468:          __first, __comp);
> 28468:  }
> 28468:       else if (__len2 <= __buffer_size)
> 28468:  {
> 28468:    _Pointer __buffer_end = std::move(__middle, __last, __buffer);
> 28468:    std::__move_merge_adaptive_backward(__first, __middle, __buffer,
> 28468:            __buffer_end, __last, __comp);
> 28468:  }
> 28468:       else
> 28468:  {
> 28468:    _BidirectionalIterator __first_cut = __first;
> 28468:    _BidirectionalIterator __second_cut = __middle;
> 28468:    _Distance __len11 = 0;
> 28468:    _Distance __len22 = 0;
> 28468:    if (__len1 > __len2)
> 28468:      {
> 28468:        __len11 = __len1 / 2;
> 28468:        std::advance(__first_cut, __len11);
> 28468:        __second_cut
> 28468:   = std::__lower_bound(__middle, __last, *__first_cut,
> 28468:          __gnu_cxx::__ops::__iter_comp_val(__comp));
> 28468:        __len22 = std::distance(__middle, __second_cut);
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        __len22 = __len2 / 2;
> 28468:        std::advance(__second_cut, __len22);
> 28468:        __first_cut
> 28468:   = std::__upper_bound(__first, __middle, *__second_cut,
> 28468:          __gnu_cxx::__ops::__val_comp_iter(__comp));
> 28468:        __len11 = std::distance(__first, __first_cut);
> 28468:      }
> 28468: 
> 28468:    _BidirectionalIterator __new_middle
> 28468:      = std::__rotate_adaptive(__first_cut, __middle, __second_cut,
> 28468:          __len1 - __len11, __len22, __buffer,
> 28468:          __buffer_size);
> 28468:    std::__merge_adaptive(__first, __first_cut, __new_middle, __len11,
> 28468:     __len22, __buffer, __buffer_size, __comp);
> 28468:    std::__merge_adaptive(__new_middle, __second_cut, __last,
> 28468:     __len1 - __len11,
> 28468:     __len2 - __len22, __buffer,
> 28468:     __buffer_size, __comp);
> 28468:  }
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _BidirectionalIterator, typename _Distance,
> 28468:     typename _Compare>
> 28468:     void
> 28468:     __merge_without_buffer(_BidirectionalIterator __first,
> 28468:       _BidirectionalIterator __middle,
> 28468:       _BidirectionalIterator __last,
> 28468:       _Distance __len1, _Distance __len2,
> 28468:       _Compare __comp)
> 28468:     {
> 28468:       if (__len1 == 0 || __len2 == 0)
> 28468:  return;
> 28468: 
> 28468:       if (__len1 + __len2 == 2)
> 28468:  {
> 28468:    if (__comp(__middle, __first))
> 28468:      std::iter_swap(__first, __middle);
> 28468:    return;
> 28468:  }
> 28468: 
> 28468:       _BidirectionalIterator __first_cut = __first;
> 28468:       _BidirectionalIterator __second_cut = __middle;
> 28468:       _Distance __len11 = 0;
> 28468:       _Distance __len22 = 0;
> 28468:       if (__len1 > __len2)
> 28468:  {
> 28468:    __len11 = __len1 / 2;
> 28468:    std::advance(__first_cut, __len11);
> 28468:    __second_cut
> 28468:      = std::__lower_bound(__middle, __last, *__first_cut,
> 28468:      __gnu_cxx::__ops::__iter_comp_val(__comp));
> 28468:    __len22 = std::distance(__middle, __second_cut);
> 28468:  }
> 28468:       else
> 28468:  {
> 28468:    __len22 = __len2 / 2;
> 28468:    std::advance(__second_cut, __len22);
> 28468:    __first_cut
> 28468:      = std::__upper_bound(__first, __middle, *__second_cut,
> 28468:      __gnu_cxx::__ops::__val_comp_iter(__comp));
> 28468:    __len11 = std::distance(__first, __first_cut);
> 28468:  }
> 28468: 
> 28468:       _BidirectionalIterator __new_middle
> 28468:  = std::rotate(__first_cut, __middle, __second_cut);
> 28468:       std::__merge_without_buffer(__first, __first_cut, __new_middle,
> 28468:       __len11, __len22, __comp);
> 28468:       std::__merge_without_buffer(__new_middle, __second_cut, __last,
> 28468:       __len1 - __len11, __len2 - __len22, __comp);
> 28468:     }
> 28468: 
> 28468:   template<typename _BidirectionalIterator, typename _Compare>
> 28468:     void
> 28468:     __inplace_merge(_BidirectionalIterator __first,
> 28468:       _BidirectionalIterator __middle,
> 28468:       _BidirectionalIterator __last,
> 28468:       _Compare __comp)
> 28468:     {
> 28468:       typedef typename iterator_traits<_BidirectionalIterator>::value_type
> 28468:    _ValueType;
> 28468:       typedef typename iterator_traits<_BidirectionalIterator>::difference_type
> 28468:    _DistanceType;
> 28468: 
> 28468:       if (__first == __middle || __middle == __last)
> 28468:  return;
> 28468: 
> 28468:       const _DistanceType __len1 = std::distance(__first, __middle);
> 28468:       const _DistanceType __len2 = std::distance(__middle, __last);
> 28468: 
> 28468:       typedef _Temporary_buffer<_BidirectionalIterator, _ValueType> _TmpBuf;
> 28468:       _TmpBuf __buf(__first, __len1 + __len2);
> 28468: 
> 28468:       if (__buf.begin() == 0)
> 28468:  std::__merge_without_buffer
> 28468:    (__first, __middle, __last, __len1, __len2, __comp);
> 28468:       else
> 28468:  std::__merge_adaptive
> 28468:    (__first, __middle, __last, __len1, __len2, __buf.begin(),
> 28468:     _DistanceType(__buf.size()), __comp);
> 28468:     }
> 28468: # 2566 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _BidirectionalIterator>
> 28468:     inline void
> 28468:     inplace_merge(_BidirectionalIterator __first,
> 28468:     _BidirectionalIterator __middle,
> 28468:     _BidirectionalIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       std::__inplace_merge(__first, __middle, __last,
> 28468:       __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 2607 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _BidirectionalIterator, typename _Compare>
> 28468:     inline void
> 28468:     inplace_merge(_BidirectionalIterator __first,
> 28468:     _BidirectionalIterator __middle,
> 28468:     _BidirectionalIterator __last,
> 28468:     _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       std::__inplace_merge(__first, __middle, __last,
> 28468:       __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator, typename _OutputIterator,
> 28468:     typename _Compare>
> 28468:     _OutputIterator
> 28468:     __move_merge(_InputIterator __first1, _InputIterator __last1,
> 28468:    _InputIterator __first2, _InputIterator __last2,
> 28468:    _OutputIterator __result, _Compare __comp)
> 28468:     {
> 28468:       while (__first1 != __last1 && __first2 != __last2)
> 28468:  {
> 28468:    if (__comp(__first2, __first1))
> 28468:      {
> 28468:        *__result = std::move(*__first2);
> 28468:        ++__first2;
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        *__result = std::move(*__first1);
> 28468:        ++__first1;
> 28468:      }
> 28468:    ++__result;
> 28468:  }
> 28468:       return std::move(__first2, __last2, std::move(__first1, __last1, __result))
> 28468: 
> 28468:                   ;
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator1, typename _RandomAccessIterator2,
> 28468:     typename _Distance, typename _Compare>
> 28468:     void
> 28468:     __merge_sort_loop(_RandomAccessIterator1 __first,
> 28468:         _RandomAccessIterator1 __last,
> 28468:         _RandomAccessIterator2 __result, _Distance __step_size,
> 28468:         _Compare __comp)
> 28468:     {
> 28468:       const _Distance __two_step = 2 * __step_size;
> 28468: 
> 28468:       while (__last - __first >= __two_step)
> 28468:  {
> 28468:    __result = std::__move_merge(__first, __first + __step_size,
> 28468:            __first + __step_size,
> 28468:            __first + __two_step,
> 28468:            __result, __comp);
> 28468:    __first += __two_step;
> 28468:  }
> 28468:       __step_size = std::min(_Distance(__last - __first), __step_size);
> 28468: 
> 28468:       std::__move_merge(__first, __first + __step_size,
> 28468:    __first + __step_size, __last, __result, __comp);
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Distance,
> 28468:     typename _Compare>
> 28468:     void
> 28468:     __chunk_insertion_sort(_RandomAccessIterator __first,
> 28468:       _RandomAccessIterator __last,
> 28468:       _Distance __chunk_size, _Compare __comp)
> 28468:     {
> 28468:       while (__last - __first >= __chunk_size)
> 28468:  {
> 28468:    std::__insertion_sort(__first, __first + __chunk_size, __comp);
> 28468:    __first += __chunk_size;
> 28468:  }
> 28468:       std::__insertion_sort(__first, __last, __comp);
> 28468:     }
> 28468: 
> 28468:   enum { _S_chunk_size = 7 };
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Pointer, typename _Compare>
> 28468:     void
> 28468:     __merge_sort_with_buffer(_RandomAccessIterator __first,
> 28468:         _RandomAccessIterator __last,
> 28468:         _Pointer __buffer, _Compare __comp)
> 28468:     {
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
> 28468:  _Distance;
> 28468: 
> 28468:       const _Distance __len = __last - __first;
> 28468:       const _Pointer __buffer_last = __buffer + __len;
> 28468: 
> 28468:       _Distance __step_size = _S_chunk_size;
> 28468:       std::__chunk_insertion_sort(__first, __last, __step_size, __comp);
> 28468: 
> 28468:       while (__step_size < __len)
> 28468:  {
> 28468:    std::__merge_sort_loop(__first, __last, __buffer,
> 28468:      __step_size, __comp);
> 28468:    __step_size *= 2;
> 28468:    std::__merge_sort_loop(__buffer, __buffer_last, __first,
> 28468:      __step_size, __comp);
> 28468:    __step_size *= 2;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Pointer,
> 28468:     typename _Distance, typename _Compare>
> 28468:     void
> 28468:     __stable_sort_adaptive(_RandomAccessIterator __first,
> 28468:       _RandomAccessIterator __last,
> 28468:       _Pointer __buffer, _Distance __buffer_size,
> 28468:       _Compare __comp)
> 28468:     {
> 28468:       const _Distance __len = (__last - __first + 1) / 2;
> 28468:       const _RandomAccessIterator __middle = __first + __len;
> 28468:       if (__len > __buffer_size)
> 28468:  {
> 28468:    std::__stable_sort_adaptive(__first, __middle, __buffer,
> 28468:           __buffer_size, __comp);
> 28468:    std::__stable_sort_adaptive(__middle, __last, __buffer,
> 28468:           __buffer_size, __comp);
> 28468:  }
> 28468:       else
> 28468:  {
> 28468:    std::__merge_sort_with_buffer(__first, __middle, __buffer, __comp);
> 28468:    std::__merge_sort_with_buffer(__middle, __last, __buffer, __comp);
> 28468:  }
> 28468:       std::__merge_adaptive(__first, __middle, __last,
> 28468:        _Distance(__middle - __first),
> 28468:        _Distance(__last - __middle),
> 28468:        __buffer, __buffer_size,
> 28468:        __comp);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     void
> 28468:     __inplace_stable_sort(_RandomAccessIterator __first,
> 28468:      _RandomAccessIterator __last, _Compare __comp)
> 28468:     {
> 28468:       if (__last - __first < 15)
> 28468:  {
> 28468:    std::__insertion_sort(__first, __last, __comp);
> 28468:    return;
> 28468:  }
> 28468:       _RandomAccessIterator __middle = __first + (__last - __first) / 2;
> 28468:       std::__inplace_stable_sort(__first, __middle, __comp);
> 28468:       std::__inplace_stable_sort(__middle, __last, __comp);
> 28468:       std::__merge_without_buffer(__first, __middle, __last,
> 28468:       __middle - __first,
> 28468:       __last - __middle,
> 28468:       __comp);
> 28468:     }
> 28468: # 2779 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _Compare>
> 28468:     bool
> 28468:     __includes(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:         _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:         _Compare __comp)
> 28468:     {
> 28468:       while (__first1 != __last1 && __first2 != __last2)
> 28468:  if (__comp(__first2, __first1))
> 28468:    return false;
> 28468:  else if (__comp(__first1, __first2))
> 28468:    ++__first1;
> 28468:  else
> 28468:    {
> 28468:      ++__first1;
> 28468:      ++__first2;
> 28468:    }
> 28468: 
> 28468:       return __first2 == __last2;
> 28468:     }
> 28468: # 2818 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2>
> 28468:     inline bool
> 28468:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:       _InputIterator2 __first2, _InputIterator2 __last2)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__includes(__first1, __last1, __first2, __last2,
> 28468:         __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 2862 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _Compare>
> 28468:     inline bool
> 28468:     includes(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:       _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:       _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__includes(__first1, __last1, __first2, __last2,
> 28468:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: # 2897 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _BidirectionalIterator, typename _Compare>
> 28468:     bool
> 28468:     __next_permutation(_BidirectionalIterator __first,
> 28468:          _BidirectionalIterator __last, _Compare __comp)
> 28468:     {
> 28468:       if (__first == __last)
> 28468:  return false;
> 28468:       _BidirectionalIterator __i = __first;
> 28468:       ++__i;
> 28468:       if (__i == __last)
> 28468:  return false;
> 28468:       __i = __last;
> 28468:       --__i;
> 28468: 
> 28468:       for(;;)
> 28468:  {
> 28468:    _BidirectionalIterator __ii = __i;
> 28468:    --__i;
> 28468:    if (__comp(__i, __ii))
> 28468:      {
> 28468:        _BidirectionalIterator __j = __last;
> 28468:        while (!__comp(__i, --__j))
> 28468:   {}
> 28468:        std::iter_swap(__i, __j);
> 28468:        std::__reverse(__ii, __last,
> 28468:         std::__iterator_category(__first));
> 28468:        return true;
> 28468:      }
> 28468:    if (__i == __first)
> 28468:      {
> 28468:        std::__reverse(__first, __last,
> 28468:         std::__iterator_category(__first));
> 28468:        return false;
> 28468:      }
> 28468:  }
> 28468:     }
> 28468: # 2946 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _BidirectionalIterator>
> 28468:     inline bool
> 28468:     next_permutation(_BidirectionalIterator __first,
> 28468:        _BidirectionalIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__next_permutation
> 28468:  (__first, __last, __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 2978 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _BidirectionalIterator, typename _Compare>
> 28468:     inline bool
> 28468:     next_permutation(_BidirectionalIterator __first,
> 28468:        _BidirectionalIterator __last, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__next_permutation
> 28468:  (__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _BidirectionalIterator, typename _Compare>
> 28468:     bool
> 28468:     __prev_permutation(_BidirectionalIterator __first,
> 28468:          _BidirectionalIterator __last, _Compare __comp)
> 28468:     {
> 28468:       if (__first == __last)
> 28468:  return false;
> 28468:       _BidirectionalIterator __i = __first;
> 28468:       ++__i;
> 28468:       if (__i == __last)
> 28468:  return false;
> 28468:       __i = __last;
> 28468:       --__i;
> 28468: 
> 28468:       for(;;)
> 28468:  {
> 28468:    _BidirectionalIterator __ii = __i;
> 28468:    --__i;
> 28468:    if (__comp(__ii, __i))
> 28468:      {
> 28468:        _BidirectionalIterator __j = __last;
> 28468:        while (!__comp(--__j, __i))
> 28468:   {}
> 28468:        std::iter_swap(__i, __j);
> 28468:        std::__reverse(__ii, __last,
> 28468:         std::__iterator_category(__first));
> 28468:        return true;
> 28468:      }
> 28468:    if (__i == __first)
> 28468:      {
> 28468:        std::__reverse(__first, __last,
> 28468:         std::__iterator_category(__first));
> 28468:        return false;
> 28468:      }
> 28468:  }
> 28468:     }
> 28468: # 3046 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _BidirectionalIterator>
> 28468:     inline bool
> 28468:     prev_permutation(_BidirectionalIterator __first,
> 28468:        _BidirectionalIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__prev_permutation(__first, __last,
> 28468:          __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 3078 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _BidirectionalIterator, typename _Compare>
> 28468:     inline bool
> 28468:     prev_permutation(_BidirectionalIterator __first,
> 28468:        _BidirectionalIterator __last, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__prev_permutation(__first, __last,
> 28468:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _InputIterator, typename _OutputIterator,
> 28468:     typename _Predicate, typename _Tp>
> 28468:     _OutputIterator
> 28468:     __replace_copy_if(_InputIterator __first, _InputIterator __last,
> 28468:         _OutputIterator __result,
> 28468:         _Predicate __pred, const _Tp& __new_value)
> 28468:     {
> 28468:       for (; __first != __last; ++__first, (void)++__result)
> 28468:  if (__pred(__first))
> 28468:    *__result = __new_value;
> 28468:  else
> 28468:    *__result = *__first;
> 28468:       return __result;
> 28468:     }
> 28468: # 3128 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _OutputIterator, typename _Tp>
> 28468:     inline _OutputIterator
> 28468:     replace_copy(_InputIterator __first, _InputIterator __last,
> 28468:    _OutputIterator __result,
> 28468:    const _Tp& __old_value, const _Tp& __new_value)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__replace_copy_if(__first, __last, __result,
> 28468:    __gnu_cxx::__ops::__iter_equals_val(__old_value),
> 28468:            __new_value);
> 28468:     }
> 28468: # 3162 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _OutputIterator,
> 28468:     typename _Predicate, typename _Tp>
> 28468:     inline _OutputIterator
> 28468:     replace_copy_if(_InputIterator __first, _InputIterator __last,
> 28468:       _OutputIterator __result,
> 28468:       _Predicate __pred, const _Tp& __new_value)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__replace_copy_if(__first, __last, __result,
> 28468:     __gnu_cxx::__ops::__pred_iter(__pred),
> 28468:            __new_value);
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator, typename _Predicate>
> 28468:     typename iterator_traits<_InputIterator>::difference_type
> 28468:     __count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
> 28468:     {
> 28468:       typename iterator_traits<_InputIterator>::difference_type __n = 0;
> 28468:       for (; __first != __last; ++__first)
> 28468:  if (__pred(__first))
> 28468:    ++__n;
> 28468:       return __n;
> 28468:     }
> 28468: # 3201 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator>
> 28468:     inline bool
> 28468:     is_sorted(_ForwardIterator __first, _ForwardIterator __last)
> 28468:     { return std::is_sorted_until(__first, __last) == __last; }
> 28468: # 3215 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Compare>
> 28468:     inline bool
> 28468:     is_sorted(_ForwardIterator __first, _ForwardIterator __last,
> 28468:        _Compare __comp)
> 28468:     { return std::is_sorted_until(__first, __last, __comp) == __last; }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Compare>
> 28468:     _ForwardIterator
> 28468:     __is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
> 28468:         _Compare __comp)
> 28468:     {
> 28468:       if (__first == __last)
> 28468:  return __last;
> 28468: 
> 28468:       _ForwardIterator __next = __first;
> 28468:       for (++__next; __next != __last; __first = __next, (void)++__next)
> 28468:  if (__comp(__next, __first))
> 28468:    return __next;
> 28468:       return __next;
> 28468:     }
> 28468: # 3244 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator>
> 28468:     inline _ForwardIterator
> 28468:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__is_sorted_until(__first, __last,
> 28468:         __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 3268 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Compare>
> 28468:     inline _ForwardIterator
> 28468:     is_sorted_until(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__is_sorted_until(__first, __last,
> 28468:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: # 3293 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     inline pair<const _Tp&, const _Tp&>
> 28468:     minmax(const _Tp& __a, const _Tp& __b)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       return __b < __a ? pair<const _Tp&, const _Tp&>(__b, __a)
> 28468:          : pair<const _Tp&, const _Tp&>(__a, __b);
> 28468:     }
> 28468: # 3314 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     inline pair<const _Tp&, const _Tp&>
> 28468:     minmax(const _Tp& __a, const _Tp& __b, _Compare __comp)
> 28468:     {
> 28468:       return __comp(__b, __a) ? pair<const _Tp&, const _Tp&>(__b, __a)
> 28468:          : pair<const _Tp&, const _Tp&>(__a, __b);
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Compare>
> 28468:    
> 28468:     pair<_ForwardIterator, _ForwardIterator>
> 28468:     __minmax_element(_ForwardIterator __first, _ForwardIterator __last,
> 28468:        _Compare __comp)
> 28468:     {
> 28468:       _ForwardIterator __next = __first;
> 28468:       if (__first == __last
> 28468:    || ++__next == __last)
> 28468:  return std::make_pair(__first, __first);
> 28468: 
> 28468:       _ForwardIterator __min{}, __max{};
> 28468:       if (__comp(__next, __first))
> 28468:  {
> 28468:    __min = __next;
> 28468:    __max = __first;
> 28468:  }
> 28468:       else
> 28468:  {
> 28468:    __min = __first;
> 28468:    __max = __next;
> 28468:  }
> 28468: 
> 28468:       __first = __next;
> 28468:       ++__first;
> 28468: 
> 28468:       while (__first != __last)
> 28468:  {
> 28468:    __next = __first;
> 28468:    if (++__next == __last)
> 28468:      {
> 28468:        if (__comp(__first, __min))
> 28468:   __min = __first;
> 28468:        else if (!__comp(__first, __max))
> 28468:   __max = __first;
> 28468:        break;
> 28468:      }
> 28468: 
> 28468:    if (__comp(__next, __first))
> 28468:      {
> 28468:        if (__comp(__next, __min))
> 28468:   __min = __next;
> 28468:        if (!__comp(__first, __max))
> 28468:   __max = __first;
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        if (__comp(__first, __min))
> 28468:   __min = __first;
> 28468:        if (!__comp(__next, __max))
> 28468:   __max = __next;
> 28468:      }
> 28468: 
> 28468:    __first = __next;
> 28468:    ++__first;
> 28468:  }
> 28468: 
> 28468:       return std::make_pair(__min, __max);
> 28468:     }
> 28468: # 3394 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator>
> 28468:    
> 28468:     inline pair<_ForwardIterator, _ForwardIterator>
> 28468:     minmax_element(_ForwardIterator __first, _ForwardIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__minmax_element(__first, __last,
> 28468:        __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 3422 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Compare>
> 28468:    
> 28468:     inline pair<_ForwardIterator, _ForwardIterator>
> 28468:     minmax_element(_ForwardIterator __first, _ForwardIterator __last,
> 28468:      _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__minmax_element(__first, __last,
> 28468:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     inline _Tp
> 28468:     min(initializer_list<_Tp> __l)
> 28468:     { return *std::min_element(__l.begin(), __l.end()); }
> 28468: 
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     inline _Tp
> 28468:     min(initializer_list<_Tp> __l, _Compare __comp)
> 28468:     { return *std::min_element(__l.begin(), __l.end(), __comp); }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     inline _Tp
> 28468:     max(initializer_list<_Tp> __l)
> 28468:     { return *std::max_element(__l.begin(), __l.end()); }
> 28468: 
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     inline _Tp
> 28468:     max(initializer_list<_Tp> __l, _Compare __comp)
> 28468:     { return *std::max_element(__l.begin(), __l.end(), __comp); }
> 28468: 
> 28468:   template<typename _Tp>
> 28468:    
> 28468:     inline pair<_Tp, _Tp>
> 28468:     minmax(initializer_list<_Tp> __l)
> 28468:     {
> 28468:       pair<const _Tp*, const _Tp*> __p =
> 28468:  std::minmax_element(__l.begin(), __l.end());
> 28468:       return std::make_pair(*__p.first, *__p.second);
> 28468:     }
> 28468: 
> 28468:   template<typename _Tp, typename _Compare>
> 28468:    
> 28468:     inline pair<_Tp, _Tp>
> 28468:     minmax(initializer_list<_Tp> __l, _Compare __comp)
> 28468:     {
> 28468:       pair<const _Tp*, const _Tp*> __p =
> 28468:  std::minmax_element(__l.begin(), __l.end(), __comp);
> 28468:       return std::make_pair(*__p.first, *__p.second);
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator1, typename _ForwardIterator2,
> 28468:     typename _BinaryPredicate>
> 28468:     bool
> 28468:     __is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
> 28468:        _ForwardIterator2 __first2, _BinaryPredicate __pred)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       for (; __first1 != __last1; ++__first1, (void)++__first2)
> 28468:  if (!__pred(__first1, __first2))
> 28468:    break;
> 28468: 
> 28468:       if (__first1 == __last1)
> 28468:  return true;
> 28468: 
> 28468: 
> 28468: 
> 28468:       _ForwardIterator2 __last2 = __first2;
> 28468:       std::advance(__last2, std::distance(__first1, __last1));
> 28468:       for (_ForwardIterator1 __scan = __first1; __scan != __last1; ++__scan)
> 28468:  {
> 28468:    if (__scan != std::__find_if(__first1, __scan,
> 28468:      __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan)))
> 28468:      continue;
> 28468: 
> 28468:    auto __matches
> 28468:      = std::__count_if(__first2, __last2,
> 28468:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan));
> 28468:    if (0 == __matches ||
> 28468:        std::__count_if(__scan, __last1,
> 28468:    __gnu_cxx::__ops::__iter_comp_iter(__pred, __scan))
> 28468:        != __matches)
> 28468:      return false;
> 28468:  }
> 28468:       return true;
> 28468:     }
> 28468: # 3534 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator1, typename _ForwardIterator2>
> 28468:     inline bool
> 28468:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
> 28468:      _ForwardIterator2 __first2)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__is_permutation(__first1, __last1, __first2,
> 28468:        __gnu_cxx::__ops::__iter_equal_to_iter());
> 28468:     }
> 28468: # 3565 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator1, typename _ForwardIterator2,
> 28468:     typename _BinaryPredicate>
> 28468:     inline bool
> 28468:     is_permutation(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
> 28468:      _ForwardIterator2 __first2, _BinaryPredicate __pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__is_permutation(__first1, __last1, __first2,
> 28468:        __gnu_cxx::__ops::__iter_comp_iter(__pred));
> 28468:     }
> 28468: # 3761 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _IntType, typename _UniformRandomBitGenerator>
> 28468:     pair<_IntType, _IntType>
> 28468:     __gen_two_uniform_ints(_IntType __b0, _IntType __b1,
> 28468:       _UniformRandomBitGenerator&& __g)
> 28468:     {
> 28468:       _IntType __x
> 28468:  = uniform_int_distribution<_IntType>{0, (__b0 * __b1) - 1}(__g);
> 28468:       return std::make_pair(__x / __b1, __x % __b1);
> 28468:     }
> 28468: # 3783 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _RandomAccessIterator,
> 28468:     typename _UniformRandomNumberGenerator>
> 28468:     void
> 28468:     shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:      _UniformRandomNumberGenerator&& __g)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       if (__first == __last)
> 28468:  return;
> 28468: 
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
> 28468:  _DistanceType;
> 28468: 
> 28468:       typedef typename std::make_unsigned<_DistanceType>::type __ud_type;
> 28468:       typedef typename std::uniform_int_distribution<__ud_type> __distr_type;
> 28468:       typedef typename __distr_type::param_type __p_type;
> 28468: 
> 28468:       typedef typename remove_reference<_UniformRandomNumberGenerator>::type
> 28468:  _Gen;
> 28468:       typedef typename common_type<typename _Gen::result_type, __ud_type>::type
> 28468:  __uc_type;
> 28468: 
> 28468:       const __uc_type __urngrange = __g.max() - __g.min();
> 28468:       const __uc_type __urange = __uc_type(__last - __first);
> 28468: 
> 28468:       if (__urngrange / __urange >= __urange)
> 28468: 
> 28468:       {
> 28468:  _RandomAccessIterator __i = __first + 1;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  if ((__urange % 2) == 0)
> 28468:  {
> 28468:    __distr_type __d{0, 1};
> 28468:    std::iter_swap(__i++, __first + __d(__g));
> 28468:  }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:  while (__i != __last)
> 28468:  {
> 28468:    const __uc_type __swap_range = __uc_type(__i - __first) + 1;
> 28468: 
> 28468:    const pair<__uc_type, __uc_type> __pospos =
> 28468:      __gen_two_uniform_ints(__swap_range, __swap_range + 1, __g);
> 28468: 
> 28468:    std::iter_swap(__i++, __first + __pospos.first);
> 28468:    std::iter_swap(__i++, __first + __pospos.second);
> 28468:  }
> 28468: 
> 28468:  return;
> 28468:       }
> 28468: 
> 28468:       __distr_type __d;
> 28468: 
> 28468:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
> 28468:  std::iter_swap(__i, __first + __d(__g, __p_type(0, __i - __first)));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 3868 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _Function>
> 28468:     _Function
> 28468:     for_each(_InputIterator __first, _InputIterator __last, _Function __f)
> 28468:     {
> 28468: 
> 28468:      
> 28468:       ;
> 28468:       for (; __first != __last; ++__first)
> 28468:  __f(*__first);
> 28468:       return __f;
> 28468:     }
> 28468: # 3926 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _Tp>
> 28468:     inline _InputIterator
> 28468:     find(_InputIterator __first, _InputIterator __last,
> 28468:   const _Tp& __val)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       return std::__find_if(__first, __last,
> 28468:        __gnu_cxx::__ops::__iter_equals_val(__val));
> 28468:     }
> 28468: # 3950 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _Predicate>
> 28468:     inline _InputIterator
> 28468:     find_if(_InputIterator __first, _InputIterator __last,
> 28468:      _Predicate __pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__find_if(__first, __last,
> 28468:        __gnu_cxx::__ops::__pred_iter(__pred));
> 28468:     }
> 28468: # 3981 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _ForwardIterator>
> 28468:     _InputIterator
> 28468:     find_first_of(_InputIterator __first1, _InputIterator __last1,
> 28468:     _ForwardIterator __first2, _ForwardIterator __last2)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       for (; __first1 != __last1; ++__first1)
> 28468:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
> 28468:    if (*__first1 == *__iter)
> 28468:      return __first1;
> 28468:       return __last1;
> 28468:     }
> 28468: # 4021 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _ForwardIterator,
> 28468:     typename _BinaryPredicate>
> 28468:     _InputIterator
> 28468:     find_first_of(_InputIterator __first1, _InputIterator __last1,
> 28468:     _ForwardIterator __first2, _ForwardIterator __last2,
> 28468:     _BinaryPredicate __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       for (; __first1 != __last1; ++__first1)
> 28468:  for (_ForwardIterator __iter = __first2; __iter != __last2; ++__iter)
> 28468:    if (__comp(*__first1, *__iter))
> 28468:      return __first1;
> 28468:       return __last1;
> 28468:     }
> 28468: # 4053 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator>
> 28468:     inline _ForwardIterator
> 28468:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__adjacent_find(__first, __last,
> 28468:       __gnu_cxx::__ops::__iter_equal_to_iter());
> 28468:     }
> 28468: # 4078 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _BinaryPredicate>
> 28468:     inline _ForwardIterator
> 28468:     adjacent_find(_ForwardIterator __first, _ForwardIterator __last,
> 28468:     _BinaryPredicate __binary_pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__adjacent_find(__first, __last,
> 28468:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred));
> 28468:     }
> 28468: # 4103 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _Tp>
> 28468:     inline typename iterator_traits<_InputIterator>::difference_type
> 28468:     count(_InputIterator __first, _InputIterator __last, const _Tp& __value)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__count_if(__first, __last,
> 28468:         __gnu_cxx::__ops::__iter_equals_val(__value));
> 28468:     }
> 28468: # 4126 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _Predicate>
> 28468:     inline typename iterator_traits<_InputIterator>::difference_type
> 28468:     count_if(_InputIterator __first, _InputIterator __last, _Predicate __pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__count_if(__first, __last,
> 28468:         __gnu_cxx::__ops::__pred_iter(__pred));
> 28468:     }
> 28468: # 4166 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator1, typename _ForwardIterator2>
> 28468:     inline _ForwardIterator1
> 28468:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
> 28468:     _ForwardIterator2 __first2, _ForwardIterator2 __last2)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__search(__first1, __last1, __first2, __last2,
> 28468:       __gnu_cxx::__ops::__iter_equal_to_iter());
> 28468:     }
> 28468: # 4205 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator1, typename _ForwardIterator2,
> 28468:     typename _BinaryPredicate>
> 28468:     inline _ForwardIterator1
> 28468:     search(_ForwardIterator1 __first1, _ForwardIterator1 __last1,
> 28468:     _ForwardIterator2 __first2, _ForwardIterator2 __last2,
> 28468:     _BinaryPredicate __predicate)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__search(__first1, __last1, __first2, __last2,
> 28468:       __gnu_cxx::__ops::__iter_comp_iter(__predicate));
> 28468:     }
> 28468: # 4240 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Integer, typename _Tp>
> 28468:     inline _ForwardIterator
> 28468:     search_n(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       _Integer __count, const _Tp& __val)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__search_n(__first, __last, __count,
> 28468:         __gnu_cxx::__ops::__iter_equals_val(__val));
> 28468:     }
> 28468: # 4273 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Integer, typename _Tp,
> 28468:     typename _BinaryPredicate>
> 28468:     inline _ForwardIterator
> 28468:     search_n(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       _Integer __count, const _Tp& __val,
> 28468:       _BinaryPredicate __binary_pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__search_n(__first, __last, __count,
> 28468:   __gnu_cxx::__ops::__iter_comp_val(__binary_pred, __val));
> 28468:     }
> 28468: # 4321 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _OutputIterator,
> 28468:     typename _UnaryOperation>
> 28468:     _OutputIterator
> 28468:     transform(_InputIterator __first, _InputIterator __last,
> 28468:        _OutputIterator __result, _UnaryOperation __unary_op)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       for (; __first != __last; ++__first, (void)++__result)
> 28468:  *__result = __unary_op(*__first);
> 28468:       return __result;
> 28468:     }
> 28468: # 4358 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator, typename _BinaryOperation>
> 28468:     _OutputIterator
> 28468:     transform(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:        _InputIterator2 __first2, _OutputIterator __result,
> 28468:        _BinaryOperation __binary_op)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       for (; __first1 != __last1; ++__first1, (void)++__first2, ++__result)
> 28468:  *__result = __binary_op(*__first1, *__first2);
> 28468:       return __result;
> 28468:     }
> 28468: # 4391 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Tp>
> 28468:     void
> 28468:     replace(_ForwardIterator __first, _ForwardIterator __last,
> 28468:      const _Tp& __old_value, const _Tp& __new_value)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       for (; __first != __last; ++__first)
> 28468:  if (*__first == __old_value)
> 28468:    *__first = __new_value;
> 28468:     }
> 28468: # 4423 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Predicate, typename _Tp>
> 28468:     void
> 28468:     replace_if(_ForwardIterator __first, _ForwardIterator __last,
> 28468:         _Predicate __pred, const _Tp& __new_value)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       for (; __first != __last; ++__first)
> 28468:  if (__pred(*__first))
> 28468:    *__first = __new_value;
> 28468:     }
> 28468: # 4455 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Generator>
> 28468:     void
> 28468:     generate(_ForwardIterator __first, _ForwardIterator __last,
> 28468:       _Generator __gen)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       for (; __first != __last; ++__first)
> 28468:  *__first = __gen();
> 28468:     }
> 28468: # 4486 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _OutputIterator, typename _Size, typename _Generator>
> 28468:     _OutputIterator
> 28468:     generate_n(_OutputIterator __first, _Size __n, _Generator __gen)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468: 
> 28468:       for (__decltype(__n + 0) __niter = __n;
> 28468:     __niter > 0; --__niter, (void) ++__first)
> 28468:  *__first = __gen();
> 28468:       return __first;
> 28468:     }
> 28468: # 4522 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _OutputIterator>
> 28468:     inline _OutputIterator
> 28468:     unique_copy(_InputIterator __first, _InputIterator __last,
> 28468:   _OutputIterator __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       if (__first == __last)
> 28468:  return __result;
> 28468:       return std::__unique_copy(__first, __last, __result,
> 28468:     __gnu_cxx::__ops::__iter_equal_to_iter(),
> 28468:     std::__iterator_category(__first),
> 28468:     std::__iterator_category(__result));
> 28468:     }
> 28468: # 4562 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator, typename _OutputIterator,
> 28468:     typename _BinaryPredicate>
> 28468:     inline _OutputIterator
> 28468:     unique_copy(_InputIterator __first, _InputIterator __last,
> 28468:   _OutputIterator __result,
> 28468:   _BinaryPredicate __binary_pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       if (__first == __last)
> 28468:  return __result;
> 28468:       return std::__unique_copy(__first, __last, __result,
> 28468:    __gnu_cxx::__ops::__iter_comp_iter(__binary_pred),
> 28468:     std::__iterator_category(__first),
> 28468:     std::__iterator_category(__result));
> 28468:     }
> 28468: # 4595 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline void
> 28468:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       if (__first != __last)
> 28468:  for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
> 28468:    {
> 28468: 
> 28468:      _RandomAccessIterator __j = __first
> 28468:      + std::rand() % ((__i - __first) + 1);
> 28468:      if (__i != __j)
> 28468:        std::iter_swap(__i, __j);
> 28468:    }
> 28468:     }
> 28468: # 4630 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _RandomAccessIterator, typename _RandomNumberGenerator>
> 28468:     void
> 28468:     random_shuffle(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468: 
> 28468:      _RandomNumberGenerator&& __rand)
> 28468: 
> 28468: 
> 28468: 
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       if (__first == __last)
> 28468:  return;
> 28468:       for (_RandomAccessIterator __i = __first + 1; __i != __last; ++__i)
> 28468:  {
> 28468:    _RandomAccessIterator __j = __first + __rand((__i - __first) + 1);
> 28468:    if (__i != __j)
> 28468:      std::iter_swap(__i, __j);
> 28468:  }
> 28468:     }
> 28468: # 4670 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Predicate>
> 28468:     inline _ForwardIterator
> 28468:     partition(_ForwardIterator __first, _ForwardIterator __last,
> 28468:        _Predicate __pred)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468: 
> 28468:       return std::__partition(__first, __last, __pred,
> 28468:          std::__iterator_category(__first));
> 28468:     }
> 28468: # 4703 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline void
> 28468:     partial_sort(_RandomAccessIterator __first,
> 28468:    _RandomAccessIterator __middle,
> 28468:    _RandomAccessIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       std::__partial_sort(__first, __middle, __last,
> 28468:      __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 4741 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     partial_sort(_RandomAccessIterator __first,
> 28468:    _RandomAccessIterator __middle,
> 28468:    _RandomAccessIterator __last,
> 28468:    _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       std::__partial_sort(__first, __middle, __last,
> 28468:      __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: # 4777 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline void
> 28468:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
> 28468:   _RandomAccessIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       if (__first == __last || __nth == __last)
> 28468:  return;
> 28468: 
> 28468:       std::__introselect(__first, __nth, __last,
> 28468:     std::__lg(__last - __first) * 2,
> 28468:     __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 4816 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     nth_element(_RandomAccessIterator __first, _RandomAccessIterator __nth,
> 28468:   _RandomAccessIterator __last, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       if (__first == __last || __nth == __last)
> 28468:  return;
> 28468: 
> 28468:       std::__introselect(__first, __nth, __last,
> 28468:     std::__lg(__last - __first) * 2,
> 28468:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: # 4853 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline void
> 28468:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 4883 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:   _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       std::__sort(__first, __last, __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator, typename _Compare>
> 28468:     _OutputIterator
> 28468:     __merge(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:      _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:      _OutputIterator __result, _Compare __comp)
> 28468:     {
> 28468:       while (__first1 != __last1 && __first2 != __last2)
> 28468:  {
> 28468:    if (__comp(__first2, __first1))
> 28468:      {
> 28468:        *__result = *__first2;
> 28468:        ++__first2;
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        *__result = *__first1;
> 28468:        ++__first1;
> 28468:      }
> 28468:    ++__result;
> 28468:  }
> 28468:       return std::copy(__first2, __last2,
> 28468:          std::copy(__first1, __last1, __result));
> 28468:     }
> 28468: # 4944 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator>
> 28468:     inline _OutputIterator
> 28468:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:    _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:    _OutputIterator __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__merge(__first1, __last1,
> 28468:          __first2, __last2, __result,
> 28468:          __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 4994 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator, typename _Compare>
> 28468:     inline _OutputIterator
> 28468:     merge(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:    _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:    _OutputIterator __result, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__merge(__first1, __last1,
> 28468:     __first2, __last2, __result,
> 28468:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     __stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:     _Compare __comp)
> 28468:     {
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::value_type
> 28468:  _ValueType;
> 28468:       typedef typename iterator_traits<_RandomAccessIterator>::difference_type
> 28468:  _DistanceType;
> 28468: 
> 28468:       typedef _Temporary_buffer<_RandomAccessIterator, _ValueType> _TmpBuf;
> 28468:       _TmpBuf __buf(__first, std::distance(__first, __last));
> 28468: 
> 28468:       if (__buf.begin() == 0)
> 28468:  std::__inplace_stable_sort(__first, __last, __comp);
> 28468:       else
> 28468:  std::__stable_sort_adaptive(__first, __last, __buf.begin(),
> 28468:         _DistanceType(__buf.size()), __comp);
> 28468:     }
> 28468: # 5058 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _RandomAccessIterator>
> 28468:     inline void
> 28468:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       std::__stable_sort(__first, __last,
> 28468:         __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 5092 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _RandomAccessIterator, typename _Compare>
> 28468:     inline void
> 28468:     stable_sort(_RandomAccessIterator __first, _RandomAccessIterator __last,
> 28468:   _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       std::__stable_sort(__first, __last,
> 28468:         __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator,
> 28468:     typename _Compare>
> 28468:     _OutputIterator
> 28468:     __set_union(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:   _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:   _OutputIterator __result, _Compare __comp)
> 28468:     {
> 28468:       while (__first1 != __last1 && __first2 != __last2)
> 28468:  {
> 28468:    if (__comp(__first1, __first2))
> 28468:      {
> 28468:        *__result = *__first1;
> 28468:        ++__first1;
> 28468:      }
> 28468:    else if (__comp(__first2, __first1))
> 28468:      {
> 28468:        *__result = *__first2;
> 28468:        ++__first2;
> 28468:      }
> 28468:    else
> 28468:      {
> 28468:        *__result = *__first1;
> 28468:        ++__first1;
> 28468:        ++__first2;
> 28468:      }
> 28468:    ++__result;
> 28468:  }
> 28468:       return std::copy(__first2, __last2,
> 28468:          std::copy(__first1, __last1, __result));
> 28468:     }
> 28468: # 5161 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator>
> 28468:     inline _OutputIterator
> 28468:     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:        _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:        _OutputIterator __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__set_union(__first1, __last1,
> 28468:     __first2, __last2, __result,
> 28468:     __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 5211 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator, typename _Compare>
> 28468:     inline _OutputIterator
> 28468:     set_union(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:        _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:        _OutputIterator __result, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__set_union(__first1, __last1,
> 28468:     __first2, __last2, __result,
> 28468:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator,
> 28468:     typename _Compare>
> 28468:     _OutputIterator
> 28468:     __set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:          _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:          _OutputIterator __result, _Compare __comp)
> 28468:     {
> 28468:       while (__first1 != __last1 && __first2 != __last2)
> 28468:  if (__comp(__first1, __first2))
> 28468:    ++__first1;
> 28468:  else if (__comp(__first2, __first1))
> 28468:    ++__first2;
> 28468:  else
> 28468:    {
> 28468:      *__result = *__first1;
> 28468:      ++__first1;
> 28468:      ++__first2;
> 28468:      ++__result;
> 28468:    }
> 28468:       return __result;
> 28468:     }
> 28468: # 5282 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator>
> 28468:     inline _OutputIterator
> 28468:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:        _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:        _OutputIterator __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__set_intersection(__first1, __last1,
> 28468:          __first2, __last2, __result,
> 28468:          __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 5331 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator, typename _Compare>
> 28468:     inline _OutputIterator
> 28468:     set_intersection(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:        _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:        _OutputIterator __result, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__set_intersection(__first1, __last1,
> 28468:     __first2, __last2, __result,
> 28468:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator,
> 28468:     typename _Compare>
> 28468:     _OutputIterator
> 28468:     __set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:        _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:        _OutputIterator __result, _Compare __comp)
> 28468:     {
> 28468:       while (__first1 != __last1 && __first2 != __last2)
> 28468:  if (__comp(__first1, __first2))
> 28468:    {
> 28468:      *__result = *__first1;
> 28468:      ++__first1;
> 28468:      ++__result;
> 28468:    }
> 28468:  else if (__comp(__first2, __first1))
> 28468:    ++__first2;
> 28468:  else
> 28468:    {
> 28468:      ++__first1;
> 28468:      ++__first2;
> 28468:    }
> 28468:       return std::copy(__first1, __last1, __result);
> 28468:     }
> 28468: # 5404 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator>
> 28468:     inline _OutputIterator
> 28468:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:      _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:      _OutputIterator __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__set_difference(__first1, __last1,
> 28468:        __first2, __last2, __result,
> 28468:        __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 5455 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator, typename _Compare>
> 28468:     inline _OutputIterator
> 28468:     set_difference(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:      _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:      _OutputIterator __result, _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__set_difference(__first1, __last1,
> 28468:        __first2, __last2, __result,
> 28468:        __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator,
> 28468:     typename _Compare>
> 28468:     _OutputIterator
> 28468:     __set_symmetric_difference(_InputIterator1 __first1,
> 28468:           _InputIterator1 __last1,
> 28468:           _InputIterator2 __first2,
> 28468:           _InputIterator2 __last2,
> 28468:           _OutputIterator __result,
> 28468:           _Compare __comp)
> 28468:     {
> 28468:       while (__first1 != __last1 && __first2 != __last2)
> 28468:  if (__comp(__first1, __first2))
> 28468:    {
> 28468:      *__result = *__first1;
> 28468:      ++__first1;
> 28468:      ++__result;
> 28468:    }
> 28468:  else if (__comp(__first2, __first1))
> 28468:    {
> 28468:      *__result = *__first2;
> 28468:      ++__first2;
> 28468:      ++__result;
> 28468:    }
> 28468:  else
> 28468:    {
> 28468:      ++__first1;
> 28468:      ++__first2;
> 28468:    }
> 28468:       return std::copy(__first2, __last2,
> 28468:          std::copy(__first1, __last1, __result));
> 28468:     }
> 28468: # 5534 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator>
> 28468:     inline _OutputIterator
> 28468:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:         _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:         _OutputIterator __result)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__set_symmetric_difference(__first1, __last1,
> 28468:      __first2, __last2, __result,
> 28468:      __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 5585 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _InputIterator1, typename _InputIterator2,
> 28468:     typename _OutputIterator, typename _Compare>
> 28468:     inline _OutputIterator
> 28468:     set_symmetric_difference(_InputIterator1 __first1, _InputIterator1 __last1,
> 28468:         _InputIterator2 __first2, _InputIterator2 __last2,
> 28468:         _OutputIterator __result,
> 28468:         _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__set_symmetric_difference(__first1, __last1,
> 28468:     __first2, __last2, __result,
> 28468:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Compare>
> 28468:    
> 28468:     _ForwardIterator
> 28468:     __min_element(_ForwardIterator __first, _ForwardIterator __last,
> 28468:     _Compare __comp)
> 28468:     {
> 28468:       if (__first == __last)
> 28468:  return __first;
> 28468:       _ForwardIterator __result = __first;
> 28468:       while (++__first != __last)
> 28468:  if (__comp(__first, __result))
> 28468:    __result = __first;
> 28468:       return __result;
> 28468:     }
> 28468: # 5638 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator>
> 28468:    
> 28468:     _ForwardIterator
> 28468:     inline min_element(_ForwardIterator __first, _ForwardIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__min_element(__first, __last,
> 28468:     __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 5663 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Compare>
> 28468:    
> 28468:     inline _ForwardIterator
> 28468:     min_element(_ForwardIterator __first, _ForwardIterator __last,
> 28468:   _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__min_element(__first, __last,
> 28468:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: 
> 28468:   template<typename _ForwardIterator, typename _Compare>
> 28468:    
> 28468:     _ForwardIterator
> 28468:     __max_element(_ForwardIterator __first, _ForwardIterator __last,
> 28468:     _Compare __comp)
> 28468:     {
> 28468:       if (__first == __last) return __first;
> 28468:       _ForwardIterator __result = __first;
> 28468:       while (++__first != __last)
> 28468:  if (__comp(__result, __first))
> 28468:    __result = __first;
> 28468:       return __result;
> 28468:     }
> 28468: # 5702 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator>
> 28468:    
> 28468:     inline _ForwardIterator
> 28468:     max_element(_ForwardIterator __first, _ForwardIterator __last)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__max_element(__first, __last,
> 28468:     __gnu_cxx::__ops::__iter_less_iter());
> 28468:     }
> 28468: # 5727 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468:   template<typename _ForwardIterator, typename _Compare>
> 28468:    
> 28468:     inline _ForwardIterator
> 28468:     max_element(_ForwardIterator __first, _ForwardIterator __last,
> 28468:   _Compare __comp)
> 28468:     {
> 28468: 
> 28468:      
> 28468:      
> 28468: 
> 28468: 
> 28468:       ;
> 28468:       ;
> 28468: 
> 28468:       return std::__max_element(__first, __last,
> 28468:     __gnu_cxx::__ops::__iter_comp_iter(__comp));
> 28468:     }
> 28468: # 5870 "/usr/include/c++/9/bits/stl_algo.h" 3
> 28468: 
> 28468: 
> 28468: }
> 28468: # 63 "/usr/include/c++/9/algorithm" 2 3
> 28468: # 36 "/<<PKGBUILDDIR>>/include/HepMC3/GenCrossSection.h" 2
> 28468: 
> 28468: 
> 28468: 
> 28468: # 38 "/<<PKGBUILDDIR>>/include/HepMC3/GenCrossSection.h"
> 28468: namespace HepMC3 {
> 28468: using namespace std;
> 28468: 
> 28468: class GenCrossSection : public Attribute {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: private:
> 28468: 
> 28468:     long accepted_events;
> 28468:     long attempted_events;
> 28468: 
> 28468:     vector<double> cross_sections;
> 28468:     vector<double> cross_section_errors;
> 28468: 
> 28468: 
> 28468: 
> 28468: public:
> 28468: 
> 28468:     bool from_string(const string &att);
> 28468: 
> 28468: 
> 28468:     bool to_string(string &att) const;
> 28468: 
> 28468: 
> 28468:     void set_cross_section(const double& xs, const double& xs_err,const long& n_acc = -1, const long& n_att = -1);
> 28468: 
> 28468: 
> 28468: 
> 28468:     void set_accepted_events(const long& n_acc ) {
> 28468:         accepted_events=n_acc;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     void set_attempted_events(const long& n_att ) {
> 28468:         attempted_events=n_att;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     long get_accepted_events() const {
> 28468:         return accepted_events;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     long get_attempted_events() const {
> 28468:         return attempted_events;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void set_xsec(const string& wName,const double& xs) {
> 28468:         set_xsec(windx(wName), xs);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void set_xsec(const int& indx, const double& xs) {
> 28468:         cross_sections[indx] = xs;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void set_xsec_err(const string& wName, const double& xs_err) {
> 28468:         set_xsec_err(windx(wName), xs_err);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void set_xsec_err(const int& indx, const double& xs_err) {
> 28468:         cross_section_errors[indx] = xs_err;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     double xsec(const string& wName) const {
> 28468:         return xsec(windx(wName));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     double xsec(const int& indx = 0) const {
> 28468:         return cross_sections[indx];
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     double xsec_err(const string& wName) const {
> 28468:         return xsec_err(windx(wName));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     double xsec_err(const int& indx = 0) const {
> 28468:         return cross_section_errors[indx];
> 28468:     }
> 28468: 
> 28468:     bool operator==( const GenCrossSection& ) const;
> 28468:     bool operator!=( const GenCrossSection& ) const;
> 28468:     bool is_valid() const;
> 28468: 
> 28468: private:
> 28468: 
> 28468: 
> 28468:     int windx(string wName) const;
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: }
> 28468: # 25 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/include/HepMC3/GenRunInfo.h" 1
> 28468: # 16 "/<<PKGBUILDDIR>>/include/HepMC3/GenRunInfo.h"
> 28468: # 1 "/usr/include/c++/9/mutex" 1 3
> 28468: # 32 "/usr/include/c++/9/mutex" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/mutex" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/chrono" 1 3
> 28468: # 32 "/usr/include/c++/9/chrono" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/chrono" 3
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/ratio" 1 3
> 28468: # 32 "/usr/include/c++/9/ratio" 3
> 28468:        
> 28468: # 33 "/usr/include/c++/9/ratio" 3
> 28468: # 41 "/usr/include/c++/9/ratio" 3
> 28468: 
> 28468: # 41 "/usr/include/c++/9/ratio" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 53 "/usr/include/c++/9/ratio" 3
> 28468:   template<intmax_t _Pn>
> 28468:     struct __static_sign
> 28468:     : integral_constant<intmax_t, (_Pn < 0) ? -1 : 1>
> 28468:     { };
> 28468: 
> 28468:   template<intmax_t _Pn>
> 28468:     struct __static_abs
> 28468:     : integral_constant<intmax_t, _Pn * __static_sign<_Pn>::value>
> 28468:     { };
> 28468: 
> 28468:   template<intmax_t _Pn, intmax_t _Qn>
> 28468:     struct __static_gcd
> 28468:     : __static_gcd<_Qn, (_Pn % _Qn)>
> 28468:     { };
> 28468: 
> 28468:   template<intmax_t _Pn>
> 28468:     struct __static_gcd<_Pn, 0>
> 28468:     : integral_constant<intmax_t, __static_abs<_Pn>::value>
> 28468:     { };
> 28468: 
> 28468:   template<intmax_t _Qn>
> 28468:     struct __static_gcd<0, _Qn>
> 28468:     : integral_constant<intmax_t, __static_abs<_Qn>::value>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<intmax_t _Pn, intmax_t _Qn>
> 28468:     struct __safe_multiply
> 28468:     {
> 28468:     private:
> 28468:       static const uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
> 28468: 
> 28468:       static const uintmax_t __a0 = __static_abs<_Pn>::value % __c;
> 28468:       static const uintmax_t __a1 = __static_abs<_Pn>::value / __c;
> 28468:       static const uintmax_t __b0 = __static_abs<_Qn>::value % __c;
> 28468:       static const uintmax_t __b1 = __static_abs<_Qn>::value / __c;
> 28468: 
> 28468:       static_assert(__a1 == 0 || __b1 == 0,
> 28468:       "overflow in multiplication");
> 28468:       static_assert(__a0 * __b1 + __b0 * __a1 < (__c >> 1),
> 28468:       "overflow in multiplication");
> 28468:       static_assert(__b0 * __a0 <= 0x7fffffffffffffffL,
> 28468:       "overflow in multiplication");
> 28468:       static_assert((__a0 * __b1 + __b0 * __a1) * __c
> 28468:       <= 0x7fffffffffffffffL - __b0 * __a0,
> 28468:       "overflow in multiplication");
> 28468: 
> 28468:     public:
> 28468:       static const intmax_t value = _Pn * _Qn;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
> 28468:     struct __big_less
> 28468:     : integral_constant<bool, (__hi1 < __hi2
> 28468:           || (__hi1 == __hi2 && __lo1 < __lo2))>
> 28468:     { };
> 28468: 
> 28468:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
> 28468:     struct __big_add
> 28468:     {
> 28468:       static constexpr uintmax_t __lo = __lo1 + __lo2;
> 28468:       static constexpr uintmax_t __hi = (__hi1 + __hi2 +
> 28468:       (__lo1 + __lo2 < __lo1));
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<uintmax_t __hi1, uintmax_t __lo1, uintmax_t __hi2, uintmax_t __lo2>
> 28468:     struct __big_sub
> 28468:     {
> 28468:       static_assert(!__big_less<__hi1, __lo1, __hi2, __lo2>::value,
> 28468:       "Internal library error");
> 28468:       static constexpr uintmax_t __lo = __lo1 - __lo2;
> 28468:       static constexpr uintmax_t __hi = (__hi1 - __hi2 -
> 28468:       (__lo1 < __lo2));
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<uintmax_t __x, uintmax_t __y>
> 28468:     struct __big_mul
> 28468:     {
> 28468:     private:
> 28468:       static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
> 28468:       static constexpr uintmax_t __x0 = __x % __c;
> 28468:       static constexpr uintmax_t __x1 = __x / __c;
> 28468:       static constexpr uintmax_t __y0 = __y % __c;
> 28468:       static constexpr uintmax_t __y1 = __y / __c;
> 28468:       static constexpr uintmax_t __x0y0 = __x0 * __y0;
> 28468:       static constexpr uintmax_t __x0y1 = __x0 * __y1;
> 28468:       static constexpr uintmax_t __x1y0 = __x1 * __y0;
> 28468:       static constexpr uintmax_t __x1y1 = __x1 * __y1;
> 28468:       static constexpr uintmax_t __mix = __x0y1 + __x1y0;
> 28468:       static constexpr uintmax_t __mix_lo = __mix * __c;
> 28468:       static constexpr uintmax_t __mix_hi
> 28468:       = __mix / __c + ((__mix < __x0y1) ? __c : 0);
> 28468:       typedef __big_add<__mix_hi, __mix_lo, __x1y1, __x0y0> _Res;
> 28468:     public:
> 28468:       static constexpr uintmax_t __hi = _Res::__hi;
> 28468:       static constexpr uintmax_t __lo = _Res::__lo;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
> 28468:     struct __big_div_impl
> 28468:     {
> 28468:     private:
> 28468:       static_assert(__d >= (uintmax_t(1) << (sizeof(intmax_t) * 8 - 1)),
> 28468:       "Internal library error");
> 28468:       static_assert(__n1 < __d, "Internal library error");
> 28468:       static constexpr uintmax_t __c = uintmax_t(1) << (sizeof(intmax_t) * 4);
> 28468:       static constexpr uintmax_t __d1 = __d / __c;
> 28468:       static constexpr uintmax_t __d0 = __d % __c;
> 28468: 
> 28468:       static constexpr uintmax_t __q1x = __n1 / __d1;
> 28468:       static constexpr uintmax_t __r1x = __n1 % __d1;
> 28468:       static constexpr uintmax_t __m = __q1x * __d0;
> 28468:       static constexpr uintmax_t __r1y = __r1x * __c + __n0 / __c;
> 28468:       static constexpr uintmax_t __r1z = __r1y + __d;
> 28468:       static constexpr uintmax_t __r1
> 28468:       = ((__r1y < __m) ? ((__r1z >= __d) && (__r1z < __m))
> 28468:   ? (__r1z + __d) : __r1z : __r1y) - __m;
> 28468:       static constexpr uintmax_t __q1
> 28468:       = __q1x - ((__r1y < __m)
> 28468:    ? ((__r1z >= __d) && (__r1z < __m)) ? 2 : 1 : 0);
> 28468:       static constexpr uintmax_t __q0x = __r1 / __d1;
> 28468:       static constexpr uintmax_t __r0x = __r1 % __d1;
> 28468:       static constexpr uintmax_t __n = __q0x * __d0;
> 28468:       static constexpr uintmax_t __r0y = __r0x * __c + __n0 % __c;
> 28468:       static constexpr uintmax_t __r0z = __r0y + __d;
> 28468:       static constexpr uintmax_t __r0
> 28468:       = ((__r0y < __n) ? ((__r0z >= __d) && (__r0z < __n))
> 28468:   ? (__r0z + __d) : __r0z : __r0y) - __n;
> 28468:       static constexpr uintmax_t __q0
> 28468:       = __q0x - ((__r0y < __n) ? ((__r0z >= __d)
> 28468:       && (__r0z < __n)) ? 2 : 1 : 0);
> 28468: 
> 28468:     public:
> 28468:       static constexpr uintmax_t __quot = __q1 * __c + __q0;
> 28468:       static constexpr uintmax_t __rem = __r0;
> 28468: 
> 28468:     private:
> 28468:       typedef __big_mul<__quot, __d> _Prod;
> 28468:       typedef __big_add<_Prod::__hi, _Prod::__lo, 0, __rem> _Sum;
> 28468:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
> 28468:       "Internal library error");
> 28468:   };
> 28468: 
> 28468:   template<uintmax_t __n1, uintmax_t __n0, uintmax_t __d>
> 28468:     struct __big_div
> 28468:     {
> 28468:     private:
> 28468:       static_assert(__d != 0, "Internal library error");
> 28468:       static_assert(sizeof (uintmax_t) == sizeof (unsigned long long),
> 28468:       "This library calls __builtin_clzll on uintmax_t, which "
> 28468:       "is unsafe on your platform. Please complain to "
> 28468:       "http://gcc.gnu.org/bugzilla/");
> 28468:       static constexpr int __shift = __builtin_clzll(__d);
> 28468:       static constexpr int __coshift_ = sizeof(uintmax_t) * 8 - __shift;
> 28468:       static constexpr int __coshift = (__shift != 0) ? __coshift_ : 0;
> 28468:       static constexpr uintmax_t __c1 = uintmax_t(1) << __shift;
> 28468:       static constexpr uintmax_t __c2 = uintmax_t(1) << __coshift;
> 28468:       static constexpr uintmax_t __new_d = __d * __c1;
> 28468:       static constexpr uintmax_t __new_n0 = __n0 * __c1;
> 28468:       static constexpr uintmax_t __n1_shifted = (__n1 % __d) * __c1;
> 28468:       static constexpr uintmax_t __n0_top = (__shift != 0) ? (__n0 / __c2) : 0;
> 28468:       static constexpr uintmax_t __new_n1 = __n1_shifted + __n0_top;
> 28468:       typedef __big_div_impl<__new_n1, __new_n0, __new_d> _Res;
> 28468: 
> 28468:     public:
> 28468:       static constexpr uintmax_t __quot_hi = __n1 / __d;
> 28468:       static constexpr uintmax_t __quot_lo = _Res::__quot;
> 28468:       static constexpr uintmax_t __rem = _Res::__rem / __c1;
> 28468: 
> 28468:     private:
> 28468:       typedef __big_mul<__quot_lo, __d> _P0;
> 28468:       typedef __big_mul<__quot_hi, __d> _P1;
> 28468:       typedef __big_add<_P0::__hi, _P0::__lo, _P1::__lo, __rem> _Sum;
> 28468: 
> 28468:       static_assert(_P1::__hi == 0, "Internal library error");
> 28468:       static_assert(_Sum::__hi >= _P0::__hi, "Internal library error");
> 28468: 
> 28468:       static_assert(_Sum::__hi == __n1 && _Sum::__lo == __n0,
> 28468:       "Internal library error");
> 28468:       static_assert(__rem < __d, "Internal library error");
> 28468:     };
> 28468: # 260 "/usr/include/c++/9/ratio" 3
> 28468:   template<intmax_t _Num, intmax_t _Den = 1>
> 28468:     struct ratio
> 28468:     {
> 28468:       static_assert(_Den != 0, "denominator cannot be zero");
> 28468:       static_assert(_Num >= -0x7fffffffffffffffL && _Den >= -0x7fffffffffffffffL,
> 28468:       "out of range");
> 28468: 
> 28468: 
> 28468:       static constexpr intmax_t num =
> 28468:         _Num * __static_sign<_Den>::value / __static_gcd<_Num, _Den>::value;
> 28468: 
> 28468:       static constexpr intmax_t den =
> 28468:         __static_abs<_Den>::value / __static_gcd<_Num, _Den>::value;
> 28468: 
> 28468:       typedef ratio<num, den> type;
> 28468:     };
> 28468: 
> 28468:   template<intmax_t _Num, intmax_t _Den>
> 28468:     constexpr intmax_t ratio<_Num, _Den>::num;
> 28468: 
> 28468:   template<intmax_t _Num, intmax_t _Den>
> 28468:     constexpr intmax_t ratio<_Num, _Den>::den;
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct __ratio_multiply
> 28468:     {
> 28468:     private:
> 28468:       static const intmax_t __gcd1 =
> 28468:         __static_gcd<_R1::num, _R2::den>::value;
> 28468:       static const intmax_t __gcd2 =
> 28468:         __static_gcd<_R2::num, _R1::den>::value;
> 28468: 
> 28468:     public:
> 28468:       typedef ratio<
> 28468:         __safe_multiply<(_R1::num / __gcd1),
> 28468:                         (_R2::num / __gcd2)>::value,
> 28468:         __safe_multiply<(_R1::den / __gcd2),
> 28468:                         (_R2::den / __gcd1)>::value> type;
> 28468: 
> 28468:       static constexpr intmax_t num = type::num;
> 28468:       static constexpr intmax_t den = type::den;
> 28468:     };
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     constexpr intmax_t __ratio_multiply<_R1, _R2>::num;
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     constexpr intmax_t __ratio_multiply<_R1, _R2>::den;
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     using ratio_multiply = typename __ratio_multiply<_R1, _R2>::type;
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct __ratio_divide
> 28468:     {
> 28468:       static_assert(_R2::num != 0, "division by 0");
> 28468: 
> 28468:       typedef typename __ratio_multiply<
> 28468:         _R1,
> 28468:         ratio<_R2::den, _R2::num>>::type type;
> 28468: 
> 28468:       static constexpr intmax_t num = type::num;
> 28468:       static constexpr intmax_t den = type::den;
> 28468:     };
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     constexpr intmax_t __ratio_divide<_R1, _R2>::num;
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     constexpr intmax_t __ratio_divide<_R1, _R2>::den;
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     using ratio_divide = typename __ratio_divide<_R1, _R2>::type;
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct ratio_equal
> 28468:     : integral_constant<bool, _R1::num == _R2::num && _R1::den == _R2::den>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct ratio_not_equal
> 28468:     : integral_constant<bool, !ratio_equal<_R1, _R2>::value>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2,
> 28468:            typename _Left = __big_mul<_R1::num,_R2::den>,
> 28468:            typename _Right = __big_mul<_R2::num,_R1::den> >
> 28468:     struct __ratio_less_impl_1
> 28468:     : integral_constant<bool, __big_less<_Left::__hi, _Left::__lo,
> 28468:            _Right::__hi, _Right::__lo>::value>
> 28468:     { };
> 28468: 
> 28468:   template<typename _R1, typename _R2,
> 28468:     bool = (_R1::num == 0 || _R2::num == 0
> 28468:      || (__static_sign<_R1::num>::value
> 28468:          != __static_sign<_R2::num>::value)),
> 28468:     bool = (__static_sign<_R1::num>::value == -1
> 28468:      && __static_sign<_R2::num>::value == -1)>
> 28468:     struct __ratio_less_impl
> 28468:     : __ratio_less_impl_1<_R1, _R2>::type
> 28468:     { };
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct __ratio_less_impl<_R1, _R2, true, false>
> 28468:     : integral_constant<bool, _R1::num < _R2::num>
> 28468:     { };
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct __ratio_less_impl<_R1, _R2, false, true>
> 28468:     : __ratio_less_impl_1<ratio<-_R2::num, _R2::den>,
> 28468:            ratio<-_R1::num, _R1::den> >::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct ratio_less
> 28468:     : __ratio_less_impl<_R1, _R2>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct ratio_less_equal
> 28468:     : integral_constant<bool, !ratio_less<_R2, _R1>::value>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct ratio_greater
> 28468:     : integral_constant<bool, ratio_less<_R2, _R1>::value>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct ratio_greater_equal
> 28468:     : integral_constant<bool, !ratio_less<_R1, _R2>::value>
> 28468:     { };
> 28468: # 419 "/usr/include/c++/9/ratio" 3
> 28468:   template<typename _R1, typename _R2,
> 28468:       bool = (_R1::num >= 0),
> 28468:       bool = (_R2::num >= 0),
> 28468:       bool = ratio_less<ratio<__static_abs<_R1::num>::value, _R1::den>,
> 28468:         ratio<__static_abs<_R2::num>::value, _R2::den> >::value>
> 28468:     struct __ratio_add_impl
> 28468:     {
> 28468:     private:
> 28468:       typedef typename __ratio_add_impl<
> 28468:         ratio<-_R1::num, _R1::den>,
> 28468:         ratio<-_R2::num, _R2::den> >::type __t;
> 28468:     public:
> 28468:       typedef ratio<-__t::num, __t::den> type;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2, bool __b>
> 28468:     struct __ratio_add_impl<_R1, _R2, true, true, __b>
> 28468:     {
> 28468:     private:
> 28468:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
> 28468:       static constexpr uintmax_t __d2 = _R2::den / __g;
> 28468:       typedef __big_mul<_R1::den, __d2> __d;
> 28468:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
> 28468:       typedef __big_mul<_R2::num, _R1::den / __g> __y;
> 28468:       typedef __big_add<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
> 28468:       static_assert(__n::__hi >= __x::__hi, "Internal library error");
> 28468:       typedef __big_div<__n::__hi, __n::__lo, __g> __ng;
> 28468:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
> 28468:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
> 28468:       static_assert(__n_final::__rem == 0, "Internal library error");
> 28468:       static_assert(__n_final::__quot_hi == 0 &&
> 28468:         __n_final::__quot_lo <= 0x7fffffffffffffffL, "overflow in addition");
> 28468:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
> 28468:       static_assert(__d_final::__hi == 0 &&
> 28468:         __d_final::__lo <= 0x7fffffffffffffffL, "overflow in addition");
> 28468:     public:
> 28468:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
> 28468:     };
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct __ratio_add_impl<_R1, _R2, false, true, true>
> 28468:     : __ratio_add_impl<_R2, _R1>
> 28468:     { };
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct __ratio_add_impl<_R1, _R2, true, false, false>
> 28468:     {
> 28468:     private:
> 28468:       static constexpr uintmax_t __g = __static_gcd<_R1::den, _R2::den>::value;
> 28468:       static constexpr uintmax_t __d2 = _R2::den / __g;
> 28468:       typedef __big_mul<_R1::den, __d2> __d;
> 28468:       typedef __big_mul<_R1::num, _R2::den / __g> __x;
> 28468:       typedef __big_mul<-_R2::num, _R1::den / __g> __y;
> 28468:       typedef __big_sub<__x::__hi, __x::__lo, __y::__hi, __y::__lo> __n;
> 28468:       typedef __big_div<__n::__hi, __n::__lo, __g> __ng;
> 28468:       static constexpr uintmax_t __g2 = __static_gcd<__ng::__rem, __g>::value;
> 28468:       typedef __big_div<__n::__hi, __n::__lo, __g2> __n_final;
> 28468:       static_assert(__n_final::__rem == 0, "Internal library error");
> 28468:       static_assert(__n_final::__quot_hi == 0 &&
> 28468:         __n_final::__quot_lo <= 0x7fffffffffffffffL, "overflow in addition");
> 28468:       typedef __big_mul<_R1::den / __g2, __d2> __d_final;
> 28468:       static_assert(__d_final::__hi == 0 &&
> 28468:         __d_final::__lo <= 0x7fffffffffffffffL, "overflow in addition");
> 28468:     public:
> 28468:       typedef ratio<__n_final::__quot_lo, __d_final::__lo> type;
> 28468:     };
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct __ratio_add
> 28468:     {
> 28468:       typedef typename __ratio_add_impl<_R1, _R2>::type type;
> 28468:       static constexpr intmax_t num = type::num;
> 28468:       static constexpr intmax_t den = type::den;
> 28468:     };
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     constexpr intmax_t __ratio_add<_R1, _R2>::num;
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     constexpr intmax_t __ratio_add<_R1, _R2>::den;
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     using ratio_add = typename __ratio_add<_R1, _R2>::type;
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     struct __ratio_subtract
> 28468:     {
> 28468:       typedef typename __ratio_add<
> 28468:         _R1,
> 28468:         ratio<-_R2::num, _R2::den>>::type type;
> 28468: 
> 28468:       static constexpr intmax_t num = type::num;
> 28468:       static constexpr intmax_t den = type::den;
> 28468:     };
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     constexpr intmax_t __ratio_subtract<_R1, _R2>::num;
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     constexpr intmax_t __ratio_subtract<_R1, _R2>::den;
> 28468: 
> 28468: 
> 28468:   template<typename _R1, typename _R2>
> 28468:     using ratio_subtract = typename __ratio_subtract<_R1, _R2>::type;
> 28468: 
> 28468: 
> 28468:   typedef ratio<1, 1000000000000000000> atto;
> 28468:   typedef ratio<1, 1000000000000000> femto;
> 28468:   typedef ratio<1, 1000000000000> pico;
> 28468:   typedef ratio<1, 1000000000> nano;
> 28468:   typedef ratio<1, 1000000> micro;
> 28468:   typedef ratio<1, 1000> milli;
> 28468:   typedef ratio<1, 100> centi;
> 28468:   typedef ratio<1, 10> deci;
> 28468:   typedef ratio< 10, 1> deca;
> 28468:   typedef ratio< 100, 1> hecto;
> 28468:   typedef ratio< 1000, 1> kilo;
> 28468:   typedef ratio< 1000000, 1> mega;
> 28468:   typedef ratio< 1000000000, 1> giga;
> 28468:   typedef ratio< 1000000000000, 1> tera;
> 28468:   typedef ratio< 1000000000000000, 1> peta;
> 28468:   typedef ratio< 1000000000000000000, 1> exa;
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 39 "/usr/include/c++/9/chrono" 2 3
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/ctime" 1 3
> 28468: # 39 "/usr/include/c++/9/ctime" 3
> 28468:        
> 28468: # 40 "/usr/include/c++/9/ctime" 3
> 28468: # 42 "/usr/include/c++/9/chrono" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/parse_numbers.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/parse_numbers.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/parse_numbers.h" 3
> 28468: # 43 "/usr/include/c++/9/chrono" 2 3
> 28468: 
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 59 "/usr/include/c++/9/chrono" 3
> 28468:   namespace chrono
> 28468:   {
> 28468:     template<typename _Rep, typename _Period = ratio<1>>
> 28468:       struct duration;
> 28468: 
> 28468:     template<typename _Clock, typename _Dur = typename _Clock::duration>
> 28468:       struct time_point;
> 28468:   }
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CT, typename _Period1, typename _Period2>
> 28468:     struct __duration_common_type_wrapper
> 28468:     {
> 28468:     private:
> 28468:       typedef __static_gcd<_Period1::num, _Period2::num> __gcd_num;
> 28468:       typedef __static_gcd<_Period1::den, _Period2::den> __gcd_den;
> 28468:       typedef typename _CT::type __cr;
> 28468:       typedef ratio<__gcd_num::value,
> 28468:         (_Period1::den / __gcd_den::value) * _Period2::den> __r;
> 28468:     public:
> 28468:       typedef __success_type<chrono::duration<__cr, __r>> type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Period1, typename _Period2>
> 28468:     struct __duration_common_type_wrapper<__failure_type, _Period1, _Period2>
> 28468:     { typedef __failure_type type; };
> 28468: 
> 28468:   template<typename _Rep1, typename _Period1, typename _Rep2, typename _Period2>
> 28468:     struct common_type<chrono::duration<_Rep1, _Period1>,
> 28468:              chrono::duration<_Rep2, _Period2>>
> 28468:     : public __duration_common_type_wrapper<typename __member_type_wrapper<
> 28468:              common_type<_Rep1, _Rep2>>::type, _Period1, _Period2>::type
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _CT, typename _Clock>
> 28468:     struct __timepoint_common_type_wrapper
> 28468:     {
> 28468:       typedef __success_type<chrono::time_point<_Clock, typename _CT::type>>
> 28468:         type;
> 28468:     };
> 28468: 
> 28468:   template<typename _Clock>
> 28468:     struct __timepoint_common_type_wrapper<__failure_type, _Clock>
> 28468:     { typedef __failure_type type; };
> 28468: 
> 28468:   template<typename _Clock, typename _Duration1, typename _Duration2>
> 28468:     struct common_type<chrono::time_point<_Clock, _Duration1>,
> 28468:              chrono::time_point<_Clock, _Duration2>>
> 28468:     : public __timepoint_common_type_wrapper<typename __member_type_wrapper<
> 28468:              common_type<_Duration1, _Duration2>>::type, _Clock>::type
> 28468:     { };
> 28468: 
> 28468:   namespace chrono
> 28468:   {
> 28468: 
> 28468:     template<typename _ToDur, typename _CF, typename _CR,
> 28468:       bool _NumIsOne = false, bool _DenIsOne = false>
> 28468:       struct __duration_cast_impl
> 28468:       {
> 28468:  template<typename _Rep, typename _Period>
> 28468:    static constexpr _ToDur
> 28468:    __cast(const duration<_Rep, _Period>& __d)
> 28468:    {
> 28468:      typedef typename _ToDur::rep __to_rep;
> 28468:      return _ToDur(static_cast<__to_rep>(static_cast<_CR>(__d.count())
> 28468:        * static_cast<_CR>(_CF::num)
> 28468:        / static_cast<_CR>(_CF::den)));
> 28468:    }
> 28468:       };
> 28468: 
> 28468:     template<typename _ToDur, typename _CF, typename _CR>
> 28468:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, true>
> 28468:       {
> 28468:  template<typename _Rep, typename _Period>
> 28468:    static constexpr _ToDur
> 28468:    __cast(const duration<_Rep, _Period>& __d)
> 28468:    {
> 28468:      typedef typename _ToDur::rep __to_rep;
> 28468:      return _ToDur(static_cast<__to_rep>(__d.count()));
> 28468:    }
> 28468:       };
> 28468: 
> 28468:     template<typename _ToDur, typename _CF, typename _CR>
> 28468:       struct __duration_cast_impl<_ToDur, _CF, _CR, true, false>
> 28468:       {
> 28468:  template<typename _Rep, typename _Period>
> 28468:    static constexpr _ToDur
> 28468:    __cast(const duration<_Rep, _Period>& __d)
> 28468:    {
> 28468:      typedef typename _ToDur::rep __to_rep;
> 28468:      return _ToDur(static_cast<__to_rep>(
> 28468:        static_cast<_CR>(__d.count()) / static_cast<_CR>(_CF::den)));
> 28468:    }
> 28468:       };
> 28468: 
> 28468:     template<typename _ToDur, typename _CF, typename _CR>
> 28468:       struct __duration_cast_impl<_ToDur, _CF, _CR, false, true>
> 28468:       {
> 28468:  template<typename _Rep, typename _Period>
> 28468:    static constexpr _ToDur
> 28468:    __cast(const duration<_Rep, _Period>& __d)
> 28468:    {
> 28468:      typedef typename _ToDur::rep __to_rep;
> 28468:      return _ToDur(static_cast<__to_rep>(
> 28468:        static_cast<_CR>(__d.count()) * static_cast<_CR>(_CF::num)));
> 28468:    }
> 28468:       };
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       struct __is_duration
> 28468:       : std::false_type
> 28468:       { };
> 28468: 
> 28468:     template<typename _Rep, typename _Period>
> 28468:       struct __is_duration<duration<_Rep, _Period>>
> 28468:       : std::true_type
> 28468:       { };
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       using __enable_if_is_duration
> 28468:  = typename enable_if<__is_duration<_Tp>::value, _Tp>::type;
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       using __disable_if_is_duration
> 28468:  = typename enable_if<!__is_duration<_Tp>::value, _Tp>::type;
> 28468: 
> 28468: 
> 28468:     template<typename _ToDur, typename _Rep, typename _Period>
> 28468:       constexpr __enable_if_is_duration<_ToDur>
> 28468:       duration_cast(const duration<_Rep, _Period>& __d)
> 28468:       {
> 28468:  typedef typename _ToDur::period __to_period;
> 28468:  typedef typename _ToDur::rep __to_rep;
> 28468:  typedef ratio_divide<_Period, __to_period> __cf;
> 28468:  typedef typename common_type<__to_rep, _Rep, intmax_t>::type
> 28468:           __cr;
> 28468:  typedef __duration_cast_impl<_ToDur, __cf, __cr,
> 28468:           __cf::num == 1, __cf::den == 1> __dc;
> 28468:  return __dc::__cast(__d);
> 28468:       }
> 28468: 
> 28468: 
> 28468:     template<typename _Rep>
> 28468:       struct treat_as_floating_point
> 28468:       : is_floating_point<_Rep>
> 28468:       { };
> 28468: # 272 "/usr/include/c++/9/chrono" 3
> 28468:     template<typename _Rep>
> 28468:       struct duration_values
> 28468:       {
> 28468:  static constexpr _Rep
> 28468:  zero() noexcept
> 28468:  { return _Rep(0); }
> 28468: 
> 28468:  static constexpr _Rep
> 28468:  max() noexcept
> 28468:  { return numeric_limits<_Rep>::max(); }
> 28468: 
> 28468:  static constexpr _Rep
> 28468:  min() noexcept
> 28468:  { return numeric_limits<_Rep>::lowest(); }
> 28468:       };
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       struct __is_ratio
> 28468:       : std::false_type
> 28468:       { };
> 28468: 
> 28468:     template<intmax_t _Num, intmax_t _Den>
> 28468:       struct __is_ratio<ratio<_Num, _Den>>
> 28468:       : std::true_type
> 28468:       { };
> 28468: 
> 28468: 
> 28468:     template<typename _Rep, typename _Period>
> 28468:       struct duration
> 28468:       {
> 28468:       private:
> 28468:  template<typename _Rep2>
> 28468:    using __is_float = treat_as_floating_point<_Rep2>;
> 28468: 
> 28468: 
> 28468:  template<typename _Period2>
> 28468:    using __is_harmonic
> 28468:      = __bool_constant<ratio_divide<_Period2, _Period>::den == 1>;
> 28468: 
> 28468:       public:
> 28468: 
> 28468:  typedef _Rep rep;
> 28468:  typedef _Period period;
> 28468: 
> 28468:  static_assert(!__is_duration<_Rep>::value, "rep cannot be a duration");
> 28468:  static_assert(__is_ratio<_Period>::value,
> 28468:         "period must be a specialization of ratio");
> 28468:  static_assert(_Period::num > 0, "period must be positive");
> 28468: 
> 28468: 
> 28468:  constexpr duration() = default;
> 28468: 
> 28468:  duration(const duration&) = default;
> 28468: 
> 28468: 
> 28468: 
> 28468:  template<typename _Rep2, typename = _Require<
> 28468:    is_convertible<const _Rep2&, rep>,
> 28468:    __or_<__is_float<rep>, __not_<__is_float<_Rep2>>>>>
> 28468:    constexpr explicit duration(const _Rep2& __rep)
> 28468:    : __r(static_cast<rep>(__rep)) { }
> 28468: 
> 28468:  template<typename _Rep2, typename _Period2, typename = _Require<
> 28468:    __or_<__is_float<rep>,
> 28468:          __and_<__is_harmonic<_Period2>,
> 28468:          __not_<__is_float<_Rep2>>>>>>
> 28468:    constexpr duration(const duration<_Rep2, _Period2>& __d)
> 28468:    : __r(duration_cast<duration>(__d).count()) { }
> 28468: 
> 28468:  ~duration() = default;
> 28468:  duration& operator=(const duration&) = default;
> 28468: 
> 28468: 
> 28468:  constexpr rep
> 28468:  count() const
> 28468:  { return __r; }
> 28468: 
> 28468: 
> 28468:  constexpr duration
> 28468:  operator+() const
> 28468:  { return *this; }
> 28468: 
> 28468:  constexpr duration
> 28468:  operator-() const
> 28468:  { return duration(-__r); }
> 28468: 
> 28468:  duration&
> 28468:  operator++()
> 28468:  {
> 28468:    ++__r;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:  duration
> 28468:  operator++(int)
> 28468:  { return duration(__r++); }
> 28468: 
> 28468:  duration&
> 28468:  operator--()
> 28468:  {
> 28468:    --__r;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:  duration
> 28468:  operator--(int)
> 28468:  { return duration(__r--); }
> 28468: 
> 28468:  duration&
> 28468:  operator+=(const duration& __d)
> 28468:  {
> 28468:    __r += __d.count();
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:  duration&
> 28468:  operator-=(const duration& __d)
> 28468:  {
> 28468:    __r -= __d.count();
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:  duration&
> 28468:  operator*=(const rep& __rhs)
> 28468:  {
> 28468:    __r *= __rhs;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:  duration&
> 28468:  operator/=(const rep& __rhs)
> 28468:  {
> 28468:    __r /= __rhs;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468: 
> 28468:  template<typename _Rep2 = rep>
> 28468:   
> 28468:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
> 28468:         duration&>::type
> 28468:    operator%=(const rep& __rhs)
> 28468:    {
> 28468:      __r %= __rhs;
> 28468:      return *this;
> 28468:    }
> 28468: 
> 28468:  template<typename _Rep2 = rep>
> 28468:   
> 28468:    typename enable_if<!treat_as_floating_point<_Rep2>::value,
> 28468:         duration&>::type
> 28468:    operator%=(const duration& __d)
> 28468:    {
> 28468:      __r %= __d.count();
> 28468:      return *this;
> 28468:    }
> 28468: 
> 28468: 
> 28468:  static constexpr duration
> 28468:  zero() noexcept
> 28468:  { return duration(duration_values<rep>::zero()); }
> 28468: 
> 28468:  static constexpr duration
> 28468:  min() noexcept
> 28468:  { return duration(duration_values<rep>::min()); }
> 28468: 
> 28468:  static constexpr duration
> 28468:  max() noexcept
> 28468:  { return duration(duration_values<rep>::max()); }
> 28468: 
> 28468:       private:
> 28468:  rep __r;
> 28468:       };
> 28468: 
> 28468:     template<typename _Rep1, typename _Period1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr typename common_type<duration<_Rep1, _Period1>,
> 28468:          duration<_Rep2, _Period2>>::type
> 28468:       operator+(const duration<_Rep1, _Period1>& __lhs,
> 28468:   const duration<_Rep2, _Period2>& __rhs)
> 28468:       {
> 28468:  typedef duration<_Rep1, _Period1> __dur1;
> 28468:  typedef duration<_Rep2, _Period2> __dur2;
> 28468:  typedef typename common_type<__dur1,__dur2>::type __cd;
> 28468:  return __cd(__cd(__lhs).count() + __cd(__rhs).count());
> 28468:       }
> 28468: 
> 28468:     template<typename _Rep1, typename _Period1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr typename common_type<duration<_Rep1, _Period1>,
> 28468:          duration<_Rep2, _Period2>>::type
> 28468:       operator-(const duration<_Rep1, _Period1>& __lhs,
> 28468:   const duration<_Rep2, _Period2>& __rhs)
> 28468:       {
> 28468:  typedef duration<_Rep1, _Period1> __dur1;
> 28468:  typedef duration<_Rep2, _Period2> __dur2;
> 28468:  typedef typename common_type<__dur1,__dur2>::type __cd;
> 28468:  return __cd(__cd(__lhs).count() - __cd(__rhs).count());
> 28468:       }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     template<typename _Rep1, typename _Rep2,
> 28468:       typename _CRep = typename common_type<_Rep1, _Rep2>::type>
> 28468:       using __common_rep_t = typename
> 28468:  enable_if<is_convertible<const _Rep2&, _CRep>::value, _CRep>::type;
> 28468: 
> 28468:     template<typename _Rep1, typename _Period, typename _Rep2>
> 28468:       constexpr duration<__common_rep_t<_Rep1, _Rep2>, _Period>
> 28468:       operator*(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
> 28468:       {
> 28468:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
> 28468:    __cd;
> 28468:  return __cd(__cd(__d).count() * __s);
> 28468:       }
> 28468: 
> 28468:     template<typename _Rep1, typename _Rep2, typename _Period>
> 28468:       constexpr duration<__common_rep_t<_Rep2, _Rep1>, _Period>
> 28468:       operator*(const _Rep1& __s, const duration<_Rep2, _Period>& __d)
> 28468:       { return __d * __s; }
> 28468: 
> 28468:     template<typename _Rep1, typename _Period, typename _Rep2>
> 28468:       constexpr
> 28468:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
> 28468:       operator/(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
> 28468:       {
> 28468:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
> 28468:    __cd;
> 28468:  return __cd(__cd(__d).count() / __s);
> 28468:       }
> 28468: 
> 28468:     template<typename _Rep1, typename _Period1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr typename common_type<_Rep1, _Rep2>::type
> 28468:       operator/(const duration<_Rep1, _Period1>& __lhs,
> 28468:   const duration<_Rep2, _Period2>& __rhs)
> 28468:       {
> 28468:  typedef duration<_Rep1, _Period1> __dur1;
> 28468:  typedef duration<_Rep2, _Period2> __dur2;
> 28468:  typedef typename common_type<__dur1,__dur2>::type __cd;
> 28468:  return __cd(__lhs).count() / __cd(__rhs).count();
> 28468:       }
> 28468: 
> 28468: 
> 28468:     template<typename _Rep1, typename _Period, typename _Rep2>
> 28468:       constexpr
> 28468:       duration<__common_rep_t<_Rep1, __disable_if_is_duration<_Rep2>>, _Period>
> 28468:       operator%(const duration<_Rep1, _Period>& __d, const _Rep2& __s)
> 28468:       {
> 28468:  typedef duration<typename common_type<_Rep1, _Rep2>::type, _Period>
> 28468:    __cd;
> 28468:  return __cd(__cd(__d).count() % __s);
> 28468:       }
> 28468: 
> 28468:     template<typename _Rep1, typename _Period1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr typename common_type<duration<_Rep1, _Period1>,
> 28468:          duration<_Rep2, _Period2>>::type
> 28468:       operator%(const duration<_Rep1, _Period1>& __lhs,
> 28468:   const duration<_Rep2, _Period2>& __rhs)
> 28468:       {
> 28468:  typedef duration<_Rep1, _Period1> __dur1;
> 28468:  typedef duration<_Rep2, _Period2> __dur2;
> 28468:  typedef typename common_type<__dur1,__dur2>::type __cd;
> 28468:  return __cd(__cd(__lhs).count() % __cd(__rhs).count());
> 28468:       }
> 28468: 
> 28468: 
> 28468:     template<typename _Rep1, typename _Period1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr bool
> 28468:       operator==(const duration<_Rep1, _Period1>& __lhs,
> 28468:    const duration<_Rep2, _Period2>& __rhs)
> 28468:       {
> 28468:  typedef duration<_Rep1, _Period1> __dur1;
> 28468:  typedef duration<_Rep2, _Period2> __dur2;
> 28468:  typedef typename common_type<__dur1,__dur2>::type __ct;
> 28468:  return __ct(__lhs).count() == __ct(__rhs).count();
> 28468:       }
> 28468: 
> 28468:     template<typename _Rep1, typename _Period1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr bool
> 28468:       operator<(const duration<_Rep1, _Period1>& __lhs,
> 28468:   const duration<_Rep2, _Period2>& __rhs)
> 28468:       {
> 28468:  typedef duration<_Rep1, _Period1> __dur1;
> 28468:  typedef duration<_Rep2, _Period2> __dur2;
> 28468:  typedef typename common_type<__dur1,__dur2>::type __ct;
> 28468:  return __ct(__lhs).count() < __ct(__rhs).count();
> 28468:       }
> 28468: 
> 28468:     template<typename _Rep1, typename _Period1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr bool
> 28468:       operator!=(const duration<_Rep1, _Period1>& __lhs,
> 28468:    const duration<_Rep2, _Period2>& __rhs)
> 28468:       { return !(__lhs == __rhs); }
> 28468: 
> 28468:     template<typename _Rep1, typename _Period1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr bool
> 28468:       operator<=(const duration<_Rep1, _Period1>& __lhs,
> 28468:    const duration<_Rep2, _Period2>& __rhs)
> 28468:       { return !(__rhs < __lhs); }
> 28468: 
> 28468:     template<typename _Rep1, typename _Period1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr bool
> 28468:       operator>(const duration<_Rep1, _Period1>& __lhs,
> 28468:   const duration<_Rep2, _Period2>& __rhs)
> 28468:       { return __rhs < __lhs; }
> 28468: 
> 28468:     template<typename _Rep1, typename _Period1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr bool
> 28468:       operator>=(const duration<_Rep1, _Period1>& __lhs,
> 28468:    const duration<_Rep2, _Period2>& __rhs)
> 28468:       { return !(__lhs < __rhs); }
> 28468: # 605 "/usr/include/c++/9/chrono" 3
> 28468:     typedef duration<int64_t, nano> nanoseconds;
> 28468: 
> 28468: 
> 28468:     typedef duration<int64_t, micro> microseconds;
> 28468: 
> 28468: 
> 28468:     typedef duration<int64_t, milli> milliseconds;
> 28468: 
> 28468: 
> 28468:     typedef duration<int64_t> seconds;
> 28468: 
> 28468: 
> 28468:     typedef duration<int64_t, ratio< 60>> minutes;
> 28468: 
> 28468: 
> 28468:     typedef duration<int64_t, ratio<3600>> hours;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     template<typename _Clock, typename _Dur>
> 28468:       struct time_point
> 28468:       {
> 28468:  typedef _Clock clock;
> 28468:  typedef _Dur duration;
> 28468:  typedef typename duration::rep rep;
> 28468:  typedef typename duration::period period;
> 28468: 
> 28468:  constexpr time_point() : __d(duration::zero())
> 28468:  { }
> 28468: 
> 28468:  constexpr explicit time_point(const duration& __dur)
> 28468:  : __d(__dur)
> 28468:  { }
> 28468: 
> 28468: 
> 28468:  template<typename _Dur2,
> 28468:    typename = _Require<is_convertible<_Dur2, _Dur>>>
> 28468:    constexpr time_point(const time_point<clock, _Dur2>& __t)
> 28468:    : __d(__t.time_since_epoch())
> 28468:    { }
> 28468: 
> 28468: 
> 28468:  constexpr duration
> 28468:  time_since_epoch() const
> 28468:  { return __d; }
> 28468: 
> 28468: 
> 28468:  time_point&
> 28468:  operator+=(const duration& __dur)
> 28468:  {
> 28468:    __d += __dur;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468:  time_point&
> 28468:  operator-=(const duration& __dur)
> 28468:  {
> 28468:    __d -= __dur;
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468: 
> 28468:  static constexpr time_point
> 28468:  min() noexcept
> 28468:  { return time_point(duration::min()); }
> 28468: 
> 28468:  static constexpr time_point
> 28468:  max() noexcept
> 28468:  { return time_point(duration::max()); }
> 28468: 
> 28468:       private:
> 28468:  duration __d;
> 28468:       };
> 28468: 
> 28468: 
> 28468:     template<typename _ToDur, typename _Clock, typename _Dur>
> 28468:       constexpr typename enable_if<__is_duration<_ToDur>::value,
> 28468:        time_point<_Clock, _ToDur>>::type
> 28468:       time_point_cast(const time_point<_Clock, _Dur>& __t)
> 28468:       {
> 28468:  typedef time_point<_Clock, _ToDur> __time_point;
> 28468:  return __time_point(duration_cast<_ToDur>(__t.time_since_epoch()));
> 28468:       }
> 28468: # 721 "/usr/include/c++/9/chrono" 3
> 28468:     template<typename _Clock, typename _Dur1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr time_point<_Clock,
> 28468:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
> 28468:       operator+(const time_point<_Clock, _Dur1>& __lhs,
> 28468:   const duration<_Rep2, _Period2>& __rhs)
> 28468:       {
> 28468:  typedef duration<_Rep2, _Period2> __dur2;
> 28468:  typedef typename common_type<_Dur1,__dur2>::type __ct;
> 28468:  typedef time_point<_Clock, __ct> __time_point;
> 28468:  return __time_point(__lhs.time_since_epoch() + __rhs);
> 28468:       }
> 28468: 
> 28468:     template<typename _Rep1, typename _Period1,
> 28468:       typename _Clock, typename _Dur2>
> 28468:       constexpr time_point<_Clock,
> 28468:  typename common_type<duration<_Rep1, _Period1>, _Dur2>::type>
> 28468:       operator+(const duration<_Rep1, _Period1>& __lhs,
> 28468:   const time_point<_Clock, _Dur2>& __rhs)
> 28468:       {
> 28468:  typedef duration<_Rep1, _Period1> __dur1;
> 28468:  typedef typename common_type<__dur1,_Dur2>::type __ct;
> 28468:  typedef time_point<_Clock, __ct> __time_point;
> 28468:  return __time_point(__rhs.time_since_epoch() + __lhs);
> 28468:       }
> 28468: 
> 28468:     template<typename _Clock, typename _Dur1,
> 28468:       typename _Rep2, typename _Period2>
> 28468:       constexpr time_point<_Clock,
> 28468:  typename common_type<_Dur1, duration<_Rep2, _Period2>>::type>
> 28468:       operator-(const time_point<_Clock, _Dur1>& __lhs,
> 28468:   const duration<_Rep2, _Period2>& __rhs)
> 28468:       {
> 28468:  typedef duration<_Rep2, _Period2> __dur2;
> 28468:  typedef typename common_type<_Dur1,__dur2>::type __ct;
> 28468:  typedef time_point<_Clock, __ct> __time_point;
> 28468:  return __time_point(__lhs.time_since_epoch() -__rhs);
> 28468:       }
> 28468: 
> 28468:     template<typename _Clock, typename _Dur1, typename _Dur2>
> 28468:       constexpr typename common_type<_Dur1, _Dur2>::type
> 28468:       operator-(const time_point<_Clock, _Dur1>& __lhs,
> 28468:   const time_point<_Clock, _Dur2>& __rhs)
> 28468:       { return __lhs.time_since_epoch() - __rhs.time_since_epoch(); }
> 28468: 
> 28468:     template<typename _Clock, typename _Dur1, typename _Dur2>
> 28468:       constexpr bool
> 28468:       operator==(const time_point<_Clock, _Dur1>& __lhs,
> 28468:    const time_point<_Clock, _Dur2>& __rhs)
> 28468:       { return __lhs.time_since_epoch() == __rhs.time_since_epoch(); }
> 28468: 
> 28468:     template<typename _Clock, typename _Dur1, typename _Dur2>
> 28468:       constexpr bool
> 28468:       operator!=(const time_point<_Clock, _Dur1>& __lhs,
> 28468:    const time_point<_Clock, _Dur2>& __rhs)
> 28468:       { return !(__lhs == __rhs); }
> 28468: 
> 28468:     template<typename _Clock, typename _Dur1, typename _Dur2>
> 28468:       constexpr bool
> 28468:       operator<(const time_point<_Clock, _Dur1>& __lhs,
> 28468:   const time_point<_Clock, _Dur2>& __rhs)
> 28468:       { return __lhs.time_since_epoch() < __rhs.time_since_epoch(); }
> 28468: 
> 28468:     template<typename _Clock, typename _Dur1, typename _Dur2>
> 28468:       constexpr bool
> 28468:       operator<=(const time_point<_Clock, _Dur1>& __lhs,
> 28468:    const time_point<_Clock, _Dur2>& __rhs)
> 28468:       { return !(__rhs < __lhs); }
> 28468: 
> 28468:     template<typename _Clock, typename _Dur1, typename _Dur2>
> 28468:       constexpr bool
> 28468:       operator>(const time_point<_Clock, _Dur1>& __lhs,
> 28468:   const time_point<_Clock, _Dur2>& __rhs)
> 28468:       { return __rhs < __lhs; }
> 28468: 
> 28468:     template<typename _Clock, typename _Dur1, typename _Dur2>
> 28468:       constexpr bool
> 28468:       operator>=(const time_point<_Clock, _Dur1>& __lhs,
> 28468:    const time_point<_Clock, _Dur2>& __rhs)
> 28468:       { return !(__lhs < __rhs); }
> 28468: # 821 "/usr/include/c++/9/chrono" 3
> 28468:     inline namespace _V2 {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     struct system_clock
> 28468:     {
> 28468:       typedef chrono::nanoseconds duration;
> 28468:       typedef duration::rep rep;
> 28468:       typedef duration::period period;
> 28468:       typedef chrono::time_point<system_clock, duration> time_point;
> 28468: 
> 28468:       static_assert(system_clock::duration::min()
> 28468:       < system_clock::duration::zero(),
> 28468:       "a clock's minimum duration cannot be less than its epoch");
> 28468: 
> 28468:       static constexpr bool is_steady = false;
> 28468: 
> 28468:       static time_point
> 28468:       now() noexcept;
> 28468: 
> 28468: 
> 28468:       static std::time_t
> 28468:       to_time_t(const time_point& __t) noexcept
> 28468:       {
> 28468:  return std::time_t(duration_cast<chrono::seconds>
> 28468:       (__t.time_since_epoch()).count());
> 28468:       }
> 28468: 
> 28468:       static time_point
> 28468:       from_time_t(std::time_t __t) noexcept
> 28468:       {
> 28468:  typedef chrono::time_point<system_clock, seconds> __from;
> 28468:  return time_point_cast<system_clock::duration>
> 28468:         (__from(chrono::seconds(__t)));
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     struct steady_clock
> 28468:     {
> 28468:       typedef chrono::nanoseconds duration;
> 28468:       typedef duration::rep rep;
> 28468:       typedef duration::period period;
> 28468:       typedef chrono::time_point<steady_clock, duration> time_point;
> 28468: 
> 28468:       static constexpr bool is_steady = true;
> 28468: 
> 28468:       static time_point
> 28468:       now() noexcept;
> 28468:     };
> 28468: # 888 "/usr/include/c++/9/chrono" 3
> 28468:     using high_resolution_clock = system_clock;
> 28468: 
> 28468:     }
> 28468:   }
> 28468: # 980 "/usr/include/c++/9/chrono" 3
> 28468: 
> 28468: }
> 28468: # 40 "/usr/include/c++/9/mutex" 2 3
> 28468: 
> 28468: 
> 28468: 
> 28468: # 1 "/usr/include/c++/9/bits/std_mutex.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/std_mutex.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/std_mutex.h" 3
> 28468: # 43 "/usr/include/c++/9/bits/std_mutex.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 57 "/usr/include/c++/9/bits/std_mutex.h" 3
> 28468:   class __mutex_base
> 28468:   {
> 28468:   protected:
> 28468:     typedef __gthread_mutex_t __native_type;
> 28468: 
> 28468: 
> 28468:     __native_type _M_mutex = { { 0, 0, 0, 0, 0, 0, 0, { 0, 0 } } };
> 28468: 
> 28468:     constexpr __mutex_base() noexcept = default;
> 28468: # 78 "/usr/include/c++/9/bits/std_mutex.h" 3
> 28468:     __mutex_base(const __mutex_base&) = delete;
> 28468:     __mutex_base& operator=(const __mutex_base&) = delete;
> 28468:   };
> 28468: 
> 28468: 
> 28468:   class mutex : private __mutex_base
> 28468:   {
> 28468:   public:
> 28468:     typedef __native_type* native_handle_type;
> 28468: 
> 28468: 
> 28468:     constexpr
> 28468: 
> 28468:     mutex() noexcept = default;
> 28468:     ~mutex() = default;
> 28468: 
> 28468:     mutex(const mutex&) = delete;
> 28468:     mutex& operator=(const mutex&) = delete;
> 28468: 
> 28468:     void
> 28468:     lock()
> 28468:     {
> 28468:       int __e = __gthread_mutex_lock(&_M_mutex);
> 28468: 
> 28468: 
> 28468:       if (__e)
> 28468:  __throw_system_error(__e);
> 28468:     }
> 28468: 
> 28468:     bool
> 28468:     try_lock() noexcept
> 28468:     {
> 28468: 
> 28468:       return !__gthread_mutex_trylock(&_M_mutex);
> 28468:     }
> 28468: 
> 28468:     void
> 28468:     unlock()
> 28468:     {
> 28468: 
> 28468:       __gthread_mutex_unlock(&_M_mutex);
> 28468:     }
> 28468: 
> 28468:     native_handle_type
> 28468:     native_handle() noexcept
> 28468:     { return &_M_mutex; }
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct defer_lock_t { explicit defer_lock_t() = default; };
> 28468: 
> 28468: 
> 28468:   struct try_to_lock_t { explicit try_to_lock_t() = default; };
> 28468: 
> 28468: 
> 28468: 
> 28468:   struct adopt_lock_t { explicit adopt_lock_t() = default; };
> 28468: 
> 28468: 
> 28468:   constexpr defer_lock_t defer_lock { };
> 28468: 
> 28468: 
> 28468:   constexpr try_to_lock_t try_to_lock { };
> 28468: 
> 28468: 
> 28468:   constexpr adopt_lock_t adopt_lock { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Mutex>
> 28468:     class lock_guard
> 28468:     {
> 28468:     public:
> 28468:       typedef _Mutex mutex_type;
> 28468: 
> 28468:       explicit lock_guard(mutex_type& __m) : _M_device(__m)
> 28468:       { _M_device.lock(); }
> 28468: 
> 28468:       lock_guard(mutex_type& __m, adopt_lock_t) noexcept : _M_device(__m)
> 28468:       { }
> 28468: 
> 28468:       ~lock_guard()
> 28468:       { _M_device.unlock(); }
> 28468: 
> 28468:       lock_guard(const lock_guard&) = delete;
> 28468:       lock_guard& operator=(const lock_guard&) = delete;
> 28468: 
> 28468:     private:
> 28468:       mutex_type& _M_device;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 44 "/usr/include/c++/9/mutex" 2 3
> 28468: # 1 "/usr/include/c++/9/bits/unique_lock.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/unique_lock.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/unique_lock.h" 3
> 28468: # 42 "/usr/include/c++/9/bits/unique_lock.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 58 "/usr/include/c++/9/bits/unique_lock.h" 3
> 28468:   template<typename _Mutex>
> 28468:     class unique_lock
> 28468:     {
> 28468:     public:
> 28468:       typedef _Mutex mutex_type;
> 28468: 
> 28468:       unique_lock() noexcept
> 28468:       : _M_device(0), _M_owns(false)
> 28468:       { }
> 28468: 
> 28468:       explicit unique_lock(mutex_type& __m)
> 28468:       : _M_device(std::__addressof(__m)), _M_owns(false)
> 28468:       {
> 28468:  lock();
> 28468:  _M_owns = true;
> 28468:       }
> 28468: 
> 28468:       unique_lock(mutex_type& __m, defer_lock_t) noexcept
> 28468:       : _M_device(std::__addressof(__m)), _M_owns(false)
> 28468:       { }
> 28468: 
> 28468:       unique_lock(mutex_type& __m, try_to_lock_t)
> 28468:       : _M_device(std::__addressof(__m)), _M_owns(_M_device->try_lock())
> 28468:       { }
> 28468: 
> 28468:       unique_lock(mutex_type& __m, adopt_lock_t) noexcept
> 28468:       : _M_device(std::__addressof(__m)), _M_owns(true)
> 28468:       {
> 28468: 
> 28468:       }
> 28468: 
> 28468:       template<typename _Clock, typename _Duration>
> 28468:  unique_lock(mutex_type& __m,
> 28468:       const chrono::time_point<_Clock, _Duration>& __atime)
> 28468:  : _M_device(std::__addressof(__m)),
> 28468:    _M_owns(_M_device->try_lock_until(__atime))
> 28468:  { }
> 28468: 
> 28468:       template<typename _Rep, typename _Period>
> 28468:  unique_lock(mutex_type& __m,
> 28468:       const chrono::duration<_Rep, _Period>& __rtime)
> 28468:  : _M_device(std::__addressof(__m)),
> 28468:    _M_owns(_M_device->try_lock_for(__rtime))
> 28468:  { }
> 28468: 
> 28468:       ~unique_lock()
> 28468:       {
> 28468:  if (_M_owns)
> 28468:    unlock();
> 28468:       }
> 28468: 
> 28468:       unique_lock(const unique_lock&) = delete;
> 28468:       unique_lock& operator=(const unique_lock&) = delete;
> 28468: 
> 28468:       unique_lock(unique_lock&& __u) noexcept
> 28468:       : _M_device(__u._M_device), _M_owns(__u._M_owns)
> 28468:       {
> 28468:  __u._M_device = 0;
> 28468:  __u._M_owns = false;
> 28468:       }
> 28468: 
> 28468:       unique_lock& operator=(unique_lock&& __u) noexcept
> 28468:       {
> 28468:  if(_M_owns)
> 28468:    unlock();
> 28468: 
> 28468:  unique_lock(std::move(__u)).swap(*this);
> 28468: 
> 28468:  __u._M_device = 0;
> 28468:  __u._M_owns = false;
> 28468: 
> 28468:  return *this;
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       lock()
> 28468:       {
> 28468:  if (!_M_device)
> 28468:    __throw_system_error(int(errc::operation_not_permitted));
> 28468:  else if (_M_owns)
> 28468:    __throw_system_error(int(errc::resource_deadlock_would_occur));
> 28468:  else
> 28468:    {
> 28468:      _M_device->lock();
> 28468:      _M_owns = true;
> 28468:    }
> 28468:       }
> 28468: 
> 28468:       bool
> 28468:       try_lock()
> 28468:       {
> 28468:  if (!_M_device)
> 28468:    __throw_system_error(int(errc::operation_not_permitted));
> 28468:  else if (_M_owns)
> 28468:    __throw_system_error(int(errc::resource_deadlock_would_occur));
> 28468:  else
> 28468:    {
> 28468:      _M_owns = _M_device->try_lock();
> 28468:      return _M_owns;
> 28468:    }
> 28468:       }
> 28468: 
> 28468:       template<typename _Clock, typename _Duration>
> 28468:  bool
> 28468:  try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
> 28468:  {
> 28468:    if (!_M_device)
> 28468:      __throw_system_error(int(errc::operation_not_permitted));
> 28468:    else if (_M_owns)
> 28468:      __throw_system_error(int(errc::resource_deadlock_would_occur));
> 28468:    else
> 28468:      {
> 28468:        _M_owns = _M_device->try_lock_until(__atime);
> 28468:        return _M_owns;
> 28468:      }
> 28468:  }
> 28468: 
> 28468:       template<typename _Rep, typename _Period>
> 28468:  bool
> 28468:  try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
> 28468:  {
> 28468:    if (!_M_device)
> 28468:      __throw_system_error(int(errc::operation_not_permitted));
> 28468:    else if (_M_owns)
> 28468:      __throw_system_error(int(errc::resource_deadlock_would_occur));
> 28468:    else
> 28468:      {
> 28468:        _M_owns = _M_device->try_lock_for(__rtime);
> 28468:        return _M_owns;
> 28468:      }
> 28468:   }
> 28468: 
> 28468:       void
> 28468:       unlock()
> 28468:       {
> 28468:  if (!_M_owns)
> 28468:    __throw_system_error(int(errc::operation_not_permitted));
> 28468:  else if (_M_device)
> 28468:    {
> 28468:      _M_device->unlock();
> 28468:      _M_owns = false;
> 28468:    }
> 28468:       }
> 28468: 
> 28468:       void
> 28468:       swap(unique_lock& __u) noexcept
> 28468:       {
> 28468:  std::swap(_M_device, __u._M_device);
> 28468:  std::swap(_M_owns, __u._M_owns);
> 28468:       }
> 28468: 
> 28468:       mutex_type*
> 28468:       release() noexcept
> 28468:       {
> 28468:  mutex_type* __ret = _M_device;
> 28468:  _M_device = 0;
> 28468:  _M_owns = false;
> 28468:  return __ret;
> 28468:       }
> 28468: 
> 28468:       bool
> 28468:       owns_lock() const noexcept
> 28468:       { return _M_owns; }
> 28468: 
> 28468:       explicit operator bool() const noexcept
> 28468:       { return owns_lock(); }
> 28468: 
> 28468:       mutex_type*
> 28468:       mutex() const noexcept
> 28468:       { return _M_device; }
> 28468: 
> 28468:     private:
> 28468:       mutex_type* _M_device;
> 28468:       bool _M_owns;
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Mutex>
> 28468:     inline void
> 28468:     swap(unique_lock<_Mutex>& __x, unique_lock<_Mutex>& __y) noexcept
> 28468:     { __x.swap(__y); }
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 45 "/usr/include/c++/9/mutex" 2 3
> 28468: # 53 "/usr/include/c++/9/mutex" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 65 "/usr/include/c++/9/mutex" 3
> 28468:   class __recursive_mutex_base
> 28468:   {
> 28468:   protected:
> 28468:     typedef __gthread_recursive_mutex_t __native_type;
> 28468: 
> 28468:     __recursive_mutex_base(const __recursive_mutex_base&) = delete;
> 28468:     __recursive_mutex_base& operator=(const __recursive_mutex_base&) = delete;
> 28468: 
> 28468: 
> 28468:     __native_type _M_mutex = { { 0, 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, 0, { 0, 0 } } };
> 28468: 
> 28468:     __recursive_mutex_base() = default;
> 28468: # 89 "/usr/include/c++/9/mutex" 3
> 28468:   };
> 28468: 
> 28468: 
> 28468:   class recursive_mutex : private __recursive_mutex_base
> 28468:   {
> 28468:   public:
> 28468:     typedef __native_type* native_handle_type;
> 28468: 
> 28468:     recursive_mutex() = default;
> 28468:     ~recursive_mutex() = default;
> 28468: 
> 28468:     recursive_mutex(const recursive_mutex&) = delete;
> 28468:     recursive_mutex& operator=(const recursive_mutex&) = delete;
> 28468: 
> 28468:     void
> 28468:     lock()
> 28468:     {
> 28468:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
> 28468: 
> 28468: 
> 28468:       if (__e)
> 28468:  __throw_system_error(__e);
> 28468:     }
> 28468: 
> 28468:     bool
> 28468:     try_lock() noexcept
> 28468:     {
> 28468: 
> 28468:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
> 28468:     }
> 28468: 
> 28468:     void
> 28468:     unlock()
> 28468:     {
> 28468: 
> 28468:       __gthread_recursive_mutex_unlock(&_M_mutex);
> 28468:     }
> 28468: 
> 28468:     native_handle_type
> 28468:     native_handle() noexcept
> 28468:     { return &_M_mutex; }
> 28468:   };
> 28468: 
> 28468: 
> 28468:   template<typename _Derived>
> 28468:     class __timed_mutex_impl
> 28468:     {
> 28468:     protected:
> 28468:       typedef chrono::high_resolution_clock __clock_t;
> 28468: 
> 28468:       template<typename _Rep, typename _Period>
> 28468:  bool
> 28468:  _M_try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
> 28468:  {
> 28468:    using chrono::steady_clock;
> 28468:    auto __rt = chrono::duration_cast<steady_clock::duration>(__rtime);
> 28468:    if (ratio_greater<steady_clock::period, _Period>())
> 28468:      ++__rt;
> 28468:    return _M_try_lock_until(steady_clock::now() + __rt);
> 28468:  }
> 28468: 
> 28468:       template<typename _Duration>
> 28468:  bool
> 28468:  _M_try_lock_until(const chrono::time_point<__clock_t,
> 28468:          _Duration>& __atime)
> 28468:  {
> 28468:    auto __s = chrono::time_point_cast<chrono::seconds>(__atime);
> 28468:    auto __ns = chrono::duration_cast<chrono::nanoseconds>(__atime - __s);
> 28468: 
> 28468:    __gthread_time_t __ts = {
> 28468:      static_cast<std::time_t>(__s.time_since_epoch().count()),
> 28468:      static_cast<long>(__ns.count())
> 28468:    };
> 28468: 
> 28468:    return static_cast<_Derived*>(this)->_M_timedlock(__ts);
> 28468:  }
> 28468: 
> 28468:       template<typename _Clock, typename _Duration>
> 28468:  bool
> 28468:  _M_try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
> 28468:  {
> 28468:    auto __rtime = __atime - _Clock::now();
> 28468:    return _M_try_lock_until(__clock_t::now() + __rtime);
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   class timed_mutex
> 28468:   : private __mutex_base, public __timed_mutex_impl<timed_mutex>
> 28468:   {
> 28468:   public:
> 28468:     typedef __native_type* native_handle_type;
> 28468: 
> 28468:     timed_mutex() = default;
> 28468:     ~timed_mutex() = default;
> 28468: 
> 28468:     timed_mutex(const timed_mutex&) = delete;
> 28468:     timed_mutex& operator=(const timed_mutex&) = delete;
> 28468: 
> 28468:     void
> 28468:     lock()
> 28468:     {
> 28468:       int __e = __gthread_mutex_lock(&_M_mutex);
> 28468: 
> 28468: 
> 28468:       if (__e)
> 28468:  __throw_system_error(__e);
> 28468:     }
> 28468: 
> 28468:     bool
> 28468:     try_lock() noexcept
> 28468:     {
> 28468: 
> 28468:       return !__gthread_mutex_trylock(&_M_mutex);
> 28468:     }
> 28468: 
> 28468:     template <class _Rep, class _Period>
> 28468:       bool
> 28468:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
> 28468:       { return _M_try_lock_for(__rtime); }
> 28468: 
> 28468:     template <class _Clock, class _Duration>
> 28468:       bool
> 28468:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
> 28468:       { return _M_try_lock_until(__atime); }
> 28468: 
> 28468:     void
> 28468:     unlock()
> 28468:     {
> 28468: 
> 28468:       __gthread_mutex_unlock(&_M_mutex);
> 28468:     }
> 28468: 
> 28468:     native_handle_type
> 28468:     native_handle() noexcept
> 28468:     { return &_M_mutex; }
> 28468: 
> 28468:     private:
> 28468:       friend class __timed_mutex_impl<timed_mutex>;
> 28468: 
> 28468:       bool
> 28468:       _M_timedlock(const __gthread_time_t& __ts)
> 28468:       { return !__gthread_mutex_timedlock(&_M_mutex, &__ts); }
> 28468:   };
> 28468: 
> 28468: 
> 28468:   class recursive_timed_mutex
> 28468:   : private __recursive_mutex_base,
> 28468:     public __timed_mutex_impl<recursive_timed_mutex>
> 28468:   {
> 28468:   public:
> 28468:     typedef __native_type* native_handle_type;
> 28468: 
> 28468:     recursive_timed_mutex() = default;
> 28468:     ~recursive_timed_mutex() = default;
> 28468: 
> 28468:     recursive_timed_mutex(const recursive_timed_mutex&) = delete;
> 28468:     recursive_timed_mutex& operator=(const recursive_timed_mutex&) = delete;
> 28468: 
> 28468:     void
> 28468:     lock()
> 28468:     {
> 28468:       int __e = __gthread_recursive_mutex_lock(&_M_mutex);
> 28468: 
> 28468: 
> 28468:       if (__e)
> 28468:  __throw_system_error(__e);
> 28468:     }
> 28468: 
> 28468:     bool
> 28468:     try_lock() noexcept
> 28468:     {
> 28468: 
> 28468:       return !__gthread_recursive_mutex_trylock(&_M_mutex);
> 28468:     }
> 28468: 
> 28468:     template <class _Rep, class _Period>
> 28468:       bool
> 28468:       try_lock_for(const chrono::duration<_Rep, _Period>& __rtime)
> 28468:       { return _M_try_lock_for(__rtime); }
> 28468: 
> 28468:     template <class _Clock, class _Duration>
> 28468:       bool
> 28468:       try_lock_until(const chrono::time_point<_Clock, _Duration>& __atime)
> 28468:       { return _M_try_lock_until(__atime); }
> 28468: 
> 28468:     void
> 28468:     unlock()
> 28468:     {
> 28468: 
> 28468:       __gthread_recursive_mutex_unlock(&_M_mutex);
> 28468:     }
> 28468: 
> 28468:     native_handle_type
> 28468:     native_handle() noexcept
> 28468:     { return &_M_mutex; }
> 28468: 
> 28468:     private:
> 28468:       friend class __timed_mutex_impl<recursive_timed_mutex>;
> 28468: 
> 28468:       bool
> 28468:       _M_timedlock(const __gthread_time_t& __ts)
> 28468:       { return !__gthread_recursive_mutex_timedlock(&_M_mutex, &__ts); }
> 28468:   };
> 28468: # 466 "/usr/include/c++/9/mutex" 3
> 28468:   template<typename _Lock>
> 28468:     inline unique_lock<_Lock>
> 28468:     __try_to_lock(_Lock& __l)
> 28468:     { return unique_lock<_Lock>{__l, try_to_lock}; }
> 28468: 
> 28468:   template<int _Idx, bool _Continue = true>
> 28468:     struct __try_lock_impl
> 28468:     {
> 28468:       template<typename... _Lock>
> 28468:  static void
> 28468:  __do_try_lock(tuple<_Lock&...>& __locks, int& __idx)
> 28468:  {
> 28468:           __idx = _Idx;
> 28468:           auto __lock = std::__try_to_lock(std::get<_Idx>(__locks));
> 28468:           if (__lock.owns_lock())
> 28468:             {
> 28468:        constexpr bool __cont = _Idx + 2 < sizeof...(_Lock);
> 28468:        using __try_locker = __try_lock_impl<_Idx + 1, __cont>;
> 28468:        __try_locker::__do_try_lock(__locks, __idx);
> 28468:               if (__idx == -1)
> 28468:                 __lock.release();
> 28468:             }
> 28468:  }
> 28468:     };
> 28468: 
> 28468:   template<int _Idx>
> 28468:     struct __try_lock_impl<_Idx, false>
> 28468:     {
> 28468:       template<typename... _Lock>
> 28468:  static void
> 28468:  __do_try_lock(tuple<_Lock&...>& __locks, int& __idx)
> 28468:  {
> 28468:           __idx = _Idx;
> 28468:           auto __lock = std::__try_to_lock(std::get<_Idx>(__locks));
> 28468:           if (__lock.owns_lock())
> 28468:             {
> 28468:               __idx = -1;
> 28468:               __lock.release();
> 28468:             }
> 28468:  }
> 28468:     };
> 28468: # 518 "/usr/include/c++/9/mutex" 3
> 28468:   template<typename _Lock1, typename _Lock2, typename... _Lock3>
> 28468:     int
> 28468:     try_lock(_Lock1& __l1, _Lock2& __l2, _Lock3&... __l3)
> 28468:     {
> 28468:       int __idx;
> 28468:       auto __locks = std::tie(__l1, __l2, __l3...);
> 28468:       __try_lock_impl<0>::__do_try_lock(__locks, __idx);
> 28468:       return __idx;
> 28468:     }
> 28468: # 539 "/usr/include/c++/9/mutex" 3
> 28468:   template<typename _L1, typename _L2, typename... _L3>
> 28468:     void
> 28468:     lock(_L1& __l1, _L2& __l2, _L3&... __l3)
> 28468:     {
> 28468:       while (true)
> 28468:         {
> 28468:           using __try_locker = __try_lock_impl<0, sizeof...(_L3) != 0>;
> 28468:           unique_lock<_L1> __first(__l1);
> 28468:           int __idx;
> 28468:           auto __locks = std::tie(__l2, __l3...);
> 28468:           __try_locker::__do_try_lock(__locks, __idx);
> 28468:           if (__idx == -1)
> 28468:             {
> 28468:               __first.release();
> 28468:               return;
> 28468:             }
> 28468:         }
> 28468:     }
> 28468: # 628 "/usr/include/c++/9/mutex" 3
> 28468:   struct once_flag
> 28468:   {
> 28468:   private:
> 28468:     typedef __gthread_once_t __native_type;
> 28468:     __native_type _M_once = 0;
> 28468: 
> 28468:   public:
> 28468: 
> 28468:     constexpr once_flag() noexcept = default;
> 28468: 
> 28468: 
> 28468:     once_flag(const once_flag&) = delete;
> 28468: 
> 28468:     once_flag& operator=(const once_flag&) = delete;
> 28468: 
> 28468:     template<typename _Callable, typename... _Args>
> 28468:       friend void
> 28468:       call_once(once_flag& __once, _Callable&& __f, _Args&&... __args);
> 28468:   };
> 28468: 
> 28468: 
> 28468:   extern __thread void* __once_callable;
> 28468:   extern __thread void (*__once_call)();
> 28468: # 661 "/usr/include/c++/9/mutex" 3
> 28468:   extern "C" void __once_proxy(void);
> 28468: 
> 28468: 
> 28468:   template<typename _Callable, typename... _Args>
> 28468:     void
> 28468:     call_once(once_flag& __once, _Callable&& __f, _Args&&... __args)
> 28468:     {
> 28468: 
> 28468: 
> 28468:       auto __callable = [&] {
> 28468:    std::__invoke(std::forward<_Callable>(__f),
> 28468:    std::forward<_Args>(__args)...);
> 28468:       };
> 28468: 
> 28468:       __once_callable = std::__addressof(__callable);
> 28468:       __once_call = []{ (*(decltype(__callable)*)__once_callable)(); };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       int __e = __gthread_once(&__once._M_once, &__once_proxy);
> 28468: # 696 "/usr/include/c++/9/mutex" 3
> 28468:       if (__e)
> 28468:  __throw_system_error(__e);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 17 "/<<PKGBUILDDIR>>/include/HepMC3/GenRunInfo.h" 2
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: # 23 "/<<PKGBUILDDIR>>/include/HepMC3/GenRunInfo.h"
> 28468: namespace HepMC3 {
> 28468: using namespace std;
> 28468: 
> 28468: struct GenRunInfoData;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class GenRunInfo {
> 28468: 
> 28468: public:
> 28468: 
> 28468: 
> 28468:     struct ToolInfo {
> 28468: 
> 28468: 
> 28468:         string name;
> 28468: 
> 28468: 
> 28468:         string version;
> 28468: 
> 28468: 
> 28468: 
> 28468:         string description;
> 28468:     };
> 28468: 
> 28468: public:
> 28468: 
> 28468: 
> 28468:     GenRunInfo() {}
> 28468: 
> 28468:     GenRunInfo(const GenRunInfo& r);
> 28468: 
> 28468:     GenRunInfo& operator=(const GenRunInfo& r);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     const std::vector<ToolInfo> & tools() const {
> 28468:         return m_tools;
> 28468:     }
> 28468: 
> 28468:     std::vector<ToolInfo> & tools() {
> 28468:         return m_tools;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool has_weight(const string& name) const {
> 28468:         return m_weight_indices.find(name) != m_weight_indices.end();
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     int weight_index(const string& name) const {
> 28468:         std::map<std::string, int>::const_iterator it = m_weight_indices.find(name);
> 28468:         return it == m_weight_indices.end()? -1: it->second;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     const std::vector<std::string> & weight_names() const {
> 28468:         return m_weight_names;
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void set_weight_names(const std::vector<std::string> & names);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void add_attribute(const string &name,
> 28468:                        const shared_ptr<Attribute> &att) {
> 28468:         std::lock_guard<std::recursive_mutex> lock(m_lock_attributes);
> 28468:         if ( att ) m_attributes[name] = att;
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void remove_attribute(const string &name) {
> 28468:         std::lock_guard<std::recursive_mutex> lock(m_lock_attributes);
> 28468:         m_attributes.erase(name);
> 28468:     }
> 28468: 
> 28468: 
> 28468:     template<class T>
> 28468:     shared_ptr<T> attribute(const string &name) const;
> 28468: 
> 28468: 
> 28468:     string attribute_as_string(const string &name) const;
> 28468: 
> 28468: 
> 28468:     std::vector<string> attribute_names() const;
> 28468: 
> 28468: 
> 28468: 
> 28468:     std::map< std::string, shared_ptr<Attribute> > attributes() const {
> 28468:         return m_attributes;
> 28468:     }
> 28468: # 131 "/<<PKGBUILDDIR>>/include/HepMC3/GenRunInfo.h"
> 28468:     void write_data(GenRunInfoData &data) const;
> 28468: 
> 28468: 
> 28468:     void read_data(const GenRunInfoData &data);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: private:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     std::vector<ToolInfo> m_tools;
> 28468: 
> 28468: 
> 28468:     std::map<std::string, int> m_weight_indices;
> 28468: 
> 28468: 
> 28468:     std::vector<std::string> m_weight_names;
> 28468: 
> 28468: 
> 28468:     mutable std::map< std::string, shared_ptr<Attribute> > m_attributes;
> 28468: 
> 28468: 
> 28468:     mutable std::recursive_mutex m_lock_attributes;
> 28468: 
> 28468: 
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: template<class T>
> 28468: shared_ptr<T> GenRunInfo::attribute(const string &name) const {
> 28468:     std::lock_guard<std::recursive_mutex> lock(m_lock_attributes);
> 28468:     std::map< std::string, shared_ptr<Attribute> >::iterator i =
> 28468:         m_attributes.find(name);
> 28468:     if( i == m_attributes.end() ) return shared_ptr<T>();
> 28468: 
> 28468:     if( !i->second->is_parsed() ) {
> 28468: 
> 28468:         shared_ptr<T> att = make_shared<T>();
> 28468:         if ( att->from_string(i->second->unparsed_string()) &&
> 28468:                 att->init(*this) ) {
> 28468: 
> 28468:             i->second = att;
> 28468: 
> 28468:             return att;
> 28468:         }
> 28468:         else
> 28468:             return shared_ptr<T>();
> 28468:     }
> 28468:     else return dynamic_pointer_cast<T>(i->second);
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: }
> 28468: # 26 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h" 2
> 28468: # 34 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h"
> 28468: namespace HepMC3 {
> 28468: 
> 28468: struct GenEventData;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: class GenEvent {
> 28468: 
> 28468: public:
> 28468: 
> 28468: 
> 28468:     GenEvent(Units::MomentumUnit momentum_unit = Units::GEV,
> 28468:              Units::LengthUnit length_unit = Units::MM);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     GenEvent(shared_ptr<GenRunInfo> run,
> 28468:              Units::MomentumUnit momentum_unit = Units::GEV,
> 28468:              Units::LengthUnit length_unit = Units::MM);
> 28468: 
> 28468: 
> 28468:     GenEvent(const GenEvent&);
> 28468: 
> 28468: 
> 28468:     ~GenEvent();
> 28468: 
> 28468: 
> 28468:     GenEvent& operator=(const GenEvent&);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     const std::vector<ConstGenParticlePtr>& particles() const;
> 28468: 
> 28468:     const std::vector<ConstGenVertexPtr>& vertices() const;
> 28468: 
> 28468: 
> 28468: 
> 28468:     const std::vector<GenParticlePtr>& particles() { return m_particles; }
> 28468: 
> 28468:     const std::vector<GenVertexPtr>& vertices() { return m_vertices; }
> 28468: # 87 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h"
> 28468:     const std::vector<double>& weights() const { return m_weights; }
> 28468: 
> 28468:     std::vector<double>& weights() { return m_weights; }
> 28468: 
> 28468: 
> 28468:     double weight(const size_t& index=0) const { return weights().at(index); }
> 28468: 
> 28468: 
> 28468: 
> 28468:     double weight(const std::string& name) const {
> 28468:         if (!run_info()) throw WeightError("GenEvent::weight(str): named access to event weights requires the event to have a GenRunInfo");
> 28468:         return weight(run_info()->weight_index(name));
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     double& weight(const std::string& name) {
> 28468:         if (!run_info()) throw WeightError("GenEvent::weight(str): named access to event weights requires the event to have a GenRunInfo");
> 28468:         int pos=run_info()->weight_index(name);
> 28468:         if (pos<0) throw WeightError("GenEvent::weight(str): no weight with given name in this run");
> 28468:         return m_weights[pos];
> 28468:     }
> 28468: 
> 28468: 
> 28468:     const std::vector<std::string>& weight_names(const std::string& ) const {
> 28468:         if (!run_info()) throw WeightError("GenEvent::weight_names(): access to event weight names requires the event to have a GenRunInfo");
> 28468:         const std::vector<std::string>& weightnames = run_info()->weight_names();
> 28468:         if (weightnames.empty()) throw WeightError("GenEvent::weight_names(): no event weight names are registered for this run");
> 28468:         return weightnames;
> 28468:     }
> 28468: # 125 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h"
> 28468:     shared_ptr<GenRunInfo> run_info() const {
> 28468:         return m_run_info;
> 28468:     }
> 28468: 
> 28468:     void set_run_info(shared_ptr<GenRunInfo> run) {
> 28468:         m_run_info = run;
> 28468:         if ( run && !run->weight_names().empty() )
> 28468:             m_weights.resize(run->weight_names().size(), 1.0);
> 28468:     }
> 28468: 
> 28468: 
> 28468:     int event_number() const { return m_event_number; }
> 28468: 
> 28468:     void set_event_number(const int& num) { m_event_number = num; }
> 28468: 
> 28468: 
> 28468:     const Units::MomentumUnit& momentum_unit() const { return m_momentum_unit; }
> 28468: 
> 28468:     const Units::LengthUnit& length_unit() const { return m_length_unit; }
> 28468: 
> 28468: 
> 28468:     void set_units( Units::MomentumUnit new_momentum_unit, Units::LengthUnit new_length_unit);
> 28468: 
> 28468: 
> 28468:     GenHeavyIonPtr heavy_ion() { return attribute<GenHeavyIon>("GenHeavyIon"); }
> 28468: 
> 28468:     ConstGenHeavyIonPtr heavy_ion() const { return attribute<GenHeavyIon>("GenHeavyIon"); }
> 28468: 
> 28468:     void set_heavy_ion(GenHeavyIonPtr hi) { add_attribute("GenHeavyIon",hi); }
> 28468: 
> 28468: 
> 28468:     GenPdfInfoPtr pdf_info() { return attribute<GenPdfInfo>("GenPdfInfo"); }
> 28468: 
> 28468:     ConstGenPdfInfoPtr pdf_info() const { return attribute<GenPdfInfo>("GenPdfInfo"); }
> 28468: 
> 28468:     void set_pdf_info(GenPdfInfoPtr pi) { add_attribute("GenPdfInfo",pi); }
> 28468: 
> 28468: 
> 28468:     GenCrossSectionPtr cross_section() { return attribute<GenCrossSection>("GenCrossSection"); }
> 28468: 
> 28468:     ConstGenCrossSectionPtr cross_section() const { return attribute<GenCrossSection>("GenCrossSection"); }
> 28468: 
> 28468:     void set_cross_section(GenCrossSectionPtr cs) { add_attribute("GenCrossSection",cs); }
> 28468: # 176 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h"
> 28468:     const FourVector& event_pos() const;
> 28468: 
> 28468: 
> 28468:     std::vector<ConstGenParticlePtr> beams() const;
> 28468: 
> 28468: 
> 28468:     const std::vector<GenParticlePtr> & beams();
> 28468: 
> 28468: 
> 28468:     void shift_position_by( const FourVector & delta );
> 28468: 
> 28468: 
> 28468:     void shift_position_to( const FourVector & newpos ) {
> 28468:         const FourVector delta = newpos - event_pos();
> 28468:         shift_position_by(delta);
> 28468:     }
> 28468: 
> 28468: 
> 28468:     bool boost( const FourVector v );
> 28468: 
> 28468:     bool rotate( const FourVector v );
> 28468: 
> 28468:     bool reflect(const int axis);
> 28468: # 209 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h"
> 28468:     void add_attribute(const string &name, const shared_ptr<Attribute> &att, const int& id = 0) {
> 28468:         std::lock_guard<std::recursive_mutex> lock(m_lock_attributes);
> 28468:         if ( att ) {
> 28468:             m_attributes[name][id] = att;
> 28468:             att->m_event = this;
> 28468:             if ( id > 0 && id <= int(particles().size()) )
> 28468:                 att->m_particle = particles()[id - 1];
> 28468:             if ( id < 0 && -id <= int(vertices().size()) )
> 28468:                 att->m_vertex = vertices()[-id - 1];
> 28468:         }
> 28468:     }
> 28468: 
> 28468: 
> 28468:     void remove_attribute(const string &name, const int& id = 0);
> 28468: 
> 28468: 
> 28468:     template<class T>
> 28468:     shared_ptr<T> attribute(const string &name, const int& id = 0) const;
> 28468: 
> 28468: 
> 28468:     string attribute_as_string(const string &name, const int& id = 0) const;
> 28468: 
> 28468: 
> 28468:     std::vector<string> attribute_names( const int& id = 0) const;
> 28468: 
> 28468: 
> 28468: 
> 28468:     std::map< string, std::map<int, shared_ptr<Attribute> > > attributes() const {
> 28468:         std::lock_guard<std::recursive_mutex> lock(m_lock_attributes);
> 28468:         return m_attributes;
> 28468:     }
> 28468: # 248 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h"
> 28468:     void add_particle( GenParticlePtr p );
> 28468: 
> 28468: 
> 28468:     void add_vertex( GenVertexPtr v );
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void remove_particle( GenParticlePtr v );
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void remove_particles( std::vector<GenParticlePtr> v );
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void remove_vertex( GenVertexPtr v );
> 28468: # 281 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h"
> 28468:     void add_tree( const std::vector<GenParticlePtr> &particles );
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void reserve(const size_t& particles, const size_t& vertices = 0);
> 28468: 
> 28468: 
> 28468:     void clear();
> 28468: # 298 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h"
> 28468:     void add_particle( GenParticle *p );
> 28468: 
> 28468: 
> 28468: 
> 28468:     void add_vertex ( GenVertex *v );
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void set_beam_particles(GenParticlePtr p1, GenParticlePtr p2);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     void add_beam_particle(GenParticlePtr p1);
> 28468: # 324 "/<<PKGBUILDDIR>>/include/HepMC3/GenEvent.h"
> 28468:     void write_data(GenEventData &data) const;
> 28468: 
> 28468: 
> 28468:     void read_data(const GenEventData &data);
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: private:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     std::vector<GenParticlePtr> m_particles;
> 28468: 
> 28468:     std::vector<GenVertexPtr> m_vertices;
> 28468: 
> 28468: 
> 28468:     int m_event_number;
> 28468: 
> 28468: 
> 28468:     std::vector<double> m_weights;
> 28468: 
> 28468: 
> 28468:     Units::MomentumUnit m_momentum_unit;
> 28468: 
> 28468:     Units::LengthUnit m_length_unit;
> 28468: 
> 28468: 
> 28468:     GenVertexPtr m_rootvertex;
> 28468: 
> 28468: 
> 28468:     shared_ptr<GenRunInfo> m_run_info;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     mutable std::map< string, std::map<int, shared_ptr<Attribute> > > m_attributes;
> 28468: 
> 28468: 
> 28468:     typedef std::map< string, std::map<int, shared_ptr<Attribute> > >::value_type att_key_t;
> 28468: 
> 28468: 
> 28468:     typedef std::map<int, shared_ptr<Attribute> >::value_type att_val_t;
> 28468: 
> 28468: 
> 28468:     mutable std::recursive_mutex m_lock_attributes;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: template<class T>
> 28468: shared_ptr<T> GenEvent::attribute(const std::string &name, const int& id) const {
> 28468:     std::lock_guard<std::recursive_mutex> lock(m_lock_attributes);
> 28468:     std::map< string, std::map<int, shared_ptr<Attribute> > >::iterator i1 =
> 28468:         m_attributes.find(name);
> 28468:     if( i1 == m_attributes.end() ) {
> 28468:         if ( id == 0 && run_info() ) {
> 28468:             return run_info()->attribute<T>(name);
> 28468:         }
> 28468:         return shared_ptr<T>();
> 28468:     }
> 28468: 
> 28468:     std::map<int, shared_ptr<Attribute> >::iterator i2 = i1->second.find(id);
> 28468:     if (i2 == i1->second.end() ) return shared_ptr<T>();
> 28468: 
> 28468:     if (!i2->second->is_parsed() ) {
> 28468: 
> 28468:         shared_ptr<T> att = make_shared<T>();
> 28468:         att->m_event = this;
> 28468: 
> 28468:         if ( id > 0 && id <= int(particles().size()) )
> 28468:             att->m_particle = m_particles[id - 1];
> 28468:         if ( id < 0 && -id <= int(vertices().size()) )
> 28468:             att->m_vertex = m_vertices[-id - 1];
> 28468:         if ( att->from_string(i2->second->unparsed_string()) &&
> 28468:                 att->init() ) {
> 28468: 
> 28468:             i2->second = att;
> 28468:             return att;
> 28468:         } else {
> 28468:             return shared_ptr<T>();
> 28468:         }
> 28468:     }
> 28468:     else return dynamic_pointer_cast<T>(i2->second);
> 28468: }
> 28468: 
> 28468: 
> 28468: }
> 28468: # 156 "/<<PKGBUILDDIR>>/include/HepMC3/GenParticle.h" 2
> 28468: namespace HepMC3 {
> 28468: 
> 28468: template<class T> shared_ptr<T> GenParticle::attribute(const string& name) const {
> 28468:     return parent_event()?
> 28468:            parent_event()->attribute<T>(name, id()): shared_ptr<T>();
> 28468: }
> 28468: }
> 28468: # 14 "/<<PKGBUILDDIR>>/search/include/HepMC3/Filter.h" 2
> 28468: # 1 "/usr/include/c++/9/functional" 1 3
> 28468: # 46 "/usr/include/c++/9/functional" 3
> 28468:        
> 28468: # 47 "/usr/include/c++/9/functional" 3
> 28468: # 59 "/usr/include/c++/9/functional" 3
> 28468: # 1 "/usr/include/c++/9/bits/std_function.h" 1 3
> 28468: # 33 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:        
> 28468: # 34 "/usr/include/c++/9/bits/std_function.h" 3
> 28468: # 47 "/usr/include/c++/9/bits/std_function.h" 3
> 28468: 
> 28468: # 47 "/usr/include/c++/9/bits/std_function.h" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   class bad_function_call : public std::exception
> 28468:   {
> 28468:   public:
> 28468:     virtual ~bad_function_call() noexcept;
> 28468: 
> 28468:     const char* what() const noexcept;
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_location_invariant
> 28468:     : is_trivially_copyable<_Tp>::type
> 28468:     { };
> 28468: 
> 28468:   class _Undefined_class;
> 28468: 
> 28468:   union _Nocopy_types
> 28468:   {
> 28468:     void* _M_object;
> 28468:     const void* _M_const_object;
> 28468:     void (*_M_function_pointer)();
> 28468:     void (_Undefined_class::*_M_member_pointer)();
> 28468:   };
> 28468: 
> 28468:   union [[gnu::may_alias]] _Any_data
> 28468:   {
> 28468:     void* _M_access() { return &_M_pod_data[0]; }
> 28468:     const void* _M_access() const { return &_M_pod_data[0]; }
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       _Tp&
> 28468:       _M_access()
> 28468:       { return *static_cast<_Tp*>(_M_access()); }
> 28468: 
> 28468:     template<typename _Tp>
> 28468:       const _Tp&
> 28468:       _M_access() const
> 28468:       { return *static_cast<const _Tp*>(_M_access()); }
> 28468: 
> 28468:     _Nocopy_types _M_unused;
> 28468:     char _M_pod_data[sizeof(_Nocopy_types)];
> 28468:   };
> 28468: 
> 28468:   enum _Manager_operation
> 28468:   {
> 28468:     __get_type_info,
> 28468:     __get_functor_ptr,
> 28468:     __clone_functor,
> 28468:     __destroy_functor
> 28468:   };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct _Simple_type_wrapper
> 28468:     {
> 28468:       _Simple_type_wrapper(_Tp __value) : __value(__value) { }
> 28468: 
> 28468:       _Tp __value;
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     struct __is_location_invariant<_Simple_type_wrapper<_Tp> >
> 28468:     : __is_location_invariant<_Tp>
> 28468:     { };
> 28468: 
> 28468:   template<typename _Signature>
> 28468:     class function;
> 28468: 
> 28468: 
> 28468:   class _Function_base
> 28468:   {
> 28468:   public:
> 28468:     static const size_t _M_max_size = sizeof(_Nocopy_types);
> 28468:     static const size_t _M_max_align = __alignof__(_Nocopy_types);
> 28468: 
> 28468:     template<typename _Functor>
> 28468:       class _Base_manager
> 28468:       {
> 28468:       protected:
> 28468:  static const bool __stored_locally =
> 28468:  (__is_location_invariant<_Functor>::value
> 28468:   && sizeof(_Functor) <= _M_max_size
> 28468:   && __alignof__(_Functor) <= _M_max_align
> 28468:   && (_M_max_align % __alignof__(_Functor) == 0));
> 28468: 
> 28468:  typedef integral_constant<bool, __stored_locally> _Local_storage;
> 28468: 
> 28468: 
> 28468:  static _Functor*
> 28468:  _M_get_pointer(const _Any_data& __source)
> 28468:  {
> 28468:    if (__stored_locally)
> 28468:      {
> 28468:        const _Functor& __f = __source._M_access<_Functor>();
> 28468:        return const_cast<_Functor*>(std::__addressof(__f));
> 28468:      }
> 28468:    else
> 28468:      return __source._M_access<_Functor*>();
> 28468:  }
> 28468: 
> 28468: 
> 28468: 
> 28468:  static void
> 28468:  _M_clone(_Any_data& __dest, const _Any_data& __source, true_type)
> 28468:  {
> 28468:    ::new (__dest._M_access()) _Functor(__source._M_access<_Functor>());
> 28468:  }
> 28468: 
> 28468: 
> 28468: 
> 28468:  static void
> 28468:  _M_clone(_Any_data& __dest, const _Any_data& __source, false_type)
> 28468:  {
> 28468:    __dest._M_access<_Functor*>() =
> 28468:      new _Functor(*__source._M_access<const _Functor*>());
> 28468:  }
> 28468: 
> 28468: 
> 28468: 
> 28468:  static void
> 28468:  _M_destroy(_Any_data& __victim, true_type)
> 28468:  {
> 28468:    __victim._M_access<_Functor>().~_Functor();
> 28468:  }
> 28468: 
> 28468: 
> 28468:  static void
> 28468:  _M_destroy(_Any_data& __victim, false_type)
> 28468:  {
> 28468:    delete __victim._M_access<_Functor*>();
> 28468:  }
> 28468: 
> 28468:       public:
> 28468:  static bool
> 28468:  _M_manager(_Any_data& __dest, const _Any_data& __source,
> 28468:      _Manager_operation __op)
> 28468:  {
> 28468:    switch (__op)
> 28468:      {
> 28468: 
> 28468:      case __get_type_info:
> 28468:        __dest._M_access<const type_info*>() = &typeid(_Functor);
> 28468:        break;
> 28468: 
> 28468:      case __get_functor_ptr:
> 28468:        __dest._M_access<_Functor*>() = _M_get_pointer(__source);
> 28468:        break;
> 28468: 
> 28468:      case __clone_functor:
> 28468:        _M_clone(__dest, __source, _Local_storage());
> 28468:        break;
> 28468: 
> 28468:      case __destroy_functor:
> 28468:        _M_destroy(__dest, _Local_storage());
> 28468:        break;
> 28468:      }
> 28468:    return false;
> 28468:  }
> 28468: 
> 28468:  static void
> 28468:  _M_init_functor(_Any_data& __functor, _Functor&& __f)
> 28468:  { _M_init_functor(__functor, std::move(__f), _Local_storage()); }
> 28468: 
> 28468:  template<typename _Signature>
> 28468:    static bool
> 28468:    _M_not_empty_function(const function<_Signature>& __f)
> 28468:    { return static_cast<bool>(__f); }
> 28468: 
> 28468:  template<typename _Tp>
> 28468:    static bool
> 28468:    _M_not_empty_function(_Tp* __fp)
> 28468:    { return __fp != nullptr; }
> 28468: 
> 28468:  template<typename _Class, typename _Tp>
> 28468:    static bool
> 28468:    _M_not_empty_function(_Tp _Class::* __mp)
> 28468:    { return __mp != nullptr; }
> 28468: 
> 28468:  template<typename _Tp>
> 28468:    static bool
> 28468:    _M_not_empty_function(const _Tp&)
> 28468:    { return true; }
> 28468: 
> 28468:       private:
> 28468:  static void
> 28468:  _M_init_functor(_Any_data& __functor, _Functor&& __f, true_type)
> 28468:  { ::new (__functor._M_access()) _Functor(std::move(__f)); }
> 28468: 
> 28468:  static void
> 28468:  _M_init_functor(_Any_data& __functor, _Functor&& __f, false_type)
> 28468:  { __functor._M_access<_Functor*>() = new _Functor(std::move(__f)); }
> 28468:       };
> 28468: 
> 28468:     _Function_base() : _M_manager(nullptr) { }
> 28468: 
> 28468:     ~_Function_base()
> 28468:     {
> 28468:       if (_M_manager)
> 28468:  _M_manager(_M_functor, _M_functor, __destroy_functor);
> 28468:     }
> 28468: 
> 28468:     bool _M_empty() const { return !_M_manager; }
> 28468: 
> 28468:     typedef bool (*_Manager_type)(_Any_data&, const _Any_data&,
> 28468:       _Manager_operation);
> 28468: 
> 28468:     _Any_data _M_functor;
> 28468:     _Manager_type _M_manager;
> 28468:   };
> 28468: 
> 28468:   template<typename _Signature, typename _Functor>
> 28468:     class _Function_handler;
> 28468: 
> 28468:   template<typename _Res, typename _Functor, typename... _ArgTypes>
> 28468:     class _Function_handler<_Res(_ArgTypes...), _Functor>
> 28468:     : public _Function_base::_Base_manager<_Functor>
> 28468:     {
> 28468:       typedef _Function_base::_Base_manager<_Functor> _Base;
> 28468: 
> 28468:     public:
> 28468:       static _Res
> 28468:       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
> 28468:       {
> 28468:  return (*_Base::_M_get_pointer(__functor))(
> 28468:      std::forward<_ArgTypes>(__args)...);
> 28468:       }
> 28468:     };
> 28468: 
> 28468:   template<typename _Functor, typename... _ArgTypes>
> 28468:     class _Function_handler<void(_ArgTypes...), _Functor>
> 28468:     : public _Function_base::_Base_manager<_Functor>
> 28468:     {
> 28468:       typedef _Function_base::_Base_manager<_Functor> _Base;
> 28468: 
> 28468:      public:
> 28468:       static void
> 28468:       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
> 28468:       {
> 28468:  (*_Base::_M_get_pointer(__functor))(
> 28468:      std::forward<_ArgTypes>(__args)...);
> 28468:       }
> 28468:     };
> 28468: 
> 28468:   template<typename _Class, typename _Member, typename _Res,
> 28468:     typename... _ArgTypes>
> 28468:     class _Function_handler<_Res(_ArgTypes...), _Member _Class::*>
> 28468:     : public _Function_handler<void(_ArgTypes...), _Member _Class::*>
> 28468:     {
> 28468:       typedef _Function_handler<void(_ArgTypes...), _Member _Class::*>
> 28468:  _Base;
> 28468: 
> 28468:      public:
> 28468:       static _Res
> 28468:       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
> 28468:       {
> 28468:  return std::__invoke(_Base::_M_get_pointer(__functor)->__value,
> 28468:         std::forward<_ArgTypes>(__args)...);
> 28468:       }
> 28468:     };
> 28468: 
> 28468:   template<typename _Class, typename _Member, typename... _ArgTypes>
> 28468:     class _Function_handler<void(_ArgTypes...), _Member _Class::*>
> 28468:     : public _Function_base::_Base_manager<
> 28468:    _Simple_type_wrapper< _Member _Class::* > >
> 28468:     {
> 28468:       typedef _Member _Class::* _Functor;
> 28468:       typedef _Simple_type_wrapper<_Functor> _Wrapper;
> 28468:       typedef _Function_base::_Base_manager<_Wrapper> _Base;
> 28468: 
> 28468:     public:
> 28468:       static bool
> 28468:       _M_manager(_Any_data& __dest, const _Any_data& __source,
> 28468:    _Manager_operation __op)
> 28468:       {
> 28468:  switch (__op)
> 28468:    {
> 28468: 
> 28468:    case __get_type_info:
> 28468:      __dest._M_access<const type_info*>() = &typeid(_Functor);
> 28468:      break;
> 28468: 
> 28468:    case __get_functor_ptr:
> 28468:      __dest._M_access<_Functor*>() =
> 28468:        &_Base::_M_get_pointer(__source)->__value;
> 28468:      break;
> 28468: 
> 28468:    default:
> 28468:      _Base::_M_manager(__dest, __source, __op);
> 28468:    }
> 28468:  return false;
> 28468:       }
> 28468: 
> 28468:       static void
> 28468:       _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args)
> 28468:       {
> 28468:  std::__invoke(_Base::_M_get_pointer(__functor)->__value,
> 28468:         std::forward<_ArgTypes>(__args)...);
> 28468:       }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes>
> 28468:     class function<_Res(_ArgTypes...)>
> 28468:     : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>,
> 28468:       private _Function_base
> 28468:     {
> 28468:       template<typename _Func,
> 28468:         typename _Res2 = __invoke_result<_Func&, _ArgTypes...>>
> 28468:  struct _Callable
> 28468:  : __is_invocable_impl<_Res2, _Res>::type
> 28468:  { };
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _Tp>
> 28468:  struct _Callable<function, _Tp> : false_type { };
> 28468: 
> 28468:       template<typename _Cond, typename _Tp>
> 28468:  using _Requires = typename enable_if<_Cond::value, _Tp>::type;
> 28468: 
> 28468:     public:
> 28468:       typedef _Res result_type;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       function() noexcept
> 28468:       : _Function_base() { }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       function(nullptr_t) noexcept
> 28468:       : _Function_base() { }
> 28468: # 414 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       function(const function& __x);
> 28468: # 423 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       function(function&& __x) noexcept : _Function_base()
> 28468:       {
> 28468:  __x.swap(*this);
> 28468:       }
> 28468: # 444 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       template<typename _Functor,
> 28468:         typename = _Requires<__not_<is_same<_Functor, function>>, void>,
> 28468:         typename = _Requires<_Callable<_Functor>, void>>
> 28468:  function(_Functor);
> 28468: # 461 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       function&
> 28468:       operator=(const function& __x)
> 28468:       {
> 28468:  function(__x).swap(*this);
> 28468:  return *this;
> 28468:       }
> 28468: # 479 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       function&
> 28468:       operator=(function&& __x) noexcept
> 28468:       {
> 28468:  function(std::move(__x)).swap(*this);
> 28468:  return *this;
> 28468:       }
> 28468: # 493 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       function&
> 28468:       operator=(nullptr_t) noexcept
> 28468:       {
> 28468:  if (_M_manager)
> 28468:    {
> 28468:      _M_manager(_M_functor, _M_functor, __destroy_functor);
> 28468:      _M_manager = nullptr;
> 28468:      _M_invoker = nullptr;
> 28468:    }
> 28468:  return *this;
> 28468:       }
> 28468: # 521 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       template<typename _Functor>
> 28468:  _Requires<_Callable<typename decay<_Functor>::type>, function&>
> 28468:  operator=(_Functor&& __f)
> 28468:  {
> 28468:    function(std::forward<_Functor>(__f)).swap(*this);
> 28468:    return *this;
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Functor>
> 28468:  function&
> 28468:  operator=(reference_wrapper<_Functor> __f) noexcept
> 28468:  {
> 28468:    function(__f).swap(*this);
> 28468:    return *this;
> 28468:  }
> 28468: # 547 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       void swap(function& __x) noexcept
> 28468:       {
> 28468:  std::swap(_M_functor, __x._M_functor);
> 28468:  std::swap(_M_manager, __x._M_manager);
> 28468:  std::swap(_M_invoker, __x._M_invoker);
> 28468:       }
> 28468: # 564 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       explicit operator bool() const noexcept
> 28468:       { return !_M_empty(); }
> 28468: # 577 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       _Res operator()(_ArgTypes... __args) const;
> 28468: # 590 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       const type_info& target_type() const noexcept;
> 28468: # 603 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:       template<typename _Functor> _Functor* target() noexcept;
> 28468: 
> 28468:       template<typename _Functor> const _Functor* target() const noexcept;
> 28468: 
> 28468: 
> 28468: 
> 28468:     private:
> 28468:       using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...);
> 28468:       _Invoker_type _M_invoker;
> 28468:   };
> 28468: # 652 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:   template<typename _Res, typename... _ArgTypes>
> 28468:     function<_Res(_ArgTypes...)>::
> 28468:     function(const function& __x)
> 28468:     : _Function_base()
> 28468:     {
> 28468:       if (static_cast<bool>(__x))
> 28468:  {
> 28468:    __x._M_manager(_M_functor, __x._M_functor, __clone_functor);
> 28468:    _M_invoker = __x._M_invoker;
> 28468:    _M_manager = __x._M_manager;
> 28468:  }
> 28468:     }
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes>
> 28468:     template<typename _Functor, typename, typename>
> 28468:       function<_Res(_ArgTypes...)>::
> 28468:       function(_Functor __f)
> 28468:       : _Function_base()
> 28468:       {
> 28468:  typedef _Function_handler<_Res(_ArgTypes...), _Functor> _My_handler;
> 28468: 
> 28468:  if (_My_handler::_M_not_empty_function(__f))
> 28468:    {
> 28468:      _My_handler::_M_init_functor(_M_functor, std::move(__f));
> 28468:      _M_invoker = &_My_handler::_M_invoke;
> 28468:      _M_manager = &_My_handler::_M_manager;
> 28468:    }
> 28468:       }
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes>
> 28468:     _Res
> 28468:     function<_Res(_ArgTypes...)>::
> 28468:     operator()(_ArgTypes... __args) const
> 28468:     {
> 28468:       if (_M_empty())
> 28468:  __throw_bad_function_call();
> 28468:       return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...);
> 28468:     }
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes>
> 28468:     const type_info&
> 28468:     function<_Res(_ArgTypes...)>::
> 28468:     target_type() const noexcept
> 28468:     {
> 28468:       if (_M_manager)
> 28468:  {
> 28468:    _Any_data __typeinfo_result;
> 28468:    _M_manager(__typeinfo_result, _M_functor, __get_type_info);
> 28468:    return *__typeinfo_result._M_access<const type_info*>();
> 28468:  }
> 28468:       else
> 28468:  return typeid(void);
> 28468:     }
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes>
> 28468:     template<typename _Functor>
> 28468:       _Functor*
> 28468:       function<_Res(_ArgTypes...)>::
> 28468:       target() noexcept
> 28468:       {
> 28468:  const function* __const_this = this;
> 28468:  const _Functor* __func = __const_this->template target<_Functor>();
> 28468:  return const_cast<_Functor*>(__func);
> 28468:       }
> 28468: 
> 28468:   template<typename _Res, typename... _ArgTypes>
> 28468:     template<typename _Functor>
> 28468:       const _Functor*
> 28468:       function<_Res(_ArgTypes...)>::
> 28468:       target() const noexcept
> 28468:       {
> 28468:  if (typeid(_Functor) == target_type() && _M_manager)
> 28468:    {
> 28468:      _Any_data __ptr;
> 28468:      _M_manager(__ptr, _M_functor, __get_functor_ptr);
> 28468:      return __ptr._M_access<const _Functor*>();
> 28468:    }
> 28468:  else
> 28468:    return nullptr;
> 28468:       }
> 28468: # 744 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:   template<typename _Res, typename... _Args>
> 28468:     inline bool
> 28468:     operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
> 28468:     { return !static_cast<bool>(__f); }
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename... _Args>
> 28468:     inline bool
> 28468:     operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
> 28468:     { return !static_cast<bool>(__f); }
> 28468: # 762 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:   template<typename _Res, typename... _Args>
> 28468:     inline bool
> 28468:     operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept
> 28468:     { return static_cast<bool>(__f); }
> 28468: 
> 28468: 
> 28468:   template<typename _Res, typename... _Args>
> 28468:     inline bool
> 28468:     operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept
> 28468:     { return static_cast<bool>(__f); }
> 28468: # 783 "/usr/include/c++/9/bits/std_function.h" 3
> 28468:   template<typename _Res, typename... _Args>
> 28468:     inline void
> 28468:     swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept
> 28468:     { __x.swap(__y); }
> 28468: # 802 "/usr/include/c++/9/bits/std_function.h" 3
> 28468: 
> 28468: }
> 28468: # 60 "/usr/include/c++/9/functional" 2 3
> 28468: # 68 "/usr/include/c++/9/functional" 3
> 28468: namespace std __attribute__ ((__visibility__ ("default")))
> 28468: {
> 28468: 
> 28468: # 86 "/usr/include/c++/9/functional" 3
> 28468:   template<typename _MemFunPtr,
> 28468:     bool __is_mem_fn = is_member_function_pointer<_MemFunPtr>::value>
> 28468:     class _Mem_fn_base
> 28468:     : public _Mem_fn_traits<_MemFunPtr>::__maybe_type
> 28468:     {
> 28468:       using _Traits = _Mem_fn_traits<_MemFunPtr>;
> 28468: 
> 28468:       using _Arity = typename _Traits::__arity;
> 28468:       using _Varargs = typename _Traits::__vararg;
> 28468: 
> 28468:       template<typename _Func, typename... _BoundArgs>
> 28468:  friend struct _Bind_check_arity;
> 28468: 
> 28468:       _MemFunPtr _M_pmf;
> 28468: 
> 28468:     public:
> 28468: 
> 28468:       using result_type = typename _Traits::__result_type;
> 28468: 
> 28468:       explicit constexpr
> 28468:       _Mem_fn_base(_MemFunPtr __pmf) noexcept : _M_pmf(__pmf) { }
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  auto
> 28468:  operator()(_Args&&... __args) const
> 28468:  noexcept(noexcept(
> 28468:        std::__invoke(_M_pmf, std::forward<_Args>(__args)...)))
> 28468:  -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...))
> 28468:  { return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _MemObjPtr>
> 28468:     class _Mem_fn_base<_MemObjPtr, false>
> 28468:     {
> 28468:       using _Arity = integral_constant<size_t, 0>;
> 28468:       using _Varargs = false_type;
> 28468: 
> 28468:       template<typename _Func, typename... _BoundArgs>
> 28468:  friend struct _Bind_check_arity;
> 28468: 
> 28468:       _MemObjPtr _M_pm;
> 28468: 
> 28468:     public:
> 28468:       explicit constexpr
> 28468:       _Mem_fn_base(_MemObjPtr __pm) noexcept : _M_pm(__pm) { }
> 28468: 
> 28468:       template<typename _Tp>
> 28468:  auto
> 28468:  operator()(_Tp&& __obj) const
> 28468:  noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj))))
> 28468:  -> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))
> 28468:  { return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); }
> 28468:     };
> 28468: 
> 28468:   template<typename _MemberPointer>
> 28468:     struct _Mem_fn;
> 28468: 
> 28468:   template<typename _Res, typename _Class>
> 28468:     struct _Mem_fn<_Res _Class::*>
> 28468:     : _Mem_fn_base<_Res _Class::*>
> 28468:     {
> 28468:       using _Mem_fn_base<_Res _Class::*>::_Mem_fn_base;
> 28468:     };
> 28468: # 158 "/usr/include/c++/9/functional" 3
> 28468:   template<typename _Tp, typename _Class>
> 28468:     inline _Mem_fn<_Tp _Class::*>
> 28468:     mem_fn(_Tp _Class::* __pm) noexcept
> 28468:     {
> 28468:       return _Mem_fn<_Tp _Class::*>(__pm);
> 28468:     }
> 28468: # 173 "/usr/include/c++/9/functional" 3
> 28468:   template<typename _Tp>
> 28468:     struct is_bind_expression
> 28468:     : public false_type { };
> 28468: # 184 "/usr/include/c++/9/functional" 3
> 28468:   template<typename _Tp>
> 28468:     struct is_placeholder
> 28468:     : public integral_constant<int, 0>
> 28468:     { };
> 28468: # 199 "/usr/include/c++/9/functional" 3
> 28468:   template<int _Num> struct _Placeholder { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   namespace placeholders
> 28468:   {
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     extern const _Placeholder<1> _1;
> 28468:     extern const _Placeholder<2> _2;
> 28468:     extern const _Placeholder<3> _3;
> 28468:     extern const _Placeholder<4> _4;
> 28468:     extern const _Placeholder<5> _5;
> 28468:     extern const _Placeholder<6> _6;
> 28468:     extern const _Placeholder<7> _7;
> 28468:     extern const _Placeholder<8> _8;
> 28468:     extern const _Placeholder<9> _9;
> 28468:     extern const _Placeholder<10> _10;
> 28468:     extern const _Placeholder<11> _11;
> 28468:     extern const _Placeholder<12> _12;
> 28468:     extern const _Placeholder<13> _13;
> 28468:     extern const _Placeholder<14> _14;
> 28468:     extern const _Placeholder<15> _15;
> 28468:     extern const _Placeholder<16> _16;
> 28468:     extern const _Placeholder<17> _17;
> 28468:     extern const _Placeholder<18> _18;
> 28468:     extern const _Placeholder<19> _19;
> 28468:     extern const _Placeholder<20> _20;
> 28468:     extern const _Placeholder<21> _21;
> 28468:     extern const _Placeholder<22> _22;
> 28468:     extern const _Placeholder<23> _23;
> 28468:     extern const _Placeholder<24> _24;
> 28468:     extern const _Placeholder<25> _25;
> 28468:     extern const _Placeholder<26> _26;
> 28468:     extern const _Placeholder<27> _27;
> 28468:     extern const _Placeholder<28> _28;
> 28468:     extern const _Placeholder<29> _29;
> 28468:   }
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<int _Num>
> 28468:     struct is_placeholder<_Placeholder<_Num> >
> 28468:     : public integral_constant<int, _Num>
> 28468:     { };
> 28468: 
> 28468:   template<int _Num>
> 28468:     struct is_placeholder<const _Placeholder<_Num> >
> 28468:     : public integral_constant<int, _Num>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<std::size_t __i, typename _Tuple>
> 28468:     using _Safe_tuple_element_t
> 28468:       = typename enable_if<(__i < tuple_size<_Tuple>::value),
> 28468:       tuple_element<__i, _Tuple>>::type::type;
> 28468: # 275 "/usr/include/c++/9/functional" 3
> 28468:   template<typename _Arg,
> 28468:     bool _IsBindExp = is_bind_expression<_Arg>::value,
> 28468:     bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)>
> 28468:     class _Mu;
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp>
> 28468:     class _Mu<reference_wrapper<_Tp>, false, false>
> 28468:     {
> 28468:     public:
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:       template<typename _CVRef, typename _Tuple>
> 28468:  _Tp&
> 28468:  operator()(_CVRef& __arg, _Tuple&) const volatile
> 28468:  { return __arg.get(); }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Arg>
> 28468:     class _Mu<_Arg, true, false>
> 28468:     {
> 28468:     public:
> 28468:       template<typename _CVArg, typename... _Args>
> 28468:  auto
> 28468:  operator()(_CVArg& __arg,
> 28468:      tuple<_Args...>& __tuple) const volatile
> 28468:  -> decltype(__arg(declval<_Args>()...))
> 28468:  {
> 28468: 
> 28468:    typedef typename _Build_index_tuple<sizeof...(_Args)>::__type
> 28468:      _Indexes;
> 28468:    return this->__call(__arg, __tuple, _Indexes());
> 28468:  }
> 28468: 
> 28468:     private:
> 28468: 
> 28468: 
> 28468:       template<typename _CVArg, typename... _Args, std::size_t... _Indexes>
> 28468:  auto
> 28468:  __call(_CVArg& __arg, tuple<_Args...>& __tuple,
> 28468:         const _Index_tuple<_Indexes...>&) const volatile
> 28468:  -> decltype(__arg(declval<_Args>()...))
> 28468:  {
> 28468:    return __arg(std::get<_Indexes>(std::move(__tuple))...);
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Arg>
> 28468:     class _Mu<_Arg, false, true>
> 28468:     {
> 28468:     public:
> 28468:       template<typename _Tuple>
> 28468:  _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&&
> 28468:  operator()(const volatile _Arg&, _Tuple& __tuple) const volatile
> 28468:  {
> 28468:    return
> 28468:      ::std::get<(is_placeholder<_Arg>::value - 1)>(std::move(__tuple));
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Arg>
> 28468:     class _Mu<_Arg, false, false>
> 28468:     {
> 28468:     public:
> 28468:       template<typename _CVArg, typename _Tuple>
> 28468:  _CVArg&&
> 28468:  operator()(_CVArg&& __arg, _Tuple&) const volatile
> 28468:  { return std::forward<_CVArg>(__arg); }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<std::size_t _Ind, typename... _Tp>
> 28468:     inline auto
> 28468:     __volget(volatile tuple<_Tp...>& __tuple)
> 28468:     -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile&
> 28468:     { return std::get<_Ind>(const_cast<tuple<_Tp...>&>(__tuple)); }
> 28468: 
> 28468: 
> 28468:   template<std::size_t _Ind, typename... _Tp>
> 28468:     inline auto
> 28468:     __volget(const volatile tuple<_Tp...>& __tuple)
> 28468:     -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile&
> 28468:     { return std::get<_Ind>(const_cast<const tuple<_Tp...>&>(__tuple)); }
> 28468: 
> 28468: 
> 28468:   template<typename _Signature>
> 28468:     struct _Bind;
> 28468: 
> 28468:    template<typename _Functor, typename... _Bound_args>
> 28468:     class _Bind<_Functor(_Bound_args...)>
> 28468:     : public _Weak_result_type<_Functor>
> 28468:     {
> 28468:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
> 28468:  _Bound_indexes;
> 28468: 
> 28468:       _Functor _M_f;
> 28468:       tuple<_Bound_args...> _M_bound_args;
> 28468: 
> 28468: 
> 28468:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
> 28468:  _Result
> 28468:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
> 28468:  {
> 28468:    return std::__invoke(_M_f,
> 28468:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
> 28468:        );
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
> 28468:  _Result
> 28468:  __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
> 28468:  {
> 28468:    return std::__invoke(_M_f,
> 28468:        _Mu<_Bound_args>()(std::get<_Indexes>(_M_bound_args), __args)...
> 28468:        );
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
> 28468:  _Result
> 28468:  __call_v(tuple<_Args...>&& __args,
> 28468:    _Index_tuple<_Indexes...>) volatile
> 28468:  {
> 28468:    return std::__invoke(_M_f,
> 28468:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
> 28468:        );
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Result, typename... _Args, std::size_t... _Indexes>
> 28468:  _Result
> 28468:  __call_c_v(tuple<_Args...>&& __args,
> 28468:      _Index_tuple<_Indexes...>) const volatile
> 28468:  {
> 28468:    return std::__invoke(_M_f,
> 28468:        _Mu<_Bound_args>()(__volget<_Indexes>(_M_bound_args), __args)...
> 28468:        );
> 28468:  }
> 28468: 
> 28468:       template<typename _BoundArg, typename _CallArgs>
> 28468:  using _Mu_type = decltype(
> 28468:      _Mu<typename remove_cv<_BoundArg>::type>()(
> 28468:        std::declval<_BoundArg&>(), std::declval<_CallArgs&>()) );
> 28468: 
> 28468:       template<typename _Fn, typename _CallArgs, typename... _BArgs>
> 28468:  using _Res_type_impl
> 28468:    = typename result_of< _Fn&(_Mu_type<_BArgs, _CallArgs>&&...) >::type;
> 28468: 
> 28468:       template<typename _CallArgs>
> 28468:  using _Res_type = _Res_type_impl<_Functor, _CallArgs, _Bound_args...>;
> 28468: 
> 28468:       template<typename _CallArgs>
> 28468:  using __dependent = typename
> 28468:    enable_if<bool(tuple_size<_CallArgs>::value+1), _Functor>::type;
> 28468: 
> 28468:       template<typename _CallArgs, template<class> class __cv_quals>
> 28468:  using _Res_type_cv = _Res_type_impl<
> 28468:    typename __cv_quals<__dependent<_CallArgs>>::type,
> 28468:    _CallArgs,
> 28468:    typename __cv_quals<_Bound_args>::type...>;
> 28468: 
> 28468:      public:
> 28468:       template<typename... _Args>
> 28468:  explicit _Bind(const _Functor& __f, _Args&&... __args)
> 28468:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
> 28468:  { }
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  explicit _Bind(_Functor&& __f, _Args&&... __args)
> 28468:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
> 28468:  { }
> 28468: 
> 28468:       _Bind(const _Bind&) = default;
> 28468: 
> 28468:       _Bind(_Bind&& __b)
> 28468:       : _M_f(std::move(__b._M_f)), _M_bound_args(std::move(__b._M_bound_args))
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       template<typename... _Args,
> 28468:         typename _Result = _Res_type<tuple<_Args...>>>
> 28468:  _Result
> 28468:  operator()(_Args&&... __args)
> 28468:  {
> 28468:    return this->__call<_Result>(
> 28468:        std::forward_as_tuple(std::forward<_Args>(__args)...),
> 28468:        _Bound_indexes());
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename... _Args,
> 28468:         typename _Result = _Res_type_cv<tuple<_Args...>, add_const>>
> 28468:  _Result
> 28468:  operator()(_Args&&... __args) const
> 28468:  {
> 28468:    return this->__call_c<_Result>(
> 28468:        std::forward_as_tuple(std::forward<_Args>(__args)...),
> 28468:        _Bound_indexes());
> 28468:  }
> 28468: # 505 "/usr/include/c++/9/functional" 3
> 28468:       template<typename... _Args,
> 28468:         typename _Result = _Res_type_cv<tuple<_Args...>, add_volatile>>
> 28468: 
> 28468:  _Result
> 28468:  operator()(_Args&&... __args) volatile
> 28468:  {
> 28468:    return this->__call_v<_Result>(
> 28468:        std::forward_as_tuple(std::forward<_Args>(__args)...),
> 28468:        _Bound_indexes());
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename... _Args,
> 28468:         typename _Result = _Res_type_cv<tuple<_Args...>, add_cv>>
> 28468: 
> 28468:  _Result
> 28468:  operator()(_Args&&... __args) const volatile
> 28468:  {
> 28468:    return this->__call_c_v<_Result>(
> 28468:        std::forward_as_tuple(std::forward<_Args>(__args)...),
> 28468:        _Bound_indexes());
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468:   template<typename _Result, typename _Signature>
> 28468:     struct _Bind_result;
> 28468: 
> 28468:   template<typename _Result, typename _Functor, typename... _Bound_args>
> 28468:     class _Bind_result<_Result, _Functor(_Bound_args...)>
> 28468:     {
> 28468:       typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type
> 28468:  _Bound_indexes;
> 28468: 
> 28468:       _Functor _M_f;
> 28468:       tuple<_Bound_args...> _M_bound_args;
> 28468: 
> 28468: 
> 28468:       template<typename _Res>
> 28468:  using __enable_if_void
> 28468:    = typename enable_if<is_void<_Res>{}>::type;
> 28468: 
> 28468:       template<typename _Res>
> 28468:  using __disable_if_void
> 28468:    = typename enable_if<!is_void<_Res>{}, _Result>::type;
> 28468: 
> 28468: 
> 28468:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
> 28468:  __disable_if_void<_Res>
> 28468:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
> 28468:  {
> 28468:    return std::__invoke(_M_f, _Mu<_Bound_args>()
> 28468:         (std::get<_Indexes>(_M_bound_args), __args)...);
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
> 28468:  __enable_if_void<_Res>
> 28468:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>)
> 28468:  {
> 28468:    std::__invoke(_M_f, _Mu<_Bound_args>()
> 28468:         (std::get<_Indexes>(_M_bound_args), __args)...);
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
> 28468:  __disable_if_void<_Res>
> 28468:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
> 28468:  {
> 28468:    return std::__invoke(_M_f, _Mu<_Bound_args>()
> 28468:         (std::get<_Indexes>(_M_bound_args), __args)...);
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
> 28468:  __enable_if_void<_Res>
> 28468:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const
> 28468:  {
> 28468:    std::__invoke(_M_f, _Mu<_Bound_args>()
> 28468:         (std::get<_Indexes>(_M_bound_args), __args)...);
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
> 28468:  __disable_if_void<_Res>
> 28468:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
> 28468:  {
> 28468:    return std::__invoke(_M_f, _Mu<_Bound_args>()
> 28468:         (__volget<_Indexes>(_M_bound_args), __args)...);
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
> 28468:  __enable_if_void<_Res>
> 28468:  __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) volatile
> 28468:  {
> 28468:    std::__invoke(_M_f, _Mu<_Bound_args>()
> 28468:         (__volget<_Indexes>(_M_bound_args), __args)...);
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
> 28468:  __disable_if_void<_Res>
> 28468:  __call(tuple<_Args...>&& __args,
> 28468:         _Index_tuple<_Indexes...>) const volatile
> 28468:  {
> 28468:    return std::__invoke(_M_f, _Mu<_Bound_args>()
> 28468:         (__volget<_Indexes>(_M_bound_args), __args)...);
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename _Res, typename... _Args, std::size_t... _Indexes>
> 28468:  __enable_if_void<_Res>
> 28468:  __call(tuple<_Args...>&& __args,
> 28468:         _Index_tuple<_Indexes...>) const volatile
> 28468:  {
> 28468:    std::__invoke(_M_f, _Mu<_Bound_args>()
> 28468:         (__volget<_Indexes>(_M_bound_args), __args)...);
> 28468:  }
> 28468: 
> 28468:     public:
> 28468:       typedef _Result result_type;
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  explicit _Bind_result(const _Functor& __f, _Args&&... __args)
> 28468:  : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...)
> 28468:  { }
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  explicit _Bind_result(_Functor&& __f, _Args&&... __args)
> 28468:  : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...)
> 28468:  { }
> 28468: 
> 28468:       _Bind_result(const _Bind_result&) = default;
> 28468: 
> 28468:       _Bind_result(_Bind_result&& __b)
> 28468:       : _M_f(std::move(__b._M_f)), _M_bound_args(std::move(__b._M_bound_args))
> 28468:       { }
> 28468: 
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  result_type
> 28468:  operator()(_Args&&... __args)
> 28468:  {
> 28468:    return this->__call<_Result>(
> 28468:        std::forward_as_tuple(std::forward<_Args>(__args)...),
> 28468:        _Bound_indexes());
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename... _Args>
> 28468:  result_type
> 28468:  operator()(_Args&&... __args) const
> 28468:  {
> 28468:    return this->__call<_Result>(
> 28468:        std::forward_as_tuple(std::forward<_Args>(__args)...),
> 28468:        _Bound_indexes());
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename... _Args>
> 28468: 
> 28468:  result_type
> 28468:  operator()(_Args&&... __args) volatile
> 28468:  {
> 28468:    return this->__call<_Result>(
> 28468:        std::forward_as_tuple(std::forward<_Args>(__args)...),
> 28468:        _Bound_indexes());
> 28468:  }
> 28468: 
> 28468: 
> 28468:       template<typename... _Args>
> 28468: 
> 28468:  result_type
> 28468:  operator()(_Args&&... __args) const volatile
> 28468:  {
> 28468:    return this->__call<_Result>(
> 28468:        std::forward_as_tuple(std::forward<_Args>(__args)...),
> 28468:        _Bound_indexes());
> 28468:  }
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Signature>
> 28468:     struct is_bind_expression<_Bind<_Signature> >
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Signature>
> 28468:     struct is_bind_expression<const _Bind<_Signature> >
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Signature>
> 28468:     struct is_bind_expression<volatile _Bind<_Signature> >
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Signature>
> 28468:     struct is_bind_expression<const volatile _Bind<_Signature>>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Result, typename _Signature>
> 28468:     struct is_bind_expression<_Bind_result<_Result, _Signature>>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Result, typename _Signature>
> 28468:     struct is_bind_expression<const _Bind_result<_Result, _Signature>>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Result, typename _Signature>
> 28468:     struct is_bind_expression<volatile _Bind_result<_Result, _Signature>>
> 28468:     : public true_type { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Result, typename _Signature>
> 28468:     struct is_bind_expression<const volatile _Bind_result<_Result, _Signature>>
> 28468:     : public true_type { };
> 28468: 
> 28468:   template<typename _Func, typename... _BoundArgs>
> 28468:     struct _Bind_check_arity { };
> 28468: 
> 28468:   template<typename _Ret, typename... _Args, typename... _BoundArgs>
> 28468:     struct _Bind_check_arity<_Ret (*)(_Args...), _BoundArgs...>
> 28468:     {
> 28468:       static_assert(sizeof...(_BoundArgs) == sizeof...(_Args),
> 28468:                    "Wrong number of arguments for function");
> 28468:     };
> 28468: 
> 28468:   template<typename _Ret, typename... _Args, typename... _BoundArgs>
> 28468:     struct _Bind_check_arity<_Ret (*)(_Args......), _BoundArgs...>
> 28468:     {
> 28468:       static_assert(sizeof...(_BoundArgs) >= sizeof...(_Args),
> 28468:                    "Wrong number of arguments for function");
> 28468:     };
> 28468: 
> 28468:   template<typename _Tp, typename _Class, typename... _BoundArgs>
> 28468:     struct _Bind_check_arity<_Tp _Class::*, _BoundArgs...>
> 28468:     {
> 28468:       using _Arity = typename _Mem_fn<_Tp _Class::*>::_Arity;
> 28468:       using _Varargs = typename _Mem_fn<_Tp _Class::*>::_Varargs;
> 28468:       static_assert(_Varargs::value
> 28468:       ? sizeof...(_BoundArgs) >= _Arity::value + 1
> 28468:       : sizeof...(_BoundArgs) == _Arity::value + 1,
> 28468:       "Wrong number of arguments for pointer-to-member");
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Tp, typename _Tp2 = typename decay<_Tp>::type>
> 28468:     using __is_socketlike = __or_<is_integral<_Tp2>, is_enum<_Tp2>>;
> 28468: 
> 28468:   template<bool _SocketLike, typename _Func, typename... _BoundArgs>
> 28468:     struct _Bind_helper
> 28468:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
> 28468:     {
> 28468:       typedef typename decay<_Func>::type __func_type;
> 28468:       typedef _Bind<__func_type(typename decay<_BoundArgs>::type...)> type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Func, typename... _BoundArgs>
> 28468:     struct _Bind_helper<true, _Func, _BoundArgs...>
> 28468:     { };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Func, typename... _BoundArgs>
> 28468:     inline typename
> 28468:     _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type
> 28468:     bind(_Func&& __f, _BoundArgs&&... __args)
> 28468:     {
> 28468:       typedef _Bind_helper<false, _Func, _BoundArgs...> __helper_type;
> 28468:       return typename __helper_type::type(std::forward<_Func>(__f),
> 28468:        std::forward<_BoundArgs>(__args)...);
> 28468:     }
> 28468: 
> 28468:   template<typename _Result, typename _Func, typename... _BoundArgs>
> 28468:     struct _Bindres_helper
> 28468:     : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...>
> 28468:     {
> 28468:       typedef typename decay<_Func>::type __functor_type;
> 28468:       typedef _Bind_result<_Result,
> 28468:       __functor_type(typename decay<_BoundArgs>::type...)>
> 28468:  type;
> 28468:     };
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:   template<typename _Result, typename _Func, typename... _BoundArgs>
> 28468:     inline
> 28468:     typename _Bindres_helper<_Result, _Func, _BoundArgs...>::type
> 28468:     bind(_Func&& __f, _BoundArgs&&... __args)
> 28468:     {
> 28468:       typedef _Bindres_helper<_Result, _Func, _BoundArgs...> __helper_type;
> 28468:       return typename __helper_type::type(std::forward<_Func>(__f),
> 28468:        std::forward<_BoundArgs>(__args)...);
> 28468:     }
> 28468: # 1293 "/usr/include/c++/9/functional" 3
> 28468: 
> 28468: }
> 28468: # 15 "/<<PKGBUILDDIR>>/search/include/HepMC3/Filter.h" 2
> 28468: 
> 28468: # 15 "/<<PKGBUILDDIR>>/search/include/HepMC3/Filter.h"
> 28468: namespace HepMC3 {
> 28468: 
> 28468: using Filter = std::function<bool(ConstGenParticlePtr)>;
> 28468: 
> 28468: 
> 28468: 
> 28468: inline vector<GenParticlePtr> applyFilter(const Filter &filter, const vector<GenParticlePtr> &particles) {
> 28468:     vector<GenParticlePtr> result;
> 28468:     for(GenParticlePtr p: particles) {
> 28468:         if(filter(p)) result.push_back(p);
> 28468:     }
> 28468:     return result;
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: inline vector<ConstGenParticlePtr> applyFilter(const Filter &filter, const vector<ConstGenParticlePtr> &particles) {
> 28468:     vector<ConstGenParticlePtr> result;
> 28468:     for(ConstGenParticlePtr p: particles) {
> 28468:         if(filter(p)) result.push_back(p);
> 28468:     }
> 28468:     return result;
> 28468: }
> 28468: 
> 28468: 
> 28468: 
> 28468: inline bool ACCEPT_ALL(ConstGenParticlePtr dummy) {
> 28468:     return true;
> 28468: }
> 28468: 
> 28468: 
> 28468: inline Filter operator && (const Filter & lhs, const Filter &rhs) {
> 28468:     return [lhs, rhs](ConstGenParticlePtr p)->bool{return lhs(p) && rhs(p); };
> 28468: }
> 28468: 
> 28468: 
> 28468: inline Filter operator || (const Filter & lhs, const Filter &rhs) {
> 28468:     return [lhs, rhs](ConstGenParticlePtr p)->bool{return lhs(p) || rhs(p); };
> 28468: }
> 28468: 
> 28468: 
> 28468: inline Filter operator !(const Filter &rhs) {
> 28468:     return [rhs](ConstGenParticlePtr p)->bool{return ! (rhs(p));};
> 28468: }
> 28468: 
> 28468: }
> 28468: # 14 "/<<PKGBUILDDIR>>/search/include/HepMC3/Selector.h" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/search/include/HepMC3/Feature.h" 1
> 28468: # 18 "/<<PKGBUILDDIR>>/search/include/HepMC3/Feature.h"
> 28468: namespace HepMC3 {
> 28468: # 55 "/<<PKGBUILDDIR>>/search/include/HepMC3/Feature.h"
> 28468: template<typename Feature_type>
> 28468: class GenericFeature {
> 28468: 
> 28468: public:
> 28468: 
> 28468:     using Evaluator_type = std::function<Feature_type(ConstGenParticlePtr)>;
> 28468:     using EvaluatorPtr = std::shared_ptr<Evaluator_type>;
> 28468: 
> 28468: 
> 28468:     Feature_type operator()(ConstGenParticlePtr input)const {
> 28468:         return (*m_internal)(input);
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     Filter operator > (Feature_type value) const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         return [value, functor](ConstGenParticlePtr input)->bool{return (*functor)(input) > value;};
> 28468:     }
> 28468: 
> 28468: 
> 28468:     Filter operator < (Feature_type value) const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         return [value, functor](ConstGenParticlePtr input)->bool{return (*functor)(input) < value;};
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     Filter operator >= (Feature_type value) const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         return [value, functor](ConstGenParticlePtr input)->bool{return (*functor)(input) >= value;};
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     Filter operator <= (Feature_type value) const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         return [value, functor](ConstGenParticlePtr input)->bool{return (*functor)(input) <= value;};
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual Filter operator == (Feature_type value) const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         return [value, functor](ConstGenParticlePtr input)->bool{return (*functor)(input) == value;};
> 28468:     }
> 28468: 
> 28468: 
> 28468: 
> 28468:     virtual Filter operator != (Feature_type value) const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         return [value, functor](ConstGenParticlePtr input)->bool{return (*functor)(input) != value;};
> 28468:     }
> 28468: 
> 28468: protected:
> 28468: 
> 28468: 
> 28468:     GenericFeature(Evaluator_type functor):m_internal(std::make_shared<Evaluator_type>(functor)) {}
> 28468: 
> 28468: 
> 28468:     GenericFeature(const GenericFeature &copy) : m_internal(copy.m_internal) {}
> 28468: 
> 28468: 
> 28468: 
> 28468: 
> 28468:     EvaluatorPtr m_internal;
> 28468: 
> 28468: };
> 28468: # 160 "/<<PKGBUILDDIR>>/search/include/HepMC3/Feature.h"
> 28468: template<typename Feature_type, typename Dummy=void>
> 28468: class Feature : public GenericFeature<Feature_type> {
> 28468: 
> 28468: public:
> 28468: 
> 28468:     using typename GenericFeature<Feature_type>::Evaluator_type;
> 28468:     using typename GenericFeature<Feature_type>::EvaluatorPtr;
> 28468:     using GenericFeature<Feature_type>::m_internal;
> 28468: 
> 28468:     using GenericFeature<Feature_type>::operator ();
> 28468:     using GenericFeature<Feature_type>::operator >;
> 28468:     using GenericFeature<Feature_type>::operator >=;
> 28468:     using GenericFeature<Feature_type>::operator <;
> 28468:     using GenericFeature<Feature_type>::operator <=;
> 28468:     using GenericFeature<Feature_type>::operator ==;
> 28468:     using GenericFeature<Feature_type>::operator !=;
> 28468: 
> 28468:     Feature(Evaluator_type functor) : GenericFeature<Feature_type>(functor) {}
> 28468:     Feature(const Feature &copy) : GenericFeature<Feature_type>(copy) {}
> 28468: 
> 28468:     Feature<Feature_type> abs() const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         Evaluator_type absfunctor = [functor](ConstGenParticlePtr p)->Feature_type{return ::abs((*functor)(p));};
> 28468:         return Feature<Feature_type>(absfunctor);
> 28468:     }
> 28468: 
> 28468: };
> 28468: # 203 "/<<PKGBUILDDIR>>/search/include/HepMC3/Feature.h"
> 28468: template<typename Feature_type>
> 28468: class Feature<Feature_type, typename std::enable_if<std::is_integral<Feature_type>::value, void>::type> : public GenericFeature<Feature_type> {
> 28468: 
> 28468: public:
> 28468: 
> 28468:     using GenericFeature<Feature_type>::operator ();
> 28468:     using GenericFeature<Feature_type>::operator >;
> 28468:     using GenericFeature<Feature_type>::operator >=;
> 28468:     using GenericFeature<Feature_type>::operator <;
> 28468:     using GenericFeature<Feature_type>::operator <=;
> 28468:     using GenericFeature<Feature_type>::operator ==;
> 28468:     using GenericFeature<Feature_type>::operator !=;
> 28468: 
> 28468:     using typename GenericFeature<Feature_type>::Evaluator_type;
> 28468:     using typename GenericFeature<Feature_type>::EvaluatorPtr;
> 28468: 
> 28468:     using GenericFeature<Feature_type>::m_internal;
> 28468: 
> 28468:     Feature(Evaluator_type functor) : GenericFeature<Feature_type>(functor) {}
> 28468:     Feature(const Feature &copy) : GenericFeature<Feature_type>(copy) {}
> 28468: 
> 28468:     Feature<Feature_type> abs() const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         Evaluator_type absfunctor = [functor](ConstGenParticlePtr p)->Feature_type{return ::abs((*functor)(p));};
> 28468:         return Feature<Feature_type>(absfunctor);
> 28468:     }
> 28468: 
> 28468:     Filter operator > (double value) const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         return [value, functor](ConstGenParticlePtr input)->bool{return (*functor)(input) > value;};
> 28468:     }
> 28468: 
> 28468:     Filter operator < (double value) const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         return [value, functor](ConstGenParticlePtr input)->bool{return (*functor)(input) < value;};
> 28468:     }
> 28468: 
> 28468:     Filter operator == (double value) const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         return [value, functor](ConstGenParticlePtr input)->bool{
> 28468:             Feature_type local = (*functor)(input);
> 28468:             return fabs(local - value) <= ((::abs(local) < fabs(value))? fabs(value) : ::abs(local)) * std::numeric_limits<double>::epsilon();
> 28468:         };
> 28468:     }
> 28468: 
> 28468:     Filter operator >= (double value) const { return !( (*this) < value );}
> 28468: 
> 28468:     Filter operator <= (double value) const { return !( (*this) > value );}
> 28468: 
> 28468:     Filter operator != (double value) const {
> 28468:         return !( (*this)==value );
> 28468:     }
> 28468: 
> 28468: };
> 28468: # 267 "/<<PKGBUILDDIR>>/search/include/HepMC3/Feature.h"
> 28468: template<typename Feature_type>
> 28468: class Feature<Feature_type, typename std::enable_if<std::is_floating_point<Feature_type>::value, void>::type> : public GenericFeature<Feature_type> {
> 28468: 
> 28468: public:
> 28468: 
> 28468:     using typename GenericFeature<Feature_type>::Evaluator_type;
> 28468:     using typename GenericFeature<Feature_type>::EvaluatorPtr;
> 28468: 
> 28468:     using GenericFeature<Feature_type>::operator ();
> 28468:     using GenericFeature<Feature_type>::operator >;
> 28468:     using GenericFeature<Feature_type>::operator >=;
> 28468:     using GenericFeature<Feature_type>::operator <;
> 28468:     using GenericFeature<Feature_type>::operator <=;
> 28468: 
> 28468:     using GenericFeature<Feature_type>::m_internal;
> 28468: 
> 28468:     Feature(Evaluator_type functor) : GenericFeature<Feature_type>(functor) {}
> 28468:     Feature(const Feature &copy) : GenericFeature<Feature_type>(copy) {}
> 28468: 
> 28468:     Feature<Feature_type> abs() const {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         Evaluator_type absfunctor = [functor](ConstGenParticlePtr p)->Feature_type{return fabs((*functor)(p));};
> 28468:         return Feature<Feature_type>(absfunctor);
> 28468:     }
> 28468: 
> 28468:     Filter operator == (Feature_type value) const override {
> 28468:         EvaluatorPtr functor = m_internal;
> 28468:         return [value, functor](ConstGenParticlePtr input)->bool{
> 28468:             Feature_type local = (*functor)(input);
> 28468:             return fabs(local - value) <= ((fabs(local) < fabs(value))? fabs(value) : fabs(local)) * std::numeric_limits<Feature_type>::epsilon();
> 28468:         };
> 28468:     }
> 28468: 
> 28468:     Filter operator != (Feature_type value) const override {
> 28468:         return !( (*this)==value );
> 28468:     }
> 28468: 
> 28468: };
> 28468: # 315 "/<<PKGBUILDDIR>>/search/include/HepMC3/Feature.h"
> 28468: template<typename Feature_type>
> 28468: Feature<Feature_type> abs(const Feature<Feature_type> &input) {
> 28468:     return input.abs();
> 28468: }
> 28468: 
> 28468: }
> 28468: # 15 "/<<PKGBUILDDIR>>/search/include/HepMC3/Selector.h" 2
> 28468: # 1 "/<<PKGBUILDDIR>>/search/include/HepMC3/AttributeFeature.h" 1
> 28468: # 18 "/<<PKGBUILDDIR>>/search/include/HepMC3/AttributeFeature.h"
> 28468: namespace HepMC3 {
> 28468: 
> 28468: class AttributeFeature {
> 28468: 
> 28468: public:
> 28468: 
> 28468:     AttributeFeature(const std::string &name): m_name(name) {}
> 28468: 
> 28468:     Filter exists() const {
> 28468:         std::string name = m_name;
> 28468:         return [name](ConstGenParticlePtr p)->bool{return p->attribute_as_string(name).length() != 0;};
> 28468:     }
> 28468: 
> 28468:     bool operator()(ConstGenParticlePtr p) const {
> 28468:         return p->attribute_as_string(m_name).length() != 0;
> 28468:     }
> 28468: 
> 28468:     Filter operator == (const Attribute &rhs) const {
> 28468:         std::string name = m_name;
> 28468:         std::string other;
> 28468:         rhs.to_string(other);
> 28468:         return [other, name](ConstGenParticlePtr p)->bool{return p->attribute_as_string(name).compare(other) == 0;};
> 28468:     }
> 28468: 
> 28468:     Filter operator == (std::shared_ptr<const Attribute> rhs) const {
> 28468:         std::string name = m_name;
> 28468:         std::string other;
> 28468:         rhs->to_string(other);
> 28468:         return [other, name](ConstGenParticlePtr p)->bool{return p->attribute_as_string(name).compare(other) == 0;};
> 28468:     }
> 28468: 
> 28468:     Filter operator == (std::string rhs) const {
> 28468:         const std::string &name = m_name;
> 28468:         return [name, rhs](ConstGenParticlePtr p)->bool{return p->attribute_as_string(name).compare(rhs) == 0;};
> 28468:     }
> 28468: 
> 28468: private:
> 28468: 
> 28468:     std::string m_name;
> 28468: 
> 28468: };
> 28468: }
> 28468: # 16 "/<<PKGBUILDDIR>>/search/include/HepMC3/Selector.h" 2
> 28468: 
> 28468: namespace HepMC3 {
> 28468: 
> 28468: template<typename T>
> 28468: class SelectorWrapper;
> 28468: 
> 28468: class Selector;
> 28468: 
> 28468: using ConstSelectorPtr = std::shared_ptr<const Selector>;
> 28468: # 55 "/<<PKGBUILDDIR>>/search/include/HepMC3/Selector.h"
> 28468: class Selector {
> 28468: 
> 28468: public:
> 28468: 
> 28468:     virtual ~Selector() {};
> 28468: 
> 28468:     virtual Filter operator > (int value) const = 0;
> 28468:     virtual Filter operator > (double value) const = 0;
> 28468: 
> 28468:     virtual Filter operator >= (int value) const = 0;
> 28468:     virtual Filter operator >= (double value) const = 0;
> 28468: 
> 28468:     virtual Filter operator < (int value) const = 0;
> 28468:     virtual Filter operator < (double value) const = 0;
> 28468: 
> 28468:     virtual Filter operator <= (int value) const = 0;
> 28468:     virtual Filter operator <= (double value) const = 0;
> 28468: 
> 28468:     virtual Filter operator == (int value) const = 0;
> 28468:     virtual Filter operator == (double value) const = 0;
> 28468: 
> 28468:     virtual Filter operator != (int value) const = 0;
> 28468:     virtual Filter operator != (double value) const = 0;
> 28468: 
> 28468:     virtual ConstSelectorPtr abs() const = 0;
> 28468: 
> 28468:     static const SelectorWrapper<int> STATUS;
> 28468:     static const SelectorWrapper<int> PDG_ID;
> 28468:     static const SelectorWrapper<double> PT;
> 28468:     static const SelectorWrapper<double> ENERGY;
> 28468:     static const SelectorWrapper<double> RAPIDITY;
> 28468:     static const SelectorWrapper<double> ETA;
> 28468:     static const SelectorWrapper<double> PHI;
> 28468:     static const SelectorWrapper<double> ET;
> 28468:     static const SelectorWrapper<double> MASS;
> 28468:     static AttributeFeature ATTRIBUTE(const std::string &name);
> 28468: 
> 28468: };
> 28468: 
> 28468: template<typename Feature_type>
> 28468: class SelectorWrapper : public Selector {
> 28468: 
> 28468: public:
> 28468: 
> 28468:     SelectorWrapper(typename Feature<Feature_type>::Evaluator_type functor): m_internal(functor) {}
> 28468: 
> 28468:     Filter operator > (int value) const override {
> 28468:         return m_internal > value;
> 28468:     }
> 28468: 
> 28468:     Filter operator > (double value) const override {
> 28468:         return m_internal > value;
> 28468:     }
> 28468: 
> 28468:     Filter operator >= (int value) const override {
> 28468:         return m_internal >= value;
> 28468:     }
> 28468: 
> 28468:     Filter operator >= (double value) const override {
> 28468:         return m_internal >= value;
> 28468:     }
> 28468: 
> 28468:     Filter operator < (int value) const override {
> 28468:         return m_internal < value;
> 28468:     }
> 28468: 
> 28468:     Filter operator < (double value) const override {
> 28468:         return m_internal < value;
> 28468:     }
> 28468: 
> 28468:     Filter operator <= (int value) const override {
> 28468:         return m_internal <= value;
> 28468:     }
> 28468: 
> 28468:     Filter operator <= (double value) const override {
> 28468:         return m_internal <= value;
> 28468:     }
> 28468: 
> 28468:     Filter operator == (int value) const override {
> 28468:         return m_internal == value;
> 28468:     }
> 28468: 
> 28468:     Filter operator == (double value) const override {
> 28468:         return m_internal == value;
> 28468:     }
> 28468: 
> 28468:     Filter operator != (int value) const override {
> 28468:         return m_internal != value;
> 28468:     }
> 28468: 
> 28468:     Filter operator != (double value) const override {
> 28468:         return m_internal != value;
> 28468:     }
> 28468: 
> 28468:     ConstSelectorPtr abs() const override {
> 28468:         SelectorWrapper<Feature_type> *copy = new SelectorWrapper<Feature_type>(*this);
> 28468:         copy->m_internal = m_internal.abs();
> 28468:         return ConstSelectorPtr(copy);
> 28468:     }
> 28468: 
> 28468: private:
> 28468: 
> 28468:     Feature<Feature_type> m_internal;
> 28468: 
> 28468: };
> 28468: 
> 28468: ConstSelectorPtr abs(const Selector &input);
> 28468: 
> 28468: }
> 28468: # 11 "/<<PKGBUILDDIR>>/search/src/Selector.cc" 2
> 28468: 
> 28468: namespace HepMC3 {
> 28468: const SelectorWrapper<int> Selector::STATUS = SelectorWrapper<int>([](ConstGenParticlePtr p)->int{return p->status();});
> 28468: const SelectorWrapper<int> Selector::PDG_ID = SelectorWrapper<int>([](ConstGenParticlePtr p)->int{return p->pdg_id();});
> 28468: const SelectorWrapper<double> Selector::PT = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().pt();});
> 28468: const SelectorWrapper<double> Selector::ENERGY = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().e();});
> 28468: const SelectorWrapper<double> Selector::RAPIDITY = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().rap();});
> 28468: const SelectorWrapper<double> Selector::ETA = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().eta();});
> 28468: const SelectorWrapper<double> Selector::PHI = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().phi();});
> 28468: const SelectorWrapper<double> Selector::ET = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().e() * (p->momentum().pt() / p->momentum().p3mod());});
> 28468: const SelectorWrapper<double> Selector::MASS = SelectorWrapper<double>([](ConstGenParticlePtr p)->double{return p->momentum().m();});
> 28468: 
> 28468: 
> 28468: 
> 28468: ConstSelectorPtr abs(const Selector &input)
> 28468: {
> 28468:     return input.abs();
> 28468: }
> 28468: 
> 28468: 
> 28468: AttributeFeature Selector::ATTRIBUTE(const std::string &name) {return AttributeFeature(name);}
> 28468: 
> 28468: }
> === END GCC DUMP ===
> make[4]: *** [search/CMakeFiles/objlibsearch.dir/build.make:79: search/CMakeFiles/objlibsearch.dir/src/Selector.cc.o] Error 1

The full build log is available from:
   http://qa-logs.debian.net/2020/02/25/hepmc3_3.1.2-2_unstable.log

A list of current common problems and possible solutions is available at
http://wiki.debian.org/qa.debian.org/FTBFS . You're welcome to contribute!

About the archive rebuild: The rebuild was done on EC2 VM instances from
Amazon Web Services, using a clean, minimal and up-to-date chroot. Every
failed build was retried once to eliminate random failures.



More information about the debian-science-maintainers mailing list