diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h
new file mode 100644
index 0000000..cd2a9e0
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h
@@ -0,0 +1,40 @@
+/* Copyright (C) 1992-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _ALLOCA_H
+#define _ALLOCA_H 1
+
+#include
+
+#define __need_size_t
+#include
+
+__BEGIN_DECLS
+
+/* Remove any previous definition. */
+#undef alloca
+
+/* Allocate a block that will be freed when the calling function exits. */
+extern void *alloca (size_t __size) __THROW;
+
+#ifdef __GNUC__
+# define alloca(size) __builtin_alloca (size)
+#endif /* GCC. */
+
+__END_DECLS
+
+#endif /* alloca.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h.blob
new file mode 100644
index 0000000..f7416f6
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@alloca.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h
new file mode 100644
index 0000000..6438a8b
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h
@@ -0,0 +1,79 @@
+/* Macros and inline functions to swap the order of bytes in integer values.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#if !defined _BYTESWAP_H && !defined _NETINET_IN_H && !defined _ENDIAN_H
+# error "Never use directly; include instead."
+#endif
+
+#ifndef _BITS_BYTESWAP_H
+#define _BITS_BYTESWAP_H 1
+
+#include
+#include
+
+/* Swap bytes in 16-bit value. */
+#define __bswap_constant_16(x) \
+ ((__uint16_t) ((((x) >> 8) & 0xff) | (((x) & 0xff) << 8)))
+
+static __inline __uint16_t
+__bswap_16 (__uint16_t __bsx)
+{
+#if __GNUC_PREREQ (4, 8)
+ return __builtin_bswap16 (__bsx);
+#else
+ return __bswap_constant_16 (__bsx);
+#endif
+}
+
+/* Swap bytes in 32-bit value. */
+#define __bswap_constant_32(x) \
+ ((((x) & 0xff000000u) >> 24) | (((x) & 0x00ff0000u) >> 8) \
+ | (((x) & 0x0000ff00u) << 8) | (((x) & 0x000000ffu) << 24))
+
+static __inline __uint32_t
+__bswap_32 (__uint32_t __bsx)
+{
+#if __GNUC_PREREQ (4, 3)
+ return __builtin_bswap32 (__bsx);
+#else
+ return __bswap_constant_32 (__bsx);
+#endif
+}
+
+/* Swap bytes in 64-bit value. */
+#define __bswap_constant_64(x) \
+ ((((x) & 0xff00000000000000ull) >> 56) \
+ | (((x) & 0x00ff000000000000ull) >> 40) \
+ | (((x) & 0x0000ff0000000000ull) >> 24) \
+ | (((x) & 0x000000ff00000000ull) >> 8) \
+ | (((x) & 0x00000000ff000000ull) << 8) \
+ | (((x) & 0x0000000000ff0000ull) << 24) \
+ | (((x) & 0x000000000000ff00ull) << 40) \
+ | (((x) & 0x00000000000000ffull) << 56))
+
+__extension__ static __inline __uint64_t
+__bswap_64 (__uint64_t __bsx)
+{
+#if __GNUC_PREREQ (4, 3)
+ return __builtin_bswap64 (__bsx);
+#else
+ return __bswap_constant_64 (__bsx);
+#endif
+}
+
+#endif /* _BITS_BYTESWAP_H */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h.blob
new file mode 100644
index 0000000..988117a
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@byteswap.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h
new file mode 100644
index 0000000..ec6cd07
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h
@@ -0,0 +1,681 @@
+/* `sysconf', `pathconf', and `confstr' NAME values. Generic version.
+ Copyright (C) 1993-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _UNISTD_H
+# error "Never use directly; include instead."
+#endif
+
+/* Values for the NAME argument to `pathconf' and `fpathconf'. */
+enum
+ {
+ _PC_LINK_MAX,
+#define _PC_LINK_MAX _PC_LINK_MAX
+ _PC_MAX_CANON,
+#define _PC_MAX_CANON _PC_MAX_CANON
+ _PC_MAX_INPUT,
+#define _PC_MAX_INPUT _PC_MAX_INPUT
+ _PC_NAME_MAX,
+#define _PC_NAME_MAX _PC_NAME_MAX
+ _PC_PATH_MAX,
+#define _PC_PATH_MAX _PC_PATH_MAX
+ _PC_PIPE_BUF,
+#define _PC_PIPE_BUF _PC_PIPE_BUF
+ _PC_CHOWN_RESTRICTED,
+#define _PC_CHOWN_RESTRICTED _PC_CHOWN_RESTRICTED
+ _PC_NO_TRUNC,
+#define _PC_NO_TRUNC _PC_NO_TRUNC
+ _PC_VDISABLE,
+#define _PC_VDISABLE _PC_VDISABLE
+ _PC_SYNC_IO,
+#define _PC_SYNC_IO _PC_SYNC_IO
+ _PC_ASYNC_IO,
+#define _PC_ASYNC_IO _PC_ASYNC_IO
+ _PC_PRIO_IO,
+#define _PC_PRIO_IO _PC_PRIO_IO
+ _PC_SOCK_MAXBUF,
+#define _PC_SOCK_MAXBUF _PC_SOCK_MAXBUF
+ _PC_FILESIZEBITS,
+#define _PC_FILESIZEBITS _PC_FILESIZEBITS
+ _PC_REC_INCR_XFER_SIZE,
+#define _PC_REC_INCR_XFER_SIZE _PC_REC_INCR_XFER_SIZE
+ _PC_REC_MAX_XFER_SIZE,
+#define _PC_REC_MAX_XFER_SIZE _PC_REC_MAX_XFER_SIZE
+ _PC_REC_MIN_XFER_SIZE,
+#define _PC_REC_MIN_XFER_SIZE _PC_REC_MIN_XFER_SIZE
+ _PC_REC_XFER_ALIGN,
+#define _PC_REC_XFER_ALIGN _PC_REC_XFER_ALIGN
+ _PC_ALLOC_SIZE_MIN,
+#define _PC_ALLOC_SIZE_MIN _PC_ALLOC_SIZE_MIN
+ _PC_SYMLINK_MAX,
+#define _PC_SYMLINK_MAX _PC_SYMLINK_MAX
+ _PC_2_SYMLINKS
+#define _PC_2_SYMLINKS _PC_2_SYMLINKS
+ };
+
+/* Values for the argument to `sysconf'. */
+enum
+ {
+ _SC_ARG_MAX,
+#define _SC_ARG_MAX _SC_ARG_MAX
+ _SC_CHILD_MAX,
+#define _SC_CHILD_MAX _SC_CHILD_MAX
+ _SC_CLK_TCK,
+#define _SC_CLK_TCK _SC_CLK_TCK
+ _SC_NGROUPS_MAX,
+#define _SC_NGROUPS_MAX _SC_NGROUPS_MAX
+ _SC_OPEN_MAX,
+#define _SC_OPEN_MAX _SC_OPEN_MAX
+ _SC_STREAM_MAX,
+#define _SC_STREAM_MAX _SC_STREAM_MAX
+ _SC_TZNAME_MAX,
+#define _SC_TZNAME_MAX _SC_TZNAME_MAX
+ _SC_JOB_CONTROL,
+#define _SC_JOB_CONTROL _SC_JOB_CONTROL
+ _SC_SAVED_IDS,
+#define _SC_SAVED_IDS _SC_SAVED_IDS
+ _SC_REALTIME_SIGNALS,
+#define _SC_REALTIME_SIGNALS _SC_REALTIME_SIGNALS
+ _SC_PRIORITY_SCHEDULING,
+#define _SC_PRIORITY_SCHEDULING _SC_PRIORITY_SCHEDULING
+ _SC_TIMERS,
+#define _SC_TIMERS _SC_TIMERS
+ _SC_ASYNCHRONOUS_IO,
+#define _SC_ASYNCHRONOUS_IO _SC_ASYNCHRONOUS_IO
+ _SC_PRIORITIZED_IO,
+#define _SC_PRIORITIZED_IO _SC_PRIORITIZED_IO
+ _SC_SYNCHRONIZED_IO,
+#define _SC_SYNCHRONIZED_IO _SC_SYNCHRONIZED_IO
+ _SC_FSYNC,
+#define _SC_FSYNC _SC_FSYNC
+ _SC_MAPPED_FILES,
+#define _SC_MAPPED_FILES _SC_MAPPED_FILES
+ _SC_MEMLOCK,
+#define _SC_MEMLOCK _SC_MEMLOCK
+ _SC_MEMLOCK_RANGE,
+#define _SC_MEMLOCK_RANGE _SC_MEMLOCK_RANGE
+ _SC_MEMORY_PROTECTION,
+#define _SC_MEMORY_PROTECTION _SC_MEMORY_PROTECTION
+ _SC_MESSAGE_PASSING,
+#define _SC_MESSAGE_PASSING _SC_MESSAGE_PASSING
+ _SC_SEMAPHORES,
+#define _SC_SEMAPHORES _SC_SEMAPHORES
+ _SC_SHARED_MEMORY_OBJECTS,
+#define _SC_SHARED_MEMORY_OBJECTS _SC_SHARED_MEMORY_OBJECTS
+ _SC_AIO_LISTIO_MAX,
+#define _SC_AIO_LISTIO_MAX _SC_AIO_LISTIO_MAX
+ _SC_AIO_MAX,
+#define _SC_AIO_MAX _SC_AIO_MAX
+ _SC_AIO_PRIO_DELTA_MAX,
+#define _SC_AIO_PRIO_DELTA_MAX _SC_AIO_PRIO_DELTA_MAX
+ _SC_DELAYTIMER_MAX,
+#define _SC_DELAYTIMER_MAX _SC_DELAYTIMER_MAX
+ _SC_MQ_OPEN_MAX,
+#define _SC_MQ_OPEN_MAX _SC_MQ_OPEN_MAX
+ _SC_MQ_PRIO_MAX,
+#define _SC_MQ_PRIO_MAX _SC_MQ_PRIO_MAX
+ _SC_VERSION,
+#define _SC_VERSION _SC_VERSION
+ _SC_PAGESIZE,
+#define _SC_PAGESIZE _SC_PAGESIZE
+#define _SC_PAGE_SIZE _SC_PAGESIZE
+ _SC_RTSIG_MAX,
+#define _SC_RTSIG_MAX _SC_RTSIG_MAX
+ _SC_SEM_NSEMS_MAX,
+#define _SC_SEM_NSEMS_MAX _SC_SEM_NSEMS_MAX
+ _SC_SEM_VALUE_MAX,
+#define _SC_SEM_VALUE_MAX _SC_SEM_VALUE_MAX
+ _SC_SIGQUEUE_MAX,
+#define _SC_SIGQUEUE_MAX _SC_SIGQUEUE_MAX
+ _SC_TIMER_MAX,
+#define _SC_TIMER_MAX _SC_TIMER_MAX
+
+ /* Values for the argument to `sysconf'
+ corresponding to _POSIX2_* symbols. */
+ _SC_BC_BASE_MAX,
+#define _SC_BC_BASE_MAX _SC_BC_BASE_MAX
+ _SC_BC_DIM_MAX,
+#define _SC_BC_DIM_MAX _SC_BC_DIM_MAX
+ _SC_BC_SCALE_MAX,
+#define _SC_BC_SCALE_MAX _SC_BC_SCALE_MAX
+ _SC_BC_STRING_MAX,
+#define _SC_BC_STRING_MAX _SC_BC_STRING_MAX
+ _SC_COLL_WEIGHTS_MAX,
+#define _SC_COLL_WEIGHTS_MAX _SC_COLL_WEIGHTS_MAX
+ _SC_EQUIV_CLASS_MAX,
+#define _SC_EQUIV_CLASS_MAX _SC_EQUIV_CLASS_MAX
+ _SC_EXPR_NEST_MAX,
+#define _SC_EXPR_NEST_MAX _SC_EXPR_NEST_MAX
+ _SC_LINE_MAX,
+#define _SC_LINE_MAX _SC_LINE_MAX
+ _SC_RE_DUP_MAX,
+#define _SC_RE_DUP_MAX _SC_RE_DUP_MAX
+ _SC_CHARCLASS_NAME_MAX,
+#define _SC_CHARCLASS_NAME_MAX _SC_CHARCLASS_NAME_MAX
+
+ _SC_2_VERSION,
+#define _SC_2_VERSION _SC_2_VERSION
+ _SC_2_C_BIND,
+#define _SC_2_C_BIND _SC_2_C_BIND
+ _SC_2_C_DEV,
+#define _SC_2_C_DEV _SC_2_C_DEV
+ _SC_2_FORT_DEV,
+#define _SC_2_FORT_DEV _SC_2_FORT_DEV
+ _SC_2_FORT_RUN,
+#define _SC_2_FORT_RUN _SC_2_FORT_RUN
+ _SC_2_SW_DEV,
+#define _SC_2_SW_DEV _SC_2_SW_DEV
+ _SC_2_LOCALEDEF,
+#define _SC_2_LOCALEDEF _SC_2_LOCALEDEF
+
+ _SC_PII,
+#define _SC_PII _SC_PII
+ _SC_PII_XTI,
+#define _SC_PII_XTI _SC_PII_XTI
+ _SC_PII_SOCKET,
+#define _SC_PII_SOCKET _SC_PII_SOCKET
+ _SC_PII_INTERNET,
+#define _SC_PII_INTERNET _SC_PII_INTERNET
+ _SC_PII_OSI,
+#define _SC_PII_OSI _SC_PII_OSI
+ _SC_POLL,
+#define _SC_POLL _SC_POLL
+ _SC_SELECT,
+#define _SC_SELECT _SC_SELECT
+ _SC_UIO_MAXIOV,
+#define _SC_UIO_MAXIOV _SC_UIO_MAXIOV
+ _SC_IOV_MAX = _SC_UIO_MAXIOV,
+#define _SC_IOV_MAX _SC_IOV_MAX
+ _SC_PII_INTERNET_STREAM,
+#define _SC_PII_INTERNET_STREAM _SC_PII_INTERNET_STREAM
+ _SC_PII_INTERNET_DGRAM,
+#define _SC_PII_INTERNET_DGRAM _SC_PII_INTERNET_DGRAM
+ _SC_PII_OSI_COTS,
+#define _SC_PII_OSI_COTS _SC_PII_OSI_COTS
+ _SC_PII_OSI_CLTS,
+#define _SC_PII_OSI_CLTS _SC_PII_OSI_CLTS
+ _SC_PII_OSI_M,
+#define _SC_PII_OSI_M _SC_PII_OSI_M
+ _SC_T_IOV_MAX,
+#define _SC_T_IOV_MAX _SC_T_IOV_MAX
+
+ /* Values according to POSIX 1003.1c (POSIX threads). */
+ _SC_THREADS,
+#define _SC_THREADS _SC_THREADS
+ _SC_THREAD_SAFE_FUNCTIONS,
+#define _SC_THREAD_SAFE_FUNCTIONS _SC_THREAD_SAFE_FUNCTIONS
+ _SC_GETGR_R_SIZE_MAX,
+#define _SC_GETGR_R_SIZE_MAX _SC_GETGR_R_SIZE_MAX
+ _SC_GETPW_R_SIZE_MAX,
+#define _SC_GETPW_R_SIZE_MAX _SC_GETPW_R_SIZE_MAX
+ _SC_LOGIN_NAME_MAX,
+#define _SC_LOGIN_NAME_MAX _SC_LOGIN_NAME_MAX
+ _SC_TTY_NAME_MAX,
+#define _SC_TTY_NAME_MAX _SC_TTY_NAME_MAX
+ _SC_THREAD_DESTRUCTOR_ITERATIONS,
+#define _SC_THREAD_DESTRUCTOR_ITERATIONS _SC_THREAD_DESTRUCTOR_ITERATIONS
+ _SC_THREAD_KEYS_MAX,
+#define _SC_THREAD_KEYS_MAX _SC_THREAD_KEYS_MAX
+ _SC_THREAD_STACK_MIN,
+#define _SC_THREAD_STACK_MIN _SC_THREAD_STACK_MIN
+ _SC_THREAD_THREADS_MAX,
+#define _SC_THREAD_THREADS_MAX _SC_THREAD_THREADS_MAX
+ _SC_THREAD_ATTR_STACKADDR,
+#define _SC_THREAD_ATTR_STACKADDR _SC_THREAD_ATTR_STACKADDR
+ _SC_THREAD_ATTR_STACKSIZE,
+#define _SC_THREAD_ATTR_STACKSIZE _SC_THREAD_ATTR_STACKSIZE
+ _SC_THREAD_PRIORITY_SCHEDULING,
+#define _SC_THREAD_PRIORITY_SCHEDULING _SC_THREAD_PRIORITY_SCHEDULING
+ _SC_THREAD_PRIO_INHERIT,
+#define _SC_THREAD_PRIO_INHERIT _SC_THREAD_PRIO_INHERIT
+ _SC_THREAD_PRIO_PROTECT,
+#define _SC_THREAD_PRIO_PROTECT _SC_THREAD_PRIO_PROTECT
+ _SC_THREAD_PROCESS_SHARED,
+#define _SC_THREAD_PROCESS_SHARED _SC_THREAD_PROCESS_SHARED
+
+ _SC_NPROCESSORS_CONF,
+#define _SC_NPROCESSORS_CONF _SC_NPROCESSORS_CONF
+ _SC_NPROCESSORS_ONLN,
+#define _SC_NPROCESSORS_ONLN _SC_NPROCESSORS_ONLN
+ _SC_PHYS_PAGES,
+#define _SC_PHYS_PAGES _SC_PHYS_PAGES
+ _SC_AVPHYS_PAGES,
+#define _SC_AVPHYS_PAGES _SC_AVPHYS_PAGES
+ _SC_ATEXIT_MAX,
+#define _SC_ATEXIT_MAX _SC_ATEXIT_MAX
+ _SC_PASS_MAX,
+#define _SC_PASS_MAX _SC_PASS_MAX
+
+ _SC_XOPEN_VERSION,
+#define _SC_XOPEN_VERSION _SC_XOPEN_VERSION
+ _SC_XOPEN_XCU_VERSION,
+#define _SC_XOPEN_XCU_VERSION _SC_XOPEN_XCU_VERSION
+ _SC_XOPEN_UNIX,
+#define _SC_XOPEN_UNIX _SC_XOPEN_UNIX
+ _SC_XOPEN_CRYPT,
+#define _SC_XOPEN_CRYPT _SC_XOPEN_CRYPT
+ _SC_XOPEN_ENH_I18N,
+#define _SC_XOPEN_ENH_I18N _SC_XOPEN_ENH_I18N
+ _SC_XOPEN_SHM,
+#define _SC_XOPEN_SHM _SC_XOPEN_SHM
+
+ _SC_2_CHAR_TERM,
+#define _SC_2_CHAR_TERM _SC_2_CHAR_TERM
+ _SC_2_C_VERSION,
+#define _SC_2_C_VERSION _SC_2_C_VERSION
+ _SC_2_UPE,
+#define _SC_2_UPE _SC_2_UPE
+
+ _SC_XOPEN_XPG2,
+#define _SC_XOPEN_XPG2 _SC_XOPEN_XPG2
+ _SC_XOPEN_XPG3,
+#define _SC_XOPEN_XPG3 _SC_XOPEN_XPG3
+ _SC_XOPEN_XPG4,
+#define _SC_XOPEN_XPG4 _SC_XOPEN_XPG4
+
+ _SC_CHAR_BIT,
+#define _SC_CHAR_BIT _SC_CHAR_BIT
+ _SC_CHAR_MAX,
+#define _SC_CHAR_MAX _SC_CHAR_MAX
+ _SC_CHAR_MIN,
+#define _SC_CHAR_MIN _SC_CHAR_MIN
+ _SC_INT_MAX,
+#define _SC_INT_MAX _SC_INT_MAX
+ _SC_INT_MIN,
+#define _SC_INT_MIN _SC_INT_MIN
+ _SC_LONG_BIT,
+#define _SC_LONG_BIT _SC_LONG_BIT
+ _SC_WORD_BIT,
+#define _SC_WORD_BIT _SC_WORD_BIT
+ _SC_MB_LEN_MAX,
+#define _SC_MB_LEN_MAX _SC_MB_LEN_MAX
+ _SC_NZERO,
+#define _SC_NZERO _SC_NZERO
+ _SC_SSIZE_MAX,
+#define _SC_SSIZE_MAX _SC_SSIZE_MAX
+ _SC_SCHAR_MAX,
+#define _SC_SCHAR_MAX _SC_SCHAR_MAX
+ _SC_SCHAR_MIN,
+#define _SC_SCHAR_MIN _SC_SCHAR_MIN
+ _SC_SHRT_MAX,
+#define _SC_SHRT_MAX _SC_SHRT_MAX
+ _SC_SHRT_MIN,
+#define _SC_SHRT_MIN _SC_SHRT_MIN
+ _SC_UCHAR_MAX,
+#define _SC_UCHAR_MAX _SC_UCHAR_MAX
+ _SC_UINT_MAX,
+#define _SC_UINT_MAX _SC_UINT_MAX
+ _SC_ULONG_MAX,
+#define _SC_ULONG_MAX _SC_ULONG_MAX
+ _SC_USHRT_MAX,
+#define _SC_USHRT_MAX _SC_USHRT_MAX
+
+ _SC_NL_ARGMAX,
+#define _SC_NL_ARGMAX _SC_NL_ARGMAX
+ _SC_NL_LANGMAX,
+#define _SC_NL_LANGMAX _SC_NL_LANGMAX
+ _SC_NL_MSGMAX,
+#define _SC_NL_MSGMAX _SC_NL_MSGMAX
+ _SC_NL_NMAX,
+#define _SC_NL_NMAX _SC_NL_NMAX
+ _SC_NL_SETMAX,
+#define _SC_NL_SETMAX _SC_NL_SETMAX
+ _SC_NL_TEXTMAX,
+#define _SC_NL_TEXTMAX _SC_NL_TEXTMAX
+
+ _SC_XBS5_ILP32_OFF32,
+#define _SC_XBS5_ILP32_OFF32 _SC_XBS5_ILP32_OFF32
+ _SC_XBS5_ILP32_OFFBIG,
+#define _SC_XBS5_ILP32_OFFBIG _SC_XBS5_ILP32_OFFBIG
+ _SC_XBS5_LP64_OFF64,
+#define _SC_XBS5_LP64_OFF64 _SC_XBS5_LP64_OFF64
+ _SC_XBS5_LPBIG_OFFBIG,
+#define _SC_XBS5_LPBIG_OFFBIG _SC_XBS5_LPBIG_OFFBIG
+
+ _SC_XOPEN_LEGACY,
+#define _SC_XOPEN_LEGACY _SC_XOPEN_LEGACY
+ _SC_XOPEN_REALTIME,
+#define _SC_XOPEN_REALTIME _SC_XOPEN_REALTIME
+ _SC_XOPEN_REALTIME_THREADS,
+#define _SC_XOPEN_REALTIME_THREADS _SC_XOPEN_REALTIME_THREADS
+
+ _SC_ADVISORY_INFO,
+#define _SC_ADVISORY_INFO _SC_ADVISORY_INFO
+ _SC_BARRIERS,
+#define _SC_BARRIERS _SC_BARRIERS
+ _SC_BASE,
+#define _SC_BASE _SC_BASE
+ _SC_C_LANG_SUPPORT,
+#define _SC_C_LANG_SUPPORT _SC_C_LANG_SUPPORT
+ _SC_C_LANG_SUPPORT_R,
+#define _SC_C_LANG_SUPPORT_R _SC_C_LANG_SUPPORT_R
+ _SC_CLOCK_SELECTION,
+#define _SC_CLOCK_SELECTION _SC_CLOCK_SELECTION
+ _SC_CPUTIME,
+#define _SC_CPUTIME _SC_CPUTIME
+ _SC_THREAD_CPUTIME,
+#define _SC_THREAD_CPUTIME _SC_THREAD_CPUTIME
+ _SC_DEVICE_IO,
+#define _SC_DEVICE_IO _SC_DEVICE_IO
+ _SC_DEVICE_SPECIFIC,
+#define _SC_DEVICE_SPECIFIC _SC_DEVICE_SPECIFIC
+ _SC_DEVICE_SPECIFIC_R,
+#define _SC_DEVICE_SPECIFIC_R _SC_DEVICE_SPECIFIC_R
+ _SC_FD_MGMT,
+#define _SC_FD_MGMT _SC_FD_MGMT
+ _SC_FIFO,
+#define _SC_FIFO _SC_FIFO
+ _SC_PIPE,
+#define _SC_PIPE _SC_PIPE
+ _SC_FILE_ATTRIBUTES,
+#define _SC_FILE_ATTRIBUTES _SC_FILE_ATTRIBUTES
+ _SC_FILE_LOCKING,
+#define _SC_FILE_LOCKING _SC_FILE_LOCKING
+ _SC_FILE_SYSTEM,
+#define _SC_FILE_SYSTEM _SC_FILE_SYSTEM
+ _SC_MONOTONIC_CLOCK,
+#define _SC_MONOTONIC_CLOCK _SC_MONOTONIC_CLOCK
+ _SC_MULTI_PROCESS,
+#define _SC_MULTI_PROCESS _SC_MULTI_PROCESS
+ _SC_SINGLE_PROCESS,
+#define _SC_SINGLE_PROCESS _SC_SINGLE_PROCESS
+ _SC_NETWORKING,
+#define _SC_NETWORKING _SC_NETWORKING
+ _SC_READER_WRITER_LOCKS,
+#define _SC_READER_WRITER_LOCKS _SC_READER_WRITER_LOCKS
+ _SC_SPIN_LOCKS,
+#define _SC_SPIN_LOCKS _SC_SPIN_LOCKS
+ _SC_REGEXP,
+#define _SC_REGEXP _SC_REGEXP
+ _SC_REGEX_VERSION,
+#define _SC_REGEX_VERSION _SC_REGEX_VERSION
+ _SC_SHELL,
+#define _SC_SHELL _SC_SHELL
+ _SC_SIGNALS,
+#define _SC_SIGNALS _SC_SIGNALS
+ _SC_SPAWN,
+#define _SC_SPAWN _SC_SPAWN
+ _SC_SPORADIC_SERVER,
+#define _SC_SPORADIC_SERVER _SC_SPORADIC_SERVER
+ _SC_THREAD_SPORADIC_SERVER,
+#define _SC_THREAD_SPORADIC_SERVER _SC_THREAD_SPORADIC_SERVER
+ _SC_SYSTEM_DATABASE,
+#define _SC_SYSTEM_DATABASE _SC_SYSTEM_DATABASE
+ _SC_SYSTEM_DATABASE_R,
+#define _SC_SYSTEM_DATABASE_R _SC_SYSTEM_DATABASE_R
+ _SC_TIMEOUTS,
+#define _SC_TIMEOUTS _SC_TIMEOUTS
+ _SC_TYPED_MEMORY_OBJECTS,
+#define _SC_TYPED_MEMORY_OBJECTS _SC_TYPED_MEMORY_OBJECTS
+ _SC_USER_GROUPS,
+#define _SC_USER_GROUPS _SC_USER_GROUPS
+ _SC_USER_GROUPS_R,
+#define _SC_USER_GROUPS_R _SC_USER_GROUPS_R
+ _SC_2_PBS,
+#define _SC_2_PBS _SC_2_PBS
+ _SC_2_PBS_ACCOUNTING,
+#define _SC_2_PBS_ACCOUNTING _SC_2_PBS_ACCOUNTING
+ _SC_2_PBS_LOCATE,
+#define _SC_2_PBS_LOCATE _SC_2_PBS_LOCATE
+ _SC_2_PBS_MESSAGE,
+#define _SC_2_PBS_MESSAGE _SC_2_PBS_MESSAGE
+ _SC_2_PBS_TRACK,
+#define _SC_2_PBS_TRACK _SC_2_PBS_TRACK
+ _SC_SYMLOOP_MAX,
+#define _SC_SYMLOOP_MAX _SC_SYMLOOP_MAX
+ _SC_STREAMS,
+#define _SC_STREAMS _SC_STREAMS
+ _SC_2_PBS_CHECKPOINT,
+#define _SC_2_PBS_CHECKPOINT _SC_2_PBS_CHECKPOINT
+
+ _SC_V6_ILP32_OFF32,
+#define _SC_V6_ILP32_OFF32 _SC_V6_ILP32_OFF32
+ _SC_V6_ILP32_OFFBIG,
+#define _SC_V6_ILP32_OFFBIG _SC_V6_ILP32_OFFBIG
+ _SC_V6_LP64_OFF64,
+#define _SC_V6_LP64_OFF64 _SC_V6_LP64_OFF64
+ _SC_V6_LPBIG_OFFBIG,
+#define _SC_V6_LPBIG_OFFBIG _SC_V6_LPBIG_OFFBIG
+
+ _SC_HOST_NAME_MAX,
+#define _SC_HOST_NAME_MAX _SC_HOST_NAME_MAX
+ _SC_TRACE,
+#define _SC_TRACE _SC_TRACE
+ _SC_TRACE_EVENT_FILTER,
+#define _SC_TRACE_EVENT_FILTER _SC_TRACE_EVENT_FILTER
+ _SC_TRACE_INHERIT,
+#define _SC_TRACE_INHERIT _SC_TRACE_INHERIT
+ _SC_TRACE_LOG,
+#define _SC_TRACE_LOG _SC_TRACE_LOG
+
+ _SC_LEVEL1_ICACHE_SIZE,
+#define _SC_LEVEL1_ICACHE_SIZE _SC_LEVEL1_ICACHE_SIZE
+ _SC_LEVEL1_ICACHE_ASSOC,
+#define _SC_LEVEL1_ICACHE_ASSOC _SC_LEVEL1_ICACHE_ASSOC
+ _SC_LEVEL1_ICACHE_LINESIZE,
+#define _SC_LEVEL1_ICACHE_LINESIZE _SC_LEVEL1_ICACHE_LINESIZE
+ _SC_LEVEL1_DCACHE_SIZE,
+#define _SC_LEVEL1_DCACHE_SIZE _SC_LEVEL1_DCACHE_SIZE
+ _SC_LEVEL1_DCACHE_ASSOC,
+#define _SC_LEVEL1_DCACHE_ASSOC _SC_LEVEL1_DCACHE_ASSOC
+ _SC_LEVEL1_DCACHE_LINESIZE,
+#define _SC_LEVEL1_DCACHE_LINESIZE _SC_LEVEL1_DCACHE_LINESIZE
+ _SC_LEVEL2_CACHE_SIZE,
+#define _SC_LEVEL2_CACHE_SIZE _SC_LEVEL2_CACHE_SIZE
+ _SC_LEVEL2_CACHE_ASSOC,
+#define _SC_LEVEL2_CACHE_ASSOC _SC_LEVEL2_CACHE_ASSOC
+ _SC_LEVEL2_CACHE_LINESIZE,
+#define _SC_LEVEL2_CACHE_LINESIZE _SC_LEVEL2_CACHE_LINESIZE
+ _SC_LEVEL3_CACHE_SIZE,
+#define _SC_LEVEL3_CACHE_SIZE _SC_LEVEL3_CACHE_SIZE
+ _SC_LEVEL3_CACHE_ASSOC,
+#define _SC_LEVEL3_CACHE_ASSOC _SC_LEVEL3_CACHE_ASSOC
+ _SC_LEVEL3_CACHE_LINESIZE,
+#define _SC_LEVEL3_CACHE_LINESIZE _SC_LEVEL3_CACHE_LINESIZE
+ _SC_LEVEL4_CACHE_SIZE,
+#define _SC_LEVEL4_CACHE_SIZE _SC_LEVEL4_CACHE_SIZE
+ _SC_LEVEL4_CACHE_ASSOC,
+#define _SC_LEVEL4_CACHE_ASSOC _SC_LEVEL4_CACHE_ASSOC
+ _SC_LEVEL4_CACHE_LINESIZE,
+#define _SC_LEVEL4_CACHE_LINESIZE _SC_LEVEL4_CACHE_LINESIZE
+ /* Leave room here, maybe we need a few more cache levels some day. */
+
+ _SC_IPV6 = _SC_LEVEL1_ICACHE_SIZE + 50,
+#define _SC_IPV6 _SC_IPV6
+ _SC_RAW_SOCKETS,
+#define _SC_RAW_SOCKETS _SC_RAW_SOCKETS
+
+ _SC_V7_ILP32_OFF32,
+#define _SC_V7_ILP32_OFF32 _SC_V7_ILP32_OFF32
+ _SC_V7_ILP32_OFFBIG,
+#define _SC_V7_ILP32_OFFBIG _SC_V7_ILP32_OFFBIG
+ _SC_V7_LP64_OFF64,
+#define _SC_V7_LP64_OFF64 _SC_V7_LP64_OFF64
+ _SC_V7_LPBIG_OFFBIG,
+#define _SC_V7_LPBIG_OFFBIG _SC_V7_LPBIG_OFFBIG
+
+ _SC_SS_REPL_MAX,
+#define _SC_SS_REPL_MAX _SC_SS_REPL_MAX
+
+ _SC_TRACE_EVENT_NAME_MAX,
+#define _SC_TRACE_EVENT_NAME_MAX _SC_TRACE_EVENT_NAME_MAX
+ _SC_TRACE_NAME_MAX,
+#define _SC_TRACE_NAME_MAX _SC_TRACE_NAME_MAX
+ _SC_TRACE_SYS_MAX,
+#define _SC_TRACE_SYS_MAX _SC_TRACE_SYS_MAX
+ _SC_TRACE_USER_EVENT_MAX,
+#define _SC_TRACE_USER_EVENT_MAX _SC_TRACE_USER_EVENT_MAX
+
+ _SC_XOPEN_STREAMS,
+#define _SC_XOPEN_STREAMS _SC_XOPEN_STREAMS
+
+ _SC_THREAD_ROBUST_PRIO_INHERIT,
+#define _SC_THREAD_ROBUST_PRIO_INHERIT _SC_THREAD_ROBUST_PRIO_INHERIT
+ _SC_THREAD_ROBUST_PRIO_PROTECT,
+#define _SC_THREAD_ROBUST_PRIO_PROTECT _SC_THREAD_ROBUST_PRIO_PROTECT
+
+ _SC_MINSIGSTKSZ,
+#define _SC_MINSIGSTKSZ _SC_MINSIGSTKSZ
+
+ _SC_SIGSTKSZ
+#define _SC_SIGSTKSZ _SC_SIGSTKSZ
+ };
+
+/* Values for the NAME argument to `confstr'. */
+enum
+ {
+ _CS_PATH, /* The default search path. */
+#define _CS_PATH _CS_PATH
+
+ _CS_V6_WIDTH_RESTRICTED_ENVS,
+#define _CS_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
+#define _CS_POSIX_V6_WIDTH_RESTRICTED_ENVS _CS_V6_WIDTH_RESTRICTED_ENVS
+
+ _CS_GNU_LIBC_VERSION,
+#define _CS_GNU_LIBC_VERSION _CS_GNU_LIBC_VERSION
+ _CS_GNU_LIBPTHREAD_VERSION,
+#define _CS_GNU_LIBPTHREAD_VERSION _CS_GNU_LIBPTHREAD_VERSION
+
+ _CS_V5_WIDTH_RESTRICTED_ENVS,
+#define _CS_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS
+#define _CS_POSIX_V5_WIDTH_RESTRICTED_ENVS _CS_V5_WIDTH_RESTRICTED_ENVS
+
+ _CS_V7_WIDTH_RESTRICTED_ENVS,
+#define _CS_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS
+#define _CS_POSIX_V7_WIDTH_RESTRICTED_ENVS _CS_V7_WIDTH_RESTRICTED_ENVS
+
+ _CS_LFS_CFLAGS = 1000,
+#define _CS_LFS_CFLAGS _CS_LFS_CFLAGS
+ _CS_LFS_LDFLAGS,
+#define _CS_LFS_LDFLAGS _CS_LFS_LDFLAGS
+ _CS_LFS_LIBS,
+#define _CS_LFS_LIBS _CS_LFS_LIBS
+ _CS_LFS_LINTFLAGS,
+#define _CS_LFS_LINTFLAGS _CS_LFS_LINTFLAGS
+ _CS_LFS64_CFLAGS,
+#define _CS_LFS64_CFLAGS _CS_LFS64_CFLAGS
+ _CS_LFS64_LDFLAGS,
+#define _CS_LFS64_LDFLAGS _CS_LFS64_LDFLAGS
+ _CS_LFS64_LIBS,
+#define _CS_LFS64_LIBS _CS_LFS64_LIBS
+ _CS_LFS64_LINTFLAGS,
+#define _CS_LFS64_LINTFLAGS _CS_LFS64_LINTFLAGS
+
+ _CS_XBS5_ILP32_OFF32_CFLAGS = 1100,
+#define _CS_XBS5_ILP32_OFF32_CFLAGS _CS_XBS5_ILP32_OFF32_CFLAGS
+ _CS_XBS5_ILP32_OFF32_LDFLAGS,
+#define _CS_XBS5_ILP32_OFF32_LDFLAGS _CS_XBS5_ILP32_OFF32_LDFLAGS
+ _CS_XBS5_ILP32_OFF32_LIBS,
+#define _CS_XBS5_ILP32_OFF32_LIBS _CS_XBS5_ILP32_OFF32_LIBS
+ _CS_XBS5_ILP32_OFF32_LINTFLAGS,
+#define _CS_XBS5_ILP32_OFF32_LINTFLAGS _CS_XBS5_ILP32_OFF32_LINTFLAGS
+ _CS_XBS5_ILP32_OFFBIG_CFLAGS,
+#define _CS_XBS5_ILP32_OFFBIG_CFLAGS _CS_XBS5_ILP32_OFFBIG_CFLAGS
+ _CS_XBS5_ILP32_OFFBIG_LDFLAGS,
+#define _CS_XBS5_ILP32_OFFBIG_LDFLAGS _CS_XBS5_ILP32_OFFBIG_LDFLAGS
+ _CS_XBS5_ILP32_OFFBIG_LIBS,
+#define _CS_XBS5_ILP32_OFFBIG_LIBS _CS_XBS5_ILP32_OFFBIG_LIBS
+ _CS_XBS5_ILP32_OFFBIG_LINTFLAGS,
+#define _CS_XBS5_ILP32_OFFBIG_LINTFLAGS _CS_XBS5_ILP32_OFFBIG_LINTFLAGS
+ _CS_XBS5_LP64_OFF64_CFLAGS,
+#define _CS_XBS5_LP64_OFF64_CFLAGS _CS_XBS5_LP64_OFF64_CFLAGS
+ _CS_XBS5_LP64_OFF64_LDFLAGS,
+#define _CS_XBS5_LP64_OFF64_LDFLAGS _CS_XBS5_LP64_OFF64_LDFLAGS
+ _CS_XBS5_LP64_OFF64_LIBS,
+#define _CS_XBS5_LP64_OFF64_LIBS _CS_XBS5_LP64_OFF64_LIBS
+ _CS_XBS5_LP64_OFF64_LINTFLAGS,
+#define _CS_XBS5_LP64_OFF64_LINTFLAGS _CS_XBS5_LP64_OFF64_LINTFLAGS
+ _CS_XBS5_LPBIG_OFFBIG_CFLAGS,
+#define _CS_XBS5_LPBIG_OFFBIG_CFLAGS _CS_XBS5_LPBIG_OFFBIG_CFLAGS
+ _CS_XBS5_LPBIG_OFFBIG_LDFLAGS,
+#define _CS_XBS5_LPBIG_OFFBIG_LDFLAGS _CS_XBS5_LPBIG_OFFBIG_LDFLAGS
+ _CS_XBS5_LPBIG_OFFBIG_LIBS,
+#define _CS_XBS5_LPBIG_OFFBIG_LIBS _CS_XBS5_LPBIG_OFFBIG_LIBS
+ _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS,
+#define _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS _CS_XBS5_LPBIG_OFFBIG_LINTFLAGS
+
+ _CS_POSIX_V6_ILP32_OFF32_CFLAGS,
+#define _CS_POSIX_V6_ILP32_OFF32_CFLAGS _CS_POSIX_V6_ILP32_OFF32_CFLAGS
+ _CS_POSIX_V6_ILP32_OFF32_LDFLAGS,
+#define _CS_POSIX_V6_ILP32_OFF32_LDFLAGS _CS_POSIX_V6_ILP32_OFF32_LDFLAGS
+ _CS_POSIX_V6_ILP32_OFF32_LIBS,
+#define _CS_POSIX_V6_ILP32_OFF32_LIBS _CS_POSIX_V6_ILP32_OFF32_LIBS
+ _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS,
+#define _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS _CS_POSIX_V6_ILP32_OFF32_LINTFLAGS
+ _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS,
+#define _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS _CS_POSIX_V6_ILP32_OFFBIG_CFLAGS
+ _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS,
+#define _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LDFLAGS
+ _CS_POSIX_V6_ILP32_OFFBIG_LIBS,
+#define _CS_POSIX_V6_ILP32_OFFBIG_LIBS _CS_POSIX_V6_ILP32_OFFBIG_LIBS
+ _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS,
+#define _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V6_ILP32_OFFBIG_LINTFLAGS
+ _CS_POSIX_V6_LP64_OFF64_CFLAGS,
+#define _CS_POSIX_V6_LP64_OFF64_CFLAGS _CS_POSIX_V6_LP64_OFF64_CFLAGS
+ _CS_POSIX_V6_LP64_OFF64_LDFLAGS,
+#define _CS_POSIX_V6_LP64_OFF64_LDFLAGS _CS_POSIX_V6_LP64_OFF64_LDFLAGS
+ _CS_POSIX_V6_LP64_OFF64_LIBS,
+#define _CS_POSIX_V6_LP64_OFF64_LIBS _CS_POSIX_V6_LP64_OFF64_LIBS
+ _CS_POSIX_V6_LP64_OFF64_LINTFLAGS,
+#define _CS_POSIX_V6_LP64_OFF64_LINTFLAGS _CS_POSIX_V6_LP64_OFF64_LINTFLAGS
+ _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS,
+#define _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_CFLAGS
+ _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS,
+#define _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LDFLAGS
+ _CS_POSIX_V6_LPBIG_OFFBIG_LIBS,
+#define _CS_POSIX_V6_LPBIG_OFFBIG_LIBS _CS_POSIX_V6_LPBIG_OFFBIG_LIBS
+ _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS,
+#define _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V6_LPBIG_OFFBIG_LINTFLAGS
+
+ _CS_POSIX_V7_ILP32_OFF32_CFLAGS,
+#define _CS_POSIX_V7_ILP32_OFF32_CFLAGS _CS_POSIX_V7_ILP32_OFF32_CFLAGS
+ _CS_POSIX_V7_ILP32_OFF32_LDFLAGS,
+#define _CS_POSIX_V7_ILP32_OFF32_LDFLAGS _CS_POSIX_V7_ILP32_OFF32_LDFLAGS
+ _CS_POSIX_V7_ILP32_OFF32_LIBS,
+#define _CS_POSIX_V7_ILP32_OFF32_LIBS _CS_POSIX_V7_ILP32_OFF32_LIBS
+ _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS,
+#define _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS _CS_POSIX_V7_ILP32_OFF32_LINTFLAGS
+ _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS _CS_POSIX_V7_ILP32_OFFBIG_CFLAGS
+ _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LDFLAGS
+ _CS_POSIX_V7_ILP32_OFFBIG_LIBS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_LIBS _CS_POSIX_V7_ILP32_OFFBIG_LIBS
+ _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS,
+#define _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS _CS_POSIX_V7_ILP32_OFFBIG_LINTFLAGS
+ _CS_POSIX_V7_LP64_OFF64_CFLAGS,
+#define _CS_POSIX_V7_LP64_OFF64_CFLAGS _CS_POSIX_V7_LP64_OFF64_CFLAGS
+ _CS_POSIX_V7_LP64_OFF64_LDFLAGS,
+#define _CS_POSIX_V7_LP64_OFF64_LDFLAGS _CS_POSIX_V7_LP64_OFF64_LDFLAGS
+ _CS_POSIX_V7_LP64_OFF64_LIBS,
+#define _CS_POSIX_V7_LP64_OFF64_LIBS _CS_POSIX_V7_LP64_OFF64_LIBS
+ _CS_POSIX_V7_LP64_OFF64_LINTFLAGS,
+#define _CS_POSIX_V7_LP64_OFF64_LINTFLAGS _CS_POSIX_V7_LP64_OFF64_LINTFLAGS
+ _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS,
+#define _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_CFLAGS
+ _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS,
+#define _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LDFLAGS
+ _CS_POSIX_V7_LPBIG_OFFBIG_LIBS,
+#define _CS_POSIX_V7_LPBIG_OFFBIG_LIBS _CS_POSIX_V7_LPBIG_OFFBIG_LIBS
+ _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS,
+#define _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS _CS_POSIX_V7_LPBIG_OFFBIG_LINTFLAGS
+
+ _CS_V6_ENV,
+#define _CS_V6_ENV _CS_V6_ENV
+ _CS_V7_ENV
+#define _CS_V7_ENV _CS_V7_ENV
+ };
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h.blob
new file mode 100644
index 0000000..d665d7e
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@confname.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h
new file mode 100644
index 0000000..6372c6f
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h
@@ -0,0 +1,49 @@
+/* Endian macros for string.h functions
+ Copyright (C) 1992-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_ENDIAN_H
+#define _BITS_ENDIAN_H 1
+
+/* Definitions for byte order, according to significance of bytes,
+ from low addresses to high addresses. The value is what you get by
+ putting '4' in the most significant byte, '3' in the second most
+ significant byte, '2' in the second least significant byte, and '1'
+ in the least significant byte, and then writing down one digit for
+ each byte, starting with the byte at the lowest address at the left,
+ and proceeding to the byte with the highest address at the right. */
+
+#define __LITTLE_ENDIAN 1234
+#define __BIG_ENDIAN 4321
+#define __PDP_ENDIAN 3412
+
+/* This file defines `__BYTE_ORDER' for the particular machine. */
+#include
+
+/* Some machines may need to use a different endianness for floating point
+ values. */
+#ifndef __FLOAT_WORD_ORDER
+# define __FLOAT_WORD_ORDER __BYTE_ORDER
+#endif
+
+#if __BYTE_ORDER == __LITTLE_ENDIAN
+# define __LONG_LONG_PAIR(HI, LO) LO, HI
+#elif __BYTE_ORDER == __BIG_ENDIAN
+# define __LONG_LONG_PAIR(HI, LO) HI, LO
+#endif
+
+#endif /* bits/endian.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h.blob
new file mode 100644
index 0000000..26128ab
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endian.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h
new file mode 100644
index 0000000..962a9ae
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h
@@ -0,0 +1,11 @@
+#ifndef _BITS_ENDIANNESS_H
+#define _BITS_ENDIANNESS_H 1
+
+#ifndef _BITS_ENDIAN_H
+# error "Never use directly; include instead."
+#endif
+
+/* i386/x86_64 are little-endian. */
+#define __BYTE_ORDER __LITTLE_ENDIAN
+
+#endif /* bits/endianness.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h.blob
new file mode 100644
index 0000000..2fb0398
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@endianness.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h
new file mode 100644
index 0000000..b90d9bc
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h
@@ -0,0 +1,105 @@
+/* Copyright (C) 1999-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _UNISTD_H
+# error "Never include this file directly. Use instead"
+#endif
+
+#include
+
+/* This header should define the following symbols under the described
+ situations. A value `1' means that the model is always supported,
+ `-1' means it is never supported. Undefined means it cannot be
+ statically decided.
+
+ _POSIX_V7_ILP32_OFF32 32bit int, long, pointers, and off_t type
+ _POSIX_V7_ILP32_OFFBIG 32bit int, long, and pointers and larger off_t type
+
+ _POSIX_V7_LP64_OFF32 64bit long and pointers and 32bit off_t type
+ _POSIX_V7_LPBIG_OFFBIG 64bit long and pointers and large off_t type
+
+ The macros _POSIX_V6_ILP32_OFF32, _POSIX_V6_ILP32_OFFBIG,
+ _POSIX_V6_LP64_OFF32, _POSIX_V6_LPBIG_OFFBIG, _XBS5_ILP32_OFF32,
+ _XBS5_ILP32_OFFBIG, _XBS5_LP64_OFF32, and _XBS5_LPBIG_OFFBIG were
+ used in previous versions of the Unix standard and are available
+ only for compatibility.
+*/
+
+#if __WORDSIZE == 64
+
+/* Environments with 32-bit wide pointers are optionally provided.
+ Therefore following macros aren't defined:
+ # undef _POSIX_V7_ILP32_OFF32
+ # undef _POSIX_V7_ILP32_OFFBIG
+ # undef _POSIX_V6_ILP32_OFF32
+ # undef _POSIX_V6_ILP32_OFFBIG
+ # undef _XBS5_ILP32_OFF32
+ # undef _XBS5_ILP32_OFFBIG
+ and users need to check at runtime. */
+
+/* We also have no use (for now) for an environment with bigger pointers
+ and offsets. */
+# define _POSIX_V7_LPBIG_OFFBIG -1
+# define _POSIX_V6_LPBIG_OFFBIG -1
+# define _XBS5_LPBIG_OFFBIG -1
+
+/* By default we have 64-bit wide `long int', pointers and `off_t'. */
+# define _POSIX_V7_LP64_OFF64 1
+# define _POSIX_V6_LP64_OFF64 1
+# define _XBS5_LP64_OFF64 1
+
+#else /* __WORDSIZE == 32 */
+
+/* We have 32-bit wide `int', `long int' and pointers and all platforms
+ support LFS. -mx32 has 64-bit wide `off_t'. */
+# define _POSIX_V7_ILP32_OFFBIG 1
+# define _POSIX_V6_ILP32_OFFBIG 1
+# define _XBS5_ILP32_OFFBIG 1
+
+# ifndef __x86_64__
+/* -m32 has 32-bit wide `off_t'. */
+# define _POSIX_V7_ILP32_OFF32 1
+# define _POSIX_V6_ILP32_OFF32 1
+# define _XBS5_ILP32_OFF32 1
+# endif
+
+/* We optionally provide an environment with the above size but an 64-bit
+ side `off_t'. Therefore we don't define _POSIX_V7_ILP32_OFFBIG. */
+
+/* Environments with 64-bit wide pointers can be provided,
+ so these macros aren't defined:
+ # undef _POSIX_V7_LP64_OFF64
+ # undef _POSIX_V7_LPBIG_OFFBIG
+ # undef _POSIX_V6_LP64_OFF64
+ # undef _POSIX_V6_LPBIG_OFFBIG
+ # undef _XBS5_LP64_OFF64
+ # undef _XBS5_LPBIG_OFFBIG
+ and sysconf tests for it at runtime. */
+
+#endif /* __WORDSIZE == 32 */
+
+#define __ILP32_OFF32_CFLAGS "-m32"
+#define __ILP32_OFF32_LDFLAGS "-m32"
+#if defined __x86_64__ && defined __ILP32__
+# define __ILP32_OFFBIG_CFLAGS "-mx32"
+# define __ILP32_OFFBIG_LDFLAGS "-mx32"
+#else
+# define __ILP32_OFFBIG_CFLAGS "-m32 -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64"
+# define __ILP32_OFFBIG_LDFLAGS "-m32"
+#endif
+#define __LP64_OFF64_CFLAGS "-m64"
+#define __LP64_OFF64_LDFLAGS "-m64"
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h.blob
new file mode 100644
index 0000000..006195d
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@environments.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h
new file mode 100644
index 0000000..230cee0
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h
@@ -0,0 +1,53 @@
+/* Error constants. Linux specific version.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_ERRNO_H
+#define _BITS_ERRNO_H 1
+
+#if !defined _ERRNO_H
+# error "Never include directly; use instead."
+#endif
+
+# include
+
+/* Older Linux headers do not define these constants. */
+# ifndef ENOTSUP
+# define ENOTSUP EOPNOTSUPP
+# endif
+
+# ifndef ECANCELED
+# define ECANCELED 125
+# endif
+
+# ifndef EOWNERDEAD
+# define EOWNERDEAD 130
+# endif
+
+#ifndef ENOTRECOVERABLE
+# define ENOTRECOVERABLE 131
+# endif
+
+# ifndef ERFKILL
+# define ERFKILL 132
+# endif
+
+# ifndef EHWPOISON
+# define EHWPOISON 133
+# endif
+
+#endif /* bits/errno.h. */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h.blob
new file mode 100644
index 0000000..860bcd6
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@errno.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h
new file mode 100644
index 0000000..20ad78c
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h
@@ -0,0 +1,444 @@
+/* O_*, F_*, FD_* bit values for Linux.
+ Copyright (C) 2001-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _FCNTL_H
+# error "Never use directly; include instead."
+#endif
+
+/* This file contains shared definitions between Linux architectures
+ and is included by to declare them. The various
+ #ifndef cases allow the architecture specific file to define those
+ values with different values.
+
+ A minimal contains just:
+
+ struct flock {...}
+ #ifdef __USE_LARGEFILE64
+ struct flock64 {...}
+ #endif
+ #include
+*/
+
+#ifdef __USE_GNU
+# include
+#endif
+
+/* open/fcntl. */
+#define O_ACCMODE 0003
+#define O_RDONLY 00
+#define O_WRONLY 01
+#define O_RDWR 02
+#ifndef O_CREAT
+# define O_CREAT 0100 /* Not fcntl. */
+#endif
+#ifndef O_EXCL
+# define O_EXCL 0200 /* Not fcntl. */
+#endif
+#ifndef O_NOCTTY
+# define O_NOCTTY 0400 /* Not fcntl. */
+#endif
+#ifndef O_TRUNC
+# define O_TRUNC 01000 /* Not fcntl. */
+#endif
+#ifndef O_APPEND
+# define O_APPEND 02000
+#endif
+#ifndef O_NONBLOCK
+# define O_NONBLOCK 04000
+#endif
+#ifndef O_NDELAY
+# define O_NDELAY O_NONBLOCK
+#endif
+#ifndef O_SYNC
+# define O_SYNC 04010000
+#endif
+#define O_FSYNC O_SYNC
+#ifndef O_ASYNC
+# define O_ASYNC 020000
+#endif
+#ifndef __O_LARGEFILE
+# define __O_LARGEFILE 0100000
+#endif
+
+#ifndef __O_DIRECTORY
+# define __O_DIRECTORY 0200000
+#endif
+#ifndef __O_NOFOLLOW
+# define __O_NOFOLLOW 0400000
+#endif
+#ifndef __O_CLOEXEC
+# define __O_CLOEXEC 02000000
+#endif
+#ifndef __O_DIRECT
+# define __O_DIRECT 040000
+#endif
+#ifndef __O_NOATIME
+# define __O_NOATIME 01000000
+#endif
+#ifndef __O_PATH
+# define __O_PATH 010000000
+#endif
+#ifndef __O_DSYNC
+# define __O_DSYNC 010000
+#endif
+#ifndef __O_TMPFILE
+# define __O_TMPFILE (020000000 | __O_DIRECTORY)
+#endif
+
+#ifndef F_GETLK
+# ifndef __USE_FILE_OFFSET64
+# define F_GETLK 5 /* Get record locking info. */
+# define F_SETLK 6 /* Set record locking info (non-blocking). */
+# define F_SETLKW 7 /* Set record locking info (blocking). */
+# else
+# define F_GETLK F_GETLK64 /* Get record locking info. */
+# define F_SETLK F_SETLK64 /* Set record locking info (non-blocking).*/
+# define F_SETLKW F_SETLKW64 /* Set record locking info (blocking). */
+# endif
+#endif
+#ifndef F_GETLK64
+# define F_GETLK64 12 /* Get record locking info. */
+# define F_SETLK64 13 /* Set record locking info (non-blocking). */
+# define F_SETLKW64 14 /* Set record locking info (blocking). */
+#endif
+
+/* open file description locks.
+
+ Usually record locks held by a process are released on *any* close and are
+ not inherited across a fork.
+
+ These cmd values will set locks that conflict with process-associated record
+ locks, but are "owned" by the opened file description, not the process.
+ This means that they are inherited across fork or clone with CLONE_FILES
+ like BSD (flock) locks, and they are only released automatically when the
+ last reference to the the file description against which they were acquired
+ is put. */
+#ifdef __USE_GNU
+# define F_OFD_GETLK 36
+# define F_OFD_SETLK 37
+# define F_OFD_SETLKW 38
+#endif
+
+#ifdef __USE_LARGEFILE64
+# define O_LARGEFILE __O_LARGEFILE
+#endif
+
+#ifdef __USE_XOPEN2K8
+# define O_DIRECTORY __O_DIRECTORY /* Must be a directory. */
+# define O_NOFOLLOW __O_NOFOLLOW /* Do not follow links. */
+# define O_CLOEXEC __O_CLOEXEC /* Set close_on_exec. */
+#endif
+
+#ifdef __USE_GNU
+# define O_DIRECT __O_DIRECT /* Direct disk access. */
+# define O_NOATIME __O_NOATIME /* Do not set atime. */
+# define O_PATH __O_PATH /* Resolve pathname but do not open file. */
+# define O_TMPFILE __O_TMPFILE /* Atomically create nameless file. */
+#endif
+
+/* For now, Linux has no separate synchronicity options for read
+ operations. We define O_RSYNC therefore as the same as O_SYNC
+ since this is a superset. */
+#if defined __USE_POSIX199309 || defined __USE_UNIX98
+# define O_DSYNC __O_DSYNC /* Synchronize data. */
+# if defined __O_RSYNC
+# define O_RSYNC __O_RSYNC /* Synchronize read operations. */
+# else
+# define O_RSYNC O_SYNC /* Synchronize read operations. */
+# endif
+#endif
+
+/* Values for the second argument to `fcntl'. */
+#define F_DUPFD 0 /* Duplicate file descriptor. */
+#define F_GETFD 1 /* Get file descriptor flags. */
+#define F_SETFD 2 /* Set file descriptor flags. */
+#define F_GETFL 3 /* Get file status flags. */
+#define F_SETFL 4 /* Set file status flags. */
+
+#ifndef __F_SETOWN
+# define __F_SETOWN 8
+# define __F_GETOWN 9
+#endif
+
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K8
+# define F_SETOWN __F_SETOWN /* Get owner (process receiving SIGIO). */
+# define F_GETOWN __F_GETOWN /* Set owner (process receiving SIGIO). */
+#endif
+
+#ifndef __F_SETSIG
+# define __F_SETSIG 10 /* Set number of signal to be sent. */
+# define __F_GETSIG 11 /* Get number of signal to be sent. */
+#endif
+#ifndef __F_SETOWN_EX
+# define __F_SETOWN_EX 15 /* Get owner (thread receiving SIGIO). */
+# define __F_GETOWN_EX 16 /* Set owner (thread receiving SIGIO). */
+#endif
+
+#ifdef __USE_GNU
+# define F_SETSIG __F_SETSIG /* Set number of signal to be sent. */
+# define F_GETSIG __F_GETSIG /* Get number of signal to be sent. */
+# define F_SETOWN_EX __F_SETOWN_EX /* Get owner (thread receiving SIGIO). */
+# define F_GETOWN_EX __F_GETOWN_EX /* Set owner (thread receiving SIGIO). */
+#endif
+
+#ifdef __USE_GNU
+# define F_SETLEASE 1024 /* Set a lease. */
+# define F_GETLEASE 1025 /* Enquire what lease is active. */
+# define F_NOTIFY 1026 /* Request notifications on a directory. */
+# define F_SETPIPE_SZ 1031 /* Set pipe page size array. */
+# define F_GETPIPE_SZ 1032 /* Set pipe page size array. */
+# define F_ADD_SEALS 1033 /* Add seals to file. */
+# define F_GET_SEALS 1034 /* Get seals for file. */
+/* Set / get write life time hints. */
+# define F_GET_RW_HINT 1035
+# define F_SET_RW_HINT 1036
+# define F_GET_FILE_RW_HINT 1037
+# define F_SET_FILE_RW_HINT 1038
+#endif
+#ifdef __USE_XOPEN2K8
+# define F_DUPFD_CLOEXEC 1030 /* Duplicate file descriptor with
+ close-on-exit set. */
+#endif
+
+/* For F_[GET|SET]FD. */
+#define FD_CLOEXEC 1 /* Actually anything with low bit set goes */
+
+#ifndef F_RDLCK
+/* For posix fcntl() and `l_type' field of a `struct flock' for lockf(). */
+# define F_RDLCK 0 /* Read lock. */
+# define F_WRLCK 1 /* Write lock. */
+# define F_UNLCK 2 /* Remove lock. */
+#endif
+
+
+/* For old implementation of BSD flock. */
+#ifndef F_EXLCK
+# define F_EXLCK 4 /* or 3 */
+# define F_SHLCK 8 /* or 4 */
+#endif
+
+#ifdef __USE_MISC
+/* Operations for BSD flock, also used by the kernel implementation. */
+# define LOCK_SH 1 /* Shared lock. */
+# define LOCK_EX 2 /* Exclusive lock. */
+# define LOCK_NB 4 /* Or'd with one of the above to prevent
+ blocking. */
+# define LOCK_UN 8 /* Remove lock. */
+#endif
+
+#ifdef __USE_GNU
+# define LOCK_MAND 32 /* This is a mandatory flock: */
+# define LOCK_READ 64 /* ... which allows concurrent read operations. */
+# define LOCK_WRITE 128 /* ... which allows concurrent write operations. */
+# define LOCK_RW 192 /* ... Which allows concurrent read & write operations. */
+#endif
+
+#ifdef __USE_GNU
+/* Types of directory notifications that may be requested with F_NOTIFY. */
+# define DN_ACCESS 0x00000001 /* File accessed. */
+# define DN_MODIFY 0x00000002 /* File modified. */
+# define DN_CREATE 0x00000004 /* File created. */
+# define DN_DELETE 0x00000008 /* File removed. */
+# define DN_RENAME 0x00000010 /* File renamed. */
+# define DN_ATTRIB 0x00000020 /* File changed attributes. */
+# define DN_MULTISHOT 0x80000000 /* Don't remove notifier. */
+#endif
+
+
+#ifdef __USE_GNU
+/* Owner types. */
+enum __pid_type
+ {
+ F_OWNER_TID = 0, /* Kernel thread. */
+ F_OWNER_PID, /* Process. */
+ F_OWNER_PGRP, /* Process group. */
+ F_OWNER_GID = F_OWNER_PGRP /* Alternative, obsolete name. */
+ };
+
+/* Structure to use with F_GETOWN_EX and F_SETOWN_EX. */
+struct f_owner_ex
+ {
+ enum __pid_type type; /* Owner type of ID. */
+ __pid_t pid; /* ID of owner. */
+ };
+#endif
+
+#ifdef __USE_GNU
+/* Types of seals. */
+# define F_SEAL_SEAL 0x0001 /* Prevent further seals from being set. */
+# define F_SEAL_SHRINK 0x0002 /* Prevent file from shrinking. */
+# define F_SEAL_GROW 0x0004 /* Prevent file from growing. */
+# define F_SEAL_WRITE 0x0008 /* Prevent writes. */
+# define F_SEAL_FUTURE_WRITE 0x0010 /* Prevent future writes while
+ mapped. */
+#endif
+
+#ifdef __USE_GNU
+/* Hint values for F_{GET,SET}_RW_HINT. */
+# define RWH_WRITE_LIFE_NOT_SET 0
+# define RWF_WRITE_LIFE_NOT_SET RWH_WRITE_LIFE_NOT_SET
+# define RWH_WRITE_LIFE_NONE 1
+# define RWH_WRITE_LIFE_SHORT 2
+# define RWH_WRITE_LIFE_MEDIUM 3
+# define RWH_WRITE_LIFE_LONG 4
+# define RWH_WRITE_LIFE_EXTREME 5
+#endif
+
+/* Define some more compatibility macros to be backward compatible with
+ BSD systems which did not managed to hide these kernel macros. */
+#ifdef __USE_MISC
+# define FAPPEND O_APPEND
+# define FFSYNC O_FSYNC
+# define FASYNC O_ASYNC
+# define FNONBLOCK O_NONBLOCK
+# define FNDELAY O_NDELAY
+#endif /* Use misc. */
+
+#ifndef __POSIX_FADV_DONTNEED
+# define __POSIX_FADV_DONTNEED 4
+# define __POSIX_FADV_NOREUSE 5
+#endif
+/* Advise to `posix_fadvise'. */
+#ifdef __USE_XOPEN2K
+# define POSIX_FADV_NORMAL 0 /* No further special treatment. */
+# define POSIX_FADV_RANDOM 1 /* Expect random page references. */
+# define POSIX_FADV_SEQUENTIAL 2 /* Expect sequential page references. */
+# define POSIX_FADV_WILLNEED 3 /* Will need these pages. */
+# define POSIX_FADV_DONTNEED __POSIX_FADV_DONTNEED /* Don't need these pages. */
+# define POSIX_FADV_NOREUSE __POSIX_FADV_NOREUSE /* Data will be accessed once. */
+#endif
+
+
+#ifdef __USE_GNU
+/* Flags for SYNC_FILE_RANGE. */
+# define SYNC_FILE_RANGE_WAIT_BEFORE 1 /* Wait upon writeout of all pages
+ in the range before performing the
+ write. */
+# define SYNC_FILE_RANGE_WRITE 2 /* Initiate writeout of all those
+ dirty pages in the range which are
+ not presently under writeback. */
+# define SYNC_FILE_RANGE_WAIT_AFTER 4 /* Wait upon writeout of all pages in
+ the range after performing the
+ write. */
+/* SYNC_FILE_RANGE_WRITE_AND_WAIT ensures all pages in the range are
+ written to disk before returning. */
+# define SYNC_FILE_RANGE_WRITE_AND_WAIT (SYNC_FILE_RANGE_WRITE \
+ | SYNC_FILE_RANGE_WAIT_BEFORE \
+ | SYNC_FILE_RANGE_WAIT_AFTER)
+
+/* Flags for SPLICE and VMSPLICE. */
+# define SPLICE_F_MOVE 1 /* Move pages instead of copying. */
+# define SPLICE_F_NONBLOCK 2 /* Don't block on the pipe splicing
+ (but we may still block on the fd
+ we splice from/to). */
+# define SPLICE_F_MORE 4 /* Expect more data. */
+# define SPLICE_F_GIFT 8 /* Pages passed in are a gift. */
+
+
+/* Flags for fallocate. */
+# include
+
+
+/* File handle structure. */
+struct file_handle
+{
+ unsigned int handle_bytes;
+ int handle_type;
+ /* File identifier. */
+ unsigned char f_handle[0];
+};
+
+/* Maximum handle size (for now). */
+# define MAX_HANDLE_SZ 128
+#endif
+
+__BEGIN_DECLS
+
+#ifdef __USE_GNU
+
+/* Provide kernel hint to read ahead. */
+extern __ssize_t readahead (int __fd, __off64_t __offset, size_t __count)
+ __THROW;
+
+
+/* Selective file content synch'ing.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern int sync_file_range (int __fd, __off64_t __offset, __off64_t __count,
+ unsigned int __flags);
+
+
+/* Splice address range into a pipe.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern __ssize_t vmsplice (int __fdout, const struct iovec *__iov,
+ size_t __count, unsigned int __flags);
+
+/* Splice two files together.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern __ssize_t splice (int __fdin, __off64_t *__offin, int __fdout,
+ __off64_t *__offout, size_t __len,
+ unsigned int __flags);
+
+/* In-kernel implementation of tee for pipe buffers.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern __ssize_t tee (int __fdin, int __fdout, size_t __len,
+ unsigned int __flags);
+
+/* Reserve storage for the data of the file associated with FD.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+# ifndef __USE_FILE_OFFSET64
+extern int fallocate (int __fd, int __mode, __off_t __offset, __off_t __len);
+# else
+# ifdef __REDIRECT
+extern int __REDIRECT (fallocate, (int __fd, int __mode, __off64_t __offset,
+ __off64_t __len),
+ fallocate64);
+# else
+# define fallocate fallocate64
+# endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int fallocate64 (int __fd, int __mode, __off64_t __offset,
+ __off64_t __len);
+# endif
+
+
+/* Map file name to file handle. */
+extern int name_to_handle_at (int __dfd, const char *__name,
+ struct file_handle *__handle, int *__mnt_id,
+ int __flags) __THROW;
+
+/* Open file using the file handle.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern int open_by_handle_at (int __mountdirfd, struct file_handle *__handle,
+ int __flags);
+
+#endif /* use GNU */
+
+__END_DECLS
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h.blob
new file mode 100644
index 0000000..7501d8c
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl-linux.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h
new file mode 100644
index 0000000..8cc6e95
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h
@@ -0,0 +1,61 @@
+/* O_*, F_*, FD_* bit values for Linux/x86.
+ Copyright (C) 2001-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _FCNTL_H
+# error "Never use directly; include instead."
+#endif
+
+#ifdef __x86_64__
+# define __O_LARGEFILE 0
+#endif
+
+#ifdef __x86_64__
+/* Not necessary, we always have 64-bit offsets. */
+# define F_GETLK64 5 /* Get record locking info. */
+# define F_SETLK64 6 /* Set record locking info (non-blocking). */
+# define F_SETLKW64 7 /* Set record locking info (blocking). */
+#endif
+
+
+struct flock
+ {
+ short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
+ short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
+#ifndef __USE_FILE_OFFSET64
+ __off_t l_start; /* Offset where the lock begins. */
+ __off_t l_len; /* Size of the locked area; zero means until EOF. */
+#else
+ __off64_t l_start; /* Offset where the lock begins. */
+ __off64_t l_len; /* Size of the locked area; zero means until EOF. */
+#endif
+ __pid_t l_pid; /* Process holding the lock. */
+ };
+
+#ifdef __USE_LARGEFILE64
+struct flock64
+ {
+ short int l_type; /* Type of lock: F_RDLCK, F_WRLCK, or F_UNLCK. */
+ short int l_whence; /* Where `l_start' is relative to (like `lseek'). */
+ __off64_t l_start; /* Offset where the lock begins. */
+ __off64_t l_len; /* Size of the locked area; zero means until EOF. */
+ __pid_t l_pid; /* Process holding the lock. */
+ };
+#endif
+
+/* Include generic Linux declarations. */
+#include
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h.blob
new file mode 100644
index 0000000..56e7174
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@fcntl.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h
new file mode 100644
index 0000000..b43c953
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h
@@ -0,0 +1,329 @@
+/* Macros to control TS 18661-3 glibc features where the same
+ definitions are appropriate for all platforms.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_FLOATN_COMMON_H
+#define _BITS_FLOATN_COMMON_H
+
+#include
+#include
+
+/* This header should be included at the bottom of each bits/floatn.h.
+ It defines the following macros for each _FloatN and _FloatNx type,
+ where the same definitions, or definitions based only on the macros
+ in bits/floatn.h, are appropriate for all glibc configurations. */
+
+/* Defined to 1 if the current compiler invocation provides a
+ floating-point type with the right format for this type, and this
+ glibc includes corresponding *fN or *fNx interfaces for it. */
+#define __HAVE_FLOAT16 0
+#define __HAVE_FLOAT32 1
+#define __HAVE_FLOAT64 1
+#define __HAVE_FLOAT32X 1
+#define __HAVE_FLOAT128X 0
+
+/* Defined to 1 if the corresponding __HAVE_ macro is 1 and the
+ type is the first with its format in the sequence of (the default
+ choices for) float, double, long double, _Float16, _Float32,
+ _Float64, _Float128, _Float32x, _Float64x, _Float128x for this
+ glibc; that is, if functions present once per floating-point format
+ rather than once per type are present for this type.
+
+ All configurations supported by glibc have _Float32 the same format
+ as float, _Float64 and _Float32x the same format as double, the
+ _Float64x the same format as either long double or _Float128. No
+ configurations support _Float128x or, as of GCC 7, have compiler
+ support for a type meeting the requirements for _Float128x. */
+#define __HAVE_DISTINCT_FLOAT16 __HAVE_FLOAT16
+#define __HAVE_DISTINCT_FLOAT32 0
+#define __HAVE_DISTINCT_FLOAT64 0
+#define __HAVE_DISTINCT_FLOAT32X 0
+#define __HAVE_DISTINCT_FLOAT64X 0
+#define __HAVE_DISTINCT_FLOAT128X __HAVE_FLOAT128X
+
+/* Defined to 1 if the corresponding _FloatN type is not binary compatible
+ with the corresponding ISO C type in the current compilation unit as
+ opposed to __HAVE_DISTINCT_FLOATN, which indicates the default types built
+ in glibc. */
+#define __HAVE_FLOAT128_UNLIKE_LDBL (__HAVE_DISTINCT_FLOAT128 \
+ && __LDBL_MANT_DIG__ != 113)
+
+/* Defined to 1 if any _FloatN or _FloatNx types that are not
+ ABI-distinct are however distinct types at the C language level (so
+ for the purposes of __builtin_types_compatible_p and _Generic). */
+#if __GNUC_PREREQ (7, 0) && !defined __cplusplus
+# define __HAVE_FLOATN_NOT_TYPEDEF 1
+#else
+# define __HAVE_FLOATN_NOT_TYPEDEF 0
+#endif
+
+#ifndef __ASSEMBLER__
+
+/* Defined to concatenate the literal suffix to be used with _FloatN
+ or _FloatNx types, if __HAVE_ is 1. The corresponding
+ literal suffixes exist since GCC 7, for C only. */
+# if __HAVE_FLOAT16
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+/* No corresponding suffix available for this type. */
+# define __f16(x) ((_Float16) x##f)
+# else
+# define __f16(x) x##f16
+# endif
+# endif
+
+# if __HAVE_FLOAT32
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# define __f32(x) x##f
+# else
+# define __f32(x) x##f32
+# endif
+# endif
+
+# if __HAVE_FLOAT64
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# ifdef __NO_LONG_DOUBLE_MATH
+# define __f64(x) x##l
+# else
+# define __f64(x) x
+# endif
+# else
+# define __f64(x) x##f64
+# endif
+# endif
+
+# if __HAVE_FLOAT32X
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# define __f32x(x) x
+# else
+# define __f32x(x) x##f32x
+# endif
+# endif
+
+# if __HAVE_FLOAT64X
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT64X_LONG_DOUBLE
+# define __f64x(x) x##l
+# else
+# define __f64x(x) __f128 (x)
+# endif
+# else
+# define __f64x(x) x##f64x
+# endif
+# endif
+
+# if __HAVE_FLOAT128X
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# error "_Float128X supported but no constant suffix"
+# else
+# define __f128x(x) x##f128x
+# endif
+# endif
+
+/* Defined to a complex type if __HAVE_ is 1. */
+# if __HAVE_FLOAT16
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+typedef _Complex float __cfloat16 __attribute__ ((__mode__ (__HC__)));
+# define __CFLOAT16 __cfloat16
+# else
+# define __CFLOAT16 _Complex _Float16
+# endif
+# endif
+
+# if __HAVE_FLOAT32
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# define __CFLOAT32 _Complex float
+# else
+# define __CFLOAT32 _Complex _Float32
+# endif
+# endif
+
+# if __HAVE_FLOAT64
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# ifdef __NO_LONG_DOUBLE_MATH
+# define __CFLOAT64 _Complex long double
+# else
+# define __CFLOAT64 _Complex double
+# endif
+# else
+# define __CFLOAT64 _Complex _Float64
+# endif
+# endif
+
+# if __HAVE_FLOAT32X
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# define __CFLOAT32X _Complex double
+# else
+# define __CFLOAT32X _Complex _Float32x
+# endif
+# endif
+
+# if __HAVE_FLOAT64X
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# if __HAVE_FLOAT64X_LONG_DOUBLE
+# define __CFLOAT64X _Complex long double
+# else
+# define __CFLOAT64X __CFLOAT128
+# endif
+# else
+# define __CFLOAT64X _Complex _Float64x
+# endif
+# endif
+
+# if __HAVE_FLOAT128X
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# error "_Float128X supported but no complex type"
+# else
+# define __CFLOAT128X _Complex _Float128x
+# endif
+# endif
+
+/* The remaining of this file provides support for older compilers. */
+# if __HAVE_FLOAT16
+
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+typedef float _Float16 __attribute__ ((__mode__ (__HF__)));
+# endif
+
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_huge_valf16() ((_Float16) __builtin_huge_val ())
+# define __builtin_inff16() ((_Float16) __builtin_inf ())
+# define __builtin_nanf16(x) ((_Float16) __builtin_nan (x))
+# define __builtin_nansf16(x) ((_Float16) __builtin_nans (x))
+# endif
+
+# endif
+
+# if __HAVE_FLOAT32
+
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+typedef float _Float32;
+# endif
+
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_huge_valf32() (__builtin_huge_valf ())
+# define __builtin_inff32() (__builtin_inff ())
+# define __builtin_nanf32(x) (__builtin_nanf (x))
+# define __builtin_nansf32(x) (__builtin_nansf (x))
+# endif
+
+# endif
+
+# if __HAVE_FLOAT64
+
+/* If double, long double and _Float64 all have the same set of
+ values, TS 18661-3 requires the usual arithmetic conversions on
+ long double and _Float64 to produce _Float64. For this to be the
+ case when building with a compiler without a distinct _Float64
+ type, _Float64 must be a typedef for long double, not for
+ double. */
+
+# ifdef __NO_LONG_DOUBLE_MATH
+
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+typedef long double _Float64;
+# endif
+
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_huge_valf64() (__builtin_huge_vall ())
+# define __builtin_inff64() (__builtin_infl ())
+# define __builtin_nanf64(x) (__builtin_nanl (x))
+# define __builtin_nansf64(x) (__builtin_nansl (x))
+# endif
+
+# else
+
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+typedef double _Float64;
+# endif
+
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_huge_valf64() (__builtin_huge_val ())
+# define __builtin_inff64() (__builtin_inf ())
+# define __builtin_nanf64(x) (__builtin_nan (x))
+# define __builtin_nansf64(x) (__builtin_nans (x))
+# endif
+
+# endif
+
+# endif
+
+# if __HAVE_FLOAT32X
+
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+typedef double _Float32x;
+# endif
+
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_huge_valf32x() (__builtin_huge_val ())
+# define __builtin_inff32x() (__builtin_inf ())
+# define __builtin_nanf32x(x) (__builtin_nan (x))
+# define __builtin_nansf32x(x) (__builtin_nans (x))
+# endif
+
+# endif
+
+# if __HAVE_FLOAT64X
+
+# if __HAVE_FLOAT64X_LONG_DOUBLE
+
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+typedef long double _Float64x;
+# endif
+
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_huge_valf64x() (__builtin_huge_vall ())
+# define __builtin_inff64x() (__builtin_infl ())
+# define __builtin_nanf64x(x) (__builtin_nanl (x))
+# define __builtin_nansf64x(x) (__builtin_nansl (x))
+# endif
+
+# else
+
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+typedef _Float128 _Float64x;
+# endif
+
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_huge_valf64x() (__builtin_huge_valf128 ())
+# define __builtin_inff64x() (__builtin_inff128 ())
+# define __builtin_nanf64x(x) (__builtin_nanf128 (x))
+# define __builtin_nansf64x(x) (__builtin_nansf128 (x))
+# endif
+
+# endif
+
+# endif
+
+# if __HAVE_FLOAT128X
+
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+# error "_Float128x supported but no type"
+# endif
+
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_huge_valf128x() ((_Float128x) __builtin_huge_val ())
+# define __builtin_inff128x() ((_Float128x) __builtin_inf ())
+# define __builtin_nanf128x(x) ((_Float128x) __builtin_nan (x))
+# define __builtin_nansf128x(x) ((_Float128x) __builtin_nans (x))
+# endif
+
+# endif
+
+#endif /* !__ASSEMBLER__. */
+
+#endif /* _BITS_FLOATN_COMMON_H */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h.blob
new file mode 100644
index 0000000..ee256b2
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn-common.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h
new file mode 100644
index 0000000..f0c5171
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h
@@ -0,0 +1,121 @@
+/* Macros to control TS 18661-3 glibc features on x86.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_FLOATN_H
+#define _BITS_FLOATN_H
+
+#include
+
+/* Defined to 1 if the current compiler invocation provides a
+ floating-point type with the IEEE 754 binary128 format, and this
+ glibc includes corresponding *f128 interfaces for it. The required
+ libgcc support was added some time after the basic compiler
+ support, for x86_64 and x86. */
+#if (defined __x86_64__ \
+ ? __GNUC_PREREQ (4, 3) \
+ : (defined __GNU__ ? __GNUC_PREREQ (4, 5) : __GNUC_PREREQ (4, 4)))
+# define __HAVE_FLOAT128 1
+#else
+# define __HAVE_FLOAT128 0
+#endif
+
+/* Defined to 1 if __HAVE_FLOAT128 is 1 and the type is ABI-distinct
+ from the default float, double and long double types in this glibc. */
+#if __HAVE_FLOAT128
+# define __HAVE_DISTINCT_FLOAT128 1
+#else
+# define __HAVE_DISTINCT_FLOAT128 0
+#endif
+
+/* Defined to 1 if the current compiler invocation provides a
+ floating-point type with the right format for _Float64x, and this
+ glibc includes corresponding *f64x interfaces for it. */
+#define __HAVE_FLOAT64X 1
+
+/* Defined to 1 if __HAVE_FLOAT64X is 1 and _Float64x has the format
+ of long double. Otherwise, if __HAVE_FLOAT64X is 1, _Float64x has
+ the format of _Float128, which must be different from that of long
+ double. */
+#define __HAVE_FLOAT64X_LONG_DOUBLE 1
+
+#ifndef __ASSEMBLER__
+
+/* Defined to concatenate the literal suffix to be used with _Float128
+ types, if __HAVE_FLOAT128 is 1. */
+# if __HAVE_FLOAT128
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+/* The literal suffix f128 exists only since GCC 7.0. */
+# define __f128(x) x##q
+# else
+# define __f128(x) x##f128
+# endif
+# endif
+
+/* Defined to a complex binary128 type if __HAVE_FLOAT128 is 1. */
+# if __HAVE_FLOAT128
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+/* Add a typedef for older GCC compilers which don't natively support
+ _Complex _Float128. */
+typedef _Complex float __cfloat128 __attribute__ ((__mode__ (__TC__)));
+# define __CFLOAT128 __cfloat128
+# else
+# define __CFLOAT128 _Complex _Float128
+# endif
+# endif
+
+/* The remaining of this file provides support for older compilers. */
+# if __HAVE_FLOAT128
+
+/* The type _Float128 exists only since GCC 7.0. */
+# if !__GNUC_PREREQ (7, 0) || defined __cplusplus
+typedef __float128 _Float128;
+# endif
+
+/* __builtin_huge_valf128 doesn't exist before GCC 7.0. */
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_huge_valf128() ((_Float128) __builtin_huge_val ())
+# endif
+
+/* Older GCC has only a subset of built-in functions for _Float128 on
+ x86, and __builtin_infq is not usable in static initializers.
+ Converting a narrower sNaN to _Float128 produces a quiet NaN, so
+ attempts to use _Float128 sNaNs will not work properly with older
+ compilers. */
+# if !__GNUC_PREREQ (7, 0)
+# define __builtin_copysignf128 __builtin_copysignq
+# define __builtin_fabsf128 __builtin_fabsq
+# define __builtin_inff128() ((_Float128) __builtin_inf ())
+# define __builtin_nanf128(x) ((_Float128) __builtin_nan (x))
+# define __builtin_nansf128(x) ((_Float128) __builtin_nans (x))
+# endif
+
+/* In math/math.h, __MATH_TG will expand signbit to __builtin_signbit*,
+ e.g.: __builtin_signbitf128, before GCC 6. However, there has never
+ been a __builtin_signbitf128 in GCC and the type-generic builtin is
+ only available since GCC 6. */
+# if !__GNUC_PREREQ (6, 0)
+# define __builtin_signbitf128 __signbitf128
+# endif
+
+# endif
+
+#endif /* !__ASSEMBLER__. */
+
+#include
+
+#endif /* _BITS_FLOATN_H */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h.blob
new file mode 100644
index 0000000..ad93f4b
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@floatn.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h
new file mode 100644
index 0000000..1751a20
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h
@@ -0,0 +1,96 @@
+/* Declarations for getopt (basic, portable features only).
+ Copyright (C) 1989-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library and is also part of gnulib.
+ Patches to this file should be submitted to both projects.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _GETOPT_CORE_H
+#define _GETOPT_CORE_H 1
+
+/* This header should not be used directly; include getopt.h or
+ unistd.h instead. Unlike most bits headers, it does not have
+ a protective #error, because the guard macro for getopt.h in
+ gnulib is not fixed. */
+
+__BEGIN_DECLS
+
+/* For communication from 'getopt' to the caller.
+ When 'getopt' finds an option that takes an argument,
+ the argument value is returned here.
+ Also, when 'ordering' is RETURN_IN_ORDER,
+ each non-option ARGV-element is returned here. */
+
+extern char *optarg;
+
+/* Index in ARGV of the next element to be scanned.
+ This is used for communication to and from the caller
+ and for communication between successive calls to 'getopt'.
+
+ On entry to 'getopt', zero means this is the first call; initialize.
+
+ When 'getopt' returns -1, this is the index of the first of the
+ non-option elements that the caller should itself scan.
+
+ Otherwise, 'optind' communicates from one call to the next
+ how much of ARGV has been scanned so far. */
+
+extern int optind;
+
+/* Callers store zero here to inhibit the error message 'getopt' prints
+ for unrecognized options. */
+
+extern int opterr;
+
+/* Set to an option character which was unrecognized. */
+
+extern int optopt;
+
+/* Get definitions and prototypes for functions to process the
+ arguments in ARGV (ARGC of them, minus the program name) for
+ options given in OPTS.
+
+ Return the option character from OPTS just read. Return -1 when
+ there are no more options. For unrecognized options, or options
+ missing arguments, 'optopt' is set to the option letter, and '?' is
+ returned.
+
+ The OPTS string is a list of characters which are recognized option
+ letters, optionally followed by colons, specifying that that letter
+ takes an argument, to be placed in 'optarg'.
+
+ If a letter in OPTS is followed by two colons, its argument is
+ optional. This behavior is specific to the GNU 'getopt'.
+
+ The argument '--' causes premature termination of argument
+ scanning, explicitly telling 'getopt' that there are no more
+ options.
+
+ If OPTS begins with '-', then non-option arguments are treated as
+ arguments to the option '\1'. This behavior is specific to the GNU
+ 'getopt'. If OPTS begins with '+', or POSIXLY_CORRECT is set in
+ the environment, then do not permute arguments.
+
+ For standards compliance, the 'argv' argument has the type
+ char *const *, but this is inaccurate; if argument permutation is
+ enabled, the argv array (not the strings it points to) must be
+ writable. */
+
+extern int getopt (int ___argc, char *const *___argv, const char *__shortopts)
+ __THROW __nonnull ((2, 3));
+
+__END_DECLS
+
+#endif /* getopt_core.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h.blob
new file mode 100644
index 0000000..8270614
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_core.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h
new file mode 100644
index 0000000..f49e1f3
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h
@@ -0,0 +1,51 @@
+/* Declarations for getopt (POSIX compatibility shim).
+ Copyright (C) 1989-2021 Free Software Foundation, Inc.
+ Unlike the bulk of the getopt implementation, this file is NOT part
+ of gnulib.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _GETOPT_POSIX_H
+#define _GETOPT_POSIX_H 1
+
+#if !defined _UNISTD_H && !defined _STDIO_H
+#error "Never include getopt_posix.h directly; use unistd.h instead."
+#endif
+
+#include
+
+__BEGIN_DECLS
+
+#if defined __USE_POSIX2 && !defined __USE_POSIX_IMPLICITLY \
+ && !defined __USE_GNU && !defined _GETOPT_H
+/* GNU getopt has more functionality than POSIX getopt. When we are
+ explicitly conforming to POSIX and not GNU, and getopt.h (which is
+ not part of POSIX) has not been included, the extra functionality
+ is disabled. */
+# ifdef __REDIRECT
+extern int __REDIRECT_NTH (getopt, (int ___argc, char *const *___argv,
+ const char *__shortopts),
+ __posix_getopt);
+# else
+extern int __posix_getopt (int ___argc, char *const *___argv,
+ const char *__shortopts)
+ __THROW __nonnull ((2, 3));
+# define getopt __posix_getopt
+# endif
+#endif
+
+__END_DECLS
+
+#endif /* getopt_posix.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h.blob
new file mode 100644
index 0000000..e3da454
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@getopt_posix.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h
new file mode 100644
index 0000000..508a0c3
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h
@@ -0,0 +1,77 @@
+/* Structure types for pre-termios terminal ioctls. Linux version.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _SYS_IOCTL_H
+# error "Never use directly; include instead."
+#endif
+
+/* Get definition of constants for use with `ioctl'. */
+#include
+
+
+struct winsize
+ {
+ unsigned short int ws_row;
+ unsigned short int ws_col;
+ unsigned short int ws_xpixel;
+ unsigned short int ws_ypixel;
+ };
+
+#define NCC 8
+struct termio
+ {
+ unsigned short int c_iflag; /* input mode flags */
+ unsigned short int c_oflag; /* output mode flags */
+ unsigned short int c_cflag; /* control mode flags */
+ unsigned short int c_lflag; /* local mode flags */
+ unsigned char c_line; /* line discipline */
+ unsigned char c_cc[NCC]; /* control characters */
+};
+
+/* modem lines */
+#define TIOCM_LE 0x001
+#define TIOCM_DTR 0x002
+#define TIOCM_RTS 0x004
+#define TIOCM_ST 0x008
+#define TIOCM_SR 0x010
+#define TIOCM_CTS 0x020
+#define TIOCM_CAR 0x040
+#define TIOCM_RNG 0x080
+#define TIOCM_DSR 0x100
+#define TIOCM_CD TIOCM_CAR
+#define TIOCM_RI TIOCM_RNG
+
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+
+/* line disciplines */
+#define N_TTY 0
+#define N_SLIP 1
+#define N_MOUSE 2
+#define N_PPP 3
+#define N_STRIP 4
+#define N_AX25 5
+#define N_X25 6 /* X.25 async */
+#define N_6PACK 7
+#define N_MASC 8 /* Mobitex module */
+#define N_R3964 9 /* Simatic R3964 module */
+#define N_PROFIBUS_FDL 10 /* Profibus */
+#define N_IRDA 11 /* Linux IR */
+#define N_SMSBLOCK 12 /* SMS block mode */
+#define N_HDLC 13 /* synchronous HDLC */
+#define N_SYNC_PPP 14 /* synchronous PPP */
+#define N_HCI 15 /* Bluetooth HCI UART */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h.blob
new file mode 100644
index 0000000..afd4642
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctl-types.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h
new file mode 100644
index 0000000..0e53bc7
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h
@@ -0,0 +1,108 @@
+/* Copyright (C) 1996-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _SYS_IOCTL_H
+# error "Never use directly; include instead."
+#endif
+
+/* Use the definitions from the kernel header files. */
+#include
+
+/* Routing table calls. */
+#define SIOCADDRT 0x890B /* add routing table entry */
+#define SIOCDELRT 0x890C /* delete routing table entry */
+#define SIOCRTMSG 0x890D /* call to routing system */
+
+/* Socket configuration controls. */
+#define SIOCGIFNAME 0x8910 /* get iface name */
+#define SIOCSIFLINK 0x8911 /* set iface channel */
+#define SIOCGIFCONF 0x8912 /* get iface list */
+#define SIOCGIFFLAGS 0x8913 /* get flags */
+#define SIOCSIFFLAGS 0x8914 /* set flags */
+#define SIOCGIFADDR 0x8915 /* get PA address */
+#define SIOCSIFADDR 0x8916 /* set PA address */
+#define SIOCGIFDSTADDR 0x8917 /* get remote PA address */
+#define SIOCSIFDSTADDR 0x8918 /* set remote PA address */
+#define SIOCGIFBRDADDR 0x8919 /* get broadcast PA address */
+#define SIOCSIFBRDADDR 0x891a /* set broadcast PA address */
+#define SIOCGIFNETMASK 0x891b /* get network PA mask */
+#define SIOCSIFNETMASK 0x891c /* set network PA mask */
+#define SIOCGIFMETRIC 0x891d /* get metric */
+#define SIOCSIFMETRIC 0x891e /* set metric */
+#define SIOCGIFMEM 0x891f /* get memory address (BSD) */
+#define SIOCSIFMEM 0x8920 /* set memory address (BSD) */
+#define SIOCGIFMTU 0x8921 /* get MTU size */
+#define SIOCSIFMTU 0x8922 /* set MTU size */
+#define SIOCSIFNAME 0x8923 /* set interface name */
+#define SIOCSIFHWADDR 0x8924 /* set hardware address */
+#define SIOCGIFENCAP 0x8925 /* get/set encapsulations */
+#define SIOCSIFENCAP 0x8926
+#define SIOCGIFHWADDR 0x8927 /* Get hardware address */
+#define SIOCGIFSLAVE 0x8929 /* Driver slaving support */
+#define SIOCSIFSLAVE 0x8930
+#define SIOCADDMULTI 0x8931 /* Multicast address lists */
+#define SIOCDELMULTI 0x8932
+#define SIOCGIFINDEX 0x8933 /* name -> if_index mapping */
+#define SIOGIFINDEX SIOCGIFINDEX /* misprint compatibility :-) */
+#define SIOCSIFPFLAGS 0x8934 /* set/get extended flags set */
+#define SIOCGIFPFLAGS 0x8935
+#define SIOCDIFADDR 0x8936 /* delete PA address */
+#define SIOCSIFHWBROADCAST 0x8937 /* set hardware broadcast addr */
+#define SIOCGIFCOUNT 0x8938 /* get number of devices */
+
+#define SIOCGIFBR 0x8940 /* Bridging support */
+#define SIOCSIFBR 0x8941 /* Set bridging options */
+
+#define SIOCGIFTXQLEN 0x8942 /* Get the tx queue length */
+#define SIOCSIFTXQLEN 0x8943 /* Set the tx queue length */
+
+
+/* ARP cache control calls. */
+ /* 0x8950 - 0x8952 * obsolete calls, don't re-use */
+#define SIOCDARP 0x8953 /* delete ARP table entry */
+#define SIOCGARP 0x8954 /* get ARP table entry */
+#define SIOCSARP 0x8955 /* set ARP table entry */
+
+/* RARP cache control calls. */
+#define SIOCDRARP 0x8960 /* delete RARP table entry */
+#define SIOCGRARP 0x8961 /* get RARP table entry */
+#define SIOCSRARP 0x8962 /* set RARP table entry */
+
+/* Driver configuration calls */
+
+#define SIOCGIFMAP 0x8970 /* Get device parameters */
+#define SIOCSIFMAP 0x8971 /* Set device parameters */
+
+/* DLCI configuration calls */
+
+#define SIOCADDDLCI 0x8980 /* Create new DLCI device */
+#define SIOCDELDLCI 0x8981 /* Delete DLCI device */
+
+/* Device private ioctl calls. */
+
+/* These 16 ioctls are available to devices via the do_ioctl() device
+ vector. Each device should include this file and redefine these
+ names as their own. Because these are device dependent it is a good
+ idea _NOT_ to issue them to random objects and hope. */
+
+#define SIOCDEVPRIVATE 0x89F0 /* to 89FF */
+
+/*
+ * These 16 ioctl calls are protocol private
+ */
+
+#define SIOCPROTOPRIVATE 0x89E0 /* to 89EF */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h.blob
new file mode 100644
index 0000000..8bb44a4
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ioctls.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h
new file mode 100644
index 0000000..47f3910
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h
@@ -0,0 +1,110 @@
+/* Handle feature test macros at the start of a header.
+ Copyright (C) 2016-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/* This header is internal to glibc and should not be included outside
+ of glibc headers. Headers including it must define
+ __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION first. This header
+ cannot have multiple include guards because ISO C feature test
+ macros depend on the definition of the macro when an affected
+ header is included, not when the first system header is
+ included. */
+
+#ifndef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
+# error "Never include directly."
+#endif
+
+#undef __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
+
+#include
+
+/* ISO/IEC TR 24731-2:2010 defines the __STDC_WANT_LIB_EXT2__
+ macro. */
+#undef __GLIBC_USE_LIB_EXT2
+#if (defined __USE_GNU \
+ || (defined __STDC_WANT_LIB_EXT2__ && __STDC_WANT_LIB_EXT2__ > 0))
+# define __GLIBC_USE_LIB_EXT2 1
+#else
+# define __GLIBC_USE_LIB_EXT2 0
+#endif
+
+/* ISO/IEC TS 18661-1:2014 defines the __STDC_WANT_IEC_60559_BFP_EXT__
+ macro. Most but not all symbols enabled by that macro in TS
+ 18661-1 are enabled unconditionally in C2X. In C2X, the symbols in
+ Annex F still require a new feature test macro
+ __STDC_WANT_IEC_60559_EXT__ instead (C2X does not define
+ __STDC_WANT_IEC_60559_BFP_EXT__), while a few features from TS
+ 18661-1 are not included in C2X (and thus should depend on
+ __STDC_WANT_IEC_60559_BFP_EXT__ even when C2X features are
+ enabled).
+
+ __GLIBC_USE (IEC_60559_BFP_EXT) controls those features from TS
+ 18661-1 not included in C2X.
+
+ __GLIBC_USE (IEC_60559_BFP_EXT_C2X) controls those features from TS
+ 18661-1 that are also included in C2X (with no feature test macro
+ required in C2X).
+
+ __GLIBC_USE (IEC_60559_EXT) controls those features from TS 18661-1
+ that are included in C2X but conditional on
+ __STDC_WANT_IEC_60559_EXT__. (There are currently no features
+ conditional on __STDC_WANT_IEC_60559_EXT__ that are not in TS
+ 18661-1.) */
+#undef __GLIBC_USE_IEC_60559_BFP_EXT
+#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_BFP_EXT__
+# define __GLIBC_USE_IEC_60559_BFP_EXT 1
+#else
+# define __GLIBC_USE_IEC_60559_BFP_EXT 0
+#endif
+#undef __GLIBC_USE_IEC_60559_BFP_EXT_C2X
+#if __GLIBC_USE (IEC_60559_BFP_EXT) || __GLIBC_USE (ISOC2X)
+# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 1
+#else
+# define __GLIBC_USE_IEC_60559_BFP_EXT_C2X 0
+#endif
+#undef __GLIBC_USE_IEC_60559_EXT
+#if __GLIBC_USE (IEC_60559_BFP_EXT) || defined __STDC_WANT_IEC_60559_EXT__
+# define __GLIBC_USE_IEC_60559_EXT 1
+#else
+# define __GLIBC_USE_IEC_60559_EXT 0
+#endif
+
+/* ISO/IEC TS 18661-4:2015 defines the
+ __STDC_WANT_IEC_60559_FUNCS_EXT__ macro. Other than the reduction
+ functions, the symbols from this TS are enabled unconditionally in
+ C2X. */
+#undef __GLIBC_USE_IEC_60559_FUNCS_EXT
+#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_FUNCS_EXT__
+# define __GLIBC_USE_IEC_60559_FUNCS_EXT 1
+#else
+# define __GLIBC_USE_IEC_60559_FUNCS_EXT 0
+#endif
+#undef __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X
+#if __GLIBC_USE (IEC_60559_FUNCS_EXT) || __GLIBC_USE (ISOC2X)
+# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 1
+#else
+# define __GLIBC_USE_IEC_60559_FUNCS_EXT_C2X 0
+#endif
+
+/* ISO/IEC TS 18661-3:2015 defines the
+ __STDC_WANT_IEC_60559_TYPES_EXT__ macro. */
+#undef __GLIBC_USE_IEC_60559_TYPES_EXT
+#if defined __USE_GNU || defined __STDC_WANT_IEC_60559_TYPES_EXT__
+# define __GLIBC_USE_IEC_60559_TYPES_EXT 1
+#else
+# define __GLIBC_USE_IEC_60559_TYPES_EXT 0
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h.blob
new file mode 100644
index 0000000..3c7c874
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@libc-header-start.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h
new file mode 100644
index 0000000..b8f8923
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h
@@ -0,0 +1,99 @@
+/* Minimum guaranteed maximum values for system limits. Linux version.
+ Copyright (C) 1993-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If
+ not, see . */
+
+/* The kernel header pollutes the namespace with the NR_OPEN symbol
+ and defines LINK_MAX although filesystems have different maxima. A
+ similar thing is true for OPEN_MAX: the limit can be changed at
+ runtime and therefore the macro must not be defined. Remove this
+ after including the header if necessary. */
+#ifndef NR_OPEN
+# define __undef_NR_OPEN
+#endif
+#ifndef LINK_MAX
+# define __undef_LINK_MAX
+#endif
+#ifndef OPEN_MAX
+# define __undef_OPEN_MAX
+#endif
+#ifndef ARG_MAX
+# define __undef_ARG_MAX
+#endif
+
+/* The kernel sources contain a file with all the needed information. */
+#include
+
+/* Have to remove NR_OPEN? */
+#ifdef __undef_NR_OPEN
+# undef NR_OPEN
+# undef __undef_NR_OPEN
+#endif
+/* Have to remove LINK_MAX? */
+#ifdef __undef_LINK_MAX
+# undef LINK_MAX
+# undef __undef_LINK_MAX
+#endif
+/* Have to remove OPEN_MAX? */
+#ifdef __undef_OPEN_MAX
+# undef OPEN_MAX
+# undef __undef_OPEN_MAX
+#endif
+/* Have to remove ARG_MAX? */
+#ifdef __undef_ARG_MAX
+# undef ARG_MAX
+# undef __undef_ARG_MAX
+#endif
+
+/* The number of data keys per process. */
+#define _POSIX_THREAD_KEYS_MAX 128
+/* This is the value this implementation supports. */
+#define PTHREAD_KEYS_MAX 1024
+
+/* Controlling the iterations of destructors for thread-specific data. */
+#define _POSIX_THREAD_DESTRUCTOR_ITERATIONS 4
+/* Number of iterations this implementation does. */
+#define PTHREAD_DESTRUCTOR_ITERATIONS _POSIX_THREAD_DESTRUCTOR_ITERATIONS
+
+/* The number of threads per process. */
+#define _POSIX_THREAD_THREADS_MAX 64
+/* We have no predefined limit on the number of threads. */
+#undef PTHREAD_THREADS_MAX
+
+/* Maximum amount by which a process can descrease its asynchronous I/O
+ priority level. */
+#define AIO_PRIO_DELTA_MAX 20
+
+/* Arrange for the definition of PTHREAD_STACK_MIN. */
+#include
+
+/* Maximum number of timer expiration overruns. */
+#define DELAYTIMER_MAX 2147483647
+
+/* Maximum tty name length. */
+#define TTY_NAME_MAX 32
+
+/* Maximum login name length. This is arbitrary. */
+#define LOGIN_NAME_MAX 256
+
+/* Maximum host name length. */
+#define HOST_NAME_MAX 64
+
+/* Maximum message queue priority level. */
+#define MQ_PRIO_MAX 32768
+
+/* Maximum value the semaphore can have. */
+#define SEM_VALUE_MAX (2147483647)
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h.blob
new file mode 100644
index 0000000..9075c9a
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@local_lim.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h
new file mode 100644
index 0000000..5b3c841
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h
@@ -0,0 +1,21 @@
+/* Properties of long double type. ldbl-96 version.
+ Copyright (C) 2016-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/* long double is distinct from double, so there is nothing to
+ define here. */
+#define __LDOUBLE_REDIRECTS_TO_FLOAT128_ABI 0
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h.blob
new file mode 100644
index 0000000..db98deb
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@long-double.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h
new file mode 100644
index 0000000..c645847
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h
@@ -0,0 +1,183 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/*
+ * POSIX Standard: 2.9.2 Minimum Values Added to
+ *
+ * Never include this file directly; use instead.
+ */
+
+#ifndef _BITS_POSIX1_LIM_H
+#define _BITS_POSIX1_LIM_H 1
+
+#include
+
+/* These are the standard-mandated minimum values. */
+
+/* Minimum number of operations in one list I/O call. */
+#define _POSIX_AIO_LISTIO_MAX 2
+
+/* Minimal number of outstanding asynchronous I/O operations. */
+#define _POSIX_AIO_MAX 1
+
+/* Maximum length of arguments to `execve', including environment. */
+#define _POSIX_ARG_MAX 4096
+
+/* Maximum simultaneous processes per real user ID. */
+#ifdef __USE_XOPEN2K
+# define _POSIX_CHILD_MAX 25
+#else
+# define _POSIX_CHILD_MAX 6
+#endif
+
+/* Minimal number of timer expiration overruns. */
+#define _POSIX_DELAYTIMER_MAX 32
+
+/* Maximum length of a host name (not including the terminating null)
+ as returned from the GETHOSTNAME function. */
+#define _POSIX_HOST_NAME_MAX 255
+
+/* Maximum link count of a file. */
+#define _POSIX_LINK_MAX 8
+
+/* Maximum length of login name. */
+#define _POSIX_LOGIN_NAME_MAX 9
+
+/* Number of bytes in a terminal canonical input queue. */
+#define _POSIX_MAX_CANON 255
+
+/* Number of bytes for which space will be
+ available in a terminal input queue. */
+#define _POSIX_MAX_INPUT 255
+
+/* Maximum number of message queues open for a process. */
+#define _POSIX_MQ_OPEN_MAX 8
+
+/* Maximum number of supported message priorities. */
+#define _POSIX_MQ_PRIO_MAX 32
+
+/* Number of bytes in a filename. */
+#define _POSIX_NAME_MAX 14
+
+/* Number of simultaneous supplementary group IDs per process. */
+#ifdef __USE_XOPEN2K
+# define _POSIX_NGROUPS_MAX 8
+#else
+# define _POSIX_NGROUPS_MAX 0
+#endif
+
+/* Number of files one process can have open at once. */
+#ifdef __USE_XOPEN2K
+# define _POSIX_OPEN_MAX 20
+#else
+# define _POSIX_OPEN_MAX 16
+#endif
+
+#if !defined __USE_XOPEN2K || defined __USE_GNU
+/* Number of descriptors that a process may examine with `pselect' or
+ `select'. */
+# define _POSIX_FD_SETSIZE _POSIX_OPEN_MAX
+#endif
+
+/* Number of bytes in a pathname. */
+#define _POSIX_PATH_MAX 256
+
+/* Number of bytes than can be written atomically to a pipe. */
+#define _POSIX_PIPE_BUF 512
+
+/* The number of repeated occurrences of a BRE permitted by the
+ REGEXEC and REGCOMP functions when using the interval notation. */
+#define _POSIX_RE_DUP_MAX 255
+
+/* Minimal number of realtime signals reserved for the application. */
+#define _POSIX_RTSIG_MAX 8
+
+/* Number of semaphores a process can have. */
+#define _POSIX_SEM_NSEMS_MAX 256
+
+/* Maximal value of a semaphore. */
+#define _POSIX_SEM_VALUE_MAX 32767
+
+/* Number of pending realtime signals. */
+#define _POSIX_SIGQUEUE_MAX 32
+
+/* Largest value of a `ssize_t'. */
+#define _POSIX_SSIZE_MAX 32767
+
+/* Number of streams a process can have open at once. */
+#define _POSIX_STREAM_MAX 8
+
+/* The number of bytes in a symbolic link. */
+#define _POSIX_SYMLINK_MAX 255
+
+/* The number of symbolic links that can be traversed in the
+ resolution of a pathname in the absence of a loop. */
+#define _POSIX_SYMLOOP_MAX 8
+
+/* Number of timer for a process. */
+#define _POSIX_TIMER_MAX 32
+
+/* Maximum number of characters in a tty name. */
+#define _POSIX_TTY_NAME_MAX 9
+
+/* Maximum length of a timezone name (element of `tzname'). */
+#ifdef __USE_XOPEN2K
+# define _POSIX_TZNAME_MAX 6
+#else
+# define _POSIX_TZNAME_MAX 3
+#endif
+
+#if !defined __USE_XOPEN2K || defined __USE_GNU
+/* Maximum number of connections that can be queued on a socket. */
+# define _POSIX_QLIMIT 1
+
+/* Maximum number of bytes that can be buffered on a socket for send
+ or receive. */
+# define _POSIX_HIWAT _POSIX_PIPE_BUF
+
+/* Maximum number of elements in an `iovec' array. */
+# define _POSIX_UIO_MAXIOV 16
+#endif
+
+/* Maximum clock resolution in nanoseconds. */
+#define _POSIX_CLOCKRES_MIN 20000000
+
+
+/* Get the implementation-specific values for the above. */
+#include
+
+
+#ifndef SSIZE_MAX
+/* ssize_t is not formally required to be the signed type
+ corresponding to size_t, but it is for all configurations supported
+ by glibc. */
+# if __WORDSIZE == 64 || __WORDSIZE32_SIZE_ULONG
+# define SSIZE_MAX LONG_MAX
+# else
+# define SSIZE_MAX INT_MAX
+# endif
+#endif
+
+
+/* This value is a guaranteed minimum maximum.
+ The current maximum can be got from `sysconf'. */
+
+#ifndef NGROUPS_MAX
+# define NGROUPS_MAX 8
+#endif
+
+#endif /* bits/posix1_lim.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h.blob
new file mode 100644
index 0000000..52f76eb
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix1_lim.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h
new file mode 100644
index 0000000..7ac13cb
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h
@@ -0,0 +1,90 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/*
+ * Never include this file directly; include instead.
+ */
+
+#ifndef _BITS_POSIX2_LIM_H
+#define _BITS_POSIX2_LIM_H 1
+
+
+/* The maximum `ibase' and `obase' values allowed by the `bc' utility. */
+#define _POSIX2_BC_BASE_MAX 99
+
+/* The maximum number of elements allowed in an array by the `bc' utility. */
+#define _POSIX2_BC_DIM_MAX 2048
+
+/* The maximum `scale' value allowed by the `bc' utility. */
+#define _POSIX2_BC_SCALE_MAX 99
+
+/* The maximum length of a string constant accepted by the `bc' utility. */
+#define _POSIX2_BC_STRING_MAX 1000
+
+/* The maximum number of weights that can be assigned to an entry of
+ the LC_COLLATE `order' keyword in the locale definition file. */
+#define _POSIX2_COLL_WEIGHTS_MAX 2
+
+/* The maximum number of expressions that can be nested
+ within parentheses by the `expr' utility. */
+#define _POSIX2_EXPR_NEST_MAX 32
+
+/* The maximum length, in bytes, of an input line. */
+#define _POSIX2_LINE_MAX 2048
+
+/* The maximum number of repeated occurrences of a regular expression
+ permitted when using the interval notation `\{M,N\}'. */
+#define _POSIX2_RE_DUP_MAX 255
+
+/* The maximum number of bytes in a character class name. We have no
+ fixed limit, 2048 is a high number. */
+#define _POSIX2_CHARCLASS_NAME_MAX 14
+
+
+/* These values are implementation-specific,
+ and may vary within the implementation.
+ Their precise values can be obtained from sysconf. */
+
+#ifndef BC_BASE_MAX
+#define BC_BASE_MAX _POSIX2_BC_BASE_MAX
+#endif
+#ifndef BC_DIM_MAX
+#define BC_DIM_MAX _POSIX2_BC_DIM_MAX
+#endif
+#ifndef BC_SCALE_MAX
+#define BC_SCALE_MAX _POSIX2_BC_SCALE_MAX
+#endif
+#ifndef BC_STRING_MAX
+#define BC_STRING_MAX _POSIX2_BC_STRING_MAX
+#endif
+#ifndef COLL_WEIGHTS_MAX
+#define COLL_WEIGHTS_MAX 255
+#endif
+#ifndef EXPR_NEST_MAX
+#define EXPR_NEST_MAX _POSIX2_EXPR_NEST_MAX
+#endif
+#ifndef LINE_MAX
+#define LINE_MAX _POSIX2_LINE_MAX
+#endif
+#ifndef CHARCLASS_NAME_MAX
+#define CHARCLASS_NAME_MAX 2048
+#endif
+
+/* This value is defined like this in regex.h. */
+#define RE_DUP_MAX (0x7fff)
+
+#endif /* bits/posix2_lim.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h.blob
new file mode 100644
index 0000000..6078f46
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix2_lim.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h
new file mode 100644
index 0000000..4d7d634
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h
@@ -0,0 +1,194 @@
+/* Define POSIX options for Linux.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If
+ not, see . */
+
+#ifndef _BITS_POSIX_OPT_H
+#define _BITS_POSIX_OPT_H 1
+
+/* Job control is supported. */
+#define _POSIX_JOB_CONTROL 1
+
+/* Processes have a saved set-user-ID and a saved set-group-ID. */
+#define _POSIX_SAVED_IDS 1
+
+/* Priority scheduling is not supported with the correct semantics,
+ but GNU/Linux applications expect that the corresponding interfaces
+ are available, even though the semantics do not meet the POSIX
+ requirements. See glibc bug 14829. */
+#define _POSIX_PRIORITY_SCHEDULING 200809L
+
+/* Synchronizing file data is supported. */
+#define _POSIX_SYNCHRONIZED_IO 200809L
+
+/* The fsync function is present. */
+#define _POSIX_FSYNC 200809L
+
+/* Mapping of files to memory is supported. */
+#define _POSIX_MAPPED_FILES 200809L
+
+/* Locking of all memory is supported. */
+#define _POSIX_MEMLOCK 200809L
+
+/* Locking of ranges of memory is supported. */
+#define _POSIX_MEMLOCK_RANGE 200809L
+
+/* Setting of memory protections is supported. */
+#define _POSIX_MEMORY_PROTECTION 200809L
+
+/* Some filesystems allow all users to change file ownership. */
+#define _POSIX_CHOWN_RESTRICTED 0
+
+/* `c_cc' member of 'struct termios' structure can be disabled by
+ using the value _POSIX_VDISABLE. */
+#define _POSIX_VDISABLE '\0'
+
+/* Filenames are not silently truncated. */
+#define _POSIX_NO_TRUNC 1
+
+/* X/Open realtime support is available. */
+#define _XOPEN_REALTIME 1
+
+/* X/Open thread realtime support is available. */
+#define _XOPEN_REALTIME_THREADS 1
+
+/* XPG4.2 shared memory is supported. */
+#define _XOPEN_SHM 1
+
+/* Tell we have POSIX threads. */
+#define _POSIX_THREADS 200809L
+
+/* We have the reentrant functions described in POSIX. */
+#define _POSIX_REENTRANT_FUNCTIONS 1
+#define _POSIX_THREAD_SAFE_FUNCTIONS 200809L
+
+/* We provide priority scheduling for threads. */
+#define _POSIX_THREAD_PRIORITY_SCHEDULING 200809L
+
+/* We support user-defined stack sizes. */
+#define _POSIX_THREAD_ATTR_STACKSIZE 200809L
+
+/* We support user-defined stacks. */
+#define _POSIX_THREAD_ATTR_STACKADDR 200809L
+
+/* We support priority inheritence. */
+#define _POSIX_THREAD_PRIO_INHERIT 200809L
+
+/* We support priority protection, though only for non-robust
+ mutexes. */
+#define _POSIX_THREAD_PRIO_PROTECT 200809L
+
+#ifdef __USE_XOPEN2K8
+/* We support priority inheritence for robust mutexes. */
+# define _POSIX_THREAD_ROBUST_PRIO_INHERIT 200809L
+
+/* We do not support priority protection for robust mutexes. */
+# define _POSIX_THREAD_ROBUST_PRIO_PROTECT -1
+#endif
+
+/* We support POSIX.1b semaphores. */
+#define _POSIX_SEMAPHORES 200809L
+
+/* Real-time signals are supported. */
+#define _POSIX_REALTIME_SIGNALS 200809L
+
+/* We support asynchronous I/O. */
+#define _POSIX_ASYNCHRONOUS_IO 200809L
+#define _POSIX_ASYNC_IO 1
+/* Alternative name for Unix98. */
+#define _LFS_ASYNCHRONOUS_IO 1
+/* Support for prioritization is also available. */
+#define _POSIX_PRIORITIZED_IO 200809L
+
+/* The LFS support in asynchronous I/O is also available. */
+#define _LFS64_ASYNCHRONOUS_IO 1
+
+/* The rest of the LFS is also available. */
+#define _LFS_LARGEFILE 1
+#define _LFS64_LARGEFILE 1
+#define _LFS64_STDIO 1
+
+/* POSIX shared memory objects are implemented. */
+#define _POSIX_SHARED_MEMORY_OBJECTS 200809L
+
+/* CPU-time clocks support needs to be checked at runtime. */
+#define _POSIX_CPUTIME 0
+
+/* Clock support in threads must be also checked at runtime. */
+#define _POSIX_THREAD_CPUTIME 0
+
+/* GNU libc provides regular expression handling. */
+#define _POSIX_REGEXP 1
+
+/* Reader/Writer locks are available. */
+#define _POSIX_READER_WRITER_LOCKS 200809L
+
+/* We have a POSIX shell. */
+#define _POSIX_SHELL 1
+
+/* We support the Timeouts option. */
+#define _POSIX_TIMEOUTS 200809L
+
+/* We support spinlocks. */
+#define _POSIX_SPIN_LOCKS 200809L
+
+/* The `spawn' function family is supported. */
+#define _POSIX_SPAWN 200809L
+
+/* We have POSIX timers. */
+#define _POSIX_TIMERS 200809L
+
+/* The barrier functions are available. */
+#define _POSIX_BARRIERS 200809L
+
+/* POSIX message queues are available. */
+#define _POSIX_MESSAGE_PASSING 200809L
+
+/* Thread process-shared synchronization is supported. */
+#define _POSIX_THREAD_PROCESS_SHARED 200809L
+
+/* The monotonic clock might be available. */
+#define _POSIX_MONOTONIC_CLOCK 0
+
+/* The clock selection interfaces are available. */
+#define _POSIX_CLOCK_SELECTION 200809L
+
+/* Advisory information interfaces are available. */
+#define _POSIX_ADVISORY_INFO 200809L
+
+/* IPv6 support is available. */
+#define _POSIX_IPV6 200809L
+
+/* Raw socket support is available. */
+#define _POSIX_RAW_SOCKETS 200809L
+
+/* We have at least one terminal. */
+#define _POSIX2_CHAR_TERM 200809L
+
+/* Neither process nor thread sporadic server interfaces is available. */
+#define _POSIX_SPORADIC_SERVER -1
+#define _POSIX_THREAD_SPORADIC_SERVER -1
+
+/* trace.h is not available. */
+#define _POSIX_TRACE -1
+#define _POSIX_TRACE_EVENT_FILTER -1
+#define _POSIX_TRACE_INHERIT -1
+#define _POSIX_TRACE_LOG -1
+
+/* Typed memory objects are not available. */
+#define _POSIX_TYPED_MEMORY_OBJECTS -1
+
+#endif /* bits/posix_opt.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h.blob
new file mode 100644
index 0000000..24b9a5d
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@posix_opt.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h
new file mode 100644
index 0000000..5f5fc5f
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h
@@ -0,0 +1,31 @@
+/* Definition of PTHREAD_STACK_MIN, possibly dynamic.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef PTHREAD_STACK_MIN
+# if defined __USE_DYNAMIC_STACK_SIZE && __USE_DYNAMIC_STACK_SIZE
+# ifndef __ASSEMBLER__
+# define __SC_THREAD_STACK_MIN_VALUE 75
+__BEGIN_DECLS
+extern long int __sysconf (int __name) __THROW;
+__END_DECLS
+# define PTHREAD_STACK_MIN __sysconf (__SC_THREAD_STACK_MIN_VALUE)
+# endif
+# else
+# include
+# endif
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h.blob
new file mode 100644
index 0000000..0fc71f9
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min-dynamic.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h
new file mode 100644
index 0000000..7bd6fa1
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h
@@ -0,0 +1,20 @@
+/* Definition of PTHREAD_STACK_MIN. Linux version.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/* Minimum size for a thread. We are free to choose a reasonable value. */
+#define PTHREAD_STACK_MIN 16384
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h.blob
new file mode 100644
index 0000000..fb09dba
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthread_stack_min.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h
new file mode 100644
index 0000000..4ebc4f9
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h
@@ -0,0 +1,55 @@
+/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_PTHREADTYPES_ARCH_H
+#define _BITS_PTHREADTYPES_ARCH_H 1
+
+#include
+
+#ifdef __x86_64__
+# if __WORDSIZE == 64
+# define __SIZEOF_PTHREAD_MUTEX_T 40
+# define __SIZEOF_PTHREAD_ATTR_T 56
+# define __SIZEOF_PTHREAD_RWLOCK_T 56
+# define __SIZEOF_PTHREAD_BARRIER_T 32
+# else
+# define __SIZEOF_PTHREAD_MUTEX_T 32
+# define __SIZEOF_PTHREAD_ATTR_T 32
+# define __SIZEOF_PTHREAD_RWLOCK_T 44
+# define __SIZEOF_PTHREAD_BARRIER_T 20
+# endif
+#else
+# define __SIZEOF_PTHREAD_MUTEX_T 24
+# define __SIZEOF_PTHREAD_ATTR_T 36
+# define __SIZEOF_PTHREAD_RWLOCK_T 32
+# define __SIZEOF_PTHREAD_BARRIER_T 20
+#endif
+#define __SIZEOF_PTHREAD_MUTEXATTR_T 4
+#define __SIZEOF_PTHREAD_COND_T 48
+#define __SIZEOF_PTHREAD_CONDATTR_T 4
+#define __SIZEOF_PTHREAD_RWLOCKATTR_T 8
+#define __SIZEOF_PTHREAD_BARRIERATTR_T 4
+
+#define __LOCK_ALIGNMENT
+#define __ONCE_ALIGNMENT
+
+#ifndef __x86_64__
+/* Extra attributes for the cleanup functions. */
+# define __cleanup_fct_attribute __attribute__ ((__regparm__ (1)))
+#endif
+
+#endif /* bits/pthreadtypes.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h.blob
new file mode 100644
index 0000000..8fb41b7
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes-arch.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h
new file mode 100644
index 0000000..4d4a255
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h
@@ -0,0 +1,121 @@
+/* Declaration of common pthread types for all architectures.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_PTHREADTYPES_COMMON_H
+# define _BITS_PTHREADTYPES_COMMON_H 1
+
+/* For internal mutex and condition variable definitions. */
+#include
+
+/* Thread identifiers. The structure of the attribute type is not
+ exposed on purpose. */
+typedef unsigned long int pthread_t;
+
+
+/* Data structures for mutex handling. The structure of the attribute
+ type is not exposed on purpose. */
+typedef union
+{
+ char __size[__SIZEOF_PTHREAD_MUTEXATTR_T];
+ int __align;
+} pthread_mutexattr_t;
+
+
+/* Data structure for condition variable handling. The structure of
+ the attribute type is not exposed on purpose. */
+typedef union
+{
+ char __size[__SIZEOF_PTHREAD_CONDATTR_T];
+ int __align;
+} pthread_condattr_t;
+
+
+/* Keys for thread-specific data */
+typedef unsigned int pthread_key_t;
+
+
+/* Once-only execution */
+typedef int __ONCE_ALIGNMENT pthread_once_t;
+
+
+union pthread_attr_t
+{
+ char __size[__SIZEOF_PTHREAD_ATTR_T];
+ long int __align;
+};
+#ifndef __have_pthread_attr_t
+typedef union pthread_attr_t pthread_attr_t;
+# define __have_pthread_attr_t 1
+#endif
+
+
+typedef union
+{
+ struct __pthread_mutex_s __data;
+ char __size[__SIZEOF_PTHREAD_MUTEX_T];
+ long int __align;
+} pthread_mutex_t;
+
+
+typedef union
+{
+ struct __pthread_cond_s __data;
+ char __size[__SIZEOF_PTHREAD_COND_T];
+ __extension__ long long int __align;
+} pthread_cond_t;
+
+
+#if defined __USE_UNIX98 || defined __USE_XOPEN2K
+/* Data structure for reader-writer lock variable handling. The
+ structure of the attribute type is deliberately not exposed. */
+typedef union
+{
+ struct __pthread_rwlock_arch_t __data;
+ char __size[__SIZEOF_PTHREAD_RWLOCK_T];
+ long int __align;
+} pthread_rwlock_t;
+
+typedef union
+{
+ char __size[__SIZEOF_PTHREAD_RWLOCKATTR_T];
+ long int __align;
+} pthread_rwlockattr_t;
+#endif
+
+
+#ifdef __USE_XOPEN2K
+/* POSIX spinlock data type. */
+typedef volatile int pthread_spinlock_t;
+
+
+/* POSIX barriers data type. The structure of the type is
+ deliberately not exposed. */
+typedef union
+{
+ char __size[__SIZEOF_PTHREAD_BARRIER_T];
+ long int __align;
+} pthread_barrier_t;
+
+typedef union
+{
+ char __size[__SIZEOF_PTHREAD_BARRIERATTR_T];
+ int __align;
+} pthread_barrierattr_t;
+#endif
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h.blob
new file mode 100644
index 0000000..83652a7
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@pthreadtypes.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h
new file mode 100644
index 0000000..8204bbd
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h
@@ -0,0 +1,37 @@
+/* Copyright (C) 1997-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _SYS_SELECT_H
+# error "Never use directly; include instead."
+#endif
+
+
+/* We don't use `memset' because this would require a prototype and
+ the array isn't too big. */
+#define __FD_ZERO(s) \
+ do { \
+ unsigned int __i; \
+ fd_set *__arr = (s); \
+ for (__i = 0; __i < sizeof (fd_set) / sizeof (__fd_mask); ++__i) \
+ __FDS_BITS (__arr)[__i] = 0; \
+ } while (0)
+#define __FD_SET(d, s) \
+ ((void) (__FDS_BITS (s)[__FD_ELT(d)] |= __FD_MASK(d)))
+#define __FD_CLR(d, s) \
+ ((void) (__FDS_BITS (s)[__FD_ELT(d)] &= ~__FD_MASK(d)))
+#define __FD_ISSET(d, s) \
+ ((__FDS_BITS (s)[__FD_ELT (d)] & __FD_MASK (d)) != 0)
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h.blob
new file mode 100644
index 0000000..6a2007d
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@select.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h
new file mode 100644
index 0000000..19c1d87
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h
@@ -0,0 +1,83 @@
+/* The proper definitions for Linux's sigaction.
+ Copyright (C) 1993-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_SIGACTION_H
+#define _BITS_SIGACTION_H 1
+
+#ifndef _SIGNAL_H
+# error "Never include directly; use instead."
+#endif
+
+/* Structure describing the action to be taken when a signal arrives. */
+struct sigaction
+ {
+ /* Signal handler. */
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
+ union
+ {
+ /* Used if SA_SIGINFO is not set. */
+ __sighandler_t sa_handler;
+ /* Used if SA_SIGINFO is set. */
+ void (*sa_sigaction) (int, siginfo_t *, void *);
+ }
+ __sigaction_handler;
+# define sa_handler __sigaction_handler.sa_handler
+# define sa_sigaction __sigaction_handler.sa_sigaction
+#else
+ __sighandler_t sa_handler;
+#endif
+
+ /* Additional set of signals to be blocked. */
+ __sigset_t sa_mask;
+
+ /* Special flags. */
+ int sa_flags;
+
+ /* Restore handler. */
+ void (*sa_restorer) (void);
+ };
+
+/* Bits in `sa_flags'. */
+#define SA_NOCLDSTOP 1 /* Don't send SIGCHLD when children stop. */
+#define SA_NOCLDWAIT 2 /* Don't create zombie on child death. */
+#define SA_SIGINFO 4 /* Invoke signal-catching function with
+ three arguments instead of one. */
+#if defined __USE_XOPEN_EXTENDED || defined __USE_MISC
+# define SA_ONSTACK 0x08000000 /* Use signal stack by using `sa_restorer'. */
+#endif
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
+# define SA_RESTART 0x10000000 /* Restart syscall on signal return. */
+# define SA_NODEFER 0x40000000 /* Don't automatically block the signal when
+ its handler is being executed. */
+# define SA_RESETHAND 0x80000000 /* Reset to SIG_DFL on entry to handler. */
+#endif
+#ifdef __USE_MISC
+# define SA_INTERRUPT 0x20000000 /* Historical no-op. */
+
+/* Some aliases for the SA_ constants. */
+# define SA_NOMASK SA_NODEFER
+# define SA_ONESHOT SA_RESETHAND
+# define SA_STACK SA_ONSTACK
+#endif
+
+/* Values for the HOW argument to `sigprocmask'. */
+#define SIG_BLOCK 0 /* Block signals. */
+#define SIG_UNBLOCK 1 /* Unblock signals. */
+#define SIG_SETMASK 2 /* Set the set of blocked signals. */
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h.blob
new file mode 100644
index 0000000..752fcc1
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigaction.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h
new file mode 100644
index 0000000..1fb6ca2
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h
@@ -0,0 +1,196 @@
+/* Copyright (C) 2002-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_SIGCONTEXT_H
+#define _BITS_SIGCONTEXT_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never use directly; include instead."
+#endif
+
+#include
+
+#define FP_XSTATE_MAGIC1 0x46505853U
+#define FP_XSTATE_MAGIC2 0x46505845U
+#define FP_XSTATE_MAGIC2_SIZE sizeof (FP_XSTATE_MAGIC2)
+
+struct _fpx_sw_bytes
+{
+ __uint32_t magic1;
+ __uint32_t extended_size;
+ __uint64_t xstate_bv;
+ __uint32_t xstate_size;
+ __uint32_t __glibc_reserved1[7];
+};
+
+struct _fpreg
+{
+ unsigned short significand[4];
+ unsigned short exponent;
+};
+
+struct _fpxreg
+{
+ unsigned short significand[4];
+ unsigned short exponent;
+ unsigned short __glibc_reserved1[3];
+};
+
+struct _xmmreg
+{
+ __uint32_t element[4];
+};
+
+
+
+#ifndef __x86_64__
+
+struct _fpstate
+{
+ /* Regular FPU environment. */
+ __uint32_t cw;
+ __uint32_t sw;
+ __uint32_t tag;
+ __uint32_t ipoff;
+ __uint32_t cssel;
+ __uint32_t dataoff;
+ __uint32_t datasel;
+ struct _fpreg _st[8];
+ unsigned short status;
+ unsigned short magic;
+
+ /* FXSR FPU environment. */
+ __uint32_t _fxsr_env[6];
+ __uint32_t mxcsr;
+ __uint32_t __glibc_reserved1;
+ struct _fpxreg _fxsr_st[8];
+ struct _xmmreg _xmm[8];
+ __uint32_t __glibc_reserved2[56];
+};
+
+#ifndef sigcontext_struct
+/* Kernel headers before 2.1.1 define a struct sigcontext_struct, but
+ we need sigcontext. Some packages have come to rely on
+ sigcontext_struct being defined on 32-bit x86, so define this for
+ their benefit. */
+# define sigcontext_struct sigcontext
+#endif
+
+#define X86_FXSR_MAGIC 0x0000
+
+struct sigcontext
+{
+ unsigned short gs, __gsh;
+ unsigned short fs, __fsh;
+ unsigned short es, __esh;
+ unsigned short ds, __dsh;
+ unsigned long edi;
+ unsigned long esi;
+ unsigned long ebp;
+ unsigned long esp;
+ unsigned long ebx;
+ unsigned long edx;
+ unsigned long ecx;
+ unsigned long eax;
+ unsigned long trapno;
+ unsigned long err;
+ unsigned long eip;
+ unsigned short cs, __csh;
+ unsigned long eflags;
+ unsigned long esp_at_signal;
+ unsigned short ss, __ssh;
+ struct _fpstate * fpstate;
+ unsigned long oldmask;
+ unsigned long cr2;
+};
+
+#else /* __x86_64__ */
+
+struct _fpstate
+{
+ /* FPU environment matching the 64-bit FXSAVE layout. */
+ __uint16_t cwd;
+ __uint16_t swd;
+ __uint16_t ftw;
+ __uint16_t fop;
+ __uint64_t rip;
+ __uint64_t rdp;
+ __uint32_t mxcsr;
+ __uint32_t mxcr_mask;
+ struct _fpxreg _st[8];
+ struct _xmmreg _xmm[16];
+ __uint32_t __glibc_reserved1[24];
+};
+
+struct sigcontext
+{
+ __uint64_t r8;
+ __uint64_t r9;
+ __uint64_t r10;
+ __uint64_t r11;
+ __uint64_t r12;
+ __uint64_t r13;
+ __uint64_t r14;
+ __uint64_t r15;
+ __uint64_t rdi;
+ __uint64_t rsi;
+ __uint64_t rbp;
+ __uint64_t rbx;
+ __uint64_t rdx;
+ __uint64_t rax;
+ __uint64_t rcx;
+ __uint64_t rsp;
+ __uint64_t rip;
+ __uint64_t eflags;
+ unsigned short cs;
+ unsigned short gs;
+ unsigned short fs;
+ unsigned short __pad0;
+ __uint64_t err;
+ __uint64_t trapno;
+ __uint64_t oldmask;
+ __uint64_t cr2;
+ __extension__ union
+ {
+ struct _fpstate * fpstate;
+ __uint64_t __fpstate_word;
+ };
+ __uint64_t __reserved1 [8];
+};
+
+#endif /* __x86_64__ */
+
+struct _xsave_hdr
+{
+ __uint64_t xstate_bv;
+ __uint64_t __glibc_reserved1[2];
+ __uint64_t __glibc_reserved2[5];
+};
+
+struct _ymmh_state
+{
+ __uint32_t ymmh_space[64];
+};
+
+struct _xstate
+{
+ struct _fpstate fpstate;
+ struct _xsave_hdr xstate_hdr;
+ struct _ymmh_state ymmh;
+};
+
+#endif /* _BITS_SIGCONTEXT_H */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h.blob
new file mode 100644
index 0000000..5629102
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigcontext.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h
new file mode 100644
index 0000000..28589fc
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h
@@ -0,0 +1,41 @@
+/* sigevent constants. Linux version.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_SIGEVENT_CONSTS_H
+#define _BITS_SIGEVENT_CONSTS_H 1
+
+#if !defined _SIGNAL_H && !defined _AIO_H
+#error "Don't include directly; use instead."
+#endif
+
+/* `sigev_notify' values. */
+enum
+{
+ SIGEV_SIGNAL = 0, /* Notify via signal. */
+# define SIGEV_SIGNAL SIGEV_SIGNAL
+ SIGEV_NONE, /* Other notification: meaningless. */
+# define SIGEV_NONE SIGEV_NONE
+ SIGEV_THREAD, /* Deliver via thread creation. */
+# define SIGEV_THREAD SIGEV_THREAD
+
+ SIGEV_THREAD_ID = 4 /* Send signal to specific thread.
+ This is a Linux extension. */
+#define SIGEV_THREAD_ID SIGEV_THREAD_ID
+};
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h.blob
new file mode 100644
index 0000000..b19ebfe
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigevent-consts.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h
new file mode 100644
index 0000000..7688a8d
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h
@@ -0,0 +1,17 @@
+/* Architecture-specific adjustments to siginfo_t. x86 version. */
+#ifndef _BITS_SIGINFO_ARCH_H
+#define _BITS_SIGINFO_ARCH_H 1
+
+#if defined __x86_64__ && __WORDSIZE == 32
+/* si_utime and si_stime must be 4 byte aligned for x32 to match the
+ kernel. We align siginfo_t to 8 bytes so that si_utime and
+ si_stime are actually aligned to 8 bytes since their offsets are
+ multiple of 8 bytes. Note: with some compilers, the alignment
+ attribute would be ignored if it were put in __SI_CLOCK_T instead
+ of encapsulated in a typedef. */
+typedef __clock_t __attribute__ ((__aligned__ (4))) __sigchld_clock_t;
+# define __SI_ALIGNMENT __attribute__ ((__aligned__ (8)))
+# define __SI_CLOCK_T __sigchld_clock_t
+#endif
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h.blob
new file mode 100644
index 0000000..81394a5
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-arch.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h
new file mode 100644
index 0000000..4803327
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h
@@ -0,0 +1,216 @@
+/* siginfo constants. Linux version.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_SIGINFO_CONSTS_H
+#define _BITS_SIGINFO_CONSTS_H 1
+
+#ifndef _SIGNAL_H
+#error "Don't include directly; use instead."
+#endif
+
+/* Most of these constants are uniform across all architectures, but there
+ is one exception. */
+#include
+#ifndef __SI_ASYNCIO_AFTER_SIGIO
+# define __SI_ASYNCIO_AFTER_SIGIO 1
+#endif
+
+/* Values for `si_code'. Positive values are reserved for kernel-generated
+ signals. */
+enum
+{
+ SI_ASYNCNL = -60, /* Sent by asynch name lookup completion. */
+ SI_DETHREAD = -7, /* Sent by execve killing subsidiary
+ threads. */
+ SI_TKILL, /* Sent by tkill. */
+ SI_SIGIO, /* Sent by queued SIGIO. */
+#if __SI_ASYNCIO_AFTER_SIGIO
+ SI_ASYNCIO, /* Sent by AIO completion. */
+ SI_MESGQ, /* Sent by real time mesq state change. */
+ SI_TIMER, /* Sent by timer expiration. */
+#else
+ SI_MESGQ,
+ SI_TIMER,
+ SI_ASYNCIO,
+#endif
+ SI_QUEUE, /* Sent by sigqueue. */
+ SI_USER, /* Sent by kill, sigsend. */
+ SI_KERNEL = 0x80 /* Send by kernel. */
+
+#define SI_ASYNCNL SI_ASYNCNL
+#define SI_DETHREAD SI_DETHREAD
+#define SI_TKILL SI_TKILL
+#define SI_SIGIO SI_SIGIO
+#define SI_ASYNCIO SI_ASYNCIO
+#define SI_MESGQ SI_MESGQ
+#define SI_TIMER SI_TIMER
+#define SI_ASYNCIO SI_ASYNCIO
+#define SI_QUEUE SI_QUEUE
+#define SI_USER SI_USER
+#define SI_KERNEL SI_KERNEL
+};
+
+
+# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
+/* `si_code' values for SIGILL signal. */
+enum
+{
+ ILL_ILLOPC = 1, /* Illegal opcode. */
+# define ILL_ILLOPC ILL_ILLOPC
+ ILL_ILLOPN, /* Illegal operand. */
+# define ILL_ILLOPN ILL_ILLOPN
+ ILL_ILLADR, /* Illegal addressing mode. */
+# define ILL_ILLADR ILL_ILLADR
+ ILL_ILLTRP, /* Illegal trap. */
+# define ILL_ILLTRP ILL_ILLTRP
+ ILL_PRVOPC, /* Privileged opcode. */
+# define ILL_PRVOPC ILL_PRVOPC
+ ILL_PRVREG, /* Privileged register. */
+# define ILL_PRVREG ILL_PRVREG
+ ILL_COPROC, /* Coprocessor error. */
+# define ILL_COPROC ILL_COPROC
+ ILL_BADSTK, /* Internal stack error. */
+# define ILL_BADSTK ILL_BADSTK
+ ILL_BADIADDR /* Unimplemented instruction address. */
+# define ILL_BADIADDR ILL_BADIADDR
+};
+
+/* `si_code' values for SIGFPE signal. */
+enum
+{
+ FPE_INTDIV = 1, /* Integer divide by zero. */
+# define FPE_INTDIV FPE_INTDIV
+ FPE_INTOVF, /* Integer overflow. */
+# define FPE_INTOVF FPE_INTOVF
+ FPE_FLTDIV, /* Floating point divide by zero. */
+# define FPE_FLTDIV FPE_FLTDIV
+ FPE_FLTOVF, /* Floating point overflow. */
+# define FPE_FLTOVF FPE_FLTOVF
+ FPE_FLTUND, /* Floating point underflow. */
+# define FPE_FLTUND FPE_FLTUND
+ FPE_FLTRES, /* Floating point inexact result. */
+# define FPE_FLTRES FPE_FLTRES
+ FPE_FLTINV, /* Floating point invalid operation. */
+# define FPE_FLTINV FPE_FLTINV
+ FPE_FLTSUB, /* Subscript out of range. */
+# define FPE_FLTSUB FPE_FLTSUB
+ FPE_FLTUNK = 14, /* Undiagnosed floating-point exception. */
+# define FPE_FLTUNK FPE_FLTUNK
+ FPE_CONDTRAP /* Trap on condition. */
+# define FPE_CONDTRAP FPE_CONDTRAP
+};
+
+/* `si_code' values for SIGSEGV signal. */
+enum
+{
+ SEGV_MAPERR = 1, /* Address not mapped to object. */
+# define SEGV_MAPERR SEGV_MAPERR
+ SEGV_ACCERR, /* Invalid permissions for mapped object. */
+# define SEGV_ACCERR SEGV_ACCERR
+ SEGV_BNDERR, /* Bounds checking failure. */
+# define SEGV_BNDERR SEGV_BNDERR
+ SEGV_PKUERR, /* Protection key checking failure. */
+# define SEGV_PKUERR SEGV_PKUERR
+ SEGV_ACCADI, /* ADI not enabled for mapped object. */
+# define SEGV_ACCADI SEGV_ACCADI
+ SEGV_ADIDERR, /* Disrupting MCD error. */
+# define SEGV_ADIDERR SEGV_ADIDERR
+ SEGV_ADIPERR, /* Precise MCD exception. */
+# define SEGV_ADIPERR SEGV_ADIPERR
+ SEGV_MTEAERR, /* Asynchronous ARM MTE error. */
+# define SEGV_MTEAERR SEGV_MTEAERR
+ SEGV_MTESERR /* Synchronous ARM MTE exception. */
+# define SEGV_MTESERR SEGV_MTESERR
+};
+
+/* `si_code' values for SIGBUS signal. */
+enum
+{
+ BUS_ADRALN = 1, /* Invalid address alignment. */
+# define BUS_ADRALN BUS_ADRALN
+ BUS_ADRERR, /* Non-existant physical address. */
+# define BUS_ADRERR BUS_ADRERR
+ BUS_OBJERR, /* Object specific hardware error. */
+# define BUS_OBJERR BUS_OBJERR
+ BUS_MCEERR_AR, /* Hardware memory error: action required. */
+# define BUS_MCEERR_AR BUS_MCEERR_AR
+ BUS_MCEERR_AO /* Hardware memory error: action optional. */
+# define BUS_MCEERR_AO BUS_MCEERR_AO
+};
+# endif
+
+# ifdef __USE_XOPEN_EXTENDED
+/* `si_code' values for SIGTRAP signal. */
+enum
+{
+ TRAP_BRKPT = 1, /* Process breakpoint. */
+# define TRAP_BRKPT TRAP_BRKPT
+ TRAP_TRACE, /* Process trace trap. */
+# define TRAP_TRACE TRAP_TRACE
+ TRAP_BRANCH, /* Process taken branch trap. */
+# define TRAP_BRANCH TRAP_BRANCH
+ TRAP_HWBKPT, /* Hardware breakpoint/watchpoint. */
+# define TRAP_HWBKPT TRAP_HWBKPT
+ TRAP_UNK /* Undiagnosed trap. */
+# define TRAP_UNK TRAP_UNK
+};
+# endif
+
+# if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
+/* `si_code' values for SIGCHLD signal. */
+enum
+{
+ CLD_EXITED = 1, /* Child has exited. */
+# define CLD_EXITED CLD_EXITED
+ CLD_KILLED, /* Child was killed. */
+# define CLD_KILLED CLD_KILLED
+ CLD_DUMPED, /* Child terminated abnormally. */
+# define CLD_DUMPED CLD_DUMPED
+ CLD_TRAPPED, /* Traced child has trapped. */
+# define CLD_TRAPPED CLD_TRAPPED
+ CLD_STOPPED, /* Child has stopped. */
+# define CLD_STOPPED CLD_STOPPED
+ CLD_CONTINUED /* Stopped child has continued. */
+# define CLD_CONTINUED CLD_CONTINUED
+};
+
+/* `si_code' values for SIGPOLL signal. */
+enum
+{
+ POLL_IN = 1, /* Data input available. */
+# define POLL_IN POLL_IN
+ POLL_OUT, /* Output buffers available. */
+# define POLL_OUT POLL_OUT
+ POLL_MSG, /* Input message available. */
+# define POLL_MSG POLL_MSG
+ POLL_ERR, /* I/O error. */
+# define POLL_ERR POLL_ERR
+ POLL_PRI, /* High priority input available. */
+# define POLL_PRI POLL_PRI
+ POLL_HUP /* Device disconnected. */
+# define POLL_HUP POLL_HUP
+};
+# endif
+
+/* Architectures might also add architecture-specific constants.
+ These are all considered GNU extensions. */
+#ifdef __USE_GNU
+# include
+#endif
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h.blob
new file mode 100644
index 0000000..0d2a48e
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@siginfo-consts.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h
new file mode 100644
index 0000000..ca31214
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h
@@ -0,0 +1,31 @@
+/* System-specific extensions of , Linux version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _SIGNAL_H
+# error "Never include directly; use instead."
+#endif
+
+#ifdef __USE_GNU
+
+/* Send SIGNAL to the thread TID in the thread group (process)
+ identified by TGID. This function behaves like kill, but also
+ fails with ESRCH if the specified TID does not belong to the
+ specified thread group. */
+extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal);
+
+#endif /* __USE_GNU */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h.blob
new file mode 100644
index 0000000..6693c87
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signal_ext.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h
new file mode 100644
index 0000000..302294c
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h
@@ -0,0 +1,64 @@
+/* Signal number definitions. Linux version.
+ Copyright (C) 1995-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_SIGNUM_ARCH_H
+#define _BITS_SIGNUM_ARCH_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include directly; use instead."
+#endif
+
+/* Adjustments and additions to the signal number constants for
+ most Linux systems. */
+
+#define SIGSTKFLT 16 /* Stack fault (obsolete). */
+#define SIGPWR 30 /* Power failure imminent. */
+
+/* Historical signals specified by POSIX. */
+#define SIGBUS 7 /* Bus error. */
+#define SIGSYS 31 /* Bad system call. */
+
+/* New(er) POSIX signals (1003.1-2008, 1003.1-2013). */
+#define SIGURG 23 /* Urgent data is available at a socket. */
+#define SIGSTOP 19 /* Stop, unblockable. */
+#define SIGTSTP 20 /* Keyboard stop. */
+#define SIGCONT 18 /* Continue. */
+#define SIGCHLD 17 /* Child terminated or stopped. */
+#define SIGTTIN 21 /* Background read from control terminal. */
+#define SIGTTOU 22 /* Background write to control terminal. */
+#define SIGPOLL 29 /* Pollable event occurred (System V). */
+#define SIGXFSZ 25 /* File size limit exceeded. */
+#define SIGXCPU 24 /* CPU time limit exceeded. */
+#define SIGVTALRM 26 /* Virtual timer expired. */
+#define SIGPROF 27 /* Profiling timer expired. */
+#define SIGUSR1 10 /* User-defined signal 1. */
+#define SIGUSR2 12 /* User-defined signal 2. */
+
+/* Nonstandard signals found in all modern POSIX systems
+ (including both BSD and Linux). */
+#define SIGWINCH 28 /* Window size change (4.3 BSD, Sun). */
+
+/* Archaic names for compatibility. */
+#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
+#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
+#define SIGCLD SIGCHLD /* Old System V name */
+
+#define __SIGRTMIN 32
+#define __SIGRTMAX 64
+
+#endif /* included. */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h.blob
new file mode 100644
index 0000000..79eb889
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-arch.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h
new file mode 100644
index 0000000..4e481c1
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h
@@ -0,0 +1,81 @@
+/* Signal number constants. Generic template.
+ Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_SIGNUM_GENERIC_H
+#define _BITS_SIGNUM_GENERIC_H 1
+
+#ifndef _SIGNAL_H
+#error "Never include directly; use instead."
+#endif
+
+/* Fake signal functions. */
+
+#define SIG_ERR ((__sighandler_t) -1) /* Error return. */
+#define SIG_DFL ((__sighandler_t) 0) /* Default action. */
+#define SIG_IGN ((__sighandler_t) 1) /* Ignore signal. */
+
+#ifdef __USE_XOPEN
+# define SIG_HOLD ((__sighandler_t) 2) /* Add signal to hold mask. */
+#endif
+
+/* We define here all the signal names listed in POSIX (1003.1-2008);
+ as of 1003.1-2013, no additional signals have been added by POSIX.
+ We also define here signal names that historically exist in every
+ real-world POSIX variant (e.g. SIGWINCH).
+
+ Signals in the 1-15 range are defined with their historical numbers.
+ For other signals, we use the BSD numbers.
+ There are two unallocated signal numbers in the 1-31 range: 7 and 29.
+ Signal number 0 is reserved for use as kill(pid, 0), to test whether
+ a process exists without sending it a signal. */
+
+/* ISO C99 signals. */
+#define SIGINT 2 /* Interactive attention signal. */
+#define SIGILL 4 /* Illegal instruction. */
+#define SIGABRT 6 /* Abnormal termination. */
+#define SIGFPE 8 /* Erroneous arithmetic operation. */
+#define SIGSEGV 11 /* Invalid access to storage. */
+#define SIGTERM 15 /* Termination request. */
+
+/* Historical signals specified by POSIX. */
+#define SIGHUP 1 /* Hangup. */
+#define SIGQUIT 3 /* Quit. */
+#define SIGTRAP 5 /* Trace/breakpoint trap. */
+#define SIGKILL 9 /* Killed. */
+#define SIGPIPE 13 /* Broken pipe. */
+#define SIGALRM 14 /* Alarm clock. */
+
+/* Archaic names for compatibility. */
+#define SIGIO SIGPOLL /* I/O now possible (4.2 BSD). */
+#define SIGIOT SIGABRT /* IOT instruction, abort() on a PDP-11. */
+#define SIGCLD SIGCHLD /* Old System V name */
+
+/* Not all systems support real-time signals. bits/signum.h indicates
+ that they are supported by overriding __SIGRTMAX to a value greater
+ than __SIGRTMIN. These constants give the kernel-level hard limits,
+ but some real-time signals may be used internally by glibc. Do not
+ use these constants in application code; use SIGRTMIN and SIGRTMAX
+ (defined in signal.h) instead. */
+
+/* Include system specific bits. */
+#include
+
+/* Biggest signal number + 1 (including real-time signals). */
+#define _NSIG (__SIGRTMAX + 1)
+
+#endif /* bits/signum-generic.h. */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h.blob
new file mode 100644
index 0000000..aae10cb
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@signum-generic.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h
new file mode 100644
index 0000000..5330f5b
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h
@@ -0,0 +1,32 @@
+/* sigstack, sigaltstack definitions.
+ Copyright (C) 1998-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_SIGSTACK_H
+#define _BITS_SIGSTACK_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never include this file directly. Use instead"
+#endif
+
+/* Minimum stack size for a signal handler. */
+#define MINSIGSTKSZ 2048
+
+/* System default stack size. */
+#define SIGSTKSZ 8192
+
+#endif /* bits/sigstack.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h.blob
new file mode 100644
index 0000000..17287b6
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstack.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h
new file mode 100644
index 0000000..cd45d12
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h
@@ -0,0 +1,33 @@
+/* Definition of MINSIGSTKSZ and SIGSTKSZ. Linux version.
+ Copyright (C) 2020 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _SIGNAL_H
+# error "Never include directly; use instead."
+#endif
+
+#if defined __USE_DYNAMIC_STACK_SIZE && __USE_DYNAMIC_STACK_SIZE
+# include
+
+/* Default stack size for a signal handler: sysconf (SC_SIGSTKSZ). */
+# undef SIGSTKSZ
+# define SIGSTKSZ sysconf (_SC_SIGSTKSZ)
+
+/* Minimum stack size for a signal handler: SIGSTKSZ. */
+# undef MINSIGSTKSZ
+# define MINSIGSTKSZ SIGSTKSZ
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h.blob
new file mode 100644
index 0000000..fdd9527
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigstksz.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h
new file mode 100644
index 0000000..8779a4b
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h
@@ -0,0 +1,44 @@
+/* Signal handling function for threaded programs.
+ Copyright (C) 1998-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public License as
+ published by the Free Software Foundation; either version 2.1 of the
+ License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; see the file COPYING.LIB. If
+ not, see . */
+
+#ifndef _BITS_SIGTHREAD_H
+#define _BITS_SIGTHREAD_H 1
+
+#if !defined _SIGNAL_H && !defined _PTHREAD_H
+# error "Never include this file directly. Use instead"
+#endif
+
+/* Functions for handling signals. */
+#include
+
+/* Modify the signal mask for the calling thread. The arguments have
+ the same meaning as for sigprocmask(2). */
+extern int pthread_sigmask (int __how,
+ const __sigset_t *__restrict __newmask,
+ __sigset_t *__restrict __oldmask)__THROW;
+
+/* Send signal SIGNO to the given thread. */
+extern int pthread_kill (pthread_t __threadid, int __signo) __THROW;
+
+#ifdef __USE_GNU
+/* Queue signal and data to a thread. */
+extern int pthread_sigqueue (pthread_t __threadid, int __signo,
+ const union sigval __value) __THROW;
+#endif
+
+#endif /* bits/sigthread.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h.blob
new file mode 100644
index 0000000..cd3a0f7
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@sigthread.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h
new file mode 100644
index 0000000..8dc676d
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h
@@ -0,0 +1,35 @@
+/* ss_flags values for stack_t. Linux version.
+ Copyright (C) 1998-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_SS_FLAGS_H
+#define _BITS_SS_FLAGS_H 1
+
+#if !defined _SIGNAL_H && !defined _SYS_UCONTEXT_H
+# error "Never include this file directly. Use instead"
+#endif
+
+/* Possible values for `ss_flags'. */
+enum
+{
+ SS_ONSTACK = 1,
+#define SS_ONSTACK SS_ONSTACK
+ SS_DISABLE
+#define SS_DISABLE SS_DISABLE
+};
+
+#endif /* bits/ss_flags.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h.blob
new file mode 100644
index 0000000..0c92ba6
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@ss_flags.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h
new file mode 100644
index 0000000..31868c8
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h
@@ -0,0 +1,60 @@
+/* Copyright (C) 1992-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include directly; use instead."
+#endif
+
+#ifndef _BITS_STAT_H
+#define _BITS_STAT_H 1
+
+#include
+
+/* Encoding of the file mode. */
+
+#define __S_IFMT 0170000 /* These bits determine file type. */
+
+/* File types. */
+#define __S_IFDIR 0040000 /* Directory. */
+#define __S_IFCHR 0020000 /* Character device. */
+#define __S_IFBLK 0060000 /* Block device. */
+#define __S_IFREG 0100000 /* Regular file. */
+#define __S_IFIFO 0010000 /* FIFO. */
+#define __S_IFLNK 0120000 /* Symbolic link. */
+#define __S_IFSOCK 0140000 /* Socket. */
+
+/* POSIX.1b objects. Note that these macros always evaluate to zero. But
+ they do it by enforcing the correct use of the macros. */
+#define __S_TYPEISMQ(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSEM(buf) ((buf)->st_mode - (buf)->st_mode)
+#define __S_TYPEISSHM(buf) ((buf)->st_mode - (buf)->st_mode)
+
+/* Protection bits. */
+
+#define __S_ISUID 04000 /* Set user ID on execution. */
+#define __S_ISGID 02000 /* Set group ID on execution. */
+#define __S_ISVTX 01000 /* Save swapped text after use (sticky). */
+#define __S_IREAD 0400 /* Read by owner. */
+#define __S_IWRITE 0200 /* Write by owner. */
+#define __S_IEXEC 0100 /* Execute by owner. */
+
+#ifdef __USE_ATFILE
+# define UTIME_NOW ((1l << 30) - 1l)
+# define UTIME_OMIT ((1l << 30) - 2l)
+#endif
+
+#endif /* bits/stat.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h.blob
new file mode 100644
index 0000000..4fd3a61
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stat.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h
new file mode 100644
index 0000000..8a1cf5d
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h
@@ -0,0 +1,29 @@
+/* Define intN_t types.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_STDINT_INTN_H
+#define _BITS_STDINT_INTN_H 1
+
+#include
+
+typedef __int8_t int8_t;
+typedef __int16_t int16_t;
+typedef __int32_t int32_t;
+typedef __int64_t int64_t;
+
+#endif /* bits/stdint-intn.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h.blob
new file mode 100644
index 0000000..d3c04e2
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-intn.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h
new file mode 100644
index 0000000..a4fca46
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h
@@ -0,0 +1,29 @@
+/* Define uintN_t types.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_STDINT_UINTN_H
+#define _BITS_STDINT_UINTN_H 1
+
+#include
+
+typedef __uint8_t uint8_t;
+typedef __uint16_t uint16_t;
+typedef __uint32_t uint32_t;
+typedef __uint64_t uint64_t;
+
+#endif /* bits/stdint-uintn.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h.blob
new file mode 100644
index 0000000..42e46d2
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdint-uintn.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h
new file mode 100644
index 0000000..ff1a2c3
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h
@@ -0,0 +1,39 @@
+/* Copyright (C) 1994-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_STDIO_LIM_H
+#define _BITS_STDIO_LIM_H 1
+
+#ifndef _STDIO_H
+# error "Never include directly; use instead."
+#endif
+
+#define L_tmpnam 20
+#define TMP_MAX 238328
+#define FILENAME_MAX 4096
+
+#ifdef __USE_POSIX
+# define L_ctermid 9
+# if !defined __USE_XOPEN2K || defined __USE_GNU
+# define L_cuserid 9
+# endif
+#endif
+
+#undef FOPEN_MAX
+#define FOPEN_MAX 16
+
+#endif /* bits/stdio_lim.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h.blob
new file mode 100644
index 0000000..cce155f
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdio_lim.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h
new file mode 100644
index 0000000..3373c5b
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h
@@ -0,0 +1,29 @@
+/* Floating-point inline functions for stdlib.h.
+ Copyright (C) 2012-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _STDLIB_H
+# error "Never use directly; include instead."
+#endif
+
+#ifdef __USE_EXTERN_INLINES
+__extern_inline double
+__NTH (atof (const char *__nptr))
+{
+ return strtod (__nptr, (char **) NULL);
+}
+#endif /* Optimizing and Inlining. */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h.blob
new file mode 100644
index 0000000..c9369d7
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@stdlib-float.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h
new file mode 100644
index 0000000..f837e7a
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h
@@ -0,0 +1,63 @@
+/* x86 internal mutex struct definitions.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _THREAD_MUTEX_INTERNAL_H
+#define _THREAD_MUTEX_INTERNAL_H 1
+
+struct __pthread_mutex_s
+{
+ int __lock;
+ unsigned int __count;
+ int __owner;
+#ifdef __x86_64__
+ unsigned int __nusers;
+#endif
+ /* KIND must stay at this position in the structure to maintain
+ binary compatibility with static initializers. */
+ int __kind;
+#ifdef __x86_64__
+ short __spins;
+ short __elision;
+ __pthread_list_t __list;
+# define __PTHREAD_MUTEX_HAVE_PREV 1
+#else
+ unsigned int __nusers;
+ __extension__ union
+ {
+ struct
+ {
+ short __espins;
+ short __eelision;
+# define __spins __elision_data.__espins
+# define __elision __elision_data.__eelision
+ } __elision_data;
+ __pthread_slist_t __list;
+ };
+# define __PTHREAD_MUTEX_HAVE_PREV 0
+#endif
+};
+
+#ifdef __x86_64__
+# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
+ 0, 0, 0, 0, __kind, 0, 0, { 0, 0 }
+#else
+# define __PTHREAD_MUTEX_INITIALIZER(__kind) \
+ 0, 0, 0, __kind, 0, { { 0, 0 } }
+#endif
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h.blob
new file mode 100644
index 0000000..a6de5a3
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_mutex.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h
new file mode 100644
index 0000000..cd5743e
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h
@@ -0,0 +1,65 @@
+/* x86 internal rwlock struct definitions.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _RWLOCK_INTERNAL_H
+#define _RWLOCK_INTERNAL_H
+
+struct __pthread_rwlock_arch_t
+{
+ unsigned int __readers;
+ unsigned int __writers;
+ unsigned int __wrphase_futex;
+ unsigned int __writers_futex;
+ unsigned int __pad3;
+ unsigned int __pad4;
+#ifdef __x86_64__
+ int __cur_writer;
+ int __shared;
+ signed char __rwelision;
+# ifdef __ILP32__
+ unsigned char __pad1[3];
+# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0 }
+# else
+ unsigned char __pad1[7];
+# define __PTHREAD_RWLOCK_ELISION_EXTRA 0, { 0, 0, 0, 0, 0, 0, 0 }
+# endif
+ unsigned long int __pad2;
+ /* FLAGS must stay at this position in the structure to maintain
+ binary compatibility. */
+ unsigned int __flags;
+#else /* __x86_64__ */
+ /* FLAGS must stay at this position in the structure to maintain
+ binary compatibility. */
+ unsigned char __flags;
+ unsigned char __shared;
+ signed char __rwelision;
+ unsigned char __pad2;
+ int __cur_writer;
+#endif
+};
+
+#ifdef __x86_64__
+# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
+ 0, 0, 0, 0, 0, 0, 0, 0, __PTHREAD_RWLOCK_ELISION_EXTRA, 0, __flags
+#else
+# define __PTHREAD_RWLOCK_INITIALIZER(__flags) \
+ 0, 0, 0, 0, 0, 0, __flags, 0, 0, 0, 0
+#endif
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h.blob
new file mode 100644
index 0000000..3f93bca
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_rwlock.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h
new file mode 100644
index 0000000..01ee7ff
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h
@@ -0,0 +1,165 @@
+/* Definition for struct stat.
+ Copyright (C) 2020-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ . */
+
+#if !defined _SYS_STAT_H && !defined _FCNTL_H
+# error "Never include directly; use instead."
+#endif
+
+#ifndef _BITS_STRUCT_STAT_H
+#define _BITS_STRUCT_STAT_H 1
+
+struct stat
+ {
+#ifdef __USE_TIME_BITS64
+# include
+#else
+ __dev_t st_dev; /* Device. */
+# ifndef __x86_64__
+ unsigned short int __pad1;
+# endif
+# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
+ __ino_t st_ino; /* File serial number. */
+# else
+ __ino_t __st_ino; /* 32bit file serial number. */
+# endif
+# ifndef __x86_64__
+ __mode_t st_mode; /* File mode. */
+ __nlink_t st_nlink; /* Link count. */
+# else
+ __nlink_t st_nlink; /* Link count. */
+ __mode_t st_mode; /* File mode. */
+# endif
+ __uid_t st_uid; /* User ID of the file's owner. */
+ __gid_t st_gid; /* Group ID of the file's group.*/
+# ifdef __x86_64__
+ int __pad0;
+# endif
+ __dev_t st_rdev; /* Device number, if device. */
+# ifndef __x86_64__
+ unsigned short int __pad2;
+# endif
+# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
+ __off_t st_size; /* Size of file, in bytes. */
+# else
+ __off64_t st_size; /* Size of file, in bytes. */
+# endif
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+# if defined __x86_64__ || !defined __USE_FILE_OFFSET64
+ __blkcnt_t st_blocks; /* Number 512-byte blocks allocated. */
+# else
+ __blkcnt64_t st_blocks; /* Number 512-byte blocks allocated. */
+# endif
+# ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+ identifier 'timespec' to appear in the header.
+ Therefore we have to handle the use of this header in strictly
+ standard-compliant sources special. */
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+# define st_atime st_atim.tv_sec /* Backward compatibility. */
+# define st_mtime st_mtim.tv_sec
+# define st_ctime st_ctim.tv_sec
+# else
+ __time_t st_atime; /* Time of last access. */
+ __syscall_ulong_t st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
+# endif
+# ifdef __x86_64__
+ __syscall_slong_t __glibc_reserved[3];
+# else
+# ifndef __USE_FILE_OFFSET64
+ unsigned long int __glibc_reserved4;
+ unsigned long int __glibc_reserved5;
+# else
+ __ino64_t st_ino; /* File serial number. */
+# endif
+# endif
+#endif /* __USE_TIME_BITS64 */
+ };
+
+#ifdef __USE_LARGEFILE64
+/* Note stat64 has the same shape as stat for x86-64. */
+struct stat64
+ {
+# ifdef __USE_TIME_BITS64
+# include
+# else
+ __dev_t st_dev; /* Device. */
+# ifdef __x86_64__
+ __ino64_t st_ino; /* File serial number. */
+ __nlink_t st_nlink; /* Link count. */
+ __mode_t st_mode; /* File mode. */
+# else
+ unsigned int __pad1;
+ __ino_t __st_ino; /* 32bit file serial number. */
+ __mode_t st_mode; /* File mode. */
+ __nlink_t st_nlink; /* Link count. */
+# endif
+ __uid_t st_uid; /* User ID of the file's owner. */
+ __gid_t st_gid; /* Group ID of the file's group.*/
+# ifdef __x86_64__
+ int __pad0;
+ __dev_t st_rdev; /* Device number, if device. */
+ __off_t st_size; /* Size of file, in bytes. */
+# else
+ __dev_t st_rdev; /* Device number, if device. */
+ unsigned int __pad2;
+ __off64_t st_size; /* Size of file, in bytes. */
+# endif
+ __blksize_t st_blksize; /* Optimal block size for I/O. */
+ __blkcnt64_t st_blocks; /* Nr. 512-byte blocks allocated. */
+# ifdef __USE_XOPEN2K8
+ /* Nanosecond resolution timestamps are stored in a format
+ equivalent to 'struct timespec'. This is the type used
+ whenever possible but the Unix namespace rules do not allow the
+ identifier 'timespec' to appear in the header.
+ Therefore we have to handle the use of this header in strictly
+ standard-compliant sources special. */
+ struct timespec st_atim; /* Time of last access. */
+ struct timespec st_mtim; /* Time of last modification. */
+ struct timespec st_ctim; /* Time of last status change. */
+# else
+ __time_t st_atime; /* Time of last access. */
+ __syscall_ulong_t st_atimensec; /* Nscecs of last access. */
+ __time_t st_mtime; /* Time of last modification. */
+ __syscall_ulong_t st_mtimensec; /* Nsecs of last modification. */
+ __time_t st_ctime; /* Time of last status change. */
+ __syscall_ulong_t st_ctimensec; /* Nsecs of last status change. */
+# endif
+# ifdef __x86_64__
+ __syscall_slong_t __glibc_reserved[3];
+# else
+ __ino64_t st_ino; /* File serial number. */
+# endif
+# endif /* __USE_TIME_BITS64 */
+ };
+#endif
+
+/* Tell code we have these members. */
+#define _STATBUF_ST_BLKSIZE
+#define _STATBUF_ST_RDEV
+/* Nanosecond resolution time values are supported. */
+#define _STATBUF_ST_NSEC
+
+#endif /* _BITS_STRUCT_STAT_H */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h.blob
new file mode 100644
index 0000000..b5dd0b6
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@struct_stat.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h
new file mode 100644
index 0000000..0ec0484
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h
@@ -0,0 +1,48 @@
+/* termios baud rate selection definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ . */
+
+#ifndef _TERMIOS_H
+# error "Never include directly; use instead."
+#endif
+
+#ifdef __USE_MISC
+# define CBAUD 000000010017 /* Baud speed mask (not in POSIX). */
+# define CBAUDEX 000000010000 /* Extra baud speed mask, included in CBAUD.
+ (not in POSIX). */
+# define CIBAUD 002003600000 /* Input baud rate (not used). */
+# define CMSPAR 010000000000 /* Mark or space (stick) parity. */
+# define CRTSCTS 020000000000 /* Flow control. */
+#endif
+
+/* Extra output baud rates (not in POSIX). */
+#define B57600 0010001
+#define B115200 0010002
+#define B230400 0010003
+#define B460800 0010004
+#define B500000 0010005
+#define B576000 0010006
+#define B921600 0010007
+#define B1000000 0010010
+#define B1152000 0010011
+#define B1500000 0010012
+#define B2000000 0010013
+#define B2500000 0010014
+#define B3000000 0010015
+#define B3500000 0010016
+#define B4000000 0010017
+#define __MAX_BAUD B4000000
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h.blob
new file mode 100644
index 0000000..be0780d
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-baud.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h
new file mode 100644
index 0000000..a44813c
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h
@@ -0,0 +1,40 @@
+/* termios c_cc symbolic constant definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ . */
+
+#ifndef _TERMIOS_H
+# error "Never include directly; use instead."
+#endif
+
+/* c_cc characters */
+#define VINTR 0
+#define VQUIT 1
+#define VERASE 2
+#define VKILL 3
+#define VEOF 4
+#define VTIME 5
+#define VMIN 6
+#define VSWTC 7
+#define VSTART 8
+#define VSTOP 9
+#define VSUSP 10
+#define VEOL 11
+#define VREPRINT 12
+#define VDISCARD 13
+#define VWERASE 14
+#define VLNEXT 15
+#define VEOL2 16
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h.blob
new file mode 100644
index 0000000..fb3597c
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cc.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h
new file mode 100644
index 0000000..d1b45e6
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h
@@ -0,0 +1,34 @@
+/* termios control mode definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ . */
+
+#ifndef _TERMIOS_H
+# error "Never include directly; use instead."
+#endif
+
+/* c_cflag bits. */
+#define CSIZE 0000060
+#define CS5 0000000
+#define CS6 0000020
+#define CS7 0000040
+#define CS8 0000060
+#define CSTOPB 0000100
+#define CREAD 0000200
+#define PARENB 0000400
+#define PARODD 0001000
+#define HUPCL 0002000
+#define CLOCAL 0004000
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h.blob
new file mode 100644
index 0000000..f38d97b
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_cflag.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h
new file mode 100644
index 0000000..c74511c
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h
@@ -0,0 +1,40 @@
+/* termios input mode definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ . */
+
+#ifndef _TERMIOS_H
+# error "Never include directly; use instead."
+#endif
+
+/* c_iflag bits */
+#define IGNBRK 0000001 /* Ignore break condition. */
+#define BRKINT 0000002 /* Signal interrupt on break. */
+#define IGNPAR 0000004 /* Ignore characters with parity errors. */
+#define PARMRK 0000010 /* Mark parity and framing errors. */
+#define INPCK 0000020 /* Enable input parity check. */
+#define ISTRIP 0000040 /* Strip 8th bit off characters. */
+#define INLCR 0000100 /* Map NL to CR on input. */
+#define IGNCR 0000200 /* Ignore CR. */
+#define ICRNL 0000400 /* Map CR to NL on input. */
+#define IUCLC 0001000 /* Map uppercase characters to lowercase on input
+ (not in POSIX). */
+#define IXON 0002000 /* Enable start/stop output control. */
+#define IXANY 0004000 /* Enable any character to restart output. */
+#define IXOFF 0010000 /* Enable start/stop input control. */
+#define IMAXBEL 0020000 /* Ring bell when input queue is full
+ (not in POSIX). */
+#define IUTF8 0040000 /* Input is UTF8 (not in POSIX). */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h.blob
new file mode 100644
index 0000000..9f64112
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_iflag.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h
new file mode 100644
index 0000000..0b2b5db
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h
@@ -0,0 +1,58 @@
+/* termios local mode definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ . */
+
+#ifndef _TERMIOS_H
+# error "Never include directly; use instead."
+#endif
+
+/* c_lflag bits */
+#define ISIG 0000001 /* Enable signals. */
+#define ICANON 0000002 /* Canonical input (erase and kill processing). */
+#if defined __USE_MISC || (defined __USE_XOPEN && !defined __USE_XOPEN2K)
+# define XCASE 0000004
+#endif
+#define ECHO 0000010 /* Enable echo. */
+#define ECHOE 0000020 /* Echo erase character as error-correcting
+ backspace. */
+#define ECHOK 0000040 /* Echo KILL. */
+#define ECHONL 0000100 /* Echo NL. */
+#define NOFLSH 0000200 /* Disable flush after interrupt or quit. */
+#define TOSTOP 0000400 /* Send SIGTTOU for background output. */
+#ifdef __USE_MISC
+# define ECHOCTL 0001000 /* If ECHO is also set, terminal special characters
+ other than TAB, NL, START, and STOP are echoed as
+ ^X, where X is the character with ASCII code 0x40
+ greater than the special character
+ (not in POSIX). */
+# define ECHOPRT 0002000 /* If ICANON and ECHO are also set, characters are
+ printed as they are being erased
+ (not in POSIX). */
+# define ECHOKE 0004000 /* If ICANON is also set, KILL is echoed by erasing
+ each character on the line, as specified by ECHOE
+ and ECHOPRT (not in POSIX). */
+# define FLUSHO 0010000 /* Output is being flushed. This flag is toggled by
+ typing the DISCARD character (not in POSIX). */
+# define PENDIN 0040000 /* All characters in the input queue are reprinted
+ when the next character is read
+ (not in POSIX). */
+#endif
+#define IEXTEN 0100000 /* Enable implementation-defined input
+ processing. */
+#ifdef __USE_MISC
+# define EXTPROC 0200000
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h.blob
new file mode 100644
index 0000000..a7c5de6
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_lflag.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h
new file mode 100644
index 0000000..6bf7a29
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h
@@ -0,0 +1,61 @@
+/* termios output mode definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ . */
+
+#ifndef _TERMIOS_H
+# error "Never include directly; use instead."
+#endif
+
+/* c_oflag bits */
+#define OPOST 0000001 /* Post-process output. */
+#define OLCUC 0000002 /* Map lowercase characters to uppercase on output.
+ (not in POSIX). */
+#define ONLCR 0000004 /* Map NL to CR-NL on output. */
+#define OCRNL 0000010 /* Map CR to NL on output. */
+#define ONOCR 0000020 /* No CR output at column 0. */
+#define ONLRET 0000040 /* NL performs CR function. */
+#define OFILL 0000100 /* Use fill characters for delay. */
+#define OFDEL 0000200 /* Fill is DEL. */
+#if defined __USE_MISC || defined __USE_XOPEN
+# define NLDLY 0000400 /* Select newline delays: */
+# define NL0 0000000 /* Newline type 0. */
+# define NL1 0000400 /* Newline type 1. */
+# define CRDLY 0003000 /* Select carriage-return delays: */
+# define CR0 0000000 /* Carriage-return delay type 0. */
+# define CR1 0001000 /* Carriage-return delay type 1. */
+# define CR2 0002000 /* Carriage-return delay type 2. */
+# define CR3 0003000 /* Carriage-return delay type 3. */
+# define TABDLY 0014000 /* Select horizontal-tab delays: */
+# define TAB0 0000000 /* Horizontal-tab delay type 0. */
+# define TAB1 0004000 /* Horizontal-tab delay type 1. */
+# define TAB2 0010000 /* Horizontal-tab delay type 2. */
+# define TAB3 0014000 /* Expand tabs to spaces. */
+# define BSDLY 0020000 /* Select backspace delays: */
+# define BS0 0000000 /* Backspace-delay type 0. */
+# define BS1 0020000 /* Backspace-delay type 1. */
+# define FFDLY 0100000 /* Select form-feed delays: */
+# define FF0 0000000 /* Form-feed delay type 0. */
+# define FF1 0100000 /* Form-feed delay type 1. */
+#endif
+
+#define VTDLY 0040000 /* Select vertical-tab delays: */
+#define VT0 0000000 /* Vertical-tab delay type 0. */
+#define VT1 0040000 /* Vertical-tab delay type 1. */
+
+#ifdef __USE_MISC
+# define XTABS 0014000
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h.blob
new file mode 100644
index 0000000..f72c867
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-c_oflag.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h
new file mode 100644
index 0000000..690b601
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h
@@ -0,0 +1,21 @@
+/* termios baud platform specific definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ . */
+
+#ifndef _TERMIOS_H
+# error "Never include directly; use instead."
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h.blob
new file mode 100644
index 0000000..e735528
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-misc.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h
new file mode 100644
index 0000000..f227f5b
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h
@@ -0,0 +1,36 @@
+/* struct termios definition. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ . */
+
+#ifndef _TERMIOS_H
+# error "Never include directly; use instead."
+#endif
+
+#define NCCS 32
+struct termios
+ {
+ tcflag_t c_iflag; /* input mode flags */
+ tcflag_t c_oflag; /* output mode flags */
+ tcflag_t c_cflag; /* control mode flags */
+ tcflag_t c_lflag; /* local mode flags */
+ cc_t c_line; /* line discipline */
+ cc_t c_cc[NCCS]; /* control characters */
+ speed_t c_ispeed; /* input speed */
+ speed_t c_ospeed; /* output speed */
+#define _HAVE_STRUCT_TERMIOS_C_ISPEED 1
+#define _HAVE_STRUCT_TERMIOS_C_OSPEED 1
+ };
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h.blob
new file mode 100644
index 0000000..28362d7
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-struct.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h
new file mode 100644
index 0000000..3ee5631
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h
@@ -0,0 +1,26 @@
+/* termios tcflag symbolic contants definitions. Linux/generic version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library. If not, see
+ . */
+
+#ifndef _TERMIOS_H
+# error "Never include directly; use instead."
+#endif
+
+/* tcsetattr uses these. */
+#define TCSANOW 0
+#define TCSADRAIN 1
+#define TCSAFLUSH 2
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h.blob
new file mode 100644
index 0000000..3882fa5
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios-tcflow.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h
new file mode 100644
index 0000000..67c847f
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h
@@ -0,0 +1,76 @@
+/* termios type and macro definitions. Linux version.
+ Copyright (C) 1993-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _TERMIOS_H
+# error "Never include directly; use instead."
+#endif
+
+typedef unsigned char cc_t;
+typedef unsigned int speed_t;
+typedef unsigned int tcflag_t;
+
+#include
+#include
+#include
+#include
+
+/* c_cflag bit meaning */
+#define B0 0000000 /* hang up */
+#define B50 0000001
+#define B75 0000002
+#define B110 0000003
+#define B134 0000004
+#define B150 0000005
+#define B200 0000006
+#define B300 0000007
+#define B600 0000010
+#define B1200 0000011
+#define B1800 0000012
+#define B2400 0000013
+#define B4800 0000014
+#define B9600 0000015
+#define B19200 0000016
+#define B38400 0000017
+#ifdef __USE_MISC
+# define EXTA B19200
+# define EXTB B38400
+#endif
+#include
+
+#include
+#include
+
+#ifdef __USE_MISC
+/* ioctl (fd, TIOCSERGETLSR, &result) where result may be as below */
+# define TIOCSER_TEMT 0x01 /* Transmitter physically empty */
+#endif
+
+/* tcflow() and TCXONC use these */
+#define TCOOFF 0
+#define TCOON 1
+#define TCIOFF 2
+#define TCION 3
+
+/* tcflush() and TCFLSH use these */
+#define TCIFLUSH 0
+#define TCOFLUSH 1
+#define TCIOFLUSH 2
+
+#include
+
+#include
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h.blob
new file mode 100644
index 0000000..1861823
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@termios.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h
new file mode 100644
index 0000000..44bf1e3
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h
@@ -0,0 +1,129 @@
+/* Common threading primitives definitions for both POSIX and C11.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _THREAD_SHARED_TYPES_H
+#define _THREAD_SHARED_TYPES_H 1
+
+/* Arch-specific definitions. Each architecture must define the following
+ macros to define the expected sizes of pthread data types:
+
+ __SIZEOF_PTHREAD_ATTR_T - size of pthread_attr_t.
+ __SIZEOF_PTHREAD_MUTEX_T - size of pthread_mutex_t.
+ __SIZEOF_PTHREAD_MUTEXATTR_T - size of pthread_mutexattr_t.
+ __SIZEOF_PTHREAD_COND_T - size of pthread_cond_t.
+ __SIZEOF_PTHREAD_CONDATTR_T - size of pthread_condattr_t.
+ __SIZEOF_PTHREAD_RWLOCK_T - size of pthread_rwlock_t.
+ __SIZEOF_PTHREAD_RWLOCKATTR_T - size of pthread_rwlockattr_t.
+ __SIZEOF_PTHREAD_BARRIER_T - size of pthread_barrier_t.
+ __SIZEOF_PTHREAD_BARRIERATTR_T - size of pthread_barrierattr_t.
+
+ The additional macro defines any constraint for the lock alignment
+ inside the thread structures:
+
+ __LOCK_ALIGNMENT - for internal lock/futex usage.
+
+ Same idea but for the once locking primitive:
+
+ __ONCE_ALIGNMENT - for pthread_once_t/once_flag definition. */
+
+#include
+
+
+/* Common definition of pthread_mutex_t. */
+
+typedef struct __pthread_internal_list
+{
+ struct __pthread_internal_list *__prev;
+ struct __pthread_internal_list *__next;
+} __pthread_list_t;
+
+typedef struct __pthread_internal_slist
+{
+ struct __pthread_internal_slist *__next;
+} __pthread_slist_t;
+
+/* Arch-specific mutex definitions. A generic implementation is provided
+ by sysdeps/nptl/bits/struct_mutex.h. If required, an architecture
+ can override it by defining:
+
+ 1. struct __pthread_mutex_s (used on both pthread_mutex_t and mtx_t
+ definition). It should contains at least the internal members
+ defined in the generic version.
+
+ 2. __LOCK_ALIGNMENT for any extra attribute for internal lock used with
+ atomic operations.
+
+ 3. The macro __PTHREAD_MUTEX_INITIALIZER used for static initialization.
+ It should initialize the mutex internal flag. */
+
+#include
+
+/* Arch-sepecific read-write lock definitions. A generic implementation is
+ provided by struct_rwlock.h. If required, an architecture can override it
+ by defining:
+
+ 1. struct __pthread_rwlock_arch_t (used on pthread_rwlock_t definition).
+ It should contain at least the internal members defined in the
+ generic version.
+
+ 2. The macro __PTHREAD_RWLOCK_INITIALIZER used for static initialization.
+ It should initialize the rwlock internal type. */
+
+#include
+
+
+/* Common definition of pthread_cond_t. */
+
+struct __pthread_cond_s
+{
+ __extension__ union
+ {
+ __extension__ unsigned long long int __wseq;
+ struct
+ {
+ unsigned int __low;
+ unsigned int __high;
+ } __wseq32;
+ };
+ __extension__ union
+ {
+ __extension__ unsigned long long int __g1_start;
+ struct
+ {
+ unsigned int __low;
+ unsigned int __high;
+ } __g1_start32;
+ };
+ unsigned int __g_refs[2] __LOCK_ALIGNMENT;
+ unsigned int __g_size[2];
+ unsigned int __g1_orig_size;
+ unsigned int __wrefs;
+ unsigned int __g_signals[2];
+};
+
+typedef unsigned int __tss_t;
+typedef unsigned long int __thrd_t;
+
+typedef struct
+{
+ int __data __ONCE_ALIGNMENT;
+} __once_flag;
+
+#define __ONCE_FLAG_INIT { 0 }
+
+#endif /* _THREAD_SHARED_TYPES_H */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h.blob
new file mode 100644
index 0000000..ecd37f1
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@thread-shared-types.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h
new file mode 100644
index 0000000..af3e731
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h
@@ -0,0 +1,36 @@
+/* bits/time64.h -- underlying types for __time64_t. Generic version.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_TYPES_H
+# error "Never include directly; use instead."
+#endif
+
+#ifndef _BITS_TIME64_H
+#define _BITS_TIME64_H 1
+
+/* Define __TIME64_T_TYPE so that it is always a 64-bit type. */
+
+#if __TIMESIZE == 64
+/* If we already have 64-bit time type then use it. */
+# define __TIME64_T_TYPE __TIME_T_TYPE
+#else
+/* Define a 64-bit time type alongsize the 32-bit one. */
+# define __TIME64_T_TYPE __SQUAD_TYPE
+#endif
+
+#endif /* bits/time64.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h.blob
new file mode 100644
index 0000000..56073c6
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@time64.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h
new file mode 100644
index 0000000..17e943a
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h
@@ -0,0 +1,25 @@
+/* Bit size of the time_t type at glibc build time, x86-64 and x32 case.
+ Copyright (C) 2018-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#if defined __x86_64__ && defined __ILP32__
+/* For x32, time is 64-bit even though word size is 32-bit. */
+# define __TIMESIZE 64
+#else
+/* For others, time size is word size. */
+# define __TIMESIZE __WORDSIZE
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h.blob
new file mode 100644
index 0000000..b347d40
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@timesize.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h
new file mode 100644
index 0000000..2dc63de
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h
@@ -0,0 +1,228 @@
+/* bits/types.h -- definitions of __*_t types underlying *_t types.
+ Copyright (C) 2002-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/*
+ * Never include this file directly; use instead.
+ */
+
+#ifndef _BITS_TYPES_H
+#define _BITS_TYPES_H 1
+
+#include
+#include
+#include
+
+/* Convenience types. */
+typedef unsigned char __u_char;
+typedef unsigned short int __u_short;
+typedef unsigned int __u_int;
+typedef unsigned long int __u_long;
+
+/* Fixed-size types, underlying types depend on word size and compiler. */
+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;
+#if __WORDSIZE == 64
+typedef signed long int __int64_t;
+typedef unsigned long int __uint64_t;
+#else
+__extension__ typedef signed long long int __int64_t;
+__extension__ typedef unsigned long long int __uint64_t;
+#endif
+
+/* Smallest types with at least a given width. */
+typedef __int8_t __int_least8_t;
+typedef __uint8_t __uint_least8_t;
+typedef __int16_t __int_least16_t;
+typedef __uint16_t __uint_least16_t;
+typedef __int32_t __int_least32_t;
+typedef __uint32_t __uint_least32_t;
+typedef __int64_t __int_least64_t;
+typedef __uint64_t __uint_least64_t;
+
+/* quad_t is also 64 bits. */
+#if __WORDSIZE == 64
+typedef long int __quad_t;
+typedef unsigned long int __u_quad_t;
+#else
+__extension__ typedef long long int __quad_t;
+__extension__ typedef unsigned long long int __u_quad_t;
+#endif
+
+/* Largest integral types. */
+#if __WORDSIZE == 64
+typedef long int __intmax_t;
+typedef unsigned long int __uintmax_t;
+#else
+__extension__ typedef long long int __intmax_t;
+__extension__ typedef unsigned long long int __uintmax_t;
+#endif
+
+
+/* The machine-dependent file defines __*_T_TYPE
+ macros for each of the OS types we define below. The definitions
+ of those macros must use the following macros for underlying types.
+ We define __S_TYPE and __U_TYPE for the signed and unsigned
+ variants of each of the following integer types on this machine.
+
+ 16 -- "natural" 16-bit type (always short)
+ 32 -- "natural" 32-bit type (always int)
+ 64 -- "natural" 64-bit type (long or long long)
+ LONG32 -- 32-bit type, traditionally long
+ QUAD -- 64-bit type, traditionally long long
+ WORD -- natural type of __WORDSIZE bits (int or long)
+ LONGWORD -- type of __WORDSIZE bits, traditionally long
+
+ We distinguish WORD/LONGWORD, 32/LONG32, and 64/QUAD so that the
+ conventional uses of `long' or `long long' type modifiers match the
+ types we define, even when a less-adorned type would be the same size.
+ This matters for (somewhat) portably writing printf/scanf formats for
+ these types, where using the appropriate l or ll format modifiers can
+ make the typedefs and the formats match up across all GNU platforms. If
+ we used `long' when it's 64 bits where `long long' is expected, then the
+ compiler would warn about the formats not matching the argument types,
+ and the programmer changing them to shut up the compiler would break the
+ program's portability.
+
+ Here we assume what is presently the case in all the GCC configurations
+ we support: long long is always 64 bits, long is always word/address size,
+ and int is always 32 bits. */
+
+#define __S16_TYPE short int
+#define __U16_TYPE unsigned short int
+#define __S32_TYPE int
+#define __U32_TYPE unsigned int
+#define __SLONGWORD_TYPE long int
+#define __ULONGWORD_TYPE unsigned long int
+#if __WORDSIZE == 32
+# define __SQUAD_TYPE __int64_t
+# define __UQUAD_TYPE __uint64_t
+# define __SWORD_TYPE int
+# define __UWORD_TYPE unsigned int
+# define __SLONG32_TYPE long int
+# define __ULONG32_TYPE unsigned long int
+# define __S64_TYPE __int64_t
+# define __U64_TYPE __uint64_t
+/* We want __extension__ before typedef's that use nonstandard base types
+ such as `long long' in C89 mode. */
+# define __STD_TYPE __extension__ typedef
+#elif __WORDSIZE == 64
+# define __SQUAD_TYPE long int
+# define __UQUAD_TYPE unsigned long int
+# define __SWORD_TYPE long int
+# define __UWORD_TYPE unsigned long int
+# define __SLONG32_TYPE int
+# define __ULONG32_TYPE unsigned int
+# define __S64_TYPE long int
+# define __U64_TYPE unsigned long int
+/* No need to mark the typedef with __extension__. */
+# define __STD_TYPE typedef
+#else
+# error
+#endif
+#include /* Defines __*_T_TYPE macros. */
+#include /* Defines __TIME*_T_TYPE macros. */
+
+
+__STD_TYPE __DEV_T_TYPE __dev_t; /* Type of device numbers. */
+__STD_TYPE __UID_T_TYPE __uid_t; /* Type of user identifications. */
+__STD_TYPE __GID_T_TYPE __gid_t; /* Type of group identifications. */
+__STD_TYPE __INO_T_TYPE __ino_t; /* Type of file serial numbers. */
+__STD_TYPE __INO64_T_TYPE __ino64_t; /* Type of file serial numbers (LFS).*/
+__STD_TYPE __MODE_T_TYPE __mode_t; /* Type of file attribute bitmasks. */
+__STD_TYPE __NLINK_T_TYPE __nlink_t; /* Type of file link counts. */
+__STD_TYPE __OFF_T_TYPE __off_t; /* Type of file sizes and offsets. */
+__STD_TYPE __OFF64_T_TYPE __off64_t; /* Type of file sizes and offsets (LFS). */
+__STD_TYPE __PID_T_TYPE __pid_t; /* Type of process identifications. */
+__STD_TYPE __FSID_T_TYPE __fsid_t; /* Type of file system IDs. */
+__STD_TYPE __CLOCK_T_TYPE __clock_t; /* Type of CPU usage counts. */
+__STD_TYPE __RLIM_T_TYPE __rlim_t; /* Type for resource measurement. */
+__STD_TYPE __RLIM64_T_TYPE __rlim64_t; /* Type for resource measurement (LFS). */
+__STD_TYPE __ID_T_TYPE __id_t; /* General type for IDs. */
+__STD_TYPE __TIME_T_TYPE __time_t; /* Seconds since the Epoch. */
+__STD_TYPE __USECONDS_T_TYPE __useconds_t; /* Count of microseconds. */
+__STD_TYPE __SUSECONDS_T_TYPE __suseconds_t; /* Signed count of microseconds. */
+__STD_TYPE __SUSECONDS64_T_TYPE __suseconds64_t;
+
+__STD_TYPE __DADDR_T_TYPE __daddr_t; /* The type of a disk address. */
+__STD_TYPE __KEY_T_TYPE __key_t; /* Type of an IPC key. */
+
+/* Clock ID used in clock and timer functions. */
+__STD_TYPE __CLOCKID_T_TYPE __clockid_t;
+
+/* Timer ID returned by `timer_create'. */
+__STD_TYPE __TIMER_T_TYPE __timer_t;
+
+/* Type to represent block size. */
+__STD_TYPE __BLKSIZE_T_TYPE __blksize_t;
+
+/* Types from the Large File Support interface. */
+
+/* Type to count number of disk blocks. */
+__STD_TYPE __BLKCNT_T_TYPE __blkcnt_t;
+__STD_TYPE __BLKCNT64_T_TYPE __blkcnt64_t;
+
+/* Type to count file system blocks. */
+__STD_TYPE __FSBLKCNT_T_TYPE __fsblkcnt_t;
+__STD_TYPE __FSBLKCNT64_T_TYPE __fsblkcnt64_t;
+
+/* Type to count file system nodes. */
+__STD_TYPE __FSFILCNT_T_TYPE __fsfilcnt_t;
+__STD_TYPE __FSFILCNT64_T_TYPE __fsfilcnt64_t;
+
+/* Type of miscellaneous file system fields. */
+__STD_TYPE __FSWORD_T_TYPE __fsword_t;
+
+__STD_TYPE __SSIZE_T_TYPE __ssize_t; /* Type of a byte count, or error. */
+
+/* Signed long type used in system calls. */
+__STD_TYPE __SYSCALL_SLONG_TYPE __syscall_slong_t;
+/* Unsigned long type used in system calls. */
+__STD_TYPE __SYSCALL_ULONG_TYPE __syscall_ulong_t;
+
+/* These few don't really vary by system, they always correspond
+ to one of the other defined types. */
+typedef __off64_t __loff_t; /* Type of file sizes and offsets (LFS). */
+typedef char *__caddr_t;
+
+/* Duplicates info from stdint.h but this is used in unistd.h. */
+__STD_TYPE __SWORD_TYPE __intptr_t;
+
+/* Duplicate info from sys/socket.h. */
+__STD_TYPE __U32_TYPE __socklen_t;
+
+/* C99: An integer type that can be accessed as an atomic entity,
+ even in the presence of asynchronous interrupts.
+ It is not currently necessary for this to be machine-specific. */
+typedef int __sig_atomic_t;
+
+/* Seconds since the Epoch, visible to user code when time_t is too
+ narrow only for consistency with the old way of widening too-narrow
+ types. User code should never use __time64_t. */
+#if __TIMESIZE == 64 && defined __LIBC
+# define __time64_t __time_t
+#elif __TIMESIZE != 64
+__STD_TYPE __TIME64_T_TYPE __time64_t;
+#endif
+
+#undef __STD_TYPE
+
+#endif /* bits/types.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h.blob
new file mode 100644
index 0000000..abc7abc
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h
new file mode 100644
index 0000000..f268263
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h
@@ -0,0 +1,9 @@
+#ifndef __FILE_defined
+#define __FILE_defined 1
+
+struct _IO_FILE;
+
+/* The opaque type of streams. This is the definition used elsewhere. */
+typedef struct _IO_FILE FILE;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h.blob
new file mode 100644
index 0000000..f236ffd
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@FILE.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h
new file mode 100644
index 0000000..06dd79b
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h
@@ -0,0 +1,7 @@
+#ifndef ____FILE_defined
+#define ____FILE_defined 1
+
+struct _IO_FILE;
+typedef struct _IO_FILE __FILE;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h.blob
new file mode 100644
index 0000000..30d86c9
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__FILE.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h
new file mode 100644
index 0000000..06a6891
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h
@@ -0,0 +1,16 @@
+#ifndef _____fpos64_t_defined
+#define _____fpos64_t_defined 1
+
+#include
+#include
+
+/* The tag name of this struct is _G_fpos64_t to preserve historic
+ C++ mangled names for functions taking fpos_t and/or fpos64_t
+ arguments. That name should not be used in new code. */
+typedef struct _G_fpos64_t
+{
+ __off64_t __pos;
+ __mbstate_t __state;
+} __fpos64_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h.blob
new file mode 100644
index 0000000..85c2e21
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos64_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h
new file mode 100644
index 0000000..bb04576
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h
@@ -0,0 +1,16 @@
+#ifndef _____fpos_t_defined
+#define _____fpos_t_defined 1
+
+#include
+#include
+
+/* The tag name of this struct is _G_fpos_t to preserve historic
+ C++ mangled names for functions taking fpos_t arguments.
+ That name should not be used in new code. */
+typedef struct _G_fpos_t
+{
+ __off_t __pos;
+ __mbstate_t __state;
+} __fpos_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h.blob
new file mode 100644
index 0000000..d90568c
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__fpos_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h
new file mode 100644
index 0000000..b0742bf
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h
@@ -0,0 +1,44 @@
+/* Definition of struct __locale_struct and __locale_t.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+ Contributed by Ulrich Drepper , 1997.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_TYPES___LOCALE_T_H
+#define _BITS_TYPES___LOCALE_T_H 1
+
+/* POSIX.1-2008: the locale_t type, representing a locale context
+ (implementation-namespace version). This type should be treated
+ as opaque by applications; some details are exposed for the sake of
+ efficiency in e.g. ctype functions. */
+
+struct __locale_struct
+{
+ /* Note: LC_ALL is not a valid index into this array. */
+ struct __locale_data *__locales[13]; /* 13 = __LC_LAST. */
+
+ /* To increase the speed of this solution we add some special members. */
+ const unsigned short int *__ctype_b;
+ const int *__ctype_tolower;
+ const int *__ctype_toupper;
+
+ /* Note: LC_ALL is not a valid index into this array. */
+ const char *__names[13];
+};
+
+typedef struct __locale_struct *__locale_t;
+
+#endif /* bits/types/__locale_t.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h.blob
new file mode 100644
index 0000000..47bc062
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__locale_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h
new file mode 100644
index 0000000..1d8a4e2
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h
@@ -0,0 +1,23 @@
+#ifndef ____mbstate_t_defined
+#define ____mbstate_t_defined 1
+
+/* Integral type unchanged by default argument promotions that can
+ hold any value corresponding to members of the extended character
+ set, as well as at least one value that does not correspond to any
+ member of the extended character set. */
+#ifndef __WINT_TYPE__
+# define __WINT_TYPE__ unsigned int
+#endif
+
+/* Conversion state information. */
+typedef struct
+{
+ int __count;
+ union
+ {
+ __WINT_TYPE__ __wch;
+ char __wchb[4];
+ } __value; /* Value so far. */
+} __mbstate_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h.blob
new file mode 100644
index 0000000..5506770
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__mbstate_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h
new file mode 100644
index 0000000..e2f18ac
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h
@@ -0,0 +1,10 @@
+#ifndef ____sigset_t_defined
+#define ____sigset_t_defined
+
+#define _SIGSET_NWORDS (1024 / (8 * sizeof (unsigned long int)))
+typedef struct
+{
+ unsigned long int __val[_SIGSET_NWORDS];
+} __sigset_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h.blob
new file mode 100644
index 0000000..2f2789b
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigset_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h
new file mode 100644
index 0000000..0737bf9
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h
@@ -0,0 +1,41 @@
+/* Define __sigval_t.
+ Copyright (C) 1997-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef ____sigval_t_defined
+#define ____sigval_t_defined
+
+/* Type for data associated with a signal. */
+#ifdef __USE_POSIX199309
+union sigval
+{
+ int sival_int;
+ void *sival_ptr;
+};
+
+typedef union sigval __sigval_t;
+#else
+union __sigval
+{
+ int __sival_int;
+ void *__sival_ptr;
+};
+
+typedef union __sigval __sigval_t;
+#endif
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h.blob
new file mode 100644
index 0000000..428a9ec
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@__sigval_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h
new file mode 100644
index 0000000..ce97248
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h
@@ -0,0 +1,9 @@
+#ifndef __clock_t_defined
+#define __clock_t_defined 1
+
+#include
+
+/* Returned by `clock'. */
+typedef __clock_t clock_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h.blob
new file mode 100644
index 0000000..ae95fcc
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clock_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h
new file mode 100644
index 0000000..b17c7da
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h
@@ -0,0 +1,9 @@
+#ifndef __clockid_t_defined
+#define __clockid_t_defined 1
+
+#include
+
+/* Clock ID used in clock and timer functions. */
+typedef __clockid_t clockid_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h.blob
new file mode 100644
index 0000000..a1ae8b7
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@clockid_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h
new file mode 100644
index 0000000..f46e9b0
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h
@@ -0,0 +1,26 @@
+/* Definition of locale_t.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_TYPES_LOCALE_T_H
+#define _BITS_TYPES_LOCALE_T_H 1
+
+#include
+
+typedef __locale_t locale_t;
+
+#endif /* bits/types/locale_t.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h.blob
new file mode 100644
index 0000000..18f2901
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@locale_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h
new file mode 100644
index 0000000..8d1baa5
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h
@@ -0,0 +1,8 @@
+#ifndef __mbstate_t_defined
+#define __mbstate_t_defined 1
+
+#include
+
+typedef __mbstate_t mbstate_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h.blob
new file mode 100644
index 0000000..623b34a
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@mbstate_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h
new file mode 100644
index 0000000..47eaa28
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h
@@ -0,0 +1,10 @@
+#ifndef __sig_atomic_t_defined
+#define __sig_atomic_t_defined 1
+
+#include
+
+/* An integral type that can be modified atomically, without the
+ possibility of a signal arriving in the middle of the operation. */
+typedef __sig_atomic_t sig_atomic_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h.blob
new file mode 100644
index 0000000..d22bc8b
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sig_atomic_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h
new file mode 100644
index 0000000..e8b28de
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h
@@ -0,0 +1,48 @@
+#ifndef __sigevent_t_defined
+#define __sigevent_t_defined 1
+
+#include
+#include
+#include
+
+#define __SIGEV_MAX_SIZE 64
+#if __WORDSIZE == 64
+# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 4)
+#else
+# define __SIGEV_PAD_SIZE ((__SIGEV_MAX_SIZE / sizeof (int)) - 3)
+#endif
+
+/* Forward declaration. */
+#ifndef __have_pthread_attr_t
+typedef union pthread_attr_t pthread_attr_t;
+# define __have_pthread_attr_t 1
+#endif
+
+/* Structure to transport application-defined values with signals. */
+typedef struct sigevent
+ {
+ __sigval_t sigev_value;
+ int sigev_signo;
+ int sigev_notify;
+
+ union
+ {
+ int _pad[__SIGEV_PAD_SIZE];
+
+ /* When SIGEV_SIGNAL and SIGEV_THREAD_ID set, LWP ID of the
+ thread to receive the signal. */
+ __pid_t _tid;
+
+ struct
+ {
+ void (*_function) (__sigval_t); /* Function to start. */
+ pthread_attr_t *_attribute; /* Thread attributes. */
+ } _sigev_thread;
+ } _sigev_un;
+ } sigevent_t;
+
+/* POSIX names to access some of the members. */
+#define sigev_notify_function _sigev_un._sigev_thread._function
+#define sigev_notify_attributes _sigev_un._sigev_thread._attribute
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h.blob
new file mode 100644
index 0000000..b61745f
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigevent_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h
new file mode 100644
index 0000000..43c4e00
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h
@@ -0,0 +1,151 @@
+#ifndef __siginfo_t_defined
+#define __siginfo_t_defined 1
+
+#include
+#include
+#include
+
+#define __SI_MAX_SIZE 128
+#if __WORDSIZE == 64
+# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 4)
+#else
+# define __SI_PAD_SIZE ((__SI_MAX_SIZE / sizeof (int)) - 3)
+#endif
+
+/* Some fields of siginfo_t have architecture-specific variations. */
+#include
+#ifndef __SI_ALIGNMENT
+# define __SI_ALIGNMENT /* nothing */
+#endif
+#ifndef __SI_BAND_TYPE
+# define __SI_BAND_TYPE long int
+#endif
+#ifndef __SI_CLOCK_T
+# define __SI_CLOCK_T __clock_t
+#endif
+#ifndef __SI_ERRNO_THEN_CODE
+# define __SI_ERRNO_THEN_CODE 1
+#endif
+#ifndef __SI_HAVE_SIGSYS
+# define __SI_HAVE_SIGSYS 1
+#endif
+#ifndef __SI_SIGFAULT_ADDL
+# define __SI_SIGFAULT_ADDL /* nothing */
+#endif
+
+typedef struct
+ {
+ int si_signo; /* Signal number. */
+#if __SI_ERRNO_THEN_CODE
+ int si_errno; /* If non-zero, an errno value associated with
+ this signal, as defined in . */
+ int si_code; /* Signal code. */
+#else
+ int si_code;
+ int si_errno;
+#endif
+#if __WORDSIZE == 64
+ int __pad0; /* Explicit padding. */
+#endif
+
+ union
+ {
+ int _pad[__SI_PAD_SIZE];
+
+ /* kill(). */
+ struct
+ {
+ __pid_t si_pid; /* Sending process ID. */
+ __uid_t si_uid; /* Real user ID of sending process. */
+ } _kill;
+
+ /* POSIX.1b timers. */
+ struct
+ {
+ int si_tid; /* Timer ID. */
+ int si_overrun; /* Overrun count. */
+ __sigval_t si_sigval; /* Signal value. */
+ } _timer;
+
+ /* POSIX.1b signals. */
+ struct
+ {
+ __pid_t si_pid; /* Sending process ID. */
+ __uid_t si_uid; /* Real user ID of sending process. */
+ __sigval_t si_sigval; /* Signal value. */
+ } _rt;
+
+ /* SIGCHLD. */
+ struct
+ {
+ __pid_t si_pid; /* Which child. */
+ __uid_t si_uid; /* Real user ID of sending process. */
+ int si_status; /* Exit value or signal. */
+ __SI_CLOCK_T si_utime;
+ __SI_CLOCK_T si_stime;
+ } _sigchld;
+
+ /* SIGILL, SIGFPE, SIGSEGV, SIGBUS. */
+ struct
+ {
+ void *si_addr; /* Faulting insn/memory ref. */
+ __SI_SIGFAULT_ADDL
+ short int si_addr_lsb; /* Valid LSB of the reported address. */
+ union
+ {
+ /* used when si_code=SEGV_BNDERR */
+ struct
+ {
+ void *_lower;
+ void *_upper;
+ } _addr_bnd;
+ /* used when si_code=SEGV_PKUERR */
+ __uint32_t _pkey;
+ } _bounds;
+ } _sigfault;
+
+ /* SIGPOLL. */
+ struct
+ {
+ __SI_BAND_TYPE si_band; /* Band event for SIGPOLL. */
+ int si_fd;
+ } _sigpoll;
+
+ /* SIGSYS. */
+#if __SI_HAVE_SIGSYS
+ struct
+ {
+ void *_call_addr; /* Calling user insn. */
+ int _syscall; /* Triggering system call number. */
+ unsigned int _arch; /* AUDIT_ARCH_* of syscall. */
+ } _sigsys;
+#endif
+ } _sifields;
+ } siginfo_t __SI_ALIGNMENT;
+
+
+/* X/Open requires some more fields with fixed names. */
+#define si_pid _sifields._kill.si_pid
+#define si_uid _sifields._kill.si_uid
+#define si_timerid _sifields._timer.si_tid
+#define si_overrun _sifields._timer.si_overrun
+#define si_status _sifields._sigchld.si_status
+#define si_utime _sifields._sigchld.si_utime
+#define si_stime _sifields._sigchld.si_stime
+#define si_value _sifields._rt.si_sigval
+#define si_int _sifields._rt.si_sigval.sival_int
+#define si_ptr _sifields._rt.si_sigval.sival_ptr
+#define si_addr _sifields._sigfault.si_addr
+#define si_addr_lsb _sifields._sigfault.si_addr_lsb
+#define si_lower _sifields._sigfault._bounds._addr_bnd._lower
+#define si_upper _sifields._sigfault._bounds._addr_bnd._upper
+#define si_pkey _sifields._sigfault._bounds._pkey
+#define si_band _sifields._sigpoll.si_band
+#define si_fd _sifields._sigpoll.si_fd
+#if __SI_HAVE_SIGSYS
+# define si_call_addr _sifields._sigsys._call_addr
+# define si_syscall _sifields._sigsys._syscall
+# define si_arch _sifields._sigsys._arch
+#endif
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h.blob
new file mode 100644
index 0000000..e2a8b9d
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@siginfo_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h
new file mode 100644
index 0000000..8b27e91
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h
@@ -0,0 +1,9 @@
+#ifndef __sigset_t_defined
+#define __sigset_t_defined 1
+
+#include
+
+/* A set of signals to be blocked, unblocked, or waited for. */
+typedef __sigset_t sigset_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h.blob
new file mode 100644
index 0000000..81f29e0
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigset_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h
new file mode 100644
index 0000000..a05d7f4
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h
@@ -0,0 +1,18 @@
+#ifndef __sigval_t_defined
+#define __sigval_t_defined
+
+#include
+
+/* To avoid sigval_t (not a standard type name) having C++ name
+ mangling depending on whether the selected standard includes union
+ sigval, it should not be defined at all when using a standard for
+ which the sigval name is not reserved; in that case, headers should
+ not include and should use only the
+ internal __sigval_t name. */
+#ifndef __USE_POSIX199309
+# error "sigval_t defined for standard not including union sigval"
+#endif
+
+typedef __sigval_t sigval_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h.blob
new file mode 100644
index 0000000..00a3c3a
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@sigval_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h
new file mode 100644
index 0000000..b544027
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h
@@ -0,0 +1,33 @@
+/* Define stack_t. Linux version.
+ Copyright (C) 1998-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef __stack_t_defined
+#define __stack_t_defined 1
+
+#define __need_size_t
+#include
+
+/* Structure describing a signal stack. */
+typedef struct
+ {
+ void *ss_sp;
+ int ss_flags;
+ size_t ss_size;
+ } stack_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h.blob
new file mode 100644
index 0000000..7dd1c41
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@stack_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h
new file mode 100644
index 0000000..ff8aef5
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h
@@ -0,0 +1,120 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef __struct_FILE_defined
+#define __struct_FILE_defined 1
+
+/* Caution: The contents of this file are not part of the official
+ stdio.h API. However, much of it is part of the official *binary*
+ interface, and therefore cannot be changed. */
+
+#if defined _IO_USE_OLD_IO_FILE && !defined _LIBC
+# error "_IO_USE_OLD_IO_FILE should only be defined when building libc itself"
+#endif
+
+#if defined _IO_lock_t_defined && !defined _LIBC
+# error "_IO_lock_t_defined should only be defined when building libc itself"
+#endif
+
+#include
+
+struct _IO_FILE;
+struct _IO_marker;
+struct _IO_codecvt;
+struct _IO_wide_data;
+
+/* During the build of glibc itself, _IO_lock_t will already have been
+ defined by internal headers. */
+#ifndef _IO_lock_t_defined
+typedef void _IO_lock_t;
+#endif
+
+/* The tag name of this struct is _IO_FILE to preserve historic
+ C++ mangled names for functions taking FILE* arguments.
+ That name should not be used in new code. */
+struct _IO_FILE
+{
+ int _flags; /* High-order word is _IO_MAGIC; rest is flags. */
+
+ /* The following pointers correspond to the C++ streambuf protocol. */
+ char *_IO_read_ptr; /* Current read pointer */
+ char *_IO_read_end; /* End of get area. */
+ char *_IO_read_base; /* Start of putback+get area. */
+ char *_IO_write_base; /* Start of put area. */
+ char *_IO_write_ptr; /* Current put pointer. */
+ char *_IO_write_end; /* End of put area. */
+ char *_IO_buf_base; /* Start of reserve area. */
+ char *_IO_buf_end; /* End of reserve area. */
+
+ /* The following fields are used to support backing up and undo. */
+ char *_IO_save_base; /* Pointer to start of non-current get area. */
+ char *_IO_backup_base; /* Pointer to first valid character of backup area */
+ char *_IO_save_end; /* Pointer to end of non-current get area. */
+
+ struct _IO_marker *_markers;
+
+ struct _IO_FILE *_chain;
+
+ int _fileno;
+ int _flags2;
+ __off_t _old_offset; /* This used to be _offset but it's too small. */
+
+ /* 1+column number of pbase(); 0 is unknown. */
+ unsigned short _cur_column;
+ signed char _vtable_offset;
+ char _shortbuf[1];
+
+ _IO_lock_t *_lock;
+#ifdef _IO_USE_OLD_IO_FILE
+};
+
+struct _IO_FILE_complete
+{
+ struct _IO_FILE _file;
+#endif
+ __off64_t _offset;
+ /* Wide character stream stuff. */
+ struct _IO_codecvt *_codecvt;
+ struct _IO_wide_data *_wide_data;
+ struct _IO_FILE *_freeres_list;
+ void *_freeres_buf;
+ size_t __pad5;
+ int _mode;
+ /* Make sure we don't get into trouble again. */
+ char _unused2[15 * sizeof (int) - 4 * sizeof (void *) - sizeof (size_t)];
+};
+
+/* These macros are used by bits/stdio.h and internal headers. */
+#define __getc_unlocked_body(_fp) \
+ (__glibc_unlikely ((_fp)->_IO_read_ptr >= (_fp)->_IO_read_end) \
+ ? __uflow (_fp) : *(unsigned char *) (_fp)->_IO_read_ptr++)
+
+#define __putc_unlocked_body(_ch, _fp) \
+ (__glibc_unlikely ((_fp)->_IO_write_ptr >= (_fp)->_IO_write_end) \
+ ? __overflow (_fp, (unsigned char) (_ch)) \
+ : (unsigned char) (*(_fp)->_IO_write_ptr++ = (_ch)))
+
+#define _IO_EOF_SEEN 0x0010
+#define __feof_unlocked_body(_fp) (((_fp)->_flags & _IO_EOF_SEEN) != 0)
+
+#define _IO_ERR_SEEN 0x0020
+#define __ferror_unlocked_body(_fp) (((_fp)->_flags & _IO_ERR_SEEN) != 0)
+
+#define _IO_USER_LOCK 0x8000
+/* Many more flag bits are defined internally. */
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h.blob
new file mode 100644
index 0000000..4bd128a
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_FILE.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h
new file mode 100644
index 0000000..6500c01
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h
@@ -0,0 +1,29 @@
+/* Define struct sigstack.
+ Copyright (C) 1998-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef __sigstack_defined
+#define __sigstack_defined 1
+
+/* Structure describing a signal stack (obsolete). */
+struct sigstack
+ {
+ void *ss_sp; /* Signal stack pointer. */
+ int ss_onstack; /* Nonzero if executing on this stack. */
+ };
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h.blob
new file mode 100644
index 0000000..e7429b4
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_sigstack.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h
new file mode 100644
index 0000000..489e811
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h
@@ -0,0 +1,33 @@
+/* NB: Include guard matches what uses. */
+#ifndef _STRUCT_TIMESPEC
+#define _STRUCT_TIMESPEC 1
+
+#include
+#include
+#include
+
+/* POSIX.1b structure for a time value. This is like a `struct timeval' but
+ has nanoseconds instead of microseconds. */
+struct timespec
+{
+#ifdef __USE_TIME_BITS64
+ __time64_t tv_sec; /* Seconds. */
+#else
+ __time_t tv_sec; /* Seconds. */
+#endif
+#if __WORDSIZE == 64 \
+ || (defined __SYSCALL_WORDSIZE && __SYSCALL_WORDSIZE == 64) \
+ || (__TIMESIZE == 32 && !defined __USE_TIME_BITS64)
+ __syscall_slong_t tv_nsec; /* Nanoseconds. */
+#else
+# if __BYTE_ORDER == __BIG_ENDIAN
+ int: 32; /* Padding. */
+ long int tv_nsec; /* Nanoseconds. */
+# else
+ long int tv_nsec; /* Nanoseconds. */
+ int: 32; /* Padding. */
+# endif
+#endif
+};
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h.blob
new file mode 100644
index 0000000..a023dd9
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timespec.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h
new file mode 100644
index 0000000..3466137
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h
@@ -0,0 +1,18 @@
+#ifndef __timeval_defined
+#define __timeval_defined 1
+
+#include
+
+/* A time value that is accurate to the nearest
+ microsecond but also has a range of years. */
+struct timeval
+{
+#ifdef __USE_TIME_BITS64
+ __time64_t tv_sec; /* Seconds. */
+ __suseconds64_t tv_usec; /* Microseconds. */
+#else
+ __time_t tv_sec; /* Seconds. */
+ __suseconds_t tv_usec; /* Microseconds. */
+#endif
+};
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h.blob
new file mode 100644
index 0000000..f381da0
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@struct_timeval.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h
new file mode 100644
index 0000000..84d67f6
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h
@@ -0,0 +1,13 @@
+#ifndef __time_t_defined
+#define __time_t_defined 1
+
+#include
+
+/* Returned by `time'. */
+#ifdef __USE_TIME_BITS64
+typedef __time64_t time_t;
+#else
+typedef __time_t time_t;
+#endif
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h.blob
new file mode 100644
index 0000000..226b518
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@time_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h
new file mode 100644
index 0000000..d71a413
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h
@@ -0,0 +1,9 @@
+#ifndef __timer_t_defined
+#define __timer_t_defined 1
+
+#include
+
+/* Timer ID returned by `timer_create'. */
+typedef __timer_t timer_t;
+
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h.blob
new file mode 100644
index 0000000..5ed6efc
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@timer_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h
new file mode 100644
index 0000000..fbd63db
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h
@@ -0,0 +1,23 @@
+#ifndef __wint_t_defined
+#define __wint_t_defined 1
+
+/* Some versions of stddef.h provide wint_t, even though neither the
+ C nor C++ standards, nor POSIX, specifies this. We assume that
+ stddef.h will define the macro _WINT_T if and only if it provides
+ wint_t, and conversely, that it will avoid providing wint_t if
+ _WINT_T is already defined. */
+#ifndef _WINT_T
+#define _WINT_T 1
+
+/* Integral type unchanged by default argument promotions that can
+ hold any value corresponding to members of the extended character
+ set, as well as at least one value that does not correspond to any
+ member of the extended character set. */
+#ifndef __WINT_TYPE__
+# define __WINT_TYPE__ unsigned int
+#endif
+
+typedef __WINT_TYPE__ wint_t;
+
+#endif /* _WINT_T */
+#endif /* bits/types/wint_t.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h.blob
new file mode 100644
index 0000000..367f593
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@types@wint_t.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h
new file mode 100644
index 0000000..060af05
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h
@@ -0,0 +1,106 @@
+/* bits/typesizes.h -- underlying types for *_t. Linux/x86-64 version.
+ Copyright (C) 2012-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_TYPES_H
+# error "Never include directly; use instead."
+#endif
+
+#ifndef _BITS_TYPESIZES_H
+#define _BITS_TYPESIZES_H 1
+
+/* See for the meaning of these macros. This file exists so
+ that need not vary across different GNU platforms. */
+
+/* X32 kernel interface is 64-bit. */
+#if defined __x86_64__ && defined __ILP32__
+# define __SYSCALL_SLONG_TYPE __SQUAD_TYPE
+# define __SYSCALL_ULONG_TYPE __UQUAD_TYPE
+#else
+# define __SYSCALL_SLONG_TYPE __SLONGWORD_TYPE
+# define __SYSCALL_ULONG_TYPE __ULONGWORD_TYPE
+#endif
+
+#define __DEV_T_TYPE __UQUAD_TYPE
+#define __UID_T_TYPE __U32_TYPE
+#define __GID_T_TYPE __U32_TYPE
+#define __INO_T_TYPE __SYSCALL_ULONG_TYPE
+#define __INO64_T_TYPE __UQUAD_TYPE
+#define __MODE_T_TYPE __U32_TYPE
+#ifdef __x86_64__
+# define __NLINK_T_TYPE __SYSCALL_ULONG_TYPE
+# define __FSWORD_T_TYPE __SYSCALL_SLONG_TYPE
+#else
+# define __NLINK_T_TYPE __UWORD_TYPE
+# define __FSWORD_T_TYPE __SWORD_TYPE
+#endif
+#define __OFF_T_TYPE __SYSCALL_SLONG_TYPE
+#define __OFF64_T_TYPE __SQUAD_TYPE
+#define __PID_T_TYPE __S32_TYPE
+#define __RLIM_T_TYPE __SYSCALL_ULONG_TYPE
+#define __RLIM64_T_TYPE __UQUAD_TYPE
+#define __BLKCNT_T_TYPE __SYSCALL_SLONG_TYPE
+#define __BLKCNT64_T_TYPE __SQUAD_TYPE
+#define __FSBLKCNT_T_TYPE __SYSCALL_ULONG_TYPE
+#define __FSBLKCNT64_T_TYPE __UQUAD_TYPE
+#define __FSFILCNT_T_TYPE __SYSCALL_ULONG_TYPE
+#define __FSFILCNT64_T_TYPE __UQUAD_TYPE
+#define __ID_T_TYPE __U32_TYPE
+#define __CLOCK_T_TYPE __SYSCALL_SLONG_TYPE
+#define __TIME_T_TYPE __SYSCALL_SLONG_TYPE
+#define __USECONDS_T_TYPE __U32_TYPE
+#define __SUSECONDS_T_TYPE __SYSCALL_SLONG_TYPE
+#define __SUSECONDS64_T_TYPE __SQUAD_TYPE
+#define __DADDR_T_TYPE __S32_TYPE
+#define __KEY_T_TYPE __S32_TYPE
+#define __CLOCKID_T_TYPE __S32_TYPE
+#define __TIMER_T_TYPE void *
+#define __BLKSIZE_T_TYPE __SYSCALL_SLONG_TYPE
+#define __FSID_T_TYPE struct { int __val[2]; }
+#define __SSIZE_T_TYPE __SWORD_TYPE
+#define __CPU_MASK_TYPE __SYSCALL_ULONG_TYPE
+
+#ifdef __x86_64__
+/* Tell the libc code that off_t and off64_t are actually the same type
+ for all ABI purposes, even if possibly expressed as different base types
+ for C type-checking purposes. */
+# define __OFF_T_MATCHES_OFF64_T 1
+
+/* Same for ino_t and ino64_t. */
+# define __INO_T_MATCHES_INO64_T 1
+
+/* And for __rlim_t and __rlim64_t. */
+# define __RLIM_T_MATCHES_RLIM64_T 1
+
+/* And for fsblkcnt_t, fsblkcnt64_t, fsfilcnt_t and fsfilcnt64_t. */
+# define __STATFS_MATCHES_STATFS64 1
+
+/* And for getitimer, setitimer and rusage */
+# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 1
+#else
+# define __RLIM_T_MATCHES_RLIM64_T 0
+
+# define __STATFS_MATCHES_STATFS64 0
+
+# define __KERNEL_OLD_TIMEVAL_MATCHES_TIMEVAL64 0
+#endif
+
+/* Number of descriptors that can fit in an `fd_set'. */
+#define __FD_SETSIZE 1024
+
+
+#endif /* bits/typesizes.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h.blob
new file mode 100644
index 0000000..7d130cb
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@typesizes.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h
new file mode 100644
index 0000000..6eb4964
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h
@@ -0,0 +1,50 @@
+/* Inline functions to return unsigned integer values unchanged.
+ Copyright (C) 2017-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#if !defined _NETINET_IN_H && !defined _ENDIAN_H
+# error "Never use directly; include or instead."
+#endif
+
+#ifndef _BITS_UINTN_IDENTITY_H
+#define _BITS_UINTN_IDENTITY_H 1
+
+#include
+
+/* These inline functions are to ensure the appropriate type
+ conversions and associated diagnostics from macros that convert to
+ a given endianness. */
+
+static __inline __uint16_t
+__uint16_identity (__uint16_t __x)
+{
+ return __x;
+}
+
+static __inline __uint32_t
+__uint32_identity (__uint32_t __x)
+{
+ return __x;
+}
+
+static __inline __uint64_t
+__uint64_identity (__uint64_t __x)
+{
+ return __x;
+}
+
+#endif /* _BITS_UINTN_IDENTITY_H. */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h.blob
new file mode 100644
index 0000000..4abba97
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@uintn-identity.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h
new file mode 100644
index 0000000..ae99944
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h
@@ -0,0 +1,59 @@
+/* System-specific extensions of , Linux version.
+ Copyright (C) 2019-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _UNISTD_H
+# error "Never include directly; use instead."
+#endif
+
+#ifdef __USE_GNU
+
+/* Return the kernel thread ID (TID) of the current thread. The
+ returned value is not subject to caching. Most Linux system calls
+ accept a TID in place of a PID. Using the TID to change properties
+ of a thread that has been created using pthread_create can lead to
+ undefined behavior (comparable to manipulating file descriptors
+ directly that have not been created explicitly). Note that a TID
+ uniquely identifies a thread only while this thread is running; a
+ TID can be reused once a thread has exited, even if the thread is
+ not detached and has not been joined. */
+extern __pid_t gettid (void) __THROW;
+
+#ifdef __has_include
+# if __has_include ("linux/close_range.h")
+# include "linux/close_range.h"
+# endif
+#endif
+/* Unshare the file descriptor table before closing file descriptors. */
+#ifndef CLOSE_RANGE_UNSHARE
+# define CLOSE_RANGE_UNSHARE (1U << 1)
+#endif
+/* Set the FD_CLOEXEC bit instead of closing the file descriptor. */
+#ifndef CLOSE_RANGE_CLOEXEC
+# define CLOSE_RANGE_CLOEXEC (1U << 2)
+#endif
+
+/* Close all file descriptors in the range FD up to MAX_FD. The flag FLAGS
+ are define by the CLOSE_RANGE prefix. This function behaves like close
+ on the range, but in a fail-safe where it will either fail and not close
+ any file descriptor or close all of them. Gaps where the file descriptor
+ is invalid are ignored. Returns 0 on successor or -1 for failure (and
+ sets errno accordingly). */
+extern int close_range (unsigned int __fd, unsigned int __max_fd,
+ int __flags) __THROW;
+
+#endif /* __USE_GNU */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h.blob
new file mode 100644
index 0000000..12c9b38
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@unistd_ext.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h
new file mode 100644
index 0000000..bf75ade
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h
@@ -0,0 +1,39 @@
+/* Definitions of flag bits for `waitpid' et al.
+ Copyright (C) 1992-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#if !defined _SYS_WAIT_H && !defined _STDLIB_H
+# error "Never include directly; use instead."
+#endif
+
+
+/* Bits in the third argument to `waitpid'. */
+#define WNOHANG 1 /* Don't block waiting. */
+#define WUNTRACED 2 /* Report status of stopped children. */
+
+/* Bits in the fourth argument to `waitid'. */
+#if defined __USE_XOPEN_EXTENDED || defined __USE_XOPEN2K8
+# define WSTOPPED 2 /* Report stopped child (same as WUNTRACED). */
+# define WEXITED 4 /* Report dead child. */
+# define WCONTINUED 8 /* Report continued child. */
+# define WNOWAIT 0x01000000 /* Don't reap, just poll status. */
+#endif
+
+#define __WNOTHREAD 0x20000000 /* Don't wait on children of other threads
+ in this group */
+#define __WALL 0x40000000 /* Wait for any child. */
+#define __WCLONE 0x80000000 /* Wait for cloned process. */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h.blob
new file mode 100644
index 0000000..6b39c27
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitflags.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h
new file mode 100644
index 0000000..baaf96a
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h
@@ -0,0 +1,59 @@
+/* Definitions of status bits for `wait' et al.
+ Copyright (C) 1992-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#if !defined _SYS_WAIT_H && !defined _STDLIB_H
+# error "Never include directly; use instead."
+#endif
+
+
+/* Everything extant so far uses these same bits. */
+
+
+/* If WIFEXITED(STATUS), the low-order 8 bits of the status. */
+#define __WEXITSTATUS(status) (((status) & 0xff00) >> 8)
+
+/* If WIFSIGNALED(STATUS), the terminating signal. */
+#define __WTERMSIG(status) ((status) & 0x7f)
+
+/* If WIFSTOPPED(STATUS), the signal that stopped the child. */
+#define __WSTOPSIG(status) __WEXITSTATUS(status)
+
+/* Nonzero if STATUS indicates normal termination. */
+#define __WIFEXITED(status) (__WTERMSIG(status) == 0)
+
+/* Nonzero if STATUS indicates termination by a signal. */
+#define __WIFSIGNALED(status) \
+ (((signed char) (((status) & 0x7f) + 1) >> 1) > 0)
+
+/* Nonzero if STATUS indicates the child is stopped. */
+#define __WIFSTOPPED(status) (((status) & 0xff) == 0x7f)
+
+/* Nonzero if STATUS indicates the child continued after a stop. We only
+ define this if provides the WCONTINUED flag bit. */
+#ifdef WCONTINUED
+# define __WIFCONTINUED(status) ((status) == __W_CONTINUED)
+#endif
+
+/* Nonzero if STATUS indicates the child dumped core. */
+#define __WCOREDUMP(status) ((status) & __WCOREFLAG)
+
+/* Macros for constructing status values. */
+#define __W_EXITCODE(ret, sig) ((ret) << 8 | (sig))
+#define __W_STOPCODE(sig) ((sig) << 8 | 0x7f)
+#define __W_CONTINUED 0xffff
+#define __WCOREFLAG 0x80
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h.blob
new file mode 100644
index 0000000..157d155
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@waitstatus.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h
new file mode 100644
index 0000000..36623e3
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h
@@ -0,0 +1,49 @@
+/* wchar_t type related definitions.
+ Copyright (C) 2000-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _BITS_WCHAR_H
+#define _BITS_WCHAR_H 1
+
+/* The fallback definitions, for when __WCHAR_MAX__ or __WCHAR_MIN__
+ are not defined, give the right value and type as long as both int
+ and wchar_t are 32-bit types. Adding L'\0' to a constant value
+ ensures that the type is correct; it is necessary to use (L'\0' +
+ 0) rather than just L'\0' so that the type in C++ is the promoted
+ version of wchar_t rather than the distinct wchar_t type itself.
+ Because wchar_t in preprocessor #if expressions is treated as
+ intmax_t or uintmax_t, the expression (L'\0' - 1) would have the
+ wrong value for WCHAR_MAX in such expressions and so cannot be used
+ to define __WCHAR_MAX in the unsigned case. */
+
+#ifdef __WCHAR_MAX__
+# define __WCHAR_MAX __WCHAR_MAX__
+#elif L'\0' - 1 > 0
+# define __WCHAR_MAX (0xffffffffu + L'\0')
+#else
+# define __WCHAR_MAX (0x7fffffff + L'\0')
+#endif
+
+#ifdef __WCHAR_MIN__
+# define __WCHAR_MIN __WCHAR_MIN__
+#elif L'\0' - 1 > 0
+# define __WCHAR_MIN (L'\0' + 0)
+#else
+# define __WCHAR_MIN (-__WCHAR_MAX - 1)
+#endif
+
+#endif /* bits/wchar.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h.blob
new file mode 100644
index 0000000..05a3967
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wchar.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h
new file mode 100644
index 0000000..70f652b
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h
@@ -0,0 +1,17 @@
+/* Determine the wordsize from the preprocessor defines. */
+
+#if defined __x86_64__ && !defined __ILP32__
+# define __WORDSIZE 64
+#else
+# define __WORDSIZE 32
+#define __WORDSIZE32_SIZE_ULONG 0
+#define __WORDSIZE32_PTRDIFF_LONG 0
+#endif
+
+#ifdef __x86_64__
+# define __WORDSIZE_TIME64_COMPAT32 1
+/* Both x86-64 and x32 use the 64-bit system call interface. */
+# define __SYSCALL_WORDSIZE 64
+#else
+# define __WORDSIZE_TIME64_COMPAT32 0
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h.blob
new file mode 100644
index 0000000..b6083f8
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@bits@wordsize.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h
new file mode 100644
index 0000000..86f2bcc
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h
@@ -0,0 +1,329 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/*
+ * ISO C99 Standard 7.4: Character handling
+ */
+
+#ifndef _CTYPE_H
+#define _CTYPE_H 1
+
+#include
+#include
+
+__BEGIN_DECLS
+
+#ifndef _ISbit
+/* These are all the characteristics of characters.
+ If there get to be more than 16 distinct characteristics,
+ many things must be changed that use `unsigned short int's.
+
+ The characteristics are stored always in network byte order (big
+ endian). We define the bit value interpretations here dependent on the
+ machine's byte order. */
+
+# include
+# if __BYTE_ORDER == __BIG_ENDIAN
+# define _ISbit(bit) (1 << (bit))
+# else /* __BYTE_ORDER == __LITTLE_ENDIAN */
+# define _ISbit(bit) ((bit) < 8 ? ((1 << (bit)) << 8) : ((1 << (bit)) >> 8))
+# endif
+
+enum
+{
+ _ISupper = _ISbit (0), /* UPPERCASE. */
+ _ISlower = _ISbit (1), /* lowercase. */
+ _ISalpha = _ISbit (2), /* Alphabetic. */
+ _ISdigit = _ISbit (3), /* Numeric. */
+ _ISxdigit = _ISbit (4), /* Hexadecimal numeric. */
+ _ISspace = _ISbit (5), /* Whitespace. */
+ _ISprint = _ISbit (6), /* Printing. */
+ _ISgraph = _ISbit (7), /* Graphical. */
+ _ISblank = _ISbit (8), /* Blank (usually SPC and TAB). */
+ _IScntrl = _ISbit (9), /* Control character. */
+ _ISpunct = _ISbit (10), /* Punctuation. */
+ _ISalnum = _ISbit (11) /* Alphanumeric. */
+};
+#endif /* ! _ISbit */
+
+/* These are defined in ctype-info.c.
+ The declarations here must match those in localeinfo.h.
+
+ In the thread-specific locale model (see `uselocale' in )
+ we cannot use global variables for these as was done in the past.
+ Instead, the following accessor functions return the address of
+ each variable, which is local to the current thread if multithreaded.
+
+ These point into arrays of 384, so they can be indexed by any `unsigned
+ char' value [0,255]; by EOF (-1); or by any `signed char' value
+ [-128,-1). ISO C requires that the ctype functions work for `unsigned
+ char' values and for EOF; we also support negative `signed char' values
+ for broken old programs. The case conversion arrays are of `int's
+ rather than `unsigned char's because tolower (EOF) must be EOF, which
+ doesn't fit into an `unsigned char'. But today more important is that
+ the arrays are also used for multi-byte character sets. */
+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__));
+
+
+#ifndef __cplusplus
+# define __isctype(c, type) \
+ ((*__ctype_b_loc ())[(int) (c)] & (unsigned short int) type)
+#elif defined __USE_EXTERN_INLINES
+# define __isctype_f(type) \
+ __extern_inline int \
+ is##type (int __c) __THROW \
+ { \
+ return (*__ctype_b_loc ())[(int) (__c)] & (unsigned short int) _IS##type; \
+ }
+#endif
+
+#define __isascii(c) (((c) & ~0x7f) == 0) /* If C is a 7 bit value. */
+#define __toascii(c) ((c) & 0x7f) /* Mask off high bits. */
+
+#define __exctype(name) extern int name (int) __THROW
+
+/* The following names are all functions:
+ int isCHARACTERISTIC(int c);
+ which return nonzero iff C has CHARACTERISTIC.
+ For the meaning of the characteristic names, see the `enum' above. */
+__exctype (isalnum);
+__exctype (isalpha);
+__exctype (iscntrl);
+__exctype (isdigit);
+__exctype (islower);
+__exctype (isgraph);
+__exctype (isprint);
+__exctype (ispunct);
+__exctype (isspace);
+__exctype (isupper);
+__exctype (isxdigit);
+
+
+/* Return the lowercase version of C. */
+extern int tolower (int __c) __THROW;
+
+/* Return the uppercase version of C. */
+extern int toupper (int __c) __THROW;
+
+
+/* ISO C99 introduced one new function. */
+#ifdef __USE_ISOC99
+__exctype (isblank);
+#endif
+
+#ifdef __USE_GNU
+/* Test C for a set of character classes according to MASK. */
+extern int isctype (int __c, int __mask) __THROW;
+#endif
+
+#if defined __USE_MISC || defined __USE_XOPEN
+
+/* Return nonzero iff C is in the ASCII set
+ (i.e., is no more than 7 bits wide). */
+extern int isascii (int __c) __THROW;
+
+/* Return the part of C that is in the ASCII set
+ (i.e., the low-order 7 bits of C). */
+extern int toascii (int __c) __THROW;
+
+/* These are the same as `toupper' and `tolower' except that they do not
+ check the argument for being in the range of a `char'. */
+__exctype (_toupper);
+__exctype (_tolower);
+#endif /* Use X/Open or use misc. */
+
+/* This code is needed for the optimized mapping functions. */
+#define __tobody(c, f, a, args) \
+ (__extension__ \
+ ({ int __res; \
+ if (sizeof (c) > 1) \
+ { \
+ if (__builtin_constant_p (c)) \
+ { \
+ int __c = (c); \
+ __res = __c < -128 || __c > 255 ? __c : (a)[__c]; \
+ } \
+ else \
+ __res = f args; \
+ } \
+ else \
+ __res = (a)[(int) (c)]; \
+ __res; }))
+
+#if !defined __NO_CTYPE
+# ifdef __isctype_f
+__isctype_f (alnum)
+__isctype_f (alpha)
+__isctype_f (cntrl)
+__isctype_f (digit)
+__isctype_f (lower)
+__isctype_f (graph)
+__isctype_f (print)
+__isctype_f (punct)
+__isctype_f (space)
+__isctype_f (upper)
+__isctype_f (xdigit)
+# ifdef __USE_ISOC99
+__isctype_f (blank)
+# endif
+# elif defined __isctype
+# define isalnum(c) __isctype((c), _ISalnum)
+# define isalpha(c) __isctype((c), _ISalpha)
+# define iscntrl(c) __isctype((c), _IScntrl)
+# define isdigit(c) __isctype((c), _ISdigit)
+# define islower(c) __isctype((c), _ISlower)
+# define isgraph(c) __isctype((c), _ISgraph)
+# define isprint(c) __isctype((c), _ISprint)
+# define ispunct(c) __isctype((c), _ISpunct)
+# define isspace(c) __isctype((c), _ISspace)
+# define isupper(c) __isctype((c), _ISupper)
+# define isxdigit(c) __isctype((c), _ISxdigit)
+# ifdef __USE_ISOC99
+# define isblank(c) __isctype((c), _ISblank)
+# endif
+# endif
+
+# ifdef __USE_EXTERN_INLINES
+__extern_inline int
+__NTH (tolower (int __c))
+{
+ return __c >= -128 && __c < 256 ? (*__ctype_tolower_loc ())[__c] : __c;
+}
+
+__extern_inline int
+__NTH (toupper (int __c))
+{
+ return __c >= -128 && __c < 256 ? (*__ctype_toupper_loc ())[__c] : __c;
+}
+# endif
+
+# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus
+# define tolower(c) __tobody (c, tolower, *__ctype_tolower_loc (), (c))
+# define toupper(c) __tobody (c, toupper, *__ctype_toupper_loc (), (c))
+# endif /* Optimizing gcc */
+
+# if defined __USE_MISC || defined __USE_XOPEN
+# define isascii(c) __isascii (c)
+# define toascii(c) __toascii (c)
+
+# define _tolower(c) ((int) (*__ctype_tolower_loc ())[(int) (c)])
+# define _toupper(c) ((int) (*__ctype_toupper_loc ())[(int) (c)])
+# endif
+
+#endif /* Not __NO_CTYPE. */
+
+
+#ifdef __USE_XOPEN2K8
+/* POSIX.1-2008 extended locale interface (see locale.h). */
+# include
+
+/* These definitions are similar to the ones above but all functions
+ take as an argument a handle for the locale which shall be used. */
+# define __isctype_l(c, type, locale) \
+ ((locale)->__ctype_b[(int) (c)] & (unsigned short int) type)
+
+# define __exctype_l(name) \
+ extern int name (int, locale_t) __THROW
+
+/* The following names are all functions:
+ int isCHARACTERISTIC(int c, locale_t *locale);
+ which return nonzero iff C has CHARACTERISTIC.
+ For the meaning of the characteristic names, see the `enum' above. */
+__exctype_l (isalnum_l);
+__exctype_l (isalpha_l);
+__exctype_l (iscntrl_l);
+__exctype_l (isdigit_l);
+__exctype_l (islower_l);
+__exctype_l (isgraph_l);
+__exctype_l (isprint_l);
+__exctype_l (ispunct_l);
+__exctype_l (isspace_l);
+__exctype_l (isupper_l);
+__exctype_l (isxdigit_l);
+
+__exctype_l (isblank_l);
+
+
+/* Return the lowercase version of C in locale L. */
+extern int __tolower_l (int __c, locale_t __l) __THROW;
+extern int tolower_l (int __c, locale_t __l) __THROW;
+
+/* Return the uppercase version of C. */
+extern int __toupper_l (int __c, locale_t __l) __THROW;
+extern int toupper_l (int __c, locale_t __l) __THROW;
+
+# if __GNUC__ >= 2 && defined __OPTIMIZE__ && !defined __cplusplus
+# define __tolower_l(c, locale) \
+ __tobody (c, __tolower_l, (locale)->__ctype_tolower, (c, locale))
+# define __toupper_l(c, locale) \
+ __tobody (c, __toupper_l, (locale)->__ctype_toupper, (c, locale))
+# define tolower_l(c, locale) __tolower_l ((c), (locale))
+# define toupper_l(c, locale) __toupper_l ((c), (locale))
+# endif /* Optimizing gcc */
+
+
+# ifndef __NO_CTYPE
+# define __isalnum_l(c,l) __isctype_l((c), _ISalnum, (l))
+# define __isalpha_l(c,l) __isctype_l((c), _ISalpha, (l))
+# define __iscntrl_l(c,l) __isctype_l((c), _IScntrl, (l))
+# define __isdigit_l(c,l) __isctype_l((c), _ISdigit, (l))
+# define __islower_l(c,l) __isctype_l((c), _ISlower, (l))
+# define __isgraph_l(c,l) __isctype_l((c), _ISgraph, (l))
+# define __isprint_l(c,l) __isctype_l((c), _ISprint, (l))
+# define __ispunct_l(c,l) __isctype_l((c), _ISpunct, (l))
+# define __isspace_l(c,l) __isctype_l((c), _ISspace, (l))
+# define __isupper_l(c,l) __isctype_l((c), _ISupper, (l))
+# define __isxdigit_l(c,l) __isctype_l((c), _ISxdigit, (l))
+
+# define __isblank_l(c,l) __isctype_l((c), _ISblank, (l))
+
+# ifdef __USE_MISC
+# define __isascii_l(c,l) ((l), __isascii (c))
+# define __toascii_l(c,l) ((l), __toascii (c))
+# endif
+
+# define isalnum_l(c,l) __isalnum_l ((c), (l))
+# define isalpha_l(c,l) __isalpha_l ((c), (l))
+# define iscntrl_l(c,l) __iscntrl_l ((c), (l))
+# define isdigit_l(c,l) __isdigit_l ((c), (l))
+# define islower_l(c,l) __islower_l ((c), (l))
+# define isgraph_l(c,l) __isgraph_l ((c), (l))
+# define isprint_l(c,l) __isprint_l ((c), (l))
+# define ispunct_l(c,l) __ispunct_l ((c), (l))
+# define isspace_l(c,l) __isspace_l ((c), (l))
+# define isupper_l(c,l) __isupper_l ((c), (l))
+# define isxdigit_l(c,l) __isxdigit_l ((c), (l))
+
+# define isblank_l(c,l) __isblank_l ((c), (l))
+
+# ifdef __USE_MISC
+# define isascii_l(c,l) __isascii_l ((c), (l))
+# define toascii_l(c,l) __toascii_l ((c), (l))
+# endif
+
+# endif /* Not __NO_CTYPE. */
+
+#endif /* Use POSIX 2008. */
+
+__END_DECLS
+
+#endif /* ctype.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h.blob
new file mode 100644
index 0000000..b6ee42f
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@ctype.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h
new file mode 100644
index 0000000..b8c5f7f
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h
@@ -0,0 +1,72 @@
+/* Copyright (C) 1992-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _ENDIAN_H
+#define _ENDIAN_H 1
+
+#include
+
+/* Get the definitions of __*_ENDIAN, __BYTE_ORDER, and __FLOAT_WORD_ORDER. */
+#include
+
+#ifdef __USE_MISC
+# define LITTLE_ENDIAN __LITTLE_ENDIAN
+# define BIG_ENDIAN __BIG_ENDIAN
+# define PDP_ENDIAN __PDP_ENDIAN
+# define BYTE_ORDER __BYTE_ORDER
+#endif
+
+#if defined __USE_MISC && !defined __ASSEMBLER__
+/* Conversion interfaces. */
+# include
+# include
+
+# if __BYTE_ORDER == __LITTLE_ENDIAN
+# define htobe16(x) __bswap_16 (x)
+# define htole16(x) __uint16_identity (x)
+# define be16toh(x) __bswap_16 (x)
+# define le16toh(x) __uint16_identity (x)
+
+# define htobe32(x) __bswap_32 (x)
+# define htole32(x) __uint32_identity (x)
+# define be32toh(x) __bswap_32 (x)
+# define le32toh(x) __uint32_identity (x)
+
+# define htobe64(x) __bswap_64 (x)
+# define htole64(x) __uint64_identity (x)
+# define be64toh(x) __bswap_64 (x)
+# define le64toh(x) __uint64_identity (x)
+
+# else
+# define htobe16(x) __uint16_identity (x)
+# define htole16(x) __bswap_16 (x)
+# define be16toh(x) __uint16_identity (x)
+# define le16toh(x) __bswap_16 (x)
+
+# define htobe32(x) __uint32_identity (x)
+# define htole32(x) __bswap_32 (x)
+# define be32toh(x) __uint32_identity (x)
+# define le32toh(x) __bswap_32 (x)
+
+# define htobe64(x) __uint64_identity (x)
+# define htole64(x) __bswap_64 (x)
+# define be64toh(x) __uint64_identity (x)
+# define le64toh(x) __bswap_64 (x)
+# endif
+#endif
+
+#endif /* endian.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h.blob
new file mode 100644
index 0000000..e131589
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@endian.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h
new file mode 100644
index 0000000..336a37e
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h
@@ -0,0 +1,55 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/*
+ * ISO C99 Standard: 7.5 Errors
+ */
+
+#ifndef _ERRNO_H
+#define _ERRNO_H 1
+
+#include
+
+/* The system-specific definitions of the E* constants, as macros. */
+#include
+
+/* When included from assembly language, this header only provides the
+ E* constants. */
+#ifndef __ASSEMBLER__
+
+__BEGIN_DECLS
+
+/* The error code set by various library functions. */
+extern int *__errno_location (void) __THROW __attribute_const__;
+# define errno (*__errno_location ())
+
+# ifdef __USE_GNU
+
+/* The full and simple forms of the name with which the program was
+ invoked. These variables are set up automatically at startup based on
+ the value of argv[0]. */
+extern char *program_invocation_name;
+extern char *program_invocation_short_name;
+
+#include
+
+# endif /* __USE_GNU */
+
+__END_DECLS
+
+#endif /* !__ASSEMBLER__ */
+#endif /* errno.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h.blob
new file mode 100644
index 0000000..73b3639
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@errno.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h
new file mode 100644
index 0000000..1c96f98
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h
@@ -0,0 +1,347 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/*
+ * POSIX Standard: 6.5 File Control Operations
+ */
+
+#ifndef _FCNTL_H
+#define _FCNTL_H 1
+
+#include
+
+/* This must be early so can define types winningly. */
+__BEGIN_DECLS
+
+/* Get __mode_t, __dev_t and __off_t .*/
+#include
+
+/* Get the definitions of O_*, F_*, FD_*: all the
+ numbers and flag bits for `open', `fcntl', et al. */
+#include
+
+/* Detect if open needs mode as a third argument (or for openat as a fourth
+ argument). */
+#ifdef __O_TMPFILE
+# define __OPEN_NEEDS_MODE(oflag) \
+ (((oflag) & O_CREAT) != 0 || ((oflag) & __O_TMPFILE) == __O_TMPFILE)
+#else
+# define __OPEN_NEEDS_MODE(oflag) (((oflag) & O_CREAT) != 0)
+#endif
+
+/* POSIX.1-2001 specifies that these types are defined by .
+ Earlier POSIX standards permitted any type ending in `_t' to be defined
+ by any POSIX header, so we don't conditionalize the definitions here. */
+#ifndef __mode_t_defined
+typedef __mode_t mode_t;
+# define __mode_t_defined
+#endif
+
+#ifndef __off_t_defined
+# ifndef __USE_FILE_OFFSET64
+typedef __off_t off_t;
+# else
+typedef __off64_t off_t;
+# endif
+# define __off_t_defined
+#endif
+
+#if defined __USE_LARGEFILE64 && !defined __off64_t_defined
+typedef __off64_t off64_t;
+# define __off64_t_defined
+#endif
+
+#ifndef __pid_t_defined
+typedef __pid_t pid_t;
+# define __pid_t_defined
+#endif
+
+/* For XPG all symbols from should also be available. */
+#ifdef __USE_XOPEN2K8
+# include
+#endif
+#if defined __USE_XOPEN || defined __USE_XOPEN2K8
+# include
+
+# define S_IFMT __S_IFMT
+# define S_IFDIR __S_IFDIR
+# define S_IFCHR __S_IFCHR
+# define S_IFBLK __S_IFBLK
+# define S_IFREG __S_IFREG
+# ifdef __S_IFIFO
+# define S_IFIFO __S_IFIFO
+# endif
+# ifdef __S_IFLNK
+# define S_IFLNK __S_IFLNK
+# endif
+# if (defined __USE_UNIX98 || defined __USE_XOPEN2K8) && defined __S_IFSOCK
+# define S_IFSOCK __S_IFSOCK
+# endif
+
+/* Protection bits. */
+
+# define S_ISUID __S_ISUID /* Set user ID on execution. */
+# define S_ISGID __S_ISGID /* Set group ID on execution. */
+
+# if defined __USE_MISC || defined __USE_XOPEN
+/* Save swapped text after use (sticky bit). This is pretty well obsolete. */
+# define S_ISVTX __S_ISVTX
+# endif
+
+# define S_IRUSR __S_IREAD /* Read by owner. */
+# define S_IWUSR __S_IWRITE /* Write by owner. */
+# define S_IXUSR __S_IEXEC /* Execute by owner. */
+/* Read, write, and execute by owner. */
+# define S_IRWXU (__S_IREAD|__S_IWRITE|__S_IEXEC)
+
+# define S_IRGRP (S_IRUSR >> 3) /* Read by group. */
+# define S_IWGRP (S_IWUSR >> 3) /* Write by group. */
+# define S_IXGRP (S_IXUSR >> 3) /* Execute by group. */
+/* Read, write, and execute by group. */
+# define S_IRWXG (S_IRWXU >> 3)
+
+# define S_IROTH (S_IRGRP >> 3) /* Read by others. */
+# define S_IWOTH (S_IWGRP >> 3) /* Write by others. */
+# define S_IXOTH (S_IXGRP >> 3) /* Execute by others. */
+/* Read, write, and execute by others. */
+# define S_IRWXO (S_IRWXG >> 3)
+#endif
+
+#ifdef __USE_MISC
+# ifndef R_OK /* Verbatim from . Ugh. */
+/* Values for the second argument to access.
+ These may be OR'd together. */
+# define R_OK 4 /* Test for read permission. */
+# define W_OK 2 /* Test for write permission. */
+# define X_OK 1 /* Test for execute permission. */
+# define F_OK 0 /* Test for existence. */
+# endif
+#endif /* Use misc. */
+
+/* XPG wants the following symbols. has the same definitions. */
+#if defined __USE_XOPEN || defined __USE_XOPEN2K8
+# define SEEK_SET 0 /* Seek from beginning of file. */
+# define SEEK_CUR 1 /* Seek from current position. */
+# define SEEK_END 2 /* Seek from end of file. */
+#endif /* XPG */
+
+/* The constants AT_REMOVEDIR and AT_EACCESS have the same value. AT_EACCESS
+ is meaningful only to faccessat, while AT_REMOVEDIR is meaningful only to
+ unlinkat. The two functions do completely different things and therefore,
+ the flags can be allowed to overlap. For example, passing AT_REMOVEDIR to
+ faccessat would be undefined behavior and thus treating it equivalent to
+ AT_EACCESS is valid undefined behavior. */
+#ifdef __USE_ATFILE
+# define AT_FDCWD -100 /* Special value used to indicate
+ the *at functions should use the
+ current working directory. */
+# define AT_SYMLINK_NOFOLLOW 0x100 /* Do not follow symbolic links. */
+# define AT_REMOVEDIR 0x200 /* Remove directory instead of
+ unlinking file. */
+# define AT_SYMLINK_FOLLOW 0x400 /* Follow symbolic links. */
+# ifdef __USE_GNU
+# define AT_NO_AUTOMOUNT 0x800 /* Suppress terminal automount
+ traversal. */
+# define AT_EMPTY_PATH 0x1000 /* Allow empty relative pathname. */
+# define AT_STATX_SYNC_TYPE 0x6000
+# define AT_STATX_SYNC_AS_STAT 0x0000
+# define AT_STATX_FORCE_SYNC 0x2000
+# define AT_STATX_DONT_SYNC 0x4000
+# define AT_RECURSIVE 0x8000 /* Apply to the entire subtree. */
+# endif
+# define AT_EACCESS 0x200 /* Test access permitted for
+ effective IDs, not real IDs. */
+#endif
+
+/* Do the file control operation described by CMD on FD.
+ The remaining arguments are interpreted depending on CMD.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
+#ifndef __USE_TIME_BITS64
+# ifndef __USE_FILE_OFFSET64
+extern int fcntl (int __fd, int __cmd, ...);
+# else
+# ifdef __REDIRECT
+extern int __REDIRECT (fcntl, (int __fd, int __cmd, ...), fcntl64);
+# else
+# define fcntl fcntl64
+# endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int fcntl64 (int __fd, int __cmd, ...);
+# endif
+#else /* __USE_TIME_BITS64 */
+# ifdef __REDIRECT
+extern int __REDIRECT_NTH (fcntl, (int __fd, int __request, ...),
+ __fcntl_time64);
+extern int __REDIRECT_NTH (fcntl64, (int __fd, int __request, ...),
+ __fcntl_time64);
+# else
+extern int __fcntl_time64 (int __fd, int __request, ...) __THROW;
+# define fcntl64 __fcntl_time64
+# define fcntl __fcntl_time64
+# endif
+#endif
+
+/* Open FILE and return a new file descriptor for it, or -1 on error.
+ OFLAG determines the type of access used. If O_CREAT or O_TMPFILE is set
+ in OFLAG, the third argument is taken as a `mode_t', the mode of the
+ created file.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
+#ifndef __USE_FILE_OFFSET64
+extern int open (const char *__file, int __oflag, ...) __nonnull ((1));
+#else
+# ifdef __REDIRECT
+extern int __REDIRECT (open, (const char *__file, int __oflag, ...), open64)
+ __nonnull ((1));
+# else
+# define open open64
+# endif
+#endif
+#ifdef __USE_LARGEFILE64
+extern int open64 (const char *__file, int __oflag, ...) __nonnull ((1));
+#endif
+
+#ifdef __USE_ATFILE
+/* Similar to `open' but a relative path name is interpreted relative to
+ the directory for which FD is a descriptor.
+
+ NOTE: some other `openat' implementation support additional functionality
+ through this interface, especially using the O_XATTR flag. This is not
+ yet supported here.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
+# ifndef __USE_FILE_OFFSET64
+extern int openat (int __fd, const char *__file, int __oflag, ...)
+ __nonnull ((2));
+# else
+# ifdef __REDIRECT
+extern int __REDIRECT (openat, (int __fd, const char *__file, int __oflag,
+ ...), openat64) __nonnull ((2));
+# else
+# define openat openat64
+# endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int openat64 (int __fd, const char *__file, int __oflag, ...)
+ __nonnull ((2));
+# endif
+#endif
+
+/* Create and open FILE, with mode MODE. This takes an `int' MODE
+ argument because that is what `mode_t' will be widened to.
+
+ This function is a cancellation point and therefore not marked with
+ __THROW. */
+#ifndef __USE_FILE_OFFSET64
+extern int creat (const char *__file, mode_t __mode) __nonnull ((1));
+#else
+# ifdef __REDIRECT
+extern int __REDIRECT (creat, (const char *__file, mode_t __mode),
+ creat64) __nonnull ((1));
+# else
+# define creat creat64
+# endif
+#endif
+#ifdef __USE_LARGEFILE64
+extern int creat64 (const char *__file, mode_t __mode) __nonnull ((1));
+#endif
+
+#if !defined F_LOCK && (defined __USE_MISC || (defined __USE_XOPEN_EXTENDED \
+ && !defined __USE_POSIX))
+/* NOTE: These declarations also appear in ; be sure to keep both
+ files consistent. Some systems have them there and some here, and some
+ software depends on the macros being defined without including both. */
+
+/* `lockf' is a simpler interface to the locking facilities of `fcntl'.
+ LEN is always relative to the current file position.
+ The CMD argument is one of the following. */
+
+# define F_ULOCK 0 /* Unlock a previously locked region. */
+# define F_LOCK 1 /* Lock a region for exclusive use. */
+# define F_TLOCK 2 /* Test and lock a region for exclusive use. */
+# define F_TEST 3 /* Test a region for other processes locks. */
+
+# ifndef __USE_FILE_OFFSET64
+extern int lockf (int __fd, int __cmd, off_t __len);
+# else
+# ifdef __REDIRECT
+extern int __REDIRECT (lockf, (int __fd, int __cmd, __off64_t __len), lockf64);
+# else
+# define lockf lockf64
+# endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int lockf64 (int __fd, int __cmd, off64_t __len);
+# endif
+#endif
+
+#ifdef __USE_XOPEN2K
+/* Advice the system about the expected behaviour of the application with
+ respect to the file associated with FD. */
+# ifndef __USE_FILE_OFFSET64
+extern int posix_fadvise (int __fd, off_t __offset, off_t __len,
+ int __advise) __THROW;
+# else
+ # ifdef __REDIRECT_NTH
+extern int __REDIRECT_NTH (posix_fadvise, (int __fd, __off64_t __offset,
+ __off64_t __len, int __advise),
+ posix_fadvise64);
+# else
+# define posix_fadvise posix_fadvise64
+# endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int posix_fadvise64 (int __fd, off64_t __offset, off64_t __len,
+ int __advise) __THROW;
+# endif
+
+
+/* Reserve storage for the data of the file associated with FD.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+# ifndef __USE_FILE_OFFSET64
+extern int posix_fallocate (int __fd, off_t __offset, off_t __len);
+# else
+ # ifdef __REDIRECT
+extern int __REDIRECT (posix_fallocate, (int __fd, __off64_t __offset,
+ __off64_t __len),
+ posix_fallocate64);
+# else
+# define posix_fallocate posix_fallocate64
+# endif
+# endif
+# ifdef __USE_LARGEFILE64
+extern int posix_fallocate64 (int __fd, off64_t __offset, off64_t __len);
+# endif
+#endif
+
+
+/* Define some inlines helping to catch common problems. */
+#if __USE_FORTIFY_LEVEL > 0 && defined __fortify_function \
+ && defined __va_arg_pack_len
+# include
+#endif
+
+__END_DECLS
+
+#endif /* fcntl.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h.blob
new file mode 100644
index 0000000..0ca7bc4
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@fcntl.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h
new file mode 100644
index 0000000..1f786f9
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h
@@ -0,0 +1,37 @@
+/* Features part to handle 64-bit time_t support.
+ Copyright (C) 2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/* We need to know the word size in order to check the time size. */
+#include
+#include
+
+#if defined _TIME_BITS
+# if _TIME_BITS == 64
+# if ! defined (_FILE_OFFSET_BITS) || _FILE_OFFSET_BITS != 64
+# error "_TIME_BITS=64 is allowed only with _FILE_OFFSET_BITS=64"
+# elif __TIMESIZE == 32
+# define __USE_TIME_BITS64 1
+# endif
+# elif _TIME_BITS == 32
+# if __TIMESIZE > 32
+# error "_TIME_BITS=32 is not compatible with __TIMESIZE > 32"
+# endif
+# else
+# error Invalid _TIME_BITS value (can only be 32 or 64-bit)
+# endif
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h.blob
new file mode 100644
index 0000000..2a687d2
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features-time64.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h
new file mode 100644
index 0000000..933499b
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h
@@ -0,0 +1,517 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _FEATURES_H
+#define _FEATURES_H 1
+
+/* These are defined by the user (or the compiler)
+ to specify the desired environment:
+
+ __STRICT_ANSI__ ISO Standard C.
+ _ISOC99_SOURCE Extensions to ISO C89 from ISO C99.
+ _ISOC11_SOURCE Extensions to ISO C99 from ISO C11.
+ _ISOC2X_SOURCE Extensions to ISO C99 from ISO C2X.
+ __STDC_WANT_LIB_EXT2__
+ Extensions to ISO C99 from TR 27431-2:2010.
+ __STDC_WANT_IEC_60559_BFP_EXT__
+ Extensions to ISO C11 from TS 18661-1:2014.
+ __STDC_WANT_IEC_60559_FUNCS_EXT__
+ Extensions to ISO C11 from TS 18661-4:2015.
+ __STDC_WANT_IEC_60559_TYPES_EXT__
+ Extensions to ISO C11 from TS 18661-3:2015.
+ __STDC_WANT_IEC_60559_EXT__
+ ISO C2X interfaces defined only in Annex F.
+
+ _POSIX_SOURCE IEEE Std 1003.1.
+ _POSIX_C_SOURCE If ==1, like _POSIX_SOURCE; if >=2 add IEEE Std 1003.2;
+ if >=199309L, add IEEE Std 1003.1b-1993;
+ if >=199506L, add IEEE Std 1003.1c-1995;
+ if >=200112L, all of IEEE 1003.1-2004
+ if >=200809L, all of IEEE 1003.1-2008
+ _XOPEN_SOURCE Includes POSIX and XPG things. Set to 500 if
+ Single Unix conformance is wanted, to 600 for the
+ sixth revision, to 700 for the seventh revision.
+ _XOPEN_SOURCE_EXTENDED XPG things and X/Open Unix extensions.
+ _LARGEFILE_SOURCE Some more functions for correct standard I/O.
+ _LARGEFILE64_SOURCE Additional functionality from LFS for large files.
+ _FILE_OFFSET_BITS=N Select default filesystem interface.
+ _ATFILE_SOURCE Additional *at interfaces.
+ _DYNAMIC_STACK_SIZE_SOURCE Select correct (but non compile-time constant)
+ MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN.
+ _GNU_SOURCE All of the above, plus GNU extensions.
+ _DEFAULT_SOURCE The default set of features (taking precedence over
+ __STRICT_ANSI__).
+
+ _FORTIFY_SOURCE Add security hardening to many library functions.
+ Set to 1 or 2; 2 performs stricter checks than 1.
+
+ _REENTRANT, _THREAD_SAFE
+ Obsolete; equivalent to _POSIX_C_SOURCE=199506L.
+
+ The `-ansi' switch to the GNU C compiler, and standards conformance
+ options such as `-std=c99', define __STRICT_ANSI__. If none of
+ these are defined, or if _DEFAULT_SOURCE is defined, the default is
+ to have _POSIX_SOURCE set to one and _POSIX_C_SOURCE set to
+ 200809L, as well as enabling miscellaneous functions from BSD and
+ SVID. If more than one of these are defined, they accumulate. For
+ example __STRICT_ANSI__, _POSIX_SOURCE and _POSIX_C_SOURCE together
+ give you ISO C, 1003.1, and 1003.2, but nothing else.
+
+ These are defined by this file and are used by the
+ header files to decide what to declare or define:
+
+ __GLIBC_USE (F) Define things from feature set F. This is defined
+ to 1 or 0; the subsequent macros are either defined
+ or undefined, and those tests should be moved to
+ __GLIBC_USE.
+ __USE_ISOC11 Define ISO C11 things.
+ __USE_ISOC99 Define ISO C99 things.
+ __USE_ISOC95 Define ISO C90 AMD1 (C95) things.
+ __USE_ISOCXX11 Define ISO C++11 things.
+ __USE_POSIX Define IEEE Std 1003.1 things.
+ __USE_POSIX2 Define IEEE Std 1003.2 things.
+ __USE_POSIX199309 Define IEEE Std 1003.1, and .1b things.
+ __USE_POSIX199506 Define IEEE Std 1003.1, .1b, .1c and .1i things.
+ __USE_XOPEN Define XPG things.
+ __USE_XOPEN_EXTENDED Define X/Open Unix things.
+ __USE_UNIX98 Define Single Unix V2 things.
+ __USE_XOPEN2K Define XPG6 things.
+ __USE_XOPEN2KXSI Define XPG6 XSI things.
+ __USE_XOPEN2K8 Define XPG7 things.
+ __USE_XOPEN2K8XSI Define XPG7 XSI things.
+ __USE_LARGEFILE Define correct standard I/O things.
+ __USE_LARGEFILE64 Define LFS things with separate names.
+ __USE_FILE_OFFSET64 Define 64bit interface as default.
+ __USE_MISC Define things from 4.3BSD or System V Unix.
+ __USE_ATFILE Define *at interfaces and AT_* constants for them.
+ __USE_DYNAMIC_STACK_SIZE Define correct (but non compile-time constant)
+ MINSIGSTKSZ, SIGSTKSZ and PTHREAD_STACK_MIN.
+ __USE_GNU Define GNU extensions.
+ __USE_FORTIFY_LEVEL Additional security measures used, according to level.
+
+ The macros `__GNU_LIBRARY__', `__GLIBC__', and `__GLIBC_MINOR__' are
+ defined by this file unconditionally. `__GNU_LIBRARY__' is provided
+ only for compatibility. All new code should use the other symbols
+ to test for features.
+
+ All macros listed above as possibly being defined by this file are
+ explicitly undefined if they are not explicitly defined.
+ Feature-test macros that are not defined by the user or compiler
+ but are implied by the other feature-test macros defined (or by the
+ lack of any definitions) are defined by the file.
+
+ ISO C feature test macros depend on the definition of the macro
+ when an affected header is included, not when the first system
+ header is included, and so they are handled in
+ , which does not have a multiple include
+ guard. Feature test macros that can be handled from the first
+ system header included are handled here. */
+
+
+/* Undefine everything, so we get a clean slate. */
+#undef __USE_ISOC11
+#undef __USE_ISOC99
+#undef __USE_ISOC95
+#undef __USE_ISOCXX11
+#undef __USE_POSIX
+#undef __USE_POSIX2
+#undef __USE_POSIX199309
+#undef __USE_POSIX199506
+#undef __USE_XOPEN
+#undef __USE_XOPEN_EXTENDED
+#undef __USE_UNIX98
+#undef __USE_XOPEN2K
+#undef __USE_XOPEN2KXSI
+#undef __USE_XOPEN2K8
+#undef __USE_XOPEN2K8XSI
+#undef __USE_LARGEFILE
+#undef __USE_LARGEFILE64
+#undef __USE_FILE_OFFSET64
+#undef __USE_MISC
+#undef __USE_ATFILE
+#undef __USE_DYNAMIC_STACK_SIZE
+#undef __USE_GNU
+#undef __USE_FORTIFY_LEVEL
+#undef __KERNEL_STRICT_NAMES
+#undef __GLIBC_USE_ISOC2X
+#undef __GLIBC_USE_DEPRECATED_GETS
+#undef __GLIBC_USE_DEPRECATED_SCANF
+
+/* Suppress kernel-name space pollution unless user expressedly asks
+ for it. */
+#ifndef _LOOSE_KERNEL_NAMES
+# define __KERNEL_STRICT_NAMES
+#endif
+
+/* Convenience macro to test the version of gcc.
+ Use like this:
+ #if __GNUC_PREREQ (2,8)
+ ... code requiring gcc 2.8 or later ...
+ #endif
+ Note: only works for GCC 2.0 and later, because __GNUC_MINOR__ was
+ added in 2.0. */
+#if defined __GNUC__ && defined __GNUC_MINOR__
+# define __GNUC_PREREQ(maj, min) \
+ ((__GNUC__ << 16) + __GNUC_MINOR__ >= ((maj) << 16) + (min))
+#else
+# define __GNUC_PREREQ(maj, min) 0
+#endif
+
+/* Similarly for clang. Features added to GCC after version 4.2 may
+ or may not also be available in clang, and clang's definitions of
+ __GNUC(_MINOR)__ are fixed at 4 and 2 respectively. Not all such
+ features can be queried via __has_extension/__has_feature. */
+#if defined __clang_major__ && defined __clang_minor__
+# define __glibc_clang_prereq(maj, min) \
+ ((__clang_major__ << 16) + __clang_minor__ >= ((maj) << 16) + (min))
+#else
+# define __glibc_clang_prereq(maj, min) 0
+#endif
+
+/* Whether to use feature set F. */
+#define __GLIBC_USE(F) __GLIBC_USE_ ## F
+
+/* _BSD_SOURCE and _SVID_SOURCE are deprecated aliases for
+ _DEFAULT_SOURCE. If _DEFAULT_SOURCE is present we do not
+ issue a warning; the expectation is that the source is being
+ transitioned to use the new macro. */
+#if (defined _BSD_SOURCE || defined _SVID_SOURCE) \
+ && !defined _DEFAULT_SOURCE
+# warning "_BSD_SOURCE and _SVID_SOURCE are deprecated, use _DEFAULT_SOURCE"
+# undef _DEFAULT_SOURCE
+# define _DEFAULT_SOURCE 1
+#endif
+
+/* If _GNU_SOURCE was defined by the user, turn on all the other features. */
+#ifdef _GNU_SOURCE
+# undef _ISOC95_SOURCE
+# define _ISOC95_SOURCE 1
+# undef _ISOC99_SOURCE
+# define _ISOC99_SOURCE 1
+# undef _ISOC11_SOURCE
+# define _ISOC11_SOURCE 1
+# undef _ISOC2X_SOURCE
+# define _ISOC2X_SOURCE 1
+# undef _POSIX_SOURCE
+# define _POSIX_SOURCE 1
+# undef _POSIX_C_SOURCE
+# define _POSIX_C_SOURCE 200809L
+# undef _XOPEN_SOURCE
+# define _XOPEN_SOURCE 700
+# undef _XOPEN_SOURCE_EXTENDED
+# define _XOPEN_SOURCE_EXTENDED 1
+# undef _LARGEFILE64_SOURCE
+# define _LARGEFILE64_SOURCE 1
+# undef _DEFAULT_SOURCE
+# define _DEFAULT_SOURCE 1
+# undef _ATFILE_SOURCE
+# define _ATFILE_SOURCE 1
+# undef _DYNAMIC_STACK_SIZE_SOURCE
+# define _DYNAMIC_STACK_SIZE_SOURCE 1
+#endif
+
+/* If nothing (other than _GNU_SOURCE and _DEFAULT_SOURCE) is defined,
+ define _DEFAULT_SOURCE. */
+#if (defined _DEFAULT_SOURCE \
+ || (!defined __STRICT_ANSI__ \
+ && !defined _ISOC99_SOURCE && !defined _ISOC11_SOURCE \
+ && !defined _ISOC2X_SOURCE \
+ && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE \
+ && !defined _XOPEN_SOURCE))
+# undef _DEFAULT_SOURCE
+# define _DEFAULT_SOURCE 1
+#endif
+
+/* This is to enable the ISO C2X extension. */
+#if (defined _ISOC2X_SOURCE \
+ || (defined __STDC_VERSION__ && __STDC_VERSION__ > 201710L))
+# define __GLIBC_USE_ISOC2X 1
+#else
+# define __GLIBC_USE_ISOC2X 0
+#endif
+
+/* This is to enable the ISO C11 extension. */
+#if (defined _ISOC11_SOURCE || defined _ISOC2X_SOURCE \
+ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 201112L))
+# define __USE_ISOC11 1
+#endif
+
+/* This is to enable the ISO C99 extension. */
+#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \
+ || defined _ISOC2X_SOURCE \
+ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199901L))
+# define __USE_ISOC99 1
+#endif
+
+/* This is to enable the ISO C90 Amendment 1:1995 extension. */
+#if (defined _ISOC99_SOURCE || defined _ISOC11_SOURCE \
+ || defined _ISOC2X_SOURCE \
+ || (defined __STDC_VERSION__ && __STDC_VERSION__ >= 199409L))
+# define __USE_ISOC95 1
+#endif
+
+#ifdef __cplusplus
+/* This is to enable compatibility for ISO C++17. */
+# if __cplusplus >= 201703L
+# define __USE_ISOC11 1
+# endif
+/* This is to enable compatibility for ISO C++11.
+ Check the temporary macro for now, too. */
+# if __cplusplus >= 201103L || defined __GXX_EXPERIMENTAL_CXX0X__
+# define __USE_ISOCXX11 1
+# define __USE_ISOC99 1
+# endif
+#endif
+
+/* If none of the ANSI/POSIX macros are defined, or if _DEFAULT_SOURCE
+ is defined, use POSIX.1-2008 (or another version depending on
+ _XOPEN_SOURCE). */
+#ifdef _DEFAULT_SOURCE
+# if !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE
+# define __USE_POSIX_IMPLICITLY 1
+# endif
+# undef _POSIX_SOURCE
+# define _POSIX_SOURCE 1
+# undef _POSIX_C_SOURCE
+# define _POSIX_C_SOURCE 200809L
+#endif
+
+#if ((!defined __STRICT_ANSI__ \
+ || (defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) >= 500)) \
+ && !defined _POSIX_SOURCE && !defined _POSIX_C_SOURCE)
+# define _POSIX_SOURCE 1
+# if defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 500
+# define _POSIX_C_SOURCE 2
+# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 600
+# define _POSIX_C_SOURCE 199506L
+# elif defined _XOPEN_SOURCE && (_XOPEN_SOURCE - 0) < 700
+# define _POSIX_C_SOURCE 200112L
+# else
+# define _POSIX_C_SOURCE 200809L
+# endif
+# define __USE_POSIX_IMPLICITLY 1
+#endif
+
+/* Some C libraries once required _REENTRANT and/or _THREAD_SAFE to be
+ defined in all multithreaded code. GNU libc has not required this
+ for many years. We now treat them as compatibility synonyms for
+ _POSIX_C_SOURCE=199506L, which is the earliest level of POSIX with
+ comprehensive support for multithreaded code. Using them never
+ lowers the selected level of POSIX conformance, only raises it. */
+#if ((!defined _POSIX_C_SOURCE || (_POSIX_C_SOURCE - 0) < 199506L) \
+ && (defined _REENTRANT || defined _THREAD_SAFE))
+# define _POSIX_SOURCE 1
+# undef _POSIX_C_SOURCE
+# define _POSIX_C_SOURCE 199506L
+#endif
+
+#if (defined _POSIX_SOURCE \
+ || (defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 1) \
+ || defined _XOPEN_SOURCE)
+# define __USE_POSIX 1
+#endif
+
+#if defined _POSIX_C_SOURCE && _POSIX_C_SOURCE >= 2 || defined _XOPEN_SOURCE
+# define __USE_POSIX2 1
+#endif
+
+#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199309L
+# define __USE_POSIX199309 1
+#endif
+
+#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 199506L
+# define __USE_POSIX199506 1
+#endif
+
+#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200112L
+# define __USE_XOPEN2K 1
+# undef __USE_ISOC95
+# define __USE_ISOC95 1
+# undef __USE_ISOC99
+# define __USE_ISOC99 1
+#endif
+
+#if defined _POSIX_C_SOURCE && (_POSIX_C_SOURCE - 0) >= 200809L
+# define __USE_XOPEN2K8 1
+# undef _ATFILE_SOURCE
+# define _ATFILE_SOURCE 1
+#endif
+
+#ifdef _XOPEN_SOURCE
+# define __USE_XOPEN 1
+# if (_XOPEN_SOURCE - 0) >= 500
+# define __USE_XOPEN_EXTENDED 1
+# define __USE_UNIX98 1
+# undef _LARGEFILE_SOURCE
+# define _LARGEFILE_SOURCE 1
+# if (_XOPEN_SOURCE - 0) >= 600
+# if (_XOPEN_SOURCE - 0) >= 700
+# define __USE_XOPEN2K8 1
+# define __USE_XOPEN2K8XSI 1
+# endif
+# define __USE_XOPEN2K 1
+# define __USE_XOPEN2KXSI 1
+# undef __USE_ISOC95
+# define __USE_ISOC95 1
+# undef __USE_ISOC99
+# define __USE_ISOC99 1
+# endif
+# else
+# ifdef _XOPEN_SOURCE_EXTENDED
+# define __USE_XOPEN_EXTENDED 1
+# endif
+# endif
+#endif
+
+#ifdef _LARGEFILE_SOURCE
+# define __USE_LARGEFILE 1
+#endif
+
+#ifdef _LARGEFILE64_SOURCE
+# define __USE_LARGEFILE64 1
+#endif
+
+#if defined _FILE_OFFSET_BITS && _FILE_OFFSET_BITS == 64
+# define __USE_FILE_OFFSET64 1
+#endif
+
+#include
+
+#if defined _DEFAULT_SOURCE
+# define __USE_MISC 1
+#endif
+
+#ifdef _ATFILE_SOURCE
+# define __USE_ATFILE 1
+#endif
+
+#ifdef _DYNAMIC_STACK_SIZE_SOURCE
+# define __USE_DYNAMIC_STACK_SIZE 1
+#endif
+
+#ifdef _GNU_SOURCE
+# define __USE_GNU 1
+#endif
+
+#if defined _FORTIFY_SOURCE && _FORTIFY_SOURCE > 0
+# if !defined __OPTIMIZE__ || __OPTIMIZE__ <= 0
+# warning _FORTIFY_SOURCE requires compiling with optimization (-O)
+# elif !__GNUC_PREREQ (4, 1)
+# warning _FORTIFY_SOURCE requires GCC 4.1 or later
+# elif _FORTIFY_SOURCE > 2 && (__glibc_clang_prereq (9, 0) \
+ || __GNUC_PREREQ (12, 0))
+
+# if _FORTIFY_SOURCE > 3
+# warning _FORTIFY_SOURCE > 3 is treated like 3 on this platform
+# endif
+# define __USE_FORTIFY_LEVEL 3
+# elif _FORTIFY_SOURCE > 1
+# if _FORTIFY_SOURCE > 2
+# warning _FORTIFY_SOURCE > 2 is treated like 2 on this platform
+# endif
+# define __USE_FORTIFY_LEVEL 2
+# else
+# define __USE_FORTIFY_LEVEL 1
+# endif
+#endif
+#ifndef __USE_FORTIFY_LEVEL
+# define __USE_FORTIFY_LEVEL 0
+#endif
+
+/* The function 'gets' existed in C89, but is impossible to use
+ safely. It has been removed from ISO C11 and ISO C++14. Note: for
+ compatibility with various implementations of , this test
+ must consider only the value of __cplusplus when compiling C++. */
+#if defined __cplusplus ? __cplusplus >= 201402L : defined __USE_ISOC11
+# define __GLIBC_USE_DEPRECATED_GETS 0
+#else
+# define __GLIBC_USE_DEPRECATED_GETS 1
+#endif
+
+/* GNU formerly extended the scanf functions with modified format
+ specifiers %as, %aS, and %a[...] that allocate a buffer for the
+ input using malloc. This extension conflicts with ISO C99, which
+ defines %a as a standalone format specifier that reads a floating-
+ point number; moreover, POSIX.1-2008 provides the same feature
+ using the modifier letter 'm' instead (%ms, %mS, %m[...]).
+
+ We now follow C99 unless GNU extensions are active and the compiler
+ is specifically in C89 or C++98 mode (strict or not). For
+ instance, with GCC, -std=gnu11 will have C99-compliant scanf with
+ or without -D_GNU_SOURCE, but -std=c89 -D_GNU_SOURCE will have the
+ old extension. */
+#if (defined __USE_GNU \
+ && (defined __cplusplus \
+ ? (__cplusplus < 201103L && !defined __GXX_EXPERIMENTAL_CXX0X__) \
+ : (!defined __STDC_VERSION__ || __STDC_VERSION__ < 199901L)))
+# define __GLIBC_USE_DEPRECATED_SCANF 1
+#else
+# define __GLIBC_USE_DEPRECATED_SCANF 0
+#endif
+
+/* Get definitions of __STDC_* predefined macros, if the compiler has
+ not preincluded this header automatically. */
+#include
+
+/* This macro indicates that the installed library is the GNU C Library.
+ For historic reasons the value now is 6 and this will stay from now
+ on. The use of this variable is deprecated. Use __GLIBC__ and
+ __GLIBC_MINOR__ now (see below) when you want to test for a specific
+ GNU C library version and use the values in to get
+ the sonames of the shared libraries. */
+#undef __GNU_LIBRARY__
+#define __GNU_LIBRARY__ 6
+
+/* Major and minor version number of the GNU C library package. Use
+ these macros to test for features in specific releases. */
+#define __GLIBC__ 2
+#define __GLIBC_MINOR__ 34
+
+#define __GLIBC_PREREQ(maj, min) \
+ ((__GLIBC__ << 16) + __GLIBC_MINOR__ >= ((maj) << 16) + (min))
+
+/* This is here only because every header file already includes this one. */
+#ifndef __ASSEMBLER__
+# ifndef _SYS_CDEFS_H
+# include
+# endif
+
+/* If we don't have __REDIRECT, prototypes will be missing if
+ __USE_FILE_OFFSET64 but not __USE_LARGEFILE[64]. */
+# if defined __USE_FILE_OFFSET64 && !defined __REDIRECT
+# define __USE_LARGEFILE 1
+# define __USE_LARGEFILE64 1
+# endif
+
+#endif /* !ASSEMBLER */
+
+/* Decide whether we can define 'extern inline' functions in headers. */
+#if __GNUC_PREREQ (2, 7) && defined __OPTIMIZE__ \
+ && !defined __OPTIMIZE_SIZE__ && !defined __NO_INLINE__ \
+ && defined __extern_inline
+# define __USE_EXTERN_INLINES 1
+#endif
+
+
+/* This is here only because every header file already includes this one.
+ Get the definitions of all the appropriate `__stub_FUNCTION' symbols.
+ contains `#define __stub_FUNCTION' when FUNCTION is a stub
+ that will always return failure (and set errno to ENOSYS). */
+#include
+
+
+#endif /* features.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h.blob
new file mode 100644
index 0000000..03f3310
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@features.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h
new file mode 100644
index 0000000..b745721
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h
@@ -0,0 +1,17 @@
+/* This file is automatically generated.
+ It defines a symbol `__stub_FUNCTION' for each function
+ in the C library which is a stub, meaning it will fail
+ every time called, usually setting errno to ENOSYS. */
+
+#ifdef _LIBC
+ #error Applications may not define the macro _LIBC
+#endif
+
+#define __stub___compat_bdflush
+#define __stub_chflags
+#define __stub_fchflags
+#define __stub_gtty
+#define __stub_revoke
+#define __stub_setlogin
+#define __stub_sigreturn
+#define __stub_stty
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h.blob
new file mode 100644
index 0000000..0104d18
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs-64.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h
new file mode 100644
index 0000000..70a1ba0
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h
@@ -0,0 +1,14 @@
+/* This file is automatically generated.
+ This file selects the right generated file of `__stub_FUNCTION' macros
+ based on the architecture being compiled for. */
+
+
+#if !defined __x86_64__
+# include
+#endif
+#if defined __x86_64__ && defined __LP64__
+# include
+#endif
+#if defined __x86_64__ && defined __ILP32__
+# include
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h.blob
new file mode 100644
index 0000000..7a5493e
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@gnu@stubs.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h
new file mode 100644
index 0000000..c90a599
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h
@@ -0,0 +1,204 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/*
+ * ISO C99 Standard: 7.10/5.2.4.2.1 Sizes of integer types
+ */
+
+#ifndef _LIBC_LIMITS_H_
+#define _LIBC_LIMITS_H_ 1
+
+#define __GLIBC_INTERNAL_STARTING_HEADER_IMPLEMENTATION
+#include
+
+
+/* Maximum length of any multibyte character in any locale.
+ We define this value here since the gcc header does not define
+ the correct value. */
+#define MB_LEN_MAX 16
+
+
+/* If we are not using GNU CC we have to define all the symbols ourself.
+ Otherwise use gcc's definitions (see below). */
+#if !defined __GNUC__ || __GNUC__ < 2
+
+/* We only protect from multiple inclusion here, because all the other
+ #include's protect themselves, and in GCC 2 we may #include_next through
+ multiple copies of this file before we get to GCC's. */
+# ifndef _LIMITS_H
+# define _LIMITS_H 1
+
+#include
+
+/* We don't have #include_next.
+ Define ANSI for standard 32-bit words. */
+
+/* These assume 8-bit `char's, 16-bit `short int's,
+ and 32-bit `int's and `long int's. */
+
+/* Number of bits in a `char'. */
+# define CHAR_BIT 8
+
+/* Minimum and maximum values a `signed char' can hold. */
+# define SCHAR_MIN (-128)
+# define SCHAR_MAX 127
+
+/* Maximum value an `unsigned char' can hold. (Minimum is 0.) */
+# define UCHAR_MAX 255
+
+/* Minimum and maximum values a `char' can hold. */
+# ifdef __CHAR_UNSIGNED__
+# define CHAR_MIN 0
+# define CHAR_MAX UCHAR_MAX
+# else
+# define CHAR_MIN SCHAR_MIN
+# define CHAR_MAX SCHAR_MAX
+# endif
+
+/* Minimum and maximum values a `signed short int' can hold. */
+# define SHRT_MIN (-32768)
+# define SHRT_MAX 32767
+
+/* Maximum value an `unsigned short int' can hold. (Minimum is 0.) */
+# define USHRT_MAX 65535
+
+/* Minimum and maximum values a `signed int' can hold. */
+# define INT_MIN (-INT_MAX - 1)
+# define INT_MAX 2147483647
+
+/* Maximum value an `unsigned int' can hold. (Minimum is 0.) */
+# define UINT_MAX 4294967295U
+
+/* Minimum and maximum values a `signed long int' can hold. */
+# if __WORDSIZE == 64
+# define LONG_MAX 9223372036854775807L
+# else
+# define LONG_MAX 2147483647L
+# endif
+# define LONG_MIN (-LONG_MAX - 1L)
+
+/* Maximum value an `unsigned long int' can hold. (Minimum is 0.) */
+# if __WORDSIZE == 64
+# define ULONG_MAX 18446744073709551615UL
+# else
+# define ULONG_MAX 4294967295UL
+# endif
+
+# ifdef __USE_ISOC99
+
+/* Minimum and maximum values a `signed long long int' can hold. */
+# define LLONG_MAX 9223372036854775807LL
+# define LLONG_MIN (-LLONG_MAX - 1LL)
+
+/* Maximum value an `unsigned long long int' can hold. (Minimum is 0.) */
+# define ULLONG_MAX 18446744073709551615ULL
+
+# endif /* ISO C99 */
+
+# endif /* limits.h */
+#endif /* GCC 2. */
+
+#endif /* !_LIBC_LIMITS_H_ */
+
+ /* Get the compiler's limits.h, which defines almost all the ISO constants.
+
+ We put this #include_next outside the double inclusion check because
+ it should be possible to include this file more than once and still get
+ the definitions from gcc's header. */
+#if defined __GNUC__ && !defined _GCC_LIMITS_H_
+/* `_GCC_LIMITS_H_' is what GCC's file defines. */
+# include_next
+#endif
+
+/* The files in some gcc versions don't define LLONG_MIN,
+ LLONG_MAX, and ULLONG_MAX. Instead only the values gcc defined for
+ ages are available. */
+#if defined __USE_ISOC99 && defined __GNUC__
+# ifndef LLONG_MIN
+# define LLONG_MIN (-LLONG_MAX-1)
+# endif
+# ifndef LLONG_MAX
+# define LLONG_MAX __LONG_LONG_MAX__
+# endif
+# ifndef ULLONG_MAX
+# define ULLONG_MAX (LLONG_MAX * 2ULL + 1)
+# endif
+#endif
+
+/* The integer width macros are not defined by GCC's before
+ GCC 7, or if _GNU_SOURCE rather than
+ __STDC_WANT_IEC_60559_BFP_EXT__ is used to enable this feature. */
+#if __GLIBC_USE (IEC_60559_BFP_EXT_C2X)
+# ifndef CHAR_WIDTH
+# define CHAR_WIDTH 8
+# endif
+# ifndef SCHAR_WIDTH
+# define SCHAR_WIDTH 8
+# endif
+# ifndef UCHAR_WIDTH
+# define UCHAR_WIDTH 8
+# endif
+# ifndef SHRT_WIDTH
+# define SHRT_WIDTH 16
+# endif
+# ifndef USHRT_WIDTH
+# define USHRT_WIDTH 16
+# endif
+# ifndef INT_WIDTH
+# define INT_WIDTH 32
+# endif
+# ifndef UINT_WIDTH
+# define UINT_WIDTH 32
+# endif
+# ifndef LONG_WIDTH
+# define LONG_WIDTH __WORDSIZE
+# endif
+# ifndef ULONG_WIDTH
+# define ULONG_WIDTH __WORDSIZE
+# endif
+# ifndef LLONG_WIDTH
+# define LLONG_WIDTH 64
+# endif
+# ifndef ULLONG_WIDTH
+# define ULLONG_WIDTH 64
+# endif
+#endif /* Use IEC_60559_BFP_EXT. */
+
+/* The macros for _Bool are not defined by GCC's before GCC
+ 11, or if _GNU_SOURCE is defined rather than enabling C2x support
+ with -std. */
+#if __GLIBC_USE (ISOC2X)
+# ifndef BOOL_MAX
+# define BOOL_MAX 1
+# endif
+# ifndef BOOL_WIDTH
+# define BOOL_WIDTH 1
+# endif
+#endif
+
+#ifdef __USE_POSIX
+/* POSIX adds things to . */
+# include
+#endif
+
+#ifdef __USE_POSIX2
+# include
+#endif
+
+#ifdef __USE_XOPEN
+# include
+#endif
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h.blob
new file mode 100644
index 0000000..fc6ee2e
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@limits.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h
new file mode 100644
index 0000000..cdb4852
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h
@@ -0,0 +1,48 @@
+/* Functions for pseudo TTY handling.
+ Copyright (C) 1996-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+#ifndef _PTY_H
+#define _PTY_H 1
+
+#include
+
+struct termios;
+struct winsize;
+
+#include
+#include
+
+
+__BEGIN_DECLS
+
+/* Create pseudo tty master slave pair with NAME and set terminal
+ attributes according to TERMP and WINP and return handles for both
+ ends in AMASTER and ASLAVE. */
+extern int openpty (int *__amaster, int *__aslave, char *__name,
+ const struct termios *__termp,
+ const struct winsize *__winp) __THROW;
+
+/* Create child process and establish the slave pseudo terminal as the
+ child's controlling terminal. */
+extern int forkpty (int *__amaster, char *__name,
+ const struct termios *__termp,
+ const struct winsize *__winp) __THROW;
+
+__END_DECLS
+
+#endif /* pty.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h.blob
new file mode 100644
index 0000000..e41d4d1
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pty.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h
new file mode 100644
index 0000000..ec83c09
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h
@@ -0,0 +1,193 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/*
+ * POSIX Standard: 9.2.2 User Database Access
+ */
+
+#ifndef _PWD_H
+#define _PWD_H 1
+
+#include
+
+__BEGIN_DECLS
+
+#include
+
+#define __need_size_t
+#include
+
+#if defined __USE_XOPEN || defined __USE_XOPEN2K
+/* The Single Unix specification says that some more types are
+ available here. */
+# ifndef __gid_t_defined
+typedef __gid_t gid_t;
+# define __gid_t_defined
+# endif
+
+# ifndef __uid_t_defined
+typedef __uid_t uid_t;
+# define __uid_t_defined
+# endif
+#endif
+
+/* A record in the user database. */
+struct passwd
+{
+ char *pw_name; /* Username. */
+ char *pw_passwd; /* Hashed passphrase, if shadow database
+ not in use (see shadow.h). */
+ __uid_t pw_uid; /* User ID. */
+ __gid_t pw_gid; /* Group ID. */
+ char *pw_gecos; /* Real name. */
+ char *pw_dir; /* Home directory. */
+ char *pw_shell; /* Shell program. */
+};
+
+
+#ifdef __USE_MISC
+# include
+#endif
+
+
+#if defined __USE_MISC || defined __USE_XOPEN_EXTENDED
+/* Rewind the user database stream.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern void setpwent (void);
+
+/* Close the user database stream.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern void endpwent (void);
+
+/* Read an entry from the user database stream, opening it if necessary.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern struct passwd *getpwent (void);
+#endif
+
+#ifdef __USE_MISC
+/* Read a user database entry from STREAM.
+
+ This function is not part of POSIX and therefore no official
+ cancellation point. But due to similarity with an POSIX interface
+ or due to the implementation it is a cancellation point and
+ therefore not marked with __THROW. */
+extern struct passwd *fgetpwent (FILE *__stream) __nonnull ((1));
+
+/* Write a given user database entry onto the given stream.
+
+ This function is not part of POSIX and therefore no official
+ cancellation point. But due to similarity with an POSIX interface
+ or due to the implementation it is a cancellation point and
+ therefore not marked with __THROW. */
+extern int putpwent (const struct passwd *__restrict __p,
+ FILE *__restrict __f);
+#endif
+
+/* Retrieve the user database entry for the given user ID.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern struct passwd *getpwuid (__uid_t __uid);
+
+/* Retrieve the user database entry for the given username.
+
+ This function is a possible cancellation point and therefore not
+ marked with __THROW. */
+extern struct passwd *getpwnam (const char *__name) __nonnull ((1));
+
+#ifdef __USE_POSIX
+
+# ifdef __USE_MISC
+/* Reasonable value for the buffer sized used in the reentrant
+ functions below. But better use `sysconf'. */
+# define NSS_BUFLEN_PASSWD 1024
+# endif
+
+/* Reentrant versions of some of the functions above.
+
+ PLEASE NOTE: the `getpwent_r' function is not (yet) standardized.
+ The interface may change in later versions of this library. But
+ the interface is designed following the principals used for the
+ other reentrant functions so the chances are good this is what the
+ POSIX people would choose. */
+
+# ifdef __USE_MISC
+/* This function is not part of POSIX and therefore no official
+ cancellation point. But due to similarity with an POSIX interface
+ or due to the implementation it is a cancellation point and
+ therefore not marked with __THROW. */
+extern int getpwent_r (struct passwd *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct passwd **__restrict __result)
+ __nonnull ((1, 2, 4))
+ __attr_access ((__write_only__, 2, 3));
+# endif
+
+extern int getpwuid_r (__uid_t __uid,
+ struct passwd *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct passwd **__restrict __result)
+ __nonnull ((2, 3, 5))
+ __attr_access ((__write_only__, 3, 4));
+
+extern int getpwnam_r (const char *__restrict __name,
+ struct passwd *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct passwd **__restrict __result)
+ __nonnull ((1, 2, 3, 5))
+ __attr_access ((__write_only__, 3, 4));
+
+
+# ifdef __USE_MISC
+/* Read a user database entry from STREAM. This function is not
+ standardized and probably never will.
+
+ This function is not part of POSIX and therefore no official
+ cancellation point. But due to similarity with an POSIX interface
+ or due to the implementation it is a cancellation point and
+ therefore not marked with __THROW. */
+extern int fgetpwent_r (FILE *__restrict __stream,
+ struct passwd *__restrict __resultbuf,
+ char *__restrict __buffer, size_t __buflen,
+ struct passwd **__restrict __result)
+ __nonnull ((1, 2, 3, 5))
+ __attr_access ((__write_only__, 3, 4));
+# endif
+
+#endif /* POSIX or reentrant */
+
+#ifdef __USE_GNU
+/* Write a traditional /etc/passwd line, based on the user database
+ entry for the given UID, to BUFFER; space for BUFFER must be
+ allocated by the caller.
+
+ This function is not part of POSIX and therefore no official
+ cancellation point. But due to similarity with an POSIX interface
+ or due to the implementation it is a cancellation point and
+ therefore not marked with __THROW. */
+extern int getpw (__uid_t __uid, char *__buffer);
+#endif
+
+__END_DECLS
+
+#endif /* pwd.h */
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h.blob b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h.blob
new file mode 100644
index 0000000..6260718
Binary files /dev/null and b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@pwd.h.blob differ
diff --git a/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@signal.h b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@signal.h
new file mode 100644
index 0000000..5fd9338
--- /dev/null
+++ b/.ccls-cache/@@home@spy@Development@st/@nix@store@1dlzfarjz8g5hx8zhcvsglbp8bqing4r-glibc-2.34-210-dev@include@signal.h
@@ -0,0 +1,395 @@
+/* Copyright (C) 1991-2021 Free Software Foundation, Inc.
+ This file is part of the GNU C Library.
+
+ The GNU C Library is free software; you can redistribute it and/or
+ modify it under the terms of the GNU Lesser General Public
+ License as published by the Free Software Foundation; either
+ version 2.1 of the License, or (at your option) any later version.
+
+ The GNU C Library is distributed in the hope that it will be useful,
+ but WITHOUT ANY WARRANTY; without even the implied warranty of
+ MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ Lesser General Public License for more details.
+
+ You should have received a copy of the GNU Lesser General Public
+ License along with the GNU C Library; if not, see
+ . */
+
+/*
+ * ISO C99 Standard: 7.14 Signal handling
+ */
+
+#ifndef _SIGNAL_H
+#define _SIGNAL_H
+
+#include
+
+__BEGIN_DECLS
+
+#include
+#include
+
+#include
+
+#if defined __USE_POSIX
+#include
+#endif
+
+#if defined __USE_XOPEN || defined __USE_XOPEN2K
+# ifndef __pid_t_defined
+typedef __pid_t pid_t;
+# define __pid_t_defined
+#endif
+#ifdef __USE_XOPEN
+# endif
+# ifndef __uid_t_defined
+typedef __uid_t uid_t;
+# define __uid_t_defined
+# endif
+#endif /* Unix98 */
+
+#ifdef __USE_POSIX199309
+/* We need `struct timespec' later on. */
+# include
+#endif
+
+#if defined __USE_POSIX199309 || defined __USE_XOPEN_EXTENDED
+# include
+# include
+#endif
+
+#ifdef __USE_MISC
+# include