From df1f8e4ac15e051695bbb0410efe6eb04acb37cf Mon Sep 17 00:00:00 2001 From: alexmwst <83560159+alexmwst@users.noreply.github.com> Date: Wed, 22 Jan 2025 15:51:04 +0100 Subject: [PATCH] initial commit --- ultrasonic-bela/settings.json | 34 ultrasonic-bela/build/render.bc | 0 ultrasonic-bela/build/render.ii | 36842 ++++++++++++++++++++++++++++++++++++++ .DS_Store | 0 ultrasonic-bela/build/render.s | 20537 +++++++++++++++++++++ ultrasonic-bela/build/Makefile.inc | 4 ultrasonic-bela/build/render.d | 25 ultrasonic-bela/render.cpp | 117 8 files changed, 57,559 insertions(+), 0 deletions(-) diff --git a/.DS_Store b/.DS_Store new file mode 100644 index 0000000..b5e2e59 --- /dev/null +++ b/.DS_Store Binary files differ diff --git a/ultrasonic-bela/build/Makefile.inc b/ultrasonic-bela/build/Makefile.inc new file mode 100644 index 0000000..4ebac32 --- /dev/null +++ b/ultrasonic-bela/build/Makefile.inc @@ -0,0 +1,4 @@ +-include libraries/PulseIn/build/Makefile.link +-include libraries/Scope/build/Makefile.link +-include libraries/WSServer/build/Makefile.link +-include libraries/ne10/build/Makefile.link diff --git a/ultrasonic-bela/build/render.bc b/ultrasonic-bela/build/render.bc new file mode 100644 index 0000000..9fd1d9d --- /dev/null +++ b/ultrasonic-bela/build/render.bc Binary files differ diff --git a/ultrasonic-bela/build/render.d b/ultrasonic-bela/build/render.d new file mode 100644 index 0000000..ef9a1c0 --- /dev/null +++ b/ultrasonic-bela/build/render.d @@ -0,0 +1,25 @@ +/root/Bela/projects/my_ultrasonic_ranger2/build/render.o: \ + /root/Bela/projects/my_ultrasonic_ranger2/render.cpp include/Bela.h \ + /usr/xenomai/include/cobalt/unistd.h \ + /usr/xenomai/include/cobalt/stdio.h include/GPIOcontrol.h \ + /usr/xenomai/include/cobalt/time.h include/Utilities.h \ + /usr/xenomai/include/cobalt/stdlib.h libraries/Scope/Scope.h \ + libraries/PulseIn/PulseIn.h + +include/Bela.h: + +/usr/xenomai/include/cobalt/unistd.h: + +/usr/xenomai/include/cobalt/stdio.h: + +include/GPIOcontrol.h: + +/usr/xenomai/include/cobalt/time.h: + +include/Utilities.h: + +/usr/xenomai/include/cobalt/stdlib.h: + +libraries/Scope/Scope.h: + +libraries/PulseIn/PulseIn.h: diff --git a/ultrasonic-bela/build/render.ii b/ultrasonic-bela/build/render.ii new file mode 100644 index 0000000..511ef8b --- /dev/null +++ b/ultrasonic-bela/build/render.ii @@ -0,0 +1,36842 @@ +# 1 "/root/Bela/projects/my_ultrasonic_ranger2/render.cpp" +# 1 "<built-in>" 1 +# 1 "<built-in>" 3 +# 365 "<built-in>" 3 +# 1 "<command line>" 1 +# 1 "<built-in>" 2 +# 1 "/root/Bela/projects/my_ultrasonic_ranger2/render.cpp" 2 +# 48 "/root/Bela/projects/my_ultrasonic_ranger2/render.cpp" +# 1 "./include/Bela.h" 1 +# 86 "./include/Bela.h" +extern "C" +{ + + + +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stdint.h" 1 3 +# 61 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stdint.h" 3 +# 1 "/usr/include/stdint.h" 1 3 4 +# 25 "/usr/include/stdint.h" 3 4 +# 1 "/usr/include/features.h" 1 3 4 +# 342 "/usr/include/features.h" 3 4 +# 1 "/usr/include/stdc-predef.h" 1 3 4 +# 343 "/usr/include/features.h" 2 3 4 +# 364 "/usr/include/features.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 1 3 4 +# 415 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4 +# 416 "/usr/include/arm-linux-gnueabihf/sys/cdefs.h" 2 3 4 +# 365 "/usr/include/features.h" 2 3 4 +# 388 "/usr/include/features.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 1 3 4 +# 10 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/gnu/stubs-hard.h" 1 3 4 +# 11 "/usr/include/arm-linux-gnueabihf/gnu/stubs.h" 2 3 4 +# 389 "/usr/include/features.h" 2 3 4 +# 26 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/wchar.h" 1 3 4 +# 27 "/usr/include/stdint.h" 2 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/stdint.h" 2 3 4 + + + + + + + + +typedef signed char int8_t; +typedef short int int16_t; +typedef int int32_t; + + + +__extension__ +typedef long long int int64_t; + + + + +typedef unsigned char uint8_t; +typedef unsigned short int uint16_t; + +typedef unsigned int uint32_t; + + + + + +__extension__ +typedef unsigned long long int uint64_t; + + + + + + +typedef signed char int_least8_t; +typedef short int int_least16_t; +typedef int int_least32_t; + + + +__extension__ +typedef long long int int_least64_t; + + + +typedef unsigned char uint_least8_t; +typedef unsigned short int uint_least16_t; +typedef unsigned int uint_least32_t; + + + +__extension__ +typedef unsigned long long int uint_least64_t; + + + + + + +typedef signed char int_fast8_t; + + + + + +typedef int int_fast16_t; +typedef int int_fast32_t; +__extension__ +typedef long long int int_fast64_t; + + + +typedef unsigned char uint_fast8_t; + + + + + +typedef unsigned int uint_fast16_t; +typedef unsigned int uint_fast32_t; +__extension__ +typedef unsigned long long int uint_fast64_t; +# 125 "/usr/include/stdint.h" 3 4 +typedef int intptr_t; + + +typedef unsigned int uintptr_t; +# 137 "/usr/include/stdint.h" 3 4 +__extension__ +typedef long long int intmax_t; +__extension__ +typedef unsigned long long int uintmax_t; +# 62 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stdint.h" 2 3 +# 91 "./include/Bela.h" 2 +# 1 "/usr/xenomai/include/cobalt/unistd.h" 1 +# 19 "/usr/xenomai/include/cobalt/unistd.h" 3 +# 1 "/usr/include/unistd.h" 1 3 4 +# 27 "/usr/include/unistd.h" 3 4 +extern "C" { +# 205 "/usr/include/unistd.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/posix_opt.h" 1 3 4 +# 206 "/usr/include/unistd.h" 2 3 4 + + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/environments.h" 1 3 4 +# 22 "/usr/include/arm-linux-gnueabihf/bits/environments.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4 +# 23 "/usr/include/arm-linux-gnueabihf/bits/environments.h" 2 3 4 +# 210 "/usr/include/unistd.h" 2 3 4 +# 220 "/usr/include/unistd.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/types.h" 1 3 4 +# 27 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4 +# 28 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4 + + +typedef unsigned char __u_char; +typedef unsigned short int __u_short; +typedef unsigned int __u_int; +typedef unsigned long int __u_long; + + +typedef signed char __int8_t; +typedef unsigned char __uint8_t; +typedef signed short int __int16_t; +typedef unsigned short int __uint16_t; +typedef signed int __int32_t; +typedef unsigned int __uint32_t; + + + + +__extension__ typedef signed long long int __int64_t; +__extension__ typedef unsigned long long int __uint64_t; + + + + + + + +__extension__ typedef long long int __quad_t; +__extension__ typedef unsigned long long int __u_quad_t; +# 121 "/usr/include/arm-linux-gnueabihf/bits/types.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/typesizes.h" 1 3 4 +# 122 "/usr/include/arm-linux-gnueabihf/bits/types.h" 2 3 4 + + +__extension__ typedef __u_quad_t __dev_t; +__extension__ typedef unsigned int __uid_t; +__extension__ typedef unsigned int __gid_t; +__extension__ typedef unsigned long int __ino_t; +__extension__ typedef __u_quad_t __ino64_t; +__extension__ typedef unsigned int __mode_t; +__extension__ typedef unsigned int __nlink_t; +__extension__ typedef long int __off_t; +__extension__ typedef __quad_t __off64_t; +__extension__ typedef int __pid_t; +__extension__ typedef struct { int __val[2]; } __fsid_t; +__extension__ typedef long int __clock_t; +__extension__ typedef unsigned long int __rlim_t; +__extension__ typedef __u_quad_t __rlim64_t; +__extension__ typedef unsigned int __id_t; +__extension__ typedef long int __time_t; +__extension__ typedef unsigned int __useconds_t; +__extension__ typedef long int __suseconds_t; + +__extension__ typedef int __daddr_t; +__extension__ typedef int __key_t; + + +__extension__ typedef int __clockid_t; + + +__extension__ typedef void * __timer_t; + + +__extension__ typedef long int __blksize_t; + + + + +__extension__ typedef long int __blkcnt_t; +__extension__ typedef __quad_t __blkcnt64_t; + + +__extension__ typedef unsigned long int __fsblkcnt_t; +__extension__ typedef __u_quad_t __fsblkcnt64_t; + + +__extension__ typedef unsigned long int __fsfilcnt_t; +__extension__ typedef __u_quad_t __fsfilcnt64_t; + + +__extension__ typedef int __fsword_t; + +__extension__ typedef int __ssize_t; + + +__extension__ typedef long int __syscall_slong_t; + +__extension__ typedef unsigned long int __syscall_ulong_t; + + + +typedef __off64_t __loff_t; +typedef __quad_t *__qaddr_t; +typedef char *__caddr_t; + + +__extension__ typedef int __intptr_t; + + +__extension__ typedef unsigned int __socklen_t; +# 221 "/usr/include/unistd.h" 2 3 4 + + +typedef __ssize_t ssize_t; + + + + + + +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 4 +# 62 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 3 4 +typedef unsigned int size_t; +# 230 "/usr/include/unistd.h" 2 3 4 + + + + + +typedef __gid_t gid_t; + + + + +typedef __uid_t uid_t; + + + + + +typedef __off_t off_t; + + + + + + +typedef __off64_t off64_t; + + + + +typedef __useconds_t useconds_t; + + + + +typedef __pid_t pid_t; +# 277 "/usr/include/unistd.h" 3 4 +typedef __socklen_t socklen_t; +# 290 "/usr/include/unistd.h" 3 4 +extern int access (const char *__name, int __type) throw () __attribute__ ((__nonnull__ (1))); + + + + +extern int euidaccess (const char *__name, int __type) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int eaccess (const char *__name, int __type) + throw () __attribute__ ((__nonnull__ (1))); + + + + + + +extern int faccessat (int __fd, const char *__file, int __type, int __flag) + throw () __attribute__ ((__nonnull__ (2))) ; +# 337 "/usr/include/unistd.h" 3 4 +extern __off_t lseek (int __fd, __off_t __offset, int __whence) throw (); +# 348 "/usr/include/unistd.h" 3 4 +extern __off64_t lseek64 (int __fd, __off64_t __offset, int __whence) + throw (); + + + + + + +extern int close (int __fd); + + + + + + +extern ssize_t read (int __fd, void *__buf, size_t __nbytes) ; + + + + + +extern ssize_t write (int __fd, const void *__buf, size_t __n) ; +# 379 "/usr/include/unistd.h" 3 4 +extern ssize_t pread (int __fd, void *__buf, size_t __nbytes, + __off_t __offset) ; + + + + + + +extern ssize_t pwrite (int __fd, const void *__buf, size_t __n, + __off_t __offset) ; +# 407 "/usr/include/unistd.h" 3 4 +extern ssize_t pread64 (int __fd, void *__buf, size_t __nbytes, + __off64_t __offset) ; + + +extern ssize_t pwrite64 (int __fd, const void *__buf, size_t __n, + __off64_t __offset) ; + + + + + + + +extern int pipe (int __pipedes[2]) throw () ; + + + + +extern int pipe2 (int __pipedes[2], int __flags) throw () ; +# 435 "/usr/include/unistd.h" 3 4 +extern unsigned int alarm (unsigned int __seconds) throw (); +# 447 "/usr/include/unistd.h" 3 4 +extern unsigned int sleep (unsigned int __seconds); + + + + + + + +extern __useconds_t ualarm (__useconds_t __value, __useconds_t __interval) + throw (); + + + + + + +extern int usleep (__useconds_t __useconds); +# 472 "/usr/include/unistd.h" 3 4 +extern int pause (void); + + + +extern int chown (const char *__file, __uid_t __owner, __gid_t __group) + throw () __attribute__ ((__nonnull__ (1))) ; + + + +extern int fchown (int __fd, __uid_t __owner, __gid_t __group) throw () ; + + + + +extern int lchown (const char *__file, __uid_t __owner, __gid_t __group) + throw () __attribute__ ((__nonnull__ (1))) ; + + + + + + +extern int fchownat (int __fd, const char *__file, __uid_t __owner, + __gid_t __group, int __flag) + throw () __attribute__ ((__nonnull__ (2))) ; + + + +extern int chdir (const char *__path) throw () __attribute__ ((__nonnull__ (1))) ; + + + +extern int fchdir (int __fd) throw () ; +# 514 "/usr/include/unistd.h" 3 4 +extern char *getcwd (char *__buf, size_t __size) throw () ; + + + + + +extern char *get_current_dir_name (void) throw (); + + + + + + + +extern char *getwd (char *__buf) + throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)) ; + + + + +extern int dup (int __fd) throw () ; + + +extern int dup2 (int __fd, int __fd2) throw (); + + + + +extern int dup3 (int __fd, int __fd2, int __flags) throw (); + + + +extern char **__environ; + +extern char **environ; + + + + + +extern int execve (const char *__path, char *const __argv[], + char *const __envp[]) throw () __attribute__ ((__nonnull__ (1, 2))); + + + + +extern int fexecve (int __fd, char *const __argv[], char *const __envp[]) + throw () __attribute__ ((__nonnull__ (2))); + + + + +extern int execv (const char *__path, char *const __argv[]) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + +extern int execle (const char *__path, const char *__arg, ...) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + +extern int execl (const char *__path, const char *__arg, ...) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + +extern int execvp (const char *__file, char *const __argv[]) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + + +extern int execlp (const char *__file, const char *__arg, ...) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + + +extern int execvpe (const char *__file, char *const __argv[], + char *const __envp[]) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + + + +extern int nice (int __inc) throw () ; + + + + +extern void _exit (int __status) __attribute__ ((__noreturn__)); + + + + + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/confname.h" 1 3 4 +# 24 "/usr/include/arm-linux-gnueabihf/bits/confname.h" 3 4 +enum + { + _PC_LINK_MAX, + + _PC_MAX_CANON, + + _PC_MAX_INPUT, + + _PC_NAME_MAX, + + _PC_PATH_MAX, + + _PC_PIPE_BUF, + + _PC_CHOWN_RESTRICTED, + + _PC_NO_TRUNC, + + _PC_VDISABLE, + + _PC_SYNC_IO, + + _PC_ASYNC_IO, + + _PC_PRIO_IO, + + _PC_SOCK_MAXBUF, + + _PC_FILESIZEBITS, + + _PC_REC_INCR_XFER_SIZE, + + _PC_REC_MAX_XFER_SIZE, + + _PC_REC_MIN_XFER_SIZE, + + _PC_REC_XFER_ALIGN, + + _PC_ALLOC_SIZE_MIN, + + _PC_SYMLINK_MAX, + + _PC_2_SYMLINKS + + }; + + +enum + { + _SC_ARG_MAX, + + _SC_CHILD_MAX, + + _SC_CLK_TCK, + + _SC_NGROUPS_MAX, + + _SC_OPEN_MAX, + + _SC_STREAM_MAX, + + _SC_TZNAME_MAX, + + _SC_JOB_CONTROL, + + _SC_SAVED_IDS, + + _SC_REALTIME_SIGNALS, + + _SC_PRIORITY_SCHEDULING, + + _SC_TIMERS, + + _SC_ASYNCHRONOUS_IO, + + _SC_PRIORITIZED_IO, + + _SC_SYNCHRONIZED_IO, + + _SC_FSYNC, + + _SC_MAPPED_FILES, + + _SC_MEMLOCK, + + _SC_MEMLOCK_RANGE, + + _SC_MEMORY_PROTECTION, + + _SC_MESSAGE_PASSING, + + _SC_SEMAPHORES, + + _SC_SHARED_MEMORY_OBJECTS, + + _SC_AIO_LISTIO_MAX, + + _SC_AIO_MAX, + + _SC_AIO_PRIO_DELTA_MAX, + + _SC_DELAYTIMER_MAX, + + _SC_MQ_OPEN_MAX, + + _SC_MQ_PRIO_MAX, + + _SC_VERSION, + + _SC_PAGESIZE, + + + _SC_RTSIG_MAX, + + _SC_SEM_NSEMS_MAX, + + _SC_SEM_VALUE_MAX, + + _SC_SIGQUEUE_MAX, + + _SC_TIMER_MAX, + + + + + _SC_BC_BASE_MAX, + + _SC_BC_DIM_MAX, + + _SC_BC_SCALE_MAX, + + _SC_BC_STRING_MAX, + + _SC_COLL_WEIGHTS_MAX, + + _SC_EQUIV_CLASS_MAX, + + _SC_EXPR_NEST_MAX, + + _SC_LINE_MAX, + + _SC_RE_DUP_MAX, + + _SC_CHARCLASS_NAME_MAX, + + + _SC_2_VERSION, + + _SC_2_C_BIND, + + _SC_2_C_DEV, + + _SC_2_FORT_DEV, + + _SC_2_FORT_RUN, + + _SC_2_SW_DEV, + + _SC_2_LOCALEDEF, + + + _SC_PII, + + _SC_PII_XTI, + + _SC_PII_SOCKET, + + _SC_PII_INTERNET, + + _SC_PII_OSI, + + _SC_POLL, + + _SC_SELECT, + + _SC_UIO_MAXIOV, + + _SC_IOV_MAX = _SC_UIO_MAXIOV, + + _SC_PII_INTERNET_STREAM, + + _SC_PII_INTERNET_DGRAM, + + _SC_PII_OSI_COTS, + + _SC_PII_OSI_CLTS, + + _SC_PII_OSI_M, + + _SC_T_IOV_MAX, + + + + _SC_THREADS, + + _SC_THREAD_SAFE_FUNCTIONS, + + _SC_GETGR_R_SIZE_MAX, + + _SC_GETPW_R_SIZE_MAX, + + _SC_LOGIN_NAME_MAX, + + _SC_TTY_NAME_MAX, + + _SC_THREAD_DESTRUCTOR_ITERATIONS, + + _SC_THREAD_KEYS_MAX, + + _SC_THREAD_STACK_MIN, + + _SC_THREAD_THREADS_MAX, + + _SC_THREAD_ATTR_STACKADDR, + + _SC_THREAD_ATTR_STACKSIZE, + + _SC_THREAD_PRIORITY_SCHEDULING, + + _SC_THREAD_PRIO_INHERIT, + + _SC_THREAD_PRIO_PROTECT, + + _SC_THREAD_PROCESS_SHARED, + + + _SC_NPROCESSORS_CONF, + + _SC_NPROCESSORS_ONLN, + + _SC_PHYS_PAGES, + + _SC_AVPHYS_PAGES, + + _SC_ATEXIT_MAX, + + _SC_PASS_MAX, + + + _SC_XOPEN_VERSION, + + _SC_XOPEN_XCU_VERSION, + + _SC_XOPEN_UNIX, + + _SC_XOPEN_CRYPT, + + _SC_XOPEN_ENH_I18N, + + _SC_XOPEN_SHM, + + + _SC_2_CHAR_TERM, + + _SC_2_C_VERSION, + + _SC_2_UPE, + + + _SC_XOPEN_XPG2, + + _SC_XOPEN_XPG3, + + _SC_XOPEN_XPG4, + + + _SC_CHAR_BIT, + + _SC_CHAR_MAX, + + _SC_CHAR_MIN, + + _SC_INT_MAX, + + _SC_INT_MIN, + + _SC_LONG_BIT, + + _SC_WORD_BIT, + + _SC_MB_LEN_MAX, + + _SC_NZERO, + + _SC_SSIZE_MAX, + + _SC_SCHAR_MAX, + + _SC_SCHAR_MIN, + + _SC_SHRT_MAX, + + _SC_SHRT_MIN, + + _SC_UCHAR_MAX, + + _SC_UINT_MAX, + + _SC_ULONG_MAX, + + _SC_USHRT_MAX, + + + _SC_NL_ARGMAX, + + _SC_NL_LANGMAX, + + _SC_NL_MSGMAX, + + _SC_NL_NMAX, + + _SC_NL_SETMAX, + + _SC_NL_TEXTMAX, + + + _SC_XBS5_ILP32_OFF32, + + _SC_XBS5_ILP32_OFFBIG, + + _SC_XBS5_LP64_OFF64, + + _SC_XBS5_LPBIG_OFFBIG, + + + _SC_XOPEN_LEGACY, + + _SC_XOPEN_REALTIME, + + _SC_XOPEN_REALTIME_THREADS, + + + _SC_ADVISORY_INFO, + + _SC_BARRIERS, + + _SC_BASE, + + _SC_C_LANG_SUPPORT, + + _SC_C_LANG_SUPPORT_R, + + _SC_CLOCK_SELECTION, + + _SC_CPUTIME, + + _SC_THREAD_CPUTIME, + + _SC_DEVICE_IO, + + _SC_DEVICE_SPECIFIC, + + _SC_DEVICE_SPECIFIC_R, + + _SC_FD_MGMT, + + _SC_FIFO, + + _SC_PIPE, + + _SC_FILE_ATTRIBUTES, + + _SC_FILE_LOCKING, + + _SC_FILE_SYSTEM, + + _SC_MONOTONIC_CLOCK, + + _SC_MULTI_PROCESS, + + _SC_SINGLE_PROCESS, + + _SC_NETWORKING, + + _SC_READER_WRITER_LOCKS, + + _SC_SPIN_LOCKS, + + _SC_REGEXP, + + _SC_REGEX_VERSION, + + _SC_SHELL, + + _SC_SIGNALS, + + _SC_SPAWN, + + _SC_SPORADIC_SERVER, + + _SC_THREAD_SPORADIC_SERVER, + + _SC_SYSTEM_DATABASE, + + _SC_SYSTEM_DATABASE_R, + + _SC_TIMEOUTS, + + _SC_TYPED_MEMORY_OBJECTS, + + _SC_USER_GROUPS, + + _SC_USER_GROUPS_R, + + _SC_2_PBS, + + _SC_2_PBS_ACCOUNTING, + + _SC_2_PBS_LOCATE, + + _SC_2_PBS_MESSAGE, + + _SC_2_PBS_TRACK, + + _SC_SYMLOOP_MAX, + + _SC_STREAMS, + + _SC_2_PBS_CHECKPOINT, + + + _SC_V6_ILP32_OFF32, + + _SC_V6_ILP32_OFFBIG, + + _SC_V6_LP64_OFF64, + + _SC_V6_LPBIG_OFFBIG, + + + _SC_HOST_NAME_MAX, + + _SC_TRACE, + + _SC_TRACE_EVENT_FILTER, + + _SC_TRACE_INHERIT, + + _SC_TRACE_LOG, + + + _SC_LEVEL1_ICACHE_SIZE, + + _SC_LEVEL1_ICACHE_ASSOC, + + _SC_LEVEL1_ICACHE_LINESIZE, + + _SC_LEVEL1_DCACHE_SIZE, + + _SC_LEVEL1_DCACHE_ASSOC, + + _SC_LEVEL1_DCACHE_LINESIZE, + + _SC_LEVEL2_CACHE_SIZE, + + _SC_LEVEL2_CACHE_ASSOC, + + _SC_LEVEL2_CACHE_LINESIZE, + + _SC_LEVEL3_CACHE_SIZE, + + _SC_LEVEL3_CACHE_ASSOC, + + _SC_LEVEL3_CACHE_LINESIZE, + + _SC_LEVEL4_CACHE_SIZE, + + _SC_LEVEL4_CACHE_ASSOC, + + _SC_LEVEL4_CACHE_LINESIZE, + + + + _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50, + + _SC_RAW_SOCKETS, + + + _SC_V7_ILP32_OFF32, + + _SC_V7_ILP32_OFFBIG, + + _SC_V7_LP64_OFF64, + + _SC_V7_LPBIG_OFFBIG, + + + _SC_SS_REPL_MAX, + + + _SC_TRACE_EVENT_NAME_MAX, + + _SC_TRACE_NAME_MAX, + + _SC_TRACE_SYS_MAX, + + _SC_TRACE_USER_EVENT_MAX, + + + _SC_XOPEN_STREAMS, + + + _SC_THREAD_ROBUST_PRIO_INHERIT, + + _SC_THREAD_ROBUST_PRIO_PROTECT + + }; + + +enum + { + _CS_PATH, + + + _CS_V6_WIDTH_RESTRICTED_ENVS, + + + + _CS_GNU_LIBC_VERSION, + + _CS_GNU_LIBPTHREAD_VERSION, + + + _CS_V5_WIDTH_RESTRICTED_ENVS, + + + + _CS_V7_WIDTH_RESTRICTED_ENVS, + + + + _CS_LFS_CFLAGS = 1000, + + _CS_LFS_LDFLAGS, + + _CS_LFS_LIBS, + + _CS_LFS_LINTFLAGS, + + _CS_LFS64_CFLAGS, + + _CS_LFS64_LDFLAGS, + + _CS_LFS64_LIBS, + + _CS_LFS64_LINTFLAGS, + + + _CS_XBS5_ILP32_OFF32_CFLAGS = 1100, + + _CS_XBS5_ILP32_OFF32_LDFLAGS, + + _CS_XBS5_ILP32_OFF32_LIBS, + + _CS_XBS5_ILP32_OFF32_LINTFLAGS, + + _CS_XBS5_ILP32_OFFBIG_CFLAGS, + + _CS_XBS5_ILP32_OFFBIG_LDFLAGS, + + _CS_XBS5_ILP32_OFFBIG_LIBS, + + _CS_XBS5_ILP32_OFFBIG_LINTFLAGS, + + _CS_XBS5_LP64_OFF64_CFLAGS, + + _CS_XBS5_LP64_OFF64_LDFLAGS, + + _CS_XBS5_LP64_OFF64_LIBS, + + _CS_XBS5_LP64_OFF64_LINTFLAGS, + + _CS_XBS5_LPBIG_OFFBIG_CFLAGS, + + _CS_XBS5_LPBIG_OFFBIG_LDFLAGS, + + _CS_XBS5_LPBIG_OFFBIG_LIBS, + + _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS, + + + _CS_POSIX_V6_ILP32_OFF32_CFLAGS, + + _CS_POSIX_V6_ILP32_OFF32_LDFLAGS, + + _CS_POSIX_V6_ILP32_OFF32_LIBS, + + _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS, + + _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS, + + _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS, + + _CS_POSIX_V6_ILP32_OFFBIG_LIBS, + + _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS, + + _CS_POSIX_V6_LP64_OFF64_CFLAGS, + + _CS_POSIX_V6_LP64_OFF64_LDFLAGS, + + _CS_POSIX_V6_LP64_OFF64_LIBS, + + _CS_POSIX_V6_LP64_OFF64_LINTFLAGS, + + _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS, + + _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS, + + _CS_POSIX_V6_LPBIG_OFFBIG_LIBS, + + _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS, + + + _CS_POSIX_V7_ILP32_OFF32_CFLAGS, + + _CS_POSIX_V7_ILP32_OFF32_LDFLAGS, + + _CS_POSIX_V7_ILP32_OFF32_LIBS, + + _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS, + + _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS, + + _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS, + + _CS_POSIX_V7_ILP32_OFFBIG_LIBS, + + _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS, + + _CS_POSIX_V7_LP64_OFF64_CFLAGS, + + _CS_POSIX_V7_LP64_OFF64_LDFLAGS, + + _CS_POSIX_V7_LP64_OFF64_LIBS, + + _CS_POSIX_V7_LP64_OFF64_LINTFLAGS, + + _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS, + + _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS, + + _CS_POSIX_V7_LPBIG_OFFBIG_LIBS, + + _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS, + + + _CS_V6_ENV, + + _CS_V7_ENV + + }; +# 613 "/usr/include/unistd.h" 2 3 4 + + +extern long int pathconf (const char *__path, int __name) + throw () __attribute__ ((__nonnull__ (1))); + + +extern long int fpathconf (int __fd, int __name) throw (); + + +extern long int sysconf (int __name) throw (); + + + +extern size_t confstr (int __name, char *__buf, size_t __len) throw (); + + + + +extern __pid_t getpid (void) throw (); + + +extern __pid_t getppid (void) throw (); + + +extern __pid_t getpgrp (void) throw (); + + +extern __pid_t __getpgid (__pid_t __pid) throw (); + +extern __pid_t getpgid (__pid_t __pid) throw (); + + + + + + +extern int setpgid (__pid_t __pid, __pid_t __pgid) throw (); +# 663 "/usr/include/unistd.h" 3 4 +extern int setpgrp (void) throw (); + + + + + + +extern __pid_t setsid (void) throw (); + + + +extern __pid_t getsid (__pid_t __pid) throw (); + + + +extern __uid_t getuid (void) throw (); + + +extern __uid_t geteuid (void) throw (); + + +extern __gid_t getgid (void) throw (); + + +extern __gid_t getegid (void) throw (); + + + + +extern int getgroups (int __size, __gid_t __list[]) throw () ; + + + +extern int group_member (__gid_t __gid) throw (); + + + + + + +extern int setuid (__uid_t __uid) throw () ; + + + + +extern int setreuid (__uid_t __ruid, __uid_t __euid) throw () ; + + + + +extern int seteuid (__uid_t __uid) throw () ; + + + + + + +extern int setgid (__gid_t __gid) throw () ; + + + + +extern int setregid (__gid_t __rgid, __gid_t __egid) throw () ; + + + + +extern int setegid (__gid_t __gid) throw () ; + + + + + +extern int getresuid (__uid_t *__ruid, __uid_t *__euid, __uid_t *__suid) + throw (); + + + +extern int getresgid (__gid_t *__rgid, __gid_t *__egid, __gid_t *__sgid) + throw (); + + + +extern int setresuid (__uid_t __ruid, __uid_t __euid, __uid_t __suid) + throw () ; + + + +extern int setresgid (__gid_t __rgid, __gid_t __egid, __gid_t __sgid) + throw () ; + + + + + + +extern __pid_t fork (void) throw (); + + + + + + + +extern __pid_t vfork (void) throw (); + + + + + +extern char *ttyname (int __fd) throw (); + + + +extern int ttyname_r (int __fd, char *__buf, size_t __buflen) + throw () __attribute__ ((__nonnull__ (2))) ; + + + +extern int isatty (int __fd) throw (); + + + + +extern int ttyslot (void) throw (); + + + + +extern int link (const char *__from, const char *__to) + throw () __attribute__ ((__nonnull__ (1, 2))) ; + + + + +extern int linkat (int __fromfd, const char *__from, int __tofd, + const char *__to, int __flags) + throw () __attribute__ ((__nonnull__ (2, 4))) ; + + + + +extern int symlink (const char *__from, const char *__to) + throw () __attribute__ ((__nonnull__ (1, 2))) ; + + + + +extern ssize_t readlink (const char *__restrict __path, + char *__restrict __buf, size_t __len) + throw () __attribute__ ((__nonnull__ (1, 2))) ; + + + + +extern int symlinkat (const char *__from, int __tofd, + const char *__to) throw () __attribute__ ((__nonnull__ (1, 3))) ; + + +extern ssize_t readlinkat (int __fd, const char *__restrict __path, + char *__restrict __buf, size_t __len) + throw () __attribute__ ((__nonnull__ (2, 3))) ; + + + +extern int unlink (const char *__name) throw () __attribute__ ((__nonnull__ (1))); + + + +extern int unlinkat (int __fd, const char *__name, int __flag) + throw () __attribute__ ((__nonnull__ (2))); + + + +extern int rmdir (const char *__path) throw () __attribute__ ((__nonnull__ (1))); + + + +extern __pid_t tcgetpgrp (int __fd) throw (); + + +extern int tcsetpgrp (int __fd, __pid_t __pgrp_id) throw (); + + + + + + +extern char *getlogin (void); + + + + + + + +extern int getlogin_r (char *__name, size_t __name_len) __attribute__ ((__nonnull__ (1))); + + + + +extern int setlogin (const char *__name) throw () __attribute__ ((__nonnull__ (1))); +# 873 "/usr/include/unistd.h" 3 4 +# 1 "/usr/include/getopt.h" 1 3 4 +# 48 "/usr/include/getopt.h" 3 4 +extern "C" { +# 57 "/usr/include/getopt.h" 3 4 +extern char *optarg; +# 71 "/usr/include/getopt.h" 3 4 +extern int optind; + + + + +extern int opterr; + + + +extern int optopt; +# 150 "/usr/include/getopt.h" 3 4 +extern int getopt (int ___argc, char *const *___argv, const char *__shortopts) + throw (); +# 185 "/usr/include/getopt.h" 3 4 +} +# 874 "/usr/include/unistd.h" 2 3 4 + + + + + + + +extern int gethostname (char *__name, size_t __len) throw () __attribute__ ((__nonnull__ (1))); + + + + + + +extern int sethostname (const char *__name, size_t __len) + throw () __attribute__ ((__nonnull__ (1))) ; + + + +extern int sethostid (long int __id) throw () ; + + + + + +extern int getdomainname (char *__name, size_t __len) + throw () __attribute__ ((__nonnull__ (1))) ; +extern int setdomainname (const char *__name, size_t __len) + throw () __attribute__ ((__nonnull__ (1))) ; + + + + + +extern int vhangup (void) throw (); + + +extern int revoke (const char *__file) throw () __attribute__ ((__nonnull__ (1))) ; + + + + + + + +extern int profil (unsigned short int *__sample_buffer, size_t __size, + size_t __offset, unsigned int __scale) + throw () __attribute__ ((__nonnull__ (1))); + + + + + +extern int acct (const char *__name) throw (); + + + +extern char *getusershell (void) throw (); +extern void endusershell (void) throw (); +extern void setusershell (void) throw (); + + + + + +extern int daemon (int __nochdir, int __noclose) throw () ; + + + + + + +extern int chroot (const char *__path) throw () __attribute__ ((__nonnull__ (1))) ; + + + +extern char *getpass (const char *__prompt) __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int fsync (int __fd); + + + + + +extern int syncfs (int __fd) throw (); + + + + + + +extern long int gethostid (void); + + +extern void sync (void) throw (); + + + + + +extern int getpagesize (void) throw () __attribute__ ((__const__)); + + + + +extern int getdtablesize (void) throw (); +# 995 "/usr/include/unistd.h" 3 4 +extern int truncate (const char *__file, __off_t __length) + throw () __attribute__ ((__nonnull__ (1))) ; +# 1007 "/usr/include/unistd.h" 3 4 +extern int truncate64 (const char *__file, __off64_t __length) + throw () __attribute__ ((__nonnull__ (1))) ; +# 1018 "/usr/include/unistd.h" 3 4 +extern int ftruncate (int __fd, __off_t __length) throw () ; +# 1028 "/usr/include/unistd.h" 3 4 +extern int ftruncate64 (int __fd, __off64_t __length) throw () ; +# 1039 "/usr/include/unistd.h" 3 4 +extern int brk (void *__addr) throw () ; + + + + + +extern void *sbrk (intptr_t __delta) throw (); +# 1060 "/usr/include/unistd.h" 3 4 +extern long int syscall (long int __sysno, ...) throw (); +# 1083 "/usr/include/unistd.h" 3 4 +extern int lockf (int __fd, int __cmd, __off_t __len) ; +# 1093 "/usr/include/unistd.h" 3 4 +extern int lockf64 (int __fd, int __cmd, __off64_t __len) ; +# 1114 "/usr/include/unistd.h" 3 4 +extern int fdatasync (int __fildes); + + + + + + + +extern char *crypt (const char *__key, const char *__salt) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + +extern void encrypt (char *__glibc_block, int __edflag) + throw () __attribute__ ((__nonnull__ (1))); + + + + + + +extern void swab (const void *__restrict __from, void *__restrict __to, + ssize_t __n) throw () __attribute__ ((__nonnull__ (1, 2))); +# 1166 "/usr/include/unistd.h" 3 4 +} +# 20 "/usr/xenomai/include/cobalt/unistd.h" 2 3 + + + + +# 1 "/usr/xenomai/include/cobalt/wrappers.h" 1 3 +# 21 "/usr/xenomai/include/cobalt/wrappers.h" 3 +# 1 "/usr/xenomai/include/boilerplate/compiler.h" 1 3 +# 21 "/usr/xenomai/include/boilerplate/compiler.h" 3 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 +# 51 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 3 +typedef int ptrdiff_t; +# 118 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 3 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/__stddef_max_align_t.h" 1 3 +# 35 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/__stddef_max_align_t.h" 3 +typedef struct { + long long __clang_max_align_nonce1 + __attribute__((__aligned__(__alignof__(long long)))); + long double __clang_max_align_nonce2 + __attribute__((__aligned__(__alignof__(long double)))); +} max_align_t; +# 119 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 2 3 +# 22 "/usr/xenomai/include/boilerplate/compiler.h" 2 3 +# 62 "/usr/xenomai/include/boilerplate/compiler.h" 3 +extern "C" { + + +void __invalid_operand_size(void); +# 106 "/usr/xenomai/include/boilerplate/compiler.h" 3 +} +# 22 "/usr/xenomai/include/cobalt/wrappers.h" 2 3 +# 25 "/usr/xenomai/include/cobalt/unistd.h" 2 3 + + +extern "C" { + + +__typeof__(ssize_t) __cobalt_read(int fd, void *buf, size_t nbyte); __typeof__(ssize_t) __real_read(int fd, void *buf, size_t nbyte); __typeof__(ssize_t) __wrap_read(int fd, void *buf, size_t nbyte); + +__typeof__(ssize_t) __cobalt_write(int fd, const void *buf, size_t nbyte); __typeof__(ssize_t) __real_write(int fd, const void *buf, size_t nbyte); __typeof__(ssize_t) __wrap_write(int fd, const void *buf, size_t nbyte); + +__typeof__(int) __cobalt_close(int fildes); __typeof__(int) __real_close(int fildes); __typeof__(int) __wrap_close(int fildes); + +__typeof__(unsigned int) __cobalt_sleep(unsigned int seconds); __typeof__(unsigned int) __real_sleep(unsigned int seconds); __typeof__(unsigned int) __wrap_sleep(unsigned int seconds); + + +} +# 92 "./include/Bela.h" 2 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stdbool.h" 1 3 +# 93 "./include/Bela.h" 2 +# 1 "/usr/xenomai/include/cobalt/stdio.h" 1 +# 20 "/usr/xenomai/include/cobalt/stdio.h" 3 +# 1 "/usr/include/stdio.h" 1 3 4 +# 29 "/usr/include/stdio.h" 3 4 +extern "C" { + + + + +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 4 +# 34 "/usr/include/stdio.h" 2 3 4 +# 44 "/usr/include/stdio.h" 3 4 +struct _IO_FILE; + + + +typedef struct _IO_FILE FILE; +# 64 "/usr/include/stdio.h" 3 4 +typedef struct _IO_FILE __FILE; +# 74 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/libio.h" 1 3 4 +# 31 "/usr/include/libio.h" 3 4 +# 1 "/usr/include/_G_config.h" 1 3 4 +# 15 "/usr/include/_G_config.h" 3 4 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 4 +# 16 "/usr/include/_G_config.h" 2 3 4 + + + + +# 1 "/usr/include/wchar.h" 1 3 4 +# 82 "/usr/include/wchar.h" 3 4 +typedef struct +{ + int __count; + union + { + + unsigned int __wch; + + + + char __wchb[4]; + } __value; +} __mbstate_t; +# 21 "/usr/include/_G_config.h" 2 3 4 +typedef struct +{ + __off_t __pos; + __mbstate_t __state; +} _G_fpos_t; +typedef struct +{ + __off64_t __pos; + __mbstate_t __state; +} _G_fpos64_t; +# 32 "/usr/include/libio.h" 2 3 4 +# 49 "/usr/include/libio.h" 3 4 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stdarg.h" 1 3 4 +# 30 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stdarg.h" 3 4 +typedef __builtin_va_list va_list; +# 50 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stdarg.h" 3 4 +typedef __builtin_va_list __gnuc_va_list; +# 50 "/usr/include/libio.h" 2 3 4 +# 144 "/usr/include/libio.h" 3 4 +struct _IO_jump_t; struct _IO_FILE; + + + + + +typedef void _IO_lock_t; + + + + + +struct _IO_marker { + struct _IO_marker *_next; + struct _IO_FILE *_sbuf; + + + + int _pos; +# 173 "/usr/include/libio.h" 3 4 +}; + + +enum __codecvt_result +{ + __codecvt_ok, + __codecvt_partial, + __codecvt_error, + __codecvt_noconv +}; +# 241 "/usr/include/libio.h" 3 4 +struct _IO_FILE { + int _flags; + + + + + char* _IO_read_ptr; + char* _IO_read_end; + char* _IO_read_base; + char* _IO_write_base; + char* _IO_write_ptr; + char* _IO_write_end; + char* _IO_buf_base; + char* _IO_buf_end; + + char *_IO_save_base; + char *_IO_backup_base; + char *_IO_save_end; + + struct _IO_marker *_markers; + + struct _IO_FILE *_chain; + + int _fileno; + + + + int _flags2; + + __off_t _old_offset; + + + + unsigned short _cur_column; + signed char _vtable_offset; + char _shortbuf[1]; + + + + _IO_lock_t *_lock; +# 289 "/usr/include/libio.h" 3 4 + __off64_t _offset; + + + + + + + + void *__pad1; + void *__pad2; + void *__pad3; + void *__pad4; + + size_t __pad5; + int _mode; + + char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)]; + +}; + + + + + +struct _IO_FILE_plus; + +extern struct _IO_FILE_plus _IO_2_1_stdin_; +extern struct _IO_FILE_plus _IO_2_1_stdout_; +extern struct _IO_FILE_plus _IO_2_1_stderr_; +# 333 "/usr/include/libio.h" 3 4 +typedef __ssize_t __io_read_fn (void *__cookie, char *__buf, size_t __nbytes); + + + + + + + +typedef __ssize_t __io_write_fn (void *__cookie, const char *__buf, + size_t __n); + + + + + + + +typedef int __io_seek_fn (void *__cookie, __off64_t *__pos, int __w); + + +typedef int __io_close_fn (void *__cookie); + + + + +typedef __io_read_fn cookie_read_function_t; +typedef __io_write_fn cookie_write_function_t; +typedef __io_seek_fn cookie_seek_function_t; +typedef __io_close_fn cookie_close_function_t; + + +typedef struct +{ + __io_read_fn *read; + __io_write_fn *write; + __io_seek_fn *seek; + __io_close_fn *close; +} _IO_cookie_io_functions_t; +typedef _IO_cookie_io_functions_t cookie_io_functions_t; + +struct _IO_cookie_file; + + +extern void _IO_cookie_init (struct _IO_cookie_file *__cfile, int __read_write, + void *__cookie, _IO_cookie_io_functions_t __fns); + + + + +extern "C" { + + +extern int __underflow (_IO_FILE *); +extern int __uflow (_IO_FILE *); +extern int __overflow (_IO_FILE *, int); +# 429 "/usr/include/libio.h" 3 4 +extern int _IO_getc (_IO_FILE *__fp); +extern int _IO_putc (int __c, _IO_FILE *__fp); +extern int _IO_feof (_IO_FILE *__fp) throw (); +extern int _IO_ferror (_IO_FILE *__fp) throw (); + +extern int _IO_peekc_locked (_IO_FILE *__fp); + + + + + +extern void _IO_flockfile (_IO_FILE *) throw (); +extern void _IO_funlockfile (_IO_FILE *) throw (); +extern int _IO_ftrylockfile (_IO_FILE *) throw (); +# 459 "/usr/include/libio.h" 3 4 +extern int _IO_vfscanf (_IO_FILE * __restrict, const char * __restrict, + __gnuc_va_list, int *__restrict); +extern int _IO_vfprintf (_IO_FILE *__restrict, const char *__restrict, + __gnuc_va_list); +extern __ssize_t _IO_padn (_IO_FILE *, int, __ssize_t); +extern size_t _IO_sgetn (_IO_FILE *, void *, size_t); + +extern __off64_t _IO_seekoff (_IO_FILE *, __off64_t, int, int); +extern __off64_t _IO_seekpos (_IO_FILE *, __off64_t, int); + +extern void _IO_free_backup_area (_IO_FILE *) throw (); +# 521 "/usr/include/libio.h" 3 4 +} +# 75 "/usr/include/stdio.h" 2 3 4 + + + + +typedef __gnuc_va_list va_list; +# 112 "/usr/include/stdio.h" 3 4 +typedef _G_fpos_t fpos_t; + + + + + +typedef _G_fpos64_t fpos64_t; +# 166 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h" 1 3 4 +# 167 "/usr/include/stdio.h" 2 3 4 + + + +extern struct _IO_FILE *stdin; +extern struct _IO_FILE *stdout; +extern struct _IO_FILE *stderr; + + + + + + + +extern int remove (const char *__filename) throw (); + +extern int rename (const char *__old, const char *__new) throw (); + + + + +extern int renameat (int __oldfd, const char *__old, int __newfd, + const char *__new) throw (); +# 197 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile (void) ; +# 207 "/usr/include/stdio.h" 3 4 +extern FILE *tmpfile64 (void) ; + + + +extern char *tmpnam (char *__s) throw () ; + + + + + +extern char *tmpnam_r (char *__s) throw () ; +# 229 "/usr/include/stdio.h" 3 4 +extern char *tempnam (const char *__dir, const char *__pfx) + throw () __attribute__ ((__malloc__)) ; +# 239 "/usr/include/stdio.h" 3 4 +extern int fclose (FILE *__stream); + + + + +extern int fflush (FILE *__stream); +# 254 "/usr/include/stdio.h" 3 4 +extern int fflush_unlocked (FILE *__stream); +# 264 "/usr/include/stdio.h" 3 4 +extern int fcloseall (void); +# 274 "/usr/include/stdio.h" 3 4 +extern FILE *fopen (const char *__restrict __filename, + const char *__restrict __modes) ; + + + + +extern FILE *freopen (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) ; +# 299 "/usr/include/stdio.h" 3 4 +extern FILE *fopen64 (const char *__restrict __filename, + const char *__restrict __modes) ; +extern FILE *freopen64 (const char *__restrict __filename, + const char *__restrict __modes, + FILE *__restrict __stream) ; + + + + +extern FILE *fdopen (int __fd, const char *__modes) throw () ; + + + + + +extern FILE *fopencookie (void *__restrict __magic_cookie, + const char *__restrict __modes, + _IO_cookie_io_functions_t __io_funcs) throw () ; + + + + +extern FILE *fmemopen (void *__s, size_t __len, const char *__modes) + throw () ; + + + + +extern FILE *open_memstream (char **__bufloc, size_t *__sizeloc) throw () ; + + + + + + +extern void setbuf (FILE *__restrict __stream, char *__restrict __buf) throw (); + + + +extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf, + int __modes, size_t __n) throw (); + + + + + +extern void setbuffer (FILE *__restrict __stream, char *__restrict __buf, + size_t __size) throw (); + + +extern void setlinebuf (FILE *__stream) throw (); +# 358 "/usr/include/stdio.h" 3 4 +extern int fprintf (FILE *__restrict __stream, + const char *__restrict __format, ...); + + + + +extern int printf (const char *__restrict __format, ...); + +extern int sprintf (char *__restrict __s, + const char *__restrict __format, ...) throw (); + + + + + +extern int vfprintf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg); + + + + +extern int vprintf (const char *__restrict __format, __gnuc_va_list __arg); + +extern int vsprintf (char *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) throw (); + + + + + +extern int snprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, ...) + throw () __attribute__ ((__format__ (__printf__, 3, 4))); + +extern int vsnprintf (char *__restrict __s, size_t __maxlen, + const char *__restrict __format, __gnuc_va_list __arg) + throw () __attribute__ ((__format__ (__printf__, 3, 0))); + + + + + + +extern int vasprintf (char **__restrict __ptr, const char *__restrict __f, + __gnuc_va_list __arg) + throw () __attribute__ ((__format__ (__printf__, 2, 0))) ; +extern int __asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + throw () __attribute__ ((__format__ (__printf__, 2, 3))) ; +extern int asprintf (char **__restrict __ptr, + const char *__restrict __fmt, ...) + throw () __attribute__ ((__format__ (__printf__, 2, 3))) ; + + + + +extern int vdprintf (int __fd, const char *__restrict __fmt, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__printf__, 2, 0))); +extern int dprintf (int __fd, const char *__restrict __fmt, ...) + __attribute__ ((__format__ (__printf__, 2, 3))); +# 427 "/usr/include/stdio.h" 3 4 +extern int fscanf (FILE *__restrict __stream, + const char *__restrict __format, ...) ; + + + + +extern int scanf (const char *__restrict __format, ...) ; + +extern int sscanf (const char *__restrict __s, + const char *__restrict __format, ...) throw (); +# 473 "/usr/include/stdio.h" 3 4 +extern int vfscanf (FILE *__restrict __s, const char *__restrict __format, + __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 2, 0))) ; + + + + + +extern int vscanf (const char *__restrict __format, __gnuc_va_list __arg) + __attribute__ ((__format__ (__scanf__, 1, 0))) ; + + +extern int vsscanf (const char *__restrict __s, + const char *__restrict __format, __gnuc_va_list __arg) + throw () __attribute__ ((__format__ (__scanf__, 2, 0))); +# 533 "/usr/include/stdio.h" 3 4 +extern int fgetc (FILE *__stream); +extern int getc (FILE *__stream); + + + + + +extern int getchar (void); +# 552 "/usr/include/stdio.h" 3 4 +extern int getc_unlocked (FILE *__stream); +extern int getchar_unlocked (void); +# 563 "/usr/include/stdio.h" 3 4 +extern int fgetc_unlocked (FILE *__stream); +# 575 "/usr/include/stdio.h" 3 4 +extern int fputc (int __c, FILE *__stream); +extern int putc (int __c, FILE *__stream); + + + + + +extern int putchar (int __c); +# 596 "/usr/include/stdio.h" 3 4 +extern int fputc_unlocked (int __c, FILE *__stream); + + + + + + + +extern int putc_unlocked (int __c, FILE *__stream); +extern int putchar_unlocked (int __c); + + + + + + +extern int getw (FILE *__stream); + + +extern int putw (int __w, FILE *__stream); +# 624 "/usr/include/stdio.h" 3 4 +extern char *fgets (char *__restrict __s, int __n, FILE *__restrict __stream) + ; +# 640 "/usr/include/stdio.h" 3 4 +extern char *gets (char *__s) __attribute__ ((__deprecated__)); +# 651 "/usr/include/stdio.h" 3 4 +extern char *fgets_unlocked (char *__restrict __s, int __n, + FILE *__restrict __stream) ; +# 667 "/usr/include/stdio.h" 3 4 +extern __ssize_t __getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; +extern __ssize_t getdelim (char **__restrict __lineptr, + size_t *__restrict __n, int __delimiter, + FILE *__restrict __stream) ; + + + + + + + +extern __ssize_t getline (char **__restrict __lineptr, + size_t *__restrict __n, + FILE *__restrict __stream) ; +# 691 "/usr/include/stdio.h" 3 4 +extern int fputs (const char *__restrict __s, FILE *__restrict __stream); + + + + + +extern int puts (const char *__s); + + + + + + +extern int ungetc (int __c, FILE *__stream); + + + + + + +extern size_t fread (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; + + + + +extern size_t fwrite (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __s); +# 728 "/usr/include/stdio.h" 3 4 +extern int fputs_unlocked (const char *__restrict __s, + FILE *__restrict __stream); +# 739 "/usr/include/stdio.h" 3 4 +extern size_t fread_unlocked (void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream) ; +extern size_t fwrite_unlocked (const void *__restrict __ptr, size_t __size, + size_t __n, FILE *__restrict __stream); +# 751 "/usr/include/stdio.h" 3 4 +extern int fseek (FILE *__stream, long int __off, int __whence); + + + + +extern long int ftell (FILE *__stream) ; + + + + +extern void rewind (FILE *__stream); +# 775 "/usr/include/stdio.h" 3 4 +extern int fseeko (FILE *__stream, __off_t __off, int __whence); + + + + +extern __off_t ftello (FILE *__stream) ; +# 800 "/usr/include/stdio.h" 3 4 +extern int fgetpos (FILE *__restrict __stream, fpos_t *__restrict __pos); + + + + +extern int fsetpos (FILE *__stream, const fpos_t *__pos); +# 820 "/usr/include/stdio.h" 3 4 +extern int fseeko64 (FILE *__stream, __off64_t __off, int __whence); +extern __off64_t ftello64 (FILE *__stream) ; +extern int fgetpos64 (FILE *__restrict __stream, fpos64_t *__restrict __pos); +extern int fsetpos64 (FILE *__stream, const fpos64_t *__pos); + + + + +extern void clearerr (FILE *__stream) throw (); + +extern int feof (FILE *__stream) throw () ; + +extern int ferror (FILE *__stream) throw () ; + + + + +extern void clearerr_unlocked (FILE *__stream) throw (); +extern int feof_unlocked (FILE *__stream) throw () ; +extern int ferror_unlocked (FILE *__stream) throw () ; +# 848 "/usr/include/stdio.h" 3 4 +extern void perror (const char *__s); + + + + + + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h" 1 3 4 +# 26 "/usr/include/arm-linux-gnueabihf/bits/sys_errlist.h" 3 4 +extern int sys_nerr; +extern const char *const sys_errlist[]; + + +extern int _sys_nerr; +extern const char *const _sys_errlist[]; +# 856 "/usr/include/stdio.h" 2 3 4 + + + + +extern int fileno (FILE *__stream) throw () ; + + + + +extern int fileno_unlocked (FILE *__stream) throw () ; +# 874 "/usr/include/stdio.h" 3 4 +extern FILE *popen (const char *__command, const char *__modes) ; + + + + + +extern int pclose (FILE *__stream); + + + + + +extern char *ctermid (char *__s) throw (); + + + + + +extern char *cuserid (char *__s); + + + + +struct obstack; + + +extern int obstack_printf (struct obstack *__restrict __obstack, + const char *__restrict __format, ...) + throw () __attribute__ ((__format__ (__printf__, 2, 3))); +extern int obstack_vprintf (struct obstack *__restrict __obstack, + const char *__restrict __format, + __gnuc_va_list __args) + throw () __attribute__ ((__format__ (__printf__, 2, 0))); + + + + + + + +extern void flockfile (FILE *__stream) throw (); + + + +extern int ftrylockfile (FILE *__stream) throw () ; + + +extern void funlockfile (FILE *__stream) throw (); +# 935 "/usr/include/stdio.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 1 3 4 +# 35 "/usr/include/arm-linux-gnueabihf/bits/stdio.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) int +vprintf (const char *__restrict __fmt, __gnuc_va_list __arg) +{ + return vfprintf (stdout, __fmt, __arg); +} + + + +extern __inline __attribute__ ((__gnu_inline__)) int +getchar (void) +{ + return _IO_getc (stdin); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fgetc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +getc_unlocked (FILE *__fp) +{ + return (__builtin_expect (((__fp)->_IO_read_ptr >= (__fp)->_IO_read_end), 0) ? __uflow (__fp) : *(unsigned char *) (__fp)->_IO_read_ptr++); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +getchar_unlocked (void) +{ + return (__builtin_expect (((stdin)->_IO_read_ptr >= (stdin)->_IO_read_end), 0) ? __uflow (stdin) : *(unsigned char *) (stdin)->_IO_read_ptr++); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar (int __c) +{ + return _IO_putc (__c, stdout); +} + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +fputc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int +putc_unlocked (int __c, FILE *__stream) +{ + return (__builtin_expect (((__stream)->_IO_write_ptr >= (__stream)->_IO_write_end), 0) ? __overflow (__stream, (unsigned char) (__c)) : (unsigned char) (*(__stream)->_IO_write_ptr++ = (__c))); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int +putchar_unlocked (int __c) +{ + return (__builtin_expect (((stdout)->_IO_write_ptr >= (stdout)->_IO_write_end), 0) ? __overflow (stdout, (unsigned char) (__c)) : (unsigned char) (*(stdout)->_IO_write_ptr++ = (__c))); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) __ssize_t +getline (char **__lineptr, size_t *__n, FILE *__stream) +{ + return __getdelim (__lineptr, __n, '\n', __stream); +} + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int + feof_unlocked (FILE *__stream) throw () +{ + return (((__stream)->_flags & 0x10) != 0); +} + + +extern __inline __attribute__ ((__gnu_inline__)) int + ferror_unlocked (FILE *__stream) throw () +{ + return (((__stream)->_flags & 0x20) != 0); +} +# 936 "/usr/include/stdio.h" 2 3 4 + + + + + + + + +} +# 21 "/usr/xenomai/include/cobalt/stdio.h" 2 3 + + + + +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 +# 26 "/usr/xenomai/include/cobalt/stdio.h" 2 3 + +# 1 "/usr/xenomai/include/xeno_config.h" 1 3 +# 28 "/usr/xenomai/include/cobalt/stdio.h" 2 3 + + + +extern "C" { + + +__typeof__(int) __cobalt_vfprintf(FILE *stream, const char *fmt, va_list args); __typeof__(int) __real_vfprintf(FILE *stream, const char *fmt, va_list args); __typeof__(int) __wrap_vfprintf(FILE *stream, const char *fmt, va_list args); + + + +__typeof__(int) __cobalt___vfprintf_chk(FILE *stream, int level, const char *fmt, va_list ap); __typeof__(int) __real___vfprintf_chk(FILE *stream, int level, const char *fmt, va_list ap); __typeof__(int) __wrap___vfprintf_chk(FILE *stream, int level, const char *fmt, va_list ap); + + +__typeof__(int) __cobalt___vprintf_chk(int flag, const char *fmt, va_list ap); __typeof__(int) __real___vprintf_chk(int flag, const char *fmt, va_list ap); __typeof__(int) __wrap___vprintf_chk(int flag, const char *fmt, va_list ap); + + +__typeof__(int) __cobalt___printf_chk(int flag, const char *fmt, ...); __typeof__(int) __real___printf_chk(int flag, const char *fmt, ...); __typeof__(int) __wrap___printf_chk(int flag, const char *fmt, ...); + +__typeof__(int) __cobalt___fprintf_chk(FILE *fp, int flag, const char *fmt, ...); __typeof__(int) __real___fprintf_chk(FILE *fp, int flag, const char *fmt, ...); __typeof__(int) __wrap___fprintf_chk(FILE *fp, int flag, const char *fmt, ...); + +int __rt_vfprintf_chk(FILE *stream, int level, + const char *fmt, va_list args); + +void __rt_vsyslog_chk(int priority, int level, + const char *fmt, va_list args); + + + +__typeof__(int) __cobalt_vprintf(const char *fmt, va_list args); __typeof__(int) __real_vprintf(const char *fmt, va_list args); __typeof__(int) __wrap_vprintf(const char *fmt, va_list args); + +__typeof__(int) __cobalt_fprintf(FILE *stream, const char *fmt, ...); __typeof__(int) __real_fprintf(FILE *stream, const char *fmt, ...); __typeof__(int) __wrap_fprintf(FILE *stream, const char *fmt, ...); + +__typeof__(int) __cobalt_printf(const char *fmt, ...); __typeof__(int) __real_printf(const char *fmt, ...); __typeof__(int) __wrap_printf(const char *fmt, ...); + +__typeof__(int) __cobalt_puts(const char *s); __typeof__(int) __real_puts(const char *s); __typeof__(int) __wrap_puts(const char *s); + +__typeof__(int) __cobalt_fputs(const char *s, FILE *stream); __typeof__(int) __real_fputs(const char *s, FILE *stream); __typeof__(int) __wrap_fputs(const char *s, FILE *stream); + + +__typeof__(int) __cobalt_putchar(int c); __typeof__(int) __real_putchar(int c); __typeof__(int) __wrap_putchar(int c); +# 80 "/usr/xenomai/include/cobalt/stdio.h" 3 +__typeof__(int) __cobalt_fputc(int c, FILE *stream); __typeof__(int) __real_fputc(int c, FILE *stream); __typeof__(int) __wrap_fputc(int c, FILE *stream); +# 92 "/usr/xenomai/include/cobalt/stdio.h" 3 +__typeof__(size_t) __cobalt_fwrite(const void *ptr, size_t sz, size_t nmemb, FILE *stream); __typeof__(size_t) __real_fwrite(const void *ptr, size_t sz, size_t nmemb, FILE *stream); __typeof__(size_t) __wrap_fwrite(const void *ptr, size_t sz, size_t nmemb, FILE *stream); + + +__typeof__(int) __cobalt_fclose(FILE *stream); __typeof__(int) __real_fclose(FILE *stream); __typeof__(int) __wrap_fclose(FILE *stream); + +int rt_vfprintf(FILE *stream, const char *format, va_list args); + +int rt_vprintf(const char *format, va_list args); + +int rt_fprintf(FILE *stream, const char *format, ...); + +int rt_printf(const char *format, ...); + +int rt_puts(const char *s); + +int rt_fputs(const char *s, FILE *stream); + +int rt_fputc(int c, FILE *stream); + +int rt_putchar(int c); + +size_t rt_fwrite(const void *ptr, size_t size, size_t nmemb, FILE *stream); + +void rt_syslog(int priority, const char *format, ...); + +void rt_vsyslog(int priority, const char *format, va_list args); + +int rt_print_init(size_t buffer_size, const char *name); + +const char *rt_print_buffer_name(void); + +void rt_print_flush_buffers(void); + + +} +# 94 "./include/Bela.h" 2 + + + +int rt_printf(const char *format, ...); +int rt_fprintf(FILE *stream, const char *format, ...); +int rt_vprintf(const char *format, va_list ap); +int rt_vfprintf(FILE *stream, const char *format, va_list ap); + + + + +typedef enum +{ + BelaHw_NoHw = -1, + BelaHw_Bela, + BelaHw_BelaMini, + BelaHw_Salt, + BelaHw_CtagFace, + BelaHw_CtagBeast, + BelaHw_CtagFaceBela, + BelaHw_CtagBeastBela, + BelaHw_BelaMiniMultiAudio, + BelaHw_BelaMiniMultiTdm, + BelaHw_BelaMultiTdm, + BelaHw_BelaMiniMultiI2s, + BelaHw_BelaEs9080, + BelaHw_BelaRevC, + BelaHw_Batch, +} BelaHw; + +typedef struct _BelaHwConfig +{ + float audioSampleRate; + unsigned int audioInChannels; + unsigned int audioOutChannels; + unsigned int analogInChannels; + unsigned int analogOutChannels; + unsigned int digitalChannels; +} BelaHwConfig; + + + + + + + +BelaHwConfig* Bela_HwConfig_new(BelaHw hw); + + + + +void Bela_HwConfig_delete(BelaHwConfig* cfg); + + + + +typedef enum +{ + BelaHwDetectMode_Scan, + BelaHwDetectMode_Cache, + BelaHwDetectMode_CacheOnly, + BelaHwDetectMode_User, + BelaHwDetectMode_UserOnly, +} BelaHwDetectMode; + + +# 1 "./include/GPIOcontrol.h" 1 +# 41 "./include/GPIOcontrol.h" +extern "C" +{ +# 53 "./include/GPIOcontrol.h" +enum PIN_DIRECTION{ + INPUT_PIN=0, + OUTPUT_PIN=1 +}; + +enum PIN_VALUE{ + LOW=0, + HIGH=1 +}; + + + + +int gpio_setup(unsigned int gpio, int out_flag); +int gpio_export(unsigned int gpio); +int gpio_unexport(unsigned int gpio); +int gpio_set_dir(unsigned int gpio, int out_flag); +int gpio_set_value(unsigned int gpio, int value); +int gpio_get_value(unsigned int gpio, unsigned int *value); +int gpio_set_edge(unsigned int gpio, char *edge); +int gpio_fd_open(unsigned int gpio, int writeFlag); +int gpio_fd_close(int fd); +int gpio_write(int fd, int value); +int gpio_read(int fd, unsigned int *value); +int gpio_dismiss(int fd, unsigned int gpio); + +int led_set_trigger(unsigned int lednum, const char *trigger); + + +} +# 160 "./include/Bela.h" 2 +# 219 "./include/Bela.h" +struct option; +# 229 "./include/Bela.h" +typedef struct { +# 247 "./include/Bela.h" + const float * const audioIn; +# 262 "./include/Bela.h" + float * const audioOut; +# 281 "./include/Bela.h" + const float * const analogIn; +# 296 "./include/Bela.h" + float * const analogOut; +# 306 "./include/Bela.h" + uint32_t * const digital; +# 320 "./include/Bela.h" + const uint32_t audioFrames; + + const uint32_t audioInChannels; + + const uint32_t audioOutChannels; + + const float audioSampleRate; +# 339 "./include/Bela.h" + const uint32_t analogFrames; + + + + + const uint32_t analogInChannels; + + + + + const uint32_t analogOutChannels; +# 360 "./include/Bela.h" + const float analogSampleRate; + + + const uint32_t digitalFrames; + + + + const uint32_t digitalChannels; + + const float digitalSampleRate; + + + + + + + + const uint64_t audioFramesElapsed; + + + + + + const uint32_t multiplexerChannels; + + + + + + const uint32_t multiplexerStartingChannel; + + + + + + + const float * const multiplexerAnalogIn; + + + + + + const uint32_t audioExpanderEnabled; +# 412 "./include/Bela.h" + const uint32_t flags; + + + char projectName[256]; + + + const unsigned int underrunCount; +} BelaContext; + +struct BelaChannelGain { + int channel; + float gain; +}; + +struct BelaChannelGainArray { + unsigned int length; + struct BelaChannelGain* data; +}; +# 439 "./include/Bela.h" +typedef struct { + + + + + + + + int periodSize; + + int useAnalog; + + int useDigital; + + int numAudioInChannels; + + int numAudioOutChannels; + + int numAnalogInChannels; + + int numAnalogOutChannels; + + int numDigitalChannels; + + + int beginMuted; + + float dacLevel; + + float adcLevel; + + float pgaGain[2]; + + float headphoneLevel; + + int numMuxChannels; + + unsigned int audioExpanderInputs; + + unsigned int audioExpanderOutputs; + + + int pruNumber; + + char pruFilename[256]; + + int detectUnderruns; + + int verbose; + + int enableLED; + + + int stopButtonPin; + + + + + int highPerformanceMode; + + + + + + int interleave; + + + + int analogOutputsPersist; + + + int uniformSampleRate; + + + unsigned int audioThreadStackSize; + + + unsigned int auxiliaryTaskStackSize; + + + bool (*setup)(BelaContext*, void*); + void (*render)(BelaContext*, void*); + void (*cleanup)(BelaContext*, void*); + + + + + int ampMutePin; + + + + void (*audioThreadDone)(BelaContext*, void*); + + char* codecMode; + + struct BelaChannelGainArray audioInputGains; + + struct BelaChannelGainArray headphoneGains; + + struct BelaChannelGainArray adcGains; + + struct BelaChannelGainArray lineOutGains; + + char unused[224]; + + + BelaHw board; + + + char* projectName; + +} BelaInitSettings; + + + + + + +typedef void* AuxiliaryTask; +# 575 "./include/Bela.h" +extern int volatile gShouldStop; +# 605 "./include/Bela.h" +bool setup(BelaContext *context, void *userData); +# 621 "./include/Bela.h" +void render(BelaContext *context, void *userData); +# 638 "./include/Bela.h" +void cleanup(BelaContext *context, void *userData); +# 661 "./include/Bela.h" +BelaInitSettings* Bela_InitSettings_alloc(); +# 671 "./include/Bela.h" +void Bela_InitSettings_free(BelaInitSettings* settings); +# 682 "./include/Bela.h" +void Bela_defaultSettings(BelaInitSettings *settings); + +#pragma weak Bela_userSettings +# 696 "./include/Bela.h" +void Bela_userSettings(BelaInitSettings *settings); +# 719 "./include/Bela.h" +int Bela_getopt_long(int argc, char * const argv[], const char *customShortOptions, + const struct option *customLongOptions, BelaInitSettings *settings); +# 729 "./include/Bela.h" +void Bela_usage(); + + + + +void Bela_getVersion(int* major, int* minor, int* bugfix); + + + + + + + +void Bela_setVerboseLevel(int level); +# 751 "./include/Bela.h" +BelaHw Bela_detectHw(BelaHwDetectMode mode); +# 770 "./include/Bela.h" +int Bela_initAudio(BelaInitSettings *settings, void *userData); +# 780 "./include/Bela.h" +int Bela_startAudio(); +# 790 "./include/Bela.h" +int Bela_runInSameThread(); + + + + + + + +void Bela_stopAudio(); +# 807 "./include/Bela.h" +void Bela_cleanupAudio(); +# 816 "./include/Bela.h" +void Bela_setUserData(void* newUserData); +# 830 "./include/Bela.h" +void Bela_requestStop(); +# 841 "./include/Bela.h" +int Bela_stopRequested(); +# 867 "./include/Bela.h" +# 1 "/usr/xenomai/include/cobalt/time.h" 1 +# 19 "/usr/xenomai/include/cobalt/time.h" 3 +# 1 "/usr/include/time.h" 1 3 4 +# 29 "/usr/include/time.h" 3 4 +extern "C" { + + + + + + + + +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 4 +# 38 "/usr/include/time.h" 2 3 4 + + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/time.h" 1 3 4 +# 30 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4 +struct timeval + { + __time_t tv_sec; + __suseconds_t tv_usec; + }; +# 88 "/usr/include/arm-linux-gnueabihf/bits/time.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 1 3 4 +# 25 "/usr/include/arm-linux-gnueabihf/bits/timex.h" 3 4 +struct timex +{ + unsigned int modes; + __syscall_slong_t offset; + __syscall_slong_t freq; + __syscall_slong_t maxerror; + __syscall_slong_t esterror; + int status; + __syscall_slong_t constant; + __syscall_slong_t precision; + __syscall_slong_t tolerance; + struct timeval time; + __syscall_slong_t tick; + __syscall_slong_t ppsfreq; + __syscall_slong_t jitter; + int shift; + __syscall_slong_t stabil; + __syscall_slong_t jitcnt; + __syscall_slong_t calcnt; + __syscall_slong_t errcnt; + __syscall_slong_t stbcnt; + + int tai; + + + int :32; int :32; int :32; int :32; + int :32; int :32; int :32; int :32; + int :32; int :32; int :32; +}; +# 89 "/usr/include/arm-linux-gnueabihf/bits/time.h" 2 3 4 + +extern "C" { + + +extern int clock_adjtime (__clockid_t __clock_id, struct timex *__utx) throw (); + +} +# 42 "/usr/include/time.h" 2 3 4 +# 59 "/usr/include/time.h" 3 4 +typedef __clock_t clock_t; +# 75 "/usr/include/time.h" 3 4 +typedef __time_t time_t; +# 91 "/usr/include/time.h" 3 4 +typedef __clockid_t clockid_t; +# 103 "/usr/include/time.h" 3 4 +typedef __timer_t timer_t; +# 120 "/usr/include/time.h" 3 4 +struct timespec + { + __time_t tv_sec; + __syscall_slong_t tv_nsec; + }; +# 133 "/usr/include/time.h" 3 4 +struct tm +{ + int tm_sec; + int tm_min; + int tm_hour; + int tm_mday; + int tm_mon; + int tm_year; + int tm_wday; + int tm_yday; + int tm_isdst; + + + long int tm_gmtoff; + const char *tm_zone; + + + + +}; +# 161 "/usr/include/time.h" 3 4 +struct itimerspec + { + struct timespec it_interval; + struct timespec it_value; + }; + + +struct sigevent; +# 189 "/usr/include/time.h" 3 4 +extern clock_t clock (void) throw (); + + +extern time_t time (time_t *__timer) throw (); + + +extern double difftime (time_t __time1, time_t __time0) + throw () __attribute__ ((__const__)); + + +extern time_t mktime (struct tm *__tp) throw (); + + + + + +extern size_t strftime (char *__restrict __s, size_t __maxsize, + const char *__restrict __format, + const struct tm *__restrict __tp) throw (); + + + + + +extern char *strptime (const char *__restrict __s, + const char *__restrict __fmt, struct tm *__tp) + throw (); + + + + + + +# 1 "/usr/include/xlocale.h" 1 3 4 +# 27 "/usr/include/xlocale.h" 3 4 +typedef struct __locale_struct +{ + + struct __locale_data *__locales[13]; + + + const unsigned short int *__ctype_b; + const int *__ctype_tolower; + const int *__ctype_toupper; + + + const char *__names[13]; +} *__locale_t; + + +typedef __locale_t locale_t; +# 222 "/usr/include/time.h" 2 3 4 + +extern size_t strftime_l (char *__restrict __s, size_t __maxsize, + const char *__restrict __format, + const struct tm *__restrict __tp, + __locale_t __loc) throw (); + + + +extern char *strptime_l (const char *__restrict __s, + const char *__restrict __fmt, struct tm *__tp, + __locale_t __loc) throw (); + + + + + + +extern struct tm *gmtime (const time_t *__timer) throw (); + + + +extern struct tm *localtime (const time_t *__timer) throw (); + + + + + +extern struct tm *gmtime_r (const time_t *__restrict __timer, + struct tm *__restrict __tp) throw (); + + + +extern struct tm *localtime_r (const time_t *__restrict __timer, + struct tm *__restrict __tp) throw (); + + + + + +extern char *asctime (const struct tm *__tp) throw (); + + +extern char *ctime (const time_t *__timer) throw (); + + + + + + + +extern char *asctime_r (const struct tm *__restrict __tp, + char *__restrict __buf) throw (); + + +extern char *ctime_r (const time_t *__restrict __timer, + char *__restrict __buf) throw (); + + + + +extern char *__tzname[2]; +extern int __daylight; +extern long int __timezone; + + + + +extern char *tzname[2]; + + + +extern void tzset (void) throw (); + + + +extern int daylight; +extern long int timezone; + + + + + +extern int stime (const time_t *__when) throw (); +# 319 "/usr/include/time.h" 3 4 +extern time_t timegm (struct tm *__tp) throw (); + + +extern time_t timelocal (struct tm *__tp) throw (); + + +extern int dysize (int __year) throw () __attribute__ ((__const__)); +# 334 "/usr/include/time.h" 3 4 +extern int nanosleep (const struct timespec *__requested_time, + struct timespec *__remaining); + + + +extern int clock_getres (clockid_t __clock_id, struct timespec *__res) throw (); + + +extern int clock_gettime (clockid_t __clock_id, struct timespec *__tp) throw (); + + +extern int clock_settime (clockid_t __clock_id, const struct timespec *__tp) + throw (); + + + + + + +extern int clock_nanosleep (clockid_t __clock_id, int __flags, + const struct timespec *__req, + struct timespec *__rem); + + +extern int clock_getcpuclockid (pid_t __pid, clockid_t *__clock_id) throw (); + + + + +extern int timer_create (clockid_t __clock_id, + struct sigevent *__restrict __evp, + timer_t *__restrict __timerid) throw (); + + +extern int timer_delete (timer_t __timerid) throw (); + + +extern int timer_settime (timer_t __timerid, int __flags, + const struct itimerspec *__restrict __value, + struct itimerspec *__restrict __ovalue) throw (); + + +extern int timer_gettime (timer_t __timerid, struct itimerspec *__value) + throw (); + + +extern int timer_getoverrun (timer_t __timerid) throw (); + + + + + +extern int timespec_get (struct timespec *__ts, int __base) + throw () __attribute__ ((__nonnull__ (1))); +# 403 "/usr/include/time.h" 3 4 +extern int getdate_err; +# 412 "/usr/include/time.h" 3 4 +extern struct tm *getdate (const char *__string); +# 426 "/usr/include/time.h" 3 4 +extern int getdate_r (const char *__restrict __string, + struct tm *__restrict __resbufp); + + +} +# 20 "/usr/xenomai/include/cobalt/time.h" 2 3 + + + + + + + +# 1 "/usr/xenomai/include/cobalt/uapi/time.h" 1 3 +# 28 "/usr/xenomai/include/cobalt/time.h" 2 3 + + +extern "C" { + + +struct timex; + +__typeof__(int) __cobalt_clock_getres(clockid_t clock_id, struct timespec *tp); __typeof__(int) __real_clock_getres(clockid_t clock_id, struct timespec *tp); __typeof__(int) __wrap_clock_getres(clockid_t clock_id, struct timespec *tp); + + +__typeof__(int) __cobalt_clock_gettime(clockid_t clock_id, struct timespec *tp); __typeof__(int) __real_clock_gettime(clockid_t clock_id, struct timespec *tp); __typeof__(int) __wrap_clock_gettime(clockid_t clock_id, struct timespec *tp); + + +__typeof__(int) __cobalt_clock_settime(clockid_t clock_id, const struct timespec *tp); __typeof__(int) __real_clock_settime(clockid_t clock_id, const struct timespec *tp); __typeof__(int) __wrap_clock_settime(clockid_t clock_id, const struct timespec *tp); + + +__typeof__(int) __cobalt_clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); __typeof__(int) __real_clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); __typeof__(int) __wrap_clock_nanosleep(clockid_t clock_id, int flags, const struct timespec *rqtp, struct timespec *rmtp); + + + + +__typeof__(time_t) __cobalt_time(time_t *t); __typeof__(time_t) __real_time(time_t *t); __typeof__(time_t) __wrap_time(time_t *t); + +__typeof__(int) __cobalt_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); __typeof__(int) __real_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); __typeof__(int) __wrap_nanosleep(const struct timespec *rqtp, struct timespec *rmtp); + + +__typeof__(int) __cobalt_timer_create(clockid_t clockid, const struct sigevent *__restrict__ evp, timer_t * __restrict__ timerid); __typeof__(int) __real_timer_create(clockid_t clockid, const struct sigevent *__restrict__ evp, timer_t * __restrict__ timerid); __typeof__(int) __wrap_timer_create(clockid_t clockid, const struct sigevent *__restrict__ evp, timer_t * __restrict__ timerid); + + + +__typeof__(int) __cobalt_timer_delete(timer_t timerid); __typeof__(int) __real_timer_delete(timer_t timerid); __typeof__(int) __wrap_timer_delete(timer_t timerid); + +__typeof__(int) __cobalt_timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); __typeof__(int) __real_timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); __typeof__(int) __wrap_timer_settime(timer_t timerid, int flags, const struct itimerspec *value, struct itimerspec *ovalue); + + + + +__typeof__(int) __cobalt_timer_gettime(timer_t timerid, struct itimerspec *value); __typeof__(int) __real_timer_gettime(timer_t timerid, struct itimerspec *value); __typeof__(int) __wrap_timer_gettime(timer_t timerid, struct itimerspec *value); + + +__typeof__(int) __cobalt_timer_getoverrun(timer_t timerid); __typeof__(int) __real_timer_getoverrun(timer_t timerid); __typeof__(int) __wrap_timer_getoverrun(timer_t timerid); + + +} +# 868 "./include/Bela.h" 2 +typedef struct { + int count; + unsigned int currentCount; + long long unsigned int busy; + long long unsigned int total; + struct timespec tic; + struct timespec toc; + float percentage; +} BelaCpuData; + + + + + +int Bela_cpuMonitoringInit(int count); + + + + + + +BelaCpuData* Bela_cpuMonitoringGet(); + + + + + + + +void Bela_cpuTic(BelaCpuData* data); + + + + + +void Bela_cpuToc(BelaCpuData* data); +# 930 "./include/Bela.h" +int Bela_setLineOutLevel(int channel, float decibel); +# 939 "./include/Bela.h" +int Bela_setDacLevel(int channel, float decibels); + + + + + + +int Bela_setDACLevel(float decibels); +# 963 "./include/Bela.h" +int Bela_setAdcLevel(int channel, float decibels); + + + + + + +int Bela_setADCLevel(float decibels); +# 989 "./include/Bela.h" +int Bela_setAudioInputGain(int channel, float decibels); + + + + + + +int Bela_setPgaGain(float decibels, int channel); +# 1014 "./include/Bela.h" +int Bela_setHpLevel(int channel, float decibels); + + + + +int Bela_setHeadphoneLevel(float decibels); +# 1034 "./include/Bela.h" +int Bela_muteSpeakers(int mute); +# 1070 "./include/Bela.h" +AuxiliaryTask Bela_createAuxiliaryTask(void (*callback)(void*), int priority, const char *name, void* arg + += __null + +); +# 1091 "./include/Bela.h" +int Bela_scheduleAuxiliaryTask(AuxiliaryTask task); +# 1106 "./include/Bela.h" +AuxiliaryTask Bela_runAuxiliaryTask(void (*callback)(void*), int priority = 0, void* arg = nullptr); +# 1126 "./include/Bela.h" +int Bela_startAuxiliaryTask(AuxiliaryTask task); +int Bela_startAllAuxiliaryTasks(); +void Bela_stopAllAuxiliaryTasks(); +void Bela_deleteAllAuxiliaryTasks(); + + + + + + +# 1 "./include/Utilities.h" 1 +# 29 "./include/Utilities.h" +static inline float map(float x, float in_min, float in_max, float out_min, float out_max); +# 47 "./include/Utilities.h" +static inline float constrain(float x, float min_val, float max_val); + + + + + + +static inline float min(float x, float y); + + + + + + +static inline float max(float x, float y); +# 71 "./include/Utilities.h" +static inline float map(float x, float in_min, float in_max, float out_min, float out_max) +{ + return (x - in_min) * (out_max - out_min) / (in_max - in_min) + out_min; +} + + + + + + +static inline float constrain(float x, float min_val, float max_val) +{ + if(x < min_val) return min_val; + if(x > max_val) return max_val; + return x; +} + +static inline float max(float x, float y){ + return x > y ? x : y; +} + +static inline float min(float x, float y){ + return x < y ? x : y; +} +# 1136 "./include/Bela.h" 2 +# 1154 "./include/Bela.h" +enum { + INPUT = 0, + OUTPUT = 1, +}; +# 1205 "./include/Bela.h" +static inline float audioRead(BelaContext *context, int frame, int channel); + + + + + + +static inline float audioReadNI(BelaContext *context, int frame, int channel); +# 1227 "./include/Bela.h" +static inline void audioWrite(BelaContext *context, int frame, int channel, float value); + + + + + + +static inline void audioWriteNI(BelaContext *context, int frame, int channel, float value); +# 1249 "./include/Bela.h" +static inline float analogRead(BelaContext *context, int frame, int channel); + + + + + + +static inline float analogReadNI(BelaContext *context, int frame, int channel); +# 1274 "./include/Bela.h" +static inline void analogWrite(BelaContext *context, int frame, int channel, float value); + + + + + + +static inline void analogWriteNI(BelaContext *context, int frame, int channel, float value); +# 1302 "./include/Bela.h" +static inline void analogWriteOnce(BelaContext *context, int frame, int channel, float value); + + + + + + +static inline void analogWriteOnceNI(BelaContext *context, int frame, int channel, float value); +# 1325 "./include/Bela.h" +static inline int digitalRead(BelaContext *context, int frame, int channel); +# 1343 "./include/Bela.h" +static inline void digitalWrite(BelaContext *context, int frame, int channel, int value); +# 1363 "./include/Bela.h" +static inline void digitalWriteOnce(BelaContext *context, int frame, int channel, int value); +# 1381 "./include/Bela.h" +static inline void pinMode(BelaContext *context, int frame, int channel, int mode); +# 1399 "./include/Bela.h" +static inline void pinModeOnce(BelaContext *context, int frame, int channel, int mode); +# 1424 "./include/Bela.h" +static inline float multiplexerAnalogRead(BelaContext *context, int input, int muxChannel); +# 1447 "./include/Bela.h" +static inline unsigned int multiplexerChannelForFrame(BelaContext *context, int frame); + + + + + + +static inline float audioRead(BelaContext *context, int frame, int channel) { + return context->audioIn[frame * context->audioInChannels + channel]; +} + +static inline float audioReadNI(BelaContext *context, int frame, int channel) { + return context->audioIn[channel * context->audioFrames + frame]; +} + + + + +static inline void audioWrite(BelaContext *context, int frame, int channel, float value) { + context->audioOut[frame * context->audioOutChannels + channel] = value; +} + +static inline void audioWriteNI(BelaContext *context, int frame, int channel, float value) { + context->audioOut[channel * context->audioFrames + frame] = value; +} + + + + +static inline float analogRead(BelaContext *context, int frame, int channel) { + return context->analogIn[frame * context->analogInChannels + channel]; +} + +static inline float analogReadNI(BelaContext *context, int frame, int channel) { + return context->analogIn[channel * context->analogFrames + frame]; +} + + + + +static inline void analogWriteOnce(BelaContext *context, int frame, int channel, float value) { + context->analogOut[frame * context->analogOutChannels + channel] = value; +} + +static inline void analogWriteOnceNI(BelaContext *context, int frame, int channel, float value) { + context->analogOut[channel * context->analogFrames + frame] = value; +} + + + + + +static inline void analogWrite(BelaContext *context, int frame, int channel, float value) { + unsigned int f; + for(f = frame; f < context->analogFrames; f++) + analogWriteOnce(context, f, channel, value); +} + +static inline void analogWriteNI(BelaContext *context, int frame, int channel, float value) { + unsigned int f; + for(f = frame; f < context->analogFrames; f++) + analogWriteOnceNI(context, f, channel, value); +} + + + + +static inline int digitalRead(BelaContext *context, int frame, int channel) { + return (((context->digital[frame]) >> (channel + 16)) & 1); +} + + + + +static inline void digitalWrite(BelaContext *context, int frame, int channel, int value) { + unsigned int f; + for(f = frame; f < context->digitalFrames; f++) { + if(value) + context->digital[f] |= 1 << (channel + 16); + else + context->digital[f] &= ~(1 << (channel + 16)); + } +} + + + + +static inline void digitalWriteOnce(BelaContext *context, int frame, int channel, int value) { + if(value) + context->digital[frame] |= 1 << (channel + 16); + else + context->digital[frame] &= ~(1 << (channel + 16)); +} + + + + +static inline void pinMode(BelaContext *context, int frame, int channel, int mode) { + unsigned int f; + for(f = frame; f < context->digitalFrames; f++) { + if(mode == INPUT) + context->digital[f] |= (1 << channel); + else + context->digital[f] &= ~(1 << channel); + } +} + + + + +static inline void pinModeOnce(BelaContext *context, int frame, int channel, int mode) { + if(mode == INPUT) + context->digital[frame] |= (1 << channel); + else + context->digital[frame] &= ~(1 << channel); +} + + + + +static inline float multiplexerAnalogRead(BelaContext *context, int input, int muxChannel) { + return context->multiplexerAnalogIn[muxChannel * context->analogInChannels + input]; +} + + + + +static inline unsigned int multiplexerChannelForFrame(BelaContext *context, int frame) { + if(context->multiplexerChannels <= 1) + return 1; + return (context->multiplexerStartingChannel + frame) % context->multiplexerChannels; +} + + +} +# 49 "/root/Bela/projects/my_ultrasonic_ranger2/render.cpp" 2 +# 1 "/usr/xenomai/include/cobalt/stdlib.h" 1 +# 19 "/usr/xenomai/include/cobalt/stdlib.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/stdlib.h" 1 3 +# 36 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/stdlib.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdlib" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdlib" 3 + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++config.h" 1 3 +# 199 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++config.h" 3 +namespace std +{ + typedef unsigned int size_t; + typedef int ptrdiff_t; + + + typedef decltype(nullptr) nullptr_t; + +} +# 221 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++config.h" 3 +namespace std +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +namespace __gnu_cxx +{ + inline namespace __cxx11 __attribute__((__abi_tag__ ("cxx11"))) { } +} +# 507 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++config.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/os_defines.h" 1 3 +# 508 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++config.h" 2 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/cpu_defines.h" 1 3 +# 511 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++config.h" 2 3 +# 42 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdlib" 2 3 +# 75 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdlib" 3 +# 1 "/usr/include/stdlib.h" 1 3 4 +# 32 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 4 +# 33 "/usr/include/stdlib.h" 2 3 4 + +extern "C" { + + + + + + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/waitflags.h" 1 3 4 +# 50 "/usr/include/arm-linux-gnueabihf/bits/waitflags.h" 3 4 +typedef enum +{ + P_ALL, + P_PID, + P_PGID +} idtype_t; +# 42 "/usr/include/stdlib.h" 2 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/waitstatus.h" 1 3 4 +# 43 "/usr/include/stdlib.h" 2 3 4 +# 58 "/usr/include/stdlib.h" 3 4 +typedef struct + { + int quot; + int rem; + } div_t; + + + +typedef struct + { + long int quot; + long int rem; + } ldiv_t; + + + + + + + +__extension__ typedef struct + { + long long int quot; + long long int rem; + } lldiv_t; +# 100 "/usr/include/stdlib.h" 3 4 +extern size_t __ctype_get_mb_cur_max (void) throw () ; + + + + +extern double atof (const char *__nptr) + throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern int atoi (const char *__nptr) + throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + +extern long int atol (const char *__nptr) + throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + + +__extension__ extern long long int atoll (const char *__nptr) + throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + + +extern double strtod (const char *__restrict __nptr, + char **__restrict __endptr) + throw () __attribute__ ((__nonnull__ (1))); + + + + + +extern float strtof (const char *__restrict __nptr, + char **__restrict __endptr) throw () __attribute__ ((__nonnull__ (1))); + +extern long double strtold (const char *__restrict __nptr, + char **__restrict __endptr) + throw () __attribute__ ((__nonnull__ (1))); + + + + + +extern long int strtol (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + throw () __attribute__ ((__nonnull__ (1))); + +extern unsigned long int strtoul (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + throw () __attribute__ ((__nonnull__ (1))); + + + + +__extension__ +extern long long int strtoq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + throw () __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtouq (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + throw () __attribute__ ((__nonnull__ (1))); + + + + + +__extension__ +extern long long int strtoll (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + throw () __attribute__ ((__nonnull__ (1))); + +__extension__ +extern unsigned long long int strtoull (const char *__restrict __nptr, + char **__restrict __endptr, int __base) + throw () __attribute__ ((__nonnull__ (1))); +# 200 "/usr/include/stdlib.h" 3 4 +extern long int strtol_l (const char *__restrict __nptr, + char **__restrict __endptr, int __base, + __locale_t __loc) throw () __attribute__ ((__nonnull__ (1, 4))); + +extern unsigned long int strtoul_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, __locale_t __loc) + throw () __attribute__ ((__nonnull__ (1, 4))); + +__extension__ +extern long long int strtoll_l (const char *__restrict __nptr, + char **__restrict __endptr, int __base, + __locale_t __loc) + throw () __attribute__ ((__nonnull__ (1, 4))); + +__extension__ +extern unsigned long long int strtoull_l (const char *__restrict __nptr, + char **__restrict __endptr, + int __base, __locale_t __loc) + throw () __attribute__ ((__nonnull__ (1, 4))); + +extern double strtod_l (const char *__restrict __nptr, + char **__restrict __endptr, __locale_t __loc) + throw () __attribute__ ((__nonnull__ (1, 3))); + +extern float strtof_l (const char *__restrict __nptr, + char **__restrict __endptr, __locale_t __loc) + throw () __attribute__ ((__nonnull__ (1, 3))); + +extern long double strtold_l (const char *__restrict __nptr, + char **__restrict __endptr, + __locale_t __loc) + throw () __attribute__ ((__nonnull__ (1, 3))); + + + + + +extern __inline __attribute__ ((__gnu_inline__)) int + atoi (const char *__nptr) throw () +{ + return (int) strtol (__nptr, (char **) __null, 10); +} +extern __inline __attribute__ ((__gnu_inline__)) long int + atol (const char *__nptr) throw () +{ + return strtol (__nptr, (char **) __null, 10); +} + + + + +__extension__ extern __inline __attribute__ ((__gnu_inline__)) long long int + atoll (const char *__nptr) throw () +{ + return strtoll (__nptr, (char **) __null, 10); +} +# 266 "/usr/include/stdlib.h" 3 4 +extern char *l64a (long int __n) throw () ; + + +extern long int a64l (const char *__s) + throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1))) ; + + + + + +# 1 "/usr/include/arm-linux-gnueabihf/sys/types.h" 1 3 4 +# 27 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4 +extern "C" { + + + + + +typedef __u_char u_char; +typedef __u_short u_short; +typedef __u_int u_int; +typedef __u_long u_long; +typedef __quad_t quad_t; +typedef __u_quad_t u_quad_t; +typedef __fsid_t fsid_t; + + + + +typedef __loff_t loff_t; + + + +typedef __ino_t ino_t; + + + + + + +typedef __ino64_t ino64_t; + + + + +typedef __dev_t dev_t; +# 70 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4 +typedef __mode_t mode_t; + + + + +typedef __nlink_t nlink_t; +# 104 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4 +typedef __id_t id_t; +# 115 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4 +typedef __daddr_t daddr_t; +typedef __caddr_t caddr_t; + + + + + +typedef __key_t key_t; +# 132 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4 +# 1 "/usr/xenomai/include/cobalt/time.h" 1 3 4 +# 19 "/usr/xenomai/include/cobalt/time.h" 3 +# 133 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4 + + + + + + + +typedef __suseconds_t suseconds_t; + + + + + + +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 4 +# 147 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4 + + + +typedef unsigned long int ulong; +typedef unsigned short int ushort; +typedef unsigned int uint; +# 200 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4 +typedef unsigned int u_int8_t __attribute__ ((__mode__ (__QI__))); +typedef unsigned int u_int16_t __attribute__ ((__mode__ (__HI__))); +typedef unsigned int u_int32_t __attribute__ ((__mode__ (__SI__))); +typedef unsigned int u_int64_t __attribute__ ((__mode__ (__DI__))); + +typedef int register_t __attribute__ ((__mode__ (__word__))); +# 216 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4 +# 1 "/usr/include/endian.h" 1 3 4 +# 36 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/endian.h" 1 3 4 +# 37 "/usr/include/endian.h" 2 3 4 +# 60 "/usr/include/endian.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 1 3 4 +# 34 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/byteswap-16.h" 1 3 4 +# 35 "/usr/include/arm-linux-gnueabihf/bits/byteswap.h" 2 3 4 +# 61 "/usr/include/endian.h" 2 3 4 +# 217 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4 + + +# 1 "/usr/xenomai/include/cobalt/sys/select.h" 1 3 4 +# 19 "/usr/xenomai/include/cobalt/sys/select.h" 3 +# 1 "/usr/include/arm-linux-gnueabihf/sys/select.h" 1 3 4 +# 30 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/select.h" 1 3 4 +# 31 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4 + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/sigset.h" 1 3 4 +# 22 "/usr/include/arm-linux-gnueabihf/bits/sigset.h" 3 4 +typedef int __sig_atomic_t; + + + + +typedef struct + { + unsigned long int __val[(1024 / (8 * sizeof (unsigned long int)))]; + } __sigset_t; +# 34 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4 + + + +typedef __sigset_t sigset_t; + + + + + + + + +# 1 "/usr/xenomai/include/cobalt/time.h" 1 3 4 +# 19 "/usr/xenomai/include/cobalt/time.h" 3 +# 46 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4 + +# 1 "/usr/include/arm-linux-gnueabihf/bits/time.h" 1 3 4 +# 48 "/usr/include/arm-linux-gnueabihf/sys/select.h" 2 3 4 + + + + + + + + +typedef long int __fd_mask; +# 66 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4 +typedef struct + { + + + + __fd_mask fds_bits[1024 / (8 * (int) sizeof (__fd_mask))]; + + + + + + } fd_set; + + + + + + +typedef __fd_mask fd_mask; +# 98 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4 +extern "C" { +# 108 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4 +extern int select (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + struct timeval *__restrict __timeout); +# 120 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4 +extern int pselect (int __nfds, fd_set *__restrict __readfds, + fd_set *__restrict __writefds, + fd_set *__restrict __exceptfds, + const struct timespec *__restrict __timeout, + const __sigset_t *__restrict __sigmask); +# 133 "/usr/include/arm-linux-gnueabihf/sys/select.h" 3 4 +} +# 20 "/usr/xenomai/include/cobalt/sys/select.h" 2 3 + + + + + + + +extern "C" { + + +__typeof__(int) __cobalt_select(int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); __typeof__(int) __real_select(int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); __typeof__(int) __wrap_select(int __nfds, fd_set *__restrict __readfds, fd_set *__restrict __writefds, fd_set *__restrict __exceptfds, struct timeval *__restrict __timeout); + + + + +} +# 220 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4 + + +# 1 "/usr/include/arm-linux-gnueabihf/sys/sysmacros.h" 1 3 4 +# 24 "/usr/include/arm-linux-gnueabihf/sys/sysmacros.h" 3 4 +extern "C" { + +__extension__ +extern unsigned int gnu_dev_major (unsigned long long int __dev) + throw () __attribute__ ((__const__)); +__extension__ +extern unsigned int gnu_dev_minor (unsigned long long int __dev) + throw () __attribute__ ((__const__)); +__extension__ +extern unsigned long long int gnu_dev_makedev (unsigned int __major, + unsigned int __minor) + throw () __attribute__ ((__const__)); + + +__extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int + gnu_dev_major (unsigned long long int __dev) throw () +{ + return ((__dev >> 8) & 0xfff) | ((unsigned int) (__dev >> 32) & ~0xfff); +} + +__extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned int + gnu_dev_minor (unsigned long long int __dev) throw () +{ + return (__dev & 0xff) | ((unsigned int) (__dev >> 12) & ~0xff); +} + +__extension__ extern __inline __attribute__ ((__gnu_inline__)) __attribute__ ((__const__)) unsigned long long int + gnu_dev_makedev (unsigned int __major, unsigned int __minor) throw () +{ + return ((__minor & 0xff) | ((__major & 0xfff) << 8) + | (((unsigned long long int) (__minor & ~0xff)) << 12) + | (((unsigned long long int) (__major & ~0xfff)) << 32)); +} + +} +# 223 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4 + + + + + +typedef __blksize_t blksize_t; + + + + + + +typedef __blkcnt_t blkcnt_t; + + + +typedef __fsblkcnt_t fsblkcnt_t; + + + +typedef __fsfilcnt_t fsfilcnt_t; +# 262 "/usr/include/arm-linux-gnueabihf/sys/types.h" 3 4 +typedef __blkcnt64_t blkcnt64_t; +typedef __fsblkcnt64_t fsblkcnt64_t; +typedef __fsfilcnt64_t fsfilcnt64_t; + + + + + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 1 3 4 +# 37 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 3 4 +typedef unsigned long int pthread_t; + + +union pthread_attr_t +{ + char __size[36]; + long int __align; +}; + +typedef union pthread_attr_t pthread_attr_t; + + + + +typedef struct __pthread_internal_slist +{ + struct __pthread_internal_slist *__next; +} __pthread_slist_t; + + + + +typedef union +{ + struct __pthread_mutex_s + { + int __lock; + unsigned int __count; + int __owner; + + + int __kind; + unsigned int __nusers; + __extension__ union + { + int __spins; + __pthread_slist_t __list; + }; + } __data; + char __size[24]; + long int __align; +} pthread_mutex_t; + + + + +typedef union +{ + char __size[4]; + long int __align; +} pthread_mutexattr_t; + + + + +typedef union +{ + struct + { + int __lock; + unsigned int __futex; + __extension__ unsigned long long int __total_seq; + __extension__ unsigned long long int __wakeup_seq; + __extension__ unsigned long long int __woken_seq; + void *__mutex; + unsigned int __nwaiters; + unsigned int __broadcast_seq; + } __data; + char __size[48]; + __extension__ long long int __align; +} pthread_cond_t; + +typedef union +{ + char __size[4]; + long int __align; +} pthread_condattr_t; + + + +typedef unsigned int pthread_key_t; + + + +typedef int pthread_once_t; + + + + + +typedef union +{ + struct + { + int __lock; + unsigned int __nr_readers; + unsigned int __readers_wakeup; + unsigned int __writer_wakeup; + unsigned int __nr_readers_queued; + unsigned int __nr_writers_queued; +# 147 "/usr/include/arm-linux-gnueabihf/bits/pthreadtypes.h" 3 4 + unsigned char __flags; + unsigned char __shared; + unsigned char __pad1; + unsigned char __pad2; + + int __writer; + } __data; + char __size[32]; + long int __align; +} pthread_rwlock_t; + + + +typedef union +{ + char __size[8]; + long int __align; +} pthread_rwlockattr_t; + + + + + +typedef volatile int pthread_spinlock_t; + + + + +typedef union +{ + char __size[20]; + long int __align; +} pthread_barrier_t; + +typedef union +{ + char __size[4]; + int __align; +} pthread_barrierattr_t; +# 271 "/usr/include/arm-linux-gnueabihf/sys/types.h" 2 3 4 + + +} +# 276 "/usr/include/stdlib.h" 2 3 4 + + + + + + +extern long int random (void) throw (); + + +extern void srandom (unsigned int __seed) throw (); + + + + + +extern char *initstate (unsigned int __seed, char *__statebuf, + size_t __statelen) throw () __attribute__ ((__nonnull__ (2))); + + + +extern char *setstate (char *__statebuf) throw () __attribute__ ((__nonnull__ (1))); + + + + + + + +struct random_data + { + int32_t *fptr; + int32_t *rptr; + int32_t *state; + int rand_type; + int rand_deg; + int rand_sep; + int32_t *end_ptr; + }; + +extern int random_r (struct random_data *__restrict __buf, + int32_t *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); + +extern int srandom_r (unsigned int __seed, struct random_data *__buf) + throw () __attribute__ ((__nonnull__ (2))); + +extern int initstate_r (unsigned int __seed, char *__restrict __statebuf, + size_t __statelen, + struct random_data *__restrict __buf) + throw () __attribute__ ((__nonnull__ (2, 4))); + +extern int setstate_r (char *__restrict __statebuf, + struct random_data *__restrict __buf) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + + + + +extern int rand (void) throw (); + +extern void srand (unsigned int __seed) throw (); + + + + +extern int rand_r (unsigned int *__seed) throw (); + + + + + + + +extern double drand48 (void) throw (); +extern double erand48 (unsigned short int __xsubi[3]) throw () __attribute__ ((__nonnull__ (1))); + + +extern long int lrand48 (void) throw (); +extern long int nrand48 (unsigned short int __xsubi[3]) + throw () __attribute__ ((__nonnull__ (1))); + + +extern long int mrand48 (void) throw (); +extern long int jrand48 (unsigned short int __xsubi[3]) + throw () __attribute__ ((__nonnull__ (1))); + + +extern void srand48 (long int __seedval) throw (); +extern unsigned short int *seed48 (unsigned short int __seed16v[3]) + throw () __attribute__ ((__nonnull__ (1))); +extern void lcong48 (unsigned short int __param[7]) throw () __attribute__ ((__nonnull__ (1))); + + + + + +struct drand48_data + { + unsigned short int __x[3]; + unsigned short int __old_x[3]; + unsigned short int __c; + unsigned short int __init; + __extension__ unsigned long long int __a; + + }; + + +extern int drand48_r (struct drand48_data *__restrict __buffer, + double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); +extern int erand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + double *__restrict __result) throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int lrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + throw () __attribute__ ((__nonnull__ (1, 2))); +extern int nrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int mrand48_r (struct drand48_data *__restrict __buffer, + long int *__restrict __result) + throw () __attribute__ ((__nonnull__ (1, 2))); +extern int jrand48_r (unsigned short int __xsubi[3], + struct drand48_data *__restrict __buffer, + long int *__restrict __result) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int srand48_r (long int __seedval, struct drand48_data *__buffer) + throw () __attribute__ ((__nonnull__ (2))); + +extern int seed48_r (unsigned short int __seed16v[3], + struct drand48_data *__buffer) throw () __attribute__ ((__nonnull__ (1, 2))); + +extern int lcong48_r (unsigned short int __param[7], + struct drand48_data *__buffer) + throw () __attribute__ ((__nonnull__ (1, 2))); +# 427 "/usr/include/stdlib.h" 3 4 +extern void *malloc (size_t __size) throw () __attribute__ ((__malloc__)) ; + +extern void *calloc (size_t __nmemb, size_t __size) + throw () __attribute__ ((__malloc__)) ; +# 441 "/usr/include/stdlib.h" 3 4 +extern void *realloc (void *__ptr, size_t __size) + throw () __attribute__ ((__warn_unused_result__)); + +extern void free (void *__ptr) throw (); + + + + +extern void cfree (void *__ptr) throw (); + + + + +# 1 "/usr/include/alloca.h" 1 3 4 +# 24 "/usr/include/alloca.h" 3 4 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 4 +# 25 "/usr/include/alloca.h" 2 3 4 + +extern "C" { + + + + + +extern void *alloca (size_t __size) throw (); + + + + + +} +# 454 "/usr/include/stdlib.h" 2 3 4 + + + + + +extern void *valloc (size_t __size) throw () __attribute__ ((__malloc__)) ; + + + + +extern int posix_memalign (void **__memptr, size_t __alignment, size_t __size) + throw () __attribute__ ((__nonnull__ (1))) ; + + + + +extern void *aligned_alloc (size_t __alignment, size_t __size) + throw () __attribute__ ((__malloc__)) ; + + + + +extern void abort (void) throw () __attribute__ ((__noreturn__)); + + + +extern int atexit (void (*__func) (void)) throw () __attribute__ ((__nonnull__ (1))); + + + + +extern "C++" int at_quick_exit (void (*__func) (void)) + throw () __asm ("at_quick_exit") __attribute__ ((__nonnull__ (1))); +# 496 "/usr/include/stdlib.h" 3 4 +extern int on_exit (void (*__func) (int __status, void *__arg), void *__arg) + throw () __attribute__ ((__nonnull__ (1))); + + + + + + +extern void exit (int __status) throw () __attribute__ ((__noreturn__)); + + + + + +extern void quick_exit (int __status) throw () __attribute__ ((__noreturn__)); + + + + + + + +extern void _Exit (int __status) throw () __attribute__ ((__noreturn__)); + + + + + + +extern char *getenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))) ; + + + + + +extern char *secure_getenv (const char *__name) + throw () __attribute__ ((__nonnull__ (1))) ; + + + + + + +extern int putenv (char *__string) throw () __attribute__ ((__nonnull__ (1))); + + + + + +extern int setenv (const char *__name, const char *__value, int __replace) + throw () __attribute__ ((__nonnull__ (2))); + + +extern int unsetenv (const char *__name) throw () __attribute__ ((__nonnull__ (1))); + + + + + + +extern int clearenv (void) throw (); +# 567 "/usr/include/stdlib.h" 3 4 +extern char *mktemp (char *__template) throw () __attribute__ ((__nonnull__ (1))); +# 580 "/usr/include/stdlib.h" 3 4 +extern int mkstemp (char *__template) __attribute__ ((__nonnull__ (1))) ; +# 590 "/usr/include/stdlib.h" 3 4 +extern int mkstemp64 (char *__template) __attribute__ ((__nonnull__ (1))) ; +# 602 "/usr/include/stdlib.h" 3 4 +extern int mkstemps (char *__template, int __suffixlen) __attribute__ ((__nonnull__ (1))) ; +# 612 "/usr/include/stdlib.h" 3 4 +extern int mkstemps64 (char *__template, int __suffixlen) + __attribute__ ((__nonnull__ (1))) ; +# 623 "/usr/include/stdlib.h" 3 4 +extern char *mkdtemp (char *__template) throw () __attribute__ ((__nonnull__ (1))) ; +# 634 "/usr/include/stdlib.h" 3 4 +extern int mkostemp (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; +# 644 "/usr/include/stdlib.h" 3 4 +extern int mkostemp64 (char *__template, int __flags) __attribute__ ((__nonnull__ (1))) ; +# 654 "/usr/include/stdlib.h" 3 4 +extern int mkostemps (char *__template, int __suffixlen, int __flags) + __attribute__ ((__nonnull__ (1))) ; +# 666 "/usr/include/stdlib.h" 3 4 +extern int mkostemps64 (char *__template, int __suffixlen, int __flags) + __attribute__ ((__nonnull__ (1))) ; +# 677 "/usr/include/stdlib.h" 3 4 +extern int system (const char *__command) ; + + + + + + +extern char *canonicalize_file_name (const char *__name) + throw () __attribute__ ((__nonnull__ (1))) ; +# 694 "/usr/include/stdlib.h" 3 4 +extern char *realpath (const char *__restrict __name, + char *__restrict __resolved) throw () ; + + + + + + +typedef int (*__compar_fn_t) (const void *, const void *); + + +typedef __compar_fn_t comparison_fn_t; + + + +typedef int (*__compar_d_fn_t) (const void *, const void *, void *); + + + + + +extern void *bsearch (const void *__key, const void *__base, + size_t __nmemb, size_t __size, __compar_fn_t __compar) + __attribute__ ((__nonnull__ (1, 2, 5))) ; + + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 1 3 4 +# 19 "/usr/include/arm-linux-gnueabihf/bits/stdlib-bsearch.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) void * +bsearch (const void *__key, const void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) +{ + size_t __l, __u, __idx; + const void *__p; + int __comparison; + + __l = 0; + __u = __nmemb; + while (__l < __u) + { + __idx = (__l + __u) / 2; + __p = (void *) (((const char *) __base) + (__idx * __size)); + __comparison = (*__compar) (__key, __p); + if (__comparison < 0) + __u = __idx; + else if (__comparison > 0) + __l = __idx + 1; + else + return (void *) __p; + } + + return __null; +} +# 721 "/usr/include/stdlib.h" 2 3 4 + + + + +extern void qsort (void *__base, size_t __nmemb, size_t __size, + __compar_fn_t __compar) __attribute__ ((__nonnull__ (1, 4))); + +extern void qsort_r (void *__base, size_t __nmemb, size_t __size, + __compar_d_fn_t __compar, void *__arg) + __attribute__ ((__nonnull__ (1, 4))); + + + + +extern int abs (int __x) throw () __attribute__ ((__const__)) ; +extern long int labs (long int __x) throw () __attribute__ ((__const__)) ; + + + +__extension__ extern long long int llabs (long long int __x) + throw () __attribute__ ((__const__)) ; + + + + + + + +extern div_t div (int __numer, int __denom) + throw () __attribute__ ((__const__)) ; +extern ldiv_t ldiv (long int __numer, long int __denom) + throw () __attribute__ ((__const__)) ; + + + + +__extension__ extern lldiv_t lldiv (long long int __numer, + long long int __denom) + throw () __attribute__ ((__const__)) ; +# 772 "/usr/include/stdlib.h" 3 4 +extern char *ecvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *fcvt (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign) throw () __attribute__ ((__nonnull__ (3, 4))) ; + + + + +extern char *gcvt (double __value, int __ndigit, char *__buf) + throw () __attribute__ ((__nonnull__ (3))) ; + + + + +extern char *qecvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + throw () __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qfcvt (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign) + throw () __attribute__ ((__nonnull__ (3, 4))) ; +extern char *qgcvt (long double __value, int __ndigit, char *__buf) + throw () __attribute__ ((__nonnull__ (3))) ; + + + + +extern int ecvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); +extern int fcvt_r (double __value, int __ndigit, int *__restrict __decpt, + int *__restrict __sign, char *__restrict __buf, + size_t __len) throw () __attribute__ ((__nonnull__ (3, 4, 5))); + +extern int qecvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + throw () __attribute__ ((__nonnull__ (3, 4, 5))); +extern int qfcvt_r (long double __value, int __ndigit, + int *__restrict __decpt, int *__restrict __sign, + char *__restrict __buf, size_t __len) + throw () __attribute__ ((__nonnull__ (3, 4, 5))); + + + + + + +extern int mblen (const char *__s, size_t __n) throw (); + + +extern int mbtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n) throw (); + + +extern int wctomb (char *__s, wchar_t __wchar) throw (); + + + +extern size_t mbstowcs (wchar_t *__restrict __pwcs, + const char *__restrict __s, size_t __n) throw (); + +extern size_t wcstombs (char *__restrict __s, + const wchar_t *__restrict __pwcs, size_t __n) + throw (); +# 848 "/usr/include/stdlib.h" 3 4 +extern int rpmatch (const char *__response) throw () __attribute__ ((__nonnull__ (1))) ; +# 859 "/usr/include/stdlib.h" 3 4 +extern int getsubopt (char **__restrict __optionp, + char *const *__restrict __tokens, + char **__restrict __valuep) + throw () __attribute__ ((__nonnull__ (1, 2, 3))) ; + + + + + +extern void setkey (const char *__key) throw () __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int posix_openpt (int __oflag) ; + + + + + + + +extern int grantpt (int __fd) throw (); + + + +extern int unlockpt (int __fd) throw (); + + + + +extern char *ptsname (int __fd) throw () ; + + + + + + +extern int ptsname_r (int __fd, char *__buf, size_t __buflen) + throw () __attribute__ ((__nonnull__ (2))); + + +extern int getpt (void); + + + + + + +extern int getloadavg (double __loadavg[], int __nelem) + throw () __attribute__ ((__nonnull__ (1))); +# 921 "/usr/include/stdlib.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 1 3 4 +# 25 "/usr/include/arm-linux-gnueabihf/bits/stdlib-float.h" 3 4 +extern __inline __attribute__ ((__gnu_inline__)) double + atof (const char *__nptr) throw () +{ + return strtod (__nptr, (char **) __null); +} +# 922 "/usr/include/stdlib.h" 2 3 4 +# 934 "/usr/include/stdlib.h" 3 4 +} +# 76 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdlib" 2 3 +# 118 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdlib" 3 +extern "C++" +{ +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + using ::div_t; + using ::ldiv_t; + + using ::abort; + using ::abs; + using ::atexit; + + + using ::at_quick_exit; + + + using ::atof; + using ::atoi; + using ::atol; + using ::bsearch; + using ::calloc; + using ::div; + using ::exit; + using ::free; + using ::getenv; + using ::labs; + using ::ldiv; + using ::malloc; + + using ::mblen; + using ::mbstowcs; + using ::mbtowc; + + using ::qsort; + + + using ::quick_exit; + + + using ::rand; + using ::realloc; + using ::srand; + using ::strtod; + using ::strtol; + using ::strtoul; + using ::system; + + using ::wcstombs; + using ::wctomb; + + + + inline long + abs(long __i) { return __builtin_labs(__i); } + + inline ldiv_t + div(long __i, long __j) { return ldiv(__i, __j); } + + + + inline long long + abs(long long __x) { return __builtin_llabs (__x); } +# 202 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdlib" 3 +} +# 215 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdlib" 3 +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ + + + + using ::lldiv_t; + + + + + + using ::_Exit; + + + + using ::llabs; + + inline lldiv_t + div(long long __n, long long __d) + { lldiv_t __q; __q.quot = __n / __d; __q.rem = __n % __d; return __q; } + + using ::lldiv; +# 247 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdlib" 3 + using ::atoll; + using ::strtoll; + using ::strtoull; + + using ::strtof; + using ::strtold; + + +} + +namespace std +{ + + using ::__gnu_cxx::lldiv_t; + + using ::__gnu_cxx::_Exit; + + using ::__gnu_cxx::llabs; + using ::__gnu_cxx::div; + using ::__gnu_cxx::lldiv; + + using ::__gnu_cxx::atoll; + using ::__gnu_cxx::strtof; + using ::__gnu_cxx::strtoll; + using ::__gnu_cxx::strtoull; + using ::__gnu_cxx::strtold; +} + + + +} +# 37 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/stdlib.h" 2 3 + +using std::abort; +using std::atexit; +using std::exit; + + + using std::at_quick_exit; + + + using std::quick_exit; + + + + +using std::div_t; +using std::ldiv_t; + +using std::abs; +using std::atof; +using std::atoi; +using std::atol; +using std::bsearch; +using std::calloc; +using std::div; +using std::free; +using std::getenv; +using std::labs; +using std::ldiv; +using std::malloc; + +using std::mblen; +using std::mbstowcs; +using std::mbtowc; + +using std::qsort; +using std::rand; +using std::realloc; +using std::srand; +using std::strtod; +using std::strtol; +using std::strtoul; +using std::system; + +using std::wcstombs; +using std::wctomb; +# 20 "/usr/xenomai/include/cobalt/stdlib.h" 2 3 + + + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/stdlib.h" 1 3 +# 26 "/usr/xenomai/include/cobalt/stdlib.h" 2 3 + + + +extern "C" { + + +__typeof__(void) __cobalt_free(void *ptr); __typeof__(void) __real_free(void *ptr); __typeof__(void) __wrap_free(void *ptr); + +__typeof__(void *) __cobalt_malloc(size_t size); __typeof__(void *) __real_malloc(size_t size); __typeof__(void *) __wrap_malloc(size_t size); + + +} +# 50 "/root/Bela/projects/my_ultrasonic_ranger2/render.cpp" 2 +# 1 "./libraries/Scope/Scope.h" 1 + +# 1 "/usr/include/ne10/NE10_types.h" 1 3 4 +# 39 "/usr/include/ne10/NE10_types.h" 3 4 +# 1 "/usr/include/assert.h" 1 3 4 +# 40 "/usr/include/ne10/NE10_types.h" 2 3 4 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stdint.h" 1 3 4 +# 41 "/usr/include/ne10/NE10_types.h" 2 3 4 +# 68 "/usr/include/ne10/NE10_types.h" 3 4 +typedef int8_t ne10_int8_t; +typedef uint8_t ne10_uint8_t; +typedef int16_t ne10_int16_t; +typedef uint16_t ne10_uint16_t; +typedef int32_t ne10_int32_t; +typedef uint32_t ne10_uint32_t; +typedef int64_t ne10_int64_t; +typedef uint64_t ne10_uint64_t; +typedef float ne10_float32_t; +typedef double ne10_float64_t; +typedef int ne10_result_t; + + + + +typedef struct +{ + ne10_float32_t x; + ne10_float32_t y; +} ne10_vec2f_t; + + + + +typedef struct +{ + ne10_float32_t x; + ne10_float32_t y; + ne10_float32_t z; +} ne10_vec3f_t; + + + + +typedef struct +{ + ne10_float32_t x; + ne10_float32_t y; + ne10_float32_t z; + ne10_float32_t w; +} ne10_vec4f_t; + + + + + +typedef struct +{ + ne10_float32_t r1; + ne10_float32_t r2; +} __attribute__ ( (packed)) ne10_mat_row2f; + +typedef struct +{ + ne10_mat_row2f c1; + ne10_mat_row2f c2; + +} __attribute__ ( (packed)) ne10_mat2x2f_t; + +static inline void createColumnMajorMatrix2x2 (ne10_mat2x2f_t * outMat, ne10_float32_t m11, ne10_float32_t m21, ne10_float32_t m12, ne10_float32_t m22) +{ + (static_cast<void> (0)); + + outMat->c1.r1 = m11; + outMat->c1.r2 = m21; + outMat->c2.r1 = m12; + outMat->c2.r2 = m22; +} + + +typedef struct +{ + ne10_float32_t r1; + ne10_float32_t r2; + ne10_float32_t r3; +} __attribute__ ( (packed)) ne10_mat_row3f; + +typedef struct +{ + ne10_mat_row3f c1; + ne10_mat_row3f c2; + ne10_mat_row3f c3; + +} __attribute__ ( (packed)) ne10_mat3x3f_t; + +static inline void createColumnMajorMatrix3x3 (ne10_mat3x3f_t * outMat, ne10_float32_t m11, ne10_float32_t m21, ne10_float32_t m31, + ne10_float32_t m12, ne10_float32_t m22, ne10_float32_t m32, + ne10_float32_t m13, ne10_float32_t m23, ne10_float32_t m33) +{ + (static_cast<void> (0)); + + outMat->c1.r1 = m11; + outMat->c1.r2 = m21; + outMat->c1.r3 = m31; + + outMat->c2.r1 = m12; + outMat->c2.r2 = m22; + outMat->c2.r3 = m32; + + outMat->c3.r1 = m13; + outMat->c3.r2 = m23; + outMat->c3.r3 = m33; +} + + +typedef struct +{ + ne10_float32_t r1; + ne10_float32_t r2; + ne10_float32_t r3; + ne10_float32_t r4; +} __attribute__ ( (packed)) ne10_mat_row4f; + +typedef struct +{ + ne10_mat_row4f c1; + ne10_mat_row4f c2; + ne10_mat_row4f c3; + ne10_mat_row4f c4; + +} __attribute__ ( (packed)) ne10_mat4x4f_t; + +static inline void createColumnMajorMatrix4x4 (ne10_mat4x4f_t * outMat, ne10_float32_t m11, ne10_float32_t m21, ne10_float32_t m31, ne10_float32_t m41, + ne10_float32_t m12, ne10_float32_t m22, ne10_float32_t m32, ne10_float32_t m42, + ne10_float32_t m13, ne10_float32_t m23, ne10_float32_t m33, ne10_float32_t m43, + ne10_float32_t m14, ne10_float32_t m24, ne10_float32_t m34, ne10_float32_t m44) +{ + (static_cast<void> (0)); + + outMat->c1.r1 = m11; + outMat->c1.r2 = m21; + outMat->c1.r3 = m31; + outMat->c1.r4 = m41; + + outMat->c2.r1 = m12; + outMat->c2.r2 = m22; + outMat->c2.r3 = m32; + outMat->c2.r4 = m42; + + outMat->c3.r1 = m13; + outMat->c3.r2 = m23; + outMat->c3.r3 = m33; + outMat->c3.r4 = m43; + + outMat->c4.r1 = m14; + outMat->c4.r2 = m24; + outMat->c4.r3 = m34; + outMat->c4.r4 = m44; +} +# 226 "/usr/include/ne10/NE10_types.h" 3 4 +typedef struct +{ + ne10_float32_t r; + ne10_float32_t i; +} ne10_fft_cpx_float32_t; + + + + +typedef struct +{ + ne10_int32_t nfft; + ne10_int32_t *factors; + ne10_fft_cpx_float32_t *twiddles; + ne10_fft_cpx_float32_t *buffer; + ne10_fft_cpx_float32_t *last_twiddles; + + + + + + + + ne10_int32_t is_forward_scaled; + + + + + + + + ne10_int32_t is_backward_scaled; +} ne10_fft_state_float32_t; + + + + +typedef ne10_fft_state_float32_t* ne10_fft_cfg_float32_t; + +typedef struct +{ + ne10_fft_cpx_float32_t *buffer; + + ne10_int32_t ncfft; + ne10_int32_t *factors; + ne10_fft_cpx_float32_t *twiddles; + ne10_fft_cpx_float32_t *super_twiddles; +# 283 "/usr/include/ne10/NE10_types.h" 3 4 +} ne10_fft_r2c_state_float32_t; + +typedef ne10_fft_r2c_state_float32_t* ne10_fft_r2c_cfg_float32_t; + + + + +typedef struct +{ + ne10_int16_t r; + ne10_int16_t i; +} ne10_fft_cpx_int16_t; + +typedef struct +{ + ne10_int32_t nfft; + ne10_int32_t *factors; + ne10_fft_cpx_int16_t *twiddles; + ne10_fft_cpx_int16_t *buffer; +} ne10_fft_state_int16_t; + +typedef ne10_fft_state_int16_t* ne10_fft_cfg_int16_t; + +typedef struct +{ + ne10_int32_t nfft; + ne10_int32_t ncfft; + ne10_int32_t *factors; + ne10_fft_cpx_int16_t *twiddles; + ne10_fft_cpx_int16_t *super_twiddles; + ne10_fft_cpx_int16_t *buffer; +} ne10_fft_r2c_state_int16_t; + +typedef ne10_fft_r2c_state_int16_t* ne10_fft_r2c_cfg_int16_t; + + + + +typedef struct +{ + ne10_int32_t r; + ne10_int32_t i; +} ne10_fft_cpx_int32_t; + +typedef struct +{ + ne10_int32_t nfft; + ne10_int32_t *factors; + ne10_fft_cpx_int32_t *twiddles; + ne10_fft_cpx_int32_t *buffer; + ne10_fft_cpx_int32_t *last_twiddles; +} ne10_fft_state_int32_t; + +typedef ne10_fft_state_int32_t* ne10_fft_cfg_int32_t; + +typedef struct +{ + ne10_int32_t nfft; + ne10_int32_t ncfft; + ne10_int32_t *factors; + ne10_fft_cpx_int32_t *twiddles; + ne10_fft_cpx_int32_t *super_twiddles; + ne10_fft_cpx_int32_t *buffer; +} ne10_fft_r2c_state_int32_t; + +typedef ne10_fft_r2c_state_int32_t* ne10_fft_r2c_cfg_int32_t; +# 357 "/usr/include/ne10/NE10_types.h" 3 4 +typedef struct +{ + ne10_uint16_t numTaps; + ne10_float32_t *pState; + ne10_float32_t *pCoeffs; +} ne10_fir_instance_f32_t; + + + + +typedef struct +{ + ne10_uint16_t numStages; + ne10_float32_t *pState; + ne10_float32_t *pCoeffs; +} ne10_fir_lattice_instance_f32_t; + + + + +typedef struct +{ + ne10_uint8_t M; + ne10_uint16_t numTaps; + ne10_float32_t *pCoeffs; + ne10_float32_t *pState; +} ne10_fir_decimate_instance_f32_t; + + + + +typedef struct +{ + ne10_uint8_t L; + ne10_uint16_t phaseLength; + ne10_float32_t *pCoeffs; + ne10_float32_t *pState; +} ne10_fir_interpolate_instance_f32_t; + + + + +typedef struct +{ + ne10_uint16_t numTaps; + ne10_uint16_t stateIndex; + ne10_float32_t *pState; + ne10_float32_t *pCoeffs; + ne10_uint16_t maxDelay; + ne10_int32_t *pTapDelay; +} ne10_fir_sparse_instance_f32_t; + + + + +typedef struct +{ + ne10_uint16_t numStages; + ne10_float32_t *pState; + ne10_float32_t *pkCoeffs; + ne10_float32_t *pvCoeffs; +} ne10_iir_lattice_instance_f32_t; +# 427 "/usr/include/ne10/NE10_types.h" 3 4 +typedef struct +{ + ne10_uint32_t x; + ne10_uint32_t y; +} ne10_point_t; + +typedef struct +{ + ne10_uint32_t x; + ne10_uint32_t y; +} ne10_size_t; + +typedef enum +{ + UBUNTU_COMMAND_LINE, + ANDROID_DEMO, + IOS_DEMO +} ne10_print_target_t; +# 3 "./libraries/Scope/Scope.h" 2 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/vector" 1 3 +# 59 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/vector" 3 + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 1 3 +# 60 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/functexcept.h" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/functexcept.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/exception_defines.h" 1 3 +# 41 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/functexcept.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + void + __throw_bad_exception(void) __attribute__((__noreturn__)); + + + void + __throw_bad_alloc(void) __attribute__((__noreturn__)); + + + void + __throw_bad_cast(void) __attribute__((__noreturn__)); + + void + __throw_bad_typeid(void) __attribute__((__noreturn__)); + + + void + __throw_logic_error(const char*) __attribute__((__noreturn__)); + + void + __throw_domain_error(const char*) __attribute__((__noreturn__)); + + void + __throw_invalid_argument(const char*) __attribute__((__noreturn__)); + + void + __throw_length_error(const char*) __attribute__((__noreturn__)); + + void + __throw_out_of_range(const char*) __attribute__((__noreturn__)); + + void + __throw_out_of_range_fmt(const char*, ...) __attribute__((__noreturn__)) + __attribute__((__format__(__gnu_printf__, 1, 2))); + + void + __throw_runtime_error(const char*) __attribute__((__noreturn__)); + + void + __throw_range_error(const char*) __attribute__((__noreturn__)); + + void + __throw_overflow_error(const char*) __attribute__((__noreturn__)); + + void + __throw_underflow_error(const char*) __attribute__((__noreturn__)); + + + void + __throw_ios_failure(const char*) __attribute__((__noreturn__)); + + void + __throw_system_error(int) __attribute__((__noreturn__)); + + void + __throw_future_error(int) __attribute__((__noreturn__)); + + + void + __throw_bad_function_call() __attribute__((__noreturn__)); + + +} +# 61 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/cpp_type_traits.h" 1 3 +# 36 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/cpp_type_traits.h" 3 +# 67 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/cpp_type_traits.h" 3 +extern "C++" { + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + struct __true_type { }; + struct __false_type { }; + + template<bool> + struct __truth_type + { typedef __false_type __type; }; + + template<> + struct __truth_type<true> + { typedef __true_type __type; }; + + + + template<class _Sp, class _Tp> + struct __traitor + { + enum { __value = bool(_Sp::__value) || bool(_Tp::__value) }; + typedef typename __truth_type<__value>::__type __type; + }; + + + template<typename, typename> + struct __are_same + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + template<typename _Tp> + struct __are_same<_Tp, _Tp> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + template<typename _Tp> + struct __is_void + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + template<> + struct __is_void<void> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + + + template<typename _Tp> + struct __is_integer + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + + + + + template<> + struct __is_integer<bool> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer<char> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer<signed char> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer<unsigned char> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + template<> + struct __is_integer<wchar_t> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + + template<> + struct __is_integer<char16_t> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer<char32_t> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + template<> + struct __is_integer<short> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer<unsigned short> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer<int> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer<unsigned int> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer<long> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer<unsigned long> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer<long long> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_integer<unsigned long long> + { + enum { __value = 1 }; + typedef __true_type __type; + }; +# 278 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/cpp_type_traits.h" 3 + template<typename _Tp> + struct __is_floating + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + + template<> + struct __is_floating<float> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_floating<double> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_floating<long double> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + + + template<typename _Tp> + struct __is_pointer + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + template<typename _Tp> + struct __is_pointer<_Tp*> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + + + template<typename _Tp> + struct __is_arithmetic + : public __traitor<__is_integer<_Tp>, __is_floating<_Tp> > + { }; + + + + + template<typename _Tp> + struct __is_scalar + : public __traitor<__is_arithmetic<_Tp>, __is_pointer<_Tp> > + { }; + + + + + template<typename _Tp> + struct __is_char + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + template<> + struct __is_char<char> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + template<> + struct __is_char<wchar_t> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + template<typename _Tp> + struct __is_byte + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + template<> + struct __is_byte<char> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_byte<signed char> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<> + struct __is_byte<unsigned char> + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + + + + template<typename _Tp> + struct __is_move_iterator + { + enum { __value = 0 }; + typedef __false_type __type; + }; + + + + template<typename _Iterator> + inline _Iterator + __miter_base(_Iterator __it) + { return __it; } + + +} +} +# 62 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/type_traits.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/type_traits.h" 3 + + + + +extern "C++" { + +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ + + + + template<bool, typename> + struct __enable_if + { }; + + template<typename _Tp> + struct __enable_if<true, _Tp> + { typedef _Tp __type; }; + + + + template<bool _Cond, typename _Iftrue, typename _Iffalse> + struct __conditional_type + { typedef _Iftrue __type; }; + + template<typename _Iftrue, typename _Iffalse> + struct __conditional_type<false, _Iftrue, _Iffalse> + { typedef _Iffalse __type; }; + + + + template<typename _Tp> + struct __add_unsigned + { + private: + typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type; + + public: + typedef typename __if_type::__type __type; + }; + + template<> + struct __add_unsigned<char> + { typedef unsigned char __type; }; + + template<> + struct __add_unsigned<signed char> + { typedef unsigned char __type; }; + + template<> + struct __add_unsigned<short> + { typedef unsigned short __type; }; + + template<> + struct __add_unsigned<int> + { typedef unsigned int __type; }; + + template<> + struct __add_unsigned<long> + { typedef unsigned long __type; }; + + template<> + struct __add_unsigned<long long> + { typedef unsigned long long __type; }; + + + template<> + struct __add_unsigned<bool>; + + template<> + struct __add_unsigned<wchar_t>; + + + + template<typename _Tp> + struct __remove_unsigned + { + private: + typedef __enable_if<std::__is_integer<_Tp>::__value, _Tp> __if_type; + + public: + typedef typename __if_type::__type __type; + }; + + template<> + struct __remove_unsigned<char> + { typedef signed char __type; }; + + template<> + struct __remove_unsigned<unsigned char> + { typedef signed char __type; }; + + template<> + struct __remove_unsigned<unsigned short> + { typedef short __type; }; + + template<> + struct __remove_unsigned<unsigned int> + { typedef int __type; }; + + template<> + struct __remove_unsigned<unsigned long> + { typedef long __type; }; + + template<> + struct __remove_unsigned<unsigned long long> + { typedef long long __type; }; + + + template<> + struct __remove_unsigned<bool>; + + template<> + struct __remove_unsigned<wchar_t>; + + + + template<typename _Type> + inline bool + __is_null_pointer(_Type* __ptr) + { return __ptr == 0; } + + template<typename _Type> + inline bool + __is_null_pointer(_Type) + { return false; } + + + inline bool + __is_null_pointer(std::nullptr_t) + { return true; } + + + + template<typename _Tp, bool = std::__is_integer<_Tp>::__value> + struct __promote + { typedef double __type; }; + + + + + template<typename _Tp> + struct __promote<_Tp, false> + { }; + + template<> + struct __promote<long double> + { typedef long double __type; }; + + template<> + struct __promote<double> + { typedef double __type; }; + + template<> + struct __promote<float> + { typedef float __type; }; + + template<typename _Tp, typename _Up, + typename _Tp2 = typename __promote<_Tp>::__type, + typename _Up2 = typename __promote<_Up>::__type> + struct __promote_2 + { + typedef __typeof__(_Tp2() + _Up2()) __type; + }; + + template<typename _Tp, typename _Up, typename _Vp, + typename _Tp2 = typename __promote<_Tp>::__type, + typename _Up2 = typename __promote<_Up>::__type, + typename _Vp2 = typename __promote<_Vp>::__type> + struct __promote_3 + { + typedef __typeof__(_Tp2() + _Up2() + _Vp2()) __type; + }; + + template<typename _Tp, typename _Up, typename _Vp, typename _Wp, + typename _Tp2 = typename __promote<_Tp>::__type, + typename _Up2 = typename __promote<_Up>::__type, + typename _Vp2 = typename __promote<_Vp>::__type, + typename _Wp2 = typename __promote<_Wp>::__type> + struct __promote_4 + { + typedef __typeof__(_Tp2() + _Up2() + _Vp2() + _Wp2()) __type; + }; + + +} +} +# 63 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/numeric_traits.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/numeric_traits.h" 3 + + + + +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ +# 54 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/numeric_traits.h" 3 + template<typename _Value> + struct __numeric_traits_integer + { + + static const _Value __min = (((_Value)(-1) < 0) ? (_Value)1 << (sizeof(_Value) * 8 - ((_Value)(-1) < 0)) : (_Value)0); + static const _Value __max = (((_Value)(-1) < 0) ? (((((_Value)1 << ((sizeof(_Value) * 8 - ((_Value)(-1) < 0)) - 1)) - 1) << 1) + 1) : ~(_Value)0); + + + + static const bool __is_signed = ((_Value)(-1) < 0); + static const int __digits = (sizeof(_Value) * 8 - ((_Value)(-1) < 0)); + }; + + template<typename _Value> + const _Value __numeric_traits_integer<_Value>::__min; + + template<typename _Value> + const _Value __numeric_traits_integer<_Value>::__max; + + template<typename _Value> + const bool __numeric_traits_integer<_Value>::__is_signed; + + template<typename _Value> + const int __numeric_traits_integer<_Value>::__digits; +# 99 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/numeric_traits.h" 3 + template<typename _Value> + struct __numeric_traits_floating + { + + static const int __max_digits10 = (2 + (std::__are_same<_Value, float>::__value ? 24 : std::__are_same<_Value, double>::__value ? 53 : 53) * 643L / 2136); + + + static const bool __is_signed = true; + static const int __digits10 = (std::__are_same<_Value, float>::__value ? 6 : std::__are_same<_Value, double>::__value ? 15 : 15); + static const int __max_exponent10 = (std::__are_same<_Value, float>::__value ? 38 : std::__are_same<_Value, double>::__value ? 308 : 308); + }; + + template<typename _Value> + const int __numeric_traits_floating<_Value>::__max_digits10; + + template<typename _Value> + const bool __numeric_traits_floating<_Value>::__is_signed; + + template<typename _Value> + const int __numeric_traits_floating<_Value>::__digits10; + + template<typename _Value> + const int __numeric_traits_floating<_Value>::__max_exponent10; + + template<typename _Value> + struct __numeric_traits + : public __conditional_type<std::__is_integer<_Value>::__value, + __numeric_traits_integer<_Value>, + __numeric_traits_floating<_Value> >::__type + { }; + + +} +# 64 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_pair.h" 1 3 +# 59 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_pair.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/move.h" 1 3 +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/move.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/concept_check.h" 1 3 +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/concept_check.h" 3 +# 35 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/move.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + + + + + template<typename _Tp> + inline _Tp* + __addressof(_Tp& __r) noexcept + { + return reinterpret_cast<_Tp*> + (&const_cast<char&>(reinterpret_cast<const volatile char&>(__r))); + } + + +} + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 +# 42 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 +namespace std +{ + typedef unsigned short uint_least16_t; + typedef unsigned int uint_least32_t; +} + + + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 68 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Tp, _Tp __v> + struct integral_constant + { + static constexpr _Tp value = __v; + typedef _Tp value_type; + typedef integral_constant<_Tp, __v> type; + constexpr operator value_type() const { return value; } + + + + + + + }; + + template<typename _Tp, _Tp __v> + constexpr _Tp integral_constant<_Tp, __v>::value; + + + typedef integral_constant<bool, true> true_type; + + + typedef integral_constant<bool, false> false_type; + + template<bool __v> + using __bool_constant = integral_constant<bool, __v>; +# 103 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<bool, typename, typename> + struct conditional; + + template<typename...> + struct __or_; + + template<> + struct __or_<> + : public false_type + { }; + + template<typename _B1> + struct __or_<_B1> + : public _B1 + { }; + + template<typename _B1, typename _B2> + struct __or_<_B1, _B2> + : public conditional<_B1::value, _B1, _B2>::type + { }; + + template<typename _B1, typename _B2, typename _B3, typename... _Bn> + struct __or_<_B1, _B2, _B3, _Bn...> + : public conditional<_B1::value, _B1, __or_<_B2, _B3, _Bn...>>::type + { }; + + template<typename...> + struct __and_; + + template<> + struct __and_<> + : public true_type + { }; + + template<typename _B1> + struct __and_<_B1> + : public _B1 + { }; + + template<typename _B1, typename _B2> + struct __and_<_B1, _B2> + : public conditional<_B1::value, _B2, _B1>::type + { }; + + template<typename _B1, typename _B2, typename _B3, typename... _Bn> + struct __and_<_B1, _B2, _B3, _Bn...> + : public conditional<_B1::value, __and_<_B2, _B3, _Bn...>, _B1>::type + { }; + + template<typename _Pp> + struct __not_ + : public integral_constant<bool, !_Pp::value> + { }; + + struct __nonesuch { + __nonesuch() = delete; + ~__nonesuch() = delete; + __nonesuch(__nonesuch const&) = delete; + void operator=(__nonesuch const&) = delete; + }; +# 189 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Tp> + struct __success_type + { typedef _Tp type; }; + + struct __failure_type + { }; + + + + template<typename> + struct remove_cv; + + template<typename> + struct __is_void_helper + : public false_type { }; + + template<> + struct __is_void_helper<void> + : public true_type { }; + + + template<typename _Tp> + struct is_void + : public __is_void_helper<typename remove_cv<_Tp>::type>::type + { }; + + template<typename> + struct __is_integral_helper + : public false_type { }; + + template<> + struct __is_integral_helper<bool> + : public true_type { }; + + template<> + struct __is_integral_helper<char> + : public true_type { }; + + template<> + struct __is_integral_helper<signed char> + : public true_type { }; + + template<> + struct __is_integral_helper<unsigned char> + : public true_type { }; + + + template<> + struct __is_integral_helper<wchar_t> + : public true_type { }; + + + template<> + struct __is_integral_helper<char16_t> + : public true_type { }; + + template<> + struct __is_integral_helper<char32_t> + : public true_type { }; + + template<> + struct __is_integral_helper<short> + : public true_type { }; + + template<> + struct __is_integral_helper<unsigned short> + : public true_type { }; + + template<> + struct __is_integral_helper<int> + : public true_type { }; + + template<> + struct __is_integral_helper<unsigned int> + : public true_type { }; + + template<> + struct __is_integral_helper<long> + : public true_type { }; + + template<> + struct __is_integral_helper<unsigned long> + : public true_type { }; + + template<> + struct __is_integral_helper<long long> + : public true_type { }; + + template<> + struct __is_integral_helper<unsigned long long> + : public true_type { }; +# 321 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Tp> + struct is_integral + : public __is_integral_helper<typename remove_cv<_Tp>::type>::type + { }; + + template<typename> + struct __is_floating_point_helper + : public false_type { }; + + template<> + struct __is_floating_point_helper<float> + : public true_type { }; + + template<> + struct __is_floating_point_helper<double> + : public true_type { }; + + template<> + struct __is_floating_point_helper<long double> + : public true_type { }; +# 349 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Tp> + struct is_floating_point + : public __is_floating_point_helper<typename remove_cv<_Tp>::type>::type + { }; + + + template<typename> + struct is_array + : public false_type { }; + + template<typename _Tp, std::size_t _Size> + struct is_array<_Tp[_Size]> + : public true_type { }; + + template<typename _Tp> + struct is_array<_Tp[]> + : public true_type { }; + + template<typename> + struct __is_pointer_helper + : public false_type { }; + + template<typename _Tp> + struct __is_pointer_helper<_Tp*> + : public true_type { }; + + + template<typename _Tp> + struct is_pointer + : public __is_pointer_helper<typename remove_cv<_Tp>::type>::type + { }; + + + template<typename> + struct is_lvalue_reference + : public false_type { }; + + template<typename _Tp> + struct is_lvalue_reference<_Tp&> + : public true_type { }; + + + template<typename> + struct is_rvalue_reference + : public false_type { }; + + template<typename _Tp> + struct is_rvalue_reference<_Tp&&> + : public true_type { }; + + template<typename> + struct is_function; + + template<typename> + struct __is_member_object_pointer_helper + : public false_type { }; + + template<typename _Tp, typename _Cp> + struct __is_member_object_pointer_helper<_Tp _Cp::*> + : public integral_constant<bool, !is_function<_Tp>::value> { }; + + + template<typename _Tp> + struct is_member_object_pointer + : public __is_member_object_pointer_helper< + typename remove_cv<_Tp>::type>::type + { }; + + template<typename> + struct __is_member_function_pointer_helper + : public false_type { }; + + template<typename _Tp, typename _Cp> + struct __is_member_function_pointer_helper<_Tp _Cp::*> + : public integral_constant<bool, is_function<_Tp>::value> { }; + + + template<typename _Tp> + struct is_member_function_pointer + : public __is_member_function_pointer_helper< + typename remove_cv<_Tp>::type>::type + { }; + + + template<typename _Tp> + struct is_enum + : public integral_constant<bool, __is_enum(_Tp)> + { }; + + + template<typename _Tp> + struct is_union + : public integral_constant<bool, __is_union(_Tp)> + { }; + + + template<typename _Tp> + struct is_class + : public integral_constant<bool, __is_class(_Tp)> + { }; + + + template<typename> + struct is_function + : public false_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...)> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...) &> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...) &&> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......)> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......) &> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......) &&> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...) const> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...) const &> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...) const &&> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......) const> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......) const &> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......) const &&> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...) volatile> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...) volatile &> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...) volatile &&> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......) volatile> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......) volatile &> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......) volatile &&> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...) const volatile> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...) const volatile &> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes...) const volatile &&> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......) const volatile> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......) const volatile &> + : public true_type { }; + + template<typename _Res, typename... _ArgTypes> + struct is_function<_Res(_ArgTypes......) const volatile &&> + : public true_type { }; + + + + template<typename> + struct __is_null_pointer_helper + : public false_type { }; + + template<> + struct __is_null_pointer_helper<std::nullptr_t> + : public true_type { }; + + + template<typename _Tp> + struct is_null_pointer + : public __is_null_pointer_helper<typename remove_cv<_Tp>::type>::type + { }; + + + template<typename _Tp> + struct __is_nullptr_t + : public is_null_pointer<_Tp> + { }; + + + + + template<typename _Tp> + struct is_reference + : public __or_<is_lvalue_reference<_Tp>, + is_rvalue_reference<_Tp>>::type + { }; + + + template<typename _Tp> + struct is_arithmetic + : public __or_<is_integral<_Tp>, is_floating_point<_Tp>>::type + { }; + + + template<typename _Tp> + struct is_fundamental + : public __or_<is_arithmetic<_Tp>, is_void<_Tp>, + is_null_pointer<_Tp>>::type + { }; + + + template<typename _Tp> + struct is_object + : public __not_<__or_<is_function<_Tp>, is_reference<_Tp>, + is_void<_Tp>>>::type + { }; + + template<typename> + struct is_member_pointer; + + + template<typename _Tp> + struct is_scalar + : public __or_<is_arithmetic<_Tp>, is_enum<_Tp>, is_pointer<_Tp>, + is_member_pointer<_Tp>, is_null_pointer<_Tp>>::type + { }; + + + template<typename _Tp> + struct is_compound + : public integral_constant<bool, !is_fundamental<_Tp>::value> { }; + + template<typename _Tp> + struct __is_member_pointer_helper + : public false_type { }; + + template<typename _Tp, typename _Cp> + struct __is_member_pointer_helper<_Tp _Cp::*> + : public true_type { }; + + + template<typename _Tp> + struct is_member_pointer + : public __is_member_pointer_helper<typename remove_cv<_Tp>::type>::type + { }; + + + + template<typename _Tp> + struct __is_referenceable + : public __or_<is_object<_Tp>, is_reference<_Tp>>::type + { }; + + template<typename _Res, typename... _Args> + struct __is_referenceable<_Res(_Args...)> + : public true_type + { }; + + template<typename _Res, typename... _Args> + struct __is_referenceable<_Res(_Args......)> + : public true_type + { }; + + + + + template<typename> + struct is_const + : public false_type { }; + + template<typename _Tp> + struct is_const<_Tp const> + : public true_type { }; + + + template<typename> + struct is_volatile + : public false_type { }; + + template<typename _Tp> + struct is_volatile<_Tp volatile> + : public true_type { }; + + + template<typename _Tp> + struct is_trivial + : public integral_constant<bool, __is_trivial(_Tp)> + { }; + + + template<typename _Tp> + struct is_trivially_copyable + : public integral_constant<bool, __is_trivially_copyable(_Tp)> + { }; + + + template<typename _Tp> + struct is_standard_layout + : public integral_constant<bool, __is_standard_layout(_Tp)> + { }; + + + + template<typename _Tp> + struct is_pod + : public integral_constant<bool, __is_pod(_Tp)> + { }; + + + template<typename _Tp> + struct is_literal_type + : public integral_constant<bool, __is_literal_type(_Tp)> + { }; + + + template<typename _Tp> + struct is_empty + : public integral_constant<bool, __is_empty(_Tp)> + { }; + + + template<typename _Tp> + struct is_polymorphic + : public integral_constant<bool, __is_polymorphic(_Tp)> + { }; +# 721 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Tp> + struct is_abstract + : public integral_constant<bool, __is_abstract(_Tp)> + { }; + + template<typename _Tp, + bool = is_arithmetic<_Tp>::value> + struct __is_signed_helper + : public false_type { }; + + template<typename _Tp> + struct __is_signed_helper<_Tp, true> + : public integral_constant<bool, _Tp(-1) < _Tp(0)> + { }; + + + template<typename _Tp> + struct is_signed + : public __is_signed_helper<_Tp>::type + { }; + + + template<typename _Tp> + struct is_unsigned + : public __and_<is_arithmetic<_Tp>, __not_<is_signed<_Tp>>> + { }; + + + + + template<typename> + struct add_rvalue_reference; + + + + + + template<typename _Tp> + typename add_rvalue_reference<_Tp>::type declval() noexcept; + + template<typename, unsigned = 0> + struct extent; + + template<typename> + struct remove_all_extents; + + template<typename _Tp> + struct __is_array_known_bounds + : public integral_constant<bool, (extent<_Tp>::value > 0)> + { }; + + template<typename _Tp> + struct __is_array_unknown_bounds + : public __and_<is_array<_Tp>, __not_<extent<_Tp>>> + { }; + + + + + + + struct __do_is_destructible_impl + { + template<typename _Tp, typename = decltype(declval<_Tp&>().~_Tp())> + static true_type __test(int); + + template<typename> + static false_type __test(...); + }; + + template<typename _Tp> + struct __is_destructible_impl + : public __do_is_destructible_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template<typename _Tp, + bool = __or_<is_void<_Tp>, + __is_array_unknown_bounds<_Tp>, + is_function<_Tp>>::value, + bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value> + struct __is_destructible_safe; + + template<typename _Tp> + struct __is_destructible_safe<_Tp, false, false> + : public __is_destructible_impl<typename + remove_all_extents<_Tp>::type>::type + { }; + + template<typename _Tp> + struct __is_destructible_safe<_Tp, true, false> + : public false_type { }; + + template<typename _Tp> + struct __is_destructible_safe<_Tp, false, true> + : public true_type { }; + + + template<typename _Tp> + struct is_destructible + : public __is_destructible_safe<_Tp>::type + { }; + + + + + + struct __do_is_nt_destructible_impl + { + template<typename _Tp> + static integral_constant<bool, noexcept(declval<_Tp&>().~_Tp())> + __test(int); + + template<typename> + static false_type __test(...); + }; + + template<typename _Tp> + struct __is_nt_destructible_impl + : public __do_is_nt_destructible_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template<typename _Tp, + bool = __or_<is_void<_Tp>, + __is_array_unknown_bounds<_Tp>, + is_function<_Tp>>::value, + bool = __or_<is_reference<_Tp>, is_scalar<_Tp>>::value> + struct __is_nt_destructible_safe; + + template<typename _Tp> + struct __is_nt_destructible_safe<_Tp, false, false> + : public __is_nt_destructible_impl<typename + remove_all_extents<_Tp>::type>::type + { }; + + template<typename _Tp> + struct __is_nt_destructible_safe<_Tp, true, false> + : public false_type { }; + + template<typename _Tp> + struct __is_nt_destructible_safe<_Tp, false, true> + : public true_type { }; + + + template<typename _Tp> + struct is_nothrow_destructible + : public __is_nt_destructible_safe<_Tp>::type + { }; + + struct __do_is_default_constructible_impl + { + template<typename _Tp, typename = decltype(_Tp())> + static true_type __test(int); + + template<typename> + static false_type __test(...); + }; + + template<typename _Tp> + struct __is_default_constructible_impl + : public __do_is_default_constructible_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template<typename _Tp> + struct __is_default_constructible_atom + : public __and_<__not_<is_void<_Tp>>, + __is_default_constructible_impl<_Tp>> + { }; + + template<typename _Tp, bool = is_array<_Tp>::value> + struct __is_default_constructible_safe; + + + + + + + template<typename _Tp> + struct __is_default_constructible_safe<_Tp, true> + : public __and_<__is_array_known_bounds<_Tp>, + __is_default_constructible_atom<typename + remove_all_extents<_Tp>::type>> + { }; + + template<typename _Tp> + struct __is_default_constructible_safe<_Tp, false> + : public __is_default_constructible_atom<_Tp>::type + { }; + + + template<typename _Tp> + struct is_default_constructible + : public __is_default_constructible_safe<_Tp>::type + { }; +# 933 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + struct __do_is_static_castable_impl + { + template<typename _From, typename _To, typename + = decltype(static_cast<_To>(declval<_From>()))> + static true_type __test(int); + + template<typename, typename> + static false_type __test(...); + }; + + template<typename _From, typename _To> + struct __is_static_castable_impl + : public __do_is_static_castable_impl + { + typedef decltype(__test<_From, _To>(0)) type; + }; + + template<typename _From, typename _To> + struct __is_static_castable_safe + : public __is_static_castable_impl<_From, _To>::type + { }; + + + template<typename _From, typename _To> + struct __is_static_castable + : public integral_constant<bool, (__is_static_castable_safe< + _From, _To>::value)> + { }; + + + + + + + struct __do_is_direct_constructible_impl + { + template<typename _Tp, typename _Arg, typename + = decltype(::new _Tp(declval<_Arg>()))> + static true_type __test(int); + + template<typename, typename> + static false_type __test(...); + }; + + template<typename _Tp, typename _Arg> + struct __is_direct_constructible_impl + : public __do_is_direct_constructible_impl + { + typedef decltype(__test<_Tp, _Arg>(0)) type; + }; + + template<typename _Tp, typename _Arg> + struct __is_direct_constructible_new_safe + : public __and_<is_destructible<_Tp>, + __is_direct_constructible_impl<_Tp, _Arg>> + { }; + + template<typename, typename> + struct is_same; + + template<typename, typename> + struct is_base_of; + + template<typename> + struct remove_reference; + + template<typename _From, typename _To, bool + = __not_<__or_<is_void<_From>, + is_function<_From>>>::value> + struct __is_base_to_derived_ref; + + template<typename _Tp, typename... _Args> + struct is_constructible; + + + + template<typename _From, typename _To> + struct __is_base_to_derived_ref<_From, _To, true> + { + typedef typename remove_cv<typename remove_reference<_From + >::type>::type __src_t; + typedef typename remove_cv<typename remove_reference<_To + >::type>::type __dst_t; + typedef __and_<__not_<is_same<__src_t, __dst_t>>, + is_base_of<__src_t, __dst_t>, + __not_<is_constructible<__dst_t, _From>>> type; + static constexpr bool value = type::value; + }; + + template<typename _From, typename _To> + struct __is_base_to_derived_ref<_From, _To, false> + : public false_type + { }; + + template<typename _From, typename _To, bool + = __and_<is_lvalue_reference<_From>, + is_rvalue_reference<_To>>::value> + struct __is_lvalue_to_rvalue_ref; + + + + template<typename _From, typename _To> + struct __is_lvalue_to_rvalue_ref<_From, _To, true> + { + typedef typename remove_cv<typename remove_reference< + _From>::type>::type __src_t; + typedef typename remove_cv<typename remove_reference< + _To>::type>::type __dst_t; + typedef __and_<__not_<is_function<__src_t>>, + __or_<is_same<__src_t, __dst_t>, + is_base_of<__dst_t, __src_t>>> type; + static constexpr bool value = type::value; + }; + + template<typename _From, typename _To> + struct __is_lvalue_to_rvalue_ref<_From, _To, false> + : public false_type + { }; + + + + + + + + template<typename _Tp, typename _Arg> + struct __is_direct_constructible_ref_cast + : public __and_<__is_static_castable<_Arg, _Tp>, + __not_<__or_<__is_base_to_derived_ref<_Arg, _Tp>, + __is_lvalue_to_rvalue_ref<_Arg, _Tp> + >>> + { }; + + template<typename _Tp, typename _Arg> + struct __is_direct_constructible_new + : public conditional<is_reference<_Tp>::value, + __is_direct_constructible_ref_cast<_Tp, _Arg>, + __is_direct_constructible_new_safe<_Tp, _Arg> + >::type + { }; + + template<typename _Tp, typename _Arg> + struct __is_direct_constructible + : public __is_direct_constructible_new<_Tp, _Arg>::type + { }; + + + + + + + struct __do_is_nary_constructible_impl + { + template<typename _Tp, typename... _Args, typename + = decltype(_Tp(declval<_Args>()...))> + static true_type __test(int); + + template<typename, typename...> + static false_type __test(...); + }; + + template<typename _Tp, typename... _Args> + struct __is_nary_constructible_impl + : public __do_is_nary_constructible_impl + { + typedef decltype(__test<_Tp, _Args...>(0)) type; + }; + + template<typename _Tp, typename... _Args> + struct __is_nary_constructible + : public __is_nary_constructible_impl<_Tp, _Args...>::type + { + static_assert(sizeof...(_Args) > 1, + "Only useful for > 1 arguments"); + }; + + template<typename _Tp, typename... _Args> + struct __is_constructible_impl + : public __is_nary_constructible<_Tp, _Args...> + { }; + + template<typename _Tp, typename _Arg> + struct __is_constructible_impl<_Tp, _Arg> + : public __is_direct_constructible<_Tp, _Arg> + { }; + + template<typename _Tp> + struct __is_constructible_impl<_Tp> + : public is_default_constructible<_Tp> + { }; + + + template<typename _Tp, typename... _Args> + struct is_constructible + : public __is_constructible_impl<_Tp, _Args...>::type + { }; + + template<typename _Tp, bool = __is_referenceable<_Tp>::value> + struct __is_copy_constructible_impl; + + template<typename _Tp> + struct __is_copy_constructible_impl<_Tp, false> + : public false_type { }; + + template<typename _Tp> + struct __is_copy_constructible_impl<_Tp, true> + : public is_constructible<_Tp, const _Tp&> + { }; + + + template<typename _Tp> + struct is_copy_constructible + : public __is_copy_constructible_impl<_Tp> + { }; + + template<typename _Tp, bool = __is_referenceable<_Tp>::value> + struct __is_move_constructible_impl; + + template<typename _Tp> + struct __is_move_constructible_impl<_Tp, false> + : public false_type { }; + + template<typename _Tp> + struct __is_move_constructible_impl<_Tp, true> + : public is_constructible<_Tp, _Tp&&> + { }; + + + template<typename _Tp> + struct is_move_constructible + : public __is_move_constructible_impl<_Tp> + { }; + + template<typename _Tp> + struct __is_nt_default_constructible_atom + : public integral_constant<bool, noexcept(_Tp())> + { }; + + template<typename _Tp, bool = is_array<_Tp>::value> + struct __is_nt_default_constructible_impl; + + template<typename _Tp> + struct __is_nt_default_constructible_impl<_Tp, true> + : public __and_<__is_array_known_bounds<_Tp>, + __is_nt_default_constructible_atom<typename + remove_all_extents<_Tp>::type>> + { }; + + template<typename _Tp> + struct __is_nt_default_constructible_impl<_Tp, false> + : public __is_nt_default_constructible_atom<_Tp> + { }; + + + template<typename _Tp> + struct is_nothrow_default_constructible + : public __and_<is_default_constructible<_Tp>, + __is_nt_default_constructible_impl<_Tp>> + { }; + + template<typename _Tp, typename... _Args> + struct __is_nt_constructible_impl + : public integral_constant<bool, noexcept(_Tp(declval<_Args>()...))> + { }; + + template<typename _Tp, typename _Arg> + struct __is_nt_constructible_impl<_Tp, _Arg> + : public integral_constant<bool, + noexcept(static_cast<_Tp>(declval<_Arg>()))> + { }; + + template<typename _Tp> + struct __is_nt_constructible_impl<_Tp> + : public is_nothrow_default_constructible<_Tp> + { }; + + + template<typename _Tp, typename... _Args> + struct is_nothrow_constructible + : public __and_<is_constructible<_Tp, _Args...>, + __is_nt_constructible_impl<_Tp, _Args...>> + { }; + + template<typename _Tp, bool = __is_referenceable<_Tp>::value> + struct __is_nothrow_copy_constructible_impl; + + template<typename _Tp> + struct __is_nothrow_copy_constructible_impl<_Tp, false> + : public false_type { }; + + template<typename _Tp> + struct __is_nothrow_copy_constructible_impl<_Tp, true> + : public is_nothrow_constructible<_Tp, const _Tp&> + { }; + + + template<typename _Tp> + struct is_nothrow_copy_constructible + : public __is_nothrow_copy_constructible_impl<_Tp> + { }; + + template<typename _Tp, bool = __is_referenceable<_Tp>::value> + struct __is_nothrow_move_constructible_impl; + + template<typename _Tp> + struct __is_nothrow_move_constructible_impl<_Tp, false> + : public false_type { }; + + template<typename _Tp> + struct __is_nothrow_move_constructible_impl<_Tp, true> + : public is_nothrow_constructible<_Tp, _Tp&&> + { }; + + + template<typename _Tp> + struct is_nothrow_move_constructible + : public __is_nothrow_move_constructible_impl<_Tp> + { }; + + template<typename _Tp, typename _Up> + class __is_assignable_helper + { + template<typename _Tp1, typename _Up1, + typename = decltype(declval<_Tp1>() = declval<_Up1>())> + static true_type + __test(int); + + template<typename, typename> + static false_type + __test(...); + + public: + typedef decltype(__test<_Tp, _Up>(0)) type; + }; + + + template<typename _Tp, typename _Up> + struct is_assignable + : public __is_assignable_helper<_Tp, _Up>::type + { }; + + template<typename _Tp, bool = __is_referenceable<_Tp>::value> + struct __is_copy_assignable_impl; + + template<typename _Tp> + struct __is_copy_assignable_impl<_Tp, false> + : public false_type { }; + + template<typename _Tp> + struct __is_copy_assignable_impl<_Tp, true> + : public is_assignable<_Tp&, const _Tp&> + { }; + + + template<typename _Tp> + struct is_copy_assignable + : public __is_copy_assignable_impl<_Tp> + { }; + + template<typename _Tp, bool = __is_referenceable<_Tp>::value> + struct __is_move_assignable_impl; + + template<typename _Tp> + struct __is_move_assignable_impl<_Tp, false> + : public false_type { }; + + template<typename _Tp> + struct __is_move_assignable_impl<_Tp, true> + : public is_assignable<_Tp&, _Tp&&> + { }; + + + template<typename _Tp> + struct is_move_assignable + : public __is_move_assignable_impl<_Tp> + { }; + + template<typename _Tp, typename _Up> + struct __is_nt_assignable_impl + : public integral_constant<bool, noexcept(declval<_Tp>() = declval<_Up>())> + { }; + + + template<typename _Tp, typename _Up> + struct is_nothrow_assignable + : public __and_<is_assignable<_Tp, _Up>, + __is_nt_assignable_impl<_Tp, _Up>> + { }; + + template<typename _Tp, bool = __is_referenceable<_Tp>::value> + struct __is_nt_copy_assignable_impl; + + template<typename _Tp> + struct __is_nt_copy_assignable_impl<_Tp, false> + : public false_type { }; + + template<typename _Tp> + struct __is_nt_copy_assignable_impl<_Tp, true> + : public is_nothrow_assignable<_Tp&, const _Tp&> + { }; + + + template<typename _Tp> + struct is_nothrow_copy_assignable + : public __is_nt_copy_assignable_impl<_Tp> + { }; + + template<typename _Tp, bool = __is_referenceable<_Tp>::value> + struct __is_nt_move_assignable_impl; + + template<typename _Tp> + struct __is_nt_move_assignable_impl<_Tp, false> + : public false_type { }; + + template<typename _Tp> + struct __is_nt_move_assignable_impl<_Tp, true> + : public is_nothrow_assignable<_Tp&, _Tp&&> + { }; + + + template<typename _Tp> + struct is_nothrow_move_assignable + : public __is_nt_move_assignable_impl<_Tp> + { }; + + + template<typename _Tp, typename... _Args> + struct is_trivially_constructible + : public __and_<is_constructible<_Tp, _Args...>, integral_constant<bool, + __is_trivially_constructible(_Tp, _Args...)>> + { }; + + + template<typename _Tp> + struct is_trivially_default_constructible + : public is_trivially_constructible<_Tp>::type + { }; + + struct __do_is_implicitly_default_constructible_impl + { + template <typename _Tp> + static void __helper(const _Tp&); + + template <typename _Tp> + static true_type __test(const _Tp&, + decltype(__helper<const _Tp&>({}))* = 0); + + static false_type __test(...); + }; + + template<typename _Tp> + struct __is_implicitly_default_constructible_impl + : public __do_is_implicitly_default_constructible_impl + { + typedef decltype(__test(declval<_Tp>())) type; + }; + + template<typename _Tp> + struct __is_implicitly_default_constructible_safe + : public __is_implicitly_default_constructible_impl<_Tp>::type + { }; + + template <typename _Tp> + struct __is_implicitly_default_constructible + : public __and_<is_default_constructible<_Tp>, + __is_implicitly_default_constructible_safe<_Tp>> + { }; + + + template<typename _Tp> + struct is_trivially_copy_constructible + : public __and_<is_copy_constructible<_Tp>, + integral_constant<bool, + __is_trivially_constructible(_Tp, const _Tp&)>> + { }; + + + template<typename _Tp> + struct is_trivially_move_constructible + : public __and_<is_move_constructible<_Tp>, + integral_constant<bool, + __is_trivially_constructible(_Tp, _Tp&&)>> + { }; + + + template<typename _Tp, typename _Up> + struct is_trivially_assignable + : public __and_<is_assignable<_Tp, _Up>, + integral_constant<bool, + __is_trivially_assignable(_Tp, _Up)>> + { }; + + + template<typename _Tp> + struct is_trivially_copy_assignable + : public __and_<is_copy_assignable<_Tp>, + integral_constant<bool, + __is_trivially_assignable(_Tp&, const _Tp&)>> + { }; + + + template<typename _Tp> + struct is_trivially_move_assignable + : public __and_<is_move_assignable<_Tp>, + integral_constant<bool, + __is_trivially_assignable(_Tp&, _Tp&&)>> + { }; + + + template<typename _Tp> + struct is_trivially_destructible + : public __and_<is_destructible<_Tp>, integral_constant<bool, + __has_trivial_destructor(_Tp)>> + { }; + + + template<typename _Tp> + struct has_trivial_default_constructor + : public integral_constant<bool, __has_trivial_constructor(_Tp)> + { } __attribute__ ((__deprecated__)); + + + template<typename _Tp> + struct has_trivial_copy_constructor + : public integral_constant<bool, __has_trivial_copy(_Tp)> + { } __attribute__ ((__deprecated__)); + + + template<typename _Tp> + struct has_trivial_copy_assign + : public integral_constant<bool, __has_trivial_assign(_Tp)> + { } __attribute__ ((__deprecated__)); + + + template<typename _Tp> + struct has_virtual_destructor + : public integral_constant<bool, __has_virtual_destructor(_Tp)> + { }; + + + + + + template<typename _Tp> + struct alignment_of + : public integral_constant<std::size_t, __alignof__(_Tp)> { }; + + + template<typename> + struct rank + : public integral_constant<std::size_t, 0> { }; + + template<typename _Tp, std::size_t _Size> + struct rank<_Tp[_Size]> + : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; + + template<typename _Tp> + struct rank<_Tp[]> + : public integral_constant<std::size_t, 1 + rank<_Tp>::value> { }; + + + template<typename, unsigned _Uint> + struct extent + : public integral_constant<std::size_t, 0> { }; + + template<typename _Tp, unsigned _Uint, std::size_t _Size> + struct extent<_Tp[_Size], _Uint> + : public integral_constant<std::size_t, + _Uint == 0 ? _Size : extent<_Tp, + _Uint - 1>::value> + { }; + + template<typename _Tp, unsigned _Uint> + struct extent<_Tp[], _Uint> + : public integral_constant<std::size_t, + _Uint == 0 ? 0 : extent<_Tp, + _Uint - 1>::value> + { }; + + + + + + template<typename, typename> + struct is_same + : public false_type { }; + + template<typename _Tp> + struct is_same<_Tp, _Tp> + : public true_type { }; + + + template<typename _Base, typename _Derived> + struct is_base_of + : public integral_constant<bool, __is_base_of(_Base, _Derived)> + { }; + + template<typename _From, typename _To, + bool = __or_<is_void<_From>, is_function<_To>, + is_array<_To>>::value> + struct __is_convertible_helper + { typedef typename is_void<_To>::type type; }; + + template<typename _From, typename _To> + class __is_convertible_helper<_From, _To, false> + { + template<typename _To1> + static void __test_aux(_To1); + + template<typename _From1, typename _To1, + typename = decltype(__test_aux<_To1>(std::declval<_From1>()))> + static true_type + __test(int); + + template<typename, typename> + static false_type + __test(...); + + public: + typedef decltype(__test<_From, _To>(0)) type; + }; + + + + template<typename _From, typename _To> + struct is_convertible + : public __is_convertible_helper<_From, _To>::type + { }; + + + + + + template<typename _Tp> + struct remove_const + { typedef _Tp type; }; + + template<typename _Tp> + struct remove_const<_Tp const> + { typedef _Tp type; }; + + + template<typename _Tp> + struct remove_volatile + { typedef _Tp type; }; + + template<typename _Tp> + struct remove_volatile<_Tp volatile> + { typedef _Tp type; }; + + + template<typename _Tp> + struct remove_cv + { + typedef typename + remove_const<typename remove_volatile<_Tp>::type>::type type; + }; + + + template<typename _Tp> + struct add_const + { typedef _Tp const type; }; + + + template<typename _Tp> + struct add_volatile + { typedef _Tp volatile type; }; + + + template<typename _Tp> + struct add_cv + { + typedef typename + add_const<typename add_volatile<_Tp>::type>::type type; + }; +# 1641 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Tp> + struct remove_reference + { typedef _Tp type; }; + + template<typename _Tp> + struct remove_reference<_Tp&> + { typedef _Tp type; }; + + template<typename _Tp> + struct remove_reference<_Tp&&> + { typedef _Tp type; }; + + template<typename _Tp, bool = __is_referenceable<_Tp>::value> + struct __add_lvalue_reference_helper + { typedef _Tp type; }; + + template<typename _Tp> + struct __add_lvalue_reference_helper<_Tp, true> + { typedef _Tp& type; }; + + + template<typename _Tp> + struct add_lvalue_reference + : public __add_lvalue_reference_helper<_Tp> + { }; + + template<typename _Tp, bool = __is_referenceable<_Tp>::value> + struct __add_rvalue_reference_helper + { typedef _Tp type; }; + + template<typename _Tp> + struct __add_rvalue_reference_helper<_Tp, true> + { typedef _Tp&& type; }; + + + template<typename _Tp> + struct add_rvalue_reference + : public __add_rvalue_reference_helper<_Tp> + { }; +# 1698 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Unqualified, bool _IsConst, bool _IsVol> + struct __cv_selector; + + template<typename _Unqualified> + struct __cv_selector<_Unqualified, false, false> + { typedef _Unqualified __type; }; + + template<typename _Unqualified> + struct __cv_selector<_Unqualified, false, true> + { typedef volatile _Unqualified __type; }; + + template<typename _Unqualified> + struct __cv_selector<_Unqualified, true, false> + { typedef const _Unqualified __type; }; + + template<typename _Unqualified> + struct __cv_selector<_Unqualified, true, true> + { typedef const volatile _Unqualified __type; }; + + template<typename _Qualified, typename _Unqualified, + bool _IsConst = is_const<_Qualified>::value, + bool _IsVol = is_volatile<_Qualified>::value> + class __match_cv_qualifiers + { + typedef __cv_selector<_Unqualified, _IsConst, _IsVol> __match; + + public: + typedef typename __match::__type __type; + }; + + + template<typename _Tp> + struct __make_unsigned + { typedef _Tp __type; }; + + template<> + struct __make_unsigned<char> + { typedef unsigned char __type; }; + + template<> + struct __make_unsigned<signed char> + { typedef unsigned char __type; }; + + template<> + struct __make_unsigned<short> + { typedef unsigned short __type; }; + + template<> + struct __make_unsigned<int> + { typedef unsigned int __type; }; + + template<> + struct __make_unsigned<long> + { typedef unsigned long __type; }; + + template<> + struct __make_unsigned<long long> + { typedef unsigned long long __type; }; +# 1785 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Tp, + bool _IsInt = is_integral<_Tp>::value, + bool _IsEnum = is_enum<_Tp>::value> + class __make_unsigned_selector; + + template<typename _Tp> + class __make_unsigned_selector<_Tp, true, false> + { + typedef __make_unsigned<typename remove_cv<_Tp>::type> __unsignedt; + typedef typename __unsignedt::__type __unsigned_type; + typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned; + + public: + typedef typename __cv_unsigned::__type __type; + }; + + template<typename _Tp> + class __make_unsigned_selector<_Tp, false, true> + { + + typedef unsigned char __smallest; + static const bool __b0 = sizeof(_Tp) <= sizeof(__smallest); + static const bool __b1 = sizeof(_Tp) <= sizeof(unsigned short); + static const bool __b2 = sizeof(_Tp) <= sizeof(unsigned int); + static const bool __b3 = sizeof(_Tp) <= sizeof(unsigned long); + typedef conditional<__b3, unsigned long, unsigned long long> __cond3; + typedef typename __cond3::type __cond3_type; + typedef conditional<__b2, unsigned int, __cond3_type> __cond2; + typedef typename __cond2::type __cond2_type; + typedef conditional<__b1, unsigned short, __cond2_type> __cond1; + typedef typename __cond1::type __cond1_type; + + typedef typename conditional<__b0, __smallest, __cond1_type>::type + __unsigned_type; + typedef __match_cv_qualifiers<_Tp, __unsigned_type> __cv_unsigned; + + public: + typedef typename __cv_unsigned::__type __type; + }; + + + + + + template<typename _Tp> + struct make_unsigned + { typedef typename __make_unsigned_selector<_Tp>::__type type; }; + + + template<> + struct make_unsigned<bool>; + + + + template<typename _Tp> + struct __make_signed + { typedef _Tp __type; }; + + template<> + struct __make_signed<char> + { typedef signed char __type; }; + + template<> + struct __make_signed<unsigned char> + { typedef signed char __type; }; + + template<> + struct __make_signed<unsigned short> + { typedef signed short __type; }; + + template<> + struct __make_signed<unsigned int> + { typedef signed int __type; }; + + template<> + struct __make_signed<unsigned long> + { typedef signed long __type; }; + + template<> + struct __make_signed<unsigned long long> + { typedef signed long long __type; }; + + + template<> + struct __make_signed<wchar_t> : __make_signed<unsigned int> + { }; + + + + template<> + struct __make_signed<char16_t> : __make_signed<uint_least16_t> + { }; + template<> + struct __make_signed<char32_t> : __make_signed<uint_least32_t> + { }; +# 1904 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Tp, + bool _IsInt = is_integral<_Tp>::value, + bool _IsEnum = is_enum<_Tp>::value> + class __make_signed_selector; + + template<typename _Tp> + class __make_signed_selector<_Tp, true, false> + { + typedef __make_signed<typename remove_cv<_Tp>::type> __signedt; + typedef typename __signedt::__type __signed_type; + typedef __match_cv_qualifiers<_Tp, __signed_type> __cv_signed; + + public: + typedef typename __cv_signed::__type __type; + }; + + template<typename _Tp> + class __make_signed_selector<_Tp, false, true> + { + typedef typename __make_unsigned_selector<_Tp>::__type __unsigned_type; + + public: + typedef typename __make_signed_selector<__unsigned_type>::__type __type; + }; + + + + + + template<typename _Tp> + struct make_signed + { typedef typename __make_signed_selector<_Tp>::__type type; }; + + + template<> + struct make_signed<bool>; +# 1954 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Tp> + struct remove_extent + { typedef _Tp type; }; + + template<typename _Tp, std::size_t _Size> + struct remove_extent<_Tp[_Size]> + { typedef _Tp type; }; + + template<typename _Tp> + struct remove_extent<_Tp[]> + { typedef _Tp type; }; + + + template<typename _Tp> + struct remove_all_extents + { typedef _Tp type; }; + + template<typename _Tp, std::size_t _Size> + struct remove_all_extents<_Tp[_Size]> + { typedef typename remove_all_extents<_Tp>::type type; }; + + template<typename _Tp> + struct remove_all_extents<_Tp[]> + { typedef typename remove_all_extents<_Tp>::type type; }; +# 1991 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Tp, typename> + struct __remove_pointer_helper + { typedef _Tp type; }; + + template<typename _Tp, typename _Up> + struct __remove_pointer_helper<_Tp, _Up*> + { typedef _Up type; }; + + + template<typename _Tp> + struct remove_pointer + : public __remove_pointer_helper<_Tp, typename remove_cv<_Tp>::type> + { }; + + + template<typename _Tp, bool = __or_<__is_referenceable<_Tp>, + is_void<_Tp>>::value> + struct __add_pointer_helper + { typedef _Tp type; }; + + template<typename _Tp> + struct __add_pointer_helper<_Tp, true> + { typedef typename remove_reference<_Tp>::type* type; }; + + template<typename _Tp> + struct add_pointer + : public __add_pointer_helper<_Tp> + { }; +# 2030 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<std::size_t _Len> + struct __aligned_storage_msa + { + union __type + { + unsigned char __data[_Len]; + struct __attribute__((__aligned__)) { } __align; + }; + }; +# 2050 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<std::size_t _Len, std::size_t _Align = + __alignof__(typename __aligned_storage_msa<_Len>::__type)> + struct aligned_storage + { + union type + { + unsigned char __data[_Len]; + struct __attribute__((__aligned__((_Align)))) { } __align; + }; + }; + + template <typename... _Types> + struct __strictest_alignment + { + static const size_t _S_alignment = 0; + static const size_t _S_size = 0; + }; + + template <typename _Tp, typename... _Types> + struct __strictest_alignment<_Tp, _Types...> + { + static const size_t _S_alignment = + alignof(_Tp) > __strictest_alignment<_Types...>::_S_alignment + ? alignof(_Tp) : __strictest_alignment<_Types...>::_S_alignment; + static const size_t _S_size = + sizeof(_Tp) > __strictest_alignment<_Types...>::_S_size + ? sizeof(_Tp) : __strictest_alignment<_Types...>::_S_size; + }; +# 2089 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template <size_t _Len, typename... _Types> + struct aligned_union + { + private: + static_assert(sizeof...(_Types) != 0, "At least one type is required"); + + using __strictest = __strictest_alignment<_Types...>; + static const size_t _S_len = _Len > __strictest::_S_size + ? _Len : __strictest::_S_size; + public: + + static const size_t alignment_value = __strictest::_S_alignment; + + typedef typename aligned_storage<_S_len, alignment_value>::type type; + }; + + template <size_t _Len, typename... _Types> + const size_t aligned_union<_Len, _Types...>::alignment_value; + + + + template<typename _Up, + bool _IsArray = is_array<_Up>::value, + bool _IsFunction = is_function<_Up>::value> + struct __decay_selector; + + + template<typename _Up> + struct __decay_selector<_Up, false, false> + { typedef typename remove_cv<_Up>::type __type; }; + + template<typename _Up> + struct __decay_selector<_Up, true, false> + { typedef typename remove_extent<_Up>::type* __type; }; + + template<typename _Up> + struct __decay_selector<_Up, false, true> + { typedef typename add_pointer<_Up>::type __type; }; + + + template<typename _Tp> + class decay + { + typedef typename remove_reference<_Tp>::type __remove_type; + + public: + typedef typename __decay_selector<__remove_type>::__type type; + }; + + template<typename _Tp> + class reference_wrapper; + + + template<typename _Tp> + struct __strip_reference_wrapper + { + typedef _Tp __type; + }; + + template<typename _Tp> + struct __strip_reference_wrapper<reference_wrapper<_Tp> > + { + typedef _Tp& __type; + }; + + template<typename _Tp> + struct __decay_and_strip + { + typedef typename __strip_reference_wrapper< + typename decay<_Tp>::type>::__type __type; + }; + + + + + template<bool, typename _Tp = void> + struct enable_if + { }; + + + template<typename _Tp> + struct enable_if<true, _Tp> + { typedef _Tp type; }; + + template<typename... _Cond> + using _Require = typename enable_if<__and_<_Cond...>::value>::type; + + + + template<bool _Cond, typename _Iftrue, typename _Iffalse> + struct conditional + { typedef _Iftrue type; }; + + + template<typename _Iftrue, typename _Iffalse> + struct conditional<false, _Iftrue, _Iffalse> + { typedef _Iffalse type; }; + + + template<typename... _Tp> + struct common_type; + + + + struct __do_common_type_impl + { + template<typename _Tp, typename _Up> + static __success_type<typename decay<decltype + (true ? std::declval<_Tp>() + : std::declval<_Up>())>::type> _S_test(int); + + template<typename, typename> + static __failure_type _S_test(...); + }; + + template<typename _Tp, typename _Up> + struct __common_type_impl + : private __do_common_type_impl + { + typedef decltype(_S_test<_Tp, _Up>(0)) type; + }; + + struct __do_member_type_wrapper + { + template<typename _Tp> + static __success_type<typename _Tp::type> _S_test(int); + + template<typename> + static __failure_type _S_test(...); + }; + + template<typename _Tp> + struct __member_type_wrapper + : private __do_member_type_wrapper + { + typedef decltype(_S_test<_Tp>(0)) type; + }; + + template<typename _CTp, typename... _Args> + struct __expanded_common_type_wrapper + { + typedef common_type<typename _CTp::type, _Args...> type; + }; + + template<typename... _Args> + struct __expanded_common_type_wrapper<__failure_type, _Args...> + { typedef __failure_type type; }; + + template<typename _Tp> + struct common_type<_Tp> + { typedef typename decay<_Tp>::type type; }; + + template<typename _Tp, typename _Up> + struct common_type<_Tp, _Up> + : public __common_type_impl<_Tp, _Up>::type + { }; + + template<typename _Tp, typename _Up, typename... _Vp> + struct common_type<_Tp, _Up, _Vp...> + : public __expanded_common_type_wrapper<typename __member_type_wrapper< + common_type<_Tp, _Up>>::type, _Vp...>::type + { }; + + + template<typename _Tp> + struct underlying_type + { + typedef __underlying_type(_Tp) type; + }; + + template<typename _Tp> + struct __declval_protector + { + static const bool __stop = false; + static typename add_rvalue_reference<_Tp>::type __delegate(); + }; + + template<typename _Tp> + inline typename add_rvalue_reference<_Tp>::type + declval() noexcept + { + static_assert(__declval_protector<_Tp>::__stop, + "declval() must not be used!"); + return __declval_protector<_Tp>::__delegate(); + } + + + template<typename _Signature> + class result_of; + + + + + + struct __invoke_memfun_ref { }; + struct __invoke_memfun_deref { }; + struct __invoke_memobj_ref { }; + struct __invoke_memobj_deref { }; + struct __invoke_other { }; + + + template<typename _Tp, typename _Tag> + struct __result_of_success : __success_type<_Tp> + { using __invoke_type = _Tag; }; + + + struct __result_of_memfun_ref_impl + { + template<typename _Fp, typename _Tp1, typename... _Args> + static __result_of_success<decltype( + (std::declval<_Tp1>().*std::declval<_Fp>())(std::declval<_Args>()...) + ), __invoke_memfun_ref> _S_test(int); + + template<typename...> + static __failure_type _S_test(...); + }; + + template<typename _MemPtr, typename _Arg, typename... _Args> + struct __result_of_memfun_ref + : private __result_of_memfun_ref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; + }; + + + struct __result_of_memfun_deref_impl + { + template<typename _Fp, typename _Tp1, typename... _Args> + static __result_of_success<decltype( + ((*std::declval<_Tp1>()).*std::declval<_Fp>())(std::declval<_Args>()...) + ), __invoke_memfun_deref> _S_test(int); + + template<typename...> + static __failure_type _S_test(...); + }; + + template<typename _MemPtr, typename _Arg, typename... _Args> + struct __result_of_memfun_deref + : private __result_of_memfun_deref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg, _Args...>(0)) type; + }; + + + struct __result_of_memobj_ref_impl + { + template<typename _Fp, typename _Tp1> + static __result_of_success<decltype( + std::declval<_Tp1>().*std::declval<_Fp>() + ), __invoke_memobj_ref> _S_test(int); + + template<typename, typename> + static __failure_type _S_test(...); + }; + + template<typename _MemPtr, typename _Arg> + struct __result_of_memobj_ref + : private __result_of_memobj_ref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; + }; + + + struct __result_of_memobj_deref_impl + { + template<typename _Fp, typename _Tp1> + static __result_of_success<decltype( + (*std::declval<_Tp1>()).*std::declval<_Fp>() + ), __invoke_memobj_deref> _S_test(int); + + template<typename, typename> + static __failure_type _S_test(...); + }; + + template<typename _MemPtr, typename _Arg> + struct __result_of_memobj_deref + : private __result_of_memobj_deref_impl + { + typedef decltype(_S_test<_MemPtr, _Arg>(0)) type; + }; + + template<typename _MemPtr, typename _Arg> + struct __result_of_memobj; + + template<typename _Res, typename _Class, typename _Arg> + struct __result_of_memobj<_Res _Class::*, _Arg> + { + typedef typename remove_cv<typename remove_reference< + _Arg>::type>::type _Argval; + typedef _Res _Class::* _MemPtr; + typedef typename conditional<__or_<is_same<_Argval, _Class>, + is_base_of<_Class, _Argval>>::value, + __result_of_memobj_ref<_MemPtr, _Arg>, + __result_of_memobj_deref<_MemPtr, _Arg> + >::type::type type; + }; + + template<typename _MemPtr, typename _Arg, typename... _Args> + struct __result_of_memfun; + + template<typename _Res, typename _Class, typename _Arg, typename... _Args> + struct __result_of_memfun<_Res _Class::*, _Arg, _Args...> + { + typedef typename remove_cv<typename remove_reference< + _Arg>::type>::type _Argval; + typedef _Res _Class::* _MemPtr; + typedef typename conditional<__or_<is_same<_Argval, _Class>, + is_base_of<_Class, _Argval>>::value, + __result_of_memfun_ref<_MemPtr, _Arg, _Args...>, + __result_of_memfun_deref<_MemPtr, _Arg, _Args...> + >::type::type type; + }; + + + + + + template<typename _Res, typename _Class, typename _Arg> + struct __result_of_memobj<_Res _Class::*, reference_wrapper<_Arg>> + : __result_of_memobj_ref<_Res _Class::*, _Arg&> + { }; + + template<typename _Res, typename _Class, typename _Arg> + struct __result_of_memobj<_Res _Class::*, reference_wrapper<_Arg>&> + : __result_of_memobj_ref<_Res _Class::*, _Arg&> + { }; + + template<typename _Res, typename _Class, typename _Arg> + struct __result_of_memobj<_Res _Class::*, const reference_wrapper<_Arg>&> + : __result_of_memobj_ref<_Res _Class::*, _Arg&> + { }; + + template<typename _Res, typename _Class, typename _Arg> + struct __result_of_memobj<_Res _Class::*, reference_wrapper<_Arg>&&> + : __result_of_memobj_ref<_Res _Class::*, _Arg&> + { }; + + template<typename _Res, typename _Class, typename _Arg> + struct __result_of_memobj<_Res _Class::*, const reference_wrapper<_Arg>&&> + : __result_of_memobj_ref<_Res _Class::*, _Arg&> + { }; + + template<typename _Res, typename _Class, typename _Arg, typename... _Args> + struct __result_of_memfun<_Res _Class::*, reference_wrapper<_Arg>, _Args...> + : __result_of_memfun_ref<_Res _Class::*, _Arg&, _Args...> + { }; + + template<typename _Res, typename _Class, typename _Arg, typename... _Args> + struct __result_of_memfun<_Res _Class::*, reference_wrapper<_Arg>&, + _Args...> + : __result_of_memfun_ref<_Res _Class::*, _Arg&, _Args...> + { }; + + template<typename _Res, typename _Class, typename _Arg, typename... _Args> + struct __result_of_memfun<_Res _Class::*, const reference_wrapper<_Arg>&, + _Args...> + : __result_of_memfun_ref<_Res _Class::*, _Arg&, _Args...> + { }; + + template<typename _Res, typename _Class, typename _Arg, typename... _Args> + struct __result_of_memfun<_Res _Class::*, reference_wrapper<_Arg>&&, + _Args...> + : __result_of_memfun_ref<_Res _Class::*, _Arg&, _Args...> + { }; + + template<typename _Res, typename _Class, typename _Arg, typename... _Args> + struct __result_of_memfun<_Res _Class::*, const reference_wrapper<_Arg>&&, + _Args...> + : __result_of_memfun_ref<_Res _Class::*, _Arg&, _Args...> + { }; + + template<bool, bool, typename _Functor, typename... _ArgTypes> + struct __result_of_impl + { + typedef __failure_type type; + }; + + template<typename _MemPtr, typename _Arg> + struct __result_of_impl<true, false, _MemPtr, _Arg> + : public __result_of_memobj<typename decay<_MemPtr>::type, _Arg> + { }; + + template<typename _MemPtr, typename _Arg, typename... _Args> + struct __result_of_impl<false, true, _MemPtr, _Arg, _Args...> + : public __result_of_memfun<typename decay<_MemPtr>::type, _Arg, _Args...> + { }; + + + struct __result_of_other_impl + { + template<typename _Fn, typename... _Args> + static __result_of_success<decltype( + std::declval<_Fn>()(std::declval<_Args>()...) + ), __invoke_other> _S_test(int); + + template<typename...> + static __failure_type _S_test(...); + }; + + template<typename _Functor, typename... _ArgTypes> + struct __result_of_impl<false, false, _Functor, _ArgTypes...> + : private __result_of_other_impl + { + typedef decltype(_S_test<_Functor, _ArgTypes...>(0)) type; + }; + + template<typename _Functor, typename... _ArgTypes> + struct result_of<_Functor(_ArgTypes...)> + : public __result_of_impl< + is_member_object_pointer< + typename remove_reference<_Functor>::type + >::value, + is_member_function_pointer< + typename remove_reference<_Functor>::type + >::value, + _Functor, _ArgTypes... + >::type + { }; +# 2542 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename...> using __void_t = void; +# 2551 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template<typename _Default, typename _AlwaysVoid, + template<typename...> class _Op, typename... _Args> + struct __detector + { + using value_t = false_type; + using type = _Default; + }; + + + template<typename _Default, template<typename...> class _Op, + typename... _Args> + struct __detector<_Default, __void_t<_Op<_Args...>>, _Op, _Args...> + { + using value_t = true_type; + using type = _Op<_Args...>; + }; + + + template<typename _Default, template<typename...> class _Op, + typename... _Args> + using __detected_or = __detector<_Default, void, _Op, _Args...>; + + + template<typename _Default, template<typename...> class _Op, + typename... _Args> + using __detected_or_t + = typename __detected_or<_Default, _Op, _Args...>::type; +# 2595 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/type_traits" 3 + template <typename _Tp> + struct __is_swappable; + + template <typename _Tp> + struct __is_nothrow_swappable; + + template<typename _Tp> + inline + typename enable_if<__and_<is_move_constructible<_Tp>, + is_move_assignable<_Tp>>::value>::type + swap(_Tp&, _Tp&) + noexcept(__and_<is_nothrow_move_constructible<_Tp>, + is_nothrow_move_assignable<_Tp>>::value); + + template<typename _Tp, size_t _Nm> + inline + typename enable_if<__is_swappable<_Tp>::value>::type + swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) + noexcept(__is_nothrow_swappable<_Tp>::value); + + namespace __swappable_details { + using std::swap; + + struct __do_is_swappable_impl + { + template<typename _Tp, typename + = decltype(swap(std::declval<_Tp&>(), std::declval<_Tp&>()))> + static true_type __test(int); + + template<typename> + static false_type __test(...); + }; + + struct __do_is_nothrow_swappable_impl + { + template<typename _Tp> + static __bool_constant< + noexcept(swap(std::declval<_Tp&>(), std::declval<_Tp&>())) + > __test(int); + + template<typename> + static false_type __test(...); + }; + + } + + template<typename _Tp> + struct __is_swappable_impl + : public __swappable_details::__do_is_swappable_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template<typename _Tp> + struct __is_nothrow_swappable_impl + : public __swappable_details::__do_is_nothrow_swappable_impl + { + typedef decltype(__test<_Tp>(0)) type; + }; + + template<typename _Tp> + struct __is_swappable + : public __is_swappable_impl<_Tp>::type + { }; + + template<typename _Tp> + struct __is_nothrow_swappable + : public __is_nothrow_swappable_impl<_Tp>::type + { }; + + +} +# 58 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/move.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 74 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/move.h" 3 + template<typename _Tp> + constexpr _Tp&& + forward(typename std::remove_reference<_Tp>::type& __t) noexcept + { return static_cast<_Tp&&>(__t); } + + + + + + + + template<typename _Tp> + constexpr _Tp&& + forward(typename std::remove_reference<_Tp>::type&& __t) noexcept + { + static_assert(!std::is_lvalue_reference<_Tp>::value, "template argument" + " substituting _Tp is an lvalue reference type"); + return static_cast<_Tp&&>(__t); + } + + + + + + + template<typename _Tp> + constexpr typename std::remove_reference<_Tp>::type&& + move(_Tp&& __t) noexcept + { return static_cast<typename std::remove_reference<_Tp>::type&&>(__t); } + + + template<typename _Tp> + struct __move_if_noexcept_cond + : public __and_<__not_<is_nothrow_move_constructible<_Tp>>, + is_copy_constructible<_Tp>>::type { }; +# 118 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/move.h" 3 + template<typename _Tp> + constexpr typename + conditional<__move_if_noexcept_cond<_Tp>::value, const _Tp&, _Tp&&>::type + move_if_noexcept(_Tp& __x) noexcept + { return std::move(__x); } +# 133 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/move.h" 3 + template<typename _Tp> + inline _Tp* + addressof(_Tp& __r) noexcept + { return std::__addressof(__r); } + + + template <typename _Tp, typename _Up = _Tp> + inline _Tp + __exchange(_Tp& __obj, _Up&& __new_val) + { + _Tp __old_val = std::move(__obj); + __obj = std::forward<_Up>(__new_val); + return __old_val; + } + + + +} +# 159 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/move.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 174 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/move.h" 3 + template<typename _Tp> + inline + + typename enable_if<__and_<is_move_constructible<_Tp>, + is_move_assignable<_Tp>>::value>::type + swap(_Tp& __a, _Tp& __b) + noexcept(__and_<is_nothrow_move_constructible<_Tp>, + is_nothrow_move_assignable<_Tp>>::value) + + + + + { + + + + _Tp __tmp = std::move(__a); + __a = std::move(__b); + __b = std::move(__tmp); + } + + + + + template<typename _Tp, size_t _Nm> + inline + + typename enable_if<__is_swappable<_Tp>::value>::type + swap(_Tp (&__a)[_Nm], _Tp (&__b)[_Nm]) + noexcept(__is_nothrow_swappable<_Tp>::value) + + + + + { + for (size_t __n = 0; __n < _Nm; ++__n) + swap(__a[__n], __b[__n]); + } + + + +} +# 60 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_pair.h" 2 3 + + + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 76 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_pair.h" 3 + struct piecewise_construct_t { explicit piecewise_construct_t() = default; }; + + + constexpr piecewise_construct_t piecewise_construct = piecewise_construct_t(); + + + template<typename...> + class tuple; + + template<std::size_t...> + struct _Index_tuple; + + + + + + + template <bool, typename _T1, typename _T2> + struct _PCC + { + template <typename _U1, typename _U2> + static constexpr bool _ConstructiblePair() + { + return __and_<is_constructible<_T1, const _U1&>, + is_constructible<_T2, const _U2&>>::value; + } + + template <typename _U1, typename _U2> + static constexpr bool _ImplicitlyConvertiblePair() + { + return __and_<is_convertible<const _U1&, _T1>, + is_convertible<const _U2&, _T2>>::value; + } + + template <typename _U1, typename _U2> + static constexpr bool _MoveConstructiblePair() + { + return __and_<is_constructible<_T1, _U1&&>, + is_constructible<_T2, _U2&&>>::value; + } + + template <typename _U1, typename _U2> + static constexpr bool _ImplicitlyMoveConvertiblePair() + { + return __and_<is_convertible<_U1&&, _T1>, + is_convertible<_U2&&, _T2>>::value; + } + + template <bool __implicit, typename _U1, typename _U2> + static constexpr bool _CopyMovePair() + { + using __do_converts = __and_<is_convertible<const _U1&, _T1>, + is_convertible<_U2&&, _T2>>; + using __converts = typename conditional<__implicit, + __do_converts, + __not_<__do_converts>>::type; + return __and_<is_constructible<_T1, const _U1&>, + is_constructible<_T2, _U2&&>, + __converts + >::value; + } + + template <bool __implicit, typename _U1, typename _U2> + static constexpr bool _MoveCopyPair() + { + using __do_converts = __and_<is_convertible<_U1&&, _T1>, + is_convertible<const _U2&, _T2>>; + using __converts = typename conditional<__implicit, + __do_converts, + __not_<__do_converts>>::type; + return __and_<is_constructible<_T1, _U1&&>, + is_constructible<_T2, const _U2&&>, + __converts + >::value; + } + }; + + template <typename _T1, typename _T2> + struct _PCC<false, _T1, _T2> + { + template <typename _U1, typename _U2> + static constexpr bool _ConstructiblePair() + { + return false; + } + + template <typename _U1, typename _U2> + static constexpr bool _ImplicitlyConvertiblePair() + { + return false; + } + + template <typename _U1, typename _U2> + static constexpr bool _MoveConstructiblePair() + { + return false; + } + + template <typename _U1, typename _U2> + static constexpr bool _ImplicitlyMoveConvertiblePair() + { + return false; + } + }; + + struct __wrap_nonesuch : std::__nonesuch { + explicit __wrap_nonesuch(const __nonesuch&) = delete; + }; +# 193 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_pair.h" 3 + template<typename _T1, typename _T2> + struct pair + { + typedef _T1 first_type; + typedef _T2 second_type; + + _T1 first; + _T2 second; + + + + + + + template <typename _U1 = _T1, + typename _U2 = _T2, + typename enable_if<__and_< + __is_implicitly_default_constructible<_U1>, + __is_implicitly_default_constructible<_U2>> + ::value, bool>::type = true> + + constexpr pair() + : first(), second() { } + + + template <typename _U1 = _T1, + typename _U2 = _T2, + typename enable_if<__and_< + is_default_constructible<_U1>, + is_default_constructible<_U2>, + __not_< + __and_<__is_implicitly_default_constructible<_U1>, + __is_implicitly_default_constructible<_U2>>>> + ::value, bool>::type = false> + explicit constexpr pair() + : first(), second() { } +# 237 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_pair.h" 3 + using _PCCP = _PCC<true, _T1, _T2>; + + template<typename _U1 = _T1, typename _U2=_T2, typename + enable_if<_PCCP::template + _ConstructiblePair<_U1, _U2>() + && _PCCP::template + _ImplicitlyConvertiblePair<_U1, _U2>(), + bool>::type=true> + constexpr pair(const _T1& __a, const _T2& __b) + : first(__a), second(__b) { } + + template<typename _U1 = _T1, typename _U2=_T2, typename + enable_if<_PCCP::template + _ConstructiblePair<_U1, _U2>() + && !_PCCP::template + _ImplicitlyConvertiblePair<_U1, _U2>(), + bool>::type=false> + explicit constexpr pair(const _T1& __a, const _T2& __b) + : first(__a), second(__b) { } +# 265 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_pair.h" 3 + template <typename _U1, typename _U2> + using _PCCFP = _PCC<!is_same<_T1, _U1>::value + || !is_same<_T2, _U2>::value, + _T1, _T2>; + + template<typename _U1, typename _U2, typename + enable_if<_PCCFP<_U1, _U2>::template + _ConstructiblePair<_U1, _U2>() + && _PCCFP<_U1, _U2>::template + _ImplicitlyConvertiblePair<_U1, _U2>(), + bool>::type=true> + constexpr pair(const pair<_U1, _U2>& __p) + : first(__p.first), second(__p.second) { } + + template<typename _U1, typename _U2, typename + enable_if<_PCCFP<_U1, _U2>::template + _ConstructiblePair<_U1, _U2>() + && !_PCCFP<_U1, _U2>::template + _ImplicitlyConvertiblePair<_U1, _U2>(), + bool>::type=false> + explicit constexpr pair(const pair<_U1, _U2>& __p) + : first(__p.first), second(__p.second) { } + + constexpr pair(const pair&) = default; + constexpr pair(pair&&) = default; + + + template<typename _U1, typename + enable_if<_PCCP::template + _MoveCopyPair<true, _U1, _T2>(), + bool>::type=true> + constexpr pair(_U1&& __x, const _T2& __y) + : first(std::forward<_U1>(__x)), second(__y) { } + + template<typename _U1, typename + enable_if<_PCCP::template + _MoveCopyPair<false, _U1, _T2>(), + bool>::type=false> + explicit constexpr pair(_U1&& __x, const _T2& __y) + : first(std::forward<_U1>(__x)), second(__y) { } + + template<typename _U2, typename + enable_if<_PCCP::template + _CopyMovePair<true, _T1, _U2>(), + bool>::type=true> + constexpr pair(const _T1& __x, _U2&& __y) + : first(__x), second(std::forward<_U2>(__y)) { } + + template<typename _U2, typename + enable_if<_PCCP::template + _CopyMovePair<false, _T1, _U2>(), + bool>::type=false> + explicit pair(const _T1& __x, _U2&& __y) + : first(__x), second(std::forward<_U2>(__y)) { } + + template<typename _U1, typename _U2, typename + enable_if<_PCCP::template + _MoveConstructiblePair<_U1, _U2>() + && _PCCP::template + _ImplicitlyMoveConvertiblePair<_U1, _U2>(), + bool>::type=true> + constexpr pair(_U1&& __x, _U2&& __y) + : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } + + template<typename _U1, typename _U2, typename + enable_if<_PCCP::template + _MoveConstructiblePair<_U1, _U2>() + && !_PCCP::template + _ImplicitlyMoveConvertiblePair<_U1, _U2>(), + bool>::type=false> + explicit constexpr pair(_U1&& __x, _U2&& __y) + : first(std::forward<_U1>(__x)), second(std::forward<_U2>(__y)) { } + + + template<typename _U1, typename _U2, typename + enable_if<_PCCFP<_U1, _U2>::template + _MoveConstructiblePair<_U1, _U2>() + && _PCCFP<_U1, _U2>::template + _ImplicitlyMoveConvertiblePair<_U1, _U2>(), + bool>::type=true> + constexpr pair(pair<_U1, _U2>&& __p) + : first(std::forward<_U1>(__p.first)), + second(std::forward<_U2>(__p.second)) { } + + template<typename _U1, typename _U2, typename + enable_if<_PCCFP<_U1, _U2>::template + _MoveConstructiblePair<_U1, _U2>() + && !_PCCFP<_U1, _U2>::template + _ImplicitlyMoveConvertiblePair<_U1, _U2>(), + bool>::type=false> + explicit constexpr pair(pair<_U1, _U2>&& __p) + : first(std::forward<_U1>(__p.first)), + second(std::forward<_U2>(__p.second)) { } + + template<typename... _Args1, typename... _Args2> + pair(piecewise_construct_t, tuple<_Args1...>, tuple<_Args2...>); + + pair& + operator=(typename conditional< + __and_<is_copy_assignable<_T1>, + is_copy_assignable<_T2>>::value, + const pair&, const __wrap_nonesuch&>::type __p) + { + first = __p.first; + second = __p.second; + return *this; + } + + pair& + operator=(typename conditional< + __not_<__and_<is_copy_assignable<_T1>, + is_copy_assignable<_T2>>>::value, + const pair&, const __wrap_nonesuch&>::type __p) = delete; + + pair& + operator=(typename conditional< + __and_<is_move_assignable<_T1>, + is_move_assignable<_T2>>::value, + pair&&, __wrap_nonesuch&&>::type __p) + noexcept(__and_<is_nothrow_move_assignable<_T1>, + is_nothrow_move_assignable<_T2>>::value) + { + first = std::forward<first_type>(__p.first); + second = std::forward<second_type>(__p.second); + return *this; + } + + template<typename _U1, typename _U2> + typename enable_if<__and_<is_assignable<_T1&, const _U1&>, + is_assignable<_T2&, const _U2&>>::value, + pair&>::type + operator=(const pair<_U1, _U2>& __p) + { + first = __p.first; + second = __p.second; + return *this; + } + + template<typename _U1, typename _U2> + typename enable_if<__and_<is_assignable<_T1&, _U1&&>, + is_assignable<_T2&, _U2&&>>::value, + pair&>::type + operator=(pair<_U1, _U2>&& __p) + { + first = std::forward<_U1>(__p.first); + second = std::forward<_U2>(__p.second); + return *this; + } + + void + swap(pair& __p) + noexcept(__is_nothrow_swappable<_T1>::value + && __is_nothrow_swappable<_T2>::value) + { + using std::swap; + swap(first, __p.first); + swap(second, __p.second); + } + + private: + template<typename... _Args1, std::size_t... _Indexes1, + typename... _Args2, std::size_t... _Indexes2> + pair(tuple<_Args1...>&, tuple<_Args2...>&, + _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>); + + }; + + + template<typename _T1, typename _T2> + inline constexpr bool + operator==(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return __x.first == __y.first && __x.second == __y.second; } + + + template<typename _T1, typename _T2> + inline constexpr bool + operator<(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return __x.first < __y.first + || (!(__y.first < __x.first) && __x.second < __y.second); } + + + template<typename _T1, typename _T2> + inline constexpr bool + operator!=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return !(__x == __y); } + + + template<typename _T1, typename _T2> + inline constexpr bool + operator>(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return __y < __x; } + + + template<typename _T1, typename _T2> + inline constexpr bool + operator<=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return !(__y < __x); } + + + template<typename _T1, typename _T2> + inline constexpr bool + operator>=(const pair<_T1, _T2>& __x, const pair<_T1, _T2>& __y) + { return !(__x < __y); } + + + + + + template<typename _T1, typename _T2> + inline void + swap(pair<_T1, _T2>& __x, pair<_T1, _T2>& __y) + noexcept(noexcept(__x.swap(__y))) + { __x.swap(__y); } +# 494 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_pair.h" 3 + template<typename _T1, typename _T2> + constexpr pair<typename __decay_and_strip<_T1>::__type, + typename __decay_and_strip<_T2>::__type> + make_pair(_T1&& __x, _T2&& __y) + { + typedef typename __decay_and_strip<_T1>::__type __ds_type1; + typedef typename __decay_and_strip<_T2>::__type __ds_type2; + typedef pair<__ds_type1, __ds_type2> __pair_type; + return __pair_type(std::forward<_T1>(__x), std::forward<_T2>(__y)); + } +# 514 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_pair.h" 3 +} +# 65 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_types.h" 1 3 +# 63 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_types.h" 3 + + + + + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 89 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_types.h" 3 + struct input_iterator_tag { }; + + + struct output_iterator_tag { }; + + + struct forward_iterator_tag : public input_iterator_tag { }; + + + + struct bidirectional_iterator_tag : public forward_iterator_tag { }; + + + + struct random_access_iterator_tag : public bidirectional_iterator_tag { }; +# 116 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_types.h" 3 + template<typename _Category, typename _Tp, typename _Distance = ptrdiff_t, + typename _Pointer = _Tp*, typename _Reference = _Tp&> + struct iterator + { + + typedef _Category iterator_category; + + typedef _Tp value_type; + + typedef _Distance difference_type; + + typedef _Pointer pointer; + + typedef _Reference reference; + }; +# 143 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_types.h" 3 + template<typename _Iterator, typename = __void_t<>> + struct __iterator_traits { }; + + template<typename _Iterator> + struct __iterator_traits<_Iterator, + __void_t<typename _Iterator::iterator_category, + typename _Iterator::value_type, + typename _Iterator::difference_type, + typename _Iterator::pointer, + typename _Iterator::reference>> + { + typedef typename _Iterator::iterator_category iterator_category; + typedef typename _Iterator::value_type value_type; + typedef typename _Iterator::difference_type difference_type; + typedef typename _Iterator::pointer pointer; + typedef typename _Iterator::reference reference; + }; + + template<typename _Iterator> + struct iterator_traits + : public __iterator_traits<_Iterator> { }; +# 177 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_types.h" 3 + template<typename _Tp> + struct iterator_traits<_Tp*> + { + typedef random_access_iterator_tag iterator_category; + typedef _Tp value_type; + typedef ptrdiff_t difference_type; + typedef _Tp* pointer; + typedef _Tp& reference; + }; + + + template<typename _Tp> + struct iterator_traits<const _Tp*> + { + typedef random_access_iterator_tag iterator_category; + typedef _Tp value_type; + typedef ptrdiff_t difference_type; + typedef const _Tp* pointer; + typedef const _Tp& reference; + }; + + + + + + template<typename _Iter> + inline typename iterator_traits<_Iter>::iterator_category + __iterator_category(const _Iter&) + { return typename iterator_traits<_Iter>::iterator_category(); } +# 230 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_types.h" 3 + template<typename _InIter> + using _RequireInputIter = typename + enable_if<is_convertible<typename + iterator_traits<_InIter>::iterator_category, + input_iterator_tag>::value>::type; + + + +} +# 66 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_funcs.h" 1 3 +# 63 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_funcs.h" 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/debug/assertions.h" 1 3 +# 66 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_funcs.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + template <typename> struct _List_iterator; + template <typename> struct _List_const_iterator; + + + + + template<typename _InputIterator> + inline typename iterator_traits<_InputIterator>::difference_type + __distance(_InputIterator __first, _InputIterator __last, + input_iterator_tag) + { + + + + typename iterator_traits<_InputIterator>::difference_type __n = 0; + while (__first != __last) + { + ++__first; + ++__n; + } + return __n; + } + + template<typename _RandomAccessIterator> + inline typename iterator_traits<_RandomAccessIterator>::difference_type + __distance(_RandomAccessIterator __first, _RandomAccessIterator __last, + random_access_iterator_tag) + { + + + + return __last - __first; + } + + + + template<typename _Tp> + ptrdiff_t + __distance(std::_List_iterator<_Tp>, + std::_List_iterator<_Tp>, + input_iterator_tag); + + template<typename _Tp> + ptrdiff_t + __distance(std::_List_const_iterator<_Tp>, + std::_List_const_iterator<_Tp>, + input_iterator_tag); +# 133 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_funcs.h" 3 + template<typename _InputIterator> + inline typename iterator_traits<_InputIterator>::difference_type + distance(_InputIterator __first, _InputIterator __last) + { + + return std::__distance(__first, __last, + std::__iterator_category(__first)); + } + + template<typename _InputIterator, typename _Distance> + inline void + __advance(_InputIterator& __i, _Distance __n, input_iterator_tag) + { + + + ; + while (__n--) + ++__i; + } + + template<typename _BidirectionalIterator, typename _Distance> + inline void + __advance(_BidirectionalIterator& __i, _Distance __n, + bidirectional_iterator_tag) + { + + + + if (__n > 0) + while (__n--) + ++__i; + else + while (__n++) + --__i; + } + + template<typename _RandomAccessIterator, typename _Distance> + inline void + __advance(_RandomAccessIterator& __i, _Distance __n, + random_access_iterator_tag) + { + + + + __i += __n; + } +# 192 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator_base_funcs.h" 3 + template<typename _InputIterator, typename _Distance> + inline void + advance(_InputIterator& __i, _Distance __n) + { + + typename iterator_traits<_InputIterator>::difference_type __d = __n; + std::__advance(__i, __d, std::__iterator_category(__i)); + } + + + + template<typename _ForwardIterator> + inline _ForwardIterator + next(_ForwardIterator __x, typename + iterator_traits<_ForwardIterator>::difference_type __n = 1) + { + + + + std::advance(__x, __n); + return __x; + } + + template<typename _BidirectionalIterator> + inline _BidirectionalIterator + prev(_BidirectionalIterator __x, typename + iterator_traits<_BidirectionalIterator>::difference_type __n = 1) + { + + + + std::advance(__x, -__n); + return __x; + } + + + + +} +# 67 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 1 3 +# 66 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/ptr_traits.h" 1 3 +# 37 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/ptr_traits.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + class __undefined; + + + template<typename _Tp> + struct __get_first_arg + { using type = __undefined; }; + + template<template<typename, typename...> class _Template, typename _Tp, + typename... _Types> + struct __get_first_arg<_Template<_Tp, _Types...>> + { using type = _Tp; }; + + template<typename _Tp> + using __get_first_arg_t = typename __get_first_arg<_Tp>::type; + + + template<typename _Tp, typename _Up> + struct __replace_first_arg + { }; + + template<template<typename, typename...> class _Template, typename _Up, + typename _Tp, typename... _Types> + struct __replace_first_arg<_Template<_Tp, _Types...>, _Up> + { using type = _Template<_Up, _Types...>; }; + + template<typename _Tp, typename _Up> + using __replace_first_arg_t = typename __replace_first_arg<_Tp, _Up>::type; + + template<typename _Tp> + using __make_not_void + = typename conditional<is_void<_Tp>::value, __undefined, _Tp>::type; + + + + + + template<typename _Ptr> + struct pointer_traits + { + private: + template<typename _Tp> + using __element_type = typename _Tp::element_type; + + template<typename _Tp> + using __difference_type = typename _Tp::difference_type; + + template<typename _Tp, typename _Up, typename = void> + struct __rebind : __replace_first_arg<_Tp, _Up> { }; + + template<typename _Tp, typename _Up> + struct __rebind<_Tp, _Up, __void_t<typename _Tp::template rebind<_Up>>> + { using type = typename _Tp::template rebind<_Up>; }; + + public: + + using pointer = _Ptr; + + + using element_type + = __detected_or_t<__get_first_arg_t<_Ptr>, __element_type, _Ptr>; + + + using difference_type + = __detected_or_t<ptrdiff_t, __difference_type, _Ptr>; + + + template<typename _Up> + using rebind = typename __rebind<_Ptr, _Up>::type; + + static _Ptr + pointer_to(__make_not_void<element_type>& __e) + { return _Ptr::pointer_to(__e); } + + static_assert(!is_same<element_type, __undefined>::value, + "pointer type defines element_type or is like SomePointer<T, Args>"); + }; + + + + + + template<typename _Tp> + struct pointer_traits<_Tp*> + { + + typedef _Tp* pointer; + + typedef _Tp element_type; + + typedef ptrdiff_t difference_type; + + template<typename _Up> + using rebind = _Up*; + + + + + + + static pointer + pointer_to(__make_not_void<element_type>& __r) noexcept + { return std::addressof(__r); } + }; + + + template<typename _Ptr, typename _Tp> + using __ptr_rebind = typename pointer_traits<_Ptr>::template rebind<_Tp>; + + +} +# 67 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 96 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + template<typename _Iterator> + class reverse_iterator + : public iterator<typename iterator_traits<_Iterator>::iterator_category, + typename iterator_traits<_Iterator>::value_type, + typename iterator_traits<_Iterator>::difference_type, + typename iterator_traits<_Iterator>::pointer, + typename iterator_traits<_Iterator>::reference> + { + protected: + _Iterator current; + + typedef iterator_traits<_Iterator> __traits_type; + + public: + typedef _Iterator iterator_type; + typedef typename __traits_type::difference_type difference_type; + typedef typename __traits_type::pointer pointer; + typedef typename __traits_type::reference reference; + + + + + + + + reverse_iterator() : current() { } + + + + + explicit + reverse_iterator(iterator_type __x) : current(__x) { } + + + + + reverse_iterator(const reverse_iterator& __x) + : current(__x.current) { } + + + + + + template<typename _Iter> + reverse_iterator(const reverse_iterator<_Iter>& __x) + : current(__x.base()) { } + + + + + iterator_type + base() const + { return current; } +# 160 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + reference + operator*() const + { + _Iterator __tmp = current; + return *--__tmp; + } + + + + + + + pointer + operator->() const + { return &(operator*()); } + + + + + + + reverse_iterator& + operator++() + { + --current; + return *this; + } + + + + + + + reverse_iterator + operator++(int) + { + reverse_iterator __tmp = *this; + --current; + return __tmp; + } + + + + + + + reverse_iterator& + operator--() + { + ++current; + return *this; + } + + + + + + + reverse_iterator + operator--(int) + { + reverse_iterator __tmp = *this; + ++current; + return __tmp; + } + + + + + + + reverse_iterator + operator+(difference_type __n) const + { return reverse_iterator(current - __n); } + + + + + + + + reverse_iterator& + operator+=(difference_type __n) + { + current -= __n; + return *this; + } + + + + + + + reverse_iterator + operator-(difference_type __n) const + { return reverse_iterator(current + __n); } + + + + + + + + reverse_iterator& + operator-=(difference_type __n) + { + current += __n; + return *this; + } + + + + + + + reference + operator[](difference_type __n) const + { return *(*this + __n); } + }; +# 290 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + template<typename _Iterator> + inline bool + operator==(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return __x.base() == __y.base(); } + + template<typename _Iterator> + inline bool + operator<(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return __y.base() < __x.base(); } + + template<typename _Iterator> + inline bool + operator!=(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return !(__x == __y); } + + template<typename _Iterator> + inline bool + operator>(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return __y < __x; } + + template<typename _Iterator> + inline bool + operator<=(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return !(__y < __x); } + + template<typename _Iterator> + inline bool + operator>=(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + { return !(__x < __y); } + + template<typename _Iterator> + + + + + + inline auto + operator-(const reverse_iterator<_Iterator>& __x, + const reverse_iterator<_Iterator>& __y) + -> decltype(__x.base() - __y.base()) + + { return __y.base() - __x.base(); } + + template<typename _Iterator> + inline reverse_iterator<_Iterator> + operator+(typename reverse_iterator<_Iterator>::difference_type __n, + const reverse_iterator<_Iterator>& __x) + { return reverse_iterator<_Iterator>(__x.base() - __n); } + + + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator==(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return __x.base() == __y.base(); } + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator<(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return __y.base() < __x.base(); } + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator!=(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return !(__x == __y); } + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator>(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return __y < __x; } + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator<=(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return !(__y < __x); } + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator>=(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + { return !(__x < __y); } + + template<typename _IteratorL, typename _IteratorR> + + + inline auto + operator-(const reverse_iterator<_IteratorL>& __x, + const reverse_iterator<_IteratorR>& __y) + -> decltype(__y.base() - __x.base()) + + + + + + { return __y.base() - __x.base(); } + + + + + template<typename _Iterator> + inline reverse_iterator<_Iterator> + __make_reverse_iterator(_Iterator __i) + { return reverse_iterator<_Iterator>(__i); } +# 419 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + template<typename _Iterator> + auto + __niter_base(reverse_iterator<_Iterator> __it) + -> decltype(__make_reverse_iterator(__niter_base(__it.base()))) + { return __make_reverse_iterator(__niter_base(__it.base())); } + + template<typename _Iterator> + struct __is_move_iterator<reverse_iterator<_Iterator> > + : __is_move_iterator<_Iterator> + { }; + + template<typename _Iterator> + auto + __miter_base(reverse_iterator<_Iterator> __it) + -> decltype(__make_reverse_iterator(__miter_base(__it.base()))) + { return __make_reverse_iterator(__miter_base(__it.base())); } +# 448 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + template<typename _Container> + class back_insert_iterator + : public iterator<output_iterator_tag, void, void, void, void> + { + protected: + _Container* container; + + public: + + typedef _Container container_type; + + + explicit + back_insert_iterator(_Container& __x) + : container(std::__addressof(__x)) { } +# 483 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + back_insert_iterator& + operator=(const typename _Container::value_type& __value) + { + container->push_back(__value); + return *this; + } + + back_insert_iterator& + operator=(typename _Container::value_type&& __value) + { + container->push_back(std::move(__value)); + return *this; + } + + + + back_insert_iterator& + operator*() + { return *this; } + + + back_insert_iterator& + operator++() + { return *this; } + + + back_insert_iterator + operator++(int) + { return *this; } + }; +# 525 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + template<typename _Container> + inline back_insert_iterator<_Container> + back_inserter(_Container& __x) + { return back_insert_iterator<_Container>(__x); } +# 540 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + template<typename _Container> + class front_insert_iterator + : public iterator<output_iterator_tag, void, void, void, void> + { + protected: + _Container* container; + + public: + + typedef _Container container_type; + + + explicit front_insert_iterator(_Container& __x) + : container(std::__addressof(__x)) { } +# 574 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + front_insert_iterator& + operator=(const typename _Container::value_type& __value) + { + container->push_front(__value); + return *this; + } + + front_insert_iterator& + operator=(typename _Container::value_type&& __value) + { + container->push_front(std::move(__value)); + return *this; + } + + + + front_insert_iterator& + operator*() + { return *this; } + + + front_insert_iterator& + operator++() + { return *this; } + + + front_insert_iterator + operator++(int) + { return *this; } + }; +# 616 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + template<typename _Container> + inline front_insert_iterator<_Container> + front_inserter(_Container& __x) + { return front_insert_iterator<_Container>(__x); } +# 635 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + template<typename _Container> + class insert_iterator + : public iterator<output_iterator_tag, void, void, void, void> + { + protected: + _Container* container; + typename _Container::iterator iter; + + public: + + typedef _Container container_type; + + + + + + insert_iterator(_Container& __x, typename _Container::iterator __i) + : container(std::__addressof(__x)), iter(__i) {} +# 686 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + insert_iterator& + operator=(const typename _Container::value_type& __value) + { + iter = container->insert(iter, __value); + ++iter; + return *this; + } + + insert_iterator& + operator=(typename _Container::value_type&& __value) + { + iter = container->insert(iter, std::move(__value)); + ++iter; + return *this; + } + + + + insert_iterator& + operator*() + { return *this; } + + + insert_iterator& + operator++() + { return *this; } + + + insert_iterator& + operator++(int) + { return *this; } + }; +# 730 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + template<typename _Container, typename _Iterator> + inline insert_iterator<_Container> + inserter(_Container& __x, _Iterator __i) + { + return insert_iterator<_Container>(__x, + typename _Container::iterator(__i)); + } + + + + +} + +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ +# 754 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + using std::iterator_traits; + using std::iterator; + template<typename _Iterator, typename _Container> + class __normal_iterator + { + protected: + _Iterator _M_current; + + typedef iterator_traits<_Iterator> __traits_type; + + public: + typedef _Iterator iterator_type; + typedef typename __traits_type::iterator_category iterator_category; + typedef typename __traits_type::value_type value_type; + typedef typename __traits_type::difference_type difference_type; + typedef typename __traits_type::reference reference; + typedef typename __traits_type::pointer pointer; + + constexpr __normal_iterator() noexcept + : _M_current(_Iterator()) { } + + explicit + __normal_iterator(const _Iterator& __i) noexcept + : _M_current(__i) { } + + + template<typename _Iter> + __normal_iterator(const __normal_iterator<_Iter, + typename __enable_if< + (std::__are_same<_Iter, typename _Container::pointer>::__value), + _Container>::__type>& __i) noexcept + : _M_current(__i.base()) { } + + + reference + operator*() const noexcept + { return *_M_current; } + + pointer + operator->() const noexcept + { return _M_current; } + + __normal_iterator& + operator++() noexcept + { + ++_M_current; + return *this; + } + + __normal_iterator + operator++(int) noexcept + { return __normal_iterator(_M_current++); } + + + __normal_iterator& + operator--() noexcept + { + --_M_current; + return *this; + } + + __normal_iterator + operator--(int) noexcept + { return __normal_iterator(_M_current--); } + + + reference + operator[](difference_type __n) const noexcept + { return _M_current[__n]; } + + __normal_iterator& + operator+=(difference_type __n) noexcept + { _M_current += __n; return *this; } + + __normal_iterator + operator+(difference_type __n) const noexcept + { return __normal_iterator(_M_current + __n); } + + __normal_iterator& + operator-=(difference_type __n) noexcept + { _M_current -= __n; return *this; } + + __normal_iterator + operator-(difference_type __n) const noexcept + { return __normal_iterator(_M_current - __n); } + + const _Iterator& + base() const noexcept + { return _M_current; } + }; +# 854 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + template<typename _IteratorL, typename _IteratorR, typename _Container> + inline bool + operator==(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() == __rhs.base(); } + + template<typename _Iterator, typename _Container> + inline bool + operator==(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() == __rhs.base(); } + + template<typename _IteratorL, typename _IteratorR, typename _Container> + inline bool + operator!=(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() != __rhs.base(); } + + template<typename _Iterator, typename _Container> + inline bool + operator!=(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() != __rhs.base(); } + + + template<typename _IteratorL, typename _IteratorR, typename _Container> + inline bool + operator<(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() < __rhs.base(); } + + template<typename _Iterator, typename _Container> + inline bool + operator<(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() < __rhs.base(); } + + template<typename _IteratorL, typename _IteratorR, typename _Container> + inline bool + operator>(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() > __rhs.base(); } + + template<typename _Iterator, typename _Container> + inline bool + operator>(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() > __rhs.base(); } + + template<typename _IteratorL, typename _IteratorR, typename _Container> + inline bool + operator<=(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() <= __rhs.base(); } + + template<typename _Iterator, typename _Container> + inline bool + operator<=(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() <= __rhs.base(); } + + template<typename _IteratorL, typename _IteratorR, typename _Container> + inline bool + operator>=(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) + noexcept + { return __lhs.base() >= __rhs.base(); } + + template<typename _Iterator, typename _Container> + inline bool + operator>=(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() >= __rhs.base(); } + + + + + + template<typename _IteratorL, typename _IteratorR, typename _Container> + + + inline auto + operator-(const __normal_iterator<_IteratorL, _Container>& __lhs, + const __normal_iterator<_IteratorR, _Container>& __rhs) noexcept + -> decltype(__lhs.base() - __rhs.base()) + + + + + + { return __lhs.base() - __rhs.base(); } + + template<typename _Iterator, typename _Container> + inline typename __normal_iterator<_Iterator, _Container>::difference_type + operator-(const __normal_iterator<_Iterator, _Container>& __lhs, + const __normal_iterator<_Iterator, _Container>& __rhs) + noexcept + { return __lhs.base() - __rhs.base(); } + + template<typename _Iterator, typename _Container> + inline __normal_iterator<_Iterator, _Container> + operator+(typename __normal_iterator<_Iterator, _Container>::difference_type + __n, const __normal_iterator<_Iterator, _Container>& __i) + noexcept + { return __normal_iterator<_Iterator, _Container>(__i.base() + __n); } + + +} + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + template<typename _Iterator, typename _Container> + _Iterator + __niter_base(__gnu_cxx::__normal_iterator<_Iterator, _Container> __it) + { return __it.base(); } + + +} + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 1006 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_iterator.h" 3 + template<typename _Iterator> + class move_iterator + { + protected: + _Iterator _M_current; + + typedef iterator_traits<_Iterator> __traits_type; + typedef typename __traits_type::reference __base_ref; + + public: + typedef _Iterator iterator_type; + typedef typename __traits_type::iterator_category iterator_category; + typedef typename __traits_type::value_type value_type; + typedef typename __traits_type::difference_type difference_type; + + typedef _Iterator pointer; + + + typedef typename conditional<is_reference<__base_ref>::value, + typename remove_reference<__base_ref>::type&&, + __base_ref>::type reference; + + move_iterator() + : _M_current() { } + + explicit + move_iterator(iterator_type __i) + : _M_current(__i) { } + + template<typename _Iter> + move_iterator(const move_iterator<_Iter>& __i) + : _M_current(__i.base()) { } + + iterator_type + base() const + { return _M_current; } + + reference + operator*() const + { return static_cast<reference>(*_M_current); } + + pointer + operator->() const + { return _M_current; } + + move_iterator& + operator++() + { + ++_M_current; + return *this; + } + + move_iterator + operator++(int) + { + move_iterator __tmp = *this; + ++_M_current; + return __tmp; + } + + move_iterator& + operator--() + { + --_M_current; + return *this; + } + + move_iterator + operator--(int) + { + move_iterator __tmp = *this; + --_M_current; + return __tmp; + } + + move_iterator + operator+(difference_type __n) const + { return move_iterator(_M_current + __n); } + + move_iterator& + operator+=(difference_type __n) + { + _M_current += __n; + return *this; + } + + move_iterator + operator-(difference_type __n) const + { return move_iterator(_M_current - __n); } + + move_iterator& + operator-=(difference_type __n) + { + _M_current -= __n; + return *this; + } + + reference + operator[](difference_type __n) const + { return std::move(_M_current[__n]); } + }; + + + + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator==(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + { return __x.base() == __y.base(); } + + template<typename _Iterator> + inline bool + operator==(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return __x.base() == __y.base(); } + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator!=(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + { return !(__x == __y); } + + template<typename _Iterator> + inline bool + operator!=(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return !(__x == __y); } + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator<(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + { return __x.base() < __y.base(); } + + template<typename _Iterator> + inline bool + operator<(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return __x.base() < __y.base(); } + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator<=(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + { return !(__y < __x); } + + template<typename _Iterator> + inline bool + operator<=(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return !(__y < __x); } + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator>(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + { return __y < __x; } + + template<typename _Iterator> + inline bool + operator>(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return __y < __x; } + + template<typename _IteratorL, typename _IteratorR> + inline bool + operator>=(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + { return !(__x < __y); } + + template<typename _Iterator> + inline bool + operator>=(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + { return !(__x < __y); } + + + template<typename _IteratorL, typename _IteratorR> + inline auto + operator-(const move_iterator<_IteratorL>& __x, + const move_iterator<_IteratorR>& __y) + -> decltype(__x.base() - __y.base()) + { return __x.base() - __y.base(); } + + template<typename _Iterator> + inline auto + operator-(const move_iterator<_Iterator>& __x, + const move_iterator<_Iterator>& __y) + -> decltype(__x.base() - __y.base()) + { return __x.base() - __y.base(); } + + template<typename _Iterator> + inline move_iterator<_Iterator> + operator+(typename move_iterator<_Iterator>::difference_type __n, + const move_iterator<_Iterator>& __x) + { return __x + __n; } + + template<typename _Iterator> + inline move_iterator<_Iterator> + make_move_iterator(_Iterator __i) + { return move_iterator<_Iterator>(__i); } + + template<typename _Iterator, typename _ReturnType + = typename conditional<__move_if_noexcept_cond + <typename iterator_traits<_Iterator>::value_type>::value, + _Iterator, move_iterator<_Iterator>>::type> + inline _ReturnType + __make_move_if_noexcept_iterator(_Iterator __i) + { return _ReturnType(__i); } + + + + template<typename _Tp, typename _ReturnType + = typename conditional<__move_if_noexcept_cond<_Tp>::value, + const _Tp*, move_iterator<_Tp*>>::type> + inline _ReturnType + __make_move_if_noexcept_iterator(_Tp* __i) + { return _ReturnType(__i); } + + + + template<typename _Iterator> + auto + __niter_base(move_iterator<_Iterator> __it) + -> decltype(make_move_iterator(__niter_base(__it.base()))) + { return make_move_iterator(__niter_base(__it.base())); } + + template<typename _Iterator> + struct __is_move_iterator<move_iterator<_Iterator> > + { + enum { __value = 1 }; + typedef __true_type __type; + }; + + template<typename _Iterator> + auto + __miter_base(move_iterator<_Iterator> __it) + -> decltype(__miter_base(__it.base())) + { return __miter_base(__it.base()); } + + +} +# 68 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 2 3 + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/debug/debug.h" 1 3 +# 48 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/debug/debug.h" 3 +namespace std +{ + namespace __debug { } +} + + + + +namespace __gnu_debug +{ + using namespace std::__debug; +} +# 70 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 2 3 + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/predefined_ops.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/predefined_ops.h" 3 +namespace __gnu_cxx +{ +namespace __ops +{ + struct _Iter_less_iter + { + template<typename _Iterator1, typename _Iterator2> + + bool + operator()(_Iterator1 __it1, _Iterator2 __it2) const + { return *__it1 < *__it2; } + }; + + + inline _Iter_less_iter + __iter_less_iter() + { return _Iter_less_iter(); } + + struct _Iter_less_val + { + template<typename _Iterator, typename _Value> + bool + operator()(_Iterator __it, _Value& __val) const + { return *__it < __val; } + }; + + inline _Iter_less_val + __iter_less_val() + { return _Iter_less_val(); } + + inline _Iter_less_val + __iter_comp_val(_Iter_less_iter) + { return _Iter_less_val(); } + + struct _Val_less_iter + { + template<typename _Value, typename _Iterator> + bool + operator()(_Value& __val, _Iterator __it) const + { return __val < *__it; } + }; + + inline _Val_less_iter + __val_less_iter() + { return _Val_less_iter(); } + + inline _Val_less_iter + __val_comp_iter(_Iter_less_iter) + { return _Val_less_iter(); } + + struct _Iter_equal_to_iter + { + template<typename _Iterator1, typename _Iterator2> + bool + operator()(_Iterator1 __it1, _Iterator2 __it2) const + { return *__it1 == *__it2; } + }; + + inline _Iter_equal_to_iter + __iter_equal_to_iter() + { return _Iter_equal_to_iter(); } + + struct _Iter_equal_to_val + { + template<typename _Iterator, typename _Value> + bool + operator()(_Iterator __it, _Value& __val) const + { return *__it == __val; } + }; + + inline _Iter_equal_to_val + __iter_equal_to_val() + { return _Iter_equal_to_val(); } + + inline _Iter_equal_to_val + __iter_comp_val(_Iter_equal_to_iter) + { return _Iter_equal_to_val(); } + + template<typename _Compare> + struct _Iter_comp_iter + { + _Compare _M_comp; + + explicit + _Iter_comp_iter(_Compare __comp) + : _M_comp(__comp) + { } + + template<typename _Iterator1, typename _Iterator2> + + bool + operator()(_Iterator1 __it1, _Iterator2 __it2) + { return bool(_M_comp(*__it1, *__it2)); } + }; + + template<typename _Compare> + + inline _Iter_comp_iter<_Compare> + __iter_comp_iter(_Compare __comp) + { return _Iter_comp_iter<_Compare>(__comp); } + + template<typename _Compare> + struct _Iter_comp_val + { + _Compare _M_comp; + + explicit + _Iter_comp_val(_Compare __comp) + : _M_comp(__comp) + { } + + template<typename _Iterator, typename _Value> + bool + operator()(_Iterator __it, _Value& __val) + { return bool(_M_comp(*__it, __val)); } + }; + + template<typename _Compare> + inline _Iter_comp_val<_Compare> + __iter_comp_val(_Compare __comp) + { return _Iter_comp_val<_Compare>(__comp); } + + template<typename _Compare> + inline _Iter_comp_val<_Compare> + __iter_comp_val(_Iter_comp_iter<_Compare> __comp) + { return _Iter_comp_val<_Compare>(__comp._M_comp); } + + template<typename _Compare> + struct _Val_comp_iter + { + _Compare _M_comp; + + explicit + _Val_comp_iter(_Compare __comp) + : _M_comp(__comp) + { } + + template<typename _Value, typename _Iterator> + bool + operator()(_Value& __val, _Iterator __it) + { return bool(_M_comp(__val, *__it)); } + }; + + template<typename _Compare> + inline _Val_comp_iter<_Compare> + __val_comp_iter(_Compare __comp) + { return _Val_comp_iter<_Compare>(__comp); } + + template<typename _Compare> + inline _Val_comp_iter<_Compare> + __val_comp_iter(_Iter_comp_iter<_Compare> __comp) + { return _Val_comp_iter<_Compare>(__comp._M_comp); } + + template<typename _Value> + struct _Iter_equals_val + { + _Value& _M_value; + + explicit + _Iter_equals_val(_Value& __value) + : _M_value(__value) + { } + + template<typename _Iterator> + bool + operator()(_Iterator __it) + { return *__it == _M_value; } + }; + + template<typename _Value> + inline _Iter_equals_val<_Value> + __iter_equals_val(_Value& __val) + { return _Iter_equals_val<_Value>(__val); } + + template<typename _Iterator1> + struct _Iter_equals_iter + { + _Iterator1 _M_it1; + + explicit + _Iter_equals_iter(_Iterator1 __it1) + : _M_it1(__it1) + { } + + template<typename _Iterator2> + bool + operator()(_Iterator2 __it2) + { return *__it2 == *_M_it1; } + }; + + template<typename _Iterator> + inline _Iter_equals_iter<_Iterator> + __iter_comp_iter(_Iter_equal_to_iter, _Iterator __it) + { return _Iter_equals_iter<_Iterator>(__it); } + + template<typename _Predicate> + struct _Iter_pred + { + _Predicate _M_pred; + + explicit + _Iter_pred(_Predicate __pred) + : _M_pred(__pred) + { } + + template<typename _Iterator> + bool + operator()(_Iterator __it) + { return bool(_M_pred(*__it)); } + }; + + template<typename _Predicate> + inline _Iter_pred<_Predicate> + __pred_iter(_Predicate __pred) + { return _Iter_pred<_Predicate>(__pred); } + + template<typename _Compare, typename _Value> + struct _Iter_comp_to_val + { + _Compare _M_comp; + _Value& _M_value; + + _Iter_comp_to_val(_Compare __comp, _Value& __value) + : _M_comp(__comp), _M_value(__value) + { } + + template<typename _Iterator> + bool + operator()(_Iterator __it) + { return bool(_M_comp(*__it, _M_value)); } + }; + + template<typename _Compare, typename _Value> + _Iter_comp_to_val<_Compare, _Value> + __iter_comp_val(_Compare __comp, _Value &__val) + { return _Iter_comp_to_val<_Compare, _Value>(__comp, __val); } + + template<typename _Compare, typename _Iterator1> + struct _Iter_comp_to_iter + { + _Compare _M_comp; + _Iterator1 _M_it1; + + _Iter_comp_to_iter(_Compare __comp, _Iterator1 __it1) + : _M_comp(__comp), _M_it1(__it1) + { } + + template<typename _Iterator2> + bool + operator()(_Iterator2 __it2) + { return bool(_M_comp(*__it2, *_M_it1)); } + }; + + template<typename _Compare, typename _Iterator> + inline _Iter_comp_to_iter<_Compare, _Iterator> + __iter_comp_iter(_Iter_comp_iter<_Compare> __comp, _Iterator __it) + { return _Iter_comp_to_iter<_Compare, _Iterator>(__comp._M_comp, __it); } + + template<typename _Predicate> + struct _Iter_negate + { + _Predicate _M_pred; + + explicit + _Iter_negate(_Predicate __pred) + : _M_pred(__pred) + { } + + template<typename _Iterator> + bool + operator()(_Iterator __it) + { return !bool(_M_pred(*__it)); } + }; + + template<typename _Predicate> + inline _Iter_negate<_Predicate> + __negate(_Iter_pred<_Predicate> __pred) + { return _Iter_negate<_Predicate>(__pred._M_pred); } + +} +} +# 72 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 118 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _ForwardIterator1, typename _ForwardIterator2> + inline void + iter_swap(_ForwardIterator1 __a, _ForwardIterator2 __b) + { +# 148 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + swap(*__a, *__b); + + } +# 164 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _ForwardIterator1, typename _ForwardIterator2> + _ForwardIterator2 + swap_ranges(_ForwardIterator1 __first1, _ForwardIterator1 __last1, + _ForwardIterator2 __first2) + { + + + + + + ; + + for (; __first1 != __last1; ++__first1, (void)++__first2) + std::iter_swap(__first1, __first2); + return __first2; + } +# 192 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _Tp> + + inline const _Tp& + min(const _Tp& __a, const _Tp& __b) + { + + + + if (__b < __a) + return __b; + return __a; + } +# 216 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _Tp> + + inline const _Tp& + max(const _Tp& __a, const _Tp& __b) + { + + + + if (__a < __b) + return __b; + return __a; + } +# 240 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _Tp, typename _Compare> + + inline const _Tp& + min(const _Tp& __a, const _Tp& __b, _Compare __comp) + { + + if (__comp(__b, __a)) + return __b; + return __a; + } +# 262 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _Tp, typename _Compare> + + inline const _Tp& + max(const _Tp& __a, const _Tp& __b, _Compare __comp) + { + + if (__comp(__a, __b)) + return __b; + return __a; + } + + + + template<typename _Iterator> + inline _Iterator + __niter_base(_Iterator __it) + { return __it; } + + + + + + + + template<bool, bool, typename> + struct __copy_move + { + template<typename _II, typename _OI> + static _OI + __copy_m(_II __first, _II __last, _OI __result) + { + for (; __first != __last; ++__result, (void)++__first) + *__result = *__first; + return __result; + } + }; + + + template<typename _Category> + struct __copy_move<true, false, _Category> + { + template<typename _II, typename _OI> + static _OI + __copy_m(_II __first, _II __last, _OI __result) + { + for (; __first != __last; ++__result, (void)++__first) + *__result = std::move(*__first); + return __result; + } + }; + + + template<> + struct __copy_move<false, false, random_access_iterator_tag> + { + template<typename _II, typename _OI> + static _OI + __copy_m(_II __first, _II __last, _OI __result) + { + typedef typename iterator_traits<_II>::difference_type _Distance; + for(_Distance __n = __last - __first; __n > 0; --__n) + { + *__result = *__first; + ++__first; + ++__result; + } + return __result; + } + }; + + + template<> + struct __copy_move<true, false, random_access_iterator_tag> + { + template<typename _II, typename _OI> + static _OI + __copy_m(_II __first, _II __last, _OI __result) + { + typedef typename iterator_traits<_II>::difference_type _Distance; + for(_Distance __n = __last - __first; __n > 0; --__n) + { + *__result = std::move(*__first); + ++__first; + ++__result; + } + return __result; + } + }; + + + template<bool _IsMove> + struct __copy_move<_IsMove, true, random_access_iterator_tag> + { + template<typename _Tp> + static _Tp* + __copy_m(const _Tp* __first, const _Tp* __last, _Tp* __result) + { + + using __assignable = conditional<_IsMove, + is_move_assignable<_Tp>, + is_copy_assignable<_Tp>>; + + static_assert( __assignable::type::value, "type is not assignable" ); + + const ptrdiff_t _Num = __last - __first; + if (_Num) + __builtin_memmove(__result, __first, sizeof(_Tp) * _Num); + return __result + _Num; + } + }; + + template<bool _IsMove, typename _II, typename _OI> + inline _OI + __copy_move_a(_II __first, _II __last, _OI __result) + { + typedef typename iterator_traits<_II>::value_type _ValueTypeI; + typedef typename iterator_traits<_OI>::value_type _ValueTypeO; + typedef typename iterator_traits<_II>::iterator_category _Category; + const bool __simple = (__is_trivial(_ValueTypeI) + && __is_pointer<_II>::__value + && __is_pointer<_OI>::__value + && __are_same<_ValueTypeI, _ValueTypeO>::__value); + + return std::__copy_move<_IsMove, __simple, + _Category>::__copy_m(__first, __last, __result); + } + + + + template<typename _CharT> + struct char_traits; + + template<typename _CharT, typename _Traits> + class istreambuf_iterator; + + template<typename _CharT, typename _Traits> + class ostreambuf_iterator; + + template<bool _IsMove, typename _CharT> + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type + __copy_move_a2(_CharT*, _CharT*, + ostreambuf_iterator<_CharT, char_traits<_CharT> >); + + template<bool _IsMove, typename _CharT> + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + ostreambuf_iterator<_CharT, char_traits<_CharT> > >::__type + __copy_move_a2(const _CharT*, const _CharT*, + ostreambuf_iterator<_CharT, char_traits<_CharT> >); + + template<bool _IsMove, typename _CharT> + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, + _CharT*>::__type + __copy_move_a2(istreambuf_iterator<_CharT, char_traits<_CharT> >, + istreambuf_iterator<_CharT, char_traits<_CharT> >, _CharT*); + + template<bool _IsMove, typename _II, typename _OI> + inline _OI + __copy_move_a2(_II __first, _II __last, _OI __result) + { + return _OI(std::__copy_move_a<_IsMove>(std::__niter_base(__first), + std::__niter_base(__last), + std::__niter_base(__result))); + } +# 444 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _II, typename _OI> + inline _OI + copy(_II __first, _II __last, _OI __result) + { + + + + + ; + + return (std::__copy_move_a2<__is_move_iterator<_II>::__value> + (std::__miter_base(__first), std::__miter_base(__last), + __result)); + } +# 477 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _II, typename _OI> + inline _OI + move(_II __first, _II __last, _OI __result) + { + + + + + ; + + return std::__copy_move_a2<true>(std::__miter_base(__first), + std::__miter_base(__last), __result); + } + + + + + + + template<bool, bool, typename> + struct __copy_move_backward + { + template<typename _BI1, typename _BI2> + static _BI2 + __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) + { + while (__first != __last) + *--__result = *--__last; + return __result; + } + }; + + + template<typename _Category> + struct __copy_move_backward<true, false, _Category> + { + template<typename _BI1, typename _BI2> + static _BI2 + __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) + { + while (__first != __last) + *--__result = std::move(*--__last); + return __result; + } + }; + + + template<> + struct __copy_move_backward<false, false, random_access_iterator_tag> + { + template<typename _BI1, typename _BI2> + static _BI2 + __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) + { + typename iterator_traits<_BI1>::difference_type __n; + for (__n = __last - __first; __n > 0; --__n) + *--__result = *--__last; + return __result; + } + }; + + + template<> + struct __copy_move_backward<true, false, random_access_iterator_tag> + { + template<typename _BI1, typename _BI2> + static _BI2 + __copy_move_b(_BI1 __first, _BI1 __last, _BI2 __result) + { + typename iterator_traits<_BI1>::difference_type __n; + for (__n = __last - __first; __n > 0; --__n) + *--__result = std::move(*--__last); + return __result; + } + }; + + + template<bool _IsMove> + struct __copy_move_backward<_IsMove, true, random_access_iterator_tag> + { + template<typename _Tp> + static _Tp* + __copy_move_b(const _Tp* __first, const _Tp* __last, _Tp* __result) + { + + using __assignable = conditional<_IsMove, + is_move_assignable<_Tp>, + is_copy_assignable<_Tp>>; + + static_assert( __assignable::type::value, "type is not assignable" ); + + const ptrdiff_t _Num = __last - __first; + if (_Num) + __builtin_memmove(__result - _Num, __first, sizeof(_Tp) * _Num); + return __result - _Num; + } + }; + + template<bool _IsMove, typename _BI1, typename _BI2> + inline _BI2 + __copy_move_backward_a(_BI1 __first, _BI1 __last, _BI2 __result) + { + typedef typename iterator_traits<_BI1>::value_type _ValueType1; + typedef typename iterator_traits<_BI2>::value_type _ValueType2; + typedef typename iterator_traits<_BI1>::iterator_category _Category; + const bool __simple = (__is_trivial(_ValueType1) + && __is_pointer<_BI1>::__value + && __is_pointer<_BI2>::__value + && __are_same<_ValueType1, _ValueType2>::__value); + + return std::__copy_move_backward<_IsMove, __simple, + _Category>::__copy_move_b(__first, + __last, + __result); + } + + template<bool _IsMove, typename _BI1, typename _BI2> + inline _BI2 + __copy_move_backward_a2(_BI1 __first, _BI1 __last, _BI2 __result) + { + return _BI2(std::__copy_move_backward_a<_IsMove> + (std::__niter_base(__first), std::__niter_base(__last), + std::__niter_base(__result))); + } +# 620 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _BI1, typename _BI2> + inline _BI2 + copy_backward(_BI1 __first, _BI1 __last, _BI2 __result) + { + + + + + + + ; + + return (std::__copy_move_backward_a2<__is_move_iterator<_BI1>::__value> + (std::__miter_base(__first), std::__miter_base(__last), + __result)); + } +# 656 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _BI1, typename _BI2> + inline _BI2 + move_backward(_BI1 __first, _BI1 __last, _BI2 __result) + { + + + + + + + ; + + return std::__copy_move_backward_a2<true>(std::__miter_base(__first), + std::__miter_base(__last), + __result); + } + + + + + + + template<typename _ForwardIterator, typename _Tp> + inline typename + __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, void>::__type + __fill_a(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __value) + { + for (; __first != __last; ++__first) + *__first = __value; + } + + template<typename _ForwardIterator, typename _Tp> + inline typename + __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, void>::__type + __fill_a(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __value) + { + const _Tp __tmp = __value; + for (; __first != __last; ++__first) + *__first = __tmp; + } + + + template<typename _Tp> + inline typename + __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, void>::__type + __fill_a(_Tp* __first, _Tp* __last, const _Tp& __c) + { + const _Tp __tmp = __c; + if (const size_t __len = __last - __first) + __builtin_memset(__first, static_cast<unsigned char>(__tmp), __len); + } +# 722 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _ForwardIterator, typename _Tp> + inline void + fill(_ForwardIterator __first, _ForwardIterator __last, const _Tp& __value) + { + + + + ; + + std::__fill_a(std::__niter_base(__first), std::__niter_base(__last), + __value); + } + + template<typename _OutputIterator, typename _Size, typename _Tp> + inline typename + __gnu_cxx::__enable_if<!__is_scalar<_Tp>::__value, _OutputIterator>::__type + __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) + { + for (__decltype(__n + 0) __niter = __n; + __niter > 0; --__niter, ++__first) + *__first = __value; + return __first; + } + + template<typename _OutputIterator, typename _Size, typename _Tp> + inline typename + __gnu_cxx::__enable_if<__is_scalar<_Tp>::__value, _OutputIterator>::__type + __fill_n_a(_OutputIterator __first, _Size __n, const _Tp& __value) + { + const _Tp __tmp = __value; + for (__decltype(__n + 0) __niter = __n; + __niter > 0; --__niter, ++__first) + *__first = __tmp; + return __first; + } + + template<typename _Size, typename _Tp> + inline typename + __gnu_cxx::__enable_if<__is_byte<_Tp>::__value, _Tp*>::__type + __fill_n_a(_Tp* __first, _Size __n, const _Tp& __c) + { + std::__fill_a(__first, __first + __n, __c); + return __first + __n; + } +# 782 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _OI, typename _Size, typename _Tp> + inline _OI + fill_n(_OI __first, _Size __n, const _Tp& __value) + { + + + + return _OI(std::__fill_n_a(std::__niter_base(__first), __n, __value)); + } + + template<bool _BoolType> + struct __equal + { + template<typename _II1, typename _II2> + static bool + equal(_II1 __first1, _II1 __last1, _II2 __first2) + { + for (; __first1 != __last1; ++__first1, (void)++__first2) + if (!(*__first1 == *__first2)) + return false; + return true; + } + }; + + template<> + struct __equal<true> + { + template<typename _Tp> + static bool + equal(const _Tp* __first1, const _Tp* __last1, const _Tp* __first2) + { + if (const size_t __len = (__last1 - __first1)) + return !__builtin_memcmp(__first1, __first2, sizeof(_Tp) * __len); + return true; + } + }; + + template<typename _II1, typename _II2> + inline bool + __equal_aux(_II1 __first1, _II1 __last1, _II2 __first2) + { + typedef typename iterator_traits<_II1>::value_type _ValueType1; + typedef typename iterator_traits<_II2>::value_type _ValueType2; + const bool __simple = ((__is_integer<_ValueType1>::__value + || __is_pointer<_ValueType1>::__value) + && __is_pointer<_II1>::__value + && __is_pointer<_II2>::__value + && __are_same<_ValueType1, _ValueType2>::__value); + + return std::__equal<__simple>::equal(__first1, __last1, __first2); + } + + template<typename, typename> + struct __lc_rai + { + template<typename _II1, typename _II2> + static _II1 + __newlast1(_II1, _II1 __last1, _II2, _II2) + { return __last1; } + + template<typename _II> + static bool + __cnd2(_II __first, _II __last) + { return __first != __last; } + }; + + template<> + struct __lc_rai<random_access_iterator_tag, random_access_iterator_tag> + { + template<typename _RAI1, typename _RAI2> + static _RAI1 + __newlast1(_RAI1 __first1, _RAI1 __last1, + _RAI2 __first2, _RAI2 __last2) + { + const typename iterator_traits<_RAI1>::difference_type + __diff1 = __last1 - __first1; + const typename iterator_traits<_RAI2>::difference_type + __diff2 = __last2 - __first2; + return __diff2 < __diff1 ? __first1 + __diff2 : __last1; + } + + template<typename _RAI> + static bool + __cnd2(_RAI, _RAI) + { return true; } + }; + + template<typename _II1, typename _II2, typename _Compare> + bool + __lexicographical_compare_impl(_II1 __first1, _II1 __last1, + _II2 __first2, _II2 __last2, + _Compare __comp) + { + typedef typename iterator_traits<_II1>::iterator_category _Category1; + typedef typename iterator_traits<_II2>::iterator_category _Category2; + typedef std::__lc_rai<_Category1, _Category2> __rai_type; + + __last1 = __rai_type::__newlast1(__first1, __last1, __first2, __last2); + for (; __first1 != __last1 && __rai_type::__cnd2(__first2, __last2); + ++__first1, (void)++__first2) + { + if (__comp(__first1, __first2)) + return true; + if (__comp(__first2, __first1)) + return false; + } + return __first1 == __last1 && __first2 != __last2; + } + + template<bool _BoolType> + struct __lexicographical_compare + { + template<typename _II1, typename _II2> + static bool __lc(_II1, _II1, _II2, _II2); + }; + + template<bool _BoolType> + template<typename _II1, typename _II2> + bool + __lexicographical_compare<_BoolType>:: + __lc(_II1 __first1, _II1 __last1, _II2 __first2, _II2 __last2) + { + return std::__lexicographical_compare_impl(__first1, __last1, + __first2, __last2, + __gnu_cxx::__ops::__iter_less_iter()); + } + + template<> + struct __lexicographical_compare<true> + { + template<typename _Tp, typename _Up> + static bool + __lc(const _Tp* __first1, const _Tp* __last1, + const _Up* __first2, const _Up* __last2) + { + const size_t __len1 = __last1 - __first1; + const size_t __len2 = __last2 - __first2; + if (const size_t __len = std::min(__len1, __len2)) + if (int __result = __builtin_memcmp(__first1, __first2, __len)) + return __result < 0; + return __len1 < __len2; + } + }; + + template<typename _II1, typename _II2> + inline bool + __lexicographical_compare_aux(_II1 __first1, _II1 __last1, + _II2 __first2, _II2 __last2) + { + typedef typename iterator_traits<_II1>::value_type _ValueType1; + typedef typename iterator_traits<_II2>::value_type _ValueType2; + const bool __simple = + (__is_byte<_ValueType1>::__value && __is_byte<_ValueType2>::__value + && !__gnu_cxx::__numeric_traits<_ValueType1>::__is_signed + && !__gnu_cxx::__numeric_traits<_ValueType2>::__is_signed + && __is_pointer<_II1>::__value + && __is_pointer<_II2>::__value); + + return std::__lexicographical_compare<__simple>::__lc(__first1, __last1, + __first2, __last2); + } + + template<typename _ForwardIterator, typename _Tp, typename _Compare> + _ForwardIterator + __lower_bound(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val, _Compare __comp) + { + typedef typename iterator_traits<_ForwardIterator>::difference_type + _DistanceType; + + _DistanceType __len = std::distance(__first, __last); + + while (__len > 0) + { + _DistanceType __half = __len >> 1; + _ForwardIterator __middle = __first; + std::advance(__middle, __half); + if (__comp(__middle, __val)) + { + __first = __middle; + ++__first; + __len = __len - __half - 1; + } + else + __len = __half; + } + return __first; + } +# 982 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _ForwardIterator, typename _Tp> + inline _ForwardIterator + lower_bound(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __val) + { + + + + + ; + + return std::__lower_bound(__first, __last, __val, + __gnu_cxx::__ops::__iter_less_val()); + } + + + + inline constexpr int + __lg(int __n) + { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } + + inline constexpr unsigned + __lg(unsigned __n) + { return sizeof(int) * 8 - 1 - __builtin_clz(__n); } + + inline constexpr long + __lg(long __n) + { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } + + inline constexpr unsigned long + __lg(unsigned long __n) + { return sizeof(long) * 8 - 1 - __builtin_clzl(__n); } + + inline constexpr long long + __lg(long long __n) + { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } + + inline constexpr unsigned long long + __lg(unsigned long long __n) + { return sizeof(long long) * 8 - 1 - __builtin_clzll(__n); } +# 1039 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _II1, typename _II2> + inline bool + equal(_II1 __first1, _II1 __last1, _II2 __first2) + { + + + + + + + ; + + return std::__equal_aux(std::__niter_base(__first1), + std::__niter_base(__last1), + std::__niter_base(__first2)); + } +# 1071 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _IIter1, typename _IIter2, typename _BinaryPredicate> + inline bool + equal(_IIter1 __first1, _IIter1 __last1, + _IIter2 __first2, _BinaryPredicate __binary_pred) + { + + + + ; + + for (; __first1 != __last1; ++__first1, (void)++__first2) + if (!bool(__binary_pred(*__first1, *__first2))) + return false; + return true; + } +# 1201 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _II1, typename _II2> + inline bool + lexicographical_compare(_II1 __first1, _II1 __last1, + _II2 __first2, _II2 __last2) + { +# 1215 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + ; + ; + + return std::__lexicographical_compare_aux(std::__niter_base(__first1), + std::__niter_base(__last1), + std::__niter_base(__first2), + std::__niter_base(__last2)); + } +# 1237 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _II1, typename _II2, typename _Compare> + inline bool + lexicographical_compare(_II1 __first1, _II1 __last1, + _II2 __first2, _II2 __last2, _Compare __comp) + { + + + + ; + ; + + return std::__lexicographical_compare_impl + (__first1, __last1, __first2, __last2, + __gnu_cxx::__ops::__iter_comp_iter(__comp)); + } + + template<typename _InputIterator1, typename _InputIterator2, + typename _BinaryPredicate> + pair<_InputIterator1, _InputIterator2> + __mismatch(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _BinaryPredicate __binary_pred) + { + while (__first1 != __last1 && __binary_pred(__first1, __first2)) + { + ++__first1; + ++__first2; + } + return pair<_InputIterator1, _InputIterator2>(__first1, __first2); + } +# 1280 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _InputIterator1, typename _InputIterator2> + inline pair<_InputIterator1, _InputIterator2> + mismatch(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2) + { + + + + + + + ; + + return std::__mismatch(__first1, __last1, __first2, + __gnu_cxx::__ops::__iter_equal_to_iter()); + } +# 1313 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 + template<typename _InputIterator1, typename _InputIterator2, + typename _BinaryPredicate> + inline pair<_InputIterator1, _InputIterator2> + mismatch(_InputIterator1 __first1, _InputIterator1 __last1, + _InputIterator2 __first2, _BinaryPredicate __binary_pred) + { + + + + ; + + return std::__mismatch(__first1, __last1, __first2, + __gnu_cxx::__ops::__iter_comp_iter(__binary_pred)); + } +# 1414 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_algobase.h" 3 +} +# 61 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/vector" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/allocator.h" 1 3 +# 46 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/allocator.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++allocator.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++allocator.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/new_allocator.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/new_allocator.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/new" 1 3 +# 38 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/new" 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/exception" 1 3 +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/exception" 3 + +#pragma GCC visibility push(default) + + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/atomic_lockfree_defines.h" 1 3 +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/atomic_lockfree_defines.h" 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/exception" 2 3 + + +extern "C++" { + +namespace std +{ +# 62 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/exception" 3 + class exception + { + public: + exception() noexcept { } + virtual ~exception() noexcept; + + + + virtual const char* + what() const noexcept; + }; + + + + class bad_exception : public exception + { + public: + bad_exception() noexcept { } + + + + virtual ~bad_exception() noexcept; + + + virtual const char* + what() const noexcept; + }; + + + typedef void (*terminate_handler) (); + + + typedef void (*unexpected_handler) (); + + + terminate_handler set_terminate(terminate_handler) noexcept; + + + + terminate_handler get_terminate() noexcept; + + + + + void terminate() noexcept __attribute__ ((__noreturn__)); + + + unexpected_handler set_unexpected(unexpected_handler) noexcept; + + + + unexpected_handler get_unexpected() noexcept; + + + + + void unexpected() __attribute__ ((__noreturn__)); +# 131 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/exception" 3 + bool uncaught_exception() noexcept __attribute__ ((__pure__)); +# 140 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/exception" 3 +} + +namespace __gnu_cxx +{ +# 162 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/exception" 3 + void __verbose_terminate_handler(); + + +} + +} + +#pragma GCC visibility pop + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/exception_ptr.h" 1 3 +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/exception_ptr.h" 3 +#pragma GCC visibility push(default) +# 45 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/exception_ptr.h" 3 +extern "C++" { + +namespace std +{ + class type_info; + + + + + + namespace __exception_ptr + { + class exception_ptr; + } + + using __exception_ptr::exception_ptr; + + + + + + exception_ptr current_exception() noexcept; + + + void rethrow_exception(exception_ptr) __attribute__ ((__noreturn__)); + + namespace __exception_ptr + { + using std::rethrow_exception; + + + + + + class exception_ptr + { + void* _M_exception_object; + + explicit exception_ptr(void* __e) noexcept; + + void _M_addref() noexcept; + void _M_release() noexcept; + + void *_M_get() const noexcept __attribute__ ((__pure__)); + + friend exception_ptr std::current_exception() noexcept; + friend void std::rethrow_exception(exception_ptr); + + public: + exception_ptr() noexcept; + + exception_ptr(const exception_ptr&) noexcept; + + + exception_ptr(nullptr_t) noexcept + : _M_exception_object(0) + { } + + exception_ptr(exception_ptr&& __o) noexcept + : _M_exception_object(__o._M_exception_object) + { __o._M_exception_object = 0; } +# 115 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/exception_ptr.h" 3 + exception_ptr& + operator=(const exception_ptr&) noexcept; + + + exception_ptr& + operator=(exception_ptr&& __o) noexcept + { + exception_ptr(static_cast<exception_ptr&&>(__o)).swap(*this); + return *this; + } + + + ~exception_ptr() noexcept; + + void + swap(exception_ptr&) noexcept; +# 142 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/exception_ptr.h" 3 + explicit operator bool() const + { return _M_exception_object; } + + + friend bool + operator==(const exception_ptr&, const exception_ptr&) + noexcept __attribute__ ((__pure__)); + + const class std::type_info* + __cxa_exception_type() const noexcept + __attribute__ ((__pure__)); + }; + + bool + operator==(const exception_ptr&, const exception_ptr&) + noexcept __attribute__ ((__pure__)); + + bool + operator!=(const exception_ptr&, const exception_ptr&) + noexcept __attribute__ ((__pure__)); + + inline void + swap(exception_ptr& __lhs, exception_ptr& __rhs) + { __lhs.swap(__rhs); } + + } + + + + template<typename _Ex> + exception_ptr + make_exception_ptr(_Ex __ex) noexcept + { + + try + { + throw __ex; + } + catch(...) + { + return current_exception(); + } + + + + } + + + + + + template<typename _Ex> + exception_ptr + copy_exception(_Ex __ex) noexcept __attribute__ ((__deprecated__)); + + template<typename _Ex> + exception_ptr + copy_exception(_Ex __ex) noexcept + { return std::make_exception_ptr<_Ex>(__ex); } + + +} + +} + +#pragma GCC visibility pop +# 173 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/exception" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/nested_exception.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/nested_exception.h" 3 +#pragma GCC visibility push(default) +# 48 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/nested_exception.h" 3 +extern "C++" { + +namespace std +{ + + + + + + + class nested_exception + { + exception_ptr _M_ptr; + + public: + nested_exception() noexcept : _M_ptr(current_exception()) { } + + nested_exception(const nested_exception&) noexcept = default; + + nested_exception& operator=(const nested_exception&) noexcept = default; + + virtual ~nested_exception() noexcept; + + [[noreturn]] + void + rethrow_nested() const + { + if (_M_ptr) + rethrow_exception(_M_ptr); + std::terminate(); + } + + exception_ptr + nested_ptr() const noexcept + { return _M_ptr; } + }; + + template<typename _Except> + struct _Nested_exception : public _Except, public nested_exception + { + explicit _Nested_exception(const _Except& __ex) + : _Except(__ex) + { } + + explicit _Nested_exception(_Except&& __ex) + : _Except(static_cast<_Except&&>(__ex)) + { } + }; + + + + + template<typename _Tp> + inline void + __throw_with_nested_impl(_Tp&& __t, true_type) + { + using _Up = typename remove_reference<_Tp>::type; + throw _Nested_exception<_Up>{std::forward<_Tp>(__t)}; + } + + template<typename _Tp> + inline void + __throw_with_nested_impl(_Tp&& __t, false_type) + { throw std::forward<_Tp>(__t); } + + + + template<typename _Tp> + [[noreturn]] + inline void + throw_with_nested(_Tp&& __t) + { + using _Up = typename decay<_Tp>::type; + using _CopyConstructible + = __and_<is_copy_constructible<_Up>, is_move_constructible<_Up>>; + static_assert(_CopyConstructible::value, + "throw_with_nested argument must be CopyConstructible"); + using __nest = __and_<is_class<_Up>, __bool_constant<!__is_final(_Up)>, + __not_<is_base_of<nested_exception, _Up>>>; + std::__throw_with_nested_impl(std::forward<_Tp>(__t), __nest{}); + } + + + template<typename _Tp> + using __rethrow_if_nested_cond = typename enable_if< + __and_<is_polymorphic<_Tp>, + __or_<__not_<is_base_of<nested_exception, _Tp>>, + is_convertible<_Tp*, nested_exception*>>>::value + >::type; + + + template<typename _Ex> + inline __rethrow_if_nested_cond<_Ex> + __rethrow_if_nested_impl(const _Ex* __ptr) + { + if (auto __ne_ptr = dynamic_cast<const nested_exception*>(__ptr)) + __ne_ptr->rethrow_nested(); + } + + + inline void + __rethrow_if_nested_impl(const void*) + { } + + + template<typename _Ex> + inline void + rethrow_if_nested(const _Ex& __ex) + { std::__rethrow_if_nested_impl(std::__addressof(__ex)); } + + +} + +} + + + +#pragma GCC visibility pop +# 174 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/exception" 2 3 +# 41 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/new" 2 3 + +#pragma GCC visibility push(default) + +extern "C++" { + +namespace std +{ + + + + + + + class bad_alloc : public exception + { + public: + bad_alloc() throw() { } + + + + virtual ~bad_alloc() throw(); + + + virtual const char* what() const throw(); + }; + + + class bad_array_new_length : public bad_alloc + { + public: + bad_array_new_length() throw() { }; + + + + virtual ~bad_array_new_length() throw(); + + + virtual const char* what() const throw(); + }; + + + struct nothrow_t + { + + explicit nothrow_t() = default; + + }; + + extern const nothrow_t nothrow; + + + + typedef void (*new_handler)(); + + + + new_handler set_new_handler(new_handler) throw(); + + + + new_handler get_new_handler() noexcept; + +} +# 116 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/new" 3 +void* operator new(std::size_t) + __attribute__((__externally_visible__)); +void* operator new[](std::size_t) + __attribute__((__externally_visible__)); +void operator delete(void*) noexcept + __attribute__((__externally_visible__)); +void operator delete[](void*) noexcept + __attribute__((__externally_visible__)); + + + + + + +void* operator new(std::size_t, const std::nothrow_t&) noexcept + __attribute__((__externally_visible__)); +void* operator new[](std::size_t, const std::nothrow_t&) noexcept + __attribute__((__externally_visible__)); +void operator delete(void*, const std::nothrow_t&) noexcept + __attribute__((__externally_visible__)); +void operator delete[](void*, const std::nothrow_t&) noexcept + __attribute__((__externally_visible__)); +# 146 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/new" 3 +inline void* operator new(std::size_t, void* __p) noexcept +{ return __p; } +inline void* operator new[](std::size_t, void* __p) noexcept +{ return __p; } + + +inline void operator delete (void*, void*) noexcept { } +inline void operator delete[](void*, void*) noexcept { } + +} + +#pragma GCC visibility pop +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/new_allocator.h" 2 3 + + + + + + +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ + + + using std::size_t; + using std::ptrdiff_t; +# 57 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/new_allocator.h" 3 + template<typename _Tp> + class new_allocator + { + public: + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef _Tp* pointer; + typedef const _Tp* const_pointer; + typedef _Tp& reference; + typedef const _Tp& const_reference; + typedef _Tp value_type; + + template<typename _Tp1> + struct rebind + { typedef new_allocator<_Tp1> other; }; + + + + + typedef std::true_type propagate_on_container_move_assignment; + + + new_allocator() noexcept { } + + new_allocator(const new_allocator&) noexcept { } + + template<typename _Tp1> + new_allocator(const new_allocator<_Tp1>&) noexcept { } + + ~new_allocator() noexcept { } + + pointer + address(reference __x) const noexcept + { return std::__addressof(__x); } + + const_pointer + address(const_reference __x) const noexcept + { return std::__addressof(__x); } + + + + pointer + allocate(size_type __n, const void* = 0) + { + if (__n > this->max_size()) + std::__throw_bad_alloc(); + + return static_cast<_Tp*>(::operator new(__n * sizeof(_Tp))); + } + + + void + deallocate(pointer __p, size_type) + { ::operator delete(__p); } + + size_type + max_size() const noexcept + { return size_t(-1) / sizeof(_Tp); } + + + template<typename _Up, typename... _Args> + void + construct(_Up* __p, _Args&&... __args) + { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } + + template<typename _Up> + void + destroy(_Up* __p) { __p->~_Up(); } +# 135 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/new_allocator.h" 3 + }; + + template<typename _Tp> + inline bool + operator==(const new_allocator<_Tp>&, const new_allocator<_Tp>&) + { return true; } + + template<typename _Tp> + inline bool + operator!=(const new_allocator<_Tp>&, const new_allocator<_Tp>&) + { return false; } + + +} +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++allocator.h" 2 3 + + +namespace std +{ +# 47 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++allocator.h" 3 + template<typename _Tp> + using __allocator_base = __gnu_cxx::new_allocator<_Tp>; +} +# 47 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/allocator.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/memoryfwd.h" 1 3 +# 47 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/memoryfwd.h" 3 + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 63 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/memoryfwd.h" 3 + template<typename> + class allocator; + + template<> + class allocator<void>; + + + template<typename, typename> + struct uses_allocator; + + + + +} +# 48 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/allocator.h" 2 3 +# 57 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/allocator.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 67 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/allocator.h" 3 + template<> + class allocator<void> + { + public: + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef void* pointer; + typedef const void* const_pointer; + typedef void value_type; + + template<typename _Tp1> + struct rebind + { typedef allocator<_Tp1> other; }; + + + + + typedef true_type propagate_on_container_move_assignment; + + typedef true_type is_always_equal; + + template<typename _Up, typename... _Args> + void + construct(_Up* __p, _Args&&... __args) + { ::new((void *)__p) _Up(std::forward<_Args>(__args)...); } + + template<typename _Up> + void + destroy(_Up* __p) { __p->~_Up(); } + + }; +# 107 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/allocator.h" 3 + template<typename _Tp> + class allocator: public __allocator_base<_Tp> + { + public: + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef _Tp* pointer; + typedef const _Tp* const_pointer; + typedef _Tp& reference; + typedef const _Tp& const_reference; + typedef _Tp value_type; + + template<typename _Tp1> + struct rebind + { typedef allocator<_Tp1> other; }; + + + + + typedef true_type propagate_on_container_move_assignment; + + typedef true_type is_always_equal; + + + allocator() throw() { } + + allocator(const allocator& __a) throw() + : __allocator_base<_Tp>(__a) { } + + template<typename _Tp1> + allocator(const allocator<_Tp1>&) throw() { } + + ~allocator() throw() { } + + + }; + + template<typename _T1, typename _T2> + inline bool + operator==(const allocator<_T1>&, const allocator<_T2>&) + noexcept + { return true; } + + template<typename _Tp> + inline bool + operator==(const allocator<_Tp>&, const allocator<_Tp>&) + noexcept + { return true; } + + template<typename _T1, typename _T2> + inline bool + operator!=(const allocator<_T1>&, const allocator<_T2>&) + noexcept + { return false; } + + template<typename _Tp> + inline bool + operator!=(const allocator<_Tp>&, const allocator<_Tp>&) + noexcept + { return false; } + + + + + + + extern template class allocator<char>; + extern template class allocator<wchar_t>; + + + + + + + template<typename _Alloc, bool = __is_empty(_Alloc)> + struct __alloc_swap + { static void _S_do_it(_Alloc&, _Alloc&) noexcept { } }; + + template<typename _Alloc> + struct __alloc_swap<_Alloc, false> + { + static void + _S_do_it(_Alloc& __one, _Alloc& __two) noexcept + { + + if (__one != __two) + swap(__one, __two); + } + }; + + + template<typename _Alloc, bool = __is_empty(_Alloc)> + struct __alloc_neq + { + static bool + _S_do_it(const _Alloc&, const _Alloc&) + { return false; } + }; + + template<typename _Alloc> + struct __alloc_neq<_Alloc, false> + { + static bool + _S_do_it(const _Alloc& __one, const _Alloc& __two) + { return __one != __two; } + }; + + + template<typename _Tp, bool + = __or_<is_copy_constructible<typename _Tp::value_type>, + is_nothrow_move_constructible<typename _Tp::value_type>>::value> + struct __shrink_to_fit_aux + { static bool _S_do_it(_Tp&) noexcept { return false; } }; + + template<typename _Tp> + struct __shrink_to_fit_aux<_Tp, true> + { + static bool + _S_do_it(_Tp& __c) noexcept + { + + try + { + _Tp(__make_move_if_noexcept_iterator(__c.begin()), + __make_move_if_noexcept_iterator(__c.end()), + __c.get_allocator()).swap(__c); + return true; + } + catch(...) + { return false; } + + + + } + }; + + + +} +# 62 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/vector" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_construct.h" 1 3 +# 61 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_construct.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/alloc_traits.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/alloc_traits.h" 3 + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 1 3 +# 41 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + struct __allocator_traits_base + { + template<typename _Tp, typename _Up, typename = void> + struct __rebind : __replace_first_arg<_Tp, _Up> { }; + + template<typename _Tp, typename _Up> + struct __rebind<_Tp, _Up, + __void_t<typename _Tp::template rebind<_Up>::other>> + { using type = typename _Tp::template rebind<_Up>::other; }; + + protected: + template<typename _Tp> + using __pointer = typename _Tp::pointer; + template<typename _Tp> + using __c_pointer = typename _Tp::const_pointer; + template<typename _Tp> + using __v_pointer = typename _Tp::void_pointer; + template<typename _Tp> + using __cv_pointer = typename _Tp::const_void_pointer; + template<typename _Tp> + using __pocca = typename _Tp::propagate_on_container_copy_assignment; + template<typename _Tp> + using __pocma = typename _Tp::propagate_on_container_move_assignment; + template<typename _Tp> + using __pocs = typename _Tp::propagate_on_container_swap; + template<typename _Tp> + using __equal = typename _Tp::is_always_equal; + }; + + template<typename _Alloc, typename _Up> + using __alloc_rebind + = typename __allocator_traits_base::template __rebind<_Alloc, _Up>::type; + + + + + + template<typename _Alloc> + struct allocator_traits : __allocator_traits_base + { + + typedef _Alloc allocator_type; + + typedef typename _Alloc::value_type value_type; + + + + + + + using pointer = __detected_or_t<value_type*, __pointer, _Alloc>; + + private: + + template<template<typename> class _Func, typename _Tp, typename = void> + struct _Ptr + { + using type = typename pointer_traits<pointer>::template rebind<_Tp>; + }; + + template<template<typename> class _Func, typename _Tp> + struct _Ptr<_Func, _Tp, __void_t<_Func<_Alloc>>> + { + using type = _Func<_Alloc>; + }; + + + template<typename _A2, typename _PtrT, typename = void> + struct _Diff + { using type = typename pointer_traits<_PtrT>::difference_type; }; + + template<typename _A2, typename _PtrT> + struct _Diff<_A2, _PtrT, __void_t<typename _A2::difference_type>> + { using type = typename _A2::difference_type; }; + + + template<typename _A2, typename _DiffT, typename = void> + struct _Size : make_unsigned<_DiffT> { }; + + template<typename _A2, typename _DiffT> + struct _Size<_A2, _DiffT, __void_t<typename _A2::size_type>> + { using type = typename _A2::size_type; }; + + public: + + + + + + + using const_pointer = typename _Ptr<__c_pointer, const value_type>::type; + + + + + + + + using void_pointer = typename _Ptr<__v_pointer, void>::type; + + + + + + + + using const_void_pointer = typename _Ptr<__cv_pointer, const void>::type; + + + + + + + + using difference_type = typename _Diff<_Alloc, pointer>::type; + + + + + + + + using size_type = typename _Size<_Alloc, difference_type>::type; + + + + + + + + using propagate_on_container_copy_assignment + = __detected_or_t<false_type, __pocca, _Alloc>; + + + + + + + + using propagate_on_container_move_assignment + = __detected_or_t<false_type, __pocma, _Alloc>; + + + + + + + + using propagate_on_container_swap + = __detected_or_t<false_type, __pocs, _Alloc>; + + + + + + + + using is_always_equal + = __detected_or_t<typename is_empty<_Alloc>::type, __equal, _Alloc>; + + template<typename _Tp> + using rebind_alloc = __alloc_rebind<_Alloc, _Tp>; + template<typename _Tp> + using rebind_traits = allocator_traits<rebind_alloc<_Tp>>; + + private: + template<typename _Alloc2> + static auto + _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer __hint, int) + -> decltype(__a.allocate(__n, __hint)) + { return __a.allocate(__n, __hint); } + + template<typename _Alloc2> + static pointer + _S_allocate(_Alloc2& __a, size_type __n, const_void_pointer, ...) + { return __a.allocate(__n); } + + template<typename _Tp, typename... _Args> + struct __construct_helper + { + template<typename _Alloc2, + typename = decltype(std::declval<_Alloc2*>()->construct( + std::declval<_Tp*>(), std::declval<_Args>()...))> + static true_type __test(int); + + template<typename> + static false_type __test(...); + + using type = decltype(__test<_Alloc>(0)); + }; + + template<typename _Tp, typename... _Args> + using __has_construct + = typename __construct_helper<_Tp, _Args...>::type; + + template<typename _Tp, typename... _Args> + static _Require<__has_construct<_Tp, _Args...>> + _S_construct(_Alloc& __a, _Tp* __p, _Args&&... __args) + { __a.construct(__p, std::forward<_Args>(__args)...); } + + template<typename _Tp, typename... _Args> + static + _Require<__and_<__not_<__has_construct<_Tp, _Args...>>, + is_constructible<_Tp, _Args...>>> + _S_construct(_Alloc&, _Tp* __p, _Args&&... __args) + { ::new((void*)__p) _Tp(std::forward<_Args>(__args)...); } + + template<typename _Alloc2, typename _Tp> + static auto + _S_destroy(_Alloc2& __a, _Tp* __p, int) + -> decltype(__a.destroy(__p)) + { __a.destroy(__p); } + + template<typename _Alloc2, typename _Tp> + static void + _S_destroy(_Alloc2&, _Tp* __p, ...) + { __p->~_Tp(); } + + template<typename _Alloc2> + static auto + _S_max_size(_Alloc2& __a, int) + -> decltype(__a.max_size()) + { return __a.max_size(); } + + template<typename _Alloc2> + static size_type + _S_max_size(_Alloc2&, ...) + { + + + return __gnu_cxx::__numeric_traits<size_type>::__max + / sizeof(value_type); + } + + template<typename _Alloc2> + static auto + _S_select(_Alloc2& __a, int) + -> decltype(__a.select_on_container_copy_construction()) + { return __a.select_on_container_copy_construction(); } + + template<typename _Alloc2> + static _Alloc2 + _S_select(_Alloc2& __a, ...) + { return __a; } + + public: +# 299 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + static pointer + allocate(_Alloc& __a, size_type __n) + { return __a.allocate(__n); } +# 314 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + static pointer + allocate(_Alloc& __a, size_type __n, const_void_pointer __hint) + { return _S_allocate(__a, __n, __hint, 0); } +# 326 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + static void + deallocate(_Alloc& __a, pointer __p, size_type __n) + { __a.deallocate(__p, __n); } +# 341 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + template<typename _Tp, typename... _Args> + static auto construct(_Alloc& __a, _Tp* __p, _Args&&... __args) + -> decltype(_S_construct(__a, __p, std::forward<_Args>(__args)...)) + { _S_construct(__a, __p, std::forward<_Args>(__args)...); } +# 354 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + template<typename _Tp> + static void destroy(_Alloc& __a, _Tp* __p) + { _S_destroy(__a, __p, 0); } +# 366 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + static size_type max_size(const _Alloc& __a) noexcept + { return _S_max_size(__a, 0); } +# 377 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + static _Alloc + select_on_container_copy_construction(const _Alloc& __rhs) + { return _S_select(__rhs, 0); } + }; + + + template<typename _Tp> + struct allocator_traits<allocator<_Tp>> + { + + using allocator_type = allocator<_Tp>; + + using value_type = _Tp; + + + using pointer = _Tp*; + + + using const_pointer = const _Tp*; + + + using void_pointer = void*; + + + using const_void_pointer = const void*; + + + using difference_type = std::ptrdiff_t; + + + using size_type = std::size_t; + + + using propagate_on_container_copy_assignment = false_type; + + + using propagate_on_container_move_assignment = true_type; + + + using propagate_on_container_swap = false_type; + + + using is_always_equal = true_type; + + template<typename _Up> + using rebind_alloc = allocator<_Up>; + + template<typename _Up> + using rebind_traits = allocator_traits<allocator<_Up>>; +# 434 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + static pointer + allocate(allocator_type& __a, size_type __n) + { return __a.allocate(__n); } +# 448 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + static pointer + allocate(allocator_type& __a, size_type __n, const_void_pointer __hint) + { return __a.allocate(__n, __hint); } +# 460 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + static void + deallocate(allocator_type& __a, pointer __p, size_type __n) + { __a.deallocate(__p, __n); } +# 472 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + template<typename _Up, typename... _Args> + static void + construct(allocator_type& __a, _Up* __p, _Args&&... __args) + { __a.construct(__p, std::forward<_Args>(__args)...); } +# 484 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/alloc_traits.h" 3 + template<typename _Up> + static void + destroy(allocator_type& __a, _Up* __p) + { __a.destroy(__p); } + + + + + + + static size_type + max_size(const allocator_type& __a) noexcept + { return __a.max_size(); } + + + + + + + static allocator_type + select_on_container_copy_construction(const allocator_type& __rhs) + { return __rhs; } + }; + + + template<typename _Alloc> + inline void + __do_alloc_on_copy(_Alloc& __one, const _Alloc& __two, true_type) + { __one = __two; } + + template<typename _Alloc> + inline void + __do_alloc_on_copy(_Alloc&, const _Alloc&, false_type) + { } + + template<typename _Alloc> + inline void __alloc_on_copy(_Alloc& __one, const _Alloc& __two) + { + typedef allocator_traits<_Alloc> __traits; + typedef typename __traits::propagate_on_container_copy_assignment __pocca; + __do_alloc_on_copy(__one, __two, __pocca()); + } + + template<typename _Alloc> + inline _Alloc __alloc_on_copy(const _Alloc& __a) + { + typedef allocator_traits<_Alloc> __traits; + return __traits::select_on_container_copy_construction(__a); + } + + template<typename _Alloc> + inline void __do_alloc_on_move(_Alloc& __one, _Alloc& __two, true_type) + { __one = std::move(__two); } + + template<typename _Alloc> + inline void __do_alloc_on_move(_Alloc&, _Alloc&, false_type) + { } + + template<typename _Alloc> + inline void __alloc_on_move(_Alloc& __one, _Alloc& __two) + { + typedef allocator_traits<_Alloc> __traits; + typedef typename __traits::propagate_on_container_move_assignment __pocma; + __do_alloc_on_move(__one, __two, __pocma()); + } + + template<typename _Alloc> + inline void __do_alloc_on_swap(_Alloc& __one, _Alloc& __two, true_type) + { + using std::swap; + swap(__one, __two); + } + + template<typename _Alloc> + inline void __do_alloc_on_swap(_Alloc&, _Alloc&, false_type) + { } + + template<typename _Alloc> + inline void __alloc_on_swap(_Alloc& __one, _Alloc& __two) + { + typedef allocator_traits<_Alloc> __traits; + typedef typename __traits::propagate_on_container_swap __pocs; + __do_alloc_on_swap(__one, __two, __pocs()); + } + + template<typename _Alloc> + class __is_copy_insertable_impl + { + typedef allocator_traits<_Alloc> _Traits; + + template<typename _Up, typename + = decltype(_Traits::construct(std::declval<_Alloc&>(), + std::declval<_Up*>(), + std::declval<const _Up&>()))> + static true_type + _M_select(int); + + template<typename _Up> + static false_type + _M_select(...); + + public: + typedef decltype(_M_select<typename _Alloc::value_type>(0)) type; + }; + + + template<typename _Alloc> + struct __is_copy_insertable + : __is_copy_insertable_impl<_Alloc>::type + { }; + + + template<typename _Tp> + struct __is_copy_insertable<allocator<_Tp>> + : is_copy_constructible<_Tp> + { }; + + +} +# 37 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/alloc_traits.h" 2 3 + + + + +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ + + + + + + +template<typename _Alloc> + struct __alloc_traits + + : std::allocator_traits<_Alloc> + + { + typedef _Alloc allocator_type; + + typedef std::allocator_traits<_Alloc> _Base_type; + typedef typename _Base_type::value_type value_type; + typedef typename _Base_type::pointer pointer; + typedef typename _Base_type::const_pointer const_pointer; + typedef typename _Base_type::size_type size_type; + typedef typename _Base_type::difference_type difference_type; + + typedef value_type& reference; + typedef const value_type& const_reference; + using _Base_type::allocate; + using _Base_type::deallocate; + using _Base_type::construct; + using _Base_type::destroy; + using _Base_type::max_size; + + private: + template<typename _Ptr> + using __is_custom_pointer + = std::__and_<std::is_same<pointer, _Ptr>, + std::__not_<std::is_pointer<_Ptr>>>; + + public: + + template<typename _Ptr, typename... _Args> + static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type + construct(_Alloc& __a, _Ptr __p, _Args&&... __args) + { + _Base_type::construct(__a, std::addressof(*__p), + std::forward<_Args>(__args)...); + } + + + template<typename _Ptr> + static typename std::enable_if<__is_custom_pointer<_Ptr>::value>::type + destroy(_Alloc& __a, _Ptr __p) + { _Base_type::destroy(__a, std::addressof(*__p)); } + + static _Alloc _S_select_on_copy(const _Alloc& __a) + { return _Base_type::select_on_container_copy_construction(__a); } + + static void _S_on_swap(_Alloc& __a, _Alloc& __b) + { std::__alloc_on_swap(__a, __b); } + + static constexpr bool _S_propagate_on_copy_assign() + { return _Base_type::propagate_on_container_copy_assignment::value; } + + static constexpr bool _S_propagate_on_move_assign() + { return _Base_type::propagate_on_container_move_assignment::value; } + + static constexpr bool _S_propagate_on_swap() + { return _Base_type::propagate_on_container_swap::value; } + + static constexpr bool _S_always_equal() + { return _Base_type::is_always_equal::value; } + + static constexpr bool _S_nothrow_move() + { return _S_propagate_on_move_assign() || _S_always_equal(); } + + template<typename _Tp> + struct rebind + { typedef typename _Base_type::template rebind_alloc<_Tp> other; }; +# 158 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/alloc_traits.h" 3 + }; + + +} +# 62 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_construct.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + + + + + template<typename _T1, typename... _Args> + inline void + _Construct(_T1* __p, _Args&&... __args) + { ::new(static_cast<void*>(__p)) _T1(std::forward<_Args>(__args)...); } +# 90 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_construct.h" 3 + template<typename _Tp> + inline void + _Destroy(_Tp* __pointer) + { __pointer->~_Tp(); } + + template<bool> + struct _Destroy_aux + { + template<typename _ForwardIterator> + static void + __destroy(_ForwardIterator __first, _ForwardIterator __last) + { + for (; __first != __last; ++__first) + std::_Destroy(std::__addressof(*__first)); + } + }; + + template<> + struct _Destroy_aux<true> + { + template<typename _ForwardIterator> + static void + __destroy(_ForwardIterator, _ForwardIterator) { } + }; + + + + + + + template<typename _ForwardIterator> + inline void + _Destroy(_ForwardIterator __first, _ForwardIterator __last) + { + typedef typename iterator_traits<_ForwardIterator>::value_type + _Value_type; + std::_Destroy_aux<__has_trivial_destructor(_Value_type)>:: + __destroy(__first, __last); + } + + + + + + + + template<typename _ForwardIterator, typename _Allocator> + void + _Destroy(_ForwardIterator __first, _ForwardIterator __last, + _Allocator& __alloc) + { + typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; + for (; __first != __last; ++__first) + __traits::destroy(__alloc, std::__addressof(*__first)); + } + + template<typename _ForwardIterator, typename _Tp> + inline void + _Destroy(_ForwardIterator __first, _ForwardIterator __last, + allocator<_Tp>&) + { + _Destroy(__first, __last); + } + + +} +# 63 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/vector" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_uninitialized.h" 1 3 +# 59 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_uninitialized.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + template<bool _TrivialValueTypes> + struct __uninitialized_copy + { + template<typename _InputIterator, typename _ForwardIterator> + static _ForwardIterator + __uninit_copy(_InputIterator __first, _InputIterator __last, + _ForwardIterator __result) + { + _ForwardIterator __cur = __result; + try + { + for (; __first != __last; ++__first, (void)++__cur) + std::_Construct(std::__addressof(*__cur), *__first); + return __cur; + } + catch(...) + { + std::_Destroy(__result, __cur); + throw; + } + } + }; + + template<> + struct __uninitialized_copy<true> + { + template<typename _InputIterator, typename _ForwardIterator> + static _ForwardIterator + __uninit_copy(_InputIterator __first, _InputIterator __last, + _ForwardIterator __result) + { return std::copy(__first, __last, __result); } + }; +# 105 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_uninitialized.h" 3 + template<typename _InputIterator, typename _ForwardIterator> + inline _ForwardIterator + uninitialized_copy(_InputIterator __first, _InputIterator __last, + _ForwardIterator __result) + { + typedef typename iterator_traits<_InputIterator>::value_type + _ValueType1; + typedef typename iterator_traits<_ForwardIterator>::value_type + _ValueType2; + + + + + typedef typename iterator_traits<_InputIterator>::reference _RefType1; + typedef typename iterator_traits<_ForwardIterator>::reference _RefType2; + const bool __assignable = is_assignable<_RefType2, _RefType1>::value; + + + return std::__uninitialized_copy<__is_trivial(_ValueType1) + && __is_trivial(_ValueType2) + && __assignable>:: + __uninit_copy(__first, __last, __result); + } + + + template<bool _TrivialValueType> + struct __uninitialized_fill + { + template<typename _ForwardIterator, typename _Tp> + static void + __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __x) + { + _ForwardIterator __cur = __first; + try + { + for (; __cur != __last; ++__cur) + std::_Construct(std::__addressof(*__cur), __x); + } + catch(...) + { + std::_Destroy(__first, __cur); + throw; + } + } + }; + + template<> + struct __uninitialized_fill<true> + { + template<typename _ForwardIterator, typename _Tp> + static void + __uninit_fill(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __x) + { std::fill(__first, __last, __x); } + }; +# 171 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_uninitialized.h" 3 + template<typename _ForwardIterator, typename _Tp> + inline void + uninitialized_fill(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __x) + { + typedef typename iterator_traits<_ForwardIterator>::value_type + _ValueType; + + + + + const bool __assignable = is_copy_assignable<_ValueType>::value; + + + std::__uninitialized_fill<__is_trivial(_ValueType) && __assignable>:: + __uninit_fill(__first, __last, __x); + } + + + template<bool _TrivialValueType> + struct __uninitialized_fill_n + { + template<typename _ForwardIterator, typename _Size, typename _Tp> + static _ForwardIterator + __uninit_fill_n(_ForwardIterator __first, _Size __n, + const _Tp& __x) + { + _ForwardIterator __cur = __first; + try + { + for (; __n > 0; --__n, ++__cur) + std::_Construct(std::__addressof(*__cur), __x); + return __cur; + } + catch(...) + { + std::_Destroy(__first, __cur); + throw; + } + } + }; + + template<> + struct __uninitialized_fill_n<true> + { + template<typename _ForwardIterator, typename _Size, typename _Tp> + static _ForwardIterator + __uninit_fill_n(_ForwardIterator __first, _Size __n, + const _Tp& __x) + { return std::fill_n(__first, __n, __x); } + }; +# 234 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_uninitialized.h" 3 + template<typename _ForwardIterator, typename _Size, typename _Tp> + inline _ForwardIterator + uninitialized_fill_n(_ForwardIterator __first, _Size __n, const _Tp& __x) + { + typedef typename iterator_traits<_ForwardIterator>::value_type + _ValueType; + + + + + const bool __assignable = is_copy_assignable<_ValueType>::value; + + return __uninitialized_fill_n<__is_trivial(_ValueType) && __assignable>:: + __uninit_fill_n(__first, __n, __x); + } + + + + + + + + template<typename _InputIterator, typename _ForwardIterator, + typename _Allocator> + _ForwardIterator + __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, + _ForwardIterator __result, _Allocator& __alloc) + { + _ForwardIterator __cur = __result; + try + { + typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; + for (; __first != __last; ++__first, (void)++__cur) + __traits::construct(__alloc, std::__addressof(*__cur), *__first); + return __cur; + } + catch(...) + { + std::_Destroy(__result, __cur, __alloc); + throw; + } + } + + template<typename _InputIterator, typename _ForwardIterator, typename _Tp> + inline _ForwardIterator + __uninitialized_copy_a(_InputIterator __first, _InputIterator __last, + _ForwardIterator __result, allocator<_Tp>&) + { return std::uninitialized_copy(__first, __last, __result); } + + template<typename _InputIterator, typename _ForwardIterator, + typename _Allocator> + inline _ForwardIterator + __uninitialized_move_a(_InputIterator __first, _InputIterator __last, + _ForwardIterator __result, _Allocator& __alloc) + { + return std::__uninitialized_copy_a(std::make_move_iterator(__first), + std::make_move_iterator(__last), + __result, __alloc); + } + + template<typename _InputIterator, typename _ForwardIterator, + typename _Allocator> + inline _ForwardIterator + __uninitialized_move_if_noexcept_a(_InputIterator __first, + _InputIterator __last, + _ForwardIterator __result, + _Allocator& __alloc) + { + return std::__uninitialized_copy_a + (std::__make_move_if_noexcept_iterator(__first), + std::__make_move_if_noexcept_iterator(__last), __result, __alloc); + } + + template<typename _ForwardIterator, typename _Tp, typename _Allocator> + void + __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __x, _Allocator& __alloc) + { + _ForwardIterator __cur = __first; + try + { + typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; + for (; __cur != __last; ++__cur) + __traits::construct(__alloc, std::__addressof(*__cur), __x); + } + catch(...) + { + std::_Destroy(__first, __cur, __alloc); + throw; + } + } + + template<typename _ForwardIterator, typename _Tp, typename _Tp2> + inline void + __uninitialized_fill_a(_ForwardIterator __first, _ForwardIterator __last, + const _Tp& __x, allocator<_Tp2>&) + { std::uninitialized_fill(__first, __last, __x); } + + template<typename _ForwardIterator, typename _Size, typename _Tp, + typename _Allocator> + _ForwardIterator + __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, + const _Tp& __x, _Allocator& __alloc) + { + _ForwardIterator __cur = __first; + try + { + typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; + for (; __n > 0; --__n, ++__cur) + __traits::construct(__alloc, std::__addressof(*__cur), __x); + return __cur; + } + catch(...) + { + std::_Destroy(__first, __cur, __alloc); + throw; + } + } + + template<typename _ForwardIterator, typename _Size, typename _Tp, + typename _Tp2> + inline _ForwardIterator + __uninitialized_fill_n_a(_ForwardIterator __first, _Size __n, + const _Tp& __x, allocator<_Tp2>&) + { return std::uninitialized_fill_n(__first, __n, __x); } +# 370 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_uninitialized.h" 3 + template<typename _InputIterator1, typename _InputIterator2, + typename _ForwardIterator, typename _Allocator> + inline _ForwardIterator + __uninitialized_copy_move(_InputIterator1 __first1, + _InputIterator1 __last1, + _InputIterator2 __first2, + _InputIterator2 __last2, + _ForwardIterator __result, + _Allocator& __alloc) + { + _ForwardIterator __mid = std::__uninitialized_copy_a(__first1, __last1, + __result, + __alloc); + try + { + return std::__uninitialized_move_a(__first2, __last2, __mid, __alloc); + } + catch(...) + { + std::_Destroy(__result, __mid, __alloc); + throw; + } + } + + + + + + template<typename _InputIterator1, typename _InputIterator2, + typename _ForwardIterator, typename _Allocator> + inline _ForwardIterator + __uninitialized_move_copy(_InputIterator1 __first1, + _InputIterator1 __last1, + _InputIterator2 __first2, + _InputIterator2 __last2, + _ForwardIterator __result, + _Allocator& __alloc) + { + _ForwardIterator __mid = std::__uninitialized_move_a(__first1, __last1, + __result, + __alloc); + try + { + return std::__uninitialized_copy_a(__first2, __last2, __mid, __alloc); + } + catch(...) + { + std::_Destroy(__result, __mid, __alloc); + throw; + } + } + + + + + template<typename _ForwardIterator, typename _Tp, typename _InputIterator, + typename _Allocator> + inline _ForwardIterator + __uninitialized_fill_move(_ForwardIterator __result, _ForwardIterator __mid, + const _Tp& __x, _InputIterator __first, + _InputIterator __last, _Allocator& __alloc) + { + std::__uninitialized_fill_a(__result, __mid, __x, __alloc); + try + { + return std::__uninitialized_move_a(__first, __last, __mid, __alloc); + } + catch(...) + { + std::_Destroy(__result, __mid, __alloc); + throw; + } + } + + + + + template<typename _InputIterator, typename _ForwardIterator, typename _Tp, + typename _Allocator> + inline void + __uninitialized_move_fill(_InputIterator __first1, _InputIterator __last1, + _ForwardIterator __first2, + _ForwardIterator __last2, const _Tp& __x, + _Allocator& __alloc) + { + _ForwardIterator __mid2 = std::__uninitialized_move_a(__first1, __last1, + __first2, + __alloc); + try + { + std::__uninitialized_fill_a(__mid2, __last2, __x, __alloc); + } + catch(...) + { + std::_Destroy(__first2, __mid2, __alloc); + throw; + } + } + + + + + + template<bool _TrivialValueType> + struct __uninitialized_default_1 + { + template<typename _ForwardIterator> + static void + __uninit_default(_ForwardIterator __first, _ForwardIterator __last) + { + _ForwardIterator __cur = __first; + try + { + for (; __cur != __last; ++__cur) + std::_Construct(std::__addressof(*__cur)); + } + catch(...) + { + std::_Destroy(__first, __cur); + throw; + } + } + }; + + template<> + struct __uninitialized_default_1<true> + { + template<typename _ForwardIterator> + static void + __uninit_default(_ForwardIterator __first, _ForwardIterator __last) + { + typedef typename iterator_traits<_ForwardIterator>::value_type + _ValueType; + + std::fill(__first, __last, _ValueType()); + } + }; + + template<bool _TrivialValueType> + struct __uninitialized_default_n_1 + { + template<typename _ForwardIterator, typename _Size> + static _ForwardIterator + __uninit_default_n(_ForwardIterator __first, _Size __n) + { + _ForwardIterator __cur = __first; + try + { + for (; __n > 0; --__n, ++__cur) + std::_Construct(std::__addressof(*__cur)); + return __cur; + } + catch(...) + { + std::_Destroy(__first, __cur); + throw; + } + } + }; + + template<> + struct __uninitialized_default_n_1<true> + { + template<typename _ForwardIterator, typename _Size> + static _ForwardIterator + __uninit_default_n(_ForwardIterator __first, _Size __n) + { + typedef typename iterator_traits<_ForwardIterator>::value_type + _ValueType; + + return std::fill_n(__first, __n, _ValueType()); + } + }; + + + + + template<typename _ForwardIterator> + inline void + __uninitialized_default(_ForwardIterator __first, + _ForwardIterator __last) + { + typedef typename iterator_traits<_ForwardIterator>::value_type + _ValueType; + + const bool __assignable = is_copy_assignable<_ValueType>::value; + + std::__uninitialized_default_1<__is_trivial(_ValueType) + && __assignable>:: + __uninit_default(__first, __last); + } + + + + template<typename _ForwardIterator, typename _Size> + inline _ForwardIterator + __uninitialized_default_n(_ForwardIterator __first, _Size __n) + { + typedef typename iterator_traits<_ForwardIterator>::value_type + _ValueType; + + const bool __assignable = is_copy_assignable<_ValueType>::value; + + return __uninitialized_default_n_1<__is_trivial(_ValueType) + && __assignable>:: + __uninit_default_n(__first, __n); + } + + + + + + template<typename _ForwardIterator, typename _Allocator> + void + __uninitialized_default_a(_ForwardIterator __first, + _ForwardIterator __last, + _Allocator& __alloc) + { + _ForwardIterator __cur = __first; + try + { + typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; + for (; __cur != __last; ++__cur) + __traits::construct(__alloc, std::__addressof(*__cur)); + } + catch(...) + { + std::_Destroy(__first, __cur, __alloc); + throw; + } + } + + template<typename _ForwardIterator, typename _Tp> + inline void + __uninitialized_default_a(_ForwardIterator __first, + _ForwardIterator __last, + allocator<_Tp>&) + { std::__uninitialized_default(__first, __last); } + + + + + + template<typename _ForwardIterator, typename _Size, typename _Allocator> + _ForwardIterator + __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, + _Allocator& __alloc) + { + _ForwardIterator __cur = __first; + try + { + typedef __gnu_cxx::__alloc_traits<_Allocator> __traits; + for (; __n > 0; --__n, ++__cur) + __traits::construct(__alloc, std::__addressof(*__cur)); + return __cur; + } + catch(...) + { + std::_Destroy(__first, __cur, __alloc); + throw; + } + } + + template<typename _ForwardIterator, typename _Size, typename _Tp> + inline _ForwardIterator + __uninitialized_default_n_a(_ForwardIterator __first, _Size __n, + allocator<_Tp>&) + { return std::__uninitialized_default_n(__first, __n); } + + + template<typename _InputIterator, typename _Size, + typename _ForwardIterator> + _ForwardIterator + __uninitialized_copy_n(_InputIterator __first, _Size __n, + _ForwardIterator __result, input_iterator_tag) + { + _ForwardIterator __cur = __result; + try + { + for (; __n > 0; --__n, ++__first, ++__cur) + std::_Construct(std::__addressof(*__cur), *__first); + return __cur; + } + catch(...) + { + std::_Destroy(__result, __cur); + throw; + } + } + + template<typename _RandomAccessIterator, typename _Size, + typename _ForwardIterator> + inline _ForwardIterator + __uninitialized_copy_n(_RandomAccessIterator __first, _Size __n, + _ForwardIterator __result, + random_access_iterator_tag) + { return std::uninitialized_copy(__first, __first + __n, __result); } +# 677 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_uninitialized.h" 3 + template<typename _InputIterator, typename _Size, typename _ForwardIterator> + inline _ForwardIterator + uninitialized_copy_n(_InputIterator __first, _Size __n, + _ForwardIterator __result) + { return std::__uninitialized_copy_n(__first, __n, __result, + std::__iterator_category(__first)); } + + + +} +# 64 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/vector" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 1 3 +# 63 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/initializer_list" 1 3 +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/initializer_list" 3 + + + + + +#pragma GCC visibility push(default) + + + +namespace std +{ + + template<class _E> + class initializer_list + { + public: + typedef _E value_type; + typedef const _E& reference; + typedef const _E& const_reference; + typedef size_t size_type; + typedef const _E* iterator; + typedef const _E* const_iterator; + + private: + iterator _M_array; + size_type _M_len; + + + constexpr initializer_list(const_iterator __a, size_type __l) + : _M_array(__a), _M_len(__l) { } + + public: + constexpr initializer_list() noexcept + : _M_array(0), _M_len(0) { } + + + constexpr size_type + size() const noexcept { return _M_len; } + + + constexpr const_iterator + begin() const noexcept { return _M_array; } + + + constexpr const_iterator + end() const noexcept { return begin() + size(); } + }; + + + + + + + template<class _Tp> + constexpr const _Tp* + begin(initializer_list<_Tp> __ils) noexcept + { return __ils.begin(); } + + + + + + + template<class _Tp> + constexpr const _Tp* + end(initializer_list<_Tp> __ils) noexcept + { return __ils.end(); } +} + +#pragma GCC visibility pop +# 64 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 2 3 + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + template<typename _Tp, typename _Alloc> + struct _Vector_base + { + typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template + rebind<_Tp>::other _Tp_alloc_type; + typedef typename __gnu_cxx::__alloc_traits<_Tp_alloc_type>::pointer + pointer; + + struct _Vector_impl + : public _Tp_alloc_type + { + pointer _M_start; + pointer _M_finish; + pointer _M_end_of_storage; + + _Vector_impl() + : _Tp_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage() + { } + + _Vector_impl(_Tp_alloc_type const& __a) noexcept + : _Tp_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage() + { } + + + _Vector_impl(_Tp_alloc_type&& __a) noexcept + : _Tp_alloc_type(std::move(__a)), + _M_start(), _M_finish(), _M_end_of_storage() + { } + + + void _M_swap_data(_Vector_impl& __x) noexcept + { + std::swap(_M_start, __x._M_start); + std::swap(_M_finish, __x._M_finish); + std::swap(_M_end_of_storage, __x._M_end_of_storage); + } + }; + + public: + typedef _Alloc allocator_type; + + _Tp_alloc_type& + _M_get_Tp_allocator() noexcept + { return *static_cast<_Tp_alloc_type*>(&this->_M_impl); } + + const _Tp_alloc_type& + _M_get_Tp_allocator() const noexcept + { return *static_cast<const _Tp_alloc_type*>(&this->_M_impl); } + + allocator_type + get_allocator() const noexcept + { return allocator_type(_M_get_Tp_allocator()); } + + _Vector_base() + : _M_impl() { } + + _Vector_base(const allocator_type& __a) noexcept + : _M_impl(__a) { } + + _Vector_base(size_t __n) + : _M_impl() + { _M_create_storage(__n); } + + _Vector_base(size_t __n, const allocator_type& __a) + : _M_impl(__a) + { _M_create_storage(__n); } + + + _Vector_base(_Tp_alloc_type&& __a) noexcept + : _M_impl(std::move(__a)) { } + + _Vector_base(_Vector_base&& __x) noexcept + : _M_impl(std::move(__x._M_get_Tp_allocator())) + { this->_M_impl._M_swap_data(__x._M_impl); } + + _Vector_base(_Vector_base&& __x, const allocator_type& __a) + : _M_impl(__a) + { + if (__x.get_allocator() == __a) + this->_M_impl._M_swap_data(__x._M_impl); + else + { + size_t __n = __x._M_impl._M_finish - __x._M_impl._M_start; + _M_create_storage(__n); + } + } + + + ~_Vector_base() noexcept + { _M_deallocate(this->_M_impl._M_start, this->_M_impl._M_end_of_storage + - this->_M_impl._M_start); } + + public: + _Vector_impl _M_impl; + + pointer + _M_allocate(size_t __n) + { + typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; + return __n != 0 ? _Tr::allocate(_M_impl, __n) : pointer(); + } + + void + _M_deallocate(pointer __p, size_t __n) + { + typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Tr; + if (__p) + _Tr::deallocate(_M_impl, __p, __n); + } + + private: + void + _M_create_storage(size_t __n) + { + this->_M_impl._M_start = this->_M_allocate(__n); + this->_M_impl._M_finish = this->_M_impl._M_start; + this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; + } + }; +# 213 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + template<typename _Tp, typename _Alloc = std::allocator<_Tp> > + class vector : protected _Vector_base<_Tp, _Alloc> + { + + typedef typename _Alloc::value_type _Alloc_value_type; + + + + + + typedef _Vector_base<_Tp, _Alloc> _Base; + typedef typename _Base::_Tp_alloc_type _Tp_alloc_type; + typedef __gnu_cxx::__alloc_traits<_Tp_alloc_type> _Alloc_traits; + + public: + typedef _Tp value_type; + typedef typename _Base::pointer pointer; + typedef typename _Alloc_traits::const_pointer const_pointer; + typedef typename _Alloc_traits::reference reference; + typedef typename _Alloc_traits::const_reference const_reference; + typedef __gnu_cxx::__normal_iterator<pointer, vector> iterator; + typedef __gnu_cxx::__normal_iterator<const_pointer, vector> + const_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef _Alloc allocator_type; + + protected: + using _Base::_M_allocate; + using _Base::_M_deallocate; + using _Base::_M_impl; + using _Base::_M_get_Tp_allocator; + + public: + + + + + + + vector() + + noexcept(is_nothrow_default_constructible<_Alloc>::value) + + : _Base() { } + + + + + + explicit + vector(const allocator_type& __a) noexcept + : _Base(__a) { } +# 278 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + explicit + vector(size_type __n, const allocator_type& __a = allocator_type()) + : _Base(__n, __a) + { _M_default_initialize(__n); } +# 291 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + vector(size_type __n, const value_type& __value, + const allocator_type& __a = allocator_type()) + : _Base(__n, __a) + { _M_fill_initialize(__n, __value); } +# 320 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + vector(const vector& __x) + : _Base(__x.size(), + _Alloc_traits::_S_select_on_copy(__x._M_get_Tp_allocator())) + { this->_M_impl._M_finish = + std::__uninitialized_copy_a(__x.begin(), __x.end(), + this->_M_impl._M_start, + _M_get_Tp_allocator()); + } +# 337 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + vector(vector&& __x) noexcept + : _Base(std::move(__x)) { } + + + vector(const vector& __x, const allocator_type& __a) + : _Base(__x.size(), __a) + { this->_M_impl._M_finish = + std::__uninitialized_copy_a(__x.begin(), __x.end(), + this->_M_impl._M_start, + _M_get_Tp_allocator()); + } + + + vector(vector&& __rv, const allocator_type& __m) + noexcept(_Alloc_traits::_S_always_equal()) + : _Base(std::move(__rv), __m) + { + if (__rv.get_allocator() != __m) + { + this->_M_impl._M_finish = + std::__uninitialized_move_a(__rv.begin(), __rv.end(), + this->_M_impl._M_start, + _M_get_Tp_allocator()); + __rv.clear(); + } + } +# 375 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + vector(initializer_list<value_type> __l, + const allocator_type& __a = allocator_type()) + : _Base(__a) + { + _M_range_initialize(__l.begin(), __l.end(), + random_access_iterator_tag()); + } +# 401 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + template<typename _InputIterator, + typename = std::_RequireInputIter<_InputIterator>> + vector(_InputIterator __first, _InputIterator __last, + const allocator_type& __a = allocator_type()) + : _Base(__a) + { _M_initialize_dispatch(__first, __last, __false_type()); } +# 425 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + ~vector() noexcept + { std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, + _M_get_Tp_allocator()); } +# 437 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + vector& + operator=(const vector& __x); +# 449 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + vector& + operator=(vector&& __x) noexcept(_Alloc_traits::_S_nothrow_move()) + { + constexpr bool __move_storage = + _Alloc_traits::_S_propagate_on_move_assign() + || _Alloc_traits::_S_always_equal(); + _M_move_assign(std::move(__x), __bool_constant<__move_storage>()); + return *this; + } +# 470 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + vector& + operator=(initializer_list<value_type> __l) + { + this->assign(__l.begin(), __l.end()); + return *this; + } +# 488 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + void + assign(size_type __n, const value_type& __val) + { _M_fill_assign(__n, __val); } +# 505 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + template<typename _InputIterator, + typename = std::_RequireInputIter<_InputIterator>> + void + assign(_InputIterator __first, _InputIterator __last) + { _M_assign_dispatch(__first, __last, __false_type()); } +# 533 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + void + assign(initializer_list<value_type> __l) + { this->assign(__l.begin(), __l.end()); } + + + + using _Base::get_allocator; + + + + + + + + iterator + begin() noexcept + { return iterator(this->_M_impl._M_start); } + + + + + + + const_iterator + begin() const noexcept + { return const_iterator(this->_M_impl._M_start); } + + + + + + + iterator + end() noexcept + { return iterator(this->_M_impl._M_finish); } + + + + + + + const_iterator + end() const noexcept + { return const_iterator(this->_M_impl._M_finish); } + + + + + + + reverse_iterator + rbegin() noexcept + { return reverse_iterator(end()); } + + + + + + + const_reverse_iterator + rbegin() const noexcept + { return const_reverse_iterator(end()); } + + + + + + + reverse_iterator + rend() noexcept + { return reverse_iterator(begin()); } + + + + + + + const_reverse_iterator + rend() const noexcept + { return const_reverse_iterator(begin()); } + + + + + + + + const_iterator + cbegin() const noexcept + { return const_iterator(this->_M_impl._M_start); } + + + + + + + const_iterator + cend() const noexcept + { return const_iterator(this->_M_impl._M_finish); } + + + + + + + const_reverse_iterator + crbegin() const noexcept + { return const_reverse_iterator(end()); } + + + + + + + const_reverse_iterator + crend() const noexcept + { return const_reverse_iterator(begin()); } + + + + + size_type + size() const noexcept + { return size_type(this->_M_impl._M_finish - this->_M_impl._M_start); } + + + size_type + max_size() const noexcept + { return _Alloc_traits::max_size(_M_get_Tp_allocator()); } +# 673 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + void + resize(size_type __new_size) + { + if (__new_size > size()) + _M_default_append(__new_size - size()); + else if (__new_size < size()) + _M_erase_at_end(this->_M_impl._M_start + __new_size); + } +# 693 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + void + resize(size_type __new_size, const value_type& __x) + { + if (__new_size > size()) + insert(end(), __new_size - size(), __x); + else if (__new_size < size()) + _M_erase_at_end(this->_M_impl._M_start + __new_size); + } +# 725 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + void + shrink_to_fit() + { _M_shrink_to_fit(); } + + + + + + + size_type + capacity() const noexcept + { return size_type(this->_M_impl._M_end_of_storage + - this->_M_impl._M_start); } + + + + + + bool + empty() const noexcept + { return begin() == end(); } +# 764 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + void + reserve(size_type __n); +# 779 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + reference + operator[](size_type __n) noexcept + { return *(this->_M_impl._M_start + __n); } +# 794 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + const_reference + operator[](size_type __n) const noexcept + { return *(this->_M_impl._M_start + __n); } + + protected: + + void + _M_range_check(size_type __n) const + { + if (__n >= this->size()) + __throw_out_of_range_fmt(("vector::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)"), + + + __n, this->size()); + } + + public: +# 822 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + reference + at(size_type __n) + { + _M_range_check(__n); + return (*this)[__n]; + } +# 840 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + const_reference + at(size_type __n) const + { + _M_range_check(__n); + return (*this)[__n]; + } + + + + + + reference + front() noexcept + { return *begin(); } + + + + + + const_reference + front() const noexcept + { return *begin(); } + + + + + + reference + back() noexcept + { return *(end() - 1); } + + + + + + const_reference + back() const noexcept + { return *(end() - 1); } +# 887 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + _Tp* + + + + data() noexcept + { return _M_data_ptr(this->_M_impl._M_start); } + + + const _Tp* + + + + data() const noexcept + { return _M_data_ptr(this->_M_impl._M_start); } +# 913 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + void + push_back(const value_type& __x) + { + if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) + { + _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, + __x); + ++this->_M_impl._M_finish; + } + else + + _M_emplace_back_aux(__x); + + + + } + + + void + push_back(value_type&& __x) + { emplace_back(std::move(__x)); } + + template<typename... _Args> + void + emplace_back(_Args&&... __args); +# 949 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + void + pop_back() noexcept + { + --this->_M_impl._M_finish; + _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); + } +# 969 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + template<typename... _Args> + iterator + emplace(const_iterator __position, _Args&&... __args); +# 984 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + iterator + insert(const_iterator __position, const value_type& __x); +# 1014 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + iterator + insert(const_iterator __position, value_type&& __x) + { return emplace(__position, std::move(__x)); } +# 1031 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + iterator + insert(const_iterator __position, initializer_list<value_type> __l) + { return this->insert(__position, __l.begin(), __l.end()); } +# 1051 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + iterator + insert(const_iterator __position, size_type __n, const value_type& __x) + { + difference_type __offset = __position - cbegin(); + _M_fill_insert(begin() + __offset, __n, __x); + return begin() + __offset; + } +# 1093 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + template<typename _InputIterator, + typename = std::_RequireInputIter<_InputIterator>> + iterator + insert(const_iterator __position, _InputIterator __first, + _InputIterator __last) + { + difference_type __offset = __position - cbegin(); + _M_insert_dispatch(begin() + __offset, + __first, __last, __false_type()); + return begin() + __offset; + } +# 1145 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + iterator + + erase(const_iterator __position) + { return _M_erase(begin() + (__position - cbegin())); } +# 1172 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + iterator + + erase(const_iterator __first, const_iterator __last) + { + const auto __beg = begin(); + const auto __cbeg = cbegin(); + return _M_erase(__beg + (__first - __cbeg), __beg + (__last - __cbeg)); + } +# 1194 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + void + swap(vector& __x) noexcept + { + this->_M_impl._M_swap_data(__x._M_impl); + _Alloc_traits::_S_on_swap(_M_get_Tp_allocator(), + __x._M_get_Tp_allocator()); + } + + + + + + + + void + clear() noexcept + { _M_erase_at_end(this->_M_impl._M_start); } + + protected: + + + + + template<typename _ForwardIterator> + pointer + _M_allocate_and_copy(size_type __n, + _ForwardIterator __first, _ForwardIterator __last) + { + pointer __result = this->_M_allocate(__n); + try + { + std::__uninitialized_copy_a(__first, __last, __result, + _M_get_Tp_allocator()); + return __result; + } + catch(...) + { + _M_deallocate(__result, __n); + throw; + } + } +# 1243 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + template<typename _Integer> + void + _M_initialize_dispatch(_Integer __n, _Integer __value, __true_type) + { + this->_M_impl._M_start = _M_allocate(static_cast<size_type>(__n)); + this->_M_impl._M_end_of_storage = + this->_M_impl._M_start + static_cast<size_type>(__n); + _M_fill_initialize(static_cast<size_type>(__n), __value); + } + + + template<typename _InputIterator> + void + _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, + __false_type) + { + typedef typename std::iterator_traits<_InputIterator>:: + iterator_category _IterCategory; + _M_range_initialize(__first, __last, _IterCategory()); + } + + + template<typename _InputIterator> + void + _M_range_initialize(_InputIterator __first, + _InputIterator __last, std::input_iterator_tag) + { + for (; __first != __last; ++__first) + + emplace_back(*__first); + + + + } + + + template<typename _ForwardIterator> + void + _M_range_initialize(_ForwardIterator __first, + _ForwardIterator __last, std::forward_iterator_tag) + { + const size_type __n = std::distance(__first, __last); + this->_M_impl._M_start = this->_M_allocate(__n); + this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; + this->_M_impl._M_finish = + std::__uninitialized_copy_a(__first, __last, + this->_M_impl._M_start, + _M_get_Tp_allocator()); + } + + + + void + _M_fill_initialize(size_type __n, const value_type& __value) + { + this->_M_impl._M_finish = + std::__uninitialized_fill_n_a(this->_M_impl._M_start, __n, __value, + _M_get_Tp_allocator()); + } + + + + void + _M_default_initialize(size_type __n) + { + this->_M_impl._M_finish = + std::__uninitialized_default_n_a(this->_M_impl._M_start, __n, + _M_get_Tp_allocator()); + } +# 1321 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + template<typename _Integer> + void + _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) + { _M_fill_assign(__n, __val); } + + + template<typename _InputIterator> + void + _M_assign_dispatch(_InputIterator __first, _InputIterator __last, + __false_type) + { + typedef typename std::iterator_traits<_InputIterator>:: + iterator_category _IterCategory; + _M_assign_aux(__first, __last, _IterCategory()); + } + + + template<typename _InputIterator> + void + _M_assign_aux(_InputIterator __first, _InputIterator __last, + std::input_iterator_tag); + + + template<typename _ForwardIterator> + void + _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, + std::forward_iterator_tag); + + + + void + _M_fill_assign(size_type __n, const value_type& __val); +# 1361 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + template<typename _Integer> + void + _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __val, + __true_type) + { _M_fill_insert(__pos, __n, __val); } + + + template<typename _InputIterator> + void + _M_insert_dispatch(iterator __pos, _InputIterator __first, + _InputIterator __last, __false_type) + { + typedef typename std::iterator_traits<_InputIterator>:: + iterator_category _IterCategory; + _M_range_insert(__pos, __first, __last, _IterCategory()); + } + + + template<typename _InputIterator> + void + _M_range_insert(iterator __pos, _InputIterator __first, + _InputIterator __last, std::input_iterator_tag); + + + template<typename _ForwardIterator> + void + _M_range_insert(iterator __pos, _ForwardIterator __first, + _ForwardIterator __last, std::forward_iterator_tag); + + + + void + _M_fill_insert(iterator __pos, size_type __n, const value_type& __x); + + + + void + _M_default_append(size_type __n); + + bool + _M_shrink_to_fit(); + + + + + + + + template<typename... _Args> + void + _M_insert_aux(iterator __position, _Args&&... __args); + + template<typename... _Args> + void + _M_emplace_back_aux(_Args&&... __args); + + + + size_type + _M_check_len(size_type __n, const char* __s) const + { + if (max_size() - size() < __n) + __throw_length_error((__s)); + + const size_type __len = size() + std::max(size(), __n); + return (__len < size() || __len > max_size()) ? max_size() : __len; + } + + + + + + void + _M_erase_at_end(pointer __pos) noexcept + { + std::_Destroy(__pos, this->_M_impl._M_finish, _M_get_Tp_allocator()); + this->_M_impl._M_finish = __pos; + } + + iterator + _M_erase(iterator __position); + + iterator + _M_erase(iterator __first, iterator __last); + + + private: + + + + void + _M_move_assign(vector&& __x, std::true_type) noexcept + { + vector __tmp(get_allocator()); + this->_M_impl._M_swap_data(__tmp._M_impl); + this->_M_impl._M_swap_data(__x._M_impl); + std::__alloc_on_move(_M_get_Tp_allocator(), __x._M_get_Tp_allocator()); + } + + + + void + _M_move_assign(vector&& __x, std::false_type) + { + if (__x._M_get_Tp_allocator() == this->_M_get_Tp_allocator()) + _M_move_assign(std::move(__x), std::true_type()); + else + { + + + this->assign(std::__make_move_if_noexcept_iterator(__x.begin()), + std::__make_move_if_noexcept_iterator(__x.end())); + __x.clear(); + } + } + + + + template<typename _Up> + _Up* + _M_data_ptr(_Up* __ptr) const + { return __ptr; } + + template<typename _Ptr> + typename std::pointer_traits<_Ptr>::element_type* + _M_data_ptr(_Ptr __ptr) const + { return empty() ? nullptr : std::__addressof(*__ptr); } + + + + + + + }; +# 1507 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + template<typename _Tp, typename _Alloc> + inline bool + operator==(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) + { return (__x.size() == __y.size() + && std::equal(__x.begin(), __x.end(), __y.begin())); } +# 1524 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h" 3 + template<typename _Tp, typename _Alloc> + inline bool + operator<(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) + { return std::lexicographical_compare(__x.begin(), __x.end(), + __y.begin(), __y.end()); } + + + template<typename _Tp, typename _Alloc> + inline bool + operator!=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) + { return !(__x == __y); } + + + template<typename _Tp, typename _Alloc> + inline bool + operator>(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) + { return __y < __x; } + + + template<typename _Tp, typename _Alloc> + inline bool + operator<=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) + { return !(__y < __x); } + + + template<typename _Tp, typename _Alloc> + inline bool + operator>=(const vector<_Tp, _Alloc>& __x, const vector<_Tp, _Alloc>& __y) + { return !(__x < __y); } + + + template<typename _Tp, typename _Alloc> + inline void + swap(vector<_Tp, _Alloc>& __x, vector<_Tp, _Alloc>& __y) + noexcept(noexcept(__x.swap(__y))) + { __x.swap(__y); } + + +} +# 65 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/vector" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h" 1 3 +# 63 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + typedef unsigned long _Bit_type; + enum { _S_word_bit = int(8 * sizeof(_Bit_type)) }; + + struct _Bit_reference + { + _Bit_type * _M_p; + _Bit_type _M_mask; + + _Bit_reference(_Bit_type * __x, _Bit_type __y) + : _M_p(__x), _M_mask(__y) { } + + _Bit_reference() noexcept : _M_p(0), _M_mask(0) { } + + operator bool() const noexcept + { return !!(*_M_p & _M_mask); } + + _Bit_reference& + operator=(bool __x) noexcept + { + if (__x) + *_M_p |= _M_mask; + else + *_M_p &= ~_M_mask; + return *this; + } + + _Bit_reference& + operator=(const _Bit_reference& __x) noexcept + { return *this = bool(__x); } + + bool + operator==(const _Bit_reference& __x) const + { return bool(*this) == bool(__x); } + + bool + operator<(const _Bit_reference& __x) const + { return !bool(*this) && bool(__x); } + + void + flip() noexcept + { *_M_p ^= _M_mask; } + }; + + + inline void + swap(_Bit_reference __x, _Bit_reference __y) noexcept + { + bool __tmp = __x; + __x = __y; + __y = __tmp; + } + + inline void + swap(_Bit_reference __x, bool& __y) noexcept + { + bool __tmp = __x; + __x = __y; + __y = __tmp; + } + + inline void + swap(bool& __x, _Bit_reference __y) noexcept + { + bool __tmp = __x; + __x = __y; + __y = __tmp; + } + + + struct _Bit_iterator_base + : public std::iterator<std::random_access_iterator_tag, bool> + { + _Bit_type * _M_p; + unsigned int _M_offset; + + _Bit_iterator_base(_Bit_type * __x, unsigned int __y) + : _M_p(__x), _M_offset(__y) { } + + void + _M_bump_up() + { + if (_M_offset++ == int(_S_word_bit) - 1) + { + _M_offset = 0; + ++_M_p; + } + } + + void + _M_bump_down() + { + if (_M_offset-- == 0) + { + _M_offset = int(_S_word_bit) - 1; + --_M_p; + } + } + + void + _M_incr(ptrdiff_t __i) + { + difference_type __n = __i + _M_offset; + _M_p += __n / int(_S_word_bit); + __n = __n % int(_S_word_bit); + if (__n < 0) + { + __n += int(_S_word_bit); + --_M_p; + } + _M_offset = static_cast<unsigned int>(__n); + } + + bool + operator==(const _Bit_iterator_base& __i) const + { return _M_p == __i._M_p && _M_offset == __i._M_offset; } + + bool + operator<(const _Bit_iterator_base& __i) const + { + return _M_p < __i._M_p + || (_M_p == __i._M_p && _M_offset < __i._M_offset); + } + + bool + operator!=(const _Bit_iterator_base& __i) const + { return !(*this == __i); } + + bool + operator>(const _Bit_iterator_base& __i) const + { return __i < *this; } + + bool + operator<=(const _Bit_iterator_base& __i) const + { return !(__i < *this); } + + bool + operator>=(const _Bit_iterator_base& __i) const + { return !(*this < __i); } + }; + + inline ptrdiff_t + operator-(const _Bit_iterator_base& __x, const _Bit_iterator_base& __y) + { + return (int(_S_word_bit) * (__x._M_p - __y._M_p) + + __x._M_offset - __y._M_offset); + } + + struct _Bit_iterator : public _Bit_iterator_base + { + typedef _Bit_reference reference; + typedef _Bit_reference* pointer; + typedef _Bit_iterator iterator; + + _Bit_iterator() : _Bit_iterator_base(0, 0) { } + + _Bit_iterator(_Bit_type * __x, unsigned int __y) + : _Bit_iterator_base(__x, __y) { } + + iterator + _M_const_cast() const + { return *this; } + + reference + operator*() const + { return reference(_M_p, 1UL << _M_offset); } + + iterator& + operator++() + { + _M_bump_up(); + return *this; + } + + iterator + operator++(int) + { + iterator __tmp = *this; + _M_bump_up(); + return __tmp; + } + + iterator& + operator--() + { + _M_bump_down(); + return *this; + } + + iterator + operator--(int) + { + iterator __tmp = *this; + _M_bump_down(); + return __tmp; + } + + iterator& + operator+=(difference_type __i) + { + _M_incr(__i); + return *this; + } + + iterator& + operator-=(difference_type __i) + { + *this += -__i; + return *this; + } + + iterator + operator+(difference_type __i) const + { + iterator __tmp = *this; + return __tmp += __i; + } + + iterator + operator-(difference_type __i) const + { + iterator __tmp = *this; + return __tmp -= __i; + } + + reference + operator[](difference_type __i) const + { return *(*this + __i); } + }; + + inline _Bit_iterator + operator+(ptrdiff_t __n, const _Bit_iterator& __x) + { return __x + __n; } + + struct _Bit_const_iterator : public _Bit_iterator_base + { + typedef bool reference; + typedef bool const_reference; + typedef const bool* pointer; + typedef _Bit_const_iterator const_iterator; + + _Bit_const_iterator() : _Bit_iterator_base(0, 0) { } + + _Bit_const_iterator(_Bit_type * __x, unsigned int __y) + : _Bit_iterator_base(__x, __y) { } + + _Bit_const_iterator(const _Bit_iterator& __x) + : _Bit_iterator_base(__x._M_p, __x._M_offset) { } + + _Bit_iterator + _M_const_cast() const + { return _Bit_iterator(_M_p, _M_offset); } + + const_reference + operator*() const + { return _Bit_reference(_M_p, 1UL << _M_offset); } + + const_iterator& + operator++() + { + _M_bump_up(); + return *this; + } + + const_iterator + operator++(int) + { + const_iterator __tmp = *this; + _M_bump_up(); + return __tmp; + } + + const_iterator& + operator--() + { + _M_bump_down(); + return *this; + } + + const_iterator + operator--(int) + { + const_iterator __tmp = *this; + _M_bump_down(); + return __tmp; + } + + const_iterator& + operator+=(difference_type __i) + { + _M_incr(__i); + return *this; + } + + const_iterator& + operator-=(difference_type __i) + { + *this += -__i; + return *this; + } + + const_iterator + operator+(difference_type __i) const + { + const_iterator __tmp = *this; + return __tmp += __i; + } + + const_iterator + operator-(difference_type __i) const + { + const_iterator __tmp = *this; + return __tmp -= __i; + } + + const_reference + operator[](difference_type __i) const + { return *(*this + __i); } + }; + + inline _Bit_const_iterator + operator+(ptrdiff_t __n, const _Bit_const_iterator& __x) + { return __x + __n; } + + inline void + __fill_bvector(_Bit_iterator __first, _Bit_iterator __last, bool __x) + { + for (; __first != __last; ++__first) + *__first = __x; + } + + inline void + fill(_Bit_iterator __first, _Bit_iterator __last, const bool& __x) + { + if (__first._M_p != __last._M_p) + { + std::fill(__first._M_p + 1, __last._M_p, __x ? ~0 : 0); + __fill_bvector(__first, _Bit_iterator(__first._M_p + 1, 0), __x); + __fill_bvector(_Bit_iterator(__last._M_p, 0), __last, __x); + } + else + __fill_bvector(__first, __last, __x); + } + + template<typename _Alloc> + struct _Bvector_base + { + typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template + rebind<_Bit_type>::other _Bit_alloc_type; + typedef typename __gnu_cxx::__alloc_traits<_Bit_alloc_type> + _Bit_alloc_traits; + typedef typename _Bit_alloc_traits::pointer _Bit_pointer; + + struct _Bvector_impl + : public _Bit_alloc_type + { + _Bit_iterator _M_start; + _Bit_iterator _M_finish; + _Bit_pointer _M_end_of_storage; + + _Bvector_impl() + : _Bit_alloc_type(), _M_start(), _M_finish(), _M_end_of_storage() + { } + + _Bvector_impl(const _Bit_alloc_type& __a) + : _Bit_alloc_type(__a), _M_start(), _M_finish(), _M_end_of_storage() + { } + + + _Bvector_impl(_Bit_alloc_type&& __a) + : _Bit_alloc_type(std::move(__a)), _M_start(), _M_finish(), + _M_end_of_storage() + { } + + + _Bit_type* + _M_end_addr() const noexcept + { + if (_M_end_of_storage) + return std::__addressof(_M_end_of_storage[-1]) + 1; + return 0; + } + }; + + public: + typedef _Alloc allocator_type; + + _Bit_alloc_type& + _M_get_Bit_allocator() noexcept + { return *static_cast<_Bit_alloc_type*>(&this->_M_impl); } + + const _Bit_alloc_type& + _M_get_Bit_allocator() const noexcept + { return *static_cast<const _Bit_alloc_type*>(&this->_M_impl); } + + allocator_type + get_allocator() const noexcept + { return allocator_type(_M_get_Bit_allocator()); } + + _Bvector_base() + : _M_impl() { } + + _Bvector_base(const allocator_type& __a) + : _M_impl(__a) { } + + + _Bvector_base(_Bvector_base&& __x) noexcept + : _M_impl(std::move(__x._M_get_Bit_allocator())) + { + this->_M_impl._M_start = __x._M_impl._M_start; + this->_M_impl._M_finish = __x._M_impl._M_finish; + this->_M_impl._M_end_of_storage = __x._M_impl._M_end_of_storage; + __x._M_impl._M_start = _Bit_iterator(); + __x._M_impl._M_finish = _Bit_iterator(); + __x._M_impl._M_end_of_storage = nullptr; + } + + + ~_Bvector_base() + { this->_M_deallocate(); } + + protected: + _Bvector_impl _M_impl; + + _Bit_pointer + _M_allocate(size_t __n) + { return _Bit_alloc_traits::allocate(_M_impl, _S_nword(__n)); } + + void + _M_deallocate() + { + if (_M_impl._M_start._M_p) + { + const size_t __n = _M_impl._M_end_addr() - _M_impl._M_start._M_p; + _Bit_alloc_traits::deallocate(_M_impl, + _M_impl._M_end_of_storage - __n, + __n); + } + } + + static size_t + _S_nword(size_t __n) + { return (__n + int(_S_word_bit) - 1) / int(_S_word_bit); } + }; + + +} + + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 540 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h" 3 +template<typename _Alloc> + class vector<bool, _Alloc> : protected _Bvector_base<_Alloc> + { + typedef _Bvector_base<_Alloc> _Base; + typedef typename _Base::_Bit_pointer _Bit_pointer; + typedef typename _Base::_Bit_alloc_traits _Bit_alloc_traits; + + + template<typename> friend struct hash; + + + public: + typedef bool value_type; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef _Bit_reference reference; + typedef bool const_reference; + typedef _Bit_reference* pointer; + typedef const bool* const_pointer; + typedef _Bit_iterator iterator; + typedef _Bit_const_iterator const_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; + typedef _Alloc allocator_type; + + allocator_type get_allocator() const + { return _Base::get_allocator(); } + + protected: + using _Base::_M_allocate; + using _Base::_M_deallocate; + using _Base::_S_nword; + using _Base::_M_get_Bit_allocator; + + public: + vector() + + noexcept(is_nothrow_default_constructible<allocator_type>::value) + + : _Base() { } + + explicit + vector(const allocator_type& __a) + : _Base(__a) { } + + + explicit + vector(size_type __n, const allocator_type& __a = allocator_type()) + : vector(__n, false, __a) + { } + + vector(size_type __n, const bool& __value, + const allocator_type& __a = allocator_type()) + : _Base(__a) + { + _M_initialize(__n); + std::fill(this->_M_impl._M_start._M_p, this->_M_impl._M_end_addr(), + __value ? ~0 : 0); + } +# 611 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h" 3 + vector(const vector& __x) + : _Base(_Bit_alloc_traits::_S_select_on_copy(__x._M_get_Bit_allocator())) + { + _M_initialize(__x.size()); + _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); + } + + + vector(vector&& __x) noexcept + : _Base(std::move(__x)) { } + + vector(vector&& __x, const allocator_type& __a) + noexcept(_Bit_alloc_traits::_S_always_equal()) + : _Base(__a) + { + if (__x.get_allocator() == __a) + { + this->_M_impl._M_start = __x._M_impl._M_start; + this->_M_impl._M_finish = __x._M_impl._M_finish; + this->_M_impl._M_end_of_storage = __x._M_impl._M_end_of_storage; + __x._M_impl._M_start = _Bit_iterator(); + __x._M_impl._M_finish = _Bit_iterator(); + __x._M_impl._M_end_of_storage = nullptr; + } + else + { + _M_initialize(__x.size()); + _M_copy_aligned(__x.begin(), __x.end(), begin()); + __x.clear(); + } + } + + vector(const vector& __x, const allocator_type& __a) + : _Base(__a) + { + _M_initialize(__x.size()); + _M_copy_aligned(__x.begin(), __x.end(), this->_M_impl._M_start); + } + + vector(initializer_list<bool> __l, + const allocator_type& __a = allocator_type()) + : _Base(__a) + { + _M_initialize_range(__l.begin(), __l.end(), + random_access_iterator_tag()); + } + + + + template<typename _InputIterator, + typename = std::_RequireInputIter<_InputIterator>> + vector(_InputIterator __first, _InputIterator __last, + const allocator_type& __a = allocator_type()) + : _Base(__a) + { _M_initialize_dispatch(__first, __last, __false_type()); } +# 677 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h" 3 + ~vector() noexcept { } + + vector& + operator=(const vector& __x) + { + if (&__x == this) + return *this; + + if (_Bit_alloc_traits::_S_propagate_on_copy_assign()) + { + if (this->_M_get_Bit_allocator() != __x._M_get_Bit_allocator()) + { + this->_M_deallocate(); + std::__alloc_on_copy(_M_get_Bit_allocator(), + __x._M_get_Bit_allocator()); + _M_initialize(__x.size()); + } + else + std::__alloc_on_copy(_M_get_Bit_allocator(), + __x._M_get_Bit_allocator()); + } + + if (__x.size() > capacity()) + { + this->_M_deallocate(); + _M_initialize(__x.size()); + } + this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), + begin()); + return *this; + } + + + vector& + operator=(vector&& __x) noexcept(_Bit_alloc_traits::_S_nothrow_move()) + { + if (_Bit_alloc_traits::_S_propagate_on_move_assign() + || this->_M_get_Bit_allocator() == __x._M_get_Bit_allocator()) + { + this->_M_deallocate(); + this->_M_impl._M_start = __x._M_impl._M_start; + this->_M_impl._M_finish = __x._M_impl._M_finish; + this->_M_impl._M_end_of_storage = __x._M_impl._M_end_of_storage; + __x._M_impl._M_start = _Bit_iterator(); + __x._M_impl._M_finish = _Bit_iterator(); + __x._M_impl._M_end_of_storage = nullptr; + std::__alloc_on_move(_M_get_Bit_allocator(), + __x._M_get_Bit_allocator()); + } + else + { + if (__x.size() > capacity()) + { + this->_M_deallocate(); + _M_initialize(__x.size()); + } + this->_M_impl._M_finish = _M_copy_aligned(__x.begin(), __x.end(), + begin()); + __x.clear(); + } + return *this; + } + + vector& + operator=(initializer_list<bool> __l) + { + this->assign (__l.begin(), __l.end()); + return *this; + } + + + + + + + void + assign(size_type __n, const bool& __x) + { _M_fill_assign(__n, __x); } + + + template<typename _InputIterator, + typename = std::_RequireInputIter<_InputIterator>> + void + assign(_InputIterator __first, _InputIterator __last) + { _M_assign_dispatch(__first, __last, __false_type()); } +# 773 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h" 3 + void + assign(initializer_list<bool> __l) + { this->assign(__l.begin(), __l.end()); } + + + iterator + begin() noexcept + { return this->_M_impl._M_start; } + + const_iterator + begin() const noexcept + { return this->_M_impl._M_start; } + + iterator + end() noexcept + { return this->_M_impl._M_finish; } + + const_iterator + end() const noexcept + { return this->_M_impl._M_finish; } + + reverse_iterator + rbegin() noexcept + { return reverse_iterator(end()); } + + const_reverse_iterator + rbegin() const noexcept + { return const_reverse_iterator(end()); } + + reverse_iterator + rend() noexcept + { return reverse_iterator(begin()); } + + const_reverse_iterator + rend() const noexcept + { return const_reverse_iterator(begin()); } + + + const_iterator + cbegin() const noexcept + { return this->_M_impl._M_start; } + + const_iterator + cend() const noexcept + { return this->_M_impl._M_finish; } + + const_reverse_iterator + crbegin() const noexcept + { return const_reverse_iterator(end()); } + + const_reverse_iterator + crend() const noexcept + { return const_reverse_iterator(begin()); } + + + size_type + size() const noexcept + { return size_type(end() - begin()); } + + size_type + max_size() const noexcept + { + const size_type __isize = + __gnu_cxx::__numeric_traits<difference_type>::__max + - int(_S_word_bit) + 1; + const size_type __asize + = _Bit_alloc_traits::max_size(_M_get_Bit_allocator()); + return (__asize <= __isize / int(_S_word_bit) + ? __asize * int(_S_word_bit) : __isize); + } + + size_type + capacity() const noexcept + { return size_type(const_iterator(this->_M_impl._M_end_addr(), 0) + - begin()); } + + bool + empty() const noexcept + { return begin() == end(); } + + reference + operator[](size_type __n) + { + return *iterator(this->_M_impl._M_start._M_p + + __n / int(_S_word_bit), __n % int(_S_word_bit)); + } + + const_reference + operator[](size_type __n) const + { + return *const_iterator(this->_M_impl._M_start._M_p + + __n / int(_S_word_bit), __n % int(_S_word_bit)); + } + + protected: + void + _M_range_check(size_type __n) const + { + if (__n >= this->size()) + __throw_out_of_range_fmt(("vector<bool>::_M_range_check: __n " "(which is %zu) >= this->size() " "(which is %zu)"), + + + __n, this->size()); + } + + public: + reference + at(size_type __n) + { _M_range_check(__n); return (*this)[__n]; } + + const_reference + at(size_type __n) const + { _M_range_check(__n); return (*this)[__n]; } + + void + reserve(size_type __n) + { + if (__n > max_size()) + __throw_length_error(("vector::reserve")); + if (capacity() < __n) + _M_reallocate(__n); + } + + reference + front() + { return *begin(); } + + const_reference + front() const + { return *begin(); } + + reference + back() + { return *(end() - 1); } + + const_reference + back() const + { return *(end() - 1); } + + + + + + + void + data() noexcept { } + + void + push_back(bool __x) + { + if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) + *this->_M_impl._M_finish++ = __x; + else + _M_insert_aux(end(), __x); + } + + void + swap(vector& __x) noexcept + { + std::swap(this->_M_impl._M_start, __x._M_impl._M_start); + std::swap(this->_M_impl._M_finish, __x._M_impl._M_finish); + std::swap(this->_M_impl._M_end_of_storage, + __x._M_impl._M_end_of_storage); + _Bit_alloc_traits::_S_on_swap(_M_get_Bit_allocator(), + __x._M_get_Bit_allocator()); + } + + + static void + swap(reference __x, reference __y) noexcept + { + bool __tmp = __x; + __x = __y; + __y = __tmp; + } + + iterator + + insert(const_iterator __position, const bool& __x = bool()) + + + + { + const difference_type __n = __position - begin(); + if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr() + && __position == end()) + *this->_M_impl._M_finish++ = __x; + else + _M_insert_aux(__position._M_const_cast(), __x); + return begin() + __n; + } + + + template<typename _InputIterator, + typename = std::_RequireInputIter<_InputIterator>> + iterator + insert(const_iterator __position, + _InputIterator __first, _InputIterator __last) + { + difference_type __offset = __position - cbegin(); + _M_insert_dispatch(__position._M_const_cast(), + __first, __last, __false_type()); + return begin() + __offset; + } +# 989 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h" 3 + iterator + insert(const_iterator __position, size_type __n, const bool& __x) + { + difference_type __offset = __position - cbegin(); + _M_fill_insert(__position._M_const_cast(), __n, __x); + return begin() + __offset; + } + + + + + + + + iterator + insert(const_iterator __p, initializer_list<bool> __l) + { return this->insert(__p, __l.begin(), __l.end()); } + + + void + pop_back() + { --this->_M_impl._M_finish; } + + iterator + + erase(const_iterator __position) + + + + { return _M_erase(__position._M_const_cast()); } + + iterator + + erase(const_iterator __first, const_iterator __last) + + + + { return _M_erase(__first._M_const_cast(), __last._M_const_cast()); } + + void + resize(size_type __new_size, bool __x = bool()) + { + if (__new_size < size()) + _M_erase_at_end(begin() + difference_type(__new_size)); + else + insert(end(), __new_size - size(), __x); + } + + + void + shrink_to_fit() + { _M_shrink_to_fit(); } + + + void + flip() noexcept + { + _Bit_type * const __end = this->_M_impl._M_end_addr(); + for (_Bit_type * __p = this->_M_impl._M_start._M_p; __p != __end; ++__p) + *__p = ~*__p; + } + + void + clear() noexcept + { _M_erase_at_end(begin()); } + + + template<typename... _Args> + void + emplace_back(_Args&&... __args) + { push_back(bool(__args...)); } + + template<typename... _Args> + iterator + emplace(const_iterator __pos, _Args&&... __args) + { return insert(__pos, bool(__args...)); } + + + protected: + + iterator + _M_copy_aligned(const_iterator __first, const_iterator __last, + iterator __result) + { + _Bit_type* __q = std::copy(__first._M_p, __last._M_p, __result._M_p); + return std::copy(const_iterator(__last._M_p, 0), __last, + iterator(__q, 0)); + } + + void + _M_initialize(size_type __n) + { + _Bit_pointer __q = this->_M_allocate(__n); + this->_M_impl._M_end_of_storage = __q + _S_nword(__n); + this->_M_impl._M_start = iterator(std::__addressof(*__q), 0); + this->_M_impl._M_finish = this->_M_impl._M_start + difference_type(__n); + } + + void + _M_reallocate(size_type __n); + + + bool + _M_shrink_to_fit(); + + + + + + + template<typename _Integer> + void + _M_initialize_dispatch(_Integer __n, _Integer __x, __true_type) + { + _M_initialize(static_cast<size_type>(__n)); + std::fill(this->_M_impl._M_start._M_p, + this->_M_impl._M_end_addr(), __x ? ~0 : 0); + } + + template<typename _InputIterator> + void + _M_initialize_dispatch(_InputIterator __first, _InputIterator __last, + __false_type) + { _M_initialize_range(__first, __last, + std::__iterator_category(__first)); } + + template<typename _InputIterator> + void + _M_initialize_range(_InputIterator __first, _InputIterator __last, + std::input_iterator_tag) + { + for (; __first != __last; ++__first) + push_back(*__first); + } + + template<typename _ForwardIterator> + void + _M_initialize_range(_ForwardIterator __first, _ForwardIterator __last, + std::forward_iterator_tag) + { + const size_type __n = std::distance(__first, __last); + _M_initialize(__n); + std::copy(__first, __last, this->_M_impl._M_start); + } + + + + template<typename _Integer> + void + _M_assign_dispatch(_Integer __n, _Integer __val, __true_type) + { _M_fill_assign(__n, __val); } + + template<class _InputIterator> + void + _M_assign_dispatch(_InputIterator __first, _InputIterator __last, + __false_type) + { _M_assign_aux(__first, __last, std::__iterator_category(__first)); } + + void + _M_fill_assign(size_t __n, bool __x) + { + if (__n > size()) + { + std::fill(this->_M_impl._M_start._M_p, + this->_M_impl._M_end_addr(), __x ? ~0 : 0); + insert(end(), __n - size(), __x); + } + else + { + _M_erase_at_end(begin() + __n); + std::fill(this->_M_impl._M_start._M_p, + this->_M_impl._M_end_addr(), __x ? ~0 : 0); + } + } + + template<typename _InputIterator> + void + _M_assign_aux(_InputIterator __first, _InputIterator __last, + std::input_iterator_tag) + { + iterator __cur = begin(); + for (; __first != __last && __cur != end(); ++__cur, ++__first) + *__cur = *__first; + if (__first == __last) + _M_erase_at_end(__cur); + else + insert(end(), __first, __last); + } + + template<typename _ForwardIterator> + void + _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, + std::forward_iterator_tag) + { + const size_type __len = std::distance(__first, __last); + if (__len < size()) + _M_erase_at_end(std::copy(__first, __last, begin())); + else + { + _ForwardIterator __mid = __first; + std::advance(__mid, size()); + std::copy(__first, __mid, begin()); + insert(end(), __mid, __last); + } + } + + + + + + template<typename _Integer> + void + _M_insert_dispatch(iterator __pos, _Integer __n, _Integer __x, + __true_type) + { _M_fill_insert(__pos, __n, __x); } + + template<typename _InputIterator> + void + _M_insert_dispatch(iterator __pos, + _InputIterator __first, _InputIterator __last, + __false_type) + { _M_insert_range(__pos, __first, __last, + std::__iterator_category(__first)); } + + void + _M_fill_insert(iterator __position, size_type __n, bool __x); + + template<typename _InputIterator> + void + _M_insert_range(iterator __pos, _InputIterator __first, + _InputIterator __last, std::input_iterator_tag) + { + for (; __first != __last; ++__first) + { + __pos = insert(__pos, *__first); + ++__pos; + } + } + + template<typename _ForwardIterator> + void + _M_insert_range(iterator __position, _ForwardIterator __first, + _ForwardIterator __last, std::forward_iterator_tag); + + void + _M_insert_aux(iterator __position, bool __x); + + size_type + _M_check_len(size_type __n, const char* __s) const + { + if (max_size() - size() < __n) + __throw_length_error((__s)); + + const size_type __len = size() + std::max(size(), __n); + return (__len < size() || __len > max_size()) ? max_size() : __len; + } + + void + _M_erase_at_end(iterator __pos) + { this->_M_impl._M_finish = __pos; } + + iterator + _M_erase(iterator __pos); + + iterator + _M_erase(iterator __first, iterator __last); + }; + + +} + + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/functional_hash.h" 1 3 +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/functional_hash.h" 3 + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/hash_bytes.h" 1 3 +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/hash_bytes.h" 3 + + + +namespace std +{ + + + + + + + + size_t + _Hash_bytes(const void* __ptr, size_t __len, size_t __seed); + + + + + + size_t + _Fnv_hash_bytes(const void* __ptr, size_t __len, size_t __seed); + + +} +# 36 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/functional_hash.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 49 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/functional_hash.h" 3 + template<typename _Result, typename _Arg> + struct __hash_base + { + typedef _Result result_type; + typedef _Arg argument_type; + }; + + + template<typename _Tp> + struct hash; + + + template<typename _Tp, bool = is_enum<_Tp>::value> + struct __hash_enum + { + private: + + __hash_enum(__hash_enum&&); + ~__hash_enum(); + }; + + + template<typename _Tp> + struct __hash_enum<_Tp, true> : public __hash_base<size_t, _Tp> + { + size_t + operator()(_Tp __val) const noexcept + { + using __type = typename underlying_type<_Tp>::type; + return hash<__type>{}(static_cast<__type>(__val)); + } + }; + + + + template<typename _Tp> + struct hash : __hash_enum<_Tp> + { }; + + + template<typename _Tp> + struct hash<_Tp*> : public __hash_base<size_t, _Tp*> + { + size_t + operator()(_Tp* __p) const noexcept + { return reinterpret_cast<size_t>(__p); } + }; +# 108 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/functional_hash.h" 3 + template<> struct hash<bool> : public __hash_base<size_t, bool> { size_t operator()(bool __val) const noexcept { return static_cast<size_t>(__val); } }; + + + template<> struct hash<char> : public __hash_base<size_t, char> { size_t operator()(char __val) const noexcept { return static_cast<size_t>(__val); } }; + + + 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); } }; + + + 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); } }; + + + 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); } }; + + + 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); } }; + + + 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); } }; + + + template<> struct hash<short> : public __hash_base<size_t, short> { size_t operator()(short __val) const noexcept { return static_cast<size_t>(__val); } }; + + + template<> struct hash<int> : public __hash_base<size_t, int> { size_t operator()(int __val) const noexcept { return static_cast<size_t>(__val); } }; + + + template<> struct hash<long> : public __hash_base<size_t, long> { size_t operator()(long __val) const noexcept { return static_cast<size_t>(__val); } }; + + + 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); } }; + + + 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); } }; + + + 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); } }; + + + 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); } }; + + + 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); } }; +# 171 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/functional_hash.h" 3 + struct _Hash_impl + { + static size_t + hash(const void* __ptr, size_t __clength, + size_t __seed = static_cast<size_t>(0xc70f6907UL)) + { return _Hash_bytes(__ptr, __clength, __seed); } + + template<typename _Tp> + static size_t + hash(const _Tp& __val) + { return hash(&__val, sizeof(__val)); } + + template<typename _Tp> + static size_t + __hash_combine(const _Tp& __val, size_t __hash) + { return hash(&__val, sizeof(__val), __hash); } + }; + + struct _Fnv_hash_impl + { + static size_t + hash(const void* __ptr, size_t __clength, + size_t __seed = static_cast<size_t>(2166136261UL)) + { return _Fnv_hash_bytes(__ptr, __clength, __seed); } + + template<typename _Tp> + static size_t + hash(const _Tp& __val) + { return hash(&__val, sizeof(__val)); } + + template<typename _Tp> + static size_t + __hash_combine(const _Tp& __val, size_t __hash) + { return hash(&__val, sizeof(__val), __hash); } + }; + + + template<> + struct hash<float> : public __hash_base<size_t, float> + { + size_t + operator()(float __val) const noexcept + { + + return __val != 0.0f ? std::_Hash_impl::hash(__val) : 0; + } + }; + + + template<> + struct hash<double> : public __hash_base<size_t, double> + { + size_t + operator()(double __val) const noexcept + { + + return __val != 0.0 ? std::_Hash_impl::hash(__val) : 0; + } + }; + + + template<> + struct hash<long double> + : public __hash_base<size_t, long double> + { + __attribute__ ((__pure__)) size_t + operator()(long double __val) const noexcept; + }; + + + + + + + + template<typename _Hash> + struct __is_fast_hash : public std::true_type + { }; + + template<> + struct __is_fast_hash<hash<long double>> : public std::false_type + { }; + + +} +# 1263 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_bvector.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + + template<typename _Alloc> + struct hash<std::vector<bool, _Alloc>> + : public __hash_base<size_t, std::vector<bool, _Alloc>> + { + size_t + operator()(const std::vector<bool, _Alloc>&) const noexcept; + }; + + +} +# 66 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/vector" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/range_access.h" 1 3 +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/range_access.h" 3 + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + + + + + template<typename _Container> + inline auto + begin(_Container& __cont) -> decltype(__cont.begin()) + { return __cont.begin(); } + + + + + + + template<typename _Container> + inline auto + begin(const _Container& __cont) -> decltype(__cont.begin()) + { return __cont.begin(); } + + + + + + + template<typename _Container> + inline auto + end(_Container& __cont) -> decltype(__cont.end()) + { return __cont.end(); } + + + + + + + template<typename _Container> + inline auto + end(const _Container& __cont) -> decltype(__cont.end()) + { return __cont.end(); } + + + + + + template<typename _Tp, size_t _Nm> + inline _Tp* + begin(_Tp (&__arr)[_Nm]) + { return __arr; } + + + + + + + template<typename _Tp, size_t _Nm> + inline _Tp* + end(_Tp (&__arr)[_Nm]) + { return __arr + _Nm; } +# 320 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/range_access.h" 3 +} +# 67 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/vector" 2 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/vector.tcc" 1 3 +# 59 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/vector.tcc" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + template<typename _Tp, typename _Alloc> + void + vector<_Tp, _Alloc>:: + reserve(size_type __n) + { + if (__n > this->max_size()) + __throw_length_error(("vector::reserve")); + if (this->capacity() < __n) + { + const size_type __old_size = size(); + pointer __tmp = _M_allocate_and_copy(__n, + std::__make_move_if_noexcept_iterator(this->_M_impl._M_start), + std::__make_move_if_noexcept_iterator(this->_M_impl._M_finish)); + std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, + _M_get_Tp_allocator()); + _M_deallocate(this->_M_impl._M_start, + this->_M_impl._M_end_of_storage + - this->_M_impl._M_start); + this->_M_impl._M_start = __tmp; + this->_M_impl._M_finish = __tmp + __old_size; + this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __n; + } + } + + + template<typename _Tp, typename _Alloc> + template<typename... _Args> + void + vector<_Tp, _Alloc>:: + emplace_back(_Args&&... __args) + { + if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) + { + _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, + std::forward<_Args>(__args)...); + ++this->_M_impl._M_finish; + } + else + _M_emplace_back_aux(std::forward<_Args>(__args)...); + } + + + template<typename _Tp, typename _Alloc> + typename vector<_Tp, _Alloc>::iterator + vector<_Tp, _Alloc>:: + + insert(const_iterator __position, const value_type& __x) + + + + { + const size_type __n = __position - begin(); + if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage + && __position == end()) + { + _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, __x); + ++this->_M_impl._M_finish; + } + else + { + + const auto __pos = begin() + (__position - cbegin()); + if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) + { + _Tp __x_copy = __x; + _M_insert_aux(__pos, std::move(__x_copy)); + } + else + _M_insert_aux(__pos, __x); + + + + } + return iterator(this->_M_impl._M_start + __n); + } + + template<typename _Tp, typename _Alloc> + typename vector<_Tp, _Alloc>::iterator + vector<_Tp, _Alloc>:: + _M_erase(iterator __position) + { + if (__position + 1 != end()) + std::move(__position + 1, end(), __position); + --this->_M_impl._M_finish; + _Alloc_traits::destroy(this->_M_impl, this->_M_impl._M_finish); + return __position; + } + + template<typename _Tp, typename _Alloc> + typename vector<_Tp, _Alloc>::iterator + vector<_Tp, _Alloc>:: + _M_erase(iterator __first, iterator __last) + { + if (__first != __last) + { + if (__last != end()) + std::move(__last, end(), __first); + _M_erase_at_end(__first.base() + (end() - __last)); + } + return __first; + } + + template<typename _Tp, typename _Alloc> + vector<_Tp, _Alloc>& + vector<_Tp, _Alloc>:: + operator=(const vector<_Tp, _Alloc>& __x) + { + if (&__x != this) + { + + if (_Alloc_traits::_S_propagate_on_copy_assign()) + { + if (!_Alloc_traits::_S_always_equal() + && _M_get_Tp_allocator() != __x._M_get_Tp_allocator()) + { + + this->clear(); + _M_deallocate(this->_M_impl._M_start, + this->_M_impl._M_end_of_storage + - this->_M_impl._M_start); + this->_M_impl._M_start = nullptr; + this->_M_impl._M_finish = nullptr; + this->_M_impl._M_end_of_storage = nullptr; + } + std::__alloc_on_copy(_M_get_Tp_allocator(), + __x._M_get_Tp_allocator()); + } + + const size_type __xlen = __x.size(); + if (__xlen > capacity()) + { + pointer __tmp = _M_allocate_and_copy(__xlen, __x.begin(), + __x.end()); + std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, + _M_get_Tp_allocator()); + _M_deallocate(this->_M_impl._M_start, + this->_M_impl._M_end_of_storage + - this->_M_impl._M_start); + this->_M_impl._M_start = __tmp; + this->_M_impl._M_end_of_storage = this->_M_impl._M_start + __xlen; + } + else if (size() >= __xlen) + { + std::_Destroy(std::copy(__x.begin(), __x.end(), begin()), + end(), _M_get_Tp_allocator()); + } + else + { + std::copy(__x._M_impl._M_start, __x._M_impl._M_start + size(), + this->_M_impl._M_start); + std::__uninitialized_copy_a(__x._M_impl._M_start + size(), + __x._M_impl._M_finish, + this->_M_impl._M_finish, + _M_get_Tp_allocator()); + } + this->_M_impl._M_finish = this->_M_impl._M_start + __xlen; + } + return *this; + } + + template<typename _Tp, typename _Alloc> + void + vector<_Tp, _Alloc>:: + _M_fill_assign(size_t __n, const value_type& __val) + { + if (__n > capacity()) + { + vector __tmp(__n, __val, _M_get_Tp_allocator()); + __tmp._M_impl._M_swap_data(this->_M_impl); + } + else if (__n > size()) + { + std::fill(begin(), end(), __val); + this->_M_impl._M_finish = + std::__uninitialized_fill_n_a(this->_M_impl._M_finish, + __n - size(), __val, + _M_get_Tp_allocator()); + } + else + _M_erase_at_end(std::fill_n(this->_M_impl._M_start, __n, __val)); + } + + template<typename _Tp, typename _Alloc> + template<typename _InputIterator> + void + vector<_Tp, _Alloc>:: + _M_assign_aux(_InputIterator __first, _InputIterator __last, + std::input_iterator_tag) + { + pointer __cur(this->_M_impl._M_start); + for (; __first != __last && __cur != this->_M_impl._M_finish; + ++__cur, ++__first) + *__cur = *__first; + if (__first == __last) + _M_erase_at_end(__cur); + else + insert(end(), __first, __last); + } + + template<typename _Tp, typename _Alloc> + template<typename _ForwardIterator> + void + vector<_Tp, _Alloc>:: + _M_assign_aux(_ForwardIterator __first, _ForwardIterator __last, + std::forward_iterator_tag) + { + const size_type __len = std::distance(__first, __last); + + if (__len > capacity()) + { + pointer __tmp(_M_allocate_and_copy(__len, __first, __last)); + std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, + _M_get_Tp_allocator()); + _M_deallocate(this->_M_impl._M_start, + this->_M_impl._M_end_of_storage + - this->_M_impl._M_start); + this->_M_impl._M_start = __tmp; + this->_M_impl._M_finish = this->_M_impl._M_start + __len; + this->_M_impl._M_end_of_storage = this->_M_impl._M_finish; + } + else if (size() >= __len) + _M_erase_at_end(std::copy(__first, __last, this->_M_impl._M_start)); + else + { + _ForwardIterator __mid = __first; + std::advance(__mid, size()); + std::copy(__first, __mid, this->_M_impl._M_start); + this->_M_impl._M_finish = + std::__uninitialized_copy_a(__mid, __last, + this->_M_impl._M_finish, + _M_get_Tp_allocator()); + } + } + + + template<typename _Tp, typename _Alloc> + template<typename... _Args> + typename vector<_Tp, _Alloc>::iterator + vector<_Tp, _Alloc>:: + emplace(const_iterator __position, _Args&&... __args) + { + const size_type __n = __position - begin(); + if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage + && __position == end()) + { + _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, + std::forward<_Args>(__args)...); + ++this->_M_impl._M_finish; + } + else + _M_insert_aux(begin() + (__position - cbegin()), + std::forward<_Args>(__args)...); + return iterator(this->_M_impl._M_start + __n); + } + + template<typename _Tp, typename _Alloc> + template<typename... _Args> + void + vector<_Tp, _Alloc>:: + _M_insert_aux(iterator __position, _Args&&... __args) + + + + + + + { + if (this->_M_impl._M_finish != this->_M_impl._M_end_of_storage) + { + _Alloc_traits::construct(this->_M_impl, this->_M_impl._M_finish, + std::move(*(this->_M_impl._M_finish - 1))); + + ++this->_M_impl._M_finish; + + + + std::move_backward(__position.base(), this->_M_impl._M_finish - 2, this->_M_impl._M_finish - 1); + + + + + + *__position = _Tp(std::forward<_Args>(__args)...); + + } + else + { + const size_type __len = + _M_check_len(size_type(1), "vector::_M_insert_aux"); + const size_type __elems_before = __position - begin(); + pointer __new_start(this->_M_allocate(__len)); + pointer __new_finish(__new_start); + try + { + + + + + _Alloc_traits::construct(this->_M_impl, + __new_start + __elems_before, + + std::forward<_Args>(__args)...); + + + + __new_finish = pointer(); + + __new_finish + = std::__uninitialized_move_if_noexcept_a + (this->_M_impl._M_start, __position.base(), + __new_start, _M_get_Tp_allocator()); + + ++__new_finish; + + __new_finish + = std::__uninitialized_move_if_noexcept_a + (__position.base(), this->_M_impl._M_finish, + __new_finish, _M_get_Tp_allocator()); + } + catch(...) + { + if (!__new_finish) + _Alloc_traits::destroy(this->_M_impl, + __new_start + __elems_before); + else + std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); + _M_deallocate(__new_start, __len); + throw; + } + std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, + _M_get_Tp_allocator()); + _M_deallocate(this->_M_impl._M_start, + this->_M_impl._M_end_of_storage + - this->_M_impl._M_start); + this->_M_impl._M_start = __new_start; + this->_M_impl._M_finish = __new_finish; + this->_M_impl._M_end_of_storage = __new_start + __len; + } + } + + + template<typename _Tp, typename _Alloc> + template<typename... _Args> + void + vector<_Tp, _Alloc>:: + _M_emplace_back_aux(_Args&&... __args) + { + const size_type __len = + _M_check_len(size_type(1), "vector::_M_emplace_back_aux"); + pointer __new_start(this->_M_allocate(__len)); + pointer __new_finish(__new_start); + try + { + _Alloc_traits::construct(this->_M_impl, __new_start + size(), + std::forward<_Args>(__args)...); + __new_finish = pointer(); + + __new_finish + = std::__uninitialized_move_if_noexcept_a + (this->_M_impl._M_start, this->_M_impl._M_finish, + __new_start, _M_get_Tp_allocator()); + + ++__new_finish; + } + catch(...) + { + if (!__new_finish) + _Alloc_traits::destroy(this->_M_impl, __new_start + size()); + else + std::_Destroy(__new_start, __new_finish, _M_get_Tp_allocator()); + _M_deallocate(__new_start, __len); + throw; + } + std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, + _M_get_Tp_allocator()); + _M_deallocate(this->_M_impl._M_start, + this->_M_impl._M_end_of_storage + - this->_M_impl._M_start); + this->_M_impl._M_start = __new_start; + this->_M_impl._M_finish = __new_finish; + this->_M_impl._M_end_of_storage = __new_start + __len; + } + + + template<typename _Tp, typename _Alloc> + void + vector<_Tp, _Alloc>:: + _M_fill_insert(iterator __position, size_type __n, const value_type& __x) + { + if (__n != 0) + { + if (size_type(this->_M_impl._M_end_of_storage + - this->_M_impl._M_finish) >= __n) + { + value_type __x_copy = __x; + const size_type __elems_after = end() - __position; + pointer __old_finish(this->_M_impl._M_finish); + if (__elems_after > __n) + { + std::__uninitialized_move_a(this->_M_impl._M_finish - __n, + this->_M_impl._M_finish, + this->_M_impl._M_finish, + _M_get_Tp_allocator()); + this->_M_impl._M_finish += __n; + std::move_backward(__position.base(), __old_finish - __n, __old_finish); + + std::fill(__position.base(), __position.base() + __n, + __x_copy); + } + else + { + this->_M_impl._M_finish = + std::__uninitialized_fill_n_a(this->_M_impl._M_finish, + __n - __elems_after, + __x_copy, + _M_get_Tp_allocator()); + std::__uninitialized_move_a(__position.base(), __old_finish, + this->_M_impl._M_finish, + _M_get_Tp_allocator()); + this->_M_impl._M_finish += __elems_after; + std::fill(__position.base(), __old_finish, __x_copy); + } + } + else + { + const size_type __len = + _M_check_len(__n, "vector::_M_fill_insert"); + const size_type __elems_before = __position - begin(); + pointer __new_start(this->_M_allocate(__len)); + pointer __new_finish(__new_start); + try + { + + std::__uninitialized_fill_n_a(__new_start + __elems_before, + __n, __x, + _M_get_Tp_allocator()); + __new_finish = pointer(); + + __new_finish + = std::__uninitialized_move_if_noexcept_a + (this->_M_impl._M_start, __position.base(), + __new_start, _M_get_Tp_allocator()); + + __new_finish += __n; + + __new_finish + = std::__uninitialized_move_if_noexcept_a + (__position.base(), this->_M_impl._M_finish, + __new_finish, _M_get_Tp_allocator()); + } + catch(...) + { + if (!__new_finish) + std::_Destroy(__new_start + __elems_before, + __new_start + __elems_before + __n, + _M_get_Tp_allocator()); + else + std::_Destroy(__new_start, __new_finish, + _M_get_Tp_allocator()); + _M_deallocate(__new_start, __len); + throw; + } + std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, + _M_get_Tp_allocator()); + _M_deallocate(this->_M_impl._M_start, + this->_M_impl._M_end_of_storage + - this->_M_impl._M_start); + this->_M_impl._M_start = __new_start; + this->_M_impl._M_finish = __new_finish; + this->_M_impl._M_end_of_storage = __new_start + __len; + } + } + } + + + template<typename _Tp, typename _Alloc> + void + vector<_Tp, _Alloc>:: + _M_default_append(size_type __n) + { + if (__n != 0) + { + if (size_type(this->_M_impl._M_end_of_storage + - this->_M_impl._M_finish) >= __n) + { + this->_M_impl._M_finish = + std::__uninitialized_default_n_a(this->_M_impl._M_finish, + __n, _M_get_Tp_allocator()); + } + else + { + const size_type __len = + _M_check_len(__n, "vector::_M_default_append"); + const size_type __old_size = this->size(); + pointer __new_start(this->_M_allocate(__len)); + pointer __new_finish(__new_start); + try + { + __new_finish + = std::__uninitialized_move_if_noexcept_a + (this->_M_impl._M_start, this->_M_impl._M_finish, + __new_start, _M_get_Tp_allocator()); + __new_finish = + std::__uninitialized_default_n_a(__new_finish, __n, + _M_get_Tp_allocator()); + } + catch(...) + { + std::_Destroy(__new_start, __new_finish, + _M_get_Tp_allocator()); + _M_deallocate(__new_start, __len); + throw; + } + std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, + _M_get_Tp_allocator()); + _M_deallocate(this->_M_impl._M_start, + this->_M_impl._M_end_of_storage + - this->_M_impl._M_start); + this->_M_impl._M_start = __new_start; + this->_M_impl._M_finish = __new_finish; + this->_M_impl._M_end_of_storage = __new_start + __len; + } + } + } + + template<typename _Tp, typename _Alloc> + bool + vector<_Tp, _Alloc>:: + _M_shrink_to_fit() + { + if (capacity() == size()) + return false; + return std::__shrink_to_fit_aux<vector>::_S_do_it(*this); + } + + + template<typename _Tp, typename _Alloc> + template<typename _InputIterator> + void + vector<_Tp, _Alloc>:: + _M_range_insert(iterator __pos, _InputIterator __first, + _InputIterator __last, std::input_iterator_tag) + { + for (; __first != __last; ++__first) + { + __pos = insert(__pos, *__first); + ++__pos; + } + } + + template<typename _Tp, typename _Alloc> + template<typename _ForwardIterator> + void + vector<_Tp, _Alloc>:: + _M_range_insert(iterator __position, _ForwardIterator __first, + _ForwardIterator __last, std::forward_iterator_tag) + { + if (__first != __last) + { + const size_type __n = std::distance(__first, __last); + if (size_type(this->_M_impl._M_end_of_storage + - this->_M_impl._M_finish) >= __n) + { + const size_type __elems_after = end() - __position; + pointer __old_finish(this->_M_impl._M_finish); + if (__elems_after > __n) + { + std::__uninitialized_move_a(this->_M_impl._M_finish - __n, + this->_M_impl._M_finish, + this->_M_impl._M_finish, + _M_get_Tp_allocator()); + this->_M_impl._M_finish += __n; + std::move_backward(__position.base(), __old_finish - __n, __old_finish); + + std::copy(__first, __last, __position); + } + else + { + _ForwardIterator __mid = __first; + std::advance(__mid, __elems_after); + std::__uninitialized_copy_a(__mid, __last, + this->_M_impl._M_finish, + _M_get_Tp_allocator()); + this->_M_impl._M_finish += __n - __elems_after; + std::__uninitialized_move_a(__position.base(), + __old_finish, + this->_M_impl._M_finish, + _M_get_Tp_allocator()); + this->_M_impl._M_finish += __elems_after; + std::copy(__first, __mid, __position); + } + } + else + { + const size_type __len = + _M_check_len(__n, "vector::_M_range_insert"); + pointer __new_start(this->_M_allocate(__len)); + pointer __new_finish(__new_start); + try + { + __new_finish + = std::__uninitialized_move_if_noexcept_a + (this->_M_impl._M_start, __position.base(), + __new_start, _M_get_Tp_allocator()); + __new_finish + = std::__uninitialized_copy_a(__first, __last, + __new_finish, + _M_get_Tp_allocator()); + __new_finish + = std::__uninitialized_move_if_noexcept_a + (__position.base(), this->_M_impl._M_finish, + __new_finish, _M_get_Tp_allocator()); + } + catch(...) + { + std::_Destroy(__new_start, __new_finish, + _M_get_Tp_allocator()); + _M_deallocate(__new_start, __len); + throw; + } + std::_Destroy(this->_M_impl._M_start, this->_M_impl._M_finish, + _M_get_Tp_allocator()); + _M_deallocate(this->_M_impl._M_start, + this->_M_impl._M_end_of_storage + - this->_M_impl._M_start); + this->_M_impl._M_start = __new_start; + this->_M_impl._M_finish = __new_finish; + this->_M_impl._M_end_of_storage = __new_start + __len; + } + } + } + + + + template<typename _Alloc> + void + vector<bool, _Alloc>:: + _M_reallocate(size_type __n) + { + _Bit_pointer __q = this->_M_allocate(__n); + iterator __start(std::__addressof(*__q), 0); + this->_M_impl._M_finish = _M_copy_aligned(begin(), end(), __start); + this->_M_deallocate(); + this->_M_impl._M_start = __start; + this->_M_impl._M_end_of_storage = __q + _S_nword(__n); + } + + template<typename _Alloc> + void + vector<bool, _Alloc>:: + _M_fill_insert(iterator __position, size_type __n, bool __x) + { + if (__n == 0) + return; + if (capacity() - size() >= __n) + { + std::copy_backward(__position, end(), + this->_M_impl._M_finish + difference_type(__n)); + std::fill(__position, __position + difference_type(__n), __x); + this->_M_impl._M_finish += difference_type(__n); + } + else + { + const size_type __len = + _M_check_len(__n, "vector<bool>::_M_fill_insert"); + _Bit_pointer __q = this->_M_allocate(__len); + iterator __start(std::__addressof(*__q), 0); + iterator __i = _M_copy_aligned(begin(), __position, __start); + std::fill(__i, __i + difference_type(__n), __x); + this->_M_impl._M_finish = std::copy(__position, end(), + __i + difference_type(__n)); + this->_M_deallocate(); + this->_M_impl._M_end_of_storage = __q + _S_nword(__len); + this->_M_impl._M_start = __start; + } + } + + template<typename _Alloc> + template<typename _ForwardIterator> + void + vector<bool, _Alloc>:: + _M_insert_range(iterator __position, _ForwardIterator __first, + _ForwardIterator __last, std::forward_iterator_tag) + { + if (__first != __last) + { + size_type __n = std::distance(__first, __last); + if (capacity() - size() >= __n) + { + std::copy_backward(__position, end(), + this->_M_impl._M_finish + + difference_type(__n)); + std::copy(__first, __last, __position); + this->_M_impl._M_finish += difference_type(__n); + } + else + { + const size_type __len = + _M_check_len(__n, "vector<bool>::_M_insert_range"); + _Bit_pointer __q = this->_M_allocate(__len); + iterator __start(std::__addressof(*__q), 0); + iterator __i = _M_copy_aligned(begin(), __position, __start); + __i = std::copy(__first, __last, __i); + this->_M_impl._M_finish = std::copy(__position, end(), __i); + this->_M_deallocate(); + this->_M_impl._M_end_of_storage = __q + _S_nword(__len); + this->_M_impl._M_start = __start; + } + } + } + + template<typename _Alloc> + void + vector<bool, _Alloc>:: + _M_insert_aux(iterator __position, bool __x) + { + if (this->_M_impl._M_finish._M_p != this->_M_impl._M_end_addr()) + { + std::copy_backward(__position, this->_M_impl._M_finish, + this->_M_impl._M_finish + 1); + *__position = __x; + ++this->_M_impl._M_finish; + } + else + { + const size_type __len = + _M_check_len(size_type(1), "vector<bool>::_M_insert_aux"); + _Bit_pointer __q = this->_M_allocate(__len); + iterator __start(std::__addressof(*__q), 0); + iterator __i = _M_copy_aligned(begin(), __position, __start); + *__i++ = __x; + this->_M_impl._M_finish = std::copy(__position, end(), __i); + this->_M_deallocate(); + this->_M_impl._M_end_of_storage = __q + _S_nword(__len); + this->_M_impl._M_start = __start; + } + } + + template<typename _Alloc> + typename vector<bool, _Alloc>::iterator + vector<bool, _Alloc>:: + _M_erase(iterator __position) + { + if (__position + 1 != end()) + std::copy(__position + 1, end(), __position); + --this->_M_impl._M_finish; + return __position; + } + + template<typename _Alloc> + typename vector<bool, _Alloc>::iterator + vector<bool, _Alloc>:: + _M_erase(iterator __first, iterator __last) + { + if (__first != __last) + _M_erase_at_end(std::copy(__last, end(), __first)); + return __first; + } + + + template<typename _Alloc> + bool + vector<bool, _Alloc>:: + _M_shrink_to_fit() + { + if (capacity() - size() < int(_S_word_bit)) + return false; + try + { + _M_reallocate(size()); + return true; + } + catch(...) + { return false; } + } + + + +} + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + template<typename _Alloc> + size_t + hash<std::vector<bool, _Alloc>>:: + operator()(const std::vector<bool, _Alloc>& __b) const noexcept + { + size_t __hash = 0; + using std::_S_word_bit; + using std::_Bit_type; + + const size_t __words = __b.size() / _S_word_bit; + if (__words) + { + const size_t __clength = __words * sizeof(_Bit_type); + __hash = std::_Hash_impl::hash(__b._M_impl._M_start._M_p, __clength); + } + + const size_t __extrabits = __b.size() % _S_word_bit; + if (__extrabits) + { + _Bit_type __hiword = *__b._M_impl._M_finish._M_p; + __hiword &= ~((~static_cast<_Bit_type>(0)) << __extrabits); + + const size_t __clength + = (__extrabits + 8 - 1) / 8; + if (__words) + __hash = std::_Hash_impl::hash(&__hiword, __clength, __hash); + else + __hash = std::_Hash_impl::hash(&__hiword, __clength); + } + + return __hash; + } + + +} +# 70 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/vector" 2 3 +# 4 "./libraries/Scope/Scope.h" 2 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/map" 1 3 +# 59 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/map" 3 + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 1 3 +# 62 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 3 + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h" 1 3 +# 63 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 104 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h" 3 + template<typename _Arg, typename _Result> + struct unary_function + { + + typedef _Arg argument_type; + + + typedef _Result result_type; + }; + + + + + template<typename _Arg1, typename _Arg2, typename _Result> + struct binary_function + { + + typedef _Arg1 first_argument_type; + + + typedef _Arg2 second_argument_type; + + + typedef _Result result_type; + }; +# 166 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h" 3 + template<typename _Tp> + struct plus : public binary_function<_Tp, _Tp, _Tp> + { + + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x + __y; } + }; + + + template<typename _Tp> + struct minus : public binary_function<_Tp, _Tp, _Tp> + { + + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x - __y; } + }; + + + template<typename _Tp> + struct multiplies : public binary_function<_Tp, _Tp, _Tp> + { + + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x * __y; } + }; + + + template<typename _Tp> + struct divides : public binary_function<_Tp, _Tp, _Tp> + { + + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x / __y; } + }; + + + template<typename _Tp> + struct modulus : public binary_function<_Tp, _Tp, _Tp> + { + + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x % __y; } + }; + + + template<typename _Tp> + struct negate : public unary_function<_Tp, _Tp> + { + + _Tp + operator()(const _Tp& __x) const + { return -__x; } + }; +# 350 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h" 3 + template<typename _Tp> + struct equal_to : public binary_function<_Tp, _Tp, bool> + { + + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x == __y; } + }; + + + template<typename _Tp> + struct not_equal_to : public binary_function<_Tp, _Tp, bool> + { + + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x != __y; } + }; + + + template<typename _Tp> + struct greater : public binary_function<_Tp, _Tp, bool> + { + + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x > __y; } + }; + + + template<typename _Tp> + struct less : public binary_function<_Tp, _Tp, bool> + { + + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x < __y; } + }; + + + template<typename _Tp> + struct greater_equal : public binary_function<_Tp, _Tp, bool> + { + + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x >= __y; } + }; + + + template<typename _Tp> + struct less_equal : public binary_function<_Tp, _Tp, bool> + { + + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x <= __y; } + }; +# 523 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h" 3 + template<typename _Tp> + struct logical_and : public binary_function<_Tp, _Tp, bool> + { + + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x && __y; } + }; + + + template<typename _Tp> + struct logical_or : public binary_function<_Tp, _Tp, bool> + { + + bool + operator()(const _Tp& __x, const _Tp& __y) const + { return __x || __y; } + }; + + + template<typename _Tp> + struct logical_not : public unary_function<_Tp, bool> + { + + bool + operator()(const _Tp& __x) const + { return !__x; } + }; +# 616 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h" 3 + template<typename _Tp> + struct bit_and : public binary_function<_Tp, _Tp, _Tp> + { + + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x & __y; } + }; + + template<typename _Tp> + struct bit_or : public binary_function<_Tp, _Tp, _Tp> + { + + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x | __y; } + }; + + template<typename _Tp> + struct bit_xor : public binary_function<_Tp, _Tp, _Tp> + { + + _Tp + operator()(const _Tp& __x, const _Tp& __y) const + { return __x ^ __y; } + }; + + template<typename _Tp> + struct bit_not : public unary_function<_Tp, _Tp> + { + + _Tp + operator()(const _Tp& __x) const + { return ~__x; } + }; +# 740 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h" 3 + template<typename _Predicate> + class unary_negate + : public unary_function<typename _Predicate::argument_type, bool> + { + protected: + _Predicate _M_pred; + + public: + + explicit + unary_negate(const _Predicate& __x) : _M_pred(__x) { } + + + bool + operator()(const typename _Predicate::argument_type& __x) const + { return !_M_pred(__x); } + }; + + + template<typename _Predicate> + + inline unary_negate<_Predicate> + not1(const _Predicate& __pred) + { return unary_negate<_Predicate>(__pred); } + + + template<typename _Predicate> + class binary_negate + : public binary_function<typename _Predicate::first_argument_type, + typename _Predicate::second_argument_type, bool> + { + protected: + _Predicate _M_pred; + + public: + + explicit + binary_negate(const _Predicate& __x) : _M_pred(__x) { } + + + bool + operator()(const typename _Predicate::first_argument_type& __x, + const typename _Predicate::second_argument_type& __y) const + { return !_M_pred(__x, __y); } + }; + + + template<typename _Predicate> + + inline binary_negate<_Predicate> + not2(const _Predicate& __pred) + { return binary_negate<_Predicate>(__pred); } +# 817 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h" 3 + template<typename _Arg, typename _Result> + class pointer_to_unary_function : public unary_function<_Arg, _Result> + { + protected: + _Result (*_M_ptr)(_Arg); + + public: + pointer_to_unary_function() { } + + explicit + pointer_to_unary_function(_Result (*__x)(_Arg)) + : _M_ptr(__x) { } + + _Result + operator()(_Arg __x) const + { return _M_ptr(__x); } + }; + + + template<typename _Arg, typename _Result> + inline pointer_to_unary_function<_Arg, _Result> + ptr_fun(_Result (*__x)(_Arg)) + { return pointer_to_unary_function<_Arg, _Result>(__x); } + + + template<typename _Arg1, typename _Arg2, typename _Result> + class pointer_to_binary_function + : public binary_function<_Arg1, _Arg2, _Result> + { + protected: + _Result (*_M_ptr)(_Arg1, _Arg2); + + public: + pointer_to_binary_function() { } + + explicit + pointer_to_binary_function(_Result (*__x)(_Arg1, _Arg2)) + : _M_ptr(__x) { } + + _Result + operator()(_Arg1 __x, _Arg2 __y) const + { return _M_ptr(__x, __y); } + }; + + + template<typename _Arg1, typename _Arg2, typename _Result> + inline pointer_to_binary_function<_Arg1, _Arg2, _Result> + ptr_fun(_Result (*__x)(_Arg1, _Arg2)) + { return pointer_to_binary_function<_Arg1, _Arg2, _Result>(__x); } + + + template<typename _Tp> + struct _Identity + : public unary_function<_Tp,_Tp> + { + _Tp& + operator()(_Tp& __x) const + { return __x; } + + const _Tp& + operator()(const _Tp& __x) const + { return __x; } + }; + + template<typename _Pair> + struct _Select1st + : public unary_function<_Pair, typename _Pair::first_type> + { + typename _Pair::first_type& + operator()(_Pair& __x) const + { return __x.first; } + + const typename _Pair::first_type& + operator()(const _Pair& __x) const + { return __x.first; } + + + template<typename _Pair2> + typename _Pair2::first_type& + operator()(_Pair2& __x) const + { return __x.first; } + + template<typename _Pair2> + const typename _Pair2::first_type& + operator()(const _Pair2& __x) const + { return __x.first; } + + }; + + template<typename _Pair> + struct _Select2nd + : public unary_function<_Pair, typename _Pair::second_type> + { + typename _Pair::second_type& + operator()(_Pair& __x) const + { return __x.second; } + + const typename _Pair::second_type& + operator()(const _Pair& __x) const + { return __x.second; } + }; +# 937 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h" 3 + template<typename _Ret, typename _Tp> + class mem_fun_t : public unary_function<_Tp*, _Ret> + { + public: + explicit + mem_fun_t(_Ret (_Tp::*__pf)()) + : _M_f(__pf) { } + + _Ret + operator()(_Tp* __p) const + { return (__p->*_M_f)(); } + + private: + _Ret (_Tp::*_M_f)(); + }; + + + + template<typename _Ret, typename _Tp> + class const_mem_fun_t : public unary_function<const _Tp*, _Ret> + { + public: + explicit + const_mem_fun_t(_Ret (_Tp::*__pf)() const) + : _M_f(__pf) { } + + _Ret + operator()(const _Tp* __p) const + { return (__p->*_M_f)(); } + + private: + _Ret (_Tp::*_M_f)() const; + }; + + + + template<typename _Ret, typename _Tp> + class mem_fun_ref_t : public unary_function<_Tp, _Ret> + { + public: + explicit + mem_fun_ref_t(_Ret (_Tp::*__pf)()) + : _M_f(__pf) { } + + _Ret + operator()(_Tp& __r) const + { return (__r.*_M_f)(); } + + private: + _Ret (_Tp::*_M_f)(); + }; + + + + template<typename _Ret, typename _Tp> + class const_mem_fun_ref_t : public unary_function<_Tp, _Ret> + { + public: + explicit + const_mem_fun_ref_t(_Ret (_Tp::*__pf)() const) + : _M_f(__pf) { } + + _Ret + operator()(const _Tp& __r) const + { return (__r.*_M_f)(); } + + private: + _Ret (_Tp::*_M_f)() const; + }; + + + + template<typename _Ret, typename _Tp, typename _Arg> + class mem_fun1_t : public binary_function<_Tp*, _Arg, _Ret> + { + public: + explicit + mem_fun1_t(_Ret (_Tp::*__pf)(_Arg)) + : _M_f(__pf) { } + + _Ret + operator()(_Tp* __p, _Arg __x) const + { return (__p->*_M_f)(__x); } + + private: + _Ret (_Tp::*_M_f)(_Arg); + }; + + + + template<typename _Ret, typename _Tp, typename _Arg> + class const_mem_fun1_t : public binary_function<const _Tp*, _Arg, _Ret> + { + public: + explicit + const_mem_fun1_t(_Ret (_Tp::*__pf)(_Arg) const) + : _M_f(__pf) { } + + _Ret + operator()(const _Tp* __p, _Arg __x) const + { return (__p->*_M_f)(__x); } + + private: + _Ret (_Tp::*_M_f)(_Arg) const; + }; + + + + template<typename _Ret, typename _Tp, typename _Arg> + class mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> + { + public: + explicit + mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg)) + : _M_f(__pf) { } + + _Ret + operator()(_Tp& __r, _Arg __x) const + { return (__r.*_M_f)(__x); } + + private: + _Ret (_Tp::*_M_f)(_Arg); + }; + + + + template<typename _Ret, typename _Tp, typename _Arg> + class const_mem_fun1_ref_t : public binary_function<_Tp, _Arg, _Ret> + { + public: + explicit + const_mem_fun1_ref_t(_Ret (_Tp::*__pf)(_Arg) const) + : _M_f(__pf) { } + + _Ret + operator()(const _Tp& __r, _Arg __x) const + { return (__r.*_M_f)(__x); } + + private: + _Ret (_Tp::*_M_f)(_Arg) const; + }; + + + + template<typename _Ret, typename _Tp> + inline mem_fun_t<_Ret, _Tp> + mem_fun(_Ret (_Tp::*__f)()) + { return mem_fun_t<_Ret, _Tp>(__f); } + + template<typename _Ret, typename _Tp> + inline const_mem_fun_t<_Ret, _Tp> + mem_fun(_Ret (_Tp::*__f)() const) + { return const_mem_fun_t<_Ret, _Tp>(__f); } + + template<typename _Ret, typename _Tp> + inline mem_fun_ref_t<_Ret, _Tp> + mem_fun_ref(_Ret (_Tp::*__f)()) + { return mem_fun_ref_t<_Ret, _Tp>(__f); } + + template<typename _Ret, typename _Tp> + inline const_mem_fun_ref_t<_Ret, _Tp> + mem_fun_ref(_Ret (_Tp::*__f)() const) + { return const_mem_fun_ref_t<_Ret, _Tp>(__f); } + + template<typename _Ret, typename _Tp, typename _Arg> + inline mem_fun1_t<_Ret, _Tp, _Arg> + mem_fun(_Ret (_Tp::*__f)(_Arg)) + { return mem_fun1_t<_Ret, _Tp, _Arg>(__f); } + + template<typename _Ret, typename _Tp, typename _Arg> + inline const_mem_fun1_t<_Ret, _Tp, _Arg> + mem_fun(_Ret (_Tp::*__f)(_Arg) const) + { return const_mem_fun1_t<_Ret, _Tp, _Arg>(__f); } + + template<typename _Ret, typename _Tp, typename _Arg> + inline mem_fun1_ref_t<_Ret, _Tp, _Arg> + mem_fun_ref(_Ret (_Tp::*__f)(_Arg)) + { return mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } + + template<typename _Ret, typename _Tp, typename _Arg> + inline const_mem_fun1_ref_t<_Ret, _Tp, _Arg> + mem_fun_ref(_Ret (_Tp::*__f)(_Arg) const) + { return const_mem_fun1_ref_t<_Ret, _Tp, _Arg>(__f); } + + + + +} + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/binders.h" 1 3 +# 60 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/binders.h" 3 +#pragma GCC diagnostic push +#pragma GCC diagnostic ignored "-Wdeprecated-declarations" + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 107 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/binders.h" 3 + template<typename _Operation> + class binder1st + : public unary_function<typename _Operation::second_argument_type, + typename _Operation::result_type> + { + protected: + _Operation op; + typename _Operation::first_argument_type value; + + public: + binder1st(const _Operation& __x, + const typename _Operation::first_argument_type& __y) + : op(__x), value(__y) { } + + typename _Operation::result_type + operator()(const typename _Operation::second_argument_type& __x) const + { return op(value, __x); } + + + + typename _Operation::result_type + operator()(typename _Operation::second_argument_type& __x) const + { return op(value, __x); } + } __attribute__ ((__deprecated__)); + + + template<typename _Operation, typename _Tp> + inline binder1st<_Operation> + bind1st(const _Operation& __fn, const _Tp& __x) + { + typedef typename _Operation::first_argument_type _Arg1_type; + return binder1st<_Operation>(__fn, _Arg1_type(__x)); + } + + + template<typename _Operation> + class binder2nd + : public unary_function<typename _Operation::first_argument_type, + typename _Operation::result_type> + { + protected: + _Operation op; + typename _Operation::second_argument_type value; + + public: + binder2nd(const _Operation& __x, + const typename _Operation::second_argument_type& __y) + : op(__x), value(__y) { } + + typename _Operation::result_type + operator()(const typename _Operation::first_argument_type& __x) const + { return op(__x, value); } + + + + typename _Operation::result_type + operator()(typename _Operation::first_argument_type& __x) const + { return op(__x, value); } + } __attribute__ ((__deprecated__)); + + + template<typename _Operation, typename _Tp> + inline binder2nd<_Operation> + bind2nd(const _Operation& __fn, const _Tp& __x) + { + typedef typename _Operation::second_argument_type _Arg2_type; + return binder2nd<_Operation>(__fn, _Arg2_type(__x)); + } + + + +} + +#pragma GCC diagnostic pop +# 1128 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_function.h" 2 3 +# 66 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 2 3 + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/aligned_buffer.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/aligned_buffer.h" 3 + + + + + + + +namespace __gnu_cxx +{ + + + + + template<typename _Tp> + struct __aligned_membuf + { + + + + struct _Tp2 { _Tp _M_t; }; + + alignas(__alignof__(_Tp2::_M_t)) unsigned char _M_storage[sizeof(_Tp)]; + + __aligned_membuf() = default; + + + __aligned_membuf(std::nullptr_t) { } + + void* + _M_addr() noexcept + { return static_cast<void*>(&_M_storage); } + + const void* + _M_addr() const noexcept + { return static_cast<const void*>(&_M_storage); } + + _Tp* + _M_ptr() noexcept + { return static_cast<_Tp*>(_M_addr()); } + + const _Tp* + _M_ptr() const noexcept + { return static_cast<const _Tp*>(_M_addr()); } + }; + + + + + + + template<typename _Tp> + struct __aligned_buffer + : std::aligned_storage<sizeof(_Tp), std::alignment_of<_Tp>::value> + { + typename + std::aligned_storage<sizeof(_Tp), std::alignment_of<_Tp>::value>::type + _M_storage; + + __aligned_buffer() = default; + + + __aligned_buffer(std::nullptr_t) { } + + void* + _M_addr() noexcept + { + return static_cast<void*>(&_M_storage); + } + + const void* + _M_addr() const noexcept + { + return static_cast<const void*>(&_M_storage); + } + + _Tp* + _M_ptr() noexcept + { return static_cast<_Tp*>(_M_addr()); } + + const _Tp* + _M_ptr() const noexcept + { return static_cast<const _Tp*>(_M_addr()); } + }; + +} +# 70 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 2 3 + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 96 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 3 + enum _Rb_tree_color { _S_red = false, _S_black = true }; + + struct _Rb_tree_node_base + { + typedef _Rb_tree_node_base* _Base_ptr; + typedef const _Rb_tree_node_base* _Const_Base_ptr; + + _Rb_tree_color _M_color; + _Base_ptr _M_parent; + _Base_ptr _M_left; + _Base_ptr _M_right; + + static _Base_ptr + _S_minimum(_Base_ptr __x) noexcept + { + while (__x->_M_left != 0) __x = __x->_M_left; + return __x; + } + + static _Const_Base_ptr + _S_minimum(_Const_Base_ptr __x) noexcept + { + while (__x->_M_left != 0) __x = __x->_M_left; + return __x; + } + + static _Base_ptr + _S_maximum(_Base_ptr __x) noexcept + { + while (__x->_M_right != 0) __x = __x->_M_right; + return __x; + } + + static _Const_Base_ptr + _S_maximum(_Const_Base_ptr __x) noexcept + { + while (__x->_M_right != 0) __x = __x->_M_right; + return __x; + } + }; + + template<typename _Val> + struct _Rb_tree_node : public _Rb_tree_node_base + { + typedef _Rb_tree_node<_Val>* _Link_type; +# 153 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 3 + __gnu_cxx::__aligned_membuf<_Val> _M_storage; + + _Val* + _M_valptr() + { return _M_storage._M_ptr(); } + + const _Val* + _M_valptr() const + { return _M_storage._M_ptr(); } + + }; + + __attribute__ ((__pure__)) _Rb_tree_node_base* + _Rb_tree_increment(_Rb_tree_node_base* __x) throw (); + + __attribute__ ((__pure__)) const _Rb_tree_node_base* + _Rb_tree_increment(const _Rb_tree_node_base* __x) throw (); + + __attribute__ ((__pure__)) _Rb_tree_node_base* + _Rb_tree_decrement(_Rb_tree_node_base* __x) throw (); + + __attribute__ ((__pure__)) const _Rb_tree_node_base* + _Rb_tree_decrement(const _Rb_tree_node_base* __x) throw (); + + template<typename _Tp> + struct _Rb_tree_iterator + { + typedef _Tp value_type; + typedef _Tp& reference; + typedef _Tp* pointer; + + typedef bidirectional_iterator_tag iterator_category; + typedef ptrdiff_t difference_type; + + typedef _Rb_tree_iterator<_Tp> _Self; + typedef _Rb_tree_node_base::_Base_ptr _Base_ptr; + typedef _Rb_tree_node<_Tp>* _Link_type; + + _Rb_tree_iterator() noexcept + : _M_node() { } + + explicit + _Rb_tree_iterator(_Base_ptr __x) noexcept + : _M_node(__x) { } + + reference + operator*() const noexcept + { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } + + pointer + operator->() const noexcept + { return static_cast<_Link_type> (_M_node)->_M_valptr(); } + + _Self& + operator++() noexcept + { + _M_node = _Rb_tree_increment(_M_node); + return *this; + } + + _Self + operator++(int) noexcept + { + _Self __tmp = *this; + _M_node = _Rb_tree_increment(_M_node); + return __tmp; + } + + _Self& + operator--() noexcept + { + _M_node = _Rb_tree_decrement(_M_node); + return *this; + } + + _Self + operator--(int) noexcept + { + _Self __tmp = *this; + _M_node = _Rb_tree_decrement(_M_node); + return __tmp; + } + + bool + operator==(const _Self& __x) const noexcept + { return _M_node == __x._M_node; } + + bool + operator!=(const _Self& __x) const noexcept + { return _M_node != __x._M_node; } + + _Base_ptr _M_node; + }; + + template<typename _Tp> + struct _Rb_tree_const_iterator + { + typedef _Tp value_type; + typedef const _Tp& reference; + typedef const _Tp* pointer; + + typedef _Rb_tree_iterator<_Tp> iterator; + + typedef bidirectional_iterator_tag iterator_category; + typedef ptrdiff_t difference_type; + + typedef _Rb_tree_const_iterator<_Tp> _Self; + typedef _Rb_tree_node_base::_Const_Base_ptr _Base_ptr; + typedef const _Rb_tree_node<_Tp>* _Link_type; + + _Rb_tree_const_iterator() noexcept + : _M_node() { } + + explicit + _Rb_tree_const_iterator(_Base_ptr __x) noexcept + : _M_node(__x) { } + + _Rb_tree_const_iterator(const iterator& __it) noexcept + : _M_node(__it._M_node) { } + + iterator + _M_const_cast() const noexcept + { return iterator(const_cast<typename iterator::_Base_ptr>(_M_node)); } + + reference + operator*() const noexcept + { return *static_cast<_Link_type>(_M_node)->_M_valptr(); } + + pointer + operator->() const noexcept + { return static_cast<_Link_type>(_M_node)->_M_valptr(); } + + _Self& + operator++() noexcept + { + _M_node = _Rb_tree_increment(_M_node); + return *this; + } + + _Self + operator++(int) noexcept + { + _Self __tmp = *this; + _M_node = _Rb_tree_increment(_M_node); + return __tmp; + } + + _Self& + operator--() noexcept + { + _M_node = _Rb_tree_decrement(_M_node); + return *this; + } + + _Self + operator--(int) noexcept + { + _Self __tmp = *this; + _M_node = _Rb_tree_decrement(_M_node); + return __tmp; + } + + bool + operator==(const _Self& __x) const noexcept + { return _M_node == __x._M_node; } + + bool + operator!=(const _Self& __x) const noexcept + { return _M_node != __x._M_node; } + + _Base_ptr _M_node; + }; + + template<typename _Val> + inline bool + operator==(const _Rb_tree_iterator<_Val>& __x, + const _Rb_tree_const_iterator<_Val>& __y) noexcept + { return __x._M_node == __y._M_node; } + + template<typename _Val> + inline bool + operator!=(const _Rb_tree_iterator<_Val>& __x, + const _Rb_tree_const_iterator<_Val>& __y) noexcept + { return __x._M_node != __y._M_node; } + + void + _Rb_tree_insert_and_rebalance(const bool __insert_left, + _Rb_tree_node_base* __x, + _Rb_tree_node_base* __p, + _Rb_tree_node_base& __header) throw (); + + _Rb_tree_node_base* + _Rb_tree_rebalance_for_erase(_Rb_tree_node_base* const __z, + _Rb_tree_node_base& __header) throw (); +# 359 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 3 + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc = allocator<_Val> > + class _Rb_tree + { + typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template + rebind<_Rb_tree_node<_Val> >::other _Node_allocator; + + typedef __gnu_cxx::__alloc_traits<_Node_allocator> _Alloc_traits; + + protected: + typedef _Rb_tree_node_base* _Base_ptr; + typedef const _Rb_tree_node_base* _Const_Base_ptr; + typedef _Rb_tree_node<_Val>* _Link_type; + typedef const _Rb_tree_node<_Val>* _Const_Link_type; + + private: + + + struct _Reuse_or_alloc_node + { + _Reuse_or_alloc_node(_Rb_tree& __t) + : _M_root(__t._M_root()), _M_nodes(__t._M_rightmost()), _M_t(__t) + { + if (_M_root) + { + _M_root->_M_parent = 0; + + if (_M_nodes->_M_left) + _M_nodes = _M_nodes->_M_left; + } + else + _M_nodes = 0; + } + + + _Reuse_or_alloc_node(const _Reuse_or_alloc_node&) = delete; + + + ~_Reuse_or_alloc_node() + { _M_t._M_erase(static_cast<_Link_type>(_M_root)); } + + template<typename _Arg> + _Link_type + + + + operator()(_Arg&& __arg) + + { + _Link_type __node = static_cast<_Link_type>(_M_extract()); + if (__node) + { + _M_t._M_destroy_node(__node); + _M_t._M_construct_node(__node, std::forward<_Arg>(__arg)); + return __node; + } + + return _M_t._M_create_node(std::forward<_Arg>(__arg)); + } + + private: + _Base_ptr + _M_extract() + { + if (!_M_nodes) + return _M_nodes; + + _Base_ptr __node = _M_nodes; + _M_nodes = _M_nodes->_M_parent; + if (_M_nodes) + { + if (_M_nodes->_M_right == __node) + { + _M_nodes->_M_right = 0; + + if (_M_nodes->_M_left) + { + _M_nodes = _M_nodes->_M_left; + + while (_M_nodes->_M_right) + _M_nodes = _M_nodes->_M_right; + + if (_M_nodes->_M_left) + _M_nodes = _M_nodes->_M_left; + } + } + else + _M_nodes->_M_left = 0; + } + else + _M_root = 0; + + return __node; + } + + _Base_ptr _M_root; + _Base_ptr _M_nodes; + _Rb_tree& _M_t; + }; + + + + struct _Alloc_node + { + _Alloc_node(_Rb_tree& __t) + : _M_t(__t) { } + + template<typename _Arg> + _Link_type + + + + operator()(_Arg&& __arg) const + + { return _M_t._M_create_node(std::forward<_Arg>(__arg)); } + + private: + _Rb_tree& _M_t; + }; + + public: + typedef _Key key_type; + typedef _Val value_type; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef size_t size_type; + typedef ptrdiff_t difference_type; + typedef _Alloc allocator_type; + + _Node_allocator& + _M_get_Node_allocator() noexcept + { return *static_cast<_Node_allocator*>(&this->_M_impl); } + + const _Node_allocator& + _M_get_Node_allocator() const noexcept + { return *static_cast<const _Node_allocator*>(&this->_M_impl); } + + allocator_type + get_allocator() const noexcept + { return allocator_type(_M_get_Node_allocator()); } + + protected: + _Link_type + _M_get_node() + { return _Alloc_traits::allocate(_M_get_Node_allocator(), 1); } + + void + _M_put_node(_Link_type __p) noexcept + { _Alloc_traits::deallocate(_M_get_Node_allocator(), __p, 1); } +# 536 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 3 + template<typename... _Args> + void + _M_construct_node(_Link_type __node, _Args&&... __args) + { + try + { + ::new(__node) _Rb_tree_node<_Val>; + _Alloc_traits::construct(_M_get_Node_allocator(), + __node->_M_valptr(), + std::forward<_Args>(__args)...); + } + catch(...) + { + __node->~_Rb_tree_node<_Val>(); + _M_put_node(__node); + throw; + } + } + + template<typename... _Args> + _Link_type + _M_create_node(_Args&&... __args) + { + _Link_type __tmp = _M_get_node(); + _M_construct_node(__tmp, std::forward<_Args>(__args)...); + return __tmp; + } + + void + _M_destroy_node(_Link_type __p) noexcept + { + _Alloc_traits::destroy(_M_get_Node_allocator(), __p->_M_valptr()); + __p->~_Rb_tree_node<_Val>(); + } + + + void + _M_drop_node(_Link_type __p) noexcept + { + _M_destroy_node(__p); + _M_put_node(__p); + } + + template<typename _NodeGen> + _Link_type + _M_clone_node(_Const_Link_type __x, _NodeGen& __node_gen) + { + _Link_type __tmp = __node_gen(*__x->_M_valptr()); + __tmp->_M_color = __x->_M_color; + __tmp->_M_left = 0; + __tmp->_M_right = 0; + return __tmp; + } + + protected: + + template<typename _Key_compare, + bool = __is_pod(_Key_compare)> + struct _Rb_tree_impl : public _Node_allocator + { + _Key_compare _M_key_compare; + _Rb_tree_node_base _M_header; + size_type _M_node_count; + + _Rb_tree_impl() + : _Node_allocator(), _M_key_compare(), _M_header(), + _M_node_count(0) + { _M_initialize(); } + + _Rb_tree_impl(const _Key_compare& __comp, const _Node_allocator& __a) + : _Node_allocator(__a), _M_key_compare(__comp), _M_header(), + _M_node_count(0) + { _M_initialize(); } + + + _Rb_tree_impl(const _Key_compare& __comp, _Node_allocator&& __a) + : _Node_allocator(std::move(__a)), _M_key_compare(__comp), + _M_header(), _M_node_count(0) + { _M_initialize(); } + + + void + _M_reset() + { + this->_M_header._M_parent = 0; + this->_M_header._M_left = &this->_M_header; + this->_M_header._M_right = &this->_M_header; + this->_M_node_count = 0; + } + + private: + void + _M_initialize() + { + this->_M_header._M_color = _S_red; + this->_M_header._M_parent = 0; + this->_M_header._M_left = &this->_M_header; + this->_M_header._M_right = &this->_M_header; + } + }; + + _Rb_tree_impl<_Compare> _M_impl; + + protected: + _Base_ptr& + _M_root() noexcept + { return this->_M_impl._M_header._M_parent; } + + _Const_Base_ptr + _M_root() const noexcept + { return this->_M_impl._M_header._M_parent; } + + _Base_ptr& + _M_leftmost() noexcept + { return this->_M_impl._M_header._M_left; } + + _Const_Base_ptr + _M_leftmost() const noexcept + { return this->_M_impl._M_header._M_left; } + + _Base_ptr& + _M_rightmost() noexcept + { return this->_M_impl._M_header._M_right; } + + _Const_Base_ptr + _M_rightmost() const noexcept + { return this->_M_impl._M_header._M_right; } + + _Link_type + _M_begin() noexcept + { return static_cast<_Link_type>(this->_M_impl._M_header._M_parent); } + + _Const_Link_type + _M_begin() const noexcept + { + return static_cast<_Const_Link_type> + (this->_M_impl._M_header._M_parent); + } + + _Base_ptr + _M_end() noexcept + { return &this->_M_impl._M_header; } + + _Const_Base_ptr + _M_end() const noexcept + { return &this->_M_impl._M_header; } + + static const_reference + _S_value(_Const_Link_type __x) + { return *__x->_M_valptr(); } + + static const _Key& + _S_key(_Const_Link_type __x) + { return _KeyOfValue()(_S_value(__x)); } + + static _Link_type + _S_left(_Base_ptr __x) noexcept + { return static_cast<_Link_type>(__x->_M_left); } + + static _Const_Link_type + _S_left(_Const_Base_ptr __x) noexcept + { return static_cast<_Const_Link_type>(__x->_M_left); } + + static _Link_type + _S_right(_Base_ptr __x) noexcept + { return static_cast<_Link_type>(__x->_M_right); } + + static _Const_Link_type + _S_right(_Const_Base_ptr __x) noexcept + { return static_cast<_Const_Link_type>(__x->_M_right); } + + static const_reference + _S_value(_Const_Base_ptr __x) + { return *static_cast<_Const_Link_type>(__x)->_M_valptr(); } + + static const _Key& + _S_key(_Const_Base_ptr __x) + { return _KeyOfValue()(_S_value(__x)); } + + static _Base_ptr + _S_minimum(_Base_ptr __x) noexcept + { return _Rb_tree_node_base::_S_minimum(__x); } + + static _Const_Base_ptr + _S_minimum(_Const_Base_ptr __x) noexcept + { return _Rb_tree_node_base::_S_minimum(__x); } + + static _Base_ptr + _S_maximum(_Base_ptr __x) noexcept + { return _Rb_tree_node_base::_S_maximum(__x); } + + static _Const_Base_ptr + _S_maximum(_Const_Base_ptr __x) noexcept + { return _Rb_tree_node_base::_S_maximum(__x); } + + public: + typedef _Rb_tree_iterator<value_type> iterator; + typedef _Rb_tree_const_iterator<value_type> const_iterator; + + typedef std::reverse_iterator<iterator> reverse_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + + pair<_Base_ptr, _Base_ptr> + _M_get_insert_unique_pos(const key_type& __k); + + pair<_Base_ptr, _Base_ptr> + _M_get_insert_equal_pos(const key_type& __k); + + pair<_Base_ptr, _Base_ptr> + _M_get_insert_hint_unique_pos(const_iterator __pos, + const key_type& __k); + + pair<_Base_ptr, _Base_ptr> + _M_get_insert_hint_equal_pos(const_iterator __pos, + const key_type& __k); + + private: + + template<typename _Arg, typename _NodeGen> + iterator + _M_insert_(_Base_ptr __x, _Base_ptr __y, _Arg&& __v, _NodeGen&); + + iterator + _M_insert_node(_Base_ptr __x, _Base_ptr __y, _Link_type __z); + + template<typename _Arg> + iterator + _M_insert_lower(_Base_ptr __y, _Arg&& __v); + + template<typename _Arg> + iterator + _M_insert_equal_lower(_Arg&& __x); + + iterator + _M_insert_lower_node(_Base_ptr __p, _Link_type __z); + + iterator + _M_insert_equal_lower_node(_Link_type __z); +# 789 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 3 + template<typename _NodeGen> + _Link_type + _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen&); + + _Link_type + _M_copy(_Const_Link_type __x, _Base_ptr __p) + { + _Alloc_node __an(*this); + return _M_copy(__x, __p, __an); + } + + void + _M_erase(_Link_type __x); + + iterator + _M_lower_bound(_Link_type __x, _Base_ptr __y, + const _Key& __k); + + const_iterator + _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, + const _Key& __k) const; + + iterator + _M_upper_bound(_Link_type __x, _Base_ptr __y, + const _Key& __k); + + const_iterator + _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, + const _Key& __k) const; + + public: + + _Rb_tree() { } + + _Rb_tree(const _Compare& __comp, + const allocator_type& __a = allocator_type()) + : _M_impl(__comp, _Node_allocator(__a)) { } + + _Rb_tree(const _Rb_tree& __x) + : _M_impl(__x._M_impl._M_key_compare, + _Alloc_traits::_S_select_on_copy(__x._M_get_Node_allocator())) + { + if (__x._M_root() != 0) + { + _M_root() = _M_copy(__x._M_begin(), _M_end()); + _M_leftmost() = _S_minimum(_M_root()); + _M_rightmost() = _S_maximum(_M_root()); + _M_impl._M_node_count = __x._M_impl._M_node_count; + } + } + + + _Rb_tree(const allocator_type& __a) + : _M_impl(_Compare(), _Node_allocator(__a)) + { } + + _Rb_tree(const _Rb_tree& __x, const allocator_type& __a) + : _M_impl(__x._M_impl._M_key_compare, _Node_allocator(__a)) + { + if (__x._M_root() != nullptr) + { + _M_root() = _M_copy(__x._M_begin(), _M_end()); + _M_leftmost() = _S_minimum(_M_root()); + _M_rightmost() = _S_maximum(_M_root()); + _M_impl._M_node_count = __x._M_impl._M_node_count; + } + } + + _Rb_tree(_Rb_tree&& __x) + : _M_impl(__x._M_impl._M_key_compare, + std::move(__x._M_get_Node_allocator())) + { + if (__x._M_root() != 0) + _M_move_data(__x, std::true_type()); + } + + _Rb_tree(_Rb_tree&& __x, const allocator_type& __a) + : _Rb_tree(std::move(__x), _Node_allocator(__a)) + { } + + _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a); + + + ~_Rb_tree() noexcept + { _M_erase(_M_begin()); } + + _Rb_tree& + operator=(const _Rb_tree& __x); + + + _Compare + key_comp() const + { return _M_impl._M_key_compare; } + + iterator + begin() noexcept + { return iterator(this->_M_impl._M_header._M_left); } + + const_iterator + begin() const noexcept + { return const_iterator(this->_M_impl._M_header._M_left); } + + iterator + end() noexcept + { return iterator(&this->_M_impl._M_header); } + + const_iterator + end() const noexcept + { return const_iterator(&this->_M_impl._M_header); } + + reverse_iterator + rbegin() noexcept + { return reverse_iterator(end()); } + + const_reverse_iterator + rbegin() const noexcept + { return const_reverse_iterator(end()); } + + reverse_iterator + rend() noexcept + { return reverse_iterator(begin()); } + + const_reverse_iterator + rend() const noexcept + { return const_reverse_iterator(begin()); } + + bool + empty() const noexcept + { return _M_impl._M_node_count == 0; } + + size_type + size() const noexcept + { return _M_impl._M_node_count; } + + size_type + max_size() const noexcept + { return _Alloc_traits::max_size(_M_get_Node_allocator()); } + + void + swap(_Rb_tree& __t) + noexcept(__is_nothrow_swappable<_Compare>::value); + + + + template<typename _Arg> + pair<iterator, bool> + _M_insert_unique(_Arg&& __x); + + template<typename _Arg> + iterator + _M_insert_equal(_Arg&& __x); + + template<typename _Arg, typename _NodeGen> + iterator + _M_insert_unique_(const_iterator __pos, _Arg&& __x, _NodeGen&); + + template<typename _Arg> + iterator + _M_insert_unique_(const_iterator __pos, _Arg&& __x) + { + _Alloc_node __an(*this); + return _M_insert_unique_(__pos, std::forward<_Arg>(__x), __an); + } + + template<typename _Arg, typename _NodeGen> + iterator + _M_insert_equal_(const_iterator __pos, _Arg&& __x, _NodeGen&); + + template<typename _Arg> + iterator + _M_insert_equal_(const_iterator __pos, _Arg&& __x) + { + _Alloc_node __an(*this); + return _M_insert_equal_(__pos, std::forward<_Arg>(__x), __an); + } + + template<typename... _Args> + pair<iterator, bool> + _M_emplace_unique(_Args&&... __args); + + template<typename... _Args> + iterator + _M_emplace_equal(_Args&&... __args); + + template<typename... _Args> + iterator + _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args); + + template<typename... _Args> + iterator + _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args); +# 1011 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 3 + template<typename _InputIterator> + void + _M_insert_unique(_InputIterator __first, _InputIterator __last); + + template<typename _InputIterator> + void + _M_insert_equal(_InputIterator __first, _InputIterator __last); + + private: + void + _M_erase_aux(const_iterator __position); + + void + _M_erase_aux(const_iterator __first, const_iterator __last); + + public: + + + + __attribute ((__abi_tag__ ("cxx11"))) + iterator + erase(const_iterator __position) + { + const_iterator __result = __position; + ++__result; + _M_erase_aux(__position); + return __result._M_const_cast(); + } + + + __attribute ((__abi_tag__ ("cxx11"))) + iterator + erase(iterator __position) + { + iterator __result = __position; + ++__result; + _M_erase_aux(__position); + return __result; + } +# 1059 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 3 + size_type + erase(const key_type& __x); + + + + + __attribute ((__abi_tag__ ("cxx11"))) + iterator + erase(const_iterator __first, const_iterator __last) + { + _M_erase_aux(__first, __last); + return __last._M_const_cast(); + } +# 1081 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 3 + void + erase(const key_type* __first, const key_type* __last); + + void + clear() noexcept + { + _M_erase(_M_begin()); + _M_impl._M_reset(); + } + + + iterator + find(const key_type& __k); + + const_iterator + find(const key_type& __k) const; + + size_type + count(const key_type& __k) const; + + iterator + lower_bound(const key_type& __k) + { return _M_lower_bound(_M_begin(), _M_end(), __k); } + + const_iterator + lower_bound(const key_type& __k) const + { return _M_lower_bound(_M_begin(), _M_end(), __k); } + + iterator + upper_bound(const key_type& __k) + { return _M_upper_bound(_M_begin(), _M_end(), __k); } + + const_iterator + upper_bound(const key_type& __k) const + { return _M_upper_bound(_M_begin(), _M_end(), __k); } + + pair<iterator, iterator> + equal_range(const key_type& __k); + + pair<const_iterator, const_iterator> + equal_range(const key_type& __k) const; +# 1241 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tree.h" 3 + bool + __rb_verify() const; + + + _Rb_tree& + operator=(_Rb_tree&&) + noexcept(_Alloc_traits::_S_nothrow_move() + && is_nothrow_move_assignable<_Compare>::value); + + template<typename _Iterator> + void + _M_assign_unique(_Iterator, _Iterator); + + template<typename _Iterator> + void + _M_assign_equal(_Iterator, _Iterator); + + private: + + void + _M_move_data(_Rb_tree&, std::true_type); + + + + void + _M_move_data(_Rb_tree&, std::false_type); + + + void + _M_move_assign(_Rb_tree&, std::true_type); + + + + void + _M_move_assign(_Rb_tree&, std::false_type); + + }; + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + inline bool + operator==(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, + const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) + { + return __x.size() == __y.size() + && std::equal(__x.begin(), __x.end(), __y.begin()); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + inline bool + operator<(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, + const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) + { + return std::lexicographical_compare(__x.begin(), __x.end(), + __y.begin(), __y.end()); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + inline bool + operator!=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, + const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) + { return !(__x == __y); } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + inline bool + operator>(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, + const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) + { return __y < __x; } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + inline bool + operator<=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, + const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) + { return !(__y < __x); } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + inline bool + operator>=(const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, + const _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) + { return !(__x < __y); } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + inline void + swap(_Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __x, + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& __y) + { __x.swap(__y); } + + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _Rb_tree(_Rb_tree&& __x, _Node_allocator&& __a) + : _M_impl(__x._M_impl._M_key_compare, std::move(__a)) + { + using __eq = typename _Alloc_traits::is_always_equal; + if (__x._M_root() != nullptr) + _M_move_data(__x, __eq()); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + void + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_move_data(_Rb_tree& __x, std::true_type) + { + _M_root() = __x._M_root(); + _M_leftmost() = __x._M_leftmost(); + _M_rightmost() = __x._M_rightmost(); + _M_root()->_M_parent = _M_end(); + + __x._M_root() = 0; + __x._M_leftmost() = __x._M_end(); + __x._M_rightmost() = __x._M_end(); + + this->_M_impl._M_node_count = __x._M_impl._M_node_count; + __x._M_impl._M_node_count = 0; + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + void + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_move_data(_Rb_tree& __x, std::false_type) + { + if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) + _M_move_data(__x, std::true_type()); + else + { + _Alloc_node __an(*this); + auto __lbd = + [&__an](const value_type& __cval) + { + auto& __val = const_cast<value_type&>(__cval); + return __an(std::move_if_noexcept(__val)); + }; + _M_root() = _M_copy(__x._M_begin(), _M_end(), __lbd); + _M_leftmost() = _S_minimum(_M_root()); + _M_rightmost() = _S_maximum(_M_root()); + _M_impl._M_node_count = __x._M_impl._M_node_count; + } + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + inline void + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_move_assign(_Rb_tree& __x, true_type) + { + clear(); + if (__x._M_root() != nullptr) + _M_move_data(__x, std::true_type()); + std::__alloc_on_move(_M_get_Node_allocator(), + __x._M_get_Node_allocator()); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + void + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_move_assign(_Rb_tree& __x, false_type) + { + if (_M_get_Node_allocator() == __x._M_get_Node_allocator()) + return _M_move_assign(__x, true_type{}); + + + + _Reuse_or_alloc_node __roan(*this); + _M_impl._M_reset(); + if (__x._M_root() != nullptr) + { + auto __lbd = + [&__roan](const value_type& __cval) + { + auto& __val = const_cast<value_type&>(__cval); + return __roan(std::move_if_noexcept(__val)); + }; + _M_root() = _M_copy(__x._M_begin(), _M_end(), __lbd); + _M_leftmost() = _S_minimum(_M_root()); + _M_rightmost() = _S_maximum(_M_root()); + _M_impl._M_node_count = __x._M_impl._M_node_count; + __x.clear(); + } + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + inline _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + operator=(_Rb_tree&& __x) + noexcept(_Alloc_traits::_S_nothrow_move() + && is_nothrow_move_assignable<_Compare>::value) + { + _M_impl._M_key_compare = __x._M_impl._M_key_compare; + constexpr bool __move_storage = + _Alloc_traits::_S_propagate_on_move_assign() + || _Alloc_traits::_S_always_equal(); + _M_move_assign(__x, __bool_constant<__move_storage>()); + return *this; + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + template<typename _Iterator> + void + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_assign_unique(_Iterator __first, _Iterator __last) + { + _Reuse_or_alloc_node __roan(*this); + _M_impl._M_reset(); + for (; __first != __last; ++__first) + _M_insert_unique_(end(), *__first, __roan); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + template<typename _Iterator> + void + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_assign_equal(_Iterator __first, _Iterator __last) + { + _Reuse_or_alloc_node __roan(*this); + _M_impl._M_reset(); + for (; __first != __last; ++__first) + _M_insert_equal_(end(), *__first, __roan); + } + + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>& + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + operator=(const _Rb_tree& __x) + { + if (this != &__x) + { + + + if (_Alloc_traits::_S_propagate_on_copy_assign()) + { + auto& __this_alloc = this->_M_get_Node_allocator(); + auto& __that_alloc = __x._M_get_Node_allocator(); + if (!_Alloc_traits::_S_always_equal() + && __this_alloc != __that_alloc) + { + + + clear(); + std::__alloc_on_copy(__this_alloc, __that_alloc); + } + } + + + _Reuse_or_alloc_node __roan(*this); + _M_impl._M_reset(); + _M_impl._M_key_compare = __x._M_impl._M_key_compare; + if (__x._M_root() != 0) + { + _M_root() = _M_copy(__x._M_begin(), _M_end(), __roan); + _M_leftmost() = _S_minimum(_M_root()); + _M_rightmost() = _S_maximum(_M_root()); + _M_impl._M_node_count = __x._M_impl._M_node_count; + } + } + + return *this; + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + + template<typename _Arg, typename _NodeGen> + + + + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_insert_(_Base_ptr __x, _Base_ptr __p, + + _Arg&& __v, + + + + _NodeGen& __node_gen) + { + bool __insert_left = (__x != 0 || __p == _M_end() + || _M_impl._M_key_compare(_KeyOfValue()(__v), + _S_key(__p))); + + _Link_type __z = __node_gen(std::forward<_Arg>(__v)); + + _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, + this->_M_impl._M_header); + ++_M_impl._M_node_count; + return iterator(__z); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + + template<typename _Arg> + + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + + _M_insert_lower(_Base_ptr __p, _Arg&& __v) + + + + { + bool __insert_left = (__p == _M_end() + || !_M_impl._M_key_compare(_S_key(__p), + _KeyOfValue()(__v))); + + _Link_type __z = _M_create_node(std::forward<_Arg>(__v)); + + _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, + this->_M_impl._M_header); + ++_M_impl._M_node_count; + return iterator(__z); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + + template<typename _Arg> + + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + + _M_insert_equal_lower(_Arg&& __v) + + + + { + _Link_type __x = _M_begin(); + _Base_ptr __y = _M_end(); + while (__x != 0) + { + __y = __x; + __x = !_M_impl._M_key_compare(_S_key(__x), _KeyOfValue()(__v)) ? + _S_left(__x) : _S_right(__x); + } + return _M_insert_lower(__y, std::forward<_Arg>(__v)); + } + + template<typename _Key, typename _Val, typename _KoV, + typename _Compare, typename _Alloc> + template<typename _NodeGen> + typename _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>::_Link_type + _Rb_tree<_Key, _Val, _KoV, _Compare, _Alloc>:: + _M_copy(_Const_Link_type __x, _Base_ptr __p, _NodeGen& __node_gen) + { + + _Link_type __top = _M_clone_node(__x, __node_gen); + __top->_M_parent = __p; + + try + { + if (__x->_M_right) + __top->_M_right = _M_copy(_S_right(__x), __top, __node_gen); + __p = __top; + __x = _S_left(__x); + + while (__x != 0) + { + _Link_type __y = _M_clone_node(__x, __node_gen); + __p->_M_left = __y; + __y->_M_parent = __p; + if (__x->_M_right) + __y->_M_right = _M_copy(_S_right(__x), __y, __node_gen); + __p = __y; + __x = _S_left(__x); + } + } + catch(...) + { + _M_erase(__top); + throw; + } + return __top; + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + void + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_erase(_Link_type __x) + { + + while (__x != 0) + { + _M_erase(_S_right(__x)); + _Link_type __y = _S_left(__x); + _M_drop_node(__x); + __x = __y; + } + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_lower_bound(_Link_type __x, _Base_ptr __y, + const _Key& __k) + { + while (__x != 0) + if (!_M_impl._M_key_compare(_S_key(__x), __k)) + __y = __x, __x = _S_left(__x); + else + __x = _S_right(__x); + return iterator(__y); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::const_iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_lower_bound(_Const_Link_type __x, _Const_Base_ptr __y, + const _Key& __k) const + { + while (__x != 0) + if (!_M_impl._M_key_compare(_S_key(__x), __k)) + __y = __x, __x = _S_left(__x); + else + __x = _S_right(__x); + return const_iterator(__y); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_upper_bound(_Link_type __x, _Base_ptr __y, + const _Key& __k) + { + while (__x != 0) + if (_M_impl._M_key_compare(__k, _S_key(__x))) + __y = __x, __x = _S_left(__x); + else + __x = _S_right(__x); + return iterator(__y); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::const_iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_upper_bound(_Const_Link_type __x, _Const_Base_ptr __y, + const _Key& __k) const + { + while (__x != 0) + if (_M_impl._M_key_compare(__k, _S_key(__x))) + __y = __x, __x = _S_left(__x); + else + __x = _S_right(__x); + return const_iterator(__y); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::iterator, + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::iterator> + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + equal_range(const _Key& __k) + { + _Link_type __x = _M_begin(); + _Base_ptr __y = _M_end(); + while (__x != 0) + { + if (_M_impl._M_key_compare(_S_key(__x), __k)) + __x = _S_right(__x); + else if (_M_impl._M_key_compare(__k, _S_key(__x))) + __y = __x, __x = _S_left(__x); + else + { + _Link_type __xu(__x); + _Base_ptr __yu(__y); + __y = __x, __x = _S_left(__x); + __xu = _S_right(__xu); + return pair<iterator, + iterator>(_M_lower_bound(__x, __y, __k), + _M_upper_bound(__xu, __yu, __k)); + } + } + return pair<iterator, iterator>(iterator(__y), + iterator(__y)); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::const_iterator, + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::const_iterator> + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + equal_range(const _Key& __k) const + { + _Const_Link_type __x = _M_begin(); + _Const_Base_ptr __y = _M_end(); + while (__x != 0) + { + if (_M_impl._M_key_compare(_S_key(__x), __k)) + __x = _S_right(__x); + else if (_M_impl._M_key_compare(__k, _S_key(__x))) + __y = __x, __x = _S_left(__x); + else + { + _Const_Link_type __xu(__x); + _Const_Base_ptr __yu(__y); + __y = __x, __x = _S_left(__x); + __xu = _S_right(__xu); + return pair<const_iterator, + const_iterator>(_M_lower_bound(__x, __y, __k), + _M_upper_bound(__xu, __yu, __k)); + } + } + return pair<const_iterator, const_iterator>(const_iterator(__y), + const_iterator(__y)); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + void + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + swap(_Rb_tree& __t) + noexcept(__is_nothrow_swappable<_Compare>::value) + { + if (_M_root() == 0) + { + if (__t._M_root() != 0) + { + _M_root() = __t._M_root(); + _M_leftmost() = __t._M_leftmost(); + _M_rightmost() = __t._M_rightmost(); + _M_root()->_M_parent = _M_end(); + _M_impl._M_node_count = __t._M_impl._M_node_count; + + __t._M_impl._M_reset(); + } + } + else if (__t._M_root() == 0) + { + __t._M_root() = _M_root(); + __t._M_leftmost() = _M_leftmost(); + __t._M_rightmost() = _M_rightmost(); + __t._M_root()->_M_parent = __t._M_end(); + __t._M_impl._M_node_count = _M_impl._M_node_count; + + _M_impl._M_reset(); + } + else + { + std::swap(_M_root(),__t._M_root()); + std::swap(_M_leftmost(),__t._M_leftmost()); + std::swap(_M_rightmost(),__t._M_rightmost()); + + _M_root()->_M_parent = _M_end(); + __t._M_root()->_M_parent = __t._M_end(); + std::swap(this->_M_impl._M_node_count, __t._M_impl._M_node_count); + } + + std::swap(this->_M_impl._M_key_compare, __t._M_impl._M_key_compare); + + _Alloc_traits::_S_on_swap(_M_get_Node_allocator(), + __t._M_get_Node_allocator()); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::_Base_ptr, + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::_Base_ptr> + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_get_insert_unique_pos(const key_type& __k) + { + typedef pair<_Base_ptr, _Base_ptr> _Res; + _Link_type __x = _M_begin(); + _Base_ptr __y = _M_end(); + bool __comp = true; + while (__x != 0) + { + __y = __x; + __comp = _M_impl._M_key_compare(__k, _S_key(__x)); + __x = __comp ? _S_left(__x) : _S_right(__x); + } + iterator __j = iterator(__y); + if (__comp) + { + if (__j == begin()) + return _Res(__x, __y); + else + --__j; + } + if (_M_impl._M_key_compare(_S_key(__j._M_node), __k)) + return _Res(__x, __y); + return _Res(__j._M_node, 0); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::_Base_ptr, + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::_Base_ptr> + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_get_insert_equal_pos(const key_type& __k) + { + typedef pair<_Base_ptr, _Base_ptr> _Res; + _Link_type __x = _M_begin(); + _Base_ptr __y = _M_end(); + while (__x != 0) + { + __y = __x; + __x = _M_impl._M_key_compare(__k, _S_key(__x)) ? + _S_left(__x) : _S_right(__x); + } + return _Res(__x, __y); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + + template<typename _Arg> + + pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::iterator, bool> + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + + _M_insert_unique(_Arg&& __v) + + + + { + typedef pair<iterator, bool> _Res; + pair<_Base_ptr, _Base_ptr> __res + = _M_get_insert_unique_pos(_KeyOfValue()(__v)); + + if (__res.second) + { + _Alloc_node __an(*this); + return _Res(_M_insert_(__res.first, __res.second, + std::forward<_Arg>(__v), __an), + true); + } + + return _Res(iterator(__res.first), false); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + + template<typename _Arg> + + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + + _M_insert_equal(_Arg&& __v) + + + + { + pair<_Base_ptr, _Base_ptr> __res + = _M_get_insert_equal_pos(_KeyOfValue()(__v)); + _Alloc_node __an(*this); + return _M_insert_(__res.first, __res.second, + std::forward<_Arg>(__v), __an); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::_Base_ptr, + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::_Base_ptr> + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_get_insert_hint_unique_pos(const_iterator __position, + const key_type& __k) + { + iterator __pos = __position._M_const_cast(); + typedef pair<_Base_ptr, _Base_ptr> _Res; + + + if (__pos._M_node == _M_end()) + { + if (size() > 0 + && _M_impl._M_key_compare(_S_key(_M_rightmost()), __k)) + return _Res(0, _M_rightmost()); + else + return _M_get_insert_unique_pos(__k); + } + else if (_M_impl._M_key_compare(__k, _S_key(__pos._M_node))) + { + + iterator __before = __pos; + if (__pos._M_node == _M_leftmost()) + return _Res(_M_leftmost(), _M_leftmost()); + else if (_M_impl._M_key_compare(_S_key((--__before)._M_node), __k)) + { + if (_S_right(__before._M_node) == 0) + return _Res(0, __before._M_node); + else + return _Res(__pos._M_node, __pos._M_node); + } + else + return _M_get_insert_unique_pos(__k); + } + else if (_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) + { + + iterator __after = __pos; + if (__pos._M_node == _M_rightmost()) + return _Res(0, _M_rightmost()); + else if (_M_impl._M_key_compare(__k, _S_key((++__after)._M_node))) + { + if (_S_right(__pos._M_node) == 0) + return _Res(0, __pos._M_node); + else + return _Res(__after._M_node, __after._M_node); + } + else + return _M_get_insert_unique_pos(__k); + } + else + + return _Res(__pos._M_node, 0); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + + template<typename _Arg, typename _NodeGen> + + + + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_insert_unique_(const_iterator __position, + + _Arg&& __v, + + + + _NodeGen& __node_gen) + { + pair<_Base_ptr, _Base_ptr> __res + = _M_get_insert_hint_unique_pos(__position, _KeyOfValue()(__v)); + + if (__res.second) + return _M_insert_(__res.first, __res.second, + std::forward<_Arg>(__v), + __node_gen); + return iterator(__res.first); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::_Base_ptr, + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::_Base_ptr> + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_get_insert_hint_equal_pos(const_iterator __position, const key_type& __k) + { + iterator __pos = __position._M_const_cast(); + typedef pair<_Base_ptr, _Base_ptr> _Res; + + + if (__pos._M_node == _M_end()) + { + if (size() > 0 + && !_M_impl._M_key_compare(__k, _S_key(_M_rightmost()))) + return _Res(0, _M_rightmost()); + else + return _M_get_insert_equal_pos(__k); + } + else if (!_M_impl._M_key_compare(_S_key(__pos._M_node), __k)) + { + + iterator __before = __pos; + if (__pos._M_node == _M_leftmost()) + return _Res(_M_leftmost(), _M_leftmost()); + else if (!_M_impl._M_key_compare(__k, _S_key((--__before)._M_node))) + { + if (_S_right(__before._M_node) == 0) + return _Res(0, __before._M_node); + else + return _Res(__pos._M_node, __pos._M_node); + } + else + return _M_get_insert_equal_pos(__k); + } + else + { + + iterator __after = __pos; + if (__pos._M_node == _M_rightmost()) + return _Res(0, _M_rightmost()); + else if (!_M_impl._M_key_compare(_S_key((++__after)._M_node), __k)) + { + if (_S_right(__pos._M_node) == 0) + return _Res(0, __pos._M_node); + else + return _Res(__after._M_node, __after._M_node); + } + else + return _Res(0, 0); + } + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + + template<typename _Arg, typename _NodeGen> + + + + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_insert_equal_(const_iterator __position, + + _Arg&& __v, + + + + _NodeGen& __node_gen) + { + pair<_Base_ptr, _Base_ptr> __res + = _M_get_insert_hint_equal_pos(__position, _KeyOfValue()(__v)); + + if (__res.second) + return _M_insert_(__res.first, __res.second, + std::forward<_Arg>(__v), + __node_gen); + + return _M_insert_equal_lower(std::forward<_Arg>(__v)); + } + + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_insert_node(_Base_ptr __x, _Base_ptr __p, _Link_type __z) + { + bool __insert_left = (__x != 0 || __p == _M_end() + || _M_impl._M_key_compare(_S_key(__z), + _S_key(__p))); + + _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, + this->_M_impl._M_header); + ++_M_impl._M_node_count; + return iterator(__z); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_insert_lower_node(_Base_ptr __p, _Link_type __z) + { + bool __insert_left = (__p == _M_end() + || !_M_impl._M_key_compare(_S_key(__p), + _S_key(__z))); + + _Rb_tree_insert_and_rebalance(__insert_left, __z, __p, + this->_M_impl._M_header); + ++_M_impl._M_node_count; + return iterator(__z); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_insert_equal_lower_node(_Link_type __z) + { + _Link_type __x = _M_begin(); + _Base_ptr __y = _M_end(); + while (__x != 0) + { + __y = __x; + __x = !_M_impl._M_key_compare(_S_key(__x), _S_key(__z)) ? + _S_left(__x) : _S_right(__x); + } + return _M_insert_lower_node(__y, __z); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + template<typename... _Args> + pair<typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::iterator, bool> + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_emplace_unique(_Args&&... __args) + { + _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); + + try + { + typedef pair<iterator, bool> _Res; + auto __res = _M_get_insert_unique_pos(_S_key(__z)); + if (__res.second) + return _Res(_M_insert_node(__res.first, __res.second, __z), true); + + _M_drop_node(__z); + return _Res(iterator(__res.first), false); + } + catch(...) + { + _M_drop_node(__z); + throw; + } + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + template<typename... _Args> + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_emplace_equal(_Args&&... __args) + { + _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); + + try + { + auto __res = _M_get_insert_equal_pos(_S_key(__z)); + return _M_insert_node(__res.first, __res.second, __z); + } + catch(...) + { + _M_drop_node(__z); + throw; + } + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + template<typename... _Args> + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_emplace_hint_unique(const_iterator __pos, _Args&&... __args) + { + _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); + + try + { + auto __res = _M_get_insert_hint_unique_pos(__pos, _S_key(__z)); + + if (__res.second) + return _M_insert_node(__res.first, __res.second, __z); + + _M_drop_node(__z); + return iterator(__res.first); + } + catch(...) + { + _M_drop_node(__z); + throw; + } + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + template<typename... _Args> + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_emplace_hint_equal(const_iterator __pos, _Args&&... __args) + { + _Link_type __z = _M_create_node(std::forward<_Args>(__args)...); + + try + { + auto __res = _M_get_insert_hint_equal_pos(__pos, _S_key(__z)); + + if (__res.second) + return _M_insert_node(__res.first, __res.second, __z); + + return _M_insert_equal_lower_node(__z); + } + catch(...) + { + _M_drop_node(__z); + throw; + } + } + + + template<typename _Key, typename _Val, typename _KoV, + typename _Cmp, typename _Alloc> + template<class _II> + void + _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: + _M_insert_unique(_II __first, _II __last) + { + _Alloc_node __an(*this); + for (; __first != __last; ++__first) + _M_insert_unique_(end(), *__first, __an); + } + + template<typename _Key, typename _Val, typename _KoV, + typename _Cmp, typename _Alloc> + template<class _II> + void + _Rb_tree<_Key, _Val, _KoV, _Cmp, _Alloc>:: + _M_insert_equal(_II __first, _II __last) + { + _Alloc_node __an(*this); + for (; __first != __last; ++__first) + _M_insert_equal_(end(), *__first, __an); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + void + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_erase_aux(const_iterator __position) + { + _Link_type __y = + static_cast<_Link_type>(_Rb_tree_rebalance_for_erase + (const_cast<_Base_ptr>(__position._M_node), + this->_M_impl._M_header)); + _M_drop_node(__y); + --_M_impl._M_node_count; + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + void + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + _M_erase_aux(const_iterator __first, const_iterator __last) + { + if (__first == begin() && __last == end()) + clear(); + else + while (__first != __last) + erase(__first++); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + erase(const _Key& __x) + { + pair<iterator, iterator> __p = equal_range(__x); + const size_type __old_size = size(); + erase(__p.first, __p.second); + return __old_size - size(); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + void + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + erase(const _Key* __first, const _Key* __last) + { + while (__first != __last) + erase(*__first++); + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + find(const _Key& __k) + { + iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); + return (__j == end() + || _M_impl._M_key_compare(__k, + _S_key(__j._M_node))) ? end() : __j; + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + typename _Rb_tree<_Key, _Val, _KeyOfValue, + _Compare, _Alloc>::const_iterator + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + find(const _Key& __k) const + { + const_iterator __j = _M_lower_bound(_M_begin(), _M_end(), __k); + return (__j == end() + || _M_impl._M_key_compare(__k, + _S_key(__j._M_node))) ? end() : __j; + } + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + typename _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>::size_type + _Rb_tree<_Key, _Val, _KeyOfValue, _Compare, _Alloc>:: + count(const _Key& __k) const + { + pair<const_iterator, const_iterator> __p = equal_range(__k); + const size_type __n = std::distance(__p.first, __p.second); + return __n; + } + + __attribute__ ((__pure__)) unsigned int + _Rb_tree_black_count(const _Rb_tree_node_base* __node, + const _Rb_tree_node_base* __root) throw (); + + template<typename _Key, typename _Val, typename _KeyOfValue, + typename _Compare, typename _Alloc> + bool + _Rb_tree<_Key,_Val,_KeyOfValue,_Compare,_Alloc>::__rb_verify() const + { + if (_M_impl._M_node_count == 0 || begin() == end()) + return _M_impl._M_node_count == 0 && begin() == end() + && this->_M_impl._M_header._M_left == _M_end() + && this->_M_impl._M_header._M_right == _M_end(); + + unsigned int __len = _Rb_tree_black_count(_M_leftmost(), _M_root()); + for (const_iterator __it = begin(); __it != end(); ++__it) + { + _Const_Link_type __x = static_cast<_Const_Link_type>(__it._M_node); + _Const_Link_type __L = _S_left(__x); + _Const_Link_type __R = _S_right(__x); + + if (__x->_M_color == _S_red) + if ((__L && __L->_M_color == _S_red) + || (__R && __R->_M_color == _S_red)) + return false; + + if (__L && _M_impl._M_key_compare(_S_key(__x), _S_key(__L))) + return false; + if (__R && _M_impl._M_key_compare(_S_key(__R), _S_key(__x))) + return false; + + if (!__L && !__R && _Rb_tree_black_count(__x, _M_root()) != __len) + return false; + } + + if (_M_leftmost() != _Rb_tree_node_base::_S_minimum(_M_root())) + return false; + if (_M_rightmost() != _Rb_tree_node_base::_S_maximum(_M_root())) + return false; + return true; + } + + +} +# 61 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/map" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 1 3 +# 63 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/tuple" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/tuple" 3 + + + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/utility" 1 3 +# 59 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/utility" 3 +# 69 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/utility" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_relops.h" 1 3 +# 67 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_relops.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ + namespace rel_ops + { +# 85 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_relops.h" 3 + template <class _Tp> + inline bool + operator!=(const _Tp& __x, const _Tp& __y) + { return !(__x == __y); } +# 98 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_relops.h" 3 + template <class _Tp> + inline bool + operator>(const _Tp& __x, const _Tp& __y) + { return __y < __x; } +# 111 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_relops.h" 3 + template <class _Tp> + inline bool + operator<=(const _Tp& __x, const _Tp& __y) + { return !(__y < __x); } +# 124 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_relops.h" 3 + template <class _Tp> + inline bool + operator>=(const _Tp& __x, const _Tp& __y) + { return !(__x < __y); } + + + } + +} +# 70 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/utility" 2 3 + + + + + + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + template<typename _Tp> + struct tuple_size; + + + + template<typename _Tp> + struct tuple_size<const _Tp> + : integral_constant<size_t, tuple_size<_Tp>::value> { }; + + template<typename _Tp> + struct tuple_size<volatile _Tp> + : integral_constant<size_t, tuple_size<_Tp>::value> { }; + + template<typename _Tp> + struct tuple_size<const volatile _Tp> + : integral_constant<size_t, tuple_size<_Tp>::value> { }; + + + template<std::size_t __i, typename _Tp> + struct tuple_element; + + + template<std::size_t __i, typename _Tp> + using __tuple_element_t = typename tuple_element<__i, _Tp>::type; + + template<std::size_t __i, typename _Tp> + struct tuple_element<__i, const _Tp> + { + typedef typename add_const<__tuple_element_t<__i, _Tp>>::type type; + }; + + template<std::size_t __i, typename _Tp> + struct tuple_element<__i, volatile _Tp> + { + typedef typename add_volatile<__tuple_element_t<__i, _Tp>>::type type; + }; + + template<std::size_t __i, typename _Tp> + struct tuple_element<__i, const volatile _Tp> + { + typedef typename add_cv<__tuple_element_t<__i, _Tp>>::type type; + }; +# 133 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/utility" 3 + template<typename> + struct __is_tuple_like_impl : false_type + { }; + + + + + template<typename _T1, typename _T2> + struct __is_tuple_like_impl<std::pair<_T1, _T2>> : true_type + { }; + + + template<class _Tp1, class _Tp2> + struct tuple_size<std::pair<_Tp1, _Tp2>> + : public integral_constant<std::size_t, 2> { }; + + + template<class _Tp1, class _Tp2> + struct tuple_element<0, std::pair<_Tp1, _Tp2>> + { typedef _Tp1 type; }; + + + template<class _Tp1, class _Tp2> + struct tuple_element<1, std::pair<_Tp1, _Tp2>> + { typedef _Tp2 type; }; + + template<std::size_t _Int> + struct __pair_get; + + template<> + struct __pair_get<0> + { + template<typename _Tp1, typename _Tp2> + static constexpr _Tp1& + __get(std::pair<_Tp1, _Tp2>& __pair) noexcept + { return __pair.first; } + + template<typename _Tp1, typename _Tp2> + static constexpr _Tp1&& + __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept + { return std::forward<_Tp1>(__pair.first); } + + template<typename _Tp1, typename _Tp2> + static constexpr const _Tp1& + __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept + { return __pair.first; } + }; + + template<> + struct __pair_get<1> + { + template<typename _Tp1, typename _Tp2> + static constexpr _Tp2& + __get(std::pair<_Tp1, _Tp2>& __pair) noexcept + { return __pair.second; } + + template<typename _Tp1, typename _Tp2> + static constexpr _Tp2&& + __move_get(std::pair<_Tp1, _Tp2>&& __pair) noexcept + { return std::forward<_Tp2>(__pair.second); } + + template<typename _Tp1, typename _Tp2> + static constexpr const _Tp2& + __const_get(const std::pair<_Tp1, _Tp2>& __pair) noexcept + { return __pair.second; } + }; + + template<std::size_t _Int, class _Tp1, class _Tp2> + constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& + get(std::pair<_Tp1, _Tp2>& __in) noexcept + { return __pair_get<_Int>::__get(__in); } + + template<std::size_t _Int, class _Tp1, class _Tp2> + constexpr typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type&& + get(std::pair<_Tp1, _Tp2>&& __in) noexcept + { return __pair_get<_Int>::__move_get(std::move(__in)); } + + template<std::size_t _Int, class _Tp1, class _Tp2> + constexpr const typename tuple_element<_Int, std::pair<_Tp1, _Tp2>>::type& + get(const std::pair<_Tp1, _Tp2>& __in) noexcept + { return __pair_get<_Int>::__const_get(__in); } +# 260 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/utility" 3 + template<size_t... _Indexes> struct _Index_tuple { }; + + + template<typename _Itup1, typename _Itup2> struct _Itup_cat; + + template<size_t... _Ind1, size_t... _Ind2> + struct _Itup_cat<_Index_tuple<_Ind1...>, _Index_tuple<_Ind2...>> + { + using __type = _Index_tuple<_Ind1..., (_Ind2 + sizeof...(_Ind1))...>; + }; + + + template<size_t _Num> + struct _Build_index_tuple + : _Itup_cat<typename _Build_index_tuple<_Num / 2>::__type, + typename _Build_index_tuple<_Num - _Num / 2>::__type> + { }; + + template<> + struct _Build_index_tuple<1> + { + typedef _Index_tuple<0> __type; + }; + + template<> + struct _Build_index_tuple<0> + { + typedef _Index_tuple<> __type; + }; +# 334 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/utility" 3 +} +# 39 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/tuple" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/array" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/array" 3 + + + + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/stdexcept" 1 3 +# 37 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/stdexcept" 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/string" 1 3 +# 37 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/string" 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stringfwd.h" 1 3 +# 38 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stringfwd.h" 3 + + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 52 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stringfwd.h" 3 + template<class _CharT> + struct char_traits; + + template<> struct char_traits<char>; + + + template<> struct char_traits<wchar_t>; + + + + + template<> struct char_traits<char16_t>; + template<> struct char_traits<char32_t>; + + +namespace __cxx11 { + + template<typename _CharT, typename _Traits = char_traits<_CharT>, + typename _Alloc = allocator<_CharT> > + class basic_string; + + + typedef basic_string<char> string; + + + + typedef basic_string<wchar_t> wstring; + + + + + + typedef basic_string<char16_t> u16string; + + + typedef basic_string<char32_t> u32string; + + +} + + + + +} +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/string" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/char_traits.h" 1 3 +# 38 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/char_traits.h" 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/postypes.h" 1 3 +# 39 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/postypes.h" 3 + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 3 + + + + +# 1 "/usr/include/wchar.h" 1 3 4 +# 36 "/usr/include/wchar.h" 3 4 +# 1 "/usr/xenomai/include/cobalt/stdio.h" 1 3 4 +# 20 "/usr/xenomai/include/cobalt/stdio.h" 3 +# 37 "/usr/include/wchar.h" 2 3 4 +# 51 "/usr/include/wchar.h" 3 4 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 4 +# 132 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 3 4 +typedef unsigned int wint_t; +# 52 "/usr/include/wchar.h" 2 3 4 +# 106 "/usr/include/wchar.h" 3 4 +typedef __mbstate_t mbstate_t; +# 132 "/usr/include/wchar.h" 3 4 +extern "C" { + + + + +struct tm; +# 147 "/usr/include/wchar.h" 3 4 +extern wchar_t *wcscpy (wchar_t *__restrict __dest, + const wchar_t *__restrict __src) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern wchar_t *wcsncpy (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern wchar_t *wcscat (wchar_t *__restrict __dest, + const wchar_t *__restrict __src) + throw () __attribute__ ((__nonnull__ (1, 2))); + +extern wchar_t *wcsncat (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int wcscmp (const wchar_t *__s1, const wchar_t *__s2) + throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + +extern int wcsncmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + throw () __attribute__ ((__pure__)) __attribute__ ((__nonnull__ (1, 2))); + + + + +extern int wcscasecmp (const wchar_t *__s1, const wchar_t *__s2) throw (); + + +extern int wcsncasecmp (const wchar_t *__s1, const wchar_t *__s2, + size_t __n) throw (); + + + + + +extern int wcscasecmp_l (const wchar_t *__s1, const wchar_t *__s2, + __locale_t __loc) throw (); + +extern int wcsncasecmp_l (const wchar_t *__s1, const wchar_t *__s2, + size_t __n, __locale_t __loc) throw (); + + + + + +extern int wcscoll (const wchar_t *__s1, const wchar_t *__s2) throw (); + + + +extern size_t wcsxfrm (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n) throw (); +# 209 "/usr/include/wchar.h" 3 4 +extern int wcscoll_l (const wchar_t *__s1, const wchar_t *__s2, + __locale_t __loc) throw (); + + + + +extern size_t wcsxfrm_l (wchar_t *__s1, const wchar_t *__s2, + size_t __n, __locale_t __loc) throw (); + + +extern wchar_t *wcsdup (const wchar_t *__s) throw () __attribute__ ((__malloc__)); +# 230 "/usr/include/wchar.h" 3 4 +extern wchar_t *wcschr (const wchar_t *__wcs, wchar_t __wc) + throw () __attribute__ ((__pure__)); +# 240 "/usr/include/wchar.h" 3 4 +extern wchar_t *wcsrchr (const wchar_t *__wcs, wchar_t __wc) + throw () __attribute__ ((__pure__)); + + + + + + +extern wchar_t *wcschrnul (const wchar_t *__s, wchar_t __wc) + throw () __attribute__ ((__pure__)); + + + + + +extern size_t wcscspn (const wchar_t *__wcs, const wchar_t *__reject) + throw () __attribute__ ((__pure__)); + + +extern size_t wcsspn (const wchar_t *__wcs, const wchar_t *__accept) + throw () __attribute__ ((__pure__)); +# 269 "/usr/include/wchar.h" 3 4 +extern wchar_t *wcspbrk (const wchar_t *__wcs, const wchar_t *__accept) + throw () __attribute__ ((__pure__)); +# 280 "/usr/include/wchar.h" 3 4 +extern wchar_t *wcsstr (const wchar_t *__haystack, const wchar_t *__needle) + throw () __attribute__ ((__pure__)); + + + +extern wchar_t *wcstok (wchar_t *__restrict __s, + const wchar_t *__restrict __delim, + wchar_t **__restrict __ptr) throw (); + + +extern size_t wcslen (const wchar_t *__s) throw () __attribute__ ((__pure__)); +# 302 "/usr/include/wchar.h" 3 4 +extern wchar_t *wcswcs (const wchar_t *__haystack, const wchar_t *__needle) + throw () __attribute__ ((__pure__)); + + + + + +extern size_t wcsnlen (const wchar_t *__s, size_t __maxlen) + throw () __attribute__ ((__pure__)); +# 323 "/usr/include/wchar.h" 3 4 +extern wchar_t *wmemchr (const wchar_t *__s, wchar_t __c, size_t __n) + throw () __attribute__ ((__pure__)); + + + +extern int wmemcmp (const wchar_t *__s1, const wchar_t *__s2, size_t __n) + throw () __attribute__ ((__pure__)); + + +extern wchar_t *wmemcpy (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n) throw (); + + + +extern wchar_t *wmemmove (wchar_t *__s1, const wchar_t *__s2, size_t __n) + throw (); + + +extern wchar_t *wmemset (wchar_t *__s, wchar_t __c, size_t __n) throw (); + + + + + +extern wchar_t *wmempcpy (wchar_t *__restrict __s1, + const wchar_t *__restrict __s2, size_t __n) + throw (); + + + + + + +extern wint_t btowc (int __c) throw (); + + + +extern int wctob (wint_t __c) throw (); + + + +extern int mbsinit (const mbstate_t *__ps) throw () __attribute__ ((__pure__)); + + + +extern size_t mbrtowc (wchar_t *__restrict __pwc, + const char *__restrict __s, size_t __n, + mbstate_t *__restrict __p) throw (); + + +extern size_t wcrtomb (char *__restrict __s, wchar_t __wc, + mbstate_t *__restrict __ps) throw (); + + +extern size_t __mbrlen (const char *__restrict __s, size_t __n, + mbstate_t *__restrict __ps) throw (); +extern size_t mbrlen (const char *__restrict __s, size_t __n, + mbstate_t *__restrict __ps) throw (); +# 389 "/usr/include/wchar.h" 3 4 +extern wint_t __btowc_alias (int __c) __asm ("btowc"); +extern __inline __attribute__ ((__gnu_inline__)) wint_t + btowc (int __c) throw () +{ return (__builtin_constant_p (__c) && __c >= '\0' && __c <= '\x7f' + ? (wint_t) __c : __btowc_alias (__c)); } + +extern int __wctob_alias (wint_t __c) __asm ("wctob"); +extern __inline __attribute__ ((__gnu_inline__)) int + wctob (wint_t __wc) throw () +{ return (__builtin_constant_p (__wc) && __wc >= L'\0' && __wc <= L'\x7f' + ? (int) __wc : __wctob_alias (__wc)); } + +extern __inline __attribute__ ((__gnu_inline__)) size_t + mbrlen (const char *__restrict __s, size_t __n, mbstate_t *__restrict __ps) throw () + +{ return (__ps != __null + ? mbrtowc (__null, __s, __n, __ps) : __mbrlen (__s, __n, __null)); } + + + + + +extern size_t mbsrtowcs (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __len, + mbstate_t *__restrict __ps) throw (); + + + +extern size_t wcsrtombs (char *__restrict __dst, + const wchar_t **__restrict __src, size_t __len, + mbstate_t *__restrict __ps) throw (); + + + + + + +extern size_t mbsnrtowcs (wchar_t *__restrict __dst, + const char **__restrict __src, size_t __nmc, + size_t __len, mbstate_t *__restrict __ps) throw (); + + + +extern size_t wcsnrtombs (char *__restrict __dst, + const wchar_t **__restrict __src, + size_t __nwc, size_t __len, + mbstate_t *__restrict __ps) throw (); + + + + + + +extern int wcwidth (wchar_t __c) throw (); + + + +extern int wcswidth (const wchar_t *__s, size_t __n) throw (); + + + + + + +extern double wcstod (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) throw (); + + + + + +extern float wcstof (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) throw (); +extern long double wcstold (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr) throw (); + + + + + + + +extern long int wcstol (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base) throw (); + + + +extern unsigned long int wcstoul (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base) + throw (); + + + + + + +__extension__ +extern long long int wcstoll (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base) + throw (); + + + +__extension__ +extern unsigned long long int wcstoull (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) throw (); + + + + + + +__extension__ +extern long long int wcstoq (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base) + throw (); + + + +__extension__ +extern unsigned long long int wcstouq (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base) throw (); +# 533 "/usr/include/wchar.h" 3 4 +extern long int wcstol_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, int __base, + __locale_t __loc) throw (); + +extern unsigned long int wcstoul_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, __locale_t __loc) throw (); + +__extension__ +extern long long int wcstoll_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, __locale_t __loc) throw (); + +__extension__ +extern unsigned long long int wcstoull_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + int __base, __locale_t __loc) + throw (); + +extern double wcstod_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, __locale_t __loc) + throw (); + +extern float wcstof_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, __locale_t __loc) + throw (); + +extern long double wcstold_l (const wchar_t *__restrict __nptr, + wchar_t **__restrict __endptr, + __locale_t __loc) throw (); + + + + + + +extern wchar_t *wcpcpy (wchar_t *__restrict __dest, + const wchar_t *__restrict __src) throw (); + + + +extern wchar_t *wcpncpy (wchar_t *__restrict __dest, + const wchar_t *__restrict __src, size_t __n) + throw (); + + + + + + +extern __FILE *open_wmemstream (wchar_t **__bufloc, size_t *__sizeloc) throw (); + + + + + + +extern int fwide (__FILE *__fp, int __mode) throw (); + + + + + + +extern int fwprintf (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...) + ; + + + + +extern int wprintf (const wchar_t *__restrict __format, ...) + ; + +extern int swprintf (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __format, ...) + throw () ; + + + + + +extern int vfwprintf (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) + ; + + + + +extern int vwprintf (const wchar_t *__restrict __format, + __gnuc_va_list __arg) + ; + + +extern int vswprintf (wchar_t *__restrict __s, size_t __n, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) + throw () ; + + + + + + +extern int fwscanf (__FILE *__restrict __stream, + const wchar_t *__restrict __format, ...) + ; + + + + +extern int wscanf (const wchar_t *__restrict __format, ...) + ; + +extern int swscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, ...) + throw () ; +# 692 "/usr/include/wchar.h" 3 4 +extern int vfwscanf (__FILE *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) + ; + + + + +extern int vwscanf (const wchar_t *__restrict __format, + __gnuc_va_list __arg) + ; + +extern int vswscanf (const wchar_t *__restrict __s, + const wchar_t *__restrict __format, + __gnuc_va_list __arg) + throw () ; +# 748 "/usr/include/wchar.h" 3 4 +extern wint_t fgetwc (__FILE *__stream); +extern wint_t getwc (__FILE *__stream); + + + + + +extern wint_t getwchar (void); + + + + + + +extern wint_t fputwc (wchar_t __wc, __FILE *__stream); +extern wint_t putwc (wchar_t __wc, __FILE *__stream); + + + + + +extern wint_t putwchar (wchar_t __wc); + + + + + + + +extern wchar_t *fgetws (wchar_t *__restrict __ws, int __n, + __FILE *__restrict __stream); + + + + + +extern int fputws (const wchar_t *__restrict __ws, + __FILE *__restrict __stream); + + + + + + +extern wint_t ungetwc (wint_t __wc, __FILE *__stream); +# 804 "/usr/include/wchar.h" 3 4 +extern wint_t getwc_unlocked (__FILE *__stream); +extern wint_t getwchar_unlocked (void); + + + + + + + +extern wint_t fgetwc_unlocked (__FILE *__stream); + + + + + + + +extern wint_t fputwc_unlocked (wchar_t __wc, __FILE *__stream); +# 830 "/usr/include/wchar.h" 3 4 +extern wint_t putwc_unlocked (wchar_t __wc, __FILE *__stream); +extern wint_t putwchar_unlocked (wchar_t __wc); +# 840 "/usr/include/wchar.h" 3 4 +extern wchar_t *fgetws_unlocked (wchar_t *__restrict __ws, int __n, + __FILE *__restrict __stream); + + + + + + + +extern int fputws_unlocked (const wchar_t *__restrict __ws, + __FILE *__restrict __stream); + + + + + + + +extern size_t wcsftime (wchar_t *__restrict __s, size_t __maxsize, + const wchar_t *__restrict __format, + const struct tm *__restrict __tp) throw (); + + + + + + + +extern size_t wcsftime_l (wchar_t *__restrict __s, size_t __maxsize, + const wchar_t *__restrict __format, + const struct tm *__restrict __tp, + __locale_t __loc) throw (); +# 894 "/usr/include/wchar.h" 3 4 +} +# 45 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 2 3 +# 62 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 3 +namespace std +{ + using ::mbstate_t; +} +# 135 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + using ::wint_t; + + using ::btowc; + using ::fgetwc; + using ::fgetws; + using ::fputwc; + using ::fputws; + using ::fwide; + using ::fwprintf; + using ::fwscanf; + using ::getwc; + using ::getwchar; + using ::mbrlen; + using ::mbrtowc; + using ::mbsinit; + using ::mbsrtowcs; + using ::putwc; + using ::putwchar; + + using ::swprintf; + + using ::swscanf; + using ::ungetwc; + using ::vfwprintf; + + using ::vfwscanf; + + + using ::vswprintf; + + + using ::vswscanf; + + using ::vwprintf; + + using ::vwscanf; + + using ::wcrtomb; + using ::wcscat; + using ::wcscmp; + using ::wcscoll; + using ::wcscpy; + using ::wcscspn; + using ::wcsftime; + using ::wcslen; + using ::wcsncat; + using ::wcsncmp; + using ::wcsncpy; + using ::wcsrtombs; + using ::wcsspn; + using ::wcstod; + + using ::wcstof; + + using ::wcstok; + using ::wcstol; + using ::wcstoul; + using ::wcsxfrm; + using ::wctob; + using ::wmemcmp; + using ::wmemcpy; + using ::wmemmove; + using ::wmemset; + using ::wprintf; + using ::wscanf; + using ::wcschr; + using ::wcspbrk; + using ::wcsrchr; + using ::wcsstr; + using ::wmemchr; + + + inline wchar_t* + wcschr(wchar_t* __p, wchar_t __c) + { return wcschr(const_cast<const wchar_t*>(__p), __c); } + + inline wchar_t* + wcspbrk(wchar_t* __s1, const wchar_t* __s2) + { return wcspbrk(const_cast<const wchar_t*>(__s1), __s2); } + + inline wchar_t* + wcsrchr(wchar_t* __p, wchar_t __c) + { return wcsrchr(const_cast<const wchar_t*>(__p), __c); } + + inline wchar_t* + wcsstr(wchar_t* __s1, const wchar_t* __s2) + { return wcsstr(const_cast<const wchar_t*>(__s1), __s2); } + + inline wchar_t* + wmemchr(wchar_t* __p, wchar_t __c, size_t __n) + { return wmemchr(const_cast<const wchar_t*>(__p), __c, __n); } + + + +} + + + + + + + +namespace __gnu_cxx +{ + + + + + + using ::wcstold; +# 257 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 3 + using ::wcstoll; + using ::wcstoull; + +} + +namespace std +{ + using ::__gnu_cxx::wcstold; + using ::__gnu_cxx::wcstoll; + using ::__gnu_cxx::wcstoull; +} +# 277 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 3 +namespace std +{ + + using std::wcstof; + + + using std::vfwscanf; + + + using std::vswscanf; + + + using std::vwscanf; + + + + using std::wcstold; + using std::wcstoll; + using std::wcstoull; + +} +# 41 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/postypes.h" 2 3 +# 68 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/postypes.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 90 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/postypes.h" 3 + typedef long long streamoff; + + + + + + + + typedef ptrdiff_t streamsize; +# 111 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/postypes.h" 3 + template<typename _StateT> + class fpos + { + private: + streamoff _M_off; + _StateT _M_state; + + public: + + + + + fpos() + : _M_off(0), _M_state() { } +# 133 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/postypes.h" 3 + fpos(streamoff __off) + : _M_off(__off), _M_state() { } + + + operator streamoff() const { return _M_off; } + + + void + state(_StateT __st) + { _M_state = __st; } + + + _StateT + state() const + { return _M_state; } + + + + + + fpos& + operator+=(streamoff __off) + { + _M_off += __off; + return *this; + } + + + + + + fpos& + operator-=(streamoff __off) + { + _M_off -= __off; + return *this; + } + + + + + + + + fpos + operator+(streamoff __off) const + { + fpos __pos(*this); + __pos += __off; + return __pos; + } + + + + + + + + fpos + operator-(streamoff __off) const + { + fpos __pos(*this); + __pos -= __off; + return __pos; + } + + + + + + + streamoff + operator-(const fpos& __other) const + { return _M_off - __other._M_off; } + }; + + + + + + + template<typename _StateT> + inline bool + operator==(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) + { return streamoff(__lhs) == streamoff(__rhs); } + + template<typename _StateT> + inline bool + operator!=(const fpos<_StateT>& __lhs, const fpos<_StateT>& __rhs) + { return streamoff(__lhs) != streamoff(__rhs); } + + + + + + typedef fpos<mbstate_t> streampos; + + typedef fpos<mbstate_t> wstreampos; + + + + typedef fpos<mbstate_t> u16streampos; + + typedef fpos<mbstate_t> u32streampos; + + + +} +# 41 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/char_traits.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 3 + + + + +# 1 "/usr/include/wchar.h" 1 3 4 +# 45 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 2 3 +# 42 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/char_traits.h" 2 3 + +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ +# 57 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/char_traits.h" 3 + template<typename _CharT> + struct _Char_types + { + typedef unsigned long int_type; + typedef std::streampos pos_type; + typedef std::streamoff off_type; + typedef std::mbstate_t state_type; + }; +# 82 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/char_traits.h" 3 + template<typename _CharT> + struct char_traits + { + typedef _CharT char_type; + typedef typename _Char_types<_CharT>::int_type int_type; + typedef typename _Char_types<_CharT>::pos_type pos_type; + typedef typename _Char_types<_CharT>::off_type off_type; + typedef typename _Char_types<_CharT>::state_type state_type; + + static void + assign(char_type& __c1, const char_type& __c2) + { __c1 = __c2; } + + static constexpr bool + eq(const char_type& __c1, const char_type& __c2) + { return __c1 == __c2; } + + static constexpr bool + lt(const char_type& __c1, const char_type& __c2) + { return __c1 < __c2; } + + static int + compare(const char_type* __s1, const char_type* __s2, std::size_t __n); + + static std::size_t + length(const char_type* __s); + + static const char_type* + find(const char_type* __s, std::size_t __n, const char_type& __a); + + static char_type* + move(char_type* __s1, const char_type* __s2, std::size_t __n); + + static char_type* + copy(char_type* __s1, const char_type* __s2, std::size_t __n); + + static char_type* + assign(char_type* __s, std::size_t __n, char_type __a); + + static constexpr char_type + to_char_type(const int_type& __c) + { return static_cast<char_type>(__c); } + + static constexpr int_type + to_int_type(const char_type& __c) + { return static_cast<int_type>(__c); } + + static constexpr bool + eq_int_type(const int_type& __c1, const int_type& __c2) + { return __c1 == __c2; } + + static constexpr int_type + eof() + { return static_cast<int_type>(-1); } + + static constexpr int_type + not_eof(const int_type& __c) + { return !eq_int_type(__c, eof()) ? __c : to_int_type(char_type()); } + }; + + template<typename _CharT> + int + char_traits<_CharT>:: + compare(const char_type* __s1, const char_type* __s2, std::size_t __n) + { + for (std::size_t __i = 0; __i < __n; ++__i) + if (lt(__s1[__i], __s2[__i])) + return -1; + else if (lt(__s2[__i], __s1[__i])) + return 1; + return 0; + } + + template<typename _CharT> + std::size_t + char_traits<_CharT>:: + length(const char_type* __p) + { + std::size_t __i = 0; + while (!eq(__p[__i], char_type())) + ++__i; + return __i; + } + + template<typename _CharT> + const typename char_traits<_CharT>::char_type* + char_traits<_CharT>:: + find(const char_type* __s, std::size_t __n, const char_type& __a) + { + for (std::size_t __i = 0; __i < __n; ++__i) + if (eq(__s[__i], __a)) + return __s + __i; + return 0; + } + + template<typename _CharT> + typename char_traits<_CharT>::char_type* + char_traits<_CharT>:: + move(char_type* __s1, const char_type* __s2, std::size_t __n) + { + return static_cast<_CharT*>(__builtin_memmove(__s1, __s2, + __n * sizeof(char_type))); + } + + template<typename _CharT> + typename char_traits<_CharT>::char_type* + char_traits<_CharT>:: + copy(char_type* __s1, const char_type* __s2, std::size_t __n) + { + + std::copy(__s2, __s2 + __n, __s1); + return __s1; + } + + template<typename _CharT> + typename char_traits<_CharT>::char_type* + char_traits<_CharT>:: + assign(char_type* __s, std::size_t __n, char_type __a) + { + + std::fill_n(__s, __n, __a); + return __s; + } + + +} + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 226 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/char_traits.h" 3 + template<class _CharT> + struct char_traits : public __gnu_cxx::char_traits<_CharT> + { }; + + + + template<> + struct char_traits<char> + { + typedef char char_type; + typedef int int_type; + typedef streampos pos_type; + typedef streamoff off_type; + typedef mbstate_t state_type; + + static void + assign(char_type& __c1, const char_type& __c2) noexcept + { __c1 = __c2; } + + static constexpr bool + eq(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr bool + lt(const char_type& __c1, const char_type& __c2) noexcept + { + + return (static_cast<unsigned char>(__c1) + < static_cast<unsigned char>(__c2)); + } + + static int + compare(const char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return 0; + return __builtin_memcmp(__s1, __s2, __n); + } + + static size_t + length(const char_type* __s) + { return __builtin_strlen(__s); } + + static const char_type* + find(const char_type* __s, size_t __n, const char_type& __a) + { + if (__n == 0) + return 0; + return static_cast<const char_type*>(__builtin_memchr(__s, __a, __n)); + } + + static char_type* + move(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + return static_cast<char_type*>(__builtin_memmove(__s1, __s2, __n)); + } + + static char_type* + copy(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + return static_cast<char_type*>(__builtin_memcpy(__s1, __s2, __n)); + } + + static char_type* + assign(char_type* __s, size_t __n, char_type __a) + { + if (__n == 0) + return __s; + return static_cast<char_type*>(__builtin_memset(__s, __a, __n)); + } + + static constexpr char_type + to_char_type(const int_type& __c) noexcept + { return static_cast<char_type>(__c); } + + + + static constexpr int_type + to_int_type(const char_type& __c) noexcept + { return static_cast<int_type>(static_cast<unsigned char>(__c)); } + + static constexpr bool + eq_int_type(const int_type& __c1, const int_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr int_type + eof() noexcept + { return static_cast<int_type>(-1); } + + static constexpr int_type + not_eof(const int_type& __c) noexcept + { return (__c == eof()) ? 0 : __c; } + }; + + + + + template<> + struct char_traits<wchar_t> + { + typedef wchar_t char_type; + typedef wint_t int_type; + typedef streamoff off_type; + typedef wstreampos pos_type; + typedef mbstate_t state_type; + + static void + assign(char_type& __c1, const char_type& __c2) noexcept + { __c1 = __c2; } + + static constexpr bool + eq(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr bool + lt(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 < __c2; } + + static int + compare(const char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return 0; + return wmemcmp(__s1, __s2, __n); + } + + static size_t + length(const char_type* __s) + { return wcslen(__s); } + + static const char_type* + find(const char_type* __s, size_t __n, const char_type& __a) + { + if (__n == 0) + return 0; + return wmemchr(__s, __a, __n); + } + + static char_type* + move(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + return wmemmove(__s1, __s2, __n); + } + + static char_type* + copy(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + return wmemcpy(__s1, __s2, __n); + } + + static char_type* + assign(char_type* __s, size_t __n, char_type __a) + { + if (__n == 0) + return __s; + return wmemset(__s, __a, __n); + } + + static constexpr char_type + to_char_type(const int_type& __c) noexcept + { return char_type(__c); } + + static constexpr int_type + to_int_type(const char_type& __c) noexcept + { return int_type(__c); } + + static constexpr bool + eq_int_type(const int_type& __c1, const int_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr int_type + eof() noexcept + { return static_cast<int_type>((0xffffffffu)); } + + static constexpr int_type + not_eof(const int_type& __c) noexcept + { return eq_int_type(__c, eof()) ? 0 : __c; } + }; + + + +} + + + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdint" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdint" 3 + + + + + + + + +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stdint.h" 1 3 +# 42 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdint" 2 3 + + + + +namespace std +{ + using ::int8_t; + using ::int16_t; + using ::int32_t; + using ::int64_t; + + using ::int_fast8_t; + using ::int_fast16_t; + using ::int_fast32_t; + using ::int_fast64_t; + + using ::int_least8_t; + using ::int_least16_t; + using ::int_least32_t; + using ::int_least64_t; + + using ::intmax_t; + using ::intptr_t; + + using ::uint8_t; + using ::uint16_t; + using ::uint32_t; + using ::uint64_t; + + using ::uint_fast8_t; + using ::uint_fast16_t; + using ::uint_fast32_t; + using ::uint_fast64_t; + + using ::uint_least8_t; + using ::uint_least16_t; + using ::uint_least32_t; + using ::uint_least64_t; + + using ::uintmax_t; + using ::uintptr_t; +} +# 421 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/char_traits.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + template<> + struct char_traits<char16_t> + { + typedef char16_t char_type; + typedef uint_least16_t int_type; + typedef streamoff off_type; + typedef u16streampos pos_type; + typedef mbstate_t state_type; + + static void + assign(char_type& __c1, const char_type& __c2) noexcept + { __c1 = __c2; } + + static constexpr bool + eq(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr bool + lt(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 < __c2; } + + static int + compare(const char_type* __s1, const char_type* __s2, size_t __n) + { + for (size_t __i = 0; __i < __n; ++__i) + if (lt(__s1[__i], __s2[__i])) + return -1; + else if (lt(__s2[__i], __s1[__i])) + return 1; + return 0; + } + + static size_t + length(const char_type* __s) + { + size_t __i = 0; + while (!eq(__s[__i], char_type())) + ++__i; + return __i; + } + + static const char_type* + find(const char_type* __s, size_t __n, const char_type& __a) + { + for (size_t __i = 0; __i < __n; ++__i) + if (eq(__s[__i], __a)) + return __s + __i; + return 0; + } + + static char_type* + move(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + return (static_cast<char_type*> + (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); + } + + static char_type* + copy(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + return (static_cast<char_type*> + (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); + } + + static char_type* + assign(char_type* __s, size_t __n, char_type __a) + { + for (size_t __i = 0; __i < __n; ++__i) + assign(__s[__i], __a); + return __s; + } + + static constexpr char_type + to_char_type(const int_type& __c) noexcept + { return char_type(__c); } + + static constexpr int_type + to_int_type(const char_type& __c) noexcept + { return int_type(__c); } + + static constexpr bool + eq_int_type(const int_type& __c1, const int_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr int_type + eof() noexcept + { return static_cast<int_type>(-1); } + + static constexpr int_type + not_eof(const int_type& __c) noexcept + { return eq_int_type(__c, eof()) ? 0 : __c; } + }; + + template<> + struct char_traits<char32_t> + { + typedef char32_t char_type; + typedef uint_least32_t int_type; + typedef streamoff off_type; + typedef u32streampos pos_type; + typedef mbstate_t state_type; + + static void + assign(char_type& __c1, const char_type& __c2) noexcept + { __c1 = __c2; } + + static constexpr bool + eq(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr bool + lt(const char_type& __c1, const char_type& __c2) noexcept + { return __c1 < __c2; } + + static int + compare(const char_type* __s1, const char_type* __s2, size_t __n) + { + for (size_t __i = 0; __i < __n; ++__i) + if (lt(__s1[__i], __s2[__i])) + return -1; + else if (lt(__s2[__i], __s1[__i])) + return 1; + return 0; + } + + static size_t + length(const char_type* __s) + { + size_t __i = 0; + while (!eq(__s[__i], char_type())) + ++__i; + return __i; + } + + static const char_type* + find(const char_type* __s, size_t __n, const char_type& __a) + { + for (size_t __i = 0; __i < __n; ++__i) + if (eq(__s[__i], __a)) + return __s + __i; + return 0; + } + + static char_type* + move(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + return (static_cast<char_type*> + (__builtin_memmove(__s1, __s2, __n * sizeof(char_type)))); + } + + static char_type* + copy(char_type* __s1, const char_type* __s2, size_t __n) + { + if (__n == 0) + return __s1; + return (static_cast<char_type*> + (__builtin_memcpy(__s1, __s2, __n * sizeof(char_type)))); + } + + static char_type* + assign(char_type* __s, size_t __n, char_type __a) + { + for (size_t __i = 0; __i < __n; ++__i) + assign(__s[__i], __a); + return __s; + } + + static constexpr char_type + to_char_type(const int_type& __c) noexcept + { return char_type(__c); } + + static constexpr int_type + to_int_type(const char_type& __c) noexcept + { return int_type(__c); } + + static constexpr bool + eq_int_type(const int_type& __c1, const int_type& __c2) noexcept + { return __c1 == __c2; } + + static constexpr int_type + eof() noexcept + { return static_cast<int_type>(-1); } + + static constexpr int_type + not_eof(const int_type& __c) noexcept + { return eq_int_type(__c, eof()) ? 0 : __c; } + }; + + +} +# 41 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/string" 2 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/localefwd.h" 1 3 +# 38 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/localefwd.h" 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++locale.h" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++locale.h" 3 + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/clocale" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/clocale" 3 + + +# 1 "/usr/include/locale.h" 1 3 4 +# 28 "/usr/include/locale.h" 3 4 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 4 +# 29 "/usr/include/locale.h" 2 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/locale.h" 1 3 4 +# 30 "/usr/include/locale.h" 2 3 4 + +extern "C" { +# 53 "/usr/include/locale.h" 3 4 +struct lconv +{ + + + char *decimal_point; + char *thousands_sep; + + + + + + char *grouping; + + + + + + char *int_curr_symbol; + char *currency_symbol; + char *mon_decimal_point; + char *mon_thousands_sep; + char *mon_grouping; + char *positive_sign; + char *negative_sign; + char int_frac_digits; + char frac_digits; + + char p_cs_precedes; + + char p_sep_by_space; + + char n_cs_precedes; + + char n_sep_by_space; + + + + + + + char p_sign_posn; + char n_sign_posn; + + + char int_p_cs_precedes; + + char int_p_sep_by_space; + + char int_n_cs_precedes; + + char int_n_sep_by_space; + + + + + + + char int_p_sign_posn; + char int_n_sign_posn; +# 120 "/usr/include/locale.h" 3 4 +}; + + + +extern char *setlocale (int __category, const char *__locale) throw (); + + +extern struct lconv *localeconv (void) throw (); +# 151 "/usr/include/locale.h" 3 4 +extern __locale_t newlocale (int __category_mask, const char *__locale, + __locale_t __base) throw (); +# 186 "/usr/include/locale.h" 3 4 +extern __locale_t duplocale (__locale_t __dataset) throw (); + + + +extern void freelocale (__locale_t __dataset) throw (); + + + + + + +extern __locale_t uselocale (__locale_t __dataset) throw (); + + + + + + + +} +# 43 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/clocale" 2 3 + + + + + + + + +namespace std +{ + using ::lconv; + using ::setlocale; + using ::localeconv; +} +# 42 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++locale.h" 2 3 + + + + + + +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ + + + extern "C" __typeof(uselocale) __uselocale; + + +} + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + typedef __locale_t __c_locale; + + + + + + inline int + __convert_from_v(const __c_locale& __cloc __attribute__ ((__unused__)), + char* __out, + const int __size __attribute__ ((__unused__)), + const char* __fmt, ...) + { + + __c_locale __old = __gnu_cxx::__uselocale(__cloc); +# 88 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/c++locale.h" 3 + __builtin_va_list __args; + __builtin_va_start(__args, __fmt); + + + const int __ret = __builtin_vsnprintf(__out, __size, __fmt, __args); + + + + + __builtin_va_end(__args); + + + __gnu_cxx::__uselocale(__old); + + + + + + + + return __ret; + } + + +} +# 41 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/localefwd.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/iosfwd" 1 3 +# 37 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/iosfwd" 3 + + + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 74 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/iosfwd" 3 + class ios_base; + + template<typename _CharT, typename _Traits = char_traits<_CharT> > + class basic_ios; + + template<typename _CharT, typename _Traits = char_traits<_CharT> > + class basic_streambuf; + + template<typename _CharT, typename _Traits = char_traits<_CharT> > + class basic_istream; + + template<typename _CharT, typename _Traits = char_traits<_CharT> > + class basic_ostream; + + template<typename _CharT, typename _Traits = char_traits<_CharT> > + class basic_iostream; + + +namespace __cxx11 { + + template<typename _CharT, typename _Traits = char_traits<_CharT>, + typename _Alloc = allocator<_CharT> > + class basic_stringbuf; + + template<typename _CharT, typename _Traits = char_traits<_CharT>, + typename _Alloc = allocator<_CharT> > + class basic_istringstream; + + template<typename _CharT, typename _Traits = char_traits<_CharT>, + typename _Alloc = allocator<_CharT> > + class basic_ostringstream; + + template<typename _CharT, typename _Traits = char_traits<_CharT>, + typename _Alloc = allocator<_CharT> > + class basic_stringstream; + +} + + template<typename _CharT, typename _Traits = char_traits<_CharT> > + class basic_filebuf; + + template<typename _CharT, typename _Traits = char_traits<_CharT> > + class basic_ifstream; + + template<typename _CharT, typename _Traits = char_traits<_CharT> > + class basic_ofstream; + + template<typename _CharT, typename _Traits = char_traits<_CharT> > + class basic_fstream; + + template<typename _CharT, typename _Traits = char_traits<_CharT> > + class istreambuf_iterator; + + template<typename _CharT, typename _Traits = char_traits<_CharT> > + class ostreambuf_iterator; + + + + typedef basic_ios<char> ios; + + + typedef basic_streambuf<char> streambuf; + + + typedef basic_istream<char> istream; + + + typedef basic_ostream<char> ostream; + + + typedef basic_iostream<char> iostream; + + + typedef basic_stringbuf<char> stringbuf; + + + typedef basic_istringstream<char> istringstream; + + + typedef basic_ostringstream<char> ostringstream; + + + typedef basic_stringstream<char> stringstream; + + + typedef basic_filebuf<char> filebuf; + + + typedef basic_ifstream<char> ifstream; + + + typedef basic_ofstream<char> ofstream; + + + typedef basic_fstream<char> fstream; + + + + typedef basic_ios<wchar_t> wios; + + + typedef basic_streambuf<wchar_t> wstreambuf; + + + typedef basic_istream<wchar_t> wistream; + + + typedef basic_ostream<wchar_t> wostream; + + + typedef basic_iostream<wchar_t> wiostream; + + + typedef basic_stringbuf<wchar_t> wstringbuf; + + + typedef basic_istringstream<wchar_t> wistringstream; + + + typedef basic_ostringstream<wchar_t> wostringstream; + + + typedef basic_stringstream<wchar_t> wstringstream; + + + typedef basic_filebuf<wchar_t> wfilebuf; + + + typedef basic_ifstream<wchar_t> wifstream; + + + typedef basic_ofstream<wchar_t> wofstream; + + + typedef basic_fstream<wchar_t> wfstream; + + + + +} +# 42 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/localefwd.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cctype" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cctype" 3 + + +# 1 "/usr/include/ctype.h" 1 3 4 +# 28 "/usr/include/ctype.h" 3 4 +extern "C" { +# 46 "/usr/include/ctype.h" 3 4 +enum +{ + _ISupper = ((0) < 8 ? ((1 << (0)) << 8) : ((1 << (0)) >> 8)), + _ISlower = ((1) < 8 ? ((1 << (1)) << 8) : ((1 << (1)) >> 8)), + _ISalpha = ((2) < 8 ? ((1 << (2)) << 8) : ((1 << (2)) >> 8)), + _ISdigit = ((3) < 8 ? ((1 << (3)) << 8) : ((1 << (3)) >> 8)), + _ISxdigit = ((4) < 8 ? ((1 << (4)) << 8) : ((1 << (4)) >> 8)), + _ISspace = ((5) < 8 ? ((1 << (5)) << 8) : ((1 << (5)) >> 8)), + _ISprint = ((6) < 8 ? ((1 << (6)) << 8) : ((1 << (6)) >> 8)), + _ISgraph = ((7) < 8 ? ((1 << (7)) << 8) : ((1 << (7)) >> 8)), + _ISblank = ((8) < 8 ? ((1 << (8)) << 8) : ((1 << (8)) >> 8)), + _IScntrl = ((9) < 8 ? ((1 << (9)) << 8) : ((1 << (9)) >> 8)), + _ISpunct = ((10) < 8 ? ((1 << (10)) << 8) : ((1 << (10)) >> 8)), + _ISalnum = ((11) < 8 ? ((1 << (11)) << 8) : ((1 << (11)) >> 8)) +}; +# 79 "/usr/include/ctype.h" 3 4 +extern const unsigned short int **__ctype_b_loc (void) + throw () __attribute__ ((__const__)); +extern const __int32_t **__ctype_tolower_loc (void) + throw () __attribute__ ((__const__)); +extern const __int32_t **__ctype_toupper_loc (void) + throw () __attribute__ ((__const__)); +# 110 "/usr/include/ctype.h" 3 4 +extern int isalnum (int) throw (); +extern int isalpha (int) throw (); +extern int iscntrl (int) throw (); +extern int isdigit (int) throw (); +extern int islower (int) throw (); +extern int isgraph (int) throw (); +extern int isprint (int) throw (); +extern int ispunct (int) throw (); +extern int isspace (int) throw (); +extern int isupper (int) throw (); +extern int isxdigit (int) throw (); + + + +extern int tolower (int __c) throw (); + + +extern int toupper (int __c) throw (); +# 136 "/usr/include/ctype.h" 3 4 +extern int isblank (int) throw (); + + + + + + +extern int isctype (int __c, int __mask) throw (); + + + + + + +extern int isascii (int __c) throw (); + + + +extern int toascii (int __c) throw (); + + + +extern int _toupper (int) throw (); +extern int _tolower (int) throw (); +# 271 "/usr/include/ctype.h" 3 4 +extern int isalnum_l (int, __locale_t) throw (); +extern int isalpha_l (int, __locale_t) throw (); +extern int iscntrl_l (int, __locale_t) throw (); +extern int isdigit_l (int, __locale_t) throw (); +extern int islower_l (int, __locale_t) throw (); +extern int isgraph_l (int, __locale_t) throw (); +extern int isprint_l (int, __locale_t) throw (); +extern int ispunct_l (int, __locale_t) throw (); +extern int isspace_l (int, __locale_t) throw (); +extern int isupper_l (int, __locale_t) throw (); +extern int isxdigit_l (int, __locale_t) throw (); + +extern int isblank_l (int, __locale_t) throw (); + + + +extern int __tolower_l (int __c, __locale_t __l) throw (); +extern int tolower_l (int __c, __locale_t __l) throw (); + + +extern int __toupper_l (int __c, __locale_t __l) throw (); +extern int toupper_l (int __c, __locale_t __l) throw (); +# 347 "/usr/include/ctype.h" 3 4 +} +# 43 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cctype" 2 3 +# 62 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cctype" 3 +namespace std +{ + using ::isalnum; + using ::isalpha; + using ::iscntrl; + using ::isdigit; + using ::isgraph; + using ::islower; + using ::isprint; + using ::ispunct; + using ::isspace; + using ::isupper; + using ::isxdigit; + using ::tolower; + using ::toupper; +} + + + + + + + +namespace std +{ + using ::isblank; +} +# 43 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/localefwd.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 55 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/localefwd.h" 3 + class locale; + + template<typename _Facet> + bool + has_facet(const locale&) throw(); + + template<typename _Facet> + const _Facet& + use_facet(const locale&); + + + template<typename _CharT> + bool + isspace(_CharT, const locale&); + + template<typename _CharT> + bool + isprint(_CharT, const locale&); + + template<typename _CharT> + bool + iscntrl(_CharT, const locale&); + + template<typename _CharT> + bool + isupper(_CharT, const locale&); + + template<typename _CharT> + bool + islower(_CharT, const locale&); + + template<typename _CharT> + bool + isalpha(_CharT, const locale&); + + template<typename _CharT> + bool + isdigit(_CharT, const locale&); + + template<typename _CharT> + bool + ispunct(_CharT, const locale&); + + template<typename _CharT> + bool + isxdigit(_CharT, const locale&); + + template<typename _CharT> + bool + isalnum(_CharT, const locale&); + + template<typename _CharT> + bool + isgraph(_CharT, const locale&); + + + template<typename _CharT> + bool + isblank(_CharT, const locale&); + + + template<typename _CharT> + _CharT + toupper(_CharT, const locale&); + + template<typename _CharT> + _CharT + tolower(_CharT, const locale&); + + + class ctype_base; + template<typename _CharT> + class ctype; + template<> class ctype<char>; + + template<> class ctype<wchar_t>; + + template<typename _CharT> + class ctype_byname; + + + class codecvt_base; + template<typename _InternT, typename _ExternT, typename _StateT> + class codecvt; + template<> class codecvt<char, char, mbstate_t>; + + template<> class codecvt<wchar_t, char, mbstate_t>; + + template<typename _InternT, typename _ExternT, typename _StateT> + class codecvt_byname; + + + + template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > + class num_get; + template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > + class num_put; + +namespace __cxx11 { + template<typename _CharT> class numpunct; + template<typename _CharT> class numpunct_byname; +} + +namespace __cxx11 { + + template<typename _CharT> + class collate; + template<typename _CharT> + class collate_byname; +} + + + class time_base; +namespace __cxx11 { + template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > + class time_get; + template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > + class time_get_byname; +} + template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > + class time_put; + template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > + class time_put_byname; + + + class money_base; +namespace __cxx11 { + template<typename _CharT, typename _InIter = istreambuf_iterator<_CharT> > + class money_get; + template<typename _CharT, typename _OutIter = ostreambuf_iterator<_CharT> > + class money_put; +} +namespace __cxx11 { + template<typename _CharT, bool _Intl = false> + class moneypunct; + template<typename _CharT, bool _Intl = false> + class moneypunct_byname; +} + + + class messages_base; +namespace __cxx11 { + template<typename _CharT> + class messages; + template<typename _CharT> + class messages_byname; +} + + +} +# 44 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/string" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/ostream_insert.h" 1 3 +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/ostream_insert.h" 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/cxxabi_forced.h" 1 3 +# 35 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/cxxabi_forced.h" 3 + +#pragma GCC visibility push(default) + + +namespace __cxxabiv1 +{ + + + + + + + + class __forced_unwind + { + virtual ~__forced_unwind() throw(); + + + virtual void __pure_dummy() = 0; + }; +} + + +#pragma GCC visibility pop +# 37 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/ostream_insert.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + template<typename _CharT, typename _Traits> + inline void + __ostream_write(basic_ostream<_CharT, _Traits>& __out, + const _CharT* __s, streamsize __n) + { + typedef basic_ostream<_CharT, _Traits> __ostream_type; + typedef typename __ostream_type::ios_base __ios_base; + + const streamsize __put = __out.rdbuf()->sputn(__s, __n); + if (__put != __n) + __out.setstate(__ios_base::badbit); + } + + template<typename _CharT, typename _Traits> + inline void + __ostream_fill(basic_ostream<_CharT, _Traits>& __out, streamsize __n) + { + typedef basic_ostream<_CharT, _Traits> __ostream_type; + typedef typename __ostream_type::ios_base __ios_base; + + const _CharT __c = __out.fill(); + for (; __n > 0; --__n) + { + const typename _Traits::int_type __put = __out.rdbuf()->sputc(__c); + if (_Traits::eq_int_type(__put, _Traits::eof())) + { + __out.setstate(__ios_base::badbit); + break; + } + } + } + + template<typename _CharT, typename _Traits> + basic_ostream<_CharT, _Traits>& + __ostream_insert(basic_ostream<_CharT, _Traits>& __out, + const _CharT* __s, streamsize __n) + { + typedef basic_ostream<_CharT, _Traits> __ostream_type; + typedef typename __ostream_type::ios_base __ios_base; + + typename __ostream_type::sentry __cerb(__out); + if (__cerb) + { + try + { + const streamsize __w = __out.width(); + if (__w > __n) + { + const bool __left = ((__out.flags() + & __ios_base::adjustfield) + == __ios_base::left); + if (!__left) + __ostream_fill(__out, __w - __n); + if (__out.good()) + __ostream_write(__out, __s, __n); + if (__left && __out.good()) + __ostream_fill(__out, __w - __n); + } + else + __ostream_write(__out, __s, __n); + __out.width(0); + } + catch(__cxxabiv1::__forced_unwind&) + { + __out._M_setstate(__ios_base::badbit); + throw; + } + catch(...) + { __out._M_setstate(__ios_base::badbit); } + } + return __out; + } + + + + + extern template ostream& __ostream_insert(ostream&, const char*, streamsize); + + + extern template wostream& __ostream_insert(wostream&, const wchar_t*, + streamsize); + + + + +} +# 45 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/string" 2 3 + + + + + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 1 3 +# 38 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/atomicity.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/atomicity.h" 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr.h" 1 3 +# 30 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr.h" 3 +#pragma GCC visibility push(default) +# 148 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr-default.h" 1 3 +# 35 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr-default.h" 3 +# 1 "/usr/xenomai/include/cobalt/pthread.h" 1 3 +# 19 "/usr/xenomai/include/cobalt/pthread.h" 3 +# 1 "/usr/include/pthread.h" 1 3 4 +# 23 "/usr/include/pthread.h" 3 4 +# 1 "/usr/xenomai/include/cobalt/sched.h" 1 3 4 +# 19 "/usr/xenomai/include/cobalt/sched.h" 3 +# 1 "/usr/include/sched.h" 1 3 4 +# 28 "/usr/include/sched.h" 3 4 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stddef.h" 1 3 4 +# 29 "/usr/include/sched.h" 2 3 4 + + + + + +# 1 "/usr/xenomai/include/cobalt/time.h" 1 3 4 +# 19 "/usr/xenomai/include/cobalt/time.h" 3 +# 35 "/usr/include/sched.h" 2 3 4 + + + + + + + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 1 3 4 +# 73 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 3 4 +struct sched_param + { + int __sched_priority; + }; + +extern "C" { + + + +extern int clone (int (*__fn) (void *__arg), void *__child_stack, + int __flags, void *__arg, ...) throw (); + + +extern int unshare (int __flags) throw (); + + +extern int sched_getcpu (void) throw (); + + +extern int setns (int __fd, int __nstype) throw (); + + + +} + + + + + + + +struct __sched_param + { + int __sched_priority; + }; +# 119 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 3 4 +typedef unsigned long int __cpu_mask; + + + + + + +typedef struct +{ + __cpu_mask __bits[1024 / (8 * sizeof (__cpu_mask))]; +} cpu_set_t; +# 202 "/usr/include/arm-linux-gnueabihf/bits/sched.h" 3 4 +extern "C" { + +extern int __sched_cpucount (size_t __setsize, const cpu_set_t *__setp) + throw (); +extern cpu_set_t *__sched_cpualloc (size_t __count) throw () ; +extern void __sched_cpufree (cpu_set_t *__set) throw (); + +} +# 44 "/usr/include/sched.h" 2 3 4 + + + + +extern "C" { + + +extern int sched_setparam (__pid_t __pid, const struct sched_param *__param) + throw (); + + +extern int sched_getparam (__pid_t __pid, struct sched_param *__param) throw (); + + +extern int sched_setscheduler (__pid_t __pid, int __policy, + const struct sched_param *__param) throw (); + + +extern int sched_getscheduler (__pid_t __pid) throw (); + + +extern int sched_yield (void) throw (); + + +extern int sched_get_priority_max (int __algorithm) throw (); + + +extern int sched_get_priority_min (int __algorithm) throw (); + + +extern int sched_rr_get_interval (__pid_t __pid, struct timespec *__t) throw (); +# 118 "/usr/include/sched.h" 3 4 +extern int sched_setaffinity (__pid_t __pid, size_t __cpusetsize, + const cpu_set_t *__cpuset) throw (); + + +extern int sched_getaffinity (__pid_t __pid, size_t __cpusetsize, + cpu_set_t *__cpuset) throw (); + + +} +# 20 "/usr/xenomai/include/cobalt/sched.h" 2 3 + + + + + + +# 1 "/usr/xenomai/include/cobalt/uapi/sched.h" 1 3 +# 32 "/usr/xenomai/include/cobalt/uapi/sched.h" 3 +struct __sched_ss_param { + int __sched_low_priority; + struct timespec __sched_repl_period; + struct timespec __sched_init_budget; + int __sched_max_repl; +}; + + + +struct __sched_rr_param { + struct timespec __sched_rr_quantum; +}; + + + + + + +struct __sched_tp_param { + int __sched_partition; +}; + +struct sched_tp_window { + struct timespec offset; + struct timespec duration; + int ptid; +}; + +enum { + sched_tp_install, + sched_tp_uninstall, + sched_tp_start, + sched_tp_stop, +}; + +struct __sched_config_tp { + int op; + int nr_windows; + struct sched_tp_window windows[0]; +}; +# 81 "/usr/xenomai/include/cobalt/uapi/sched.h" 3 +struct __sched_quota_param { + int __sched_group; +}; + +enum { + sched_quota_add, + sched_quota_remove, + sched_quota_force_remove, + sched_quota_set, + sched_quota_get, +}; + +struct __sched_config_quota { + int op; + union { + struct { + int pshared; + } add; + struct { + int tgid; + } remove; + struct { + int tgid; + int quota; + int quota_peak; + } set; + struct { + int tgid; + } get; + }; + struct __sched_quota_info { + int tgid; + int quota; + int quota_peak; + int quota_sum; + } info; +}; + + + +struct sched_param_ex { + int __sched_priority; + union { + struct __sched_ss_param ss; + struct __sched_rr_param rr; + struct __sched_tp_param tp; + struct __sched_quota_param quota; + } sched_u; +}; + +union sched_config { + struct __sched_config_tp tp; + struct __sched_config_quota quota; +}; +# 27 "/usr/xenomai/include/cobalt/sched.h" 2 3 + + +extern "C" { + + +__typeof__(int) __cobalt_sched_yield(void); __typeof__(int) __real_sched_yield(void); __typeof__(int) __wrap_sched_yield(void); + +__typeof__(int) __cobalt_sched_get_priority_min(int policy); __typeof__(int) __real_sched_get_priority_min(int policy); __typeof__(int) __wrap_sched_get_priority_min(int policy); + +__typeof__(int) __cobalt_sched_get_priority_max(int policy); __typeof__(int) __real_sched_get_priority_max(int policy); __typeof__(int) __wrap_sched_get_priority_max(int policy); + +__typeof__(int) __cobalt_sched_setscheduler(pid_t pid, int policy, const struct sched_param *param); __typeof__(int) __real_sched_setscheduler(pid_t pid, int policy, const struct sched_param *param); __typeof__(int) __wrap_sched_setscheduler(pid_t pid, int policy, const struct sched_param *param); + + +__typeof__(int) __cobalt_sched_getscheduler(pid_t pid); __typeof__(int) __real_sched_getscheduler(pid_t pid); __typeof__(int) __wrap_sched_getscheduler(pid_t pid); + +int sched_get_priority_min_ex(int policy); + +int sched_get_priority_max_ex(int policy); + +int sched_setscheduler_ex(pid_t pid, int policy, + const struct sched_param_ex *param_ex); + +int sched_getscheduler_ex(pid_t pid, int *policy_r, + struct sched_param_ex *param_ex); + +int sched_setconfig_np(int cpu, int policy, + const union sched_config *config, size_t len); + +ssize_t sched_getconfig_np(int cpu, int policy, + union sched_config *config, size_t *len_r); + + +} +# 24 "/usr/include/pthread.h" 2 3 4 +# 1 "/usr/xenomai/include/cobalt/time.h" 1 3 4 +# 19 "/usr/xenomai/include/cobalt/time.h" 3 +# 25 "/usr/include/pthread.h" 2 3 4 + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" 1 3 4 +# 33 "/usr/include/arm-linux-gnueabihf/bits/setjmp.h" 3 4 +typedef int __jmp_buf[64] __attribute__((__aligned__ (8))); +# 28 "/usr/include/pthread.h" 2 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/wordsize.h" 1 3 4 +# 29 "/usr/include/pthread.h" 2 3 4 + + + +enum +{ + PTHREAD_CREATE_JOINABLE, + + PTHREAD_CREATE_DETACHED + +}; + + + +enum +{ + PTHREAD_MUTEX_TIMED_NP, + PTHREAD_MUTEX_RECURSIVE_NP, + PTHREAD_MUTEX_ERRORCHECK_NP, + PTHREAD_MUTEX_ADAPTIVE_NP + + , + PTHREAD_MUTEX_NORMAL = PTHREAD_MUTEX_TIMED_NP, + PTHREAD_MUTEX_RECURSIVE = PTHREAD_MUTEX_RECURSIVE_NP, + PTHREAD_MUTEX_ERRORCHECK = PTHREAD_MUTEX_ERRORCHECK_NP, + PTHREAD_MUTEX_DEFAULT = PTHREAD_MUTEX_NORMAL + + + + , PTHREAD_MUTEX_FAST_NP = PTHREAD_MUTEX_TIMED_NP + +}; + + + + +enum +{ + PTHREAD_MUTEX_STALLED, + PTHREAD_MUTEX_STALLED_NP = PTHREAD_MUTEX_STALLED, + PTHREAD_MUTEX_ROBUST, + PTHREAD_MUTEX_ROBUST_NP = PTHREAD_MUTEX_ROBUST +}; + + + + + +enum +{ + PTHREAD_PRIO_NONE, + PTHREAD_PRIO_INHERIT, + PTHREAD_PRIO_PROTECT +}; +# 114 "/usr/include/pthread.h" 3 4 +enum +{ + PTHREAD_RWLOCK_PREFER_READER_NP, + PTHREAD_RWLOCK_PREFER_WRITER_NP, + PTHREAD_RWLOCK_PREFER_WRITER_NONRECURSIVE_NP, + PTHREAD_RWLOCK_DEFAULT_NP = PTHREAD_RWLOCK_PREFER_READER_NP +}; +# 155 "/usr/include/pthread.h" 3 4 +enum +{ + PTHREAD_INHERIT_SCHED, + + PTHREAD_EXPLICIT_SCHED + +}; + + + +enum +{ + PTHREAD_SCOPE_SYSTEM, + + PTHREAD_SCOPE_PROCESS + +}; + + + +enum +{ + PTHREAD_PROCESS_PRIVATE, + + PTHREAD_PROCESS_SHARED + +}; +# 190 "/usr/include/pthread.h" 3 4 +struct _pthread_cleanup_buffer +{ + void (*__routine) (void *); + void *__arg; + int __canceltype; + struct _pthread_cleanup_buffer *__prev; +}; + + +enum +{ + PTHREAD_CANCEL_ENABLE, + + PTHREAD_CANCEL_DISABLE + +}; +enum +{ + PTHREAD_CANCEL_DEFERRED, + + PTHREAD_CANCEL_ASYNCHRONOUS + +}; +# 228 "/usr/include/pthread.h" 3 4 +extern "C" { + + + + +extern int pthread_create (pthread_t *__restrict __newthread, + const pthread_attr_t *__restrict __attr, + void *(*__start_routine) (void *), + void *__restrict __arg) throw () __attribute__ ((__nonnull__ (1, 3))); + + + + + +extern void pthread_exit (void *__retval) __attribute__ ((__noreturn__)); + + + + + + + +extern int pthread_join (pthread_t __th, void **__thread_return); + + + + +extern int pthread_tryjoin_np (pthread_t __th, void **__thread_return) throw (); + + + + + + + +extern int pthread_timedjoin_np (pthread_t __th, void **__thread_return, + const struct timespec *__abstime); + + + + + + +extern int pthread_detach (pthread_t __th) throw (); + + + +extern pthread_t pthread_self (void) throw () __attribute__ ((__const__)); + + +extern int pthread_equal (pthread_t __thread1, pthread_t __thread2) + throw () __attribute__ ((__const__)); + + + + + + + +extern int pthread_attr_init (pthread_attr_t *__attr) throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_attr_destroy (pthread_attr_t *__attr) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_attr_getdetachstate (const pthread_attr_t *__attr, + int *__detachstate) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_attr_setdetachstate (pthread_attr_t *__attr, + int __detachstate) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_attr_getguardsize (const pthread_attr_t *__attr, + size_t *__guardsize) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_attr_setguardsize (pthread_attr_t *__attr, + size_t __guardsize) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_attr_getschedparam (const pthread_attr_t *__restrict __attr, + struct sched_param *__restrict __param) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_attr_setschedparam (pthread_attr_t *__restrict __attr, + const struct sched_param *__restrict + __param) throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_attr_getschedpolicy (const pthread_attr_t *__restrict + __attr, int *__restrict __policy) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_attr_setschedpolicy (pthread_attr_t *__attr, int __policy) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_attr_getinheritsched (const pthread_attr_t *__restrict + __attr, int *__restrict __inherit) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_attr_setinheritsched (pthread_attr_t *__attr, + int __inherit) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_attr_getscope (const pthread_attr_t *__restrict __attr, + int *__restrict __scope) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_attr_setscope (pthread_attr_t *__attr, int __scope) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_attr_getstackaddr (const pthread_attr_t *__restrict + __attr, void **__restrict __stackaddr) + throw () __attribute__ ((__nonnull__ (1, 2))) __attribute__ ((__deprecated__)); + + + + + +extern int pthread_attr_setstackaddr (pthread_attr_t *__attr, + void *__stackaddr) + throw () __attribute__ ((__nonnull__ (1))) __attribute__ ((__deprecated__)); + + +extern int pthread_attr_getstacksize (const pthread_attr_t *__restrict + __attr, size_t *__restrict __stacksize) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + + +extern int pthread_attr_setstacksize (pthread_attr_t *__attr, + size_t __stacksize) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_attr_getstack (const pthread_attr_t *__restrict __attr, + void **__restrict __stackaddr, + size_t *__restrict __stacksize) + throw () __attribute__ ((__nonnull__ (1, 2, 3))); + + + + +extern int pthread_attr_setstack (pthread_attr_t *__attr, void *__stackaddr, + size_t __stacksize) throw () __attribute__ ((__nonnull__ (1))); + + + + + +extern int pthread_attr_setaffinity_np (pthread_attr_t *__attr, + size_t __cpusetsize, + const cpu_set_t *__cpuset) + throw () __attribute__ ((__nonnull__ (1, 3))); + + + +extern int pthread_attr_getaffinity_np (const pthread_attr_t *__attr, + size_t __cpusetsize, + cpu_set_t *__cpuset) + throw () __attribute__ ((__nonnull__ (1, 3))); + + +extern int pthread_getattr_default_np (pthread_attr_t *__attr) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_setattr_default_np (const pthread_attr_t *__attr) + throw () __attribute__ ((__nonnull__ (1))); + + + + +extern int pthread_getattr_np (pthread_t __th, pthread_attr_t *__attr) + throw () __attribute__ ((__nonnull__ (2))); + + + + + + + +extern int pthread_setschedparam (pthread_t __target_thread, int __policy, + const struct sched_param *__param) + throw () __attribute__ ((__nonnull__ (3))); + + +extern int pthread_getschedparam (pthread_t __target_thread, + int *__restrict __policy, + struct sched_param *__restrict __param) + throw () __attribute__ ((__nonnull__ (2, 3))); + + +extern int pthread_setschedprio (pthread_t __target_thread, int __prio) + throw (); + + + + +extern int pthread_getname_np (pthread_t __target_thread, char *__buf, + size_t __buflen) + throw () __attribute__ ((__nonnull__ (2))); + + +extern int pthread_setname_np (pthread_t __target_thread, const char *__name) + throw () __attribute__ ((__nonnull__ (2))); + + + + + +extern int pthread_getconcurrency (void) throw (); + + +extern int pthread_setconcurrency (int __level) throw (); + + + + + + + +extern int pthread_yield (void) throw (); + + + + +extern int pthread_setaffinity_np (pthread_t __th, size_t __cpusetsize, + const cpu_set_t *__cpuset) + throw () __attribute__ ((__nonnull__ (3))); + + +extern int pthread_getaffinity_np (pthread_t __th, size_t __cpusetsize, + cpu_set_t *__cpuset) + throw () __attribute__ ((__nonnull__ (3))); +# 494 "/usr/include/pthread.h" 3 4 +extern int pthread_once (pthread_once_t *__once_control, + void (*__init_routine) (void)) __attribute__ ((__nonnull__ (1, 2))); +# 506 "/usr/include/pthread.h" 3 4 +extern int pthread_setcancelstate (int __state, int *__oldstate); + + + +extern int pthread_setcanceltype (int __type, int *__oldtype); + + +extern int pthread_cancel (pthread_t __th); + + + + +extern void pthread_testcancel (void); + + + + +typedef struct +{ + struct + { + __jmp_buf __cancel_jmp_buf; + int __mask_was_saved; + } __cancel_jmp_buf[1]; + void *__pad[4]; +} __pthread_unwind_buf_t __attribute__ ((__aligned__)); +# 540 "/usr/include/pthread.h" 3 4 +struct __pthread_cleanup_frame +{ + void (*__cancel_routine) (void *); + void *__cancel_arg; + int __do_it; + int __cancel_type; +}; + + + + +class __pthread_cleanup_class +{ + void (*__cancel_routine) (void *); + void *__cancel_arg; + int __do_it; + int __cancel_type; + + public: + __pthread_cleanup_class (void (*__fct) (void *), void *__arg) + : __cancel_routine (__fct), __cancel_arg (__arg), __do_it (1) { } + ~__pthread_cleanup_class () { if (__do_it) __cancel_routine (__cancel_arg); } + void __setdoit (int __newval) { __do_it = __newval; } + void __defer () { pthread_setcanceltype (PTHREAD_CANCEL_DEFERRED, + &__cancel_type); } + void __restore () const { pthread_setcanceltype (__cancel_type, 0); } +}; +# 742 "/usr/include/pthread.h" 3 4 +struct __jmp_buf_tag; +extern int __sigsetjmp (struct __jmp_buf_tag *__env, int __savemask) throw (); + + + + + +extern int pthread_mutex_init (pthread_mutex_t *__mutex, + const pthread_mutexattr_t *__mutexattr) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_mutex_destroy (pthread_mutex_t *__mutex) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_mutex_trylock (pthread_mutex_t *__mutex) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_mutex_lock (pthread_mutex_t *__mutex) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_mutex_timedlock (pthread_mutex_t *__restrict __mutex, + const struct timespec *__restrict + __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); + + + +extern int pthread_mutex_unlock (pthread_mutex_t *__mutex) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_mutex_getprioceiling (const pthread_mutex_t * + __restrict __mutex, + int *__restrict __prioceiling) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + +extern int pthread_mutex_setprioceiling (pthread_mutex_t *__restrict __mutex, + int __prioceiling, + int *__restrict __old_ceiling) + throw () __attribute__ ((__nonnull__ (1, 3))); + + + + +extern int pthread_mutex_consistent (pthread_mutex_t *__mutex) + throw () __attribute__ ((__nonnull__ (1))); + +extern int pthread_mutex_consistent_np (pthread_mutex_t *__mutex) + throw () __attribute__ ((__nonnull__ (1))); +# 806 "/usr/include/pthread.h" 3 4 +extern int pthread_mutexattr_init (pthread_mutexattr_t *__attr) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_mutexattr_destroy (pthread_mutexattr_t *__attr) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_mutexattr_getpshared (const pthread_mutexattr_t * + __restrict __attr, + int *__restrict __pshared) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_mutexattr_setpshared (pthread_mutexattr_t *__attr, + int __pshared) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_mutexattr_gettype (const pthread_mutexattr_t *__restrict + __attr, int *__restrict __kind) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + + +extern int pthread_mutexattr_settype (pthread_mutexattr_t *__attr, int __kind) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_mutexattr_getprotocol (const pthread_mutexattr_t * + __restrict __attr, + int *__restrict __protocol) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + +extern int pthread_mutexattr_setprotocol (pthread_mutexattr_t *__attr, + int __protocol) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_mutexattr_getprioceiling (const pthread_mutexattr_t * + __restrict __attr, + int *__restrict __prioceiling) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_mutexattr_setprioceiling (pthread_mutexattr_t *__attr, + int __prioceiling) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_mutexattr_getrobust (const pthread_mutexattr_t *__attr, + int *__robustness) + throw () __attribute__ ((__nonnull__ (1, 2))); + +extern int pthread_mutexattr_getrobust_np (const pthread_mutexattr_t *__attr, + int *__robustness) + throw () __attribute__ ((__nonnull__ (1, 2))); + + + +extern int pthread_mutexattr_setrobust (pthread_mutexattr_t *__attr, + int __robustness) + throw () __attribute__ ((__nonnull__ (1))); + +extern int pthread_mutexattr_setrobust_np (pthread_mutexattr_t *__attr, + int __robustness) + throw () __attribute__ ((__nonnull__ (1))); +# 888 "/usr/include/pthread.h" 3 4 +extern int pthread_rwlock_init (pthread_rwlock_t *__restrict __rwlock, + const pthread_rwlockattr_t *__restrict + __attr) throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_rwlock_destroy (pthread_rwlock_t *__rwlock) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_rwlock_rdlock (pthread_rwlock_t *__rwlock) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_rwlock_tryrdlock (pthread_rwlock_t *__rwlock) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_rwlock_timedrdlock (pthread_rwlock_t *__restrict __rwlock, + const struct timespec *__restrict + __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); + + + +extern int pthread_rwlock_wrlock (pthread_rwlock_t *__rwlock) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_rwlock_trywrlock (pthread_rwlock_t *__rwlock) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_rwlock_timedwrlock (pthread_rwlock_t *__restrict __rwlock, + const struct timespec *__restrict + __abstime) throw () __attribute__ ((__nonnull__ (1, 2))); + + + +extern int pthread_rwlock_unlock (pthread_rwlock_t *__rwlock) + throw () __attribute__ ((__nonnull__ (1))); + + + + + +extern int pthread_rwlockattr_init (pthread_rwlockattr_t *__attr) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_rwlockattr_destroy (pthread_rwlockattr_t *__attr) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_rwlockattr_getpshared (const pthread_rwlockattr_t * + __restrict __attr, + int *__restrict __pshared) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_rwlockattr_setpshared (pthread_rwlockattr_t *__attr, + int __pshared) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_rwlockattr_getkind_np (const pthread_rwlockattr_t * + __restrict __attr, + int *__restrict __pref) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_rwlockattr_setkind_np (pthread_rwlockattr_t *__attr, + int __pref) throw () __attribute__ ((__nonnull__ (1))); + + + + + + + +extern int pthread_cond_init (pthread_cond_t *__restrict __cond, + const pthread_condattr_t *__restrict __cond_attr) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_cond_destroy (pthread_cond_t *__cond) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_cond_signal (pthread_cond_t *__cond) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_cond_broadcast (pthread_cond_t *__cond) + throw () __attribute__ ((__nonnull__ (1))); + + + + + + +extern int pthread_cond_wait (pthread_cond_t *__restrict __cond, + pthread_mutex_t *__restrict __mutex) + __attribute__ ((__nonnull__ (1, 2))); +# 1000 "/usr/include/pthread.h" 3 4 +extern int pthread_cond_timedwait (pthread_cond_t *__restrict __cond, + pthread_mutex_t *__restrict __mutex, + const struct timespec *__restrict __abstime) + __attribute__ ((__nonnull__ (1, 2, 3))); + + + + +extern int pthread_condattr_init (pthread_condattr_t *__attr) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_condattr_destroy (pthread_condattr_t *__attr) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_condattr_getpshared (const pthread_condattr_t * + __restrict __attr, + int *__restrict __pshared) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_condattr_setpshared (pthread_condattr_t *__attr, + int __pshared) throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_condattr_getclock (const pthread_condattr_t * + __restrict __attr, + __clockid_t *__restrict __clock_id) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_condattr_setclock (pthread_condattr_t *__attr, + __clockid_t __clock_id) + throw () __attribute__ ((__nonnull__ (1))); +# 1044 "/usr/include/pthread.h" 3 4 +extern int pthread_spin_init (pthread_spinlock_t *__lock, int __pshared) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_spin_destroy (pthread_spinlock_t *__lock) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_spin_lock (pthread_spinlock_t *__lock) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_spin_trylock (pthread_spinlock_t *__lock) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_spin_unlock (pthread_spinlock_t *__lock) + throw () __attribute__ ((__nonnull__ (1))); + + + + + + +extern int pthread_barrier_init (pthread_barrier_t *__restrict __barrier, + const pthread_barrierattr_t *__restrict + __attr, unsigned int __count) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_barrier_destroy (pthread_barrier_t *__barrier) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_barrier_wait (pthread_barrier_t *__barrier) + throw () __attribute__ ((__nonnull__ (1))); + + + +extern int pthread_barrierattr_init (pthread_barrierattr_t *__attr) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_barrierattr_destroy (pthread_barrierattr_t *__attr) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_barrierattr_getpshared (const pthread_barrierattr_t * + __restrict __attr, + int *__restrict __pshared) + throw () __attribute__ ((__nonnull__ (1, 2))); + + +extern int pthread_barrierattr_setpshared (pthread_barrierattr_t *__attr, + int __pshared) + throw () __attribute__ ((__nonnull__ (1))); +# 1111 "/usr/include/pthread.h" 3 4 +extern int pthread_key_create (pthread_key_t *__key, + void (*__destr_function) (void *)) + throw () __attribute__ ((__nonnull__ (1))); + + +extern int pthread_key_delete (pthread_key_t __key) throw (); + + +extern void *pthread_getspecific (pthread_key_t __key) throw (); + + +extern int pthread_setspecific (pthread_key_t __key, + const void *__pointer) throw () ; + + + + +extern int pthread_getcpuclockid (pthread_t __thread_id, + __clockid_t *__clock_id) + throw () __attribute__ ((__nonnull__ (2))); +# 1145 "/usr/include/pthread.h" 3 4 +extern int pthread_atfork (void (*__prepare) (void), + void (*__parent) (void), + void (*__child) (void)) throw (); + + + + +extern __inline __attribute__ ((__gnu_inline__)) int + pthread_equal (pthread_t __thread1, pthread_t __thread2) throw () +{ + return __thread1 == __thread2; +} + + +} +# 20 "/usr/xenomai/include/cobalt/pthread.h" 2 3 + + + + +# 1 "/usr/xenomai/include/boilerplate/libc.h" 1 3 +# 21 "/usr/xenomai/include/boilerplate/libc.h" 3 +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/limits.h" 1 3 +# 37 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/limits.h" 3 +# 1 "/usr/include/limits.h" 1 3 4 +# 143 "/usr/include/limits.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 1 3 4 +# 160 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 1 3 4 +# 38 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 3 4 +# 1 "/usr/include/linux/limits.h" 1 3 4 +# 39 "/usr/include/arm-linux-gnueabihf/bits/local_lim.h" 2 3 4 +# 161 "/usr/include/arm-linux-gnueabihf/bits/posix1_lim.h" 2 3 4 +# 144 "/usr/include/limits.h" 2 3 4 + + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/posix2_lim.h" 1 3 4 +# 148 "/usr/include/limits.h" 2 3 4 + + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 1 3 4 +# 33 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/bits/stdio_lim.h" 1 3 4 +# 34 "/usr/include/arm-linux-gnueabihf/bits/xopen_lim.h" 2 3 4 +# 152 "/usr/include/limits.h" 2 3 4 +# 38 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/limits.h" 2 3 +# 22 "/usr/xenomai/include/boilerplate/libc.h" 2 3 +# 211 "/usr/xenomai/include/boilerplate/libc.h" 3 +int clock_nanosleep(clockid_t clock_id, int flags, + const struct timespec *request, + struct timespec *remain); + + + +int pthread_setname_np(pthread_t thread, const char *name); +# 25 "/usr/xenomai/include/cobalt/pthread.h" 2 3 + +# 1 "/usr/xenomai/include/cobalt/uapi/thread.h" 1 3 +# 21 "/usr/xenomai/include/cobalt/uapi/thread.h" 3 +# 1 "/usr/xenomai/include/cobalt/uapi/kernel/thread.h" 1 3 +# 21 "/usr/xenomai/include/cobalt/uapi/kernel/thread.h" 3 +# 1 "/usr/xenomai/include/cobalt/uapi/kernel/types.h" 1 3 +# 21 "/usr/xenomai/include/cobalt/uapi/kernel/types.h" 3 +# 1 "/usr/include/linux/types.h" 1 3 4 + + + +# 1 "/usr/include/arm-linux-gnueabihf/asm/types.h" 1 3 4 + + + +# 1 "/usr/include/asm-generic/int-ll64.h" 1 3 4 +# 11 "/usr/include/asm-generic/int-ll64.h" 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/asm/bitsperlong.h" 1 3 4 +# 1 "/usr/include/asm-generic/bitsperlong.h" 1 3 4 +# 2 "/usr/include/arm-linux-gnueabihf/asm/bitsperlong.h" 2 3 4 +# 12 "/usr/include/asm-generic/int-ll64.h" 2 3 4 + + + + + + + +typedef __signed__ char __s8; +typedef unsigned char __u8; + +typedef __signed__ short __s16; +typedef unsigned short __u16; + +typedef __signed__ int __s32; +typedef unsigned int __u32; + + +__extension__ typedef __signed__ long long __s64; +__extension__ typedef unsigned long long __u64; +# 5 "/usr/include/arm-linux-gnueabihf/asm/types.h" 2 3 4 +# 5 "/usr/include/linux/types.h" 2 3 4 + + + +# 1 "/usr/include/linux/posix_types.h" 1 3 4 + + + +# 1 "/usr/include/linux/stddef.h" 1 3 4 +# 5 "/usr/include/linux/posix_types.h" 2 3 4 +# 24 "/usr/include/linux/posix_types.h" 3 4 +typedef struct { + unsigned long fds_bits[1024 / (8 * sizeof(long))]; +} __kernel_fd_set; + + +typedef void (*__kernel_sighandler_t)(int); + + +typedef int __kernel_key_t; +typedef int __kernel_mqd_t; + + +# 1 "/usr/include/arm-linux-gnueabihf/asm/posix_types.h" 1 3 4 +# 22 "/usr/include/arm-linux-gnueabihf/asm/posix_types.h" 3 4 +typedef unsigned short __kernel_mode_t; + + +typedef unsigned short __kernel_ipc_pid_t; + + +typedef unsigned short __kernel_uid_t; +typedef unsigned short __kernel_gid_t; + + +typedef unsigned short __kernel_old_dev_t; + + + +# 1 "/usr/include/asm-generic/posix_types.h" 1 3 4 + + + +# 1 "/usr/include/arm-linux-gnueabihf/asm/bitsperlong.h" 1 3 4 +# 5 "/usr/include/asm-generic/posix_types.h" 2 3 4 +# 14 "/usr/include/asm-generic/posix_types.h" 3 4 +typedef long __kernel_long_t; +typedef unsigned long __kernel_ulong_t; + + + +typedef __kernel_ulong_t __kernel_ino_t; + + + + + + + +typedef int __kernel_pid_t; +# 40 "/usr/include/asm-generic/posix_types.h" 3 4 +typedef __kernel_long_t __kernel_suseconds_t; + + + +typedef int __kernel_daddr_t; + + + +typedef unsigned int __kernel_uid32_t; +typedef unsigned int __kernel_gid32_t; + + + +typedef __kernel_uid_t __kernel_old_uid_t; +typedef __kernel_gid_t __kernel_old_gid_t; +# 67 "/usr/include/asm-generic/posix_types.h" 3 4 +typedef unsigned int __kernel_size_t; +typedef int __kernel_ssize_t; +typedef int __kernel_ptrdiff_t; +# 78 "/usr/include/asm-generic/posix_types.h" 3 4 +typedef struct { + int val[2]; +} __kernel_fsid_t; + + + + + +typedef __kernel_long_t __kernel_off_t; +typedef long long __kernel_loff_t; +typedef __kernel_long_t __kernel_time_t; +typedef __kernel_long_t __kernel_clock_t; +typedef int __kernel_timer_t; +typedef int __kernel_clockid_t; +typedef char * __kernel_caddr_t; +typedef unsigned short __kernel_uid16_t; +typedef unsigned short __kernel_gid16_t; +# 36 "/usr/include/arm-linux-gnueabihf/asm/posix_types.h" 2 3 4 +# 36 "/usr/include/linux/posix_types.h" 2 3 4 +# 9 "/usr/include/linux/types.h" 2 3 4 +# 27 "/usr/include/linux/types.h" 3 4 +typedef __u16 __le16; +typedef __u16 __be16; +typedef __u32 __le32; +typedef __u32 __be32; +typedef __u64 __le64; +typedef __u64 __be64; + +typedef __u16 __sum16; +typedef __u32 __wsum; +# 22 "/usr/xenomai/include/cobalt/uapi/kernel/types.h" 2 3 +# 1 "/usr/xenomai/include/cobalt/uapi/kernel/limits.h" 1 3 +# 23 "/usr/xenomai/include/cobalt/uapi/kernel/types.h" 2 3 + +typedef __u64 xnticks_t; + +typedef __s64 xnsticks_t; + +typedef __u32 xnhandle_t; +# 45 "/usr/xenomai/include/cobalt/uapi/kernel/types.h" 3 +static inline xnhandle_t xnhandle_get_index(xnhandle_t handle) +{ + return handle & ~((xnhandle_t)0xf0000000); +} + + + + + +static inline xnhandle_t xnhandle_get_id(xnhandle_t handle) +{ + return handle & ~((xnhandle_t)0x80000000); +} +# 22 "/usr/xenomai/include/cobalt/uapi/kernel/thread.h" 2 3 +# 104 "/usr/xenomai/include/cobalt/uapi/kernel/thread.h" 3 +struct xnthread_user_window { + __u32 state; + __u32 info; + __u32 grant_value; +}; +# 22 "/usr/xenomai/include/cobalt/uapi/thread.h" 2 3 + + + + + + +struct cobalt_mutexattr { + int type : 3; + int protocol : 3; + int pshared : 1; + int __pad : 1; +}; + +struct cobalt_condattr { + int clock : 7; + int pshared : 1; +}; + +struct cobalt_threadstat { + __u64 xtime; + __u64 timeout; + __u64 msw; + __u64 csw; + __u64 xsc; + __u32 status; + __u32 pf; + int cpu; + int cprio; + char name[32]; + char personality[32]; +}; +# 27 "/usr/xenomai/include/cobalt/pthread.h" 2 3 + +typedef struct pthread_attr_ex { + pthread_attr_t std; + struct { + int personality; + int sched_policy; + struct sched_param_ex sched_param; + } nonstd; +} pthread_attr_ex_t; + + +extern "C" { + + +__typeof__(int) __cobalt_pthread_attr_init(pthread_attr_t *attr); __typeof__(int) __real_pthread_attr_init(pthread_attr_t *attr); __typeof__(int) __wrap_pthread_attr_init(pthread_attr_t *attr); + +__typeof__(int) __cobalt_pthread_create(pthread_t *ptid_r, const pthread_attr_t *attr, void *(*start) (void *), void *arg); __typeof__(int) __real_pthread_create(pthread_t *ptid_r, const pthread_attr_t *attr, void *(*start) (void *), void *arg); __typeof__(int) __wrap_pthread_create(pthread_t *ptid_r, const pthread_attr_t *attr, void *(*start) (void *), void *arg); + + + + +__typeof__(int) __cobalt_pthread_getschedparam(pthread_t thread, int *policy, struct sched_param *param); __typeof__(int) __real_pthread_getschedparam(pthread_t thread, int *policy, struct sched_param *param); __typeof__(int) __wrap_pthread_getschedparam(pthread_t thread, int *policy, struct sched_param *param); + + + +__typeof__(int) __cobalt_pthread_setschedparam(pthread_t thread, int policy, const struct sched_param *param); __typeof__(int) __real_pthread_setschedparam(pthread_t thread, int policy, const struct sched_param *param); __typeof__(int) __wrap_pthread_setschedparam(pthread_t thread, int policy, const struct sched_param *param); + + + +__typeof__(int) __cobalt_pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr); __typeof__(int) __real_pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr); __typeof__(int) __wrap_pthread_mutex_init(pthread_mutex_t *mutex, const pthread_mutexattr_t *attr); + + +__typeof__(int) __cobalt_pthread_mutex_destroy(pthread_mutex_t *mutex); __typeof__(int) __real_pthread_mutex_destroy(pthread_mutex_t *mutex); __typeof__(int) __wrap_pthread_mutex_destroy(pthread_mutex_t *mutex); + +__typeof__(int) __cobalt_pthread_mutex_lock(pthread_mutex_t *mutex); __typeof__(int) __real_pthread_mutex_lock(pthread_mutex_t *mutex); __typeof__(int) __wrap_pthread_mutex_lock(pthread_mutex_t *mutex); + +__typeof__(int) __cobalt_pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *to); __typeof__(int) __real_pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *to); __typeof__(int) __wrap_pthread_mutex_timedlock(pthread_mutex_t *mutex, const struct timespec *to); + + +__typeof__(int) __cobalt_pthread_mutex_trylock(pthread_mutex_t *mutex); __typeof__(int) __real_pthread_mutex_trylock(pthread_mutex_t *mutex); __typeof__(int) __wrap_pthread_mutex_trylock(pthread_mutex_t *mutex); + +__typeof__(int) __cobalt_pthread_mutex_unlock(pthread_mutex_t *mutex); __typeof__(int) __real_pthread_mutex_unlock(pthread_mutex_t *mutex); __typeof__(int) __wrap_pthread_mutex_unlock(pthread_mutex_t *mutex); + +__typeof__(int) __cobalt_pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *attr); __typeof__(int) __real_pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *attr); __typeof__(int) __wrap_pthread_cond_init (pthread_cond_t *cond, const pthread_condattr_t *attr); + + +__typeof__(int) __cobalt_pthread_cond_destroy(pthread_cond_t *cond); __typeof__(int) __real_pthread_cond_destroy(pthread_cond_t *cond); __typeof__(int) __wrap_pthread_cond_destroy(pthread_cond_t *cond); + +__typeof__(int) __cobalt_pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); __typeof__(int) __real_pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); __typeof__(int) __wrap_pthread_cond_wait(pthread_cond_t *cond, pthread_mutex_t *mutex); + + +__typeof__(int) __cobalt_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime); __typeof__(int) __real_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime); __typeof__(int) __wrap_pthread_cond_timedwait(pthread_cond_t *cond, pthread_mutex_t *mutex, const struct timespec *abstime); + + + +__typeof__(int) __cobalt_pthread_cond_signal(pthread_cond_t *cond); __typeof__(int) __real_pthread_cond_signal(pthread_cond_t *cond); __typeof__(int) __wrap_pthread_cond_signal(pthread_cond_t *cond); + +__typeof__(int) __cobalt_pthread_cond_broadcast(pthread_cond_t *cond); __typeof__(int) __real_pthread_cond_broadcast(pthread_cond_t *cond); __typeof__(int) __wrap_pthread_cond_broadcast(pthread_cond_t *cond); + +__typeof__(int) __cobalt_pthread_kill(pthread_t ptid, int sig); __typeof__(int) __real_pthread_kill(pthread_t ptid, int sig); __typeof__(int) __wrap_pthread_kill(pthread_t ptid, int sig); + +__typeof__(int) __cobalt_pthread_join(pthread_t ptid, void **retval); __typeof__(int) __real_pthread_join(pthread_t ptid, void **retval); __typeof__(int) __wrap_pthread_join(pthread_t ptid, void **retval); +# 98 "/usr/xenomai/include/cobalt/pthread.h" 3 +__typeof__(int) __cobalt_pthread_yield(void); __typeof__(int) __real_pthread_yield(void); __typeof__(int) __wrap_pthread_yield(void); + + +int pthread_setmode_np(int clrmask, int setmask, + int *mask_r); + +__typeof__(int) __cobalt_pthread_setname_np(pthread_t thread, const char *name); __typeof__(int) __real_pthread_setname_np(pthread_t thread, const char *name); __typeof__(int) __wrap_pthread_setname_np(pthread_t thread, const char *name); + +int pthread_create_ex(pthread_t *ptid_r, + const pthread_attr_ex_t *attr_ex, + void *(*start)(void *), + void *arg); + +int pthread_getschedparam_ex(pthread_t ptid, + int *pol, + struct sched_param_ex *par); + +int pthread_setschedparam_ex(pthread_t ptid, + int pol, + const struct sched_param_ex *par); + +int pthread_attr_init_ex(pthread_attr_ex_t *attr_ex); + +int pthread_attr_destroy_ex(pthread_attr_ex_t *attr_ex); + +int pthread_attr_setschedpolicy_ex(pthread_attr_ex_t *attr_ex, + int policy); + +int pthread_attr_getschedpolicy_ex(const pthread_attr_ex_t *attr_ex, + int *policy); + +int pthread_attr_setschedparam_ex(pthread_attr_ex_t *attr_ex, + const struct sched_param_ex *param_ex); + +int pthread_attr_getschedparam_ex(const pthread_attr_ex_t *attr_ex, + struct sched_param_ex *param_ex); + +int pthread_attr_getinheritsched_ex(const pthread_attr_ex_t *attr_ex, + int *inheritsched); + +int pthread_attr_setinheritsched_ex(pthread_attr_ex_t *attr_ex, + int inheritsched); + +int pthread_attr_getdetachstate_ex(const pthread_attr_ex_t *attr_ex, + int *detachstate); + +int pthread_attr_setdetachstate_ex(pthread_attr_ex_t *attr_ex, + int detachstate); + +int pthread_attr_setdetachstate_ex(pthread_attr_ex_t *attr_ex, + int detachstate); + +int pthread_attr_getstacksize_ex(const pthread_attr_ex_t *attr_ex, + size_t *stacksize); + +int pthread_attr_setstacksize_ex(pthread_attr_ex_t *attr_ex, + size_t stacksize); + +int pthread_attr_getscope_ex(const pthread_attr_ex_t *attr_ex, + int *scope); + +int pthread_attr_setscope_ex(pthread_attr_ex_t *attr_ex, + int scope); + +int pthread_attr_getpersonality_ex(const pthread_attr_ex_t *attr_ex, + int *personality); + +int pthread_attr_setpersonality_ex(pthread_attr_ex_t *attr_ex, + int personality); + +} +# 36 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr-default.h" 2 3 +# 47 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr-default.h" 3 +typedef pthread_t __gthread_t; +typedef pthread_key_t __gthread_key_t; +typedef pthread_once_t __gthread_once_t; +typedef pthread_mutex_t __gthread_mutex_t; +typedef pthread_mutex_t __gthread_recursive_mutex_t; +typedef pthread_cond_t __gthread_cond_t; +typedef struct timespec __gthread_time_t; +# 101 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr-default.h" 3 +static __typeof(pthread_once) __gthrw_pthread_once __attribute__ ((__weakref__("pthread_once"))); +static __typeof(pthread_getspecific) __gthrw_pthread_getspecific __attribute__ ((__weakref__("pthread_getspecific"))); +static __typeof(pthread_setspecific) __gthrw_pthread_setspecific __attribute__ ((__weakref__("pthread_setspecific"))); + +static __typeof(pthread_create) __gthrw_pthread_create __attribute__ ((__weakref__("pthread_create"))); +static __typeof(pthread_join) __gthrw_pthread_join __attribute__ ((__weakref__("pthread_join"))); +static __typeof(pthread_equal) __gthrw_pthread_equal __attribute__ ((__weakref__("pthread_equal"))); +static __typeof(pthread_self) __gthrw_pthread_self __attribute__ ((__weakref__("pthread_self"))); +static __typeof(pthread_detach) __gthrw_pthread_detach __attribute__ ((__weakref__("pthread_detach"))); + +static __typeof(pthread_cancel) __gthrw_pthread_cancel __attribute__ ((__weakref__("pthread_cancel"))); + +static __typeof(sched_yield) __gthrw_sched_yield __attribute__ ((__weakref__("sched_yield"))); + +static __typeof(pthread_mutex_lock) __gthrw_pthread_mutex_lock __attribute__ ((__weakref__("pthread_mutex_lock"))); +static __typeof(pthread_mutex_trylock) __gthrw_pthread_mutex_trylock __attribute__ ((__weakref__("pthread_mutex_trylock"))); + +static __typeof(pthread_mutex_timedlock) __gthrw_pthread_mutex_timedlock __attribute__ ((__weakref__("pthread_mutex_timedlock"))); + +static __typeof(pthread_mutex_unlock) __gthrw_pthread_mutex_unlock __attribute__ ((__weakref__("pthread_mutex_unlock"))); +static __typeof(pthread_mutex_init) __gthrw_pthread_mutex_init __attribute__ ((__weakref__("pthread_mutex_init"))); +static __typeof(pthread_mutex_destroy) __gthrw_pthread_mutex_destroy __attribute__ ((__weakref__("pthread_mutex_destroy"))); + +static __typeof(pthread_cond_init) __gthrw_pthread_cond_init __attribute__ ((__weakref__("pthread_cond_init"))); +static __typeof(pthread_cond_broadcast) __gthrw_pthread_cond_broadcast __attribute__ ((__weakref__("pthread_cond_broadcast"))); +static __typeof(pthread_cond_signal) __gthrw_pthread_cond_signal __attribute__ ((__weakref__("pthread_cond_signal"))); +static __typeof(pthread_cond_wait) __gthrw_pthread_cond_wait __attribute__ ((__weakref__("pthread_cond_wait"))); +static __typeof(pthread_cond_timedwait) __gthrw_pthread_cond_timedwait __attribute__ ((__weakref__("pthread_cond_timedwait"))); +static __typeof(pthread_cond_destroy) __gthrw_pthread_cond_destroy __attribute__ ((__weakref__("pthread_cond_destroy"))); + +static __typeof(pthread_key_create) __gthrw_pthread_key_create __attribute__ ((__weakref__("pthread_key_create"))); +static __typeof(pthread_key_delete) __gthrw_pthread_key_delete __attribute__ ((__weakref__("pthread_key_delete"))); +static __typeof(pthread_mutexattr_init) __gthrw_pthread_mutexattr_init __attribute__ ((__weakref__("pthread_mutexattr_init"))); +static __typeof(pthread_mutexattr_settype) __gthrw_pthread_mutexattr_settype __attribute__ ((__weakref__("pthread_mutexattr_settype"))); +static __typeof(pthread_mutexattr_destroy) __gthrw_pthread_mutexattr_destroy __attribute__ ((__weakref__("pthread_mutexattr_destroy"))); +# 236 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr-default.h" 3 +static __typeof(pthread_key_create) __gthrw___pthread_key_create __attribute__ ((__weakref__("__pthread_key_create"))); +# 246 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr-default.h" 3 +static inline int +__gthread_active_p (void) +{ + static void *const __gthread_active_ptr + = __extension__ (void *) &__gthrw___pthread_key_create; + return __gthread_active_ptr != 0; +} +# 658 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr-default.h" 3 +static inline int +__gthread_create (__gthread_t *__threadid, void *(*__func) (void*), + void *__args) +{ + return __gthrw_pthread_create (__threadid, __null, __func, __args); +} + +static inline int +__gthread_join (__gthread_t __threadid, void **__value_ptr) +{ + return __gthrw_pthread_join (__threadid, __value_ptr); +} + +static inline int +__gthread_detach (__gthread_t __threadid) +{ + return __gthrw_pthread_detach (__threadid); +} + +static inline int +__gthread_equal (__gthread_t __t1, __gthread_t __t2) +{ + return __gthrw_pthread_equal (__t1, __t2); +} + +static inline __gthread_t +__gthread_self (void) +{ + return __gthrw_pthread_self (); +} + +static inline int +__gthread_yield (void) +{ + return __gthrw_sched_yield (); +} + +static inline int +__gthread_once (__gthread_once_t *__once, void (*__func) (void)) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_once (__once, __func); + else + return -1; +} + +static inline int +__gthread_key_create (__gthread_key_t *__key, void (*__dtor) (void *)) +{ + return __gthrw_pthread_key_create (__key, __dtor); +} + +static inline int +__gthread_key_delete (__gthread_key_t __key) +{ + return __gthrw_pthread_key_delete (__key); +} + +static inline void * +__gthread_getspecific (__gthread_key_t __key) +{ + return __gthrw_pthread_getspecific (__key); +} + +static inline int +__gthread_setspecific (__gthread_key_t __key, const void *__ptr) +{ + return __gthrw_pthread_setspecific (__key, __ptr); +} + +static inline void +__gthread_mutex_init_function (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + __gthrw_pthread_mutex_init (__mutex, __null); +} + +static inline int +__gthread_mutex_destroy (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_mutex_destroy (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_lock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_mutex_lock (__mutex); + else + return 0; +} + +static inline int +__gthread_mutex_trylock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_mutex_trylock (__mutex); + else + return 0; +} + + +static inline int +__gthread_mutex_timedlock (__gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_mutex_timedlock (__mutex, __abs_timeout); + else + return 0; +} + + +static inline int +__gthread_mutex_unlock (__gthread_mutex_t *__mutex) +{ + if (__gthread_active_p ()) + return __gthrw_pthread_mutex_unlock (__mutex); + else + return 0; +} +# 807 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr-default.h" 3 +static inline int +__gthread_recursive_mutex_lock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_lock (__mutex); +} + +static inline int +__gthread_recursive_mutex_trylock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_trylock (__mutex); +} + + +static inline int +__gthread_recursive_mutex_timedlock (__gthread_recursive_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthread_mutex_timedlock (__mutex, __abs_timeout); +} + + +static inline int +__gthread_recursive_mutex_unlock (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_unlock (__mutex); +} + +static inline int +__gthread_recursive_mutex_destroy (__gthread_recursive_mutex_t *__mutex) +{ + return __gthread_mutex_destroy (__mutex); +} +# 849 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr-default.h" 3 +static inline int +__gthread_cond_broadcast (__gthread_cond_t *__cond) +{ + return __gthrw_pthread_cond_broadcast (__cond); +} + +static inline int +__gthread_cond_signal (__gthread_cond_t *__cond) +{ + return __gthrw_pthread_cond_signal (__cond); +} + +static inline int +__gthread_cond_wait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex) +{ + return __gthrw_pthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_timedwait (__gthread_cond_t *__cond, __gthread_mutex_t *__mutex, + const __gthread_time_t *__abs_timeout) +{ + return __gthrw_pthread_cond_timedwait (__cond, __mutex, __abs_timeout); +} + +static inline int +__gthread_cond_wait_recursive (__gthread_cond_t *__cond, + __gthread_recursive_mutex_t *__mutex) +{ + return __gthread_cond_wait (__cond, __mutex); +} + +static inline int +__gthread_cond_destroy (__gthread_cond_t* __cond) +{ + return __gthrw_pthread_cond_destroy (__cond); +} +# 149 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/gthr.h" 2 3 + + +#pragma GCC visibility pop +# 36 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/atomicity.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/atomic_word.h" 1 3 +# 32 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits/atomic_word.h" 3 +typedef int _Atomic_word; +# 37 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/atomicity.h" 2 3 + +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ + + + + + + + + static inline _Atomic_word + __exchange_and_add(volatile _Atomic_word* __mem, int __val) + { return __atomic_fetch_add(__mem, __val, 4); } + + static inline void + __atomic_add(volatile _Atomic_word* __mem, int __val) + { __atomic_fetch_add(__mem, __val, 4); } +# 64 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/atomicity.h" 3 + static inline _Atomic_word + __exchange_and_add_single(_Atomic_word* __mem, int __val) + { + _Atomic_word __result = *__mem; + *__mem += __val; + return __result; + } + + static inline void + __atomic_add_single(_Atomic_word* __mem, int __val) + { *__mem += __val; } + + static inline _Atomic_word + __attribute__ ((__unused__)) + __exchange_and_add_dispatch(_Atomic_word* __mem, int __val) + { + + if (__gthread_active_p()) + return __exchange_and_add(__mem, __val); + else + return __exchange_and_add_single(__mem, __val); + + + + } + + static inline void + __attribute__ ((__unused__)) + __atomic_add_dispatch(_Atomic_word* __mem, int __val) + { + + if (__gthread_active_p()) + __atomic_add(__mem, __val); + else + __atomic_add_single(__mem, __val); + + + + } + + +} +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 2 3 + + + + + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + +namespace __cxx11 { +# 71 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + class basic_string + { + typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template + rebind<_CharT>::other _Char_alloc_type; + typedef __gnu_cxx::__alloc_traits<_Char_alloc_type> _Alloc_traits; + + + public: + typedef _Traits traits_type; + typedef typename _Traits::char_type value_type; + typedef _Char_alloc_type allocator_type; + typedef typename _Alloc_traits::size_type size_type; + typedef typename _Alloc_traits::difference_type difference_type; + typedef typename _Alloc_traits::reference reference; + typedef typename _Alloc_traits::const_reference const_reference; + typedef typename _Alloc_traits::pointer pointer; + typedef typename _Alloc_traits::const_pointer const_pointer; + typedef __gnu_cxx::__normal_iterator<pointer, basic_string> iterator; + typedef __gnu_cxx::__normal_iterator<const_pointer, basic_string> + const_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + typedef std::reverse_iterator<iterator> reverse_iterator; + + + static const size_type npos = static_cast<size_type>(-1); + + private: + + + + + typedef const_iterator __const_iterator; + + + + struct _Alloc_hider : allocator_type + { + _Alloc_hider(pointer __dat, const _Alloc& __a = _Alloc()) + : allocator_type(__a), _M_p(__dat) { } + + pointer _M_p; + }; + + _Alloc_hider _M_dataplus; + size_type _M_string_length; + + enum { _S_local_capacity = 15 / sizeof(_CharT) }; + + union + { + _CharT _M_local_buf[_S_local_capacity + 1]; + size_type _M_allocated_capacity; + }; + + void + _M_data(pointer __p) + { _M_dataplus._M_p = __p; } + + void + _M_length(size_type __length) + { _M_string_length = __length; } + + pointer + _M_data() const + { return _M_dataplus._M_p; } + + pointer + _M_local_data() + { + + return std::pointer_traits<pointer>::pointer_to(*_M_local_buf); + + + + } + + const_pointer + _M_local_data() const + { + + return std::pointer_traits<const_pointer>::pointer_to(*_M_local_buf); + + + + } + + void + _M_capacity(size_type __capacity) + { _M_allocated_capacity = __capacity; } + + void + _M_set_length(size_type __n) + { + _M_length(__n); + traits_type::assign(_M_data()[__n], _CharT()); + } + + bool + _M_is_local() const + { return _M_data() == _M_local_data(); } + + + pointer + _M_create(size_type&, size_type); + + void + _M_dispose() + { + if (!_M_is_local()) + _M_destroy(_M_allocated_capacity); + } + + void + _M_destroy(size_type __size) throw() + { _Alloc_traits::deallocate(_M_get_allocator(), _M_data(), __size + 1); } + + + + template<typename _InIterator> + void + _M_construct_aux(_InIterator __beg, _InIterator __end, + std::__false_type) + { + typedef typename iterator_traits<_InIterator>::iterator_category _Tag; + _M_construct(__beg, __end, _Tag()); + } + + + + template<typename _Integer> + void + _M_construct_aux(_Integer __beg, _Integer __end, std::__true_type) + { _M_construct_aux_2(static_cast<size_type>(__beg), __end); } + + void + _M_construct_aux_2(size_type __req, _CharT __c) + { _M_construct(__req, __c); } + + template<typename _InIterator> + void + _M_construct(_InIterator __beg, _InIterator __end) + { + typedef typename std::__is_integer<_InIterator>::__type _Integral; + _M_construct_aux(__beg, __end, _Integral()); + } + + + template<typename _InIterator> + void + _M_construct(_InIterator __beg, _InIterator __end, + std::input_iterator_tag); + + + + template<typename _FwdIterator> + void + _M_construct(_FwdIterator __beg, _FwdIterator __end, + std::forward_iterator_tag); + + void + _M_construct(size_type __req, _CharT __c); + + allocator_type& + _M_get_allocator() + { return _M_dataplus; } + + const allocator_type& + _M_get_allocator() const + { return _M_dataplus; } + + private: +# 258 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + _M_check(size_type __pos, const char* __s) const + { + if (__pos > this->size()) + __throw_out_of_range_fmt(("%s: __pos (which is %zu) > " "this->size() (which is %zu)"), + + __s, __pos, this->size()); + return __pos; + } + + void + _M_check_length(size_type __n1, size_type __n2, const char* __s) const + { + if (this->max_size() - (this->size() - __n1) < __n2) + __throw_length_error((__s)); + } + + + + size_type + _M_limit(size_type __pos, size_type __off) const noexcept + { + const bool __testoff = __off < this->size() - __pos; + return __testoff ? __off : this->size() - __pos; + } + + + bool + _M_disjunct(const _CharT* __s) const noexcept + { + return (less<const _CharT*>()(__s, _M_data()) + || less<const _CharT*>()(_M_data() + this->size(), __s)); + } + + + + static void + _S_copy(_CharT* __d, const _CharT* __s, size_type __n) + { + if (__n == 1) + traits_type::assign(*__d, *__s); + else + traits_type::copy(__d, __s, __n); + } + + static void + _S_move(_CharT* __d, const _CharT* __s, size_type __n) + { + if (__n == 1) + traits_type::assign(*__d, *__s); + else + traits_type::move(__d, __s, __n); + } + + static void + _S_assign(_CharT* __d, size_type __n, _CharT __c) + { + if (__n == 1) + traits_type::assign(*__d, __c); + else + traits_type::assign(__d, __n, __c); + } + + + + template<class _Iterator> + static void + _S_copy_chars(_CharT* __p, _Iterator __k1, _Iterator __k2) + { + for (; __k1 != __k2; ++__k1, (void)++__p) + traits_type::assign(*__p, *__k1); + } + + static void + _S_copy_chars(_CharT* __p, iterator __k1, iterator __k2) noexcept + { _S_copy_chars(__p, __k1.base(), __k2.base()); } + + static void + _S_copy_chars(_CharT* __p, const_iterator __k1, const_iterator __k2) + noexcept + { _S_copy_chars(__p, __k1.base(), __k2.base()); } + + static void + _S_copy_chars(_CharT* __p, _CharT* __k1, _CharT* __k2) noexcept + { _S_copy(__p, __k1, __k2 - __k1); } + + static void + _S_copy_chars(_CharT* __p, const _CharT* __k1, const _CharT* __k2) + noexcept + { _S_copy(__p, __k1, __k2 - __k1); } + + static int + _S_compare(size_type __n1, size_type __n2) noexcept + { + const difference_type __d = difference_type(__n1 - __n2); + + if (__d > __gnu_cxx::__numeric_traits<int>::__max) + return __gnu_cxx::__numeric_traits<int>::__max; + else if (__d < __gnu_cxx::__numeric_traits<int>::__min) + return __gnu_cxx::__numeric_traits<int>::__min; + else + return int(__d); + } + + void + _M_assign(const basic_string& __rcs); + + void + _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, + size_type __len2); + + void + _M_erase(size_type __pos, size_type __n); + + public: + + + + + + + + basic_string() + noexcept(is_nothrow_default_constructible<_Alloc>::value) + : _M_dataplus(_M_local_data()) + { _M_set_length(0); } + + + + + explicit + basic_string(const _Alloc& __a) noexcept + : _M_dataplus(_M_local_data(), __a) + { _M_set_length(0); } + + + + + + basic_string(const basic_string& __str) + : _M_dataplus(_M_local_data(), + _Alloc_traits::_S_select_on_copy(__str._M_get_allocator())) + { _M_construct(__str._M_data(), __str._M_data() + __str.length()); } +# 410 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string(const basic_string& __str, size_type __pos, + size_type __n = npos) + : _M_dataplus(_M_local_data()) + { + const _CharT* __start = __str._M_data() + + __str._M_check(__pos, "basic_string::basic_string"); + _M_construct(__start, __start + __str._M_limit(__pos, __n)); + } +# 426 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string(const basic_string& __str, size_type __pos, + size_type __n, const _Alloc& __a) + : _M_dataplus(_M_local_data(), __a) + { + const _CharT* __start + = __str._M_data() + __str._M_check(__pos, "string::string"); + _M_construct(__start, __start + __str._M_limit(__pos, __n)); + } +# 444 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string(const _CharT* __s, size_type __n, + const _Alloc& __a = _Alloc()) + : _M_dataplus(_M_local_data(), __a) + { _M_construct(__s, __s + __n); } + + + + + + + basic_string(const _CharT* __s, const _Alloc& __a = _Alloc()) + : _M_dataplus(_M_local_data(), __a) + { _M_construct(__s, __s ? __s + traits_type::length(__s) : __s+npos); } + + + + + + + + basic_string(size_type __n, _CharT __c, const _Alloc& __a = _Alloc()) + : _M_dataplus(_M_local_data(), __a) + { _M_construct(__n, __c); } +# 476 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string(basic_string&& __str) noexcept + : _M_dataplus(_M_local_data(), std::move(__str._M_get_allocator())) + { + if (__str._M_is_local()) + { + traits_type::copy(_M_local_buf, __str._M_local_buf, + _S_local_capacity + 1); + } + else + { + _M_data(__str._M_data()); + _M_capacity(__str._M_allocated_capacity); + } + + + + + _M_length(__str.length()); + __str._M_data(__str._M_local_data()); + __str._M_set_length(0); + } + + + + + + + basic_string(initializer_list<_CharT> __l, const _Alloc& __a = _Alloc()) + : _M_dataplus(_M_local_data(), __a) + { _M_construct(__l.begin(), __l.end()); } + + basic_string(const basic_string& __str, const _Alloc& __a) + : _M_dataplus(_M_local_data(), __a) + { _M_construct(__str.begin(), __str.end()); } + + basic_string(basic_string&& __str, const _Alloc& __a) + noexcept(_Alloc_traits::_S_always_equal()) + : _M_dataplus(_M_local_data(), __a) + { + if (__str._M_is_local()) + { + traits_type::copy(_M_local_buf, __str._M_local_buf, + _S_local_capacity + 1); + _M_length(__str.length()); + __str._M_set_length(0); + } + else if (_Alloc_traits::_S_always_equal() + || __str.get_allocator() == __a) + { + _M_data(__str._M_data()); + _M_length(__str.length()); + _M_capacity(__str._M_allocated_capacity); + __str._M_data(__str._M_local_buf); + __str._M_set_length(0); + } + else + _M_construct(__str.begin(), __str.end()); + } +# 544 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _InputIterator, + typename = std::_RequireInputIter<_InputIterator>> + + + + basic_string(_InputIterator __beg, _InputIterator __end, + const _Alloc& __a = _Alloc()) + : _M_dataplus(_M_local_data(), __a) + { _M_construct(__beg, __end); } + + + + + ~basic_string() + { _M_dispose(); } + + + + + + basic_string& + operator=(const basic_string& __str) + { + + if (_Alloc_traits::_S_propagate_on_copy_assign()) + { + if (!_Alloc_traits::_S_always_equal() && !_M_is_local() + && _M_get_allocator() != __str._M_get_allocator()) + { + + + if (__str.size() <= _S_local_capacity) + { + _M_destroy(_M_allocated_capacity); + _M_data(_M_local_data()); + _M_set_length(0); + } + else + { + const auto __len = __str.size(); + auto __alloc = __str._M_get_allocator(); + + auto __ptr = _Alloc_traits::allocate(__alloc, __len + 1); + _M_destroy(_M_allocated_capacity); + _M_data(__ptr); + _M_capacity(__len); + _M_set_length(__len); + } + } + std::__alloc_on_copy(_M_get_allocator(), __str._M_get_allocator()); + } + + return this->assign(__str); + } + + + + + + basic_string& + operator=(const _CharT* __s) + { return this->assign(__s); } +# 614 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + operator=(_CharT __c) + { + this->assign(1, __c); + return *this; + } +# 632 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + operator=(basic_string&& __str) + noexcept(_Alloc_traits::_S_nothrow_move()) + { + if (!_M_is_local() && _Alloc_traits::_S_propagate_on_move_assign() + && !_Alloc_traits::_S_always_equal() + && _M_get_allocator() != __str._M_get_allocator()) + { + + _M_destroy(_M_allocated_capacity); + _M_data(_M_local_data()); + _M_set_length(0); + } + + std::__alloc_on_move(_M_get_allocator(), __str._M_get_allocator()); + + if (!__str._M_is_local() + && (_Alloc_traits::_S_propagate_on_move_assign() + || _Alloc_traits::_S_always_equal())) + { + pointer __data = nullptr; + size_type __capacity; + if (!_M_is_local()) + { + if (_Alloc_traits::_S_always_equal()) + { + __data = _M_data(); + __capacity = _M_allocated_capacity; + } + else + _M_destroy(_M_allocated_capacity); + } + + _M_data(__str._M_data()); + _M_length(__str.length()); + _M_capacity(__str._M_allocated_capacity); + if (__data) + { + __str._M_data(__data); + __str._M_capacity(__capacity); + } + else + __str._M_data(__str._M_local_buf); + } + else + assign(__str); + __str.clear(); + return *this; + } + + + + + + basic_string& + operator=(initializer_list<_CharT> __l) + { + this->assign(__l.begin(), __l.size()); + return *this; + } + + + + + + + + iterator + begin() noexcept + { return iterator(_M_data()); } + + + + + + const_iterator + begin() const noexcept + { return const_iterator(_M_data()); } + + + + + + iterator + end() noexcept + { return iterator(_M_data() + this->size()); } + + + + + + const_iterator + end() const noexcept + { return const_iterator(_M_data() + this->size()); } + + + + + + + reverse_iterator + rbegin() noexcept + { return reverse_iterator(this->end()); } + + + + + + + const_reverse_iterator + rbegin() const noexcept + { return const_reverse_iterator(this->end()); } + + + + + + + reverse_iterator + rend() noexcept + { return reverse_iterator(this->begin()); } + + + + + + + const_reverse_iterator + rend() const noexcept + { return const_reverse_iterator(this->begin()); } + + + + + + + const_iterator + cbegin() const noexcept + { return const_iterator(this->_M_data()); } + + + + + + const_iterator + cend() const noexcept + { return const_iterator(this->_M_data() + this->size()); } + + + + + + + const_reverse_iterator + crbegin() const noexcept + { return const_reverse_iterator(this->end()); } + + + + + + + const_reverse_iterator + crend() const noexcept + { return const_reverse_iterator(this->begin()); } + + + public: + + + + size_type + size() const noexcept + { return _M_string_length; } + + + + size_type + length() const noexcept + { return _M_string_length; } + + + size_type + max_size() const noexcept + { return (_Alloc_traits::max_size(_M_get_allocator()) - 1) / 2; } +# 828 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + void + resize(size_type __n, _CharT __c); +# 841 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + void + resize(size_type __n) + { this->resize(__n, _CharT()); } + + + + void + shrink_to_fit() noexcept + { + + if (capacity() > size()) + { + try + { reserve(0); } + catch(...) + { } + } + + } + + + + + + + size_type + capacity() const noexcept + { + return _M_is_local() ? size_type(_S_local_capacity) + : _M_allocated_capacity; + } +# 890 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + void + reserve(size_type __res_arg = 0); + + + + + void + clear() noexcept + { _M_set_length(0); } + + + + + + bool + empty() const noexcept + { return this->size() == 0; } +# 919 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + const_reference + operator[] (size_type __pos) const noexcept + { + ; + return _M_data()[__pos]; + } +# 936 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + reference + operator[](size_type __pos) + { + + + ; + + ; + return _M_data()[__pos]; + } +# 957 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + const_reference + at(size_type __n) const + { + if (__n >= this->size()) + __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)"), + + + __n, this->size()); + return _M_data()[__n]; + } +# 978 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + reference + at(size_type __n) + { + if (__n >= size()) + __throw_out_of_range_fmt(("basic_string::at: __n " "(which is %zu) >= this->size() " "(which is %zu)"), + + + __n, this->size()); + return _M_data()[__n]; + } + + + + + + + reference + front() noexcept + { + ; + return operator[](0); + } + + + + + + const_reference + front() const noexcept + { + ; + return operator[](0); + } + + + + + + reference + back() noexcept + { + ; + return operator[](this->size() - 1); + } + + + + + + const_reference + back() const noexcept + { + ; + return operator[](this->size() - 1); + } +# 1041 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + operator+=(const basic_string& __str) + { return this->append(__str); } + + + + + + + basic_string& + operator+=(const _CharT* __s) + { return this->append(__s); } + + + + + + + basic_string& + operator+=(_CharT __c) + { + this->push_back(__c); + return *this; + } + + + + + + + + basic_string& + operator+=(initializer_list<_CharT> __l) + { return this->append(__l.begin(), __l.size()); } + + + + + + + + basic_string& + append(const basic_string& __str) + { return _M_append(__str._M_data(), __str.size()); } +# 1099 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + append(const basic_string& __str, size_type __pos, size_type __n) + { return _M_append(__str._M_data() + + __str._M_check(__pos, "basic_string::append"), + __str._M_limit(__pos, __n)); } + + + + + + + + basic_string& + append(const _CharT* __s, size_type __n) + { + ; + _M_check_length(size_type(0), __n, "basic_string::append"); + return _M_append(__s, __n); + } + + + + + + + basic_string& + append(const _CharT* __s) + { + ; + const size_type __n = traits_type::length(__s); + _M_check_length(size_type(0), __n, "basic_string::append"); + return _M_append(__s, __n); + } +# 1141 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + append(size_type __n, _CharT __c) + { return _M_replace_aux(this->size(), size_type(0), __n, __c); } + + + + + + + + basic_string& + append(initializer_list<_CharT> __l) + { return this->append(__l.begin(), __l.size()); } +# 1165 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<class _InputIterator, + typename = std::_RequireInputIter<_InputIterator>> + + + + basic_string& + append(_InputIterator __first, _InputIterator __last) + { return this->replace(end(), end(), __first, __last); } + + + + + + void + push_back(_CharT __c) + { + const size_type __size = this->size(); + if (__size + 1 > this->capacity()) + this->_M_mutate(__size, size_type(0), 0, size_type(1)); + traits_type::assign(this->_M_data()[__size], __c); + this->_M_set_length(__size + 1); + } + + + + + + + basic_string& + assign(const basic_string& __str) + { + this->_M_assign(__str); + return *this; + } +# 1209 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + assign(basic_string&& __str) + noexcept(_Alloc_traits::_S_nothrow_move()) + { + + + return *this = std::move(__str); + } +# 1232 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + assign(const basic_string& __str, size_type __pos, size_type __n) + { return _M_replace(size_type(0), this->size(), __str._M_data() + + __str._M_check(__pos, "basic_string::assign"), + __str._M_limit(__pos, __n)); } +# 1248 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + assign(const _CharT* __s, size_type __n) + { + ; + return _M_replace(size_type(0), this->size(), __s, __n); + } +# 1264 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + assign(const _CharT* __s) + { + ; + return _M_replace(size_type(0), this->size(), __s, + traits_type::length(__s)); + } +# 1281 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + assign(size_type __n, _CharT __c) + { return _M_replace_aux(size_type(0), this->size(), __n, __c); } +# 1294 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<class _InputIterator, + typename = std::_RequireInputIter<_InputIterator>> + + + + basic_string& + assign(_InputIterator __first, _InputIterator __last) + { return this->replace(begin(), end(), __first, __last); } + + + + + + + + basic_string& + assign(initializer_list<_CharT> __l) + { return this->assign(__l.begin(), __l.size()); } +# 1330 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + iterator + insert(const_iterator __p, size_type __n, _CharT __c) + { + ; + const size_type __pos = __p - begin(); + this->replace(__p, __p, __n, __c); + return iterator(this->_M_data() + __pos); + } +# 1372 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<class _InputIterator, + typename = std::_RequireInputIter<_InputIterator>> + iterator + insert(const_iterator __p, _InputIterator __beg, _InputIterator __end) + { + ; + const size_type __pos = __p - begin(); + this->replace(__p, __p, __beg, __end); + return iterator(this->_M_data() + __pos); + } +# 1408 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + void + insert(iterator __p, initializer_list<_CharT> __l) + { + ; + this->insert(__p - begin(), __l.begin(), __l.size()); + } +# 1428 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + insert(size_type __pos1, const basic_string& __str) + { return this->replace(__pos1, size_type(0), + __str._M_data(), __str.size()); } +# 1451 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + insert(size_type __pos1, const basic_string& __str, + size_type __pos2, size_type __n) + { return this->replace(__pos1, size_type(0), __str._M_data() + + __str._M_check(__pos2, "basic_string::insert"), + __str._M_limit(__pos2, __n)); } +# 1474 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + insert(size_type __pos, const _CharT* __s, size_type __n) + { return this->replace(__pos, size_type(0), __s, __n); } +# 1493 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + insert(size_type __pos, const _CharT* __s) + { + ; + return this->replace(__pos, size_type(0), __s, + traits_type::length(__s)); + } +# 1517 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + insert(size_type __pos, size_type __n, _CharT __c) + { return _M_replace_aux(_M_check(__pos, "basic_string::insert"), + size_type(0), __n, __c); } +# 1535 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + iterator + insert(__const_iterator __p, _CharT __c) + { + ; + const size_type __pos = __p - begin(); + _M_replace_aux(__pos, size_type(0), size_type(1), __c); + return iterator(_M_data() + __pos); + } +# 1559 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + erase(size_type __pos = 0, size_type __n = npos) + { + this->_M_erase(_M_check(__pos, "basic_string::erase"), + _M_limit(__pos, __n)); + return *this; + } +# 1575 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + iterator + erase(__const_iterator __position) + { + + ; + const size_type __pos = __position - begin(); + this->_M_erase(__pos, size_type(1)); + return iterator(_M_data() + __pos); + } +# 1594 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + iterator + erase(__const_iterator __first, __const_iterator __last) + { + + ; + const size_type __pos = __first - begin(); + this->_M_erase(__pos, __last - __first); + return iterator(this->_M_data() + __pos); + } + + + + + + + + void + pop_back() noexcept + { + ; + _M_erase(size() - 1, 1); + } +# 1635 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + replace(size_type __pos, size_type __n, const basic_string& __str) + { return this->replace(__pos, __n, __str._M_data(), __str.size()); } +# 1657 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + replace(size_type __pos1, size_type __n1, const basic_string& __str, + size_type __pos2, size_type __n2) + { return this->replace(__pos1, __n1, __str._M_data() + + __str._M_check(__pos2, "basic_string::replace"), + __str._M_limit(__pos2, __n2)); } +# 1682 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + replace(size_type __pos, size_type __n1, const _CharT* __s, + size_type __n2) + { + ; + return _M_replace(_M_check(__pos, "basic_string::replace"), + _M_limit(__pos, __n1), __s, __n2); + } +# 1707 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + replace(size_type __pos, size_type __n1, const _CharT* __s) + { + ; + return this->replace(__pos, __n1, __s, traits_type::length(__s)); + } +# 1731 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + replace(size_type __pos, size_type __n1, size_type __n2, _CharT __c) + { return _M_replace_aux(_M_check(__pos, "basic_string::replace"), + _M_limit(__pos, __n1), __n2, __c); } +# 1749 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + const basic_string& __str) + { return this->replace(__i1, __i2, __str._M_data(), __str.size()); } +# 1769 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + const _CharT* __s, size_type __n) + { + + ; + return this->replace(__i1 - begin(), __i2 - __i1, __s, __n); + } +# 1791 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, const _CharT* __s) + { + ; + return this->replace(__i1, __i2, __s, traits_type::length(__s)); + } +# 1812 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, size_type __n, + _CharT __c) + { + + ; + return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __c); + } +# 1837 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<class _InputIterator, + typename = std::_RequireInputIter<_InputIterator>> + basic_string& + replace(const_iterator __i1, const_iterator __i2, + _InputIterator __k1, _InputIterator __k2) + { + + ; + ; + return this->_M_replace_dispatch(__i1, __i2, __k1, __k2, + std::__false_type()); + } +# 1869 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + _CharT* __k1, _CharT* __k2) + { + + ; + ; + return this->replace(__i1 - begin(), __i2 - __i1, + __k1, __k2 - __k1); + } + + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + const _CharT* __k1, const _CharT* __k2) + { + + ; + ; + return this->replace(__i1 - begin(), __i2 - __i1, + __k1, __k2 - __k1); + } + + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + iterator __k1, iterator __k2) + { + + ; + ; + return this->replace(__i1 - begin(), __i2 - __i1, + __k1.base(), __k2 - __k1); + } + + basic_string& + replace(__const_iterator __i1, __const_iterator __i2, + const_iterator __k1, const_iterator __k2) + { + + ; + ; + return this->replace(__i1 - begin(), __i2 - __i1, + __k1.base(), __k2 - __k1); + } +# 1928 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string& replace(const_iterator __i1, const_iterator __i2, + initializer_list<_CharT> __l) + { return this->replace(__i1, __i2, __l.begin(), __l.end()); } + + + private: + template<class _Integer> + basic_string& + _M_replace_dispatch(const_iterator __i1, const_iterator __i2, + _Integer __n, _Integer __val, __true_type) + { return _M_replace_aux(__i1 - begin(), __i2 - __i1, __n, __val); } + + template<class _InputIterator> + basic_string& + _M_replace_dispatch(const_iterator __i1, const_iterator __i2, + _InputIterator __k1, _InputIterator __k2, + __false_type); + + basic_string& + _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, + _CharT __c); + + basic_string& + _M_replace(size_type __pos, size_type __len1, const _CharT* __s, + const size_type __len2); + + basic_string& + _M_append(const _CharT* __s, size_type __n); + + public: +# 1971 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + copy(_CharT* __s, size_type __n, size_type __pos = 0) const; +# 1981 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + void + swap(basic_string& __s) noexcept; +# 1991 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + const _CharT* + c_str() const noexcept + { return _M_data(); } + + + + + + + + const _CharT* + data() const noexcept + { return _M_data(); } + + + + + allocator_type + get_allocator() const noexcept + { return _M_get_allocator(); } +# 2024 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find(const _CharT* __s, size_type __pos, size_type __n) const; +# 2037 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find(const basic_string& __str, size_type __pos = 0) const + noexcept + { return this->find(__str.data(), __pos, __str.size()); } +# 2052 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find(const _CharT* __s, size_type __pos = 0) const + { + ; + return this->find(__s, __pos, traits_type::length(__s)); + } +# 2069 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find(_CharT __c, size_type __pos = 0) const noexcept; +# 2082 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + rfind(const basic_string& __str, size_type __pos = npos) const + noexcept + { return this->rfind(__str.data(), __pos, __str.size()); } +# 2099 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + rfind(const _CharT* __s, size_type __pos, size_type __n) const; +# 2112 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + rfind(const _CharT* __s, size_type __pos = npos) const + { + ; + return this->rfind(__s, __pos, traits_type::length(__s)); + } +# 2129 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + rfind(_CharT __c, size_type __pos = npos) const noexcept; +# 2143 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_first_of(const basic_string& __str, size_type __pos = 0) const + noexcept + { return this->find_first_of(__str.data(), __pos, __str.size()); } +# 2160 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_first_of(const _CharT* __s, size_type __pos, size_type __n) const; +# 2173 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_first_of(const _CharT* __s, size_type __pos = 0) const + { + ; + return this->find_first_of(__s, __pos, traits_type::length(__s)); + } +# 2192 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_first_of(_CharT __c, size_type __pos = 0) const noexcept + { return this->find(__c, __pos); } +# 2207 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_last_of(const basic_string& __str, size_type __pos = npos) const + noexcept + { return this->find_last_of(__str.data(), __pos, __str.size()); } +# 2224 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_last_of(const _CharT* __s, size_type __pos, size_type __n) const; +# 2237 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_last_of(const _CharT* __s, size_type __pos = npos) const + { + ; + return this->find_last_of(__s, __pos, traits_type::length(__s)); + } +# 2256 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_last_of(_CharT __c, size_type __pos = npos) const noexcept + { return this->rfind(__c, __pos); } +# 2270 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_first_not_of(const basic_string& __str, size_type __pos = 0) const + noexcept + { return this->find_first_not_of(__str.data(), __pos, __str.size()); } +# 2287 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_first_not_of(const _CharT* __s, size_type __pos, + size_type __n) const; +# 2301 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_first_not_of(const _CharT* __s, size_type __pos = 0) const + { + ; + return this->find_first_not_of(__s, __pos, traits_type::length(__s)); + } +# 2318 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_first_not_of(_CharT __c, size_type __pos = 0) const + noexcept; +# 2333 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_last_not_of(const basic_string& __str, size_type __pos = npos) const + noexcept + { return this->find_last_not_of(__str.data(), __pos, __str.size()); } +# 2350 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_last_not_of(const _CharT* __s, size_type __pos, + size_type __n) const; +# 2364 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_last_not_of(const _CharT* __s, size_type __pos = npos) const + { + ; + return this->find_last_not_of(__s, __pos, traits_type::length(__s)); + } +# 2381 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + size_type + find_last_not_of(_CharT __c, size_type __pos = npos) const + noexcept; +# 2397 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + basic_string + substr(size_type __pos = 0, size_type __n = npos) const + { return basic_string(*this, + _M_check(__pos, "basic_string::substr"), __n); } +# 2416 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + int + compare(const basic_string& __str) const + { + const size_type __size = this->size(); + const size_type __osize = __str.size(); + const size_type __len = std::min(__size, __osize); + + int __r = traits_type::compare(_M_data(), __str.data(), __len); + if (!__r) + __r = _S_compare(__size, __osize); + return __r; + } +# 2448 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + int + compare(size_type __pos, size_type __n, const basic_string& __str) const; +# 2474 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + int + compare(size_type __pos1, size_type __n1, const basic_string& __str, + size_type __pos2, size_type __n2) const; +# 2492 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + int + compare(const _CharT* __s) const; +# 2516 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + int + compare(size_type __pos, size_type __n1, const _CharT* __s) const; +# 2543 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + int + compare(size_type __pos, size_type __n1, const _CharT* __s, + size_type __n2) const; + }; +} +# 4942 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc> + operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { + basic_string<_CharT, _Traits, _Alloc> __str(__lhs); + __str.append(__rhs); + return __str; + } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT,_Traits,_Alloc> + operator+(const _CharT* __lhs, + const basic_string<_CharT,_Traits,_Alloc>& __rhs); + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT,_Traits,_Alloc> + operator+(_CharT __lhs, const basic_string<_CharT,_Traits,_Alloc>& __rhs); + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { + basic_string<_CharT, _Traits, _Alloc> __str(__lhs); + __str.append(__rhs); + return __str; + } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, _CharT __rhs) + { + typedef basic_string<_CharT, _Traits, _Alloc> __string_type; + typedef typename __string_type::size_type __size_type; + __string_type __str(__lhs); + __str.append(__size_type(1), __rhs); + return __str; + } + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return std::move(__lhs.append(__rhs)); } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { return std::move(__rhs.insert(0, __lhs)); } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { + const auto __size = __lhs.size() + __rhs.size(); + const bool __cond = (__size > __lhs.capacity() + && __size <= __rhs.capacity()); + return __cond ? std::move(__rhs.insert(0, __lhs)) + : std::move(__lhs.append(__rhs)); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(const _CharT* __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { return std::move(__rhs.insert(0, __lhs)); } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(_CharT __lhs, + basic_string<_CharT, _Traits, _Alloc>&& __rhs) + { return std::move(__rhs.insert(0, 1, __lhs)); } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + const _CharT* __rhs) + { return std::move(__lhs.append(__rhs)); } + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_string<_CharT, _Traits, _Alloc> + operator+(basic_string<_CharT, _Traits, _Alloc>&& __lhs, + _CharT __rhs) + { return std::move(__lhs.append(1, __rhs)); } +# 5063 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { return __lhs.compare(__rhs) == 0; } + + template<typename _CharT> + inline + typename __gnu_cxx::__enable_if<__is_char<_CharT>::__value, bool>::__type + operator==(const basic_string<_CharT>& __lhs, + const basic_string<_CharT>& __rhs) noexcept + { return (__lhs.size() == __rhs.size() + && !std::char_traits<_CharT>::compare(__lhs.data(), __rhs.data(), + __lhs.size())); } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator==(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return __rhs.compare(__lhs) == 0; } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator==(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { return __lhs.compare(__rhs) == 0; } +# 5110 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { return !(__lhs == __rhs); } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator!=(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return !(__lhs == __rhs); } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator!=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { return !(__lhs == __rhs); } +# 5148 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { return __lhs.compare(__rhs) < 0; } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator<(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { return __lhs.compare(__rhs) < 0; } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator<(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return __rhs.compare(__lhs) > 0; } +# 5186 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { return __lhs.compare(__rhs) > 0; } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator>(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { return __lhs.compare(__rhs) > 0; } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator>(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return __rhs.compare(__lhs) < 0; } +# 5224 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { return __lhs.compare(__rhs) <= 0; } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator<=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { return __lhs.compare(__rhs) <= 0; } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator<=(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return __rhs.compare(__lhs) >= 0; } +# 5262 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept + { return __lhs.compare(__rhs) >= 0; } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator>=(const basic_string<_CharT, _Traits, _Alloc>& __lhs, + const _CharT* __rhs) + { return __lhs.compare(__rhs) >= 0; } + + + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline bool + operator>=(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { return __rhs.compare(__lhs) <= 0; } +# 5300 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + inline void + swap(basic_string<_CharT, _Traits, _Alloc>& __lhs, + basic_string<_CharT, _Traits, _Alloc>& __rhs) + noexcept(noexcept(__lhs.swap(__rhs))) + { __lhs.swap(__rhs); } +# 5320 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + basic_istream<_CharT, _Traits>& + operator>>(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT, _Traits, _Alloc>& __str); + + template<> + basic_istream<char>& + operator>>(basic_istream<char>& __is, basic_string<char>& __str); +# 5338 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_ostream<_CharT, _Traits>& + operator<<(basic_ostream<_CharT, _Traits>& __os, + const basic_string<_CharT, _Traits, _Alloc>& __str) + { + + + return __ostream_insert(__os, __str.data(), __str.size()); + } +# 5361 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + basic_istream<_CharT, _Traits>& + getline(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim); +# 5378 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_istream<_CharT, _Traits>& + getline(basic_istream<_CharT, _Traits>& __is, + basic_string<_CharT, _Traits, _Alloc>& __str) + { return std::getline(__is, __str, __is.widen('\n')); } + + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_istream<_CharT, _Traits>& + getline(basic_istream<_CharT, _Traits>&& __is, + basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) + { return std::getline(__is, __str, __delim); } + + + template<typename _CharT, typename _Traits, typename _Alloc> + inline basic_istream<_CharT, _Traits>& + getline(basic_istream<_CharT, _Traits>&& __is, + basic_string<_CharT, _Traits, _Alloc>& __str) + { return std::getline(__is, __str); } + + + template<> + basic_istream<char>& + getline(basic_istream<char>& __in, basic_string<char>& __str, + char __delim); + + + template<> + basic_istream<wchar_t>& + getline(basic_istream<wchar_t>& __in, basic_string<wchar_t>& __str, + wchar_t __delim); + + + +} + + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/string_conversions.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/string_conversions.h" 3 + + + + + + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdlib" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdlib" 3 +# 42 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/string_conversions.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 3 + + + + +# 1 "/usr/include/wchar.h" 1 3 4 +# 45 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cwchar" 2 3 +# 43 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/string_conversions.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdio" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdio" 3 + + +# 1 "/usr/xenomai/include/cobalt/stdio.h" 1 3 +# 20 "/usr/xenomai/include/cobalt/stdio.h" 3 +# 43 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdio" 2 3 +# 96 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdio" 3 +namespace std +{ + using ::FILE; + using ::fpos_t; + + using ::clearerr; + using ::fclose; + using ::feof; + using ::ferror; + using ::fflush; + using ::fgetc; + using ::fgetpos; + using ::fgets; + using ::fopen; + using ::fprintf; + using ::fputc; + using ::fputs; + using ::fread; + using ::freopen; + using ::fscanf; + using ::fseek; + using ::fsetpos; + using ::ftell; + using ::fwrite; + using ::getc; + using ::getchar; + + + using ::gets; + + using ::perror; + using ::printf; + using ::putc; + using ::putchar; + using ::puts; + using ::remove; + using ::rename; + using ::rewind; + using ::scanf; + using ::setbuf; + using ::setvbuf; + using ::sprintf; + using ::sscanf; + using ::tmpfile; + + using ::tmpnam; + + using ::ungetc; + using ::vfprintf; + using ::vprintf; + using ::vsprintf; +} +# 157 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdio" 3 +namespace __gnu_cxx +{ +# 175 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cstdio" 3 + using ::snprintf; + using ::vfscanf; + using ::vscanf; + using ::vsnprintf; + using ::vsscanf; + +} + +namespace std +{ + using ::__gnu_cxx::snprintf; + using ::__gnu_cxx::vfscanf; + using ::__gnu_cxx::vscanf; + using ::__gnu_cxx::vsnprintf; + using ::__gnu_cxx::vsscanf; +} +# 44 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/string_conversions.h" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cerrno" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cerrno" 3 + + +# 1 "/usr/include/errno.h" 1 3 4 +# 31 "/usr/include/errno.h" 3 4 +extern "C" { + + + + +# 1 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 1 3 4 +# 24 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 3 4 +# 1 "/usr/include/linux/errno.h" 1 3 4 +# 1 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 1 3 4 +# 1 "/usr/include/asm-generic/errno.h" 1 3 4 + + + +# 1 "/usr/include/asm-generic/errno-base.h" 1 3 4 +# 5 "/usr/include/asm-generic/errno.h" 2 3 4 +# 2 "/usr/include/arm-linux-gnueabihf/asm/errno.h" 2 3 4 +# 2 "/usr/include/linux/errno.h" 2 3 4 +# 25 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 2 3 4 +# 50 "/usr/include/arm-linux-gnueabihf/bits/errno.h" 3 4 +extern int *__errno_location (void) throw () __attribute__ ((__const__)); +# 36 "/usr/include/errno.h" 2 3 4 +# 54 "/usr/include/errno.h" 3 4 +extern char *program_invocation_name, *program_invocation_short_name; + + + +} +# 68 "/usr/include/errno.h" 3 4 +typedef int error_t; +# 43 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/cerrno" 2 3 +# 45 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/string_conversions.h" 2 3 + +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ + + + + template<typename _TRet, typename _Ret = _TRet, typename _CharT, + typename... _Base> + _Ret + __stoa(_TRet (*__convf) (const _CharT*, _CharT**, _Base...), + const char* __name, const _CharT* __str, std::size_t* __idx, + _Base... __base) + { + _Ret __ret; + + _CharT* __endptr; + + struct _Save_errno { + _Save_errno() : _M_errno((*__errno_location ())) { (*__errno_location ()) = 0; } + ~_Save_errno() { if ((*__errno_location ()) == 0) (*__errno_location ()) = _M_errno; } + int _M_errno; + } const __save_errno; + + const _TRet __tmp = __convf(__str, &__endptr, __base...); + + if (__endptr == __str) + std::__throw_invalid_argument(__name); + else if ((*__errno_location ()) == 34 + || (std::__are_same<_Ret, int>::__value + && (__tmp < __numeric_traits<int>::__min + || __tmp > __numeric_traits<int>::__max))) + std::__throw_out_of_range(__name); + else + __ret = __tmp; + + if (__idx) + *__idx = __endptr - __str; + + return __ret; + } + + + template<typename _String, typename _CharT = typename _String::value_type> + _String + __to_xstring(int (*__convf) (_CharT*, std::size_t, const _CharT*, + __builtin_va_list), std::size_t __n, + const _CharT* __fmt, ...) + { + + + _CharT* __s = static_cast<_CharT*>(__builtin_alloca(sizeof(_CharT) + * __n)); + + __builtin_va_list __args; + __builtin_va_start(__args, __fmt); + + const int __len = __convf(__s, __n, __fmt, __args); + + __builtin_va_end(__args); + + return _String(__s, __s + __len); + } + + +} +# 5418 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + +namespace __cxx11 { + + + + inline int + stoi(const string& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa<long, int>(&std::strtol, "stoi", __str.c_str(), + __idx, __base); } + + inline long + stol(const string& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::strtol, "stol", __str.c_str(), + __idx, __base); } + + inline unsigned long + stoul(const string& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::strtoul, "stoul", __str.c_str(), + __idx, __base); } + + inline long long + stoll(const string& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::strtoll, "stoll", __str.c_str(), + __idx, __base); } + + inline unsigned long long + stoull(const string& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::strtoull, "stoull", __str.c_str(), + __idx, __base); } + + + inline float + stof(const string& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::strtof, "stof", __str.c_str(), __idx); } + + inline double + stod(const string& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::strtod, "stod", __str.c_str(), __idx); } + + inline long double + stold(const string& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::strtold, "stold", __str.c_str(), __idx); } + + + + + + + inline string + to_string(int __val) + { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, 4 * sizeof(int), + "%d", __val); } + + inline string + to_string(unsigned __val) + { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, + 4 * sizeof(unsigned), + "%u", __val); } + + inline string + to_string(long __val) + { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, 4 * sizeof(long), + "%ld", __val); } + + inline string + to_string(unsigned long __val) + { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, + 4 * sizeof(unsigned long), + "%lu", __val); } + + inline string + to_string(long long __val) + { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, + 4 * sizeof(long long), + "%lld", __val); } + + inline string + to_string(unsigned long long __val) + { return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, + 4 * sizeof(unsigned long long), + "%llu", __val); } + + inline string + to_string(float __val) + { + const int __n = + __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20; + return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n, + "%f", __val); + } + + inline string + to_string(double __val) + { + const int __n = + __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20; + return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n, + "%f", __val); + } + + inline string + to_string(long double __val) + { + const int __n = + __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20; + return __gnu_cxx::__to_xstring<string>(&std::vsnprintf, __n, + "%Lf", __val); + } + + + + inline int + stoi(const wstring& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa<long, int>(&std::wcstol, "stoi", __str.c_str(), + __idx, __base); } + + inline long + stol(const wstring& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::wcstol, "stol", __str.c_str(), + __idx, __base); } + + inline unsigned long + stoul(const wstring& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::wcstoul, "stoul", __str.c_str(), + __idx, __base); } + + inline long long + stoll(const wstring& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::wcstoll, "stoll", __str.c_str(), + __idx, __base); } + + inline unsigned long long + stoull(const wstring& __str, size_t* __idx = 0, int __base = 10) + { return __gnu_cxx::__stoa(&std::wcstoull, "stoull", __str.c_str(), + __idx, __base); } + + + inline float + stof(const wstring& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::wcstof, "stof", __str.c_str(), __idx); } + + inline double + stod(const wstring& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::wcstod, "stod", __str.c_str(), __idx); } + + inline long double + stold(const wstring& __str, size_t* __idx = 0) + { return __gnu_cxx::__stoa(&std::wcstold, "stold", __str.c_str(), __idx); } + + + + inline wstring + to_wstring(int __val) + { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(int), + L"%d", __val); } + + inline wstring + to_wstring(unsigned __val) + { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, + 4 * sizeof(unsigned), + L"%u", __val); } + + inline wstring + to_wstring(long __val) + { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, 4 * sizeof(long), + L"%ld", __val); } + + inline wstring + to_wstring(unsigned long __val) + { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, + 4 * sizeof(unsigned long), + L"%lu", __val); } + + inline wstring + to_wstring(long long __val) + { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, + 4 * sizeof(long long), + L"%lld", __val); } + + inline wstring + to_wstring(unsigned long long __val) + { return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, + 4 * sizeof(unsigned long long), + L"%llu", __val); } + + inline wstring + to_wstring(float __val) + { + const int __n = + __gnu_cxx::__numeric_traits<float>::__max_exponent10 + 20; + return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n, + L"%f", __val); + } + + inline wstring + to_wstring(double __val) + { + const int __n = + __gnu_cxx::__numeric_traits<double>::__max_exponent10 + 20; + return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n, + L"%f", __val); + } + + inline wstring + to_wstring(long double __val) + { + const int __n = + __gnu_cxx::__numeric_traits<long double>::__max_exponent10 + 20; + return __gnu_cxx::__to_xstring<wstring>(&std::vswprintf, __n, + L"%Lf", __val); + } + + + +} + +} + + + + + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + + + + template<> + struct hash<string> + : public __hash_base<size_t, string> + { + size_t + operator()(const string& __s) const noexcept + { return std::_Hash_impl::hash(__s.data(), __s.length()); } + }; + + template<> + struct __is_fast_hash<hash<string>> : std::false_type + { }; + + + + template<> + struct hash<wstring> + : public __hash_base<size_t, wstring> + { + size_t + operator()(const wstring& __s) const noexcept + { return std::_Hash_impl::hash(__s.data(), + __s.length() * sizeof(wchar_t)); } + }; + + template<> + struct __is_fast_hash<hash<wstring>> : std::false_type + { }; + + + + + + template<> + struct hash<u16string> + : public __hash_base<size_t, u16string> + { + size_t + operator()(const u16string& __s) const noexcept + { return std::_Hash_impl::hash(__s.data(), + __s.length() * sizeof(char16_t)); } + }; + + template<> + struct __is_fast_hash<hash<u16string>> : std::false_type + { }; + + + template<> + struct hash<u32string> + : public __hash_base<size_t, u32string> + { + size_t + operator()(const u32string& __s) const noexcept + { return std::_Hash_impl::hash(__s.data(), + __s.length() * sizeof(char32_t)); } + }; + + template<> + struct __is_fast_hash<hash<u32string>> : std::false_type + { }; +# 5758 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.h" 3 +} +# 53 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/string" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.tcc" 1 3 +# 43 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.tcc" 3 + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + const typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>::npos; + + template<typename _CharT, typename _Traits, typename _Alloc> + void + basic_string<_CharT, _Traits, _Alloc>:: + swap(basic_string& __s) noexcept + { + if (this == &__s) + return; + + _Alloc_traits::_S_on_swap(_M_get_allocator(), __s._M_get_allocator()); + + if (_M_is_local()) + if (__s._M_is_local()) + { + if (length() && __s.length()) + { + _CharT __tmp_data[_S_local_capacity + 1]; + traits_type::copy(__tmp_data, __s._M_local_buf, + _S_local_capacity + 1); + traits_type::copy(__s._M_local_buf, _M_local_buf, + _S_local_capacity + 1); + traits_type::copy(_M_local_buf, __tmp_data, + _S_local_capacity + 1); + } + else if (__s.length()) + { + traits_type::copy(_M_local_buf, __s._M_local_buf, + _S_local_capacity + 1); + _M_length(__s.length()); + __s._M_set_length(0); + return; + } + else if (length()) + { + traits_type::copy(__s._M_local_buf, _M_local_buf, + _S_local_capacity + 1); + __s._M_length(length()); + _M_set_length(0); + return; + } + } + else + { + const size_type __tmp_capacity = __s._M_allocated_capacity; + traits_type::copy(__s._M_local_buf, _M_local_buf, + _S_local_capacity + 1); + _M_data(__s._M_data()); + __s._M_data(__s._M_local_buf); + _M_capacity(__tmp_capacity); + } + else + { + const size_type __tmp_capacity = _M_allocated_capacity; + if (__s._M_is_local()) + { + traits_type::copy(_M_local_buf, __s._M_local_buf, + _S_local_capacity + 1); + __s._M_data(_M_data()); + _M_data(_M_local_buf); + } + else + { + pointer __tmp_ptr = _M_data(); + _M_data(__s._M_data()); + __s._M_data(__tmp_ptr); + _M_capacity(__s._M_allocated_capacity); + } + __s._M_capacity(__tmp_capacity); + } + + const size_type __tmp_length = length(); + _M_length(__s.length()); + __s._M_length(__tmp_length); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::pointer + basic_string<_CharT, _Traits, _Alloc>:: + _M_create(size_type& __capacity, size_type __old_capacity) + { + + + if (__capacity > max_size()) + std::__throw_length_error(("basic_string::_M_create")); + + + + + if (__capacity > __old_capacity && __capacity < 2 * __old_capacity) + { + __capacity = 2 * __old_capacity; + + if (__capacity > max_size()) + __capacity = max_size(); + } + + + + return _Alloc_traits::allocate(_M_get_allocator(), __capacity + 1); + } + + + + + + template<typename _CharT, typename _Traits, typename _Alloc> + template<typename _InIterator> + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_construct(_InIterator __beg, _InIterator __end, + std::input_iterator_tag) + { + size_type __len = 0; + size_type __capacity = size_type(_S_local_capacity); + + while (__beg != __end && __len < __capacity) + { + _M_data()[__len++] = *__beg; + ++__beg; + } + + try + { + while (__beg != __end) + { + if (__len == __capacity) + { + + __capacity = __len + 1; + pointer __another = _M_create(__capacity, __len); + this->_S_copy(__another, _M_data(), __len); + _M_dispose(); + _M_data(__another); + _M_capacity(__capacity); + } + _M_data()[__len++] = *__beg; + ++__beg; + } + } + catch(...) + { + _M_dispose(); + throw; + } + + _M_set_length(__len); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + template<typename _InIterator> + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_construct(_InIterator __beg, _InIterator __end, + std::forward_iterator_tag) + { + + if (__gnu_cxx::__is_null_pointer(__beg) && __beg != __end) + std::__throw_logic_error(("basic_string::" "_M_construct null not valid")); + + + size_type __dnew = static_cast<size_type>(std::distance(__beg, __end)); + + if (__dnew > size_type(_S_local_capacity)) + { + _M_data(_M_create(__dnew, size_type(0))); + _M_capacity(__dnew); + } + + + try + { this->_S_copy_chars(_M_data(), __beg, __end); } + catch(...) + { + _M_dispose(); + throw; + } + + _M_set_length(__dnew); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_construct(size_type __n, _CharT __c) + { + if (__n > size_type(_S_local_capacity)) + { + _M_data(_M_create(__n, size_type(0))); + _M_capacity(__n); + } + + if (__n) + this->_S_assign(_M_data(), __n, __c); + + _M_set_length(__n); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_assign(const basic_string& __str) + { + if (this != &__str) + { + const size_type __rsize = __str.length(); + const size_type __capacity = capacity(); + + if (__rsize > __capacity) + { + size_type __new_capacity = __rsize; + pointer __tmp = _M_create(__new_capacity, __capacity); + _M_dispose(); + _M_data(__tmp); + _M_capacity(__new_capacity); + } + + if (__rsize) + this->_S_copy(_M_data(), __str._M_data(), __rsize); + + _M_set_length(__rsize); + } + } + + template<typename _CharT, typename _Traits, typename _Alloc> + void + basic_string<_CharT, _Traits, _Alloc>:: + reserve(size_type __res) + { + + if (__res < length()) + __res = length(); + + const size_type __capacity = capacity(); + if (__res != __capacity) + { + if (__res > __capacity + || __res > size_type(_S_local_capacity)) + { + pointer __tmp = _M_create(__res, __capacity); + this->_S_copy(__tmp, _M_data(), length() + 1); + _M_dispose(); + _M_data(__tmp); + _M_capacity(__res); + } + else if (!_M_is_local()) + { + this->_S_copy(_M_local_data(), _M_data(), length() + 1); + _M_destroy(__capacity); + _M_data(_M_local_data()); + } + } + } + + template<typename _CharT, typename _Traits, typename _Alloc> + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_mutate(size_type __pos, size_type __len1, const _CharT* __s, + size_type __len2) + { + const size_type __how_much = length() - __pos - __len1; + + size_type __new_capacity = length() + __len2 - __len1; + pointer __r = _M_create(__new_capacity, capacity()); + + if (__pos) + this->_S_copy(__r, _M_data(), __pos); + if (__s && __len2) + this->_S_copy(__r + __pos, __s, __len2); + if (__how_much) + this->_S_copy(__r + __pos + __len2, + _M_data() + __pos + __len1, __how_much); + + _M_dispose(); + _M_data(__r); + _M_capacity(__new_capacity); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + void + basic_string<_CharT, _Traits, _Alloc>:: + _M_erase(size_type __pos, size_type __n) + { + const size_type __how_much = length() - __pos - __n; + + if (__how_much && __n) + this->_S_move(_M_data() + __pos, _M_data() + __pos + __n, __how_much); + + _M_set_length(length() - __n); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + void + basic_string<_CharT, _Traits, _Alloc>:: + resize(size_type __n, _CharT __c) + { + const size_type __size = this->size(); + if (__size < __n) + this->append(__n - __size, __c); + else if (__n < __size) + this->_M_erase(__n, __size - __n); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + _M_append(const _CharT* __s, size_type __n) + { + const size_type __len = __n + this->size(); + + if (__len <= this->capacity()) + { + if (__n) + this->_S_copy(this->_M_data() + this->size(), __s, __n); + } + else + this->_M_mutate(this->size(), size_type(0), __s, __n); + + this->_M_set_length(__len); + return *this; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + template<typename _InputIterator> + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + _M_replace_dispatch(const_iterator __i1, const_iterator __i2, + _InputIterator __k1, _InputIterator __k2, + std::__false_type) + { + const basic_string __s(__k1, __k2); + const size_type __n1 = __i2 - __i1; + return _M_replace(__i1 - begin(), __n1, __s._M_data(), + __s.size()); + } + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + _M_replace_aux(size_type __pos1, size_type __n1, size_type __n2, + _CharT __c) + { + _M_check_length(__n1, __n2, "basic_string::_M_replace_aux"); + + const size_type __old_size = this->size(); + const size_type __new_size = __old_size + __n2 - __n1; + + if (__new_size <= this->capacity()) + { + pointer __p = this->_M_data() + __pos1; + + const size_type __how_much = __old_size - __pos1 - __n1; + if (__how_much && __n1 != __n2) + this->_S_move(__p + __n2, __p + __n1, __how_much); + } + else + this->_M_mutate(__pos1, __n1, 0, __n2); + + if (__n2) + this->_S_assign(this->_M_data() + __pos1, __n2, __c); + + this->_M_set_length(__new_size); + return *this; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc>& + basic_string<_CharT, _Traits, _Alloc>:: + _M_replace(size_type __pos, size_type __len1, const _CharT* __s, + const size_type __len2) + { + _M_check_length(__len1, __len2, "basic_string::_M_replace"); + + const size_type __old_size = this->size(); + const size_type __new_size = __old_size + __len2 - __len1; + + if (__new_size <= this->capacity()) + { + pointer __p = this->_M_data() + __pos; + + const size_type __how_much = __old_size - __pos - __len1; + if (_M_disjunct(__s)) + { + if (__how_much && __len1 != __len2) + this->_S_move(__p + __len2, __p + __len1, __how_much); + if (__len2) + this->_S_copy(__p, __s, __len2); + } + else + { + + if (__len2 && __len2 <= __len1) + this->_S_move(__p, __s, __len2); + if (__how_much && __len1 != __len2) + this->_S_move(__p + __len2, __p + __len1, __how_much); + if (__len2 > __len1) + { + if (__s + __len2 <= __p + __len1) + this->_S_move(__p, __s, __len2); + else if (__s >= __p + __len1) + this->_S_copy(__p, __s + __len2 - __len1, __len2); + else + { + const size_type __nleft = (__p + __len1) - __s; + this->_S_move(__p, __s, __nleft); + this->_S_copy(__p + __nleft, __p + __len2, + __len2 - __nleft); + } + } + } + } + else + this->_M_mutate(__pos, __len1, __s, __len2); + + this->_M_set_length(__new_size); + return *this; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + copy(_CharT* __s, size_type __n, size_type __pos) const + { + _M_check(__pos, "basic_string::copy"); + __n = _M_limit(__pos, __n); + ; + if (__n) + _S_copy(__s, _M_data() + __pos, __n); + + return __n; + } +# 1145 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/basic_string.tcc" 3 + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc> + operator+(const _CharT* __lhs, + const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { + ; + typedef basic_string<_CharT, _Traits, _Alloc> __string_type; + typedef typename __string_type::size_type __size_type; + const __size_type __len = _Traits::length(__lhs); + __string_type __str; + __str.reserve(__len + __rhs.size()); + __str.append(__lhs, __len); + __str.append(__rhs); + return __str; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_string<_CharT, _Traits, _Alloc> + operator+(_CharT __lhs, const basic_string<_CharT, _Traits, _Alloc>& __rhs) + { + typedef basic_string<_CharT, _Traits, _Alloc> __string_type; + typedef typename __string_type::size_type __size_type; + __string_type __str; + const __size_type __len = __rhs.size(); + __str.reserve(__len + 1); + __str.append(__size_type(1), __lhs); + __str.append(__rhs); + return __str; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find(const _CharT* __s, size_type __pos, size_type __n) const + { + ; + const size_type __size = this->size(); + const _CharT* __data = _M_data(); + + if (__n == 0) + return __pos <= __size ? __pos : npos; + + if (__n <= __size) + { + for (; __pos <= __size - __n; ++__pos) + if (traits_type::eq(__data[__pos], __s[0]) + && traits_type::compare(__data + __pos + 1, + __s + 1, __n - 1) == 0) + return __pos; + } + return npos; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find(_CharT __c, size_type __pos) const noexcept + { + size_type __ret = npos; + const size_type __size = this->size(); + if (__pos < __size) + { + const _CharT* __data = _M_data(); + const size_type __n = __size - __pos; + const _CharT* __p = traits_type::find(__data + __pos, __n, __c); + if (__p) + __ret = __p - __data; + } + return __ret; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + rfind(const _CharT* __s, size_type __pos, size_type __n) const + { + ; + const size_type __size = this->size(); + if (__n <= __size) + { + __pos = std::min(size_type(__size - __n), __pos); + const _CharT* __data = _M_data(); + do + { + if (traits_type::compare(__data + __pos, __s, __n) == 0) + return __pos; + } + while (__pos-- > 0); + } + return npos; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + rfind(_CharT __c, size_type __pos) const noexcept + { + size_type __size = this->size(); + if (__size) + { + if (--__size > __pos) + __size = __pos; + for (++__size; __size-- > 0; ) + if (traits_type::eq(_M_data()[__size], __c)) + return __size; + } + return npos; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_first_of(const _CharT* __s, size_type __pos, size_type __n) const + { + ; + for (; __n && __pos < this->size(); ++__pos) + { + const _CharT* __p = traits_type::find(__s, __n, _M_data()[__pos]); + if (__p) + return __pos; + } + return npos; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_last_of(const _CharT* __s, size_type __pos, size_type __n) const + { + ; + size_type __size = this->size(); + if (__size && __n) + { + if (--__size > __pos) + __size = __pos; + do + { + if (traits_type::find(__s, __n, _M_data()[__size])) + return __size; + } + while (__size-- != 0); + } + return npos; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_first_not_of(const _CharT* __s, size_type __pos, size_type __n) const + { + ; + for (; __pos < this->size(); ++__pos) + if (!traits_type::find(__s, __n, _M_data()[__pos])) + return __pos; + return npos; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_first_not_of(_CharT __c, size_type __pos) const noexcept + { + for (; __pos < this->size(); ++__pos) + if (!traits_type::eq(_M_data()[__pos], __c)) + return __pos; + return npos; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_last_not_of(const _CharT* __s, size_type __pos, size_type __n) const + { + ; + size_type __size = this->size(); + if (__size) + { + if (--__size > __pos) + __size = __pos; + do + { + if (!traits_type::find(__s, __n, _M_data()[__size])) + return __size; + } + while (__size--); + } + return npos; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + typename basic_string<_CharT, _Traits, _Alloc>::size_type + basic_string<_CharT, _Traits, _Alloc>:: + find_last_not_of(_CharT __c, size_type __pos) const noexcept + { + size_type __size = this->size(); + if (__size) + { + if (--__size > __pos) + __size = __pos; + do + { + if (!traits_type::eq(_M_data()[__size], __c)) + return __size; + } + while (__size--); + } + return npos; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + int + basic_string<_CharT, _Traits, _Alloc>:: + compare(size_type __pos, size_type __n, const basic_string& __str) const + { + _M_check(__pos, "basic_string::compare"); + __n = _M_limit(__pos, __n); + const size_type __osize = __str.size(); + const size_type __len = std::min(__n, __osize); + int __r = traits_type::compare(_M_data() + __pos, __str.data(), __len); + if (!__r) + __r = _S_compare(__n, __osize); + return __r; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + int + basic_string<_CharT, _Traits, _Alloc>:: + compare(size_type __pos1, size_type __n1, const basic_string& __str, + size_type __pos2, size_type __n2) const + { + _M_check(__pos1, "basic_string::compare"); + __str._M_check(__pos2, "basic_string::compare"); + __n1 = _M_limit(__pos1, __n1); + __n2 = __str._M_limit(__pos2, __n2); + const size_type __len = std::min(__n1, __n2); + int __r = traits_type::compare(_M_data() + __pos1, + __str.data() + __pos2, __len); + if (!__r) + __r = _S_compare(__n1, __n2); + return __r; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + int + basic_string<_CharT, _Traits, _Alloc>:: + compare(const _CharT* __s) const + { + ; + const size_type __size = this->size(); + const size_type __osize = traits_type::length(__s); + const size_type __len = std::min(__size, __osize); + int __r = traits_type::compare(_M_data(), __s, __len); + if (!__r) + __r = _S_compare(__size, __osize); + return __r; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + int + basic_string <_CharT, _Traits, _Alloc>:: + compare(size_type __pos, size_type __n1, const _CharT* __s) const + { + ; + _M_check(__pos, "basic_string::compare"); + __n1 = _M_limit(__pos, __n1); + const size_type __osize = traits_type::length(__s); + const size_type __len = std::min(__n1, __osize); + int __r = traits_type::compare(_M_data() + __pos, __s, __len); + if (!__r) + __r = _S_compare(__n1, __osize); + return __r; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + int + basic_string <_CharT, _Traits, _Alloc>:: + compare(size_type __pos, size_type __n1, const _CharT* __s, + size_type __n2) const + { + ; + _M_check(__pos, "basic_string::compare"); + __n1 = _M_limit(__pos, __n1); + const size_type __len = std::min(__n1, __n2); + int __r = traits_type::compare(_M_data() + __pos, __s, __len); + if (!__r) + __r = _S_compare(__n1, __n2); + return __r; + } + + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_istream<_CharT, _Traits>& + operator>>(basic_istream<_CharT, _Traits>& __in, + basic_string<_CharT, _Traits, _Alloc>& __str) + { + typedef basic_istream<_CharT, _Traits> __istream_type; + typedef basic_string<_CharT, _Traits, _Alloc> __string_type; + typedef typename __istream_type::ios_base __ios_base; + typedef typename __istream_type::int_type __int_type; + typedef typename __string_type::size_type __size_type; + typedef ctype<_CharT> __ctype_type; + typedef typename __ctype_type::ctype_base __ctype_base; + + __size_type __extracted = 0; + typename __ios_base::iostate __err = __ios_base::goodbit; + typename __istream_type::sentry __cerb(__in, false); + if (__cerb) + { + try + { + + __str.erase(); + _CharT __buf[128]; + __size_type __len = 0; + const streamsize __w = __in.width(); + const __size_type __n = __w > 0 ? static_cast<__size_type>(__w) + : __str.max_size(); + const __ctype_type& __ct = use_facet<__ctype_type>(__in.getloc()); + const __int_type __eof = _Traits::eof(); + __int_type __c = __in.rdbuf()->sgetc(); + + while (__extracted < __n + && !_Traits::eq_int_type(__c, __eof) + && !__ct.is(__ctype_base::space, + _Traits::to_char_type(__c))) + { + if (__len == sizeof(__buf) / sizeof(_CharT)) + { + __str.append(__buf, sizeof(__buf) / sizeof(_CharT)); + __len = 0; + } + __buf[__len++] = _Traits::to_char_type(__c); + ++__extracted; + __c = __in.rdbuf()->snextc(); + } + __str.append(__buf, __len); + + if (_Traits::eq_int_type(__c, __eof)) + __err |= __ios_base::eofbit; + __in.width(0); + } + catch(__cxxabiv1::__forced_unwind&) + { + __in._M_setstate(__ios_base::badbit); + throw; + } + catch(...) + { + + + + __in._M_setstate(__ios_base::badbit); + } + } + + if (!__extracted) + __err |= __ios_base::failbit; + if (__err) + __in.setstate(__err); + return __in; + } + + template<typename _CharT, typename _Traits, typename _Alloc> + basic_istream<_CharT, _Traits>& + getline(basic_istream<_CharT, _Traits>& __in, + basic_string<_CharT, _Traits, _Alloc>& __str, _CharT __delim) + { + typedef basic_istream<_CharT, _Traits> __istream_type; + typedef basic_string<_CharT, _Traits, _Alloc> __string_type; + typedef typename __istream_type::ios_base __ios_base; + typedef typename __istream_type::int_type __int_type; + typedef typename __string_type::size_type __size_type; + + __size_type __extracted = 0; + const __size_type __n = __str.max_size(); + typename __ios_base::iostate __err = __ios_base::goodbit; + typename __istream_type::sentry __cerb(__in, true); + if (__cerb) + { + try + { + __str.erase(); + const __int_type __idelim = _Traits::to_int_type(__delim); + const __int_type __eof = _Traits::eof(); + __int_type __c = __in.rdbuf()->sgetc(); + + while (__extracted < __n + && !_Traits::eq_int_type(__c, __eof) + && !_Traits::eq_int_type(__c, __idelim)) + { + __str += _Traits::to_char_type(__c); + ++__extracted; + __c = __in.rdbuf()->snextc(); + } + + if (_Traits::eq_int_type(__c, __eof)) + __err |= __ios_base::eofbit; + else if (_Traits::eq_int_type(__c, __idelim)) + { + ++__extracted; + __in.rdbuf()->sbumpc(); + } + else + __err |= __ios_base::failbit; + } + catch(__cxxabiv1::__forced_unwind&) + { + __in._M_setstate(__ios_base::badbit); + throw; + } + catch(...) + { + + + + __in._M_setstate(__ios_base::badbit); + } + } + if (!__extracted) + __err |= __ios_base::failbit; + if (__err) + __in.setstate(__err); + return __in; + } + + + + + extern template class basic_string<char>; + extern template + basic_istream<char>& + operator>>(basic_istream<char>&, string&); + extern template + basic_ostream<char>& + operator<<(basic_ostream<char>&, const string&); + extern template + basic_istream<char>& + getline(basic_istream<char>&, string&, char); + extern template + basic_istream<char>& + getline(basic_istream<char>&, string&); + + + extern template class basic_string<wchar_t>; + extern template + basic_istream<wchar_t>& + operator>>(basic_istream<wchar_t>&, wstring&); + extern template + basic_ostream<wchar_t>& + operator<<(basic_ostream<wchar_t>&, const wstring&); + extern template + basic_istream<wchar_t>& + getline(basic_istream<wchar_t>&, wstring&, wchar_t); + extern template + basic_istream<wchar_t>& + getline(basic_istream<wchar_t>&, wstring&); + + + + +} +# 54 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/string" 2 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/stdexcept" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + + + struct __cow_string + { + union { + const char* _M_p; + char _M_bytes[sizeof(const char*)]; + }; + + __cow_string(); + __cow_string(const std::string&); + __cow_string(const char*, size_t); + __cow_string(const __cow_string&) noexcept; + __cow_string& operator=(const __cow_string&) noexcept; + ~__cow_string(); + + __cow_string(__cow_string&&) noexcept; + __cow_string& operator=(__cow_string&&) noexcept; + + }; + + typedef basic_string<char> __sso_string; +# 113 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/stdexcept" 3 + class logic_error : public exception + { + __cow_string _M_msg; + + public: + + explicit + logic_error(const string& __arg) ; + + + explicit + logic_error(const char*) ; + + + + logic_error(const logic_error&) noexcept; + logic_error& operator=(const logic_error&) noexcept; + + + virtual ~logic_error() noexcept; + + + + virtual const char* + what() const noexcept; + + + + + + }; + + + + class domain_error : public logic_error + { + public: + explicit domain_error(const string& __arg) ; + + explicit domain_error(const char*) ; + + virtual ~domain_error() noexcept; + }; + + + class invalid_argument : public logic_error + { + public: + explicit invalid_argument(const string& __arg) ; + + explicit invalid_argument(const char*) ; + + virtual ~invalid_argument() noexcept; + }; + + + + class length_error : public logic_error + { + public: + explicit length_error(const string& __arg) ; + + explicit length_error(const char*) ; + + virtual ~length_error() noexcept; + }; + + + + class out_of_range : public logic_error + { + public: + explicit out_of_range(const string& __arg) ; + + explicit out_of_range(const char*) ; + + virtual ~out_of_range() noexcept; + }; + + + + + + + class runtime_error : public exception + { + __cow_string _M_msg; + + public: + + explicit + runtime_error(const string& __arg) ; + + + explicit + runtime_error(const char*) ; + + + + runtime_error(const runtime_error&) noexcept; + runtime_error& operator=(const runtime_error&) noexcept; + + + virtual ~runtime_error() noexcept; + + + + virtual const char* + what() const noexcept; + + + + + + }; + + + class range_error : public runtime_error + { + public: + explicit range_error(const string& __arg) ; + + explicit range_error(const char*) ; + + virtual ~range_error() noexcept; + }; + + + class overflow_error : public runtime_error + { + public: + explicit overflow_error(const string& __arg) ; + + explicit overflow_error(const char*) ; + + virtual ~overflow_error() noexcept; + }; + + + class underflow_error : public runtime_error + { + public: + explicit underflow_error(const string& __arg) ; + + explicit underflow_error(const char*) ; + + virtual ~underflow_error() noexcept; + }; + + + + +} +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/array" 2 3 + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + template<typename _Tp, std::size_t _Nm> + struct __array_traits + { + typedef _Tp _Type[_Nm]; + + static constexpr _Tp& + _S_ref(const _Type& __t, std::size_t __n) noexcept + { return const_cast<_Tp&>(__t[__n]); } + + static constexpr _Tp* + _S_ptr(const _Type& __t) noexcept + { return const_cast<_Tp*>(__t); } + }; + + template<typename _Tp> + struct __array_traits<_Tp, 0> + { + struct _Type { }; + + static constexpr _Tp& + _S_ref(const _Type&, std::size_t) noexcept + { return *static_cast<_Tp*>(nullptr); } + + static constexpr _Tp* + _S_ptr(const _Type&) noexcept + { return nullptr; } + }; +# 89 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/array" 3 + template<typename _Tp, std::size_t _Nm> + struct array + { + typedef _Tp value_type; + typedef value_type* pointer; + typedef const value_type* const_pointer; + typedef value_type& reference; + typedef const value_type& const_reference; + typedef value_type* iterator; + typedef const value_type* const_iterator; + typedef std::size_t size_type; + typedef std::ptrdiff_t difference_type; + typedef std::reverse_iterator<iterator> reverse_iterator; + typedef std::reverse_iterator<const_iterator> const_reverse_iterator; + + + typedef std::__array_traits<_Tp, _Nm> _AT_Type; + typename _AT_Type::_Type _M_elems; + + + + + void + fill(const value_type& __u) + { std::fill_n(begin(), size(), __u); } + + void + swap(array& __other) + noexcept(__is_nothrow_swappable<_Tp>::value) + { std::swap_ranges(begin(), end(), __other.begin()); } + + + iterator + begin() noexcept + { return iterator(data()); } + + const_iterator + begin() const noexcept + { return const_iterator(data()); } + + iterator + end() noexcept + { return iterator(data() + _Nm); } + + const_iterator + end() const noexcept + { return const_iterator(data() + _Nm); } + + reverse_iterator + rbegin() noexcept + { return reverse_iterator(end()); } + + const_reverse_iterator + rbegin() const noexcept + { return const_reverse_iterator(end()); } + + reverse_iterator + rend() noexcept + { return reverse_iterator(begin()); } + + const_reverse_iterator + rend() const noexcept + { return const_reverse_iterator(begin()); } + + const_iterator + cbegin() const noexcept + { return const_iterator(data()); } + + const_iterator + cend() const noexcept + { return const_iterator(data() + _Nm); } + + const_reverse_iterator + crbegin() const noexcept + { return const_reverse_iterator(end()); } + + const_reverse_iterator + crend() const noexcept + { return const_reverse_iterator(begin()); } + + + constexpr size_type + size() const noexcept { return _Nm; } + + constexpr size_type + max_size() const noexcept { return _Nm; } + + constexpr bool + empty() const noexcept { return size() == 0; } + + + reference + operator[](size_type __n) noexcept + { return _AT_Type::_S_ref(_M_elems, __n); } + + constexpr const_reference + operator[](size_type __n) const noexcept + { return _AT_Type::_S_ref(_M_elems, __n); } + + reference + at(size_type __n) + { + if (__n >= _Nm) + std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)"), + + __n, _Nm); + return _AT_Type::_S_ref(_M_elems, __n); + } + + constexpr const_reference + at(size_type __n) const + { + + + return __n < _Nm ? _AT_Type::_S_ref(_M_elems, __n) + : (std::__throw_out_of_range_fmt(("array::at: __n (which is %zu) " ">= _Nm (which is %zu)"), + + __n, _Nm), + _AT_Type::_S_ref(_M_elems, 0)); + } + + reference + front() noexcept + { return *begin(); } + + constexpr const_reference + front() const noexcept + { return _AT_Type::_S_ref(_M_elems, 0); } + + reference + back() noexcept + { return _Nm ? *(end() - 1) : *end(); } + + constexpr const_reference + back() const noexcept + { + return _Nm ? _AT_Type::_S_ref(_M_elems, _Nm - 1) + : _AT_Type::_S_ref(_M_elems, 0); + } + + pointer + data() noexcept + { return _AT_Type::_S_ptr(_M_elems); } + + const_pointer + data() const noexcept + { return _AT_Type::_S_ptr(_M_elems); } + }; + + + template<typename _Tp, std::size_t _Nm> + inline bool + operator==(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) + { return std::equal(__one.begin(), __one.end(), __two.begin()); } + + template<typename _Tp, std::size_t _Nm> + inline bool + operator!=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) + { return !(__one == __two); } + + template<typename _Tp, std::size_t _Nm> + inline bool + operator<(const array<_Tp, _Nm>& __a, const array<_Tp, _Nm>& __b) + { + return std::lexicographical_compare(__a.begin(), __a.end(), + __b.begin(), __b.end()); + } + + template<typename _Tp, std::size_t _Nm> + inline bool + operator>(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) + { return __two < __one; } + + template<typename _Tp, std::size_t _Nm> + inline bool + operator<=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) + { return !(__one > __two); } + + template<typename _Tp, std::size_t _Nm> + inline bool + operator>=(const array<_Tp, _Nm>& __one, const array<_Tp, _Nm>& __two) + { return !(__one < __two); } + + + template<typename _Tp, std::size_t _Nm> + inline void + swap(array<_Tp, _Nm>& __one, array<_Tp, _Nm>& __two) + noexcept(noexcept(__one.swap(__two))) + { __one.swap(__two); } + + template<std::size_t _Int, typename _Tp, std::size_t _Nm> + constexpr _Tp& + get(array<_Tp, _Nm>& __arr) noexcept + { + static_assert(_Int < _Nm, "index is out of bounds"); + return std::__array_traits<_Tp, _Nm>:: + _S_ref(__arr._M_elems, _Int); + } + + template<std::size_t _Int, typename _Tp, std::size_t _Nm> + constexpr _Tp&& + get(array<_Tp, _Nm>&& __arr) noexcept + { + static_assert(_Int < _Nm, "index is out of bounds"); + return std::move(std::get<_Int>(__arr)); + } + + template<std::size_t _Int, typename _Tp, std::size_t _Nm> + constexpr const _Tp& + get(const array<_Tp, _Nm>& __arr) noexcept + { + static_assert(_Int < _Nm, "index is out of bounds"); + return std::__array_traits<_Tp, _Nm>:: + _S_ref(__arr._M_elems, _Int); + } + + +} + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + + + template<typename _Tp> + class tuple_size; + + + template<typename _Tp, std::size_t _Nm> + struct tuple_size<std::array<_Tp, _Nm>> + : public integral_constant<std::size_t, _Nm> { }; + + + template<std::size_t _Int, typename _Tp> + class tuple_element; + + + template<std::size_t _Int, typename _Tp, std::size_t _Nm> + struct tuple_element<_Int, std::array<_Tp, _Nm>> + { + static_assert(_Int < _Nm, "index is out of bounds"); + typedef _Tp type; + }; + + template<typename _Tp, std::size_t _Nm> + struct __is_tuple_like_impl<std::array<_Tp, _Nm>> : true_type + { }; + + +} +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/tuple" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/uses_allocator.h" 1 3 +# 35 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/uses_allocator.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + struct __erased_type { }; + + template<typename _Alloc, typename _Tp> + using __is_erased_or_convertible + = __or_<is_same<_Tp, __erased_type>, is_convertible<_Alloc, _Tp>>; + + + struct allocator_arg_t { explicit allocator_arg_t() = default; }; + + constexpr allocator_arg_t allocator_arg = allocator_arg_t(); + + template<typename _Tp, typename _Alloc, typename = __void_t<>> + struct __uses_allocator_helper + : false_type { }; + + template<typename _Tp, typename _Alloc> + struct __uses_allocator_helper<_Tp, _Alloc, + __void_t<typename _Tp::allocator_type>> + : __is_erased_or_convertible<_Alloc, typename _Tp::allocator_type>::type + { }; + + + template<typename _Tp, typename _Alloc> + struct uses_allocator + : __uses_allocator_helper<_Tp, _Alloc>::type + { }; + + struct __uses_alloc_base { }; + + struct __uses_alloc0 : __uses_alloc_base + { + struct _Sink { void operator=(const void*) { } } _M_a; + }; + + template<typename _Alloc> + struct __uses_alloc1 : __uses_alloc_base { const _Alloc* _M_a; }; + + template<typename _Alloc> + struct __uses_alloc2 : __uses_alloc_base { const _Alloc* _M_a; }; + + template<bool, typename _Tp, typename _Alloc, typename... _Args> + struct __uses_alloc; + + template<typename _Tp, typename _Alloc, typename... _Args> + struct __uses_alloc<true, _Tp, _Alloc, _Args...> + : conditional< + is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>::value, + __uses_alloc1<_Alloc>, + __uses_alloc2<_Alloc>>::type + { + static_assert(__or_< + is_constructible<_Tp, allocator_arg_t, _Alloc, _Args...>, + is_constructible<_Tp, _Args..., _Alloc>>::value, "construction with" + " an allocator must be possible if uses_allocator is true"); + }; + + template<typename _Tp, typename _Alloc, typename... _Args> + struct __uses_alloc<false, _Tp, _Alloc, _Args...> + : __uses_alloc0 { }; + + template<typename _Tp, typename _Alloc, typename... _Args> + using __uses_alloc_t = + __uses_alloc<uses_allocator<_Tp, _Alloc>::value, _Tp, _Alloc, _Args...>; + + template<typename _Tp, typename _Alloc, typename... _Args> + inline __uses_alloc_t<_Tp, _Alloc, _Args...> + __use_alloc(const _Alloc& __a) + { + __uses_alloc_t<_Tp, _Alloc, _Args...> __ret; + __ret._M_a = std::__addressof(__a); + return __ret; + } + + +} +# 41 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/tuple" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + + + + + template<std::size_t _Idx, typename _Head, bool _IsEmptyNotFinal> + struct _Head_base; + + template<std::size_t _Idx, typename _Head> + struct _Head_base<_Idx, _Head, true> + : public _Head + { + constexpr _Head_base() + : _Head() { } + + constexpr _Head_base(const _Head& __h) + : _Head(__h) { } + + constexpr _Head_base(const _Head_base&) = default; + constexpr _Head_base(_Head_base&&) = default; + + template<typename _UHead> + constexpr _Head_base(_UHead&& __h) + : _Head(std::forward<_UHead>(__h)) { } + + _Head_base(allocator_arg_t, __uses_alloc0) + : _Head() { } + + template<typename _Alloc> + _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) + : _Head(allocator_arg, *__a._M_a) { } + + template<typename _Alloc> + _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) + : _Head(*__a._M_a) { } + + template<typename _UHead> + _Head_base(__uses_alloc0, _UHead&& __uhead) + : _Head(std::forward<_UHead>(__uhead)) { } + + template<typename _Alloc, typename _UHead> + _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) + : _Head(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) { } + + template<typename _Alloc, typename _UHead> + _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) + : _Head(std::forward<_UHead>(__uhead), *__a._M_a) { } + + static constexpr _Head& + _M_head(_Head_base& __b) noexcept { return __b; } + + static constexpr const _Head& + _M_head(const _Head_base& __b) noexcept { return __b; } + }; + + template<std::size_t _Idx, typename _Head> + struct _Head_base<_Idx, _Head, false> + { + constexpr _Head_base() + : _M_head_impl() { } + + constexpr _Head_base(const _Head& __h) + : _M_head_impl(__h) { } + + constexpr _Head_base(const _Head_base&) = default; + constexpr _Head_base(_Head_base&&) = default; + + template<typename _UHead> + constexpr _Head_base(_UHead&& __h) + : _M_head_impl(std::forward<_UHead>(__h)) { } + + _Head_base(allocator_arg_t, __uses_alloc0) + : _M_head_impl() { } + + template<typename _Alloc> + _Head_base(allocator_arg_t, __uses_alloc1<_Alloc> __a) + : _M_head_impl(allocator_arg, *__a._M_a) { } + + template<typename _Alloc> + _Head_base(allocator_arg_t, __uses_alloc2<_Alloc> __a) + : _M_head_impl(*__a._M_a) { } + + template<typename _UHead> + _Head_base(__uses_alloc0, _UHead&& __uhead) + : _M_head_impl(std::forward<_UHead>(__uhead)) { } + + template<typename _Alloc, typename _UHead> + _Head_base(__uses_alloc1<_Alloc> __a, _UHead&& __uhead) + : _M_head_impl(allocator_arg, *__a._M_a, std::forward<_UHead>(__uhead)) + { } + + template<typename _Alloc, typename _UHead> + _Head_base(__uses_alloc2<_Alloc> __a, _UHead&& __uhead) + : _M_head_impl(std::forward<_UHead>(__uhead), *__a._M_a) { } + + static constexpr _Head& + _M_head(_Head_base& __b) noexcept { return __b._M_head_impl; } + + static constexpr const _Head& + _M_head(const _Head_base& __b) noexcept { return __b._M_head_impl; } + + _Head _M_head_impl; + }; +# 158 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/tuple" 3 + template<std::size_t _Idx, typename... _Elements> + struct _Tuple_impl; + + template<typename _Tp> + struct __is_empty_non_tuple : is_empty<_Tp> { }; + + + template<typename _El0, typename... _El> + struct __is_empty_non_tuple<tuple<_El0, _El...>> : false_type { }; + + + template<typename _Tp> + using __empty_not_final + = typename conditional<__is_final(_Tp), false_type, + __is_empty_non_tuple<_Tp>>::type; + + + + + + + template<std::size_t _Idx, typename _Head, typename... _Tail> + struct _Tuple_impl<_Idx, _Head, _Tail...> + : public _Tuple_impl<_Idx + 1, _Tail...>, + private _Head_base<_Idx, _Head, __empty_not_final<_Head>::value> + { + template<std::size_t, typename...> friend class _Tuple_impl; + + typedef _Tuple_impl<_Idx + 1, _Tail...> _Inherited; + typedef _Head_base<_Idx, _Head, __empty_not_final<_Head>::value> _Base; + + static constexpr _Head& + _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } + + static constexpr const _Head& + _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } + + static constexpr _Inherited& + _M_tail(_Tuple_impl& __t) noexcept { return __t; } + + static constexpr const _Inherited& + _M_tail(const _Tuple_impl& __t) noexcept { return __t; } + + constexpr _Tuple_impl() + : _Inherited(), _Base() { } + + explicit + constexpr _Tuple_impl(const _Head& __head, const _Tail&... __tail) + : _Inherited(__tail...), _Base(__head) { } + + template<typename _UHead, typename... _UTail, typename = typename + enable_if<sizeof...(_Tail) == sizeof...(_UTail)>::type> + explicit + constexpr _Tuple_impl(_UHead&& __head, _UTail&&... __tail) + : _Inherited(std::forward<_UTail>(__tail)...), + _Base(std::forward<_UHead>(__head)) { } + + constexpr _Tuple_impl(const _Tuple_impl&) = default; + + constexpr + _Tuple_impl(_Tuple_impl&& __in) + noexcept(__and_<is_nothrow_move_constructible<_Head>, + is_nothrow_move_constructible<_Inherited>>::value) + : _Inherited(std::move(_M_tail(__in))), + _Base(std::forward<_Head>(_M_head(__in))) { } + + template<typename... _UElements> + constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UElements...>& __in) + : _Inherited(_Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), + _Base(_Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { } + + template<typename _UHead, typename... _UTails> + constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) + : _Inherited(std::move + (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), + _Base(std::forward<_UHead> + (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } + + template<typename _Alloc> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) + : _Inherited(__tag, __a), + _Base(__tag, __use_alloc<_Head>(__a)) { } + + template<typename _Alloc> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + const _Head& __head, const _Tail&... __tail) + : _Inherited(__tag, __a, __tail...), + _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } + + template<typename _Alloc, typename _UHead, typename... _UTail, + typename = typename enable_if<sizeof...(_Tail) + == sizeof...(_UTail)>::type> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + _UHead&& __head, _UTail&&... __tail) + : _Inherited(__tag, __a, std::forward<_UTail>(__tail)...), + _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), + std::forward<_UHead>(__head)) { } + + template<typename _Alloc> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + const _Tuple_impl& __in) + : _Inherited(__tag, __a, _M_tail(__in)), + _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } + + template<typename _Alloc> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + _Tuple_impl&& __in) + : _Inherited(__tag, __a, std::move(_M_tail(__in))), + _Base(__use_alloc<_Head, _Alloc, _Head>(__a), + std::forward<_Head>(_M_head(__in))) { } + + template<typename _Alloc, typename... _UElements> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + const _Tuple_impl<_Idx, _UElements...>& __in) + : _Inherited(__tag, __a, + _Tuple_impl<_Idx, _UElements...>::_M_tail(__in)), + _Base(__use_alloc<_Head, _Alloc, _Head>(__a), + _Tuple_impl<_Idx, _UElements...>::_M_head(__in)) { } + + template<typename _Alloc, typename _UHead, typename... _UTails> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + _Tuple_impl<_Idx, _UHead, _UTails...>&& __in) + : _Inherited(__tag, __a, std::move + (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in))), + _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), + std::forward<_UHead> + (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in))) { } + + _Tuple_impl& + operator=(const _Tuple_impl& __in) + { + _M_head(*this) = _M_head(__in); + _M_tail(*this) = _M_tail(__in); + return *this; + } + + _Tuple_impl& + operator=(_Tuple_impl&& __in) + noexcept(__and_<is_nothrow_move_assignable<_Head>, + is_nothrow_move_assignable<_Inherited>>::value) + { + _M_head(*this) = std::forward<_Head>(_M_head(__in)); + _M_tail(*this) = std::move(_M_tail(__in)); + return *this; + } + + template<typename... _UElements> + _Tuple_impl& + operator=(const _Tuple_impl<_Idx, _UElements...>& __in) + { + _M_head(*this) = _Tuple_impl<_Idx, _UElements...>::_M_head(__in); + _M_tail(*this) = _Tuple_impl<_Idx, _UElements...>::_M_tail(__in); + return *this; + } + + template<typename _UHead, typename... _UTails> + _Tuple_impl& + operator=(_Tuple_impl<_Idx, _UHead, _UTails...>&& __in) + { + _M_head(*this) = std::forward<_UHead> + (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_head(__in)); + _M_tail(*this) = std::move + (_Tuple_impl<_Idx, _UHead, _UTails...>::_M_tail(__in)); + return *this; + } + + protected: + void + _M_swap(_Tuple_impl& __in) + noexcept(__is_nothrow_swappable<_Head>::value + && noexcept(_M_tail(__in)._M_swap(_M_tail(__in)))) + { + using std::swap; + swap(_M_head(*this), _M_head(__in)); + _Inherited::_M_swap(_M_tail(__in)); + } + }; + + + template<std::size_t _Idx, typename _Head> + struct _Tuple_impl<_Idx, _Head> + : private _Head_base<_Idx, _Head, __empty_not_final<_Head>::value> + { + template<std::size_t, typename...> friend class _Tuple_impl; + + typedef _Head_base<_Idx, _Head, __empty_not_final<_Head>::value> _Base; + + static constexpr _Head& + _M_head(_Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } + + static constexpr const _Head& + _M_head(const _Tuple_impl& __t) noexcept { return _Base::_M_head(__t); } + + constexpr _Tuple_impl() + : _Base() { } + + explicit + constexpr _Tuple_impl(const _Head& __head) + : _Base(__head) { } + + template<typename _UHead> + explicit + constexpr _Tuple_impl(_UHead&& __head) + : _Base(std::forward<_UHead>(__head)) { } + + constexpr _Tuple_impl(const _Tuple_impl&) = default; + + constexpr + _Tuple_impl(_Tuple_impl&& __in) + noexcept(is_nothrow_move_constructible<_Head>::value) + : _Base(std::forward<_Head>(_M_head(__in))) { } + + template<typename _UHead> + constexpr _Tuple_impl(const _Tuple_impl<_Idx, _UHead>& __in) + : _Base(_Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } + + template<typename _UHead> + constexpr _Tuple_impl(_Tuple_impl<_Idx, _UHead>&& __in) + : _Base(std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) + { } + + template<typename _Alloc> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a) + : _Base(__tag, __use_alloc<_Head>(__a)) { } + + template<typename _Alloc> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + const _Head& __head) + : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), __head) { } + + template<typename _Alloc, typename _UHead> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + _UHead&& __head) + : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), + std::forward<_UHead>(__head)) { } + + template<typename _Alloc> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + const _Tuple_impl& __in) + : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), _M_head(__in)) { } + + template<typename _Alloc> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + _Tuple_impl&& __in) + : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), + std::forward<_Head>(_M_head(__in))) { } + + template<typename _Alloc, typename _UHead> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + const _Tuple_impl<_Idx, _UHead>& __in) + : _Base(__use_alloc<_Head, _Alloc, _Head>(__a), + _Tuple_impl<_Idx, _UHead>::_M_head(__in)) { } + + template<typename _Alloc, typename _UHead> + _Tuple_impl(allocator_arg_t __tag, const _Alloc& __a, + _Tuple_impl<_Idx, _UHead>&& __in) + : _Base(__use_alloc<_Head, _Alloc, _UHead>(__a), + std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in))) + { } + + _Tuple_impl& + operator=(const _Tuple_impl& __in) + { + _M_head(*this) = _M_head(__in); + return *this; + } + + _Tuple_impl& + operator=(_Tuple_impl&& __in) + noexcept(is_nothrow_move_assignable<_Head>::value) + { + _M_head(*this) = std::forward<_Head>(_M_head(__in)); + return *this; + } + + template<typename _UHead> + _Tuple_impl& + operator=(const _Tuple_impl<_Idx, _UHead>& __in) + { + _M_head(*this) = _Tuple_impl<_Idx, _UHead>::_M_head(__in); + return *this; + } + + template<typename _UHead> + _Tuple_impl& + operator=(_Tuple_impl<_Idx, _UHead>&& __in) + { + _M_head(*this) + = std::forward<_UHead>(_Tuple_impl<_Idx, _UHead>::_M_head(__in)); + return *this; + } + + protected: + void + _M_swap(_Tuple_impl& __in) + noexcept(__is_nothrow_swappable<_Head>::value) + { + using std::swap; + swap(_M_head(*this), _M_head(__in)); + } + }; + + template<typename... _Elements> + class tuple; + + + + template<bool, typename... _Elements> + struct _TC + { + template<typename... _UElements> + static constexpr bool _ConstructibleTuple() + { + return __and_<is_constructible<_Elements, const _UElements&>...>::value; + } + + template<typename... _UElements> + static constexpr bool _ImplicitlyConvertibleTuple() + { + return __and_<is_convertible<const _UElements&, _Elements>...>::value; + } + + template<typename... _UElements> + static constexpr bool _MoveConstructibleTuple() + { + return __and_<is_constructible<_Elements, _UElements&&>...>::value; + } + + template<typename... _UElements> + static constexpr bool _ImplicitlyMoveConvertibleTuple() + { + return __and_<is_convertible<_UElements&&, _Elements>...>::value; + } + + template<typename _SrcTuple> + static constexpr bool _NonNestedTuple() + { + return __and_<__not_<is_same<tuple<_Elements...>, + typename remove_cv< + typename remove_reference<_SrcTuple>::type + >::type>>, + __not_<is_convertible<_SrcTuple, _Elements...>>, + __not_<is_constructible<_Elements..., _SrcTuple>> + >::value; + } + template<typename... _UElements> + static constexpr bool _NotSameTuple() + { + return __not_<is_same<tuple<_Elements...>, + typename remove_const< + typename remove_reference<_UElements...>::type + >::type>>::value; + } + }; + + template<typename... _Elements> + struct _TC<false, _Elements...> + { + template<typename... _UElements> + static constexpr bool _ConstructibleTuple() + { + return false; + } + + template<typename... _UElements> + static constexpr bool _ImplicitlyConvertibleTuple() + { + return false; + } + + template<typename... _UElements> + static constexpr bool _MoveConstructibleTuple() + { + return false; + } + + template<typename... _UElements> + static constexpr bool _ImplicitlyMoveConvertibleTuple() + { + return false; + } + + template<typename... _UElements> + static constexpr bool _NonNestedTuple() + { + return true; + } + template<typename... _UElements> + static constexpr bool _NotSameTuple() + { + return true; + } + }; + + + template<typename... _Elements> + class tuple : public _Tuple_impl<0, _Elements...> + { + typedef _Tuple_impl<0, _Elements...> _Inherited; + + + + template<typename _Dummy> + struct _TC2 + { + static constexpr bool _DefaultConstructibleTuple() + { + return __and_<is_default_constructible<_Elements>...>::value; + } + static constexpr bool _ImplicitlyDefaultConstructibleTuple() + { + return __and_<__is_implicitly_default_constructible<_Elements>...> + ::value; + } + }; + + public: + template<typename _Dummy = void, + typename enable_if<_TC2<_Dummy>:: + _ImplicitlyDefaultConstructibleTuple(), + bool>::type = true> + constexpr tuple() + : _Inherited() { } + + template<typename _Dummy = void, + typename enable_if<_TC2<_Dummy>:: + _DefaultConstructibleTuple() + && + !_TC2<_Dummy>:: + _ImplicitlyDefaultConstructibleTuple(), + bool>::type = false> + explicit constexpr tuple() + : _Inherited() { } + + + + template<typename _Dummy> using _TCC = + _TC<is_same<_Dummy, void>::value, + _Elements...>; + + template<typename _Dummy = void, + typename enable_if< + _TCC<_Dummy>::template + _ConstructibleTuple<_Elements...>() + && _TCC<_Dummy>::template + _ImplicitlyConvertibleTuple<_Elements...>() + && (sizeof...(_Elements) >= 1), + bool>::type=true> + constexpr tuple(const _Elements&... __elements) + : _Inherited(__elements...) { } + + template<typename _Dummy = void, + typename enable_if< + _TCC<_Dummy>::template + _ConstructibleTuple<_Elements...>() + && !_TCC<_Dummy>::template + _ImplicitlyConvertibleTuple<_Elements...>() + && (sizeof...(_Elements) >= 1), + bool>::type=false> + explicit constexpr tuple(const _Elements&... __elements) + : _Inherited(__elements...) { } + + + + template<typename... _UElements> using _TMC = + _TC<(sizeof...(_Elements) == sizeof...(_UElements)), + _Elements...>; + + template<typename... _UElements, typename + enable_if< + _TC<sizeof...(_UElements) == 1, _Elements...>::template + _NotSameTuple<_UElements...>() + && _TMC<_UElements...>::template + _MoveConstructibleTuple<_UElements...>() + && _TMC<_UElements...>::template + _ImplicitlyMoveConvertibleTuple<_UElements...>() + && (sizeof...(_Elements) >= 1), + bool>::type=true> + constexpr tuple(_UElements&&... __elements) + : _Inherited(std::forward<_UElements>(__elements)...) { } + + template<typename... _UElements, typename + enable_if< + _TC<sizeof...(_UElements) == 1, _Elements...>::template + _NotSameTuple<_UElements...>() + && _TMC<_UElements...>::template + _MoveConstructibleTuple<_UElements...>() + && !_TMC<_UElements...>::template + _ImplicitlyMoveConvertibleTuple<_UElements...>() + && (sizeof...(_Elements) >= 1), + bool>::type=false> + explicit constexpr tuple(_UElements&&... __elements) + : _Inherited(std::forward<_UElements>(__elements)...) { } + + constexpr tuple(const tuple&) = default; + + constexpr tuple(tuple&&) = default; + + + + template<typename _Dummy> using _TNTC = + _TC<is_same<_Dummy, void>::value && sizeof...(_Elements) == 1, + _Elements...>; + + template<typename... _UElements, typename _Dummy = void, typename + enable_if<_TMC<_UElements...>::template + _ConstructibleTuple<_UElements...>() + && _TMC<_UElements...>::template + _ImplicitlyConvertibleTuple<_UElements...>() + && _TNTC<_Dummy>::template + _NonNestedTuple<const tuple<_UElements...>&>(), + bool>::type=true> + constexpr tuple(const tuple<_UElements...>& __in) + : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in)) + { } + + template<typename... _UElements, typename _Dummy = void, typename + enable_if<_TMC<_UElements...>::template + _ConstructibleTuple<_UElements...>() + && !_TMC<_UElements...>::template + _ImplicitlyConvertibleTuple<_UElements...>() + && _TNTC<_Dummy>::template + _NonNestedTuple<const tuple<_UElements...>&>(), + bool>::type=false> + explicit constexpr tuple(const tuple<_UElements...>& __in) + : _Inherited(static_cast<const _Tuple_impl<0, _UElements...>&>(__in)) + { } + + template<typename... _UElements, typename _Dummy = void, typename + enable_if<_TMC<_UElements...>::template + _MoveConstructibleTuple<_UElements...>() + && _TMC<_UElements...>::template + _ImplicitlyMoveConvertibleTuple<_UElements...>() + && _TNTC<_Dummy>::template + _NonNestedTuple<tuple<_UElements...>&&>(), + bool>::type=true> + constexpr tuple(tuple<_UElements...>&& __in) + : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } + + template<typename... _UElements, typename _Dummy = void, typename + enable_if<_TMC<_UElements...>::template + _MoveConstructibleTuple<_UElements...>() + && !_TMC<_UElements...>::template + _ImplicitlyMoveConvertibleTuple<_UElements...>() + && _TNTC<_Dummy>::template + _NonNestedTuple<tuple<_UElements...>&&>(), + bool>::type=false> + explicit constexpr tuple(tuple<_UElements...>&& __in) + : _Inherited(static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) { } + + + + template<typename _Alloc> + tuple(allocator_arg_t __tag, const _Alloc& __a) + : _Inherited(__tag, __a) { } + + template<typename _Alloc, typename _Dummy = void, + typename enable_if< + _TCC<_Dummy>::template + _ConstructibleTuple<_Elements...>() + && _TCC<_Dummy>::template + _ImplicitlyConvertibleTuple<_Elements...>(), + bool>::type=true> + tuple(allocator_arg_t __tag, const _Alloc& __a, + const _Elements&... __elements) + : _Inherited(__tag, __a, __elements...) { } + + template<typename _Alloc, typename _Dummy = void, + typename enable_if< + _TCC<_Dummy>::template + _ConstructibleTuple<_Elements...>() + && !_TCC<_Dummy>::template + _ImplicitlyConvertibleTuple<_Elements...>(), + bool>::type=false> + explicit tuple(allocator_arg_t __tag, const _Alloc& __a, + const _Elements&... __elements) + : _Inherited(__tag, __a, __elements...) { } + + template<typename _Alloc, typename... _UElements, typename + enable_if<_TMC<_UElements...>::template + _MoveConstructibleTuple<_UElements...>() + && _TMC<_UElements...>::template + _ImplicitlyMoveConvertibleTuple<_UElements...>(), + bool>::type=true> + tuple(allocator_arg_t __tag, const _Alloc& __a, + _UElements&&... __elements) + : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) + { } + + template<typename _Alloc, typename... _UElements, typename + enable_if<_TMC<_UElements...>::template + _MoveConstructibleTuple<_UElements...>() + && !_TMC<_UElements...>::template + _ImplicitlyMoveConvertibleTuple<_UElements...>(), + bool>::type=false> + explicit tuple(allocator_arg_t __tag, const _Alloc& __a, + _UElements&&... __elements) + : _Inherited(__tag, __a, std::forward<_UElements>(__elements)...) + { } + + template<typename _Alloc> + tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) + : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { } + + template<typename _Alloc> + tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) + : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } + + template<typename _Alloc, typename... _UElements, typename + enable_if<_TMC<_UElements...>::template + _ConstructibleTuple<_UElements...>() + && _TMC<_UElements...>::template + _ImplicitlyConvertibleTuple<_UElements...>(), + bool>::type=true> + tuple(allocator_arg_t __tag, const _Alloc& __a, + const tuple<_UElements...>& __in) + : _Inherited(__tag, __a, + static_cast<const _Tuple_impl<0, _UElements...>&>(__in)) + { } + + template<typename _Alloc, typename... _UElements, typename + enable_if<_TMC<_UElements...>::template + _ConstructibleTuple<_UElements...>() + && !_TMC<_UElements...>::template + _ImplicitlyConvertibleTuple<_UElements...>(), + bool>::type=false> + explicit tuple(allocator_arg_t __tag, const _Alloc& __a, + const tuple<_UElements...>& __in) + : _Inherited(__tag, __a, + static_cast<const _Tuple_impl<0, _UElements...>&>(__in)) + { } + + template<typename _Alloc, typename... _UElements, typename + enable_if<_TMC<_UElements...>::template + _MoveConstructibleTuple<_UElements...>() + && _TMC<_UElements...>::template + _ImplicitlyMoveConvertibleTuple<_UElements...>(), + bool>::type=true> + tuple(allocator_arg_t __tag, const _Alloc& __a, + tuple<_UElements...>&& __in) + : _Inherited(__tag, __a, + static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) + { } + + template<typename _Alloc, typename... _UElements, typename + enable_if<_TMC<_UElements...>::template + _MoveConstructibleTuple<_UElements...>() + && !_TMC<_UElements...>::template + _ImplicitlyMoveConvertibleTuple<_UElements...>(), + bool>::type=false> + explicit tuple(allocator_arg_t __tag, const _Alloc& __a, + tuple<_UElements...>&& __in) + : _Inherited(__tag, __a, + static_cast<_Tuple_impl<0, _UElements...>&&>(__in)) + { } + + tuple& + operator=(const tuple& __in) + { + static_cast<_Inherited&>(*this) = __in; + return *this; + } + + tuple& + operator=(tuple&& __in) + noexcept(is_nothrow_move_assignable<_Inherited>::value) + { + static_cast<_Inherited&>(*this) = std::move(__in); + return *this; + } + + template<typename... _UElements, typename = typename + enable_if<sizeof...(_UElements) + == sizeof...(_Elements)>::type> + tuple& + operator=(const tuple<_UElements...>& __in) + { + static_cast<_Inherited&>(*this) = __in; + return *this; + } + + template<typename... _UElements, typename = typename + enable_if<sizeof...(_UElements) + == sizeof...(_Elements)>::type> + tuple& + operator=(tuple<_UElements...>&& __in) + { + static_cast<_Inherited&>(*this) = std::move(__in); + return *this; + } + + void + swap(tuple& __in) + noexcept(noexcept(__in._M_swap(__in))) + { _Inherited::_M_swap(__in); } + }; + + + template<> + class tuple<> + { + public: + void swap(tuple&) noexcept { } + }; + + + + template<typename _T1, typename _T2> + class tuple<_T1, _T2> : public _Tuple_impl<0, _T1, _T2> + { + typedef _Tuple_impl<0, _T1, _T2> _Inherited; + + public: + template <typename _U1 = _T1, + typename _U2 = _T2, + typename enable_if<__and_< + __is_implicitly_default_constructible<_U1>, + __is_implicitly_default_constructible<_U2>> + ::value, bool>::type = true> + + constexpr tuple() + : _Inherited() { } + + template <typename _U1 = _T1, + typename _U2 = _T2, + typename enable_if< + __and_< + is_default_constructible<_U1>, + is_default_constructible<_U2>, + __not_< + __and_<__is_implicitly_default_constructible<_U1>, + __is_implicitly_default_constructible<_U2>>>> + ::value, bool>::type = false> + + explicit constexpr tuple() + : _Inherited() { } + + + + template<typename _Dummy> using _TCC = + _TC<is_same<_Dummy, void>::value, _T1, _T2>; + + template<typename _Dummy = void, typename + enable_if<_TCC<_Dummy>::template + _ConstructibleTuple<_T1, _T2>() + && _TCC<_Dummy>::template + _ImplicitlyConvertibleTuple<_T1, _T2>(), + bool>::type = true> + constexpr tuple(const _T1& __a1, const _T2& __a2) + : _Inherited(__a1, __a2) { } + + template<typename _Dummy = void, typename + enable_if<_TCC<_Dummy>::template + _ConstructibleTuple<_T1, _T2>() + && !_TCC<_Dummy>::template + _ImplicitlyConvertibleTuple<_T1, _T2>(), + bool>::type = false> + explicit constexpr tuple(const _T1& __a1, const _T2& __a2) + : _Inherited(__a1, __a2) { } + + + + using _TMC = _TC<true, _T1, _T2>; + + template<typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && _TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>() + && !is_same<typename decay<_U1>::type, + allocator_arg_t>::value, + bool>::type = true> + constexpr tuple(_U1&& __a1, _U2&& __a2) + : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } + + template<typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && !_TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>() + && !is_same<typename decay<_U1>::type, + allocator_arg_t>::value, + bool>::type = false> + explicit constexpr tuple(_U1&& __a1, _U2&& __a2) + : _Inherited(std::forward<_U1>(__a1), std::forward<_U2>(__a2)) { } + + constexpr tuple(const tuple&) = default; + + constexpr tuple(tuple&&) = default; + + template<typename _U1, typename _U2, typename + enable_if<_TMC::template + _ConstructibleTuple<_U1, _U2>() + && _TMC::template + _ImplicitlyConvertibleTuple<_U1, _U2>(), + bool>::type = true> + constexpr tuple(const tuple<_U1, _U2>& __in) + : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { } + + template<typename _U1, typename _U2, typename + enable_if<_TMC::template + _ConstructibleTuple<_U1, _U2>() + && !_TMC::template + _ImplicitlyConvertibleTuple<_U1, _U2>(), + bool>::type = false> + explicit constexpr tuple(const tuple<_U1, _U2>& __in) + : _Inherited(static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) { } + + template<typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && _TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), + bool>::type = true> + constexpr tuple(tuple<_U1, _U2>&& __in) + : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } + + template<typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && !_TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), + bool>::type = false> + explicit constexpr tuple(tuple<_U1, _U2>&& __in) + : _Inherited(static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) { } + + template<typename _U1, typename _U2, typename + enable_if<_TMC::template + _ConstructibleTuple<_U1, _U2>() + && _TMC::template + _ImplicitlyConvertibleTuple<_U1, _U2>(), + bool>::type = true> + constexpr tuple(const pair<_U1, _U2>& __in) + : _Inherited(__in.first, __in.second) { } + + template<typename _U1, typename _U2, typename + enable_if<_TMC::template + _ConstructibleTuple<_U1, _U2>() + && !_TMC::template + _ImplicitlyConvertibleTuple<_U1, _U2>(), + bool>::type = false> + explicit constexpr tuple(const pair<_U1, _U2>& __in) + : _Inherited(__in.first, __in.second) { } + + template<typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && _TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), + bool>::type = true> + constexpr tuple(pair<_U1, _U2>&& __in) + : _Inherited(std::forward<_U1>(__in.first), + std::forward<_U2>(__in.second)) { } + + template<typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && !_TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), + bool>::type = false> + explicit constexpr tuple(pair<_U1, _U2>&& __in) + : _Inherited(std::forward<_U1>(__in.first), + std::forward<_U2>(__in.second)) { } + + + + template<typename _Alloc> + tuple(allocator_arg_t __tag, const _Alloc& __a) + : _Inherited(__tag, __a) { } + + template<typename _Alloc, typename _Dummy = void, + typename enable_if< + _TCC<_Dummy>::template + _ConstructibleTuple<_T1, _T2>() + && _TCC<_Dummy>::template + _ImplicitlyConvertibleTuple<_T1, _T2>(), + bool>::type=true> + + tuple(allocator_arg_t __tag, const _Alloc& __a, + const _T1& __a1, const _T2& __a2) + : _Inherited(__tag, __a, __a1, __a2) { } + + template<typename _Alloc, typename _Dummy = void, + typename enable_if< + _TCC<_Dummy>::template + _ConstructibleTuple<_T1, _T2>() + && !_TCC<_Dummy>::template + _ImplicitlyConvertibleTuple<_T1, _T2>(), + bool>::type=false> + + explicit tuple(allocator_arg_t __tag, const _Alloc& __a, + const _T1& __a1, const _T2& __a2) + : _Inherited(__tag, __a, __a1, __a2) { } + + template<typename _Alloc, typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && _TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), + bool>::type = true> + tuple(allocator_arg_t __tag, const _Alloc& __a, _U1&& __a1, _U2&& __a2) + : _Inherited(__tag, __a, std::forward<_U1>(__a1), + std::forward<_U2>(__a2)) { } + + template<typename _Alloc, typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && !_TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), + bool>::type = false> + explicit tuple(allocator_arg_t __tag, const _Alloc& __a, + _U1&& __a1, _U2&& __a2) + : _Inherited(__tag, __a, std::forward<_U1>(__a1), + std::forward<_U2>(__a2)) { } + + template<typename _Alloc> + tuple(allocator_arg_t __tag, const _Alloc& __a, const tuple& __in) + : _Inherited(__tag, __a, static_cast<const _Inherited&>(__in)) { } + + template<typename _Alloc> + tuple(allocator_arg_t __tag, const _Alloc& __a, tuple&& __in) + : _Inherited(__tag, __a, static_cast<_Inherited&&>(__in)) { } + + template<typename _Alloc, typename _U1, typename _U2, typename + enable_if<_TMC::template + _ConstructibleTuple<_U1, _U2>() + && _TMC::template + _ImplicitlyConvertibleTuple<_U1, _U2>(), + bool>::type = true> + tuple(allocator_arg_t __tag, const _Alloc& __a, + const tuple<_U1, _U2>& __in) + : _Inherited(__tag, __a, + static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) + { } + + template<typename _Alloc, typename _U1, typename _U2, typename + enable_if<_TMC::template + _ConstructibleTuple<_U1, _U2>() + && !_TMC::template + _ImplicitlyConvertibleTuple<_U1, _U2>(), + bool>::type = false> + explicit tuple(allocator_arg_t __tag, const _Alloc& __a, + const tuple<_U1, _U2>& __in) + : _Inherited(__tag, __a, + static_cast<const _Tuple_impl<0, _U1, _U2>&>(__in)) + { } + + template<typename _Alloc, typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && _TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), + bool>::type = true> + tuple(allocator_arg_t __tag, const _Alloc& __a, tuple<_U1, _U2>&& __in) + : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) + { } + + template<typename _Alloc, typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && !_TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), + bool>::type = false> + explicit tuple(allocator_arg_t __tag, const _Alloc& __a, + tuple<_U1, _U2>&& __in) + : _Inherited(__tag, __a, static_cast<_Tuple_impl<0, _U1, _U2>&&>(__in)) + { } + + template<typename _Alloc, typename _U1, typename _U2, typename + enable_if<_TMC::template + _ConstructibleTuple<_U1, _U2>() + && _TMC::template + _ImplicitlyConvertibleTuple<_U1, _U2>(), + bool>::type = true> + tuple(allocator_arg_t __tag, const _Alloc& __a, + const pair<_U1, _U2>& __in) + : _Inherited(__tag, __a, __in.first, __in.second) { } + + template<typename _Alloc, typename _U1, typename _U2, typename + enable_if<_TMC::template + _ConstructibleTuple<_U1, _U2>() + && !_TMC::template + _ImplicitlyConvertibleTuple<_U1, _U2>(), + bool>::type = false> + explicit tuple(allocator_arg_t __tag, const _Alloc& __a, + const pair<_U1, _U2>& __in) + : _Inherited(__tag, __a, __in.first, __in.second) { } + + template<typename _Alloc, typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && _TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), + bool>::type = true> + tuple(allocator_arg_t __tag, const _Alloc& __a, pair<_U1, _U2>&& __in) + : _Inherited(__tag, __a, std::forward<_U1>(__in.first), + std::forward<_U2>(__in.second)) { } + + template<typename _Alloc, typename _U1, typename _U2, typename + enable_if<_TMC::template + _MoveConstructibleTuple<_U1, _U2>() + && !_TMC::template + _ImplicitlyMoveConvertibleTuple<_U1, _U2>(), + bool>::type = false> + explicit tuple(allocator_arg_t __tag, const _Alloc& __a, + pair<_U1, _U2>&& __in) + : _Inherited(__tag, __a, std::forward<_U1>(__in.first), + std::forward<_U2>(__in.second)) { } + + tuple& + operator=(const tuple& __in) + { + static_cast<_Inherited&>(*this) = __in; + return *this; + } + + tuple& + operator=(tuple&& __in) + noexcept(is_nothrow_move_assignable<_Inherited>::value) + { + static_cast<_Inherited&>(*this) = std::move(__in); + return *this; + } + + template<typename _U1, typename _U2> + tuple& + operator=(const tuple<_U1, _U2>& __in) + { + static_cast<_Inherited&>(*this) = __in; + return *this; + } + + template<typename _U1, typename _U2> + tuple& + operator=(tuple<_U1, _U2>&& __in) + { + static_cast<_Inherited&>(*this) = std::move(__in); + return *this; + } + + template<typename _U1, typename _U2> + tuple& + operator=(const pair<_U1, _U2>& __in) + { + this->_M_head(*this) = __in.first; + this->_M_tail(*this)._M_head(*this) = __in.second; + return *this; + } + + template<typename _U1, typename _U2> + tuple& + operator=(pair<_U1, _U2>&& __in) + { + this->_M_head(*this) = std::forward<_U1>(__in.first); + this->_M_tail(*this)._M_head(*this) = std::forward<_U2>(__in.second); + return *this; + } + + void + swap(tuple& __in) + noexcept(noexcept(__in._M_swap(__in))) + { _Inherited::_M_swap(__in); } + }; + + + + + + + template<std::size_t __i, typename _Head, typename... _Tail> + struct tuple_element<__i, tuple<_Head, _Tail...> > + : tuple_element<__i - 1, tuple<_Tail...> > { }; + + + + + template<typename _Head, typename... _Tail> + struct tuple_element<0, tuple<_Head, _Tail...> > + { + typedef _Head type; + }; + + + template<typename... _Elements> + struct tuple_size<tuple<_Elements...>> + : public integral_constant<std::size_t, sizeof...(_Elements)> { }; + + template<std::size_t __i, typename _Head, typename... _Tail> + constexpr _Head& + __get_helper(_Tuple_impl<__i, _Head, _Tail...>& __t) noexcept + { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } + + template<std::size_t __i, typename _Head, typename... _Tail> + constexpr const _Head& + __get_helper(const _Tuple_impl<__i, _Head, _Tail...>& __t) noexcept + { return _Tuple_impl<__i, _Head, _Tail...>::_M_head(__t); } + + + template<std::size_t __i, typename... _Elements> + constexpr __tuple_element_t<__i, tuple<_Elements...>>& + get(tuple<_Elements...>& __t) noexcept + { return std::__get_helper<__i>(__t); } + + + template<std::size_t __i, typename... _Elements> + constexpr const __tuple_element_t<__i, tuple<_Elements...>>& + get(const tuple<_Elements...>& __t) noexcept + { return std::__get_helper<__i>(__t); } + + + template<std::size_t __i, typename... _Elements> + constexpr __tuple_element_t<__i, tuple<_Elements...>>&& + get(tuple<_Elements...>&& __t) noexcept + { + typedef __tuple_element_t<__i, tuple<_Elements...>> __element_type; + return std::forward<__element_type&&>(std::get<__i>(__t)); + } +# 1310 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/tuple" 3 + template<typename _Tp, typename _Up, size_t __i, size_t __size> + struct __tuple_compare + { + static constexpr bool + __eq(const _Tp& __t, const _Up& __u) + { + return bool(std::get<__i>(__t) == std::get<__i>(__u)) + && __tuple_compare<_Tp, _Up, __i + 1, __size>::__eq(__t, __u); + } + + static constexpr bool + __less(const _Tp& __t, const _Up& __u) + { + return bool(std::get<__i>(__t) < std::get<__i>(__u)) + || (!bool(std::get<__i>(__u) < std::get<__i>(__t)) + && __tuple_compare<_Tp, _Up, __i + 1, __size>::__less(__t, __u)); + } + }; + + template<typename _Tp, typename _Up, size_t __size> + struct __tuple_compare<_Tp, _Up, __size, __size> + { + static constexpr bool + __eq(const _Tp&, const _Up&) { return true; } + + static constexpr bool + __less(const _Tp&, const _Up&) { return false; } + }; + + template<typename... _TElements, typename... _UElements> + constexpr bool + operator==(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { + static_assert(sizeof...(_TElements) == sizeof...(_UElements), + "tuple objects can only be compared if they have equal sizes."); + using __compare = __tuple_compare<tuple<_TElements...>, + tuple<_UElements...>, + 0, sizeof...(_TElements)>; + return __compare::__eq(__t, __u); + } + + template<typename... _TElements, typename... _UElements> + constexpr bool + operator<(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { + static_assert(sizeof...(_TElements) == sizeof...(_UElements), + "tuple objects can only be compared if they have equal sizes."); + using __compare = __tuple_compare<tuple<_TElements...>, + tuple<_UElements...>, + 0, sizeof...(_TElements)>; + return __compare::__less(__t, __u); + } + + template<typename... _TElements, typename... _UElements> + constexpr bool + operator!=(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { return !(__t == __u); } + + template<typename... _TElements, typename... _UElements> + constexpr bool + operator>(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { return __u < __t; } + + template<typename... _TElements, typename... _UElements> + constexpr bool + operator<=(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { return !(__u < __t); } + + template<typename... _TElements, typename... _UElements> + constexpr bool + operator>=(const tuple<_TElements...>& __t, + const tuple<_UElements...>& __u) + { return !(__t < __u); } + + + template<typename... _Elements> + constexpr tuple<typename __decay_and_strip<_Elements>::__type...> + make_tuple(_Elements&&... __args) + { + typedef tuple<typename __decay_and_strip<_Elements>::__type...> + __result_type; + return __result_type(std::forward<_Elements>(__args)...); + } + + + + template<typename... _Elements> + constexpr tuple<_Elements&&...> + forward_as_tuple(_Elements&&... __args) noexcept + { return tuple<_Elements&&...>(std::forward<_Elements>(__args)...); } + + template<typename... _Tps> + struct __is_tuple_like_impl<tuple<_Tps...>> : true_type + { }; + + + template<typename _Tp> + struct __is_tuple_like + : public __is_tuple_like_impl<typename std::remove_cv + <typename std::remove_reference<_Tp>::type>::type>::type + { }; + + template<size_t, typename, typename, size_t> + struct __make_tuple_impl; + + template<size_t _Idx, typename _Tuple, typename... _Tp, size_t _Nm> + struct __make_tuple_impl<_Idx, tuple<_Tp...>, _Tuple, _Nm> + : __make_tuple_impl<_Idx + 1, + tuple<_Tp..., __tuple_element_t<_Idx, _Tuple>>, + _Tuple, _Nm> + { }; + + template<std::size_t _Nm, typename _Tuple, typename... _Tp> + struct __make_tuple_impl<_Nm, tuple<_Tp...>, _Tuple, _Nm> + { + typedef tuple<_Tp...> __type; + }; + + template<typename _Tuple> + struct __do_make_tuple + : __make_tuple_impl<0, tuple<>, _Tuple, std::tuple_size<_Tuple>::value> + { }; + + + template<typename _Tuple> + struct __make_tuple + : public __do_make_tuple<typename std::remove_cv + <typename std::remove_reference<_Tuple>::type>::type> + { }; + + + template<typename...> + struct __combine_tuples; + + template<> + struct __combine_tuples<> + { + typedef tuple<> __type; + }; + + template<typename... _Ts> + struct __combine_tuples<tuple<_Ts...>> + { + typedef tuple<_Ts...> __type; + }; + + template<typename... _T1s, typename... _T2s, typename... _Rem> + struct __combine_tuples<tuple<_T1s...>, tuple<_T2s...>, _Rem...> + { + typedef typename __combine_tuples<tuple<_T1s..., _T2s...>, + _Rem...>::__type __type; + }; + + + template<typename... _Tpls> + struct __tuple_cat_result + { + typedef typename __combine_tuples + <typename __make_tuple<_Tpls>::__type...>::__type __type; + }; + + + + template<typename...> + struct __make_1st_indices; + + template<> + struct __make_1st_indices<> + { + typedef std::_Index_tuple<> __type; + }; + + template<typename _Tp, typename... _Tpls> + struct __make_1st_indices<_Tp, _Tpls...> + { + typedef typename std::_Build_index_tuple<std::tuple_size< + typename std::remove_reference<_Tp>::type>::value>::__type __type; + }; + + + + + template<typename _Ret, typename _Indices, typename... _Tpls> + struct __tuple_concater; + + template<typename _Ret, std::size_t... _Is, typename _Tp, typename... _Tpls> + struct __tuple_concater<_Ret, std::_Index_tuple<_Is...>, _Tp, _Tpls...> + { + template<typename... _Us> + static constexpr _Ret + _S_do(_Tp&& __tp, _Tpls&&... __tps, _Us&&... __us) + { + typedef typename __make_1st_indices<_Tpls...>::__type __idx; + typedef __tuple_concater<_Ret, __idx, _Tpls...> __next; + return __next::_S_do(std::forward<_Tpls>(__tps)..., + std::forward<_Us>(__us)..., + std::get<_Is>(std::forward<_Tp>(__tp))...); + } + }; + + template<typename _Ret> + struct __tuple_concater<_Ret, std::_Index_tuple<>> + { + template<typename... _Us> + static constexpr _Ret + _S_do(_Us&&... __us) + { + return _Ret(std::forward<_Us>(__us)...); + } + }; + + + template<typename... _Tpls, typename = typename + enable_if<__and_<__is_tuple_like<_Tpls>...>::value>::type> + constexpr auto + tuple_cat(_Tpls&&... __tpls) + -> typename __tuple_cat_result<_Tpls...>::__type + { + typedef typename __tuple_cat_result<_Tpls...>::__type __ret; + typedef typename __make_1st_indices<_Tpls...>::__type __idx; + typedef __tuple_concater<__ret, __idx, _Tpls...> __concater; + return __concater::_S_do(std::forward<_Tpls>(__tpls)...); + } + + + + + template<typename... _Elements> + constexpr tuple<_Elements&...> + tie(_Elements&... __args) noexcept + { return tuple<_Elements&...>(__args...); } + + + template<typename... _Elements> + inline void + swap(tuple<_Elements...>& __x, tuple<_Elements...>& __y) + noexcept(noexcept(__x.swap(__y))) + { __x.swap(__y); } + + + + struct _Swallow_assign + { + template<class _Tp> + const _Swallow_assign& + operator=(const _Tp&) const + { return *this; } + }; + + const _Swallow_assign ignore{}; + + + template<typename... _Types, typename _Alloc> + struct uses_allocator<tuple<_Types...>, _Alloc> : true_type { }; + + + template<class _T1, class _T2> + template<typename... _Args1, typename... _Args2> + inline + pair<_T1, _T2>:: + pair(piecewise_construct_t, + tuple<_Args1...> __first, tuple<_Args2...> __second) + : pair(__first, __second, + typename _Build_index_tuple<sizeof...(_Args1)>::__type(), + typename _Build_index_tuple<sizeof...(_Args2)>::__type()) + { } + + template<class _T1, class _T2> + template<typename... _Args1, std::size_t... _Indexes1, + typename... _Args2, std::size_t... _Indexes2> + inline + pair<_T1, _T2>:: + pair(tuple<_Args1...>& __tuple1, tuple<_Args2...>& __tuple2, + _Index_tuple<_Indexes1...>, _Index_tuple<_Indexes2...>) + : first(std::forward<_Args1>(std::get<_Indexes1>(__tuple1))...), + second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...) + { } + + + + +} +# 64 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 2 3 + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 94 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + template <typename _Key, typename _Tp, typename _Compare = std::less<_Key>, + typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > > + class map + { + public: + typedef _Key key_type; + typedef _Tp mapped_type; + typedef std::pair<const _Key, _Tp> value_type; + typedef _Compare key_compare; + typedef _Alloc allocator_type; + + private: + + typedef typename _Alloc::value_type _Alloc_value_type; + + + + + + public: + class value_compare + : public std::binary_function<value_type, value_type, bool> + { + friend class map<_Key, _Tp, _Compare, _Alloc>; + protected: + _Compare comp; + + value_compare(_Compare __c) + : comp(__c) { } + + public: + bool operator()(const value_type& __x, const value_type& __y) const + { return comp(__x.first, __y.first); } + }; + + private: + + typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template + rebind<value_type>::other _Pair_alloc_type; + + typedef _Rb_tree<key_type, value_type, _Select1st<value_type>, + key_compare, _Pair_alloc_type> _Rep_type; + + + _Rep_type _M_t; + + typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; + + public: + + + typedef typename _Alloc_traits::pointer pointer; + typedef typename _Alloc_traits::const_pointer const_pointer; + typedef typename _Alloc_traits::reference reference; + typedef typename _Alloc_traits::const_reference const_reference; + typedef typename _Rep_type::iterator iterator; + typedef typename _Rep_type::const_iterator const_iterator; + typedef typename _Rep_type::size_type size_type; + typedef typename _Rep_type::difference_type difference_type; + typedef typename _Rep_type::reverse_iterator reverse_iterator; + typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; + + + + + + + + map() + noexcept(is_nothrow_default_constructible<allocator_type>::value && is_nothrow_default_constructible<key_compare>::value) + + + : _M_t() { } + + + + + + + explicit + map(const _Compare& __comp, + const allocator_type& __a = allocator_type()) + : _M_t(__comp, _Pair_alloc_type(__a)) { } +# 185 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + map(const map& __x) + : _M_t(__x._M_t) { } +# 196 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + map(map&& __x) + noexcept(is_nothrow_copy_constructible<_Compare>::value) + : _M_t(std::move(__x._M_t)) { } +# 211 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + map(initializer_list<value_type> __l, + const _Compare& __comp = _Compare(), + const allocator_type& __a = allocator_type()) + : _M_t(__comp, _Pair_alloc_type(__a)) + { _M_t._M_insert_unique(__l.begin(), __l.end()); } + + + explicit + map(const allocator_type& __a) + : _M_t(_Compare(), _Pair_alloc_type(__a)) { } + + + map(const map& __m, const allocator_type& __a) + : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } + + + map(map&& __m, const allocator_type& __a) + noexcept(is_nothrow_copy_constructible<_Compare>::value + && _Alloc_traits::_S_always_equal()) + : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } + + + map(initializer_list<value_type> __l, const allocator_type& __a) + : _M_t(_Compare(), _Pair_alloc_type(__a)) + { _M_t._M_insert_unique(__l.begin(), __l.end()); } + + + template<typename _InputIterator> + map(_InputIterator __first, _InputIterator __last, + const allocator_type& __a) + : _M_t(_Compare(), _Pair_alloc_type(__a)) + { _M_t._M_insert_unique(__first, __last); } +# 255 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + template<typename _InputIterator> + map(_InputIterator __first, _InputIterator __last) + : _M_t() + { _M_t._M_insert_unique(__first, __last); } +# 272 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + template<typename _InputIterator> + map(_InputIterator __first, _InputIterator __last, + const _Compare& __comp, + const allocator_type& __a = allocator_type()) + : _M_t(__comp, _Pair_alloc_type(__a)) + { _M_t._M_insert_unique(__first, __last); } +# 295 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + map& + operator=(const map& __x) + { + _M_t = __x._M_t; + return *this; + } + + + + map& + operator=(map&&) = default; +# 318 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + map& + operator=(initializer_list<value_type> __l) + { + _M_t._M_assign_unique(__l.begin(), __l.end()); + return *this; + } + + + + allocator_type + get_allocator() const noexcept + { return allocator_type(_M_t.get_allocator()); } + + + + + + + + iterator + begin() noexcept + { return _M_t.begin(); } + + + + + + + const_iterator + begin() const noexcept + { return _M_t.begin(); } + + + + + + + iterator + end() noexcept + { return _M_t.end(); } + + + + + + + const_iterator + end() const noexcept + { return _M_t.end(); } + + + + + + + reverse_iterator + rbegin() noexcept + { return _M_t.rbegin(); } + + + + + + + const_reverse_iterator + rbegin() const noexcept + { return _M_t.rbegin(); } + + + + + + + reverse_iterator + rend() noexcept + { return _M_t.rend(); } + + + + + + + const_reverse_iterator + rend() const noexcept + { return _M_t.rend(); } + + + + + + + + const_iterator + cbegin() const noexcept + { return _M_t.begin(); } + + + + + + + const_iterator + cend() const noexcept + { return _M_t.end(); } + + + + + + + const_reverse_iterator + crbegin() const noexcept + { return _M_t.rbegin(); } + + + + + + + const_reverse_iterator + crend() const noexcept + { return _M_t.rend(); } + + + + + + + bool + empty() const noexcept + { return _M_t.empty(); } + + + size_type + size() const noexcept + { return _M_t.size(); } + + + size_type + max_size() const noexcept + { return _M_t.max_size(); } +# 473 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + mapped_type& + operator[](const key_type& __k) + { + + + + iterator __i = lower_bound(__k); + + if (__i == end() || key_comp()(__k, (*__i).first)) + + __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, + std::tuple<const key_type&>(__k), + std::tuple<>()); + + + + return (*__i).second; + } + + + mapped_type& + operator[](key_type&& __k) + { + + + + iterator __i = lower_bound(__k); + + if (__i == end() || key_comp()(__k, (*__i).first)) + __i = _M_t._M_emplace_hint_unique(__i, std::piecewise_construct, + std::forward_as_tuple(std::move(__k)), + std::tuple<>()); + return (*__i).second; + } +# 518 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + mapped_type& + at(const key_type& __k) + { + iterator __i = lower_bound(__k); + if (__i == end() || key_comp()(__k, (*__i).first)) + __throw_out_of_range(("map::at")); + return (*__i).second; + } + + const mapped_type& + at(const key_type& __k) const + { + const_iterator __i = lower_bound(__k); + if (__i == end() || key_comp()(__k, (*__i).first)) + __throw_out_of_range(("map::at")); + return (*__i).second; + } +# 556 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + template<typename... _Args> + std::pair<iterator, bool> + emplace(_Args&&... __args) + { return _M_t._M_emplace_unique(std::forward<_Args>(__args)...); } +# 586 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + template<typename... _Args> + iterator + emplace_hint(const_iterator __pos, _Args&&... __args) + { + return _M_t._M_emplace_hint_unique(__pos, + std::forward<_Args>(__args)...); + } +# 730 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + std::pair<iterator, bool> + insert(const value_type& __x) + { return _M_t._M_insert_unique(__x); } + + + template<typename _Pair, typename = typename + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> + std::pair<iterator, bool> + insert(_Pair&& __x) + { return _M_t._M_insert_unique(std::forward<_Pair>(__x)); } +# 751 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + void + insert(std::initializer_list<value_type> __list) + { insert(__list.begin(), __list.end()); } +# 779 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + iterator + + insert(const_iterator __position, const value_type& __x) + + + + { return _M_t._M_insert_unique_(__position, __x); } + + + template<typename _Pair, typename = typename + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> + iterator + insert(const_iterator __position, _Pair&& __x) + { return _M_t._M_insert_unique_(__position, + std::forward<_Pair>(__x)); } +# 805 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + template<typename _InputIterator> + void + insert(_InputIterator __first, _InputIterator __last) + { _M_t._M_insert_unique(__first, __last); } +# 943 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + iterator + erase(const_iterator __position) + { return _M_t.erase(__position); } + + + __attribute ((__abi_tag__ ("cxx11"))) + iterator + erase(iterator __position) + { return _M_t.erase(__position); } +# 979 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + size_type + erase(const key_type& __x) + { return _M_t.erase(__x); } +# 999 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + iterator + erase(const_iterator __first, const_iterator __last) + { return _M_t.erase(__first, __last); } +# 1031 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + void + swap(map& __x) + noexcept(__is_nothrow_swappable<_Compare>::value) + { _M_t.swap(__x._M_t); } + + + + + + + + void + clear() noexcept + { _M_t.clear(); } + + + + + + + key_compare + key_comp() const + { return _M_t.key_comp(); } + + + + + + value_compare + value_comp() const + { return value_compare(_M_t.key_comp()); } +# 1078 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + iterator + find(const key_type& __x) + { return _M_t.find(__x); } +# 1103 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + const_iterator + find(const key_type& __x) const + { return _M_t.find(__x); } +# 1124 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + size_type + count(const key_type& __x) const + { return _M_t.find(__x) == _M_t.end() ? 0 : 1; } +# 1148 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + iterator + lower_bound(const key_type& __x) + { return _M_t.lower_bound(__x); } +# 1173 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + const_iterator + lower_bound(const key_type& __x) const + { return _M_t.lower_bound(__x); } +# 1193 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + iterator + upper_bound(const key_type& __x) + { return _M_t.upper_bound(__x); } +# 1213 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + const_iterator + upper_bound(const key_type& __x) const + { return _M_t.upper_bound(__x); } +# 1242 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + std::pair<iterator, iterator> + equal_range(const key_type& __x) + { return _M_t.equal_range(__x); } +# 1271 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + std::pair<const_iterator, const_iterator> + equal_range(const key_type& __x) const + { return _M_t.equal_range(__x); } +# 1288 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + template<typename _K1, typename _T1, typename _C1, typename _A1> + friend bool + operator==(const map<_K1, _T1, _C1, _A1>&, + const map<_K1, _T1, _C1, _A1>&); + + template<typename _K1, typename _T1, typename _C1, typename _A1> + friend bool + operator<(const map<_K1, _T1, _C1, _A1>&, + const map<_K1, _T1, _C1, _A1>&); + }; +# 1309 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator==(const map<_Key, _Tp, _Compare, _Alloc>& __x, + const map<_Key, _Tp, _Compare, _Alloc>& __y) + { return __x._M_t == __y._M_t; } +# 1326 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_map.h" 3 + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator<(const map<_Key, _Tp, _Compare, _Alloc>& __x, + const map<_Key, _Tp, _Compare, _Alloc>& __y) + { return __x._M_t < __y._M_t; } + + + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator!=(const map<_Key, _Tp, _Compare, _Alloc>& __x, + const map<_Key, _Tp, _Compare, _Alloc>& __y) + { return !(__x == __y); } + + + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator>(const map<_Key, _Tp, _Compare, _Alloc>& __x, + const map<_Key, _Tp, _Compare, _Alloc>& __y) + { return __y < __x; } + + + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator<=(const map<_Key, _Tp, _Compare, _Alloc>& __x, + const map<_Key, _Tp, _Compare, _Alloc>& __y) + { return !(__y < __x); } + + + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator>=(const map<_Key, _Tp, _Compare, _Alloc>& __x, + const map<_Key, _Tp, _Compare, _Alloc>& __y) + { return !(__x < __y); } + + + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline void + swap(map<_Key, _Tp, _Compare, _Alloc>& __x, + map<_Key, _Tp, _Compare, _Alloc>& __y) + noexcept(noexcept(__x.swap(__y))) + { __x.swap(__y); } + + +} +# 62 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/map" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 1 3 +# 64 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 92 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + template <typename _Key, typename _Tp, + typename _Compare = std::less<_Key>, + typename _Alloc = std::allocator<std::pair<const _Key, _Tp> > > + class multimap + { + public: + typedef _Key key_type; + typedef _Tp mapped_type; + typedef std::pair<const _Key, _Tp> value_type; + typedef _Compare key_compare; + typedef _Alloc allocator_type; + + private: + + typedef typename _Alloc::value_type _Alloc_value_type; + + + + + + public: + class value_compare + : public std::binary_function<value_type, value_type, bool> + { + friend class multimap<_Key, _Tp, _Compare, _Alloc>; + protected: + _Compare comp; + + value_compare(_Compare __c) + : comp(__c) { } + + public: + bool operator()(const value_type& __x, const value_type& __y) const + { return comp(__x.first, __y.first); } + }; + + private: + + typedef typename __gnu_cxx::__alloc_traits<_Alloc>::template + rebind<value_type>::other _Pair_alloc_type; + + typedef _Rb_tree<key_type, value_type, _Select1st<value_type>, + key_compare, _Pair_alloc_type> _Rep_type; + + _Rep_type _M_t; + + typedef __gnu_cxx::__alloc_traits<_Pair_alloc_type> _Alloc_traits; + + public: + + + typedef typename _Alloc_traits::pointer pointer; + typedef typename _Alloc_traits::const_pointer const_pointer; + typedef typename _Alloc_traits::reference reference; + typedef typename _Alloc_traits::const_reference const_reference; + typedef typename _Rep_type::iterator iterator; + typedef typename _Rep_type::const_iterator const_iterator; + typedef typename _Rep_type::size_type size_type; + typedef typename _Rep_type::difference_type difference_type; + typedef typename _Rep_type::reverse_iterator reverse_iterator; + typedef typename _Rep_type::const_reverse_iterator const_reverse_iterator; + + + + + + + + multimap() + noexcept(is_nothrow_default_constructible<allocator_type>::value && is_nothrow_default_constructible<key_compare>::value) + + + : _M_t() { } + + + + + + + explicit + multimap(const _Compare& __comp, + const allocator_type& __a = allocator_type()) + : _M_t(__comp, _Pair_alloc_type(__a)) { } +# 183 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + multimap(const multimap& __x) + : _M_t(__x._M_t) { } +# 194 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + multimap(multimap&& __x) + noexcept(is_nothrow_copy_constructible<_Compare>::value) + : _M_t(std::move(__x._M_t)) { } +# 208 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + multimap(initializer_list<value_type> __l, + const _Compare& __comp = _Compare(), + const allocator_type& __a = allocator_type()) + : _M_t(__comp, _Pair_alloc_type(__a)) + { _M_t._M_insert_equal(__l.begin(), __l.end()); } + + + explicit + multimap(const allocator_type& __a) + : _M_t(_Compare(), _Pair_alloc_type(__a)) { } + + + multimap(const multimap& __m, const allocator_type& __a) + : _M_t(__m._M_t, _Pair_alloc_type(__a)) { } + + + multimap(multimap&& __m, const allocator_type& __a) + noexcept(is_nothrow_copy_constructible<_Compare>::value + && _Alloc_traits::_S_always_equal()) + : _M_t(std::move(__m._M_t), _Pair_alloc_type(__a)) { } + + + multimap(initializer_list<value_type> __l, const allocator_type& __a) + : _M_t(_Compare(), _Pair_alloc_type(__a)) + { _M_t._M_insert_equal(__l.begin(), __l.end()); } + + + template<typename _InputIterator> + multimap(_InputIterator __first, _InputIterator __last, + const allocator_type& __a) + : _M_t(_Compare(), _Pair_alloc_type(__a)) + { _M_t._M_insert_equal(__first, __last); } +# 251 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + template<typename _InputIterator> + multimap(_InputIterator __first, _InputIterator __last) + : _M_t() + { _M_t._M_insert_equal(__first, __last); } +# 267 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + template<typename _InputIterator> + multimap(_InputIterator __first, _InputIterator __last, + const _Compare& __comp, + const allocator_type& __a = allocator_type()) + : _M_t(__comp, _Pair_alloc_type(__a)) + { _M_t._M_insert_equal(__first, __last); } +# 290 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + multimap& + operator=(const multimap& __x) + { + _M_t = __x._M_t; + return *this; + } + + + + multimap& + operator=(multimap&&) = default; +# 313 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + multimap& + operator=(initializer_list<value_type> __l) + { + _M_t._M_assign_equal(__l.begin(), __l.end()); + return *this; + } + + + + allocator_type + get_allocator() const noexcept + { return allocator_type(_M_t.get_allocator()); } + + + + + + + + iterator + begin() noexcept + { return _M_t.begin(); } + + + + + + + const_iterator + begin() const noexcept + { return _M_t.begin(); } + + + + + + + iterator + end() noexcept + { return _M_t.end(); } + + + + + + + const_iterator + end() const noexcept + { return _M_t.end(); } + + + + + + + reverse_iterator + rbegin() noexcept + { return _M_t.rbegin(); } + + + + + + + const_reverse_iterator + rbegin() const noexcept + { return _M_t.rbegin(); } + + + + + + + reverse_iterator + rend() noexcept + { return _M_t.rend(); } + + + + + + + const_reverse_iterator + rend() const noexcept + { return _M_t.rend(); } + + + + + + + + const_iterator + cbegin() const noexcept + { return _M_t.begin(); } + + + + + + + const_iterator + cend() const noexcept + { return _M_t.end(); } + + + + + + + const_reverse_iterator + crbegin() const noexcept + { return _M_t.rbegin(); } + + + + + + + const_reverse_iterator + crend() const noexcept + { return _M_t.rend(); } + + + + + bool + empty() const noexcept + { return _M_t.empty(); } + + + size_type + size() const noexcept + { return _M_t.size(); } + + + size_type + max_size() const noexcept + { return _M_t.max_size(); } +# 471 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + template<typename... _Args> + iterator + emplace(_Args&&... __args) + { return _M_t._M_emplace_equal(std::forward<_Args>(__args)...); } +# 498 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + template<typename... _Args> + iterator + emplace_hint(const_iterator __pos, _Args&&... __args) + { + return _M_t._M_emplace_hint_equal(__pos, + std::forward<_Args>(__args)...); + } +# 519 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + iterator + insert(const value_type& __x) + { return _M_t._M_insert_equal(__x); } + + + template<typename _Pair, typename = typename + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> + iterator + insert(_Pair&& __x) + { return _M_t._M_insert_equal(std::forward<_Pair>(__x)); } +# 552 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + iterator + + insert(const_iterator __position, const value_type& __x) + + + + { return _M_t._M_insert_equal_(__position, __x); } + + + template<typename _Pair, typename = typename + std::enable_if<std::is_constructible<value_type, + _Pair&&>::value>::type> + iterator + insert(const_iterator __position, _Pair&& __x) + { return _M_t._M_insert_equal_(__position, + std::forward<_Pair>(__x)); } +# 579 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + template<typename _InputIterator> + void + insert(_InputIterator __first, _InputIterator __last) + { _M_t._M_insert_equal(__first, __last); } +# 592 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + void + insert(initializer_list<value_type> __l) + { this->insert(__l.begin(), __l.end()); } +# 613 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + iterator + erase(const_iterator __position) + { return _M_t.erase(__position); } + + + __attribute ((__abi_tag__ ("cxx11"))) + iterator + erase(iterator __position) + { return _M_t.erase(__position); } +# 649 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + size_type + erase(const key_type& __x) + { return _M_t.erase(__x); } +# 670 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + iterator + erase(const_iterator __first, const_iterator __last) + { return _M_t.erase(__first, __last); } +# 705 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + void + swap(multimap& __x) + noexcept(__is_nothrow_swappable<_Compare>::value) + { _M_t.swap(__x._M_t); } + + + + + + + + void + clear() noexcept + { _M_t.clear(); } + + + + + + + key_compare + key_comp() const + { return _M_t.key_comp(); } + + + + + + value_compare + value_comp() const + { return value_compare(_M_t.key_comp()); } +# 751 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + iterator + find(const key_type& __x) + { return _M_t.find(__x); } +# 775 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + const_iterator + find(const key_type& __x) const + { return _M_t.find(__x); } +# 793 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + size_type + count(const key_type& __x) const + { return _M_t.count(__x); } +# 817 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + iterator + lower_bound(const key_type& __x) + { return _M_t.lower_bound(__x); } +# 842 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + const_iterator + lower_bound(const key_type& __x) const + { return _M_t.lower_bound(__x); } +# 862 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + iterator + upper_bound(const key_type& __x) + { return _M_t.upper_bound(__x); } +# 882 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + const_iterator + upper_bound(const key_type& __x) const + { return _M_t.upper_bound(__x); } +# 909 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + std::pair<iterator, iterator> + equal_range(const key_type& __x) + { return _M_t.equal_range(__x); } +# 936 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + std::pair<const_iterator, const_iterator> + equal_range(const key_type& __x) const + { return _M_t.equal_range(__x); } +# 953 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + template<typename _K1, typename _T1, typename _C1, typename _A1> + friend bool + operator==(const multimap<_K1, _T1, _C1, _A1>&, + const multimap<_K1, _T1, _C1, _A1>&); + + template<typename _K1, typename _T1, typename _C1, typename _A1> + friend bool + operator<(const multimap<_K1, _T1, _C1, _A1>&, + const multimap<_K1, _T1, _C1, _A1>&); + }; +# 974 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator==(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, + const multimap<_Key, _Tp, _Compare, _Alloc>& __y) + { return __x._M_t == __y._M_t; } +# 991 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_multimap.h" 3 + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator<(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, + const multimap<_Key, _Tp, _Compare, _Alloc>& __y) + { return __x._M_t < __y._M_t; } + + + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator!=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, + const multimap<_Key, _Tp, _Compare, _Alloc>& __y) + { return !(__x == __y); } + + + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator>(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, + const multimap<_Key, _Tp, _Compare, _Alloc>& __y) + { return __y < __x; } + + + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator<=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, + const multimap<_Key, _Tp, _Compare, _Alloc>& __y) + { return !(__y < __x); } + + + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline bool + operator>=(const multimap<_Key, _Tp, _Compare, _Alloc>& __x, + const multimap<_Key, _Tp, _Compare, _Alloc>& __y) + { return !(__x < __y); } + + + template<typename _Key, typename _Tp, typename _Compare, typename _Alloc> + inline void + swap(multimap<_Key, _Tp, _Compare, _Alloc>& __x, + multimap<_Key, _Tp, _Compare, _Alloc>& __y) + noexcept(noexcept(__x.swap(__y))) + { __x.swap(__y); } + + +} +# 63 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/map" 2 3 +# 5 "./libraries/Scope/Scope.h" 2 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 1 3 +# 47 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 3 +# 66 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tempbuf.h" 1 3 +# 62 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tempbuf.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 83 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tempbuf.h" 3 + template<typename _Tp> + pair<_Tp*, ptrdiff_t> + get_temporary_buffer(ptrdiff_t __len) noexcept + { + const ptrdiff_t __max = + __gnu_cxx::__numeric_traits<ptrdiff_t>::__max / sizeof(_Tp); + if (__len > __max) + __len = __max; + + while (__len > 0) + { + _Tp* __tmp = static_cast<_Tp*>(::operator new(__len * sizeof(_Tp), + std::nothrow)); + if (__tmp != 0) + return std::pair<_Tp*, ptrdiff_t>(__tmp, __len); + __len /= 2; + } + return std::pair<_Tp*, ptrdiff_t>(static_cast<_Tp*>(0), 0); + } +# 110 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tempbuf.h" 3 + template<typename _Tp> + inline void + return_temporary_buffer(_Tp* __p) + { ::operator delete(__p, std::nothrow); } + + + + + + + + template<typename _ForwardIterator, typename _Tp> + class _Temporary_buffer + { + + + + public: + typedef _Tp value_type; + typedef value_type* pointer; + typedef pointer iterator; + typedef ptrdiff_t size_type; + + protected: + size_type _M_original_len; + size_type _M_len; + pointer _M_buffer; + + public: + + size_type + size() const + { return _M_len; } + + + size_type + requested_size() const + { return _M_original_len; } + + + iterator + begin() + { return _M_buffer; } + + + iterator + end() + { return _M_buffer + _M_len; } + + + + + + _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last); + + ~_Temporary_buffer() + { + std::_Destroy(_M_buffer, _M_buffer + _M_len); + std::return_temporary_buffer(_M_buffer); + } + + private: + + _Temporary_buffer(const _Temporary_buffer&); + + void + operator=(const _Temporary_buffer&); + }; + + + template<bool> + struct __uninitialized_construct_buf_dispatch + { + template<typename _Pointer, typename _ForwardIterator> + static void + __ucr(_Pointer __first, _Pointer __last, + _ForwardIterator __seed) + { + if(__first == __last) + return; + + _Pointer __cur = __first; + try + { + std::_Construct(std::__addressof(*__first), + std::move(*__seed)); + _Pointer __prev = __cur; + ++__cur; + for(; __cur != __last; ++__cur, ++__prev) + std::_Construct(std::__addressof(*__cur), + std::move(*__prev)); + *__seed = std::move(*__prev); + } + catch(...) + { + std::_Destroy(__first, __cur); + throw; + } + } + }; + + template<> + struct __uninitialized_construct_buf_dispatch<true> + { + template<typename _Pointer, typename _ForwardIterator> + static void + __ucr(_Pointer, _Pointer, _ForwardIterator) { } + }; +# 229 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_tempbuf.h" 3 + template<typename _Pointer, typename _ForwardIterator> + inline void + __uninitialized_construct_buf(_Pointer __first, _Pointer __last, + _ForwardIterator __seed) + { + typedef typename std::iterator_traits<_Pointer>::value_type + _ValueType; + + std::__uninitialized_construct_buf_dispatch< + __has_trivial_constructor(_ValueType)>:: + __ucr(__first, __last, __seed); + } + + template<typename _ForwardIterator, typename _Tp> + _Temporary_buffer<_ForwardIterator, _Tp>:: + _Temporary_buffer(_ForwardIterator __first, _ForwardIterator __last) + : _M_original_len(std::distance(__first, __last)), + _M_len(0), _M_buffer(0) + { + try + { + std::pair<pointer, size_type> __p(std::get_temporary_buffer< + value_type>(_M_original_len)); + _M_buffer = __p.first; + _M_len = __p.second; + if (_M_buffer) + std::__uninitialized_construct_buf(_M_buffer, _M_buffer + _M_len, + __first); + } + catch(...) + { + std::return_temporary_buffer(_M_buffer); + _M_buffer = 0; + _M_len = 0; + throw; + } + } + + +} +# 67 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_raw_storage_iter.h" 1 3 +# 59 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_raw_storage_iter.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + + + + template <class _OutputIterator, class _Tp> + class raw_storage_iterator + : public iterator<output_iterator_tag, void, void, void, void> + { + protected: + _OutputIterator _M_iter; + + public: + explicit + raw_storage_iterator(_OutputIterator __x) + : _M_iter(__x) {} + + raw_storage_iterator& + operator*() { return *this; } + + raw_storage_iterator& + operator=(const _Tp& __element) + { + std::_Construct(std::__addressof(*_M_iter), __element); + return *this; + } + + + + + raw_storage_iterator& + operator=(_Tp&& __element) + { + std::_Construct(std::__addressof(*_M_iter), std::move(__element)); + return *this; + } + + + raw_storage_iterator& + operator++() + { + ++_M_iter; + return *this; + } + + raw_storage_iterator + operator++(int) + { + raw_storage_iterator __tmp = *this; + ++_M_iter; + return __tmp; + } + + + + _OutputIterator base() const { return _M_iter; } + }; + + +} +# 68 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 2 3 + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/typeinfo" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/typeinfo" 3 + + + + + + +#pragma GCC visibility push(default) + +extern "C++" { + +namespace __cxxabiv1 +{ + class __class_type_info; +} +# 80 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/typeinfo" 3 +namespace std +{ + + + + + + + class type_info + { + public: + + + + + virtual ~type_info(); + + + + const char* name() const noexcept + { return __name[0] == '*' ? __name + 1 : __name; } +# 115 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/typeinfo" 3 + bool before(const type_info& __arg) const noexcept + { return (__name[0] == '*' && __arg.__name[0] == '*') + ? __name < __arg.__name + : __builtin_strcmp (__name, __arg.__name) < 0; } + + bool operator==(const type_info& __arg) const noexcept + { + return ((__name == __arg.__name) + || (__name[0] != '*' && + __builtin_strcmp (__name, __arg.__name) == 0)); + } +# 136 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/typeinfo" 3 + bool operator!=(const type_info& __arg) const noexcept + { return !operator==(__arg); } + + + size_t hash_code() const noexcept + { + + return _Hash_bytes(name(), __builtin_strlen(name()), + static_cast<size_t>(0xc70f6907UL)); + + + + } + + + + virtual bool __is_pointer_p() const; + + + virtual bool __is_function_p() const; + + + + + + + + virtual bool __do_catch(const type_info *__thr_type, void **__thr_obj, + unsigned __outer) const; + + + virtual bool __do_upcast(const __cxxabiv1::__class_type_info *__target, + void **__obj_ptr) const; + + protected: + const char *__name; + + explicit type_info(const char *__n): __name(__n) { } + + private: + + type_info& operator=(const type_info&); + type_info(const type_info&); + }; + + + + + + + + class bad_cast : public exception + { + public: + bad_cast() noexcept { } + + + + virtual ~bad_cast() noexcept; + + + virtual const char* what() const noexcept; + }; + + + + + + class bad_typeid : public exception + { + public: + bad_typeid () noexcept { } + + + + virtual ~bad_typeid() noexcept; + + + virtual const char* what() const noexcept; + }; +} + +} + +#pragma GCC visibility pop +# 72 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 2 3 + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/concurrence.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/concurrence.h" 3 + + + + + + + +namespace __gnu_cxx __attribute__ ((__visibility__ ("default"))) +{ + + + + + + + + enum _Lock_policy { _S_single, _S_mutex, _S_atomic }; + + + + static const _Lock_policy __default_lock_policy = + + + + _S_atomic; +# 67 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/concurrence.h" 3 + class __concurrence_lock_error : public std::exception + { + public: + virtual char const* + what() const throw() + { return "__gnu_cxx::__concurrence_lock_error"; } + }; + + class __concurrence_unlock_error : public std::exception + { + public: + virtual char const* + what() const throw() + { return "__gnu_cxx::__concurrence_unlock_error"; } + }; + + class __concurrence_broadcast_error : public std::exception + { + public: + virtual char const* + what() const throw() + { return "__gnu_cxx::__concurrence_broadcast_error"; } + }; + + class __concurrence_wait_error : public std::exception + { + public: + virtual char const* + what() const throw() + { return "__gnu_cxx::__concurrence_wait_error"; } + }; + + + inline void + __throw_concurrence_lock_error() + { (throw (__concurrence_lock_error())); } + + inline void + __throw_concurrence_unlock_error() + { (throw (__concurrence_unlock_error())); } + + + inline void + __throw_concurrence_broadcast_error() + { (throw (__concurrence_broadcast_error())); } + + inline void + __throw_concurrence_wait_error() + { (throw (__concurrence_wait_error())); } + + + class __mutex + { + private: + + __gthread_mutex_t _M_mutex = { { 0, 0, 0, 0, 0, { 0 } } }; + + + + + __mutex(const __mutex&); + __mutex& operator=(const __mutex&); + + public: + __mutex() + { + + + + + } +# 147 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/concurrence.h" 3 + void lock() + { + + if (__gthread_active_p()) + { + if (__gthread_mutex_lock(&_M_mutex) != 0) + __throw_concurrence_lock_error(); + } + + } + + void unlock() + { + + if (__gthread_active_p()) + { + if (__gthread_mutex_unlock(&_M_mutex) != 0) + __throw_concurrence_unlock_error(); + } + + } + + __gthread_mutex_t* gthread_mutex(void) + { return &_M_mutex; } + }; + + class __recursive_mutex + { + private: + + __gthread_recursive_mutex_t _M_mutex = { { 0, 0, 0, PTHREAD_MUTEX_RECURSIVE_NP, 0, { 0 } } }; + + + + + __recursive_mutex(const __recursive_mutex&); + __recursive_mutex& operator=(const __recursive_mutex&); + + public: + __recursive_mutex() + { + + + + + } +# 202 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/concurrence.h" 3 + void lock() + { + + if (__gthread_active_p()) + { + if (__gthread_recursive_mutex_lock(&_M_mutex) != 0) + __throw_concurrence_lock_error(); + } + + } + + void unlock() + { + + if (__gthread_active_p()) + { + if (__gthread_recursive_mutex_unlock(&_M_mutex) != 0) + __throw_concurrence_unlock_error(); + } + + } + + __gthread_recursive_mutex_t* gthread_recursive_mutex(void) + { return &_M_mutex; } + }; + + + + + class __scoped_lock + { + public: + typedef __mutex __mutex_type; + + private: + __mutex_type& _M_device; + + __scoped_lock(const __scoped_lock&); + __scoped_lock& operator=(const __scoped_lock&); + + public: + explicit __scoped_lock(__mutex_type& __name) : _M_device(__name) + { _M_device.lock(); } + + ~__scoped_lock() throw() + { _M_device.unlock(); } + }; + + + class __cond + { + private: + + __gthread_cond_t _M_cond = { { 0, 0, 0, 0, 0, (void *) 0, 0, 0 } }; + + + + + __cond(const __cond&); + __cond& operator=(const __cond&); + + public: + __cond() + { + + + + + } +# 280 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext/concurrence.h" 3 + void broadcast() + { + + if (__gthread_active_p()) + { + if (__gthread_cond_broadcast(&_M_cond) != 0) + __throw_concurrence_broadcast_error(); + } + + } + + void wait(__mutex *mutex) + { + + { + if (__gthread_cond_wait(&_M_cond, mutex->gthread_mutex()) != 0) + __throw_concurrence_wait_error(); + } + + } + + void wait_recursive(__recursive_mutex *mutex) + { + + { + if (__gthread_cond_wait_recursive(&_M_cond, + mutex->gthread_recursive_mutex()) + != 0) + __throw_concurrence_wait_error(); + } + + } + }; + + + +} +# 75 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 2 3 + + + + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 1 3 +# 47 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 +# 60 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + template<typename _MemberPointer> + class _Mem_fn; + template<typename _Tp, typename _Class> + _Mem_fn<_Tp _Class::*> + mem_fn(_Tp _Class::*) noexcept; + + + template<typename _Functor, typename = __void_t<>> + struct _Maybe_get_result_type + { }; + + template<typename _Functor> + struct _Maybe_get_result_type<_Functor, + __void_t<typename _Functor::result_type>> + { typedef typename _Functor::result_type result_type; }; + + + + + + template<typename _Functor> + struct _Weak_result_type_impl + : _Maybe_get_result_type<_Functor> + { }; + + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(_ArgTypes...)> + { typedef _Res result_type; }; + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(_ArgTypes......)> + { typedef _Res result_type; }; + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(_ArgTypes...) const> + { typedef _Res result_type; }; + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(_ArgTypes......) const> + { typedef _Res result_type; }; + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(_ArgTypes...) volatile> + { typedef _Res result_type; }; + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(_ArgTypes......) volatile> + { typedef _Res result_type; }; + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(_ArgTypes...) const volatile> + { typedef _Res result_type; }; + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(_ArgTypes......) const volatile> + { typedef _Res result_type; }; + + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(&)(_ArgTypes...)> + { typedef _Res result_type; }; + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(&)(_ArgTypes......)> + { typedef _Res result_type; }; + + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(*)(_ArgTypes...)> + { typedef _Res result_type; }; + + template<typename _Res, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res(*)(_ArgTypes......)> + { typedef _Res result_type; }; + + + template<typename _Res, typename _Class, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes...)> + { typedef _Res result_type; }; + + template<typename _Res, typename _Class, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes......)> + { typedef _Res result_type; }; + + + template<typename _Res, typename _Class, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes...) const> + { typedef _Res result_type; }; + + template<typename _Res, typename _Class, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes......) const> + { typedef _Res result_type; }; + + + template<typename _Res, typename _Class, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes...) volatile> + { typedef _Res result_type; }; + + template<typename _Res, typename _Class, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes......) volatile> + { typedef _Res result_type; }; + + + template<typename _Res, typename _Class, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes...) + const volatile> + { typedef _Res result_type; }; + + template<typename _Res, typename _Class, typename... _ArgTypes> + struct _Weak_result_type_impl<_Res (_Class::*)(_ArgTypes......) + const volatile> + { typedef _Res result_type; }; + + + + + + template<typename _Functor> + struct _Weak_result_type + : _Weak_result_type_impl<typename remove_cv<_Functor>::type> + { }; + + template<typename _Tp, typename _Up = typename decay<_Tp>::type> + struct __inv_unwrap + { + using type = _Tp; + }; + + template<typename _Tp, typename _Up> + struct __inv_unwrap<_Tp, reference_wrapper<_Up>> + { + using type = _Up&; + }; + + + + template<typename _Tp, typename _Up = typename __inv_unwrap<_Tp>::type> + inline _Up&& + __invfwd(typename remove_reference<_Tp>::type& __t) noexcept + { return static_cast<_Up&&>(__t); } + + template<typename _Res, typename _Fn, typename... _Args> + inline _Res + __invoke_impl(__invoke_other, _Fn&& __f, _Args&&... __args) + noexcept(noexcept(std::forward<_Fn>(__f)(std::forward<_Args>(__args)...))) + { return std::forward<_Fn>(__f)(std::forward<_Args>(__args)...); } + + template<typename _Res, typename _MemFun, typename _Tp, typename... _Args> + inline _Res + __invoke_impl(__invoke_memfun_ref, _MemFun&& __f, _Tp&& __t, + _Args&&... __args) + noexcept(noexcept( + (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...))) + { return (__invfwd<_Tp>(__t).*__f)(std::forward<_Args>(__args)...); } + + template<typename _Res, typename _MemFun, typename _Tp, typename... _Args> + inline _Res + __invoke_impl(__invoke_memfun_deref, _MemFun&& __f, _Tp&& __t, + _Args&&... __args) + noexcept(noexcept( + ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...))) + { + return ((*std::forward<_Tp>(__t)).*__f)(std::forward<_Args>(__args)...); + } + + template<typename _Res, typename _MemPtr, typename _Tp> + inline _Res + __invoke_impl(__invoke_memobj_ref, _MemPtr&& __f, _Tp&& __t) + noexcept(noexcept(__invfwd<_Tp>(__t).*__f)) + { return __invfwd<_Tp>(__t).*__f; } + + template<typename _Res, typename _MemPtr, typename _Tp> + inline _Res + __invoke_impl(__invoke_memobj_deref, _MemPtr&& __f, _Tp&& __t) + noexcept(noexcept((*std::forward<_Tp>(__t)).*__f)) + { return (*std::forward<_Tp>(__t)).*__f; } + + + template<typename _Callable, typename... _Args> + inline typename result_of<_Callable&&(_Args&&...)>::type + __invoke(_Callable&& __fn, _Args&&... __args) + { + using __result_of = result_of<_Callable&&(_Args&&...)>; + using __type = typename __result_of::type; + using __tag = typename __result_of::__invoke_type; + return std::__invoke_impl<__type>(__tag{}, std::forward<_Callable>(__fn), + std::forward<_Args>(__args)...); + } +# 272 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<bool _Unary, bool _Binary, typename _Tp> + struct _Reference_wrapper_base_impl; + + + template<typename _Tp> + struct _Reference_wrapper_base_impl<false, false, _Tp> + : _Weak_result_type<_Tp> + { }; + + + template<typename _Tp> + struct _Reference_wrapper_base_impl<true, false, _Tp> + : _Weak_result_type<_Tp> + { + typedef typename _Tp::argument_type argument_type; + }; + + + template<typename _Tp> + struct _Reference_wrapper_base_impl<false, true, _Tp> + : _Weak_result_type<_Tp> + { + typedef typename _Tp::first_argument_type first_argument_type; + typedef typename _Tp::second_argument_type second_argument_type; + }; + + + template<typename _Tp> + struct _Reference_wrapper_base_impl<true, true, _Tp> + : _Weak_result_type<_Tp> + { + typedef typename _Tp::argument_type argument_type; + typedef typename _Tp::first_argument_type first_argument_type; + typedef typename _Tp::second_argument_type second_argument_type; + }; + + template<typename _Tp, typename = __void_t<>> struct __has_argument_type : false_type { }; template<typename _Tp> struct __has_argument_type<_Tp, __void_t<typename _Tp::argument_type>> : true_type { }; + template<typename _Tp, typename = __void_t<>> struct __has_first_argument_type : false_type { }; template<typename _Tp> struct __has_first_argument_type<_Tp, __void_t<typename _Tp::first_argument_type>> : true_type { }; + template<typename _Tp, typename = __void_t<>> struct __has_second_argument_type : false_type { }; template<typename _Tp> struct __has_second_argument_type<_Tp, __void_t<typename _Tp::second_argument_type>> : true_type { }; + + + + + + + + template<typename _Tp> + struct _Reference_wrapper_base + : _Reference_wrapper_base_impl< + __has_argument_type<_Tp>::value, + __has_first_argument_type<_Tp>::value + && __has_second_argument_type<_Tp>::value, + _Tp> + { }; + + + template<typename _Res, typename _T1> + struct _Reference_wrapper_base<_Res(_T1)> + : unary_function<_T1, _Res> + { }; + + template<typename _Res, typename _T1> + struct _Reference_wrapper_base<_Res(_T1) const> + : unary_function<_T1, _Res> + { }; + + template<typename _Res, typename _T1> + struct _Reference_wrapper_base<_Res(_T1) volatile> + : unary_function<_T1, _Res> + { }; + + template<typename _Res, typename _T1> + struct _Reference_wrapper_base<_Res(_T1) const volatile> + : unary_function<_T1, _Res> + { }; + + + template<typename _Res, typename _T1, typename _T2> + struct _Reference_wrapper_base<_Res(_T1, _T2)> + : binary_function<_T1, _T2, _Res> + { }; + + template<typename _Res, typename _T1, typename _T2> + struct _Reference_wrapper_base<_Res(_T1, _T2) const> + : binary_function<_T1, _T2, _Res> + { }; + + template<typename _Res, typename _T1, typename _T2> + struct _Reference_wrapper_base<_Res(_T1, _T2) volatile> + : binary_function<_T1, _T2, _Res> + { }; + + template<typename _Res, typename _T1, typename _T2> + struct _Reference_wrapper_base<_Res(_T1, _T2) const volatile> + : binary_function<_T1, _T2, _Res> + { }; + + + template<typename _Res, typename _T1> + struct _Reference_wrapper_base<_Res(*)(_T1)> + : unary_function<_T1, _Res> + { }; + + + template<typename _Res, typename _T1, typename _T2> + struct _Reference_wrapper_base<_Res(*)(_T1, _T2)> + : binary_function<_T1, _T2, _Res> + { }; + + + template<typename _Res, typename _T1> + struct _Reference_wrapper_base<_Res (_T1::*)()> + : unary_function<_T1*, _Res> + { }; + + + template<typename _Res, typename _T1, typename _T2> + struct _Reference_wrapper_base<_Res (_T1::*)(_T2)> + : binary_function<_T1*, _T2, _Res> + { }; + + + template<typename _Res, typename _T1> + struct _Reference_wrapper_base<_Res (_T1::*)() const> + : unary_function<const _T1*, _Res> + { }; + + + template<typename _Res, typename _T1, typename _T2> + struct _Reference_wrapper_base<_Res (_T1::*)(_T2) const> + : binary_function<const _T1*, _T2, _Res> + { }; + + + template<typename _Res, typename _T1> + struct _Reference_wrapper_base<_Res (_T1::*)() volatile> + : unary_function<volatile _T1*, _Res> + { }; + + + template<typename _Res, typename _T1, typename _T2> + struct _Reference_wrapper_base<_Res (_T1::*)(_T2) volatile> + : binary_function<volatile _T1*, _T2, _Res> + { }; + + + template<typename _Res, typename _T1> + struct _Reference_wrapper_base<_Res (_T1::*)() const volatile> + : unary_function<const volatile _T1*, _Res> + { }; + + + template<typename _Res, typename _T1, typename _T2> + struct _Reference_wrapper_base<_Res (_T1::*)(_T2) const volatile> + : binary_function<const volatile _T1*, _T2, _Res> + { }; + + + + + + + template<typename _Tp> + class reference_wrapper + : public _Reference_wrapper_base<typename remove_cv<_Tp>::type> + { + _Tp* _M_data; + + public: + typedef _Tp type; + + reference_wrapper(_Tp& __indata) noexcept + : _M_data(std::__addressof(__indata)) + { } + + reference_wrapper(_Tp&&) = delete; + + reference_wrapper(const reference_wrapper&) = default; + + reference_wrapper& + operator=(const reference_wrapper&) = default; + + operator _Tp&() const noexcept + { return this->get(); } + + _Tp& + get() const noexcept + { return *_M_data; } + + template<typename... _Args> + typename result_of<_Tp&(_Args&&...)>::type + operator()(_Args&&... __args) const + { + return std::__invoke(get(), std::forward<_Args>(__args)...); + } + }; + + + + template<typename _Tp> + inline reference_wrapper<_Tp> + ref(_Tp& __t) noexcept + { return reference_wrapper<_Tp>(__t); } + + + template<typename _Tp> + inline reference_wrapper<const _Tp> + cref(const _Tp& __t) noexcept + { return reference_wrapper<const _Tp>(__t); } + + template<typename _Tp> + void ref(const _Tp&&) = delete; + + template<typename _Tp> + void cref(const _Tp&&) = delete; + + + template<typename _Tp> + inline reference_wrapper<_Tp> + ref(reference_wrapper<_Tp> __t) noexcept + { return ref(__t.get()); } + + + template<typename _Tp> + inline reference_wrapper<const _Tp> + cref(reference_wrapper<_Tp> __t) noexcept + { return cref(__t.get()); } + + + + template<typename... _Types> + struct _Pack : integral_constant<size_t, sizeof...(_Types)> + { }; + + template<typename _From, typename _To, bool = _From::value == _To::value> + struct _AllConvertible : false_type + { }; + + template<typename... _From, typename... _To> + struct _AllConvertible<_Pack<_From...>, _Pack<_To...>, true> + : __and_<is_convertible<_From, _To>...> + { }; + + template<typename _Tp1, typename _Tp2> + using _NotSame = __not_<is_same<typename std::decay<_Tp1>::type, + typename std::decay<_Tp2>::type>>; + + + + + + + template<typename _Res, typename... _ArgTypes> + struct _Maybe_unary_or_binary_function { }; + + + template<typename _Res, typename _T1> + struct _Maybe_unary_or_binary_function<_Res, _T1> + : std::unary_function<_T1, _Res> { }; + + + template<typename _Res, typename _T1, typename _T2> + struct _Maybe_unary_or_binary_function<_Res, _T1, _T2> + : std::binary_function<_T1, _T2, _Res> { }; + + template<typename _Signature> + struct _Mem_fn_traits; + + template<typename _Res, typename _Class, typename... _ArgTypes> + struct _Mem_fn_traits_base + { + using __result_type = _Res; + using __maybe_type + = _Maybe_unary_or_binary_function<_Res, _Class*, _ArgTypes...>; + using __arity = integral_constant<size_t, sizeof...(_ArgTypes)>; + }; +# 569 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 +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; }; +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; }; +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; }; + + + + + template<typename _MemFunPtr, + bool __is_mem_fn = is_member_function_pointer<_MemFunPtr>::value> + class _Mem_fn_base + : public _Mem_fn_traits<_MemFunPtr>::__maybe_type + { + using _Traits = _Mem_fn_traits<_MemFunPtr>; + + using _Arity = typename _Traits::__arity; + using _Varargs = typename _Traits::__vararg; + + template<typename _Func, typename... _BoundArgs> + friend struct _Bind_check_arity; + + _MemFunPtr _M_pmf; + + public: + + using result_type = typename _Traits::__result_type; + + explicit constexpr + _Mem_fn_base(_MemFunPtr __pmf) noexcept : _M_pmf(__pmf) { } + + template<typename... _Args> + auto + operator()(_Args&&... __args) const + noexcept(noexcept( + std::__invoke(_M_pmf, std::forward<_Args>(__args)...))) + -> decltype(std::__invoke(_M_pmf, std::forward<_Args>(__args)...)) + { return std::__invoke(_M_pmf, std::forward<_Args>(__args)...); } + }; + + + template<typename _MemObjPtr> + class _Mem_fn_base<_MemObjPtr, false> + { + using _Arity = integral_constant<size_t, 0>; + using _Varargs = false_type; + + template<typename _Func, typename... _BoundArgs> + friend struct _Bind_check_arity; + + _MemObjPtr _M_pm; + + public: + explicit constexpr + _Mem_fn_base(_MemObjPtr __pm) noexcept : _M_pm(__pm) { } + + template<typename _Tp> + auto + operator()(_Tp&& __obj) const + noexcept(noexcept(std::__invoke(_M_pm, std::forward<_Tp>(__obj)))) + -> decltype(std::__invoke(_M_pm, std::forward<_Tp>(__obj))) + { return std::__invoke(_M_pm, std::forward<_Tp>(__obj)); } + }; + + template<typename _Res, typename _Class> + struct _Mem_fn<_Res _Class::*> + : _Mem_fn_base<_Res _Class::*> + { + using _Mem_fn_base<_Res _Class::*>::_Mem_fn_base; + }; +# 645 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<typename _Tp, typename _Class> + inline _Mem_fn<_Tp _Class::*> + mem_fn(_Tp _Class::* __pm) noexcept + { + return _Mem_fn<_Tp _Class::*>(__pm); + } +# 660 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<typename _Tp> + struct is_bind_expression + : public false_type { }; +# 671 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<typename _Tp> + struct is_placeholder + : public integral_constant<int, 0> + { }; + + + + + template<int _Num> struct _Placeholder { }; + + + + + + + + namespace placeholders + { + + + + + + extern const _Placeholder<1> _1; + extern const _Placeholder<2> _2; + extern const _Placeholder<3> _3; + extern const _Placeholder<4> _4; + extern const _Placeholder<5> _5; + extern const _Placeholder<6> _6; + extern const _Placeholder<7> _7; + extern const _Placeholder<8> _8; + extern const _Placeholder<9> _9; + extern const _Placeholder<10> _10; + extern const _Placeholder<11> _11; + extern const _Placeholder<12> _12; + extern const _Placeholder<13> _13; + extern const _Placeholder<14> _14; + extern const _Placeholder<15> _15; + extern const _Placeholder<16> _16; + extern const _Placeholder<17> _17; + extern const _Placeholder<18> _18; + extern const _Placeholder<19> _19; + extern const _Placeholder<20> _20; + extern const _Placeholder<21> _21; + extern const _Placeholder<22> _22; + extern const _Placeholder<23> _23; + extern const _Placeholder<24> _24; + extern const _Placeholder<25> _25; + extern const _Placeholder<26> _26; + extern const _Placeholder<27> _27; + extern const _Placeholder<28> _28; + extern const _Placeholder<29> _29; + + } +# 733 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<int _Num> + struct is_placeholder<_Placeholder<_Num> > + : public integral_constant<int, _Num> + { }; + + template<int _Num> + struct is_placeholder<const _Placeholder<_Num> > + : public integral_constant<int, _Num> + { }; + + + + template<std::size_t __i, typename _Tuple> + using _Safe_tuple_element_t + = typename enable_if<(__i < tuple_size<_Tuple>::value), + tuple_element<__i, _Tuple>>::type::type; +# 761 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<typename _Arg, + bool _IsBindExp = is_bind_expression<_Arg>::value, + bool _IsPlaceholder = (is_placeholder<_Arg>::value > 0)> + class _Mu; + + + + + + + template<typename _Tp> + class _Mu<reference_wrapper<_Tp>, false, false> + { + public: + + + + + template<typename _CVRef, typename _Tuple> + _Tp& + operator()(_CVRef& __arg, _Tuple&) const volatile + { return __arg.get(); } + }; + + + + + + + + template<typename _Arg> + class _Mu<_Arg, true, false> + { + public: + template<typename _CVArg, typename... _Args> + auto + operator()(_CVArg& __arg, + tuple<_Args...>& __tuple) const volatile + -> decltype(__arg(declval<_Args>()...)) + { + + typedef typename _Build_index_tuple<sizeof...(_Args)>::__type + _Indexes; + return this->__call(__arg, __tuple, _Indexes()); + } + + private: + + + template<typename _CVArg, typename... _Args, std::size_t... _Indexes> + auto + __call(_CVArg& __arg, tuple<_Args...>& __tuple, + const _Index_tuple<_Indexes...>&) const volatile + -> decltype(__arg(declval<_Args>()...)) + { + return __arg(std::forward<_Args>(std::get<_Indexes>(__tuple))...); + } + }; + + + + + + + template<typename _Arg> + class _Mu<_Arg, false, true> + { + public: + template<typename _Tuple> + _Safe_tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>&& + operator()(const volatile _Arg&, _Tuple& __tuple) const volatile + { + using __type + = __tuple_element_t<(is_placeholder<_Arg>::value - 1), _Tuple>; + return std::forward<__type>( + ::std::get<(is_placeholder<_Arg>::value - 1)>(__tuple)); + } + }; + + + + + + + template<typename _Arg> + class _Mu<_Arg, false, false> + { + public: + template<typename _CVArg, typename _Tuple> + _CVArg&& + operator()(_CVArg&& __arg, _Tuple&) const volatile + { return std::forward<_CVArg>(__arg); } + }; + + + + + + + template<typename _Tp> + struct _Maybe_wrap_member_pointer + { + typedef _Tp type; + + static constexpr const _Tp& + __do_wrap(const _Tp& __x) + { return __x; } + + static constexpr _Tp&& + __do_wrap(_Tp&& __x) + { return static_cast<_Tp&&>(__x); } + }; + + + + + + + template<typename _Tp, typename _Class> + struct _Maybe_wrap_member_pointer<_Tp _Class::*> + { + typedef _Mem_fn<_Tp _Class::*> type; + + static constexpr type + __do_wrap(_Tp _Class::* __pm) + { return type(__pm); } + }; + + + + + + template<> + struct _Maybe_wrap_member_pointer<void> + { + typedef void type; + }; + + + template<std::size_t _Ind, typename... _Tp> + inline auto + __volget(volatile tuple<_Tp...>& __tuple) + -> __tuple_element_t<_Ind, tuple<_Tp...>> volatile& + { return std::get<_Ind>(const_cast<tuple<_Tp...>&>(__tuple)); } + + + template<std::size_t _Ind, typename... _Tp> + inline auto + __volget(const volatile tuple<_Tp...>& __tuple) + -> __tuple_element_t<_Ind, tuple<_Tp...>> const volatile& + { return std::get<_Ind>(const_cast<const tuple<_Tp...>&>(__tuple)); } + + + template<typename _Signature> + struct _Bind; + + template<typename _Functor, typename... _Bound_args> + class _Bind<_Functor(_Bound_args...)> + : public _Weak_result_type<_Functor> + { + typedef _Bind __self_type; + typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type + _Bound_indexes; + + _Functor _M_f; + tuple<_Bound_args...> _M_bound_args; + + + template<typename _Result, typename... _Args, std::size_t... _Indexes> + _Result + __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) + { + return _M_f(_Mu<_Bound_args>() + (std::get<_Indexes>(_M_bound_args), __args)...); + } + + + template<typename _Result, typename... _Args, std::size_t... _Indexes> + _Result + __call_c(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>) const + { + return _M_f(_Mu<_Bound_args>() + (std::get<_Indexes>(_M_bound_args), __args)...); + } + + + template<typename _Result, typename... _Args, std::size_t... _Indexes> + _Result + __call_v(tuple<_Args...>&& __args, + _Index_tuple<_Indexes...>) volatile + { + return _M_f(_Mu<_Bound_args>() + (__volget<_Indexes>(_M_bound_args), __args)...); + } + + + template<typename _Result, typename... _Args, std::size_t... _Indexes> + _Result + __call_c_v(tuple<_Args...>&& __args, + _Index_tuple<_Indexes...>) const volatile + { + return _M_f(_Mu<_Bound_args>() + (__volget<_Indexes>(_M_bound_args), __args)...); + } + + public: + template<typename... _Args> + explicit _Bind(const _Functor& __f, _Args&&... __args) + : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...) + { } + + template<typename... _Args> + explicit _Bind(_Functor&& __f, _Args&&... __args) + : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...) + { } + + _Bind(const _Bind&) = default; + + _Bind(_Bind&& __b) + : _M_f(std::move(__b._M_f)), _M_bound_args(std::move(__b._M_bound_args)) + { } + + + template<typename... _Args, typename _Result + = decltype( std::declval<_Functor&>()( + _Mu<_Bound_args>()( std::declval<_Bound_args&>(), + std::declval<tuple<_Args...>&>() )... ) )> + _Result + operator()(_Args&&... __args) + { + return this->__call<_Result>( + std::forward_as_tuple(std::forward<_Args>(__args)...), + _Bound_indexes()); + } + + + template<typename... _Args, typename _Result + = decltype( std::declval<typename enable_if<(sizeof...(_Args) >= 0), + typename add_const<_Functor>::type&>::type>()( + _Mu<_Bound_args>()( std::declval<const _Bound_args&>(), + std::declval<tuple<_Args...>&>() )... ) )> + _Result + operator()(_Args&&... __args) const + { + return this->__call_c<_Result>( + std::forward_as_tuple(std::forward<_Args>(__args)...), + _Bound_indexes()); + } + + + template<typename... _Args, typename _Result + = decltype( std::declval<typename enable_if<(sizeof...(_Args) >= 0), + typename add_volatile<_Functor>::type&>::type>()( + _Mu<_Bound_args>()( std::declval<volatile _Bound_args&>(), + std::declval<tuple<_Args...>&>() )... ) )> + _Result + operator()(_Args&&... __args) volatile + { + return this->__call_v<_Result>( + std::forward_as_tuple(std::forward<_Args>(__args)...), + _Bound_indexes()); + } + + + template<typename... _Args, typename _Result + = decltype( std::declval<typename enable_if<(sizeof...(_Args) >= 0), + typename add_cv<_Functor>::type&>::type>()( + _Mu<_Bound_args>()( std::declval<const volatile _Bound_args&>(), + std::declval<tuple<_Args...>&>() )... ) )> + _Result + operator()(_Args&&... __args) const volatile + { + return this->__call_c_v<_Result>( + std::forward_as_tuple(std::forward<_Args>(__args)...), + _Bound_indexes()); + } + }; + + + template<typename _Result, typename _Signature> + struct _Bind_result; + + template<typename _Result, typename _Functor, typename... _Bound_args> + class _Bind_result<_Result, _Functor(_Bound_args...)> + { + typedef _Bind_result __self_type; + typedef typename _Build_index_tuple<sizeof...(_Bound_args)>::__type + _Bound_indexes; + + _Functor _M_f; + tuple<_Bound_args...> _M_bound_args; + + + template<typename _Res> + struct __enable_if_void : enable_if<is_void<_Res>::value, int> { }; + template<typename _Res> + struct __disable_if_void : enable_if<!is_void<_Res>::value, int> { }; + + + template<typename _Res, typename... _Args, std::size_t... _Indexes> + _Result + __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>, + typename __disable_if_void<_Res>::type = 0) + { + return _M_f(_Mu<_Bound_args>() + (std::get<_Indexes>(_M_bound_args), __args)...); + } + + + template<typename _Res, typename... _Args, std::size_t... _Indexes> + void + __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>, + typename __enable_if_void<_Res>::type = 0) + { + _M_f(_Mu<_Bound_args>() + (std::get<_Indexes>(_M_bound_args), __args)...); + } + + + template<typename _Res, typename... _Args, std::size_t... _Indexes> + _Result + __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>, + typename __disable_if_void<_Res>::type = 0) const + { + return _M_f(_Mu<_Bound_args>() + (std::get<_Indexes>(_M_bound_args), __args)...); + } + + + template<typename _Res, typename... _Args, std::size_t... _Indexes> + void + __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>, + typename __enable_if_void<_Res>::type = 0) const + { + _M_f(_Mu<_Bound_args>() + (std::get<_Indexes>(_M_bound_args), __args)...); + } + + + template<typename _Res, typename... _Args, std::size_t... _Indexes> + _Result + __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>, + typename __disable_if_void<_Res>::type = 0) volatile + { + return _M_f(_Mu<_Bound_args>() + (__volget<_Indexes>(_M_bound_args), __args)...); + } + + + template<typename _Res, typename... _Args, std::size_t... _Indexes> + void + __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>, + typename __enable_if_void<_Res>::type = 0) volatile + { + _M_f(_Mu<_Bound_args>() + (__volget<_Indexes>(_M_bound_args), __args)...); + } + + + template<typename _Res, typename... _Args, std::size_t... _Indexes> + _Result + __call(tuple<_Args...>&& __args, _Index_tuple<_Indexes...>, + typename __disable_if_void<_Res>::type = 0) const volatile + { + return _M_f(_Mu<_Bound_args>() + (__volget<_Indexes>(_M_bound_args), __args)...); + } + + + template<typename _Res, typename... _Args, std::size_t... _Indexes> + void + __call(tuple<_Args...>&& __args, + _Index_tuple<_Indexes...>, + typename __enable_if_void<_Res>::type = 0) const volatile + { + _M_f(_Mu<_Bound_args>() + (__volget<_Indexes>(_M_bound_args), __args)...); + } + + public: + typedef _Result result_type; + + template<typename... _Args> + explicit _Bind_result(const _Functor& __f, _Args&&... __args) + : _M_f(__f), _M_bound_args(std::forward<_Args>(__args)...) + { } + + template<typename... _Args> + explicit _Bind_result(_Functor&& __f, _Args&&... __args) + : _M_f(std::move(__f)), _M_bound_args(std::forward<_Args>(__args)...) + { } + + _Bind_result(const _Bind_result&) = default; + + _Bind_result(_Bind_result&& __b) + : _M_f(std::move(__b._M_f)), _M_bound_args(std::move(__b._M_bound_args)) + { } + + + template<typename... _Args> + result_type + operator()(_Args&&... __args) + { + return this->__call<_Result>( + std::forward_as_tuple(std::forward<_Args>(__args)...), + _Bound_indexes()); + } + + + template<typename... _Args> + result_type + operator()(_Args&&... __args) const + { + return this->__call<_Result>( + std::forward_as_tuple(std::forward<_Args>(__args)...), + _Bound_indexes()); + } + + + template<typename... _Args> + result_type + operator()(_Args&&... __args) volatile + { + return this->__call<_Result>( + std::forward_as_tuple(std::forward<_Args>(__args)...), + _Bound_indexes()); + } + + + template<typename... _Args> + result_type + operator()(_Args&&... __args) const volatile + { + return this->__call<_Result>( + std::forward_as_tuple(std::forward<_Args>(__args)...), + _Bound_indexes()); + } + }; + + + + + + template<typename _Signature> + struct is_bind_expression<_Bind<_Signature> > + : public true_type { }; + + + + + + template<typename _Signature> + struct is_bind_expression<const _Bind<_Signature> > + : public true_type { }; + + + + + + template<typename _Signature> + struct is_bind_expression<volatile _Bind<_Signature> > + : public true_type { }; + + + + + + template<typename _Signature> + struct is_bind_expression<const volatile _Bind<_Signature>> + : public true_type { }; + + + + + + template<typename _Result, typename _Signature> + struct is_bind_expression<_Bind_result<_Result, _Signature>> + : public true_type { }; + + + + + + template<typename _Result, typename _Signature> + struct is_bind_expression<const _Bind_result<_Result, _Signature>> + : public true_type { }; + + + + + + template<typename _Result, typename _Signature> + struct is_bind_expression<volatile _Bind_result<_Result, _Signature>> + : public true_type { }; + + + + + + template<typename _Result, typename _Signature> + struct is_bind_expression<const volatile _Bind_result<_Result, _Signature>> + : public true_type { }; + + template<typename _Func, typename... _BoundArgs> + struct _Bind_check_arity { }; + + template<typename _Ret, typename... _Args, typename... _BoundArgs> + struct _Bind_check_arity<_Ret (*)(_Args...), _BoundArgs...> + { + static_assert(sizeof...(_BoundArgs) == sizeof...(_Args), + "Wrong number of arguments for function"); + }; + + template<typename _Ret, typename... _Args, typename... _BoundArgs> + struct _Bind_check_arity<_Ret (*)(_Args......), _BoundArgs...> + { + static_assert(sizeof...(_BoundArgs) >= sizeof...(_Args), + "Wrong number of arguments for function"); + }; + + template<typename _Tp, typename _Class, typename... _BoundArgs> + struct _Bind_check_arity<_Tp _Class::*, _BoundArgs...> + { + using _Arity = typename _Mem_fn<_Tp _Class::*>::_Arity; + using _Varargs = typename _Mem_fn<_Tp _Class::*>::_Varargs; + static_assert(_Varargs::value + ? sizeof...(_BoundArgs) >= _Arity::value + 1 + : sizeof...(_BoundArgs) == _Arity::value + 1, + "Wrong number of arguments for pointer-to-member"); + }; + + + + + template<typename _Tp, typename _Tp2 = typename decay<_Tp>::type> + using __is_socketlike = __or_<is_integral<_Tp2>, is_enum<_Tp2>>; + + template<bool _SocketLike, typename _Func, typename... _BoundArgs> + struct _Bind_helper + : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...> + { + typedef _Maybe_wrap_member_pointer<typename decay<_Func>::type> + __maybe_type; + typedef typename __maybe_type::type __func_type; + typedef _Bind<__func_type(typename decay<_BoundArgs>::type...)> type; + }; + + + + + template<typename _Func, typename... _BoundArgs> + struct _Bind_helper<true, _Func, _BoundArgs...> + { }; + + + + + + template<typename _Func, typename... _BoundArgs> + inline typename + _Bind_helper<__is_socketlike<_Func>::value, _Func, _BoundArgs...>::type + bind(_Func&& __f, _BoundArgs&&... __args) + { + typedef _Bind_helper<false, _Func, _BoundArgs...> __helper_type; + typedef typename __helper_type::__maybe_type __maybe_type; + typedef typename __helper_type::type __result_type; + return __result_type(__maybe_type::__do_wrap(std::forward<_Func>(__f)), + std::forward<_BoundArgs>(__args)...); + } + + template<typename _Result, typename _Func, typename... _BoundArgs> + struct _Bindres_helper + : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...> + { + typedef _Maybe_wrap_member_pointer<typename decay<_Func>::type> + __maybe_type; + typedef typename __maybe_type::type __functor_type; + typedef _Bind_result<_Result, + __functor_type(typename decay<_BoundArgs>::type...)> + type; + }; + + + + + + template<typename _Result, typename _Func, typename... _BoundArgs> + inline + typename _Bindres_helper<_Result, _Func, _BoundArgs...>::type + bind(_Func&& __f, _BoundArgs&&... __args) + { + typedef _Bindres_helper<_Result, _Func, _BoundArgs...> __helper_type; + typedef typename __helper_type::__maybe_type __maybe_type; + typedef typename __helper_type::type __result_type; + return __result_type(__maybe_type::__do_wrap(std::forward<_Func>(__f)), + std::forward<_BoundArgs>(__args)...); + } + + template<typename _Signature> + struct _Bind_simple; + + template<typename _Callable, typename... _Args> + struct _Bind_simple<_Callable(_Args...)> + { + typedef typename result_of<_Callable(_Args...)>::type result_type; + + template<typename _Tp, typename... _Up> + explicit + _Bind_simple(_Tp&& __f, _Up&&... __args) + : _M_bound(std::forward<_Tp>(__f), std::forward<_Up>(__args)...) + { } + + _Bind_simple(const _Bind_simple&) = default; + _Bind_simple(_Bind_simple&&) = default; + + result_type + operator()() + { + typedef typename _Build_index_tuple<sizeof...(_Args)>::__type _Indices; + return _M_invoke(_Indices()); + } + + private: + template<std::size_t... _Indices> + typename result_of<_Callable(_Args...)>::type + _M_invoke(_Index_tuple<_Indices...>) + { + + + return std::forward<_Callable>(std::get<0>(_M_bound))( + std::forward<_Args>(std::get<_Indices+1>(_M_bound))...); + } + + std::tuple<_Callable, _Args...> _M_bound; + }; + + template<typename _Func, typename... _BoundArgs> + struct _Bind_simple_helper + : _Bind_check_arity<typename decay<_Func>::type, _BoundArgs...> + { + typedef _Maybe_wrap_member_pointer<typename decay<_Func>::type> + __maybe_type; + typedef typename __maybe_type::type __func_type; + typedef _Bind_simple<__func_type(typename decay<_BoundArgs>::type...)> + __type; + }; + + + + template<typename _Callable, typename... _Args> + typename _Bind_simple_helper<_Callable, _Args...>::__type + __bind_simple(_Callable&& __callable, _Args&&... __args) + { + typedef _Bind_simple_helper<_Callable, _Args...> __helper_type; + typedef typename __helper_type::__maybe_type __maybe_type; + typedef typename __helper_type::__type __result_type; + return __result_type( + __maybe_type::__do_wrap( std::forward<_Callable>(__callable)), + std::forward<_Args>(__args)...); + } + + + + + + + class bad_function_call : public std::exception + { + public: + virtual ~bad_function_call() noexcept; + + const char* what() const noexcept; + }; + + + + + + + + template<typename _Tp> + struct __is_location_invariant + : is_trivially_copyable<_Tp>::type + { }; + + class _Undefined_class; + + union _Nocopy_types + { + void* _M_object; + const void* _M_const_object; + void (*_M_function_pointer)(); + void (_Undefined_class::*_M_member_pointer)(); + }; + + union [[gnu::may_alias]] _Any_data + { + void* _M_access() { return &_M_pod_data[0]; } + const void* _M_access() const { return &_M_pod_data[0]; } + + template<typename _Tp> + _Tp& + _M_access() + { return *static_cast<_Tp*>(_M_access()); } + + template<typename _Tp> + const _Tp& + _M_access() const + { return *static_cast<const _Tp*>(_M_access()); } + + _Nocopy_types _M_unused; + char _M_pod_data[sizeof(_Nocopy_types)]; + }; + + enum _Manager_operation + { + __get_type_info, + __get_functor_ptr, + __clone_functor, + __destroy_functor + }; + + + + template<typename _Tp> + struct _Simple_type_wrapper + { + _Simple_type_wrapper(_Tp __value) : __value(__value) { } + + _Tp __value; + }; + + template<typename _Tp> + struct __is_location_invariant<_Simple_type_wrapper<_Tp> > + : __is_location_invariant<_Tp> + { }; + + + + template<typename _Functor> + inline _Functor& + __callable_functor(_Functor& __f) + { return __f; } + + template<typename _Member, typename _Class> + inline _Mem_fn<_Member _Class::*> + __callable_functor(_Member _Class::* &__p) + { return std::mem_fn(__p); } + + template<typename _Member, typename _Class> + inline _Mem_fn<_Member _Class::*> + __callable_functor(_Member _Class::* const &__p) + { return std::mem_fn(__p); } + + template<typename _Member, typename _Class> + inline _Mem_fn<_Member _Class::*> + __callable_functor(_Member _Class::* volatile &__p) + { return std::mem_fn(__p); } + + template<typename _Member, typename _Class> + inline _Mem_fn<_Member _Class::*> + __callable_functor(_Member _Class::* const volatile &__p) + { return std::mem_fn(__p); } + + template<typename _Signature> + class function; + + + class _Function_base + { + public: + static const std::size_t _M_max_size = sizeof(_Nocopy_types); + static const std::size_t _M_max_align = __alignof__(_Nocopy_types); + + template<typename _Functor> + class _Base_manager + { + protected: + static const bool __stored_locally = + (__is_location_invariant<_Functor>::value + && sizeof(_Functor) <= _M_max_size + && __alignof__(_Functor) <= _M_max_align + && (_M_max_align % __alignof__(_Functor) == 0)); + + typedef integral_constant<bool, __stored_locally> _Local_storage; + + + static _Functor* + _M_get_pointer(const _Any_data& __source) + { + const _Functor* __ptr = + __stored_locally? std::__addressof(__source._M_access<_Functor>()) + : __source._M_access<_Functor*>(); + return const_cast<_Functor*>(__ptr); + } + + + + static void + _M_clone(_Any_data& __dest, const _Any_data& __source, true_type) + { + ::new (__dest._M_access()) _Functor(__source._M_access<_Functor>()); + } + + + + static void + _M_clone(_Any_data& __dest, const _Any_data& __source, false_type) + { + __dest._M_access<_Functor*>() = + new _Functor(*__source._M_access<_Functor*>()); + } + + + + static void + _M_destroy(_Any_data& __victim, true_type) + { + __victim._M_access<_Functor>().~_Functor(); + } + + + static void + _M_destroy(_Any_data& __victim, false_type) + { + delete __victim._M_access<_Functor*>(); + } + + public: + static bool + _M_manager(_Any_data& __dest, const _Any_data& __source, + _Manager_operation __op) + { + switch (__op) + { + + case __get_type_info: + __dest._M_access<const type_info*>() = &typeid(_Functor); + break; + + case __get_functor_ptr: + __dest._M_access<_Functor*>() = _M_get_pointer(__source); + break; + + case __clone_functor: + _M_clone(__dest, __source, _Local_storage()); + break; + + case __destroy_functor: + _M_destroy(__dest, _Local_storage()); + break; + } + return false; + } + + static void + _M_init_functor(_Any_data& __functor, _Functor&& __f) + { _M_init_functor(__functor, std::move(__f), _Local_storage()); } + + template<typename _Signature> + static bool + _M_not_empty_function(const function<_Signature>& __f) + { return static_cast<bool>(__f); } + + template<typename _Tp> + static bool + _M_not_empty_function(_Tp* __fp) + { return __fp != nullptr; } + + template<typename _Class, typename _Tp> + static bool + _M_not_empty_function(_Tp _Class::* __mp) + { return __mp != nullptr; } + + template<typename _Tp> + static bool + _M_not_empty_function(const _Tp&) + { return true; } + + private: + static void + _M_init_functor(_Any_data& __functor, _Functor&& __f, true_type) + { ::new (__functor._M_access()) _Functor(std::move(__f)); } + + static void + _M_init_functor(_Any_data& __functor, _Functor&& __f, false_type) + { __functor._M_access<_Functor*>() = new _Functor(std::move(__f)); } + }; + + template<typename _Functor> + class _Ref_manager : public _Base_manager<_Functor*> + { + typedef _Function_base::_Base_manager<_Functor*> _Base; + + public: + static bool + _M_manager(_Any_data& __dest, const _Any_data& __source, + _Manager_operation __op) + { + switch (__op) + { + + case __get_type_info: + __dest._M_access<const type_info*>() = &typeid(_Functor); + break; + + case __get_functor_ptr: + __dest._M_access<_Functor*>() = *_Base::_M_get_pointer(__source); + return is_const<_Functor>::value; + break; + + default: + _Base::_M_manager(__dest, __source, __op); + } + return false; + } + + static void + _M_init_functor(_Any_data& __functor, reference_wrapper<_Functor> __f) + { + _Base::_M_init_functor(__functor, std::__addressof(__f.get())); + } + }; + + _Function_base() : _M_manager(nullptr) { } + + ~_Function_base() + { + if (_M_manager) + _M_manager(_M_functor, _M_functor, __destroy_functor); + } + + + bool _M_empty() const { return !_M_manager; } + + typedef bool (*_Manager_type)(_Any_data&, const _Any_data&, + _Manager_operation); + + _Any_data _M_functor; + _Manager_type _M_manager; + }; + + template<typename _Signature, typename _Functor> + class _Function_handler; + + template<typename _Res, typename _Functor, typename... _ArgTypes> + class _Function_handler<_Res(_ArgTypes...), _Functor> + : public _Function_base::_Base_manager<_Functor> + { + typedef _Function_base::_Base_manager<_Functor> _Base; + + public: + static _Res + _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) + { + return (*_Base::_M_get_pointer(__functor))( + std::forward<_ArgTypes>(__args)...); + } + }; + + template<typename _Functor, typename... _ArgTypes> + class _Function_handler<void(_ArgTypes...), _Functor> + : public _Function_base::_Base_manager<_Functor> + { + typedef _Function_base::_Base_manager<_Functor> _Base; + + public: + static void + _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) + { + (*_Base::_M_get_pointer(__functor))( + std::forward<_ArgTypes>(__args)...); + } + }; + + template<typename _Res, typename _Functor, typename... _ArgTypes> + class _Function_handler<_Res(_ArgTypes...), reference_wrapper<_Functor> > + : public _Function_base::_Ref_manager<_Functor> + { + typedef _Function_base::_Ref_manager<_Functor> _Base; + + public: + static _Res + _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) + { + return std::__callable_functor(**_Base::_M_get_pointer(__functor))( + std::forward<_ArgTypes>(__args)...); + } + }; + + template<typename _Functor, typename... _ArgTypes> + class _Function_handler<void(_ArgTypes...), reference_wrapper<_Functor> > + : public _Function_base::_Ref_manager<_Functor> + { + typedef _Function_base::_Ref_manager<_Functor> _Base; + + public: + static void + _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) + { + std::__callable_functor(**_Base::_M_get_pointer(__functor))( + std::forward<_ArgTypes>(__args)...); + } + }; + + template<typename _Class, typename _Member, typename _Res, + typename... _ArgTypes> + class _Function_handler<_Res(_ArgTypes...), _Member _Class::*> + : public _Function_handler<void(_ArgTypes...), _Member _Class::*> + { + typedef _Function_handler<void(_ArgTypes...), _Member _Class::*> + _Base; + + public: + static _Res + _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) + { + return std::mem_fn(_Base::_M_get_pointer(__functor)->__value)( + std::forward<_ArgTypes>(__args)...); + } + }; + + template<typename _Class, typename _Member, typename... _ArgTypes> + class _Function_handler<void(_ArgTypes...), _Member _Class::*> + : public _Function_base::_Base_manager< + _Simple_type_wrapper< _Member _Class::* > > + { + typedef _Member _Class::* _Functor; + typedef _Simple_type_wrapper<_Functor> _Wrapper; + typedef _Function_base::_Base_manager<_Wrapper> _Base; + + public: + static bool + _M_manager(_Any_data& __dest, const _Any_data& __source, + _Manager_operation __op) + { + switch (__op) + { + + case __get_type_info: + __dest._M_access<const type_info*>() = &typeid(_Functor); + break; + + case __get_functor_ptr: + __dest._M_access<_Functor*>() = + &_Base::_M_get_pointer(__source)->__value; + break; + + default: + _Base::_M_manager(__dest, __source, __op); + } + return false; + } + + static void + _M_invoke(const _Any_data& __functor, _ArgTypes&&... __args) + { + std::mem_fn(_Base::_M_get_pointer(__functor)->__value)( + std::forward<_ArgTypes>(__args)...); + } + }; + + template<typename _From, typename _To> + using __check_func_return_type + = __or_<is_void<_To>, is_same<_From, _To>, is_convertible<_From, _To>>; + + + + + + + + template<typename _Res, typename... _ArgTypes> + class function<_Res(_ArgTypes...)> + : public _Maybe_unary_or_binary_function<_Res, _ArgTypes...>, + private _Function_base + { + typedef _Res _Signature_type(_ArgTypes...); + + template<typename _Func, + typename _Res2 = typename result_of<_Func&(_ArgTypes...)>::type> + struct _Callable : __check_func_return_type<_Res2, _Res> { }; + + + + template<typename _Tp> + struct _Callable<function, _Tp> : false_type { }; + + template<typename _Cond, typename _Tp> + using _Requires = typename enable_if<_Cond::value, _Tp>::type; + + public: + typedef _Res result_type; + + + + + + + + function() noexcept + : _Function_base() { } + + + + + + function(nullptr_t) noexcept + : _Function_base() { } +# 1879 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + function(const function& __x); +# 1888 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + function(function&& __x) : _Function_base() + { + __x.swap(*this); + } +# 1911 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<typename _Functor, + typename = _Requires<__not_<is_same<_Functor, function>>, void>, + typename = _Requires<_Callable<_Functor>, void>> + function(_Functor); +# 1928 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + function& + operator=(const function& __x) + { + function(__x).swap(*this); + return *this; + } +# 1946 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + function& + operator=(function&& __x) + { + function(std::move(__x)).swap(*this); + return *this; + } +# 1960 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + function& + operator=(nullptr_t) noexcept + { + if (_M_manager) + { + _M_manager(_M_functor, _M_functor, __destroy_functor); + _M_manager = nullptr; + _M_invoker = nullptr; + } + return *this; + } +# 1988 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<typename _Functor> + _Requires<_Callable<typename decay<_Functor>::type>, function&> + operator=(_Functor&& __f) + { + function(std::forward<_Functor>(__f)).swap(*this); + return *this; + } + + + template<typename _Functor> + function& + operator=(reference_wrapper<_Functor> __f) noexcept + { + function(__f).swap(*this); + return *this; + } +# 2014 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + void swap(function& __x) noexcept + { + std::swap(_M_functor, __x._M_functor); + std::swap(_M_manager, __x._M_manager); + std::swap(_M_invoker, __x._M_invoker); + } +# 2042 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + explicit operator bool() const noexcept + { return !_M_empty(); } +# 2055 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + _Res operator()(_ArgTypes... __args) const; +# 2068 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + const type_info& target_type() const noexcept; +# 2079 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<typename _Functor> _Functor* target() noexcept; + + + template<typename _Functor> const _Functor* target() const noexcept; + + + private: + using _Invoker_type = _Res (*)(const _Any_data&, _ArgTypes&&...); + _Invoker_type _M_invoker; + }; + + + template<typename _Res, typename... _ArgTypes> + function<_Res(_ArgTypes...)>:: + function(const function& __x) + : _Function_base() + { + if (static_cast<bool>(__x)) + { + __x._M_manager(_M_functor, __x._M_functor, __clone_functor); + _M_invoker = __x._M_invoker; + _M_manager = __x._M_manager; + } + } + + template<typename _Res, typename... _ArgTypes> + template<typename _Functor, typename, typename> + function<_Res(_ArgTypes...)>:: + function(_Functor __f) + : _Function_base() + { + typedef _Function_handler<_Signature_type, _Functor> _My_handler; + + if (_My_handler::_M_not_empty_function(__f)) + { + _My_handler::_M_init_functor(_M_functor, std::move(__f)); + _M_invoker = &_My_handler::_M_invoke; + _M_manager = &_My_handler::_M_manager; + } + } + + template<typename _Res, typename... _ArgTypes> + _Res + function<_Res(_ArgTypes...)>:: + operator()(_ArgTypes... __args) const + { + if (_M_empty()) + __throw_bad_function_call(); + return _M_invoker(_M_functor, std::forward<_ArgTypes>(__args)...); + } + + + template<typename _Res, typename... _ArgTypes> + const type_info& + function<_Res(_ArgTypes...)>:: + target_type() const noexcept + { + if (_M_manager) + { + _Any_data __typeinfo_result; + _M_manager(__typeinfo_result, _M_functor, __get_type_info); + return *__typeinfo_result._M_access<const type_info*>(); + } + else + return typeid(void); + } + + template<typename _Res, typename... _ArgTypes> + template<typename _Functor> + _Functor* + function<_Res(_ArgTypes...)>:: + target() noexcept + { + if (typeid(_Functor) == target_type() && _M_manager) + { + _Any_data __ptr; + if (_M_manager(__ptr, _M_functor, __get_functor_ptr) + && !is_const<_Functor>::value) + return 0; + else + return __ptr._M_access<_Functor*>(); + } + else + return 0; + } + + template<typename _Res, typename... _ArgTypes> + template<typename _Functor> + const _Functor* + function<_Res(_ArgTypes...)>:: + target() const noexcept + { + if (typeid(_Functor) == target_type() && _M_manager) + { + _Any_data __ptr; + _M_manager(__ptr, _M_functor, __get_functor_ptr); + return __ptr._M_access<const _Functor*>(); + } + else + return 0; + } +# 2191 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<typename _Res, typename... _Args> + inline bool + operator==(const function<_Res(_Args...)>& __f, nullptr_t) noexcept + { return !static_cast<bool>(__f); } + + + template<typename _Res, typename... _Args> + inline bool + operator==(nullptr_t, const function<_Res(_Args...)>& __f) noexcept + { return !static_cast<bool>(__f); } +# 2209 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<typename _Res, typename... _Args> + inline bool + operator!=(const function<_Res(_Args...)>& __f, nullptr_t) noexcept + { return static_cast<bool>(__f); } + + + template<typename _Res, typename... _Args> + inline bool + operator!=(nullptr_t, const function<_Res(_Args...)>& __f) noexcept + { return static_cast<bool>(__f); } +# 2229 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/functional" 3 + template<typename _Res, typename... _Args> + inline void + swap(function<_Res(_Args...)>& __x, function<_Res(_Args...)>& __y) noexcept + { __x.swap(__y); } + + +} +# 80 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 2 3 + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 1 3 +# 39 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 49 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 + template<typename> class auto_ptr; + + + + template<typename _Tp> + struct default_delete + { + + constexpr default_delete() noexcept = default; + + + + + + + template<typename _Up, typename = typename + enable_if<is_convertible<_Up*, _Tp*>::value>::type> + default_delete(const default_delete<_Up>&) noexcept { } + + + void + operator()(_Tp* __ptr) const + { + static_assert(!is_void<_Tp>::value, + "can't delete pointer to incomplete type"); + static_assert(sizeof(_Tp)>0, + "can't delete pointer to incomplete type"); + delete __ptr; + } + }; + + + + + template<typename _Tp> + struct default_delete<_Tp[]> + { + public: + + constexpr default_delete() noexcept = default; +# 99 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 + template<typename _Up, typename = typename + enable_if<is_convertible<_Up(*)[], _Tp(*)[]>::value>::type> + default_delete(const default_delete<_Up[]>&) noexcept { } + + + template<typename _Up> + typename enable_if<is_convertible<_Up(*)[], _Tp(*)[]>::value>::type + operator()(_Up* __ptr) const + { + static_assert(sizeof(_Tp)>0, + "can't delete pointer to incomplete type"); + delete [] __ptr; + } + }; + + + template <typename _Tp, typename _Dp = default_delete<_Tp> > + class unique_ptr + { + + class _Pointer + { + template<typename _Up> + static typename _Up::pointer __test(typename _Up::pointer*); + + template<typename _Up> + static _Tp* __test(...); + + typedef typename remove_reference<_Dp>::type _Del; + + public: + typedef decltype(__test<_Del>(0)) type; + }; + + typedef std::tuple<typename _Pointer::type, _Dp> __tuple_type; + __tuple_type _M_t; + + public: + typedef typename _Pointer::type pointer; + typedef _Tp element_type; + typedef _Dp deleter_type; + + + + + template<typename _Up, typename _Ep> + using __safe_conversion_up = __and_< + is_convertible<typename unique_ptr<_Up, _Ep>::pointer, pointer>, + __not_<is_array<_Up>>, + __or_<__and_<is_reference<deleter_type>, + is_same<deleter_type, _Ep>>, + __and_<__not_<is_reference<deleter_type>>, + is_convertible<_Ep, deleter_type>> + > + >; + + + + + constexpr unique_ptr() noexcept + : _M_t() + { static_assert(!is_pointer<deleter_type>::value, + "constructed with null function pointer deleter"); } + + + + + + + + explicit + unique_ptr(pointer __p) noexcept + : _M_t() + { + std::get<0>(_M_t) = __p; + static_assert(!is_pointer<deleter_type>::value, + "constructed with null function pointer deleter"); + } +# 185 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 + unique_ptr(pointer __p, + typename conditional<is_reference<deleter_type>::value, + deleter_type, const deleter_type&>::type __d) noexcept + : _M_t(__p, __d) { } +# 197 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 + unique_ptr(pointer __p, + typename remove_reference<deleter_type>::type&& __d) noexcept + : _M_t(std::move(__p), std::move(__d)) + { static_assert(!std::is_reference<deleter_type>::value, + "rvalue deleter bound to reference"); } + + + constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { } + + + + + unique_ptr(unique_ptr&& __u) noexcept + : _M_t(__u.release(), std::forward<deleter_type>(__u.get_deleter())) { } + + + + + + + + template<typename _Up, typename _Ep, typename = _Require< + __safe_conversion_up<_Up, _Ep>, + typename conditional<is_reference<_Dp>::value, + is_same<_Ep, _Dp>, + is_convertible<_Ep, _Dp>>::type>> + unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept + : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter())) + { } + + + + template<typename _Up, typename = _Require< + is_convertible<_Up*, _Tp*>, is_same<_Dp, default_delete<_Tp>>>> + unique_ptr(auto_ptr<_Up>&& __u) noexcept; + + + + ~unique_ptr() noexcept + { + auto& __ptr = std::get<0>(_M_t); + if (__ptr != nullptr) + get_deleter()(__ptr); + __ptr = pointer(); + } +# 251 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 + unique_ptr& + operator=(unique_ptr&& __u) noexcept + { + reset(__u.release()); + get_deleter() = std::forward<deleter_type>(__u.get_deleter()); + return *this; + } +# 266 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 + template<typename _Up, typename _Ep> + typename enable_if< __and_< + __safe_conversion_up<_Up, _Ep>, + is_assignable<deleter_type&, _Ep&&> + >::value, + unique_ptr&>::type + operator=(unique_ptr<_Up, _Ep>&& __u) noexcept + { + reset(__u.release()); + get_deleter() = std::forward<_Ep>(__u.get_deleter()); + return *this; + } + + + unique_ptr& + operator=(nullptr_t) noexcept + { + reset(); + return *this; + } + + + + + typename add_lvalue_reference<element_type>::type + operator*() const + { + ; + return *get(); + } + + + pointer + operator->() const noexcept + { + ; + return get(); + } + + + pointer + get() const noexcept + { return std::get<0>(_M_t); } + + + deleter_type& + get_deleter() noexcept + { return std::get<1>(_M_t); } + + + const deleter_type& + get_deleter() const noexcept + { return std::get<1>(_M_t); } + + + explicit operator bool() const noexcept + { return get() == pointer() ? false : true; } + + + + + pointer + release() noexcept + { + pointer __p = get(); + std::get<0>(_M_t) = pointer(); + return __p; + } + + + + + + + + void + reset(pointer __p = pointer()) noexcept + { + using std::swap; + swap(std::get<0>(_M_t), __p); + if (__p != pointer()) + get_deleter()(__p); + } + + + void + swap(unique_ptr& __u) noexcept + { + using std::swap; + swap(_M_t, __u._M_t); + } + + + unique_ptr(const unique_ptr&) = delete; + unique_ptr& operator=(const unique_ptr&) = delete; + }; + + + + + + template<typename _Tp, typename _Dp> + class unique_ptr<_Tp[], _Dp> + { + + class _Pointer + { + template<typename _Up> + static typename _Up::pointer __test(typename _Up::pointer*); + + template<typename _Up> + static _Tp* __test(...); + + typedef typename remove_reference<_Dp>::type _Del; + + public: + typedef decltype(__test<_Del>(0)) type; + }; + + typedef std::tuple<typename _Pointer::type, _Dp> __tuple_type; + __tuple_type _M_t; + + template<typename _Up> + using __remove_cv = typename remove_cv<_Up>::type; + + + template<typename _Up> + using __is_derived_Tp + = __and_< is_base_of<_Tp, _Up>, + __not_<is_same<__remove_cv<_Tp>, __remove_cv<_Up>>> >; + + + public: + typedef typename _Pointer::type pointer; + typedef _Tp element_type; + typedef _Dp deleter_type; + + + + template<typename _Up, typename _Ep, + typename _Up_up = unique_ptr<_Up, _Ep>, + typename _Up_element_type = typename _Up_up::element_type> + using __safe_conversion_up = __and_< + is_array<_Up>, + is_same<pointer, element_type*>, + is_same<typename _Up_up::pointer, _Up_element_type*>, + is_convertible<_Up_element_type(*)[], element_type(*)[]>, + __or_<__and_<is_reference<deleter_type>, is_same<deleter_type, _Ep>>, + __and_<__not_<is_reference<deleter_type>>, + is_convertible<_Ep, deleter_type>>> + >; + + + template<typename _Up> + using __safe_conversion_raw = __and_< + __or_<__or_<is_same<_Up, pointer>, + is_same<_Up, nullptr_t>>, + __and_<is_pointer<_Up>, + is_same<pointer, element_type*>, + is_convertible< + typename remove_pointer<_Up>::type(*)[], + element_type(*)[]> + > + > + >; + + + + + constexpr unique_ptr() noexcept + : _M_t() + { static_assert(!std::is_pointer<deleter_type>::value, + "constructed with null function pointer deleter"); } +# 447 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 + template<typename _Up, + typename = typename enable_if< + __safe_conversion_raw<_Up>::value, bool>::type> + explicit + unique_ptr(_Up __p) noexcept + : _M_t(__p, deleter_type()) + { static_assert(!is_pointer<deleter_type>::value, + "constructed with null function pointer deleter"); } +# 464 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 + template<typename _Up, + typename = typename enable_if< + __safe_conversion_raw<_Up>::value, bool>::type> + unique_ptr(_Up __p, + typename conditional<is_reference<deleter_type>::value, + deleter_type, const deleter_type&>::type __d) noexcept + : _M_t(__p, __d) { } +# 480 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 + template<typename _Up, + typename = typename enable_if< + __safe_conversion_raw<_Up>::value, bool>::type> + unique_ptr(_Up __p, typename + remove_reference<deleter_type>::type&& __d) noexcept + : _M_t(std::move(__p), std::move(__d)) + { static_assert(!is_reference<deleter_type>::value, + "rvalue deleter bound to reference"); } + + + unique_ptr(unique_ptr&& __u) noexcept + : _M_t(__u.release(), std::forward<deleter_type>(__u.get_deleter())) { } + + + constexpr unique_ptr(nullptr_t) noexcept : unique_ptr() { } + + template<typename _Up, typename _Ep, + typename = _Require<__safe_conversion_up<_Up, _Ep>>> + unique_ptr(unique_ptr<_Up, _Ep>&& __u) noexcept + : _M_t(__u.release(), std::forward<_Ep>(__u.get_deleter())) + { } + + + ~unique_ptr() + { + auto& __ptr = std::get<0>(_M_t); + if (__ptr != nullptr) + get_deleter()(__ptr); + __ptr = pointer(); + } +# 519 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 + unique_ptr& + operator=(unique_ptr&& __u) noexcept + { + reset(__u.release()); + get_deleter() = std::forward<deleter_type>(__u.get_deleter()); + return *this; + } +# 534 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 + template<typename _Up, typename _Ep> + typename + enable_if<__and_<__safe_conversion_up<_Up, _Ep>, + is_assignable<deleter_type&, _Ep&&> + >::value, + unique_ptr&>::type + operator=(unique_ptr<_Up, _Ep>&& __u) noexcept + { + reset(__u.release()); + get_deleter() = std::forward<_Ep>(__u.get_deleter()); + return *this; + } + + + unique_ptr& + operator=(nullptr_t) noexcept + { + reset(); + return *this; + } + + + + + typename std::add_lvalue_reference<element_type>::type + operator[](size_t __i) const + { + ; + return get()[__i]; + } + + + pointer + get() const noexcept + { return std::get<0>(_M_t); } + + + deleter_type& + get_deleter() noexcept + { return std::get<1>(_M_t); } + + + const deleter_type& + get_deleter() const noexcept + { return std::get<1>(_M_t); } + + + explicit operator bool() const noexcept + { return get() == pointer() ? false : true; } + + + + + pointer + release() noexcept + { + pointer __p = get(); + std::get<0>(_M_t) = pointer(); + return __p; + } + + + + + + + + template <typename _Up, + typename = _Require< + __or_<is_same<_Up, pointer>, + __and_<is_same<pointer, element_type*>, + is_pointer<_Up>, + is_convertible< + typename remove_pointer<_Up>::type(*)[], + element_type(*)[] + > + > + > + >> + void + reset(_Up __p) noexcept + { + pointer __ptr = __p; + using std::swap; + swap(std::get<0>(_M_t), __ptr); + if (__ptr != nullptr) + get_deleter()(__ptr); + } + + void reset(nullptr_t = nullptr) noexcept + { + reset(pointer()); + } + + + void + swap(unique_ptr& __u) noexcept + { + using std::swap; + swap(_M_t, __u._M_t); + } + + + unique_ptr(const unique_ptr&) = delete; + unique_ptr& operator=(const unique_ptr&) = delete; + }; + + template<typename _Tp, typename _Dp> + inline void + swap(unique_ptr<_Tp, _Dp>& __x, + unique_ptr<_Tp, _Dp>& __y) noexcept + { __x.swap(__y); } + + template<typename _Tp, typename _Dp, + typename _Up, typename _Ep> + inline bool + operator==(const unique_ptr<_Tp, _Dp>& __x, + const unique_ptr<_Up, _Ep>& __y) + { return __x.get() == __y.get(); } + + template<typename _Tp, typename _Dp> + inline bool + operator==(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept + { return !__x; } + + template<typename _Tp, typename _Dp> + inline bool + operator==(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept + { return !__x; } + + template<typename _Tp, typename _Dp, + typename _Up, typename _Ep> + inline bool + operator!=(const unique_ptr<_Tp, _Dp>& __x, + const unique_ptr<_Up, _Ep>& __y) + { return __x.get() != __y.get(); } + + template<typename _Tp, typename _Dp> + inline bool + operator!=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) noexcept + { return (bool)__x; } + + template<typename _Tp, typename _Dp> + inline bool + operator!=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) noexcept + { return (bool)__x; } + + template<typename _Tp, typename _Dp, + typename _Up, typename _Ep> + inline bool + operator<(const unique_ptr<_Tp, _Dp>& __x, + const unique_ptr<_Up, _Ep>& __y) + { + typedef typename + std::common_type<typename unique_ptr<_Tp, _Dp>::pointer, + typename unique_ptr<_Up, _Ep>::pointer>::type _CT; + return std::less<_CT>()(__x.get(), __y.get()); + } + + template<typename _Tp, typename _Dp> + inline bool + operator<(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) + { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(), + nullptr); } + + template<typename _Tp, typename _Dp> + inline bool + operator<(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) + { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr, + __x.get()); } + + template<typename _Tp, typename _Dp, + typename _Up, typename _Ep> + inline bool + operator<=(const unique_ptr<_Tp, _Dp>& __x, + const unique_ptr<_Up, _Ep>& __y) + { return !(__y < __x); } + + template<typename _Tp, typename _Dp> + inline bool + operator<=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) + { return !(nullptr < __x); } + + template<typename _Tp, typename _Dp> + inline bool + operator<=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) + { return !(__x < nullptr); } + + template<typename _Tp, typename _Dp, + typename _Up, typename _Ep> + inline bool + operator>(const unique_ptr<_Tp, _Dp>& __x, + const unique_ptr<_Up, _Ep>& __y) + { return (__y < __x); } + + template<typename _Tp, typename _Dp> + inline bool + operator>(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) + { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(nullptr, + __x.get()); } + + template<typename _Tp, typename _Dp> + inline bool + operator>(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) + { return std::less<typename unique_ptr<_Tp, _Dp>::pointer>()(__x.get(), + nullptr); } + + template<typename _Tp, typename _Dp, + typename _Up, typename _Ep> + inline bool + operator>=(const unique_ptr<_Tp, _Dp>& __x, + const unique_ptr<_Up, _Ep>& __y) + { return !(__x < __y); } + + template<typename _Tp, typename _Dp> + inline bool + operator>=(const unique_ptr<_Tp, _Dp>& __x, nullptr_t) + { return !(__x < nullptr); } + + template<typename _Tp, typename _Dp> + inline bool + operator>=(nullptr_t, const unique_ptr<_Tp, _Dp>& __x) + { return !(nullptr < __x); } + + + template<typename _Tp, typename _Dp> + struct hash<unique_ptr<_Tp, _Dp>> + : public __hash_base<size_t, unique_ptr<_Tp, _Dp>> + { + size_t + operator()(const unique_ptr<_Tp, _Dp>& __u) const noexcept + { + typedef unique_ptr<_Tp, _Dp> _UP; + return std::hash<typename _UP::pointer>()(__u.get()); + } + }; +# 808 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/unique_ptr.h" 3 +} +# 82 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 1 3 +# 52 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_base.h" 1 3 +# 53 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_base.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/allocated_ptr.h" 1 3 +# 40 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/allocated_ptr.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + template<typename _Alloc> + struct __allocated_ptr + { + using pointer = typename allocator_traits<_Alloc>::pointer; + using value_type = typename allocator_traits<_Alloc>::value_type; + + + __allocated_ptr(_Alloc& __a, pointer __ptr) noexcept + : _M_alloc(std::__addressof(__a)), _M_ptr(__ptr) + { } + + + template<typename _Ptr, + typename _Req = _Require<is_same<_Ptr, value_type*>>> + __allocated_ptr(_Alloc& __a, _Ptr __ptr) + : _M_alloc(std::__addressof(__a)), + _M_ptr(pointer_traits<pointer>::pointer_to(*__ptr)) + { } + + + __allocated_ptr(__allocated_ptr&& __gd) noexcept + : _M_alloc(__gd._M_alloc), _M_ptr(__gd._M_ptr) + { __gd._M_ptr = nullptr; } + + + ~__allocated_ptr() + { + if (_M_ptr != nullptr) + std::allocator_traits<_Alloc>::deallocate(*_M_alloc, _M_ptr, 1); + } + + + __allocated_ptr& + operator=(std::nullptr_t) noexcept + { + _M_ptr = nullptr; + return *this; + } + + + value_type* get() { return _S_raw_ptr(_M_ptr); } + + private: + value_type* _S_raw_ptr(value_type* __ptr) { return __ptr; } + + template<typename _Ptr> + auto _S_raw_ptr(_Ptr __ptr) -> decltype(_S_raw_ptr(__ptr.operator->())) + { return _S_raw_ptr(__ptr.operator->()); } + + _Alloc* _M_alloc; + pointer _M_ptr; + }; + + + template<typename _Alloc> + __allocated_ptr<_Alloc> + __allocate_guarded(_Alloc& __a) + { + return { __a, std::allocator_traits<_Alloc>::allocate(__a, 1) }; + } + + +} +# 54 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_base.h" 2 3 + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + template<typename> class auto_ptr; + + + + + + + class bad_weak_ptr : public std::exception + { + public: + virtual char const* what() const noexcept; + + virtual ~bad_weak_ptr() noexcept; + }; + + + inline void + __throw_bad_weak_ptr() + { (throw (bad_weak_ptr())); } + + using __gnu_cxx::_Lock_policy; + using __gnu_cxx::__default_lock_policy; + using __gnu_cxx::_S_single; + using __gnu_cxx::_S_mutex; + using __gnu_cxx::_S_atomic; + + + template<_Lock_policy _Lp> + class _Mutex_base + { + protected: + + enum { _S_need_barriers = 0 }; + }; + + template<> + class _Mutex_base<_S_mutex> + : public __gnu_cxx::__mutex + { + protected: + + + + enum { _S_need_barriers = 1 }; + }; + + template<_Lock_policy _Lp = __default_lock_policy> + class _Sp_counted_base + : public _Mutex_base<_Lp> + { + public: + _Sp_counted_base() noexcept + : _M_use_count(1), _M_weak_count(1) { } + + virtual + ~_Sp_counted_base() noexcept + { } + + + + virtual void + _M_dispose() noexcept = 0; + + + virtual void + _M_destroy() noexcept + { delete this; } + + virtual void* + _M_get_deleter(const std::type_info&) noexcept = 0; + + void + _M_add_ref_copy() + { __gnu_cxx::__atomic_add_dispatch(&_M_use_count, 1); } + + void + _M_add_ref_lock(); + + bool + _M_add_ref_lock_nothrow(); + + void + _M_release() noexcept + { + + ; + if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, -1) == 1) + { + ; + _M_dispose(); + + + + + if (_Mutex_base<_Lp>::_S_need_barriers) + { + __atomic_thread_fence (4); + } + + + ; + if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, + -1) == 1) + { + ; + _M_destroy(); + } + } + } + + void + _M_weak_add_ref() noexcept + { __gnu_cxx::__atomic_add_dispatch(&_M_weak_count, 1); } + + void + _M_weak_release() noexcept + { + + ; + if (__gnu_cxx::__exchange_and_add_dispatch(&_M_weak_count, -1) == 1) + { + ; + if (_Mutex_base<_Lp>::_S_need_barriers) + { + + + __atomic_thread_fence (4); + } + _M_destroy(); + } + } + + long + _M_get_use_count() const noexcept + { + + + return __atomic_load_n(&_M_use_count, 0); + } + + private: + _Sp_counted_base(_Sp_counted_base const&) = delete; + _Sp_counted_base& operator=(_Sp_counted_base const&) = delete; + + _Atomic_word _M_use_count; + _Atomic_word _M_weak_count; + }; + + template<> + inline void + _Sp_counted_base<_S_single>:: + _M_add_ref_lock() + { + if (_M_use_count == 0) + __throw_bad_weak_ptr(); + ++_M_use_count; + } + + template<> + inline void + _Sp_counted_base<_S_mutex>:: + _M_add_ref_lock() + { + __gnu_cxx::__scoped_lock sentry(*this); + if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0) + { + _M_use_count = 0; + __throw_bad_weak_ptr(); + } + } + + template<> + inline void + _Sp_counted_base<_S_atomic>:: + _M_add_ref_lock() + { + + _Atomic_word __count = _M_get_use_count(); + do + { + if (__count == 0) + __throw_bad_weak_ptr(); + + + } + while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1, + true, 4, + 0)); + } + + template<> + inline bool + _Sp_counted_base<_S_single>:: + _M_add_ref_lock_nothrow() + { + if (_M_use_count == 0) + return false; + ++_M_use_count; + return true; + } + + template<> + inline bool + _Sp_counted_base<_S_mutex>:: + _M_add_ref_lock_nothrow() + { + __gnu_cxx::__scoped_lock sentry(*this); + if (__gnu_cxx::__exchange_and_add_dispatch(&_M_use_count, 1) == 0) + { + _M_use_count = 0; + return false; + } + return true; + } + + template<> + inline bool + _Sp_counted_base<_S_atomic>:: + _M_add_ref_lock_nothrow() + { + + _Atomic_word __count = _M_get_use_count(); + do + { + if (__count == 0) + return false; + + + } + while (!__atomic_compare_exchange_n(&_M_use_count, &__count, __count + 1, + true, 4, + 0)); + return true; + } + + template<> + inline void + _Sp_counted_base<_S_single>::_M_add_ref_copy() + { ++_M_use_count; } + + template<> + inline void + _Sp_counted_base<_S_single>::_M_release() noexcept + { + if (--_M_use_count == 0) + { + _M_dispose(); + if (--_M_weak_count == 0) + _M_destroy(); + } + } + + template<> + inline void + _Sp_counted_base<_S_single>::_M_weak_add_ref() noexcept + { ++_M_weak_count; } + + template<> + inline void + _Sp_counted_base<_S_single>::_M_weak_release() noexcept + { + if (--_M_weak_count == 0) + _M_destroy(); + } + + template<> + inline long + _Sp_counted_base<_S_single>::_M_get_use_count() const noexcept + { return _M_use_count; } + + + + template<typename _Tp, _Lock_policy _Lp = __default_lock_policy> + class __shared_ptr; + + template<typename _Tp, _Lock_policy _Lp = __default_lock_policy> + class __weak_ptr; + + template<typename _Tp, _Lock_policy _Lp = __default_lock_policy> + class __enable_shared_from_this; + + template<typename _Tp> + class shared_ptr; + + template<typename _Tp> + class weak_ptr; + + template<typename _Tp> + struct owner_less; + + template<typename _Tp> + class enable_shared_from_this; + + template<_Lock_policy _Lp = __default_lock_policy> + class __weak_count; + + template<_Lock_policy _Lp = __default_lock_policy> + class __shared_count; + + + + template<typename _Ptr, _Lock_policy _Lp> + class _Sp_counted_ptr final : public _Sp_counted_base<_Lp> + { + public: + explicit + _Sp_counted_ptr(_Ptr __p) noexcept + : _M_ptr(__p) { } + + virtual void + _M_dispose() noexcept + { delete _M_ptr; } + + virtual void + _M_destroy() noexcept + { delete this; } + + virtual void* + _M_get_deleter(const std::type_info&) noexcept + { return nullptr; } + + _Sp_counted_ptr(const _Sp_counted_ptr&) = delete; + _Sp_counted_ptr& operator=(const _Sp_counted_ptr&) = delete; + + private: + _Ptr _M_ptr; + }; + + template<> + inline void + _Sp_counted_ptr<nullptr_t, _S_single>::_M_dispose() noexcept { } + + template<> + inline void + _Sp_counted_ptr<nullptr_t, _S_mutex>::_M_dispose() noexcept { } + + template<> + inline void + _Sp_counted_ptr<nullptr_t, _S_atomic>::_M_dispose() noexcept { } + + template<int _Nm, typename _Tp, + bool __use_ebo = !__is_final(_Tp) && __is_empty(_Tp)> + struct _Sp_ebo_helper; + + + template<int _Nm, typename _Tp> + struct _Sp_ebo_helper<_Nm, _Tp, true> : private _Tp + { + explicit _Sp_ebo_helper(const _Tp& __tp) : _Tp(__tp) { } + + static _Tp& + _S_get(_Sp_ebo_helper& __eboh) { return static_cast<_Tp&>(__eboh); } + }; + + + template<int _Nm, typename _Tp> + struct _Sp_ebo_helper<_Nm, _Tp, false> + { + explicit _Sp_ebo_helper(const _Tp& __tp) : _M_tp(__tp) { } + + static _Tp& + _S_get(_Sp_ebo_helper& __eboh) + { return __eboh._M_tp; } + + private: + _Tp _M_tp; + }; + + + template<typename _Ptr, typename _Deleter, typename _Alloc, _Lock_policy _Lp> + class _Sp_counted_deleter final : public _Sp_counted_base<_Lp> + { + class _Impl : _Sp_ebo_helper<0, _Deleter>, _Sp_ebo_helper<1, _Alloc> + { + typedef _Sp_ebo_helper<0, _Deleter> _Del_base; + typedef _Sp_ebo_helper<1, _Alloc> _Alloc_base; + + public: + _Impl(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept + : _M_ptr(__p), _Del_base(__d), _Alloc_base(__a) + { } + + _Deleter& _M_del() noexcept { return _Del_base::_S_get(*this); } + _Alloc& _M_alloc() noexcept { return _Alloc_base::_S_get(*this); } + + _Ptr _M_ptr; + }; + + public: + using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_deleter>; + + + _Sp_counted_deleter(_Ptr __p, _Deleter __d) noexcept + : _M_impl(__p, __d, _Alloc()) { } + + + _Sp_counted_deleter(_Ptr __p, _Deleter __d, const _Alloc& __a) noexcept + : _M_impl(__p, __d, __a) { } + + ~_Sp_counted_deleter() noexcept { } + + virtual void + _M_dispose() noexcept + { _M_impl._M_del()(_M_impl._M_ptr); } + + virtual void + _M_destroy() noexcept + { + __allocator_type __a(_M_impl._M_alloc()); + __allocated_ptr<__allocator_type> __guard_ptr{ __a, this }; + this->~_Sp_counted_deleter(); + } + + virtual void* + _M_get_deleter(const std::type_info& __ti) noexcept + { + + + + return __ti == typeid(_Deleter) + ? std::__addressof(_M_impl._M_del()) + : nullptr; + + + + } + + private: + _Impl _M_impl; + }; + + + + struct _Sp_make_shared_tag { }; + + template<typename _Tp, typename _Alloc, _Lock_policy _Lp> + class _Sp_counted_ptr_inplace final : public _Sp_counted_base<_Lp> + { + class _Impl : _Sp_ebo_helper<0, _Alloc> + { + typedef _Sp_ebo_helper<0, _Alloc> _A_base; + + public: + explicit _Impl(_Alloc __a) noexcept : _A_base(__a) { } + + _Alloc& _M_alloc() noexcept { return _A_base::_S_get(*this); } + + __gnu_cxx::__aligned_buffer<_Tp> _M_storage; + }; + + public: + using __allocator_type = __alloc_rebind<_Alloc, _Sp_counted_ptr_inplace>; + + template<typename... _Args> + _Sp_counted_ptr_inplace(_Alloc __a, _Args&&... __args) + : _M_impl(__a) + { + + + allocator_traits<_Alloc>::construct(__a, _M_ptr(), + std::forward<_Args>(__args)...); + } + + ~_Sp_counted_ptr_inplace() noexcept { } + + virtual void + _M_dispose() noexcept + { + allocator_traits<_Alloc>::destroy(_M_impl._M_alloc(), _M_ptr()); + } + + + virtual void + _M_destroy() noexcept + { + __allocator_type __a(_M_impl._M_alloc()); + __allocated_ptr<__allocator_type> __guard_ptr{ __a, this }; + this->~_Sp_counted_ptr_inplace(); + } + + + virtual void* + _M_get_deleter(const std::type_info& __ti) noexcept + { + + if (__ti == typeid(_Sp_make_shared_tag)) + return const_cast<typename remove_cv<_Tp>::type*>(_M_ptr()); + + return nullptr; + } + + private: + _Tp* _M_ptr() noexcept { return _M_impl._M_storage._M_ptr(); } + + _Impl _M_impl; + }; + + + template<_Lock_policy _Lp> + class __shared_count + { + public: + constexpr __shared_count() noexcept : _M_pi(0) + { } + + template<typename _Ptr> + explicit + __shared_count(_Ptr __p) : _M_pi(0) + { + try + { + _M_pi = new _Sp_counted_ptr<_Ptr, _Lp>(__p); + } + catch(...) + { + delete __p; + throw; + } + } + + template<typename _Ptr, typename _Deleter> + __shared_count(_Ptr __p, _Deleter __d) + : __shared_count(__p, std::move(__d), allocator<void>()) + { } + + template<typename _Ptr, typename _Deleter, typename _Alloc> + __shared_count(_Ptr __p, _Deleter __d, _Alloc __a) : _M_pi(0) + { + typedef _Sp_counted_deleter<_Ptr, _Deleter, _Alloc, _Lp> _Sp_cd_type; + try + { + typename _Sp_cd_type::__allocator_type __a2(__a); + auto __guard = std::__allocate_guarded(__a2); + _Sp_cd_type* __mem = __guard.get(); + ::new (__mem) _Sp_cd_type(__p, std::move(__d), std::move(__a)); + _M_pi = __mem; + __guard = nullptr; + } + catch(...) + { + __d(__p); + throw; + } + } + + template<typename _Tp, typename _Alloc, typename... _Args> + __shared_count(_Sp_make_shared_tag, _Tp*, const _Alloc& __a, + _Args&&... __args) + : _M_pi(0) + { + typedef _Sp_counted_ptr_inplace<_Tp, _Alloc, _Lp> _Sp_cp_type; + typename _Sp_cp_type::__allocator_type __a2(__a); + auto __guard = std::__allocate_guarded(__a2); + _Sp_cp_type* __mem = __guard.get(); + ::new (__mem) _Sp_cp_type(std::move(__a), + std::forward<_Args>(__args)...); + _M_pi = __mem; + __guard = nullptr; + } + + + + template<typename _Tp> + explicit + __shared_count(std::auto_ptr<_Tp>&& __r); + + + + template<typename _Tp, typename _Del> + explicit + __shared_count(std::unique_ptr<_Tp, _Del>&& __r) : _M_pi(0) + { + + + if (__r.get() == nullptr) + return; + + using _Ptr = typename unique_ptr<_Tp, _Del>::pointer; + using _Del2 = typename conditional<is_reference<_Del>::value, + reference_wrapper<typename remove_reference<_Del>::type>, + _Del>::type; + using _Sp_cd_type + = _Sp_counted_deleter<_Ptr, _Del2, allocator<void>, _Lp>; + using _Alloc = allocator<_Sp_cd_type>; + using _Alloc_traits = allocator_traits<_Alloc>; + _Alloc __a; + _Sp_cd_type* __mem = _Alloc_traits::allocate(__a, 1); + _Alloc_traits::construct(__a, __mem, __r.release(), + __r.get_deleter()); + _M_pi = __mem; + } + + + explicit __shared_count(const __weak_count<_Lp>& __r); + + + explicit __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t); + + ~__shared_count() noexcept + { + if (_M_pi != nullptr) + _M_pi->_M_release(); + } + + __shared_count(const __shared_count& __r) noexcept + : _M_pi(__r._M_pi) + { + if (_M_pi != 0) + _M_pi->_M_add_ref_copy(); + } + + __shared_count& + operator=(const __shared_count& __r) noexcept + { + _Sp_counted_base<_Lp>* __tmp = __r._M_pi; + if (__tmp != _M_pi) + { + if (__tmp != 0) + __tmp->_M_add_ref_copy(); + if (_M_pi != 0) + _M_pi->_M_release(); + _M_pi = __tmp; + } + return *this; + } + + void + _M_swap(__shared_count& __r) noexcept + { + _Sp_counted_base<_Lp>* __tmp = __r._M_pi; + __r._M_pi = _M_pi; + _M_pi = __tmp; + } + + long + _M_get_use_count() const noexcept + { return _M_pi != 0 ? _M_pi->_M_get_use_count() : 0; } + + bool + _M_unique() const noexcept + { return this->_M_get_use_count() == 1; } + + void* + _M_get_deleter(const std::type_info& __ti) const noexcept + { return _M_pi ? _M_pi->_M_get_deleter(__ti) : nullptr; } + + bool + _M_less(const __shared_count& __rhs) const noexcept + { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } + + bool + _M_less(const __weak_count<_Lp>& __rhs) const noexcept + { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } + + + friend inline bool + operator==(const __shared_count& __a, const __shared_count& __b) noexcept + { return __a._M_pi == __b._M_pi; } + + private: + friend class __weak_count<_Lp>; + + _Sp_counted_base<_Lp>* _M_pi; + }; + + + template<_Lock_policy _Lp> + class __weak_count + { + public: + constexpr __weak_count() noexcept : _M_pi(nullptr) + { } + + __weak_count(const __shared_count<_Lp>& __r) noexcept + : _M_pi(__r._M_pi) + { + if (_M_pi != nullptr) + _M_pi->_M_weak_add_ref(); + } + + __weak_count(const __weak_count& __r) noexcept + : _M_pi(__r._M_pi) + { + if (_M_pi != nullptr) + _M_pi->_M_weak_add_ref(); + } + + __weak_count(__weak_count&& __r) noexcept + : _M_pi(__r._M_pi) + { __r._M_pi = nullptr; } + + ~__weak_count() noexcept + { + if (_M_pi != nullptr) + _M_pi->_M_weak_release(); + } + + __weak_count& + operator=(const __shared_count<_Lp>& __r) noexcept + { + _Sp_counted_base<_Lp>* __tmp = __r._M_pi; + if (__tmp != nullptr) + __tmp->_M_weak_add_ref(); + if (_M_pi != nullptr) + _M_pi->_M_weak_release(); + _M_pi = __tmp; + return *this; + } + + __weak_count& + operator=(const __weak_count& __r) noexcept + { + _Sp_counted_base<_Lp>* __tmp = __r._M_pi; + if (__tmp != nullptr) + __tmp->_M_weak_add_ref(); + if (_M_pi != nullptr) + _M_pi->_M_weak_release(); + _M_pi = __tmp; + return *this; + } + + __weak_count& + operator=(__weak_count&& __r) noexcept + { + if (_M_pi != nullptr) + _M_pi->_M_weak_release(); + _M_pi = __r._M_pi; + __r._M_pi = nullptr; + return *this; + } + + void + _M_swap(__weak_count& __r) noexcept + { + _Sp_counted_base<_Lp>* __tmp = __r._M_pi; + __r._M_pi = _M_pi; + _M_pi = __tmp; + } + + long + _M_get_use_count() const noexcept + { return _M_pi != nullptr ? _M_pi->_M_get_use_count() : 0; } + + bool + _M_less(const __weak_count& __rhs) const noexcept + { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } + + bool + _M_less(const __shared_count<_Lp>& __rhs) const noexcept + { return std::less<_Sp_counted_base<_Lp>*>()(this->_M_pi, __rhs._M_pi); } + + + friend inline bool + operator==(const __weak_count& __a, const __weak_count& __b) noexcept + { return __a._M_pi == __b._M_pi; } + + private: + friend class __shared_count<_Lp>; + + _Sp_counted_base<_Lp>* _M_pi; + }; + + + template<_Lock_policy _Lp> + inline + __shared_count<_Lp>::__shared_count(const __weak_count<_Lp>& __r) + : _M_pi(__r._M_pi) + { + if (_M_pi != nullptr) + _M_pi->_M_add_ref_lock(); + else + __throw_bad_weak_ptr(); + } + + + template<_Lock_policy _Lp> + inline + __shared_count<_Lp>:: + __shared_count(const __weak_count<_Lp>& __r, std::nothrow_t) + : _M_pi(__r._M_pi) + { + if (_M_pi != nullptr) + if (!_M_pi->_M_add_ref_lock_nothrow()) + _M_pi = nullptr; + } + + + + + template<_Lock_policy _Lp, typename _Tp1, typename _Tp2> + void + __enable_shared_from_this_helper(const __shared_count<_Lp>&, + const __enable_shared_from_this<_Tp1, + _Lp>*, const _Tp2*) noexcept; + + + template<typename _Tp1, typename _Tp2> + void + __enable_shared_from_this_helper(const __shared_count<>&, + const enable_shared_from_this<_Tp1>*, + const _Tp2*) noexcept; + + template<_Lock_policy _Lp> + inline void + __enable_shared_from_this_helper(const __shared_count<_Lp>&, ...) noexcept + { } + + + template<typename _Tp, _Lock_policy _Lp> + class __shared_ptr + { + template<typename _Ptr> + using _Convertible + = typename enable_if<is_convertible<_Ptr, _Tp*>::value>::type; + + public: + typedef _Tp element_type; + + constexpr __shared_ptr() noexcept + : _M_ptr(0), _M_refcount() + { } + + template<typename _Tp1> + explicit __shared_ptr(_Tp1* __p) + : _M_ptr(__p), _M_refcount(__p) + { + + static_assert( !is_void<_Tp1>::value, "incomplete type" ); + static_assert( sizeof(_Tp1) > 0, "incomplete type" ); + __enable_shared_from_this_helper(_M_refcount, __p, __p); + } + + template<typename _Tp1, typename _Deleter> + __shared_ptr(_Tp1* __p, _Deleter __d) + : _M_ptr(__p), _M_refcount(__p, __d) + { + + + __enable_shared_from_this_helper(_M_refcount, __p, __p); + } + + template<typename _Tp1, typename _Deleter, typename _Alloc> + __shared_ptr(_Tp1* __p, _Deleter __d, _Alloc __a) + : _M_ptr(__p), _M_refcount(__p, __d, std::move(__a)) + { + + + __enable_shared_from_this_helper(_M_refcount, __p, __p); + } + + template<typename _Deleter> + __shared_ptr(nullptr_t __p, _Deleter __d) + : _M_ptr(0), _M_refcount(__p, __d) + { } + + template<typename _Deleter, typename _Alloc> + __shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a) + : _M_ptr(0), _M_refcount(__p, __d, std::move(__a)) + { } + + template<typename _Tp1> + __shared_ptr(const __shared_ptr<_Tp1, _Lp>& __r, _Tp* __p) noexcept + : _M_ptr(__p), _M_refcount(__r._M_refcount) + { } + + __shared_ptr(const __shared_ptr&) noexcept = default; + __shared_ptr& operator=(const __shared_ptr&) noexcept = default; + ~__shared_ptr() = default; + + template<typename _Tp1, typename = _Convertible<_Tp1*>> + __shared_ptr(const __shared_ptr<_Tp1, _Lp>& __r) noexcept + : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount) + { } + + __shared_ptr(__shared_ptr&& __r) noexcept + : _M_ptr(__r._M_ptr), _M_refcount() + { + _M_refcount._M_swap(__r._M_refcount); + __r._M_ptr = 0; + } + + template<typename _Tp1, typename = _Convertible<_Tp1*>> + __shared_ptr(__shared_ptr<_Tp1, _Lp>&& __r) noexcept + : _M_ptr(__r._M_ptr), _M_refcount() + { + _M_refcount._M_swap(__r._M_refcount); + __r._M_ptr = 0; + } + + template<typename _Tp1> + explicit __shared_ptr(const __weak_ptr<_Tp1, _Lp>& __r) + : _M_refcount(__r._M_refcount) + { + + + + + _M_ptr = __r._M_ptr; + } + + + template<typename _Tp1, typename _Del, typename + = _Convertible<typename unique_ptr<_Tp1, _Del>::pointer>> + __shared_ptr(std::unique_ptr<_Tp1, _Del>&& __r) + : _M_ptr(__r.get()), _M_refcount() + { + + auto __raw = _S_raw_ptr(__r.get()); + _M_refcount = __shared_count<_Lp>(std::move(__r)); + __enable_shared_from_this_helper(_M_refcount, __raw, __raw); + } + + + + template<typename _Tp1> + __shared_ptr(std::auto_ptr<_Tp1>&& __r); + + + constexpr __shared_ptr(nullptr_t) noexcept : __shared_ptr() { } + + template<typename _Tp1> + __shared_ptr& + operator=(const __shared_ptr<_Tp1, _Lp>& __r) noexcept + { + _M_ptr = __r._M_ptr; + _M_refcount = __r._M_refcount; + return *this; + } + + + template<typename _Tp1> + __shared_ptr& + operator=(std::auto_ptr<_Tp1>&& __r) + { + __shared_ptr(std::move(__r)).swap(*this); + return *this; + } + + + __shared_ptr& + operator=(__shared_ptr&& __r) noexcept + { + __shared_ptr(std::move(__r)).swap(*this); + return *this; + } + + template<class _Tp1> + __shared_ptr& + operator=(__shared_ptr<_Tp1, _Lp>&& __r) noexcept + { + __shared_ptr(std::move(__r)).swap(*this); + return *this; + } + + template<typename _Tp1, typename _Del> + __shared_ptr& + operator=(std::unique_ptr<_Tp1, _Del>&& __r) + { + __shared_ptr(std::move(__r)).swap(*this); + return *this; + } + + void + reset() noexcept + { __shared_ptr().swap(*this); } + + template<typename _Tp1> + void + reset(_Tp1* __p) + { + + ; + __shared_ptr(__p).swap(*this); + } + + template<typename _Tp1, typename _Deleter> + void + reset(_Tp1* __p, _Deleter __d) + { __shared_ptr(__p, __d).swap(*this); } + + template<typename _Tp1, typename _Deleter, typename _Alloc> + void + reset(_Tp1* __p, _Deleter __d, _Alloc __a) + { __shared_ptr(__p, __d, std::move(__a)).swap(*this); } + + + typename std::add_lvalue_reference<_Tp>::type + operator*() const noexcept + { + ; + return *_M_ptr; + } + + _Tp* + operator->() const noexcept + { + ; + return _M_ptr; + } + + _Tp* + get() const noexcept + { return _M_ptr; } + + explicit operator bool() const + { return _M_ptr == 0 ? false : true; } + + bool + unique() const noexcept + { return _M_refcount._M_unique(); } + + long + use_count() const noexcept + { return _M_refcount._M_get_use_count(); } + + void + swap(__shared_ptr<_Tp, _Lp>& __other) noexcept + { + std::swap(_M_ptr, __other._M_ptr); + _M_refcount._M_swap(__other._M_refcount); + } + + template<typename _Tp1> + bool + owner_before(__shared_ptr<_Tp1, _Lp> const& __rhs) const + { return _M_refcount._M_less(__rhs._M_refcount); } + + template<typename _Tp1> + bool + owner_before(__weak_ptr<_Tp1, _Lp> const& __rhs) const + { return _M_refcount._M_less(__rhs._M_refcount); } + + + protected: + + template<typename _Alloc, typename... _Args> + __shared_ptr(_Sp_make_shared_tag __tag, const _Alloc& __a, + _Args&&... __args) + : _M_ptr(), _M_refcount(__tag, (_Tp*)0, __a, + std::forward<_Args>(__args)...) + { + + + void* __p = _M_refcount._M_get_deleter(typeid(__tag)); + _M_ptr = static_cast<_Tp*>(__p); + __enable_shared_from_this_helper(_M_refcount, _M_ptr, _M_ptr); + } +# 1142 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_base.h" 3 + template<typename _Tp1, _Lock_policy _Lp1, typename _Alloc, + typename... _Args> + friend __shared_ptr<_Tp1, _Lp1> + __allocate_shared(const _Alloc& __a, _Args&&... __args); + + + + __shared_ptr(const __weak_ptr<_Tp, _Lp>& __r, std::nothrow_t) + : _M_refcount(__r._M_refcount, std::nothrow) + { + _M_ptr = _M_refcount._M_get_use_count() ? __r._M_ptr : nullptr; + } + + friend class __weak_ptr<_Tp, _Lp>; + + private: + void* + _M_get_deleter(const std::type_info& __ti) const noexcept + { return _M_refcount._M_get_deleter(__ti); } + + template<typename _Tp1> + static _Tp1* + _S_raw_ptr(_Tp1* __ptr) + { return __ptr; } + + template<typename _Tp1> + static auto + _S_raw_ptr(_Tp1 __ptr) -> decltype(std::__addressof(*__ptr)) + { return std::__addressof(*__ptr); } + + template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr; + template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr; + + template<typename _Del, typename _Tp1, _Lock_policy _Lp1> + friend _Del* get_deleter(const __shared_ptr<_Tp1, _Lp1>&) noexcept; + + _Tp* _M_ptr; + __shared_count<_Lp> _M_refcount; + }; + + + + template<typename _Tp1, typename _Tp2, _Lock_policy _Lp> + inline bool + operator==(const __shared_ptr<_Tp1, _Lp>& __a, + const __shared_ptr<_Tp2, _Lp>& __b) noexcept + { return __a.get() == __b.get(); } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator==(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept + { return !__a; } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator==(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept + { return !__a; } + + template<typename _Tp1, typename _Tp2, _Lock_policy _Lp> + inline bool + operator!=(const __shared_ptr<_Tp1, _Lp>& __a, + const __shared_ptr<_Tp2, _Lp>& __b) noexcept + { return __a.get() != __b.get(); } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator!=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept + { return (bool)__a; } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator!=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept + { return (bool)__a; } + + template<typename _Tp1, typename _Tp2, _Lock_policy _Lp> + inline bool + operator<(const __shared_ptr<_Tp1, _Lp>& __a, + const __shared_ptr<_Tp2, _Lp>& __b) noexcept + { + typedef typename std::common_type<_Tp1*, _Tp2*>::type _CT; + return std::less<_CT>()(__a.get(), __b.get()); + } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator<(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept + { return std::less<_Tp*>()(__a.get(), nullptr); } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator<(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept + { return std::less<_Tp*>()(nullptr, __a.get()); } + + template<typename _Tp1, typename _Tp2, _Lock_policy _Lp> + inline bool + operator<=(const __shared_ptr<_Tp1, _Lp>& __a, + const __shared_ptr<_Tp2, _Lp>& __b) noexcept + { return !(__b < __a); } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator<=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept + { return !(nullptr < __a); } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator<=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept + { return !(__a < nullptr); } + + template<typename _Tp1, typename _Tp2, _Lock_policy _Lp> + inline bool + operator>(const __shared_ptr<_Tp1, _Lp>& __a, + const __shared_ptr<_Tp2, _Lp>& __b) noexcept + { return (__b < __a); } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator>(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept + { return std::less<_Tp*>()(nullptr, __a.get()); } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator>(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept + { return std::less<_Tp*>()(__a.get(), nullptr); } + + template<typename _Tp1, typename _Tp2, _Lock_policy _Lp> + inline bool + operator>=(const __shared_ptr<_Tp1, _Lp>& __a, + const __shared_ptr<_Tp2, _Lp>& __b) noexcept + { return !(__a < __b); } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator>=(const __shared_ptr<_Tp, _Lp>& __a, nullptr_t) noexcept + { return !(__a < nullptr); } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + operator>=(nullptr_t, const __shared_ptr<_Tp, _Lp>& __a) noexcept + { return !(nullptr < __a); } + + template<typename _Sp> + struct _Sp_less : public binary_function<_Sp, _Sp, bool> + { + bool + operator()(const _Sp& __lhs, const _Sp& __rhs) const noexcept + { + typedef typename _Sp::element_type element_type; + return std::less<element_type*>()(__lhs.get(), __rhs.get()); + } + }; + + template<typename _Tp, _Lock_policy _Lp> + struct less<__shared_ptr<_Tp, _Lp>> + : public _Sp_less<__shared_ptr<_Tp, _Lp>> + { }; + + + template<typename _Tp, _Lock_policy _Lp> + inline void + swap(__shared_ptr<_Tp, _Lp>& __a, __shared_ptr<_Tp, _Lp>& __b) noexcept + { __a.swap(__b); } +# 1312 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_base.h" 3 + template<typename _Tp, typename _Tp1, _Lock_policy _Lp> + inline __shared_ptr<_Tp, _Lp> + static_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept + { return __shared_ptr<_Tp, _Lp>(__r, static_cast<_Tp*>(__r.get())); } + + + + + + + template<typename _Tp, typename _Tp1, _Lock_policy _Lp> + inline __shared_ptr<_Tp, _Lp> + const_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept + { return __shared_ptr<_Tp, _Lp>(__r, const_cast<_Tp*>(__r.get())); } + + + + + + + template<typename _Tp, typename _Tp1, _Lock_policy _Lp> + inline __shared_ptr<_Tp, _Lp> + dynamic_pointer_cast(const __shared_ptr<_Tp1, _Lp>& __r) noexcept + { + if (_Tp* __p = dynamic_cast<_Tp*>(__r.get())) + return __shared_ptr<_Tp, _Lp>(__r, __p); + return __shared_ptr<_Tp, _Lp>(); + } + + + template<typename _Tp, _Lock_policy _Lp> + class __weak_ptr + { + template<typename _Ptr> + using _Convertible + = typename enable_if<is_convertible<_Ptr, _Tp*>::value>::type; + + public: + typedef _Tp element_type; + + constexpr __weak_ptr() noexcept + : _M_ptr(nullptr), _M_refcount() + { } + + __weak_ptr(const __weak_ptr&) noexcept = default; + + ~__weak_ptr() = default; +# 1374 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_base.h" 3 + template<typename _Tp1, typename = _Convertible<_Tp1*>> + __weak_ptr(const __weak_ptr<_Tp1, _Lp>& __r) noexcept + : _M_refcount(__r._M_refcount) + { _M_ptr = __r.lock().get(); } + + template<typename _Tp1, typename = _Convertible<_Tp1*>> + __weak_ptr(const __shared_ptr<_Tp1, _Lp>& __r) noexcept + : _M_ptr(__r._M_ptr), _M_refcount(__r._M_refcount) + { } + + __weak_ptr(__weak_ptr&& __r) noexcept + : _M_ptr(__r._M_ptr), _M_refcount(std::move(__r._M_refcount)) + { __r._M_ptr = nullptr; } + + template<typename _Tp1, typename = _Convertible<_Tp1*>> + __weak_ptr(__weak_ptr<_Tp1, _Lp>&& __r) noexcept + : _M_ptr(__r.lock().get()), _M_refcount(std::move(__r._M_refcount)) + { __r._M_ptr = nullptr; } + + __weak_ptr& + operator=(const __weak_ptr& __r) noexcept = default; + + template<typename _Tp1> + __weak_ptr& + operator=(const __weak_ptr<_Tp1, _Lp>& __r) noexcept + { + _M_ptr = __r.lock().get(); + _M_refcount = __r._M_refcount; + return *this; + } + + template<typename _Tp1> + __weak_ptr& + operator=(const __shared_ptr<_Tp1, _Lp>& __r) noexcept + { + _M_ptr = __r._M_ptr; + _M_refcount = __r._M_refcount; + return *this; + } + + __weak_ptr& + operator=(__weak_ptr&& __r) noexcept + { + _M_ptr = __r._M_ptr; + _M_refcount = std::move(__r._M_refcount); + __r._M_ptr = nullptr; + return *this; + } + + template<typename _Tp1> + __weak_ptr& + operator=(__weak_ptr<_Tp1, _Lp>&& __r) noexcept + { + _M_ptr = __r.lock().get(); + _M_refcount = std::move(__r._M_refcount); + __r._M_ptr = nullptr; + return *this; + } + + __shared_ptr<_Tp, _Lp> + lock() const noexcept + { return __shared_ptr<element_type, _Lp>(*this, std::nothrow); } + + long + use_count() const noexcept + { return _M_refcount._M_get_use_count(); } + + bool + expired() const noexcept + { return _M_refcount._M_get_use_count() == 0; } + + template<typename _Tp1> + bool + owner_before(const __shared_ptr<_Tp1, _Lp>& __rhs) const + { return _M_refcount._M_less(__rhs._M_refcount); } + + template<typename _Tp1> + bool + owner_before(const __weak_ptr<_Tp1, _Lp>& __rhs) const + { return _M_refcount._M_less(__rhs._M_refcount); } + + void + reset() noexcept + { __weak_ptr().swap(*this); } + + void + swap(__weak_ptr& __s) noexcept + { + std::swap(_M_ptr, __s._M_ptr); + _M_refcount._M_swap(__s._M_refcount); + } + + private: + + void + _M_assign(_Tp* __ptr, const __shared_count<_Lp>& __refcount) noexcept + { + if (use_count() == 0) + { + _M_ptr = __ptr; + _M_refcount = __refcount; + } + } + + template<typename _Tp1, _Lock_policy _Lp1> friend class __shared_ptr; + template<typename _Tp1, _Lock_policy _Lp1> friend class __weak_ptr; + friend class __enable_shared_from_this<_Tp, _Lp>; + friend class enable_shared_from_this<_Tp>; + + _Tp* _M_ptr; + __weak_count<_Lp> _M_refcount; + }; + + + template<typename _Tp, _Lock_policy _Lp> + inline void + swap(__weak_ptr<_Tp, _Lp>& __a, __weak_ptr<_Tp, _Lp>& __b) noexcept + { __a.swap(__b); } + + template<typename _Tp, typename _Tp1> + struct _Sp_owner_less : public binary_function<_Tp, _Tp, bool> + { + bool + operator()(const _Tp& __lhs, const _Tp& __rhs) const + { return __lhs.owner_before(__rhs); } + + bool + operator()(const _Tp& __lhs, const _Tp1& __rhs) const + { return __lhs.owner_before(__rhs); } + + bool + operator()(const _Tp1& __lhs, const _Tp& __rhs) const + { return __lhs.owner_before(__rhs); } + }; + + template<typename _Tp, _Lock_policy _Lp> + struct owner_less<__shared_ptr<_Tp, _Lp>> + : public _Sp_owner_less<__shared_ptr<_Tp, _Lp>, __weak_ptr<_Tp, _Lp>> + { }; + + template<typename _Tp, _Lock_policy _Lp> + struct owner_less<__weak_ptr<_Tp, _Lp>> + : public _Sp_owner_less<__weak_ptr<_Tp, _Lp>, __shared_ptr<_Tp, _Lp>> + { }; + + + template<typename _Tp, _Lock_policy _Lp> + class __enable_shared_from_this + { + protected: + constexpr __enable_shared_from_this() noexcept { } + + __enable_shared_from_this(const __enable_shared_from_this&) noexcept { } + + __enable_shared_from_this& + operator=(const __enable_shared_from_this&) noexcept + { return *this; } + + ~__enable_shared_from_this() { } + + public: + __shared_ptr<_Tp, _Lp> + shared_from_this() + { return __shared_ptr<_Tp, _Lp>(this->_M_weak_this); } + + __shared_ptr<const _Tp, _Lp> + shared_from_this() const + { return __shared_ptr<const _Tp, _Lp>(this->_M_weak_this); } + + private: + template<typename _Tp1> + void + _M_weak_assign(_Tp1* __p, const __shared_count<_Lp>& __n) const noexcept + { _M_weak_this._M_assign(__p, __n); } + + template<_Lock_policy _Lp1, typename _Tp1, typename _Tp2> + friend void + __enable_shared_from_this_helper(const __shared_count<_Lp1>&, + const __enable_shared_from_this<_Tp1, + _Lp1>*, const _Tp2*) noexcept; + + mutable __weak_ptr<_Tp, _Lp> _M_weak_this; + }; + + template<_Lock_policy _Lp1, typename _Tp1, typename _Tp2> + inline void + __enable_shared_from_this_helper(const __shared_count<_Lp1>& __pn, + const __enable_shared_from_this<_Tp1, + _Lp1>* __pe, + const _Tp2* __px) noexcept + { + if (__pe != nullptr) + __pe->_M_weak_assign(const_cast<_Tp2*>(__px), __pn); + } + + template<typename _Tp, _Lock_policy _Lp, typename _Alloc, typename... _Args> + inline __shared_ptr<_Tp, _Lp> + __allocate_shared(const _Alloc& __a, _Args&&... __args) + { + return __shared_ptr<_Tp, _Lp>(_Sp_make_shared_tag(), __a, + std::forward<_Args>(__args)...); + } + + template<typename _Tp, _Lock_policy _Lp, typename... _Args> + inline __shared_ptr<_Tp, _Lp> + __make_shared(_Args&&... __args) + { + typedef typename std::remove_const<_Tp>::type _Tp_nc; + return std::__allocate_shared<_Tp, _Lp>(std::allocator<_Tp_nc>(), + std::forward<_Args>(__args)...); + } + + + template<typename _Tp, _Lock_policy _Lp> + struct hash<__shared_ptr<_Tp, _Lp>> + : public __hash_base<size_t, __shared_ptr<_Tp, _Lp>> + { + size_t + operator()(const __shared_ptr<_Tp, _Lp>& __s) const noexcept + { return std::hash<_Tp*>()(__s.get()); } + }; + + +} +# 53 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 64 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 + template<typename _Ch, typename _Tr, typename _Tp, _Lock_policy _Lp> + inline std::basic_ostream<_Ch, _Tr>& + operator<<(std::basic_ostream<_Ch, _Tr>& __os, + const __shared_ptr<_Tp, _Lp>& __p) + { + __os << __p.get(); + return __os; + } + + + template<typename _Del, typename _Tp, _Lock_policy _Lp> + inline _Del* + get_deleter(const __shared_ptr<_Tp, _Lp>& __p) noexcept + { + + return static_cast<_Del*>(__p._M_get_deleter(typeid(_Del))); + + + + } +# 92 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 + template<typename _Tp> + class shared_ptr : public __shared_ptr<_Tp> + { + template<typename _Ptr> + using _Convertible + = typename enable_if<is_convertible<_Ptr, _Tp*>::value>::type; + + public: + + + + + constexpr shared_ptr() noexcept + : __shared_ptr<_Tp>() { } + + shared_ptr(const shared_ptr&) noexcept = default; + + + + + + + + template<typename _Tp1> + explicit shared_ptr(_Tp1* __p) + : __shared_ptr<_Tp>(__p) { } +# 132 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 + template<typename _Tp1, typename _Deleter> + shared_ptr(_Tp1* __p, _Deleter __d) + : __shared_ptr<_Tp>(__p, __d) { } +# 149 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 + template<typename _Deleter> + shared_ptr(nullptr_t __p, _Deleter __d) + : __shared_ptr<_Tp>(__p, __d) { } +# 168 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 + template<typename _Tp1, typename _Deleter, typename _Alloc> + shared_ptr(_Tp1* __p, _Deleter __d, _Alloc __a) + : __shared_ptr<_Tp>(__p, __d, std::move(__a)) { } +# 187 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 + template<typename _Deleter, typename _Alloc> + shared_ptr(nullptr_t __p, _Deleter __d, _Alloc __a) + : __shared_ptr<_Tp>(__p, __d, std::move(__a)) { } +# 209 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 + template<typename _Tp1> + shared_ptr(const shared_ptr<_Tp1>& __r, _Tp* __p) noexcept + : __shared_ptr<_Tp>(__r, __p) { } +# 220 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 + template<typename _Tp1, typename = _Convertible<_Tp1*>> + shared_ptr(const shared_ptr<_Tp1>& __r) noexcept + : __shared_ptr<_Tp>(__r) { } + + + + + + + shared_ptr(shared_ptr&& __r) noexcept + : __shared_ptr<_Tp>(std::move(__r)) { } + + + + + + + template<typename _Tp1, typename = _Convertible<_Tp1*>> + shared_ptr(shared_ptr<_Tp1>&& __r) noexcept + : __shared_ptr<_Tp>(std::move(__r)) { } +# 249 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 + template<typename _Tp1> + explicit shared_ptr(const weak_ptr<_Tp1>& __r) + : __shared_ptr<_Tp>(__r) { } + + + template<typename _Tp1> + shared_ptr(std::auto_ptr<_Tp1>&& __r); + + + + + template<typename _Tp1, typename _Del, typename + = _Convertible<typename unique_ptr<_Tp1, _Del>::pointer>> + shared_ptr(std::unique_ptr<_Tp1, _Del>&& __r) + : __shared_ptr<_Tp>(std::move(__r)) { } + + + + + + constexpr shared_ptr(nullptr_t) noexcept : shared_ptr() { } + + shared_ptr& operator=(const shared_ptr&) noexcept = default; + + template<typename _Tp1> + shared_ptr& + operator=(const shared_ptr<_Tp1>& __r) noexcept + { + this->__shared_ptr<_Tp>::operator=(__r); + return *this; + } + + + template<typename _Tp1> + shared_ptr& + operator=(std::auto_ptr<_Tp1>&& __r) + { + this->__shared_ptr<_Tp>::operator=(std::move(__r)); + return *this; + } + + + shared_ptr& + operator=(shared_ptr&& __r) noexcept + { + this->__shared_ptr<_Tp>::operator=(std::move(__r)); + return *this; + } + + template<class _Tp1> + shared_ptr& + operator=(shared_ptr<_Tp1>&& __r) noexcept + { + this->__shared_ptr<_Tp>::operator=(std::move(__r)); + return *this; + } + + template<typename _Tp1, typename _Del> + shared_ptr& + operator=(std::unique_ptr<_Tp1, _Del>&& __r) + { + this->__shared_ptr<_Tp>::operator=(std::move(__r)); + return *this; + } + + private: + + template<typename _Alloc, typename... _Args> + shared_ptr(_Sp_make_shared_tag __tag, const _Alloc& __a, + _Args&&... __args) + : __shared_ptr<_Tp>(__tag, __a, std::forward<_Args>(__args)...) + { } + + template<typename _Tp1, typename _Alloc, typename... _Args> + friend shared_ptr<_Tp1> + allocate_shared(const _Alloc& __a, _Args&&... __args); + + + shared_ptr(const weak_ptr<_Tp>& __r, std::nothrow_t) + : __shared_ptr<_Tp>(__r, std::nothrow) { } + + friend class weak_ptr<_Tp>; + }; + + + template<typename _Tp1, typename _Tp2> + inline bool + operator==(const shared_ptr<_Tp1>& __a, + const shared_ptr<_Tp2>& __b) noexcept + { return __a.get() == __b.get(); } + + template<typename _Tp> + inline bool + operator==(const shared_ptr<_Tp>& __a, nullptr_t) noexcept + { return !__a; } + + template<typename _Tp> + inline bool + operator==(nullptr_t, const shared_ptr<_Tp>& __a) noexcept + { return !__a; } + + template<typename _Tp1, typename _Tp2> + inline bool + operator!=(const shared_ptr<_Tp1>& __a, + const shared_ptr<_Tp2>& __b) noexcept + { return __a.get() != __b.get(); } + + template<typename _Tp> + inline bool + operator!=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept + { return (bool)__a; } + + template<typename _Tp> + inline bool + operator!=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept + { return (bool)__a; } + + template<typename _Tp1, typename _Tp2> + inline bool + operator<(const shared_ptr<_Tp1>& __a, + const shared_ptr<_Tp2>& __b) noexcept + { + typedef typename std::common_type<_Tp1*, _Tp2*>::type _CT; + return std::less<_CT>()(__a.get(), __b.get()); + } + + template<typename _Tp> + inline bool + operator<(const shared_ptr<_Tp>& __a, nullptr_t) noexcept + { return std::less<_Tp*>()(__a.get(), nullptr); } + + template<typename _Tp> + inline bool + operator<(nullptr_t, const shared_ptr<_Tp>& __a) noexcept + { return std::less<_Tp*>()(nullptr, __a.get()); } + + template<typename _Tp1, typename _Tp2> + inline bool + operator<=(const shared_ptr<_Tp1>& __a, + const shared_ptr<_Tp2>& __b) noexcept + { return !(__b < __a); } + + template<typename _Tp> + inline bool + operator<=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept + { return !(nullptr < __a); } + + template<typename _Tp> + inline bool + operator<=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept + { return !(__a < nullptr); } + + template<typename _Tp1, typename _Tp2> + inline bool + operator>(const shared_ptr<_Tp1>& __a, + const shared_ptr<_Tp2>& __b) noexcept + { return (__b < __a); } + + template<typename _Tp> + inline bool + operator>(const shared_ptr<_Tp>& __a, nullptr_t) noexcept + { return std::less<_Tp*>()(nullptr, __a.get()); } + + template<typename _Tp> + inline bool + operator>(nullptr_t, const shared_ptr<_Tp>& __a) noexcept + { return std::less<_Tp*>()(__a.get(), nullptr); } + + template<typename _Tp1, typename _Tp2> + inline bool + operator>=(const shared_ptr<_Tp1>& __a, + const shared_ptr<_Tp2>& __b) noexcept + { return !(__a < __b); } + + template<typename _Tp> + inline bool + operator>=(const shared_ptr<_Tp>& __a, nullptr_t) noexcept + { return !(__a < nullptr); } + + template<typename _Tp> + inline bool + operator>=(nullptr_t, const shared_ptr<_Tp>& __a) noexcept + { return !(nullptr < __a); } + + template<typename _Tp> + struct less<shared_ptr<_Tp>> : public _Sp_less<shared_ptr<_Tp>> + { }; + + + template<typename _Tp> + inline void + swap(shared_ptr<_Tp>& __a, shared_ptr<_Tp>& __b) noexcept + { __a.swap(__b); } + + + template<typename _Tp, typename _Tp1> + inline shared_ptr<_Tp> + static_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept + { return shared_ptr<_Tp>(__r, static_cast<_Tp*>(__r.get())); } + + template<typename _Tp, typename _Tp1> + inline shared_ptr<_Tp> + const_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept + { return shared_ptr<_Tp>(__r, const_cast<_Tp*>(__r.get())); } + + template<typename _Tp, typename _Tp1> + inline shared_ptr<_Tp> + dynamic_pointer_cast(const shared_ptr<_Tp1>& __r) noexcept + { + if (_Tp* __p = dynamic_cast<_Tp*>(__r.get())) + return shared_ptr<_Tp>(__r, __p); + return shared_ptr<_Tp>(); + } + + + + + + + + template<typename _Tp> + class weak_ptr : public __weak_ptr<_Tp> + { + template<typename _Ptr> + using _Convertible + = typename enable_if<is_convertible<_Ptr, _Tp*>::value>::type; + + public: + constexpr weak_ptr() noexcept = default; + + template<typename _Tp1, typename = _Convertible<_Tp1*>> + weak_ptr(const shared_ptr<_Tp1>& __r) noexcept + : __weak_ptr<_Tp>(__r) { } + + weak_ptr(const weak_ptr&) noexcept = default; + + template<typename _Tp1, typename = _Convertible<_Tp1*>> + weak_ptr(const weak_ptr<_Tp1>& __r) noexcept + : __weak_ptr<_Tp>(__r) { } + + weak_ptr(weak_ptr&&) noexcept = default; + + template<typename _Tp1, typename = _Convertible<_Tp1*>> + weak_ptr(weak_ptr<_Tp1>&& __r) noexcept + : __weak_ptr<_Tp>(std::move(__r)) { } + + weak_ptr& + operator=(const weak_ptr& __r) noexcept = default; + + template<typename _Tp1> + weak_ptr& + operator=(const weak_ptr<_Tp1>& __r) noexcept + { + this->__weak_ptr<_Tp>::operator=(__r); + return *this; + } + + template<typename _Tp1> + weak_ptr& + operator=(const shared_ptr<_Tp1>& __r) noexcept + { + this->__weak_ptr<_Tp>::operator=(__r); + return *this; + } + + weak_ptr& + operator=(weak_ptr&& __r) noexcept = default; + + template<typename _Tp1> + weak_ptr& + operator=(weak_ptr<_Tp1>&& __r) noexcept + { + this->__weak_ptr<_Tp>::operator=(std::move(__r)); + return *this; + } + + shared_ptr<_Tp> + lock() const noexcept + { return shared_ptr<_Tp>(*this, std::nothrow); } + }; + + + template<typename _Tp> + inline void + swap(weak_ptr<_Tp>& __a, weak_ptr<_Tp>& __b) noexcept + { __a.swap(__b); } + + + + template<typename _Tp> + struct owner_less; + + + template<typename _Tp> + struct owner_less<shared_ptr<_Tp>> + : public _Sp_owner_less<shared_ptr<_Tp>, weak_ptr<_Tp>> + { }; + + + template<typename _Tp> + struct owner_less<weak_ptr<_Tp>> + : public _Sp_owner_less<weak_ptr<_Tp>, shared_ptr<_Tp>> + { }; + + + + + template<typename _Tp> + class enable_shared_from_this + { + protected: + constexpr enable_shared_from_this() noexcept { } + + enable_shared_from_this(const enable_shared_from_this&) noexcept { } + + enable_shared_from_this& + operator=(const enable_shared_from_this&) noexcept + { return *this; } + + ~enable_shared_from_this() { } + + public: + shared_ptr<_Tp> + shared_from_this() + { return shared_ptr<_Tp>(this->_M_weak_this); } + + shared_ptr<const _Tp> + shared_from_this() const + { return shared_ptr<const _Tp>(this->_M_weak_this); } + + private: + template<typename _Tp1> + void + _M_weak_assign(_Tp1* __p, const __shared_count<>& __n) const noexcept + { _M_weak_this._M_assign(__p, __n); } + + template<typename _Tp1, typename _Tp2> + friend void + __enable_shared_from_this_helper(const __shared_count<>&, + const enable_shared_from_this<_Tp1>*, + const _Tp2*) noexcept; + + mutable weak_ptr<_Tp> _M_weak_this; + }; + + template<typename _Tp1, typename _Tp2> + inline void + __enable_shared_from_this_helper(const __shared_count<>& __pn, + const enable_shared_from_this<_Tp1>* + __pe, const _Tp2* __px) noexcept + { + if (__pe != nullptr) + __pe->_M_weak_assign(const_cast<_Tp2*>(__px), __pn); + } +# 615 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 + template<typename _Tp, typename _Alloc, typename... _Args> + inline shared_ptr<_Tp> + allocate_shared(const _Alloc& __a, _Args&&... __args) + { + return shared_ptr<_Tp>(_Sp_make_shared_tag(), __a, + std::forward<_Args>(__args)...); + } +# 630 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr.h" 3 + template<typename _Tp, typename... _Args> + inline shared_ptr<_Tp> + make_shared(_Args&&... __args) + { + typedef typename std::remove_const<_Tp>::type _Tp_nc; + return std::allocate_shared<_Tp>(std::allocator<_Tp_nc>(), + std::forward<_Args>(__args)...); + } + + + template<typename _Tp> + struct hash<shared_ptr<_Tp>> + : public __hash_base<size_t, shared_ptr<_Tp>> + { + size_t + operator()(const shared_ptr<_Tp>& __s) const noexcept + { return std::hash<_Tp*>()(__s.get()); } + }; + + + + +} +# 83 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 2 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_atomic.h" 1 3 +# 33 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_atomic.h" 3 +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/atomic_base.h" 1 3 +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/atomic_base.h" 3 + + +# 1 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include/stdint.h" 1 3 +# 37 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/atomic_base.h" 2 3 + + + + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 55 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/atomic_base.h" 3 + typedef enum memory_order + { + memory_order_relaxed, + memory_order_consume, + memory_order_acquire, + memory_order_release, + memory_order_acq_rel, + memory_order_seq_cst + } memory_order; + + enum __memory_order_modifier + { + __memory_order_mask = 0x0ffff, + __memory_order_modifier_mask = 0xffff0000, + __memory_order_hle_acquire = 0x10000, + __memory_order_hle_release = 0x20000 + }; + + constexpr memory_order + operator|(memory_order __m, __memory_order_modifier __mod) + { + return memory_order(__m | int(__mod)); + } + + constexpr memory_order + operator&(memory_order __m, __memory_order_modifier __mod) + { + return memory_order(__m & int(__mod)); + } + + + constexpr memory_order + __cmpexch_failure_order2(memory_order __m) noexcept + { + return __m == memory_order_acq_rel ? memory_order_acquire + : __m == memory_order_release ? memory_order_relaxed : __m; + } + + constexpr memory_order + __cmpexch_failure_order(memory_order __m) noexcept + { + return memory_order(__cmpexch_failure_order2(__m & __memory_order_mask) + | (__m & __memory_order_modifier_mask)); + } + + inline __attribute__((__always_inline__)) void + atomic_thread_fence(memory_order __m) noexcept + { __atomic_thread_fence(__m); } + + inline __attribute__((__always_inline__)) void + atomic_signal_fence(memory_order __m) noexcept + { __atomic_signal_fence(__m); } + + + template<typename _Tp> + inline _Tp + kill_dependency(_Tp __y) noexcept + { + _Tp __ret(__y); + return __ret; + } + + + + template<typename _IntTp> + struct __atomic_base; + + + + + template<typename _Tp> + struct atomic; + + template<typename _Tp> + struct atomic<_Tp*>; + + + + typedef bool __atomic_flag_data_type; +# 148 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/atomic_base.h" 3 + extern "C" { + + struct __atomic_flag_base + { + __atomic_flag_data_type _M_i; + }; + + } + + + + + struct atomic_flag : public __atomic_flag_base + { + atomic_flag() noexcept = default; + ~atomic_flag() noexcept = default; + atomic_flag(const atomic_flag&) = delete; + atomic_flag& operator=(const atomic_flag&) = delete; + atomic_flag& operator=(const atomic_flag&) volatile = delete; + + + constexpr atomic_flag(bool __i) noexcept + : __atomic_flag_base{ _S_init(__i) } + { } + + inline __attribute__((__always_inline__)) bool + test_and_set(memory_order __m = memory_order_seq_cst) noexcept + { + return __atomic_test_and_set (&_M_i, __m); + } + + inline __attribute__((__always_inline__)) bool + test_and_set(memory_order __m = memory_order_seq_cst) volatile noexcept + { + return __atomic_test_and_set (&_M_i, __m); + } + + inline __attribute__((__always_inline__)) void + clear(memory_order __m = memory_order_seq_cst) noexcept + { + memory_order __b = __m & __memory_order_mask; + ; + ; + ; + + __atomic_clear (&_M_i, __m); + } + + inline __attribute__((__always_inline__)) void + clear(memory_order __m = memory_order_seq_cst) volatile noexcept + { + memory_order __b = __m & __memory_order_mask; + ; + ; + ; + + __atomic_clear (&_M_i, __m); + } + + private: + static constexpr __atomic_flag_data_type + _S_init(bool __i) + { return __i ? 1 : 0; } + }; +# 237 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/atomic_base.h" 3 + template<typename _ITp> + struct __atomic_base + { + private: + typedef _ITp __int_type; + + static constexpr int _S_alignment = + sizeof(_ITp) > alignof(_ITp) ? sizeof(_ITp) : alignof(_ITp); + + alignas(_S_alignment) __int_type _M_i; + + public: + __atomic_base() noexcept = default; + ~__atomic_base() noexcept = default; + __atomic_base(const __atomic_base&) = delete; + __atomic_base& operator=(const __atomic_base&) = delete; + __atomic_base& operator=(const __atomic_base&) volatile = delete; + + + constexpr __atomic_base(__int_type __i) noexcept : _M_i (__i) { } + + operator __int_type() const noexcept + { return load(); } + + operator __int_type() const volatile noexcept + { return load(); } + + __int_type + operator=(__int_type __i) noexcept + { + store(__i); + return __i; + } + + __int_type + operator=(__int_type __i) volatile noexcept + { + store(__i); + return __i; + } + + __int_type + operator++(int) noexcept + { return fetch_add(1); } + + __int_type + operator++(int) volatile noexcept + { return fetch_add(1); } + + __int_type + operator--(int) noexcept + { return fetch_sub(1); } + + __int_type + operator--(int) volatile noexcept + { return fetch_sub(1); } + + __int_type + operator++() noexcept + { return __atomic_add_fetch(&_M_i, 1, memory_order_seq_cst); } + + __int_type + operator++() volatile noexcept + { return __atomic_add_fetch(&_M_i, 1, memory_order_seq_cst); } + + __int_type + operator--() noexcept + { return __atomic_sub_fetch(&_M_i, 1, memory_order_seq_cst); } + + __int_type + operator--() volatile noexcept + { return __atomic_sub_fetch(&_M_i, 1, memory_order_seq_cst); } + + __int_type + operator+=(__int_type __i) noexcept + { return __atomic_add_fetch(&_M_i, __i, memory_order_seq_cst); } + + __int_type + operator+=(__int_type __i) volatile noexcept + { return __atomic_add_fetch(&_M_i, __i, memory_order_seq_cst); } + + __int_type + operator-=(__int_type __i) noexcept + { return __atomic_sub_fetch(&_M_i, __i, memory_order_seq_cst); } + + __int_type + operator-=(__int_type __i) volatile noexcept + { return __atomic_sub_fetch(&_M_i, __i, memory_order_seq_cst); } + + __int_type + operator&=(__int_type __i) noexcept + { return __atomic_and_fetch(&_M_i, __i, memory_order_seq_cst); } + + __int_type + operator&=(__int_type __i) volatile noexcept + { return __atomic_and_fetch(&_M_i, __i, memory_order_seq_cst); } + + __int_type + operator|=(__int_type __i) noexcept + { return __atomic_or_fetch(&_M_i, __i, memory_order_seq_cst); } + + __int_type + operator|=(__int_type __i) volatile noexcept + { return __atomic_or_fetch(&_M_i, __i, memory_order_seq_cst); } + + __int_type + operator^=(__int_type __i) noexcept + { return __atomic_xor_fetch(&_M_i, __i, memory_order_seq_cst); } + + __int_type + operator^=(__int_type __i) volatile noexcept + { return __atomic_xor_fetch(&_M_i, __i, memory_order_seq_cst); } + + bool + is_lock_free() const noexcept + { + + return __atomic_is_lock_free(sizeof(_M_i), + reinterpret_cast<void *>(-__alignof(_M_i))); + } + + bool + is_lock_free() const volatile noexcept + { + + return __atomic_is_lock_free(sizeof(_M_i), + reinterpret_cast<void *>(-__alignof(_M_i))); + } + + inline __attribute__((__always_inline__)) void + store(__int_type __i, memory_order __m = memory_order_seq_cst) noexcept + { + memory_order __b = __m & __memory_order_mask; + ; + ; + ; + + __atomic_store_n(&_M_i, __i, __m); + } + + inline __attribute__((__always_inline__)) void + store(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { + memory_order __b = __m & __memory_order_mask; + ; + ; + ; + + __atomic_store_n(&_M_i, __i, __m); + } + + inline __attribute__((__always_inline__)) __int_type + load(memory_order __m = memory_order_seq_cst) const noexcept + { + memory_order __b = __m & __memory_order_mask; + ; + ; + + return __atomic_load_n(&_M_i, __m); + } + + inline __attribute__((__always_inline__)) __int_type + load(memory_order __m = memory_order_seq_cst) const volatile noexcept + { + memory_order __b = __m & __memory_order_mask; + ; + ; + + return __atomic_load_n(&_M_i, __m); + } + + inline __attribute__((__always_inline__)) __int_type + exchange(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { + return __atomic_exchange_n(&_M_i, __i, __m); + } + + + inline __attribute__((__always_inline__)) __int_type + exchange(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { + return __atomic_exchange_n(&_M_i, __i, __m); + } + + inline __attribute__((__always_inline__)) bool + compare_exchange_weak(__int_type& __i1, __int_type __i2, + memory_order __m1, memory_order __m2) noexcept + { + memory_order __b2 = __m2 & __memory_order_mask; + memory_order __b1 = __m1 & __memory_order_mask; + ; + ; + ; + + return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); + } + + inline __attribute__((__always_inline__)) bool + compare_exchange_weak(__int_type& __i1, __int_type __i2, + memory_order __m1, + memory_order __m2) volatile noexcept + { + memory_order __b2 = __m2 & __memory_order_mask; + memory_order __b1 = __m1 & __memory_order_mask; + ; + ; + ; + + return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 1, __m1, __m2); + } + + inline __attribute__((__always_inline__)) bool + compare_exchange_weak(__int_type& __i1, __int_type __i2, + memory_order __m = memory_order_seq_cst) noexcept + { + return compare_exchange_weak(__i1, __i2, __m, + __cmpexch_failure_order(__m)); + } + + inline __attribute__((__always_inline__)) bool + compare_exchange_weak(__int_type& __i1, __int_type __i2, + memory_order __m = memory_order_seq_cst) volatile noexcept + { + return compare_exchange_weak(__i1, __i2, __m, + __cmpexch_failure_order(__m)); + } + + inline __attribute__((__always_inline__)) bool + compare_exchange_strong(__int_type& __i1, __int_type __i2, + memory_order __m1, memory_order __m2) noexcept + { + memory_order __b2 = __m2 & __memory_order_mask; + memory_order __b1 = __m1 & __memory_order_mask; + ; + ; + ; + + return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); + } + + inline __attribute__((__always_inline__)) bool + compare_exchange_strong(__int_type& __i1, __int_type __i2, + memory_order __m1, + memory_order __m2) volatile noexcept + { + memory_order __b2 = __m2 & __memory_order_mask; + memory_order __b1 = __m1 & __memory_order_mask; + + ; + ; + ; + + return __atomic_compare_exchange_n(&_M_i, &__i1, __i2, 0, __m1, __m2); + } + + inline __attribute__((__always_inline__)) bool + compare_exchange_strong(__int_type& __i1, __int_type __i2, + memory_order __m = memory_order_seq_cst) noexcept + { + return compare_exchange_strong(__i1, __i2, __m, + __cmpexch_failure_order(__m)); + } + + inline __attribute__((__always_inline__)) bool + compare_exchange_strong(__int_type& __i1, __int_type __i2, + memory_order __m = memory_order_seq_cst) volatile noexcept + { + return compare_exchange_strong(__i1, __i2, __m, + __cmpexch_failure_order(__m)); + } + + inline __attribute__((__always_inline__)) __int_type + fetch_add(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_add(&_M_i, __i, __m); } + + inline __attribute__((__always_inline__)) __int_type + fetch_add(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_add(&_M_i, __i, __m); } + + inline __attribute__((__always_inline__)) __int_type + fetch_sub(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_sub(&_M_i, __i, __m); } + + inline __attribute__((__always_inline__)) __int_type + fetch_sub(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_sub(&_M_i, __i, __m); } + + inline __attribute__((__always_inline__)) __int_type + fetch_and(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_and(&_M_i, __i, __m); } + + inline __attribute__((__always_inline__)) __int_type + fetch_and(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_and(&_M_i, __i, __m); } + + inline __attribute__((__always_inline__)) __int_type + fetch_or(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_or(&_M_i, __i, __m); } + + inline __attribute__((__always_inline__)) __int_type + fetch_or(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_or(&_M_i, __i, __m); } + + inline __attribute__((__always_inline__)) __int_type + fetch_xor(__int_type __i, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_xor(&_M_i, __i, __m); } + + inline __attribute__((__always_inline__)) __int_type + fetch_xor(__int_type __i, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_xor(&_M_i, __i, __m); } + }; + + + + template<typename _PTp> + struct __atomic_base<_PTp*> + { + private: + typedef _PTp* __pointer_type; + + __pointer_type _M_p; + + + constexpr ptrdiff_t + _M_type_size(ptrdiff_t __d) const { return __d * sizeof(_PTp); } + + constexpr ptrdiff_t + _M_type_size(ptrdiff_t __d) const volatile { return __d * sizeof(_PTp); } + + public: + __atomic_base() noexcept = default; + ~__atomic_base() noexcept = default; + __atomic_base(const __atomic_base&) = delete; + __atomic_base& operator=(const __atomic_base&) = delete; + __atomic_base& operator=(const __atomic_base&) volatile = delete; + + + constexpr __atomic_base(__pointer_type __p) noexcept : _M_p (__p) { } + + operator __pointer_type() const noexcept + { return load(); } + + operator __pointer_type() const volatile noexcept + { return load(); } + + __pointer_type + operator=(__pointer_type __p) noexcept + { + store(__p); + return __p; + } + + __pointer_type + operator=(__pointer_type __p) volatile noexcept + { + store(__p); + return __p; + } + + __pointer_type + operator++(int) noexcept + { return fetch_add(1); } + + __pointer_type + operator++(int) volatile noexcept + { return fetch_add(1); } + + __pointer_type + operator--(int) noexcept + { return fetch_sub(1); } + + __pointer_type + operator--(int) volatile noexcept + { return fetch_sub(1); } + + __pointer_type + operator++() noexcept + { return __atomic_add_fetch(&_M_p, _M_type_size(1), + memory_order_seq_cst); } + + __pointer_type + operator++() volatile noexcept + { return __atomic_add_fetch(&_M_p, _M_type_size(1), + memory_order_seq_cst); } + + __pointer_type + operator--() noexcept + { return __atomic_sub_fetch(&_M_p, _M_type_size(1), + memory_order_seq_cst); } + + __pointer_type + operator--() volatile noexcept + { return __atomic_sub_fetch(&_M_p, _M_type_size(1), + memory_order_seq_cst); } + + __pointer_type + operator+=(ptrdiff_t __d) noexcept + { return __atomic_add_fetch(&_M_p, _M_type_size(__d), + memory_order_seq_cst); } + + __pointer_type + operator+=(ptrdiff_t __d) volatile noexcept + { return __atomic_add_fetch(&_M_p, _M_type_size(__d), + memory_order_seq_cst); } + + __pointer_type + operator-=(ptrdiff_t __d) noexcept + { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), + memory_order_seq_cst); } + + __pointer_type + operator-=(ptrdiff_t __d) volatile noexcept + { return __atomic_sub_fetch(&_M_p, _M_type_size(__d), + memory_order_seq_cst); } + + bool + is_lock_free() const noexcept + { + + return __atomic_is_lock_free(sizeof(_M_p), + reinterpret_cast<void *>(-__alignof(_M_p))); + } + + bool + is_lock_free() const volatile noexcept + { + + return __atomic_is_lock_free(sizeof(_M_p), + reinterpret_cast<void *>(-__alignof(_M_p))); + } + + inline __attribute__((__always_inline__)) void + store(__pointer_type __p, + memory_order __m = memory_order_seq_cst) noexcept + { + memory_order __b = __m & __memory_order_mask; + + ; + ; + ; + + __atomic_store_n(&_M_p, __p, __m); + } + + inline __attribute__((__always_inline__)) void + store(__pointer_type __p, + memory_order __m = memory_order_seq_cst) volatile noexcept + { + memory_order __b = __m & __memory_order_mask; + ; + ; + ; + + __atomic_store_n(&_M_p, __p, __m); + } + + inline __attribute__((__always_inline__)) __pointer_type + load(memory_order __m = memory_order_seq_cst) const noexcept + { + memory_order __b = __m & __memory_order_mask; + ; + ; + + return __atomic_load_n(&_M_p, __m); + } + + inline __attribute__((__always_inline__)) __pointer_type + load(memory_order __m = memory_order_seq_cst) const volatile noexcept + { + memory_order __b = __m & __memory_order_mask; + ; + ; + + return __atomic_load_n(&_M_p, __m); + } + + inline __attribute__((__always_inline__)) __pointer_type + exchange(__pointer_type __p, + memory_order __m = memory_order_seq_cst) noexcept + { + return __atomic_exchange_n(&_M_p, __p, __m); + } + + + inline __attribute__((__always_inline__)) __pointer_type + exchange(__pointer_type __p, + memory_order __m = memory_order_seq_cst) volatile noexcept + { + return __atomic_exchange_n(&_M_p, __p, __m); + } + + inline __attribute__((__always_inline__)) bool + compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, + memory_order __m1, + memory_order __m2) noexcept + { + memory_order __b2 = __m2 & __memory_order_mask; + memory_order __b1 = __m1 & __memory_order_mask; + ; + ; + ; + + return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); + } + + inline __attribute__((__always_inline__)) bool + compare_exchange_strong(__pointer_type& __p1, __pointer_type __p2, + memory_order __m1, + memory_order __m2) volatile noexcept + { + memory_order __b2 = __m2 & __memory_order_mask; + memory_order __b1 = __m1 & __memory_order_mask; + + ; + ; + ; + + return __atomic_compare_exchange_n(&_M_p, &__p1, __p2, 0, __m1, __m2); + } + + inline __attribute__((__always_inline__)) __pointer_type + fetch_add(ptrdiff_t __d, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } + + inline __attribute__((__always_inline__)) __pointer_type + fetch_add(ptrdiff_t __d, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_add(&_M_p, _M_type_size(__d), __m); } + + inline __attribute__((__always_inline__)) __pointer_type + fetch_sub(ptrdiff_t __d, + memory_order __m = memory_order_seq_cst) noexcept + { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } + + inline __attribute__((__always_inline__)) __pointer_type + fetch_sub(ptrdiff_t __d, + memory_order __m = memory_order_seq_cst) volatile noexcept + { return __atomic_fetch_sub(&_M_p, _M_type_size(__d), __m); } + }; + + + + +} +# 34 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_atomic.h" 2 3 + +namespace std __attribute__ ((__visibility__ ("default"))) +{ + + + + + + + + struct _Sp_locker + { + _Sp_locker(const _Sp_locker&) = delete; + _Sp_locker& operator=(const _Sp_locker&) = delete; + + + explicit + _Sp_locker(const void*) noexcept; + _Sp_locker(const void*, const void*) noexcept; + ~_Sp_locker(); + + private: + unsigned char _M_key1; + unsigned char _M_key2; + + + + }; + + + + + + + + template<typename _Tp, _Lock_policy _Lp> + inline bool + atomic_is_lock_free(const __shared_ptr<_Tp, _Lp>* __p) + { + + return __gthread_active_p() == 0; + + + + } + + template<typename _Tp> + inline bool + atomic_is_lock_free(const shared_ptr<_Tp>* __p) + { return std::atomic_is_lock_free<_Tp, __default_lock_policy>(__p); } +# 96 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_atomic.h" 3 + template<typename _Tp> + inline shared_ptr<_Tp> + atomic_load_explicit(const shared_ptr<_Tp>* __p, memory_order) + { + _Sp_locker __lock{__p}; + return *__p; + } + + template<typename _Tp> + inline shared_ptr<_Tp> + atomic_load(const shared_ptr<_Tp>* __p) + { return std::atomic_load_explicit(__p, memory_order_seq_cst); } + + template<typename _Tp, _Lock_policy _Lp> + inline __shared_ptr<_Tp, _Lp> + atomic_load_explicit(const __shared_ptr<_Tp, _Lp>* __p, memory_order) + { + _Sp_locker __lock{__p}; + return *__p; + } + + template<typename _Tp, _Lock_policy _Lp> + inline __shared_ptr<_Tp, _Lp> + atomic_load(const __shared_ptr<_Tp, _Lp>* __p) + { return std::atomic_load_explicit(__p, memory_order_seq_cst); } +# 132 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_atomic.h" 3 + template<typename _Tp> + inline void + atomic_store_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, + memory_order) + { + _Sp_locker __lock{__p}; + __p->swap(__r); + } + + template<typename _Tp> + inline void + atomic_store(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) + { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); } + + template<typename _Tp, _Lock_policy _Lp> + inline void + atomic_store_explicit(__shared_ptr<_Tp, _Lp>* __p, + __shared_ptr<_Tp, _Lp> __r, + memory_order) + { + _Sp_locker __lock{__p}; + __p->swap(__r); + } + + template<typename _Tp, _Lock_policy _Lp> + inline void + atomic_store(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r) + { std::atomic_store_explicit(__p, std::move(__r), memory_order_seq_cst); } +# 169 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_atomic.h" 3 + template<typename _Tp> + inline shared_ptr<_Tp> + atomic_exchange_explicit(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r, + memory_order) + { + _Sp_locker __lock{__p}; + __p->swap(__r); + return __r; + } + + template<typename _Tp> + inline shared_ptr<_Tp> + atomic_exchange(shared_ptr<_Tp>* __p, shared_ptr<_Tp> __r) + { + return std::atomic_exchange_explicit(__p, std::move(__r), + memory_order_seq_cst); + } + + template<typename _Tp, _Lock_policy _Lp> + inline __shared_ptr<_Tp, _Lp> + atomic_exchange_explicit(__shared_ptr<_Tp, _Lp>* __p, + __shared_ptr<_Tp, _Lp> __r, + memory_order) + { + _Sp_locker __lock{__p}; + __p->swap(__r); + return __r; + } + + template<typename _Tp, _Lock_policy _Lp> + inline __shared_ptr<_Tp, _Lp> + atomic_exchange(__shared_ptr<_Tp, _Lp>* __p, __shared_ptr<_Tp, _Lp> __r) + { + return std::atomic_exchange_explicit(__p, std::move(__r), + memory_order_seq_cst); + } +# 218 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/shared_ptr_atomic.h" 3 + template<typename _Tp> + bool + atomic_compare_exchange_strong_explicit(shared_ptr<_Tp>* __p, + shared_ptr<_Tp>* __v, + shared_ptr<_Tp> __w, + memory_order, + memory_order) + { + shared_ptr<_Tp> __x; + _Sp_locker __lock{__p, __v}; + owner_less<shared_ptr<_Tp>> __less; + if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p)) + { + __x = std::move(*__p); + *__p = std::move(__w); + return true; + } + __x = std::move(*__v); + *__v = *__p; + return false; + } + + template<typename _Tp> + inline bool + atomic_compare_exchange_strong(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, + shared_ptr<_Tp> __w) + { + return std::atomic_compare_exchange_strong_explicit(__p, __v, + std::move(__w), memory_order_seq_cst, memory_order_seq_cst); + } + + template<typename _Tp> + inline bool + atomic_compare_exchange_weak_explicit(shared_ptr<_Tp>* __p, + shared_ptr<_Tp>* __v, + shared_ptr<_Tp> __w, + memory_order __success, + memory_order __failure) + { + return std::atomic_compare_exchange_strong_explicit(__p, __v, + std::move(__w), __success, __failure); + } + + template<typename _Tp> + inline bool + atomic_compare_exchange_weak(shared_ptr<_Tp>* __p, shared_ptr<_Tp>* __v, + shared_ptr<_Tp> __w) + { + return std::atomic_compare_exchange_weak_explicit(__p, __v, + std::move(__w), memory_order_seq_cst, memory_order_seq_cst); + } + + template<typename _Tp, _Lock_policy _Lp> + bool + atomic_compare_exchange_strong_explicit(__shared_ptr<_Tp, _Lp>* __p, + __shared_ptr<_Tp, _Lp>* __v, + __shared_ptr<_Tp, _Lp> __w, + memory_order, + memory_order) + { + __shared_ptr<_Tp, _Lp> __x; + _Sp_locker __lock{__p, __v}; + owner_less<__shared_ptr<_Tp, _Lp>> __less; + if (*__p == *__v && !__less(*__p, *__v) && !__less(*__v, *__p)) + { + __x = std::move(*__p); + *__p = std::move(__w); + return true; + } + __x = std::move(*__v); + *__v = *__p; + return false; + } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + atomic_compare_exchange_strong(__shared_ptr<_Tp, _Lp>* __p, + __shared_ptr<_Tp, _Lp>* __v, + __shared_ptr<_Tp, _Lp> __w) + { + return std::atomic_compare_exchange_strong_explicit(__p, __v, + std::move(__w), memory_order_seq_cst, memory_order_seq_cst); + } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + atomic_compare_exchange_weak_explicit(__shared_ptr<_Tp, _Lp>* __p, + __shared_ptr<_Tp, _Lp>* __v, + __shared_ptr<_Tp, _Lp> __w, + memory_order __success, + memory_order __failure) + { + return std::atomic_compare_exchange_strong_explicit(__p, __v, + std::move(__w), __success, __failure); + } + + template<typename _Tp, _Lock_policy _Lp> + inline bool + atomic_compare_exchange_weak(__shared_ptr<_Tp, _Lp>* __p, + __shared_ptr<_Tp, _Lp>* __v, + __shared_ptr<_Tp, _Lp> __w) + { + return std::atomic_compare_exchange_weak_explicit(__p, __v, + std::move(__w), memory_order_seq_cst, memory_order_seq_cst); + } + + + + + +} +# 84 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 2 3 + +# 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 1 3 +# 36 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 47 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + template<typename _Tp1> + struct auto_ptr_ref + { + _Tp1* _M_ptr; + + explicit + auto_ptr_ref(_Tp1* __p): _M_ptr(__p) { } + } __attribute__ ((__deprecated__)); +# 86 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + template<typename _Tp> + class auto_ptr + { + private: + _Tp* _M_ptr; + + public: + + typedef _Tp element_type; + + + + + + + + explicit + auto_ptr(element_type* __p = 0) throw() : _M_ptr(__p) { } +# 112 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + auto_ptr(auto_ptr& __a) throw() : _M_ptr(__a.release()) { } +# 124 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + template<typename _Tp1> + auto_ptr(auto_ptr<_Tp1>& __a) throw() : _M_ptr(__a.release()) { } +# 135 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + auto_ptr& + operator=(auto_ptr& __a) throw() + { + reset(__a.release()); + return *this; + } +# 152 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + template<typename _Tp1> + auto_ptr& + operator=(auto_ptr<_Tp1>& __a) throw() + { + reset(__a.release()); + return *this; + } +# 170 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + ~auto_ptr() { delete _M_ptr; } +# 180 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + element_type& + operator*() const throw() + { + ; + return *_M_ptr; + } + + + + + + + + element_type* + operator->() const throw() + { + ; + return _M_ptr; + } +# 210 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + element_type* + get() const throw() { return _M_ptr; } +# 224 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + element_type* + release() throw() + { + element_type* __tmp = _M_ptr; + _M_ptr = 0; + return __tmp; + } +# 239 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + void + reset(element_type* __p = 0) throw() + { + if (__p != _M_ptr) + { + delete _M_ptr; + _M_ptr = __p; + } + } +# 260 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/backward/auto_ptr.h" 3 + auto_ptr(auto_ptr_ref<element_type> __ref) throw() + : _M_ptr(__ref._M_ptr) { } + + auto_ptr& + operator=(auto_ptr_ref<element_type> __ref) throw() + { + if (__ref._M_ptr != this->get()) + { + delete _M_ptr; + _M_ptr = __ref._M_ptr; + } + return *this; + } + + template<typename _Tp1> + operator auto_ptr_ref<_Tp1>() throw() + { return auto_ptr_ref<_Tp1>(this->release()); } + + template<typename _Tp1> + operator auto_ptr<_Tp1>() throw() + { return auto_ptr<_Tp1>(this->release()); } + } __attribute__ ((__deprecated__)); + + + + template<> + class auto_ptr<void> + { + public: + typedef void element_type; + } __attribute__ ((__deprecated__)); + + + template<_Lock_policy _Lp> + template<typename _Tp> + inline + __shared_count<_Lp>::__shared_count(std::auto_ptr<_Tp>&& __r) + : _M_pi(new _Sp_counted_ptr<_Tp*, _Lp>(__r.get())) + { __r.release(); } + + template<typename _Tp, _Lock_policy _Lp> + template<typename _Tp1> + inline + __shared_ptr<_Tp, _Lp>::__shared_ptr(std::auto_ptr<_Tp1>&& __r) + : _M_ptr(__r.get()), _M_refcount() + { + + static_assert( sizeof(_Tp1) > 0, "incomplete type" ); + _Tp1* __tmp = __r.get(); + _M_refcount = __shared_count<_Lp>(std::move(__r)); + __enable_shared_from_this_helper(_M_refcount, __tmp, __tmp); + } + + template<typename _Tp> + template<typename _Tp1> + inline + shared_ptr<_Tp>::shared_ptr(std::auto_ptr<_Tp1>&& __r) + : __shared_ptr<_Tp>(std::move(__r)) { } + + template<typename _Tp, typename _Dp> + template<typename _Up, typename> + inline + unique_ptr<_Tp, _Dp>::unique_ptr(auto_ptr<_Up>&& __u) noexcept + : _M_t(__u.release(), deleter_type()) { } + + + +} +# 86 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 2 3 + + + + + + + + +namespace std __attribute__ ((__visibility__ ("default"))) +{ +# 114 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/memory" 3 +inline void* +align(size_t __align, size_t __size, void*& __ptr, size_t& __space) noexcept +{ + const auto __intptr = reinterpret_cast<uintptr_t>(__ptr); + const auto __aligned = (__intptr - 1u + __align) & -__align; + const auto __diff = __aligned - __intptr; + if ((__size + __diff) > __space) + return nullptr; + else + { + __space -= __diff; + return __ptr = reinterpret_cast<void*>(__aligned); + } +} + + + +enum class pointer_safety { relaxed, preferred, strict }; + +inline void +declare_reachable(void*) { } + +template <typename _Tp> + inline _Tp* + undeclare_reachable(_Tp* __p) { return __p; } + +inline void +declare_no_pointers(char*, size_t) { } + +inline void +undeclare_no_pointers(char*, size_t) { } + +inline pointer_safety +get_pointer_safety() noexcept { return pointer_safety::relaxed; } + + +} +# 6 "./libraries/Scope/Scope.h" 2 + + + + + + +class WSServer; +class JSONValue; + +class AuxTaskRT; + + + + + + + +class Scope{ + public: + typedef enum { + AUTO, + NORMAL, + CUSTOM, + } TriggerMode; + typedef enum { + POSITIVE, + NEGATIVE, + BOTH, + } TriggerSlope; + + Scope(); + Scope(unsigned int numChannels, float sampleRate); + ~Scope(); +# 51 "./libraries/Scope/Scope.h" + void setup(unsigned int numChannels, float sampleRate); + + void cleanup(); + + + + + + + + void log(double chn1, ...); +# 71 "./libraries/Scope/Scope.h" + void log(const float* values); + + + + + + + + bool trigger(); + + + + + void setTrigger(TriggerMode mode, unsigned int channel = 0, TriggerSlope dir = BOTH, float level = 0); + + private: + typedef enum { + TIME_DOMAIN, + FREQ_DOMAIN, + } PlotMode; + void dealloc(); + void start(); + void stop(); + void triggerTimeDomain(); + void triggerFFT(); + bool triggered(); + bool prelog(); + void postlog(); + void setPlotMode(); + void doFFT(); + void setXParams(); + void scope_control_connected(); + void scope_control_data(const char* data); + void parse_settings(JSONValue* value); + + bool volatile isUsingOutBuffer; + bool volatile isUsingBuffer; + bool volatile isResizing; + + + int numChannels; + float sampleRate; + int pixelWidth; + int frameWidth; + PlotMode plotMode = TIME_DOMAIN; + TriggerMode triggerMode; + unsigned int triggerChannel; + TriggerSlope triggerDir; + float triggerLevel; + int xOffset; + int xOffsetSamples; + int upSampling; + int downSampling; + float holdOff; + + int logCount; + + int channelWidth; + int downSampleCount; + int holdOffSamples; + + + std::vector<float> buffer; + std::vector<float> outBuffer; + + + int writePointer; + int readPointer; + int triggerPointer; + int customTriggerPointer; + + + bool triggerPrimed; + bool triggerCollecting; + bool triggerWaiting; + int triggerCount; + int autoTriggerCount; + bool started; + bool customTriggered; + + + int FFTLength; + int newFFTLength; + float FFTScale; + float FFTLogOffset; + int pointerFFT; + bool collectingFFT; + float *windowFFT; + int FFTXAxis; + int FFTYAxis; + + ne10_fft_cpx_float32_t* inFFT; + ne10_fft_cpx_float32_t* outFFT; + ne10_fft_cfg_float32_t cfg; + + std::unique_ptr<AuxTaskRT> scopeTriggerTask; + void triggerTask(); + + void setSetting(std::wstring setting, float value); + + std::unique_ptr<WSServer> ws_server; + + std::map<std::wstring, float> settings; +}; +# 51 "/root/Bela/projects/my_ultrasonic_ranger2/render.cpp" 2 +# 1 "./libraries/PulseIn/PulseIn.h" 1 +# 12 "./libraries/PulseIn/PulseIn.h" +class PulseIn { +private: + std::vector<int> _array; + int _pulseOnState; + int _digitalInput; + bool _pulseIsOn; + uint64_t _pulseStart; + uint64_t _lastContext; +public: + PulseIn(){ + _digitalInput = -1; + }; +# 34 "./libraries/PulseIn/PulseIn.h" + PulseIn(BelaContext* context, unsigned int digitalInput, int direction=1){ + setup(context, digitalInput, direction); + }; +# 49 "./libraries/PulseIn/PulseIn.h" + void setup(BelaContext* context, unsigned int digitalInput, int direction=1); +# 61 "./libraries/PulseIn/PulseIn.h" + void check(BelaContext* context); +# 70 "./libraries/PulseIn/PulseIn.h" + int hasPulsed(BelaContext* context, unsigned int frame){ + if(_lastContext != context->audioFramesElapsed){ + check(context); + } + return _array[frame]; + } + void cleanup(); + virtual ~PulseIn(); +}; +# 52 "/root/Bela/projects/my_ultrasonic_ranger2/render.cpp" 2 + +PulseIn pulseIn; +Scope scope; +int gTriggerInterval = 2646; +int gMinPulseLength = 7; +float gRescale = 58; +unsigned int gTrigDigitalOutPin = 7; +unsigned int gEchoDigitalInPin = 7; +int gTriggerCount = 0; +int gPrintfCount = 0; + +bool setup(BelaContext *context, void *userData) +{ + + + + pulseIn.setup(context, gEchoDigitalInPin, HIGH); + scope.setup(2, context->digitalSampleRate); + return true; +} + +void render(BelaContext *context, void *userData) +{ + for(unsigned int n = 0; n < context->digitalFrames; ++n){ + gTriggerCount++; + bool state; + if(gTriggerCount == gTriggerInterval){ + pinMode(context, 0, gTrigDigitalOutPin, OUTPUT); + state = LOW; + digitalWriteOnce(context, n, gTrigDigitalOutPin, state); + } else if (gTriggerCount == gTriggerInterval+1) { + pinMode(context, 0, gTrigDigitalOutPin, OUTPUT); + state = HIGH; + digitalWriteOnce(context, n, gTrigDigitalOutPin, state); + } else if (gTriggerCount == gTriggerInterval+2) { + gTriggerCount = 0; + state = LOW; + digitalWriteOnce(context, n, gTrigDigitalOutPin, state); + } else { + pinMode(context, 0, gTrigDigitalOutPin, INPUT); + } + + auto dRead = digitalRead(context, n, gEchoDigitalInPin); + int pulseLength = pulseIn.hasPulsed(context, n); + + float duration = 1e6 * pulseLength / context->digitalSampleRate; + + static float distance = 0; + if(pulseLength >= gMinPulseLength){ + + distance = duration / gRescale; + } + static int count = 0; + if(count > 5000){ + rt_printf("pulseLength: %d, distance: %fcm\n", pulseLength, distance); + count = 0; + } + ++count; + + scope.log(dRead * 0.5, distance/100); + } +} + +void cleanup(BelaContext *context, void *userData) +{ +} diff --git a/ultrasonic-bela/build/render.s b/ultrasonic-bela/build/render.s new file mode 100644 index 0000000..25c4ec6 --- /dev/null +++ b/ultrasonic-bela/build/render.s @@ -0,0 +1,20537 @@ + .text + .syntax unified + .eabi_attribute 67, "2.09" @ Tag_conformance + .cpu cortex-a8 + .eabi_attribute 6, 10 @ Tag_CPU_arch + .eabi_attribute 7, 65 @ Tag_CPU_arch_profile + .eabi_attribute 8, 1 @ Tag_ARM_ISA_use + .eabi_attribute 9, 2 @ Tag_THUMB_ISA_use + .fpu neon + .eabi_attribute 17, 1 @ Tag_ABI_PCS_GOT_use + .eabi_attribute 20, 2 @ Tag_ABI_FP_denormal + .eabi_attribute 23, 1 @ Tag_ABI_FP_number_model + .eabi_attribute 34, 1 @ Tag_CPU_unaligned_access + .eabi_attribute 24, 1 @ Tag_ABI_align_needed + .eabi_attribute 25, 1 @ Tag_ABI_align_preserved + .eabi_attribute 28, 1 @ Tag_ABI_VFP_args + .eabi_attribute 38, 1 @ Tag_ABI_FP_16bit_format + .eabi_attribute 18, 4 @ Tag_ABI_PCS_wchar_t + .eabi_attribute 26, 2 @ Tag_ABI_enum_size + .eabi_attribute 14, 0 @ Tag_ABI_PCS_R9_use + .eabi_attribute 68, 1 @ Tag_Virtualization_use + .file "/root/Bela/projects/my_ultrasonic_ranger2/build/render.bc" + .file 1 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits" "c++config.h" + .file 2 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits" "alloc_traits.h" + .file 3 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext" "new_allocator.h" + .file 4 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/arm-linux-gnueabihf/c++/6.3.0/bits" "c++allocator.h" + .file 5 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits" "allocator.h" + .file 6 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext" "alloc_traits.h" + .file 7 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits" "stl_vector.h" + .file 8 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0" "type_traits" + .file 9 "./libraries/PulseIn" "PulseIn.h" + .file 10 "/usr/include" "stdint.h" + .file 11 "./include" "Bela.h" + .file 12 "/root/Bela/projects/my_ultrasonic_ranger2" "render.cpp" + .file 13 "./libraries/Scope" "Scope.h" + .file 14 "/usr/include/ne10" "NE10_types.h" + .file 15 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits" "unique_ptr.h" + .file 16 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0" "tuple" + .file 17 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits" "uses_allocator.h" + .file 18 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits" "stl_tree.h" + .file 19 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits" "stl_function.h" + .file 20 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits" "stl_pair.h" + .file 21 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits" "stl_map.h" + .file 22 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits" "stringfwd.h" + .file 23 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/ext" "concurrence.h" + .file 24 "./include" "GPIOcontrol.h" + .file 25 "/usr/include" "stdlib.h" + .file 26 "/usr/include/arm-linux-gnueabihf/bits" "stdlib-float.h" + .file 27 "/usr/include/arm-linux-gnueabihf/bits" "stdlib-bsearch.h" + .file 28 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include" "stddef.h" + .file 29 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0" "cstdlib" + .file 30 "/root/Bela/projects/my_ultrasonic_ranger2/build" "render.cpp" + .file 31 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/debug" "debug.h" + .file 32 "/usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits" "exception_ptr.h" + .file 33 "/usr/include" "wchar.h" + .file 34 "/usr/include" "libio.h" + .file 35 "/usr/include/arm-linux-gnueabihf/bits" "types.h" + .file 36 "/usr/include" "stdio.h" + .file 37 "/usr/lib/llvm-3.9/bin/../lib/clang/3.9.1/include" "stdarg.h" + .file 38 "/usr/include" "locale.h" + .file 39 "/usr/include" "ctype.h" + .file 40 "/usr/include" "_G_config.h" + .file 41 "/usr/include/arm-linux-gnueabihf/bits" "stdio.h" + .globl setup + .p2align 2 + .type setup,%function +setup: @ @setup +.Lfunc_begin0: + .loc 12 64 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:64:0 + .fnstart + .cfi_startproc +@ BB#0: + .save {r4, r10, r11, lr} + push {r4, r10, r11, lr} +.Ltmp0: + .cfi_def_cfa_offset 16 +.Ltmp1: + .cfi_offset lr, -4 +.Ltmp2: + .cfi_offset r11, -8 +.Ltmp3: + .cfi_offset r10, -12 +.Ltmp4: + .cfi_offset r4, -16 + .setfp r11, sp, #8 + add r11, sp, #8 +.Ltmp5: + .cfi_def_cfa r11, 8 + @DEBUG_VALUE: setup:context <- %R0 + @DEBUG_VALUE: setup:userData <- %R1 + mov r4, r0 +.Ltmp6: + @DEBUG_VALUE: setup:context <- %R4 + .loc 12 68 25 prologue_end @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:68:25 + movw r0, :lower16:.L_MergedGlobals + movt r0, :upper16:.L_MergedGlobals + .loc 12 68 10 is_stmt 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:68:10 + mov r1, r4 +.Ltmp7: + .loc 12 68 25 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:68:25 + ldr r2, [r0, #16] + .loc 12 68 10 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:68:10 + add r0, r0, #24 + mov r3, #1 + bl _ZN7PulseIn5setupEP11BelaContextji + .loc 12 69 8 is_stmt 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:69:8 + movw r0, :lower16:scope + .loc 12 69 26 is_stmt 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:69:26 + vldr s0, [r4, #60] + .loc 12 69 8 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:69:8 + movt r0, :upper16:scope + mov r1, #2 + bl _ZN5Scope5setupEjf + .loc 12 70 2 is_stmt 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:70:2 + mov r0, #1 + pop {r4, r10, r11, pc} +.Ltmp8: +.Lfunc_end0: + .size setup, .Lfunc_end0-setup + .cfi_endproc + .fnend + + .globl render + .p2align 3 + .type render,%function +render: @ @render +.Lfunc_begin1: + .loc 12 74 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:74:0 + .fnstart + .cfi_startproc +@ BB#0: + .save {r4, r5, r6, r7, r8, r9, r10, r11, lr} + push {r4, r5, r6, r7, r8, r9, r10, r11, lr} +.Ltmp9: + .cfi_def_cfa_offset 36 +.Ltmp10: + .cfi_offset lr, -4 +.Ltmp11: + .cfi_offset r11, -8 +.Ltmp12: + .cfi_offset r10, -12 +.Ltmp13: + .cfi_offset r9, -16 +.Ltmp14: + .cfi_offset r8, -20 +.Ltmp15: + .cfi_offset r7, -24 +.Ltmp16: + .cfi_offset r6, -28 +.Ltmp17: + .cfi_offset r5, -32 +.Ltmp18: + .cfi_offset r4, -36 + .setfp r11, sp, #28 + add r11, sp, #28 +.Ltmp19: + .cfi_def_cfa r11, 8 + .pad #4 + sub sp, sp, #4 + .vsave {d8, d9, d10} + vpush {d8, d9, d10} +.Ltmp20: + .cfi_offset d10, -48 +.Ltmp21: + .cfi_offset d9, -56 +.Ltmp22: + .cfi_offset d8, -64 + .pad #16 + sub sp, sp, #16 + @DEBUG_VALUE: render:context <- %R0 + @DEBUG_VALUE: render:userData <- %R1 + mov r4, r0 +.Ltmp23: + @DEBUG_VALUE: n <- 0 + @DEBUG_VALUE: render:context <- %R4 + .loc 12 75 39 prologue_end discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:75:39 + ldr r0, [r4, #52] + .loc 12 75 2 is_stmt 0 discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:75:2 + cmp r0, #0 + beq .LBB1_25 +.Ltmp24: +@ BB#1: @ %.lr.ph + @DEBUG_VALUE: render:context <- %R4 + @DEBUG_VALUE: render:userData <- %R1 + .loc 12 117 19 is_stmt 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:117:19 + vmov.f64 d8, #5.000000e-01 + .loc 12 76 16 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:76:16 + movw r5, :lower16:.L_MergedGlobals +.Ltmp25: + .loc 12 111 6 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:111:6 + movw r8, :lower16:.L_MergedGlobals.2 +.Ltmp26: + .loc 12 76 16 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:76:16 + movt r5, :upper16:.L_MergedGlobals +.Ltmp27: + .loc 11 1536 32 @ ./include/Bela.h:1536:32 + mov r6, #1 +.Ltmp28: + .loc 12 111 6 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:111:6 + movt r8, :upper16:.L_MergedGlobals.2 + mov r9, #0 +.Ltmp29: + .loc 9 71 31 @ ./libraries/PulseIn/PulseIn.h:71:31 + add r1, r4, #64 +.Ltmp30: + .loc 12 117 34 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:117:34 + vldr s18, .LCPI1_1 + .loc 12 99 24 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:99:24 + vldr d10, .LCPI1_0 + str r1, [sp, #12] @ 4-byte Spill + b .LBB1_5 +.Ltmp31: +.LBB1_2: @ in Loop: Header=BB1_5 Depth=1 + @DEBUG_VALUE: pinMode:frame <- 0 + @DEBUG_VALUE: pinMode:f <- 0 + .loc 11 1546 2 discriminator 1 @ ./include/Bela.h:1546:2 + cmp r0, #0 + beq .LBB1_18 +.Ltmp32: +@ BB#3: @ %.lr.ph.i32 + @ in Loop: Header=BB1_5 Depth=1 + .loc 12 91 24 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:91:24 + ldr r1, [r5, #12] + mov r2, #0 +.Ltmp33: + .loc 11 1548 13 @ ./include/Bela.h:1548:13 + ldr r0, [r4, #16] + .loc 11 1548 30 is_stmt 0 @ ./include/Bela.h:1548:30 + lsl r1, r6, r1 +.LBB1_4: @ %.lr.ph.split.us.i + @ Parent Loop BB1_5 Depth=1 + @ => This Inner Loop Header: Depth=2 + .loc 11 1548 24 @ ./include/Bela.h:1548:24 + ldr r3, [r0, r2, lsl #2] + orr r3, r3, r1 + str r3, [r0, r2, lsl #2] +.Ltmp34: + .loc 11 1546 46 is_stmt 1 discriminator 2 @ ./include/Bela.h:1546:46 + add r2, r2, #1 +.Ltmp35: + @DEBUG_VALUE: pinMode:f <- %R2 + .loc 11 1546 30 is_stmt 0 discriminator 1 @ ./include/Bela.h:1546:30 + ldr r3, [r4, #52] + .loc 11 1546 2 discriminator 1 @ ./include/Bela.h:1546:2 + cmp r2, r3 + blo .LBB1_4 + b .LBB1_18 +.Ltmp36: +.LBB1_5: @ =>This Loop Header: Depth=1 + @ Child Loop BB1_4 Depth 2 + @ Child Loop BB1_12 Depth 2 + @ Child Loop BB1_8 Depth 2 + .loc 12 76 16 is_stmt 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:76:16 + ldr r1, [r5, #20] + add r3, r1, #1 + str r3, [r5, #20] +.Ltmp37: + .loc 12 78 23 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:78:23 + ldr r2, [r5] +.Ltmp38: + .loc 12 78 6 is_stmt 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:78:6 + cmp r3, r2 + bne .LBB1_9 +@ BB#6: @ in Loop: Header=BB1_5 Depth=1 +.Ltmp39: + @DEBUG_VALUE: pinMode:frame <- 0 + @DEBUG_VALUE: pinMode:f <- 0 + .loc 11 1546 2 is_stmt 1 discriminator 1 @ ./include/Bela.h:1546:2 + cmp r0, #0 + beq .LBB1_16 +.Ltmp40: +@ BB#7: @ %.lr.ph.i + @ in Loop: Header=BB1_5 Depth=1 + .loc 12 79 24 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:79:24 + ldr r1, [r5, #12] + mov r2, #0 +.Ltmp41: + .loc 11 1548 13 @ ./include/Bela.h:1548:13 + ldr r0, [r4, #16] + .loc 11 1550 27 @ ./include/Bela.h:1550:27 + mvn r1, r6, lsl r1 +.LBB1_8: @ %.lr.ph.split.i + @ Parent Loop BB1_5 Depth=1 + @ => This Inner Loop Header: Depth=2 + .loc 11 1550 24 is_stmt 0 @ ./include/Bela.h:1550:24 + ldr r3, [r0, r2, lsl #2] + and r3, r3, r1 + str r3, [r0, r2, lsl #2] +.Ltmp42: + .loc 11 1546 46 is_stmt 1 discriminator 2 @ ./include/Bela.h:1546:46 + add r2, r2, #1 +.Ltmp43: + @DEBUG_VALUE: pinMode:f <- %R2 + .loc 11 1546 30 is_stmt 0 discriminator 1 @ ./include/Bela.h:1546:30 + ldr r3, [r4, #52] + .loc 11 1546 2 discriminator 1 @ ./include/Bela.h:1546:2 + cmp r2, r3 + blo .LBB1_8 + b .LBB1_16 +.Ltmp44: +.LBB1_9: @ in Loop: Header=BB1_5 Depth=1 + .loc 12 82 14 is_stmt 1 discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:82:14 + cmp r1, r2 + bne .LBB1_14 +@ BB#10: @ in Loop: Header=BB1_5 Depth=1 +.Ltmp45: + @DEBUG_VALUE: pinMode:frame <- 0 + @DEBUG_VALUE: pinMode:f <- 0 + .loc 11 1546 2 discriminator 1 @ ./include/Bela.h:1546:2 + cmp r0, #0 + beq .LBB1_13 +.Ltmp46: +@ BB#11: @ %.lr.ph.i35 + @ in Loop: Header=BB1_5 Depth=1 + .loc 12 83 24 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:83:24 + ldr r1, [r5, #12] + mov r2, #0 +.Ltmp47: + .loc 11 1548 13 @ ./include/Bela.h:1548:13 + ldr r0, [r4, #16] + .loc 11 1550 27 @ ./include/Bela.h:1550:27 + mvn r1, r6, lsl r1 +.LBB1_12: @ %.lr.ph.split.i37 + @ Parent Loop BB1_5 Depth=1 + @ => This Inner Loop Header: Depth=2 + .loc 11 1550 24 is_stmt 0 @ ./include/Bela.h:1550:24 + ldr r3, [r0, r2, lsl #2] + and r3, r3, r1 + str r3, [r0, r2, lsl #2] +.Ltmp48: + .loc 11 1546 46 is_stmt 1 discriminator 2 @ ./include/Bela.h:1546:46 + add r2, r2, #1 +.Ltmp49: + @DEBUG_VALUE: pinMode:f <- %R2 + .loc 11 1546 30 is_stmt 0 discriminator 1 @ ./include/Bela.h:1546:30 + ldr r3, [r4, #52] + .loc 11 1546 2 discriminator 1 @ ./include/Bela.h:1546:2 + cmp r2, r3 + blo .LBB1_12 +.Ltmp50: +.LBB1_13: @ %_ZL7pinModeP11BelaContextiii.exit38 + @ in Loop: Header=BB1_5 Depth=1 + @DEBUG_VALUE: state <- 1 + .loc 11 1538 12 is_stmt 1 @ ./include/Bela.h:1538:12 + ldr r0, [r4, #16] +.Ltmp51: + .loc 12 85 33 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:85:33 + ldr r1, [r5, #12] +.Ltmp52: + @DEBUG_VALUE: digitalWriteOnce:channel <- %R1 + .loc 11 1536 27 @ ./include/Bela.h:1536:27 + ldr r2, [r0, r9, lsl #2] +.Ltmp53: + @DEBUG_VALUE: digitalWriteOnce:value <- 1 + .loc 11 1536 44 is_stmt 0 @ ./include/Bela.h:1536:44 + add r1, r1, #16 +.Ltmp54: + .loc 11 1536 27 @ ./include/Bela.h:1536:27 + orr r1, r2, r6, lsl r1 + b .LBB1_17 +.Ltmp55: +.LBB1_14: @ in Loop: Header=BB1_5 Depth=1 + .loc 12 86 28 is_stmt 1 discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:86:28 + add r2, r2, #1 + .loc 12 86 14 is_stmt 0 discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:86:14 + cmp r1, r2 + bne .LBB1_2 +@ BB#15: @ in Loop: Header=BB1_5 Depth=1 + mov r0, #0 +.Ltmp56: + .loc 12 87 18 is_stmt 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:87:18 + str r0, [r5, #20] +.Ltmp57: +.LBB1_16: @ %_ZL7pinModeP11BelaContextiii.exit + @ in Loop: Header=BB1_5 Depth=1 + @DEBUG_VALUE: state <- 0 + .loc 11 1538 12 @ ./include/Bela.h:1538:12 + ldr r0, [r4, #16] +.Ltmp58: + .loc 12 81 33 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:81:33 + ldr r1, [r5, #12] +.Ltmp59: + @DEBUG_VALUE: digitalWriteOnce:channel <- %R1 + .loc 11 1538 27 @ ./include/Bela.h:1538:27 + ldr r2, [r0, r9, lsl #2] +.Ltmp60: + @DEBUG_VALUE: digitalWriteOnce:value <- 0 + .loc 11 1536 44 @ ./include/Bela.h:1536:44 + add r1, r1, #16 +.Ltmp61: + .loc 11 1538 27 @ ./include/Bela.h:1538:27 + bic r1, r2, r6, lsl r1 +.LBB1_17: @ %_ZL7pinModeP11BelaContextiii.exit33 + @ in Loop: Header=BB1_5 Depth=1 + str r1, [r0, r9, lsl #2] +.Ltmp62: + @DEBUG_VALUE: digitalWriteOnce:context <- %R4 +.LBB1_18: @ %_ZL7pinModeP11BelaContextiii.exit33 + @ in Loop: Header=BB1_5 Depth=1 + .loc 9 71 31 @ ./libraries/PulseIn/PulseIn.h:71:31 + ldr r0, [sp, #12] @ 4-byte Reload + ldr r6, [r0] + ldr r1, [r0, #4] + ldr r2, [r4, #16] +.Ltmp63: + .loc 12 94 40 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:94:40 + ldr r7, [r5, #16] +.Ltmp64: + .loc 9 71 6 @ ./libraries/PulseIn/PulseIn.h:71:6 + ldr r0, [r5, #64] + ldr r3, [r5, #68] +.Ltmp65: + .loc 11 1515 12 @ ./include/Bela.h:1515:12 + ldr r10, [r2, r9, lsl #2] +.Ltmp66: + .loc 9 71 19 @ ./libraries/PulseIn/PulseIn.h:71:19 + eor r0, r0, r6 + eor r1, r3, r1 + orrs r0, r0, r1 + beq .LBB1_20 +@ BB#19: @ in Loop: Header=BB1_5 Depth=1 +.Ltmp67: + .loc 9 72 4 @ ./libraries/PulseIn/PulseIn.h:72:4 + add r0, r5, #24 +.Ltmp68: + @DEBUG_VALUE: hasPulsed:this <- %R0 + @DEBUG_VALUE: hasPulsed:context <- %R4 + mov r1, r4 + bl _ZN7PulseIn5checkEP11BelaContext +.Ltmp69: +.LBB1_20: @ %_ZN7PulseIn9hasPulsedEP11BelaContextj.exit + @ in Loop: Header=BB1_5 Depth=1 + .loc 7 781 32 @ /usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h:781:32 + ldr r1, [r5, #28] +.Ltmp70: + .loc 11 1515 49 @ ./include/Bela.h:1515:49 + add r0, r7, #16 +.Ltmp71: + .loc 12 104 21 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:104:21 + ldr r2, [r5, #4] +.Ltmp72: + .loc 11 1536 32 @ ./include/Bela.h:1536:32 + mov r6, #1 +.Ltmp73: + .loc 9 74 10 @ ./libraries/PulseIn/PulseIn.h:74:10 + ldr r1, [r1, r9, lsl #2] +.Ltmp74: + @DEBUG_VALUE: pulseLength <- %R1 + .loc 12 104 6 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:104:6 + cmp r1, r2 + blt .LBB1_22 +.Ltmp75: +@ BB#21: @ in Loop: Header=BB1_5 Depth=1 + @DEBUG_VALUE: pulseLength <- %R1 + .loc 12 99 26 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:99:26 + vmov s0, r1 + vcvt.f64.s32 d16, s0 + .loc 12 99 24 is_stmt 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:99:24 + vmul.f64 d16, d16, d10 + .loc 12 99 49 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:99:49 + vldr s0, [r4, #60] +.Ltmp76: + .loc 12 106 26 is_stmt 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:106:26 + vldr s2, [r5, #8] +.Ltmp77: + .loc 12 99 40 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:99:40 + vcvt.f64.f32 d17, s0 + .loc 12 99 38 is_stmt 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:99:38 + vdiv.f64 d16, d16, d17 + .loc 12 99 20 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:99:20 + vcvt.f32.f64 s0, d16 +.Ltmp78: + @DEBUG_VALUE: duration <- %S0 + .loc 12 106 24 is_stmt 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:106:24 + vdiv.f32 s0, s0, s2 +.Ltmp79: + .loc 12 106 13 is_stmt 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:106:13 + vstr s0, [r8] +.Ltmp80: +.LBB1_22: @ in Loop: Header=BB1_5 Depth=1 + @DEBUG_VALUE: pulseLength <- %R1 + .loc 11 1515 56 is_stmt 1 @ ./include/Bela.h:1515:56 + and r7, r6, r10, lsr r0 +.Ltmp81: + @DEBUG_VALUE: dRead <- %R7 + .loc 12 111 6 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:111:6 + ldr r0, [r8, #4] +.Ltmp82: + .loc 12 111 6 is_stmt 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:111:6 + movw r2, #5001 + cmp r0, r2 + blt .LBB1_24 +.Ltmp83: +@ BB#23: @ in Loop: Header=BB1_5 Depth=1 + @DEBUG_VALUE: dRead <- %R7 + @DEBUG_VALUE: pulseLength <- %R1 + .loc 12 112 64 is_stmt 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:112:64 + vldr s0, [r8] + .loc 12 112 4 is_stmt 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:112:4 + movw r0, :lower16:.L.str + movt r0, :upper16:.L.str + .loc 12 112 64 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:112:64 + vcvt.f64.f32 d16, s0 + .loc 12 112 4 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:112:4 + vmov r2, r3, d16 + bl rt_printf +.Ltmp84: + mov r0, #0 + .loc 12 113 10 is_stmt 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:113:10 + str r0, [r8, #4] +.Ltmp85: +.LBB1_24: @ in Loop: Header=BB1_5 Depth=1 + @DEBUG_VALUE: dRead <- %R7 + .loc 12 117 13 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:117:13 + vmov s0, r7 + .loc 12 115 3 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:115:3 + add r0, r0, #1 + .loc 12 117 13 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:117:13 + vcvt.f64.s32 d16, s0 + .loc 12 115 3 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:115:3 + str r0, [r8, #4] + .loc 12 117 9 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:117:9 + movw r0, :lower16:scope + movt r0, :upper16:scope + .loc 12 117 19 is_stmt 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:117:19 + vmul.f64 d16, d16, d8 + .loc 12 117 9 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:117:9 + vmov r2, r3, d16 + .loc 12 117 26 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:117:26 + vldr s0, [r8] + .loc 12 117 34 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:117:34 + vmul.f32 d0, d0, d9 + .loc 12 117 26 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:117:26 + vcvt.f64.f32 d16, s0 + .loc 12 117 9 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:117:9 + vstr d16, [sp] + bl _ZN5Scope3logEdz +.Ltmp86: + .loc 12 75 39 is_stmt 1 discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:75:39 + ldr r0, [r4, #52] + .loc 12 75 54 is_stmt 0 discriminator 3 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:75:54 + add r9, r9, #1 +.Ltmp87: + @DEBUG_VALUE: n <- %R9 + .loc 12 75 2 discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:75:2 + cmp r9, r0 + blo .LBB1_5 +.Ltmp88: +.LBB1_25: @ %._crit_edge + .loc 12 119 1 is_stmt 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:119:1 + sub sp, r11, #56 + vpop {d8, d9, d10} + add sp, sp, #4 + pop {r4, r5, r6, r7, r8, r9, r10, r11, pc} +.Ltmp89: + .p2align 3 +@ BB#26: +.LCPI1_0: + .long 0 @ double 1.0E+6 + .long 1093567616 +.LCPI1_1: + .long 1008981770 @ float 0.00999999977 +.Lfunc_end1: + .size render, .Lfunc_end1-render + .cfi_endproc + .fnend + + .globl cleanup + .p2align 2 + .type cleanup,%function +cleanup: @ @cleanup +.Lfunc_begin2: + .loc 12 122 0 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:122:0 + .fnstart + .cfi_startproc +@ BB#0: + @DEBUG_VALUE: cleanup:context <- %R0 + @DEBUG_VALUE: cleanup:userData <- %R1 + .loc 12 123 1 prologue_end @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:123:1 + bx lr +.Ltmp90: +.Lfunc_end2: + .size cleanup, .Lfunc_end2-cleanup + .cfi_endproc + .fnend + + .section .text.startup,"ax",%progbits + .p2align 2 + .type _GLOBAL__sub_I_render.ii,%function +_GLOBAL__sub_I_render.ii: @ @_GLOBAL__sub_I_render.ii +.Lfunc_begin3: + .loc 30 0 0 @ /root/Bela/projects/my_ultrasonic_ranger2/build/render.cpp:0:0 + .fnstart + .cfi_startproc +@ BB#0: + .save {r4, r5, r11, lr} + push {r4, r5, r11, lr} +.Ltmp91: + .cfi_def_cfa_offset 16 +.Ltmp92: + .cfi_offset lr, -4 +.Ltmp93: + .cfi_offset r11, -8 +.Ltmp94: + .cfi_offset r5, -12 +.Ltmp95: + .cfi_offset r4, -16 + .setfp r11, sp, #8 + add r11, sp, #8 +.Ltmp96: + .cfi_def_cfa r11, 8 +.Ltmp97: + .loc 9 21 11 prologue_end @ ./libraries/PulseIn/PulseIn.h:21:11 + movw r0, :lower16:_ZTV7PulseIn + movw r1, :lower16:.L_MergedGlobals + movt r0, :upper16:_ZTV7PulseIn + movt r1, :upper16:.L_MergedGlobals + add r0, r0, #8 + str r0, [r1, #24]! +.Ltmp98: + @DEBUG_VALUE: PulseIn:this <- %R1 + .loc 12 53 9 discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:53:9 + movw r4, :lower16:__dso_handle +.Ltmp99: + .loc 9 22 17 @ ./libraries/PulseIn/PulseIn.h:22:17 + mvn r2, #0 + mov r0, #0 + str r2, [r1, #20] +.Ltmp100: + .loc 7 87 22 @ /usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h:87:22 + str r0, [r1, #4] +.Ltmp101: + .loc 12 53 9 discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:53:9 + movt r4, :upper16:__dso_handle +.Ltmp102: + .loc 7 87 34 @ /usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h:87:34 + str r0, [r1, #8] +.Ltmp103: + .loc 12 53 9 discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:53:9 + mov r2, r4 +.Ltmp104: + .loc 7 87 47 @ /usr/bin/../lib/gcc/arm-linux-gnueabihf/6.3.0/../../../../include/c++/6.3.0/bits/stl_vector.h:87:47 + str r0, [r1, #12] +.Ltmp105: + .loc 12 53 9 discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:53:9 + movw r0, :lower16:_ZN7PulseInD1Ev + movt r0, :upper16:_ZN7PulseInD1Ev + bl __cxa_atexit +.Ltmp106: + .loc 12 54 7 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:54:7 + movw r5, :lower16:scope + movt r5, :upper16:scope + mov r0, r5 + bl _ZN5ScopeC1Ev + .loc 12 54 7 is_stmt 0 discriminator 1 @ /root/Bela/projects/my_ultrasonic_ranger2/render.cpp:54:7 + movw r0, :lower16:_ZN5ScopeD1Ev + mov r1, r5 + movt r0, :upper16:_ZN5ScopeD1Ev + mov r2, r4 + pop {r4, r5, r11, lr} + b __cxa_atexit +.Ltmp107: +.Lfunc_end3: + .size _GLOBAL__sub_I_render.ii, .Lfunc_end3-_GLOBAL__sub_I_render.ii + .cfi_endproc + .fnend + + .type scope,%object @ @scope + .bss + .globl scope + .p2align 2 +scope: + .zero 212 + .size scope, 212 + + .type gPrintfCount,%object @ @gPrintfCount + .globl gPrintfCount + .p2align 2 +gPrintfCount: + .long 0 @ 0x0 + .size gPrintfCount, 4 + + .type .L.str,%object @ @.str + .section .rodata.str1.1,"aMS",%progbits,1 +.L.str: + .asciz "pulseLength: %d, distance: %fcm\n" + .size .L.str, 33 + + .section .init_array,"aw",%init_array + .p2align 2 + .long _GLOBAL__sub_I_render.ii(target1) + .type .L_MergedGlobals,%object @ @_MergedGlobals + .data + .p2align 4 +.L_MergedGlobals: + .long 2646 @ 0xa56 + .long 7 @ 0x7 + .long 1114112000 @ float 58 + .long 7 @ 0x7 + .long 7 @ 0x7 + .long 0 @ 0x0 + .zero 48 + .size .L_MergedGlobals, 72 + + .type .L_MergedGlobals.2,%object @ @_MergedGlobals.2 + .local .L_MergedGlobals.2 + .comm .L_MergedGlobals.2,8,4 + .section .debug_str,"MS",%progbits,1 +.Linfo_string0: + .asciz "clang version 3.9.1-9 (tags/RELEASE_391/rc2)" @ string offset=0 +.Linfo_string1: + .asciz "/root/Bela/projects/my_ultrasonic_ranger2/build/render.cpp" @ string offset=45 +.Linfo_string2: + .asciz "/root/Bela" @ string offset=104 +.Linfo_string3: + .asciz "pulseIn" @ string offset=115 +.Linfo_string4: + .asciz "_vptr$PulseIn" @ string offset=123 +.Linfo_string5: + .asciz "int" @ string offset=137 +.Linfo_string6: + .asciz "__vtbl_ptr_type" @ string offset=141 +.Linfo_string7: + .asciz "_array" @ string offset=157 +.Linfo_string8: + .asciz "std" @ string offset=164 +.Linfo_string9: + .asciz "_M_impl" @ string offset=168 +.Linfo_string10: + .asciz "__gnu_cxx" @ string offset=176 +.Linfo_string11: + .asciz "_ZNSt16allocator_traitsISaIiEE8allocateERS0_j" @ string offset=186 +.Linfo_string12: + .asciz "allocate" @ string offset=232 +.Linfo_string13: + .asciz "pointer" @ string offset=241 +.Linfo_string14: + .asciz "new_allocator" @ string offset=249 +.Linfo_string15: + .asciz "~new_allocator" @ string offset=263 +.Linfo_string16: + .asciz "_ZNK9__gnu_cxx13new_allocatorIiE7addressERi" @ string offset=278 +.Linfo_string17: + .asciz "address" @ string offset=322 +.Linfo_string18: + .asciz "reference" @ string offset=330 +.Linfo_string19: + .asciz "_ZNK9__gnu_cxx13new_allocatorIiE7addressERKi" @ string offset=340 +.Linfo_string20: + .asciz "const_pointer" @ string offset=385 +.Linfo_string21: + .asciz "const_reference" @ string offset=399 +.Linfo_string22: + .asciz "_ZN9__gnu_cxx13new_allocatorIiE8allocateEjPKv" @ string offset=415 +.Linfo_string23: + .asciz "unsigned int" @ string offset=461 +.Linfo_string24: + .asciz "size_t" @ string offset=474 +.Linfo_string25: + .asciz "size_type" @ string offset=481 +.Linfo_string26: + .asciz "_ZN9__gnu_cxx13new_allocatorIiE10deallocateEPij" @ string offset=491 +.Linfo_string27: + .asciz "deallocate" @ string offset=539 +.Linfo_string28: + .asciz "_ZNK9__gnu_cxx13new_allocatorIiE8max_sizeEv" @ string offset=550 +.Linfo_string29: + .asciz "max_size" @ string offset=594 +.Linfo_string30: + .asciz "_Tp" @ string offset=603 +.Linfo_string31: + .asciz "new_allocator<int>" @ string offset=607 +.Linfo_string32: + .asciz "__allocator_base<int>" @ string offset=626 +.Linfo_string33: + .asciz "allocator" @ string offset=648 +.Linfo_string34: + .asciz "~allocator" @ string offset=658 +.Linfo_string35: + .asciz "allocator<int>" @ string offset=669 +.Linfo_string36: + .asciz "allocator_type" @ string offset=684 +.Linfo_string37: + .asciz "_ZNSt16allocator_traitsISaIiEE8allocateERS0_jPKv" @ string offset=699 +.Linfo_string38: + .asciz "const_void_pointer" @ string offset=748 +.Linfo_string39: + .asciz "_ZNSt16allocator_traitsISaIiEE10deallocateERS0_Pij" @ string offset=767 +.Linfo_string40: + .asciz "_ZNSt16allocator_traitsISaIiEE8max_sizeERKS0_" @ string offset=818 +.Linfo_string41: + .asciz "_ZNSt16allocator_traitsISaIiEE37select_on_container_copy_constructionERKS0_" @ string offset=864 +.Linfo_string42: + .asciz "select_on_container_copy_construction" @ string offset=940 +.Linfo_string43: + .asciz "_Alloc" @ string offset=978 +.Linfo_string44: + .asciz "allocator_traits<std::allocator<int> >" @ string offset=985 +.Linfo_string45: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIiEE17_S_select_on_copyERKS1_" @ string offset=1024 +.Linfo_string46: + .asciz "_S_select_on_copy" @ string offset=1086 +.Linfo_string47: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIiEE10_S_on_swapERS1_S3_" @ string offset=1104 +.Linfo_string48: + .asciz "_S_on_swap" @ string offset=1161 +.Linfo_string49: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIiEE27_S_propagate_on_copy_assignEv" @ string offset=1172 +.Linfo_string50: + .asciz "_S_propagate_on_copy_assign" @ string offset=1240 +.Linfo_string51: + .asciz "bool" @ string offset=1268 +.Linfo_string52: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIiEE27_S_propagate_on_move_assignEv" @ string offset=1273 +.Linfo_string53: + .asciz "_S_propagate_on_move_assign" @ string offset=1341 +.Linfo_string54: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIiEE20_S_propagate_on_swapEv" @ string offset=1369 +.Linfo_string55: + .asciz "_S_propagate_on_swap" @ string offset=1430 +.Linfo_string56: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIiEE15_S_always_equalEv" @ string offset=1451 +.Linfo_string57: + .asciz "_S_always_equal" @ string offset=1507 +.Linfo_string58: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIiEE15_S_nothrow_moveEv" @ string offset=1523 +.Linfo_string59: + .asciz "_S_nothrow_move" @ string offset=1579 +.Linfo_string60: + .asciz "__alloc_traits<std::allocator<int> >" @ string offset=1595 +.Linfo_string61: + .asciz "rebind<int>" @ string offset=1632 +.Linfo_string62: + .asciz "rebind_alloc<int>" @ string offset=1644 +.Linfo_string63: + .asciz "other" @ string offset=1662 +.Linfo_string64: + .asciz "_Tp_alloc_type" @ string offset=1668 +.Linfo_string65: + .asciz "_M_start" @ string offset=1683 +.Linfo_string66: + .asciz "_M_finish" @ string offset=1692 +.Linfo_string67: + .asciz "_M_end_of_storage" @ string offset=1702 +.Linfo_string68: + .asciz "_Vector_impl" @ string offset=1720 +.Linfo_string69: + .asciz "_ZNSt12_Vector_baseIiSaIiEE12_Vector_impl12_M_swap_dataERS2_" @ string offset=1733 +.Linfo_string70: + .asciz "_M_swap_data" @ string offset=1794 +.Linfo_string71: + .asciz "_ZNSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv" @ string offset=1807 +.Linfo_string72: + .asciz "_M_get_Tp_allocator" @ string offset=1858 +.Linfo_string73: + .asciz "_ZNKSt12_Vector_baseIiSaIiEE19_M_get_Tp_allocatorEv" @ string offset=1878 +.Linfo_string74: + .asciz "_ZNKSt12_Vector_baseIiSaIiEE13get_allocatorEv" @ string offset=1930 +.Linfo_string75: + .asciz "get_allocator" @ string offset=1976 +.Linfo_string76: + .asciz "_Vector_base" @ string offset=1990 +.Linfo_string77: + .asciz "~_Vector_base" @ string offset=2003 +.Linfo_string78: + .asciz "_ZNSt12_Vector_baseIiSaIiEE11_M_allocateEj" @ string offset=2017 +.Linfo_string79: + .asciz "_M_allocate" @ string offset=2060 +.Linfo_string80: + .asciz "_ZNSt12_Vector_baseIiSaIiEE13_M_deallocateEPij" @ string offset=2072 +.Linfo_string81: + .asciz "_M_deallocate" @ string offset=2119 +.Linfo_string82: + .asciz "_ZNSt12_Vector_baseIiSaIiEE17_M_create_storageEj" @ string offset=2133 +.Linfo_string83: + .asciz "_M_create_storage" @ string offset=2182 +.Linfo_string84: + .asciz "_Vector_base<int, std::allocator<int> >" @ string offset=2200 +.Linfo_string85: + .asciz "vector" @ string offset=2240 +.Linfo_string86: + .asciz "value_type" @ string offset=2247 +.Linfo_string87: + .asciz "initializer_list<int>" @ string offset=2258 +.Linfo_string88: + .asciz "~vector" @ string offset=2280 +.Linfo_string89: + .asciz "_ZNSt6vectorIiSaIiEEaSERKS1_" @ string offset=2288 +.Linfo_string90: + .asciz "operator=" @ string offset=2317 +.Linfo_string91: + .asciz "_ZNSt6vectorIiSaIiEEaSEOS1_" @ string offset=2327 +.Linfo_string92: + .asciz "_ZNSt6vectorIiSaIiEEaSESt16initializer_listIiE" @ string offset=2355 +.Linfo_string93: + .asciz "_ZNSt6vectorIiSaIiEE6assignEjRKi" @ string offset=2402 +.Linfo_string94: + .asciz "assign" @ string offset=2435 +.Linfo_string95: + .asciz "_ZNSt6vectorIiSaIiEE6assignESt16initializer_listIiE" @ string offset=2442 +.Linfo_string96: + .asciz "_ZNSt6vectorIiSaIiEE5beginEv" @ string offset=2494 +.Linfo_string97: + .asciz "begin" @ string offset=2523 +.Linfo_string98: + .asciz "__normal_iterator<int *, std::vector<int, std::allocator<int> > >" @ string offset=2529 +.Linfo_string99: + .asciz "iterator" @ string offset=2595 +.Linfo_string100: + .asciz "_ZNKSt6vectorIiSaIiEE5beginEv" @ string offset=2604 +.Linfo_string101: + .asciz "__normal_iterator<const int *, std::vector<int, std::allocator<int> > >" @ string offset=2634 +.Linfo_string102: + .asciz "const_iterator" @ string offset=2706 +.Linfo_string103: + .asciz "_ZNSt6vectorIiSaIiEE3endEv" @ string offset=2721 +.Linfo_string104: + .asciz "end" @ string offset=2748 +.Linfo_string105: + .asciz "_ZNKSt6vectorIiSaIiEE3endEv" @ string offset=2752 +.Linfo_string106: + .asciz "_ZNSt6vectorIiSaIiEE6rbeginEv" @ string offset=2780 +.Linfo_string107: + .asciz "rbegin" @ string offset=2810 +.Linfo_string108: + .asciz "reverse_iterator<__gnu_cxx::__normal_iterator<int *, std::vector<int, std::allocator<int> > > >" @ string offset=2817 +.Linfo_string109: + .asciz "reverse_iterator" @ string offset=2913 +.Linfo_string110: + .asciz "_ZNKSt6vectorIiSaIiEE6rbeginEv" @ string offset=2930 +.Linfo_string111: + .asciz "reverse_iterator<__gnu_cxx::__normal_iterator<const int *, std::vector<int, std::allocator<int> > > >" @ string offset=2961 +.Linfo_string112: + .asciz "const_reverse_iterator" @ string offset=3063 +.Linfo_string113: + .asciz "_ZNSt6vectorIiSaIiEE4rendEv" @ string offset=3086 +.Linfo_string114: + .asciz "rend" @ string offset=3114 +.Linfo_string115: + .asciz "_ZNKSt6vectorIiSaIiEE4rendEv" @ string offset=3119 +.Linfo_string116: + .asciz "_ZNKSt6vectorIiSaIiEE6cbeginEv" @ string offset=3148 +.Linfo_string117: + .asciz "cbegin" @ string offset=3179 +.Linfo_string118: + .asciz "_ZNKSt6vectorIiSaIiEE4cendEv" @ string offset=3186 +.Linfo_string119: + .asciz "cend" @ string offset=3215 +.Linfo_string120: + .asciz "_ZNKSt6vectorIiSaIiEE7crbeginEv" @ string offset=3220 +.Linfo_string121: + .asciz "crbegin" @ string offset=3252 +.Linfo_string122: + .asciz "_ZNKSt6vectorIiSaIiEE5crendEv" @ string offset=3260 +.Linfo_string123: + .asciz "crend" @ string offset=3290 +.Linfo_string124: + .asciz "_ZNKSt6vectorIiSaIiEE4sizeEv" @ string offset=3296 +.Linfo_string125: + .asciz "size" @ string offset=3325 +.Linfo_string126: + .asciz "_ZNKSt6vectorIiSaIiEE8max_sizeEv" @ string offset=3330 +.Linfo_string127: + .asciz "_ZNSt6vectorIiSaIiEE6resizeEj" @ string offset=3363 +.Linfo_string128: + .asciz "resize" @ string offset=3393 +.Linfo_string129: + .asciz "_ZNSt6vectorIiSaIiEE6resizeEjRKi" @ string offset=3400 +.Linfo_string130: + .asciz "_ZNSt6vectorIiSaIiEE13shrink_to_fitEv" @ string offset=3433 +.Linfo_string131: + .asciz "shrink_to_fit" @ string offset=3471 +.Linfo_string132: + .asciz "_ZNKSt6vectorIiSaIiEE8capacityEv" @ string offset=3485 +.Linfo_string133: + .asciz "capacity" @ string offset=3518 +.Linfo_string134: + .asciz "_ZNKSt6vectorIiSaIiEE5emptyEv" @ string offset=3527 +.Linfo_string135: + .asciz "empty" @ string offset=3557 +.Linfo_string136: + .asciz "_ZNSt6vectorIiSaIiEE7reserveEj" @ string offset=3563 +.Linfo_string137: + .asciz "reserve" @ string offset=3594 +.Linfo_string138: + .asciz "_ZNSt6vectorIiSaIiEEixEj" @ string offset=3602 +.Linfo_string139: + .asciz "operator[]" @ string offset=3627 +.Linfo_string140: + .asciz "_ZNKSt6vectorIiSaIiEEixEj" @ string offset=3638 +.Linfo_string141: + .asciz "_ZNKSt6vectorIiSaIiEE14_M_range_checkEj" @ string offset=3664 +.Linfo_string142: + .asciz "_M_range_check" @ string offset=3704 +.Linfo_string143: + .asciz "_ZNSt6vectorIiSaIiEE2atEj" @ string offset=3719 +.Linfo_string144: + .asciz "at" @ string offset=3745 +.Linfo_string145: + .asciz "_ZNKSt6vectorIiSaIiEE2atEj" @ string offset=3748 +.Linfo_string146: + .asciz "_ZNSt6vectorIiSaIiEE5frontEv" @ string offset=3775 +.Linfo_string147: + .asciz "front" @ string offset=3804 +.Linfo_string148: + .asciz "_ZNKSt6vectorIiSaIiEE5frontEv" @ string offset=3810 +.Linfo_string149: + .asciz "_ZNSt6vectorIiSaIiEE4backEv" @ string offset=3840 +.Linfo_string150: + .asciz "back" @ string offset=3868 +.Linfo_string151: + .asciz "_ZNKSt6vectorIiSaIiEE4backEv" @ string offset=3873 +.Linfo_string152: + .asciz "_ZNSt6vectorIiSaIiEE4dataEv" @ string offset=3902 +.Linfo_string153: + .asciz "data" @ string offset=3930 +.Linfo_string154: + .asciz "_ZNKSt6vectorIiSaIiEE4dataEv" @ string offset=3935 +.Linfo_string155: + .asciz "_ZNSt6vectorIiSaIiEE9push_backERKi" @ string offset=3964 +.Linfo_string156: + .asciz "push_back" @ string offset=3999 +.Linfo_string157: + .asciz "_ZNSt6vectorIiSaIiEE9push_backEOi" @ string offset=4009 +.Linfo_string158: + .asciz "_ZNSt6vectorIiSaIiEE8pop_backEv" @ string offset=4043 +.Linfo_string159: + .asciz "pop_back" @ string offset=4075 +.Linfo_string160: + .asciz "_ZNSt6vectorIiSaIiEE6insertEN9__gnu_cxx17__normal_iteratorIPKiS1_EERS4_" @ string offset=4084 +.Linfo_string161: + .asciz "insert" @ string offset=4156 +.Linfo_string162: + .asciz "_ZNSt6vectorIiSaIiEE6insertEN9__gnu_cxx17__normal_iteratorIPKiS1_EEOi" @ string offset=4163 +.Linfo_string163: + .asciz "_ZNSt6vectorIiSaIiEE6insertEN9__gnu_cxx17__normal_iteratorIPKiS1_EESt16initializer_listIiE" @ string offset=4233 +.Linfo_string164: + .asciz "_ZNSt6vectorIiSaIiEE6insertEN9__gnu_cxx17__normal_iteratorIPKiS1_EEjRS4_" @ string offset=4324 +.Linfo_string165: + .asciz "_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EE" @ string offset=4397 +.Linfo_string166: + .asciz "erase" @ string offset=4464 +.Linfo_string167: + .asciz "_ZNSt6vectorIiSaIiEE5eraseEN9__gnu_cxx17__normal_iteratorIPKiS1_EES6_" @ string offset=4470 +.Linfo_string168: + .asciz "_ZNSt6vectorIiSaIiEE4swapERS1_" @ string offset=4540 +.Linfo_string169: + .asciz "swap" @ string offset=4571 +.Linfo_string170: + .asciz "_ZNSt6vectorIiSaIiEE5clearEv" @ string offset=4576 +.Linfo_string171: + .asciz "clear" @ string offset=4605 +.Linfo_string172: + .asciz "_ZNSt6vectorIiSaIiEE18_M_fill_initializeEjRKi" @ string offset=4611 +.Linfo_string173: + .asciz "_M_fill_initialize" @ string offset=4657 +.Linfo_string174: + .asciz "_ZNSt6vectorIiSaIiEE21_M_default_initializeEj" @ string offset=4676 +.Linfo_string175: + .asciz "_M_default_initialize" @ string offset=4722 +.Linfo_string176: + .asciz "_ZNSt6vectorIiSaIiEE14_M_fill_assignEjRKi" @ string offset=4744 +.Linfo_string177: + .asciz "_M_fill_assign" @ string offset=4786 +.Linfo_string178: + .asciz "_ZNSt6vectorIiSaIiEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPiS1_EEjRKi" @ string offset=4801 +.Linfo_string179: + .asciz "_M_fill_insert" @ string offset=4881 +.Linfo_string180: + .asciz "_ZNSt6vectorIiSaIiEE17_M_default_appendEj" @ string offset=4896 +.Linfo_string181: + .asciz "_M_default_append" @ string offset=4938 +.Linfo_string182: + .asciz "_ZNSt6vectorIiSaIiEE16_M_shrink_to_fitEv" @ string offset=4956 +.Linfo_string183: + .asciz "_M_shrink_to_fit" @ string offset=4997 +.Linfo_string184: + .asciz "_ZNKSt6vectorIiSaIiEE12_M_check_lenEjPKc" @ string offset=5014 +.Linfo_string185: + .asciz "_M_check_len" @ string offset=5055 +.Linfo_string186: + .asciz "char" @ string offset=5068 +.Linfo_string187: + .asciz "_ZNSt6vectorIiSaIiEE15_M_erase_at_endEPi" @ string offset=5073 +.Linfo_string188: + .asciz "_M_erase_at_end" @ string offset=5114 +.Linfo_string189: + .asciz "_ZNSt6vectorIiSaIiEE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPiS1_EE" @ string offset=5130 +.Linfo_string190: + .asciz "_M_erase" @ string offset=5199 +.Linfo_string191: + .asciz "_ZNSt6vectorIiSaIiEE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPiS1_EES5_" @ string offset=5208 +.Linfo_string192: + .asciz "_ZNSt6vectorIiSaIiEE14_M_move_assignEOS1_St17integral_constantIbLb1EE" @ string offset=5280 +.Linfo_string193: + .asciz "_M_move_assign" @ string offset=5350 +.Linfo_string194: + .asciz "value" @ string offset=5365 +.Linfo_string195: + .asciz "_ZNKSt17integral_constantIbLb1EEcvbEv" @ string offset=5371 +.Linfo_string196: + .asciz "operator bool" @ string offset=5409 +.Linfo_string197: + .asciz "__v" @ string offset=5423 +.Linfo_string198: + .asciz "integral_constant<bool, true>" @ string offset=5427 +.Linfo_string199: + .asciz "true_type" @ string offset=5457 +.Linfo_string200: + .asciz "_ZNSt6vectorIiSaIiEE14_M_move_assignEOS1_St17integral_constantIbLb0EE" @ string offset=5467 +.Linfo_string201: + .asciz "_ZNKSt17integral_constantIbLb0EEcvbEv" @ string offset=5537 +.Linfo_string202: + .asciz "integral_constant<bool, false>" @ string offset=5575 +.Linfo_string203: + .asciz "false_type" @ string offset=5606 +.Linfo_string204: + .asciz "vector<int, std::allocator<int> >" @ string offset=5617 +.Linfo_string205: + .asciz "_pulseOnState" @ string offset=5651 +.Linfo_string206: + .asciz "_digitalInput" @ string offset=5665 +.Linfo_string207: + .asciz "_pulseIsOn" @ string offset=5679 +.Linfo_string208: + .asciz "_pulseStart" @ string offset=5690 +.Linfo_string209: + .asciz "long long unsigned int" @ string offset=5702 +.Linfo_string210: + .asciz "uint64_t" @ string offset=5725 +.Linfo_string211: + .asciz "_lastContext" @ string offset=5734 +.Linfo_string212: + .asciz "PulseIn" @ string offset=5747 +.Linfo_string213: + .asciz "audioIn" @ string offset=5755 +.Linfo_string214: + .asciz "float" @ string offset=5763 +.Linfo_string215: + .asciz "audioOut" @ string offset=5769 +.Linfo_string216: + .asciz "analogIn" @ string offset=5778 +.Linfo_string217: + .asciz "analogOut" @ string offset=5787 +.Linfo_string218: + .asciz "digital" @ string offset=5797 +.Linfo_string219: + .asciz "uint32_t" @ string offset=5805 +.Linfo_string220: + .asciz "audioFrames" @ string offset=5814 +.Linfo_string221: + .asciz "audioInChannels" @ string offset=5826 +.Linfo_string222: + .asciz "audioOutChannels" @ string offset=5842 +.Linfo_string223: + .asciz "audioSampleRate" @ string offset=5859 +.Linfo_string224: + .asciz "analogFrames" @ string offset=5875 +.Linfo_string225: + .asciz "analogInChannels" @ string offset=5888 +.Linfo_string226: + .asciz "analogOutChannels" @ string offset=5905 +.Linfo_string227: + .asciz "analogSampleRate" @ string offset=5923 +.Linfo_string228: + .asciz "digitalFrames" @ string offset=5940 +.Linfo_string229: + .asciz "digitalChannels" @ string offset=5954 +.Linfo_string230: + .asciz "digitalSampleRate" @ string offset=5970 +.Linfo_string231: + .asciz "audioFramesElapsed" @ string offset=5988 +.Linfo_string232: + .asciz "multiplexerChannels" @ string offset=6007 +.Linfo_string233: + .asciz "multiplexerStartingChannel" @ string offset=6027 +.Linfo_string234: + .asciz "multiplexerAnalogIn" @ string offset=6054 +.Linfo_string235: + .asciz "audioExpanderEnabled" @ string offset=6074 +.Linfo_string236: + .asciz "flags" @ string offset=6095 +.Linfo_string237: + .asciz "projectName" @ string offset=6101 +.Linfo_string238: + .asciz "sizetype" @ string offset=6113 +.Linfo_string239: + .asciz "underrunCount" @ string offset=6122 +.Linfo_string240: + .asciz "BelaContext" @ string offset=6136 +.Linfo_string241: + .asciz "_ZN7PulseIn5setupEP11BelaContextji" @ string offset=6148 +.Linfo_string242: + .asciz "setup" @ string offset=6183 +.Linfo_string243: + .asciz "_ZN7PulseIn5checkEP11BelaContext" @ string offset=6189 +.Linfo_string244: + .asciz "check" @ string offset=6222 +.Linfo_string245: + .asciz "_ZN7PulseIn9hasPulsedEP11BelaContextj" @ string offset=6228 +.Linfo_string246: + .asciz "hasPulsed" @ string offset=6266 +.Linfo_string247: + .asciz "_ZN7PulseIn7cleanupEv" @ string offset=6276 +.Linfo_string248: + .asciz "cleanup" @ string offset=6298 +.Linfo_string249: + .asciz "~PulseIn" @ string offset=6306 +.Linfo_string250: + .asciz "scope" @ string offset=6315 +.Linfo_string251: + .asciz "isUsingOutBuffer" @ string offset=6321 +.Linfo_string252: + .asciz "isUsingBuffer" @ string offset=6338 +.Linfo_string253: + .asciz "isResizing" @ string offset=6352 +.Linfo_string254: + .asciz "numChannels" @ string offset=6363 +.Linfo_string255: + .asciz "sampleRate" @ string offset=6375 +.Linfo_string256: + .asciz "pixelWidth" @ string offset=6386 +.Linfo_string257: + .asciz "frameWidth" @ string offset=6397 +.Linfo_string258: + .asciz "plotMode" @ string offset=6408 +.Linfo_string259: + .asciz "TIME_DOMAIN" @ string offset=6417 +.Linfo_string260: + .asciz "FREQ_DOMAIN" @ string offset=6429 +.Linfo_string261: + .asciz "PlotMode" @ string offset=6441 +.Linfo_string262: + .asciz "triggerMode" @ string offset=6450 +.Linfo_string263: + .asciz "AUTO" @ string offset=6462 +.Linfo_string264: + .asciz "NORMAL" @ string offset=6467 +.Linfo_string265: + .asciz "CUSTOM" @ string offset=6474 +.Linfo_string266: + .asciz "TriggerMode" @ string offset=6481 +.Linfo_string267: + .asciz "triggerChannel" @ string offset=6493 +.Linfo_string268: + .asciz "triggerDir" @ string offset=6508 +.Linfo_string269: + .asciz "POSITIVE" @ string offset=6519 +.Linfo_string270: + .asciz "NEGATIVE" @ string offset=6528 +.Linfo_string271: + .asciz "BOTH" @ string offset=6537 +.Linfo_string272: + .asciz "TriggerSlope" @ string offset=6542 +.Linfo_string273: + .asciz "triggerLevel" @ string offset=6555 +.Linfo_string274: + .asciz "xOffset" @ string offset=6568 +.Linfo_string275: + .asciz "xOffsetSamples" @ string offset=6576 +.Linfo_string276: + .asciz "upSampling" @ string offset=6591 +.Linfo_string277: + .asciz "downSampling" @ string offset=6602 +.Linfo_string278: + .asciz "holdOff" @ string offset=6615 +.Linfo_string279: + .asciz "logCount" @ string offset=6623 +.Linfo_string280: + .asciz "channelWidth" @ string offset=6632 +.Linfo_string281: + .asciz "downSampleCount" @ string offset=6645 +.Linfo_string282: + .asciz "holdOffSamples" @ string offset=6661 +.Linfo_string283: + .asciz "buffer" @ string offset=6676 +.Linfo_string284: + .asciz "_ZNSt16allocator_traitsISaIfEE8allocateERS0_j" @ string offset=6683 +.Linfo_string285: + .asciz "_ZNK9__gnu_cxx13new_allocatorIfE7addressERf" @ string offset=6729 +.Linfo_string286: + .asciz "_ZNK9__gnu_cxx13new_allocatorIfE7addressERKf" @ string offset=6773 +.Linfo_string287: + .asciz "_ZN9__gnu_cxx13new_allocatorIfE8allocateEjPKv" @ string offset=6818 +.Linfo_string288: + .asciz "_ZN9__gnu_cxx13new_allocatorIfE10deallocateEPfj" @ string offset=6864 +.Linfo_string289: + .asciz "_ZNK9__gnu_cxx13new_allocatorIfE8max_sizeEv" @ string offset=6912 +.Linfo_string290: + .asciz "new_allocator<float>" @ string offset=6956 +.Linfo_string291: + .asciz "__allocator_base<float>" @ string offset=6977 +.Linfo_string292: + .asciz "allocator<float>" @ string offset=7001 +.Linfo_string293: + .asciz "_ZNSt16allocator_traitsISaIfEE8allocateERS0_jPKv" @ string offset=7018 +.Linfo_string294: + .asciz "_ZNSt16allocator_traitsISaIfEE10deallocateERS0_Pfj" @ string offset=7067 +.Linfo_string295: + .asciz "_ZNSt16allocator_traitsISaIfEE8max_sizeERKS0_" @ string offset=7118 +.Linfo_string296: + .asciz "_ZNSt16allocator_traitsISaIfEE37select_on_container_copy_constructionERKS0_" @ string offset=7164 +.Linfo_string297: + .asciz "allocator_traits<std::allocator<float> >" @ string offset=7240 +.Linfo_string298: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIfEE17_S_select_on_copyERKS1_" @ string offset=7281 +.Linfo_string299: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIfEE10_S_on_swapERS1_S3_" @ string offset=7343 +.Linfo_string300: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIfEE27_S_propagate_on_copy_assignEv" @ string offset=7400 +.Linfo_string301: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIfEE27_S_propagate_on_move_assignEv" @ string offset=7468 +.Linfo_string302: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIfEE20_S_propagate_on_swapEv" @ string offset=7536 +.Linfo_string303: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIfEE15_S_always_equalEv" @ string offset=7597 +.Linfo_string304: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaIfEE15_S_nothrow_moveEv" @ string offset=7653 +.Linfo_string305: + .asciz "__alloc_traits<std::allocator<float> >" @ string offset=7709 +.Linfo_string306: + .asciz "rebind<float>" @ string offset=7748 +.Linfo_string307: + .asciz "rebind_alloc<float>" @ string offset=7762 +.Linfo_string308: + .asciz "_ZNSt12_Vector_baseIfSaIfEE12_Vector_impl12_M_swap_dataERS2_" @ string offset=7782 +.Linfo_string309: + .asciz "_ZNSt12_Vector_baseIfSaIfEE19_M_get_Tp_allocatorEv" @ string offset=7843 +.Linfo_string310: + .asciz "_ZNKSt12_Vector_baseIfSaIfEE19_M_get_Tp_allocatorEv" @ string offset=7894 +.Linfo_string311: + .asciz "_ZNKSt12_Vector_baseIfSaIfEE13get_allocatorEv" @ string offset=7946 +.Linfo_string312: + .asciz "_ZNSt12_Vector_baseIfSaIfEE11_M_allocateEj" @ string offset=7992 +.Linfo_string313: + .asciz "_ZNSt12_Vector_baseIfSaIfEE13_M_deallocateEPfj" @ string offset=8035 +.Linfo_string314: + .asciz "_ZNSt12_Vector_baseIfSaIfEE17_M_create_storageEj" @ string offset=8082 +.Linfo_string315: + .asciz "_Vector_base<float, std::allocator<float> >" @ string offset=8131 +.Linfo_string316: + .asciz "initializer_list<float>" @ string offset=8175 +.Linfo_string317: + .asciz "_ZNSt6vectorIfSaIfEEaSERKS1_" @ string offset=8199 +.Linfo_string318: + .asciz "_ZNSt6vectorIfSaIfEEaSEOS1_" @ string offset=8228 +.Linfo_string319: + .asciz "_ZNSt6vectorIfSaIfEEaSESt16initializer_listIfE" @ string offset=8256 +.Linfo_string320: + .asciz "_ZNSt6vectorIfSaIfEE6assignEjRKf" @ string offset=8303 +.Linfo_string321: + .asciz "_ZNSt6vectorIfSaIfEE6assignESt16initializer_listIfE" @ string offset=8336 +.Linfo_string322: + .asciz "_ZNSt6vectorIfSaIfEE5beginEv" @ string offset=8388 +.Linfo_string323: + .asciz "__normal_iterator<float *, std::vector<float, std::allocator<float> > >" @ string offset=8417 +.Linfo_string324: + .asciz "_ZNKSt6vectorIfSaIfEE5beginEv" @ string offset=8489 +.Linfo_string325: + .asciz "__normal_iterator<const float *, std::vector<float, std::allocator<float> > >" @ string offset=8519 +.Linfo_string326: + .asciz "_ZNSt6vectorIfSaIfEE3endEv" @ string offset=8597 +.Linfo_string327: + .asciz "_ZNKSt6vectorIfSaIfEE3endEv" @ string offset=8624 +.Linfo_string328: + .asciz "_ZNSt6vectorIfSaIfEE6rbeginEv" @ string offset=8652 +.Linfo_string329: + .asciz "reverse_iterator<__gnu_cxx::__normal_iterator<float *, std::vector<float, std::allocator<float> > > >" @ string offset=8682 +.Linfo_string330: + .asciz "_ZNKSt6vectorIfSaIfEE6rbeginEv" @ string offset=8784 +.Linfo_string331: + .asciz "reverse_iterator<__gnu_cxx::__normal_iterator<const float *, std::vector<float, std::allocator<float> > > >" @ string offset=8815 +.Linfo_string332: + .asciz "_ZNSt6vectorIfSaIfEE4rendEv" @ string offset=8923 +.Linfo_string333: + .asciz "_ZNKSt6vectorIfSaIfEE4rendEv" @ string offset=8951 +.Linfo_string334: + .asciz "_ZNKSt6vectorIfSaIfEE6cbeginEv" @ string offset=8980 +.Linfo_string335: + .asciz "_ZNKSt6vectorIfSaIfEE4cendEv" @ string offset=9011 +.Linfo_string336: + .asciz "_ZNKSt6vectorIfSaIfEE7crbeginEv" @ string offset=9040 +.Linfo_string337: + .asciz "_ZNKSt6vectorIfSaIfEE5crendEv" @ string offset=9072 +.Linfo_string338: + .asciz "_ZNKSt6vectorIfSaIfEE4sizeEv" @ string offset=9102 +.Linfo_string339: + .asciz "_ZNKSt6vectorIfSaIfEE8max_sizeEv" @ string offset=9131 +.Linfo_string340: + .asciz "_ZNSt6vectorIfSaIfEE6resizeEj" @ string offset=9164 +.Linfo_string341: + .asciz "_ZNSt6vectorIfSaIfEE6resizeEjRKf" @ string offset=9194 +.Linfo_string342: + .asciz "_ZNSt6vectorIfSaIfEE13shrink_to_fitEv" @ string offset=9227 +.Linfo_string343: + .asciz "_ZNKSt6vectorIfSaIfEE8capacityEv" @ string offset=9265 +.Linfo_string344: + .asciz "_ZNKSt6vectorIfSaIfEE5emptyEv" @ string offset=9298 +.Linfo_string345: + .asciz "_ZNSt6vectorIfSaIfEE7reserveEj" @ string offset=9328 +.Linfo_string346: + .asciz "_ZNSt6vectorIfSaIfEEixEj" @ string offset=9359 +.Linfo_string347: + .asciz "_ZNKSt6vectorIfSaIfEEixEj" @ string offset=9384 +.Linfo_string348: + .asciz "_ZNKSt6vectorIfSaIfEE14_M_range_checkEj" @ string offset=9410 +.Linfo_string349: + .asciz "_ZNSt6vectorIfSaIfEE2atEj" @ string offset=9450 +.Linfo_string350: + .asciz "_ZNKSt6vectorIfSaIfEE2atEj" @ string offset=9476 +.Linfo_string351: + .asciz "_ZNSt6vectorIfSaIfEE5frontEv" @ string offset=9503 +.Linfo_string352: + .asciz "_ZNKSt6vectorIfSaIfEE5frontEv" @ string offset=9532 +.Linfo_string353: + .asciz "_ZNSt6vectorIfSaIfEE4backEv" @ string offset=9562 +.Linfo_string354: + .asciz "_ZNKSt6vectorIfSaIfEE4backEv" @ string offset=9590 +.Linfo_string355: + .asciz "_ZNSt6vectorIfSaIfEE4dataEv" @ string offset=9619 +.Linfo_string356: + .asciz "_ZNKSt6vectorIfSaIfEE4dataEv" @ string offset=9647 +.Linfo_string357: + .asciz "_ZNSt6vectorIfSaIfEE9push_backERKf" @ string offset=9676 +.Linfo_string358: + .asciz "_ZNSt6vectorIfSaIfEE9push_backEOf" @ string offset=9711 +.Linfo_string359: + .asciz "_ZNSt6vectorIfSaIfEE8pop_backEv" @ string offset=9745 +.Linfo_string360: + .asciz "_ZNSt6vectorIfSaIfEE6insertEN9__gnu_cxx17__normal_iteratorIPKfS1_EERS4_" @ string offset=9777 +.Linfo_string361: + .asciz "_ZNSt6vectorIfSaIfEE6insertEN9__gnu_cxx17__normal_iteratorIPKfS1_EEOf" @ string offset=9849 +.Linfo_string362: + .asciz "_ZNSt6vectorIfSaIfEE6insertEN9__gnu_cxx17__normal_iteratorIPKfS1_EESt16initializer_listIfE" @ string offset=9919 +.Linfo_string363: + .asciz "_ZNSt6vectorIfSaIfEE6insertEN9__gnu_cxx17__normal_iteratorIPKfS1_EEjRS4_" @ string offset=10010 +.Linfo_string364: + .asciz "_ZNSt6vectorIfSaIfEE5eraseEN9__gnu_cxx17__normal_iteratorIPKfS1_EE" @ string offset=10083 +.Linfo_string365: + .asciz "_ZNSt6vectorIfSaIfEE5eraseEN9__gnu_cxx17__normal_iteratorIPKfS1_EES6_" @ string offset=10150 +.Linfo_string366: + .asciz "_ZNSt6vectorIfSaIfEE4swapERS1_" @ string offset=10220 +.Linfo_string367: + .asciz "_ZNSt6vectorIfSaIfEE5clearEv" @ string offset=10251 +.Linfo_string368: + .asciz "_ZNSt6vectorIfSaIfEE18_M_fill_initializeEjRKf" @ string offset=10280 +.Linfo_string369: + .asciz "_ZNSt6vectorIfSaIfEE21_M_default_initializeEj" @ string offset=10326 +.Linfo_string370: + .asciz "_ZNSt6vectorIfSaIfEE14_M_fill_assignEjRKf" @ string offset=10372 +.Linfo_string371: + .asciz "_ZNSt6vectorIfSaIfEE14_M_fill_insertEN9__gnu_cxx17__normal_iteratorIPfS1_EEjRKf" @ string offset=10414 +.Linfo_string372: + .asciz "_ZNSt6vectorIfSaIfEE17_M_default_appendEj" @ string offset=10494 +.Linfo_string373: + .asciz "_ZNSt6vectorIfSaIfEE16_M_shrink_to_fitEv" @ string offset=10536 +.Linfo_string374: + .asciz "_ZNKSt6vectorIfSaIfEE12_M_check_lenEjPKc" @ string offset=10577 +.Linfo_string375: + .asciz "_ZNSt6vectorIfSaIfEE15_M_erase_at_endEPf" @ string offset=10618 +.Linfo_string376: + .asciz "_ZNSt6vectorIfSaIfEE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPfS1_EE" @ string offset=10659 +.Linfo_string377: + .asciz "_ZNSt6vectorIfSaIfEE8_M_eraseEN9__gnu_cxx17__normal_iteratorIPfS1_EES5_" @ string offset=10728 +.Linfo_string378: + .asciz "_ZNSt6vectorIfSaIfEE14_M_move_assignEOS1_St17integral_constantIbLb1EE" @ string offset=10800 +.Linfo_string379: + .asciz "_ZNSt6vectorIfSaIfEE14_M_move_assignEOS1_St17integral_constantIbLb0EE" @ string offset=10870 +.Linfo_string380: + .asciz "vector<float, std::allocator<float> >" @ string offset=10940 +.Linfo_string381: + .asciz "outBuffer" @ string offset=10978 +.Linfo_string382: + .asciz "writePointer" @ string offset=10988 +.Linfo_string383: + .asciz "readPointer" @ string offset=11001 +.Linfo_string384: + .asciz "triggerPointer" @ string offset=11013 +.Linfo_string385: + .asciz "customTriggerPointer" @ string offset=11028 +.Linfo_string386: + .asciz "triggerPrimed" @ string offset=11049 +.Linfo_string387: + .asciz "triggerCollecting" @ string offset=11063 +.Linfo_string388: + .asciz "triggerWaiting" @ string offset=11081 +.Linfo_string389: + .asciz "triggerCount" @ string offset=11096 +.Linfo_string390: + .asciz "autoTriggerCount" @ string offset=11109 +.Linfo_string391: + .asciz "started" @ string offset=11126 +.Linfo_string392: + .asciz "customTriggered" @ string offset=11134 +.Linfo_string393: + .asciz "FFTLength" @ string offset=11150 +.Linfo_string394: + .asciz "newFFTLength" @ string offset=11160 +.Linfo_string395: + .asciz "FFTScale" @ string offset=11173 +.Linfo_string396: + .asciz "FFTLogOffset" @ string offset=11182 +.Linfo_string397: + .asciz "pointerFFT" @ string offset=11195 +.Linfo_string398: + .asciz "collectingFFT" @ string offset=11206 +.Linfo_string399: + .asciz "windowFFT" @ string offset=11220 +.Linfo_string400: + .asciz "FFTXAxis" @ string offset=11230 +.Linfo_string401: + .asciz "FFTYAxis" @ string offset=11239 +.Linfo_string402: + .asciz "inFFT" @ string offset=11248 +.Linfo_string403: + .asciz "ne10_fft_cpx_float32_t" @ string offset=11254 +.Linfo_string404: + .asciz "outFFT" @ string offset=11277 +.Linfo_string405: + .asciz "cfg" @ string offset=11284 +.Linfo_string406: + .asciz "ne10_fft_state_float32_t" @ string offset=11288 +.Linfo_string407: + .asciz "ne10_fft_cfg_float32_t" @ string offset=11313 +.Linfo_string408: + .asciz "scopeTriggerTask" @ string offset=11336 +.Linfo_string409: + .asciz "_M_t" @ string offset=11353 +.Linfo_string410: + .asciz "default_delete" @ string offset=11358 +.Linfo_string411: + .asciz "_ZNKSt14default_deleteI9AuxTaskRTEclEPS0_" @ string offset=11373 +.Linfo_string412: + .asciz "operator()" @ string offset=11415 +.Linfo_string413: + .asciz "AuxTaskRT" @ string offset=11426 +.Linfo_string414: + .asciz "default_delete<AuxTaskRT>" @ string offset=11436 +.Linfo_string415: + .asciz "_Head_base" @ string offset=11462 +.Linfo_string416: + .asciz "allocator_arg_t" @ string offset=11473 +.Linfo_string417: + .asciz "__uses_alloc_base" @ string offset=11489 +.Linfo_string418: + .asciz "_M_a" @ string offset=11507 +.Linfo_string419: + .asciz "_ZNSt13__uses_alloc05_SinkaSEPKv" @ string offset=11512 +.Linfo_string420: + .asciz "_Sink" @ string offset=11545 +.Linfo_string421: + .asciz "__uses_alloc0" @ string offset=11551 +.Linfo_string422: + .asciz "_ZNSt10_Head_baseILj1ESt14default_deleteI9AuxTaskRTELb1EE7_M_headERS3_" @ string offset=11565 +.Linfo_string423: + .asciz "_M_head" @ string offset=11636 +.Linfo_string424: + .asciz "_ZNSt10_Head_baseILj1ESt14default_deleteI9AuxTaskRTELb1EE7_M_headERKS3_" @ string offset=11644 +.Linfo_string425: + .asciz "_Idx" @ string offset=11716 +.Linfo_string426: + .asciz "_Head" @ string offset=11721 +.Linfo_string427: + .asciz "_IsEmptyNotFinal" @ string offset=11727 +.Linfo_string428: + .asciz "_Head_base<1, std::default_delete<AuxTaskRT>, true>" @ string offset=11744 +.Linfo_string429: + .asciz "_ZNSt11_Tuple_implILj1EJSt14default_deleteI9AuxTaskRTEEE7_M_headERS3_" @ string offset=11796 +.Linfo_string430: + .asciz "_ZNSt11_Tuple_implILj1EJSt14default_deleteI9AuxTaskRTEEE7_M_headERKS3_" @ string offset=11866 +.Linfo_string431: + .asciz "_Tuple_impl" @ string offset=11937 +.Linfo_string432: + .asciz "_ZNSt11_Tuple_implILj1EJSt14default_deleteI9AuxTaskRTEEEaSERKS3_" @ string offset=11949 +.Linfo_string433: + .asciz "_ZNSt11_Tuple_implILj1EJSt14default_deleteI9AuxTaskRTEEEaSEOS3_" @ string offset=12014 +.Linfo_string434: + .asciz "_ZNSt11_Tuple_implILj1EJSt14default_deleteI9AuxTaskRTEEE7_M_swapERS3_" @ string offset=12078 +.Linfo_string435: + .asciz "_M_swap" @ string offset=12148 +.Linfo_string436: + .asciz "_Elements" @ string offset=12156 +.Linfo_string437: + .asciz "_Tuple_impl<1, std::default_delete<AuxTaskRT> >" @ string offset=12166 +.Linfo_string438: + .asciz "_M_head_impl" @ string offset=12214 +.Linfo_string439: + .asciz "_ZNSt10_Head_baseILj0EP9AuxTaskRTLb0EE7_M_headERS2_" @ string offset=12227 +.Linfo_string440: + .asciz "_ZNSt10_Head_baseILj0EP9AuxTaskRTLb0EE7_M_headERKS2_" @ string offset=12279 +.Linfo_string441: + .asciz "_Head_base<0, AuxTaskRT *, false>" @ string offset=12332 +.Linfo_string442: + .asciz "_ZNSt11_Tuple_implILj0EJP9AuxTaskRTSt14default_deleteIS0_EEE7_M_headERS4_" @ string offset=12366 +.Linfo_string443: + .asciz "_ZNSt11_Tuple_implILj0EJP9AuxTaskRTSt14default_deleteIS0_EEE7_M_headERKS4_" @ string offset=12440 +.Linfo_string444: + .asciz "_ZNSt11_Tuple_implILj0EJP9AuxTaskRTSt14default_deleteIS0_EEE7_M_tailERS4_" @ string offset=12515 +.Linfo_string445: + .asciz "_M_tail" @ string offset=12589 +.Linfo_string446: + .asciz "_Inherited" @ string offset=12597 +.Linfo_string447: + .asciz "_ZNSt11_Tuple_implILj0EJP9AuxTaskRTSt14default_deleteIS0_EEE7_M_tailERKS4_" @ string offset=12608 +.Linfo_string448: + .asciz "_ZNSt11_Tuple_implILj0EJP9AuxTaskRTSt14default_deleteIS0_EEEaSERKS4_" @ string offset=12683 +.Linfo_string449: + .asciz "_ZNSt11_Tuple_implILj0EJP9AuxTaskRTSt14default_deleteIS0_EEEaSEOS4_" @ string offset=12752 +.Linfo_string450: + .asciz "_ZNSt11_Tuple_implILj0EJP9AuxTaskRTSt14default_deleteIS0_EEE7_M_swapERS4_" @ string offset=12820 +.Linfo_string451: + .asciz "_Tuple_impl<0, AuxTaskRT *, std::default_delete<AuxTaskRT> >" @ string offset=12894 +.Linfo_string452: + .asciz "tuple" @ string offset=12955 +.Linfo_string453: + .asciz "_ZNSt5tupleIJP9AuxTaskRTSt14default_deleteIS0_EEEaSERKS4_" @ string offset=12961 +.Linfo_string454: + .asciz "_ZNSt5tupleIJP9AuxTaskRTSt14default_deleteIS0_EEEaSEOS4_" @ string offset=13019 +.Linfo_string455: + .asciz "_ZNSt5tupleIJP9AuxTaskRTSt14default_deleteIS0_EEE4swapERS4_" @ string offset=13076 +.Linfo_string456: + .asciz "tuple<AuxTaskRT *, std::default_delete<AuxTaskRT> >" @ string offset=13136 +.Linfo_string457: + .asciz "__tuple_type" @ string offset=13188 +.Linfo_string458: + .asciz "unique_ptr" @ string offset=13201 +.Linfo_string459: + .asciz "_Pointer" @ string offset=13212 +.Linfo_string460: + .asciz "type" @ string offset=13221 +.Linfo_string461: + .asciz "_Cond" @ string offset=13226 +.Linfo_string462: + .asciz "_Iftrue" @ string offset=13232 +.Linfo_string463: + .asciz "_Iffalse" @ string offset=13240 +.Linfo_string464: + .asciz "conditional<false, std::default_delete<AuxTaskRT>, const std::default_delete<AuxTaskRT> &>" @ string offset=13249 +.Linfo_string465: + .asciz "remove_reference<std::default_delete<AuxTaskRT> >" @ string offset=13340 +.Linfo_string466: + .asciz "decltype(nullptr)" @ string offset=13390 +.Linfo_string467: + .asciz "nullptr_t" @ string offset=13408 +.Linfo_string468: + .asciz "~unique_ptr" @ string offset=13418 +.Linfo_string469: + .asciz "_ZNSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EEaSEOS3_" @ string offset=13430 +.Linfo_string470: + .asciz "_ZNSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EEaSEDn" @ string offset=13490 +.Linfo_string471: + .asciz "_ZNKSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EEdeEv" @ string offset=13548 +.Linfo_string472: + .asciz "operator*" @ string offset=13606 +.Linfo_string473: + .asciz "__add_lvalue_reference_helper<AuxTaskRT, true>" @ string offset=13616 +.Linfo_string474: + .asciz "_ZNKSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EEptEv" @ string offset=13663 +.Linfo_string475: + .asciz "operator->" @ string offset=13721 +.Linfo_string476: + .asciz "_ZNKSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EE3getEv" @ string offset=13732 +.Linfo_string477: + .asciz "get" @ string offset=13792 +.Linfo_string478: + .asciz "_ZNSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EE11get_deleterEv" @ string offset=13796 +.Linfo_string479: + .asciz "get_deleter" @ string offset=13864 +.Linfo_string480: + .asciz "deleter_type" @ string offset=13876 +.Linfo_string481: + .asciz "_ZNKSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EE11get_deleterEv" @ string offset=13889 +.Linfo_string482: + .asciz "_ZNKSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EEcvbEv" @ string offset=13958 +.Linfo_string483: + .asciz "_ZNSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EE7releaseEv" @ string offset=14017 +.Linfo_string484: + .asciz "release" @ string offset=14080 +.Linfo_string485: + .asciz "_ZNSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EE5resetEPS0_" @ string offset=14088 +.Linfo_string486: + .asciz "reset" @ string offset=14152 +.Linfo_string487: + .asciz "_ZNSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EE4swapERS3_" @ string offset=14158 +.Linfo_string488: + .asciz "_ZNSt10unique_ptrI9AuxTaskRTSt14default_deleteIS0_EEaSERKS3_" @ string offset=14221 +.Linfo_string489: + .asciz "_Dp" @ string offset=14282 +.Linfo_string490: + .asciz "unique_ptr<AuxTaskRT, std::default_delete<AuxTaskRT> >" @ string offset=14286 +.Linfo_string491: + .asciz "ws_server" @ string offset=14341 +.Linfo_string492: + .asciz "_ZNKSt14default_deleteI8WSServerEclEPS0_" @ string offset=14351 +.Linfo_string493: + .asciz "WSServer" @ string offset=14392 +.Linfo_string494: + .asciz "default_delete<WSServer>" @ string offset=14401 +.Linfo_string495: + .asciz "_ZNSt10_Head_baseILj1ESt14default_deleteI8WSServerELb1EE7_M_headERS3_" @ string offset=14426 +.Linfo_string496: + .asciz "_ZNSt10_Head_baseILj1ESt14default_deleteI8WSServerELb1EE7_M_headERKS3_" @ string offset=14496 +.Linfo_string497: + .asciz "_Head_base<1, std::default_delete<WSServer>, true>" @ string offset=14567 +.Linfo_string498: + .asciz "_ZNSt11_Tuple_implILj1EJSt14default_deleteI8WSServerEEE7_M_headERS3_" @ string offset=14618 +.Linfo_string499: + .asciz "_ZNSt11_Tuple_implILj1EJSt14default_deleteI8WSServerEEE7_M_headERKS3_" @ string offset=14687 +.Linfo_string500: + .asciz "_ZNSt11_Tuple_implILj1EJSt14default_deleteI8WSServerEEEaSERKS3_" @ string offset=14757 +.Linfo_string501: + .asciz "_ZNSt11_Tuple_implILj1EJSt14default_deleteI8WSServerEEEaSEOS3_" @ string offset=14821 +.Linfo_string502: + .asciz "_ZNSt11_Tuple_implILj1EJSt14default_deleteI8WSServerEEE7_M_swapERS3_" @ string offset=14884 +.Linfo_string503: + .asciz "_Tuple_impl<1, std::default_delete<WSServer> >" @ string offset=14953 +.Linfo_string504: + .asciz "_ZNSt10_Head_baseILj0EP8WSServerLb0EE7_M_headERS2_" @ string offset=15000 +.Linfo_string505: + .asciz "_ZNSt10_Head_baseILj0EP8WSServerLb0EE7_M_headERKS2_" @ string offset=15051 +.Linfo_string506: + .asciz "_Head_base<0, WSServer *, false>" @ string offset=15103 +.Linfo_string507: + .asciz "_ZNSt11_Tuple_implILj0EJP8WSServerSt14default_deleteIS0_EEE7_M_headERS4_" @ string offset=15136 +.Linfo_string508: + .asciz "_ZNSt11_Tuple_implILj0EJP8WSServerSt14default_deleteIS0_EEE7_M_headERKS4_" @ string offset=15209 +.Linfo_string509: + .asciz "_ZNSt11_Tuple_implILj0EJP8WSServerSt14default_deleteIS0_EEE7_M_tailERS4_" @ string offset=15283 +.Linfo_string510: + .asciz "_ZNSt11_Tuple_implILj0EJP8WSServerSt14default_deleteIS0_EEE7_M_tailERKS4_" @ string offset=15356 +.Linfo_string511: + .asciz "_ZNSt11_Tuple_implILj0EJP8WSServerSt14default_deleteIS0_EEEaSERKS4_" @ string offset=15430 +.Linfo_string512: + .asciz "_ZNSt11_Tuple_implILj0EJP8WSServerSt14default_deleteIS0_EEEaSEOS4_" @ string offset=15498 +.Linfo_string513: + .asciz "_ZNSt11_Tuple_implILj0EJP8WSServerSt14default_deleteIS0_EEE7_M_swapERS4_" @ string offset=15565 +.Linfo_string514: + .asciz "_Tuple_impl<0, WSServer *, std::default_delete<WSServer> >" @ string offset=15638 +.Linfo_string515: + .asciz "_ZNSt5tupleIJP8WSServerSt14default_deleteIS0_EEEaSERKS4_" @ string offset=15697 +.Linfo_string516: + .asciz "_ZNSt5tupleIJP8WSServerSt14default_deleteIS0_EEEaSEOS4_" @ string offset=15754 +.Linfo_string517: + .asciz "_ZNSt5tupleIJP8WSServerSt14default_deleteIS0_EEE4swapERS4_" @ string offset=15810 +.Linfo_string518: + .asciz "tuple<WSServer *, std::default_delete<WSServer> >" @ string offset=15869 +.Linfo_string519: + .asciz "conditional<false, std::default_delete<WSServer>, const std::default_delete<WSServer> &>" @ string offset=15919 +.Linfo_string520: + .asciz "remove_reference<std::default_delete<WSServer> >" @ string offset=16008 +.Linfo_string521: + .asciz "_ZNSt10unique_ptrI8WSServerSt14default_deleteIS0_EEaSEOS3_" @ string offset=16057 +.Linfo_string522: + .asciz "_ZNSt10unique_ptrI8WSServerSt14default_deleteIS0_EEaSEDn" @ string offset=16116 +.Linfo_string523: + .asciz "_ZNKSt10unique_ptrI8WSServerSt14default_deleteIS0_EEdeEv" @ string offset=16173 +.Linfo_string524: + .asciz "__add_lvalue_reference_helper<WSServer, true>" @ string offset=16230 +.Linfo_string525: + .asciz "_ZNKSt10unique_ptrI8WSServerSt14default_deleteIS0_EEptEv" @ string offset=16276 +.Linfo_string526: + .asciz "_ZNKSt10unique_ptrI8WSServerSt14default_deleteIS0_EE3getEv" @ string offset=16333 +.Linfo_string527: + .asciz "_ZNSt10unique_ptrI8WSServerSt14default_deleteIS0_EE11get_deleterEv" @ string offset=16392 +.Linfo_string528: + .asciz "_ZNKSt10unique_ptrI8WSServerSt14default_deleteIS0_EE11get_deleterEv" @ string offset=16459 +.Linfo_string529: + .asciz "_ZNKSt10unique_ptrI8WSServerSt14default_deleteIS0_EEcvbEv" @ string offset=16527 +.Linfo_string530: + .asciz "_ZNSt10unique_ptrI8WSServerSt14default_deleteIS0_EE7releaseEv" @ string offset=16585 +.Linfo_string531: + .asciz "_ZNSt10unique_ptrI8WSServerSt14default_deleteIS0_EE5resetEPS0_" @ string offset=16647 +.Linfo_string532: + .asciz "_ZNSt10unique_ptrI8WSServerSt14default_deleteIS0_EE4swapERS3_" @ string offset=16710 +.Linfo_string533: + .asciz "_ZNSt10unique_ptrI8WSServerSt14default_deleteIS0_EEaSERKS3_" @ string offset=16772 +.Linfo_string534: + .asciz "unique_ptr<WSServer, std::default_delete<WSServer> >" @ string offset=16832 +.Linfo_string535: + .asciz "settings" @ string offset=16885 +.Linfo_string536: + .asciz "_ZNSt16allocator_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE8allocateERS9_j" @ string offset=16894 +.Linfo_string537: + .asciz "pair<const std::__cxx11::basic_string<wchar_t>, float>" @ string offset=17002 +.Linfo_string538: + .asciz "_ZNK9__gnu_cxx13new_allocatorISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEE7addressERS9_" @ string offset=17057 +.Linfo_string539: + .asciz "_ZNK9__gnu_cxx13new_allocatorISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEE7addressERKS9_" @ string offset=17165 +.Linfo_string540: + .asciz "_ZN9__gnu_cxx13new_allocatorISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEE8allocateEjPKv" @ string offset=17274 +.Linfo_string541: + .asciz "_ZN9__gnu_cxx13new_allocatorISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEE10deallocateEPS9_j" @ string offset=17382 +.Linfo_string542: + .asciz "_ZNK9__gnu_cxx13new_allocatorISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEE8max_sizeEv" @ string offset=17494 +.Linfo_string543: + .asciz "new_allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >" @ string offset=17600 +.Linfo_string544: + .asciz "__allocator_base<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >" @ string offset=17676 +.Linfo_string545: + .asciz "allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >" @ string offset=17755 +.Linfo_string546: + .asciz "_ZNSt16allocator_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE8allocateERS9_jPKv" @ string offset=17827 +.Linfo_string547: + .asciz "_ZNSt16allocator_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE10deallocateERS9_PS8_j" @ string offset=17938 +.Linfo_string548: + .asciz "_ZNSt16allocator_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE8max_sizeERKS9_" @ string offset=18053 +.Linfo_string549: + .asciz "_ZNSt16allocator_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE37select_on_container_copy_constructionERKS9_" @ string offset=18161 +.Linfo_string550: + .asciz "allocator_traits<std::allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=18299 +.Linfo_string551: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE17_S_select_on_copyERKSA_" @ string offset=18395 +.Linfo_string552: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE10_S_on_swapERSA_SC_" @ string offset=18519 +.Linfo_string553: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE27_S_propagate_on_copy_assignEv" @ string offset=18638 +.Linfo_string554: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE27_S_propagate_on_move_assignEv" @ string offset=18768 +.Linfo_string555: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE20_S_propagate_on_swapEv" @ string offset=18898 +.Linfo_string556: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE15_S_always_equalEv" @ string offset=19021 +.Linfo_string557: + .asciz "_ZN9__gnu_cxx14__alloc_traitsISaISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE15_S_nothrow_moveEv" @ string offset=19139 +.Linfo_string558: + .asciz "__alloc_traits<std::allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=19257 +.Linfo_string559: + .asciz "_Rb_tree_node<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >" @ string offset=19351 +.Linfo_string560: + .asciz "rebind<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=19427 +.Linfo_string561: + .asciz "_ZNK9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE7addressERSB_" @ string offset=19517 +.Linfo_string562: + .asciz "_ZNK9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE7addressERKSB_" @ string offset=19644 +.Linfo_string563: + .asciz "_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE8allocateEjPKv" @ string offset=19772 +.Linfo_string564: + .asciz "_ZN9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE10deallocateEPSB_j" @ string offset=19899 +.Linfo_string565: + .asciz "_ZNK9__gnu_cxx13new_allocatorISt13_Rb_tree_nodeISt4pairIKNSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfEEE8max_sizeEv" @ string offset=20030 +.Linfo_string566: + .asciz "new_allocator<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=20155 +.Linfo_string567: + .asciz "__allocator_base<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=20252 +.Linfo_string568: + .asciz "allocator<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=20352 +.Linfo_string569: + .asciz "rebind_alloc<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=20445 +.Linfo_string570: + .asciz "_Node_allocator" @ string offset=20541 +.Linfo_string571: + .asciz "_M_key_compare" @ string offset=20557 +.Linfo_string572: + .asciz "__cxx11" @ string offset=20572 +.Linfo_string573: + .asciz "basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >" @ string offset=20580 +.Linfo_string574: + .asciz "_Arg1" @ string offset=20655 +.Linfo_string575: + .asciz "_Arg2" @ string offset=20661 +.Linfo_string576: + .asciz "_Result" @ string offset=20667 +.Linfo_string577: + .asciz "binary_function<std::__cxx11::basic_string<wchar_t>, std::__cxx11::basic_string<wchar_t>, bool>" @ string offset=20675 +.Linfo_string578: + .asciz "_ZNKSt4lessINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEEclERKS5_S8_" @ string offset=20771 +.Linfo_string579: + .asciz "less<std::__cxx11::basic_string<wchar_t> >" @ string offset=20848 +.Linfo_string580: + .asciz "_M_header" @ string offset=20891 +.Linfo_string581: + .asciz "_M_color" @ string offset=20901 +.Linfo_string582: + .asciz "_S_red" @ string offset=20910 +.Linfo_string583: + .asciz "_S_black" @ string offset=20917 +.Linfo_string584: + .asciz "_Rb_tree_color" @ string offset=20926 +.Linfo_string585: + .asciz "_M_parent" @ string offset=20941 +.Linfo_string586: + .asciz "_Base_ptr" @ string offset=20951 +.Linfo_string587: + .asciz "_M_left" @ string offset=20961 +.Linfo_string588: + .asciz "_M_right" @ string offset=20969 +.Linfo_string589: + .asciz "_ZNSt18_Rb_tree_node_base10_S_minimumEPS_" @ string offset=20978 +.Linfo_string590: + .asciz "_S_minimum" @ string offset=21020 +.Linfo_string591: + .asciz "_ZNSt18_Rb_tree_node_base10_S_minimumEPKS_" @ string offset=21031 +.Linfo_string592: + .asciz "_Const_Base_ptr" @ string offset=21074 +.Linfo_string593: + .asciz "_ZNSt18_Rb_tree_node_base10_S_maximumEPS_" @ string offset=21090 +.Linfo_string594: + .asciz "_S_maximum" @ string offset=21132 +.Linfo_string595: + .asciz "_ZNSt18_Rb_tree_node_base10_S_maximumEPKS_" @ string offset=21143 +.Linfo_string596: + .asciz "_Rb_tree_node_base" @ string offset=21186 +.Linfo_string597: + .asciz "_M_node_count" @ string offset=21205 +.Linfo_string598: + .asciz "_Rb_tree_impl" @ string offset=21219 +.Linfo_string599: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EE8_M_resetEv" @ string offset=21233 +.Linfo_string600: + .asciz "_M_reset" @ string offset=21389 +.Linfo_string601: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13_Rb_tree_implISC_Lb1EE13_M_initializeEv" @ string offset=21398 +.Linfo_string602: + .asciz "_M_initialize" @ string offset=21560 +.Linfo_string603: + .asciz "_Key_compare" @ string offset=21574 +.Linfo_string604: + .asciz "_Rb_tree_impl<std::less<std::__cxx11::basic_string<wchar_t> >, true>" @ string offset=21587 +.Linfo_string605: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE21_M_get_Node_allocatorEv" @ string offset=21656 +.Linfo_string606: + .asciz "_M_get_Node_allocator" @ string offset=21802 +.Linfo_string607: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE21_M_get_Node_allocatorEv" @ string offset=21824 +.Linfo_string608: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE13get_allocatorEv" @ string offset=21971 +.Linfo_string609: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_get_nodeEv" @ string offset=22110 +.Linfo_string610: + .asciz "_M_get_node" @ string offset=22246 +.Linfo_string611: + .asciz "_Link_type" @ string offset=22258 +.Linfo_string612: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_put_nodeEPSt13_Rb_tree_nodeIS8_E" @ string offset=22269 +.Linfo_string613: + .asciz "_M_put_node" @ string offset=22427 +.Linfo_string614: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE15_M_destroy_nodeEPSt13_Rb_tree_nodeIS8_E" @ string offset=22439 +.Linfo_string615: + .asciz "_M_destroy_node" @ string offset=22601 +.Linfo_string616: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_drop_nodeEPSt13_Rb_tree_nodeIS8_E" @ string offset=22617 +.Linfo_string617: + .asciz "_M_drop_node" @ string offset=22776 +.Linfo_string618: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_M_rootEv" @ string offset=22789 +.Linfo_string619: + .asciz "_M_root" @ string offset=22920 +.Linfo_string620: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_M_rootEv" @ string offset=22928 +.Linfo_string621: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_leftmostEv" @ string offset=23060 +.Linfo_string622: + .asciz "_M_leftmost" @ string offset=23196 +.Linfo_string623: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11_M_leftmostEv" @ string offset=23208 +.Linfo_string624: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_rightmostEv" @ string offset=23345 +.Linfo_string625: + .asciz "_M_rightmost" @ string offset=23482 +.Linfo_string626: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_rightmostEv" @ string offset=23495 +.Linfo_string627: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv" @ string offset=23633 +.Linfo_string628: + .asciz "_M_begin" @ string offset=23765 +.Linfo_string629: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_beginEv" @ string offset=23774 +.Linfo_string630: + .asciz "_Const_Link_type" @ string offset=23907 +.Linfo_string631: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv" @ string offset=23924 +.Linfo_string632: + .asciz "_M_end" @ string offset=24054 +.Linfo_string633: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_M_endEv" @ string offset=24061 +.Linfo_string634: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_valueEPKSt13_Rb_tree_nodeIS8_E" @ string offset=24192 +.Linfo_string635: + .asciz "_S_value" @ string offset=24347 +.Linfo_string636: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt13_Rb_tree_nodeIS8_E" @ string offset=24356 +.Linfo_string637: + .asciz "_S_key" @ string offset=24509 +.Linfo_string638: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPSt18_Rb_tree_node_base" @ string offset=24516 +.Linfo_string639: + .asciz "_S_left" @ string offset=24669 +.Linfo_string640: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_S_leftEPKSt18_Rb_tree_node_base" @ string offset=24677 +.Linfo_string641: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPSt18_Rb_tree_node_base" @ string offset=24831 +.Linfo_string642: + .asciz "_S_right" @ string offset=24985 +.Linfo_string643: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_rightEPKSt18_Rb_tree_node_base" @ string offset=24994 +.Linfo_string644: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_S_valueEPKSt18_Rb_tree_node_base" @ string offset=25149 +.Linfo_string645: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6_S_keyEPKSt18_Rb_tree_node_base" @ string offset=25304 +.Linfo_string646: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_S_minimumEPSt18_Rb_tree_node_base" @ string offset=25457 +.Linfo_string647: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_S_minimumEPKSt18_Rb_tree_node_base" @ string offset=25614 +.Linfo_string648: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_S_maximumEPSt18_Rb_tree_node_base" @ string offset=25772 +.Linfo_string649: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE10_S_maximumEPKSt18_Rb_tree_node_base" @ string offset=25929 +.Linfo_string650: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE24_M_get_insert_unique_posERS7_" @ string offset=26087 +.Linfo_string651: + .asciz "_M_get_insert_unique_pos" @ string offset=26239 +.Linfo_string652: + .asciz "first" @ string offset=26264 +.Linfo_string653: + .asciz "second" @ string offset=26270 +.Linfo_string654: + .asciz "pair" @ string offset=26277 +.Linfo_string655: + .asciz "_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EaSERKS2_" @ string offset=26282 +.Linfo_string656: + .asciz "__wrap_nonesuch" @ string offset=26329 +.Linfo_string657: + .asciz "conditional<true, const std::pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *> &, const std::__wrap_nonesuch &>" @ string offset=26345 +.Linfo_string658: + .asciz "_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EaSERKSt15__wrap_nonesuch" @ string offset=26466 +.Linfo_string659: + .asciz "conditional<false, const std::pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *> &, const std::__wrap_nonesuch &>" @ string offset=26529 +.Linfo_string660: + .asciz "_ZNSt4pairIPSt18_Rb_tree_node_baseS1_EaSEOS2_" @ string offset=26651 +.Linfo_string661: + .asciz "conditional<true, std::pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *> &&, std::__wrap_nonesuch &&>" @ string offset=26697 +.Linfo_string662: + .asciz "_ZNSt4pairIPSt18_Rb_tree_node_baseS1_E4swapERS2_" @ string offset=26808 +.Linfo_string663: + .asciz "_T1" @ string offset=26857 +.Linfo_string664: + .asciz "_T2" @ string offset=26861 +.Linfo_string665: + .asciz "pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *>" @ string offset=26865 +.Linfo_string666: + .asciz "key_type" @ string offset=26924 +.Linfo_string667: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE23_M_get_insert_equal_posERS7_" @ string offset=26933 +.Linfo_string668: + .asciz "_M_get_insert_equal_pos" @ string offset=27084 +.Linfo_string669: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE29_M_get_insert_hint_unique_posESt23_Rb_tree_const_iteratorIS8_ERS7_" @ string offset=27108 +.Linfo_string670: + .asciz "_M_get_insert_hint_unique_pos" @ string offset=27297 +.Linfo_string671: + .asciz "_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >" @ string offset=27327 +.Linfo_string672: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE28_M_get_insert_hint_equal_posESt23_Rb_tree_const_iteratorIS8_ERS7_" @ string offset=27413 +.Linfo_string673: + .asciz "_M_get_insert_hint_equal_pos" @ string offset=27601 +.Linfo_string674: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_insert_nodeEPSt18_Rb_tree_node_baseSG_PSt13_Rb_tree_nodeIS8_E" @ string offset=27630 +.Linfo_string675: + .asciz "_M_insert_node" @ string offset=27817 +.Linfo_string676: + .asciz "_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >" @ string offset=27832 +.Linfo_string677: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE20_M_insert_lower_nodeEPSt18_Rb_tree_node_basePSt13_Rb_tree_nodeIS8_E" @ string offset=27912 +.Linfo_string678: + .asciz "_M_insert_lower_node" @ string offset=28102 +.Linfo_string679: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE26_M_insert_equal_lower_nodeEPSt13_Rb_tree_nodeIS8_E" @ string offset=28123 +.Linfo_string680: + .asciz "_M_insert_equal_lower_node" @ string offset=28296 +.Linfo_string681: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE7_M_copyEPKSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_base" @ string offset=28323 +.Linfo_string682: + .asciz "_M_copy" @ string offset=28500 +.Linfo_string683: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8_M_eraseEPSt13_Rb_tree_nodeIS8_E" @ string offset=28508 +.Linfo_string684: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_baseRS7_" @ string offset=28662 +.Linfo_string685: + .asciz "_M_lower_bound" @ string offset=28850 +.Linfo_string686: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_lower_boundEPKSt13_Rb_tree_nodeIS8_EPKSt18_Rb_tree_node_baseRS7_" @ string offset=28865 +.Linfo_string687: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_upper_boundEPSt13_Rb_tree_nodeIS8_EPSt18_Rb_tree_node_baseRS7_" @ string offset=29056 +.Linfo_string688: + .asciz "_M_upper_bound" @ string offset=29244 +.Linfo_string689: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_upper_boundEPKSt13_Rb_tree_nodeIS8_EPKSt18_Rb_tree_node_baseRS7_" @ string offset=29259 +.Linfo_string690: + .asciz "_Rb_tree" @ string offset=29450 +.Linfo_string691: + .asciz "~_Rb_tree" @ string offset=29459 +.Linfo_string692: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEaSERKSE_" @ string offset=29469 +.Linfo_string693: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8key_compEv" @ string offset=29598 +.Linfo_string694: + .asciz "key_comp" @ string offset=29731 +.Linfo_string695: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5beginEv" @ string offset=29740 +.Linfo_string696: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5beginEv" @ string offset=29869 +.Linfo_string697: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv" @ string offset=29999 +.Linfo_string698: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE3endEv" @ string offset=30126 +.Linfo_string699: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6rbeginEv" @ string offset=30254 +.Linfo_string700: + .asciz "reverse_iterator<std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=30384 +.Linfo_string701: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE6rbeginEv" @ string offset=30488 +.Linfo_string702: + .asciz "reverse_iterator<std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=30619 +.Linfo_string703: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4rendEv" @ string offset=30729 +.Linfo_string704: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4rendEv" @ string offset=30857 +.Linfo_string705: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5emptyEv" @ string offset=30986 +.Linfo_string706: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4sizeEv" @ string offset=31116 +.Linfo_string707: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE8max_sizeEv" @ string offset=31245 +.Linfo_string708: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4swapERSE_" @ string offset=31378 +.Linfo_string709: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS8_E" @ string offset=31509 +.Linfo_string710: + .asciz "_M_erase_aux" @ string offset=31677 +.Linfo_string711: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_erase_auxESt23_Rb_tree_const_iteratorIS8_ESG_" @ string offset=31690 +.Linfo_string712: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIS8_E" @ string offset=31861 +.Linfo_string713: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5eraseB5cxx11ESt17_Rb_tree_iteratorIS8_E" @ string offset=32028 +.Linfo_string714: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5eraseERS7_" @ string offset=32189 +.Linfo_string715: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5eraseB5cxx11ESt23_Rb_tree_const_iteratorIS8_ESG_" @ string offset=32321 +.Linfo_string716: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5eraseEPS7_SF_" @ string offset=32491 +.Linfo_string717: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5clearEv" @ string offset=32626 +.Linfo_string718: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_" @ string offset=32755 +.Linfo_string719: + .asciz "find" @ string offset=32886 +.Linfo_string720: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE4findERS7_" @ string offset=32891 +.Linfo_string721: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE5countERS7_" @ string offset=33023 +.Linfo_string722: + .asciz "count" @ string offset=33156 +.Linfo_string723: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11lower_boundERS7_" @ string offset=33162 +.Linfo_string724: + .asciz "lower_bound" @ string offset=33301 +.Linfo_string725: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11lower_boundERS7_" @ string offset=33313 +.Linfo_string726: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11upper_boundERS7_" @ string offset=33453 +.Linfo_string727: + .asciz "upper_bound" @ string offset=33592 +.Linfo_string728: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11upper_boundERS7_" @ string offset=33604 +.Linfo_string729: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11equal_rangeERS7_" @ string offset=33744 +.Linfo_string730: + .asciz "equal_range" @ string offset=33883 +.Linfo_string731: + .asciz "pair<std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >, std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=33895 +.Linfo_string732: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11equal_rangeERS7_" @ string offset=34073 +.Linfo_string733: + .asciz "pair<std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >, std::_Rb_tree_const_iterator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=34213 +.Linfo_string734: + .asciz "_ZNKSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE11__rb_verifyEv" @ string offset=34403 +.Linfo_string735: + .asciz "__rb_verify" @ string offset=34540 +.Linfo_string736: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EEaSEOSE_" @ string offset=34552 +.Linfo_string737: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_move_dataERSE_St17integral_constantIbLb1EE" @ string offset=34680 +.Linfo_string738: + .asciz "_M_move_data" @ string offset=34848 +.Linfo_string739: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE12_M_move_dataERSE_St17integral_constantIbLb0EE" @ string offset=34861 +.Linfo_string740: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_move_assignERSE_St17integral_constantIbLb1EE" @ string offset=35029 +.Linfo_string741: + .asciz "_ZNSt8_Rb_treeINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEESt4pairIKS5_fESt10_Select1stIS8_ESt4lessIS5_ESaIS8_EE14_M_move_assignERSE_St17integral_constantIbLb0EE" @ string offset=35199 +.Linfo_string742: + .asciz "_Key" @ string offset=35369 +.Linfo_string743: + .asciz "_Val" @ string offset=35374 +.Linfo_string744: + .asciz "_Select1st<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >" @ string offset=35379 +.Linfo_string745: + .asciz "_KeyOfValue" @ string offset=35452 +.Linfo_string746: + .asciz "_Compare" @ string offset=35464 +.Linfo_string747: + .asciz "_Rb_tree<std::__cxx11::basic_string<wchar_t>, std::pair<const std::__cxx11::basic_string<wchar_t>, float>, std::_Select1st<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >, std::less<std::__cxx11::basic_string<wchar_t> >, std::allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=35473 +.Linfo_string748: + .asciz "_Rep_type" @ string offset=35787 +.Linfo_string749: + .asciz "map" @ string offset=35797 +.Linfo_string750: + .asciz "initializer_list<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >" @ string offset=35801 +.Linfo_string751: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEEaSERKSC_" @ string offset=35880 +.Linfo_string752: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEEaSEOSC_" @ string offset=35983 +.Linfo_string753: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEEaSESt16initializer_listISA_E" @ string offset=36085 +.Linfo_string754: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE13get_allocatorEv" @ string offset=36208 +.Linfo_string755: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5beginEv" @ string offset=36321 +.Linfo_string756: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5beginEv" @ string offset=36424 +.Linfo_string757: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE3endEv" @ string offset=36528 +.Linfo_string758: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE3endEv" @ string offset=36629 +.Linfo_string759: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE6rbeginEv" @ string offset=36731 +.Linfo_string760: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE6rbeginEv" @ string offset=36835 +.Linfo_string761: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE4rendEv" @ string offset=36940 +.Linfo_string762: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE4rendEv" @ string offset=37042 +.Linfo_string763: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE6cbeginEv" @ string offset=37145 +.Linfo_string764: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE4cendEv" @ string offset=37250 +.Linfo_string765: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE7crbeginEv" @ string offset=37353 +.Linfo_string766: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5crendEv" @ string offset=37459 +.Linfo_string767: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5emptyEv" @ string offset=37563 +.Linfo_string768: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE4sizeEv" @ string offset=37667 +.Linfo_string769: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE8max_sizeEv" @ string offset=37770 +.Linfo_string770: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEEixERS9_" @ string offset=37877 +.Linfo_string771: + .asciz "mapped_type" @ string offset=37979 +.Linfo_string772: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEEixEOS5_" @ string offset=37991 +.Linfo_string773: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE2atERS9_" @ string offset=38093 +.Linfo_string774: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE2atERS9_" @ string offset=38196 +.Linfo_string775: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE6insertERKSA_" @ string offset=38300 +.Linfo_string776: + .asciz "pair<std::_Rb_tree_iterator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >, bool>" @ string offset=38408 +.Linfo_string777: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE6insertESt16initializer_listISA_E" @ string offset=38505 +.Linfo_string778: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE6insertESt23_Rb_tree_const_iteratorISA_ERKSA_" @ string offset=38633 +.Linfo_string779: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5eraseESt23_Rb_tree_const_iteratorISA_E" @ string offset=38773 +.Linfo_string780: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5eraseB5cxx11ESt17_Rb_tree_iteratorISA_E" @ string offset=38907 +.Linfo_string781: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5eraseERS9_" @ string offset=39042 +.Linfo_string782: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5eraseESt23_Rb_tree_const_iteratorISA_ESE_" @ string offset=39148 +.Linfo_string783: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE4swapERSC_" @ string offset=39285 +.Linfo_string784: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5clearEv" @ string offset=39390 +.Linfo_string785: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE8key_compEv" @ string offset=39493 +.Linfo_string786: + .asciz "key_compare" @ string offset=39600 +.Linfo_string787: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE10value_compEv" @ string offset=39612 +.Linfo_string788: + .asciz "value_comp" @ string offset=39722 +.Linfo_string789: + .asciz "value_compare" @ string offset=39733 +.Linfo_string790: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE4findERS9_" @ string offset=39747 +.Linfo_string791: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE4findERS9_" @ string offset=39852 +.Linfo_string792: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE5countERS9_" @ string offset=39958 +.Linfo_string793: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE11lower_boundERS9_" @ string offset=40065 +.Linfo_string794: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE11lower_boundERS9_" @ string offset=40178 +.Linfo_string795: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE11upper_boundERS9_" @ string offset=40292 +.Linfo_string796: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE11upper_boundERS9_" @ string offset=40405 +.Linfo_string797: + .asciz "_ZNSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE11equal_rangeERS9_" @ string offset=40519 +.Linfo_string798: + .asciz "_ZNKSt3mapINSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEfSt4lessIS5_ESaISt4pairIKS5_fEEE11equal_rangeERS9_" @ string offset=40632 +.Linfo_string799: + .asciz "map<std::__cxx11::basic_string<wchar_t>, float, std::less<std::__cxx11::basic_string<wchar_t> >, std::allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ string offset=40746 +.Linfo_string800: + .asciz "Scope" @ string offset=40922 +.Linfo_string801: + .asciz "~Scope" @ string offset=40928 +.Linfo_string802: + .asciz "_ZN5Scope5setupEjf" @ string offset=40935 +.Linfo_string803: + .asciz "_ZN5Scope7cleanupEv" @ string offset=40954 +.Linfo_string804: + .asciz "_ZN5Scope3logEdz" @ string offset=40974 +.Linfo_string805: + .asciz "log" @ string offset=40991 +.Linfo_string806: + .asciz "double" @ string offset=40995 +.Linfo_string807: + .asciz "_ZN5Scope3logEPKf" @ string offset=41002 +.Linfo_string808: + .asciz "_ZN5Scope7triggerEv" @ string offset=41020 +.Linfo_string809: + .asciz "trigger" @ string offset=41040 +.Linfo_string810: + .asciz "_ZN5Scope10setTriggerENS_11TriggerModeEjNS_12TriggerSlopeEf" @ string offset=41048 +.Linfo_string811: + .asciz "setTrigger" @ string offset=41108 +.Linfo_string812: + .asciz "_ZN5Scope7deallocEv" @ string offset=41119 +.Linfo_string813: + .asciz "dealloc" @ string offset=41139 +.Linfo_string814: + .asciz "_ZN5Scope5startEv" @ string offset=41147 +.Linfo_string815: + .asciz "start" @ string offset=41165 +.Linfo_string816: + .asciz "_ZN5Scope4stopEv" @ string offset=41171 +.Linfo_string817: + .asciz "stop" @ string offset=41188 +.Linfo_string818: + .asciz "_ZN5Scope17triggerTimeDomainEv" @ string offset=41193 +.Linfo_string819: + .asciz "triggerTimeDomain" @ string offset=41224 +.Linfo_string820: + .asciz "_ZN5Scope10triggerFFTEv" @ string offset=41242 +.Linfo_string821: + .asciz "triggerFFT" @ string offset=41266 +.Linfo_string822: + .asciz "_ZN5Scope9triggeredEv" @ string offset=41277 +.Linfo_string823: + .asciz "triggered" @ string offset=41299 +.Linfo_string824: + .asciz "_ZN5Scope6prelogEv" @ string offset=41309 +.Linfo_string825: + .asciz "prelog" @ string offset=41328 +.Linfo_string826: + .asciz "_ZN5Scope7postlogEv" @ string offset=41335 +.Linfo_string827: + .asciz "postlog" @ string offset=41355 +.Linfo_string828: + .asciz "_ZN5Scope11setPlotModeEv" @ string offset=41363 +.Linfo_string829: + .asciz "setPlotMode" @ string offset=41388 +.Linfo_string830: + .asciz "_ZN5Scope5doFFTEv" @ string offset=41400 +.Linfo_string831: + .asciz "doFFT" @ string offset=41418 +.Linfo_string832: + .asciz "_ZN5Scope10setXParamsEv" @ string offset=41424 +.Linfo_string833: + .asciz "setXParams" @ string offset=41448 +.Linfo_string834: + .asciz "_ZN5Scope23scope_control_connectedEv" @ string offset=41459 +.Linfo_string835: + .asciz "scope_control_connected" @ string offset=41496 +.Linfo_string836: + .asciz "_ZN5Scope18scope_control_dataEPKc" @ string offset=41520 +.Linfo_string837: + .asciz "scope_control_data" @ string offset=41554 +.Linfo_string838: + .asciz "_ZN5Scope14parse_settingsEP9JSONValue" @ string offset=41573 +.Linfo_string839: + .asciz "parse_settings" @ string offset=41611 +.Linfo_string840: + .asciz "JSONValue" @ string offset=41626 +.Linfo_string841: + .asciz "_ZN5Scope11triggerTaskEv" @ string offset=41636 +.Linfo_string842: + .asciz "triggerTask" @ string offset=41661 +.Linfo_string843: + .asciz "_ZN5Scope10setSettingENSt7__cxx1112basic_stringIwSt11char_traitsIwESaIwEEEf" @ string offset=41673 +.Linfo_string844: + .asciz "setSetting" @ string offset=41749 +.Linfo_string845: + .asciz "wstring" @ string offset=41760 +.Linfo_string846: + .asciz "gTriggerInterval" @ string offset=41768 +.Linfo_string847: + .asciz "gMinPulseLength" @ string offset=41785 +.Linfo_string848: + .asciz "gRescale" @ string offset=41801 +.Linfo_string849: + .asciz "gTrigDigitalOutPin" @ string offset=41810 +.Linfo_string850: + .asciz "gEchoDigitalInPin" @ string offset=41829 +.Linfo_string851: + .asciz "gTriggerCount" @ string offset=41847 +.Linfo_string852: + .asciz "gPrintfCount" @ string offset=41861 +.Linfo_string853: + .asciz "distance" @ string offset=41874 +.Linfo_string854: + .asciz "_S_single" @ string offset=41883 +.Linfo_string855: + .asciz "_S_mutex" @ string offset=41893 +.Linfo_string856: + .asciz "_S_atomic" @ string offset=41902 +.Linfo_string857: + .asciz "_Lock_policy" @ string offset=41912 +.Linfo_string858: + .asciz "LOW" @ string offset=41925 +.Linfo_string859: + .asciz "HIGH" @ string offset=41929 +.Linfo_string860: + .asciz "PIN_VALUE" @ string offset=41934 +.Linfo_string861: + .asciz "INPUT" @ string offset=41944 +.Linfo_string862: + .asciz "OUTPUT" @ string offset=41950 +.Linfo_string863: + .asciz "div_t" @ string offset=41957 +.Linfo_string864: + .asciz "quot" @ string offset=41963 +.Linfo_string865: + .asciz "long int" @ string offset=41968 +.Linfo_string866: + .asciz "rem" @ string offset=41977 +.Linfo_string867: + .asciz "ldiv_t" @ string offset=41981 +.Linfo_string868: + .asciz "abort" @ string offset=41988 +.Linfo_string869: + .asciz "abs" @ string offset=41994 +.Linfo_string870: + .asciz "atexit" @ string offset=41998 +.Linfo_string871: + .asciz "at_quick_exit" @ string offset=42005 +.Linfo_string872: + .asciz "atof" @ string offset=42019 +.Linfo_string873: + .asciz "atoi" @ string offset=42024 +.Linfo_string874: + .asciz "atol" @ string offset=42029 +.Linfo_string875: + .asciz "bsearch" @ string offset=42034 +.Linfo_string876: + .asciz "__compar_fn_t" @ string offset=42042 +.Linfo_string877: + .asciz "calloc" @ string offset=42056 +.Linfo_string878: + .asciz "div" @ string offset=42063 +.Linfo_string879: + .asciz "exit" @ string offset=42067 +.Linfo_string880: + .asciz "free" @ string offset=42072 +.Linfo_string881: + .asciz "getenv" @ string offset=42077 +.Linfo_string882: + .asciz "labs" @ string offset=42084 +.Linfo_string883: + .asciz "ldiv" @ string offset=42089 +.Linfo_string884: + .asciz "malloc" @ string offset=42094 +.Linfo_string885: + .asciz "mblen" @ string offset=42101 +.Linfo_string886: + .asciz "mbstowcs" @ string offset=42107 +.Linfo_string887: + .asciz "wchar_t" @ string offset=42116 +.Linfo_string888: + .asciz "mbtowc" @ string offset=42124 +.Linfo_string889: + .asciz "qsort" @ string offset=42131 +.Linfo_string890: + .asciz "quick_exit" @ string offset=42137 +.Linfo_string891: + .asciz "rand" @ string offset=42148 +.Linfo_string892: + .asciz "realloc" @ string offset=42153 +.Linfo_string893: + .asciz "srand" @ string offset=42161 +.Linfo_string894: + .asciz "strtod" @ string offset=42167 +.Linfo_string895: + .asciz "strtol" @ string offset=42174 +.Linfo_string896: + .asciz "strtoul" @ string offset=42181 +.Linfo_string897: + .asciz "long unsigned int" @ string offset=42189 +.Linfo_string898: + .asciz "system" @ string offset=42207 +.Linfo_string899: + .asciz "wcstombs" @ string offset=42214 +.Linfo_string900: + .asciz "wctomb" @ string offset=42223 +.Linfo_string901: + .asciz "long long int" @ string offset=42230 +.Linfo_string902: + .asciz "lldiv_t" @ string offset=42244 +.Linfo_string903: + .asciz "_Exit" @ string offset=42252 +.Linfo_string904: + .asciz "llabs" @ string offset=42258 +.Linfo_string905: + .asciz "lldiv" @ string offset=42264 +.Linfo_string906: + .asciz "atoll" @ string offset=42270 +.Linfo_string907: + .asciz "strtoll" @ string offset=42276 +.Linfo_string908: + .asciz "strtoull" @ string offset=42284 +.Linfo_string909: + .asciz "strtof" @ string offset=42293 +.Linfo_string910: + .asciz "strtold" @ string offset=42300 +.Linfo_string911: + .asciz "long double" @ string offset=42308 +.Linfo_string912: + .asciz "_ZN9__gnu_cxx3divExx" @ string offset=42320 +.Linfo_string913: + .asciz "_ZSt3absx" @ string offset=42341 +.Linfo_string914: + .asciz "__gnu_debug" @ string offset=42351 +.Linfo_string915: + .asciz "__debug" @ string offset=42363 +.Linfo_string916: + .asciz "__exception_ptr" @ string offset=42371 +.Linfo_string917: + .asciz "_M_exception_object" @ string offset=42387 +.Linfo_string918: + .asciz "exception_ptr" @ string offset=42407 +.Linfo_string919: + .asciz "_ZNSt15__exception_ptr13exception_ptr9_M_addrefEv" @ string offset=42421 +.Linfo_string920: + .asciz "_M_addref" @ string offset=42471 +.Linfo_string921: + .asciz "_ZNSt15__exception_ptr13exception_ptr10_M_releaseEv" @ string offset=42481 +.Linfo_string922: + .asciz "_M_release" @ string offset=42533 +.Linfo_string923: + .asciz "_ZNKSt15__exception_ptr13exception_ptr6_M_getEv" @ string offset=42544 +.Linfo_string924: + .asciz "_M_get" @ string offset=42592 +.Linfo_string925: + .asciz "_ZNSt15__exception_ptr13exception_ptraSERKS0_" @ string offset=42599 +.Linfo_string926: + .asciz "_ZNSt15__exception_ptr13exception_ptraSEOS0_" @ string offset=42645 +.Linfo_string927: + .asciz "~exception_ptr" @ string offset=42690 +.Linfo_string928: + .asciz "_ZNSt15__exception_ptr13exception_ptr4swapERS0_" @ string offset=42705 +.Linfo_string929: + .asciz "_ZNKSt15__exception_ptr13exception_ptrcvbEv" @ string offset=42753 +.Linfo_string930: + .asciz "_ZNKSt15__exception_ptr13exception_ptr20__cxa_exception_typeEv" @ string offset=42797 +.Linfo_string931: + .asciz "__cxa_exception_type" @ string offset=42860 +.Linfo_string932: + .asciz "type_info" @ string offset=42881 +.Linfo_string933: + .asciz "_ZSt17rethrow_exceptionNSt15__exception_ptr13exception_ptrE" @ string offset=42891 +.Linfo_string934: + .asciz "rethrow_exception" @ string offset=42951 +.Linfo_string935: + .asciz "ptrdiff_t" @ string offset=42969 +.Linfo_string936: + .asciz "__count" @ string offset=42979 +.Linfo_string937: + .asciz "__value" @ string offset=42987 +.Linfo_string938: + .asciz "__wch" @ string offset=42995 +.Linfo_string939: + .asciz "__wchb" @ string offset=43001 +.Linfo_string940: + .asciz "__mbstate_t" @ string offset=43008 +.Linfo_string941: + .asciz "mbstate_t" @ string offset=43020 +.Linfo_string942: + .asciz "wint_t" @ string offset=43030 +.Linfo_string943: + .asciz "btowc" @ string offset=43037 +.Linfo_string944: + .asciz "fgetwc" @ string offset=43043 +.Linfo_string945: + .asciz "_flags" @ string offset=43050 +.Linfo_string946: + .asciz "_IO_read_ptr" @ string offset=43057 +.Linfo_string947: + .asciz "_IO_read_end" @ string offset=43070 +.Linfo_string948: + .asciz "_IO_read_base" @ string offset=43083 +.Linfo_string949: + .asciz "_IO_write_base" @ string offset=43097 +.Linfo_string950: + .asciz "_IO_write_ptr" @ string offset=43112 +.Linfo_string951: + .asciz "_IO_write_end" @ string offset=43126 +.Linfo_string952: + .asciz "_IO_buf_base" @ string offset=43140 +.Linfo_string953: + .asciz "_IO_buf_end" @ string offset=43153 +.Linfo_string954: + .asciz "_IO_save_base" @ string offset=43165 +.Linfo_string955: + .asciz "_IO_backup_base" @ string offset=43179 +.Linfo_string956: + .asciz "_IO_save_end" @ string offset=43195 +.Linfo_string957: + .asciz "_markers" @ string offset=43208 +.Linfo_string958: + .asciz "_IO_marker" @ string offset=43217 +.Linfo_string959: + .asciz "_chain" @ string offset=43228 +.Linfo_string960: + .asciz "_fileno" @ string offset=43235 +.Linfo_string961: + .asciz "_flags2" @ string offset=43243 +.Linfo_string962: + .asciz "_old_offset" @ string offset=43251 +.Linfo_string963: + .asciz "__off_t" @ string offset=43263 +.Linfo_string964: + .asciz "_cur_column" @ string offset=43271 +.Linfo_string965: + .asciz "unsigned short" @ string offset=43283 +.Linfo_string966: + .asciz "_vtable_offset" @ string offset=43298 +.Linfo_string967: + .asciz "signed char" @ string offset=43313 +.Linfo_string968: + .asciz "_shortbuf" @ string offset=43325 +.Linfo_string969: + .asciz "_lock" @ string offset=43335 +.Linfo_string970: + .asciz "_IO_lock_t" @ string offset=43341 +.Linfo_string971: + .asciz "_offset" @ string offset=43352 +.Linfo_string972: + .asciz "__quad_t" @ string offset=43360 +.Linfo_string973: + .asciz "__off64_t" @ string offset=43369 +.Linfo_string974: + .asciz "__pad1" @ string offset=43379 +.Linfo_string975: + .asciz "__pad2" @ string offset=43386 +.Linfo_string976: + .asciz "__pad3" @ string offset=43393 +.Linfo_string977: + .asciz "__pad4" @ string offset=43400 +.Linfo_string978: + .asciz "__pad5" @ string offset=43407 +.Linfo_string979: + .asciz "_mode" @ string offset=43414 +.Linfo_string980: + .asciz "_unused2" @ string offset=43420 +.Linfo_string981: + .asciz "_IO_FILE" @ string offset=43429 +.Linfo_string982: + .asciz "__FILE" @ string offset=43438 +.Linfo_string983: + .asciz "fgetws" @ string offset=43445 +.Linfo_string984: + .asciz "fputwc" @ string offset=43452 +.Linfo_string985: + .asciz "fputws" @ string offset=43459 +.Linfo_string986: + .asciz "fwide" @ string offset=43466 +.Linfo_string987: + .asciz "fwprintf" @ string offset=43472 +.Linfo_string988: + .asciz "fwscanf" @ string offset=43481 +.Linfo_string989: + .asciz "getwc" @ string offset=43489 +.Linfo_string990: + .asciz "getwchar" @ string offset=43495 +.Linfo_string991: + .asciz "mbrlen" @ string offset=43504 +.Linfo_string992: + .asciz "mbrtowc" @ string offset=43511 +.Linfo_string993: + .asciz "mbsinit" @ string offset=43519 +.Linfo_string994: + .asciz "mbsrtowcs" @ string offset=43527 +.Linfo_string995: + .asciz "putwc" @ string offset=43537 +.Linfo_string996: + .asciz "putwchar" @ string offset=43543 +.Linfo_string997: + .asciz "swprintf" @ string offset=43552 +.Linfo_string998: + .asciz "swscanf" @ string offset=43561 +.Linfo_string999: + .asciz "ungetwc" @ string offset=43569 +.Linfo_string1000: + .asciz "vfwprintf" @ string offset=43577 +.Linfo_string1001: + .asciz "__ap" @ string offset=43587 +.Linfo_string1002: + .asciz "__va_list" @ string offset=43592 +.Linfo_string1003: + .asciz "__builtin_va_list" @ string offset=43602 +.Linfo_string1004: + .asciz "__gnuc_va_list" @ string offset=43620 +.Linfo_string1005: + .asciz "vfwscanf" @ string offset=43635 +.Linfo_string1006: + .asciz "vswprintf" @ string offset=43644 +.Linfo_string1007: + .asciz "vswscanf" @ string offset=43654 +.Linfo_string1008: + .asciz "vwprintf" @ string offset=43663 +.Linfo_string1009: + .asciz "vwscanf" @ string offset=43672 +.Linfo_string1010: + .asciz "wcrtomb" @ string offset=43680 +.Linfo_string1011: + .asciz "wcscat" @ string offset=43688 +.Linfo_string1012: + .asciz "wcscmp" @ string offset=43695 +.Linfo_string1013: + .asciz "wcscoll" @ string offset=43702 +.Linfo_string1014: + .asciz "wcscpy" @ string offset=43710 +.Linfo_string1015: + .asciz "wcscspn" @ string offset=43717 +.Linfo_string1016: + .asciz "wcsftime" @ string offset=43725 +.Linfo_string1017: + .asciz "tm" @ string offset=43734 +.Linfo_string1018: + .asciz "wcslen" @ string offset=43737 +.Linfo_string1019: + .asciz "wcsncat" @ string offset=43744 +.Linfo_string1020: + .asciz "wcsncmp" @ string offset=43752 +.Linfo_string1021: + .asciz "wcsncpy" @ string offset=43760 +.Linfo_string1022: + .asciz "wcsrtombs" @ string offset=43768 +.Linfo_string1023: + .asciz "wcsspn" @ string offset=43778 +.Linfo_string1024: + .asciz "wcstod" @ string offset=43785 +.Linfo_string1025: + .asciz "wcstof" @ string offset=43792 +.Linfo_string1026: + .asciz "wcstok" @ string offset=43799 +.Linfo_string1027: + .asciz "wcstol" @ string offset=43806 +.Linfo_string1028: + .asciz "wcstoul" @ string offset=43813 +.Linfo_string1029: + .asciz "wcsxfrm" @ string offset=43821 +.Linfo_string1030: + .asciz "wctob" @ string offset=43829 +.Linfo_string1031: + .asciz "wmemcmp" @ string offset=43835 +.Linfo_string1032: + .asciz "wmemcpy" @ string offset=43843 +.Linfo_string1033: + .asciz "wmemmove" @ string offset=43851 +.Linfo_string1034: + .asciz "wmemset" @ string offset=43860 +.Linfo_string1035: + .asciz "wprintf" @ string offset=43868 +.Linfo_string1036: + .asciz "wscanf" @ string offset=43876 +.Linfo_string1037: + .asciz "wcschr" @ string offset=43883 +.Linfo_string1038: + .asciz "wcspbrk" @ string offset=43890 +.Linfo_string1039: + .asciz "wcsrchr" @ string offset=43898 +.Linfo_string1040: + .asciz "wcsstr" @ string offset=43906 +.Linfo_string1041: + .asciz "wmemchr" @ string offset=43913 +.Linfo_string1042: + .asciz "wcstold" @ string offset=43921 +.Linfo_string1043: + .asciz "wcstoll" @ string offset=43929 +.Linfo_string1044: + .asciz "wcstoull" @ string offset=43937 +.Linfo_string1045: + .asciz "int8_t" @ string offset=43946 +.Linfo_string1046: + .asciz "short" @ string offset=43953 +.Linfo_string1047: + .asciz "int16_t" @ string offset=43959 +.Linfo_string1048: + .asciz "int32_t" @ string offset=43967 +.Linfo_string1049: + .asciz "int64_t" @ string offset=43975 +.Linfo_string1050: + .asciz "int_fast8_t" @ string offset=43983 +.Linfo_string1051: + .asciz "int_fast16_t" @ string offset=43995 +.Linfo_string1052: + .asciz "int_fast32_t" @ string offset=44008 +.Linfo_string1053: + .asciz "int_fast64_t" @ string offset=44021 +.Linfo_string1054: + .asciz "int_least8_t" @ string offset=44034 +.Linfo_string1055: + .asciz "int_least16_t" @ string offset=44047 +.Linfo_string1056: + .asciz "int_least32_t" @ string offset=44061 +.Linfo_string1057: + .asciz "int_least64_t" @ string offset=44075 +.Linfo_string1058: + .asciz "intmax_t" @ string offset=44089 +.Linfo_string1059: + .asciz "intptr_t" @ string offset=44098 +.Linfo_string1060: + .asciz "unsigned char" @ string offset=44107 +.Linfo_string1061: + .asciz "uint8_t" @ string offset=44121 +.Linfo_string1062: + .asciz "uint16_t" @ string offset=44129 +.Linfo_string1063: + .asciz "uint_fast8_t" @ string offset=44138 +.Linfo_string1064: + .asciz "uint_fast16_t" @ string offset=44151 +.Linfo_string1065: + .asciz "uint_fast32_t" @ string offset=44165 +.Linfo_string1066: + .asciz "uint_fast64_t" @ string offset=44179 +.Linfo_string1067: + .asciz "uint_least8_t" @ string offset=44193 +.Linfo_string1068: + .asciz "uint_least16_t" @ string offset=44207 +.Linfo_string1069: + .asciz "uint_least32_t" @ string offset=44222 +.Linfo_string1070: + .asciz "uint_least64_t" @ string offset=44237 +.Linfo_string1071: + .asciz "uintmax_t" @ string offset=44252 +.Linfo_string1072: + .asciz "uintptr_t" @ string offset=44262 +.Linfo_string1073: + .asciz "lconv" @ string offset=44272 +.Linfo_string1074: + .asciz "setlocale" @ string offset=44278 +.Linfo_string1075: + .asciz "localeconv" @ string offset=44288 +.Linfo_string1076: + .asciz "isalnum" @ string offset=44299 +.Linfo_string1077: + .asciz "isalpha" @ string offset=44307 +.Linfo_string1078: + .asciz "iscntrl" @ string offset=44315 +.Linfo_string1079: + .asciz "isdigit" @ string offset=44323 +.Linfo_string1080: + .asciz "isgraph" @ string offset=44331 +.Linfo_string1081: + .asciz "islower" @ string offset=44339 +.Linfo_string1082: + .asciz "isprint" @ string offset=44347 +.Linfo_string1083: + .asciz "ispunct" @ string offset=44355 +.Linfo_string1084: + .asciz "isspace" @ string offset=44363 +.Linfo_string1085: + .asciz "isupper" @ string offset=44371 +.Linfo_string1086: + .asciz "isxdigit" @ string offset=44379 +.Linfo_string1087: + .asciz "tolower" @ string offset=44388 +.Linfo_string1088: + .asciz "toupper" @ string offset=44396 +.Linfo_string1089: + .asciz "isblank" @ string offset=44404 +.Linfo_string1090: + .asciz "FILE" @ string offset=44412 +.Linfo_string1091: + .asciz "_G_fpos_t" @ string offset=44417 +.Linfo_string1092: + .asciz "fpos_t" @ string offset=44427 +.Linfo_string1093: + .asciz "clearerr" @ string offset=44434 +.Linfo_string1094: + .asciz "fclose" @ string offset=44443 +.Linfo_string1095: + .asciz "feof" @ string offset=44450 +.Linfo_string1096: + .asciz "ferror" @ string offset=44455 +.Linfo_string1097: + .asciz "fflush" @ string offset=44462 +.Linfo_string1098: + .asciz "fgetc" @ string offset=44469 +.Linfo_string1099: + .asciz "fgetpos" @ string offset=44475 +.Linfo_string1100: + .asciz "fgets" @ string offset=44483 +.Linfo_string1101: + .asciz "fopen" @ string offset=44489 +.Linfo_string1102: + .asciz "fprintf" @ string offset=44495 +.Linfo_string1103: + .asciz "fputc" @ string offset=44503 +.Linfo_string1104: + .asciz "fputs" @ string offset=44509 +.Linfo_string1105: + .asciz "fread" @ string offset=44515 +.Linfo_string1106: + .asciz "freopen" @ string offset=44521 +.Linfo_string1107: + .asciz "fscanf" @ string offset=44529 +.Linfo_string1108: + .asciz "fseek" @ string offset=44536 +.Linfo_string1109: + .asciz "fsetpos" @ string offset=44542 +.Linfo_string1110: + .asciz "ftell" @ string offset=44550 +.Linfo_string1111: + .asciz "fwrite" @ string offset=44556 +.Linfo_string1112: + .asciz "getc" @ string offset=44563 +.Linfo_string1113: + .asciz "getchar" @ string offset=44568 +.Linfo_string1114: + .asciz "gets" @ string offset=44576 +.Linfo_string1115: + .asciz "perror" @ string offset=44581 +.Linfo_string1116: + .asciz "printf" @ string offset=44588 +.Linfo_string1117: + .asciz "putc" @ string offset=44595 +.Linfo_string1118: + .asciz "putchar" @ string offset=44600 +.Linfo_string1119: + .asciz "puts" @ string offset=44608 +.Linfo_string1120: + .asciz "remove" @ string offset=44613 +.Linfo_string1121: + .asciz "rename" @ string offset=44620 +.Linfo_string1122: + .asciz "rewind" @ string offset=44627 +.Linfo_string1123: + .asciz "scanf" @ string offset=44634 +.Linfo_string1124: + .asciz "setbuf" @ string offset=44640 +.Linfo_string1125: + .asciz "setvbuf" @ string offset=44647 +.Linfo_string1126: + .asciz "sprintf" @ string offset=44655 +.Linfo_string1127: + .asciz "sscanf" @ string offset=44663 +.Linfo_string1128: + .asciz "tmpfile" @ string offset=44670 +.Linfo_string1129: + .asciz "tmpnam" @ string offset=44678 +.Linfo_string1130: + .asciz "ungetc" @ string offset=44685 +.Linfo_string1131: + .asciz "vfprintf" @ string offset=44692 +.Linfo_string1132: + .asciz "vprintf" @ string offset=44701 +.Linfo_string1133: + .asciz "vsprintf" @ string offset=44709 +.Linfo_string1134: + .asciz "snprintf" @ string offset=44718 +.Linfo_string1135: + .asciz "vfscanf" @ string offset=44727 +.Linfo_string1136: + .asciz "vscanf" @ string offset=44735 +.Linfo_string1137: + .asciz "vsnprintf" @ string offset=44742 +.Linfo_string1138: + .asciz "vsscanf" @ string offset=44752 +.Linfo_string1139: + .asciz "__default_lock_policy" @ string offset=44760 +.Linfo_string1140: + .asciz "_ZL16digitalWriteOnceP11BelaContextiii" @ string offset=44782 +.Linfo_string1141: + .asciz "digitalWriteOnce" @ string offset=44821 +.Linfo_string1142: + .asciz "context" @ string offset=44838 +.Linfo_string1143: + .asciz "frame" @ string offset=44846 +.Linfo_string1144: + .asciz "channel" @ string offset=44852 +.Linfo_string1145: + .asciz "this" @ string offset=44860 +.Linfo_string1146: + .asciz "_ZL7pinModeP11BelaContextiii" @ string offset=44865 +.Linfo_string1147: + .asciz "pinMode" @ string offset=44894 +.Linfo_string1148: + .asciz "mode" @ string offset=44902 +.Linfo_string1149: + .asciz "f" @ string offset=44907 +.Linfo_string1150: + .asciz "_ZL11digitalReadP11BelaContextii" @ string offset=44909 +.Linfo_string1151: + .asciz "digitalRead" @ string offset=44942 +.Linfo_string1152: + .asciz "__n" @ string offset=44954 +.Linfo_string1153: + .asciz "_ZN7PulseInC2Ev" @ string offset=44958 +.Linfo_string1154: + .asciz "__cxx_global_var_init" @ string offset=44974 +.Linfo_string1155: + .asciz "_ZNSt12_Vector_baseIiSaIiEE12_Vector_implC2Ev" @ string offset=44996 +.Linfo_string1156: + .asciz "_ZNSt12_Vector_baseIiSaIiEEC2Ev" @ string offset=45042 +.Linfo_string1157: + .asciz "_ZNSt6vectorIiSaIiEEC2Ev" @ string offset=45074 +.Linfo_string1158: + .asciz "__cxx_global_var_init.1" @ string offset=45099 +.Linfo_string1159: + .asciz "render" @ string offset=45123 +.Linfo_string1160: + .asciz "_GLOBAL__sub_I_render.ii" @ string offset=45130 +.Linfo_string1161: + .asciz "userData" @ string offset=45155 +.Linfo_string1162: + .asciz "n" @ string offset=45164 +.Linfo_string1163: + .asciz "state" @ string offset=45166 +.Linfo_string1164: + .asciz "pulseLength" @ string offset=45172 +.Linfo_string1165: + .asciz "duration" @ string offset=45184 +.Linfo_string1166: + .asciz "dRead" @ string offset=45193 + .section .debug_loc,"",%progbits +.Ldebug_loc0: + .long .Lfunc_begin0 + .long .Ltmp6 + .short 1 @ Loc expr size + .byte 80 @ DW_OP_reg0 + .long .Ltmp6 + .long .Ltmp8 + .short 1 @ Loc expr size + .byte 84 @ DW_OP_reg4 + .long 0 + .long 0 +.Ldebug_loc1: + .long .Lfunc_begin0 + .long .Ltmp7 + .short 1 @ Loc expr size + .byte 81 @ DW_OP_reg1 + .long 0 + .long 0 +.Ldebug_loc2: + .long .Lfunc_begin1 + .long .Ltmp23 + .short 1 @ Loc expr size + .byte 80 @ DW_OP_reg0 + .long .Ltmp23 + .long .Ltmp31 + .short 1 @ Loc expr size + .byte 84 @ DW_OP_reg4 + .long 0 + .long 0 +.Ldebug_loc3: + .long .Lfunc_begin1 + .long .Ltmp30 + .short 1 @ Loc expr size + .byte 81 @ DW_OP_reg1 + .long 0 + .long 0 +.Ldebug_loc4: + .long .Ltmp23 + .long .Ltmp87 + .short 3 @ Loc expr size + .byte 16 @ DW_OP_constu + .byte 0 @ 0 + .byte 159 @ DW_OP_stack_value + .long .Ltmp87 + .long .Ltmp88 + .short 1 @ Loc expr size + .byte 89 @ DW_OP_reg9 + .long 0 + .long 0 +.Ldebug_loc5: + .long .Ltmp31 + .long .Ltmp35 + .short 3 @ Loc expr size + .byte 16 @ DW_OP_constu + .byte 0 @ 0 + .byte 159 @ DW_OP_stack_value + .long .Ltmp35 + .long .Ltmp36 + .short 1 @ Loc expr size + .byte 82 @ DW_OP_reg2 + .long 0 + .long 0 +.Ldebug_loc6: + .long .Ltmp39 + .long .Ltmp43 + .short 3 @ Loc expr size + .byte 16 @ DW_OP_constu + .byte 0 @ 0 + .byte 159 @ DW_OP_stack_value + .long .Ltmp43 + .long .Ltmp44 + .short 1 @ Loc expr size + .byte 82 @ DW_OP_reg2 + .long 0 + .long 0 +.Ldebug_loc7: + .long .Ltmp45 + .long .Ltmp49 + .short 3 @ Loc expr size + .byte 16 @ DW_OP_constu + .byte 0 @ 0 + .byte 159 @ DW_OP_stack_value + .long .Ltmp49 + .long .Ltmp50 + .short 1 @ Loc expr size + .byte 82 @ DW_OP_reg2 + .long 0 + .long 0 +.Ldebug_loc8: + .long .Ltmp50 + .long .Ltmp57 + .short 3 @ Loc expr size + .byte 16 @ DW_OP_constu + .byte 1 @ 1 + .byte 159 @ DW_OP_stack_value + .long .Ltmp57 + .long .Lfunc_end1 + .short 3 @ Loc expr size + .byte 16 @ DW_OP_constu + .byte 0 @ 0 + .byte 159 @ DW_OP_stack_value + .long 0 + .long 0 +.Ldebug_loc9: + .long .Ltmp52 + .long .Ltmp54 + .short 1 @ Loc expr size + .byte 81 @ DW_OP_reg1 + .long 0 + .long 0 +.Ldebug_loc10: + .long .Ltmp59 + .long .Ltmp61 + .short 1 @ Loc expr size + .byte 81 @ DW_OP_reg1 + .long 0 + .long 0 +.Ldebug_loc11: + .long .Ltmp62 + .long .Ltmp62 + .short 1 @ Loc expr size + .byte 84 @ DW_OP_reg4 + .long 0 + .long 0 +.Ldebug_loc12: + .long .Ltmp68 + .long .Ltmp69 + .short 1 @ Loc expr size + .byte 80 @ DW_OP_reg0 + .long 0 + .long 0 +.Ldebug_loc13: + .long .Ltmp68 + .long .Ltmp69 + .short 1 @ Loc expr size + .byte 84 @ DW_OP_reg4 + .long 0 + .long 0 +.Ldebug_loc14: + .long .Ltmp74 + .long .Ltmp84 + .short 1 @ Loc expr size + .byte 81 @ DW_OP_reg1 + .long 0 + .long 0 +.Ldebug_loc15: + .long .Ltmp78 + .long .Ltmp79 + .short 5 @ Loc expr size + .byte 144 @ super-register DW_OP_regx + .byte 128 @ 256 + .byte 2 @ DW_OP_piece + .byte 147 @ 4 + .byte 4 @ + .long 0 + .long 0 +.Ldebug_loc16: + .long .Ltmp81 + .long .Ltmp88 + .short 1 @ Loc expr size + .byte 87 @ DW_OP_reg7 + .long 0 + .long 0 +.Ldebug_loc17: + .long .Ltmp98 + .long .Ltmp106 + .short 1 @ Loc expr size + .byte 81 @ DW_OP_reg1 + .long 0 + .long 0 + .section .debug_abbrev,"",%progbits +.Lsection_abbrev: + .byte 1 @ Abbreviation Code + .byte 17 @ DW_TAG_compile_unit + .byte 1 @ DW_CHILDREN_yes + .byte 37 @ DW_AT_producer + .byte 14 @ DW_FORM_strp + .byte 19 @ DW_AT_language + .byte 5 @ DW_FORM_data2 + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 16 @ DW_AT_stmt_list + .byte 23 @ DW_FORM_sec_offset + .byte 27 @ DW_AT_comp_dir + .byte 14 @ DW_FORM_strp + .byte 17 @ DW_AT_low_pc + .byte 1 @ DW_FORM_addr + .byte 85 @ DW_AT_ranges + .byte 23 @ DW_FORM_sec_offset + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 2 @ Abbreviation Code + .byte 52 @ DW_TAG_variable + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 2 @ DW_AT_location + .byte 24 @ DW_FORM_exprloc + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 3 @ Abbreviation Code + .byte 2 @ DW_TAG_class_type + .byte 1 @ DW_CHILDREN_yes + .byte 29 @ DW_AT_containing_type + .byte 19 @ DW_FORM_ref4 + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 4 @ Abbreviation Code + .byte 13 @ DW_TAG_member + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 56 @ DW_AT_data_member_location + .byte 11 @ DW_FORM_data1 + .byte 52 @ DW_AT_artificial + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 5 @ Abbreviation Code + .byte 13 @ DW_TAG_member + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 56 @ DW_AT_data_member_location + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 6 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 7 @ Abbreviation Code + .byte 5 @ DW_TAG_formal_parameter + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 52 @ DW_AT_artificial + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 8 @ Abbreviation Code + .byte 5 @ DW_TAG_formal_parameter + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 9 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 10 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 11 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 76 @ DW_AT_virtuality + .byte 11 @ DW_FORM_data1 + .byte 77 @ DW_AT_vtable_elem_location + .byte 24 @ DW_FORM_exprloc + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 29 @ DW_AT_containing_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 12 @ Abbreviation Code + .byte 15 @ DW_TAG_pointer_type + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 13 @ Abbreviation Code + .byte 15 @ DW_TAG_pointer_type + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 14 @ Abbreviation Code + .byte 21 @ DW_TAG_subroutine_type + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 15 @ Abbreviation Code + .byte 36 @ DW_TAG_base_type + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 62 @ DW_AT_encoding + .byte 11 @ DW_FORM_data1 + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 16 @ Abbreviation Code + .byte 57 @ DW_TAG_namespace + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 17 @ Abbreviation Code + .byte 2 @ DW_TAG_class_type + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 18 @ Abbreviation Code + .byte 28 @ DW_TAG_inheritance + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 56 @ DW_AT_data_member_location + .byte 11 @ DW_FORM_data1 + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 19 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 99 @ DW_AT_explicit + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 20 @ Abbreviation Code + .byte 22 @ DW_TAG_typedef + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 21 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 22 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 23 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 24 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 25 @ Abbreviation Code + .byte 47 @ DW_TAG_template_type_parameter + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 26 @ Abbreviation Code + .byte 19 @ DW_TAG_structure_type + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 27 @ Abbreviation Code + .byte 28 @ DW_TAG_inheritance + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 56 @ DW_AT_data_member_location + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 28 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 29 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 30 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 31 @ Abbreviation Code + .byte 19 @ DW_TAG_structure_type + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 32 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 33 @ Abbreviation Code + .byte 22 @ DW_TAG_typedef + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 34 @ Abbreviation Code + .byte 2 @ DW_TAG_class_type + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 35 @ Abbreviation Code + .byte 13 @ DW_TAG_member + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 28 @ DW_AT_const_value + .byte 15 @ DW_FORM_udata + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 36 @ Abbreviation Code + .byte 48 @ DW_TAG_template_value_parameter + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 28 @ DW_AT_const_value + .byte 15 @ DW_FORM_udata + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 37 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 99 @ DW_AT_explicit + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 38 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 99 @ DW_AT_explicit + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 39 @ Abbreviation Code + .byte 2 @ DW_TAG_class_type + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 40 @ Abbreviation Code + .ascii "\207\202\001" @ DW_TAG_GNU_template_parameter_pack + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 41 @ Abbreviation Code + .byte 47 @ DW_TAG_template_type_parameter + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 42 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 99 @ DW_AT_explicit + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 43 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 44 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 99 @ DW_AT_explicit + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 45 @ Abbreviation Code + .byte 19 @ DW_TAG_structure_type + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 46 @ Abbreviation Code + .byte 48 @ DW_TAG_template_value_parameter + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 28 @ DW_AT_const_value + .byte 15 @ DW_FORM_udata + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 47 @ Abbreviation Code + .byte 13 @ DW_TAG_member + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 56 @ DW_AT_data_member_location + .byte 11 @ DW_FORM_data1 + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 48 @ Abbreviation Code + .byte 13 @ DW_TAG_member + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 56 @ DW_AT_data_member_location + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 49 @ Abbreviation Code + .byte 19 @ DW_TAG_structure_type + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 50 @ Abbreviation Code + .byte 2 @ DW_TAG_class_type + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 51 @ Abbreviation Code + .byte 4 @ DW_TAG_enumeration_type + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 52 @ Abbreviation Code + .byte 40 @ DW_TAG_enumerator + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 28 @ DW_AT_const_value + .byte 13 @ DW_FORM_sdata + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 53 @ Abbreviation Code + .byte 19 @ DW_TAG_structure_type + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 54 @ Abbreviation Code + .byte 8 @ DW_TAG_imported_declaration + .byte 0 @ DW_CHILDREN_no + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 24 @ DW_AT_import + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 55 @ Abbreviation Code + .byte 8 @ DW_TAG_imported_declaration + .byte 0 @ DW_CHILDREN_no + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 24 @ DW_AT_import + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 56 @ Abbreviation Code + .byte 57 @ DW_TAG_namespace + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 57 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 50 @ DW_AT_accessibility + .byte 11 @ DW_FORM_data1 + .byte 99 @ DW_AT_explicit + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 58 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 0 @ DW_CHILDREN_no + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 59 @ Abbreviation Code + .byte 52 @ DW_TAG_variable + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 60 @ Abbreviation Code + .byte 16 @ DW_TAG_reference_type + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 61 @ Abbreviation Code + .byte 38 @ DW_TAG_const_type + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 62 @ Abbreviation Code + .byte 38 @ DW_TAG_const_type + .byte 0 @ DW_CHILDREN_no + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 63 @ Abbreviation Code + .byte 66 @ DW_TAG_rvalue_reference_type + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 64 @ Abbreviation Code + .byte 19 @ DW_TAG_structure_type + .byte 1 @ DW_CHILDREN_yes + .byte 11 @ DW_AT_byte_size + .byte 5 @ DW_FORM_data2 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 65 @ Abbreviation Code + .byte 13 @ DW_TAG_member + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 56 @ DW_AT_data_member_location + .byte 5 @ DW_FORM_data2 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 66 @ Abbreviation Code + .byte 1 @ DW_TAG_array_type + .byte 1 @ DW_CHILDREN_yes + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 67 @ Abbreviation Code + .byte 33 @ DW_TAG_subrange_type + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 55 @ DW_AT_count + .byte 5 @ DW_FORM_data2 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 68 @ Abbreviation Code + .byte 36 @ DW_TAG_base_type + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 62 @ DW_AT_encoding + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 69 @ Abbreviation Code + .byte 4 @ DW_TAG_enumeration_type + .byte 1 @ DW_CHILDREN_yes + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 70 @ Abbreviation Code + .byte 24 @ DW_TAG_unspecified_parameters + .byte 0 @ DW_CHILDREN_no + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 71 @ Abbreviation Code + .byte 53 @ DW_TAG_volatile_type + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 72 @ Abbreviation Code + .byte 19 @ DW_TAG_structure_type + .byte 0 @ DW_CHILDREN_no + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 73 @ Abbreviation Code + .byte 59 @ DW_TAG_unspecified_type + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 74 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 17 @ DW_AT_low_pc + .byte 1 @ DW_FORM_addr + .byte 18 @ DW_AT_high_pc + .byte 6 @ DW_FORM_data4 + .byte 64 @ DW_AT_frame_base + .byte 24 @ DW_FORM_exprloc + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 75 @ Abbreviation Code + .byte 52 @ DW_TAG_variable + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 2 @ DW_AT_location + .byte 24 @ DW_FORM_exprloc + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 76 @ Abbreviation Code + .byte 5 @ DW_TAG_formal_parameter + .byte 0 @ DW_CHILDREN_no + .byte 2 @ DW_AT_location + .byte 23 @ DW_FORM_sec_offset + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 77 @ Abbreviation Code + .byte 11 @ DW_TAG_lexical_block + .byte 1 @ DW_CHILDREN_yes + .byte 17 @ DW_AT_low_pc + .byte 1 @ DW_FORM_addr + .byte 18 @ DW_AT_high_pc + .byte 6 @ DW_FORM_data4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 78 @ Abbreviation Code + .byte 52 @ DW_TAG_variable + .byte 0 @ DW_CHILDREN_no + .byte 2 @ DW_AT_location + .byte 23 @ DW_FORM_sec_offset + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 79 @ Abbreviation Code + .byte 29 @ DW_TAG_inlined_subroutine + .byte 1 @ DW_CHILDREN_yes + .byte 49 @ DW_AT_abstract_origin + .byte 19 @ DW_FORM_ref4 + .byte 85 @ DW_AT_ranges + .byte 23 @ DW_FORM_sec_offset + .byte 88 @ DW_AT_call_file + .byte 11 @ DW_FORM_data1 + .byte 89 @ DW_AT_call_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 80 @ Abbreviation Code + .byte 5 @ DW_TAG_formal_parameter + .byte 0 @ DW_CHILDREN_no + .byte 2 @ DW_AT_location + .byte 23 @ DW_FORM_sec_offset + .byte 49 @ DW_AT_abstract_origin + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 81 @ Abbreviation Code + .byte 5 @ DW_TAG_formal_parameter + .byte 0 @ DW_CHILDREN_no + .byte 28 @ DW_AT_const_value + .byte 13 @ DW_FORM_sdata + .byte 49 @ DW_AT_abstract_origin + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 82 @ Abbreviation Code + .byte 52 @ DW_TAG_variable + .byte 0 @ DW_CHILDREN_no + .byte 2 @ DW_AT_location + .byte 23 @ DW_FORM_sec_offset + .byte 49 @ DW_AT_abstract_origin + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 83 @ Abbreviation Code + .byte 29 @ DW_TAG_inlined_subroutine + .byte 1 @ DW_CHILDREN_yes + .byte 49 @ DW_AT_abstract_origin + .byte 19 @ DW_FORM_ref4 + .byte 85 @ DW_AT_ranges + .byte 23 @ DW_FORM_sec_offset + .byte 88 @ DW_AT_call_file + .byte 11 @ DW_FORM_data1 + .byte 89 @ DW_AT_call_line + .byte 11 @ DW_FORM_data1 + .ascii "\266B" @ DW_AT_GNU_discriminator + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 84 @ Abbreviation Code + .byte 29 @ DW_TAG_inlined_subroutine + .byte 0 @ DW_CHILDREN_no + .byte 49 @ DW_AT_abstract_origin + .byte 19 @ DW_FORM_ref4 + .byte 17 @ DW_AT_low_pc + .byte 1 @ DW_FORM_addr + .byte 18 @ DW_AT_high_pc + .byte 6 @ DW_FORM_data4 + .byte 88 @ DW_AT_call_file + .byte 11 @ DW_FORM_data1 + .byte 89 @ DW_AT_call_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 85 @ Abbreviation Code + .byte 29 @ DW_TAG_inlined_subroutine + .byte 0 @ DW_CHILDREN_no + .byte 49 @ DW_AT_abstract_origin + .byte 19 @ DW_FORM_ref4 + .byte 85 @ DW_AT_ranges + .byte 23 @ DW_FORM_sec_offset + .byte 88 @ DW_AT_call_file + .byte 11 @ DW_FORM_data1 + .byte 89 @ DW_AT_call_line + .byte 11 @ DW_FORM_data1 + .ascii "\266B" @ DW_AT_GNU_discriminator + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 86 @ Abbreviation Code + .byte 4 @ DW_TAG_enumeration_type + .byte 1 @ DW_CHILDREN_yes + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 87 @ Abbreviation Code + .byte 19 @ DW_TAG_structure_type + .byte 1 @ DW_CHILDREN_yes + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 88 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 89 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 90 @ Abbreviation Code + .byte 21 @ DW_TAG_subroutine_type + .byte 0 @ DW_CHILDREN_no + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 91 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 92 @ Abbreviation Code + .byte 15 @ DW_TAG_pointer_type + .byte 0 @ DW_CHILDREN_no + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 93 @ Abbreviation Code + .byte 21 @ DW_TAG_subroutine_type + .byte 1 @ DW_CHILDREN_yes + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 94 @ Abbreviation Code + .byte 55 @ DW_TAG_restrict_type + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 95 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 96 @ Abbreviation Code + .byte 58 @ DW_TAG_imported_module + .byte 0 @ DW_CHILDREN_no + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 24 @ DW_AT_import + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 97 @ Abbreviation Code + .byte 23 @ DW_TAG_union_type + .byte 1 @ DW_CHILDREN_yes + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 98 @ Abbreviation Code + .byte 33 @ DW_TAG_subrange_type + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 55 @ DW_AT_count + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 99 @ Abbreviation Code + .byte 22 @ DW_TAG_typedef + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 100 @ Abbreviation Code + .byte 22 @ DW_TAG_typedef + .byte 0 @ DW_CHILDREN_no + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 101 @ Abbreviation Code + .byte 57 @ DW_TAG_namespace + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 102 @ Abbreviation Code + .byte 19 @ DW_TAG_structure_type + .byte 1 @ DW_CHILDREN_yes + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 11 @ DW_AT_byte_size + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 103 @ Abbreviation Code + .byte 13 @ DW_TAG_member + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 56 @ DW_AT_data_member_location + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 104 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 60 @ DW_AT_declaration + .byte 25 @ DW_FORM_flag_present + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 105 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 17 @ DW_AT_low_pc + .byte 1 @ DW_FORM_addr + .byte 18 @ DW_AT_high_pc + .byte 6 @ DW_FORM_data4 + .byte 64 @ DW_AT_frame_base + .byte 24 @ DW_FORM_exprloc + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 63 @ DW_AT_external + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 106 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 32 @ DW_AT_inline + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 107 @ Abbreviation Code + .byte 5 @ DW_TAG_formal_parameter + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 108 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 71 @ DW_AT_specification + .byte 19 @ DW_FORM_ref4 + .byte 32 @ DW_AT_inline + .byte 11 @ DW_FORM_data1 + .byte 100 @ DW_AT_object_pointer + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 109 @ Abbreviation Code + .byte 5 @ DW_TAG_formal_parameter + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 52 @ DW_AT_artificial + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 110 @ Abbreviation Code + .byte 5 @ DW_TAG_formal_parameter + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 111 @ Abbreviation Code + .byte 52 @ DW_TAG_variable + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 112 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 5 @ DW_FORM_data2 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 32 @ DW_AT_inline + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 113 @ Abbreviation Code + .byte 5 @ DW_TAG_formal_parameter + .byte 0 @ DW_CHILDREN_no + .byte 2 @ DW_AT_location + .byte 24 @ DW_FORM_exprloc + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 73 @ DW_AT_type + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 114 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 71 @ DW_AT_specification + .byte 19 @ DW_FORM_ref4 + .byte 32 @ DW_AT_inline + .byte 11 @ DW_FORM_data1 + .byte 100 @ DW_AT_object_pointer + .byte 19 @ DW_FORM_ref4 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 115 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 0 @ DW_CHILDREN_no + .byte 3 @ DW_AT_name + .byte 14 @ DW_FORM_strp + .byte 58 @ DW_AT_decl_file + .byte 11 @ DW_FORM_data1 + .byte 59 @ DW_AT_decl_line + .byte 11 @ DW_FORM_data1 + .byte 32 @ DW_AT_inline + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 116 @ Abbreviation Code + .byte 46 @ DW_TAG_subprogram + .byte 1 @ DW_CHILDREN_yes + .byte 17 @ DW_AT_low_pc + .byte 1 @ DW_FORM_addr + .byte 18 @ DW_AT_high_pc + .byte 6 @ DW_FORM_data4 + .byte 64 @ DW_AT_frame_base + .byte 24 @ DW_FORM_exprloc + .byte 110 @ DW_AT_linkage_name + .byte 14 @ DW_FORM_strp + .byte 52 @ DW_AT_artificial + .byte 25 @ DW_FORM_flag_present + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 117 @ Abbreviation Code + .byte 29 @ DW_TAG_inlined_subroutine + .byte 1 @ DW_CHILDREN_yes + .byte 49 @ DW_AT_abstract_origin + .byte 19 @ DW_FORM_ref4 + .byte 17 @ DW_AT_low_pc + .byte 1 @ DW_FORM_addr + .byte 18 @ DW_AT_high_pc + .byte 6 @ DW_FORM_data4 + .byte 88 @ DW_AT_call_file + .byte 11 @ DW_FORM_data1 + .byte 89 @ DW_AT_call_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 118 @ Abbreviation Code + .byte 29 @ DW_TAG_inlined_subroutine + .byte 1 @ DW_CHILDREN_yes + .byte 49 @ DW_AT_abstract_origin + .byte 19 @ DW_FORM_ref4 + .byte 85 @ DW_AT_ranges + .byte 23 @ DW_FORM_sec_offset + .byte 88 @ DW_AT_call_file + .byte 11 @ DW_FORM_data1 + .byte 89 @ DW_AT_call_line + .byte 5 @ DW_FORM_data2 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 119 @ Abbreviation Code + .byte 29 @ DW_TAG_inlined_subroutine + .byte 0 @ DW_CHILDREN_no + .byte 49 @ DW_AT_abstract_origin + .byte 19 @ DW_FORM_ref4 + .byte 85 @ DW_AT_ranges + .byte 23 @ DW_FORM_sec_offset + .byte 88 @ DW_AT_call_file + .byte 11 @ DW_FORM_data1 + .byte 89 @ DW_AT_call_line + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 120 @ Abbreviation Code + .byte 29 @ DW_TAG_inlined_subroutine + .byte 0 @ DW_CHILDREN_no + .byte 49 @ DW_AT_abstract_origin + .byte 19 @ DW_FORM_ref4 + .byte 17 @ DW_AT_low_pc + .byte 1 @ DW_FORM_addr + .byte 18 @ DW_AT_high_pc + .byte 6 @ DW_FORM_data4 + .byte 88 @ DW_AT_call_file + .byte 11 @ DW_FORM_data1 + .byte 89 @ DW_AT_call_line + .byte 11 @ DW_FORM_data1 + .ascii "\266B" @ DW_AT_GNU_discriminator + .byte 11 @ DW_FORM_data1 + .byte 0 @ EOM(1) + .byte 0 @ EOM(2) + .byte 0 @ EOM(3) + .section .debug_info,"",%progbits +.Lsection_info: +.Lcu_begin0: + .long 27780 @ Length of Unit + .short 4 @ DWARF version number + .long .Lsection_abbrev @ Offset Into Abbrev. Section + .byte 4 @ Address Size (in bytes) + .byte 1 @ Abbrev [1] 0xb:0x6c7d DW_TAG_compile_unit + .long .Linfo_string0 @ DW_AT_producer + .short 4 @ DW_AT_language + .long .Linfo_string1 @ DW_AT_name + .long .Lline_table_start0 @ DW_AT_stmt_list + .long .Linfo_string2 @ DW_AT_comp_dir + .long 0 @ DW_AT_low_pc + .long .Ldebug_ranges11 @ DW_AT_ranges + .byte 2 @ Abbrev [2] 0x26:0x14 DW_TAG_variable + .long .Linfo_string3 @ DW_AT_name + .long 58 @ DW_AT_type + @ DW_AT_external + .byte 12 @ DW_AT_decl_file + .byte 53 @ DW_AT_decl_line + .byte 8 @ DW_AT_location + .byte 3 + .long .L_MergedGlobals + .byte 16 + .byte 24 + .byte 34 + .byte 3 @ Abbrev [3] 0x3a:0x10a DW_TAG_class_type + .long 58 @ DW_AT_containing_type + .long .Linfo_string212 @ DW_AT_name + .byte 48 @ DW_AT_byte_size + .byte 9 @ DW_AT_decl_file + .byte 12 @ DW_AT_decl_line + .byte 4 @ Abbrev [4] 0x46:0xa DW_TAG_member + .long .Linfo_string4 @ DW_AT_name + .long 324 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + @ DW_AT_artificial + .byte 5 @ Abbrev [5] 0x50:0xc DW_TAG_member + .long .Linfo_string7 @ DW_AT_name + .long 357 @ DW_AT_type + .byte 9 @ DW_AT_decl_file + .byte 14 @ DW_AT_decl_line + .byte 4 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5c:0xc DW_TAG_member + .long .Linfo_string205 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 9 @ DW_AT_decl_file + .byte 15 @ DW_AT_decl_line + .byte 16 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x68:0xc DW_TAG_member + .long .Linfo_string206 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 9 @ DW_AT_decl_file + .byte 16 @ DW_AT_decl_line + .byte 20 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x74:0xc DW_TAG_member + .long .Linfo_string207 @ DW_AT_name + .long 18432 @ DW_AT_type + .byte 9 @ DW_AT_decl_file + .byte 17 @ DW_AT_decl_line + .byte 24 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x80:0xc DW_TAG_member + .long .Linfo_string208 @ DW_AT_name + .long 18622 @ DW_AT_type + .byte 9 @ DW_AT_decl_file + .byte 18 @ DW_AT_decl_line + .byte 32 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x8c:0xc DW_TAG_member + .long .Linfo_string211 @ DW_AT_name + .long 18622 @ DW_AT_type + .byte 9 @ DW_AT_decl_file + .byte 19 @ DW_AT_decl_line + .byte 40 @ DW_AT_data_member_location + .byte 6 @ Abbrev [6] 0x98:0xe DW_TAG_subprogram + .long .Linfo_string212 @ DW_AT_name + .byte 9 @ DW_AT_decl_file + .byte 21 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xa0:0x5 DW_TAG_formal_parameter + .long 18640 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0xa6:0x1d DW_TAG_subprogram + .long .Linfo_string212 @ DW_AT_name + .byte 9 @ DW_AT_decl_file + .byte 34 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xae:0x5 DW_TAG_formal_parameter + .long 18640 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xb3:0x5 DW_TAG_formal_parameter + .long 18645 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xb8:0x5 DW_TAG_formal_parameter + .long 18365 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xbd:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0xc3:0x21 DW_TAG_subprogram + .long .Linfo_string241 @ DW_AT_linkage_name + .long .Linfo_string242 @ DW_AT_name + .byte 9 @ DW_AT_decl_file + .byte 49 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xcf:0x5 DW_TAG_formal_parameter + .long 18640 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xd4:0x5 DW_TAG_formal_parameter + .long 18645 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xd9:0x5 DW_TAG_formal_parameter + .long 18365 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xde:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0xe4:0x17 DW_TAG_subprogram + .long .Linfo_string243 @ DW_AT_linkage_name + .long .Linfo_string244 @ DW_AT_name + .byte 9 @ DW_AT_decl_file + .byte 61 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xf0:0x5 DW_TAG_formal_parameter + .long 18640 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xf5:0x5 DW_TAG_formal_parameter + .long 18645 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0xfb:0x20 DW_TAG_subprogram + .long .Linfo_string245 @ DW_AT_linkage_name + .long .Linfo_string246 @ DW_AT_name + .byte 9 @ DW_AT_decl_file + .byte 70 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x10b:0x5 DW_TAG_formal_parameter + .long 18640 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x110:0x5 DW_TAG_formal_parameter + .long 18645 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x115:0x5 DW_TAG_formal_parameter + .long 18365 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x11b:0x12 DW_TAG_subprogram + .long .Linfo_string247 @ DW_AT_linkage_name + .long .Linfo_string248 @ DW_AT_name + .byte 9 @ DW_AT_decl_file + .byte 76 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x127:0x5 DW_TAG_formal_parameter + .long 18640 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 11 @ Abbrev [11] 0x12d:0x16 DW_TAG_subprogram + .long .Linfo_string249 @ DW_AT_name + .byte 9 @ DW_AT_decl_file + .byte 77 @ DW_AT_decl_line + .byte 1 @ DW_AT_virtuality + .byte 2 @ DW_AT_vtable_elem_location + .byte 16 + .byte 0 + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .long 58 @ DW_AT_containing_type + .byte 7 @ Abbrev [7] 0x13d:0x5 DW_TAG_formal_parameter + .long 18640 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x144:0x5 DW_TAG_pointer_type + .long 329 @ DW_AT_type + .byte 13 @ Abbrev [13] 0x149:0x9 DW_TAG_pointer_type + .long 338 @ DW_AT_type + .long .Linfo_string6 @ DW_AT_name + .byte 14 @ Abbrev [14] 0x152:0x5 DW_TAG_subroutine_type + .long 343 @ DW_AT_type + .byte 15 @ Abbrev [15] 0x157:0x7 DW_TAG_base_type + .long .Linfo_string5 @ DW_AT_name + .byte 5 @ DW_AT_encoding + .byte 4 @ DW_AT_byte_size + .byte 16 @ Abbrev [16] 0x15e:0x3f12 DW_TAG_namespace + .long .Linfo_string8 @ DW_AT_name + .byte 1 @ DW_AT_decl_file + .byte 199 @ DW_AT_decl_line + .byte 17 @ Abbrev [17] 0x165:0x75b DW_TAG_class_type + .long .Linfo_string204 @ DW_AT_name + .byte 12 @ DW_AT_byte_size + .byte 7 @ DW_AT_decl_file + .byte 214 @ DW_AT_decl_line + .byte 18 @ Abbrev [18] 0x16d:0x7 DW_TAG_inheritance + .long 2240 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 6 @ Abbrev [6] 0x174:0xe DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 255 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x17c:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 19 @ Abbrev [19] 0x182:0x14 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 266 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x18b:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x190:0x5 DW_TAG_formal_parameter + .long 18504 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x196:0xb DW_TAG_typedef + .long 2927 @ DW_AT_type + .long .Linfo_string36 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 240 @ DW_AT_decl_line + .byte 19 @ Abbrev [19] 0x1a1:0x19 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 279 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x1aa:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1af:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1b4:0x5 DW_TAG_formal_parameter + .long 18504 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x1ba:0x1e DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 291 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1c3:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1c8:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1cd:0x5 DW_TAG_formal_parameter + .long 18525 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1d2:0x5 DW_TAG_formal_parameter + .long 18504 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x1d8:0xb DW_TAG_typedef + .long 343 @ DW_AT_type + .long .Linfo_string86 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 228 @ DW_AT_decl_line + .byte 21 @ Abbrev [21] 0x1e3:0x14 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 320 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1ec:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1f1:0x5 DW_TAG_formal_parameter + .long 18535 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x1f7:0x14 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 337 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x200:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x205:0x5 DW_TAG_formal_parameter + .long 18545 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x20b:0x19 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 341 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x214:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x219:0x5 DW_TAG_formal_parameter + .long 18535 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x21e:0x5 DW_TAG_formal_parameter + .long 18504 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x224:0x19 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 350 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x22d:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x232:0x5 DW_TAG_formal_parameter + .long 18545 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x237:0x5 DW_TAG_formal_parameter + .long 18504 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x23d:0x19 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 375 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x246:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x24b:0x5 DW_TAG_formal_parameter + .long 3021 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x250:0x5 DW_TAG_formal_parameter + .long 18504 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x256:0xf DW_TAG_subprogram + .long .Linfo_string88 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 425 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x25f:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x265:0x1c DW_TAG_subprogram + .long .Linfo_string89 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 438 @ DW_AT_decl_line + .long 18550 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x276:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x27b:0x5 DW_TAG_formal_parameter + .long 18535 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x281:0x1c DW_TAG_subprogram + .long .Linfo_string91 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 450 @ DW_AT_decl_line + .long 18550 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x292:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x297:0x5 DW_TAG_formal_parameter + .long 18545 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x29d:0x1c DW_TAG_subprogram + .long .Linfo_string92 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 471 @ DW_AT_decl_line + .long 18550 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2ae:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2b3:0x5 DW_TAG_formal_parameter + .long 3021 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x2b9:0x1d DW_TAG_subprogram + .long .Linfo_string93 @ DW_AT_linkage_name + .long .Linfo_string94 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 489 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2c6:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2cb:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2d0:0x5 DW_TAG_formal_parameter + .long 18525 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x2d6:0x18 DW_TAG_subprogram + .long .Linfo_string95 @ DW_AT_linkage_name + .long .Linfo_string94 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 534 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2e3:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2e8:0x5 DW_TAG_formal_parameter + .long 3021 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2ee:0x17 DW_TAG_subprogram + .long .Linfo_string96 @ DW_AT_linkage_name + .long .Linfo_string97 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 548 @ DW_AT_decl_line + .long 773 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2ff:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x305:0xb DW_TAG_typedef + .long 16963 @ DW_AT_type + .long .Linfo_string99 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 233 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x310:0x17 DW_TAG_subprogram + .long .Linfo_string100 @ DW_AT_linkage_name + .long .Linfo_string97 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 557 @ DW_AT_decl_line + .long 807 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x321:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x327:0xb DW_TAG_typedef + .long 16968 @ DW_AT_type + .long .Linfo_string102 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 235 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x332:0x17 DW_TAG_subprogram + .long .Linfo_string103 @ DW_AT_linkage_name + .long .Linfo_string104 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 566 @ DW_AT_decl_line + .long 773 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x343:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x349:0x17 DW_TAG_subprogram + .long .Linfo_string105 @ DW_AT_linkage_name + .long .Linfo_string104 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 575 @ DW_AT_decl_line + .long 807 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x35a:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x360:0x17 DW_TAG_subprogram + .long .Linfo_string106 @ DW_AT_linkage_name + .long .Linfo_string107 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 584 @ DW_AT_decl_line + .long 887 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x371:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x377:0xb DW_TAG_typedef + .long 3026 @ DW_AT_type + .long .Linfo_string109 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 237 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x382:0x17 DW_TAG_subprogram + .long .Linfo_string110 @ DW_AT_linkage_name + .long .Linfo_string107 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 593 @ DW_AT_decl_line + .long 921 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x393:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x399:0xb DW_TAG_typedef + .long 3031 @ DW_AT_type + .long .Linfo_string112 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 236 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x3a4:0x17 DW_TAG_subprogram + .long .Linfo_string113 @ DW_AT_linkage_name + .long .Linfo_string114 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 602 @ DW_AT_decl_line + .long 887 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3b5:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3bb:0x17 DW_TAG_subprogram + .long .Linfo_string115 @ DW_AT_linkage_name + .long .Linfo_string114 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 611 @ DW_AT_decl_line + .long 921 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3cc:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3d2:0x17 DW_TAG_subprogram + .long .Linfo_string116 @ DW_AT_linkage_name + .long .Linfo_string117 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 621 @ DW_AT_decl_line + .long 807 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3e3:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3e9:0x17 DW_TAG_subprogram + .long .Linfo_string118 @ DW_AT_linkage_name + .long .Linfo_string119 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 630 @ DW_AT_decl_line + .long 807 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3fa:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x400:0x17 DW_TAG_subprogram + .long .Linfo_string120 @ DW_AT_linkage_name + .long .Linfo_string121 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 639 @ DW_AT_decl_line + .long 921 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x411:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x417:0x17 DW_TAG_subprogram + .long .Linfo_string122 @ DW_AT_linkage_name + .long .Linfo_string123 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 648 @ DW_AT_decl_line + .long 921 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x428:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x42e:0x17 DW_TAG_subprogram + .long .Linfo_string124 @ DW_AT_linkage_name + .long .Linfo_string125 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 655 @ DW_AT_decl_line + .long 18514 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x43f:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x445:0x17 DW_TAG_subprogram + .long .Linfo_string126 @ DW_AT_linkage_name + .long .Linfo_string29 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 660 @ DW_AT_decl_line + .long 18514 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x456:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x45c:0x18 DW_TAG_subprogram + .long .Linfo_string127 @ DW_AT_linkage_name + .long .Linfo_string128 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 674 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x469:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x46e:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x474:0x1d DW_TAG_subprogram + .long .Linfo_string129 @ DW_AT_linkage_name + .long .Linfo_string128 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 694 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x481:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x486:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x48b:0x5 DW_TAG_formal_parameter + .long 18525 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x491:0x13 DW_TAG_subprogram + .long .Linfo_string130 @ DW_AT_linkage_name + .long .Linfo_string131 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 726 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x49e:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x4a4:0x17 DW_TAG_subprogram + .long .Linfo_string132 @ DW_AT_linkage_name + .long .Linfo_string133 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 735 @ DW_AT_decl_line + .long 18514 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4b5:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x4bb:0x17 DW_TAG_subprogram + .long .Linfo_string134 @ DW_AT_linkage_name + .long .Linfo_string135 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 744 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4cc:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x4d2:0x18 DW_TAG_subprogram + .long .Linfo_string136 @ DW_AT_linkage_name + .long .Linfo_string137 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 765 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4df:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4e4:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x4ea:0x1c DW_TAG_subprogram + .long .Linfo_string138 @ DW_AT_linkage_name + .long .Linfo_string139 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 780 @ DW_AT_decl_line + .long 1286 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4fb:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x500:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x506:0xb DW_TAG_typedef + .long 16684 @ DW_AT_type + .long .Linfo_string18 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 231 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x511:0x1c DW_TAG_subprogram + .long .Linfo_string140 @ DW_AT_linkage_name + .long .Linfo_string139 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 795 @ DW_AT_decl_line + .long 1325 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x522:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x527:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x52d:0xb DW_TAG_typedef + .long 16706 @ DW_AT_type + .long .Linfo_string21 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 232 @ DW_AT_decl_line + .byte 23 @ Abbrev [23] 0x538:0x18 DW_TAG_subprogram + .long .Linfo_string141 @ DW_AT_linkage_name + .long .Linfo_string142 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 801 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x545:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x54a:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x550:0x1c DW_TAG_subprogram + .long .Linfo_string143 @ DW_AT_linkage_name + .long .Linfo_string144 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 823 @ DW_AT_decl_line + .long 1286 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x561:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x566:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x56c:0x1c DW_TAG_subprogram + .long .Linfo_string145 @ DW_AT_linkage_name + .long .Linfo_string144 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 841 @ DW_AT_decl_line + .long 1325 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x57d:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x582:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x588:0x17 DW_TAG_subprogram + .long .Linfo_string146 @ DW_AT_linkage_name + .long .Linfo_string147 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 852 @ DW_AT_decl_line + .long 1286 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x599:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x59f:0x17 DW_TAG_subprogram + .long .Linfo_string148 @ DW_AT_linkage_name + .long .Linfo_string147 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 860 @ DW_AT_decl_line + .long 1325 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x5b0:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x5b6:0x17 DW_TAG_subprogram + .long .Linfo_string149 @ DW_AT_linkage_name + .long .Linfo_string150 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 868 @ DW_AT_decl_line + .long 1286 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x5c7:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x5cd:0x17 DW_TAG_subprogram + .long .Linfo_string151 @ DW_AT_linkage_name + .long .Linfo_string150 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 876 @ DW_AT_decl_line + .long 1325 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x5de:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x5e4:0x17 DW_TAG_subprogram + .long .Linfo_string152 @ DW_AT_linkage_name + .long .Linfo_string153 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 891 @ DW_AT_decl_line + .long 18304 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x5f5:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x5fb:0x17 DW_TAG_subprogram + .long .Linfo_string154 @ DW_AT_linkage_name + .long .Linfo_string153 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 899 @ DW_AT_decl_line + .long 18339 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x60c:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x612:0x18 DW_TAG_subprogram + .long .Linfo_string155 @ DW_AT_linkage_name + .long .Linfo_string156 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 914 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x61f:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x624:0x5 DW_TAG_formal_parameter + .long 18525 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x62a:0x18 DW_TAG_subprogram + .long .Linfo_string157 @ DW_AT_linkage_name + .long .Linfo_string156 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 932 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x637:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x63c:0x5 DW_TAG_formal_parameter + .long 18575 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x642:0x13 DW_TAG_subprogram + .long .Linfo_string158 @ DW_AT_linkage_name + .long .Linfo_string159 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 950 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x64f:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x655:0x21 DW_TAG_subprogram + .long .Linfo_string160 @ DW_AT_linkage_name + .long .Linfo_string161 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 985 @ DW_AT_decl_line + .long 773 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x666:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x66b:0x5 DW_TAG_formal_parameter + .long 807 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x670:0x5 DW_TAG_formal_parameter + .long 18525 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x676:0x21 DW_TAG_subprogram + .long .Linfo_string162 @ DW_AT_linkage_name + .long .Linfo_string161 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1015 @ DW_AT_decl_line + .long 773 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x687:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x68c:0x5 DW_TAG_formal_parameter + .long 807 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x691:0x5 DW_TAG_formal_parameter + .long 18575 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x697:0x21 DW_TAG_subprogram + .long .Linfo_string163 @ DW_AT_linkage_name + .long .Linfo_string161 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1032 @ DW_AT_decl_line + .long 773 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x6a8:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x6ad:0x5 DW_TAG_formal_parameter + .long 807 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6b2:0x5 DW_TAG_formal_parameter + .long 3021 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x6b8:0x26 DW_TAG_subprogram + .long .Linfo_string164 @ DW_AT_linkage_name + .long .Linfo_string161 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1052 @ DW_AT_decl_line + .long 773 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x6c9:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x6ce:0x5 DW_TAG_formal_parameter + .long 807 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6d3:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6d8:0x5 DW_TAG_formal_parameter + .long 18525 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x6de:0x1c DW_TAG_subprogram + .long .Linfo_string165 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1147 @ DW_AT_decl_line + .long 773 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x6ef:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x6f4:0x5 DW_TAG_formal_parameter + .long 807 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x6fa:0x21 DW_TAG_subprogram + .long .Linfo_string167 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1174 @ DW_AT_decl_line + .long 773 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x70b:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x710:0x5 DW_TAG_formal_parameter + .long 807 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x715:0x5 DW_TAG_formal_parameter + .long 807 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x71b:0x18 DW_TAG_subprogram + .long .Linfo_string168 @ DW_AT_linkage_name + .long .Linfo_string169 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1195 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x728:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x72d:0x5 DW_TAG_formal_parameter + .long 18550 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x733:0x13 DW_TAG_subprogram + .long .Linfo_string170 @ DW_AT_linkage_name + .long .Linfo_string171 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1209 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x740:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x746:0x1d DW_TAG_subprogram + .long .Linfo_string172 @ DW_AT_linkage_name + .long .Linfo_string173 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1296 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x753:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x758:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x75d:0x5 DW_TAG_formal_parameter + .long 18525 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x763:0x18 DW_TAG_subprogram + .long .Linfo_string174 @ DW_AT_linkage_name + .long .Linfo_string175 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1306 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x770:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x775:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x77b:0x1d DW_TAG_subprogram + .long .Linfo_string176 @ DW_AT_linkage_name + .long .Linfo_string177 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1352 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x788:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x78d:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x792:0x5 DW_TAG_formal_parameter + .long 18525 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x798:0x22 DW_TAG_subprogram + .long .Linfo_string178 @ DW_AT_linkage_name + .long .Linfo_string179 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1393 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x7a5:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x7aa:0x5 DW_TAG_formal_parameter + .long 773 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x7af:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x7b4:0x5 DW_TAG_formal_parameter + .long 18525 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x7ba:0x18 DW_TAG_subprogram + .long .Linfo_string180 @ DW_AT_linkage_name + .long .Linfo_string181 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1398 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x7c7:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x7cc:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x7d2:0x17 DW_TAG_subprogram + .long .Linfo_string182 @ DW_AT_linkage_name + .long .Linfo_string183 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1401 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x7e3:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x7e9:0x21 DW_TAG_subprogram + .long .Linfo_string184 @ DW_AT_linkage_name + .long .Linfo_string185 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1420 @ DW_AT_decl_line + .long 2058 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x7fa:0x5 DW_TAG_formal_parameter + .long 18555 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x7ff:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x804:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x80a:0xb DW_TAG_typedef + .long 3010 @ DW_AT_type + .long .Linfo_string25 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 238 @ DW_AT_decl_line + .byte 23 @ Abbrev [23] 0x815:0x18 DW_TAG_subprogram + .long .Linfo_string187 @ DW_AT_linkage_name + .long .Linfo_string188 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1434 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x822:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x827:0x5 DW_TAG_formal_parameter + .long 2093 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x82d:0xb DW_TAG_typedef + .long 2393 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 229 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x838:0x1c DW_TAG_subprogram + .long .Linfo_string189 @ DW_AT_linkage_name + .long .Linfo_string190 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1441 @ DW_AT_decl_line + .long 773 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x849:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x84e:0x5 DW_TAG_formal_parameter + .long 773 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x854:0x21 DW_TAG_subprogram + .long .Linfo_string191 @ DW_AT_linkage_name + .long .Linfo_string190 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1444 @ DW_AT_decl_line + .long 773 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x865:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x86a:0x5 DW_TAG_formal_parameter + .long 773 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x86f:0x5 DW_TAG_formal_parameter + .long 773 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x875:0x1c DW_TAG_subprogram + .long .Linfo_string192 @ DW_AT_linkage_name + .long .Linfo_string193 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1452 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x881:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x886:0x5 DW_TAG_formal_parameter + .long 18545 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x88b:0x5 DW_TAG_formal_parameter + .long 3036 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x891:0x1c DW_TAG_subprogram + .long .Linfo_string200 @ DW_AT_linkage_name + .long .Linfo_string193 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1463 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x89d:0x5 DW_TAG_formal_parameter + .long 18499 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x8a2:0x5 DW_TAG_formal_parameter + .long 18545 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x8a7:0x5 DW_TAG_formal_parameter + .long 3119 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x8ad:0x9 DW_TAG_template_type_parameter + .long 343 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x8b6:0x9 DW_TAG_template_type_parameter + .long 2927 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x8c0:0x1dd DW_TAG_structure_type + .long .Linfo_string84 @ DW_AT_name + .byte 12 @ DW_AT_byte_size + .byte 7 @ DW_AT_decl_file + .byte 72 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x8c8:0xc DW_TAG_member + .long .Linfo_string9 @ DW_AT_name + .long 2260 @ DW_AT_type + .byte 7 @ DW_AT_decl_file + .byte 164 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 26 @ Abbrev [26] 0x8d4:0x7a DW_TAG_structure_type + .long .Linfo_string68 @ DW_AT_name + .byte 12 @ DW_AT_byte_size + .byte 7 @ DW_AT_decl_file + .byte 79 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x8dc:0x6 DW_TAG_inheritance + .long 2382 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x8e2:0xc DW_TAG_member + .long .Linfo_string65 @ DW_AT_name + .long 2393 @ DW_AT_type + .byte 7 @ DW_AT_decl_file + .byte 82 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x8ee:0xc DW_TAG_member + .long .Linfo_string66 @ DW_AT_name + .long 2393 @ DW_AT_type + .byte 7 @ DW_AT_decl_file + .byte 83 @ DW_AT_decl_line + .byte 4 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x8fa:0xc DW_TAG_member + .long .Linfo_string67 @ DW_AT_name + .long 2393 @ DW_AT_type + .byte 7 @ DW_AT_decl_file + .byte 84 @ DW_AT_decl_line + .byte 8 @ DW_AT_data_member_location + .byte 28 @ Abbrev [28] 0x906:0xd DW_TAG_subprogram + .long .Linfo_string68 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 86 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x90d:0x5 DW_TAG_formal_parameter + .long 18439 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x913:0x12 DW_TAG_subprogram + .long .Linfo_string68 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 90 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x91a:0x5 DW_TAG_formal_parameter + .long 18439 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x91f:0x5 DW_TAG_formal_parameter + .long 18444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x925:0x12 DW_TAG_subprogram + .long .Linfo_string68 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 95 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x92c:0x5 DW_TAG_formal_parameter + .long 18439 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x931:0x5 DW_TAG_formal_parameter + .long 18454 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x937:0x16 DW_TAG_subprogram + .long .Linfo_string69 @ DW_AT_linkage_name + .long .Linfo_string70 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 101 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x942:0x5 DW_TAG_formal_parameter + .long 18439 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x947:0x5 DW_TAG_formal_parameter + .long 18459 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x94e:0xb DW_TAG_typedef + .long 16661 @ DW_AT_type + .long .Linfo_string64 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 75 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x959:0xb DW_TAG_typedef + .long 16673 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 77 @ DW_AT_decl_line + .byte 30 @ Abbrev [30] 0x964:0x15 DW_TAG_subprogram + .long .Linfo_string71 @ DW_AT_linkage_name + .long .Linfo_string72 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 113 @ DW_AT_decl_line + .long 18464 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x973:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x979:0x15 DW_TAG_subprogram + .long .Linfo_string73 @ DW_AT_linkage_name + .long .Linfo_string72 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 117 @ DW_AT_decl_line + .long 18444 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x988:0x5 DW_TAG_formal_parameter + .long 18474 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x98e:0x15 DW_TAG_subprogram + .long .Linfo_string74 @ DW_AT_linkage_name + .long .Linfo_string75 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 121 @ DW_AT_decl_line + .long 2467 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x99d:0x5 DW_TAG_formal_parameter + .long 18474 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x9a3:0xb DW_TAG_typedef + .long 2927 @ DW_AT_type + .long .Linfo_string36 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 110 @ DW_AT_decl_line + .byte 28 @ Abbrev [28] 0x9ae:0xd DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 124 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x9b5:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x9bb:0x12 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 127 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x9c2:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x9c7:0x5 DW_TAG_formal_parameter + .long 18484 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x9cd:0x12 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 130 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x9d4:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x9d9:0x5 DW_TAG_formal_parameter + .long 3010 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x9df:0x17 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 134 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x9e6:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x9eb:0x5 DW_TAG_formal_parameter + .long 3010 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x9f0:0x5 DW_TAG_formal_parameter + .long 18484 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x9f6:0x12 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x9fd:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xa02:0x5 DW_TAG_formal_parameter + .long 18454 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0xa08:0x12 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 142 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0xa0f:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xa14:0x5 DW_TAG_formal_parameter + .long 18494 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0xa1a:0x17 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 146 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0xa21:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xa26:0x5 DW_TAG_formal_parameter + .long 18494 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xa2b:0x5 DW_TAG_formal_parameter + .long 18484 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0xa31:0xd DW_TAG_subprogram + .long .Linfo_string77 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 159 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0xa38:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0xa3e:0x1a DW_TAG_subprogram + .long .Linfo_string78 @ DW_AT_linkage_name + .long .Linfo_string79 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 167 @ DW_AT_decl_line + .long 2393 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0xa4d:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xa52:0x5 DW_TAG_formal_parameter + .long 3010 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0xa58:0x1b DW_TAG_subprogram + .long .Linfo_string80 @ DW_AT_linkage_name + .long .Linfo_string81 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 174 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0xa63:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xa68:0x5 DW_TAG_formal_parameter + .long 2393 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xa6d:0x5 DW_TAG_formal_parameter + .long 3010 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0xa73:0x17 DW_TAG_subprogram + .long .Linfo_string82 @ DW_AT_linkage_name + .long .Linfo_string83 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 183 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 3 @ DW_AT_accessibility + @ DW_ACCESS_private + .byte 7 @ Abbrev [7] 0xa7f:0x5 DW_TAG_formal_parameter + .long 18469 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xa84:0x5 DW_TAG_formal_parameter + .long 3010 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0xa8a:0x9 DW_TAG_template_type_parameter + .long 343 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 25 @ Abbrev [25] 0xa93:0x9 DW_TAG_template_type_parameter + .long 2927 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0xa9d:0xd2 DW_TAG_structure_type + .long .Linfo_string44 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 2 @ DW_AT_decl_file + .short 384 @ DW_AT_decl_line + .byte 32 @ Abbrev [32] 0xaa6:0x1b DW_TAG_subprogram + .long .Linfo_string11 @ DW_AT_linkage_name + .long .Linfo_string12 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 435 @ DW_AT_decl_line + .long 2753 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0xab6:0x5 DW_TAG_formal_parameter + .long 18309 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xabb:0x5 DW_TAG_formal_parameter + .long 18393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0xac1:0xc DW_TAG_typedef + .long 18304 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 392 @ DW_AT_decl_line + .byte 33 @ Abbrev [33] 0xacd:0xc DW_TAG_typedef + .long 2927 @ DW_AT_type + .long .Linfo_string36 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 387 @ DW_AT_decl_line + .byte 32 @ Abbrev [32] 0xad9:0x20 DW_TAG_subprogram + .long .Linfo_string37 @ DW_AT_linkage_name + .long .Linfo_string12 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 449 @ DW_AT_decl_line + .long 2753 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0xae9:0x5 DW_TAG_formal_parameter + .long 18309 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xaee:0x5 DW_TAG_formal_parameter + .long 18393 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xaf3:0x5 DW_TAG_formal_parameter + .long 18405 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0xaf9:0x1c DW_TAG_subprogram + .long .Linfo_string39 @ DW_AT_linkage_name + .long .Linfo_string27 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 461 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0xb05:0x5 DW_TAG_formal_parameter + .long 18309 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xb0a:0x5 DW_TAG_formal_parameter + .long 2753 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xb0f:0x5 DW_TAG_formal_parameter + .long 18393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0xb15:0x16 DW_TAG_subprogram + .long .Linfo_string40 @ DW_AT_linkage_name + .long .Linfo_string29 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 495 @ DW_AT_decl_line + .long 2859 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0xb25:0x5 DW_TAG_formal_parameter + .long 18417 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0xb2b:0xc DW_TAG_typedef + .long 3010 @ DW_AT_type + .long .Linfo_string25 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 407 @ DW_AT_decl_line + .byte 32 @ Abbrev [32] 0xb37:0x16 DW_TAG_subprogram + .long .Linfo_string41 @ DW_AT_linkage_name + .long .Linfo_string42 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 504 @ DW_AT_decl_line + .long 2765 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0xb47:0x5 DW_TAG_formal_parameter + .long 18417 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0xb4d:0x9 DW_TAG_template_type_parameter + .long 2927 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 33 @ Abbrev [33] 0xb56:0xc DW_TAG_typedef + .long 2927 @ DW_AT_type + .long .Linfo_string62 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 422 @ DW_AT_decl_line + .byte 33 @ Abbrev [33] 0xb62:0xc DW_TAG_typedef + .long 343 @ DW_AT_type + .long .Linfo_string86 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 389 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 17 @ Abbrev [17] 0xb6f:0x48 DW_TAG_class_type + .long .Linfo_string35 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 5 @ DW_AT_decl_file + .byte 108 @ DW_AT_decl_line + .byte 18 @ Abbrev [18] 0xb77:0x7 DW_TAG_inheritance + .long 2999 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 6 @ Abbrev [6] 0xb7e:0xe DW_TAG_subprogram + .long .Linfo_string33 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 131 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xb86:0x5 DW_TAG_formal_parameter + .long 18378 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0xb8c:0x13 DW_TAG_subprogram + .long .Linfo_string33 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 133 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xb94:0x5 DW_TAG_formal_parameter + .long 18378 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xb99:0x5 DW_TAG_formal_parameter + .long 18383 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0xb9f:0xe DW_TAG_subprogram + .long .Linfo_string34 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xba7:0x5 DW_TAG_formal_parameter + .long 18378 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0xbad:0x9 DW_TAG_template_type_parameter + .long 343 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0xbb7:0xb DW_TAG_typedef + .long 16718 @ DW_AT_type + .long .Linfo_string32 @ DW_AT_name + .byte 4 @ DW_AT_decl_file + .byte 48 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0xbc2:0xb DW_TAG_typedef + .long 18365 @ DW_AT_type + .long .Linfo_string24 @ DW_AT_name + .byte 1 @ DW_AT_decl_file + .byte 201 @ DW_AT_decl_line + .byte 34 @ Abbrev [34] 0xbcd:0x5 DW_TAG_class_type + .long .Linfo_string87 @ DW_AT_name + @ DW_AT_declaration + .byte 34 @ Abbrev [34] 0xbd2:0x5 DW_TAG_class_type + .long .Linfo_string108 @ DW_AT_name + @ DW_AT_declaration + .byte 34 @ Abbrev [34] 0xbd7:0x5 DW_TAG_class_type + .long .Linfo_string111 @ DW_AT_name + @ DW_AT_declaration + .byte 20 @ Abbrev [20] 0xbdc:0xb DW_TAG_typedef + .long 3047 @ DW_AT_type + .long .Linfo_string199 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .byte 87 @ DW_AT_decl_line + .byte 26 @ Abbrev [26] 0xbe7:0x48 DW_TAG_structure_type + .long .Linfo_string198 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 8 @ DW_AT_decl_file + .byte 69 @ DW_AT_decl_line + .byte 35 @ Abbrev [35] 0xbef:0xc DW_TAG_member + .long .Linfo_string194 @ DW_AT_name + .long 18597 @ DW_AT_type + .byte 8 @ DW_AT_decl_file + .byte 71 @ DW_AT_decl_line + @ DW_AT_external + @ DW_AT_declaration + .byte 1 @ DW_AT_const_value + .byte 30 @ Abbrev [30] 0xbfb:0x15 DW_TAG_subprogram + .long .Linfo_string195 @ DW_AT_linkage_name + .long .Linfo_string196 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .byte 74 @ DW_AT_decl_line + .long 3088 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0xc0a:0x5 DW_TAG_formal_parameter + .long 18602 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0xc10:0xb DW_TAG_typedef + .long 18432 @ DW_AT_type + .long .Linfo_string86 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .byte 72 @ DW_AT_decl_line + .byte 25 @ Abbrev [25] 0xc1b:0x9 DW_TAG_template_type_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 36 @ Abbrev [36] 0xc24:0xa DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string197 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0xc2f:0xb DW_TAG_typedef + .long 3130 @ DW_AT_type + .long .Linfo_string203 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .byte 90 @ DW_AT_decl_line + .byte 26 @ Abbrev [26] 0xc3a:0x48 DW_TAG_structure_type + .long .Linfo_string202 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 8 @ DW_AT_decl_file + .byte 69 @ DW_AT_decl_line + .byte 35 @ Abbrev [35] 0xc42:0xc DW_TAG_member + .long .Linfo_string194 @ DW_AT_name + .long 18597 @ DW_AT_type + .byte 8 @ DW_AT_decl_file + .byte 71 @ DW_AT_decl_line + @ DW_AT_external + @ DW_AT_declaration + .byte 0 @ DW_AT_const_value + .byte 30 @ Abbrev [30] 0xc4e:0x15 DW_TAG_subprogram + .long .Linfo_string201 @ DW_AT_linkage_name + .long .Linfo_string196 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .byte 74 @ DW_AT_decl_line + .long 3171 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0xc5d:0x5 DW_TAG_formal_parameter + .long 18612 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0xc63:0xb DW_TAG_typedef + .long 18432 @ DW_AT_type + .long .Linfo_string86 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .byte 72 @ DW_AT_decl_line + .byte 25 @ Abbrev [25] 0xc6e:0x9 DW_TAG_template_type_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 36 @ Abbrev [36] 0xc77:0xa DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string197 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 17 @ Abbrev [17] 0xc82:0x75b DW_TAG_class_type + .long .Linfo_string380 @ DW_AT_name + .byte 12 @ DW_AT_byte_size + .byte 7 @ DW_AT_decl_file + .byte 214 @ DW_AT_decl_line + .byte 18 @ Abbrev [18] 0xc8a:0x7 DW_TAG_inheritance + .long 5085 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 6 @ Abbrev [6] 0xc91:0xe DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 255 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xc99:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 19 @ Abbrev [19] 0xc9f:0x14 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 266 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0xca8:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xcad:0x5 DW_TAG_formal_parameter + .long 20418 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0xcb3:0xb DW_TAG_typedef + .long 5772 @ DW_AT_type + .long .Linfo_string36 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 240 @ DW_AT_decl_line + .byte 19 @ Abbrev [19] 0xcbe:0x19 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 279 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0xcc7:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xccc:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xcd1:0x5 DW_TAG_formal_parameter + .long 20418 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0xcd7:0x1e DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 291 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xce0:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xce5:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xcea:0x5 DW_TAG_formal_parameter + .long 20428 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xcef:0x5 DW_TAG_formal_parameter + .long 20418 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0xcf5:0xb DW_TAG_typedef + .long 18995 @ DW_AT_type + .long .Linfo_string86 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 228 @ DW_AT_decl_line + .byte 21 @ Abbrev [21] 0xd00:0x14 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 320 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xd09:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xd0e:0x5 DW_TAG_formal_parameter + .long 20438 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0xd14:0x14 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 337 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xd1d:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xd22:0x5 DW_TAG_formal_parameter + .long 20448 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0xd28:0x19 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 341 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xd31:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xd36:0x5 DW_TAG_formal_parameter + .long 20438 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xd3b:0x5 DW_TAG_formal_parameter + .long 20418 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0xd41:0x19 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 350 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xd4a:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xd4f:0x5 DW_TAG_formal_parameter + .long 20448 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xd54:0x5 DW_TAG_formal_parameter + .long 20418 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0xd5a:0x19 DW_TAG_subprogram + .long .Linfo_string85 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 375 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xd63:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xd68:0x5 DW_TAG_formal_parameter + .long 5855 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xd6d:0x5 DW_TAG_formal_parameter + .long 20418 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0xd73:0xf DW_TAG_subprogram + .long .Linfo_string88 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 425 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xd7c:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xd82:0x1c DW_TAG_subprogram + .long .Linfo_string317 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 438 @ DW_AT_decl_line + .long 20453 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xd93:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xd98:0x5 DW_TAG_formal_parameter + .long 20438 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xd9e:0x1c DW_TAG_subprogram + .long .Linfo_string318 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 450 @ DW_AT_decl_line + .long 20453 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xdaf:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xdb4:0x5 DW_TAG_formal_parameter + .long 20448 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xdba:0x1c DW_TAG_subprogram + .long .Linfo_string319 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 471 @ DW_AT_decl_line + .long 20453 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xdcb:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xdd0:0x5 DW_TAG_formal_parameter + .long 5855 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0xdd6:0x1d DW_TAG_subprogram + .long .Linfo_string320 @ DW_AT_linkage_name + .long .Linfo_string94 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 489 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xde3:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xde8:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xded:0x5 DW_TAG_formal_parameter + .long 20428 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0xdf3:0x18 DW_TAG_subprogram + .long .Linfo_string321 @ DW_AT_linkage_name + .long .Linfo_string94 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 534 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xe00:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xe05:0x5 DW_TAG_formal_parameter + .long 5855 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xe0b:0x17 DW_TAG_subprogram + .long .Linfo_string322 @ DW_AT_linkage_name + .long .Linfo_string97 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 548 @ DW_AT_decl_line + .long 3618 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xe1c:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0xe22:0xb DW_TAG_typedef + .long 17433 @ DW_AT_type + .long .Linfo_string99 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 233 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0xe2d:0x17 DW_TAG_subprogram + .long .Linfo_string324 @ DW_AT_linkage_name + .long .Linfo_string97 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 557 @ DW_AT_decl_line + .long 3652 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xe3e:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0xe44:0xb DW_TAG_typedef + .long 17438 @ DW_AT_type + .long .Linfo_string102 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 235 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0xe4f:0x17 DW_TAG_subprogram + .long .Linfo_string326 @ DW_AT_linkage_name + .long .Linfo_string104 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 566 @ DW_AT_decl_line + .long 3618 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xe60:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xe66:0x17 DW_TAG_subprogram + .long .Linfo_string327 @ DW_AT_linkage_name + .long .Linfo_string104 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 575 @ DW_AT_decl_line + .long 3652 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xe77:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xe7d:0x17 DW_TAG_subprogram + .long .Linfo_string328 @ DW_AT_linkage_name + .long .Linfo_string107 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 584 @ DW_AT_decl_line + .long 3732 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xe8e:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0xe94:0xb DW_TAG_typedef + .long 5860 @ DW_AT_type + .long .Linfo_string109 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 237 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0xe9f:0x17 DW_TAG_subprogram + .long .Linfo_string330 @ DW_AT_linkage_name + .long .Linfo_string107 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 593 @ DW_AT_decl_line + .long 3766 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xeb0:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0xeb6:0xb DW_TAG_typedef + .long 5865 @ DW_AT_type + .long .Linfo_string112 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 236 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0xec1:0x17 DW_TAG_subprogram + .long .Linfo_string332 @ DW_AT_linkage_name + .long .Linfo_string114 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 602 @ DW_AT_decl_line + .long 3732 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xed2:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xed8:0x17 DW_TAG_subprogram + .long .Linfo_string333 @ DW_AT_linkage_name + .long .Linfo_string114 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 611 @ DW_AT_decl_line + .long 3766 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xee9:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xeef:0x17 DW_TAG_subprogram + .long .Linfo_string334 @ DW_AT_linkage_name + .long .Linfo_string117 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 621 @ DW_AT_decl_line + .long 3652 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xf00:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xf06:0x17 DW_TAG_subprogram + .long .Linfo_string335 @ DW_AT_linkage_name + .long .Linfo_string119 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 630 @ DW_AT_decl_line + .long 3652 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xf17:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xf1d:0x17 DW_TAG_subprogram + .long .Linfo_string336 @ DW_AT_linkage_name + .long .Linfo_string121 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 639 @ DW_AT_decl_line + .long 3766 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xf2e:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xf34:0x17 DW_TAG_subprogram + .long .Linfo_string337 @ DW_AT_linkage_name + .long .Linfo_string123 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 648 @ DW_AT_decl_line + .long 3766 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xf45:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xf4b:0x17 DW_TAG_subprogram + .long .Linfo_string338 @ DW_AT_linkage_name + .long .Linfo_string125 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 655 @ DW_AT_decl_line + .long 18514 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xf5c:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xf62:0x17 DW_TAG_subprogram + .long .Linfo_string339 @ DW_AT_linkage_name + .long .Linfo_string29 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 660 @ DW_AT_decl_line + .long 18514 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xf73:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0xf79:0x18 DW_TAG_subprogram + .long .Linfo_string340 @ DW_AT_linkage_name + .long .Linfo_string128 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 674 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xf86:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xf8b:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0xf91:0x1d DW_TAG_subprogram + .long .Linfo_string341 @ DW_AT_linkage_name + .long .Linfo_string128 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 694 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xf9e:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0xfa3:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0xfa8:0x5 DW_TAG_formal_parameter + .long 20428 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0xfae:0x13 DW_TAG_subprogram + .long .Linfo_string342 @ DW_AT_linkage_name + .long .Linfo_string131 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 726 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xfbb:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xfc1:0x17 DW_TAG_subprogram + .long .Linfo_string343 @ DW_AT_linkage_name + .long .Linfo_string133 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 735 @ DW_AT_decl_line + .long 18514 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xfd2:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0xfd8:0x17 DW_TAG_subprogram + .long .Linfo_string344 @ DW_AT_linkage_name + .long .Linfo_string135 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 744 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xfe9:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0xfef:0x18 DW_TAG_subprogram + .long .Linfo_string345 @ DW_AT_linkage_name + .long .Linfo_string137 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 765 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0xffc:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1001:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1007:0x1c DW_TAG_subprogram + .long .Linfo_string346 @ DW_AT_linkage_name + .long .Linfo_string139 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 780 @ DW_AT_decl_line + .long 4131 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1018:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x101d:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x1023:0xb DW_TAG_typedef + .long 17154 @ DW_AT_type + .long .Linfo_string18 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 231 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x102e:0x1c DW_TAG_subprogram + .long .Linfo_string347 @ DW_AT_linkage_name + .long .Linfo_string139 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 795 @ DW_AT_decl_line + .long 4170 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x103f:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1044:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x104a:0xb DW_TAG_typedef + .long 17176 @ DW_AT_type + .long .Linfo_string21 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 232 @ DW_AT_decl_line + .byte 23 @ Abbrev [23] 0x1055:0x18 DW_TAG_subprogram + .long .Linfo_string348 @ DW_AT_linkage_name + .long .Linfo_string142 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 801 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x1062:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1067:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x106d:0x1c DW_TAG_subprogram + .long .Linfo_string349 @ DW_AT_linkage_name + .long .Linfo_string144 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 823 @ DW_AT_decl_line + .long 4131 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x107e:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1083:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1089:0x1c DW_TAG_subprogram + .long .Linfo_string350 @ DW_AT_linkage_name + .long .Linfo_string144 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 841 @ DW_AT_decl_line + .long 4170 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x109a:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x109f:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x10a5:0x17 DW_TAG_subprogram + .long .Linfo_string351 @ DW_AT_linkage_name + .long .Linfo_string147 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 852 @ DW_AT_decl_line + .long 4131 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x10b6:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x10bc:0x17 DW_TAG_subprogram + .long .Linfo_string352 @ DW_AT_linkage_name + .long .Linfo_string147 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 860 @ DW_AT_decl_line + .long 4170 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x10cd:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x10d3:0x17 DW_TAG_subprogram + .long .Linfo_string353 @ DW_AT_linkage_name + .long .Linfo_string150 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 868 @ DW_AT_decl_line + .long 4131 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x10e4:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x10ea:0x17 DW_TAG_subprogram + .long .Linfo_string354 @ DW_AT_linkage_name + .long .Linfo_string150 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 876 @ DW_AT_decl_line + .long 4170 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x10fb:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1101:0x17 DW_TAG_subprogram + .long .Linfo_string355 @ DW_AT_linkage_name + .long .Linfo_string153 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 891 @ DW_AT_decl_line + .long 19007 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1112:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1118:0x17 DW_TAG_subprogram + .long .Linfo_string356 @ DW_AT_linkage_name + .long .Linfo_string153 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 899 @ DW_AT_decl_line + .long 18985 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1129:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x112f:0x18 DW_TAG_subprogram + .long .Linfo_string357 @ DW_AT_linkage_name + .long .Linfo_string156 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 914 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x113c:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1141:0x5 DW_TAG_formal_parameter + .long 20428 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1147:0x18 DW_TAG_subprogram + .long .Linfo_string358 @ DW_AT_linkage_name + .long .Linfo_string156 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 932 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1154:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1159:0x5 DW_TAG_formal_parameter + .long 20478 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x115f:0x13 DW_TAG_subprogram + .long .Linfo_string359 @ DW_AT_linkage_name + .long .Linfo_string159 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 950 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x116c:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1172:0x21 DW_TAG_subprogram + .long .Linfo_string360 @ DW_AT_linkage_name + .long .Linfo_string161 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 985 @ DW_AT_decl_line + .long 3618 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1183:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1188:0x5 DW_TAG_formal_parameter + .long 3652 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x118d:0x5 DW_TAG_formal_parameter + .long 20428 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1193:0x21 DW_TAG_subprogram + .long .Linfo_string361 @ DW_AT_linkage_name + .long .Linfo_string161 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1015 @ DW_AT_decl_line + .long 3618 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x11a4:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x11a9:0x5 DW_TAG_formal_parameter + .long 3652 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x11ae:0x5 DW_TAG_formal_parameter + .long 20478 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x11b4:0x21 DW_TAG_subprogram + .long .Linfo_string362 @ DW_AT_linkage_name + .long .Linfo_string161 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1032 @ DW_AT_decl_line + .long 3618 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x11c5:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x11ca:0x5 DW_TAG_formal_parameter + .long 3652 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x11cf:0x5 DW_TAG_formal_parameter + .long 5855 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x11d5:0x26 DW_TAG_subprogram + .long .Linfo_string363 @ DW_AT_linkage_name + .long .Linfo_string161 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1052 @ DW_AT_decl_line + .long 3618 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x11e6:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x11eb:0x5 DW_TAG_formal_parameter + .long 3652 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x11f0:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x11f5:0x5 DW_TAG_formal_parameter + .long 20428 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x11fb:0x1c DW_TAG_subprogram + .long .Linfo_string364 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1147 @ DW_AT_decl_line + .long 3618 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x120c:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1211:0x5 DW_TAG_formal_parameter + .long 3652 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1217:0x21 DW_TAG_subprogram + .long .Linfo_string365 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1174 @ DW_AT_decl_line + .long 3618 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1228:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x122d:0x5 DW_TAG_formal_parameter + .long 3652 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1232:0x5 DW_TAG_formal_parameter + .long 3652 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1238:0x18 DW_TAG_subprogram + .long .Linfo_string366 @ DW_AT_linkage_name + .long .Linfo_string169 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1195 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1245:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x124a:0x5 DW_TAG_formal_parameter + .long 20453 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1250:0x13 DW_TAG_subprogram + .long .Linfo_string367 @ DW_AT_linkage_name + .long .Linfo_string171 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1209 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x125d:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1263:0x1d DW_TAG_subprogram + .long .Linfo_string368 @ DW_AT_linkage_name + .long .Linfo_string173 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1296 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x1270:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1275:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x127a:0x5 DW_TAG_formal_parameter + .long 20428 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1280:0x18 DW_TAG_subprogram + .long .Linfo_string369 @ DW_AT_linkage_name + .long .Linfo_string175 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1306 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x128d:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1292:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1298:0x1d DW_TAG_subprogram + .long .Linfo_string370 @ DW_AT_linkage_name + .long .Linfo_string177 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1352 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x12a5:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x12aa:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x12af:0x5 DW_TAG_formal_parameter + .long 20428 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x12b5:0x22 DW_TAG_subprogram + .long .Linfo_string371 @ DW_AT_linkage_name + .long .Linfo_string179 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1393 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x12c2:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x12c7:0x5 DW_TAG_formal_parameter + .long 3618 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x12cc:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x12d1:0x5 DW_TAG_formal_parameter + .long 20428 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x12d7:0x18 DW_TAG_subprogram + .long .Linfo_string372 @ DW_AT_linkage_name + .long .Linfo_string181 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1398 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x12e4:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x12e9:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x12ef:0x17 DW_TAG_subprogram + .long .Linfo_string373 @ DW_AT_linkage_name + .long .Linfo_string183 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1401 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x1300:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1306:0x21 DW_TAG_subprogram + .long .Linfo_string374 @ DW_AT_linkage_name + .long .Linfo_string185 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1420 @ DW_AT_decl_line + .long 4903 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x1317:0x5 DW_TAG_formal_parameter + .long 20458 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x131c:0x5 DW_TAG_formal_parameter + .long 18514 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1321:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x1327:0xb DW_TAG_typedef + .long 3010 @ DW_AT_type + .long .Linfo_string25 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 238 @ DW_AT_decl_line + .byte 23 @ Abbrev [23] 0x1332:0x18 DW_TAG_subprogram + .long .Linfo_string375 @ DW_AT_linkage_name + .long .Linfo_string188 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1434 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x133f:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1344:0x5 DW_TAG_formal_parameter + .long 4938 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x134a:0xb DW_TAG_typedef + .long 5238 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 229 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x1355:0x1c DW_TAG_subprogram + .long .Linfo_string376 @ DW_AT_linkage_name + .long .Linfo_string190 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1441 @ DW_AT_decl_line + .long 3618 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x1366:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x136b:0x5 DW_TAG_formal_parameter + .long 3618 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1371:0x21 DW_TAG_subprogram + .long .Linfo_string377 @ DW_AT_linkage_name + .long .Linfo_string190 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1444 @ DW_AT_decl_line + .long 3618 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x1382:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1387:0x5 DW_TAG_formal_parameter + .long 3618 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x138c:0x5 DW_TAG_formal_parameter + .long 3618 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x1392:0x1c DW_TAG_subprogram + .long .Linfo_string378 @ DW_AT_linkage_name + .long .Linfo_string193 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1452 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x139e:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x13a3:0x5 DW_TAG_formal_parameter + .long 20448 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x13a8:0x5 DW_TAG_formal_parameter + .long 3036 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x13ae:0x1c DW_TAG_subprogram + .long .Linfo_string379 @ DW_AT_linkage_name + .long .Linfo_string193 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 1463 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x13ba:0x5 DW_TAG_formal_parameter + .long 20413 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x13bf:0x5 DW_TAG_formal_parameter + .long 20448 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x13c4:0x5 DW_TAG_formal_parameter + .long 3119 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x13ca:0x9 DW_TAG_template_type_parameter + .long 18995 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x13d3:0x9 DW_TAG_template_type_parameter + .long 5772 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x13dd:0x1dd DW_TAG_structure_type + .long .Linfo_string315 @ DW_AT_name + .byte 12 @ DW_AT_byte_size + .byte 7 @ DW_AT_decl_file + .byte 72 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x13e5:0xc DW_TAG_member + .long .Linfo_string9 @ DW_AT_name + .long 5105 @ DW_AT_type + .byte 7 @ DW_AT_decl_file + .byte 164 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 26 @ Abbrev [26] 0x13f1:0x7a DW_TAG_structure_type + .long .Linfo_string68 @ DW_AT_name + .byte 12 @ DW_AT_byte_size + .byte 7 @ DW_AT_decl_file + .byte 79 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x13f9:0x6 DW_TAG_inheritance + .long 5227 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x13ff:0xc DW_TAG_member + .long .Linfo_string65 @ DW_AT_name + .long 5238 @ DW_AT_type + .byte 7 @ DW_AT_decl_file + .byte 82 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x140b:0xc DW_TAG_member + .long .Linfo_string66 @ DW_AT_name + .long 5238 @ DW_AT_type + .byte 7 @ DW_AT_decl_file + .byte 83 @ DW_AT_decl_line + .byte 4 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x1417:0xc DW_TAG_member + .long .Linfo_string67 @ DW_AT_name + .long 5238 @ DW_AT_type + .byte 7 @ DW_AT_decl_file + .byte 84 @ DW_AT_decl_line + .byte 8 @ DW_AT_data_member_location + .byte 28 @ Abbrev [28] 0x1423:0xd DW_TAG_subprogram + .long .Linfo_string68 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 86 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x142a:0x5 DW_TAG_formal_parameter + .long 20353 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1430:0x12 DW_TAG_subprogram + .long .Linfo_string68 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 90 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1437:0x5 DW_TAG_formal_parameter + .long 20353 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x143c:0x5 DW_TAG_formal_parameter + .long 20358 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1442:0x12 DW_TAG_subprogram + .long .Linfo_string68 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 95 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1449:0x5 DW_TAG_formal_parameter + .long 20353 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x144e:0x5 DW_TAG_formal_parameter + .long 20368 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x1454:0x16 DW_TAG_subprogram + .long .Linfo_string308 @ DW_AT_linkage_name + .long .Linfo_string70 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 101 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x145f:0x5 DW_TAG_formal_parameter + .long 20353 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1464:0x5 DW_TAG_formal_parameter + .long 20373 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x146b:0xb DW_TAG_typedef + .long 17131 @ DW_AT_type + .long .Linfo_string64 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 75 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x1476:0xb DW_TAG_typedef + .long 17143 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 77 @ DW_AT_decl_line + .byte 30 @ Abbrev [30] 0x1481:0x15 DW_TAG_subprogram + .long .Linfo_string309 @ DW_AT_linkage_name + .long .Linfo_string72 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 113 @ DW_AT_decl_line + .long 20378 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1490:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x1496:0x15 DW_TAG_subprogram + .long .Linfo_string310 @ DW_AT_linkage_name + .long .Linfo_string72 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 117 @ DW_AT_decl_line + .long 20358 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x14a5:0x5 DW_TAG_formal_parameter + .long 20388 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x14ab:0x15 DW_TAG_subprogram + .long .Linfo_string311 @ DW_AT_linkage_name + .long .Linfo_string75 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 121 @ DW_AT_decl_line + .long 5312 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x14ba:0x5 DW_TAG_formal_parameter + .long 20388 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x14c0:0xb DW_TAG_typedef + .long 5772 @ DW_AT_type + .long .Linfo_string36 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 110 @ DW_AT_decl_line + .byte 28 @ Abbrev [28] 0x14cb:0xd DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 124 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x14d2:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x14d8:0x12 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 127 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x14df:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x14e4:0x5 DW_TAG_formal_parameter + .long 20398 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x14ea:0x12 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 130 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x14f1:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x14f6:0x5 DW_TAG_formal_parameter + .long 3010 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x14fc:0x17 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 134 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1503:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1508:0x5 DW_TAG_formal_parameter + .long 3010 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x150d:0x5 DW_TAG_formal_parameter + .long 20398 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1513:0x12 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x151a:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x151f:0x5 DW_TAG_formal_parameter + .long 20368 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1525:0x12 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 142 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x152c:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1531:0x5 DW_TAG_formal_parameter + .long 20408 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1537:0x17 DW_TAG_subprogram + .long .Linfo_string76 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 146 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x153e:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1543:0x5 DW_TAG_formal_parameter + .long 20408 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1548:0x5 DW_TAG_formal_parameter + .long 20398 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x154e:0xd DW_TAG_subprogram + .long .Linfo_string77 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 159 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1555:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x155b:0x1a DW_TAG_subprogram + .long .Linfo_string312 @ DW_AT_linkage_name + .long .Linfo_string79 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 167 @ DW_AT_decl_line + .long 5238 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x156a:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x156f:0x5 DW_TAG_formal_parameter + .long 3010 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x1575:0x1b DW_TAG_subprogram + .long .Linfo_string313 @ DW_AT_linkage_name + .long .Linfo_string81 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 174 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1580:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1585:0x5 DW_TAG_formal_parameter + .long 5238 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x158a:0x5 DW_TAG_formal_parameter + .long 3010 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x1590:0x17 DW_TAG_subprogram + .long .Linfo_string314 @ DW_AT_linkage_name + .long .Linfo_string83 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 183 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 3 @ DW_AT_accessibility + @ DW_ACCESS_private + .byte 7 @ Abbrev [7] 0x159c:0x5 DW_TAG_formal_parameter + .long 20383 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x15a1:0x5 DW_TAG_formal_parameter + .long 3010 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x15a7:0x9 DW_TAG_template_type_parameter + .long 18995 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x15b0:0x9 DW_TAG_template_type_parameter + .long 5772 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0x15ba:0xd2 DW_TAG_structure_type + .long .Linfo_string297 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 2 @ DW_AT_decl_file + .short 384 @ DW_AT_decl_line + .byte 32 @ Abbrev [32] 0x15c3:0x1b DW_TAG_subprogram + .long .Linfo_string284 @ DW_AT_linkage_name + .long .Linfo_string12 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 435 @ DW_AT_decl_line + .long 5598 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x15d3:0x5 DW_TAG_formal_parameter + .long 20288 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x15d8:0x5 DW_TAG_formal_parameter + .long 18393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x15de:0xc DW_TAG_typedef + .long 19007 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 392 @ DW_AT_decl_line + .byte 33 @ Abbrev [33] 0x15ea:0xc DW_TAG_typedef + .long 5772 @ DW_AT_type + .long .Linfo_string36 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 387 @ DW_AT_decl_line + .byte 32 @ Abbrev [32] 0x15f6:0x20 DW_TAG_subprogram + .long .Linfo_string293 @ DW_AT_linkage_name + .long .Linfo_string12 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 449 @ DW_AT_decl_line + .long 5598 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x1606:0x5 DW_TAG_formal_parameter + .long 20288 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x160b:0x5 DW_TAG_formal_parameter + .long 18393 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1610:0x5 DW_TAG_formal_parameter + .long 18405 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x1616:0x1c DW_TAG_subprogram + .long .Linfo_string294 @ DW_AT_linkage_name + .long .Linfo_string27 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 461 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x1622:0x5 DW_TAG_formal_parameter + .long 20288 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1627:0x5 DW_TAG_formal_parameter + .long 5598 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x162c:0x5 DW_TAG_formal_parameter + .long 18393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x1632:0x16 DW_TAG_subprogram + .long .Linfo_string295 @ DW_AT_linkage_name + .long .Linfo_string29 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 495 @ DW_AT_decl_line + .long 5704 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x1642:0x5 DW_TAG_formal_parameter + .long 20338 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x1648:0xc DW_TAG_typedef + .long 3010 @ DW_AT_type + .long .Linfo_string25 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 407 @ DW_AT_decl_line + .byte 32 @ Abbrev [32] 0x1654:0x16 DW_TAG_subprogram + .long .Linfo_string296 @ DW_AT_linkage_name + .long .Linfo_string42 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 504 @ DW_AT_decl_line + .long 5610 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x1664:0x5 DW_TAG_formal_parameter + .long 20338 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x166a:0x9 DW_TAG_template_type_parameter + .long 5772 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 33 @ Abbrev [33] 0x1673:0xc DW_TAG_typedef + .long 5772 @ DW_AT_type + .long .Linfo_string307 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 422 @ DW_AT_decl_line + .byte 33 @ Abbrev [33] 0x167f:0xc DW_TAG_typedef + .long 18995 @ DW_AT_type + .long .Linfo_string86 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 389 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 17 @ Abbrev [17] 0x168c:0x48 DW_TAG_class_type + .long .Linfo_string292 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 5 @ DW_AT_decl_file + .byte 108 @ DW_AT_decl_line + .byte 18 @ Abbrev [18] 0x1694:0x7 DW_TAG_inheritance + .long 5844 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 6 @ Abbrev [6] 0x169b:0xe DW_TAG_subprogram + .long .Linfo_string33 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 131 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x16a3:0x5 DW_TAG_formal_parameter + .long 20323 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x16a9:0x13 DW_TAG_subprogram + .long .Linfo_string33 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 133 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x16b1:0x5 DW_TAG_formal_parameter + .long 20323 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x16b6:0x5 DW_TAG_formal_parameter + .long 20328 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x16bc:0xe DW_TAG_subprogram + .long .Linfo_string34 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x16c4:0x5 DW_TAG_formal_parameter + .long 20323 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x16ca:0x9 DW_TAG_template_type_parameter + .long 18995 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x16d4:0xb DW_TAG_typedef + .long 17188 @ DW_AT_type + .long .Linfo_string291 @ DW_AT_name + .byte 4 @ DW_AT_decl_file + .byte 48 @ DW_AT_decl_line + .byte 34 @ Abbrev [34] 0x16df:0x5 DW_TAG_class_type + .long .Linfo_string316 @ DW_AT_name + @ DW_AT_declaration + .byte 34 @ Abbrev [34] 0x16e4:0x5 DW_TAG_class_type + .long .Linfo_string329 @ DW_AT_name + @ DW_AT_declaration + .byte 34 @ Abbrev [34] 0x16e9:0x5 DW_TAG_class_type + .long .Linfo_string331 @ DW_AT_name + @ DW_AT_declaration + .byte 17 @ Abbrev [17] 0x16ee:0x219 DW_TAG_class_type + .long .Linfo_string490 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 15 @ DW_AT_decl_file + .byte 116 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x16f6:0xc DW_TAG_member + .long .Linfo_string409 @ DW_AT_name + .long 5890 @ DW_AT_type + .byte 15 @ DW_AT_decl_file + .byte 134 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 20 @ Abbrev [20] 0x1702:0xb DW_TAG_typedef + .long 6407 @ DW_AT_type + .long .Linfo_string457 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 133 @ DW_AT_decl_line + .byte 6 @ Abbrev [6] 0x170d:0xe DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 158 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1715:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 37 @ Abbrev [37] 0x171b:0x13 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 170 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x1723:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1728:0x5 DW_TAG_formal_parameter + .long 5934 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x172e:0xb DW_TAG_typedef + .long 5953 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 137 @ DW_AT_decl_line + .byte 17 @ Abbrev [17] 0x1739:0x14 DW_TAG_class_type + .long .Linfo_string459 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 15 @ DW_AT_decl_file + .byte 119 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x1741:0xb DW_TAG_typedef + .long 20547 @ DW_AT_type + .long .Linfo_string460 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 130 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x174d:0x18 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 185 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1755:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x175a:0x5 DW_TAG_formal_parameter + .long 5934 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x175f:0x5 DW_TAG_formal_parameter + .long 7620 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x1765:0x18 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 197 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x176d:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1772:0x5 DW_TAG_formal_parameter + .long 5934 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1777:0x5 DW_TAG_formal_parameter + .long 20737 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x177d:0x13 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 204 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1785:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x178a:0x5 DW_TAG_formal_parameter + .long 7664 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x1790:0x13 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 209 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1798:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x179d:0x5 DW_TAG_formal_parameter + .long 20747 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x17a3:0xe DW_TAG_subprogram + .long .Linfo_string468 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 235 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x17ab:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x17b1:0x1b DW_TAG_subprogram + .long .Linfo_string469 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 252 @ DW_AT_decl_line + .long 20752 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x17c1:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x17c6:0x5 DW_TAG_formal_parameter + .long 20747 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x17cc:0x1c DW_TAG_subprogram + .long .Linfo_string470 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 281 @ DW_AT_decl_line + .long 20752 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x17dd:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x17e2:0x5 DW_TAG_formal_parameter + .long 7664 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x17e8:0x17 DW_TAG_subprogram + .long .Linfo_string471 @ DW_AT_linkage_name + .long .Linfo_string472 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 291 @ DW_AT_decl_line + .long 7699 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x17f9:0x5 DW_TAG_formal_parameter + .long 20762 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x17ff:0x17 DW_TAG_subprogram + .long .Linfo_string474 @ DW_AT_linkage_name + .long .Linfo_string475 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 299 @ DW_AT_decl_line + .long 5934 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1810:0x5 DW_TAG_formal_parameter + .long 20762 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1816:0x17 DW_TAG_subprogram + .long .Linfo_string476 @ DW_AT_linkage_name + .long .Linfo_string477 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 307 @ DW_AT_decl_line + .long 5934 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1827:0x5 DW_TAG_formal_parameter + .long 20762 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x182d:0x17 DW_TAG_subprogram + .long .Linfo_string478 @ DW_AT_linkage_name + .long .Linfo_string479 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 312 @ DW_AT_decl_line + .long 20772 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x183e:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x1844:0xb DW_TAG_typedef + .long 7260 @ DW_AT_type + .long .Linfo_string480 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x184f:0x17 DW_TAG_subprogram + .long .Linfo_string481 @ DW_AT_linkage_name + .long .Linfo_string479 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 317 @ DW_AT_decl_line + .long 20777 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1860:0x5 DW_TAG_formal_parameter + .long 20762 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 38 @ Abbrev [38] 0x1866:0x17 DW_TAG_subprogram + .long .Linfo_string482 @ DW_AT_linkage_name + .long .Linfo_string196 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 321 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x1877:0x5 DW_TAG_formal_parameter + .long 20762 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x187d:0x17 DW_TAG_subprogram + .long .Linfo_string483 @ DW_AT_linkage_name + .long .Linfo_string484 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 328 @ DW_AT_decl_line + .long 5934 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x188e:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1894:0x18 DW_TAG_subprogram + .long .Linfo_string485 @ DW_AT_linkage_name + .long .Linfo_string486 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 342 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x18a1:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x18a6:0x5 DW_TAG_formal_parameter + .long 5934 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x18ac:0x18 DW_TAG_subprogram + .long .Linfo_string487 @ DW_AT_linkage_name + .long .Linfo_string169 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 352 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x18b9:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x18be:0x5 DW_TAG_formal_parameter + .long 20752 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x18c4:0x14 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 359 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x18cd:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x18d2:0x5 DW_TAG_formal_parameter + .long 20787 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x18d8:0x1c DW_TAG_subprogram + .long .Linfo_string488 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 360 @ DW_AT_decl_line + .long 20752 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x18e9:0x5 DW_TAG_formal_parameter + .long 20732 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x18ee:0x5 DW_TAG_formal_parameter + .long 20787 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x18f4:0x9 DW_TAG_template_type_parameter + .long 20552 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x18fd:0x9 DW_TAG_template_type_parameter + .long 7260 @ DW_AT_type + .long .Linfo_string489 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 39 @ Abbrev [39] 0x1907:0x99 DW_TAG_class_type + .long .Linfo_string456 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 16 @ DW_AT_decl_file + .short 866 @ DW_AT_decl_line + .byte 18 @ Abbrev [18] 0x1910:0x7 DW_TAG_inheritance + .long 6560 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 21 @ Abbrev [21] 0x1917:0x14 DW_TAG_subprogram + .long .Linfo_string452 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 944 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1920:0x5 DW_TAG_formal_parameter + .long 20707 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1925:0x5 DW_TAG_formal_parameter + .long 20712 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x192b:0x14 DW_TAG_subprogram + .long .Linfo_string452 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 946 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1934:0x5 DW_TAG_formal_parameter + .long 20707 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1939:0x5 DW_TAG_formal_parameter + .long 20722 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x193f:0x1c DW_TAG_subprogram + .long .Linfo_string453 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 1168 @ DW_AT_decl_line + .long 20727 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1950:0x5 DW_TAG_formal_parameter + .long 20707 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1955:0x5 DW_TAG_formal_parameter + .long 20712 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x195b:0x1c DW_TAG_subprogram + .long .Linfo_string454 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 1175 @ DW_AT_decl_line + .long 20727 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x196c:0x5 DW_TAG_formal_parameter + .long 20707 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1971:0x5 DW_TAG_formal_parameter + .long 20722 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1977:0x18 DW_TAG_subprogram + .long .Linfo_string455 @ DW_AT_linkage_name + .long .Linfo_string169 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 1217 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1984:0x5 DW_TAG_formal_parameter + .long 20707 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1989:0x5 DW_TAG_formal_parameter + .long 20727 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 40 @ Abbrev [40] 0x198f:0x10 DW_TAG_GNU_template_parameter_pack + .long .Linfo_string436 @ DW_AT_name + .byte 41 @ Abbrev [41] 0x1994:0x5 DW_TAG_template_type_parameter + .long 20547 @ DW_AT_type + .byte 41 @ Abbrev [41] 0x1999:0x5 DW_TAG_template_type_parameter + .long 7260 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x19a0:0x125 DW_TAG_structure_type + .long .Linfo_string451 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 16 @ DW_AT_decl_file + .byte 180 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x19a8:0x6 DW_TAG_inheritance + .long 6853 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 18 @ Abbrev [18] 0x19ae:0x7 DW_TAG_inheritance + .long 7401 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 3 @ DW_AT_accessibility + @ DW_ACCESS_private + .byte 30 @ Abbrev [30] 0x19b5:0x15 DW_TAG_subprogram + .long .Linfo_string442 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 190 @ DW_AT_decl_line + .long 20657 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x19c4:0x5 DW_TAG_formal_parameter + .long 20667 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x19ca:0x15 DW_TAG_subprogram + .long .Linfo_string443 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 193 @ DW_AT_decl_line + .long 20632 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x19d9:0x5 DW_TAG_formal_parameter + .long 20672 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x19df:0x15 DW_TAG_subprogram + .long .Linfo_string444 @ DW_AT_linkage_name + .long .Linfo_string445 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 196 @ DW_AT_decl_line + .long 20682 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x19ee:0x5 DW_TAG_formal_parameter + .long 20667 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x19f4:0xb DW_TAG_typedef + .long 6853 @ DW_AT_type + .long .Linfo_string446 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 186 @ DW_AT_decl_line + .byte 30 @ Abbrev [30] 0x19ff:0x15 DW_TAG_subprogram + .long .Linfo_string447 @ DW_AT_linkage_name + .long .Linfo_string445 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 199 @ DW_AT_decl_line + .long 20687 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x1a0e:0x5 DW_TAG_formal_parameter + .long 20672 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1a14:0xd DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 201 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1a1b:0x5 DW_TAG_formal_parameter + .long 20697 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 42 @ Abbrev [42] 0x1a21:0x17 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 205 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x1a28:0x5 DW_TAG_formal_parameter + .long 20697 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1a2d:0x5 DW_TAG_formal_parameter + .long 20632 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1a32:0x5 DW_TAG_formal_parameter + .long 20562 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1a38:0x12 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 215 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1a3f:0x5 DW_TAG_formal_parameter + .long 20697 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1a44:0x5 DW_TAG_formal_parameter + .long 20672 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1a4a:0x12 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 218 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1a51:0x5 DW_TAG_formal_parameter + .long 20697 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1a56:0x5 DW_TAG_formal_parameter + .long 20702 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x1a5c:0x1b DW_TAG_subprogram + .long .Linfo_string448 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 287 @ DW_AT_decl_line + .long 20667 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1a6c:0x5 DW_TAG_formal_parameter + .long 20697 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1a71:0x5 DW_TAG_formal_parameter + .long 20672 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x1a77:0x1b DW_TAG_subprogram + .long .Linfo_string449 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 295 @ DW_AT_decl_line + .long 20667 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1a87:0x5 DW_TAG_formal_parameter + .long 20697 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1a8c:0x5 DW_TAG_formal_parameter + .long 20702 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1a92:0x18 DW_TAG_subprogram + .long .Linfo_string450 @ DW_AT_linkage_name + .long .Linfo_string435 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 326 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x1a9f:0x5 DW_TAG_formal_parameter + .long 20697 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1aa4:0x5 DW_TAG_formal_parameter + .long 20667 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 36 @ Abbrev [36] 0x1aaa:0xa DW_TAG_template_value_parameter + .long 18365 @ DW_AT_type + .long .Linfo_string425 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 40 @ Abbrev [40] 0x1ab4:0x10 DW_TAG_GNU_template_parameter_pack + .long .Linfo_string436 @ DW_AT_name + .byte 41 @ Abbrev [41] 0x1ab9:0x5 DW_TAG_template_type_parameter + .long 20547 @ DW_AT_type + .byte 41 @ Abbrev [41] 0x1abe:0x5 DW_TAG_template_type_parameter + .long 7260 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0x1ac5:0xe7 DW_TAG_structure_type + .long .Linfo_string437 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 16 @ DW_AT_decl_file + .short 338 @ DW_AT_decl_line + .byte 18 @ Abbrev [18] 0x1ace:0x7 DW_TAG_inheritance + .long 7084 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 3 @ DW_AT_accessibility + @ DW_ACCESS_private + .byte 32 @ Abbrev [32] 0x1ad5:0x16 DW_TAG_subprogram + .long .Linfo_string429 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 346 @ DW_AT_decl_line + .long 20592 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x1ae5:0x5 DW_TAG_formal_parameter + .long 20602 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x1aeb:0x16 DW_TAG_subprogram + .long .Linfo_string430 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 349 @ DW_AT_decl_line + .long 20562 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x1afb:0x5 DW_TAG_formal_parameter + .long 20607 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x1b01:0xe DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 351 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1b09:0x5 DW_TAG_formal_parameter + .long 20617 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 44 @ Abbrev [44] 0x1b0f:0x13 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 355 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x1b17:0x5 DW_TAG_formal_parameter + .long 20617 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1b1c:0x5 DW_TAG_formal_parameter + .long 20562 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x1b22:0x13 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 363 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1b2a:0x5 DW_TAG_formal_parameter + .long 20617 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1b2f:0x5 DW_TAG_formal_parameter + .long 20607 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x1b35:0x13 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 366 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1b3d:0x5 DW_TAG_formal_parameter + .long 20617 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1b42:0x5 DW_TAG_formal_parameter + .long 20622 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x1b48:0x1b DW_TAG_subprogram + .long .Linfo_string432 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 419 @ DW_AT_decl_line + .long 20602 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1b58:0x5 DW_TAG_formal_parameter + .long 20617 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1b5d:0x5 DW_TAG_formal_parameter + .long 20607 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x1b63:0x1b DW_TAG_subprogram + .long .Linfo_string433 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 426 @ DW_AT_decl_line + .long 20602 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1b73:0x5 DW_TAG_formal_parameter + .long 20617 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1b78:0x5 DW_TAG_formal_parameter + .long 20622 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1b7e:0x18 DW_TAG_subprogram + .long .Linfo_string434 @ DW_AT_linkage_name + .long .Linfo_string435 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 452 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x1b8b:0x5 DW_TAG_formal_parameter + .long 20617 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1b90:0x5 DW_TAG_formal_parameter + .long 20602 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 36 @ Abbrev [36] 0x1b96:0xa DW_TAG_template_value_parameter + .long 18365 @ DW_AT_type + .long .Linfo_string425 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 40 @ Abbrev [40] 0x1ba0:0xb DW_TAG_GNU_template_parameter_pack + .long .Linfo_string436 @ DW_AT_name + .byte 41 @ Abbrev [41] 0x1ba5:0x5 DW_TAG_template_type_parameter + .long 7260 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x1bac:0xb0 DW_TAG_structure_type + .long .Linfo_string428 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 16 @ DW_AT_decl_file + .byte 55 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x1bb4:0x6 DW_TAG_inheritance + .long 7260 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 28 @ Abbrev [28] 0x1bba:0xd DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1bc1:0x5 DW_TAG_formal_parameter + .long 20557 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1bc7:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 61 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1bce:0x5 DW_TAG_formal_parameter + .long 20557 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1bd3:0x5 DW_TAG_formal_parameter + .long 20562 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1bd9:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1be0:0x5 DW_TAG_formal_parameter + .long 20557 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1be5:0x5 DW_TAG_formal_parameter + .long 20567 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1beb:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 65 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1bf2:0x5 DW_TAG_formal_parameter + .long 20557 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1bf7:0x5 DW_TAG_formal_parameter + .long 20577 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1bfd:0x17 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 71 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1c04:0x5 DW_TAG_formal_parameter + .long 20557 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1c09:0x5 DW_TAG_formal_parameter + .long 7313 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1c0e:0x5 DW_TAG_formal_parameter + .long 7335 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x1c14:0x15 DW_TAG_subprogram + .long .Linfo_string422 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 95 @ DW_AT_decl_line + .long 20592 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x1c23:0x5 DW_TAG_formal_parameter + .long 20597 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x1c29:0x15 DW_TAG_subprogram + .long .Linfo_string424 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 98 @ DW_AT_decl_line + .long 20562 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x1c38:0x5 DW_TAG_formal_parameter + .long 20567 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 36 @ Abbrev [36] 0x1c3e:0xa DW_TAG_template_value_parameter + .long 18365 @ DW_AT_type + .long .Linfo_string425 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 25 @ Abbrev [25] 0x1c48:0x9 DW_TAG_template_type_parameter + .long 7260 @ DW_AT_type + .long .Linfo_string426 @ DW_AT_name + .byte 36 @ Abbrev [36] 0x1c51:0xa DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string427 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x1c5c:0x35 DW_TAG_structure_type + .long .Linfo_string414 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 15 @ DW_AT_decl_file + .byte 54 @ DW_AT_decl_line + .byte 28 @ Abbrev [28] 0x1c64:0xd DW_TAG_subprogram + .long .Linfo_string410 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 57 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1c6b:0x5 DW_TAG_formal_parameter + .long 20532 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x1c71:0x16 DW_TAG_subprogram + .long .Linfo_string411 @ DW_AT_linkage_name + .long .Linfo_string412 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 70 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1c7c:0x5 DW_TAG_formal_parameter + .long 20537 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1c81:0x5 DW_TAG_formal_parameter + .long 20547 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x1c87:0x9 DW_TAG_template_type_parameter + .long 20552 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x1c91:0x16 DW_TAG_structure_type + .long .Linfo_string416 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 17 @ DW_AT_decl_file + .byte 46 @ DW_AT_decl_line + .byte 42 @ Abbrev [42] 0x1c99:0xd DW_TAG_subprogram + .long .Linfo_string416 @ DW_AT_name + .byte 17 @ DW_AT_decl_file + .byte 46 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x1ca0:0x5 DW_TAG_formal_parameter + .long 20582 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x1ca7:0x3a DW_TAG_structure_type + .long .Linfo_string421 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 17 @ DW_AT_decl_file + .byte 68 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x1caf:0x6 DW_TAG_inheritance + .long 7393 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x1cb5:0xc DW_TAG_member + .long .Linfo_string418 @ DW_AT_name + .long 7361 @ DW_AT_type + .byte 17 @ DW_AT_decl_file + .byte 70 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 26 @ Abbrev [26] 0x1cc1:0x1f DW_TAG_structure_type + .long .Linfo_string420 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 17 @ DW_AT_decl_file + .byte 70 @ DW_AT_decl_line + .byte 29 @ Abbrev [29] 0x1cc9:0x16 DW_TAG_subprogram + .long .Linfo_string419 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 17 @ DW_AT_decl_file + .byte 70 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1cd4:0x5 DW_TAG_formal_parameter + .long 20587 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1cd9:0x5 DW_TAG_formal_parameter + .long 18372 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 45 @ Abbrev [45] 0x1ce1:0x8 DW_TAG_structure_type + .long .Linfo_string417 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 17 @ DW_AT_decl_file + .byte 66 @ DW_AT_decl_line + .byte 26 @ Abbrev [26] 0x1ce9:0xb6 DW_TAG_structure_type + .long .Linfo_string441 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 16 @ DW_AT_decl_file + .byte 102 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x1cf1:0xc DW_TAG_member + .long .Linfo_string438 @ DW_AT_name + .long 20547 @ DW_AT_type + .byte 16 @ DW_AT_decl_file + .byte 147 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 28 @ Abbrev [28] 0x1cfd:0xd DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 104 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1d04:0x5 DW_TAG_formal_parameter + .long 20627 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1d0a:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 107 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1d11:0x5 DW_TAG_formal_parameter + .long 20627 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1d16:0x5 DW_TAG_formal_parameter + .long 20632 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1d1c:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 110 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1d23:0x5 DW_TAG_formal_parameter + .long 20627 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1d28:0x5 DW_TAG_formal_parameter + .long 20642 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1d2e:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 111 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1d35:0x5 DW_TAG_formal_parameter + .long 20627 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1d3a:0x5 DW_TAG_formal_parameter + .long 20652 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x1d40:0x17 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 117 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x1d47:0x5 DW_TAG_formal_parameter + .long 20627 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1d4c:0x5 DW_TAG_formal_parameter + .long 7313 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1d51:0x5 DW_TAG_formal_parameter + .long 7335 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x1d57:0x15 DW_TAG_subprogram + .long .Linfo_string439 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 142 @ DW_AT_decl_line + .long 20657 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x1d66:0x5 DW_TAG_formal_parameter + .long 20662 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x1d6c:0x15 DW_TAG_subprogram + .long .Linfo_string440 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 145 @ DW_AT_decl_line + .long 20632 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x1d7b:0x5 DW_TAG_formal_parameter + .long 20642 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 36 @ Abbrev [36] 0x1d81:0xa DW_TAG_template_value_parameter + .long 18365 @ DW_AT_type + .long .Linfo_string425 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 25 @ Abbrev [25] 0x1d8b:0x9 DW_TAG_template_type_parameter + .long 20547 @ DW_AT_type + .long .Linfo_string426 @ DW_AT_name + .byte 36 @ Abbrev [36] 0x1d94:0xa DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string427 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0x1d9f:0x32 DW_TAG_structure_type + .long .Linfo_string464 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 8 @ DW_AT_decl_file + .short 2184 @ DW_AT_decl_line + .byte 36 @ Abbrev [36] 0x1da8:0xa DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string461 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 25 @ Abbrev [25] 0x1db2:0x9 DW_TAG_template_type_parameter + .long 7260 @ DW_AT_type + .long .Linfo_string462 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x1dbb:0x9 DW_TAG_template_type_parameter + .long 20562 @ DW_AT_type + .long .Linfo_string463 @ DW_AT_name + .byte 33 @ Abbrev [33] 0x1dc4:0xc DW_TAG_typedef + .long 20562 @ DW_AT_type + .long .Linfo_string460 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .short 2185 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0x1dd1:0x1f DW_TAG_structure_type + .long .Linfo_string465 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 8 @ DW_AT_decl_file + .short 1642 @ DW_AT_decl_line + .byte 25 @ Abbrev [25] 0x1dda:0x9 DW_TAG_template_type_parameter + .long 7260 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 33 @ Abbrev [33] 0x1de3:0xc DW_TAG_typedef + .long 7260 @ DW_AT_type + .long .Linfo_string460 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .short 1643 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x1df0:0xb DW_TAG_typedef + .long 20742 @ DW_AT_type + .long .Linfo_string467 @ DW_AT_name + .byte 1 @ DW_AT_decl_file + .byte 205 @ DW_AT_decl_line + .byte 31 @ Abbrev [31] 0x1dfb:0x25 DW_TAG_structure_type + .long .Linfo_string473 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 8 @ DW_AT_decl_file + .short 1658 @ DW_AT_decl_line + .byte 25 @ Abbrev [25] 0x1e04:0x9 DW_TAG_template_type_parameter + .long 20552 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 46 @ Abbrev [46] 0x1e0d:0x6 DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .byte 1 @ DW_AT_const_value + .byte 33 @ Abbrev [33] 0x1e13:0xc DW_TAG_typedef + .long 20757 @ DW_AT_type + .long .Linfo_string460 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .short 1659 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 17 @ Abbrev [17] 0x1e20:0x219 DW_TAG_class_type + .long .Linfo_string534 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 15 @ DW_AT_decl_file + .byte 116 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x1e28:0xc DW_TAG_member + .long .Linfo_string409 @ DW_AT_name + .long 7732 @ DW_AT_type + .byte 15 @ DW_AT_decl_file + .byte 134 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 20 @ Abbrev [20] 0x1e34:0xb DW_TAG_typedef + .long 8249 @ DW_AT_type + .long .Linfo_string457 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 133 @ DW_AT_decl_line + .byte 6 @ Abbrev [6] 0x1e3f:0xe DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 158 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1e47:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 37 @ Abbrev [37] 0x1e4d:0x13 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 170 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x1e55:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1e5a:0x5 DW_TAG_formal_parameter + .long 7776 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x1e60:0xb DW_TAG_typedef + .long 7795 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 137 @ DW_AT_decl_line + .byte 17 @ Abbrev [17] 0x1e6b:0x14 DW_TAG_class_type + .long .Linfo_string459 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 15 @ DW_AT_decl_file + .byte 119 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x1e73:0xb DW_TAG_typedef + .long 20807 @ DW_AT_type + .long .Linfo_string460 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 130 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x1e7f:0x18 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 185 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1e87:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1e8c:0x5 DW_TAG_formal_parameter + .long 7776 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1e91:0x5 DW_TAG_formal_parameter + .long 9374 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x1e97:0x18 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 197 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1e9f:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1ea4:0x5 DW_TAG_formal_parameter + .long 7776 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x1ea9:0x5 DW_TAG_formal_parameter + .long 20987 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x1eaf:0x13 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 204 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1eb7:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1ebc:0x5 DW_TAG_formal_parameter + .long 7664 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x1ec2:0x13 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 209 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1eca:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1ecf:0x5 DW_TAG_formal_parameter + .long 20992 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x1ed5:0xe DW_TAG_subprogram + .long .Linfo_string468 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 235 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1edd:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x1ee3:0x1b DW_TAG_subprogram + .long .Linfo_string521 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 252 @ DW_AT_decl_line + .long 20997 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1ef3:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1ef8:0x5 DW_TAG_formal_parameter + .long 20992 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1efe:0x1c DW_TAG_subprogram + .long .Linfo_string522 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 281 @ DW_AT_decl_line + .long 20997 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1f0f:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1f14:0x5 DW_TAG_formal_parameter + .long 7664 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1f1a:0x17 DW_TAG_subprogram + .long .Linfo_string523 @ DW_AT_linkage_name + .long .Linfo_string472 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 291 @ DW_AT_decl_line + .long 9442 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1f2b:0x5 DW_TAG_formal_parameter + .long 21007 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1f31:0x17 DW_TAG_subprogram + .long .Linfo_string525 @ DW_AT_linkage_name + .long .Linfo_string475 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 299 @ DW_AT_decl_line + .long 7776 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1f42:0x5 DW_TAG_formal_parameter + .long 21007 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1f48:0x17 DW_TAG_subprogram + .long .Linfo_string526 @ DW_AT_linkage_name + .long .Linfo_string477 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 307 @ DW_AT_decl_line + .long 7776 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1f59:0x5 DW_TAG_formal_parameter + .long 21007 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1f5f:0x17 DW_TAG_subprogram + .long .Linfo_string527 @ DW_AT_linkage_name + .long .Linfo_string479 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 312 @ DW_AT_decl_line + .long 21017 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1f70:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x1f76:0xb DW_TAG_typedef + .long 9102 @ DW_AT_type + .long .Linfo_string480 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x1f81:0x17 DW_TAG_subprogram + .long .Linfo_string528 @ DW_AT_linkage_name + .long .Linfo_string479 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 317 @ DW_AT_decl_line + .long 21022 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1f92:0x5 DW_TAG_formal_parameter + .long 21007 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 38 @ Abbrev [38] 0x1f98:0x17 DW_TAG_subprogram + .long .Linfo_string529 @ DW_AT_linkage_name + .long .Linfo_string196 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 321 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x1fa9:0x5 DW_TAG_formal_parameter + .long 21007 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x1faf:0x17 DW_TAG_subprogram + .long .Linfo_string530 @ DW_AT_linkage_name + .long .Linfo_string484 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 328 @ DW_AT_decl_line + .long 7776 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1fc0:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1fc6:0x18 DW_TAG_subprogram + .long .Linfo_string531 @ DW_AT_linkage_name + .long .Linfo_string486 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 342 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1fd3:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1fd8:0x5 DW_TAG_formal_parameter + .long 7776 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x1fde:0x18 DW_TAG_subprogram + .long .Linfo_string532 @ DW_AT_linkage_name + .long .Linfo_string169 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 352 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1feb:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x1ff0:0x5 DW_TAG_formal_parameter + .long 20997 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x1ff6:0x14 DW_TAG_subprogram + .long .Linfo_string458 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 359 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x1fff:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2004:0x5 DW_TAG_formal_parameter + .long 21032 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x200a:0x1c DW_TAG_subprogram + .long .Linfo_string533 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .short 360 @ DW_AT_decl_line + .long 20997 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x201b:0x5 DW_TAG_formal_parameter + .long 20982 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2020:0x5 DW_TAG_formal_parameter + .long 21032 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x2026:0x9 DW_TAG_template_type_parameter + .long 20812 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x202f:0x9 DW_TAG_template_type_parameter + .long 9102 @ DW_AT_type + .long .Linfo_string489 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 39 @ Abbrev [39] 0x2039:0x99 DW_TAG_class_type + .long .Linfo_string518 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 16 @ DW_AT_decl_file + .short 866 @ DW_AT_decl_line + .byte 18 @ Abbrev [18] 0x2042:0x7 DW_TAG_inheritance + .long 8402 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 21 @ Abbrev [21] 0x2049:0x14 DW_TAG_subprogram + .long .Linfo_string452 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 944 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2052:0x5 DW_TAG_formal_parameter + .long 20957 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2057:0x5 DW_TAG_formal_parameter + .long 20962 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x205d:0x14 DW_TAG_subprogram + .long .Linfo_string452 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 946 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2066:0x5 DW_TAG_formal_parameter + .long 20957 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x206b:0x5 DW_TAG_formal_parameter + .long 20972 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2071:0x1c DW_TAG_subprogram + .long .Linfo_string515 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 1168 @ DW_AT_decl_line + .long 20977 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2082:0x5 DW_TAG_formal_parameter + .long 20957 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2087:0x5 DW_TAG_formal_parameter + .long 20962 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x208d:0x1c DW_TAG_subprogram + .long .Linfo_string516 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 1175 @ DW_AT_decl_line + .long 20977 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x209e:0x5 DW_TAG_formal_parameter + .long 20957 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x20a3:0x5 DW_TAG_formal_parameter + .long 20972 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x20a9:0x18 DW_TAG_subprogram + .long .Linfo_string517 @ DW_AT_linkage_name + .long .Linfo_string169 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 1217 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x20b6:0x5 DW_TAG_formal_parameter + .long 20957 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x20bb:0x5 DW_TAG_formal_parameter + .long 20977 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 40 @ Abbrev [40] 0x20c1:0x10 DW_TAG_GNU_template_parameter_pack + .long .Linfo_string436 @ DW_AT_name + .byte 41 @ Abbrev [41] 0x20c6:0x5 DW_TAG_template_type_parameter + .long 20807 @ DW_AT_type + .byte 41 @ Abbrev [41] 0x20cb:0x5 DW_TAG_template_type_parameter + .long 9102 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x20d2:0x125 DW_TAG_structure_type + .long .Linfo_string514 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 16 @ DW_AT_decl_file + .byte 180 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x20da:0x6 DW_TAG_inheritance + .long 8695 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 18 @ Abbrev [18] 0x20e0:0x7 DW_TAG_inheritance + .long 9155 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 3 @ DW_AT_accessibility + @ DW_ACCESS_private + .byte 30 @ Abbrev [30] 0x20e7:0x15 DW_TAG_subprogram + .long .Linfo_string507 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 190 @ DW_AT_decl_line + .long 20907 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x20f6:0x5 DW_TAG_formal_parameter + .long 20917 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x20fc:0x15 DW_TAG_subprogram + .long .Linfo_string508 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 193 @ DW_AT_decl_line + .long 20882 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x210b:0x5 DW_TAG_formal_parameter + .long 20922 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x2111:0x15 DW_TAG_subprogram + .long .Linfo_string509 @ DW_AT_linkage_name + .long .Linfo_string445 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 196 @ DW_AT_decl_line + .long 20932 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x2120:0x5 DW_TAG_formal_parameter + .long 20917 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x2126:0xb DW_TAG_typedef + .long 8695 @ DW_AT_type + .long .Linfo_string446 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 186 @ DW_AT_decl_line + .byte 30 @ Abbrev [30] 0x2131:0x15 DW_TAG_subprogram + .long .Linfo_string510 @ DW_AT_linkage_name + .long .Linfo_string445 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 199 @ DW_AT_decl_line + .long 20937 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x2140:0x5 DW_TAG_formal_parameter + .long 20922 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x2146:0xd DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 201 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x214d:0x5 DW_TAG_formal_parameter + .long 20947 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 42 @ Abbrev [42] 0x2153:0x17 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 205 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x215a:0x5 DW_TAG_formal_parameter + .long 20947 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x215f:0x5 DW_TAG_formal_parameter + .long 20882 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2164:0x5 DW_TAG_formal_parameter + .long 20822 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x216a:0x12 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 215 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2171:0x5 DW_TAG_formal_parameter + .long 20947 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2176:0x5 DW_TAG_formal_parameter + .long 20922 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x217c:0x12 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 218 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2183:0x5 DW_TAG_formal_parameter + .long 20947 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2188:0x5 DW_TAG_formal_parameter + .long 20952 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x218e:0x1b DW_TAG_subprogram + .long .Linfo_string511 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 287 @ DW_AT_decl_line + .long 20917 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x219e:0x5 DW_TAG_formal_parameter + .long 20947 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x21a3:0x5 DW_TAG_formal_parameter + .long 20922 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x21a9:0x1b DW_TAG_subprogram + .long .Linfo_string512 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 295 @ DW_AT_decl_line + .long 20917 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x21b9:0x5 DW_TAG_formal_parameter + .long 20947 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x21be:0x5 DW_TAG_formal_parameter + .long 20952 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x21c4:0x18 DW_TAG_subprogram + .long .Linfo_string513 @ DW_AT_linkage_name + .long .Linfo_string435 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 326 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x21d1:0x5 DW_TAG_formal_parameter + .long 20947 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x21d6:0x5 DW_TAG_formal_parameter + .long 20917 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 36 @ Abbrev [36] 0x21dc:0xa DW_TAG_template_value_parameter + .long 18365 @ DW_AT_type + .long .Linfo_string425 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 40 @ Abbrev [40] 0x21e6:0x10 DW_TAG_GNU_template_parameter_pack + .long .Linfo_string436 @ DW_AT_name + .byte 41 @ Abbrev [41] 0x21eb:0x5 DW_TAG_template_type_parameter + .long 20807 @ DW_AT_type + .byte 41 @ Abbrev [41] 0x21f0:0x5 DW_TAG_template_type_parameter + .long 9102 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0x21f7:0xe7 DW_TAG_structure_type + .long .Linfo_string503 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 16 @ DW_AT_decl_file + .short 338 @ DW_AT_decl_line + .byte 18 @ Abbrev [18] 0x2200:0x7 DW_TAG_inheritance + .long 8926 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 3 @ DW_AT_accessibility + @ DW_ACCESS_private + .byte 32 @ Abbrev [32] 0x2207:0x16 DW_TAG_subprogram + .long .Linfo_string498 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 346 @ DW_AT_decl_line + .long 20842 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x2217:0x5 DW_TAG_formal_parameter + .long 20852 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x221d:0x16 DW_TAG_subprogram + .long .Linfo_string499 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 349 @ DW_AT_decl_line + .long 20822 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x222d:0x5 DW_TAG_formal_parameter + .long 20857 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x2233:0xe DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 351 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x223b:0x5 DW_TAG_formal_parameter + .long 20867 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 44 @ Abbrev [44] 0x2241:0x13 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 355 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x2249:0x5 DW_TAG_formal_parameter + .long 20867 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x224e:0x5 DW_TAG_formal_parameter + .long 20822 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x2254:0x13 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 363 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x225c:0x5 DW_TAG_formal_parameter + .long 20867 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2261:0x5 DW_TAG_formal_parameter + .long 20857 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x2267:0x13 DW_TAG_subprogram + .long .Linfo_string431 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 366 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x226f:0x5 DW_TAG_formal_parameter + .long 20867 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2274:0x5 DW_TAG_formal_parameter + .long 20872 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x227a:0x1b DW_TAG_subprogram + .long .Linfo_string500 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 419 @ DW_AT_decl_line + .long 20852 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x228a:0x5 DW_TAG_formal_parameter + .long 20867 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x228f:0x5 DW_TAG_formal_parameter + .long 20857 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x2295:0x1b DW_TAG_subprogram + .long .Linfo_string501 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 426 @ DW_AT_decl_line + .long 20852 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x22a5:0x5 DW_TAG_formal_parameter + .long 20867 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x22aa:0x5 DW_TAG_formal_parameter + .long 20872 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x22b0:0x18 DW_TAG_subprogram + .long .Linfo_string502 @ DW_AT_linkage_name + .long .Linfo_string435 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .short 452 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x22bd:0x5 DW_TAG_formal_parameter + .long 20867 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x22c2:0x5 DW_TAG_formal_parameter + .long 20852 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 36 @ Abbrev [36] 0x22c8:0xa DW_TAG_template_value_parameter + .long 18365 @ DW_AT_type + .long .Linfo_string425 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 40 @ Abbrev [40] 0x22d2:0xb DW_TAG_GNU_template_parameter_pack + .long .Linfo_string436 @ DW_AT_name + .byte 41 @ Abbrev [41] 0x22d7:0x5 DW_TAG_template_type_parameter + .long 9102 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x22de:0xb0 DW_TAG_structure_type + .long .Linfo_string497 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 16 @ DW_AT_decl_file + .byte 55 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x22e6:0x6 DW_TAG_inheritance + .long 9102 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 28 @ Abbrev [28] 0x22ec:0xd DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x22f3:0x5 DW_TAG_formal_parameter + .long 20817 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x22f9:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 61 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2300:0x5 DW_TAG_formal_parameter + .long 20817 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2305:0x5 DW_TAG_formal_parameter + .long 20822 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x230b:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2312:0x5 DW_TAG_formal_parameter + .long 20817 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2317:0x5 DW_TAG_formal_parameter + .long 20827 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x231d:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 65 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2324:0x5 DW_TAG_formal_parameter + .long 20817 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2329:0x5 DW_TAG_formal_parameter + .long 20837 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x232f:0x17 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 71 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2336:0x5 DW_TAG_formal_parameter + .long 20817 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x233b:0x5 DW_TAG_formal_parameter + .long 7313 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2340:0x5 DW_TAG_formal_parameter + .long 7335 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x2346:0x15 DW_TAG_subprogram + .long .Linfo_string495 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 95 @ DW_AT_decl_line + .long 20842 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x2355:0x5 DW_TAG_formal_parameter + .long 20847 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x235b:0x15 DW_TAG_subprogram + .long .Linfo_string496 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 98 @ DW_AT_decl_line + .long 20822 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x236a:0x5 DW_TAG_formal_parameter + .long 20827 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 36 @ Abbrev [36] 0x2370:0xa DW_TAG_template_value_parameter + .long 18365 @ DW_AT_type + .long .Linfo_string425 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 25 @ Abbrev [25] 0x237a:0x9 DW_TAG_template_type_parameter + .long 9102 @ DW_AT_type + .long .Linfo_string426 @ DW_AT_name + .byte 36 @ Abbrev [36] 0x2383:0xa DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string427 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x238e:0x35 DW_TAG_structure_type + .long .Linfo_string494 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 15 @ DW_AT_decl_file + .byte 54 @ DW_AT_decl_line + .byte 28 @ Abbrev [28] 0x2396:0xd DW_TAG_subprogram + .long .Linfo_string410 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 57 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x239d:0x5 DW_TAG_formal_parameter + .long 20792 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x23a3:0x16 DW_TAG_subprogram + .long .Linfo_string492 @ DW_AT_linkage_name + .long .Linfo_string412 @ DW_AT_name + .byte 15 @ DW_AT_decl_file + .byte 70 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x23ae:0x5 DW_TAG_formal_parameter + .long 20797 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x23b3:0x5 DW_TAG_formal_parameter + .long 20807 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x23b9:0x9 DW_TAG_template_type_parameter + .long 20812 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x23c3:0xb6 DW_TAG_structure_type + .long .Linfo_string506 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 16 @ DW_AT_decl_file + .byte 102 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x23cb:0xc DW_TAG_member + .long .Linfo_string438 @ DW_AT_name + .long 20807 @ DW_AT_type + .byte 16 @ DW_AT_decl_file + .byte 147 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 28 @ Abbrev [28] 0x23d7:0xd DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 104 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x23de:0x5 DW_TAG_formal_parameter + .long 20877 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x23e4:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 107 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x23eb:0x5 DW_TAG_formal_parameter + .long 20877 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x23f0:0x5 DW_TAG_formal_parameter + .long 20882 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x23f6:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 110 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x23fd:0x5 DW_TAG_formal_parameter + .long 20877 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2402:0x5 DW_TAG_formal_parameter + .long 20892 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x2408:0x12 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 111 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x240f:0x5 DW_TAG_formal_parameter + .long 20877 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2414:0x5 DW_TAG_formal_parameter + .long 20902 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 28 @ Abbrev [28] 0x241a:0x17 DW_TAG_subprogram + .long .Linfo_string415 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 117 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2421:0x5 DW_TAG_formal_parameter + .long 20877 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2426:0x5 DW_TAG_formal_parameter + .long 7313 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x242b:0x5 DW_TAG_formal_parameter + .long 7335 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x2431:0x15 DW_TAG_subprogram + .long .Linfo_string504 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 142 @ DW_AT_decl_line + .long 20907 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x2440:0x5 DW_TAG_formal_parameter + .long 20912 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x2446:0x15 DW_TAG_subprogram + .long .Linfo_string505 @ DW_AT_linkage_name + .long .Linfo_string423 @ DW_AT_name + .byte 16 @ DW_AT_decl_file + .byte 145 @ DW_AT_decl_line + .long 20882 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x2455:0x5 DW_TAG_formal_parameter + .long 20892 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 36 @ Abbrev [36] 0x245b:0xa DW_TAG_template_value_parameter + .long 18365 @ DW_AT_type + .long .Linfo_string425 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 25 @ Abbrev [25] 0x2465:0x9 DW_TAG_template_type_parameter + .long 20807 @ DW_AT_type + .long .Linfo_string426 @ DW_AT_name + .byte 36 @ Abbrev [36] 0x246e:0xa DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string427 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0x2479:0x32 DW_TAG_structure_type + .long .Linfo_string519 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 8 @ DW_AT_decl_file + .short 2184 @ DW_AT_decl_line + .byte 36 @ Abbrev [36] 0x2482:0xa DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string461 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 25 @ Abbrev [25] 0x248c:0x9 DW_TAG_template_type_parameter + .long 9102 @ DW_AT_type + .long .Linfo_string462 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x2495:0x9 DW_TAG_template_type_parameter + .long 20822 @ DW_AT_type + .long .Linfo_string463 @ DW_AT_name + .byte 33 @ Abbrev [33] 0x249e:0xc DW_TAG_typedef + .long 20822 @ DW_AT_type + .long .Linfo_string460 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .short 2185 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0x24ab:0x1f DW_TAG_structure_type + .long .Linfo_string520 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 8 @ DW_AT_decl_file + .short 1642 @ DW_AT_decl_line + .byte 25 @ Abbrev [25] 0x24b4:0x9 DW_TAG_template_type_parameter + .long 9102 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 33 @ Abbrev [33] 0x24bd:0xc DW_TAG_typedef + .long 9102 @ DW_AT_type + .long .Linfo_string460 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .short 1643 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0x24ca:0x25 DW_TAG_structure_type + .long .Linfo_string524 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 8 @ DW_AT_decl_file + .short 1658 @ DW_AT_decl_line + .byte 25 @ Abbrev [25] 0x24d3:0x9 DW_TAG_template_type_parameter + .long 20812 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 46 @ Abbrev [46] 0x24dc:0x6 DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .byte 1 @ DW_AT_const_value + .byte 33 @ Abbrev [33] 0x24e2:0xc DW_TAG_typedef + .long 21002 @ DW_AT_type + .long .Linfo_string460 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .short 1659 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 17 @ Abbrev [17] 0x24ef:0x5ce DW_TAG_class_type + .long .Linfo_string799 @ DW_AT_name + .byte 24 @ DW_AT_byte_size + .byte 21 @ DW_AT_decl_file + .byte 96 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x24f7:0xc DW_TAG_member + .long .Linfo_string409 @ DW_AT_name + .long 9475 @ DW_AT_type + .byte 21 @ DW_AT_decl_file + .byte 138 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 20 @ Abbrev [20] 0x2503:0xb DW_TAG_typedef + .long 10941 @ DW_AT_type + .long .Linfo_string748 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 135 @ DW_AT_decl_line + .byte 6 @ Abbrev [6] 0x250e:0xe DW_TAG_subprogram + .long .Linfo_string749 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 162 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2516:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 37 @ Abbrev [37] 0x251c:0x18 DW_TAG_subprogram + .long .Linfo_string749 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 174 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x2524:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2529:0x5 DW_TAG_formal_parameter + .long 21229 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x252e:0x5 DW_TAG_formal_parameter + .long 21393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x2534:0xb DW_TAG_typedef + .long 13790 @ DW_AT_type + .long .Linfo_string36 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 103 @ DW_AT_decl_line + .byte 6 @ Abbrev [6] 0x253f:0x13 DW_TAG_subprogram + .long .Linfo_string749 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 185 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2547:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x254c:0x5 DW_TAG_formal_parameter + .long 21403 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x2552:0x13 DW_TAG_subprogram + .long .Linfo_string749 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 196 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x255a:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x255f:0x5 DW_TAG_formal_parameter + .long 21413 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x2565:0x1d DW_TAG_subprogram + .long .Linfo_string749 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 211 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x256d:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2572:0x5 DW_TAG_formal_parameter + .long 14647 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2577:0x5 DW_TAG_formal_parameter + .long 21229 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x257c:0x5 DW_TAG_formal_parameter + .long 21393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 37 @ Abbrev [37] 0x2582:0x13 DW_TAG_subprogram + .long .Linfo_string749 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 219 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x258a:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x258f:0x5 DW_TAG_formal_parameter + .long 21393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x2595:0x18 DW_TAG_subprogram + .long .Linfo_string749 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 223 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x259d:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x25a2:0x5 DW_TAG_formal_parameter + .long 21403 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x25a7:0x5 DW_TAG_formal_parameter + .long 21393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x25ad:0x18 DW_TAG_subprogram + .long .Linfo_string749 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 227 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x25b5:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x25ba:0x5 DW_TAG_formal_parameter + .long 21413 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x25bf:0x5 DW_TAG_formal_parameter + .long 21393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x25c5:0x18 DW_TAG_subprogram + .long .Linfo_string749 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 233 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x25cd:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x25d2:0x5 DW_TAG_formal_parameter + .long 14647 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x25d7:0x5 DW_TAG_formal_parameter + .long 21393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x25dd:0x1c DW_TAG_subprogram + .long .Linfo_string751 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 296 @ DW_AT_decl_line + .long 21418 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x25ee:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x25f3:0x5 DW_TAG_formal_parameter + .long 21403 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x25f9:0x1c DW_TAG_subprogram + .long .Linfo_string752 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 305 @ DW_AT_decl_line + .long 21418 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x260a:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x260f:0x5 DW_TAG_formal_parameter + .long 21413 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2615:0x1c DW_TAG_subprogram + .long .Linfo_string753 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 319 @ DW_AT_decl_line + .long 21418 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2626:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x262b:0x5 DW_TAG_formal_parameter + .long 14647 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2631:0x17 DW_TAG_subprogram + .long .Linfo_string754 @ DW_AT_linkage_name + .long .Linfo_string75 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 328 @ DW_AT_decl_line + .long 9524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2642:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2648:0x17 DW_TAG_subprogram + .long .Linfo_string755 @ DW_AT_linkage_name + .long .Linfo_string97 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 338 @ DW_AT_decl_line + .long 9823 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2659:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x265f:0xb DW_TAG_typedef + .long 12082 @ DW_AT_type + .long .Linfo_string99 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 149 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x266a:0x17 DW_TAG_subprogram + .long .Linfo_string756 @ DW_AT_linkage_name + .long .Linfo_string97 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 347 @ DW_AT_decl_line + .long 9857 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x267b:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x2681:0xb DW_TAG_typedef + .long 12000 @ DW_AT_type + .long .Linfo_string102 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 150 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x268c:0x17 DW_TAG_subprogram + .long .Linfo_string757 @ DW_AT_linkage_name + .long .Linfo_string104 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 356 @ DW_AT_decl_line + .long 9823 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x269d:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x26a3:0x17 DW_TAG_subprogram + .long .Linfo_string758 @ DW_AT_linkage_name + .long .Linfo_string104 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 365 @ DW_AT_decl_line + .long 9857 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x26b4:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x26ba:0x17 DW_TAG_subprogram + .long .Linfo_string759 @ DW_AT_linkage_name + .long .Linfo_string107 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 374 @ DW_AT_decl_line + .long 9937 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x26cb:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x26d1:0xb DW_TAG_typedef + .long 12712 @ DW_AT_type + .long .Linfo_string109 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 153 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x26dc:0x17 DW_TAG_subprogram + .long .Linfo_string760 @ DW_AT_linkage_name + .long .Linfo_string107 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 383 @ DW_AT_decl_line + .long 9971 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x26ed:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x26f3:0xb DW_TAG_typedef + .long 12747 @ DW_AT_type + .long .Linfo_string112 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 154 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x26fe:0x17 DW_TAG_subprogram + .long .Linfo_string761 @ DW_AT_linkage_name + .long .Linfo_string114 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 392 @ DW_AT_decl_line + .long 9937 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x270f:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2715:0x17 DW_TAG_subprogram + .long .Linfo_string762 @ DW_AT_linkage_name + .long .Linfo_string114 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 401 @ DW_AT_decl_line + .long 9971 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2726:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x272c:0x17 DW_TAG_subprogram + .long .Linfo_string763 @ DW_AT_linkage_name + .long .Linfo_string117 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 411 @ DW_AT_decl_line + .long 9857 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x273d:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2743:0x17 DW_TAG_subprogram + .long .Linfo_string764 @ DW_AT_linkage_name + .long .Linfo_string119 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 420 @ DW_AT_decl_line + .long 9857 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2754:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x275a:0x17 DW_TAG_subprogram + .long .Linfo_string765 @ DW_AT_linkage_name + .long .Linfo_string121 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 429 @ DW_AT_decl_line + .long 9971 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x276b:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2771:0x17 DW_TAG_subprogram + .long .Linfo_string766 @ DW_AT_linkage_name + .long .Linfo_string123 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 438 @ DW_AT_decl_line + .long 9971 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2782:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2788:0x17 DW_TAG_subprogram + .long .Linfo_string767 @ DW_AT_linkage_name + .long .Linfo_string135 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 447 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2799:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x279f:0x17 DW_TAG_subprogram + .long .Linfo_string768 @ DW_AT_linkage_name + .long .Linfo_string125 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 452 @ DW_AT_decl_line + .long 10166 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x27b0:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x27b6:0xb DW_TAG_typedef + .long 13033 @ DW_AT_type + .long .Linfo_string25 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 151 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x27c1:0x17 DW_TAG_subprogram + .long .Linfo_string769 @ DW_AT_linkage_name + .long .Linfo_string29 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 457 @ DW_AT_decl_line + .long 10166 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x27d2:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x27d8:0x1c DW_TAG_subprogram + .long .Linfo_string770 @ DW_AT_linkage_name + .long .Linfo_string139 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 474 @ DW_AT_decl_line + .long 21428 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x27e9:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x27ee:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x27f4:0xb DW_TAG_typedef + .long 18995 @ DW_AT_type + .long .Linfo_string771 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 100 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x27ff:0xb DW_TAG_typedef + .long 14061 @ DW_AT_type + .long .Linfo_string666 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 99 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x280a:0x1c DW_TAG_subprogram + .long .Linfo_string772 @ DW_AT_linkage_name + .long .Linfo_string139 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 494 @ DW_AT_decl_line + .long 21428 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x281b:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2820:0x5 DW_TAG_formal_parameter + .long 21443 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2826:0x1c DW_TAG_subprogram + .long .Linfo_string773 @ DW_AT_linkage_name + .long .Linfo_string144 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 519 @ DW_AT_decl_line + .long 21428 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2837:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x283c:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2842:0x1c DW_TAG_subprogram + .long .Linfo_string774 @ DW_AT_linkage_name + .long .Linfo_string144 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 528 @ DW_AT_decl_line + .long 21448 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2853:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2858:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x285e:0x1c DW_TAG_subprogram + .long .Linfo_string775 @ DW_AT_linkage_name + .long .Linfo_string161 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 731 @ DW_AT_decl_line + .long 14652 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x286f:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2874:0x5 DW_TAG_formal_parameter + .long 21458 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x287a:0xb DW_TAG_typedef + .long 13785 @ DW_AT_type + .long .Linfo_string86 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 101 @ DW_AT_decl_line + .byte 23 @ Abbrev [23] 0x2885:0x18 DW_TAG_subprogram + .long .Linfo_string777 @ DW_AT_linkage_name + .long .Linfo_string161 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 752 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2892:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2897:0x5 DW_TAG_formal_parameter + .long 14647 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x289d:0x21 DW_TAG_subprogram + .long .Linfo_string778 @ DW_AT_linkage_name + .long .Linfo_string161 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 781 @ DW_AT_decl_line + .long 9823 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x28ae:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x28b3:0x5 DW_TAG_formal_parameter + .long 9857 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x28b8:0x5 DW_TAG_formal_parameter + .long 21458 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x28be:0x1c DW_TAG_subprogram + .long .Linfo_string779 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 944 @ DW_AT_decl_line + .long 9823 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x28cf:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x28d4:0x5 DW_TAG_formal_parameter + .long 9857 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x28da:0x1c DW_TAG_subprogram + .long .Linfo_string780 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 950 @ DW_AT_decl_line + .long 9823 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x28eb:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x28f0:0x5 DW_TAG_formal_parameter + .long 9823 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x28f6:0x1c DW_TAG_subprogram + .long .Linfo_string781 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 980 @ DW_AT_decl_line + .long 10166 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2907:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x290c:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2912:0x21 DW_TAG_subprogram + .long .Linfo_string782 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1000 @ DW_AT_decl_line + .long 9823 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2923:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2928:0x5 DW_TAG_formal_parameter + .long 9857 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x292d:0x5 DW_TAG_formal_parameter + .long 9857 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x2933:0x18 DW_TAG_subprogram + .long .Linfo_string783 @ DW_AT_linkage_name + .long .Linfo_string169 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1032 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2940:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2945:0x5 DW_TAG_formal_parameter + .long 21418 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x294b:0x13 DW_TAG_subprogram + .long .Linfo_string784 @ DW_AT_linkage_name + .long .Linfo_string171 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1043 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2958:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x295e:0x17 DW_TAG_subprogram + .long .Linfo_string785 @ DW_AT_linkage_name + .long .Linfo_string694 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1052 @ DW_AT_decl_line + .long 10613 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x296f:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x2975:0xb DW_TAG_typedef + .long 13961 @ DW_AT_type + .long .Linfo_string786 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .byte 102 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x2980:0x17 DW_TAG_subprogram + .long .Linfo_string787 @ DW_AT_linkage_name + .long .Linfo_string788 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1060 @ DW_AT_decl_line + .long 10647 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2991:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 34 @ Abbrev [34] 0x2997:0x5 DW_TAG_class_type + .long .Linfo_string789 @ DW_AT_name + @ DW_AT_declaration + .byte 22 @ Abbrev [22] 0x299c:0x1c DW_TAG_subprogram + .long .Linfo_string790 @ DW_AT_linkage_name + .long .Linfo_string719 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1079 @ DW_AT_decl_line + .long 9823 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x29ad:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x29b2:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x29b8:0x1c DW_TAG_subprogram + .long .Linfo_string791 @ DW_AT_linkage_name + .long .Linfo_string719 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1104 @ DW_AT_decl_line + .long 9857 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x29c9:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x29ce:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x29d4:0x1c DW_TAG_subprogram + .long .Linfo_string792 @ DW_AT_linkage_name + .long .Linfo_string722 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1125 @ DW_AT_decl_line + .long 10166 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x29e5:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x29ea:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x29f0:0x1c DW_TAG_subprogram + .long .Linfo_string793 @ DW_AT_linkage_name + .long .Linfo_string724 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1149 @ DW_AT_decl_line + .long 9823 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2a01:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2a06:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2a0c:0x1c DW_TAG_subprogram + .long .Linfo_string794 @ DW_AT_linkage_name + .long .Linfo_string724 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1174 @ DW_AT_decl_line + .long 9857 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2a1d:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2a22:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2a28:0x1c DW_TAG_subprogram + .long .Linfo_string795 @ DW_AT_linkage_name + .long .Linfo_string727 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1194 @ DW_AT_decl_line + .long 9823 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2a39:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2a3e:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2a44:0x1c DW_TAG_subprogram + .long .Linfo_string796 @ DW_AT_linkage_name + .long .Linfo_string727 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1214 @ DW_AT_decl_line + .long 9857 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2a55:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2a5a:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2a60:0x1c DW_TAG_subprogram + .long .Linfo_string797 @ DW_AT_linkage_name + .long .Linfo_string730 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1243 @ DW_AT_decl_line + .long 14632 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2a71:0x5 DW_TAG_formal_parameter + .long 21388 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2a76:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2a7c:0x1c DW_TAG_subprogram + .long .Linfo_string798 @ DW_AT_linkage_name + .long .Linfo_string730 @ DW_AT_name + .byte 21 @ DW_AT_decl_file + .short 1272 @ DW_AT_decl_line + .long 14637 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2a8d:0x5 DW_TAG_formal_parameter + .long 21423 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2a92:0x5 DW_TAG_formal_parameter + .long 21433 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x2a98:0x9 DW_TAG_template_type_parameter + .long 14061 @ DW_AT_type + .long .Linfo_string742 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x2aa1:0x9 DW_TAG_template_type_parameter + .long 18995 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x2aaa:0x9 DW_TAG_template_type_parameter + .long 13961 @ DW_AT_type + .long .Linfo_string746 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x2ab3:0x9 DW_TAG_template_type_parameter + .long 13790 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 39 @ Abbrev [39] 0x2abd:0xa56 DW_TAG_class_type + .long .Linfo_string747 @ DW_AT_name + .byte 24 @ DW_AT_byte_size + .byte 18 @ DW_AT_decl_file + .short 361 @ DW_AT_decl_line + .byte 47 @ Abbrev [47] 0x2ac6:0xe DW_TAG_member + .long .Linfo_string9 @ DW_AT_name + .long 10964 @ DW_AT_type + .byte 18 @ DW_AT_decl_file + .short 637 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 31 @ Abbrev [31] 0x2ad4:0xa9 DW_TAG_structure_type + .long .Linfo_string604 @ DW_AT_name + .byte 24 @ DW_AT_byte_size + .byte 18 @ DW_AT_decl_file + .short 594 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x2add:0x6 DW_TAG_inheritance + .long 11133 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x2ae3:0xd DW_TAG_member + .long .Linfo_string571 @ DW_AT_name + .long 13961 @ DW_AT_type + .byte 18 @ DW_AT_decl_file + .short 596 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x2af0:0xd DW_TAG_member + .long .Linfo_string580 @ DW_AT_name + .long 14079 @ DW_AT_type + .byte 18 @ DW_AT_decl_file + .short 597 @ DW_AT_decl_line + .byte 4 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x2afd:0xd DW_TAG_member + .long .Linfo_string597 @ DW_AT_name + .long 21212 @ DW_AT_type + .byte 18 @ DW_AT_decl_file + .short 598 @ DW_AT_decl_line + .byte 20 @ DW_AT_data_member_location + .byte 43 @ Abbrev [43] 0x2b0a:0xe DW_TAG_subprogram + .long .Linfo_string598 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 600 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2b12:0x5 DW_TAG_formal_parameter + .long 21224 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x2b18:0x18 DW_TAG_subprogram + .long .Linfo_string598 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 605 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2b20:0x5 DW_TAG_formal_parameter + .long 21224 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2b25:0x5 DW_TAG_formal_parameter + .long 21229 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2b2a:0x5 DW_TAG_formal_parameter + .long 21234 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x2b30:0x18 DW_TAG_subprogram + .long .Linfo_string598 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 611 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2b38:0x5 DW_TAG_formal_parameter + .long 21224 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2b3d:0x5 DW_TAG_formal_parameter + .long 21229 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2b42:0x5 DW_TAG_formal_parameter + .long 21244 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x2b48:0x12 DW_TAG_subprogram + .long .Linfo_string599 @ DW_AT_linkage_name + .long .Linfo_string600 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 618 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2b54:0x5 DW_TAG_formal_parameter + .long 21224 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x2b5a:0x13 DW_TAG_subprogram + .long .Linfo_string601 @ DW_AT_linkage_name + .long .Linfo_string602 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 628 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 3 @ DW_AT_accessibility + @ DW_ACCESS_private + .byte 7 @ Abbrev [7] 0x2b67:0x5 DW_TAG_formal_parameter + .long 21224 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x2b6d:0x9 DW_TAG_template_type_parameter + .long 13961 @ DW_AT_type + .long .Linfo_string603 @ DW_AT_name + .byte 46 @ Abbrev [46] 0x2b76:0x6 DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .byte 1 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x2b7d:0xc DW_TAG_typedef + .long 17601 @ DW_AT_type + .long .Linfo_string570 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 364 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x2b89:0x17 DW_TAG_subprogram + .long .Linfo_string605 @ DW_AT_linkage_name + .long .Linfo_string606 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 491 @ DW_AT_decl_line + .long 21249 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2b9a:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2ba0:0x17 DW_TAG_subprogram + .long .Linfo_string607 @ DW_AT_linkage_name + .long .Linfo_string606 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 495 @ DW_AT_decl_line + .long 21234 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2bb1:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2bb7:0x17 DW_TAG_subprogram + .long .Linfo_string608 @ DW_AT_linkage_name + .long .Linfo_string75 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 499 @ DW_AT_decl_line + .long 11214 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2bc8:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x2bce:0xc DW_TAG_typedef + .long 13790 @ DW_AT_type + .long .Linfo_string36 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 488 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x2bda:0x17 DW_TAG_subprogram + .long .Linfo_string609 @ DW_AT_linkage_name + .long .Linfo_string610 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 504 @ DW_AT_decl_line + .long 11249 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2beb:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x2bf1:0xc DW_TAG_typedef + .long 21132 @ DW_AT_type + .long .Linfo_string611 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 371 @ DW_AT_decl_line + .byte 23 @ Abbrev [23] 0x2bfd:0x18 DW_TAG_subprogram + .long .Linfo_string612 @ DW_AT_linkage_name + .long .Linfo_string613 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 508 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2c0a:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2c0f:0x5 DW_TAG_formal_parameter + .long 11249 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x2c15:0x18 DW_TAG_subprogram + .long .Linfo_string614 @ DW_AT_linkage_name + .long .Linfo_string615 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 565 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2c22:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2c27:0x5 DW_TAG_formal_parameter + .long 11249 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x2c2d:0x18 DW_TAG_subprogram + .long .Linfo_string616 @ DW_AT_linkage_name + .long .Linfo_string617 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 573 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2c3a:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2c3f:0x5 DW_TAG_formal_parameter + .long 11249 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2c45:0x17 DW_TAG_subprogram + .long .Linfo_string618 @ DW_AT_linkage_name + .long .Linfo_string619 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 641 @ DW_AT_decl_line + .long 21269 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2c56:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2c5c:0x17 DW_TAG_subprogram + .long .Linfo_string620 @ DW_AT_linkage_name + .long .Linfo_string619 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 645 @ DW_AT_decl_line + .long 21286 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2c6d:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2c73:0x17 DW_TAG_subprogram + .long .Linfo_string621 @ DW_AT_linkage_name + .long .Linfo_string622 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 649 @ DW_AT_decl_line + .long 21269 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2c84:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2c8a:0x17 DW_TAG_subprogram + .long .Linfo_string623 @ DW_AT_linkage_name + .long .Linfo_string622 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 653 @ DW_AT_decl_line + .long 21286 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2c9b:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2ca1:0x17 DW_TAG_subprogram + .long .Linfo_string624 @ DW_AT_linkage_name + .long .Linfo_string625 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 657 @ DW_AT_decl_line + .long 21269 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2cb2:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2cb8:0x17 DW_TAG_subprogram + .long .Linfo_string626 @ DW_AT_linkage_name + .long .Linfo_string625 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 661 @ DW_AT_decl_line + .long 21286 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2cc9:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2ccf:0x17 DW_TAG_subprogram + .long .Linfo_string627 @ DW_AT_linkage_name + .long .Linfo_string628 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 665 @ DW_AT_decl_line + .long 11249 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2ce0:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2ce6:0x17 DW_TAG_subprogram + .long .Linfo_string629 @ DW_AT_linkage_name + .long .Linfo_string628 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 669 @ DW_AT_decl_line + .long 11517 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2cf7:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x2cfd:0xc DW_TAG_typedef + .long 21147 @ DW_AT_type + .long .Linfo_string630 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 372 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x2d09:0x17 DW_TAG_subprogram + .long .Linfo_string631 @ DW_AT_linkage_name + .long .Linfo_string632 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 676 @ DW_AT_decl_line + .long 21274 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2d1a:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2d20:0x17 DW_TAG_subprogram + .long .Linfo_string633 @ DW_AT_linkage_name + .long .Linfo_string632 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 680 @ DW_AT_decl_line + .long 21286 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 7 @ Abbrev [7] 0x2d31:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2d37:0x17 DW_TAG_subprogram + .long .Linfo_string634 @ DW_AT_linkage_name + .long .Linfo_string635 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 684 @ DW_AT_decl_line + .long 11598 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2d48:0x5 DW_TAG_formal_parameter + .long 11517 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x2d4e:0xc DW_TAG_typedef + .long 21298 @ DW_AT_type + .long .Linfo_string21 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 485 @ DW_AT_decl_line + .byte 33 @ Abbrev [33] 0x2d5a:0xc DW_TAG_typedef + .long 13785 @ DW_AT_type + .long .Linfo_string86 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 481 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x2d66:0x17 DW_TAG_subprogram + .long .Linfo_string636 @ DW_AT_linkage_name + .long .Linfo_string637 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 688 @ DW_AT_decl_line + .long 21187 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2d77:0x5 DW_TAG_formal_parameter + .long 11517 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2d7d:0x17 DW_TAG_subprogram + .long .Linfo_string638 @ DW_AT_linkage_name + .long .Linfo_string639 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 692 @ DW_AT_decl_line + .long 11249 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2d8e:0x5 DW_TAG_formal_parameter + .long 21274 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2d94:0x17 DW_TAG_subprogram + .long .Linfo_string640 @ DW_AT_linkage_name + .long .Linfo_string639 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 696 @ DW_AT_decl_line + .long 11517 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2da5:0x5 DW_TAG_formal_parameter + .long 21286 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2dab:0x17 DW_TAG_subprogram + .long .Linfo_string641 @ DW_AT_linkage_name + .long .Linfo_string642 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 700 @ DW_AT_decl_line + .long 11249 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2dbc:0x5 DW_TAG_formal_parameter + .long 21274 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2dc2:0x17 DW_TAG_subprogram + .long .Linfo_string643 @ DW_AT_linkage_name + .long .Linfo_string642 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 704 @ DW_AT_decl_line + .long 11517 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2dd3:0x5 DW_TAG_formal_parameter + .long 21286 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2dd9:0x17 DW_TAG_subprogram + .long .Linfo_string644 @ DW_AT_linkage_name + .long .Linfo_string635 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 708 @ DW_AT_decl_line + .long 11598 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2dea:0x5 DW_TAG_formal_parameter + .long 21286 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2df0:0x17 DW_TAG_subprogram + .long .Linfo_string645 @ DW_AT_linkage_name + .long .Linfo_string637 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 712 @ DW_AT_decl_line + .long 21187 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2e01:0x5 DW_TAG_formal_parameter + .long 21286 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2e07:0x17 DW_TAG_subprogram + .long .Linfo_string646 @ DW_AT_linkage_name + .long .Linfo_string590 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 716 @ DW_AT_decl_line + .long 11806 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2e18:0x5 DW_TAG_formal_parameter + .long 21274 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x2e1e:0xc DW_TAG_typedef + .long 21197 @ DW_AT_type + .long .Linfo_string586 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 369 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x2e2a:0x17 DW_TAG_subprogram + .long .Linfo_string647 @ DW_AT_linkage_name + .long .Linfo_string590 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 720 @ DW_AT_decl_line + .long 11841 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2e3b:0x5 DW_TAG_formal_parameter + .long 21286 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x2e41:0xc DW_TAG_typedef + .long 21202 @ DW_AT_type + .long .Linfo_string592 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 370 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x2e4d:0x17 DW_TAG_subprogram + .long .Linfo_string648 @ DW_AT_linkage_name + .long .Linfo_string594 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 724 @ DW_AT_decl_line + .long 11806 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2e5e:0x5 DW_TAG_formal_parameter + .long 21274 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2e64:0x17 DW_TAG_subprogram + .long .Linfo_string649 @ DW_AT_linkage_name + .long .Linfo_string594 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 728 @ DW_AT_decl_line + .long 11841 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 2 @ DW_AT_accessibility + @ DW_ACCESS_protected + .byte 8 @ Abbrev [8] 0x2e75:0x5 DW_TAG_formal_parameter + .long 21286 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2e7b:0x1c DW_TAG_subprogram + .long .Linfo_string650 @ DW_AT_linkage_name + .long .Linfo_string651 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 739 @ DW_AT_decl_line + .long 14263 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2e8c:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2e91:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x2e97:0xc DW_TAG_typedef + .long 14061 @ DW_AT_type + .long .Linfo_string666 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 480 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x2ea3:0x1c DW_TAG_subprogram + .long .Linfo_string667 @ DW_AT_linkage_name + .long .Linfo_string668 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 742 @ DW_AT_decl_line + .long 14263 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2eb4:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2eb9:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x2ebf:0x21 DW_TAG_subprogram + .long .Linfo_string669 @ DW_AT_linkage_name + .long .Linfo_string670 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 745 @ DW_AT_decl_line + .long 14263 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2ed0:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2ed5:0x5 DW_TAG_formal_parameter + .long 12000 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2eda:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x2ee0:0xc DW_TAG_typedef + .long 14612 @ DW_AT_type + .long .Linfo_string102 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 733 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x2eec:0x21 DW_TAG_subprogram + .long .Linfo_string672 @ DW_AT_linkage_name + .long .Linfo_string673 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 749 @ DW_AT_decl_line + .long 14263 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x2efd:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2f02:0x5 DW_TAG_formal_parameter + .long 12000 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2f07:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x2f0d:0x25 DW_TAG_subprogram + .long .Linfo_string674 @ DW_AT_linkage_name + .long .Linfo_string675 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 759 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2f1d:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2f22:0x5 DW_TAG_formal_parameter + .long 21274 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2f27:0x5 DW_TAG_formal_parameter + .long 21274 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2f2c:0x5 DW_TAG_formal_parameter + .long 11249 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x2f32:0xc DW_TAG_typedef + .long 14617 @ DW_AT_type + .long .Linfo_string99 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 732 @ DW_AT_decl_line + .byte 32 @ Abbrev [32] 0x2f3e:0x20 DW_TAG_subprogram + .long .Linfo_string677 @ DW_AT_linkage_name + .long .Linfo_string678 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 770 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2f4e:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2f53:0x5 DW_TAG_formal_parameter + .long 21274 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2f58:0x5 DW_TAG_formal_parameter + .long 11249 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x2f5e:0x1b DW_TAG_subprogram + .long .Linfo_string679 @ DW_AT_linkage_name + .long .Linfo_string680 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 773 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2f6e:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2f73:0x5 DW_TAG_formal_parameter + .long 11249 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x2f79:0x20 DW_TAG_subprogram + .long .Linfo_string681 @ DW_AT_linkage_name + .long .Linfo_string682 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 794 @ DW_AT_decl_line + .long 11249 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2f89:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2f8e:0x5 DW_TAG_formal_parameter + .long 11517 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2f93:0x5 DW_TAG_formal_parameter + .long 21274 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x2f99:0x17 DW_TAG_subprogram + .long .Linfo_string683 @ DW_AT_linkage_name + .long .Linfo_string190 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 801 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2fa5:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2faa:0x5 DW_TAG_formal_parameter + .long 11249 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x2fb0:0x25 DW_TAG_subprogram + .long .Linfo_string684 @ DW_AT_linkage_name + .long .Linfo_string685 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 804 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2fc0:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2fc5:0x5 DW_TAG_formal_parameter + .long 11249 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2fca:0x5 DW_TAG_formal_parameter + .long 21274 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2fcf:0x5 DW_TAG_formal_parameter + .long 21187 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x2fd5:0x25 DW_TAG_subprogram + .long .Linfo_string686 @ DW_AT_linkage_name + .long .Linfo_string685 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 808 @ DW_AT_decl_line + .long 12000 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x2fe5:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x2fea:0x5 DW_TAG_formal_parameter + .long 11517 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2fef:0x5 DW_TAG_formal_parameter + .long 21286 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x2ff4:0x5 DW_TAG_formal_parameter + .long 21187 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x2ffa:0x25 DW_TAG_subprogram + .long .Linfo_string687 @ DW_AT_linkage_name + .long .Linfo_string688 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 812 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x300a:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x300f:0x5 DW_TAG_formal_parameter + .long 11249 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x3014:0x5 DW_TAG_formal_parameter + .long 21274 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x3019:0x5 DW_TAG_formal_parameter + .long 21187 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x301f:0x25 DW_TAG_subprogram + .long .Linfo_string689 @ DW_AT_linkage_name + .long .Linfo_string688 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 816 @ DW_AT_decl_line + .long 12000 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x302f:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3034:0x5 DW_TAG_formal_parameter + .long 11517 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x3039:0x5 DW_TAG_formal_parameter + .long 21286 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x303e:0x5 DW_TAG_formal_parameter + .long 21187 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x3044:0xf DW_TAG_subprogram + .long .Linfo_string690 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 821 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x304d:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x3053:0x19 DW_TAG_subprogram + .long .Linfo_string690 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 823 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x305c:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3061:0x5 DW_TAG_formal_parameter + .long 21229 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x3066:0x5 DW_TAG_formal_parameter + .long 21358 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x306c:0x14 DW_TAG_subprogram + .long .Linfo_string690 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 827 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3075:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x307a:0x5 DW_TAG_formal_parameter + .long 21368 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x3080:0x14 DW_TAG_subprogram + .long .Linfo_string690 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 841 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3089:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x308e:0x5 DW_TAG_formal_parameter + .long 21358 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x3094:0x19 DW_TAG_subprogram + .long .Linfo_string690 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 845 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x309d:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x30a2:0x5 DW_TAG_formal_parameter + .long 21368 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x30a7:0x5 DW_TAG_formal_parameter + .long 21358 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x30ad:0x14 DW_TAG_subprogram + .long .Linfo_string690 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 857 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x30b6:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x30bb:0x5 DW_TAG_formal_parameter + .long 21373 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x30c1:0x19 DW_TAG_subprogram + .long .Linfo_string690 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 865 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x30ca:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x30cf:0x5 DW_TAG_formal_parameter + .long 21373 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x30d4:0x5 DW_TAG_formal_parameter + .long 21358 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x30da:0x19 DW_TAG_subprogram + .long .Linfo_string690 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 869 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x30e3:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x30e8:0x5 DW_TAG_formal_parameter + .long 21373 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x30ed:0x5 DW_TAG_formal_parameter + .long 21244 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 21 @ Abbrev [21] 0x30f3:0xf DW_TAG_subprogram + .long .Linfo_string691 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 872 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x30fc:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3102:0x1c DW_TAG_subprogram + .long .Linfo_string692 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 876 @ DW_AT_decl_line + .long 21378 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3113:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3118:0x5 DW_TAG_formal_parameter + .long 21368 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x311e:0x17 DW_TAG_subprogram + .long .Linfo_string693 @ DW_AT_linkage_name + .long .Linfo_string694 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 880 @ DW_AT_decl_line + .long 13961 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x312f:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3135:0x17 DW_TAG_subprogram + .long .Linfo_string695 @ DW_AT_linkage_name + .long .Linfo_string97 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 884 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3146:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x314c:0x17 DW_TAG_subprogram + .long .Linfo_string696 @ DW_AT_linkage_name + .long .Linfo_string97 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 888 @ DW_AT_decl_line + .long 12000 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x315d:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3163:0x17 DW_TAG_subprogram + .long .Linfo_string697 @ DW_AT_linkage_name + .long .Linfo_string104 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 892 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3174:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x317a:0x17 DW_TAG_subprogram + .long .Linfo_string698 @ DW_AT_linkage_name + .long .Linfo_string104 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 896 @ DW_AT_decl_line + .long 12000 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x318b:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3191:0x17 DW_TAG_subprogram + .long .Linfo_string699 @ DW_AT_linkage_name + .long .Linfo_string107 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 900 @ DW_AT_decl_line + .long 12712 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x31a2:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x31a8:0xc DW_TAG_typedef + .long 14622 @ DW_AT_type + .long .Linfo_string109 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 735 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x31b4:0x17 DW_TAG_subprogram + .long .Linfo_string701 @ DW_AT_linkage_name + .long .Linfo_string107 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 904 @ DW_AT_decl_line + .long 12747 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x31c5:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x31cb:0xc DW_TAG_typedef + .long 14627 @ DW_AT_type + .long .Linfo_string112 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 736 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x31d7:0x17 DW_TAG_subprogram + .long .Linfo_string703 @ DW_AT_linkage_name + .long .Linfo_string114 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 908 @ DW_AT_decl_line + .long 12712 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x31e8:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x31ee:0x17 DW_TAG_subprogram + .long .Linfo_string704 @ DW_AT_linkage_name + .long .Linfo_string114 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 912 @ DW_AT_decl_line + .long 12747 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x31ff:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3205:0x17 DW_TAG_subprogram + .long .Linfo_string705 @ DW_AT_linkage_name + .long .Linfo_string135 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 916 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3216:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x321c:0x17 DW_TAG_subprogram + .long .Linfo_string706 @ DW_AT_linkage_name + .long .Linfo_string125 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 920 @ DW_AT_decl_line + .long 21212 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x322d:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3233:0x17 DW_TAG_subprogram + .long .Linfo_string707 @ DW_AT_linkage_name + .long .Linfo_string29 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 924 @ DW_AT_decl_line + .long 21212 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3244:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x324a:0x18 DW_TAG_subprogram + .long .Linfo_string708 @ DW_AT_linkage_name + .long .Linfo_string169 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 928 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3257:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x325c:0x5 DW_TAG_formal_parameter + .long 21378 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x3262:0x17 DW_TAG_subprogram + .long .Linfo_string709 @ DW_AT_linkage_name + .long .Linfo_string710 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1021 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x326e:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3273:0x5 DW_TAG_formal_parameter + .long 12000 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x3279:0x1c DW_TAG_subprogram + .long .Linfo_string711 @ DW_AT_linkage_name + .long .Linfo_string710 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1024 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x3285:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x328a:0x5 DW_TAG_formal_parameter + .long 12000 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x328f:0x5 DW_TAG_formal_parameter + .long 12000 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3295:0x1c DW_TAG_subprogram + .long .Linfo_string712 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1032 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x32a6:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x32ab:0x5 DW_TAG_formal_parameter + .long 12000 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x32b1:0x1c DW_TAG_subprogram + .long .Linfo_string713 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1043 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x32c2:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x32c7:0x5 DW_TAG_formal_parameter + .long 12082 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x32cd:0x1c DW_TAG_subprogram + .long .Linfo_string714 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1060 @ DW_AT_decl_line + .long 13033 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x32de:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x32e3:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x32e9:0xc DW_TAG_typedef + .long 3010 @ DW_AT_type + .long .Linfo_string25 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 486 @ DW_AT_decl_line + .byte 22 @ Abbrev [22] 0x32f5:0x21 DW_TAG_subprogram + .long .Linfo_string715 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1067 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3306:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x330b:0x5 DW_TAG_formal_parameter + .long 12000 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x3310:0x5 DW_TAG_formal_parameter + .long 12000 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x3316:0x1d DW_TAG_subprogram + .long .Linfo_string716 @ DW_AT_linkage_name + .long .Linfo_string166 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1082 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3323:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3328:0x5 DW_TAG_formal_parameter + .long 21383 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x332d:0x5 DW_TAG_formal_parameter + .long 21383 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 23 @ Abbrev [23] 0x3333:0x13 DW_TAG_subprogram + .long .Linfo_string717 @ DW_AT_linkage_name + .long .Linfo_string171 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1085 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3340:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3346:0x1c DW_TAG_subprogram + .long .Linfo_string718 @ DW_AT_linkage_name + .long .Linfo_string719 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1093 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3357:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x335c:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3362:0x1c DW_TAG_subprogram + .long .Linfo_string720 @ DW_AT_linkage_name + .long .Linfo_string719 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1096 @ DW_AT_decl_line + .long 12000 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3373:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3378:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x337e:0x1c DW_TAG_subprogram + .long .Linfo_string721 @ DW_AT_linkage_name + .long .Linfo_string722 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1099 @ DW_AT_decl_line + .long 13033 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x338f:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3394:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x339a:0x1c DW_TAG_subprogram + .long .Linfo_string723 @ DW_AT_linkage_name + .long .Linfo_string724 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1102 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x33ab:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x33b0:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x33b6:0x1c DW_TAG_subprogram + .long .Linfo_string725 @ DW_AT_linkage_name + .long .Linfo_string724 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1106 @ DW_AT_decl_line + .long 12000 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x33c7:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x33cc:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x33d2:0x1c DW_TAG_subprogram + .long .Linfo_string726 @ DW_AT_linkage_name + .long .Linfo_string727 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1110 @ DW_AT_decl_line + .long 12082 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x33e3:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x33e8:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x33ee:0x1c DW_TAG_subprogram + .long .Linfo_string728 @ DW_AT_linkage_name + .long .Linfo_string727 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1114 @ DW_AT_decl_line + .long 12000 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x33ff:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3404:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x340a:0x1c DW_TAG_subprogram + .long .Linfo_string729 @ DW_AT_linkage_name + .long .Linfo_string730 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1118 @ DW_AT_decl_line + .long 14632 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x341b:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3420:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3426:0x1c DW_TAG_subprogram + .long .Linfo_string732 @ DW_AT_linkage_name + .long .Linfo_string730 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1121 @ DW_AT_decl_line + .long 14637 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3437:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x343c:0x5 DW_TAG_formal_parameter + .long 21348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3442:0x17 DW_TAG_subprogram + .long .Linfo_string734 @ DW_AT_linkage_name + .long .Linfo_string735 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1242 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3453:0x5 DW_TAG_formal_parameter + .long 21259 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 22 @ Abbrev [22] 0x3459:0x1c DW_TAG_subprogram + .long .Linfo_string736 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1246 @ DW_AT_decl_line + .long 21378 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x346a:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x346f:0x5 DW_TAG_formal_parameter + .long 21373 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x3475:0x1c DW_TAG_subprogram + .long .Linfo_string737 @ DW_AT_linkage_name + .long .Linfo_string738 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1261 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x3481:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3486:0x5 DW_TAG_formal_parameter + .long 21378 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x348b:0x5 DW_TAG_formal_parameter + .long 3036 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x3491:0x1c DW_TAG_subprogram + .long .Linfo_string739 @ DW_AT_linkage_name + .long .Linfo_string738 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1266 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x349d:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x34a2:0x5 DW_TAG_formal_parameter + .long 21378 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x34a7:0x5 DW_TAG_formal_parameter + .long 3119 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x34ad:0x1c DW_TAG_subprogram + .long .Linfo_string740 @ DW_AT_linkage_name + .long .Linfo_string193 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1270 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x34b9:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x34be:0x5 DW_TAG_formal_parameter + .long 21378 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x34c3:0x5 DW_TAG_formal_parameter + .long 3036 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x34c9:0x1c DW_TAG_subprogram + .long .Linfo_string741 @ DW_AT_linkage_name + .long .Linfo_string193 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 1275 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x34d5:0x5 DW_TAG_formal_parameter + .long 21254 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x34da:0x5 DW_TAG_formal_parameter + .long 21378 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x34df:0x5 DW_TAG_formal_parameter + .long 3119 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x34e5:0x9 DW_TAG_template_type_parameter + .long 14061 @ DW_AT_type + .long .Linfo_string742 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x34ee:0x9 DW_TAG_template_type_parameter + .long 13785 @ DW_AT_type + .long .Linfo_string743 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x34f7:0x9 DW_TAG_template_type_parameter + .long 14642 @ DW_AT_type + .long .Linfo_string745 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x3500:0x9 DW_TAG_template_type_parameter + .long 13961 @ DW_AT_type + .long .Linfo_string746 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x3509:0x9 DW_TAG_template_type_parameter + .long 13790 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0x3513:0xc6 DW_TAG_structure_type + .long .Linfo_string550 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 2 @ DW_AT_decl_file + .short 384 @ DW_AT_decl_line + .byte 32 @ Abbrev [32] 0x351c:0x1b DW_TAG_subprogram + .long .Linfo_string536 @ DW_AT_linkage_name + .long .Linfo_string12 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 435 @ DW_AT_decl_line + .long 13623 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x352c:0x5 DW_TAG_formal_parameter + .long 21042 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x3531:0x5 DW_TAG_formal_parameter + .long 18393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x3537:0xc DW_TAG_typedef + .long 21037 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 392 @ DW_AT_decl_line + .byte 33 @ Abbrev [33] 0x3543:0xc DW_TAG_typedef + .long 13790 @ DW_AT_type + .long .Linfo_string36 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 387 @ DW_AT_decl_line + .byte 32 @ Abbrev [32] 0x354f:0x20 DW_TAG_subprogram + .long .Linfo_string546 @ DW_AT_linkage_name + .long .Linfo_string12 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 449 @ DW_AT_decl_line + .long 13623 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x355f:0x5 DW_TAG_formal_parameter + .long 21042 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x3564:0x5 DW_TAG_formal_parameter + .long 18393 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x3569:0x5 DW_TAG_formal_parameter + .long 18405 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x356f:0x1c DW_TAG_subprogram + .long .Linfo_string547 @ DW_AT_linkage_name + .long .Linfo_string27 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 461 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x357b:0x5 DW_TAG_formal_parameter + .long 21042 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x3580:0x5 DW_TAG_formal_parameter + .long 13623 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x3585:0x5 DW_TAG_formal_parameter + .long 18393 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x358b:0x16 DW_TAG_subprogram + .long .Linfo_string548 @ DW_AT_linkage_name + .long .Linfo_string29 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 495 @ DW_AT_decl_line + .long 13729 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x359b:0x5 DW_TAG_formal_parameter + .long 21102 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 33 @ Abbrev [33] 0x35a1:0xc DW_TAG_typedef + .long 3010 @ DW_AT_type + .long .Linfo_string25 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 407 @ DW_AT_decl_line + .byte 32 @ Abbrev [32] 0x35ad:0x16 DW_TAG_subprogram + .long .Linfo_string549 @ DW_AT_linkage_name + .long .Linfo_string42 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 504 @ DW_AT_decl_line + .long 13635 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x35bd:0x5 DW_TAG_formal_parameter + .long 21102 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x35c3:0x9 DW_TAG_template_type_parameter + .long 13790 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 33 @ Abbrev [33] 0x35cc:0xc DW_TAG_typedef + .long 13878 @ DW_AT_type + .long .Linfo_string569 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 422 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 49 @ Abbrev [49] 0x35d9:0x5 DW_TAG_structure_type + .long .Linfo_string537 @ DW_AT_name + @ DW_AT_declaration + .byte 17 @ Abbrev [17] 0x35de:0x48 DW_TAG_class_type + .long .Linfo_string545 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 5 @ DW_AT_decl_file + .byte 108 @ DW_AT_decl_line + .byte 18 @ Abbrev [18] 0x35e6:0x7 DW_TAG_inheritance + .long 13862 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 6 @ Abbrev [6] 0x35ed:0xe DW_TAG_subprogram + .long .Linfo_string33 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 131 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x35f5:0x5 DW_TAG_formal_parameter + .long 21087 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x35fb:0x13 DW_TAG_subprogram + .long .Linfo_string33 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 133 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3603:0x5 DW_TAG_formal_parameter + .long 21087 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3608:0x5 DW_TAG_formal_parameter + .long 21092 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x360e:0xe DW_TAG_subprogram + .long .Linfo_string34 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3616:0x5 DW_TAG_formal_parameter + .long 21087 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x361c:0x9 DW_TAG_template_type_parameter + .long 13785 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x3626:0xb DW_TAG_typedef + .long 17614 @ DW_AT_type + .long .Linfo_string544 @ DW_AT_name + .byte 4 @ DW_AT_decl_file + .byte 48 @ DW_AT_decl_line + .byte 49 @ Abbrev [49] 0x3631:0x5 DW_TAG_structure_type + .long .Linfo_string559 @ DW_AT_name + @ DW_AT_declaration + .byte 17 @ Abbrev [17] 0x3636:0x48 DW_TAG_class_type + .long .Linfo_string568 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 5 @ DW_AT_decl_file + .byte 108 @ DW_AT_decl_line + .byte 18 @ Abbrev [18] 0x363e:0x7 DW_TAG_inheritance + .long 13950 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 6 @ Abbrev [6] 0x3645:0xe DW_TAG_subprogram + .long .Linfo_string33 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 131 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x364d:0x5 DW_TAG_formal_parameter + .long 21162 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x3653:0x13 DW_TAG_subprogram + .long .Linfo_string33 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 133 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x365b:0x5 DW_TAG_formal_parameter + .long 21162 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3660:0x5 DW_TAG_formal_parameter + .long 21167 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x3666:0xe DW_TAG_subprogram + .long .Linfo_string34 @ DW_AT_name + .byte 5 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x366e:0x5 DW_TAG_formal_parameter + .long 21162 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x3674:0x9 DW_TAG_template_type_parameter + .long 13873 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x367e:0xb DW_TAG_typedef + .long 17859 @ DW_AT_type + .long .Linfo_string567 @ DW_AT_name + .byte 4 @ DW_AT_decl_file + .byte 48 @ DW_AT_decl_line + .byte 31 @ Abbrev [31] 0x3689:0x39 DW_TAG_structure_type + .long .Linfo_string579 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 19 @ DW_AT_decl_file + .short 381 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x3692:0x6 DW_TAG_inheritance + .long 14018 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 32 @ Abbrev [32] 0x3698:0x20 DW_TAG_subprogram + .long .Linfo_string578 @ DW_AT_linkage_name + .long .Linfo_string412 @ DW_AT_name + .byte 19 @ DW_AT_decl_file + .short 385 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x36a8:0x5 DW_TAG_formal_parameter + .long 21177 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x36ad:0x5 DW_TAG_formal_parameter + .long 21187 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x36b2:0x5 DW_TAG_formal_parameter + .long 21187 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x36b8:0x9 DW_TAG_template_type_parameter + .long 14061 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x36c2:0x24 DW_TAG_structure_type + .long .Linfo_string577 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 19 @ DW_AT_decl_file + .byte 118 @ DW_AT_decl_line + .byte 25 @ Abbrev [25] 0x36ca:0x9 DW_TAG_template_type_parameter + .long 14061 @ DW_AT_type + .long .Linfo_string574 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x36d3:0x9 DW_TAG_template_type_parameter + .long 14061 @ DW_AT_type + .long .Linfo_string575 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x36dc:0x9 DW_TAG_template_type_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string576 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 16 @ Abbrev [16] 0x36e6:0x19 DW_TAG_namespace + .long .Linfo_string572 @ DW_AT_name + .byte 1 @ DW_AT_decl_file + .byte 223 @ DW_AT_decl_line + .byte 50 @ Abbrev [50] 0x36ed:0x6 DW_TAG_class_type + .long .Linfo_string573 @ DW_AT_name + .byte 24 @ DW_AT_byte_size + @ DW_AT_declaration + .byte 20 @ Abbrev [20] 0x36f3:0xb DW_TAG_typedef + .long 14061 @ DW_AT_type + .long .Linfo_string845 @ DW_AT_name + .byte 22 @ DW_AT_decl_file + .byte 78 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x36ff:0xa3 DW_TAG_structure_type + .long .Linfo_string596 @ DW_AT_name + .byte 16 @ DW_AT_byte_size + .byte 18 @ DW_AT_decl_file + .byte 98 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x3707:0xc DW_TAG_member + .long .Linfo_string581 @ DW_AT_name + .long 14242 @ DW_AT_type + .byte 18 @ DW_AT_decl_file + .byte 103 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x3713:0xc DW_TAG_member + .long .Linfo_string585 @ DW_AT_name + .long 14111 @ DW_AT_type + .byte 18 @ DW_AT_decl_file + .byte 104 @ DW_AT_decl_line + .byte 4 @ DW_AT_data_member_location + .byte 20 @ Abbrev [20] 0x371f:0xb DW_TAG_typedef + .long 21197 @ DW_AT_type + .long .Linfo_string586 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .byte 100 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x372a:0xc DW_TAG_member + .long .Linfo_string587 @ DW_AT_name + .long 14111 @ DW_AT_type + .byte 18 @ DW_AT_decl_file + .byte 105 @ DW_AT_decl_line + .byte 8 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x3736:0xc DW_TAG_member + .long .Linfo_string588 @ DW_AT_name + .long 14111 @ DW_AT_type + .byte 18 @ DW_AT_decl_file + .byte 106 @ DW_AT_decl_line + .byte 12 @ DW_AT_data_member_location + .byte 30 @ Abbrev [30] 0x3742:0x15 DW_TAG_subprogram + .long .Linfo_string589 @ DW_AT_linkage_name + .long .Linfo_string590 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .byte 109 @ DW_AT_decl_line + .long 14111 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x3751:0x5 DW_TAG_formal_parameter + .long 14111 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x3757:0x15 DW_TAG_subprogram + .long .Linfo_string591 @ DW_AT_linkage_name + .long .Linfo_string590 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .byte 116 @ DW_AT_decl_line + .long 14188 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x3766:0x5 DW_TAG_formal_parameter + .long 14188 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x376c:0xb DW_TAG_typedef + .long 21202 @ DW_AT_type + .long .Linfo_string592 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .byte 101 @ DW_AT_decl_line + .byte 30 @ Abbrev [30] 0x3777:0x15 DW_TAG_subprogram + .long .Linfo_string593 @ DW_AT_linkage_name + .long .Linfo_string594 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .byte 123 @ DW_AT_decl_line + .long 14111 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x3786:0x5 DW_TAG_formal_parameter + .long 14111 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x378c:0x15 DW_TAG_subprogram + .long .Linfo_string595 @ DW_AT_linkage_name + .long .Linfo_string594 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .byte 130 @ DW_AT_decl_line + .long 14188 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x379b:0x5 DW_TAG_formal_parameter + .long 14188 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 51 @ Abbrev [51] 0x37a2:0x15 DW_TAG_enumeration_type + .long .Linfo_string584 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 18 @ DW_AT_decl_file + .byte 96 @ DW_AT_decl_line + .byte 52 @ Abbrev [52] 0x37aa:0x6 DW_TAG_enumerator + .long .Linfo_string582 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 52 @ Abbrev [52] 0x37b0:0x6 DW_TAG_enumerator + .long .Linfo_string583 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 26 @ Abbrev [26] 0x37b7:0xc1 DW_TAG_structure_type + .long .Linfo_string665 @ DW_AT_name + .byte 8 @ DW_AT_byte_size + .byte 20 @ DW_AT_decl_file + .byte 194 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x37bf:0xc DW_TAG_member + .long .Linfo_string652 @ DW_AT_name + .long 21197 @ DW_AT_type + .byte 20 @ DW_AT_decl_file + .byte 199 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x37cb:0xc DW_TAG_member + .long .Linfo_string653 @ DW_AT_name + .long 21197 @ DW_AT_type + .byte 20 @ DW_AT_decl_file + .byte 200 @ DW_AT_decl_line + .byte 4 @ DW_AT_data_member_location + .byte 43 @ Abbrev [43] 0x37d7:0x13 DW_TAG_subprogram + .long .Linfo_string654 @ DW_AT_name + .byte 20 @ DW_AT_decl_file + .short 288 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x37df:0x5 DW_TAG_formal_parameter + .long 21308 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x37e4:0x5 DW_TAG_formal_parameter + .long 21313 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x37ea:0x13 DW_TAG_subprogram + .long .Linfo_string654 @ DW_AT_name + .byte 20 @ DW_AT_decl_file + .short 289 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x37f2:0x5 DW_TAG_formal_parameter + .long 21308 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x37f7:0x5 DW_TAG_formal_parameter + .long 21323 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x37fd:0x1b DW_TAG_subprogram + .long .Linfo_string655 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 20 @ DW_AT_decl_file + .short 363 @ DW_AT_decl_line + .long 21328 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x380d:0x5 DW_TAG_formal_parameter + .long 21308 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3812:0x5 DW_TAG_formal_parameter + .long 14493 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x3818:0x1b DW_TAG_subprogram + .long .Linfo_string658 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 20 @ DW_AT_decl_file + .short 374 @ DW_AT_decl_line + .long 21328 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x3828:0x5 DW_TAG_formal_parameter + .long 21308 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x382d:0x5 DW_TAG_formal_parameter + .long 14549 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 32 @ Abbrev [32] 0x3833:0x1b DW_TAG_subprogram + .long .Linfo_string660 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 20 @ DW_AT_decl_file + .short 380 @ DW_AT_decl_line + .long 21328 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x3843:0x5 DW_TAG_formal_parameter + .long 21308 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3848:0x5 DW_TAG_formal_parameter + .long 14599 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 24 @ Abbrev [24] 0x384e:0x17 DW_TAG_subprogram + .long .Linfo_string662 @ DW_AT_linkage_name + .long .Linfo_string169 @ DW_AT_name + .byte 20 @ DW_AT_decl_file + .short 415 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x385a:0x5 DW_TAG_formal_parameter + .long 21308 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x385f:0x5 DW_TAG_formal_parameter + .long 21328 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x3865:0x9 DW_TAG_template_type_parameter + .long 21197 @ DW_AT_type + .long .Linfo_string663 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x386e:0x9 DW_TAG_template_type_parameter + .long 21197 @ DW_AT_type + .long .Linfo_string664 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0x3878:0x32 DW_TAG_structure_type + .long .Linfo_string657 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 8 @ DW_AT_decl_file + .short 2179 @ DW_AT_decl_line + .byte 36 @ Abbrev [36] 0x3881:0xa DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string461 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 25 @ Abbrev [25] 0x388b:0x9 DW_TAG_template_type_parameter + .long 21313 @ DW_AT_type + .long .Linfo_string462 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x3894:0x9 DW_TAG_template_type_parameter + .long 21333 @ DW_AT_type + .long .Linfo_string463 @ DW_AT_name + .byte 33 @ Abbrev [33] 0x389d:0xc DW_TAG_typedef + .long 21313 @ DW_AT_type + .long .Linfo_string460 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .short 2180 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 53 @ Abbrev [53] 0x38aa:0x6 DW_TAG_structure_type + .long .Linfo_string656 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + @ DW_AT_declaration + .byte 31 @ Abbrev [31] 0x38b0:0x32 DW_TAG_structure_type + .long .Linfo_string659 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 8 @ DW_AT_decl_file + .short 2184 @ DW_AT_decl_line + .byte 36 @ Abbrev [36] 0x38b9:0xa DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string461 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 25 @ Abbrev [25] 0x38c3:0x9 DW_TAG_template_type_parameter + .long 21313 @ DW_AT_type + .long .Linfo_string462 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x38cc:0x9 DW_TAG_template_type_parameter + .long 21333 @ DW_AT_type + .long .Linfo_string463 @ DW_AT_name + .byte 33 @ Abbrev [33] 0x38d5:0xc DW_TAG_typedef + .long 21333 @ DW_AT_type + .long .Linfo_string460 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .short 2185 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 31 @ Abbrev [31] 0x38e2:0x32 DW_TAG_structure_type + .long .Linfo_string661 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 8 @ DW_AT_decl_file + .short 2179 @ DW_AT_decl_line + .byte 36 @ Abbrev [36] 0x38eb:0xa DW_TAG_template_value_parameter + .long 18432 @ DW_AT_type + .long .Linfo_string461 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 25 @ Abbrev [25] 0x38f5:0x9 DW_TAG_template_type_parameter + .long 21323 @ DW_AT_type + .long .Linfo_string462 @ DW_AT_name + .byte 25 @ Abbrev [25] 0x38fe:0x9 DW_TAG_template_type_parameter + .long 21343 @ DW_AT_type + .long .Linfo_string463 @ DW_AT_name + .byte 33 @ Abbrev [33] 0x3907:0xc DW_TAG_typedef + .long 21323 @ DW_AT_type + .long .Linfo_string460 @ DW_AT_name + .byte 8 @ DW_AT_decl_file + .short 2180 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 49 @ Abbrev [49] 0x3914:0x5 DW_TAG_structure_type + .long .Linfo_string671 @ DW_AT_name + @ DW_AT_declaration + .byte 49 @ Abbrev [49] 0x3919:0x5 DW_TAG_structure_type + .long .Linfo_string676 @ DW_AT_name + @ DW_AT_declaration + .byte 34 @ Abbrev [34] 0x391e:0x5 DW_TAG_class_type + .long .Linfo_string700 @ DW_AT_name + @ DW_AT_declaration + .byte 34 @ Abbrev [34] 0x3923:0x5 DW_TAG_class_type + .long .Linfo_string702 @ DW_AT_name + @ DW_AT_declaration + .byte 49 @ Abbrev [49] 0x3928:0x5 DW_TAG_structure_type + .long .Linfo_string731 @ DW_AT_name + @ DW_AT_declaration + .byte 49 @ Abbrev [49] 0x392d:0x5 DW_TAG_structure_type + .long .Linfo_string733 @ DW_AT_name + @ DW_AT_declaration + .byte 49 @ Abbrev [49] 0x3932:0x5 DW_TAG_structure_type + .long .Linfo_string744 @ DW_AT_name + @ DW_AT_declaration + .byte 34 @ Abbrev [34] 0x3937:0x5 DW_TAG_class_type + .long .Linfo_string750 @ DW_AT_name + @ DW_AT_declaration + .byte 49 @ Abbrev [49] 0x393c:0x5 DW_TAG_structure_type + .long .Linfo_string776 @ DW_AT_name + @ DW_AT_declaration + .byte 54 @ Abbrev [54] 0x3941:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 124 @ DW_AT_decl_line + .long 22051 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3948:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 125 @ DW_AT_decl_line + .long 22064 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x394f:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 127 @ DW_AT_decl_line + .long 22111 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3956:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 128 @ DW_AT_decl_line + .long 22119 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x395d:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 129 @ DW_AT_decl_line + .long 22137 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3964:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 132 @ DW_AT_decl_line + .long 22161 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x396b:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 135 @ DW_AT_decl_line + .long 22179 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3972:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 136 @ DW_AT_decl_line + .long 22196 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3979:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 137 @ DW_AT_decl_line + .long 22213 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3980:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 138 @ DW_AT_decl_line + .long 22230 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3987:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + .long 22312 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x398e:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 140 @ DW_AT_decl_line + .long 22335 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3995:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 141 @ DW_AT_decl_line + .long 22358 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x399c:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 142 @ DW_AT_decl_line + .long 22372 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39a3:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 143 @ DW_AT_decl_line + .long 22386 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39aa:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 144 @ DW_AT_decl_line + .long 22409 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39b1:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 145 @ DW_AT_decl_line + .long 22427 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39b8:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 146 @ DW_AT_decl_line + .long 22450 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39bf:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 148 @ DW_AT_decl_line + .long 22468 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39c6:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 149 @ DW_AT_decl_line + .long 22491 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39cd:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 150 @ DW_AT_decl_line + .long 22541 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39d4:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 152 @ DW_AT_decl_line + .long 22569 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39db:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 155 @ DW_AT_decl_line + .long 22598 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39e2:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 158 @ DW_AT_decl_line + .long 22612 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39e9:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 159 @ DW_AT_decl_line + .long 22624 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39f0:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 160 @ DW_AT_decl_line + .long 22647 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39f7:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 161 @ DW_AT_decl_line + .long 22661 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x39fe:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 162 @ DW_AT_decl_line + .long 22693 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3a05:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 163 @ DW_AT_decl_line + .long 22720 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3a0c:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 164 @ DW_AT_decl_line + .long 22754 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3a13:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 166 @ DW_AT_decl_line + .long 22772 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3a1a:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 167 @ DW_AT_decl_line + .long 22820 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3a21:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 260 @ DW_AT_decl_line + .long 22843 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3a29:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 262 @ DW_AT_decl_line + .long 22890 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3a31:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 264 @ DW_AT_decl_line + .long 22904 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3a39:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 265 @ DW_AT_decl_line + .long 18194 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3a41:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 266 @ DW_AT_decl_line + .long 22922 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3a49:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 268 @ DW_AT_decl_line + .long 22945 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3a51:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 269 @ DW_AT_decl_line + .long 23016 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3a59:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 270 @ DW_AT_decl_line + .long 22962 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3a61:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 271 @ DW_AT_decl_line + .long 22989 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3a69:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 272 @ DW_AT_decl_line + .long 23038 @ DW_AT_import + .byte 30 @ Abbrev [30] 0x3a71:0x15 DW_TAG_subprogram + .long .Linfo_string913 @ DW_AT_linkage_name + .long .Linfo_string869 @ DW_AT_name + .byte 29 @ DW_AT_decl_file + .byte 180 @ DW_AT_decl_line + .long 22883 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x3a80:0x5 DW_TAG_formal_parameter + .long 22883 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 56 @ Abbrev [56] 0x3a86:0x7 DW_TAG_namespace + .long .Linfo_string915 @ DW_AT_name + .byte 31 @ DW_AT_decl_file + .byte 50 @ DW_AT_decl_line + .byte 16 @ Abbrev [16] 0x3a8d:0x13b DW_TAG_namespace + .long .Linfo_string916 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 55 @ DW_AT_decl_line + .byte 17 @ Abbrev [17] 0x3a94:0x12c DW_TAG_class_type + .long .Linfo_string918 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 32 @ DW_AT_decl_file + .byte 79 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x3a9c:0xc DW_TAG_member + .long .Linfo_string917 @ DW_AT_name + .long 22267 @ DW_AT_type + .byte 32 @ DW_AT_decl_file + .byte 81 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 42 @ Abbrev [42] 0x3aa8:0x12 DW_TAG_subprogram + .long .Linfo_string918 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 83 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x3aaf:0x5 DW_TAG_formal_parameter + .long 23306 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3ab4:0x5 DW_TAG_formal_parameter + .long 22267 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x3aba:0x11 DW_TAG_subprogram + .long .Linfo_string919 @ DW_AT_linkage_name + .long .Linfo_string920 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 85 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x3ac5:0x5 DW_TAG_formal_parameter + .long 23306 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x3acb:0x11 DW_TAG_subprogram + .long .Linfo_string921 @ DW_AT_linkage_name + .long .Linfo_string922 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 86 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x3ad6:0x5 DW_TAG_formal_parameter + .long 23306 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x3adc:0x15 DW_TAG_subprogram + .long .Linfo_string923 @ DW_AT_linkage_name + .long .Linfo_string924 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 88 @ DW_AT_decl_line + .long 22267 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x3aeb:0x5 DW_TAG_formal_parameter + .long 23311 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x3af1:0xe DW_TAG_subprogram + .long .Linfo_string918 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 94 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3af9:0x5 DW_TAG_formal_parameter + .long 23306 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x3aff:0x13 DW_TAG_subprogram + .long .Linfo_string918 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 96 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3b07:0x5 DW_TAG_formal_parameter + .long 23306 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3b0c:0x5 DW_TAG_formal_parameter + .long 23321 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x3b12:0x13 DW_TAG_subprogram + .long .Linfo_string918 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 99 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3b1a:0x5 DW_TAG_formal_parameter + .long 23306 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3b1f:0x5 DW_TAG_formal_parameter + .long 7664 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x3b25:0x13 DW_TAG_subprogram + .long .Linfo_string918 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 103 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3b2d:0x5 DW_TAG_formal_parameter + .long 23306 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3b32:0x5 DW_TAG_formal_parameter + .long 23326 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x3b38:0x1b DW_TAG_subprogram + .long .Linfo_string925 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 116 @ DW_AT_decl_line + .long 23331 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3b48:0x5 DW_TAG_formal_parameter + .long 23306 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3b4d:0x5 DW_TAG_formal_parameter + .long 23321 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x3b53:0x1b DW_TAG_subprogram + .long .Linfo_string926 @ DW_AT_linkage_name + .long .Linfo_string90 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 120 @ DW_AT_decl_line + .long 23331 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3b63:0x5 DW_TAG_formal_parameter + .long 23306 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3b68:0x5 DW_TAG_formal_parameter + .long 23326 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x3b6e:0xe DW_TAG_subprogram + .long .Linfo_string927 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 127 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3b76:0x5 DW_TAG_formal_parameter + .long 23306 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x3b7c:0x17 DW_TAG_subprogram + .long .Linfo_string928 @ DW_AT_linkage_name + .long .Linfo_string169 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 130 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3b88:0x5 DW_TAG_formal_parameter + .long 23306 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x3b8d:0x5 DW_TAG_formal_parameter + .long 23331 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 57 @ Abbrev [57] 0x3b93:0x16 DW_TAG_subprogram + .long .Linfo_string929 @ DW_AT_linkage_name + .long .Linfo_string196 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 142 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + @ DW_AT_explicit + .byte 7 @ Abbrev [7] 0x3ba3:0x5 DW_TAG_formal_parameter + .long 23311 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x3ba9:0x16 DW_TAG_subprogram + .long .Linfo_string930 @ DW_AT_linkage_name + .long .Linfo_string931 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 151 @ DW_AT_decl_line + .long 23336 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x3bb9:0x5 DW_TAG_formal_parameter + .long 23311 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 54 @ Abbrev [54] 0x3bc0:0x7 DW_TAG_imported_declaration + .byte 32 @ DW_AT_decl_file + .byte 73 @ DW_AT_decl_line + .long 15316 @ DW_AT_import + .byte 0 @ End Of Children Mark + .byte 34 @ Abbrev [34] 0x3bc8:0x5 DW_TAG_class_type + .long .Linfo_string932 @ DW_AT_name + @ DW_AT_declaration + .byte 54 @ Abbrev [54] 0x3bcd:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 60 @ DW_AT_decl_line + .long 14996 @ DW_AT_import + .byte 29 @ Abbrev [29] 0x3bd4:0x11 DW_TAG_subprogram + .long .Linfo_string933 @ DW_AT_linkage_name + .long .Linfo_string934 @ DW_AT_name + .byte 32 @ DW_AT_decl_file + .byte 69 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x3bdf:0x5 DW_TAG_formal_parameter + .long 14996 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x3be5:0xb DW_TAG_typedef + .long 343 @ DW_AT_type + .long .Linfo_string935 @ DW_AT_name + .byte 1 @ DW_AT_decl_file + .byte 202 @ DW_AT_decl_line + .byte 54 @ Abbrev [54] 0x3bf0:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + .long 23346 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3bf7:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + .long 23438 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3bfe:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 141 @ DW_AT_decl_line + .long 23449 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c05:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 142 @ DW_AT_decl_line + .long 23467 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c0c:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 143 @ DW_AT_decl_line + .long 23977 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c13:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 144 @ DW_AT_decl_line + .long 24010 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c1a:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 145 @ DW_AT_decl_line + .long 24033 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c21:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 146 @ DW_AT_decl_line + .long 24056 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c28:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 147 @ DW_AT_decl_line + .long 24079 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c2f:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 148 @ DW_AT_decl_line + .long 24103 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c36:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 149 @ DW_AT_decl_line + .long 24127 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c3d:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 150 @ DW_AT_decl_line + .long 24145 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c44:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 151 @ DW_AT_decl_line + .long 24157 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c4b:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 152 @ DW_AT_decl_line + .long 24195 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c52:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 153 @ DW_AT_decl_line + .long 24228 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c59:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 154 @ DW_AT_decl_line + .long 24256 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c60:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 155 @ DW_AT_decl_line + .long 24299 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c67:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 156 @ DW_AT_decl_line + .long 24322 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c6e:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 158 @ DW_AT_decl_line + .long 24340 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c75:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 160 @ DW_AT_decl_line + .long 24369 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c7c:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 161 @ DW_AT_decl_line + .long 24393 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c83:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 162 @ DW_AT_decl_line + .long 24416 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c8a:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 164 @ DW_AT_decl_line + .long 24487 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c91:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 167 @ DW_AT_decl_line + .long 24515 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c98:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 170 @ DW_AT_decl_line + .long 24548 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3c9f:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 172 @ DW_AT_decl_line + .long 24576 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ca6:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 174 @ DW_AT_decl_line + .long 24599 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3cad:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 176 @ DW_AT_decl_line + .long 24622 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3cb4:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 177 @ DW_AT_decl_line + .long 24650 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3cbb:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 178 @ DW_AT_decl_line + .long 24672 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3cc2:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 179 @ DW_AT_decl_line + .long 24694 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3cc9:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 180 @ DW_AT_decl_line + .long 24716 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3cd0:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 181 @ DW_AT_decl_line + .long 24738 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3cd7:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 182 @ DW_AT_decl_line + .long 24760 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3cde:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 183 @ DW_AT_decl_line + .long 24814 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ce5:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 184 @ DW_AT_decl_line + .long 24832 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3cec:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 185 @ DW_AT_decl_line + .long 24859 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3cf3:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 186 @ DW_AT_decl_line + .long 24886 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3cfa:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 187 @ DW_AT_decl_line + .long 24913 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d01:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 188 @ DW_AT_decl_line + .long 24956 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d08:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 189 @ DW_AT_decl_line + .long 24979 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d0f:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 191 @ DW_AT_decl_line + .long 25012 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d16:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 193 @ DW_AT_decl_line + .long 25035 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d1d:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 194 @ DW_AT_decl_line + .long 25063 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d24:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 195 @ DW_AT_decl_line + .long 25091 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d2b:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 196 @ DW_AT_decl_line + .long 25119 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d32:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 197 @ DW_AT_decl_line + .long 25146 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d39:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 198 @ DW_AT_decl_line + .long 25164 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d40:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 199 @ DW_AT_decl_line + .long 25192 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d47:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 200 @ DW_AT_decl_line + .long 25220 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d4e:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 201 @ DW_AT_decl_line + .long 25248 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d55:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 202 @ DW_AT_decl_line + .long 25276 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d5c:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 203 @ DW_AT_decl_line + .long 25295 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d63:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 204 @ DW_AT_decl_line + .long 25314 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d6a:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 205 @ DW_AT_decl_line + .long 25336 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d71:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 206 @ DW_AT_decl_line + .long 25359 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d78:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 207 @ DW_AT_decl_line + .long 25381 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3d7f:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 208 @ DW_AT_decl_line + .long 25404 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3d86:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 264 @ DW_AT_decl_line + .long 25432 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3d8e:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 265 @ DW_AT_decl_line + .long 25455 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3d96:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 266 @ DW_AT_decl_line + .long 25483 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3d9e:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 280 @ DW_AT_decl_line + .long 25012 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3da6:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 283 @ DW_AT_decl_line + .long 24487 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3dae:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 286 @ DW_AT_decl_line + .long 24548 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3db6:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 289 @ DW_AT_decl_line + .long 24599 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3dbe:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 293 @ DW_AT_decl_line + .long 25432 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3dc6:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 294 @ DW_AT_decl_line + .long 25455 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x3dce:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 295 @ DW_AT_decl_line + .long 25483 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3dd6:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 48 @ DW_AT_decl_line + .long 25511 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ddd:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 49 @ DW_AT_decl_line + .long 25522 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3de4:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 50 @ DW_AT_decl_line + .long 25540 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3deb:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 51 @ DW_AT_decl_line + .long 25551 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3df2:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 53 @ DW_AT_decl_line + .long 25562 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3df9:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 54 @ DW_AT_decl_line + .long 25573 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e00:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 55 @ DW_AT_decl_line + .long 25584 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e07:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 56 @ DW_AT_decl_line + .long 25595 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e0e:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .long 25606 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e15:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 59 @ DW_AT_decl_line + .long 25617 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e1c:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 60 @ DW_AT_decl_line + .long 25628 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e23:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 61 @ DW_AT_decl_line + .long 25639 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e2a:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 63 @ DW_AT_decl_line + .long 25650 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e31:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + .long 25661 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e38:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 66 @ DW_AT_decl_line + .long 25672 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e3f:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 67 @ DW_AT_decl_line + .long 25690 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e46:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 68 @ DW_AT_decl_line + .long 19022 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e4d:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 69 @ DW_AT_decl_line + .long 18622 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e54:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 71 @ DW_AT_decl_line + .long 25701 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e5b:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 72 @ DW_AT_decl_line + .long 25712 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e62:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 73 @ DW_AT_decl_line + .long 25723 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e69:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 74 @ DW_AT_decl_line + .long 25734 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e70:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 76 @ DW_AT_decl_line + .long 25745 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e77:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 77 @ DW_AT_decl_line + .long 25756 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e7e:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 78 @ DW_AT_decl_line + .long 25767 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e85:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 79 @ DW_AT_decl_line + .long 25778 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e8c:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 81 @ DW_AT_decl_line + .long 25789 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e93:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 82 @ DW_AT_decl_line + .long 25800 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3e9a:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 53 @ DW_AT_decl_line + .long 25811 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ea1:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 54 @ DW_AT_decl_line + .long 25817 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ea8:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 55 @ DW_AT_decl_line + .long 25839 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3eaf:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + .long 25855 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3eb6:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 65 @ DW_AT_decl_line + .long 25872 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ebd:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 66 @ DW_AT_decl_line + .long 25889 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ec4:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 67 @ DW_AT_decl_line + .long 25906 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ecb:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 68 @ DW_AT_decl_line + .long 25923 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ed2:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 69 @ DW_AT_decl_line + .long 25940 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ed9:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 70 @ DW_AT_decl_line + .long 25957 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ee0:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 71 @ DW_AT_decl_line + .long 25974 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ee7:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 72 @ DW_AT_decl_line + .long 25991 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3eee:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 73 @ DW_AT_decl_line + .long 26008 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ef5:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 74 @ DW_AT_decl_line + .long 26025 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3efc:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 75 @ DW_AT_decl_line + .long 26042 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f03:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 76 @ DW_AT_decl_line + .long 26059 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f0a:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 87 @ DW_AT_decl_line + .long 26076 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f11:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 98 @ DW_AT_decl_line + .long 26093 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f18:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 99 @ DW_AT_decl_line + .long 26104 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f1f:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 101 @ DW_AT_decl_line + .long 26128 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f26:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 102 @ DW_AT_decl_line + .long 26147 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f2d:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 103 @ DW_AT_decl_line + .long 26164 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f34:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 104 @ DW_AT_decl_line + .long 26182 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f3b:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 105 @ DW_AT_decl_line + .long 26200 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f42:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 106 @ DW_AT_decl_line + .long 26217 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f49:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 107 @ DW_AT_decl_line + .long 26235 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f50:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 108 @ DW_AT_decl_line + .long 26273 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f57:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 109 @ DW_AT_decl_line + .long 26301 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f5e:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 110 @ DW_AT_decl_line + .long 26324 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f65:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 111 @ DW_AT_decl_line + .long 26348 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f6c:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 112 @ DW_AT_decl_line + .long 26371 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f73:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 113 @ DW_AT_decl_line + .long 26394 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f7a:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 114 @ DW_AT_decl_line + .long 26432 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f81:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 115 @ DW_AT_decl_line + .long 26460 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f88:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 116 @ DW_AT_decl_line + .long 26484 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f8f:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 117 @ DW_AT_decl_line + .long 26512 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f96:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 118 @ DW_AT_decl_line + .long 26545 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3f9d:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 119 @ DW_AT_decl_line + .long 26563 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fa4:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 120 @ DW_AT_decl_line + .long 26601 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fab:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 121 @ DW_AT_decl_line + .long 26619 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fb2:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 124 @ DW_AT_decl_line + .long 26630 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fb9:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 126 @ DW_AT_decl_line + .long 26648 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fc0:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 127 @ DW_AT_decl_line + .long 26662 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fc7:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 128 @ DW_AT_decl_line + .long 26681 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fce:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 129 @ DW_AT_decl_line + .long 26704 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fd5:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 130 @ DW_AT_decl_line + .long 26721 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fdc:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 131 @ DW_AT_decl_line + .long 26739 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fe3:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 132 @ DW_AT_decl_line + .long 26756 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fea:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 133 @ DW_AT_decl_line + .long 26778 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ff1:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 134 @ DW_AT_decl_line + .long 26792 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3ff8:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 135 @ DW_AT_decl_line + .long 26811 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x3fff:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 136 @ DW_AT_decl_line + .long 26830 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4006:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 137 @ DW_AT_decl_line + .long 26863 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x400d:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 138 @ DW_AT_decl_line + .long 26887 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4014:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + .long 26911 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x401b:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 141 @ DW_AT_decl_line + .long 26922 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4022:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 143 @ DW_AT_decl_line + .long 26939 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4029:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 144 @ DW_AT_decl_line + .long 26962 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4030:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 145 @ DW_AT_decl_line + .long 26990 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4037:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 146 @ DW_AT_decl_line + .long 27012 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x403e:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 185 @ DW_AT_decl_line + .long 27040 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4045:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 186 @ DW_AT_decl_line + .long 27069 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x404c:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 187 @ DW_AT_decl_line + .long 27097 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4053:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 188 @ DW_AT_decl_line + .long 27120 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x405a:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 189 @ DW_AT_decl_line + .long 27153 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4061:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 81 @ DW_AT_decl_line + .long 18104 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4068:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 82 @ DW_AT_decl_line + .long 18292 @ DW_AT_import + .byte 0 @ End Of Children Mark + .byte 16 @ Abbrev [16] 0x4070:0x710 DW_TAG_namespace + .long .Linfo_string10 @ DW_AT_name + .byte 1 @ DW_AT_decl_file + .byte 225 @ DW_AT_decl_line + .byte 26 @ Abbrev [26] 0x4077:0xd7 DW_TAG_structure_type + .long .Linfo_string60 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 6 @ DW_AT_decl_file + .byte 50 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x407f:0x6 DW_TAG_inheritance + .long 2717 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 30 @ Abbrev [30] 0x4085:0x15 DW_TAG_subprogram + .long .Linfo_string45 @ DW_AT_linkage_name + .long .Linfo_string46 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 94 @ DW_AT_decl_line + .long 2927 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x4094:0x5 DW_TAG_formal_parameter + .long 18383 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x409a:0x16 DW_TAG_subprogram + .long .Linfo_string47 @ DW_AT_linkage_name + .long .Linfo_string48 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 97 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x40a5:0x5 DW_TAG_formal_parameter + .long 18427 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x40aa:0x5 DW_TAG_formal_parameter + .long 18427 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 58 @ Abbrev [58] 0x40b0:0xf DW_TAG_subprogram + .long .Linfo_string49 @ DW_AT_linkage_name + .long .Linfo_string50 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 100 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x40bf:0xf DW_TAG_subprogram + .long .Linfo_string52 @ DW_AT_linkage_name + .long .Linfo_string53 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 103 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x40ce:0xf DW_TAG_subprogram + .long .Linfo_string54 @ DW_AT_linkage_name + .long .Linfo_string55 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 106 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x40dd:0xf DW_TAG_subprogram + .long .Linfo_string56 @ DW_AT_linkage_name + .long .Linfo_string57 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 109 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x40ec:0xf DW_TAG_subprogram + .long .Linfo_string58 @ DW_AT_linkage_name + .long .Linfo_string59 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 112 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 25 @ Abbrev [25] 0x40fb:0x9 DW_TAG_template_type_parameter + .long 2927 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 26 @ Abbrev [26] 0x4104:0x1d DW_TAG_structure_type + .long .Linfo_string61 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 6 @ DW_AT_decl_file + .byte 116 @ DW_AT_decl_line + .byte 25 @ Abbrev [25] 0x410c:0x9 DW_TAG_template_type_parameter + .long 343 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 20 @ Abbrev [20] 0x4115:0xb DW_TAG_typedef + .long 2902 @ DW_AT_type + .long .Linfo_string63 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 117 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x4121:0xb DW_TAG_typedef + .long 2753 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 59 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x412c:0xb DW_TAG_typedef + .long 18560 @ DW_AT_type + .long .Linfo_string18 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x4137:0xb DW_TAG_typedef + .long 2914 @ DW_AT_type + .long .Linfo_string86 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x4142:0xb DW_TAG_typedef + .long 18565 @ DW_AT_type + .long .Linfo_string21 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 65 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 17 @ Abbrev [17] 0x414e:0xf5 DW_TAG_class_type + .long .Linfo_string31 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 3 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .byte 6 @ Abbrev [6] 0x4156:0xe DW_TAG_subprogram + .long .Linfo_string14 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 79 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x415e:0x5 DW_TAG_formal_parameter + .long 18314 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x4164:0x13 DW_TAG_subprogram + .long .Linfo_string14 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 81 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x416c:0x5 DW_TAG_formal_parameter + .long 18314 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4171:0x5 DW_TAG_formal_parameter + .long 18319 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x4177:0xe DW_TAG_subprogram + .long .Linfo_string15 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 86 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x417f:0x5 DW_TAG_formal_parameter + .long 18314 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x4185:0x1b DW_TAG_subprogram + .long .Linfo_string16 @ DW_AT_linkage_name + .long .Linfo_string17 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 89 @ DW_AT_decl_line + .long 16800 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4195:0x5 DW_TAG_formal_parameter + .long 18329 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x419a:0x5 DW_TAG_formal_parameter + .long 16811 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x41a0:0xb DW_TAG_typedef + .long 18304 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 63 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x41ab:0xb DW_TAG_typedef + .long 18334 @ DW_AT_type + .long .Linfo_string18 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 65 @ DW_AT_decl_line + .byte 10 @ Abbrev [10] 0x41b6:0x1b DW_TAG_subprogram + .long .Linfo_string19 @ DW_AT_linkage_name + .long .Linfo_string17 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 93 @ DW_AT_decl_line + .long 16849 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x41c6:0x5 DW_TAG_formal_parameter + .long 18329 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x41cb:0x5 DW_TAG_formal_parameter + .long 16860 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x41d1:0xb DW_TAG_typedef + .long 18339 @ DW_AT_type + .long .Linfo_string20 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x41dc:0xb DW_TAG_typedef + .long 18349 @ DW_AT_type + .long .Linfo_string21 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 66 @ DW_AT_decl_line + .byte 10 @ Abbrev [10] 0x41e7:0x20 DW_TAG_subprogram + .long .Linfo_string22 @ DW_AT_linkage_name + .long .Linfo_string12 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 99 @ DW_AT_decl_line + .long 16800 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x41f7:0x5 DW_TAG_formal_parameter + .long 18314 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x41fc:0x5 DW_TAG_formal_parameter + .long 18354 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4201:0x5 DW_TAG_formal_parameter + .long 18372 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x4207:0x1c DW_TAG_subprogram + .long .Linfo_string26 @ DW_AT_linkage_name + .long .Linfo_string27 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 109 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4213:0x5 DW_TAG_formal_parameter + .long 18314 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4218:0x5 DW_TAG_formal_parameter + .long 16800 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x421d:0x5 DW_TAG_formal_parameter + .long 18354 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x4223:0x16 DW_TAG_subprogram + .long .Linfo_string28 @ DW_AT_linkage_name + .long .Linfo_string29 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 113 @ DW_AT_decl_line + .long 18354 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4233:0x5 DW_TAG_formal_parameter + .long 18329 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x4239:0x9 DW_TAG_template_type_parameter + .long 343 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 34 @ Abbrev [34] 0x4243:0x5 DW_TAG_class_type + .long .Linfo_string98 @ DW_AT_name + @ DW_AT_declaration + .byte 34 @ Abbrev [34] 0x4248:0x5 DW_TAG_class_type + .long .Linfo_string101 @ DW_AT_name + @ DW_AT_declaration + .byte 26 @ Abbrev [26] 0x424d:0xd7 DW_TAG_structure_type + .long .Linfo_string305 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 6 @ DW_AT_decl_file + .byte 50 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x4255:0x6 DW_TAG_inheritance + .long 5562 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 30 @ Abbrev [30] 0x425b:0x15 DW_TAG_subprogram + .long .Linfo_string298 @ DW_AT_linkage_name + .long .Linfo_string46 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 94 @ DW_AT_decl_line + .long 5772 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x426a:0x5 DW_TAG_formal_parameter + .long 20328 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4270:0x16 DW_TAG_subprogram + .long .Linfo_string299 @ DW_AT_linkage_name + .long .Linfo_string48 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 97 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x427b:0x5 DW_TAG_formal_parameter + .long 20348 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4280:0x5 DW_TAG_formal_parameter + .long 20348 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 58 @ Abbrev [58] 0x4286:0xf DW_TAG_subprogram + .long .Linfo_string300 @ DW_AT_linkage_name + .long .Linfo_string50 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 100 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x4295:0xf DW_TAG_subprogram + .long .Linfo_string301 @ DW_AT_linkage_name + .long .Linfo_string53 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 103 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x42a4:0xf DW_TAG_subprogram + .long .Linfo_string302 @ DW_AT_linkage_name + .long .Linfo_string55 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 106 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x42b3:0xf DW_TAG_subprogram + .long .Linfo_string303 @ DW_AT_linkage_name + .long .Linfo_string57 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 109 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x42c2:0xf DW_TAG_subprogram + .long .Linfo_string304 @ DW_AT_linkage_name + .long .Linfo_string59 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 112 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 25 @ Abbrev [25] 0x42d1:0x9 DW_TAG_template_type_parameter + .long 5772 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 26 @ Abbrev [26] 0x42da:0x1d DW_TAG_structure_type + .long .Linfo_string306 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 6 @ DW_AT_decl_file + .byte 116 @ DW_AT_decl_line + .byte 25 @ Abbrev [25] 0x42e2:0x9 DW_TAG_template_type_parameter + .long 18995 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 20 @ Abbrev [20] 0x42eb:0xb DW_TAG_typedef + .long 5747 @ DW_AT_type + .long .Linfo_string63 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 117 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x42f7:0xb DW_TAG_typedef + .long 5598 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 59 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x4302:0xb DW_TAG_typedef + .long 20463 @ DW_AT_type + .long .Linfo_string18 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x430d:0xb DW_TAG_typedef + .long 5759 @ DW_AT_type + .long .Linfo_string86 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x4318:0xb DW_TAG_typedef + .long 20468 @ DW_AT_type + .long .Linfo_string21 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 65 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 17 @ Abbrev [17] 0x4324:0xf5 DW_TAG_class_type + .long .Linfo_string290 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 3 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .byte 6 @ Abbrev [6] 0x432c:0xe DW_TAG_subprogram + .long .Linfo_string14 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 79 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4334:0x5 DW_TAG_formal_parameter + .long 20293 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x433a:0x13 DW_TAG_subprogram + .long .Linfo_string14 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 81 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4342:0x5 DW_TAG_formal_parameter + .long 20293 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4347:0x5 DW_TAG_formal_parameter + .long 20298 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x434d:0xe DW_TAG_subprogram + .long .Linfo_string15 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 86 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4355:0x5 DW_TAG_formal_parameter + .long 20293 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x435b:0x1b DW_TAG_subprogram + .long .Linfo_string285 @ DW_AT_linkage_name + .long .Linfo_string17 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 89 @ DW_AT_decl_line + .long 17270 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x436b:0x5 DW_TAG_formal_parameter + .long 20308 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4370:0x5 DW_TAG_formal_parameter + .long 17281 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x4376:0xb DW_TAG_typedef + .long 19007 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 63 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x4381:0xb DW_TAG_typedef + .long 20313 @ DW_AT_type + .long .Linfo_string18 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 65 @ DW_AT_decl_line + .byte 10 @ Abbrev [10] 0x438c:0x1b DW_TAG_subprogram + .long .Linfo_string286 @ DW_AT_linkage_name + .long .Linfo_string17 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 93 @ DW_AT_decl_line + .long 17319 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x439c:0x5 DW_TAG_formal_parameter + .long 20308 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x43a1:0x5 DW_TAG_formal_parameter + .long 17330 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x43a7:0xb DW_TAG_typedef + .long 18985 @ DW_AT_type + .long .Linfo_string20 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x43b2:0xb DW_TAG_typedef + .long 20318 @ DW_AT_type + .long .Linfo_string21 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 66 @ DW_AT_decl_line + .byte 10 @ Abbrev [10] 0x43bd:0x20 DW_TAG_subprogram + .long .Linfo_string287 @ DW_AT_linkage_name + .long .Linfo_string12 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 99 @ DW_AT_decl_line + .long 17270 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x43cd:0x5 DW_TAG_formal_parameter + .long 20293 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x43d2:0x5 DW_TAG_formal_parameter + .long 18354 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x43d7:0x5 DW_TAG_formal_parameter + .long 18372 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x43dd:0x1c DW_TAG_subprogram + .long .Linfo_string288 @ DW_AT_linkage_name + .long .Linfo_string27 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 109 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x43e9:0x5 DW_TAG_formal_parameter + .long 20293 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x43ee:0x5 DW_TAG_formal_parameter + .long 17270 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x43f3:0x5 DW_TAG_formal_parameter + .long 18354 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x43f9:0x16 DW_TAG_subprogram + .long .Linfo_string289 @ DW_AT_linkage_name + .long .Linfo_string29 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 113 @ DW_AT_decl_line + .long 18354 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4409:0x5 DW_TAG_formal_parameter + .long 20308 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x440f:0x9 DW_TAG_template_type_parameter + .long 18995 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 34 @ Abbrev [34] 0x4419:0x5 DW_TAG_class_type + .long .Linfo_string323 @ DW_AT_name + @ DW_AT_declaration + .byte 34 @ Abbrev [34] 0x441e:0x5 DW_TAG_class_type + .long .Linfo_string325 @ DW_AT_name + @ DW_AT_declaration + .byte 26 @ Abbrev [26] 0x4423:0xab DW_TAG_structure_type + .long .Linfo_string558 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 6 @ DW_AT_decl_file + .byte 50 @ DW_AT_decl_line + .byte 27 @ Abbrev [27] 0x442b:0x6 DW_TAG_inheritance + .long 13587 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 30 @ Abbrev [30] 0x4431:0x15 DW_TAG_subprogram + .long .Linfo_string551 @ DW_AT_linkage_name + .long .Linfo_string46 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 94 @ DW_AT_decl_line + .long 13790 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x4440:0x5 DW_TAG_formal_parameter + .long 21092 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4446:0x16 DW_TAG_subprogram + .long .Linfo_string552 @ DW_AT_linkage_name + .long .Linfo_string48 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 97 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x4451:0x5 DW_TAG_formal_parameter + .long 21112 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4456:0x5 DW_TAG_formal_parameter + .long 21112 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 58 @ Abbrev [58] 0x445c:0xf DW_TAG_subprogram + .long .Linfo_string553 @ DW_AT_linkage_name + .long .Linfo_string50 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 100 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x446b:0xf DW_TAG_subprogram + .long .Linfo_string554 @ DW_AT_linkage_name + .long .Linfo_string53 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 103 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x447a:0xf DW_TAG_subprogram + .long .Linfo_string555 @ DW_AT_linkage_name + .long .Linfo_string55 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 106 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x4489:0xf DW_TAG_subprogram + .long .Linfo_string556 @ DW_AT_linkage_name + .long .Linfo_string57 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 109 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 58 @ Abbrev [58] 0x4498:0xf DW_TAG_subprogram + .long .Linfo_string557 @ DW_AT_linkage_name + .long .Linfo_string59 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 112 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 25 @ Abbrev [25] 0x44a7:0x9 DW_TAG_template_type_parameter + .long 13790 @ DW_AT_type + .long .Linfo_string43 @ DW_AT_name + .byte 26 @ Abbrev [26] 0x44b0:0x1d DW_TAG_structure_type + .long .Linfo_string560 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 6 @ DW_AT_decl_file + .byte 116 @ DW_AT_decl_line + .byte 25 @ Abbrev [25] 0x44b8:0x9 DW_TAG_template_type_parameter + .long 13873 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 20 @ Abbrev [20] 0x44c1:0xb DW_TAG_typedef + .long 13772 @ DW_AT_type + .long .Linfo_string63 @ DW_AT_name + .byte 6 @ DW_AT_decl_file + .byte 117 @ DW_AT_decl_line + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 17 @ Abbrev [17] 0x44ce:0xf5 DW_TAG_class_type + .long .Linfo_string543 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 3 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .byte 6 @ Abbrev [6] 0x44d6:0xe DW_TAG_subprogram + .long .Linfo_string14 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 79 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x44de:0x5 DW_TAG_formal_parameter + .long 21047 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x44e4:0x13 DW_TAG_subprogram + .long .Linfo_string14 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 81 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x44ec:0x5 DW_TAG_formal_parameter + .long 21047 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x44f1:0x5 DW_TAG_formal_parameter + .long 21052 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x44f7:0xe DW_TAG_subprogram + .long .Linfo_string15 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 86 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x44ff:0x5 DW_TAG_formal_parameter + .long 21047 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x4505:0x1b DW_TAG_subprogram + .long .Linfo_string538 @ DW_AT_linkage_name + .long .Linfo_string17 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 89 @ DW_AT_decl_line + .long 17696 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4515:0x5 DW_TAG_formal_parameter + .long 21062 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x451a:0x5 DW_TAG_formal_parameter + .long 17707 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x4520:0xb DW_TAG_typedef + .long 21037 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 63 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x452b:0xb DW_TAG_typedef + .long 21067 @ DW_AT_type + .long .Linfo_string18 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 65 @ DW_AT_decl_line + .byte 10 @ Abbrev [10] 0x4536:0x1b DW_TAG_subprogram + .long .Linfo_string539 @ DW_AT_linkage_name + .long .Linfo_string17 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 93 @ DW_AT_decl_line + .long 17745 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4546:0x5 DW_TAG_formal_parameter + .long 21062 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x454b:0x5 DW_TAG_formal_parameter + .long 17756 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x4551:0xb DW_TAG_typedef + .long 21072 @ DW_AT_type + .long .Linfo_string20 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x455c:0xb DW_TAG_typedef + .long 21082 @ DW_AT_type + .long .Linfo_string21 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 66 @ DW_AT_decl_line + .byte 10 @ Abbrev [10] 0x4567:0x20 DW_TAG_subprogram + .long .Linfo_string540 @ DW_AT_linkage_name + .long .Linfo_string12 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 99 @ DW_AT_decl_line + .long 17696 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4577:0x5 DW_TAG_formal_parameter + .long 21047 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x457c:0x5 DW_TAG_formal_parameter + .long 18354 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4581:0x5 DW_TAG_formal_parameter + .long 18372 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x4587:0x1c DW_TAG_subprogram + .long .Linfo_string541 @ DW_AT_linkage_name + .long .Linfo_string27 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 109 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4593:0x5 DW_TAG_formal_parameter + .long 21047 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4598:0x5 DW_TAG_formal_parameter + .long 17696 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x459d:0x5 DW_TAG_formal_parameter + .long 18354 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x45a3:0x16 DW_TAG_subprogram + .long .Linfo_string542 @ DW_AT_linkage_name + .long .Linfo_string29 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 113 @ DW_AT_decl_line + .long 18354 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x45b3:0x5 DW_TAG_formal_parameter + .long 21062 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x45b9:0x9 DW_TAG_template_type_parameter + .long 13785 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 17 @ Abbrev [17] 0x45c3:0xf5 DW_TAG_class_type + .long .Linfo_string566 @ DW_AT_name + .byte 1 @ DW_AT_byte_size + .byte 3 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .byte 6 @ Abbrev [6] 0x45cb:0xe DW_TAG_subprogram + .long .Linfo_string14 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 79 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x45d3:0x5 DW_TAG_formal_parameter + .long 21117 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x45d9:0x13 DW_TAG_subprogram + .long .Linfo_string14 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 81 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x45e1:0x5 DW_TAG_formal_parameter + .long 21117 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x45e6:0x5 DW_TAG_formal_parameter + .long 21122 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x45ec:0xe DW_TAG_subprogram + .long .Linfo_string15 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 86 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x45f4:0x5 DW_TAG_formal_parameter + .long 21117 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x45fa:0x1b DW_TAG_subprogram + .long .Linfo_string561 @ DW_AT_linkage_name + .long .Linfo_string17 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 89 @ DW_AT_decl_line + .long 17941 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x460a:0x5 DW_TAG_formal_parameter + .long 21137 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x460f:0x5 DW_TAG_formal_parameter + .long 17952 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x4615:0xb DW_TAG_typedef + .long 21132 @ DW_AT_type + .long .Linfo_string13 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 63 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x4620:0xb DW_TAG_typedef + .long 21142 @ DW_AT_type + .long .Linfo_string18 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 65 @ DW_AT_decl_line + .byte 10 @ Abbrev [10] 0x462b:0x1b DW_TAG_subprogram + .long .Linfo_string562 @ DW_AT_linkage_name + .long .Linfo_string17 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 93 @ DW_AT_decl_line + .long 17990 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x463b:0x5 DW_TAG_formal_parameter + .long 21137 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4640:0x5 DW_TAG_formal_parameter + .long 18001 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x4646:0xb DW_TAG_typedef + .long 21147 @ DW_AT_type + .long .Linfo_string20 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x4651:0xb DW_TAG_typedef + .long 21157 @ DW_AT_type + .long .Linfo_string21 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 66 @ DW_AT_decl_line + .byte 10 @ Abbrev [10] 0x465c:0x20 DW_TAG_subprogram + .long .Linfo_string563 @ DW_AT_linkage_name + .long .Linfo_string12 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 99 @ DW_AT_decl_line + .long 17941 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x466c:0x5 DW_TAG_formal_parameter + .long 21117 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4671:0x5 DW_TAG_formal_parameter + .long 18354 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4676:0x5 DW_TAG_formal_parameter + .long 18372 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x467c:0x1c DW_TAG_subprogram + .long .Linfo_string564 @ DW_AT_linkage_name + .long .Linfo_string27 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 109 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4688:0x5 DW_TAG_formal_parameter + .long 21117 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x468d:0x5 DW_TAG_formal_parameter + .long 17941 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4692:0x5 DW_TAG_formal_parameter + .long 18354 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x4698:0x16 DW_TAG_subprogram + .long .Linfo_string565 @ DW_AT_linkage_name + .long .Linfo_string29 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 113 @ DW_AT_decl_line + .long 18354 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x46a8:0x5 DW_TAG_formal_parameter + .long 21137 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 25 @ Abbrev [25] 0x46ae:0x9 DW_TAG_template_type_parameter + .long 13873 @ DW_AT_type + .long .Linfo_string30 @ DW_AT_name + .byte 0 @ End Of Children Mark + .byte 51 @ Abbrev [51] 0x46b8:0x1b DW_TAG_enumeration_type + .long .Linfo_string857 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 23 @ DW_AT_decl_file + .byte 49 @ DW_AT_decl_line + .byte 52 @ Abbrev [52] 0x46c0:0x6 DW_TAG_enumerator + .long .Linfo_string854 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 52 @ Abbrev [52] 0x46c6:0x6 DW_TAG_enumerator + .long .Linfo_string855 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 52 @ Abbrev [52] 0x46cc:0x6 DW_TAG_enumerator + .long .Linfo_string856 @ DW_AT_name + .byte 2 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 54 @ Abbrev [54] 0x46d3:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 220 @ DW_AT_decl_line + .long 22843 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x46da:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 226 @ DW_AT_decl_line + .long 22890 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x46e1:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 230 @ DW_AT_decl_line + .long 22904 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x46e8:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 236 @ DW_AT_decl_line + .long 22922 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x46ef:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 247 @ DW_AT_decl_line + .long 22945 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x46f6:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 248 @ DW_AT_decl_line + .long 22962 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x46fd:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 249 @ DW_AT_decl_line + .long 22989 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4704:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 251 @ DW_AT_decl_line + .long 23016 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x470b:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 252 @ DW_AT_decl_line + .long 23038 @ DW_AT_import + .byte 30 @ Abbrev [30] 0x4712:0x1a DW_TAG_subprogram + .long .Linfo_string912 @ DW_AT_linkage_name + .long .Linfo_string878 @ DW_AT_name + .byte 29 @ DW_AT_decl_file + .byte 233 @ DW_AT_decl_line + .long 22843 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x4721:0x5 DW_TAG_formal_parameter + .long 22883 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4726:0x5 DW_TAG_formal_parameter + .long 22883 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 54 @ Abbrev [54] 0x472c:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 44 @ DW_AT_decl_line + .long 3010 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4733:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 45 @ DW_AT_decl_line + .long 15333 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x473a:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 248 @ DW_AT_decl_line + .long 25432 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x4741:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 257 @ DW_AT_decl_line + .long 25455 @ DW_AT_import + .byte 55 @ Abbrev [55] 0x4749:0x8 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .short 258 @ DW_AT_decl_line + .long 25483 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4751:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 175 @ DW_AT_decl_line + .long 27040 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4758:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 176 @ DW_AT_decl_line + .long 27069 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x475f:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 177 @ DW_AT_decl_line + .long 27097 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x4766:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 178 @ DW_AT_decl_line + .long 27120 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x476d:0x7 DW_TAG_imported_declaration + .byte 1 @ DW_AT_decl_file + .byte 179 @ DW_AT_decl_line + .long 27153 @ DW_AT_import + .byte 59 @ Abbrev [59] 0x4774:0xb DW_TAG_variable + .long .Linfo_string1139 @ DW_AT_name + .long 27181 @ DW_AT_type + .byte 23 @ DW_AT_decl_file + .byte 53 @ DW_AT_decl_line + @ DW_AT_declaration + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x4780:0x5 DW_TAG_pointer_type + .long 343 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4785:0x5 DW_TAG_reference_type + .long 2765 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x478a:0x5 DW_TAG_pointer_type + .long 16718 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x478f:0x5 DW_TAG_reference_type + .long 18324 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4794:0x5 DW_TAG_const_type + .long 16718 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4799:0x5 DW_TAG_pointer_type + .long 18324 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x479e:0x5 DW_TAG_reference_type + .long 343 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x47a3:0x5 DW_TAG_pointer_type + .long 18344 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x47a8:0x5 DW_TAG_const_type + .long 343 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x47ad:0x5 DW_TAG_reference_type + .long 18344 @ DW_AT_type + .byte 20 @ Abbrev [20] 0x47b2:0xb DW_TAG_typedef + .long 3010 @ DW_AT_type + .long .Linfo_string25 @ DW_AT_name + .byte 3 @ DW_AT_decl_file + .byte 61 @ DW_AT_decl_line + .byte 15 @ Abbrev [15] 0x47bd:0x7 DW_TAG_base_type + .long .Linfo_string23 @ DW_AT_name + .byte 7 @ DW_AT_encoding + .byte 4 @ DW_AT_byte_size + .byte 12 @ Abbrev [12] 0x47c4:0x5 DW_TAG_pointer_type + .long 18377 @ DW_AT_type + .byte 62 @ Abbrev [62] 0x47c9:0x1 DW_TAG_const_type + .byte 12 @ Abbrev [12] 0x47ca:0x5 DW_TAG_pointer_type + .long 2927 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x47cf:0x5 DW_TAG_reference_type + .long 18388 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x47d4:0x5 DW_TAG_const_type + .long 2927 @ DW_AT_type + .byte 33 @ Abbrev [33] 0x47d9:0xc DW_TAG_typedef + .long 3010 @ DW_AT_type + .long .Linfo_string25 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 407 @ DW_AT_decl_line + .byte 33 @ Abbrev [33] 0x47e5:0xc DW_TAG_typedef + .long 18372 @ DW_AT_type + .long .Linfo_string38 @ DW_AT_name + .byte 2 @ DW_AT_decl_file + .short 401 @ DW_AT_decl_line + .byte 60 @ Abbrev [60] 0x47f1:0x5 DW_TAG_reference_type + .long 18422 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x47f6:0x5 DW_TAG_const_type + .long 2765 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x47fb:0x5 DW_TAG_reference_type + .long 2927 @ DW_AT_type + .byte 15 @ Abbrev [15] 0x4800:0x7 DW_TAG_base_type + .long .Linfo_string51 @ DW_AT_name + .byte 2 @ DW_AT_encoding + .byte 1 @ DW_AT_byte_size + .byte 12 @ Abbrev [12] 0x4807:0x5 DW_TAG_pointer_type + .long 2260 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x480c:0x5 DW_TAG_reference_type + .long 18449 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4811:0x5 DW_TAG_const_type + .long 2382 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x4816:0x5 DW_TAG_rvalue_reference_type + .long 2382 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x481b:0x5 DW_TAG_reference_type + .long 2260 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4820:0x5 DW_TAG_reference_type + .long 2382 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4825:0x5 DW_TAG_pointer_type + .long 2240 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x482a:0x5 DW_TAG_pointer_type + .long 18479 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x482f:0x5 DW_TAG_const_type + .long 2240 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4834:0x5 DW_TAG_reference_type + .long 18489 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4839:0x5 DW_TAG_const_type + .long 2467 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x483e:0x5 DW_TAG_rvalue_reference_type + .long 2240 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4843:0x5 DW_TAG_pointer_type + .long 357 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4848:0x5 DW_TAG_reference_type + .long 18509 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x484d:0x5 DW_TAG_const_type + .long 406 @ DW_AT_type + .byte 20 @ Abbrev [20] 0x4852:0xb DW_TAG_typedef + .long 3010 @ DW_AT_type + .long .Linfo_string25 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .byte 238 @ DW_AT_decl_line + .byte 60 @ Abbrev [60] 0x485d:0x5 DW_TAG_reference_type + .long 18530 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4862:0x5 DW_TAG_const_type + .long 472 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4867:0x5 DW_TAG_reference_type + .long 18540 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x486c:0x5 DW_TAG_const_type + .long 357 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x4871:0x5 DW_TAG_rvalue_reference_type + .long 357 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4876:0x5 DW_TAG_reference_type + .long 357 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x487b:0x5 DW_TAG_pointer_type + .long 18540 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4880:0x5 DW_TAG_reference_type + .long 16695 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4885:0x5 DW_TAG_reference_type + .long 18570 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x488a:0x5 DW_TAG_const_type + .long 16695 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x488f:0x5 DW_TAG_rvalue_reference_type + .long 472 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4894:0x5 DW_TAG_pointer_type + .long 18585 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4899:0x5 DW_TAG_const_type + .long 18590 @ DW_AT_type + .byte 15 @ Abbrev [15] 0x489e:0x7 DW_TAG_base_type + .long .Linfo_string186 @ DW_AT_name + .byte 8 @ DW_AT_encoding + .byte 1 @ DW_AT_byte_size + .byte 61 @ Abbrev [61] 0x48a5:0x5 DW_TAG_const_type + .long 18432 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x48aa:0x5 DW_TAG_pointer_type + .long 18607 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x48af:0x5 DW_TAG_const_type + .long 3047 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x48b4:0x5 DW_TAG_pointer_type + .long 18617 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x48b9:0x5 DW_TAG_const_type + .long 3130 @ DW_AT_type + .byte 20 @ Abbrev [20] 0x48be:0xb DW_TAG_typedef + .long 18633 @ DW_AT_type + .long .Linfo_string210 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .byte 15 @ Abbrev [15] 0x48c9:0x7 DW_TAG_base_type + .long .Linfo_string209 @ DW_AT_name + .byte 7 @ DW_AT_encoding + .byte 8 @ DW_AT_byte_size + .byte 12 @ Abbrev [12] 0x48d0:0x5 DW_TAG_pointer_type + .long 58 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x48d5:0x5 DW_TAG_pointer_type + .long 18650 @ DW_AT_type + .byte 33 @ Abbrev [33] 0x48da:0xc DW_TAG_typedef + .long 18662 @ DW_AT_type + .long .Linfo_string240 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 419 @ DW_AT_decl_line + .byte 64 @ Abbrev [64] 0x48e6:0x13e DW_TAG_structure_type + .short 352 @ DW_AT_byte_size + .byte 11 @ DW_AT_decl_file + .byte 229 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x48eb:0xc DW_TAG_member + .long .Linfo_string213 @ DW_AT_name + .long 18980 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .byte 247 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x48f7:0xd DW_TAG_member + .long .Linfo_string215 @ DW_AT_name + .long 19002 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 262 @ DW_AT_decl_line + .byte 4 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x4904:0xd DW_TAG_member + .long .Linfo_string216 @ DW_AT_name + .long 18980 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 281 @ DW_AT_decl_line + .byte 8 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x4911:0xd DW_TAG_member + .long .Linfo_string217 @ DW_AT_name + .long 19002 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 296 @ DW_AT_decl_line + .byte 12 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x491e:0xd DW_TAG_member + .long .Linfo_string218 @ DW_AT_name + .long 19012 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 306 @ DW_AT_decl_line + .byte 16 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x492b:0xd DW_TAG_member + .long .Linfo_string220 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 320 @ DW_AT_decl_line + .byte 20 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x4938:0xd DW_TAG_member + .long .Linfo_string221 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 322 @ DW_AT_decl_line + .byte 24 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x4945:0xd DW_TAG_member + .long .Linfo_string222 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 324 @ DW_AT_decl_line + .byte 28 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x4952:0xd DW_TAG_member + .long .Linfo_string223 @ DW_AT_name + .long 18990 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 326 @ DW_AT_decl_line + .byte 32 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x495f:0xd DW_TAG_member + .long .Linfo_string224 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 339 @ DW_AT_decl_line + .byte 36 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x496c:0xd DW_TAG_member + .long .Linfo_string225 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 344 @ DW_AT_decl_line + .byte 40 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x4979:0xd DW_TAG_member + .long .Linfo_string226 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 349 @ DW_AT_decl_line + .byte 44 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x4986:0xd DW_TAG_member + .long .Linfo_string227 @ DW_AT_name + .long 18990 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 360 @ DW_AT_decl_line + .byte 48 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x4993:0xd DW_TAG_member + .long .Linfo_string228 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 363 @ DW_AT_decl_line + .byte 52 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x49a0:0xd DW_TAG_member + .long .Linfo_string229 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 367 @ DW_AT_decl_line + .byte 56 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x49ad:0xd DW_TAG_member + .long .Linfo_string230 @ DW_AT_name + .long 18990 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 369 @ DW_AT_decl_line + .byte 60 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x49ba:0xd DW_TAG_member + .long .Linfo_string231 @ DW_AT_name + .long 19038 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 377 @ DW_AT_decl_line + .byte 64 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x49c7:0xd DW_TAG_member + .long .Linfo_string232 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 383 @ DW_AT_decl_line + .byte 72 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x49d4:0xd DW_TAG_member + .long .Linfo_string233 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 389 @ DW_AT_decl_line + .byte 76 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x49e1:0xd DW_TAG_member + .long .Linfo_string234 @ DW_AT_name + .long 18980 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 396 @ DW_AT_decl_line + .byte 80 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x49ee:0xd DW_TAG_member + .long .Linfo_string235 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 402 @ DW_AT_decl_line + .byte 84 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x49fb:0xd DW_TAG_member + .long .Linfo_string236 @ DW_AT_name + .long 19033 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 412 @ DW_AT_decl_line + .byte 88 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x4a08:0xd DW_TAG_member + .long .Linfo_string237 @ DW_AT_name + .long 19043 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 415 @ DW_AT_decl_line + .byte 92 @ DW_AT_data_member_location + .byte 65 @ Abbrev [65] 0x4a15:0xe DW_TAG_member + .long .Linfo_string239 @ DW_AT_name + .long 19063 @ DW_AT_type + .byte 11 @ DW_AT_decl_file + .short 418 @ DW_AT_decl_line + .short 348 @ DW_AT_data_member_location + .byte 0 @ End Of Children Mark + .byte 61 @ Abbrev [61] 0x4a24:0x5 DW_TAG_const_type + .long 18985 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4a29:0x5 DW_TAG_pointer_type + .long 18990 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4a2e:0x5 DW_TAG_const_type + .long 18995 @ DW_AT_type + .byte 15 @ Abbrev [15] 0x4a33:0x7 DW_TAG_base_type + .long .Linfo_string214 @ DW_AT_name + .byte 4 @ DW_AT_encoding + .byte 4 @ DW_AT_byte_size + .byte 61 @ Abbrev [61] 0x4a3a:0x5 DW_TAG_const_type + .long 19007 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4a3f:0x5 DW_TAG_pointer_type + .long 18995 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4a44:0x5 DW_TAG_const_type + .long 19017 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4a49:0x5 DW_TAG_pointer_type + .long 19022 @ DW_AT_type + .byte 20 @ Abbrev [20] 0x4a4e:0xb DW_TAG_typedef + .long 18365 @ DW_AT_type + .long .Linfo_string219 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 51 @ DW_AT_decl_line + .byte 61 @ Abbrev [61] 0x4a59:0x5 DW_TAG_const_type + .long 19022 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4a5e:0x5 DW_TAG_const_type + .long 18622 @ DW_AT_type + .byte 66 @ Abbrev [66] 0x4a63:0xd DW_TAG_array_type + .long 18590 @ DW_AT_type + .byte 67 @ Abbrev [67] 0x4a68:0x7 DW_TAG_subrange_type + .long 19056 @ DW_AT_type + .short 256 @ DW_AT_count + .byte 0 @ End Of Children Mark + .byte 68 @ Abbrev [68] 0x4a70:0x7 DW_TAG_base_type + .long .Linfo_string238 @ DW_AT_name + .byte 8 @ DW_AT_byte_size + .byte 7 @ DW_AT_encoding + .byte 61 @ Abbrev [61] 0x4a77:0x5 DW_TAG_const_type + .long 18365 @ DW_AT_type + .byte 2 @ Abbrev [2] 0x4a7c:0x11 DW_TAG_variable + .long .Linfo_string250 @ DW_AT_name + .long 19085 @ DW_AT_type + @ DW_AT_external + .byte 12 @ DW_AT_decl_file + .byte 54 @ DW_AT_decl_line + .byte 5 @ DW_AT_location + .byte 3 + .long scope + .byte 17 @ Abbrev [17] 0x4a8d:0x4ae DW_TAG_class_type + .long .Linfo_string800 @ DW_AT_name + .byte 212 @ DW_AT_byte_size + .byte 13 @ DW_AT_decl_file + .byte 23 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x4a95:0xc DW_TAG_member + .long .Linfo_string251 @ DW_AT_name + .long 20283 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 106 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4aa1:0xc DW_TAG_member + .long .Linfo_string252 @ DW_AT_name + .long 20283 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 107 @ DW_AT_decl_line + .byte 1 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4aad:0xc DW_TAG_member + .long .Linfo_string253 @ DW_AT_name + .long 20283 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 108 @ DW_AT_decl_line + .byte 2 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4ab9:0xc DW_TAG_member + .long .Linfo_string254 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 111 @ DW_AT_decl_line + .byte 4 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4ac5:0xc DW_TAG_member + .long .Linfo_string255 @ DW_AT_name + .long 18995 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 112 @ DW_AT_decl_line + .byte 8 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4ad1:0xc DW_TAG_member + .long .Linfo_string256 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 113 @ DW_AT_decl_line + .byte 12 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4add:0xc DW_TAG_member + .long .Linfo_string257 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 114 @ DW_AT_decl_line + .byte 16 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4ae9:0xc DW_TAG_member + .long .Linfo_string258 @ DW_AT_name + .long 19189 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 115 @ DW_AT_decl_line + .byte 20 @ DW_AT_data_member_location + .byte 20 @ Abbrev [20] 0x4af5:0xb DW_TAG_typedef + .long 19200 @ DW_AT_type + .long .Linfo_string261 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 90 @ DW_AT_decl_line + .byte 69 @ Abbrev [69] 0x4b00:0x11 DW_TAG_enumeration_type + .byte 4 @ DW_AT_byte_size + .byte 13 @ DW_AT_decl_file + .byte 87 @ DW_AT_decl_line + .byte 52 @ Abbrev [52] 0x4b04:0x6 DW_TAG_enumerator + .long .Linfo_string259 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 52 @ Abbrev [52] 0x4b0a:0x6 DW_TAG_enumerator + .long .Linfo_string260 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 5 @ Abbrev [5] 0x4b11:0xc DW_TAG_member + .long .Linfo_string262 @ DW_AT_name + .long 19229 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 116 @ DW_AT_decl_line + .byte 24 @ DW_AT_data_member_location + .byte 20 @ Abbrev [20] 0x4b1d:0xb DW_TAG_typedef + .long 19240 @ DW_AT_type + .long .Linfo_string266 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 29 @ DW_AT_decl_line + .byte 69 @ Abbrev [69] 0x4b28:0x17 DW_TAG_enumeration_type + .byte 4 @ DW_AT_byte_size + .byte 13 @ DW_AT_decl_file + .byte 25 @ DW_AT_decl_line + .byte 52 @ Abbrev [52] 0x4b2c:0x6 DW_TAG_enumerator + .long .Linfo_string263 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 52 @ Abbrev [52] 0x4b32:0x6 DW_TAG_enumerator + .long .Linfo_string264 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 52 @ Abbrev [52] 0x4b38:0x6 DW_TAG_enumerator + .long .Linfo_string265 @ DW_AT_name + .byte 2 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 5 @ Abbrev [5] 0x4b3f:0xc DW_TAG_member + .long .Linfo_string267 @ DW_AT_name + .long 18365 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 117 @ DW_AT_decl_line + .byte 28 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4b4b:0xc DW_TAG_member + .long .Linfo_string268 @ DW_AT_name + .long 19287 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 118 @ DW_AT_decl_line + .byte 32 @ DW_AT_data_member_location + .byte 20 @ Abbrev [20] 0x4b57:0xb DW_TAG_typedef + .long 19298 @ DW_AT_type + .long .Linfo_string272 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 34 @ DW_AT_decl_line + .byte 69 @ Abbrev [69] 0x4b62:0x17 DW_TAG_enumeration_type + .byte 4 @ DW_AT_byte_size + .byte 13 @ DW_AT_decl_file + .byte 30 @ DW_AT_decl_line + .byte 52 @ Abbrev [52] 0x4b66:0x6 DW_TAG_enumerator + .long .Linfo_string269 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 52 @ Abbrev [52] 0x4b6c:0x6 DW_TAG_enumerator + .long .Linfo_string270 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 52 @ Abbrev [52] 0x4b72:0x6 DW_TAG_enumerator + .long .Linfo_string271 @ DW_AT_name + .byte 2 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 5 @ Abbrev [5] 0x4b79:0xc DW_TAG_member + .long .Linfo_string273 @ DW_AT_name + .long 18995 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 119 @ DW_AT_decl_line + .byte 36 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4b85:0xc DW_TAG_member + .long .Linfo_string274 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 120 @ DW_AT_decl_line + .byte 40 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4b91:0xc DW_TAG_member + .long .Linfo_string275 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 121 @ DW_AT_decl_line + .byte 44 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4b9d:0xc DW_TAG_member + .long .Linfo_string276 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 122 @ DW_AT_decl_line + .byte 48 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4ba9:0xc DW_TAG_member + .long .Linfo_string277 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 123 @ DW_AT_decl_line + .byte 52 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4bb5:0xc DW_TAG_member + .long .Linfo_string278 @ DW_AT_name + .long 18995 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 124 @ DW_AT_decl_line + .byte 56 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4bc1:0xc DW_TAG_member + .long .Linfo_string279 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 126 @ DW_AT_decl_line + .byte 60 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4bcd:0xc DW_TAG_member + .long .Linfo_string280 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 128 @ DW_AT_decl_line + .byte 64 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4bd9:0xc DW_TAG_member + .long .Linfo_string281 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 129 @ DW_AT_decl_line + .byte 68 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4be5:0xc DW_TAG_member + .long .Linfo_string282 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 130 @ DW_AT_decl_line + .byte 72 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4bf1:0xc DW_TAG_member + .long .Linfo_string283 @ DW_AT_name + .long 3202 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 133 @ DW_AT_decl_line + .byte 76 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4bfd:0xc DW_TAG_member + .long .Linfo_string381 @ DW_AT_name + .long 3202 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 134 @ DW_AT_decl_line + .byte 88 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c09:0xc DW_TAG_member + .long .Linfo_string382 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 137 @ DW_AT_decl_line + .byte 100 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c15:0xc DW_TAG_member + .long .Linfo_string383 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 138 @ DW_AT_decl_line + .byte 104 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c21:0xc DW_TAG_member + .long .Linfo_string384 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 139 @ DW_AT_decl_line + .byte 108 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c2d:0xc DW_TAG_member + .long .Linfo_string385 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 140 @ DW_AT_decl_line + .byte 112 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c39:0xc DW_TAG_member + .long .Linfo_string386 @ DW_AT_name + .long 18432 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 143 @ DW_AT_decl_line + .byte 116 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c45:0xc DW_TAG_member + .long .Linfo_string387 @ DW_AT_name + .long 18432 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 144 @ DW_AT_decl_line + .byte 117 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c51:0xc DW_TAG_member + .long .Linfo_string388 @ DW_AT_name + .long 18432 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 145 @ DW_AT_decl_line + .byte 118 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c5d:0xc DW_TAG_member + .long .Linfo_string389 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 146 @ DW_AT_decl_line + .byte 120 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c69:0xc DW_TAG_member + .long .Linfo_string390 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 147 @ DW_AT_decl_line + .byte 124 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c75:0xc DW_TAG_member + .long .Linfo_string391 @ DW_AT_name + .long 18432 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 148 @ DW_AT_decl_line + .byte 128 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c81:0xc DW_TAG_member + .long .Linfo_string392 @ DW_AT_name + .long 18432 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 149 @ DW_AT_decl_line + .byte 129 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c8d:0xc DW_TAG_member + .long .Linfo_string393 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 152 @ DW_AT_decl_line + .byte 132 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4c99:0xc DW_TAG_member + .long .Linfo_string394 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 153 @ DW_AT_decl_line + .byte 136 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4ca5:0xc DW_TAG_member + .long .Linfo_string395 @ DW_AT_name + .long 18995 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 154 @ DW_AT_decl_line + .byte 140 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4cb1:0xc DW_TAG_member + .long .Linfo_string396 @ DW_AT_name + .long 18995 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 155 @ DW_AT_decl_line + .byte 144 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4cbd:0xc DW_TAG_member + .long .Linfo_string397 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 156 @ DW_AT_decl_line + .byte 148 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4cc9:0xc DW_TAG_member + .long .Linfo_string398 @ DW_AT_name + .long 18432 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 157 @ DW_AT_decl_line + .byte 152 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4cd5:0xc DW_TAG_member + .long .Linfo_string399 @ DW_AT_name + .long 19007 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 158 @ DW_AT_decl_line + .byte 156 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4ce1:0xc DW_TAG_member + .long .Linfo_string400 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 159 @ DW_AT_decl_line + .byte 160 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4ced:0xc DW_TAG_member + .long .Linfo_string401 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 160 @ DW_AT_decl_line + .byte 164 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4cf9:0xc DW_TAG_member + .long .Linfo_string402 @ DW_AT_name + .long 20483 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 162 @ DW_AT_decl_line + .byte 168 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4d05:0xc DW_TAG_member + .long .Linfo_string404 @ DW_AT_name + .long 20483 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 163 @ DW_AT_decl_line + .byte 172 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4d11:0xc DW_TAG_member + .long .Linfo_string405 @ DW_AT_name + .long 20501 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 164 @ DW_AT_decl_line + .byte 176 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4d1d:0xc DW_TAG_member + .long .Linfo_string408 @ DW_AT_name + .long 5870 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 166 @ DW_AT_decl_line + .byte 180 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4d29:0xc DW_TAG_member + .long .Linfo_string491 @ DW_AT_name + .long 7712 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 171 @ DW_AT_decl_line + .byte 184 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x4d35:0xc DW_TAG_member + .long .Linfo_string535 @ DW_AT_name + .long 9455 @ DW_AT_type + .byte 13 @ DW_AT_decl_file + .byte 173 @ DW_AT_decl_line + .byte 188 @ DW_AT_data_member_location + .byte 6 @ Abbrev [6] 0x4d41:0xe DW_TAG_subprogram + .long .Linfo_string800 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 36 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4d49:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x4d4f:0x18 DW_TAG_subprogram + .long .Linfo_string800 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 37 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4d57:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4d5c:0x5 DW_TAG_formal_parameter + .long 18365 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4d61:0x5 DW_TAG_formal_parameter + .long 18995 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 6 @ Abbrev [6] 0x4d67:0xe DW_TAG_subprogram + .long .Linfo_string801 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 38 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4d6f:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x4d75:0x1c DW_TAG_subprogram + .long .Linfo_string802 @ DW_AT_linkage_name + .long .Linfo_string242 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 51 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4d81:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4d86:0x5 DW_TAG_formal_parameter + .long 18365 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4d8b:0x5 DW_TAG_formal_parameter + .long 18995 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x4d91:0x12 DW_TAG_subprogram + .long .Linfo_string803 @ DW_AT_linkage_name + .long .Linfo_string248 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 53 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4d9d:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x4da3:0x18 DW_TAG_subprogram + .long .Linfo_string804 @ DW_AT_linkage_name + .long .Linfo_string805 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 61 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4daf:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4db4:0x5 DW_TAG_formal_parameter + .long 21473 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x4db9:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x4dbb:0x17 DW_TAG_subprogram + .long .Linfo_string807 @ DW_AT_linkage_name + .long .Linfo_string805 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 71 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4dc7:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4dcc:0x5 DW_TAG_formal_parameter + .long 18985 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 10 @ Abbrev [10] 0x4dd2:0x16 DW_TAG_subprogram + .long .Linfo_string808 @ DW_AT_linkage_name + .long .Linfo_string809 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 79 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4de2:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 9 @ Abbrev [9] 0x4de8:0x26 DW_TAG_subprogram + .long .Linfo_string810 @ DW_AT_linkage_name + .long .Linfo_string811 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 84 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 1 @ DW_AT_accessibility + @ DW_ACCESS_public + .byte 7 @ Abbrev [7] 0x4df4:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4df9:0x5 DW_TAG_formal_parameter + .long 19229 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4dfe:0x5 DW_TAG_formal_parameter + .long 18365 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4e03:0x5 DW_TAG_formal_parameter + .long 19287 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4e08:0x5 DW_TAG_formal_parameter + .long 18995 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4e0e:0x11 DW_TAG_subprogram + .long .Linfo_string812 @ DW_AT_linkage_name + .long .Linfo_string813 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 91 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4e19:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4e1f:0x11 DW_TAG_subprogram + .long .Linfo_string814 @ DW_AT_linkage_name + .long .Linfo_string815 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 92 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4e2a:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4e30:0x11 DW_TAG_subprogram + .long .Linfo_string816 @ DW_AT_linkage_name + .long .Linfo_string817 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 93 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4e3b:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4e41:0x11 DW_TAG_subprogram + .long .Linfo_string818 @ DW_AT_linkage_name + .long .Linfo_string819 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 94 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4e4c:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4e52:0x11 DW_TAG_subprogram + .long .Linfo_string820 @ DW_AT_linkage_name + .long .Linfo_string821 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 95 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4e5d:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x4e63:0x15 DW_TAG_subprogram + .long .Linfo_string822 @ DW_AT_linkage_name + .long .Linfo_string823 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 96 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4e72:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 30 @ Abbrev [30] 0x4e78:0x15 DW_TAG_subprogram + .long .Linfo_string824 @ DW_AT_linkage_name + .long .Linfo_string825 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 97 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4e87:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4e8d:0x11 DW_TAG_subprogram + .long .Linfo_string826 @ DW_AT_linkage_name + .long .Linfo_string827 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 98 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4e98:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4e9e:0x11 DW_TAG_subprogram + .long .Linfo_string828 @ DW_AT_linkage_name + .long .Linfo_string829 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 99 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4ea9:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4eaf:0x11 DW_TAG_subprogram + .long .Linfo_string830 @ DW_AT_linkage_name + .long .Linfo_string831 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 100 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4eba:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4ec0:0x11 DW_TAG_subprogram + .long .Linfo_string832 @ DW_AT_linkage_name + .long .Linfo_string833 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 101 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4ecb:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4ed1:0x11 DW_TAG_subprogram + .long .Linfo_string834 @ DW_AT_linkage_name + .long .Linfo_string835 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 102 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4edc:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4ee2:0x16 DW_TAG_subprogram + .long .Linfo_string836 @ DW_AT_linkage_name + .long .Linfo_string837 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 103 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4eed:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4ef2:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4ef8:0x16 DW_TAG_subprogram + .long .Linfo_string838 @ DW_AT_linkage_name + .long .Linfo_string839 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 104 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4f03:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4f08:0x5 DW_TAG_formal_parameter + .long 21480 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4f0e:0x11 DW_TAG_subprogram + .long .Linfo_string841 @ DW_AT_linkage_name + .long .Linfo_string842 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 167 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4f19:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 29 @ Abbrev [29] 0x4f1f:0x1b DW_TAG_subprogram + .long .Linfo_string843 @ DW_AT_linkage_name + .long .Linfo_string844 @ DW_AT_name + .byte 13 @ DW_AT_decl_file + .byte 169 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 7 @ Abbrev [7] 0x4f2a:0x5 DW_TAG_formal_parameter + .long 21468 @ DW_AT_type + @ DW_AT_artificial + .byte 8 @ Abbrev [8] 0x4f2f:0x5 DW_TAG_formal_parameter + .long 14067 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x4f34:0x5 DW_TAG_formal_parameter + .long 18995 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 71 @ Abbrev [71] 0x4f3b:0x5 DW_TAG_volatile_type + .long 18432 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4f40:0x5 DW_TAG_reference_type + .long 5610 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4f45:0x5 DW_TAG_pointer_type + .long 17188 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4f4a:0x5 DW_TAG_reference_type + .long 20303 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4f4f:0x5 DW_TAG_const_type + .long 17188 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4f54:0x5 DW_TAG_pointer_type + .long 20303 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4f59:0x5 DW_TAG_reference_type + .long 18995 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4f5e:0x5 DW_TAG_reference_type + .long 18990 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4f63:0x5 DW_TAG_pointer_type + .long 5772 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4f68:0x5 DW_TAG_reference_type + .long 20333 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4f6d:0x5 DW_TAG_const_type + .long 5772 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4f72:0x5 DW_TAG_reference_type + .long 20343 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4f77:0x5 DW_TAG_const_type + .long 5610 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4f7c:0x5 DW_TAG_reference_type + .long 5772 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4f81:0x5 DW_TAG_pointer_type + .long 5105 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4f86:0x5 DW_TAG_reference_type + .long 20363 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4f8b:0x5 DW_TAG_const_type + .long 5227 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x4f90:0x5 DW_TAG_rvalue_reference_type + .long 5227 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4f95:0x5 DW_TAG_reference_type + .long 5105 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4f9a:0x5 DW_TAG_reference_type + .long 5227 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4f9f:0x5 DW_TAG_pointer_type + .long 5085 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4fa4:0x5 DW_TAG_pointer_type + .long 20393 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4fa9:0x5 DW_TAG_const_type + .long 5085 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4fae:0x5 DW_TAG_reference_type + .long 20403 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4fb3:0x5 DW_TAG_const_type + .long 5312 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x4fb8:0x5 DW_TAG_rvalue_reference_type + .long 5085 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4fbd:0x5 DW_TAG_pointer_type + .long 3202 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4fc2:0x5 DW_TAG_reference_type + .long 20423 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4fc7:0x5 DW_TAG_const_type + .long 3251 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4fcc:0x5 DW_TAG_reference_type + .long 20433 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4fd1:0x5 DW_TAG_const_type + .long 3317 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4fd6:0x5 DW_TAG_reference_type + .long 20443 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4fdb:0x5 DW_TAG_const_type + .long 3202 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x4fe0:0x5 DW_TAG_rvalue_reference_type + .long 3202 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4fe5:0x5 DW_TAG_reference_type + .long 3202 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x4fea:0x5 DW_TAG_pointer_type + .long 20443 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4fef:0x5 DW_TAG_reference_type + .long 17165 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x4ff4:0x5 DW_TAG_reference_type + .long 20473 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x4ff9:0x5 DW_TAG_const_type + .long 17165 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x4ffe:0x5 DW_TAG_rvalue_reference_type + .long 3317 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5003:0x5 DW_TAG_pointer_type + .long 20488 @ DW_AT_type + .byte 20 @ Abbrev [20] 0x5008:0xb DW_TAG_typedef + .long 20499 @ DW_AT_type + .long .Linfo_string403 @ DW_AT_name + .byte 14 @ DW_AT_decl_file + .byte 230 @ DW_AT_decl_line + .byte 72 @ Abbrev [72] 0x5013:0x2 DW_TAG_structure_type + .byte 8 @ DW_AT_byte_size + @ DW_AT_declaration + .byte 33 @ Abbrev [33] 0x5015:0xc DW_TAG_typedef + .long 20513 @ DW_AT_type + .long .Linfo_string407 @ DW_AT_name + .byte 14 @ DW_AT_decl_file + .short 263 @ DW_AT_decl_line + .byte 12 @ Abbrev [12] 0x5021:0x5 DW_TAG_pointer_type + .long 20518 @ DW_AT_type + .byte 33 @ Abbrev [33] 0x5026:0xc DW_TAG_typedef + .long 20530 @ DW_AT_type + .long .Linfo_string406 @ DW_AT_name + .byte 14 @ DW_AT_decl_file + .short 258 @ DW_AT_decl_line + .byte 72 @ Abbrev [72] 0x5032:0x2 DW_TAG_structure_type + .byte 28 @ DW_AT_byte_size + @ DW_AT_declaration + .byte 12 @ Abbrev [12] 0x5034:0x5 DW_TAG_pointer_type + .long 7260 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5039:0x5 DW_TAG_pointer_type + .long 20542 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x503e:0x5 DW_TAG_const_type + .long 7260 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5043:0x5 DW_TAG_pointer_type + .long 20552 @ DW_AT_type + .byte 34 @ Abbrev [34] 0x5048:0x5 DW_TAG_class_type + .long .Linfo_string413 @ DW_AT_name + @ DW_AT_declaration + .byte 12 @ Abbrev [12] 0x504d:0x5 DW_TAG_pointer_type + .long 7084 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5052:0x5 DW_TAG_reference_type + .long 20542 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5057:0x5 DW_TAG_reference_type + .long 20572 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x505c:0x5 DW_TAG_const_type + .long 7084 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x5061:0x5 DW_TAG_rvalue_reference_type + .long 7084 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5066:0x5 DW_TAG_pointer_type + .long 7313 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x506b:0x5 DW_TAG_pointer_type + .long 7361 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5070:0x5 DW_TAG_reference_type + .long 7260 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5075:0x5 DW_TAG_reference_type + .long 7084 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x507a:0x5 DW_TAG_reference_type + .long 6853 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x507f:0x5 DW_TAG_reference_type + .long 20612 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5084:0x5 DW_TAG_const_type + .long 6853 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5089:0x5 DW_TAG_pointer_type + .long 6853 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x508e:0x5 DW_TAG_rvalue_reference_type + .long 6853 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5093:0x5 DW_TAG_pointer_type + .long 7401 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5098:0x5 DW_TAG_reference_type + .long 20637 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x509d:0x5 DW_TAG_const_type + .long 20547 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x50a2:0x5 DW_TAG_reference_type + .long 20647 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x50a7:0x5 DW_TAG_const_type + .long 7401 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x50ac:0x5 DW_TAG_rvalue_reference_type + .long 7401 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x50b1:0x5 DW_TAG_reference_type + .long 20547 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x50b6:0x5 DW_TAG_reference_type + .long 7401 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x50bb:0x5 DW_TAG_reference_type + .long 6560 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x50c0:0x5 DW_TAG_reference_type + .long 20677 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x50c5:0x5 DW_TAG_const_type + .long 6560 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x50ca:0x5 DW_TAG_reference_type + .long 6644 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x50cf:0x5 DW_TAG_reference_type + .long 20692 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x50d4:0x5 DW_TAG_const_type + .long 6644 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x50d9:0x5 DW_TAG_pointer_type + .long 6560 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x50de:0x5 DW_TAG_rvalue_reference_type + .long 6560 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x50e3:0x5 DW_TAG_pointer_type + .long 6407 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x50e8:0x5 DW_TAG_reference_type + .long 20717 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x50ed:0x5 DW_TAG_const_type + .long 6407 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x50f2:0x5 DW_TAG_rvalue_reference_type + .long 6407 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x50f7:0x5 DW_TAG_reference_type + .long 6407 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x50fc:0x5 DW_TAG_pointer_type + .long 5870 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x5101:0x5 DW_TAG_rvalue_reference_type + .long 7651 @ DW_AT_type + .byte 73 @ Abbrev [73] 0x5106:0x5 DW_TAG_unspecified_type + .long .Linfo_string466 @ DW_AT_name + .byte 63 @ Abbrev [63] 0x510b:0x5 DW_TAG_rvalue_reference_type + .long 5870 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5110:0x5 DW_TAG_reference_type + .long 5870 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5115:0x5 DW_TAG_reference_type + .long 20552 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x511a:0x5 DW_TAG_pointer_type + .long 20767 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x511f:0x5 DW_TAG_const_type + .long 5870 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5124:0x5 DW_TAG_reference_type + .long 6212 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5129:0x5 DW_TAG_reference_type + .long 20782 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x512e:0x5 DW_TAG_const_type + .long 6212 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5133:0x5 DW_TAG_reference_type + .long 20767 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5138:0x5 DW_TAG_pointer_type + .long 9102 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x513d:0x5 DW_TAG_pointer_type + .long 20802 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5142:0x5 DW_TAG_const_type + .long 9102 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5147:0x5 DW_TAG_pointer_type + .long 20812 @ DW_AT_type + .byte 34 @ Abbrev [34] 0x514c:0x5 DW_TAG_class_type + .long .Linfo_string493 @ DW_AT_name + @ DW_AT_declaration + .byte 12 @ Abbrev [12] 0x5151:0x5 DW_TAG_pointer_type + .long 8926 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5156:0x5 DW_TAG_reference_type + .long 20802 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x515b:0x5 DW_TAG_reference_type + .long 20832 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5160:0x5 DW_TAG_const_type + .long 8926 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x5165:0x5 DW_TAG_rvalue_reference_type + .long 8926 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x516a:0x5 DW_TAG_reference_type + .long 9102 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x516f:0x5 DW_TAG_reference_type + .long 8926 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5174:0x5 DW_TAG_reference_type + .long 8695 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5179:0x5 DW_TAG_reference_type + .long 20862 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x517e:0x5 DW_TAG_const_type + .long 8695 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5183:0x5 DW_TAG_pointer_type + .long 8695 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x5188:0x5 DW_TAG_rvalue_reference_type + .long 8695 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x518d:0x5 DW_TAG_pointer_type + .long 9155 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5192:0x5 DW_TAG_reference_type + .long 20887 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5197:0x5 DW_TAG_const_type + .long 20807 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x519c:0x5 DW_TAG_reference_type + .long 20897 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x51a1:0x5 DW_TAG_const_type + .long 9155 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x51a6:0x5 DW_TAG_rvalue_reference_type + .long 9155 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x51ab:0x5 DW_TAG_reference_type + .long 20807 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x51b0:0x5 DW_TAG_reference_type + .long 9155 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x51b5:0x5 DW_TAG_reference_type + .long 8402 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x51ba:0x5 DW_TAG_reference_type + .long 20927 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x51bf:0x5 DW_TAG_const_type + .long 8402 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x51c4:0x5 DW_TAG_reference_type + .long 8486 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x51c9:0x5 DW_TAG_reference_type + .long 20942 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x51ce:0x5 DW_TAG_const_type + .long 8486 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x51d3:0x5 DW_TAG_pointer_type + .long 8402 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x51d8:0x5 DW_TAG_rvalue_reference_type + .long 8402 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x51dd:0x5 DW_TAG_pointer_type + .long 8249 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x51e2:0x5 DW_TAG_reference_type + .long 20967 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x51e7:0x5 DW_TAG_const_type + .long 8249 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x51ec:0x5 DW_TAG_rvalue_reference_type + .long 8249 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x51f1:0x5 DW_TAG_reference_type + .long 8249 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x51f6:0x5 DW_TAG_pointer_type + .long 7712 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x51fb:0x5 DW_TAG_rvalue_reference_type + .long 9405 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x5200:0x5 DW_TAG_rvalue_reference_type + .long 7712 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5205:0x5 DW_TAG_reference_type + .long 7712 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x520a:0x5 DW_TAG_reference_type + .long 20812 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x520f:0x5 DW_TAG_pointer_type + .long 21012 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5214:0x5 DW_TAG_const_type + .long 7712 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5219:0x5 DW_TAG_reference_type + .long 8054 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x521e:0x5 DW_TAG_reference_type + .long 21027 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5223:0x5 DW_TAG_const_type + .long 8054 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5228:0x5 DW_TAG_reference_type + .long 21012 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x522d:0x5 DW_TAG_pointer_type + .long 13785 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5232:0x5 DW_TAG_reference_type + .long 13635 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5237:0x5 DW_TAG_pointer_type + .long 17614 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x523c:0x5 DW_TAG_reference_type + .long 21057 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5241:0x5 DW_TAG_const_type + .long 17614 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5246:0x5 DW_TAG_pointer_type + .long 21057 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x524b:0x5 DW_TAG_reference_type + .long 13785 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5250:0x5 DW_TAG_pointer_type + .long 21077 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5255:0x5 DW_TAG_const_type + .long 13785 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x525a:0x5 DW_TAG_reference_type + .long 21077 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x525f:0x5 DW_TAG_pointer_type + .long 13790 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5264:0x5 DW_TAG_reference_type + .long 21097 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5269:0x5 DW_TAG_const_type + .long 13790 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x526e:0x5 DW_TAG_reference_type + .long 21107 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5273:0x5 DW_TAG_const_type + .long 13635 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5278:0x5 DW_TAG_reference_type + .long 13790 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x527d:0x5 DW_TAG_pointer_type + .long 17859 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5282:0x5 DW_TAG_reference_type + .long 21127 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5287:0x5 DW_TAG_const_type + .long 17859 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x528c:0x5 DW_TAG_pointer_type + .long 13873 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5291:0x5 DW_TAG_pointer_type + .long 21127 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5296:0x5 DW_TAG_reference_type + .long 13873 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x529b:0x5 DW_TAG_pointer_type + .long 21152 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x52a0:0x5 DW_TAG_const_type + .long 13873 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x52a5:0x5 DW_TAG_reference_type + .long 21152 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x52aa:0x5 DW_TAG_pointer_type + .long 13878 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x52af:0x5 DW_TAG_reference_type + .long 21172 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x52b4:0x5 DW_TAG_const_type + .long 13878 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x52b9:0x5 DW_TAG_pointer_type + .long 21182 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x52be:0x5 DW_TAG_const_type + .long 13961 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x52c3:0x5 DW_TAG_reference_type + .long 21192 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x52c8:0x5 DW_TAG_const_type + .long 14061 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x52cd:0x5 DW_TAG_pointer_type + .long 14079 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x52d2:0x5 DW_TAG_pointer_type + .long 21207 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x52d7:0x5 DW_TAG_const_type + .long 14079 @ DW_AT_type + .byte 33 @ Abbrev [33] 0x52dc:0xc DW_TAG_typedef + .long 3010 @ DW_AT_type + .long .Linfo_string25 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 486 @ DW_AT_decl_line + .byte 12 @ Abbrev [12] 0x52e8:0x5 DW_TAG_pointer_type + .long 10964 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x52ed:0x5 DW_TAG_reference_type + .long 21182 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x52f2:0x5 DW_TAG_reference_type + .long 21239 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x52f7:0x5 DW_TAG_const_type + .long 11133 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x52fc:0x5 DW_TAG_rvalue_reference_type + .long 11133 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5301:0x5 DW_TAG_reference_type + .long 11133 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5306:0x5 DW_TAG_pointer_type + .long 10941 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x530b:0x5 DW_TAG_pointer_type + .long 21264 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5310:0x5 DW_TAG_const_type + .long 10941 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5315:0x5 DW_TAG_reference_type + .long 21274 @ DW_AT_type + .byte 33 @ Abbrev [33] 0x531a:0xc DW_TAG_typedef + .long 21197 @ DW_AT_type + .long .Linfo_string586 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 369 @ DW_AT_decl_line + .byte 33 @ Abbrev [33] 0x5326:0xc DW_TAG_typedef + .long 21202 @ DW_AT_type + .long .Linfo_string592 @ DW_AT_name + .byte 18 @ DW_AT_decl_file + .short 370 @ DW_AT_decl_line + .byte 60 @ Abbrev [60] 0x5332:0x5 DW_TAG_reference_type + .long 21303 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5337:0x5 DW_TAG_const_type + .long 11610 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x533c:0x5 DW_TAG_pointer_type + .long 14263 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5341:0x5 DW_TAG_reference_type + .long 21318 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5346:0x5 DW_TAG_const_type + .long 14263 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x534b:0x5 DW_TAG_rvalue_reference_type + .long 14263 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5350:0x5 DW_TAG_reference_type + .long 14263 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5355:0x5 DW_TAG_reference_type + .long 21338 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x535a:0x5 DW_TAG_const_type + .long 14506 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x535f:0x5 DW_TAG_rvalue_reference_type + .long 14506 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5364:0x5 DW_TAG_reference_type + .long 21353 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5369:0x5 DW_TAG_const_type + .long 11927 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x536e:0x5 DW_TAG_reference_type + .long 21363 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5373:0x5 DW_TAG_const_type + .long 11214 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5378:0x5 DW_TAG_reference_type + .long 21264 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x537d:0x5 DW_TAG_rvalue_reference_type + .long 10941 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5382:0x5 DW_TAG_reference_type + .long 10941 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5387:0x5 DW_TAG_pointer_type + .long 21353 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x538c:0x5 DW_TAG_pointer_type + .long 9455 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5391:0x5 DW_TAG_reference_type + .long 21398 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5396:0x5 DW_TAG_const_type + .long 9524 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x539b:0x5 DW_TAG_reference_type + .long 21408 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x53a0:0x5 DW_TAG_const_type + .long 9455 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x53a5:0x5 DW_TAG_rvalue_reference_type + .long 9455 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x53aa:0x5 DW_TAG_reference_type + .long 9455 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x53af:0x5 DW_TAG_pointer_type + .long 21408 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x53b4:0x5 DW_TAG_reference_type + .long 10228 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x53b9:0x5 DW_TAG_reference_type + .long 21438 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x53be:0x5 DW_TAG_const_type + .long 10239 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x53c3:0x5 DW_TAG_rvalue_reference_type + .long 10239 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x53c8:0x5 DW_TAG_reference_type + .long 21453 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x53cd:0x5 DW_TAG_const_type + .long 10228 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x53d2:0x5 DW_TAG_reference_type + .long 21463 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x53d7:0x5 DW_TAG_const_type + .long 10362 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x53dc:0x5 DW_TAG_pointer_type + .long 19085 @ DW_AT_type + .byte 15 @ Abbrev [15] 0x53e1:0x7 DW_TAG_base_type + .long .Linfo_string806 @ DW_AT_name + .byte 4 @ DW_AT_encoding + .byte 8 @ DW_AT_byte_size + .byte 12 @ Abbrev [12] 0x53e8:0x5 DW_TAG_pointer_type + .long 21485 @ DW_AT_type + .byte 34 @ Abbrev [34] 0x53ed:0x5 DW_TAG_class_type + .long .Linfo_string840 @ DW_AT_name + @ DW_AT_declaration + .byte 2 @ Abbrev [2] 0x53f2:0x14 DW_TAG_variable + .long .Linfo_string846 @ DW_AT_name + .long 343 @ DW_AT_type + @ DW_AT_external + .byte 12 @ DW_AT_decl_file + .byte 55 @ DW_AT_decl_line + .byte 8 @ DW_AT_location + .byte 3 + .long .L_MergedGlobals + .byte 16 + .byte 0 + .byte 34 + .byte 2 @ Abbrev [2] 0x5406:0x14 DW_TAG_variable + .long .Linfo_string847 @ DW_AT_name + .long 343 @ DW_AT_type + @ DW_AT_external + .byte 12 @ DW_AT_decl_file + .byte 56 @ DW_AT_decl_line + .byte 8 @ DW_AT_location + .byte 3 + .long .L_MergedGlobals + .byte 16 + .byte 4 + .byte 34 + .byte 2 @ Abbrev [2] 0x541a:0x14 DW_TAG_variable + .long .Linfo_string848 @ DW_AT_name + .long 18995 @ DW_AT_type + @ DW_AT_external + .byte 12 @ DW_AT_decl_file + .byte 57 @ DW_AT_decl_line + .byte 8 @ DW_AT_location + .byte 3 + .long .L_MergedGlobals + .byte 16 + .byte 8 + .byte 34 + .byte 2 @ Abbrev [2] 0x542e:0x14 DW_TAG_variable + .long .Linfo_string849 @ DW_AT_name + .long 18365 @ DW_AT_type + @ DW_AT_external + .byte 12 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .byte 8 @ DW_AT_location + .byte 3 + .long .L_MergedGlobals + .byte 16 + .byte 12 + .byte 34 + .byte 2 @ Abbrev [2] 0x5442:0x14 DW_TAG_variable + .long .Linfo_string850 @ DW_AT_name + .long 18365 @ DW_AT_type + @ DW_AT_external + .byte 12 @ DW_AT_decl_file + .byte 59 @ DW_AT_decl_line + .byte 8 @ DW_AT_location + .byte 3 + .long .L_MergedGlobals + .byte 16 + .byte 16 + .byte 34 + .byte 2 @ Abbrev [2] 0x5456:0x14 DW_TAG_variable + .long .Linfo_string851 @ DW_AT_name + .long 343 @ DW_AT_type + @ DW_AT_external + .byte 12 @ DW_AT_decl_file + .byte 60 @ DW_AT_decl_line + .byte 8 @ DW_AT_location + .byte 3 + .long .L_MergedGlobals + .byte 16 + .byte 20 + .byte 34 + .byte 2 @ Abbrev [2] 0x546a:0x11 DW_TAG_variable + .long .Linfo_string852 @ DW_AT_name + .long 343 @ DW_AT_type + @ DW_AT_external + .byte 12 @ DW_AT_decl_file + .byte 61 @ DW_AT_decl_line + .byte 5 @ DW_AT_location + .byte 3 + .long gPrintfCount + .byte 74 @ Abbrev [74] 0x547b:0x181 DW_TAG_subprogram + .long .Lfunc_begin1 @ DW_AT_low_pc + .long .Lfunc_end1-.Lfunc_begin1 @ DW_AT_high_pc + .byte 1 @ DW_AT_frame_base + .byte 91 + .long .Linfo_string1159 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 73 @ DW_AT_decl_line + @ DW_AT_external + .byte 75 @ Abbrev [75] 0x548c:0x14 DW_TAG_variable + .long .Linfo_string853 @ DW_AT_name + .long 18995 @ DW_AT_type + .byte 12 @ DW_AT_decl_file + .byte 103 @ DW_AT_decl_line + .byte 8 @ DW_AT_location + .byte 3 + .long .L_MergedGlobals.2 + .byte 16 + .byte 0 + .byte 34 + .byte 75 @ Abbrev [75] 0x54a0:0x14 DW_TAG_variable + .long .Linfo_string722 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 12 @ DW_AT_decl_file + .byte 110 @ DW_AT_decl_line + .byte 8 @ DW_AT_location + .byte 3 + .long .L_MergedGlobals.2 + .byte 16 + .byte 4 + .byte 34 + .byte 76 @ Abbrev [76] 0x54b4:0xf DW_TAG_formal_parameter + .long .Ldebug_loc2 @ DW_AT_location + .long .Linfo_string1142 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 73 @ DW_AT_decl_line + .long 18645 @ DW_AT_type + .byte 76 @ Abbrev [76] 0x54c3:0xf DW_TAG_formal_parameter + .long .Ldebug_loc3 @ DW_AT_location + .long .Linfo_string1161 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 73 @ DW_AT_decl_line + .long 22267 @ DW_AT_type + .byte 77 @ Abbrev [77] 0x54d2:0x129 DW_TAG_lexical_block + .long .Ltmp23 @ DW_AT_low_pc + .long .Ltmp88-.Ltmp23 @ DW_AT_high_pc + .byte 78 @ Abbrev [78] 0x54db:0xf DW_TAG_variable + .long .Ldebug_loc4 @ DW_AT_location + .long .Linfo_string1162 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 75 @ DW_AT_decl_line + .long 18365 @ DW_AT_type + .byte 77 @ Abbrev [77] 0x54ea:0x110 DW_TAG_lexical_block + .long .Ltmp24 @ DW_AT_low_pc + .long .Ltmp86-.Ltmp24 @ DW_AT_high_pc + .byte 78 @ Abbrev [78] 0x54f3:0xf DW_TAG_variable + .long .Ldebug_loc8 @ DW_AT_location + .long .Linfo_string1163 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 77 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + .byte 78 @ Abbrev [78] 0x5502:0xf DW_TAG_variable + .long .Ldebug_loc14 @ DW_AT_location + .long .Linfo_string1164 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 95 @ DW_AT_decl_line + .long 343 @ DW_AT_type + .byte 78 @ Abbrev [78] 0x5511:0xf DW_TAG_variable + .long .Ldebug_loc15 @ DW_AT_location + .long .Linfo_string1165 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 99 @ DW_AT_decl_line + .long 18995 @ DW_AT_type + .byte 78 @ Abbrev [78] 0x5520:0xf DW_TAG_variable + .long .Ldebug_loc16 @ DW_AT_location + .long .Linfo_string1166 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 94 @ DW_AT_decl_line + .long 343 @ DW_AT_type + .byte 79 @ Abbrev [79] 0x552f:0x24 DW_TAG_inlined_subroutine + .long 27238 @ DW_AT_abstract_origin + .long .Ldebug_ranges0 @ DW_AT_ranges + .byte 12 @ DW_AT_call_file + .byte 81 @ DW_AT_call_line + .byte 80 @ Abbrev [80] 0x553a:0x9 DW_TAG_formal_parameter + .long .Ldebug_loc11 @ DW_AT_location + .long 27251 @ DW_AT_abstract_origin + .byte 80 @ Abbrev [80] 0x5543:0x9 DW_TAG_formal_parameter + .long .Ldebug_loc10 @ DW_AT_location + .long 27275 @ DW_AT_abstract_origin + .byte 81 @ Abbrev [81] 0x554c:0x6 DW_TAG_formal_parameter + .byte 0 @ DW_AT_const_value + .long 27287 @ DW_AT_abstract_origin + .byte 0 @ End Of Children Mark + .byte 79 @ Abbrev [79] 0x5553:0x1b DW_TAG_inlined_subroutine + .long 27347 @ DW_AT_abstract_origin + .long .Ldebug_ranges1 @ DW_AT_ranges + .byte 12 @ DW_AT_call_file + .byte 79 @ DW_AT_call_line + .byte 81 @ Abbrev [81] 0x555e:0x6 DW_TAG_formal_parameter + .byte 0 @ DW_AT_const_value + .long 27372 @ DW_AT_abstract_origin + .byte 82 @ Abbrev [82] 0x5564:0x9 DW_TAG_variable + .long .Ldebug_loc6 @ DW_AT_location + .long 27408 @ DW_AT_abstract_origin + .byte 0 @ End Of Children Mark + .byte 79 @ Abbrev [79] 0x556e:0x1b DW_TAG_inlined_subroutine + .long 27347 @ DW_AT_abstract_origin + .long .Ldebug_ranges2 @ DW_AT_ranges + .byte 12 @ DW_AT_call_file + .byte 91 @ DW_AT_call_line + .byte 81 @ Abbrev [81] 0x5579:0x6 DW_TAG_formal_parameter + .byte 0 @ DW_AT_const_value + .long 27372 @ DW_AT_abstract_origin + .byte 82 @ Abbrev [82] 0x557f:0x9 DW_TAG_variable + .long .Ldebug_loc5 @ DW_AT_location + .long 27408 @ DW_AT_abstract_origin + .byte 0 @ End Of Children Mark + .byte 79 @ Abbrev [79] 0x5589:0x1b DW_TAG_inlined_subroutine + .long 27347 @ DW_AT_abstract_origin + .long .Ldebug_ranges3 @ DW_AT_ranges + .byte 12 @ DW_AT_call_file + .byte 83 @ DW_AT_call_line + .byte 81 @ Abbrev [81] 0x5594:0x6 DW_TAG_formal_parameter + .byte 0 @ DW_AT_const_value + .long 27372 @ DW_AT_abstract_origin + .byte 82 @ Abbrev [82] 0x559a:0x9 DW_TAG_variable + .long .Ldebug_loc7 @ DW_AT_location + .long 27408 @ DW_AT_abstract_origin + .byte 0 @ End Of Children Mark + .byte 79 @ Abbrev [79] 0x55a4:0x1b DW_TAG_inlined_subroutine + .long 27238 @ DW_AT_abstract_origin + .long .Ldebug_ranges4 @ DW_AT_ranges + .byte 12 @ DW_AT_call_file + .byte 85 @ DW_AT_call_line + .byte 80 @ Abbrev [80] 0x55af:0x9 DW_TAG_formal_parameter + .long .Ldebug_loc9 @ DW_AT_location + .long 27275 @ DW_AT_abstract_origin + .byte 81 @ Abbrev [81] 0x55b8:0x6 DW_TAG_formal_parameter + .byte 1 @ DW_AT_const_value + .long 27287 @ DW_AT_abstract_origin + .byte 0 @ End Of Children Mark + .byte 83 @ Abbrev [83] 0x55bf:0x2e DW_TAG_inlined_subroutine + .long 27300 @ DW_AT_abstract_origin + .long .Ldebug_ranges5 @ DW_AT_ranges + .byte 12 @ DW_AT_call_file + .byte 95 @ DW_AT_call_line + .byte 1 @ DW_AT_GNU_discriminator + .byte 80 @ Abbrev [80] 0x55cb:0x9 DW_TAG_formal_parameter + .long .Ldebug_loc12 @ DW_AT_location + .long 27310 @ DW_AT_abstract_origin + .byte 80 @ Abbrev [80] 0x55d4:0x9 DW_TAG_formal_parameter + .long .Ldebug_loc13 @ DW_AT_location + .long 27319 @ DW_AT_abstract_origin + .byte 84 @ Abbrev [84] 0x55dd:0xf DW_TAG_inlined_subroutine + .long 27475 @ DW_AT_abstract_origin + .long .Ltmp69 @ DW_AT_low_pc + .long .Ltmp70-.Ltmp69 @ DW_AT_high_pc + .byte 9 @ DW_AT_call_file + .byte 74 @ DW_AT_call_line + .byte 0 @ End Of Children Mark + .byte 85 @ Abbrev [85] 0x55ed:0xc DW_TAG_inlined_subroutine + .long 27421 @ DW_AT_abstract_origin + .long .Ldebug_ranges6 @ DW_AT_ranges + .byte 12 @ DW_AT_call_file + .byte 94 @ DW_AT_call_line + .byte 1 @ DW_AT_GNU_discriminator + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 51 @ Abbrev [51] 0x55fc:0x15 DW_TAG_enumeration_type + .long .Linfo_string860 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 24 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .byte 52 @ Abbrev [52] 0x5604:0x6 DW_TAG_enumerator + .long .Linfo_string858 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 52 @ Abbrev [52] 0x560a:0x6 DW_TAG_enumerator + .long .Linfo_string859 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 86 @ Abbrev [86] 0x5611:0x12 DW_TAG_enumeration_type + .byte 4 @ DW_AT_byte_size + .byte 11 @ DW_AT_decl_file + .short 1154 @ DW_AT_decl_line + .byte 52 @ Abbrev [52] 0x5616:0x6 DW_TAG_enumerator + .long .Linfo_string861 @ DW_AT_name + .byte 0 @ DW_AT_const_value + .byte 52 @ Abbrev [52] 0x561c:0x6 DW_TAG_enumerator + .long .Linfo_string862 @ DW_AT_name + .byte 1 @ DW_AT_const_value + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x5623:0xb DW_TAG_typedef + .long 22062 @ DW_AT_type + .long .Linfo_string863 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 62 @ DW_AT_decl_line + .byte 72 @ Abbrev [72] 0x562e:0x2 DW_TAG_structure_type + .byte 8 @ DW_AT_byte_size + @ DW_AT_declaration + .byte 20 @ Abbrev [20] 0x5630:0xb DW_TAG_typedef + .long 22075 @ DW_AT_type + .long .Linfo_string867 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 70 @ DW_AT_decl_line + .byte 87 @ Abbrev [87] 0x563b:0x1d DW_TAG_structure_type + .byte 8 @ DW_AT_byte_size + .byte 25 @ DW_AT_decl_file + .byte 66 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x563f:0xc DW_TAG_member + .long .Linfo_string864 @ DW_AT_name + .long 22104 @ DW_AT_type + .byte 25 @ DW_AT_decl_file + .byte 68 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x564b:0xc DW_TAG_member + .long .Linfo_string866 @ DW_AT_name + .long 22104 @ DW_AT_type + .byte 25 @ DW_AT_decl_file + .byte 69 @ DW_AT_decl_line + .byte 4 @ DW_AT_data_member_location + .byte 0 @ End Of Children Mark + .byte 15 @ Abbrev [15] 0x5658:0x7 DW_TAG_base_type + .long .Linfo_string865 @ DW_AT_name + .byte 5 @ DW_AT_encoding + .byte 4 @ DW_AT_byte_size + .byte 88 @ Abbrev [88] 0x565f:0x8 DW_TAG_subprogram + .long .Linfo_string868 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 476 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 89 @ Abbrev [89] 0x5667:0x12 DW_TAG_subprogram + .long .Linfo_string869 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 735 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5673:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5679:0x12 DW_TAG_subprogram + .long .Linfo_string870 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 480 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5685:0x5 DW_TAG_formal_parameter + .long 22155 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x568b:0x5 DW_TAG_pointer_type + .long 22160 @ DW_AT_type + .byte 90 @ Abbrev [90] 0x5690:0x1 DW_TAG_subroutine_type + .byte 89 @ Abbrev [89] 0x5691:0x12 DW_TAG_subprogram + .long .Linfo_string871 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 485 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x569d:0x5 DW_TAG_formal_parameter + .long 22155 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x56a3:0x11 DW_TAG_subprogram + .long .Linfo_string872 @ DW_AT_name + .byte 26 @ DW_AT_decl_file + .byte 26 @ DW_AT_decl_line + .long 21473 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x56ae:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x56b4:0x11 DW_TAG_subprogram + .long .Linfo_string873 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 239 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x56bf:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x56c5:0x11 DW_TAG_subprogram + .long .Linfo_string874 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 244 @ DW_AT_decl_line + .long 22104 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x56d0:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x56d6:0x25 DW_TAG_subprogram + .long .Linfo_string875 @ DW_AT_name + .byte 27 @ DW_AT_decl_file + .byte 20 @ DW_AT_decl_line + .long 22267 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x56e1:0x5 DW_TAG_formal_parameter + .long 18372 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x56e6:0x5 DW_TAG_formal_parameter + .long 18372 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x56eb:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x56f0:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x56f5:0x5 DW_TAG_formal_parameter + .long 22279 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 92 @ Abbrev [92] 0x56fb:0x1 DW_TAG_pointer_type + .byte 20 @ Abbrev [20] 0x56fc:0xb DW_TAG_typedef + .long 18365 @ DW_AT_type + .long .Linfo_string24 @ DW_AT_name + .byte 28 @ DW_AT_decl_file + .byte 62 @ DW_AT_decl_line + .byte 33 @ Abbrev [33] 0x5707:0xc DW_TAG_typedef + .long 22291 @ DW_AT_type + .long .Linfo_string876 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 702 @ DW_AT_decl_line + .byte 12 @ Abbrev [12] 0x5713:0x5 DW_TAG_pointer_type + .long 22296 @ DW_AT_type + .byte 93 @ Abbrev [93] 0x5718:0x10 DW_TAG_subroutine_type + .long 343 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x571d:0x5 DW_TAG_formal_parameter + .long 18372 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5722:0x5 DW_TAG_formal_parameter + .long 18372 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5728:0x17 DW_TAG_subprogram + .long .Linfo_string877 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 429 @ DW_AT_decl_line + .long 22267 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5734:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5739:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x573f:0x17 DW_TAG_subprogram + .long .Linfo_string878 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 749 @ DW_AT_decl_line + .long 22051 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x574b:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5750:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x5756:0xe DW_TAG_subprogram + .long .Linfo_string879 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 504 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x575e:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x5764:0xe DW_TAG_subprogram + .long .Linfo_string880 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 444 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x576c:0x5 DW_TAG_formal_parameter + .long 22267 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5772:0x12 DW_TAG_subprogram + .long .Linfo_string881 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 525 @ DW_AT_decl_line + .long 22404 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x577e:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x5784:0x5 DW_TAG_pointer_type + .long 18590 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x5789:0x12 DW_TAG_subprogram + .long .Linfo_string882 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 736 @ DW_AT_decl_line + .long 22104 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5795:0x5 DW_TAG_formal_parameter + .long 22104 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x579b:0x17 DW_TAG_subprogram + .long .Linfo_string883 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 751 @ DW_AT_decl_line + .long 22064 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x57a7:0x5 DW_TAG_formal_parameter + .long 22104 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x57ac:0x5 DW_TAG_formal_parameter + .long 22104 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x57b2:0x12 DW_TAG_subprogram + .long .Linfo_string884 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 427 @ DW_AT_decl_line + .long 22267 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x57be:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x57c4:0x17 DW_TAG_subprogram + .long .Linfo_string885 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 823 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x57d0:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x57d5:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x57db:0x1c DW_TAG_subprogram + .long .Linfo_string886 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 834 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x57e7:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x57ec:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x57f1:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x57f7:0x5 DW_TAG_restrict_type + .long 22524 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x57fc:0x5 DW_TAG_pointer_type + .long 22529 @ DW_AT_type + .byte 15 @ Abbrev [15] 0x5801:0x7 DW_TAG_base_type + .long .Linfo_string887 @ DW_AT_name + .byte 7 @ DW_AT_encoding + .byte 4 @ DW_AT_byte_size + .byte 94 @ Abbrev [94] 0x5808:0x5 DW_TAG_restrict_type + .long 18580 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x580d:0x1c DW_TAG_subprogram + .long .Linfo_string888 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 826 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5819:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x581e:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5823:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x5829:0x1d DW_TAG_subprogram + .long .Linfo_string889 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 725 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5831:0x5 DW_TAG_formal_parameter + .long 22267 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5836:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x583b:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5840:0x5 DW_TAG_formal_parameter + .long 22279 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x5846:0xe DW_TAG_subprogram + .long .Linfo_string890 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 510 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x584e:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 95 @ Abbrev [95] 0x5854:0xc DW_TAG_subprogram + .long .Linfo_string891 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 335 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 89 @ Abbrev [89] 0x5860:0x17 DW_TAG_subprogram + .long .Linfo_string892 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 441 @ DW_AT_decl_line + .long 22267 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x586c:0x5 DW_TAG_formal_parameter + .long 22267 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5871:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x5877:0xe DW_TAG_subprogram + .long .Linfo_string893 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 337 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x587f:0x5 DW_TAG_formal_parameter + .long 18365 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x5885:0x16 DW_TAG_subprogram + .long .Linfo_string894 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 125 @ DW_AT_decl_line + .long 21473 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5890:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5895:0x5 DW_TAG_formal_parameter + .long 22683 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x589b:0x5 DW_TAG_restrict_type + .long 22688 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x58a0:0x5 DW_TAG_pointer_type + .long 22404 @ DW_AT_type + .byte 91 @ Abbrev [91] 0x58a5:0x1b DW_TAG_subprogram + .long .Linfo_string895 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 144 @ DW_AT_decl_line + .long 22104 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x58b0:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x58b5:0x5 DW_TAG_formal_parameter + .long 22683 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x58ba:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x58c0:0x1b DW_TAG_subprogram + .long .Linfo_string896 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 148 @ DW_AT_decl_line + .long 22747 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x58cb:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x58d0:0x5 DW_TAG_formal_parameter + .long 22683 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x58d5:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 15 @ Abbrev [15] 0x58db:0x7 DW_TAG_base_type + .long .Linfo_string897 @ DW_AT_name + .byte 7 @ DW_AT_encoding + .byte 4 @ DW_AT_byte_size + .byte 89 @ Abbrev [89] 0x58e2:0x12 DW_TAG_subprogram + .long .Linfo_string898 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 677 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x58ee:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x58f4:0x1c DW_TAG_subprogram + .long .Linfo_string899 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 837 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5900:0x5 DW_TAG_formal_parameter + .long 22800 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5905:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x590a:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x5910:0x5 DW_TAG_restrict_type + .long 22404 @ DW_AT_type + .byte 94 @ Abbrev [94] 0x5915:0x5 DW_TAG_restrict_type + .long 22810 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x591a:0x5 DW_TAG_pointer_type + .long 22815 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x591f:0x5 DW_TAG_const_type + .long 22529 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x5924:0x17 DW_TAG_subprogram + .long .Linfo_string900 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 830 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5930:0x5 DW_TAG_formal_parameter + .long 22404 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5935:0x5 DW_TAG_formal_parameter + .long 22529 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x593b:0xb DW_TAG_typedef + .long 22854 @ DW_AT_type + .long .Linfo_string902 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 82 @ DW_AT_decl_line + .byte 87 @ Abbrev [87] 0x5946:0x1d DW_TAG_structure_type + .byte 16 @ DW_AT_byte_size + .byte 25 @ DW_AT_decl_file + .byte 78 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x594a:0xc DW_TAG_member + .long .Linfo_string864 @ DW_AT_name + .long 22883 @ DW_AT_type + .byte 25 @ DW_AT_decl_file + .byte 80 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5956:0xc DW_TAG_member + .long .Linfo_string866 @ DW_AT_name + .long 22883 @ DW_AT_type + .byte 25 @ DW_AT_decl_file + .byte 81 @ DW_AT_decl_line + .byte 8 @ DW_AT_data_member_location + .byte 0 @ End Of Children Mark + .byte 15 @ Abbrev [15] 0x5963:0x7 DW_TAG_base_type + .long .Linfo_string901 @ DW_AT_name + .byte 5 @ DW_AT_encoding + .byte 8 @ DW_AT_byte_size + .byte 43 @ Abbrev [43] 0x596a:0xe DW_TAG_subprogram + .long .Linfo_string903 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 518 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5972:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5978:0x12 DW_TAG_subprogram + .long .Linfo_string904 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 740 @ DW_AT_decl_line + .long 22883 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5984:0x5 DW_TAG_formal_parameter + .long 22883 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x598a:0x17 DW_TAG_subprogram + .long .Linfo_string905 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .short 757 @ DW_AT_decl_line + .long 22843 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5996:0x5 DW_TAG_formal_parameter + .long 22883 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x599b:0x5 DW_TAG_formal_parameter + .long 22883 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x59a1:0x11 DW_TAG_subprogram + .long .Linfo_string906 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 253 @ DW_AT_decl_line + .long 22883 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x59ac:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x59b2:0x1b DW_TAG_subprogram + .long .Linfo_string907 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 170 @ DW_AT_decl_line + .long 22883 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x59bd:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x59c2:0x5 DW_TAG_formal_parameter + .long 22683 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x59c7:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x59cd:0x1b DW_TAG_subprogram + .long .Linfo_string908 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 175 @ DW_AT_decl_line + .long 18633 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x59d8:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x59dd:0x5 DW_TAG_formal_parameter + .long 22683 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x59e2:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x59e8:0x16 DW_TAG_subprogram + .long .Linfo_string909 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 133 @ DW_AT_decl_line + .long 18995 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x59f3:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x59f8:0x5 DW_TAG_formal_parameter + .long 22683 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x59fe:0x16 DW_TAG_subprogram + .long .Linfo_string910 @ DW_AT_name + .byte 25 @ DW_AT_decl_file + .byte 136 @ DW_AT_decl_line + .long 23060 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5a09:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5a0e:0x5 DW_TAG_formal_parameter + .long 22683 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 15 @ Abbrev [15] 0x5a14:0x7 DW_TAG_base_type + .long .Linfo_string911 @ DW_AT_name + .byte 4 @ DW_AT_encoding + .byte 8 @ DW_AT_byte_size + .byte 54 @ Abbrev [54] 0x5a1b:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 38 @ DW_AT_decl_line + .long 22111 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a22:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 39 @ DW_AT_decl_line + .long 22137 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a29:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 40 @ DW_AT_decl_line + .long 22358 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a30:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 43 @ DW_AT_decl_line + .long 22161 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a37:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 46 @ DW_AT_decl_line + .long 22598 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a3e:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 51 @ DW_AT_decl_line + .long 22051 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a45:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 52 @ DW_AT_decl_line + .long 22064 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a4c:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 54 @ DW_AT_decl_line + .long 14961 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a53:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 55 @ DW_AT_decl_line + .long 22179 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a5a:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 56 @ DW_AT_decl_line + .long 22196 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a61:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 57 @ DW_AT_decl_line + .long 22213 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a68:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .long 22230 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a6f:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 59 @ DW_AT_decl_line + .long 22312 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a76:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 60 @ DW_AT_decl_line + .long 18194 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a7d:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 61 @ DW_AT_decl_line + .long 22372 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a84:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 62 @ DW_AT_decl_line + .long 22386 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a8b:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 63 @ DW_AT_decl_line + .long 22409 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a92:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + .long 22427 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5a99:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 65 @ DW_AT_decl_line + .long 22450 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5aa0:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 67 @ DW_AT_decl_line + .long 22468 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5aa7:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 68 @ DW_AT_decl_line + .long 22491 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5aae:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 69 @ DW_AT_decl_line + .long 22541 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5ab5:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 71 @ DW_AT_decl_line + .long 22569 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5abc:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 72 @ DW_AT_decl_line + .long 22612 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5ac3:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 73 @ DW_AT_decl_line + .long 22624 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5aca:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 74 @ DW_AT_decl_line + .long 22647 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5ad1:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 75 @ DW_AT_decl_line + .long 22661 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5ad8:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 76 @ DW_AT_decl_line + .long 22693 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5adf:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 77 @ DW_AT_decl_line + .long 22720 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5ae6:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 78 @ DW_AT_decl_line + .long 22754 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5aed:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 80 @ DW_AT_decl_line + .long 22772 @ DW_AT_import + .byte 54 @ Abbrev [54] 0x5af4:0x7 DW_TAG_imported_declaration + .byte 30 @ DW_AT_decl_file + .byte 81 @ DW_AT_decl_line + .long 22820 @ DW_AT_import + .byte 16 @ Abbrev [16] 0x5afb:0xf DW_TAG_namespace + .long .Linfo_string914 @ DW_AT_name + .byte 31 @ DW_AT_decl_file + .byte 56 @ DW_AT_decl_line + .byte 96 @ Abbrev [96] 0x5b02:0x7 DW_TAG_imported_module + .byte 31 @ DW_AT_decl_file + .byte 58 @ DW_AT_decl_line + .long 14982 @ DW_AT_import + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x5b0a:0x5 DW_TAG_pointer_type + .long 14996 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5b0f:0x5 DW_TAG_pointer_type + .long 23316 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5b14:0x5 DW_TAG_const_type + .long 14996 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5b19:0x5 DW_TAG_reference_type + .long 23316 @ DW_AT_type + .byte 63 @ Abbrev [63] 0x5b1e:0x5 DW_TAG_rvalue_reference_type + .long 14996 @ DW_AT_type + .byte 60 @ Abbrev [60] 0x5b23:0x5 DW_TAG_reference_type + .long 14996 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5b28:0x5 DW_TAG_pointer_type + .long 23341 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5b2d:0x5 DW_TAG_const_type + .long 15304 @ DW_AT_type + .byte 20 @ Abbrev [20] 0x5b32:0xb DW_TAG_typedef + .long 23357 @ DW_AT_type + .long .Linfo_string941 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 106 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x5b3d:0xb DW_TAG_typedef + .long 23368 @ DW_AT_type + .long .Linfo_string940 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 94 @ DW_AT_decl_line + .byte 87 @ Abbrev [87] 0x5b48:0x3a DW_TAG_structure_type + .byte 8 @ DW_AT_byte_size + .byte 33 @ DW_AT_decl_file + .byte 82 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x5b4c:0xc DW_TAG_member + .long .Linfo_string936 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 33 @ DW_AT_decl_file + .byte 84 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5b58:0xc DW_TAG_member + .long .Linfo_string937 @ DW_AT_name + .long 23396 @ DW_AT_type + .byte 33 @ DW_AT_decl_file + .byte 93 @ DW_AT_decl_line + .byte 4 @ DW_AT_data_member_location + .byte 97 @ Abbrev [97] 0x5b64:0x1d DW_TAG_union_type + .byte 4 @ DW_AT_byte_size + .byte 33 @ DW_AT_decl_file + .byte 85 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x5b68:0xc DW_TAG_member + .long .Linfo_string938 @ DW_AT_name + .long 18365 @ DW_AT_type + .byte 33 @ DW_AT_decl_file + .byte 88 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5b74:0xc DW_TAG_member + .long .Linfo_string939 @ DW_AT_name + .long 23426 @ DW_AT_type + .byte 33 @ DW_AT_decl_file + .byte 92 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 66 @ Abbrev [66] 0x5b82:0xc DW_TAG_array_type + .long 18590 @ DW_AT_type + .byte 98 @ Abbrev [98] 0x5b87:0x6 DW_TAG_subrange_type + .long 19056 @ DW_AT_type + .byte 4 @ DW_AT_count + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x5b8e:0xb DW_TAG_typedef + .long 18365 @ DW_AT_type + .long .Linfo_string942 @ DW_AT_name + .byte 28 @ DW_AT_decl_file + .byte 132 @ DW_AT_decl_line + .byte 89 @ Abbrev [89] 0x5b99:0x12 DW_TAG_subprogram + .long .Linfo_string943 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 391 @ DW_AT_decl_line + .long 23438 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5ba5:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5bab:0x12 DW_TAG_subprogram + .long .Linfo_string944 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 748 @ DW_AT_decl_line + .long 23438 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5bb7:0x5 DW_TAG_formal_parameter + .long 23485 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x5bbd:0x5 DW_TAG_pointer_type + .long 23490 @ DW_AT_type + .byte 20 @ Abbrev [20] 0x5bc2:0xb DW_TAG_typedef + .long 23501 @ DW_AT_type + .long .Linfo_string982 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .byte 64 @ DW_AT_decl_line + .byte 26 @ Abbrev [26] 0x5bcd:0x179 DW_TAG_structure_type + .long .Linfo_string981 @ DW_AT_name + .byte 152 @ DW_AT_byte_size + .byte 34 @ DW_AT_decl_file + .byte 241 @ DW_AT_decl_line + .byte 5 @ Abbrev [5] 0x5bd5:0xc DW_TAG_member + .long .Linfo_string945 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .byte 242 @ DW_AT_decl_line + .byte 0 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5be1:0xc DW_TAG_member + .long .Linfo_string946 @ DW_AT_name + .long 22404 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .byte 247 @ DW_AT_decl_line + .byte 4 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5bed:0xc DW_TAG_member + .long .Linfo_string947 @ DW_AT_name + .long 22404 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .byte 248 @ DW_AT_decl_line + .byte 8 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5bf9:0xc DW_TAG_member + .long .Linfo_string948 @ DW_AT_name + .long 22404 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .byte 249 @ DW_AT_decl_line + .byte 12 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5c05:0xc DW_TAG_member + .long .Linfo_string949 @ DW_AT_name + .long 22404 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .byte 250 @ DW_AT_decl_line + .byte 16 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5c11:0xc DW_TAG_member + .long .Linfo_string950 @ DW_AT_name + .long 22404 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .byte 251 @ DW_AT_decl_line + .byte 20 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5c1d:0xc DW_TAG_member + .long .Linfo_string951 @ DW_AT_name + .long 22404 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .byte 252 @ DW_AT_decl_line + .byte 24 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5c29:0xc DW_TAG_member + .long .Linfo_string952 @ DW_AT_name + .long 22404 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .byte 253 @ DW_AT_decl_line + .byte 28 @ DW_AT_data_member_location + .byte 5 @ Abbrev [5] 0x5c35:0xc DW_TAG_member + .long .Linfo_string953 @ DW_AT_name + .long 22404 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .byte 254 @ DW_AT_decl_line + .byte 32 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5c41:0xd DW_TAG_member + .long .Linfo_string954 @ DW_AT_name + .long 22404 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 256 @ DW_AT_decl_line + .byte 36 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5c4e:0xd DW_TAG_member + .long .Linfo_string955 @ DW_AT_name + .long 22404 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 257 @ DW_AT_decl_line + .byte 40 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5c5b:0xd DW_TAG_member + .long .Linfo_string956 @ DW_AT_name + .long 22404 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 258 @ DW_AT_decl_line + .byte 44 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5c68:0xd DW_TAG_member + .long .Linfo_string957 @ DW_AT_name + .long 23878 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 260 @ DW_AT_decl_line + .byte 48 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5c75:0xd DW_TAG_member + .long .Linfo_string959 @ DW_AT_name + .long 23889 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 262 @ DW_AT_decl_line + .byte 52 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5c82:0xd DW_TAG_member + .long .Linfo_string960 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 264 @ DW_AT_decl_line + .byte 56 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5c8f:0xd DW_TAG_member + .long .Linfo_string961 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 268 @ DW_AT_decl_line + .byte 60 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5c9c:0xd DW_TAG_member + .long .Linfo_string962 @ DW_AT_name + .long 23894 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 270 @ DW_AT_decl_line + .byte 64 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5ca9:0xd DW_TAG_member + .long .Linfo_string964 @ DW_AT_name + .long 23905 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 274 @ DW_AT_decl_line + .byte 68 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5cb6:0xd DW_TAG_member + .long .Linfo_string966 @ DW_AT_name + .long 23912 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 275 @ DW_AT_decl_line + .byte 70 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5cc3:0xd DW_TAG_member + .long .Linfo_string968 @ DW_AT_name + .long 23919 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 276 @ DW_AT_decl_line + .byte 71 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5cd0:0xd DW_TAG_member + .long .Linfo_string969 @ DW_AT_name + .long 23931 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 280 @ DW_AT_decl_line + .byte 72 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5cdd:0xd DW_TAG_member + .long .Linfo_string971 @ DW_AT_name + .long 23943 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 289 @ DW_AT_decl_line + .byte 80 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5cea:0xd DW_TAG_member + .long .Linfo_string974 @ DW_AT_name + .long 22267 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 297 @ DW_AT_decl_line + .byte 88 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5cf7:0xd DW_TAG_member + .long .Linfo_string975 @ DW_AT_name + .long 22267 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 298 @ DW_AT_decl_line + .byte 92 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5d04:0xd DW_TAG_member + .long .Linfo_string976 @ DW_AT_name + .long 22267 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 299 @ DW_AT_decl_line + .byte 96 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5d11:0xd DW_TAG_member + .long .Linfo_string977 @ DW_AT_name + .long 22267 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 300 @ DW_AT_decl_line + .byte 100 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5d1e:0xd DW_TAG_member + .long .Linfo_string978 @ DW_AT_name + .long 22268 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 302 @ DW_AT_decl_line + .byte 104 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5d2b:0xd DW_TAG_member + .long .Linfo_string979 @ DW_AT_name + .long 343 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 303 @ DW_AT_decl_line + .byte 108 @ DW_AT_data_member_location + .byte 48 @ Abbrev [48] 0x5d38:0xd DW_TAG_member + .long .Linfo_string980 @ DW_AT_name + .long 23965 @ DW_AT_type + .byte 34 @ DW_AT_decl_file + .short 305 @ DW_AT_decl_line + .byte 112 @ DW_AT_data_member_location + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x5d46:0x5 DW_TAG_pointer_type + .long 23883 @ DW_AT_type + .byte 53 @ Abbrev [53] 0x5d4b:0x6 DW_TAG_structure_type + .long .Linfo_string958 @ DW_AT_name + .byte 12 @ DW_AT_byte_size + @ DW_AT_declaration + .byte 12 @ Abbrev [12] 0x5d51:0x5 DW_TAG_pointer_type + .long 23501 @ DW_AT_type + .byte 20 @ Abbrev [20] 0x5d56:0xb DW_TAG_typedef + .long 22104 @ DW_AT_type + .long .Linfo_string963 @ DW_AT_name + .byte 35 @ DW_AT_decl_file + .byte 131 @ DW_AT_decl_line + .byte 15 @ Abbrev [15] 0x5d61:0x7 DW_TAG_base_type + .long .Linfo_string965 @ DW_AT_name + .byte 7 @ DW_AT_encoding + .byte 2 @ DW_AT_byte_size + .byte 15 @ Abbrev [15] 0x5d68:0x7 DW_TAG_base_type + .long .Linfo_string967 @ DW_AT_name + .byte 6 @ DW_AT_encoding + .byte 1 @ DW_AT_byte_size + .byte 66 @ Abbrev [66] 0x5d6f:0xc DW_TAG_array_type + .long 18590 @ DW_AT_type + .byte 98 @ Abbrev [98] 0x5d74:0x6 DW_TAG_subrange_type + .long 19056 @ DW_AT_type + .byte 1 @ DW_AT_count + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x5d7b:0x5 DW_TAG_pointer_type + .long 23936 @ DW_AT_type + .byte 99 @ Abbrev [99] 0x5d80:0x7 DW_TAG_typedef + .long .Linfo_string970 @ DW_AT_name + .byte 34 @ DW_AT_decl_file + .byte 150 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x5d87:0xb DW_TAG_typedef + .long 23954 @ DW_AT_type + .long .Linfo_string973 @ DW_AT_name + .byte 35 @ DW_AT_decl_file + .byte 132 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x5d92:0xb DW_TAG_typedef + .long 22883 @ DW_AT_type + .long .Linfo_string972 @ DW_AT_name + .byte 35 @ DW_AT_decl_file + .byte 55 @ DW_AT_decl_line + .byte 66 @ Abbrev [66] 0x5d9d:0xc DW_TAG_array_type + .long 18590 @ DW_AT_type + .byte 98 @ Abbrev [98] 0x5da2:0x6 DW_TAG_subrange_type + .long 19056 @ DW_AT_type + .byte 40 @ DW_AT_count + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5da9:0x1c DW_TAG_subprogram + .long .Linfo_string983 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 777 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5db5:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5dba:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5dbf:0x5 DW_TAG_formal_parameter + .long 24005 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x5dc5:0x5 DW_TAG_restrict_type + .long 23485 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x5dca:0x17 DW_TAG_subprogram + .long .Linfo_string984 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 762 @ DW_AT_decl_line + .long 23438 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5dd6:0x5 DW_TAG_formal_parameter + .long 22529 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5ddb:0x5 DW_TAG_formal_parameter + .long 23485 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5de1:0x17 DW_TAG_subprogram + .long .Linfo_string985 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 784 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5ded:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5df2:0x5 DW_TAG_formal_parameter + .long 24005 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5df8:0x17 DW_TAG_subprogram + .long .Linfo_string986 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 590 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5e04:0x5 DW_TAG_formal_parameter + .long 23485 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5e09:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5e0f:0x18 DW_TAG_subprogram + .long .Linfo_string987 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 597 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5e1b:0x5 DW_TAG_formal_parameter + .long 24005 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5e20:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x5e25:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5e27:0x18 DW_TAG_subprogram + .long .Linfo_string988 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 638 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5e33:0x5 DW_TAG_formal_parameter + .long 24005 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5e38:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x5e3d:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5e3f:0x12 DW_TAG_subprogram + .long .Linfo_string989 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 749 @ DW_AT_decl_line + .long 23438 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5e4b:0x5 DW_TAG_formal_parameter + .long 23485 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 95 @ Abbrev [95] 0x5e51:0xc DW_TAG_subprogram + .long .Linfo_string990 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 755 @ DW_AT_decl_line + .long 23438 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 89 @ Abbrev [89] 0x5e5d:0x1c DW_TAG_subprogram + .long .Linfo_string991 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 402 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5e69:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5e6e:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5e73:0x5 DW_TAG_formal_parameter + .long 24185 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x5e79:0x5 DW_TAG_restrict_type + .long 24190 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5e7e:0x5 DW_TAG_pointer_type + .long 23346 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x5e83:0x21 DW_TAG_subprogram + .long .Linfo_string992 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 368 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5e8f:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5e94:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5e99:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5e9e:0x5 DW_TAG_formal_parameter + .long 24185 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5ea4:0x12 DW_TAG_subprogram + .long .Linfo_string993 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 364 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5eb0:0x5 DW_TAG_formal_parameter + .long 24246 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x5eb6:0x5 DW_TAG_pointer_type + .long 24251 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x5ebb:0x5 DW_TAG_const_type + .long 23346 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x5ec0:0x21 DW_TAG_subprogram + .long .Linfo_string994 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 411 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5ecc:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5ed1:0x5 DW_TAG_formal_parameter + .long 24289 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5ed6:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5edb:0x5 DW_TAG_formal_parameter + .long 24185 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x5ee1:0x5 DW_TAG_restrict_type + .long 24294 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x5ee6:0x5 DW_TAG_pointer_type + .long 18580 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x5eeb:0x17 DW_TAG_subprogram + .long .Linfo_string995 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 763 @ DW_AT_decl_line + .long 23438 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5ef7:0x5 DW_TAG_formal_parameter + .long 22529 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5efc:0x5 DW_TAG_formal_parameter + .long 23485 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5f02:0x12 DW_TAG_subprogram + .long .Linfo_string996 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 769 @ DW_AT_decl_line + .long 23438 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5f0e:0x5 DW_TAG_formal_parameter + .long 22529 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5f14:0x1d DW_TAG_subprogram + .long .Linfo_string997 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 607 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5f20:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5f25:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5f2a:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x5f2f:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5f31:0x18 DW_TAG_subprogram + .long .Linfo_string998 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 648 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5f3d:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5f42:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x5f47:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5f49:0x17 DW_TAG_subprogram + .long .Linfo_string999 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 792 @ DW_AT_decl_line + .long 23438 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5f55:0x5 DW_TAG_formal_parameter + .long 23438 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5f5a:0x5 DW_TAG_formal_parameter + .long 23485 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5f60:0x1c DW_TAG_subprogram + .long .Linfo_string1000 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 615 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5f6c:0x5 DW_TAG_formal_parameter + .long 24005 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5f71:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5f76:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x5f7c:0xb DW_TAG_typedef + .long 24455 @ DW_AT_type + .long .Linfo_string1004 @ DW_AT_name + .byte 37 @ DW_AT_decl_file + .byte 50 @ DW_AT_decl_line + .byte 100 @ Abbrev [100] 0x5f87:0x9 DW_TAG_typedef + .long 24469 @ DW_AT_type + .long .Linfo_string1003 @ DW_AT_name + .byte 101 @ Abbrev [101] 0x5f90:0x17 DW_TAG_namespace + .long .Linfo_string8 @ DW_AT_name + .byte 102 @ Abbrev [102] 0x5f95:0x11 DW_TAG_structure_type + .long .Linfo_string1002 @ DW_AT_name + .byte 4 @ DW_AT_byte_size + .byte 103 @ Abbrev [103] 0x5f9b:0xa DW_TAG_member + .long .Linfo_string1001 @ DW_AT_name + .long 22267 @ DW_AT_type + .byte 0 @ DW_AT_data_member_location + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5fa7:0x1c DW_TAG_subprogram + .long .Linfo_string1005 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 692 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5fb3:0x5 DW_TAG_formal_parameter + .long 24005 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5fb8:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5fbd:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5fc3:0x21 DW_TAG_subprogram + .long .Linfo_string1006 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 628 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5fcf:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5fd4:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5fd9:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5fde:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x5fe4:0x1c DW_TAG_subprogram + .long .Linfo_string1007 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 704 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x5ff0:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5ff5:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x5ffa:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6000:0x17 DW_TAG_subprogram + .long .Linfo_string1008 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 623 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x600c:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6011:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6017:0x17 DW_TAG_subprogram + .long .Linfo_string1009 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 700 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6023:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6028:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x602e:0x1c DW_TAG_subprogram + .long .Linfo_string1010 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 373 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x603a:0x5 DW_TAG_formal_parameter + .long 22800 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x603f:0x5 DW_TAG_formal_parameter + .long 22529 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6044:0x5 DW_TAG_formal_parameter + .long 24185 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x604a:0x16 DW_TAG_subprogram + .long .Linfo_string1011 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 157 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6055:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x605a:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6060:0x16 DW_TAG_subprogram + .long .Linfo_string1012 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 166 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x606b:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6070:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6076:0x16 DW_TAG_subprogram + .long .Linfo_string1013 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 195 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6081:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6086:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x608c:0x16 DW_TAG_subprogram + .long .Linfo_string1014 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 147 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6097:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x609c:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x60a2:0x16 DW_TAG_subprogram + .long .Linfo_string1015 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 255 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x60ad:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x60b2:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x60b8:0x21 DW_TAG_subprogram + .long .Linfo_string1016 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 858 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x60c4:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x60c9:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x60ce:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x60d3:0x5 DW_TAG_formal_parameter + .long 24793 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x60d9:0x5 DW_TAG_restrict_type + .long 24798 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x60de:0x5 DW_TAG_pointer_type + .long 24803 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x60e3:0x5 DW_TAG_const_type + .long 24808 @ DW_AT_type + .byte 53 @ Abbrev [53] 0x60e8:0x6 DW_TAG_structure_type + .long .Linfo_string1017 @ DW_AT_name + .byte 44 @ DW_AT_byte_size + @ DW_AT_declaration + .byte 89 @ Abbrev [89] 0x60ee:0x12 DW_TAG_subprogram + .long .Linfo_string1018 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 290 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x60fa:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6100:0x1b DW_TAG_subprogram + .long .Linfo_string1019 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 161 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x610b:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6110:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6115:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x611b:0x1b DW_TAG_subprogram + .long .Linfo_string1020 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 169 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6126:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x612b:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6130:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6136:0x1b DW_TAG_subprogram + .long .Linfo_string1021 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 152 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6141:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6146:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x614b:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6151:0x21 DW_TAG_subprogram + .long .Linfo_string1022 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 417 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x615d:0x5 DW_TAG_formal_parameter + .long 22800 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6162:0x5 DW_TAG_formal_parameter + .long 24946 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6167:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x616c:0x5 DW_TAG_formal_parameter + .long 24185 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x6172:0x5 DW_TAG_restrict_type + .long 24951 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x6177:0x5 DW_TAG_pointer_type + .long 22810 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x617c:0x17 DW_TAG_subprogram + .long .Linfo_string1023 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 259 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6188:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x618d:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6193:0x17 DW_TAG_subprogram + .long .Linfo_string1024 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 453 @ DW_AT_decl_line + .long 21473 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x619f:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x61a4:0x5 DW_TAG_formal_parameter + .long 25002 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x61aa:0x5 DW_TAG_restrict_type + .long 25007 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x61af:0x5 DW_TAG_pointer_type + .long 22524 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x61b4:0x17 DW_TAG_subprogram + .long .Linfo_string1025 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 460 @ DW_AT_decl_line + .long 18995 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x61c0:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x61c5:0x5 DW_TAG_formal_parameter + .long 25002 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x61cb:0x1c DW_TAG_subprogram + .long .Linfo_string1026 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 285 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x61d7:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x61dc:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x61e1:0x5 DW_TAG_formal_parameter + .long 25002 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x61e7:0x1c DW_TAG_subprogram + .long .Linfo_string1027 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 471 @ DW_AT_decl_line + .long 22104 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x61f3:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x61f8:0x5 DW_TAG_formal_parameter + .long 25002 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x61fd:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6203:0x1c DW_TAG_subprogram + .long .Linfo_string1028 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 476 @ DW_AT_decl_line + .long 22747 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x620f:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6214:0x5 DW_TAG_formal_parameter + .long 25002 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6219:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x621f:0x1b DW_TAG_subprogram + .long .Linfo_string1029 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 199 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x622a:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x622f:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6234:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x623a:0x12 DW_TAG_subprogram + .long .Linfo_string1030 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 397 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6246:0x5 DW_TAG_formal_parameter + .long 23438 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x624c:0x1c DW_TAG_subprogram + .long .Linfo_string1031 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 328 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6258:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x625d:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6262:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6268:0x1c DW_TAG_subprogram + .long .Linfo_string1032 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 332 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6274:0x5 DW_TAG_formal_parameter + .long 22519 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6279:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x627e:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6284:0x1c DW_TAG_subprogram + .long .Linfo_string1033 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 337 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6290:0x5 DW_TAG_formal_parameter + .long 22524 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6295:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x629a:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x62a0:0x1c DW_TAG_subprogram + .long .Linfo_string1034 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 341 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x62ac:0x5 DW_TAG_formal_parameter + .long 22524 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x62b1:0x5 DW_TAG_formal_parameter + .long 22529 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x62b6:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x62bc:0x13 DW_TAG_subprogram + .long .Linfo_string1035 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 604 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x62c8:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x62cd:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x62cf:0x13 DW_TAG_subprogram + .long .Linfo_string1036 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 645 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x62db:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x62e0:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x62e2:0x16 DW_TAG_subprogram + .long .Linfo_string1037 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 230 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x62ed:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x62f2:0x5 DW_TAG_formal_parameter + .long 22529 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x62f8:0x17 DW_TAG_subprogram + .long .Linfo_string1038 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 269 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6304:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6309:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x630f:0x16 DW_TAG_subprogram + .long .Linfo_string1039 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .byte 240 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x631a:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x631f:0x5 DW_TAG_formal_parameter + .long 22529 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6325:0x17 DW_TAG_subprogram + .long .Linfo_string1040 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 280 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6331:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6336:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x633c:0x1c DW_TAG_subprogram + .long .Linfo_string1041 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 323 @ DW_AT_decl_line + .long 22524 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6348:0x5 DW_TAG_formal_parameter + .long 22810 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x634d:0x5 DW_TAG_formal_parameter + .long 22529 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6352:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6358:0x17 DW_TAG_subprogram + .long .Linfo_string1042 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 462 @ DW_AT_decl_line + .long 23060 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6364:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6369:0x5 DW_TAG_formal_parameter + .long 25002 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x636f:0x1c DW_TAG_subprogram + .long .Linfo_string1043 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 486 @ DW_AT_decl_line + .long 22883 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x637b:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6380:0x5 DW_TAG_formal_parameter + .long 25002 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6385:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x638b:0x1c DW_TAG_subprogram + .long .Linfo_string1044 @ DW_AT_name + .byte 33 @ DW_AT_decl_file + .short 493 @ DW_AT_decl_line + .long 18633 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6397:0x5 DW_TAG_formal_parameter + .long 22805 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x639c:0x5 DW_TAG_formal_parameter + .long 25002 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x63a1:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x63a7:0xb DW_TAG_typedef + .long 23912 @ DW_AT_type + .long .Linfo_string1045 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 36 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x63b2:0xb DW_TAG_typedef + .long 25533 @ DW_AT_type + .long .Linfo_string1047 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 37 @ DW_AT_decl_line + .byte 15 @ Abbrev [15] 0x63bd:0x7 DW_TAG_base_type + .long .Linfo_string1046 @ DW_AT_name + .byte 5 @ DW_AT_encoding + .byte 2 @ DW_AT_byte_size + .byte 20 @ Abbrev [20] 0x63c4:0xb DW_TAG_typedef + .long 343 @ DW_AT_type + .long .Linfo_string1048 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 38 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x63cf:0xb DW_TAG_typedef + .long 22883 @ DW_AT_type + .long .Linfo_string1049 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 43 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x63da:0xb DW_TAG_typedef + .long 23912 @ DW_AT_type + .long .Linfo_string1050 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 90 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x63e5:0xb DW_TAG_typedef + .long 343 @ DW_AT_type + .long .Linfo_string1051 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 96 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x63f0:0xb DW_TAG_typedef + .long 343 @ DW_AT_type + .long .Linfo_string1052 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 97 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x63fb:0xb DW_TAG_typedef + .long 22883 @ DW_AT_type + .long .Linfo_string1053 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 99 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x6406:0xb DW_TAG_typedef + .long 23912 @ DW_AT_type + .long .Linfo_string1054 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 65 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x6411:0xb DW_TAG_typedef + .long 25533 @ DW_AT_type + .long .Linfo_string1055 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 66 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x641c:0xb DW_TAG_typedef + .long 343 @ DW_AT_type + .long .Linfo_string1056 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 67 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x6427:0xb DW_TAG_typedef + .long 22883 @ DW_AT_type + .long .Linfo_string1057 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 72 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x6432:0xb DW_TAG_typedef + .long 22883 @ DW_AT_type + .long .Linfo_string1058 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 138 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x643d:0xb DW_TAG_typedef + .long 343 @ DW_AT_type + .long .Linfo_string1059 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 125 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x6448:0xb DW_TAG_typedef + .long 25683 @ DW_AT_type + .long .Linfo_string1061 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 48 @ DW_AT_decl_line + .byte 15 @ Abbrev [15] 0x6453:0x7 DW_TAG_base_type + .long .Linfo_string1060 @ DW_AT_name + .byte 8 @ DW_AT_encoding + .byte 1 @ DW_AT_byte_size + .byte 20 @ Abbrev [20] 0x645a:0xb DW_TAG_typedef + .long 23905 @ DW_AT_type + .long .Linfo_string1062 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 49 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x6465:0xb DW_TAG_typedef + .long 25683 @ DW_AT_type + .long .Linfo_string1063 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 103 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x6470:0xb DW_TAG_typedef + .long 18365 @ DW_AT_type + .long .Linfo_string1064 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 109 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x647b:0xb DW_TAG_typedef + .long 18365 @ DW_AT_type + .long .Linfo_string1065 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 110 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x6486:0xb DW_TAG_typedef + .long 18633 @ DW_AT_type + .long .Linfo_string1066 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 112 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x6491:0xb DW_TAG_typedef + .long 25683 @ DW_AT_type + .long .Linfo_string1067 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 76 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x649c:0xb DW_TAG_typedef + .long 23905 @ DW_AT_type + .long .Linfo_string1068 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 77 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x64a7:0xb DW_TAG_typedef + .long 18365 @ DW_AT_type + .long .Linfo_string1069 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 78 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x64b2:0xb DW_TAG_typedef + .long 18633 @ DW_AT_type + .long .Linfo_string1070 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 83 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x64bd:0xb DW_TAG_typedef + .long 18633 @ DW_AT_type + .long .Linfo_string1071 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 140 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x64c8:0xb DW_TAG_typedef + .long 18365 @ DW_AT_type + .long .Linfo_string1072 @ DW_AT_name + .byte 10 @ DW_AT_decl_file + .byte 128 @ DW_AT_decl_line + .byte 53 @ Abbrev [53] 0x64d3:0x6 DW_TAG_structure_type + .long .Linfo_string1073 @ DW_AT_name + .byte 56 @ DW_AT_byte_size + @ DW_AT_declaration + .byte 91 @ Abbrev [91] 0x64d9:0x16 DW_TAG_subprogram + .long .Linfo_string1074 @ DW_AT_name + .byte 38 @ DW_AT_decl_file + .byte 124 @ DW_AT_decl_line + .long 22404 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x64e4:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x64e9:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 104 @ Abbrev [104] 0x64ef:0xb DW_TAG_subprogram + .long .Linfo_string1075 @ DW_AT_name + .byte 38 @ DW_AT_decl_file + .byte 127 @ DW_AT_decl_line + .long 25850 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 12 @ Abbrev [12] 0x64fa:0x5 DW_TAG_pointer_type + .long 25811 @ DW_AT_type + .byte 91 @ Abbrev [91] 0x64ff:0x11 DW_TAG_subprogram + .long .Linfo_string1076 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 110 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x650a:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6510:0x11 DW_TAG_subprogram + .long .Linfo_string1077 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 111 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x651b:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6521:0x11 DW_TAG_subprogram + .long .Linfo_string1078 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 112 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x652c:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6532:0x11 DW_TAG_subprogram + .long .Linfo_string1079 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 113 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x653d:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6543:0x11 DW_TAG_subprogram + .long .Linfo_string1080 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 115 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x654e:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6554:0x11 DW_TAG_subprogram + .long .Linfo_string1081 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 114 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x655f:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6565:0x11 DW_TAG_subprogram + .long .Linfo_string1082 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 116 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6570:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6576:0x11 DW_TAG_subprogram + .long .Linfo_string1083 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 117 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6581:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6587:0x11 DW_TAG_subprogram + .long .Linfo_string1084 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 118 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6592:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6598:0x11 DW_TAG_subprogram + .long .Linfo_string1085 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 119 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x65a3:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x65a9:0x11 DW_TAG_subprogram + .long .Linfo_string1086 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 120 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x65b4:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x65ba:0x11 DW_TAG_subprogram + .long .Linfo_string1087 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 124 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x65c5:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x65cb:0x11 DW_TAG_subprogram + .long .Linfo_string1088 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 127 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x65d6:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x65dc:0x11 DW_TAG_subprogram + .long .Linfo_string1089 @ DW_AT_name + .byte 39 @ DW_AT_decl_file + .byte 136 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x65e7:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 20 @ Abbrev [20] 0x65ed:0xb DW_TAG_typedef + .long 23501 @ DW_AT_type + .long .Linfo_string1090 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .byte 48 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x65f8:0xb DW_TAG_typedef + .long 26115 @ DW_AT_type + .long .Linfo_string1092 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .byte 112 @ DW_AT_decl_line + .byte 20 @ Abbrev [20] 0x6603:0xb DW_TAG_typedef + .long 26126 @ DW_AT_type + .long .Linfo_string1091 @ DW_AT_name + .byte 40 @ DW_AT_decl_file + .byte 25 @ DW_AT_decl_line + .byte 72 @ Abbrev [72] 0x660e:0x2 DW_TAG_structure_type + .byte 12 @ DW_AT_byte_size + @ DW_AT_declaration + .byte 43 @ Abbrev [43] 0x6610:0xe DW_TAG_subprogram + .long .Linfo_string1093 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 828 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6618:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x661e:0x5 DW_TAG_pointer_type + .long 26093 @ DW_AT_type + .byte 91 @ Abbrev [91] 0x6623:0x11 DW_TAG_subprogram + .long .Linfo_string1094 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .byte 239 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x662e:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6634:0x12 DW_TAG_subprogram + .long .Linfo_string1095 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 830 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6640:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6646:0x12 DW_TAG_subprogram + .long .Linfo_string1096 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 832 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6652:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6658:0x11 DW_TAG_subprogram + .long .Linfo_string1097 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .byte 244 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6663:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6669:0x12 DW_TAG_subprogram + .long .Linfo_string1098 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 533 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6675:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x667b:0x17 DW_TAG_subprogram + .long .Linfo_string1099 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 800 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6687:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x668c:0x5 DW_TAG_formal_parameter + .long 26263 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x6692:0x5 DW_TAG_restrict_type + .long 26142 @ DW_AT_type + .byte 94 @ Abbrev [94] 0x6697:0x5 DW_TAG_restrict_type + .long 26268 @ DW_AT_type + .byte 12 @ Abbrev [12] 0x669c:0x5 DW_TAG_pointer_type + .long 26104 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x66a1:0x1c DW_TAG_subprogram + .long .Linfo_string1100 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 624 @ DW_AT_decl_line + .long 22404 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x66ad:0x5 DW_TAG_formal_parameter + .long 22800 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x66b2:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x66b7:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x66bd:0x17 DW_TAG_subprogram + .long .Linfo_string1101 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 274 @ DW_AT_decl_line + .long 26142 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x66c9:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x66ce:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x66d4:0x18 DW_TAG_subprogram + .long .Linfo_string1102 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 358 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x66e0:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x66e5:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x66ea:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x66ec:0x17 DW_TAG_subprogram + .long .Linfo_string1103 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 575 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x66f8:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x66fd:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6703:0x17 DW_TAG_subprogram + .long .Linfo_string1104 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 691 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x670f:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6714:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x671a:0x21 DW_TAG_subprogram + .long .Linfo_string1105 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 711 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6726:0x5 DW_TAG_formal_parameter + .long 26427 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x672b:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6730:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6735:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x673b:0x5 DW_TAG_restrict_type + .long 22267 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x6740:0x1c DW_TAG_subprogram + .long .Linfo_string1106 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 280 @ DW_AT_decl_line + .long 26142 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x674c:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6751:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6756:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x675c:0x18 DW_TAG_subprogram + .long .Linfo_string1107 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 427 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6768:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x676d:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x6772:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6774:0x1c DW_TAG_subprogram + .long .Linfo_string1108 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 751 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6780:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6785:0x5 DW_TAG_formal_parameter + .long 22104 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x678a:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6790:0x17 DW_TAG_subprogram + .long .Linfo_string1109 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 805 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x679c:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x67a1:0x5 DW_TAG_formal_parameter + .long 26535 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x67a7:0x5 DW_TAG_pointer_type + .long 26540 @ DW_AT_type + .byte 61 @ Abbrev [61] 0x67ac:0x5 DW_TAG_const_type + .long 26104 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x67b1:0x12 DW_TAG_subprogram + .long .Linfo_string1110 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 756 @ DW_AT_decl_line + .long 22104 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x67bd:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x67c3:0x21 DW_TAG_subprogram + .long .Linfo_string1111 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 717 @ DW_AT_decl_line + .long 22268 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x67cf:0x5 DW_TAG_formal_parameter + .long 26596 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x67d4:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x67d9:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x67de:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 94 @ Abbrev [94] 0x67e4:0x5 DW_TAG_restrict_type + .long 18372 @ DW_AT_type + .byte 89 @ Abbrev [89] 0x67e9:0x12 DW_TAG_subprogram + .long .Linfo_string1112 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 534 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x67f5:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 104 @ Abbrev [104] 0x67fb:0xb DW_TAG_subprogram + .long .Linfo_string1113 @ DW_AT_name + .byte 41 @ DW_AT_decl_file + .byte 44 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 89 @ Abbrev [89] 0x6806:0x12 DW_TAG_subprogram + .long .Linfo_string1114 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 640 @ DW_AT_decl_line + .long 22404 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6812:0x5 DW_TAG_formal_parameter + .long 22404 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x6818:0xe DW_TAG_subprogram + .long .Linfo_string1115 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 848 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6820:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6826:0x13 DW_TAG_subprogram + .long .Linfo_string1116 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 364 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6832:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x6837:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6839:0x17 DW_TAG_subprogram + .long .Linfo_string1117 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 576 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6845:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x684a:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6850:0x11 DW_TAG_subprogram + .long .Linfo_string1118 @ DW_AT_name + .byte 41 @ DW_AT_decl_file + .byte 79 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x685b:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6861:0x12 DW_TAG_subprogram + .long .Linfo_string1119 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 697 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x686d:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6873:0x11 DW_TAG_subprogram + .long .Linfo_string1120 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .byte 180 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x687e:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x6884:0x16 DW_TAG_subprogram + .long .Linfo_string1121 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .byte 182 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x688f:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6894:0x5 DW_TAG_formal_parameter + .long 18580 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x689a:0xe DW_TAG_subprogram + .long .Linfo_string1122 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 761 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x68a2:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x68a8:0x13 DW_TAG_subprogram + .long .Linfo_string1123 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 433 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x68b4:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x68b9:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 43 @ Abbrev [43] 0x68bb:0x13 DW_TAG_subprogram + .long .Linfo_string1124 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 334 @ DW_AT_decl_line + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x68c3:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x68c8:0x5 DW_TAG_formal_parameter + .long 22800 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x68ce:0x21 DW_TAG_subprogram + .long .Linfo_string1125 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 338 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x68da:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x68df:0x5 DW_TAG_formal_parameter + .long 22800 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x68e4:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x68e9:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x68ef:0x18 DW_TAG_subprogram + .long .Linfo_string1126 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 366 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x68fb:0x5 DW_TAG_formal_parameter + .long 22800 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6900:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x6905:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6907:0x18 DW_TAG_subprogram + .long .Linfo_string1127 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 435 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6913:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6918:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x691d:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 104 @ Abbrev [104] 0x691f:0xb DW_TAG_subprogram + .long .Linfo_string1128 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .byte 197 @ DW_AT_decl_line + .long 26142 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 91 @ Abbrev [91] 0x692a:0x11 DW_TAG_subprogram + .long .Linfo_string1129 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .byte 211 @ DW_AT_decl_line + .long 22404 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6935:0x5 DW_TAG_formal_parameter + .long 22404 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x693b:0x17 DW_TAG_subprogram + .long .Linfo_string1130 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 704 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6947:0x5 DW_TAG_formal_parameter + .long 343 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x694c:0x5 DW_TAG_formal_parameter + .long 26142 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6952:0x1c DW_TAG_subprogram + .long .Linfo_string1131 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 373 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x695e:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6963:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6968:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 91 @ Abbrev [91] 0x696e:0x16 DW_TAG_subprogram + .long .Linfo_string1132 @ DW_AT_name + .byte 41 @ DW_AT_decl_file + .byte 36 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6979:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x697e:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6984:0x1c DW_TAG_subprogram + .long .Linfo_string1133 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 381 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6990:0x5 DW_TAG_formal_parameter + .long 22800 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6995:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x699a:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x69a0:0x1d DW_TAG_subprogram + .long .Linfo_string1134 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 388 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x69ac:0x5 DW_TAG_formal_parameter + .long 22800 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x69b1:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x69b6:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 70 @ Abbrev [70] 0x69bb:0x1 DW_TAG_unspecified_parameters + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x69bd:0x1c DW_TAG_subprogram + .long .Linfo_string1135 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 473 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x69c9:0x5 DW_TAG_formal_parameter + .long 26258 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x69ce:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x69d3:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x69d9:0x17 DW_TAG_subprogram + .long .Linfo_string1136 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 481 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x69e5:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x69ea:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x69f0:0x21 DW_TAG_subprogram + .long .Linfo_string1137 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 392 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x69fc:0x5 DW_TAG_formal_parameter + .long 22800 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6a01:0x5 DW_TAG_formal_parameter + .long 22268 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6a06:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6a0b:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 89 @ Abbrev [89] 0x6a11:0x1c DW_TAG_subprogram + .long .Linfo_string1138 @ DW_AT_name + .byte 36 @ DW_AT_decl_file + .short 485 @ DW_AT_decl_line + .long 343 @ DW_AT_type + @ DW_AT_declaration + @ DW_AT_external + .byte 8 @ Abbrev [8] 0x6a1d:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6a22:0x5 DW_TAG_formal_parameter + .long 22536 @ DW_AT_type + .byte 8 @ Abbrev [8] 0x6a27:0x5 DW_TAG_formal_parameter + .long 24444 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 61 @ Abbrev [61] 0x6a2d:0x5 DW_TAG_const_type + .long 18104 @ DW_AT_type + .byte 105 @ Abbrev [105] 0x6a32:0x34 DW_TAG_subprogram + .long .Lfunc_begin0 @ DW_AT_low_pc + .long .Lfunc_end0-.Lfunc_begin0 @ DW_AT_high_pc + .byte 1 @ DW_AT_frame_base + .byte 91 + .long .Linfo_string242 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 63 @ DW_AT_decl_line + .long 18432 @ DW_AT_type + @ DW_AT_external + .byte 76 @ Abbrev [76] 0x6a47:0xf DW_TAG_formal_parameter + .long .Ldebug_loc0 @ DW_AT_location + .long .Linfo_string1142 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 63 @ DW_AT_decl_line + .long 18645 @ DW_AT_type + .byte 76 @ Abbrev [76] 0x6a56:0xf DW_TAG_formal_parameter + .long .Ldebug_loc1 @ DW_AT_location + .long .Linfo_string1161 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 63 @ DW_AT_decl_line + .long 22267 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 106 @ Abbrev [106] 0x6a66:0x3e DW_TAG_subprogram + .long .Linfo_string1140 @ DW_AT_linkage_name + .long .Linfo_string1141 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1534 @ DW_AT_decl_line + .byte 1 @ DW_AT_inline + .byte 107 @ Abbrev [107] 0x6a73:0xc DW_TAG_formal_parameter + .long .Linfo_string1142 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1534 @ DW_AT_decl_line + .long 18645 @ DW_AT_type + .byte 107 @ Abbrev [107] 0x6a7f:0xc DW_TAG_formal_parameter + .long .Linfo_string1143 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1534 @ DW_AT_decl_line + .long 343 @ DW_AT_type + .byte 107 @ Abbrev [107] 0x6a8b:0xc DW_TAG_formal_parameter + .long .Linfo_string1144 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1534 @ DW_AT_decl_line + .long 343 @ DW_AT_type + .byte 107 @ Abbrev [107] 0x6a97:0xc DW_TAG_formal_parameter + .long .Linfo_string194 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1534 @ DW_AT_decl_line + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 108 @ Abbrev [108] 0x6aa4:0x2a DW_TAG_subprogram + .long 251 @ DW_AT_specification + .byte 1 @ DW_AT_inline + .long 27310 @ DW_AT_object_pointer + .byte 109 @ Abbrev [109] 0x6aae:0x9 DW_TAG_formal_parameter + .long .Linfo_string1145 @ DW_AT_name + .long 27342 @ DW_AT_type + @ DW_AT_artificial + .byte 110 @ Abbrev [110] 0x6ab7:0xb DW_TAG_formal_parameter + .long .Linfo_string1142 @ DW_AT_name + .byte 9 @ DW_AT_decl_file + .byte 70 @ DW_AT_decl_line + .long 18645 @ DW_AT_type + .byte 110 @ Abbrev [110] 0x6ac2:0xb DW_TAG_formal_parameter + .long .Linfo_string1143 @ DW_AT_name + .byte 9 @ DW_AT_decl_file + .byte 70 @ DW_AT_decl_line + .long 18365 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x6ace:0x5 DW_TAG_pointer_type + .long 58 @ DW_AT_type + .byte 106 @ Abbrev [106] 0x6ad3:0x4a DW_TAG_subprogram + .long .Linfo_string1146 @ DW_AT_linkage_name + .long .Linfo_string1147 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1544 @ DW_AT_decl_line + .byte 1 @ DW_AT_inline + .byte 107 @ Abbrev [107] 0x6ae0:0xc DW_TAG_formal_parameter + .long .Linfo_string1142 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1544 @ DW_AT_decl_line + .long 18645 @ DW_AT_type + .byte 107 @ Abbrev [107] 0x6aec:0xc DW_TAG_formal_parameter + .long .Linfo_string1143 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1544 @ DW_AT_decl_line + .long 343 @ DW_AT_type + .byte 107 @ Abbrev [107] 0x6af8:0xc DW_TAG_formal_parameter + .long .Linfo_string1144 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1544 @ DW_AT_decl_line + .long 343 @ DW_AT_type + .byte 107 @ Abbrev [107] 0x6b04:0xc DW_TAG_formal_parameter + .long .Linfo_string1148 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1544 @ DW_AT_decl_line + .long 343 @ DW_AT_type + .byte 111 @ Abbrev [111] 0x6b10:0xc DW_TAG_variable + .long .Linfo_string1149 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1545 @ DW_AT_decl_line + .long 18365 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 112 @ Abbrev [112] 0x6b1d:0x36 DW_TAG_subprogram + .long .Linfo_string1150 @ DW_AT_linkage_name + .long .Linfo_string1151 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1514 @ DW_AT_decl_line + .long 343 @ DW_AT_type + .byte 1 @ DW_AT_inline + .byte 107 @ Abbrev [107] 0x6b2e:0xc DW_TAG_formal_parameter + .long .Linfo_string1142 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1514 @ DW_AT_decl_line + .long 18645 @ DW_AT_type + .byte 107 @ Abbrev [107] 0x6b3a:0xc DW_TAG_formal_parameter + .long .Linfo_string1143 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1514 @ DW_AT_decl_line + .long 343 @ DW_AT_type + .byte 107 @ Abbrev [107] 0x6b46:0xc DW_TAG_formal_parameter + .long .Linfo_string1144 @ DW_AT_name + .byte 11 @ DW_AT_decl_file + .short 1514 @ DW_AT_decl_line + .long 343 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 108 @ Abbrev [108] 0x6b53:0x20 DW_TAG_subprogram + .long 1258 @ DW_AT_specification + .byte 1 @ DW_AT_inline + .long 27485 @ DW_AT_object_pointer + .byte 109 @ Abbrev [109] 0x6b5d:0x9 DW_TAG_formal_parameter + .long .Linfo_string1145 @ DW_AT_name + .long 27507 @ DW_AT_type + @ DW_AT_artificial + .byte 107 @ Abbrev [107] 0x6b66:0xc DW_TAG_formal_parameter + .long .Linfo_string1152 @ DW_AT_name + .byte 7 @ DW_AT_decl_file + .short 780 @ DW_AT_decl_line + .long 18514 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x6b73:0x5 DW_TAG_pointer_type + .long 357 @ DW_AT_type + .byte 74 @ Abbrev [74] 0x6b78:0x2c DW_TAG_subprogram + .long .Lfunc_begin2 @ DW_AT_low_pc + .long .Lfunc_end2-.Lfunc_begin2 @ DW_AT_high_pc + .byte 1 @ DW_AT_frame_base + .byte 93 + .long .Linfo_string248 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 121 @ DW_AT_decl_line + @ DW_AT_external + .byte 113 @ Abbrev [113] 0x6b89:0xd DW_TAG_formal_parameter + .byte 1 @ DW_AT_location + .byte 80 + .long .Linfo_string1142 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 121 @ DW_AT_decl_line + .long 18645 @ DW_AT_type + .byte 113 @ Abbrev [113] 0x6b96:0xd DW_TAG_formal_parameter + .byte 1 @ DW_AT_location + .byte 81 + .long .Linfo_string1161 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 121 @ DW_AT_decl_line + .long 22267 @ DW_AT_type + .byte 0 @ End Of Children Mark + .byte 114 @ Abbrev [114] 0x6ba4:0x18 DW_TAG_subprogram + .long .Linfo_string1153 @ DW_AT_linkage_name + .long 152 @ DW_AT_specification + .byte 1 @ DW_AT_inline + .long 27570 @ DW_AT_object_pointer + .byte 109 @ Abbrev [109] 0x6bb2:0x9 DW_TAG_formal_parameter + .long .Linfo_string1145 @ DW_AT_name + .long 27342 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 115 @ Abbrev [115] 0x6bbc:0x8 DW_TAG_subprogram + .long .Linfo_string1154 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 53 @ DW_AT_decl_line + .byte 1 @ DW_AT_inline + .byte 114 @ Abbrev [114] 0x6bc4:0x18 DW_TAG_subprogram + .long .Linfo_string1155 @ DW_AT_linkage_name + .long 2310 @ DW_AT_specification + .byte 1 @ DW_AT_inline + .long 27602 @ DW_AT_object_pointer + .byte 109 @ Abbrev [109] 0x6bd2:0x9 DW_TAG_formal_parameter + .long .Linfo_string1145 @ DW_AT_name + .long 27612 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x6bdc:0x5 DW_TAG_pointer_type + .long 2260 @ DW_AT_type + .byte 114 @ Abbrev [114] 0x6be1:0x18 DW_TAG_subprogram + .long .Linfo_string1156 @ DW_AT_linkage_name + .long 2478 @ DW_AT_specification + .byte 1 @ DW_AT_inline + .long 27631 @ DW_AT_object_pointer + .byte 109 @ Abbrev [109] 0x6bef:0x9 DW_TAG_formal_parameter + .long .Linfo_string1145 @ DW_AT_name + .long 27641 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 12 @ Abbrev [12] 0x6bf9:0x5 DW_TAG_pointer_type + .long 2240 @ DW_AT_type + .byte 114 @ Abbrev [114] 0x6bfe:0x18 DW_TAG_subprogram + .long .Linfo_string1157 @ DW_AT_linkage_name + .long 372 @ DW_AT_specification + .byte 1 @ DW_AT_inline + .long 27660 @ DW_AT_object_pointer + .byte 109 @ Abbrev [109] 0x6c0c:0x9 DW_TAG_formal_parameter + .long .Linfo_string1145 @ DW_AT_name + .long 27507 @ DW_AT_type + @ DW_AT_artificial + .byte 0 @ End Of Children Mark + .byte 115 @ Abbrev [115] 0x6c16:0x8 DW_TAG_subprogram + .long .Linfo_string1158 @ DW_AT_name + .byte 12 @ DW_AT_decl_file + .byte 54 @ DW_AT_decl_line + .byte 1 @ DW_AT_inline + .byte 116 @ Abbrev [116] 0x6c1e:0x69 DW_TAG_subprogram + .long .Lfunc_begin3 @ DW_AT_low_pc + .long .Lfunc_end3-.Lfunc_begin3 @ DW_AT_high_pc + .byte 1 @ DW_AT_frame_base + .byte 91 + .long .Linfo_string1160 @ DW_AT_linkage_name + @ DW_AT_artificial + .byte 117 @ Abbrev [117] 0x6c2d:0x49 DW_TAG_inlined_subroutine + .long 27580 @ DW_AT_abstract_origin + .long .Ltmp97 @ DW_AT_low_pc + .long .Ltmp106-.Ltmp97 @ DW_AT_high_pc + .byte 30 @ DW_AT_call_file + .byte 0 @ DW_AT_call_line + .byte 79 @ Abbrev [79] 0x6c3c:0x39 DW_TAG_inlined_subroutine + .long 27556 @ DW_AT_abstract_origin + .long .Ldebug_ranges7 @ DW_AT_ranges + .byte 12 @ DW_AT_call_file + .byte 53 @ DW_AT_call_line + .byte 80 @ Abbrev [80] 0x6c47:0x9 DW_TAG_formal_parameter + .long .Ldebug_loc17 @ DW_AT_location + .long 27570 @ DW_AT_abstract_origin + .byte 79 @ Abbrev [79] 0x6c50:0x24 DW_TAG_inlined_subroutine + .long 27646 @ DW_AT_abstract_origin + .long .Ldebug_ranges8 @ DW_AT_ranges + .byte 9 @ DW_AT_call_file + .byte 21 @ DW_AT_call_line + .byte 118 @ Abbrev [118] 0x6c5b:0x18 DW_TAG_inlined_subroutine + .long 27617 @ DW_AT_abstract_origin + .long .Ldebug_ranges9 @ DW_AT_ranges + .byte 7 @ DW_AT_call_file + .short 259 @ DW_AT_call_line + .byte 119 @ Abbrev [119] 0x6c67:0xb DW_TAG_inlined_subroutine + .long 27588 @ DW_AT_abstract_origin + .long .Ldebug_ranges10 @ DW_AT_ranges + .byte 7 @ DW_AT_call_file + .byte 125 @ DW_AT_call_line + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .byte 120 @ Abbrev [120] 0x6c76:0x10 DW_TAG_inlined_subroutine + .long 27670 @ DW_AT_abstract_origin + .long .Ltmp106 @ DW_AT_low_pc + .long .Ltmp107-.Ltmp106 @ DW_AT_high_pc + .byte 30 @ DW_AT_call_file + .byte 0 @ DW_AT_call_line + .byte 1 @ DW_AT_GNU_discriminator + .byte 0 @ End Of Children Mark + .byte 0 @ End Of Children Mark + .section .debug_ranges,"",%progbits +.Ldebug_range: +.Ldebug_ranges0: + .long .Ltmp27 + .long .Ltmp28 + .long .Ltmp57 + .long .Ltmp58 + .long .Ltmp59 + .long .Ltmp62 + .long .Ltmp72 + .long .Ltmp73 + .long 0 + .long 0 +.Ldebug_ranges1: + .long .Ltmp39 + .long .Ltmp40 + .long .Ltmp41 + .long .Ltmp44 + .long 0 + .long 0 +.Ldebug_ranges2: + .long .Ltmp31 + .long .Ltmp32 + .long .Ltmp33 + .long .Ltmp36 + .long 0 + .long 0 +.Ldebug_ranges3: + .long .Ltmp45 + .long .Ltmp46 + .long .Ltmp47 + .long .Ltmp50 + .long 0 + .long 0 +.Ldebug_ranges4: + .long .Ltmp50 + .long .Ltmp51 + .long .Ltmp52 + .long .Ltmp55 + .long 0 + .long 0 +.Ldebug_ranges5: + .long .Ltmp29 + .long .Ltmp30 + .long .Ltmp62 + .long .Ltmp63 + .long .Ltmp64 + .long .Ltmp65 + .long .Ltmp66 + .long .Ltmp70 + .long .Ltmp73 + .long .Ltmp74 + .long 0 + .long 0 +.Ldebug_ranges6: + .long .Ltmp65 + .long .Ltmp66 + .long .Ltmp70 + .long .Ltmp71 + .long .Ltmp80 + .long .Ltmp81 + .long 0 + .long 0 +.Ldebug_ranges7: + .long .Ltmp97 + .long .Ltmp98 + .long .Ltmp99 + .long .Ltmp101 + .long .Ltmp102 + .long .Ltmp103 + .long .Ltmp104 + .long .Ltmp105 + .long 0 + .long 0 +.Ldebug_ranges8: + .long .Ltmp100 + .long .Ltmp101 + .long .Ltmp102 + .long .Ltmp103 + .long .Ltmp104 + .long .Ltmp105 + .long 0 + .long 0 +.Ldebug_ranges9: + .long .Ltmp100 + .long .Ltmp101 + .long .Ltmp102 + .long .Ltmp103 + .long .Ltmp104 + .long .Ltmp105 + .long 0 + .long 0 +.Ldebug_ranges10: + .long .Ltmp100 + .long .Ltmp101 + .long .Ltmp102 + .long .Ltmp103 + .long .Ltmp104 + .long .Ltmp105 + .long 0 + .long 0 +.Ldebug_ranges11: + .long .Lfunc_begin0 + .long .Lfunc_end2 + .long .Lfunc_begin3 + .long .Lfunc_end3 + .long 0 + .long 0 + .section .debug_macinfo,"",%progbits +.Ldebug_macinfo: +.Lcu_macro_begin0: + .byte 0 @ End Of Macro List Mark + .section .debug_pubnames,"",%progbits + .long .LpubNames_end0-.LpubNames_begin0 @ Length of Public Names Info +.LpubNames_begin0: + .short 2 @ DWARF Version + .long .Lcu_begin0 @ Offset of Compilation Unit Info + .long 27784 @ Compilation Unit Length + .long 38 @ DIE offset + .asciz "pulseIn" @ External Name + .long 27475 @ DIE offset + .asciz "std::vector<int, std::allocator<int> >::operator[]" @ External Name + .long 27678 @ DIE offset + .byte 0 @ External Name + .long 14982 @ DIE offset + .asciz "std::__debug" @ External Name + .long 21530 @ DIE offset + .asciz "gRescale" @ External Name + .long 19068 @ DIE offset + .asciz "scope" @ External Name + .long 24464 @ DIE offset + .asciz "std" @ External Name + .long 27347 @ DIE offset + .asciz "pinMode" @ External Name + .long 27238 @ DIE offset + .asciz "digitalWriteOnce" @ External Name + .long 27646 @ DIE offset + .asciz "std::vector<int, std::allocator<int> >::vector" @ External Name + .long 14054 @ DIE offset + .asciz "std::__cxx11" @ External Name + .long 21510 @ DIE offset + .asciz "gMinPulseLength" @ External Name + .long 27421 @ DIE offset + .asciz "digitalRead" @ External Name + .long 27580 @ DIE offset + .asciz "__cxx_global_var_init" @ External Name + .long 21664 @ DIE offset + .asciz "render::count" @ External Name + .long 21490 @ DIE offset + .asciz "gTriggerInterval" @ External Name + .long 14989 @ DIE offset + .asciz "std::__exception_ptr" @ External Name + .long 21570 @ DIE offset + .asciz "gEchoDigitalInPin" @ External Name + .long 21610 @ DIE offset + .asciz "gPrintfCount" @ External Name + .long 21590 @ DIE offset + .asciz "gTriggerCount" @ External Name + .long 21627 @ DIE offset + .asciz "render" @ External Name + .long 27617 @ DIE offset + .asciz "std::_Vector_base<int, std::allocator<int> >::_Vector_base" @ External Name + .long 27512 @ DIE offset + .asciz "cleanup" @ External Name + .long 23291 @ DIE offset + .asciz "__gnu_debug" @ External Name + .long 27588 @ DIE offset + .asciz "std::_Vector_base<int, std::allocator<int> >::_Vector_impl::_Vector_impl" @ External Name + .long 27186 @ DIE offset + .asciz "setup" @ External Name + .long 27556 @ DIE offset + .asciz "PulseIn::PulseIn" @ External Name + .long 21550 @ DIE offset + .asciz "gTrigDigitalOutPin" @ External Name + .long 16496 @ DIE offset + .asciz "__gnu_cxx" @ External Name + .long 27670 @ DIE offset + .asciz "__cxx_global_var_init.1" @ External Name + .long 27300 @ DIE offset + .asciz "PulseIn::hasPulsed" @ External Name + .long 21644 @ DIE offset + .asciz "render::distance" @ External Name + .long 0 @ End Mark +.LpubNames_end0: + .section .debug_pubtypes,"",%progbits + .long .LpubTypes_end0-.LpubTypes_begin0 @ Length of Public Types Info +.LpubTypes_begin0: + .short 2 @ DWARF Version + .long .Lcu_begin0 @ Offset of Compilation Unit Info + .long 27784 @ Compilation Unit Length + .long 25650 @ DIE offset + .asciz "intmax_t" @ External Name + .long 7675 @ DIE offset + .asciz "std::__add_lvalue_reference_helper<AuxTaskRT, true>" @ External Name + .long 18432 @ DIE offset + .asciz "bool" @ External Name + .long 3010 @ DIE offset + .asciz "std::size_t" @ External Name + .long 21286 @ DIE offset + .asciz "_Const_Base_ptr" @ External Name + .long 6407 @ DIE offset + .asciz "std::tuple<AuxTaskRT *, std::default_delete<AuxTaskRT> >" @ External Name + .long 22747 @ DIE offset + .asciz "long unsigned int" @ External Name + .long 22104 @ DIE offset + .asciz "long int" @ External Name + .long 25628 @ DIE offset + .asciz "int_least32_t" @ External Name + .long 2999 @ DIE offset + .asciz "std::__allocator_base<int>" @ External Name + .long 5562 @ DIE offset + .asciz "std::allocator_traits<std::allocator<float> >" @ External Name + .long 17859 @ DIE offset + .asciz "__gnu_cxx::new_allocator<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ External Name + .long 6560 @ DIE offset + .asciz "std::_Tuple_impl<0, AuxTaskRT *, std::default_delete<AuxTaskRT> >" @ External Name + .long 14263 @ DIE offset + .asciz "std::pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *>" @ External Name + .long 22279 @ DIE offset + .asciz "__compar_fn_t" @ External Name + .long 13878 @ DIE offset + .asciz "std::allocator<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ External Name + .long 25551 @ DIE offset + .asciz "int64_t" @ External Name + .long 26093 @ DIE offset + .asciz "FILE" @ External Name + .long 8249 @ DIE offset + .asciz "std::tuple<WSServer *, std::default_delete<WSServer> >" @ External Name + .long 7633 @ DIE offset + .asciz "std::remove_reference<std::default_delete<AuxTaskRT> >" @ External Name + .long 22843 @ DIE offset + .asciz "lldiv_t" @ External Name + .long 17443 @ DIE offset + .asciz "__gnu_cxx::__alloc_traits<std::allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ External Name + .long 3047 @ DIE offset + .asciz "std::integral_constant<bool, true>" @ External Name + .long 23060 @ DIE offset + .asciz "long double" @ External Name + .long 14067 @ DIE offset + .asciz "std::__cxx11::wstring" @ External Name + .long 25661 @ DIE offset + .asciz "intptr_t" @ External Name + .long 23501 @ DIE offset + .asciz "_IO_FILE" @ External Name + .long 8402 @ DIE offset + .asciz "std::_Tuple_impl<0, WSServer *, std::default_delete<WSServer> >" @ External Name + .long 3130 @ DIE offset + .asciz "std::integral_constant<bool, false>" @ External Name + .long 24444 @ DIE offset + .asciz "__gnuc_va_list" @ External Name + .long 14456 @ DIE offset + .asciz "std::conditional<true, const std::pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *> &, const std::__wrap_nonesuch &>" @ External Name + .long 15333 @ DIE offset + .asciz "std::ptrdiff_t" @ External Name + .long 25723 @ DIE offset + .asciz "uint_fast32_t" @ External Name + .long 357 @ DIE offset + .asciz "std::vector<int, std::allocator<int> >" @ External Name + .long 18365 @ DIE offset + .asciz "unsigned int" @ External Name + .long 343 @ DIE offset + .asciz "int" @ External Name + .long 25584 @ DIE offset + .asciz "int_fast32_t" @ External Name + .long 2717 @ DIE offset + .asciz "std::allocator_traits<std::allocator<int> >" @ External Name + .long 25511 @ DIE offset + .asciz "int8_t" @ External Name + .long 7335 @ DIE offset + .asciz "std::__uses_alloc0" @ External Name + .long 19022 @ DIE offset + .asciz "uint32_t" @ External Name + .long 19085 @ DIE offset + .asciz "Scope" @ External Name + .long 21473 @ DIE offset + .asciz "double" @ External Name + .long 16718 @ DIE offset + .asciz "__gnu_cxx::new_allocator<int>" @ External Name + .long 25617 @ DIE offset + .asciz "int_least16_t" @ External Name + .long 25778 @ DIE offset + .asciz "uint_least64_t" @ External Name + .long 58 @ DIE offset + .asciz "PulseIn" @ External Name + .long 20518 @ DIE offset + .asciz "ne10_fft_state_float32_t" @ External Name + .long 14079 @ DIE offset + .asciz "std::_Rb_tree_node_base" @ External Name + .long 7084 @ DIE offset + .asciz "std::_Head_base<1, std::default_delete<AuxTaskRT>, true>" @ External Name + .long 2927 @ DIE offset + .asciz "std::allocator<int>" @ External Name + .long 23346 @ DIE offset + .asciz "mbstate_t" @ External Name + .long 9455 @ DIE offset + .asciz "std::map<std::__cxx11::basic_string<wchar_t>, float, std::less<std::__cxx11::basic_string<wchar_t> >, std::allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ External Name + .long 20501 @ DIE offset + .asciz "ne10_fft_cfg_float32_t" @ External Name + .long 5870 @ DIE offset + .asciz "std::unique_ptr<AuxTaskRT, std::default_delete<AuxTaskRT> >" @ External Name + .long 9102 @ DIE offset + .asciz "std::default_delete<WSServer>" @ External Name + .long 24469 @ DIE offset + .asciz "std::__va_list" @ External Name + .long 18995 @ DIE offset + .asciz "float" @ External Name + .long 16973 @ DIE offset + .asciz "__gnu_cxx::__alloc_traits<std::allocator<float> >" @ External Name + .long 18405 @ DIE offset + .asciz "const_void_pointer" @ External Name + .long 23943 @ DIE offset + .asciz "__off64_t" @ External Name + .long 25789 @ DIE offset + .asciz "uintmax_t" @ External Name + .long 14562 @ DIE offset + .asciz "std::conditional<true, std::pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *> &&, std::__wrap_nonesuch &&>" @ External Name + .long 25683 @ DIE offset + .asciz "unsigned char" @ External Name + .long 13862 @ DIE offset + .asciz "std::__allocator_base<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >" @ External Name + .long 2240 @ DIE offset + .asciz "std::_Vector_base<int, std::allocator<int> >" @ External Name + .long 7393 @ DIE offset + .asciz "std::__uses_alloc_base" @ External Name + .long 7664 @ DIE offset + .asciz "std::nullptr_t" @ External Name + .long 22012 @ DIE offset + .asciz "PIN_VALUE" @ External Name + .long 25540 @ DIE offset + .asciz "int32_t" @ External Name + .long 25712 @ DIE offset + .asciz "uint_fast16_t" @ External Name + .long 7401 @ DIE offset + .asciz "std::_Head_base<0, AuxTaskRT *, false>" @ External Name + .long 14512 @ DIE offset + .asciz "std::conditional<false, const std::pair<std::_Rb_tree_node_base *, std::_Rb_tree_node_base *> &, const std::__wrap_nonesuch &>" @ External Name + .long 20488 @ DIE offset + .asciz "ne10_fft_cpx_float32_t" @ External Name + .long 25672 @ DIE offset + .asciz "uint8_t" @ External Name + .long 23894 @ DIE offset + .asciz "__off_t" @ External Name + .long 25562 @ DIE offset + .asciz "int_fast8_t" @ External Name + .long 26104 @ DIE offset + .asciz "fpos_t" @ External Name + .long 21274 @ DIE offset + .asciz "_Base_ptr" @ External Name + .long 25573 @ DIE offset + .asciz "int_fast16_t" @ External Name + .long 23438 @ DIE offset + .asciz "wint_t" @ External Name + .long 7260 @ DIE offset + .asciz "std::default_delete<AuxTaskRT>" @ External Name + .long 5085 @ DIE offset + .asciz "std::_Vector_base<float, std::allocator<float> >" @ External Name + .long 25690 @ DIE offset + .asciz "uint16_t" @ External Name + .long 21212 @ DIE offset + .asciz "size_type" @ External Name + .long 20742 @ DIE offset + .asciz "decltype(nullptr)" @ External Name + .long 8926 @ DIE offset + .asciz "std::_Head_base<1, std::default_delete<WSServer>, true>" @ External Name + .long 9337 @ DIE offset + .asciz "std::conditional<false, std::default_delete<WSServer>, const std::default_delete<WSServer> &>" @ External Name + .long 3036 @ DIE offset + .asciz "std::true_type" @ External Name + .long 9155 @ DIE offset + .asciz "std::_Head_base<0, WSServer *, false>" @ External Name + .long 9387 @ DIE offset + .asciz "std::remove_reference<std::default_delete<WSServer> >" @ External Name + .long 5844 @ DIE offset + .asciz "std::__allocator_base<float>" @ External Name + .long 25800 @ DIE offset + .asciz "uintptr_t" @ External Name + .long 25533 @ DIE offset + .asciz "short" @ External Name + .long 25767 @ DIE offset + .asciz "uint_least32_t" @ External Name + .long 13587 @ DIE offset + .asciz "std::allocator_traits<std::allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ External Name + .long 18650 @ DIE offset + .asciz "BelaContext" @ External Name + .long 23490 @ DIE offset + .asciz "__FILE" @ External Name + .long 14242 @ DIE offset + .asciz "std::_Rb_tree_color" @ External Name + .long 17614 @ DIE offset + .asciz "__gnu_cxx::new_allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >" @ External Name + .long 23357 @ DIE offset + .asciz "__mbstate_t" @ External Name + .long 9418 @ DIE offset + .asciz "std::__add_lvalue_reference_helper<WSServer, true>" @ External Name + .long 7712 @ DIE offset + .asciz "std::unique_ptr<WSServer, std::default_delete<WSServer> >" @ External Name + .long 18104 @ DIE offset + .asciz "__gnu_cxx::_Lock_policy" @ External Name + .long 24455 @ DIE offset + .asciz "__builtin_va_list" @ External Name + .long 6853 @ DIE offset + .asciz "std::_Tuple_impl<1, std::default_delete<AuxTaskRT> >" @ External Name + .long 14018 @ DIE offset + .asciz "std::binary_function<std::__cxx11::basic_string<wchar_t>, std::__cxx11::basic_string<wchar_t>, bool>" @ External Name + .long 13790 @ DIE offset + .asciz "std::allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >" @ External Name + .long 25639 @ DIE offset + .asciz "int_least64_t" @ External Name + .long 3119 @ DIE offset + .asciz "std::false_type" @ External Name + .long 22064 @ DIE offset + .asciz "ldiv_t" @ External Name + .long 22529 @ DIE offset + .asciz "wchar_t" @ External Name + .long 10941 @ DIE offset + .asciz "std::_Rb_tree<std::__cxx11::basic_string<wchar_t>, std::pair<const std::__cxx11::basic_string<wchar_t>, float>, std::_Select1st<std::pair<const std::__cxx11::basic_string<wchar_t>, float> >, std::less<std::__cxx11::basic_string<wchar_t> >, std::allocator<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ External Name + .long 13961 @ DIE offset + .asciz "std::less<std::__cxx11::basic_string<wchar_t> >" @ External Name + .long 22268 @ DIE offset + .asciz "size_t" @ External Name + .long 23936 @ DIE offset + .asciz "_IO_lock_t" @ External Name + .long 25522 @ DIE offset + .asciz "int16_t" @ External Name + .long 22051 @ DIE offset + .asciz "div_t" @ External Name + .long 23912 @ DIE offset + .asciz "signed char" @ External Name + .long 14996 @ DIE offset + .asciz "std::__exception_ptr::exception_ptr" @ External Name + .long 25701 @ DIE offset + .asciz "uint_fast8_t" @ External Name + .long 18590 @ DIE offset + .asciz "char" @ External Name + .long 3202 @ DIE offset + .asciz "std::vector<float, std::allocator<float> >" @ External Name + .long 13950 @ DIE offset + .asciz "std::__allocator_base<std::_Rb_tree_node<std::pair<const std::__cxx11::basic_string<wchar_t>, float> > >" @ External Name + .long 8695 @ DIE offset + .asciz "std::_Tuple_impl<1, std::default_delete<WSServer> >" @ External Name + .long 25745 @ DIE offset + .asciz "uint_least8_t" @ External Name + .long 18633 @ DIE offset + .asciz "long long unsigned int" @ External Name + .long 17188 @ DIE offset + .asciz "__gnu_cxx::new_allocator<float>" @ External Name + .long 25734 @ DIE offset + .asciz "uint_fast64_t" @ External Name + .long 7583 @ DIE offset + .asciz "std::conditional<false, std::default_delete<AuxTaskRT>, const std::default_delete<AuxTaskRT> &>" @ External Name + .long 7313 @ DIE offset + .asciz "std::allocator_arg_t" @ External Name + .long 329 @ DIE offset + .asciz "__vtbl_ptr_type" @ External Name + .long 22883 @ DIE offset + .asciz "long long int" @ External Name + .long 16503 @ DIE offset + .asciz "__gnu_cxx::__alloc_traits<std::allocator<int> >" @ External Name + .long 5772 @ DIE offset + .asciz "std::allocator<float>" @ External Name + .long 25606 @ DIE offset + .asciz "int_least8_t" @ External Name + .long 25756 @ DIE offset + .asciz "uint_least16_t" @ External Name + .long 23905 @ DIE offset + .asciz "unsigned short" @ External Name + .long 25595 @ DIE offset + .asciz "int_fast64_t" @ External Name + .long 26115 @ DIE offset + .asciz "_G_fpos_t" @ External Name + .long 23954 @ DIE offset + .asciz "__quad_t" @ External Name + .long 18622 @ DIE offset + .asciz "uint64_t" @ External Name + .long 0 @ End Mark +.LpubTypes_end0: + .cfi_sections .debug_frame + + .globl gTriggerInterval +gTriggerInterval = .L_MergedGlobals + .size gTriggerInterval, 4 + .globl gMinPulseLength +gMinPulseLength = .L_MergedGlobals+4 + .size gMinPulseLength, 4 + .globl gRescale +gRescale = .L_MergedGlobals+8 + .size gRescale, 4 + .globl gTrigDigitalOutPin +gTrigDigitalOutPin = .L_MergedGlobals+12 + .size gTrigDigitalOutPin, 4 + .globl gEchoDigitalInPin +gEchoDigitalInPin = .L_MergedGlobals+16 + .size gEchoDigitalInPin, 4 + .globl gTriggerCount +gTriggerCount = .L_MergedGlobals+20 + .size gTriggerCount, 4 + .globl pulseIn +pulseIn = .L_MergedGlobals+24 + .size pulseIn, 48 +_ZZ6renderE8distance = .L_MergedGlobals.2 + .size _ZZ6renderE8distance, 4 +_ZZ6renderE5count = .L_MergedGlobals.2+4 + .size _ZZ6renderE5count, 4 + .ident "clang version 3.9.1-9 (tags/RELEASE_391/rc2)" + .section ".note.GNU-stack","",%progbits + .eabi_attribute 30, 2 @ Tag_ABI_optimization_goals + .section .debug_line,"",%progbits +.Lline_table_start0: diff --git a/ultrasonic-bela/render.cpp b/ultrasonic-bela/render.cpp new file mode 100644 index 0000000..bda9e40 --- /dev/null +++ b/ultrasonic-bela/render.cpp @@ -0,0 +1,117 @@ +/* + ____ _____ _ _ +| __ )| ____| | / \ +| _ \| _| | | / _ \ +| |_) | |___| |___ / ___ \ +|____/|_____|_____/_/ \_\ +http://bela.io +*/ +/** +\example Sensors/ultrasonic-distance-sensor/render.cpp + +Measuring distances with ultrasonic sensors +--------------------------- + +Ultrasonic sensors can detect distances to a high degree of accuracy, even +in many conditions where infrared sensors would not be suitable (e.g.: when natural +light is a problem. +For this example we used the [HC-SR04](https://cdn.sparkfun.com/datasheets/Sensors/Proximity/HCSR04.pdf). + +After it receives a short pulse (> 10us) at its TRIGGER input, the module outputs from the +ECHO output a pulse whose length is proportional to the distance of the object that is in +front of the sensor. When a trigger is received the module emits an ultrasonic wave +from its emitter and then receives the signal back in its receiver, measuring the time +difference between the two. + +According to the datasheet of this sensor, the following relation stands: + time[us] / 58 = distance[cm] +The dataseheet recommends a minimum interval of 60ms between triggers, in order to be able to +read the result appropriately. + +Bela sends out the TRIGGER event every 2646 samples(60ms) and then waits for a pulse to come +appear on the ECHO pin. The `PulseIn` class is used here to monitor a digital pin for an HIGH +pulse and once the pulse termiantes, it returnes the duration ( in samples ) of the pulse. + +The module requires a 5V power supply and its digital inputs and outputs are low at 0V and +HIGH at 5V. Check the pin diagram in the IDE to see where to find the pins you need. +It is important that the 5V ECHO output from the module *is not* connected +straight to Bela's digital inputs, as that would most likely kill the Bela board +(digital I/Os are 3.3V tolerant). You will need to use a passive resistor divider from the +HC-SR04's ECHO output to scale down the voltage before connecting it to the digital input +on `gEchoDigitalInPin`. + +On the scope you should see the pulses coming in from the trigger and the distance. The closer +the object, the shorter the pulses. Make sure you set the trigger to "channel 1" (the pulse) and +you set the horizontal zoom appropriately. +*/ + +#include <Bela.h> +#include <stdlib.h> +#include <libraries/Scope/Scope.h> +#include <libraries/PulseIn/PulseIn.h> + +PulseIn pulseIn; +Scope scope; +int gTriggerInterval = 2646; // how often to send out a trigger. 2646 samples are 60ms +int gMinPulseLength = 7; //to avoid spurious readings +float gRescale = 58; // taken from the datasheet +unsigned int gTrigDigitalOutPin = 7; //channel to be connected to the module's TRIGGER pin - check the pin diagram in the IDE +unsigned int gEchoDigitalInPin = 7; //channel to be connected to the modules's ECHO pin via resistor divider. Check the pin diagram in the IDE +int gTriggerCount = 0; +int gPrintfCount = 0; + +bool setup(BelaContext *context, void *userData) +{ + // Set the mode of digital pins + // pinMode(context, 0, gTrigDigitalOutPin, OUTPUT); // writing to TRIGGER pin + // pinMode(context, 0, gEchoDigitalInPin, INPUT); // reading from ECHO pin + pulseIn.setup(context, gEchoDigitalInPin, HIGH); //detect HIGH pulses on the ECHO pin + scope.setup(2, context->digitalSampleRate); + return true; +} + +void render(BelaContext *context, void *userData) +{ + for(unsigned int n = 0; n < context->digitalFrames; ++n){ + gTriggerCount++; + bool state; + if(gTriggerCount == gTriggerInterval){ + pinMode(context, 0, gTrigDigitalOutPin, OUTPUT); // writing to TRIGGER pin + state = LOW; + digitalWriteOnce(context, n, gTrigDigitalOutPin, state); + } else if (gTriggerCount == gTriggerInterval+1) { + pinMode(context, 0, gTrigDigitalOutPin, OUTPUT); // writing to TRIGGER pin + state = HIGH; + digitalWriteOnce(context, n, gTrigDigitalOutPin, state); + } else if (gTriggerCount == gTriggerInterval+2) { + gTriggerCount = 0; + state = LOW; + digitalWriteOnce(context, n, gTrigDigitalOutPin, state); + } else { + pinMode(context, 0, gTrigDigitalOutPin, INPUT); // writing to TRIGGER pin + } + + auto dRead = digitalRead(context, n, gEchoDigitalInPin); + int pulseLength = pulseIn.hasPulsed(context, n); // will return the pulse duration(in samples) if a pulse just ended + + float duration = 1e6 * pulseLength / context->digitalSampleRate; // pulse duration in microseconds + + static float distance = 0; + if(pulseLength >= gMinPulseLength){ + // rescaling according to the datasheet + distance = duration / gRescale; + } + static int count = 0; + if(count > 5000){ // we do not want to print the value every time we read it + rt_printf("pulseLength: %d, distance: %fcm\n", pulseLength, distance); + count = 0; + } + ++count; + // Logging to the scope the pulse inputs (gEchoDigitalInPin) and the distance + scope.log(dRead * 0.5, distance/100); + } +} + +void cleanup(BelaContext *context, void *userData) +{ +} diff --git a/ultrasonic-bela/settings.json b/ultrasonic-bela/settings.json new file mode 100644 index 0000000..9641d89 --- /dev/null +++ b/ultrasonic-bela/settings.json @@ -0,0 +1,34 @@ +{ + "fileName": "render.cpp", + "CLArgs": { + "-p": "16", + "-C": "8", + "-B": "16", + "-N": "1", + "-G": "1", + "-M": "0", + "-H0,": "-6", + "-H1,": "-6", + "-H2,": "-6", + "-H3,": "-6", + "-H4,": "-6", + "-H5,": "-6", + "-H6,": "-6", + "-H7,": "-6", + "-I0,": "10", + "-I1,": "10", + "-I2,": "10", + "-I3,": "10", + "-I4,": "10", + "-I5,": "10", + "-I6,": "10", + "-I7,": "10", + "user": "", + "make": "", + "-X": "0", + "audioExpander": "0", + "-Y": "", + "-Z": "", + "--disable-led": "0" + } +} -- Gitblit v1.9.1