summaryrefslogtreecommitdiff
path: root/patches
diff options
context:
space:
mode:
authorCzarek Nakamoto <cyjan@mrcyjanek.net>2024-10-31 13:11:01 +0000
committerCzarek Nakamoto <cyjan@mrcyjanek.net>2024-10-31 13:11:01 +0000
commitdfc7c5eea0bed2f4dc7a8cabfb33ad49370cd3a1 (patch)
tree9706ca4b29798280a6c4ba8118f0d2cf91f17628 /patches
parent1d8e0fb30b53c28756f23676d5a3e1a99a9b3051 (diff)
initial zano commit
Diffstat (limited to 'patches')
-rw-r--r--patches/zano/0001-added-monero-s-contirb-depends-system.patch13600
-rw-r--r--patches/zano/0002-add-missing-include.patch64
2 files changed, 13664 insertions, 0 deletions
diff --git a/patches/zano/0001-added-monero-s-contirb-depends-system.patch b/patches/zano/0001-added-monero-s-contirb-depends-system.patch
new file mode 100644
index 0000000..d1fa781
--- /dev/null
+++ b/patches/zano/0001-added-monero-s-contirb-depends-system.patch
@@ -0,0 +1,13600 @@
+From c6914299688d535e567ba985c05d4cafc7f99e16 Mon Sep 17 00:00:00 2001
+From: Czarek Nakamoto <cyjan@mrcyjanek.net>
+Date: Thu, 31 Oct 2024 13:06:52 +0000
+Subject: [PATCH 1/2] added monero's contirb/depends system
+
+---
+ contrib/depends/.gitignore | 10 +
+ contrib/depends/Makefile | 229 +
+ contrib/depends/README.md | 74 +
+ contrib/depends/builders/darwin.mk | 22 +
+ contrib/depends/builders/default.mk | 20 +
+ contrib/depends/builders/linux.mk | 2 +
+ contrib/depends/config.guess | 1466 ++++
+ contrib/depends/config.site.in | 66 +
+ contrib/depends/config.sub | 1836 +++++
+ contrib/depends/description.md | 53 +
+ contrib/depends/funcs.mk | 270 +
+ contrib/depends/hosts/android.mk | 22 +
+ contrib/depends/hosts/darwin.mk | 23 +
+ contrib/depends/hosts/default.mk | 26 +
+ contrib/depends/hosts/freebsd.mk | 18 +
+ contrib/depends/hosts/linux.mk | 32 +
+ contrib/depends/hosts/mingw32.mk | 11 +
+ contrib/depends/packages.md | 165 +
+ contrib/depends/packages/android_ndk.mk | 24 +
+ contrib/depends/packages/boost.mk | 49 +
+ contrib/depends/packages/darwin_sdk.mk | 10 +
+ contrib/depends/packages/eudev.mk | 30 +
+ contrib/depends/packages/expat.mk | 28 +
+ contrib/depends/packages/freebsd_base.mk | 23 +
+ contrib/depends/packages/graphviz.mk | 30 +
+ contrib/depends/packages/gtest.mk | 39 +
+ contrib/depends/packages/hidapi.mk | 38 +
+ contrib/depends/packages/icu4c.mk | 27 +
+ contrib/depends/packages/libICE.mk | 23 +
+ contrib/depends/packages/libSM.mk | 23 +
+ contrib/depends/packages/libiconv.mk | 35 +
+ contrib/depends/packages/libusb.mk | 39 +
+ contrib/depends/packages/native_biplist.mk | 20 +
+ contrib/depends/packages/native_ccache.mk | 25 +
+ contrib/depends/packages/native_cctools.mk | 28 +
+ contrib/depends/packages/native_cdrkit.mk | 26 +
+ contrib/depends/packages/native_clang.mk | 29 +
+ .../depends/packages/native_cmake-unused.mk | 23 +
+ contrib/depends/packages/native_ds_store.mk | 17 +
+ .../depends/packages/native_libdmg-hfsplus.mk | 22 +
+ contrib/depends/packages/native_libtapi.mk | 28 +
+ contrib/depends/packages/native_mac_alias.mk | 21 +
+ contrib/depends/packages/native_protobuf.mk | 27 +
+ contrib/depends/packages/ncurses.mk | 63 +
+ contrib/depends/packages/openssl.mk | 68 +
+ contrib/depends/packages/packages.mk | 38 +
+ contrib/depends/packages/polyseed.mk | 28 +
+ contrib/depends/packages/protobuf.mk | 36 +
+ contrib/depends/packages/readline.mk | 29 +
+ contrib/depends/packages/sodium.mk | 34 +
+ contrib/depends/packages/unbound.mk | 36 +
+ contrib/depends/packages/unwind.mk | 29 +
+ contrib/depends/packages/xproto.mk | 21 +
+ contrib/depends/packages/zeromq.mk | 35 +
+ .../depends/patches/boost/fix_arm_arch.patch | 11 +
+ .../depends/patches/boost/fix_aroptions.patch | 28 +
+ .../depends/patches/boost/fix_pthread.patch | 14 +
+ .../patches/boost/fix_pthread_win.patch | 14 +
+ .../depends/patches/cmake/cmake-1-fixes.patch | 67 +
+ .../patches/hidapi/missing_win_include.patch | 21 +
+ ...-001-dont-build-static-dynamic-twice.patch | 37 +
+ .../patches/libiconv/fix-whitespace.patch | 13 +
+ .../patches/native_biplist/sorted_list.patch | 29 +
+ .../native_cdrkit/cdrkit-deterministic.patch | 86 +
+ .../patches/native_mac_alias/python3.patch | 72 +
+ contrib/depends/patches/ncurses/fallback.c | 6621 +++++++++++++++++
+ .../polyseed/0001-disable-soname.patch | 48 +
+ .../patches/polyseed/force-static-mingw.patch | 23 +
+ .../depends/patches/protobuf/visibility.patch | 159 +
+ .../disable-glibc-getrandom-getentropy.patch | 25 +
+ .../patches/sodium/fix-whitespace.patch | 13 +
+ .../unbound/disable-glibc-reallocarray.patch | 14 +
+ .../patches/unwind/fix_obj_order.patch | 11 +
+ ...a27b04c5822cb88a69677382a0f053367143.patch | 22 +
+ contrib/depends/protobuf.mk | 29 +
+ contrib/depends/toolchain.cmake.in | 176 +
+ 76 files changed, 12979 insertions(+)
+ create mode 100644 contrib/depends/.gitignore
+ create mode 100644 contrib/depends/Makefile
+ create mode 100644 contrib/depends/README.md
+ create mode 100644 contrib/depends/builders/darwin.mk
+ create mode 100644 contrib/depends/builders/default.mk
+ create mode 100644 contrib/depends/builders/linux.mk
+ create mode 100755 contrib/depends/config.guess
+ create mode 100644 contrib/depends/config.site.in
+ create mode 100755 contrib/depends/config.sub
+ create mode 100644 contrib/depends/description.md
+ create mode 100644 contrib/depends/funcs.mk
+ create mode 100644 contrib/depends/hosts/android.mk
+ create mode 100644 contrib/depends/hosts/darwin.mk
+ create mode 100644 contrib/depends/hosts/default.mk
+ create mode 100644 contrib/depends/hosts/freebsd.mk
+ create mode 100644 contrib/depends/hosts/linux.mk
+ create mode 100644 contrib/depends/hosts/mingw32.mk
+ create mode 100644 contrib/depends/packages.md
+ create mode 100644 contrib/depends/packages/android_ndk.mk
+ create mode 100644 contrib/depends/packages/boost.mk
+ create mode 100644 contrib/depends/packages/darwin_sdk.mk
+ create mode 100644 contrib/depends/packages/eudev.mk
+ create mode 100644 contrib/depends/packages/expat.mk
+ create mode 100644 contrib/depends/packages/freebsd_base.mk
+ create mode 100644 contrib/depends/packages/graphviz.mk
+ create mode 100644 contrib/depends/packages/gtest.mk
+ create mode 100644 contrib/depends/packages/hidapi.mk
+ create mode 100644 contrib/depends/packages/icu4c.mk
+ create mode 100644 contrib/depends/packages/libICE.mk
+ create mode 100644 contrib/depends/packages/libSM.mk
+ create mode 100644 contrib/depends/packages/libiconv.mk
+ create mode 100644 contrib/depends/packages/libusb.mk
+ create mode 100644 contrib/depends/packages/native_biplist.mk
+ create mode 100644 contrib/depends/packages/native_ccache.mk
+ create mode 100644 contrib/depends/packages/native_cctools.mk
+ create mode 100644 contrib/depends/packages/native_cdrkit.mk
+ create mode 100644 contrib/depends/packages/native_clang.mk
+ create mode 100644 contrib/depends/packages/native_cmake-unused.mk
+ create mode 100644 contrib/depends/packages/native_ds_store.mk
+ create mode 100644 contrib/depends/packages/native_libdmg-hfsplus.mk
+ create mode 100644 contrib/depends/packages/native_libtapi.mk
+ create mode 100644 contrib/depends/packages/native_mac_alias.mk
+ create mode 100644 contrib/depends/packages/native_protobuf.mk
+ create mode 100644 contrib/depends/packages/ncurses.mk
+ create mode 100644 contrib/depends/packages/openssl.mk
+ create mode 100644 contrib/depends/packages/packages.mk
+ create mode 100644 contrib/depends/packages/polyseed.mk
+ create mode 100644 contrib/depends/packages/protobuf.mk
+ create mode 100644 contrib/depends/packages/readline.mk
+ create mode 100644 contrib/depends/packages/sodium.mk
+ create mode 100644 contrib/depends/packages/unbound.mk
+ create mode 100644 contrib/depends/packages/unwind.mk
+ create mode 100644 contrib/depends/packages/xproto.mk
+ create mode 100644 contrib/depends/packages/zeromq.mk
+ create mode 100644 contrib/depends/patches/boost/fix_arm_arch.patch
+ create mode 100644 contrib/depends/patches/boost/fix_aroptions.patch
+ create mode 100644 contrib/depends/patches/boost/fix_pthread.patch
+ create mode 100644 contrib/depends/patches/boost/fix_pthread_win.patch
+ create mode 100644 contrib/depends/patches/cmake/cmake-1-fixes.patch
+ create mode 100644 contrib/depends/patches/hidapi/missing_win_include.patch
+ create mode 100644 contrib/depends/patches/icu4c/icu-001-dont-build-static-dynamic-twice.patch
+ create mode 100644 contrib/depends/patches/libiconv/fix-whitespace.patch
+ create mode 100644 contrib/depends/patches/native_biplist/sorted_list.patch
+ create mode 100644 contrib/depends/patches/native_cdrkit/cdrkit-deterministic.patch
+ create mode 100644 contrib/depends/patches/native_mac_alias/python3.patch
+ create mode 100644 contrib/depends/patches/ncurses/fallback.c
+ create mode 100644 contrib/depends/patches/polyseed/0001-disable-soname.patch
+ create mode 100644 contrib/depends/patches/polyseed/force-static-mingw.patch
+ create mode 100644 contrib/depends/patches/protobuf/visibility.patch
+ create mode 100644 contrib/depends/patches/sodium/disable-glibc-getrandom-getentropy.patch
+ create mode 100644 contrib/depends/patches/sodium/fix-whitespace.patch
+ create mode 100644 contrib/depends/patches/unbound/disable-glibc-reallocarray.patch
+ create mode 100644 contrib/depends/patches/unwind/fix_obj_order.patch
+ create mode 100644 contrib/depends/patches/zeromq/06aba27b04c5822cb88a69677382a0f053367143.patch
+ create mode 100644 contrib/depends/protobuf.mk
+ create mode 100644 contrib/depends/toolchain.cmake.in
+
+diff --git a/contrib/depends/.gitignore b/contrib/depends/.gitignore
+new file mode 100644
+index 00000000..3cb4b9ac
+--- /dev/null
++++ b/contrib/depends/.gitignore
+@@ -0,0 +1,10 @@
++SDKs/
++work/
++built/
++sources/
++config.site
++x86_64*
++i686*
++mips*
++arm*
++aarch64*
+diff --git a/contrib/depends/Makefile b/contrib/depends/Makefile
+new file mode 100644
+index 00000000..479b2e1c
+--- /dev/null
++++ b/contrib/depends/Makefile
+@@ -0,0 +1,229 @@
++.NOTPARALLEL :
++
++SOURCES_PATH ?= $(BASEDIR)/sources
++BASE_CACHE ?= $(BASEDIR)/built
++FALLBACK_DOWNLOAD_PATH ?= https://downloads.getmonero.org/depends-sources
++
++BUILD = $(shell ./config.guess)
++HOST ?= $(BUILD)
++PATCHES_PATH = $(BASEDIR)/patches
++BASEDIR = $(CURDIR)
++HASH_LENGTH:=11
++DOWNLOAD_CONNECT_TIMEOUT:=30
++DOWNLOAD_RETRIES:=5
++HOST_ID_SALT ?= salt
++BUILD_ID_SALT ?= salt
++
++host:=$(BUILD)
++ifneq ($(HOST),)
++host:=$(HOST)
++host_toolchain:=$(HOST)-
++endif
++
++ifneq ($(DEBUG),)
++release_type=Debug
++else
++release_type=Release
++endif
++
++ifneq ($(TESTS),)
++build_tests=ON
++release_type=Debug
++else
++build_tests=OFF
++endif
++
++base_build_dir=$(BASEDIR)/work/build
++base_staging_dir=$(BASEDIR)/work/staging
++base_download_dir=$(BASEDIR)/work/download
++canonical_host:=$(shell ./config.sub $(HOST))
++build:=$(shell ./config.sub $(BUILD))
++
++build_arch =$(firstword $(subst -, ,$(build)))
++build_vendor=$(word 2,$(subst -, ,$(build)))
++full_build_os:=$(subst $(build_arch)-$(build_vendor)-,,$(build))
++build_os:=$(findstring linux,$(full_build_os))
++build_os+=$(findstring darwin,$(full_build_os))
++build_os:=$(strip $(build_os))
++ifeq ($(build_os),)
++build_os=$(full_build_os)
++endif
++
++host_arch=$(firstword $(subst -, ,$(canonical_host)))
++host_vendor=$(word 2,$(subst -, ,$(canonical_host)))
++full_host_os:=$(subst $(host_arch)-$(host_vendor)-,,$(canonical_host))
++host_os:=$(findstring android,$(full_host_os))
++ifeq ($(host_os),)
++host_os:=$(findstring linux,$(full_host_os))
++endif
++host_os+=$(findstring darwin,$(full_host_os))
++host_os+=$(findstring freebsd,$(full_host_os))
++host_os+=$(findstring mingw32,$(full_host_os))
++host_os:=$(strip $(host_os))
++ifeq ($(host_os),)
++host_os=$(full_host_os)
++endif
++
++$(host_arch)_$(host_os)_prefix=$(BASEDIR)/$(host)
++$(host_arch)_$(host_os)_host=$(host)
++host_prefix=$($(host_arch)_$(host_os)_prefix)
++build_prefix=$(host_prefix)/native
++ifeq ($(host_os),mingw32)
++host_cmake=Windows
++endif
++ifeq ($(host_os),linux)
++host_cmake=Linux
++endif
++ifeq ($(host_os),freebsd)
++host_cmake=FreeBSD
++endif
++ifeq ($(host_os),darwin)
++host_cmake=Darwin
++endif
++ifeq ($(host_os),android)
++host_cmake=Android
++endif
++
++AT_$(V):=
++AT_:=@
++AT:=$(AT_$(V))
++
++all: install
++
++include hosts/$(host_os).mk
++include hosts/default.mk
++include builders/$(build_os).mk
++include builders/default.mk
++include packages/packages.mk
++
++build_id_string:=$(BUILD_ID_SALT)
++build_id_string+=$(shell $(build_CC) --version 2>/dev/null)
++build_id_string+=$(shell $(build_AR) --version 2>/dev/null)
++build_id_string+=$(shell $(build_CXX) --version 2>/dev/null)
++build_id_string+=$(shell $(build_RANLIB) --version 2>/dev/null)
++build_id_string+=$(shell $(build_STRIP) --version 2>/dev/null)
++
++$(host_arch)_$(host_os)_id_string:=$(HOST_ID_SALT)
++$(host_arch)_$(host_os)_id_string+=$(shell $(host_CC) --version 2>/dev/null)
++$(host_arch)_$(host_os)_id_string+=$(shell $(host_AR) --version 2>/dev/null)
++$(host_arch)_$(host_os)_id_string+=$(shell $(host_CXX) --version 2>/dev/null)
++$(host_arch)_$(host_os)_id_string+=$(shell $(host_RANLIB) --version 2>/dev/null)
++$(host_arch)_$(host_os)_id_string+=$(shell $(host_STRIP) --version 2>/dev/null)
++
++packages += $($(host_arch)_$(host_os)_packages) $($(host_os)_packages)
++native_packages += $($(host_arch)_$(host_os)_native_packages) $($(host_os)_native_packages)
++
++all_packages = $(packages) $(native_packages)
++
++meta_depends = Makefile funcs.mk builders/default.mk hosts/default.mk hosts/$(host_os).mk builders/$(build_os).mk
++
++$(host_arch)_$(host_os)_native_toolchain?=$($(host_os)_native_toolchain)
++
++include funcs.mk
++
++CONF_PKGS := cmake-conf mxe-conf
++
++build-only-$(1)_$(3): CMAKE_RUNRESULT_FILE = $(PREFIX)/share/cmake/modules/TryRunResults.cmake
++build-only-$(1)_$(3): CMAKE_TOOLCHAIN_FILE = $(PREFIX)/$(3)/share/cmake/mxe-conf.cmake
++build-only-$(1)_$(3): CMAKE_TOOLCHAIN_DIR = $(PREFIX)/$(3)/share/cmake/mxe-conf.d
++build-only-$(1)_$(3): CMAKE_STATIC_BOOL = $(if $(findstring shared,$(3)),OFF,ON)
++build-only-$(1)_$(3): CMAKE_SHARED_BOOL = $(if $(findstring shared,$(3)),ON,OFF)
++
++
++toolchain_path=$($($(host_arch)_$(host_os)_native_toolchain)_prefixbin)
++final_build_id_long+=$(shell $(build_SHA256SUM) config.site.in)
++final_build_id_long+=$(shell $(build_SHA256SUM) toolchain.cmake.in)
++final_build_id+=$(shell echo -n "$(final_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH))
++$(host_prefix)/.stamp_$(final_build_id): $(native_packages) $(packages)
++ $(AT)rm -rf $(@D)
++ $(AT)mkdir -p $(@D)
++ $(AT)echo copying packages: $^
++ $(AT)echo to: $(@D)
++ $(AT)cd $(@D); $(foreach package,$^, tar xf $($(package)_cached); )
++ $(AT)touch $@
++
++$(host_prefix)/share/config.site : config.site.in $(host_prefix)/.stamp_$(final_build_id)
++ $(AT)@mkdir -p $(@D)
++ $(AT)sed -e 's|@HOST@|$(host)|' \
++ -e 's|@CC@|$(toolchain_path)$(host_CC)|' \
++ -e 's|@CXX@|$(toolchain_path)$(host_CXX)|' \
++ -e 's|@AR@|$(toolchain_path)$(host_AR)|' \
++ -e 's|@RANLIB@|$(toolchain_path)$(host_RANLIB)|' \
++ -e 's|@NM@|$(toolchain_path)$(host_NM)|' \
++ -e 's|@STRIP@|$(toolchain_path)$(host_STRIP)|' \
++ -e 's|@build_os@|$(build_os)|' \
++ -e 's|@host_os@|$(host_os)|' \
++ -e 's|@CFLAGS@|$(strip $(host_CFLAGS) $(host_$(release_type)_CFLAGS))|' \
++ -e 's|@CXXFLAGS@|$(strip $(host_CXXFLAGS) $(host_$(release_type)_CXXFLAGS))|' \
++ -e 's|@CPPFLAGS@|$(strip $(host_CPPFLAGS) $(host_$(release_type)_CPPFLAGS))|' \
++ -e 's|@LDFLAGS@|$(strip $(host_LDFLAGS) $(host_$(release_type)_LDFLAGS))|' \
++ -e 's|@allow_host_packages@|$(ALLOW_HOST_PACKAGES)|' \
++ -e 's|@debug@|$(DEBUG)|' \
++ $< > $@
++ $(AT)touch $@
++
++$(host_prefix)/share/toolchain.cmake : toolchain.cmake.in $(host_prefix)/.stamp_$(final_build_id)
++ $(AT)@mkdir -p $(@D)
++ $(AT)sed -e 's|@HOST@|$(host)|' \
++ -e 's|@CC@|$(toolchain_path)$(host_CC)|' \
++ -e 's|@CXX@|$(toolchain_path)$(host_CXX)|' \
++ -e 's|@AR@|$(toolchain_path)$(host_AR)|' \
++ -e 's|@RANLIB@|$(toolchain_path)$(host_RANLIB)|' \
++ -e 's|@NM@|$(toolchain_path)$(host_NM)|' \
++ -e 's|@STRIP@|$(toolchain_path)$(host_STRIP)|' \
++ -e 's|@build_os@|$(build_os)|' \
++ -e 's|@host_os@|$(host_os)|' \
++ -e 's|@CFLAGS@|$(strip $(host_CFLAGS) $(host_$(release_type)_CFLAGS))|' \
++ -e 's|@CXXFLAGS@|$(strip $(host_CXXFLAGS) $(host_$(release_type)_CXXFLAGS))|' \
++ -e 's|@CPPFLAGS@|$(strip $(host_CPPFLAGS) $(host_$(release_type)_CPPFLAGS))|' \
++ -e 's|@LDFLAGS@|$(strip $(host_LDFLAGS) $(host_$(release_type)_LDFLAGS))|' \
++ -e 's|@allow_host_packages@|$(ALLOW_HOST_PACKAGES)|' \
++ -e 's|@debug@|$(DEBUG)|' \
++ -e 's|@release_type@|$(release_type)|' \
++ -e 's|@build_tests@|$(build_tests)|' \
++ -e 's|@depends@|$(host_cmake)|' \
++ -e 's|@prefix@|$($(host_arch)_$(host_os)_prefix)|'\
++ -e 's|@arch@|$(host_arch)|'\
++ $< > $@
++ $(AT)touch $@
++
++define check_or_remove_cached
++ mkdir -p $(BASE_CACHE)/$(host)/$(package) && cd $(BASE_CACHE)/$(host)/$(package); \
++ $(build_SHA256SUM) -c $($(package)_cached_checksum) >/dev/null 2>/dev/null || \
++ ( rm -f $($(package)_cached_checksum); \
++ if test -f "$($(package)_cached)"; then echo "Checksum mismatch for $(package). Forcing rebuild.."; rm -f $($(package)_cached_checksum) $($(package)_cached); fi )
++endef
++
++define check_or_remove_sources
++ mkdir -p $($(package)_source_dir); cd $($(package)_source_dir); \
++ test -f $($(package)_fetched) && ( $(build_SHA256SUM) -c $($(package)_fetched) >/dev/null 2>/dev/null || \
++ ( echo "Checksum missing or mismatched for $(package) source. Forcing re-download."; \
++ rm -f $($(package)_all_sources) $($(1)_fetched))) || true
++endef
++
++check-packages:
++ @$(foreach package,$(all_packages),$(call check_or_remove_cached,$(package));)
++check-sources:
++ @$(foreach package,$(all_packages),$(call check_or_remove_sources,$(package));)
++
++$(host_prefix)/share/config.site: check-packages
++$(host_prefix)/share/toolchain.cmake: check-packages
++
++check-packages: check-sources
++
++install: check-packages $(host_prefix)/share/config.site
++install: check-packages $(host_prefix)/share/toolchain.cmake
++
++download-one: check-sources $(all_sources)
++
++download-osx:
++ @$(MAKE) -s HOST=x86_64-apple-darwin11 download-one
++download-linux:
++ @$(MAKE) -s HOST=x86_64-unknown-linux-gnu download-one
++download-win:
++ @$(MAKE) -s HOST=x86_64-w64-mingw32 download-one
++download: download-osx download-linux download-win
++
++ $(foreach package,$(all_packages),$(eval $(call ext_add_stages,$(package))))
++
++.PHONY: install cached download-one download-osx download-linux download-win download check-packages check-sources
+diff --git a/contrib/depends/README.md b/contrib/depends/README.md
+new file mode 100644
+index 00000000..1aa5b276
+--- /dev/null
++++ b/contrib/depends/README.md
+@@ -0,0 +1,74 @@
++### Usage
++
++To build dependencies for the current arch+OS:
++
++```bash
++make
++```
++
++To build for another arch/OS:
++
++```bash
++make HOST=host-platform-triplet
++```
++
++For example:
++
++```bash
++make HOST=x86_64-w64-mingw32 -j4
++```
++
++A toolchain will be generated that's suitable for plugging into Monero's
++cmake. In the above example, a dir named x86_64-w64-mingw32 will be
++created. To use it for Monero:
++
++```bash
++cmake -DCMAKE_TOOLCHAIN=`pwd`/contrib/depends/x86_64-w64-mingw32
++```
++
++Common `host-platform-triplets` for cross compilation are:
++
++- `i686-w64-mingw32` for Win32
++- `x86_64-w64-mingw32` for Win64
++- `x86_64-apple-darwin11` for MacOSX x86_64
++- `arm-linux-gnueabihf` for Linux ARM 32 bit
++- `aarch64-linux-gnu` for Linux ARM 64 bit
++- `riscv64-linux-gnu` for Linux RISCV 64 bit
++
++No other options are needed, the paths are automatically configured.
++
++Dependency Options:
++The following can be set when running make: make FOO=bar
++
++```
++SOURCES_PATH: downloaded sources will be placed here
++BASE_CACHE: built packages will be placed here
++FALLBACK_DOWNLOAD_PATH: If a source file can't be fetched, try here before giving up
++DEBUG: disable some optimizations and enable more runtime checking
++HOST_ID_SALT: Optional salt to use when generating host package ids
++BUILD_ID_SALT: Optional salt to use when generating build package ids
++```
++
++Additional targets:
++
++```
++download: run 'make download' to fetch all sources without building them
++download-osx: run 'make download-osx' to fetch all sources needed for osx builds
++download-win: run 'make download-win' to fetch all sources needed for win builds
++download-linux: run 'make download-linux' to fetch all sources needed for linux builds
++```
++
++#Mingw builds
++
++Building for 32/64bit mingw requires switching alternatives to a posix mode
++
++```bash
++update-alternatives --set x86_64-w64-mingw32-g++ x86_64-w64-mingw32-g++-posix
++update-alternatives --set x86_64-w64-mingw32-gcc x86_64-w64-mingw32-gcc-posix
++```
++
++### Other documentation
++
++- [description.md](description.md): General description of the depends system
++- [packages.md](packages.md): Steps for adding packages
++
+diff --git a/contrib/depends/builders/darwin.mk b/contrib/depends/builders/darwin.mk
+new file mode 100644
+index 00000000..27f550ab
+--- /dev/null
++++ b/contrib/depends/builders/darwin.mk
+@@ -0,0 +1,22 @@
++build_darwin_CC: = $(shell xcrun -f clang)
++build_darwin_CXX: = $(shell xcrun -f clang++)
++build_darwin_AR: = $(shell xcrun -f ar)
++build_darwin_RANLIB: = $(shell xcrun -f ranlib)
++build_darwin_STRIP: = $(shell xcrun -f strip)
++build_darwin_OTOOL: = $(shell xcrun -f otool)
++build_darwin_NM: = $(shell xcrun -f nm)
++build_darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool)
++build_darwin_SHA256SUM = shasum -a 256
++build_darwin_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
++
++#darwin host on darwin builder. overrides darwin host preferences.
++darwin_CC=$(shell xcrun -f clang) -mmacosx-version-min=$(OSX_MIN_VERSION)
++darwin_CXX:=$(shell xcrun -f clang++) -mmacosx-version-min=$(OSX_MIN_VERSION) -stdlib=libc++
++darwin_AR:=$(shell xcrun -f ar)
++darwin_RANLIB:=$(shell xcrun -f ranlib)
++darwin_STRIP:=$(shell xcrun -f strip)
++darwin_LIBTOOL:=$(shell xcrun -f libtool)
++darwin_OTOOL:=$(shell xcrun -f otool)
++darwin_NM:=$(shell xcrun -f nm)
++darwin_INSTALL_NAME_TOOL:=$(shell xcrun -f install_name_tool)
++darwin_native_toolchain=
+diff --git a/contrib/depends/builders/default.mk b/contrib/depends/builders/default.mk
+new file mode 100644
+index 00000000..c4191435
+--- /dev/null
++++ b/contrib/depends/builders/default.mk
+@@ -0,0 +1,20 @@
++default_build_CC = gcc
++default_build_CXX = g++
++default_build_AR = ar
++default_build_RANLIB = ranlib
++default_build_STRIP = strip
++default_build_NM = nm
++default_build_OTOOL = otool
++default_build_INSTALL_NAME_TOOL = install_name_tool
++
++define add_build_tool_func
++build_$(build_os)_$1 ?= $$(default_build_$1)
++build_$(build_arch)_$(build_os)_$1 ?= $$(build_$(build_os)_$1)
++build_$1=$$(build_$(build_arch)_$(build_os)_$1)
++endef
++$(foreach var,CC CXX AR RANLIB NM STRIP SHA256SUM DOWNLOAD OTOOL INSTALL_NAME_TOOL,$(eval $(call add_build_tool_func,$(var))))
++define add_build_flags_func
++build_$(build_arch)_$(build_os)_$1 += $(build_$(build_os)_$1)
++build_$1=$$(build_$(build_arch)_$(build_os)_$1)
++endef
++$(foreach flags, CFLAGS CXXFLAGS ARFLAGS LDFLAGS, $(eval $(call add_build_flags_func,$(flags))))
+diff --git a/contrib/depends/builders/linux.mk b/contrib/depends/builders/linux.mk
+new file mode 100644
+index 00000000..b03f4240
+--- /dev/null
++++ b/contrib/depends/builders/linux.mk
+@@ -0,0 +1,2 @@
++build_linux_SHA256SUM = sha256sum
++build_linux_DOWNLOAD = curl --location --fail --connect-timeout $(DOWNLOAD_CONNECT_TIMEOUT) --retry $(DOWNLOAD_RETRIES) -o
+diff --git a/contrib/depends/config.guess b/contrib/depends/config.guess
+new file mode 100755
+index 00000000..69ed3e57
+--- /dev/null
++++ b/contrib/depends/config.guess
+@@ -0,0 +1,1466 @@
++#! /bin/sh
++# Attempt to guess a canonical system name.
++# Copyright 1992-2017 Free Software Foundation, Inc.
++
++timestamp='2017-03-05'
++
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program 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
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that
++# program. This Exception is an additional permission under section 7
++# of the GNU General Public License, version 3 ("GPLv3").
++#
++# Originally written by Per Bothner; maintained since 2000 by Ben Elliston.
++#
++# You can get the latest version of this script from:
++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
++#
++# Please send patches to <config-patches@gnu.org>.
++
++
++me=`echo "$0" | sed -e 's,.*/,,'`
++
++usage="\
++Usage: $0 [OPTION]
++
++Output the configuration name of the system \`$me' is run on.
++
++Operation modes:
++ -h, --help print this help, then exit
++ -t, --time-stamp print date of last modification, then exit
++ -v, --version print version number, then exit
++
++Report bugs and patches to <config-patches@gnu.org>."
++
++version="\
++GNU config.guess ($timestamp)
++
++Originally written by Per Bothner.
++Copyright 1992-2017 Free Software Foundation, Inc.
++
++This is free software; see the source for copying conditions. There is NO
++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
++
++help="
++Try \`$me --help' for more information."
++
++# Parse command line
++while test $# -gt 0 ; do
++ case $1 in
++ --time-stamp | --time* | -t )
++ echo "$timestamp" ; exit ;;
++ --version | -v )
++ echo "$version" ; exit ;;
++ --help | --h* | -h )
++ echo "$usage"; exit ;;
++ -- ) # Stop option processing
++ shift; break ;;
++ - ) # Use stdin as input.
++ break ;;
++ -* )
++ echo "$me: invalid option $1$help" >&2
++ exit 1 ;;
++ * )
++ break ;;
++ esac
++done
++
++if test $# != 0; then
++ echo "$me: too many arguments$help" >&2
++ exit 1
++fi
++
++trap 'exit 1' 1 2 15
++
++# CC_FOR_BUILD -- compiler used by this script. Note that the use of a
++# compiler to aid in system detection is discouraged as it requires
++# temporary files to be created and, as you can see below, it is a
++# headache to deal with in a portable fashion.
++
++# Historically, `CC_FOR_BUILD' used to be named `HOST_CC'. We still
++# use `HOST_CC' if defined, but it is deprecated.
++
++# Portable tmp directory creation inspired by the Autoconf team.
++
++set_cc_for_build='
++trap "exitcode=\$?; (rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null) && exit \$exitcode" 0 ;
++trap "rm -f \$tmpfiles 2>/dev/null; rmdir \$tmp 2>/dev/null; exit 1" 1 2 13 15 ;
++: ${TMPDIR=/tmp} ;
++ { tmp=`(umask 077 && mktemp -d "$TMPDIR/cgXXXXXX") 2>/dev/null` && test -n "$tmp" && test -d "$tmp" ; } ||
++ { test -n "$RANDOM" && tmp=$TMPDIR/cg$$-$RANDOM && (umask 077 && mkdir $tmp) ; } ||
++ { tmp=$TMPDIR/cg-$$ && (umask 077 && mkdir $tmp) && echo "Warning: creating insecure temp directory" >&2 ; } ||
++ { echo "$me: cannot create a temporary directory in $TMPDIR" >&2 ; exit 1 ; } ;
++dummy=$tmp/dummy ;
++tmpfiles="$dummy.c $dummy.o $dummy.rel $dummy" ;
++case $CC_FOR_BUILD,$HOST_CC,$CC in
++ ,,) echo "int x;" > $dummy.c ;
++ for c in cc gcc c89 c99 ; do
++ if ($c -c -o $dummy.o $dummy.c) >/dev/null 2>&1 ; then
++ CC_FOR_BUILD="$c"; break ;
++ fi ;
++ done ;
++ if test x"$CC_FOR_BUILD" = x ; then
++ CC_FOR_BUILD=no_compiler_found ;
++ fi
++ ;;
++ ,,*) CC_FOR_BUILD=$CC ;;
++ ,*,*) CC_FOR_BUILD=$HOST_CC ;;
++esac ; set_cc_for_build= ;'
++
++# This is needed to find uname on a Pyramid OSx when run in the BSD universe.
++# (ghazi@noc.rutgers.edu 1994-08-24)
++if (test -f /.attbin/uname) >/dev/null 2>&1 ; then
++ PATH=$PATH:/.attbin ; export PATH
++fi
++
++UNAME_MACHINE=`(uname -m) 2>/dev/null` || UNAME_MACHINE=unknown
++UNAME_RELEASE=`(uname -r) 2>/dev/null` || UNAME_RELEASE=unknown
++UNAME_SYSTEM=`(uname -s) 2>/dev/null` || UNAME_SYSTEM=unknown
++UNAME_VERSION=`(uname -v) 2>/dev/null` || UNAME_VERSION=unknown
++
++case "${UNAME_SYSTEM}" in
++Linux|GNU|GNU/*)
++ # If the system lacks a compiler, then just pick glibc.
++ # We could probably try harder.
++ LIBC=gnu
++
++ eval $set_cc_for_build
++ cat <<-EOF > $dummy.c
++ #include <features.h>
++ #if defined(__UCLIBC__)
++ LIBC=uclibc
++ #elif defined(__dietlibc__)
++ LIBC=dietlibc
++ #else
++ LIBC=gnu
++ #endif
++ EOF
++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^LIBC' | sed 's, ,,g'`
++ ;;
++esac
++
++# Note: order is significant - the case branches are not exclusive.
++
++case "${UNAME_MACHINE}:${UNAME_SYSTEM}:${UNAME_RELEASE}:${UNAME_VERSION}" in
++ *:NetBSD:*:*)
++ # NetBSD (nbsd) targets should (where applicable) match one or
++ # more of the tuples: *-*-netbsdelf*, *-*-netbsdaout*,
++ # *-*-netbsdecoff* and *-*-netbsd*. For targets that recently
++ # switched to ELF, *-*-netbsd* would select the old
++ # object file format. This provides both forward
++ # compatibility and a consistent mechanism for selecting the
++ # object file format.
++ #
++ # Note: NetBSD doesn't particularly care about the vendor
++ # portion of the name. We always set it to "unknown".
++ sysctl="sysctl -n hw.machine_arch"
++ UNAME_MACHINE_ARCH=`(uname -p 2>/dev/null || \
++ /sbin/$sysctl 2>/dev/null || \
++ /usr/sbin/$sysctl 2>/dev/null || \
++ echo unknown)`
++ case "${UNAME_MACHINE_ARCH}" in
++ armeb) machine=armeb-unknown ;;
++ arm*) machine=arm-unknown ;;
++ sh3el) machine=shl-unknown ;;
++ sh3eb) machine=sh-unknown ;;
++ sh5el) machine=sh5le-unknown ;;
++ earmv*)
++ arch=`echo ${UNAME_MACHINE_ARCH} | sed -e 's,^e\(armv[0-9]\).*$,\1,'`
++ endian=`echo ${UNAME_MACHINE_ARCH} | sed -ne 's,^.*\(eb\)$,\1,p'`
++ machine=${arch}${endian}-unknown
++ ;;
++ *) machine=${UNAME_MACHINE_ARCH}-unknown ;;
++ esac
++ # The Operating System including object format, if it has switched
++ # to ELF recently (or will in the future) and ABI.
++ case "${UNAME_MACHINE_ARCH}" in
++ earm*)
++ os=netbsdelf
++ ;;
++ arm*|i386|m68k|ns32k|sh3*|sparc|vax)
++ eval $set_cc_for_build
++ if echo __ELF__ | $CC_FOR_BUILD -E - 2>/dev/null \
++ | grep -q __ELF__
++ then
++ # Once all utilities can be ECOFF (netbsdecoff) or a.out (netbsdaout).
++ # Return netbsd for either. FIX?
++ os=netbsd
++ else
++ os=netbsdelf
++ fi
++ ;;
++ *)
++ os=netbsd
++ ;;
++ esac
++ # Determine ABI tags.
++ case "${UNAME_MACHINE_ARCH}" in
++ earm*)
++ expr='s/^earmv[0-9]/-eabi/;s/eb$//'
++ abi=`echo ${UNAME_MACHINE_ARCH} | sed -e "$expr"`
++ ;;
++ esac
++ # The OS release
++ # Debian GNU/NetBSD machines have a different userland, and
++ # thus, need a distinct triplet. However, they do not need
++ # kernel version information, so it can be replaced with a
++ # suitable tag, in the style of linux-gnu.
++ case "${UNAME_VERSION}" in
++ Debian*)
++ release='-gnu'
++ ;;
++ *)
++ release=`echo ${UNAME_RELEASE} | sed -e 's/[-_].*//' | cut -d. -f1,2`
++ ;;
++ esac
++ # Since CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM:
++ # contains redundant information, the shorter form:
++ # CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM is used.
++ echo "${machine}-${os}${release}${abi}"
++ exit ;;
++ *:Bitrig:*:*)
++ UNAME_MACHINE_ARCH=`arch | sed 's/Bitrig.//'`
++ echo ${UNAME_MACHINE_ARCH}-unknown-bitrig${UNAME_RELEASE}
++ exit ;;
++ *:OpenBSD:*:*)
++ UNAME_MACHINE_ARCH=`arch | sed 's/OpenBSD.//'`
++ echo ${UNAME_MACHINE_ARCH}-unknown-openbsd${UNAME_RELEASE}
++ exit ;;
++ *:LibertyBSD:*:*)
++ UNAME_MACHINE_ARCH=`arch | sed 's/^.*BSD\.//'`
++ echo ${UNAME_MACHINE_ARCH}-unknown-libertybsd${UNAME_RELEASE}
++ exit ;;
++ *:ekkoBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-ekkobsd${UNAME_RELEASE}
++ exit ;;
++ *:SolidBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-solidbsd${UNAME_RELEASE}
++ exit ;;
++ macppc:MirBSD:*:*)
++ echo powerpc-unknown-mirbsd${UNAME_RELEASE}
++ exit ;;
++ *:MirBSD:*:*)
++ echo ${UNAME_MACHINE}-unknown-mirbsd${UNAME_RELEASE}
++ exit ;;
++ *:Sortix:*:*)
++ echo ${UNAME_MACHINE}-unknown-sortix
++ exit ;;
++ alpha:OSF1:*:*)
++ case $UNAME_RELEASE in
++ *4.0)
++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $3}'`
++ ;;
++ *5.*)
++ UNAME_RELEASE=`/usr/sbin/sizer -v | awk '{print $4}'`
++ ;;
++ esac
++ # According to Compaq, /usr/sbin/psrinfo has been available on
++ # OSF/1 and Tru64 systems produced since 1995. I hope that
++ # covers most systems running today. This code pipes the CPU
++ # types through head -n 1, so we only detect the type of CPU 0.
++ ALPHA_CPU_TYPE=`/usr/sbin/psrinfo -v | sed -n -e 's/^ The alpha \(.*\) processor.*$/\1/p' | head -n 1`
++ case "$ALPHA_CPU_TYPE" in
++ "EV4 (21064)")
++ UNAME_MACHINE=alpha ;;
++ "EV4.5 (21064)")
++ UNAME_MACHINE=alpha ;;
++ "LCA4 (21066/21068)")
++ UNAME_MACHINE=alpha ;;
++ "EV5 (21164)")
++ UNAME_MACHINE=alphaev5 ;;
++ "EV5.6 (21164A)")
++ UNAME_MACHINE=alphaev56 ;;
++ "EV5.6 (21164PC)")
++ UNAME_MACHINE=alphapca56 ;;
++ "EV5.7 (21164PC)")
++ UNAME_MACHINE=alphapca57 ;;
++ "EV6 (21264)")
++ UNAME_MACHINE=alphaev6 ;;
++ "EV6.7 (21264A)")
++ UNAME_MACHINE=alphaev67 ;;
++ "EV6.8CB (21264C)")
++ UNAME_MACHINE=alphaev68 ;;
++ "EV6.8AL (21264B)")
++ UNAME_MACHINE=alphaev68 ;;
++ "EV6.8CX (21264D)")
++ UNAME_MACHINE=alphaev68 ;;
++ "EV6.9A (21264/EV69A)")
++ UNAME_MACHINE=alphaev69 ;;
++ "EV7 (21364)")
++ UNAME_MACHINE=alphaev7 ;;
++ "EV7.9 (21364A)")
++ UNAME_MACHINE=alphaev79 ;;
++ esac
++ # A Pn.n version is a patched version.
++ # A Vn.n version is a released version.
++ # A Tn.n version is a released field test version.
++ # A Xn.n version is an unreleased experimental baselevel.
++ # 1.2 uses "1.2" for uname -r.
++ echo ${UNAME_MACHINE}-dec-osf`echo ${UNAME_RELEASE} | sed -e 's/^[PVTX]//' | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
++ # Reset EXIT trap before exiting to avoid spurious non-zero exit code.
++ exitcode=$?
++ trap '' 0
++ exit $exitcode ;;
++ Alpha\ *:Windows_NT*:*)
++ # How do we know it's Interix rather than the generic POSIX subsystem?
++ # Should we change UNAME_MACHINE based on the output of uname instead
++ # of the specific Alpha model?
++ echo alpha-pc-interix
++ exit ;;
++ 21064:Windows_NT:50:3)
++ echo alpha-dec-winnt3.5
++ exit ;;
++ Amiga*:UNIX_System_V:4.0:*)
++ echo m68k-unknown-sysv4
++ exit ;;
++ *:[Aa]miga[Oo][Ss]:*:*)
++ echo ${UNAME_MACHINE}-unknown-amigaos
++ exit ;;
++ *:[Mm]orph[Oo][Ss]:*:*)
++ echo ${UNAME_MACHINE}-unknown-morphos
++ exit ;;
++ *:OS/390:*:*)
++ echo i370-ibm-openedition
++ exit ;;
++ *:z/VM:*:*)
++ echo s390-ibm-zvmoe
++ exit ;;
++ *:OS400:*:*)
++ echo powerpc-ibm-os400
++ exit ;;
++ arm:RISC*:1.[012]*:*|arm:riscix:1.[012]*:*)
++ echo arm-acorn-riscix${UNAME_RELEASE}
++ exit ;;
++ arm*:riscos:*:*|arm*:RISCOS:*:*)
++ echo arm-unknown-riscos
++ exit ;;
++ SR2?01:HI-UX/MPP:*:* | SR8000:HI-UX/MPP:*:*)
++ echo hppa1.1-hitachi-hiuxmpp
++ exit ;;
++ Pyramid*:OSx*:*:* | MIS*:OSx*:*:* | MIS*:SMP_DC-OSx*:*:*)
++ # akee@wpdis03.wpafb.af.mil (Earle F. Ake) contributed MIS and NILE.
++ if test "`(/bin/universe) 2>/dev/null`" = att ; then
++ echo pyramid-pyramid-sysv3
++ else
++ echo pyramid-pyramid-bsd
++ fi
++ exit ;;
++ NILE*:*:*:dcosx)
++ echo pyramid-pyramid-svr4
++ exit ;;
++ DRS?6000:unix:4.0:6*)
++ echo sparc-icl-nx6
++ exit ;;
++ DRS?6000:UNIX_SV:4.2*:7* | DRS?6000:isis:4.2*:7*)
++ case `/usr/bin/uname -p` in
++ sparc) echo sparc-icl-nx7; exit ;;
++ esac ;;
++ s390x:SunOS:*:*)
++ echo ${UNAME_MACHINE}-ibm-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
++ sun4H:SunOS:5.*:*)
++ echo sparc-hal-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
++ sun4*:SunOS:5.*:* | tadpole*:SunOS:5.*:*)
++ echo sparc-sun-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
++ i86pc:AuroraUX:5.*:* | i86xen:AuroraUX:5.*:*)
++ echo i386-pc-auroraux${UNAME_RELEASE}
++ exit ;;
++ i86pc:SunOS:5.*:* | i86xen:SunOS:5.*:*)
++ eval $set_cc_for_build
++ SUN_ARCH=i386
++ # If there is a compiler, see if it is configured for 64-bit objects.
++ # Note that the Sun cc does not turn __LP64__ into 1 like gcc does.
++ # This test works for both compilers.
++ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
++ if (echo '#ifdef __amd64'; echo IS_64BIT_ARCH; echo '#endif') | \
++ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
++ grep IS_64BIT_ARCH >/dev/null
++ then
++ SUN_ARCH=x86_64
++ fi
++ fi
++ echo ${SUN_ARCH}-pc-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
++ sun4*:SunOS:6*:*)
++ # According to config.sub, this is the proper way to canonicalize
++ # SunOS6. Hard to guess exactly what SunOS6 will be like, but
++ # it's likely to be more like Solaris than SunOS4.
++ echo sparc-sun-solaris3`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
++ sun4*:SunOS:*:*)
++ case "`/usr/bin/arch -k`" in
++ Series*|S4*)
++ UNAME_RELEASE=`uname -v`
++ ;;
++ esac
++ # Japanese Language versions have a version number like `4.1.3-JL'.
++ echo sparc-sun-sunos`echo ${UNAME_RELEASE}|sed -e 's/-/_/'`
++ exit ;;
++ sun3*:SunOS:*:*)
++ echo m68k-sun-sunos${UNAME_RELEASE}
++ exit ;;
++ sun*:*:4.2BSD:*)
++ UNAME_RELEASE=`(sed 1q /etc/motd | awk '{print substr($5,1,3)}') 2>/dev/null`
++ test "x${UNAME_RELEASE}" = x && UNAME_RELEASE=3
++ case "`/bin/arch`" in
++ sun3)
++ echo m68k-sun-sunos${UNAME_RELEASE}
++ ;;
++ sun4)
++ echo sparc-sun-sunos${UNAME_RELEASE}
++ ;;
++ esac
++ exit ;;
++ aushp:SunOS:*:*)
++ echo sparc-auspex-sunos${UNAME_RELEASE}
++ exit ;;
++ # The situation for MiNT is a little confusing. The machine name
++ # can be virtually everything (everything which is not
++ # "atarist" or "atariste" at least should have a processor
++ # > m68000). The system name ranges from "MiNT" over "FreeMiNT"
++ # to the lowercase version "mint" (or "freemint"). Finally
++ # the system name "TOS" denotes a system which is actually not
++ # MiNT. But MiNT is downward compatible to TOS, so this should
++ # be no problem.
++ atarist[e]:*MiNT:*:* | atarist[e]:*mint:*:* | atarist[e]:*TOS:*:*)
++ echo m68k-atari-mint${UNAME_RELEASE}
++ exit ;;
++ atari*:*MiNT:*:* | atari*:*mint:*:* | atarist[e]:*TOS:*:*)
++ echo m68k-atari-mint${UNAME_RELEASE}
++ exit ;;
++ *falcon*:*MiNT:*:* | *falcon*:*mint:*:* | *falcon*:*TOS:*:*)
++ echo m68k-atari-mint${UNAME_RELEASE}
++ exit ;;
++ milan*:*MiNT:*:* | milan*:*mint:*:* | *milan*:*TOS:*:*)
++ echo m68k-milan-mint${UNAME_RELEASE}
++ exit ;;
++ hades*:*MiNT:*:* | hades*:*mint:*:* | *hades*:*TOS:*:*)
++ echo m68k-hades-mint${UNAME_RELEASE}
++ exit ;;
++ *:*MiNT:*:* | *:*mint:*:* | *:*TOS:*:*)
++ echo m68k-unknown-mint${UNAME_RELEASE}
++ exit ;;
++ m68k:machten:*:*)
++ echo m68k-apple-machten${UNAME_RELEASE}
++ exit ;;
++ powerpc:machten:*:*)
++ echo powerpc-apple-machten${UNAME_RELEASE}
++ exit ;;
++ RISC*:Mach:*:*)
++ echo mips-dec-mach_bsd4.3
++ exit ;;
++ RISC*:ULTRIX:*:*)
++ echo mips-dec-ultrix${UNAME_RELEASE}
++ exit ;;
++ VAX*:ULTRIX*:*:*)
++ echo vax-dec-ultrix${UNAME_RELEASE}
++ exit ;;
++ 2020:CLIX:*:* | 2430:CLIX:*:*)
++ echo clipper-intergraph-clix${UNAME_RELEASE}
++ exit ;;
++ mips:*:*:UMIPS | mips:*:*:RISCos)
++ eval $set_cc_for_build
++ sed 's/^ //' << EOF >$dummy.c
++#ifdef __cplusplus
++#include <stdio.h> /* for printf() prototype */
++ int main (int argc, char *argv[]) {
++#else
++ int main (argc, argv) int argc; char *argv[]; {
++#endif
++ #if defined (host_mips) && defined (MIPSEB)
++ #if defined (SYSTYPE_SYSV)
++ printf ("mips-mips-riscos%ssysv\n", argv[1]); exit (0);
++ #endif
++ #if defined (SYSTYPE_SVR4)
++ printf ("mips-mips-riscos%ssvr4\n", argv[1]); exit (0);
++ #endif
++ #if defined (SYSTYPE_BSD43) || defined(SYSTYPE_BSD)
++ printf ("mips-mips-riscos%sbsd\n", argv[1]); exit (0);
++ #endif
++ #endif
++ exit (-1);
++ }
++EOF
++ $CC_FOR_BUILD -o $dummy $dummy.c &&
++ dummyarg=`echo "${UNAME_RELEASE}" | sed -n 's/\([0-9]*\).*/\1/p'` &&
++ SYSTEM_NAME=`$dummy $dummyarg` &&
++ { echo "$SYSTEM_NAME"; exit; }
++ echo mips-mips-riscos${UNAME_RELEASE}
++ exit ;;
++ Motorola:PowerMAX_OS:*:*)
++ echo powerpc-motorola-powermax
++ exit ;;
++ Motorola:*:4.3:PL8-*)
++ echo powerpc-harris-powermax
++ exit ;;
++ Night_Hawk:*:*:PowerMAX_OS | Synergy:PowerMAX_OS:*:*)
++ echo powerpc-harris-powermax
++ exit ;;
++ Night_Hawk:Power_UNIX:*:*)
++ echo powerpc-harris-powerunix
++ exit ;;
++ m88k:CX/UX:7*:*)
++ echo m88k-harris-cxux7
++ exit ;;
++ m88k:*:4*:R4*)
++ echo m88k-motorola-sysv4
++ exit ;;
++ m88k:*:3*:R3*)
++ echo m88k-motorola-sysv3
++ exit ;;
++ AViiON:dgux:*:*)
++ # DG/UX returns AViiON for all architectures
++ UNAME_PROCESSOR=`/usr/bin/uname -p`
++ if [ $UNAME_PROCESSOR = mc88100 ] || [ $UNAME_PROCESSOR = mc88110 ]
++ then
++ if [ ${TARGET_BINARY_INTERFACE}x = m88kdguxelfx ] || \
++ [ ${TARGET_BINARY_INTERFACE}x = x ]
++ then
++ echo m88k-dg-dgux${UNAME_RELEASE}
++ else
++ echo m88k-dg-dguxbcs${UNAME_RELEASE}
++ fi
++ else
++ echo i586-dg-dgux${UNAME_RELEASE}
++ fi
++ exit ;;
++ M88*:DolphinOS:*:*) # DolphinOS (SVR3)
++ echo m88k-dolphin-sysv3
++ exit ;;
++ M88*:*:R3*:*)
++ # Delta 88k system running SVR3
++ echo m88k-motorola-sysv3
++ exit ;;
++ XD88*:*:*:*) # Tektronix XD88 system running UTekV (SVR3)
++ echo m88k-tektronix-sysv3
++ exit ;;
++ Tek43[0-9][0-9]:UTek:*:*) # Tektronix 4300 system running UTek (BSD)
++ echo m68k-tektronix-bsd
++ exit ;;
++ *:IRIX*:*:*)
++ echo mips-sgi-irix`echo ${UNAME_RELEASE}|sed -e 's/-/_/g'`
++ exit ;;
++ ????????:AIX?:[12].1:2) # AIX 2.2.1 or AIX 2.1.1 is RT/PC AIX.
++ echo romp-ibm-aix # uname -m gives an 8 hex-code CPU id
++ exit ;; # Note that: echo "'`uname -s`'" gives 'AIX '
++ i*86:AIX:*:*)
++ echo i386-ibm-aix
++ exit ;;
++ ia64:AIX:*:*)
++ if [ -x /usr/bin/oslevel ] ; then
++ IBM_REV=`/usr/bin/oslevel`
++ else
++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
++ fi
++ echo ${UNAME_MACHINE}-ibm-aix${IBM_REV}
++ exit ;;
++ *:AIX:2:3)
++ if grep bos325 /usr/include/stdio.h >/dev/null 2>&1; then
++ eval $set_cc_for_build
++ sed 's/^ //' << EOF >$dummy.c
++ #include <sys/systemcfg.h>
++
++ main()
++ {
++ if (!__power_pc())
++ exit(1);
++ puts("powerpc-ibm-aix3.2.5");
++ exit(0);
++ }
++EOF
++ if $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy`
++ then
++ echo "$SYSTEM_NAME"
++ else
++ echo rs6000-ibm-aix3.2.5
++ fi
++ elif grep bos324 /usr/include/stdio.h >/dev/null 2>&1; then
++ echo rs6000-ibm-aix3.2.4
++ else
++ echo rs6000-ibm-aix3.2
++ fi
++ exit ;;
++ *:AIX:*:[4567])
++ IBM_CPU_ID=`/usr/sbin/lsdev -C -c processor -S available | sed 1q | awk '{ print $1 }'`
++ if /usr/sbin/lsattr -El ${IBM_CPU_ID} | grep ' POWER' >/dev/null 2>&1; then
++ IBM_ARCH=rs6000
++ else
++ IBM_ARCH=powerpc
++ fi
++ if [ -x /usr/bin/lslpp ] ; then
++ IBM_REV=`/usr/bin/lslpp -Lqc bos.rte.libc |
++ awk -F: '{ print $3 }' | sed s/[0-9]*$/0/`
++ else
++ IBM_REV=${UNAME_VERSION}.${UNAME_RELEASE}
++ fi
++ echo ${IBM_ARCH}-ibm-aix${IBM_REV}
++ exit ;;
++ *:AIX:*:*)
++ echo rs6000-ibm-aix
++ exit ;;
++ ibmrt:4.4BSD:*|romp-ibm:BSD:*)
++ echo romp-ibm-bsd4.4
++ exit ;;
++ ibmrt:*BSD:*|romp-ibm:BSD:*) # covers RT/PC BSD and
++ echo romp-ibm-bsd${UNAME_RELEASE} # 4.3 with uname added to
++ exit ;; # report: romp-ibm BSD 4.3
++ *:BOSX:*:*)
++ echo rs6000-bull-bosx
++ exit ;;
++ DPX/2?00:B.O.S.:*:*)
++ echo m68k-bull-sysv3
++ exit ;;
++ 9000/[34]??:4.3bsd:1.*:*)
++ echo m68k-hp-bsd
++ exit ;;
++ hp300:4.4BSD:*:* | 9000/[34]??:4.3bsd:2.*:*)
++ echo m68k-hp-bsd4.4
++ exit ;;
++ 9000/[34678]??:HP-UX:*:*)
++ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
++ case "${UNAME_MACHINE}" in
++ 9000/31? ) HP_ARCH=m68000 ;;
++ 9000/[34]?? ) HP_ARCH=m68k ;;
++ 9000/[678][0-9][0-9])
++ if [ -x /usr/bin/getconf ]; then
++ sc_cpu_version=`/usr/bin/getconf SC_CPU_VERSION 2>/dev/null`
++ sc_kernel_bits=`/usr/bin/getconf SC_KERNEL_BITS 2>/dev/null`
++ case "${sc_cpu_version}" in
++ 523) HP_ARCH=hppa1.0 ;; # CPU_PA_RISC1_0
++ 528) HP_ARCH=hppa1.1 ;; # CPU_PA_RISC1_1
++ 532) # CPU_PA_RISC2_0
++ case "${sc_kernel_bits}" in
++ 32) HP_ARCH=hppa2.0n ;;
++ 64) HP_ARCH=hppa2.0w ;;
++ '') HP_ARCH=hppa2.0 ;; # HP-UX 10.20
++ esac ;;
++ esac
++ fi
++ if [ "${HP_ARCH}" = "" ]; then
++ eval $set_cc_for_build
++ sed 's/^ //' << EOF >$dummy.c
++
++ #define _HPUX_SOURCE
++ #include <stdlib.h>
++ #include <unistd.h>
++
++ int main ()
++ {
++ #if defined(_SC_KERNEL_BITS)
++ long bits = sysconf(_SC_KERNEL_BITS);
++ #endif
++ long cpu = sysconf (_SC_CPU_VERSION);
++
++ switch (cpu)
++ {
++ case CPU_PA_RISC1_0: puts ("hppa1.0"); break;
++ case CPU_PA_RISC1_1: puts ("hppa1.1"); break;
++ case CPU_PA_RISC2_0:
++ #if defined(_SC_KERNEL_BITS)
++ switch (bits)
++ {
++ case 64: puts ("hppa2.0w"); break;
++ case 32: puts ("hppa2.0n"); break;
++ default: puts ("hppa2.0"); break;
++ } break;
++ #else /* !defined(_SC_KERNEL_BITS) */
++ puts ("hppa2.0"); break;
++ #endif
++ default: puts ("hppa1.0"); break;
++ }
++ exit (0);
++ }
++EOF
++ (CCOPTS="" $CC_FOR_BUILD -o $dummy $dummy.c 2>/dev/null) && HP_ARCH=`$dummy`
++ test -z "$HP_ARCH" && HP_ARCH=hppa
++ fi ;;
++ esac
++ if [ ${HP_ARCH} = hppa2.0w ]
++ then
++ eval $set_cc_for_build
++
++ # hppa2.0w-hp-hpux* has a 64-bit kernel and a compiler generating
++ # 32-bit code. hppa64-hp-hpux* has the same kernel and a compiler
++ # generating 64-bit code. GNU and HP use different nomenclature:
++ #
++ # $ CC_FOR_BUILD=cc ./config.guess
++ # => hppa2.0w-hp-hpux11.23
++ # $ CC_FOR_BUILD="cc +DA2.0w" ./config.guess
++ # => hppa64-hp-hpux11.23
++
++ if echo __LP64__ | (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) |
++ grep -q __LP64__
++ then
++ HP_ARCH=hppa2.0w
++ else
++ HP_ARCH=hppa64
++ fi
++ fi
++ echo ${HP_ARCH}-hp-hpux${HPUX_REV}
++ exit ;;
++ ia64:HP-UX:*:*)
++ HPUX_REV=`echo ${UNAME_RELEASE}|sed -e 's/[^.]*.[0B]*//'`
++ echo ia64-hp-hpux${HPUX_REV}
++ exit ;;
++ 3050*:HI-UX:*:*)
++ eval $set_cc_for_build
++ sed 's/^ //' << EOF >$dummy.c
++ #include <unistd.h>
++ int
++ main ()
++ {
++ long cpu = sysconf (_SC_CPU_VERSION);
++ /* The order matters, because CPU_IS_HP_MC68K erroneously returns
++ true for CPU_PA_RISC1_0. CPU_IS_PA_RISC returns correct
++ results, however. */
++ if (CPU_IS_PA_RISC (cpu))
++ {
++ switch (cpu)
++ {
++ case CPU_PA_RISC1_0: puts ("hppa1.0-hitachi-hiuxwe2"); break;
++ case CPU_PA_RISC1_1: puts ("hppa1.1-hitachi-hiuxwe2"); break;
++ case CPU_PA_RISC2_0: puts ("hppa2.0-hitachi-hiuxwe2"); break;
++ default: puts ("hppa-hitachi-hiuxwe2"); break;
++ }
++ }
++ else if (CPU_IS_HP_MC68K (cpu))
++ puts ("m68k-hitachi-hiuxwe2");
++ else puts ("unknown-hitachi-hiuxwe2");
++ exit (0);
++ }
++EOF
++ $CC_FOR_BUILD -o $dummy $dummy.c && SYSTEM_NAME=`$dummy` &&
++ { echo "$SYSTEM_NAME"; exit; }
++ echo unknown-hitachi-hiuxwe2
++ exit ;;
++ 9000/7??:4.3bsd:*:* | 9000/8?[79]:4.3bsd:*:* )
++ echo hppa1.1-hp-bsd
++ exit ;;
++ 9000/8??:4.3bsd:*:*)
++ echo hppa1.0-hp-bsd
++ exit ;;
++ *9??*:MPE/iX:*:* | *3000*:MPE/iX:*:*)
++ echo hppa1.0-hp-mpeix
++ exit ;;
++ hp7??:OSF1:*:* | hp8?[79]:OSF1:*:* )
++ echo hppa1.1-hp-osf
++ exit ;;
++ hp8??:OSF1:*:*)
++ echo hppa1.0-hp-osf
++ exit ;;
++ i*86:OSF1:*:*)
++ if [ -x /usr/sbin/sysversion ] ; then
++ echo ${UNAME_MACHINE}-unknown-osf1mk
++ else
++ echo ${UNAME_MACHINE}-unknown-osf1
++ fi
++ exit ;;
++ parisc*:Lites*:*:*)
++ echo hppa1.1-hp-lites
++ exit ;;
++ C1*:ConvexOS:*:* | convex:ConvexOS:C1*:*)
++ echo c1-convex-bsd
++ exit ;;
++ C2*:ConvexOS:*:* | convex:ConvexOS:C2*:*)
++ if getsysinfo -f scalar_acc
++ then echo c32-convex-bsd
++ else echo c2-convex-bsd
++ fi
++ exit ;;
++ C34*:ConvexOS:*:* | convex:ConvexOS:C34*:*)
++ echo c34-convex-bsd
++ exit ;;
++ C38*:ConvexOS:*:* | convex:ConvexOS:C38*:*)
++ echo c38-convex-bsd
++ exit ;;
++ C4*:ConvexOS:*:* | convex:ConvexOS:C4*:*)
++ echo c4-convex-bsd
++ exit ;;
++ CRAY*Y-MP:*:*:*)
++ echo ymp-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit ;;
++ CRAY*[A-Z]90:*:*:*)
++ echo ${UNAME_MACHINE}-cray-unicos${UNAME_RELEASE} \
++ | sed -e 's/CRAY.*\([A-Z]90\)/\1/' \
++ -e y/ABCDEFGHIJKLMNOPQRSTUVWXYZ/abcdefghijklmnopqrstuvwxyz/ \
++ -e 's/\.[^.]*$/.X/'
++ exit ;;
++ CRAY*TS:*:*:*)
++ echo t90-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit ;;
++ CRAY*T3E:*:*:*)
++ echo alphaev5-cray-unicosmk${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit ;;
++ CRAY*SV1:*:*:*)
++ echo sv1-cray-unicos${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit ;;
++ *:UNICOS/mp:*:*)
++ echo craynv-cray-unicosmp${UNAME_RELEASE} | sed -e 's/\.[^.]*$/.X/'
++ exit ;;
++ F30[01]:UNIX_System_V:*:* | F700:UNIX_System_V:*:*)
++ FUJITSU_PROC=`uname -m | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz`
++ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
++ FUJITSU_REL=`echo ${UNAME_RELEASE} | sed -e 's/ /_/'`
++ echo "${FUJITSU_PROC}-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++ exit ;;
++ 5000:UNIX_System_V:4.*:*)
++ FUJITSU_SYS=`uname -p | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/\///'`
++ FUJITSU_REL=`echo ${UNAME_RELEASE} | tr ABCDEFGHIJKLMNOPQRSTUVWXYZ abcdefghijklmnopqrstuvwxyz | sed -e 's/ /_/'`
++ echo "sparc-fujitsu-${FUJITSU_SYS}${FUJITSU_REL}"
++ exit ;;
++ i*86:BSD/386:*:* | i*86:BSD/OS:*:* | *:Ascend\ Embedded/OS:*:*)
++ echo ${UNAME_MACHINE}-pc-bsdi${UNAME_RELEASE}
++ exit ;;
++ sparc*:BSD/OS:*:*)
++ echo sparc-unknown-bsdi${UNAME_RELEASE}
++ exit ;;
++ *:BSD/OS:*:*)
++ echo ${UNAME_MACHINE}-unknown-bsdi${UNAME_RELEASE}
++ exit ;;
++ *:FreeBSD:*:*)
++ UNAME_PROCESSOR=`/usr/bin/uname -p`
++ case ${UNAME_PROCESSOR} in
++ amd64)
++ UNAME_PROCESSOR=x86_64 ;;
++ i386)
++ UNAME_PROCESSOR=i586 ;;
++ esac
++ echo ${UNAME_PROCESSOR}-unknown-freebsd`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
++ exit ;;
++ i*:CYGWIN*:*)
++ echo ${UNAME_MACHINE}-pc-cygwin
++ exit ;;
++ *:MINGW64*:*)
++ echo ${UNAME_MACHINE}-pc-mingw64
++ exit ;;
++ *:MINGW*:*)
++ echo ${UNAME_MACHINE}-pc-mingw32
++ exit ;;
++ *:MSYS*:*)
++ echo ${UNAME_MACHINE}-pc-msys
++ exit ;;
++ i*:windows32*:*)
++ # uname -m includes "-pc" on this system.
++ echo ${UNAME_MACHINE}-mingw32
++ exit ;;
++ i*:PW*:*)
++ echo ${UNAME_MACHINE}-pc-pw32
++ exit ;;
++ *:Interix*:*)
++ case ${UNAME_MACHINE} in
++ x86)
++ echo i586-pc-interix${UNAME_RELEASE}
++ exit ;;
++ authenticamd | genuineintel | EM64T)
++ echo x86_64-unknown-interix${UNAME_RELEASE}
++ exit ;;
++ IA64)
++ echo ia64-unknown-interix${UNAME_RELEASE}
++ exit ;;
++ esac ;;
++ [345]86:Windows_95:* | [345]86:Windows_98:* | [345]86:Windows_NT:*)
++ echo i${UNAME_MACHINE}-pc-mks
++ exit ;;
++ 8664:Windows_NT:*)
++ echo x86_64-pc-mks
++ exit ;;
++ i*:Windows_NT*:* | Pentium*:Windows_NT*:*)
++ # How do we know it's Interix rather than the generic POSIX subsystem?
++ # It also conflicts with pre-2.0 versions of AT&T UWIN. Should we
++ # UNAME_MACHINE based on the output of uname instead of i386?
++ echo i586-pc-interix
++ exit ;;
++ i*:UWIN*:*)
++ echo ${UNAME_MACHINE}-pc-uwin
++ exit ;;
++ amd64:CYGWIN*:*:* | x86_64:CYGWIN*:*:*)
++ echo x86_64-unknown-cygwin
++ exit ;;
++ p*:CYGWIN*:*)
++ echo powerpcle-unknown-cygwin
++ exit ;;
++ prep*:SunOS:5.*:*)
++ echo powerpcle-unknown-solaris2`echo ${UNAME_RELEASE}|sed -e 's/[^.]*//'`
++ exit ;;
++ *:GNU:*:*)
++ # the GNU system
++ echo `echo ${UNAME_MACHINE}|sed -e 's,[-/].*$,,'`-unknown-${LIBC}`echo ${UNAME_RELEASE}|sed -e 's,/.*$,,'`
++ exit ;;
++ *:GNU/*:*:*)
++ # other systems with GNU libc and userland
++ echo ${UNAME_MACHINE}-unknown-`echo ${UNAME_SYSTEM} | sed 's,^[^/]*/,,' | tr "[:upper:]" "[:lower:]"``echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`-${LIBC}
++ exit ;;
++ i*86:Minix:*:*)
++ echo ${UNAME_MACHINE}-pc-minix
++ exit ;;
++ aarch64:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ aarch64_be:Linux:*:*)
++ UNAME_MACHINE=aarch64_be
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ alpha:Linux:*:*)
++ case `sed -n '/^cpu model/s/^.*: \(.*\)/\1/p' < /proc/cpuinfo` in
++ EV5) UNAME_MACHINE=alphaev5 ;;
++ EV56) UNAME_MACHINE=alphaev56 ;;
++ PCA56) UNAME_MACHINE=alphapca56 ;;
++ PCA57) UNAME_MACHINE=alphapca56 ;;
++ EV6) UNAME_MACHINE=alphaev6 ;;
++ EV67) UNAME_MACHINE=alphaev67 ;;
++ EV68*) UNAME_MACHINE=alphaev68 ;;
++ esac
++ objdump --private-headers /bin/sh | grep -q ld.so.1
++ if test "$?" = 0 ; then LIBC=gnulibc1 ; fi
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ arc:Linux:*:* | arceb:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ arm*:Linux:*:*)
++ eval $set_cc_for_build
++ if echo __ARM_EABI__ | $CC_FOR_BUILD -E - 2>/dev/null \
++ | grep -q __ARM_EABI__
++ then
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ else
++ if echo __ARM_PCS_VFP | $CC_FOR_BUILD -E - 2>/dev/null \
++ | grep -q __ARM_PCS_VFP
++ then
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabi
++ else
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}eabihf
++ fi
++ fi
++ exit ;;
++ avr32*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ cris:Linux:*:*)
++ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
++ exit ;;
++ crisv32:Linux:*:*)
++ echo ${UNAME_MACHINE}-axis-linux-${LIBC}
++ exit ;;
++ e2k:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ frv:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ hexagon:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ i*86:Linux:*:*)
++ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
++ exit ;;
++ ia64:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ k1om:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ m32r*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ m68*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ mips:Linux:*:* | mips64:Linux:*:*)
++ eval $set_cc_for_build
++ sed 's/^ //' << EOF >$dummy.c
++ #undef CPU
++ #undef ${UNAME_MACHINE}
++ #undef ${UNAME_MACHINE}el
++ #if defined(__MIPSEL__) || defined(__MIPSEL) || defined(_MIPSEL) || defined(MIPSEL)
++ CPU=${UNAME_MACHINE}el
++ #else
++ #if defined(__MIPSEB__) || defined(__MIPSEB) || defined(_MIPSEB) || defined(MIPSEB)
++ CPU=${UNAME_MACHINE}
++ #else
++ CPU=
++ #endif
++ #endif
++EOF
++ eval `$CC_FOR_BUILD -E $dummy.c 2>/dev/null | grep '^CPU'`
++ test x"${CPU}" != x && { echo "${CPU}-unknown-linux-${LIBC}"; exit; }
++ ;;
++ mips64el:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ openrisc*:Linux:*:*)
++ echo or1k-unknown-linux-${LIBC}
++ exit ;;
++ or32:Linux:*:* | or1k*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ padre:Linux:*:*)
++ echo sparc-unknown-linux-${LIBC}
++ exit ;;
++ parisc64:Linux:*:* | hppa64:Linux:*:*)
++ echo hppa64-unknown-linux-${LIBC}
++ exit ;;
++ parisc:Linux:*:* | hppa:Linux:*:*)
++ # Look for CPU level
++ case `grep '^cpu[^a-z]*:' /proc/cpuinfo 2>/dev/null | cut -d' ' -f2` in
++ PA7*) echo hppa1.1-unknown-linux-${LIBC} ;;
++ PA8*) echo hppa2.0-unknown-linux-${LIBC} ;;
++ *) echo hppa-unknown-linux-${LIBC} ;;
++ esac
++ exit ;;
++ ppc64:Linux:*:*)
++ echo powerpc64-unknown-linux-${LIBC}
++ exit ;;
++ ppc:Linux:*:*)
++ echo powerpc-unknown-linux-${LIBC}
++ exit ;;
++ ppc64le:Linux:*:*)
++ echo powerpc64le-unknown-linux-${LIBC}
++ exit ;;
++ ppcle:Linux:*:*)
++ echo powerpcle-unknown-linux-${LIBC}
++ exit ;;
++ riscv32:Linux:*:* | riscv64:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ s390:Linux:*:* | s390x:Linux:*:*)
++ echo ${UNAME_MACHINE}-ibm-linux-${LIBC}
++ exit ;;
++ sh64*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ sh*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ sparc:Linux:*:* | sparc64:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ tile*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ vax:Linux:*:*)
++ echo ${UNAME_MACHINE}-dec-linux-${LIBC}
++ exit ;;
++ x86_64:Linux:*:*)
++ echo ${UNAME_MACHINE}-pc-linux-${LIBC}
++ exit ;;
++ xtensa*:Linux:*:*)
++ echo ${UNAME_MACHINE}-unknown-linux-${LIBC}
++ exit ;;
++ i*86:DYNIX/ptx:4*:*)
++ # ptx 4.0 does uname -s correctly, with DYNIX/ptx in there.
++ # earlier versions are messed up and put the nodename in both
++ # sysname and nodename.
++ echo i386-sequent-sysv4
++ exit ;;
++ i*86:UNIX_SV:4.2MP:2.*)
++ # Unixware is an offshoot of SVR4, but it has its own version
++ # number series starting with 2...
++ # I am not positive that other SVR4 systems won't match this,
++ # I just have to hope. -- rms.
++ # Use sysv4.2uw... so that sysv4* matches it.
++ echo ${UNAME_MACHINE}-pc-sysv4.2uw${UNAME_VERSION}
++ exit ;;
++ i*86:OS/2:*:*)
++ # If we were able to find `uname', then EMX Unix compatibility
++ # is probably installed.
++ echo ${UNAME_MACHINE}-pc-os2-emx
++ exit ;;
++ i*86:XTS-300:*:STOP)
++ echo ${UNAME_MACHINE}-unknown-stop
++ exit ;;
++ i*86:atheos:*:*)
++ echo ${UNAME_MACHINE}-unknown-atheos
++ exit ;;
++ i*86:syllable:*:*)
++ echo ${UNAME_MACHINE}-pc-syllable
++ exit ;;
++ i*86:LynxOS:2.*:* | i*86:LynxOS:3.[01]*:* | i*86:LynxOS:4.[02]*:*)
++ echo i386-unknown-lynxos${UNAME_RELEASE}
++ exit ;;
++ i*86:*DOS:*:*)
++ echo ${UNAME_MACHINE}-pc-msdosdjgpp
++ exit ;;
++ i*86:*:4.*:* | i*86:SYSTEM_V:4.*:*)
++ UNAME_REL=`echo ${UNAME_RELEASE} | sed 's/\/MP$//'`
++ if grep Novell /usr/include/link.h >/dev/null 2>/dev/null; then
++ echo ${UNAME_MACHINE}-univel-sysv${UNAME_REL}
++ else
++ echo ${UNAME_MACHINE}-pc-sysv${UNAME_REL}
++ fi
++ exit ;;
++ i*86:*:5:[678]*)
++ # UnixWare 7.x, OpenUNIX and OpenServer 6.
++ case `/bin/uname -X | grep "^Machine"` in
++ *486*) UNAME_MACHINE=i486 ;;
++ *Pentium) UNAME_MACHINE=i586 ;;
++ *Pent*|*Celeron) UNAME_MACHINE=i686 ;;
++ esac
++ echo ${UNAME_MACHINE}-unknown-sysv${UNAME_RELEASE}${UNAME_SYSTEM}${UNAME_VERSION}
++ exit ;;
++ i*86:*:3.2:*)
++ if test -f /usr/options/cb.name; then
++ UNAME_REL=`sed -n 's/.*Version //p' </usr/options/cb.name`
++ echo ${UNAME_MACHINE}-pc-isc$UNAME_REL
++ elif /bin/uname -X 2>/dev/null >/dev/null ; then
++ UNAME_REL=`(/bin/uname -X|grep Release|sed -e 's/.*= //')`
++ (/bin/uname -X|grep i80486 >/dev/null) && UNAME_MACHINE=i486
++ (/bin/uname -X|grep '^Machine.*Pentium' >/dev/null) \
++ && UNAME_MACHINE=i586
++ (/bin/uname -X|grep '^Machine.*Pent *II' >/dev/null) \
++ && UNAME_MACHINE=i686
++ (/bin/uname -X|grep '^Machine.*Pentium Pro' >/dev/null) \
++ && UNAME_MACHINE=i686
++ echo ${UNAME_MACHINE}-pc-sco$UNAME_REL
++ else
++ echo ${UNAME_MACHINE}-pc-sysv32
++ fi
++ exit ;;
++ pc:*:*:*)
++ # Left here for compatibility:
++ # uname -m prints for DJGPP always 'pc', but it prints nothing about
++ # the processor, so we play safe by assuming i586.
++ # Note: whatever this is, it MUST be the same as what config.sub
++ # prints for the "djgpp" host, or else GDB configure will decide that
++ # this is a cross-build.
++ echo i586-pc-msdosdjgpp
++ exit ;;
++ Intel:Mach:3*:*)
++ echo i386-pc-mach3
++ exit ;;
++ paragon:*:*:*)
++ echo i860-intel-osf1
++ exit ;;
++ i860:*:4.*:*) # i860-SVR4
++ if grep Stardent /usr/include/sys/uadmin.h >/dev/null 2>&1 ; then
++ echo i860-stardent-sysv${UNAME_RELEASE} # Stardent Vistra i860-SVR4
++ else # Add other i860-SVR4 vendors below as they are discovered.
++ echo i860-unknown-sysv${UNAME_RELEASE} # Unknown i860-SVR4
++ fi
++ exit ;;
++ mini*:CTIX:SYS*5:*)
++ # "miniframe"
++ echo m68010-convergent-sysv
++ exit ;;
++ mc68k:UNIX:SYSTEM5:3.51m)
++ echo m68k-convergent-sysv
++ exit ;;
++ M680?0:D-NIX:5.3:*)
++ echo m68k-diab-dnix
++ exit ;;
++ M68*:*:R3V[5678]*:*)
++ test -r /sysV68 && { echo 'm68k-motorola-sysv'; exit; } ;;
++ 3[345]??:*:4.0:3.0 | 3[34]??A:*:4.0:3.0 | 3[34]??,*:*:4.0:3.0 | 3[34]??/*:*:4.0:3.0 | 4400:*:4.0:3.0 | 4850:*:4.0:3.0 | SKA40:*:4.0:3.0 | SDS2:*:4.0:3.0 | SHG2:*:4.0:3.0 | S7501*:*:4.0:3.0)
++ OS_REL=''
++ test -r /etc/.relid \
++ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
++ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
++ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
++ 3[34]??:*:4.0:* | 3[34]??,*:*:4.0:*)
++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
++ && { echo i486-ncr-sysv4; exit; } ;;
++ NCR*:*:4.2:* | MPRAS*:*:4.2:*)
++ OS_REL='.3'
++ test -r /etc/.relid \
++ && OS_REL=.`sed -n 's/[^ ]* [^ ]* \([0-9][0-9]\).*/\1/p' < /etc/.relid`
++ /bin/uname -p 2>/dev/null | grep 86 >/dev/null \
++ && { echo i486-ncr-sysv4.3${OS_REL}; exit; }
++ /bin/uname -p 2>/dev/null | /bin/grep entium >/dev/null \
++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; }
++ /bin/uname -p 2>/dev/null | /bin/grep pteron >/dev/null \
++ && { echo i586-ncr-sysv4.3${OS_REL}; exit; } ;;
++ m68*:LynxOS:2.*:* | m68*:LynxOS:3.0*:*)
++ echo m68k-unknown-lynxos${UNAME_RELEASE}
++ exit ;;
++ mc68030:UNIX_System_V:4.*:*)
++ echo m68k-atari-sysv4
++ exit ;;
++ TSUNAMI:LynxOS:2.*:*)
++ echo sparc-unknown-lynxos${UNAME_RELEASE}
++ exit ;;
++ rs6000:LynxOS:2.*:*)
++ echo rs6000-unknown-lynxos${UNAME_RELEASE}
++ exit ;;
++ PowerPC:LynxOS:2.*:* | PowerPC:LynxOS:3.[01]*:* | PowerPC:LynxOS:4.[02]*:*)
++ echo powerpc-unknown-lynxos${UNAME_RELEASE}
++ exit ;;
++ SM[BE]S:UNIX_SV:*:*)
++ echo mips-dde-sysv${UNAME_RELEASE}
++ exit ;;
++ RM*:ReliantUNIX-*:*:*)
++ echo mips-sni-sysv4
++ exit ;;
++ RM*:SINIX-*:*:*)
++ echo mips-sni-sysv4
++ exit ;;
++ *:SINIX-*:*:*)
++ if uname -p 2>/dev/null >/dev/null ; then
++ UNAME_MACHINE=`(uname -p) 2>/dev/null`
++ echo ${UNAME_MACHINE}-sni-sysv4
++ else
++ echo ns32k-sni-sysv
++ fi
++ exit ;;
++ PENTIUM:*:4.0*:*) # Unisys `ClearPath HMP IX 4000' SVR4/MP effort
++ # says <Richard.M.Bartel@ccMail.Census.GOV>
++ echo i586-unisys-sysv4
++ exit ;;
++ *:UNIX_System_V:4*:FTX*)
++ # From Gerald Hewes <hewes@openmarket.com>.
++ # How about differentiating between stratus architectures? -djm
++ echo hppa1.1-stratus-sysv4
++ exit ;;
++ *:*:*:FTX*)
++ # From seanf@swdc.stratus.com.
++ echo i860-stratus-sysv4
++ exit ;;
++ i*86:VOS:*:*)
++ # From Paul.Green@stratus.com.
++ echo ${UNAME_MACHINE}-stratus-vos
++ exit ;;
++ *:VOS:*:*)
++ # From Paul.Green@stratus.com.
++ echo hppa1.1-stratus-vos
++ exit ;;
++ mc68*:A/UX:*:*)
++ echo m68k-apple-aux${UNAME_RELEASE}
++ exit ;;
++ news*:NEWS-OS:6*:*)
++ echo mips-sony-newsos6
++ exit ;;
++ R[34]000:*System_V*:*:* | R4000:UNIX_SYSV:*:* | R*000:UNIX_SV:*:*)
++ if [ -d /usr/nec ]; then
++ echo mips-nec-sysv${UNAME_RELEASE}
++ else
++ echo mips-unknown-sysv${UNAME_RELEASE}
++ fi
++ exit ;;
++ BeBox:BeOS:*:*) # BeOS running on hardware made by Be, PPC only.
++ echo powerpc-be-beos
++ exit ;;
++ BeMac:BeOS:*:*) # BeOS running on Mac or Mac clone, PPC only.
++ echo powerpc-apple-beos
++ exit ;;
++ BePC:BeOS:*:*) # BeOS running on Intel PC compatible.
++ echo i586-pc-beos
++ exit ;;
++ BePC:Haiku:*:*) # Haiku running on Intel PC compatible.
++ echo i586-pc-haiku
++ exit ;;
++ x86_64:Haiku:*:*)
++ echo x86_64-unknown-haiku
++ exit ;;
++ SX-4:SUPER-UX:*:*)
++ echo sx4-nec-superux${UNAME_RELEASE}
++ exit ;;
++ SX-5:SUPER-UX:*:*)
++ echo sx5-nec-superux${UNAME_RELEASE}
++ exit ;;
++ SX-6:SUPER-UX:*:*)
++ echo sx6-nec-superux${UNAME_RELEASE}
++ exit ;;
++ SX-7:SUPER-UX:*:*)
++ echo sx7-nec-superux${UNAME_RELEASE}
++ exit ;;
++ SX-8:SUPER-UX:*:*)
++ echo sx8-nec-superux${UNAME_RELEASE}
++ exit ;;
++ SX-8R:SUPER-UX:*:*)
++ echo sx8r-nec-superux${UNAME_RELEASE}
++ exit ;;
++ SX-ACE:SUPER-UX:*:*)
++ echo sxace-nec-superux${UNAME_RELEASE}
++ exit ;;
++ Power*:Rhapsody:*:*)
++ echo powerpc-apple-rhapsody${UNAME_RELEASE}
++ exit ;;
++ *:Rhapsody:*:*)
++ echo ${UNAME_MACHINE}-apple-rhapsody${UNAME_RELEASE}
++ exit ;;
++ *:Darwin:*:*)
++ UNAME_PROCESSOR=`uname -p` || UNAME_PROCESSOR=unknown
++ eval $set_cc_for_build
++ if test "$UNAME_PROCESSOR" = unknown ; then
++ UNAME_PROCESSOR=powerpc
++ fi
++ if test `echo "$UNAME_RELEASE" | sed -e 's/\..*//'` -le 10 ; then
++ if [ "$CC_FOR_BUILD" != no_compiler_found ]; then
++ if (echo '#ifdef __LP64__'; echo IS_64BIT_ARCH; echo '#endif') | \
++ (CCOPTS="" $CC_FOR_BUILD -E - 2>/dev/null) | \
++ grep IS_64BIT_ARCH >/dev/null
++ then
++ case $UNAME_PROCESSOR in
++ i386) UNAME_PROCESSOR=x86_64 ;;
++ powerpc) UNAME_PROCESSOR=powerpc64 ;;
++ esac
++ fi
++ fi
++ elif test "$UNAME_PROCESSOR" = i386 ; then
++ # Avoid executing cc on OS X 10.9, as it ships with a stub
++ # that puts up a graphical alert prompting to install
++ # developer tools. Any system running Mac OS X 10.7 or
++ # later (Darwin 11 and later) is required to have a 64-bit
++ # processor. This is not true of the ARM version of Darwin
++ # that Apple uses in portable devices.
++ UNAME_PROCESSOR=x86_64
++ fi
++ echo ${UNAME_PROCESSOR}-apple-darwin${UNAME_RELEASE}
++ exit ;;
++ *:procnto*:*:* | *:QNX:[0123456789]*:*)
++ UNAME_PROCESSOR=`uname -p`
++ if test "$UNAME_PROCESSOR" = x86; then
++ UNAME_PROCESSOR=i386
++ UNAME_MACHINE=pc
++ fi
++ echo ${UNAME_PROCESSOR}-${UNAME_MACHINE}-nto-qnx${UNAME_RELEASE}
++ exit ;;
++ *:QNX:*:4*)
++ echo i386-pc-qnx
++ exit ;;
++ NEO-?:NONSTOP_KERNEL:*:*)
++ echo neo-tandem-nsk${UNAME_RELEASE}
++ exit ;;
++ NSE-*:NONSTOP_KERNEL:*:*)
++ echo nse-tandem-nsk${UNAME_RELEASE}
++ exit ;;
++ NSR-?:NONSTOP_KERNEL:*:*)
++ echo nsr-tandem-nsk${UNAME_RELEASE}
++ exit ;;
++ NSX-?:NONSTOP_KERNEL:*:*)
++ echo nsx-tandem-nsk${UNAME_RELEASE}
++ exit ;;
++ *:NonStop-UX:*:*)
++ echo mips-compaq-nonstopux
++ exit ;;
++ BS2000:POSIX*:*:*)
++ echo bs2000-siemens-sysv
++ exit ;;
++ DS/*:UNIX_System_V:*:*)
++ echo ${UNAME_MACHINE}-${UNAME_SYSTEM}-${UNAME_RELEASE}
++ exit ;;
++ *:Plan9:*:*)
++ # "uname -m" is not consistent, so use $cputype instead. 386
++ # is converted to i386 for consistency with other x86
++ # operating systems.
++ if test "$cputype" = 386; then
++ UNAME_MACHINE=i386
++ else
++ UNAME_MACHINE="$cputype"
++ fi
++ echo ${UNAME_MACHINE}-unknown-plan9
++ exit ;;
++ *:TOPS-10:*:*)
++ echo pdp10-unknown-tops10
++ exit ;;
++ *:TENEX:*:*)
++ echo pdp10-unknown-tenex
++ exit ;;
++ KS10:TOPS-20:*:* | KL10:TOPS-20:*:* | TYPE4:TOPS-20:*:*)
++ echo pdp10-dec-tops20
++ exit ;;
++ XKL-1:TOPS-20:*:* | TYPE5:TOPS-20:*:*)
++ echo pdp10-xkl-tops20
++ exit ;;
++ *:TOPS-20:*:*)
++ echo pdp10-unknown-tops20
++ exit ;;
++ *:ITS:*:*)
++ echo pdp10-unknown-its
++ exit ;;
++ SEI:*:*:SEIUX)
++ echo mips-sei-seiux${UNAME_RELEASE}
++ exit ;;
++ *:DragonFly:*:*)
++ echo ${UNAME_MACHINE}-unknown-dragonfly`echo ${UNAME_RELEASE}|sed -e 's/[-(].*//'`
++ exit ;;
++ *:*VMS:*:*)
++ UNAME_MACHINE=`(uname -p) 2>/dev/null`
++ case "${UNAME_MACHINE}" in
++ A*) echo alpha-dec-vms ; exit ;;
++ I*) echo ia64-dec-vms ; exit ;;
++ V*) echo vax-dec-vms ; exit ;;
++ esac ;;
++ *:XENIX:*:SysV)
++ echo i386-pc-xenix
++ exit ;;
++ i*86:skyos:*:*)
++ echo ${UNAME_MACHINE}-pc-skyos`echo ${UNAME_RELEASE} | sed -e 's/ .*$//'`
++ exit ;;
++ i*86:rdos:*:*)
++ echo ${UNAME_MACHINE}-pc-rdos
++ exit ;;
++ i*86:AROS:*:*)
++ echo ${UNAME_MACHINE}-pc-aros
++ exit ;;
++ x86_64:VMkernel:*:*)
++ echo ${UNAME_MACHINE}-unknown-esx
++ exit ;;
++ amd64:Isilon\ OneFS:*:*)
++ echo x86_64-unknown-onefs
++ exit ;;
++esac
++
++cat >&2 <<EOF
++$0: unable to guess system type
++
++This script (version $timestamp), has failed to recognize the
++operating system you are using. If your script is old, overwrite
++config.guess and config.sub with the latest versions from:
++
++ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.guess
++and
++ http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
++
++If $0 has already been updated, send the following data and any
++information you think might be pertinent to config-patches@gnu.org to
++provide the necessary information to handle your system.
++
++config.guess timestamp = $timestamp
++
++uname -m = `(uname -m) 2>/dev/null || echo unknown`
++uname -r = `(uname -r) 2>/dev/null || echo unknown`
++uname -s = `(uname -s) 2>/dev/null || echo unknown`
++uname -v = `(uname -v) 2>/dev/null || echo unknown`
++
++/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null`
++/bin/uname -X = `(/bin/uname -X) 2>/dev/null`
++
++hostinfo = `(hostinfo) 2>/dev/null`
++/bin/universe = `(/bin/universe) 2>/dev/null`
++/usr/bin/arch -k = `(/usr/bin/arch -k) 2>/dev/null`
++/bin/arch = `(/bin/arch) 2>/dev/null`
++/usr/bin/oslevel = `(/usr/bin/oslevel) 2>/dev/null`
++/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null`
++
++UNAME_MACHINE = ${UNAME_MACHINE}
++UNAME_RELEASE = ${UNAME_RELEASE}
++UNAME_SYSTEM = ${UNAME_SYSTEM}
++UNAME_VERSION = ${UNAME_VERSION}
++EOF
++
++exit 1
++
++# Local variables:
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "timestamp='"
++# time-stamp-format: "%:y-%02m-%02d"
++# time-stamp-end: "'"
++# End:
+diff --git a/contrib/depends/config.site.in b/contrib/depends/config.site.in
+new file mode 100644
+index 00000000..11dab898
+--- /dev/null
++++ b/contrib/depends/config.site.in
+@@ -0,0 +1,66 @@
++depends_prefix="`dirname ${ac_site_file}`/.."
++
++cross_compiling=maybe
++host_alias=@HOST@
++ac_tool_prefix=${host_alias}-
++
++if test -z $with_boost; then
++ with_boost=$depends_prefix
++fi
++
++if test x@host_os@ = xdarwin; then
++ BREW=no
++ PORT=no
++fi
++
++PATH=$depends_prefix/native/bin:$PATH
++PKG_CONFIG="`which pkg-config` --static"
++
++# These two need to remain exported because pkg-config does not see them
++# otherwise. That means they must be unexported at the end of configure.ac to
++# avoid ruining the cache. Sigh.
++export PKG_CONFIG_PATH=$depends_prefix/share/pkgconfig:$depends_prefix/lib/pkgconfig
++if test -z "@allow_host_packages@"; then
++ export PKGCONFIG_LIBDIR=
++fi
++
++CPPFLAGS="-I$depends_prefix/include/ $CPPFLAGS"
++LDFLAGS="-L$depends_prefix/lib $LDFLAGS"
++
++CC="@CC@"
++CXX="@CXX@"
++OBJC="${CC}"
++CCACHE=$depends_prefix/native/bin/ccache
++PYTHONPATH=$depends_prefix/native/lib/python/dist-packages:$PYTHONPATH
++
++if test -n "@AR@"; then
++ AR=@AR@
++ ac_cv_path_ac_pt_AR=${AR}
++fi
++
++if test -n "@RANLIB@"; then
++ RANLIB=@RANLIB@
++ ac_cv_path_ac_pt_RANLIB=${RANLIB}
++fi
++
++if test -n "@NM@"; then
++ NM=@NM@
++ ac_cv_path_ac_pt_NM=${NM}
++fi
++
++if test -n "@debug@"; then
++ enable_reduce_exports=no
++fi
++
++if test -n "@CFLAGS@"; then
++ CFLAGS="@CFLAGS@ $CFLAGS"
++fi
++if test -n "@CXXFLAGS@"; then
++ CXXFLAGS="@CXXFLAGS@ $CXXFLAGS"
++fi
++if test -n "@CPPFLAGS@"; then
++ CPPFLAGS="@CPPFLAGS@ $CPPFLAGS"
++fi
++if test -n "@LDFLAGS@"; then
++ LDFLAGS="@LDFLAGS@ $LDFLAGS"
++fi
+diff --git a/contrib/depends/config.sub b/contrib/depends/config.sub
+new file mode 100755
+index 00000000..40ea5dfe
+--- /dev/null
++++ b/contrib/depends/config.sub
+@@ -0,0 +1,1836 @@
++#! /bin/sh
++# Configuration validation subroutine script.
++# Copyright 1992-2017 Free Software Foundation, Inc.
++
++timestamp='2017-04-02'
++
++# This file is free software; you can redistribute it and/or modify it
++# under the terms of the GNU General Public License as published by
++# the Free Software Foundation; either version 3 of the License, or
++# (at your option) any later version.
++#
++# This program 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
++# General Public License for more details.
++#
++# You should have received a copy of the GNU General Public License
++# along with this program; if not, see <http://www.gnu.org/licenses/>.
++#
++# As a special exception to the GNU General Public License, if you
++# distribute this file as part of a program that contains a
++# configuration script generated by Autoconf, you may include it under
++# the same distribution terms that you use for the rest of that
++# program. This Exception is an additional permission under section 7
++# of the GNU General Public License, version 3 ("GPLv3").
++
++
++# Please send patches to <config-patches@gnu.org>.
++#
++# Configuration subroutine to validate and canonicalize a configuration type.
++# Supply the specified configuration type as an argument.
++# If it is invalid, we print an error message on stderr and exit with code 1.
++# Otherwise, we print the canonical config type on stdout and succeed.
++
++# You can get the latest version of this script from:
++# http://git.savannah.gnu.org/gitweb/?p=config.git;a=blob_plain;f=config.sub
++
++# This file is supposed to be the same for all GNU packages
++# and recognize all the CPU types, system types and aliases
++# that are meaningful with *any* GNU software.
++# Each package is responsible for reporting which valid configurations
++# it does not support. The user should be able to distinguish
++# a failure to support a valid configuration from a meaningless
++# configuration.
++
++# The goal of this file is to map all the various variations of a given
++# machine specification into a single specification in the form:
++# CPU_TYPE-MANUFACTURER-OPERATING_SYSTEM
++# or in some cases, the newer four-part form:
++# CPU_TYPE-MANUFACTURER-KERNEL-OPERATING_SYSTEM
++# It is wrong to echo any other type of specification.
++
++me=`echo "$0" | sed -e 's,.*/,,'`
++
++usage="\
++Usage: $0 [OPTION] CPU-MFR-OPSYS or ALIAS
++
++Canonicalize a configuration name.
++
++Operation modes:
++ -h, --help print this help, then exit
++ -t, --time-stamp print date of last modification, then exit
++ -v, --version print version number, then exit
++
++Report bugs and patches to <config-patches@gnu.org>."
++
++version="\
++GNU config.sub ($timestamp)
++
++Copyright 1992-2017 Free Software Foundation, Inc.
++
++This is free software; see the source for copying conditions. There is NO
++warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE."
++
++help="
++Try \`$me --help' for more information."
++
++# Parse command line
++while test $# -gt 0 ; do
++ case $1 in
++ --time-stamp | --time* | -t )
++ echo "$timestamp" ; exit ;;
++ --version | -v )
++ echo "$version" ; exit ;;
++ --help | --h* | -h )
++ echo "$usage"; exit ;;
++ -- ) # Stop option processing
++ shift; break ;;
++ - ) # Use stdin as input.
++ break ;;
++ -* )
++ echo "$me: invalid option $1$help"
++ exit 1 ;;
++
++ *local*)
++ # First pass through any local machine types.
++ echo $1
++ exit ;;
++
++ * )
++ break ;;
++ esac
++done
++
++case $# in
++ 0) echo "$me: missing argument$help" >&2
++ exit 1;;
++ 1) ;;
++ *) echo "$me: too many arguments$help" >&2
++ exit 1;;
++esac
++
++# Separate what the user gave into CPU-COMPANY and OS or KERNEL-OS (if any).
++# Here we must recognize all the valid KERNEL-OS combinations.
++maybe_os=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\2/'`
++case $maybe_os in
++ nto-qnx* | linux-gnu* | linux-android* | linux-dietlibc | linux-newlib* | \
++ linux-musl* | linux-uclibc* | uclinux-uclibc* | uclinux-gnu* | kfreebsd*-gnu* | \
++ knetbsd*-gnu* | netbsd*-gnu* | netbsd*-eabi* | \
++ kopensolaris*-gnu* | cloudabi*-eabi* | \
++ storm-chaos* | os2-emx* | rtmk-nova*)
++ os=-$maybe_os
++ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`
++ ;;
++ android-linux)
++ os=-linux-android
++ basic_machine=`echo $1 | sed 's/^\(.*\)-\([^-]*-[^-]*\)$/\1/'`-unknown
++ ;;
++ *)
++ basic_machine=`echo $1 | sed 's/-[^-]*$//'`
++ if [ $basic_machine != $1 ]
++ then os=`echo $1 | sed 's/.*-/-/'`
++ else os=; fi
++ ;;
++esac
++
++### Let's recognize common machines as not being operating systems so
++### that things like config.sub decstation-3100 work. We also
++### recognize some manufacturers as not being operating systems, so we
++### can provide default operating systems below.
++case $os in
++ -sun*os*)
++ # Prevent following clause from handling this invalid input.
++ ;;
++ -dec* | -mips* | -sequent* | -encore* | -pc532* | -sgi* | -sony* | \
++ -att* | -7300* | -3300* | -delta* | -motorola* | -sun[234]* | \
++ -unicom* | -ibm* | -next | -hp | -isi* | -apollo | -altos* | \
++ -convergent* | -ncr* | -news | -32* | -3600* | -3100* | -hitachi* |\
++ -c[123]* | -convex* | -sun | -crds | -omron* | -dg | -ultra | -tti* | \
++ -harris | -dolphin | -highlevel | -gould | -cbm | -ns | -masscomp | \
++ -apple | -axis | -knuth | -cray | -microblaze*)
++ os=
++ basic_machine=$1
++ ;;
++ -bluegene*)
++ os=-cnk
++ ;;
++ -sim | -cisco | -oki | -wec | -winbond)
++ os=
++ basic_machine=$1
++ ;;
++ -scout)
++ ;;
++ -wrs)
++ os=-vxworks
++ basic_machine=$1
++ ;;
++ -chorusos*)
++ os=-chorusos
++ basic_machine=$1
++ ;;
++ -chorusrdb)
++ os=-chorusrdb
++ basic_machine=$1
++ ;;
++ -hiux*)
++ os=-hiuxwe2
++ ;;
++ -sco6)
++ os=-sco5v6
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
++ -sco5)
++ os=-sco3.2v5
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
++ -sco4)
++ os=-sco3.2v4
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
++ -sco3.2.[4-9]*)
++ os=`echo $os | sed -e 's/sco3.2./sco3.2v/'`
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
++ -sco3.2v[4-9]*)
++ # Don't forget version if it is 3.2v4 or newer.
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
++ -sco5v6*)
++ # Don't forget version if it is 3.2v4 or newer.
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
++ -sco*)
++ os=-sco3.2v2
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
++ -udk*)
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
++ -isc)
++ os=-isc2.2
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
++ -clix*)
++ basic_machine=clipper-intergraph
++ ;;
++ -isc*)
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-pc/'`
++ ;;
++ -lynx*178)
++ os=-lynxos178
++ ;;
++ -lynx*5)
++ os=-lynxos5
++ ;;
++ -lynx*)
++ os=-lynxos
++ ;;
++ -ptx*)
++ basic_machine=`echo $1 | sed -e 's/86-.*/86-sequent/'`
++ ;;
++ -windowsnt*)
++ os=`echo $os | sed -e 's/windowsnt/winnt/'`
++ ;;
++ -psos*)
++ os=-psos
++ ;;
++ -mint | -mint[0-9]*)
++ basic_machine=m68k-atari
++ os=-mint
++ ;;
++esac
++
++# Decode aliases for certain CPU-COMPANY combinations.
++case $basic_machine in
++ # Recognize the basic CPU types without company name.
++ # Some are omitted here because they have special meanings below.
++ 1750a | 580 \
++ | a29k \
++ | aarch64 | aarch64_be \
++ | alpha | alphaev[4-8] | alphaev56 | alphaev6[78] | alphapca5[67] \
++ | alpha64 | alpha64ev[4-8] | alpha64ev56 | alpha64ev6[78] | alpha64pca5[67] \
++ | am33_2.0 \
++ | arc | arceb \
++ | arm | arm[bl]e | arme[lb] | armv[2-8] | armv[3-8][lb] | armv7[arm] \
++ | avr | avr32 \
++ | ba \
++ | be32 | be64 \
++ | bfin \
++ | c4x | c8051 | clipper \
++ | d10v | d30v | dlx | dsp16xx \
++ | e2k | epiphany \
++ | fido | fr30 | frv | ft32 \
++ | h8300 | h8500 | hppa | hppa1.[01] | hppa2.0 | hppa2.0[nw] | hppa64 \
++ | hexagon \
++ | i370 | i860 | i960 | ia16 | ia64 \
++ | ip2k | iq2000 \
++ | k1om \
++ | le32 | le64 \
++ | lm32 \
++ | m32c | m32r | m32rle | m68000 | m68k | m88k \
++ | maxq | mb | microblaze | microblazeel | mcore | mep | metag \
++ | mips | mipsbe | mipseb | mipsel | mipsle \
++ | mips16 \
++ | mips64 | mips64el \
++ | mips64octeon | mips64octeonel \
++ | mips64orion | mips64orionel \
++ | mips64r5900 | mips64r5900el \
++ | mips64vr | mips64vrel \
++ | mips64vr4100 | mips64vr4100el \
++ | mips64vr4300 | mips64vr4300el \
++ | mips64vr5000 | mips64vr5000el \
++ | mips64vr5900 | mips64vr5900el \
++ | mipsisa32 | mipsisa32el \
++ | mipsisa32r2 | mipsisa32r2el \
++ | mipsisa32r6 | mipsisa32r6el \
++ | mipsisa64 | mipsisa64el \
++ | mipsisa64r2 | mipsisa64r2el \
++ | mipsisa64r6 | mipsisa64r6el \
++ | mipsisa64sb1 | mipsisa64sb1el \
++ | mipsisa64sr71k | mipsisa64sr71kel \
++ | mipsr5900 | mipsr5900el \
++ | mipstx39 | mipstx39el \
++ | mn10200 | mn10300 \
++ | moxie \
++ | mt \
++ | msp430 \
++ | nds32 | nds32le | nds32be \
++ | nios | nios2 | nios2eb | nios2el \
++ | ns16k | ns32k \
++ | open8 | or1k | or1knd | or32 \
++ | pdp10 | pdp11 | pj | pjl \
++ | powerpc | powerpc64 | powerpc64le | powerpcle \
++ | pru \
++ | pyramid \
++ | riscv32 | riscv64 \
++ | rl78 | rx \
++ | score \
++ | sh | sh[1234] | sh[24]a | sh[24]aeb | sh[23]e | sh[234]eb | sheb | shbe | shle | sh[1234]le | sh3ele \
++ | sh64 | sh64le \
++ | sparc | sparc64 | sparc64b | sparc64v | sparc86x | sparclet | sparclite \
++ | sparcv8 | sparcv9 | sparcv9b | sparcv9v \
++ | spu \
++ | tahoe | tic4x | tic54x | tic55x | tic6x | tic80 | tron \
++ | ubicom32 \
++ | v850 | v850e | v850e1 | v850e2 | v850es | v850e2v3 \
++ | visium \
++ | wasm32 \
++ | we32k \
++ | x86 | xc16x | xstormy16 | xtensa \
++ | z8k | z80)
++ basic_machine=$basic_machine-unknown
++ ;;
++ c54x)
++ basic_machine=tic54x-unknown
++ ;;
++ c55x)
++ basic_machine=tic55x-unknown
++ ;;
++ c6x)
++ basic_machine=tic6x-unknown
++ ;;
++ leon|leon[3-9])
++ basic_machine=sparc-$basic_machine
++ ;;
++ m6811 | m68hc11 | m6812 | m68hc12 | m68hcs12x | nvptx | picochip)
++ basic_machine=$basic_machine-unknown
++ os=-none
++ ;;
++ m88110 | m680[12346]0 | m683?2 | m68360 | m5200 | v70 | w65 | z8k)
++ ;;
++ ms1)
++ basic_machine=mt-unknown
++ ;;
++
++ strongarm | thumb | xscale)
++ basic_machine=arm-unknown
++ ;;
++ xgate)
++ basic_machine=$basic_machine-unknown
++ os=-none
++ ;;
++ xscaleeb)
++ basic_machine=armeb-unknown
++ ;;
++
++ xscaleel)
++ basic_machine=armel-unknown
++ ;;
++
++ # We use `pc' rather than `unknown'
++ # because (1) that's what they normally are, and
++ # (2) the word "unknown" tends to confuse beginning users.
++ i*86 | x86_64)
++ basic_machine=$basic_machine-pc
++ ;;
++ # Object if more than one company name word.
++ *-*-*)
++ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
++ exit 1
++ ;;
++ # Recognize the basic CPU types with company name.
++ 580-* \
++ | a29k-* \
++ | aarch64-* | aarch64_be-* \
++ | alpha-* | alphaev[4-8]-* | alphaev56-* | alphaev6[78]-* \
++ | alpha64-* | alpha64ev[4-8]-* | alpha64ev56-* | alpha64ev6[78]-* \
++ | alphapca5[67]-* | alpha64pca5[67]-* | arc-* | arceb-* \
++ | arm-* | armbe-* | armle-* | armeb-* | armv*-* \
++ | avr-* | avr32-* \
++ | ba-* \
++ | be32-* | be64-* \
++ | bfin-* | bs2000-* \
++ | c[123]* | c30-* | [cjt]90-* | c4x-* \
++ | c8051-* | clipper-* | craynv-* | cydra-* \
++ | d10v-* | d30v-* | dlx-* \
++ | e2k-* | elxsi-* \
++ | f30[01]-* | f700-* | fido-* | fr30-* | frv-* | fx80-* \
++ | h8300-* | h8500-* \
++ | hppa-* | hppa1.[01]-* | hppa2.0-* | hppa2.0[nw]-* | hppa64-* \
++ | hexagon-* \
++ | i*86-* | i860-* | i960-* | ia16-* | ia64-* \
++ | ip2k-* | iq2000-* \
++ | k1om-* \
++ | le32-* | le64-* \
++ | lm32-* \
++ | m32c-* | m32r-* | m32rle-* \
++ | m68000-* | m680[012346]0-* | m68360-* | m683?2-* | m68k-* \
++ | m88110-* | m88k-* | maxq-* | mcore-* | metag-* \
++ | microblaze-* | microblazeel-* \
++ | mips-* | mipsbe-* | mipseb-* | mipsel-* | mipsle-* \
++ | mips16-* \
++ | mips64-* | mips64el-* \
++ | mips64octeon-* | mips64octeonel-* \
++ | mips64orion-* | mips64orionel-* \
++ | mips64r5900-* | mips64r5900el-* \
++ | mips64vr-* | mips64vrel-* \
++ | mips64vr4100-* | mips64vr4100el-* \
++ | mips64vr4300-* | mips64vr4300el-* \
++ | mips64vr5000-* | mips64vr5000el-* \
++ | mips64vr5900-* | mips64vr5900el-* \
++ | mipsisa32-* | mipsisa32el-* \
++ | mipsisa32r2-* | mipsisa32r2el-* \
++ | mipsisa32r6-* | mipsisa32r6el-* \
++ | mipsisa64-* | mipsisa64el-* \
++ | mipsisa64r2-* | mipsisa64r2el-* \
++ | mipsisa64r6-* | mipsisa64r6el-* \
++ | mipsisa64sb1-* | mipsisa64sb1el-* \
++ | mipsisa64sr71k-* | mipsisa64sr71kel-* \
++ | mipsr5900-* | mipsr5900el-* \
++ | mipstx39-* | mipstx39el-* \
++ | mmix-* \
++ | mt-* \
++ | msp430-* \
++ | nds32-* | nds32le-* | nds32be-* \
++ | nios-* | nios2-* | nios2eb-* | nios2el-* \
++ | none-* | np1-* | ns16k-* | ns32k-* \
++ | open8-* \
++ | or1k*-* \
++ | orion-* \
++ | pdp10-* | pdp11-* | pj-* | pjl-* | pn-* | power-* \
++ | powerpc-* | powerpc64-* | powerpc64le-* | powerpcle-* \
++ | pru-* \
++ | pyramid-* \
++ | riscv32-* | riscv64-* \
++ | rl78-* | romp-* | rs6000-* | rx-* \
++ | sh-* | sh[1234]-* | sh[24]a-* | sh[24]aeb-* | sh[23]e-* | sh[34]eb-* | sheb-* | shbe-* \
++ | shle-* | sh[1234]le-* | sh3ele-* | sh64-* | sh64le-* \
++ | sparc-* | sparc64-* | sparc64b-* | sparc64v-* | sparc86x-* | sparclet-* \
++ | sparclite-* \
++ | sparcv8-* | sparcv9-* | sparcv9b-* | sparcv9v-* | sv1-* | sx*-* \
++ | tahoe-* \
++ | tic30-* | tic4x-* | tic54x-* | tic55x-* | tic6x-* | tic80-* \
++ | tile*-* \
++ | tron-* \
++ | ubicom32-* \
++ | v850-* | v850e-* | v850e1-* | v850es-* | v850e2-* | v850e2v3-* \
++ | vax-* \
++ | visium-* \
++ | wasm32-* \
++ | we32k-* \
++ | x86-* | x86_64-* | xc16x-* | xps100-* \
++ | xstormy16-* | xtensa*-* \
++ | ymp-* \
++ | z8k-* | z80-*)
++ ;;
++ # Recognize the basic CPU types without company name, with glob match.
++ xtensa*)
++ basic_machine=$basic_machine-unknown
++ ;;
++ # Recognize the various machine names and aliases which stand
++ # for a CPU type and a company and sometimes even an OS.
++ 386bsd)
++ basic_machine=i386-unknown
++ os=-bsd
++ ;;
++ 3b1 | 7300 | 7300-att | att-7300 | pc7300 | safari | unixpc)
++ basic_machine=m68000-att
++ ;;
++ 3b*)
++ basic_machine=we32k-att
++ ;;
++ a29khif)
++ basic_machine=a29k-amd
++ os=-udi
++ ;;
++ abacus)
++ basic_machine=abacus-unknown
++ ;;
++ adobe68k)
++ basic_machine=m68010-adobe
++ os=-scout
++ ;;
++ alliant | fx80)
++ basic_machine=fx80-alliant
++ ;;
++ altos | altos3068)
++ basic_machine=m68k-altos
++ ;;
++ am29k)
++ basic_machine=a29k-none
++ os=-bsd
++ ;;
++ amd64)
++ basic_machine=x86_64-pc
++ ;;
++ amd64-*)
++ basic_machine=x86_64-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ amdahl)
++ basic_machine=580-amdahl
++ os=-sysv
++ ;;
++ amiga | amiga-*)
++ basic_machine=m68k-unknown
++ ;;
++ amigaos | amigados)
++ basic_machine=m68k-unknown
++ os=-amigaos
++ ;;
++ amigaunix | amix)
++ basic_machine=m68k-unknown
++ os=-sysv4
++ ;;
++ apollo68)
++ basic_machine=m68k-apollo
++ os=-sysv
++ ;;
++ apollo68bsd)
++ basic_machine=m68k-apollo
++ os=-bsd
++ ;;
++ aros)
++ basic_machine=i386-pc
++ os=-aros
++ ;;
++ asmjs)
++ basic_machine=asmjs-unknown
++ ;;
++ aux)
++ basic_machine=m68k-apple
++ os=-aux
++ ;;
++ balance)
++ basic_machine=ns32k-sequent
++ os=-dynix
++ ;;
++ blackfin)
++ basic_machine=bfin-unknown
++ os=-linux
++ ;;
++ blackfin-*)
++ basic_machine=bfin-`echo $basic_machine | sed 's/^[^-]*-//'`
++ os=-linux
++ ;;
++ bluegene*)
++ basic_machine=powerpc-ibm
++ os=-cnk
++ ;;
++ c54x-*)
++ basic_machine=tic54x-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ c55x-*)
++ basic_machine=tic55x-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ c6x-*)
++ basic_machine=tic6x-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ c90)
++ basic_machine=c90-cray
++ os=-unicos
++ ;;
++ cegcc)
++ basic_machine=arm-unknown
++ os=-cegcc
++ ;;
++ convex-c1)
++ basic_machine=c1-convex
++ os=-bsd
++ ;;
++ convex-c2)
++ basic_machine=c2-convex
++ os=-bsd
++ ;;
++ convex-c32)
++ basic_machine=c32-convex
++ os=-bsd
++ ;;
++ convex-c34)
++ basic_machine=c34-convex
++ os=-bsd
++ ;;
++ convex-c38)
++ basic_machine=c38-convex
++ os=-bsd
++ ;;
++ cray | j90)
++ basic_machine=j90-cray
++ os=-unicos
++ ;;
++ craynv)
++ basic_machine=craynv-cray
++ os=-unicosmp
++ ;;
++ cr16 | cr16-*)
++ basic_machine=cr16-unknown
++ os=-elf
++ ;;
++ crds | unos)
++ basic_machine=m68k-crds
++ ;;
++ crisv32 | crisv32-* | etraxfs*)
++ basic_machine=crisv32-axis
++ ;;
++ cris | cris-* | etrax*)
++ basic_machine=cris-axis
++ ;;
++ crx)
++ basic_machine=crx-unknown
++ os=-elf
++ ;;
++ da30 | da30-*)
++ basic_machine=m68k-da30
++ ;;
++ decstation | decstation-3100 | pmax | pmax-* | pmin | dec3100 | decstatn)
++ basic_machine=mips-dec
++ ;;
++ decsystem10* | dec10*)
++ basic_machine=pdp10-dec
++ os=-tops10
++ ;;
++ decsystem20* | dec20*)
++ basic_machine=pdp10-dec
++ os=-tops20
++ ;;
++ delta | 3300 | motorola-3300 | motorola-delta \
++ | 3300-motorola | delta-motorola)
++ basic_machine=m68k-motorola
++ ;;
++ delta88)
++ basic_machine=m88k-motorola
++ os=-sysv3
++ ;;
++ dicos)
++ basic_machine=i686-pc
++ os=-dicos
++ ;;
++ djgpp)
++ basic_machine=i586-pc
++ os=-msdosdjgpp
++ ;;
++ dpx20 | dpx20-*)
++ basic_machine=rs6000-bull
++ os=-bosx
++ ;;
++ dpx2* | dpx2*-bull)
++ basic_machine=m68k-bull
++ os=-sysv3
++ ;;
++ e500v[12])
++ basic_machine=powerpc-unknown
++ os=$os"spe"
++ ;;
++ e500v[12]-*)
++ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
++ os=$os"spe"
++ ;;
++ ebmon29k)
++ basic_machine=a29k-amd
++ os=-ebmon
++ ;;
++ elxsi)
++ basic_machine=elxsi-elxsi
++ os=-bsd
++ ;;
++ encore | umax | mmax)
++ basic_machine=ns32k-encore
++ ;;
++ es1800 | OSE68k | ose68k | ose | OSE)
++ basic_machine=m68k-ericsson
++ os=-ose
++ ;;
++ fx2800)
++ basic_machine=i860-alliant
++ ;;
++ genix)
++ basic_machine=ns32k-ns
++ ;;
++ gmicro)
++ basic_machine=tron-gmicro
++ os=-sysv
++ ;;
++ go32)
++ basic_machine=i386-pc
++ os=-go32
++ ;;
++ h3050r* | hiux*)
++ basic_machine=hppa1.1-hitachi
++ os=-hiuxwe2
++ ;;
++ h8300hms)
++ basic_machine=h8300-hitachi
++ os=-hms
++ ;;
++ h8300xray)
++ basic_machine=h8300-hitachi
++ os=-xray
++ ;;
++ h8500hms)
++ basic_machine=h8500-hitachi
++ os=-hms
++ ;;
++ harris)
++ basic_machine=m88k-harris
++ os=-sysv3
++ ;;
++ hp300-*)
++ basic_machine=m68k-hp
++ ;;
++ hp300bsd)
++ basic_machine=m68k-hp
++ os=-bsd
++ ;;
++ hp300hpux)
++ basic_machine=m68k-hp
++ os=-hpux
++ ;;
++ hp3k9[0-9][0-9] | hp9[0-9][0-9])
++ basic_machine=hppa1.0-hp
++ ;;
++ hp9k2[0-9][0-9] | hp9k31[0-9])
++ basic_machine=m68000-hp
++ ;;
++ hp9k3[2-9][0-9])
++ basic_machine=m68k-hp
++ ;;
++ hp9k6[0-9][0-9] | hp6[0-9][0-9])
++ basic_machine=hppa1.0-hp
++ ;;
++ hp9k7[0-79][0-9] | hp7[0-79][0-9])
++ basic_machine=hppa1.1-hp
++ ;;
++ hp9k78[0-9] | hp78[0-9])
++ # FIXME: really hppa2.0-hp
++ basic_machine=hppa1.1-hp
++ ;;
++ hp9k8[67]1 | hp8[67]1 | hp9k80[24] | hp80[24] | hp9k8[78]9 | hp8[78]9 | hp9k893 | hp893)
++ # FIXME: really hppa2.0-hp
++ basic_machine=hppa1.1-hp
++ ;;
++ hp9k8[0-9][13679] | hp8[0-9][13679])
++ basic_machine=hppa1.1-hp
++ ;;
++ hp9k8[0-9][0-9] | hp8[0-9][0-9])
++ basic_machine=hppa1.0-hp
++ ;;
++ hppa-next)
++ os=-nextstep3
++ ;;
++ hppaosf)
++ basic_machine=hppa1.1-hp
++ os=-osf
++ ;;
++ hppro)
++ basic_machine=hppa1.1-hp
++ os=-proelf
++ ;;
++ i370-ibm* | ibm*)
++ basic_machine=i370-ibm
++ ;;
++ i*86v32)
++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++ os=-sysv32
++ ;;
++ i*86v4*)
++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++ os=-sysv4
++ ;;
++ i*86v)
++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++ os=-sysv
++ ;;
++ i*86sol2)
++ basic_machine=`echo $1 | sed -e 's/86.*/86-pc/'`
++ os=-solaris2
++ ;;
++ i386mach)
++ basic_machine=i386-mach
++ os=-mach
++ ;;
++ i386-vsta | vsta)
++ basic_machine=i386-unknown
++ os=-vsta
++ ;;
++ iris | iris4d)
++ basic_machine=mips-sgi
++ case $os in
++ -irix*)
++ ;;
++ *)
++ os=-irix4
++ ;;
++ esac
++ ;;
++ isi68 | isi)
++ basic_machine=m68k-isi
++ os=-sysv
++ ;;
++ leon-*|leon[3-9]-*)
++ basic_machine=sparc-`echo $basic_machine | sed 's/-.*//'`
++ ;;
++ m68knommu)
++ basic_machine=m68k-unknown
++ os=-linux
++ ;;
++ m68knommu-*)
++ basic_machine=m68k-`echo $basic_machine | sed 's/^[^-]*-//'`
++ os=-linux
++ ;;
++ m88k-omron*)
++ basic_machine=m88k-omron
++ ;;
++ magnum | m3230)
++ basic_machine=mips-mips
++ os=-sysv
++ ;;
++ merlin)
++ basic_machine=ns32k-utek
++ os=-sysv
++ ;;
++ microblaze*)
++ basic_machine=microblaze-xilinx
++ ;;
++ mingw64)
++ basic_machine=x86_64-pc
++ os=-mingw64
++ ;;
++ mingw32)
++ basic_machine=i686-pc
++ os=-mingw32
++ ;;
++ mingw32ce)
++ basic_machine=arm-unknown
++ os=-mingw32ce
++ ;;
++ miniframe)
++ basic_machine=m68000-convergent
++ ;;
++ *mint | -mint[0-9]* | *MiNT | *MiNT[0-9]*)
++ basic_machine=m68k-atari
++ os=-mint
++ ;;
++ mips3*-*)
++ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`
++ ;;
++ mips3*)
++ basic_machine=`echo $basic_machine | sed -e 's/mips3/mips64/'`-unknown
++ ;;
++ monitor)
++ basic_machine=m68k-rom68k
++ os=-coff
++ ;;
++ morphos)
++ basic_machine=powerpc-unknown
++ os=-morphos
++ ;;
++ moxiebox)
++ basic_machine=moxie-unknown
++ os=-moxiebox
++ ;;
++ msdos)
++ basic_machine=i386-pc
++ os=-msdos
++ ;;
++ ms1-*)
++ basic_machine=`echo $basic_machine | sed -e 's/ms1-/mt-/'`
++ ;;
++ msys)
++ basic_machine=i686-pc
++ os=-msys
++ ;;
++ mvs)
++ basic_machine=i370-ibm
++ os=-mvs
++ ;;
++ nacl)
++ basic_machine=le32-unknown
++ os=-nacl
++ ;;
++ ncr3000)
++ basic_machine=i486-ncr
++ os=-sysv4
++ ;;
++ netbsd386)
++ basic_machine=i386-unknown
++ os=-netbsd
++ ;;
++ netwinder)
++ basic_machine=armv4l-rebel
++ os=-linux
++ ;;
++ news | news700 | news800 | news900)
++ basic_machine=m68k-sony
++ os=-newsos
++ ;;
++ news1000)
++ basic_machine=m68030-sony
++ os=-newsos
++ ;;
++ news-3600 | risc-news)
++ basic_machine=mips-sony
++ os=-newsos
++ ;;
++ necv70)
++ basic_machine=v70-nec
++ os=-sysv
++ ;;
++ next | m*-next )
++ basic_machine=m68k-next
++ case $os in
++ -nextstep* )
++ ;;
++ -ns2*)
++ os=-nextstep2
++ ;;
++ *)
++ os=-nextstep3
++ ;;
++ esac
++ ;;
++ nh3000)
++ basic_machine=m68k-harris
++ os=-cxux
++ ;;
++ nh[45]000)
++ basic_machine=m88k-harris
++ os=-cxux
++ ;;
++ nindy960)
++ basic_machine=i960-intel
++ os=-nindy
++ ;;
++ mon960)
++ basic_machine=i960-intel
++ os=-mon960
++ ;;
++ nonstopux)
++ basic_machine=mips-compaq
++ os=-nonstopux
++ ;;
++ np1)
++ basic_machine=np1-gould
++ ;;
++ neo-tandem)
++ basic_machine=neo-tandem
++ ;;
++ nse-tandem)
++ basic_machine=nse-tandem
++ ;;
++ nsr-tandem)
++ basic_machine=nsr-tandem
++ ;;
++ nsx-tandem)
++ basic_machine=nsx-tandem
++ ;;
++ op50n-* | op60c-*)
++ basic_machine=hppa1.1-oki
++ os=-proelf
++ ;;
++ openrisc | openrisc-*)
++ basic_machine=or32-unknown
++ ;;
++ os400)
++ basic_machine=powerpc-ibm
++ os=-os400
++ ;;
++ OSE68000 | ose68000)
++ basic_machine=m68000-ericsson
++ os=-ose
++ ;;
++ os68k)
++ basic_machine=m68k-none
++ os=-os68k
++ ;;
++ pa-hitachi)
++ basic_machine=hppa1.1-hitachi
++ os=-hiuxwe2
++ ;;
++ paragon)
++ basic_machine=i860-intel
++ os=-osf
++ ;;
++ parisc)
++ basic_machine=hppa-unknown
++ os=-linux
++ ;;
++ parisc-*)
++ basic_machine=hppa-`echo $basic_machine | sed 's/^[^-]*-//'`
++ os=-linux
++ ;;
++ pbd)
++ basic_machine=sparc-tti
++ ;;
++ pbb)
++ basic_machine=m68k-tti
++ ;;
++ pc532 | pc532-*)
++ basic_machine=ns32k-pc532
++ ;;
++ pc98)
++ basic_machine=i386-pc
++ ;;
++ pc98-*)
++ basic_machine=i386-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ pentium | p5 | k5 | k6 | nexgen | viac3)
++ basic_machine=i586-pc
++ ;;
++ pentiumpro | p6 | 6x86 | athlon | athlon_*)
++ basic_machine=i686-pc
++ ;;
++ pentiumii | pentium2 | pentiumiii | pentium3)
++ basic_machine=i686-pc
++ ;;
++ pentium4)
++ basic_machine=i786-pc
++ ;;
++ pentium-* | p5-* | k5-* | k6-* | nexgen-* | viac3-*)
++ basic_machine=i586-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ pentiumpro-* | p6-* | 6x86-* | athlon-*)
++ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ pentiumii-* | pentium2-* | pentiumiii-* | pentium3-*)
++ basic_machine=i686-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ pentium4-*)
++ basic_machine=i786-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ pn)
++ basic_machine=pn-gould
++ ;;
++ power) basic_machine=power-ibm
++ ;;
++ ppc | ppcbe) basic_machine=powerpc-unknown
++ ;;
++ ppc-* | ppcbe-*)
++ basic_machine=powerpc-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ ppcle | powerpclittle)
++ basic_machine=powerpcle-unknown
++ ;;
++ ppcle-* | powerpclittle-*)
++ basic_machine=powerpcle-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ ppc64) basic_machine=powerpc64-unknown
++ ;;
++ ppc64-*) basic_machine=powerpc64-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ ppc64le | powerpc64little)
++ basic_machine=powerpc64le-unknown
++ ;;
++ ppc64le-* | powerpc64little-*)
++ basic_machine=powerpc64le-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ ps2)
++ basic_machine=i386-ibm
++ ;;
++ pw32)
++ basic_machine=i586-unknown
++ os=-pw32
++ ;;
++ rdos | rdos64)
++ basic_machine=x86_64-pc
++ os=-rdos
++ ;;
++ rdos32)
++ basic_machine=i386-pc
++ os=-rdos
++ ;;
++ rom68k)
++ basic_machine=m68k-rom68k
++ os=-coff
++ ;;
++ rm[46]00)
++ basic_machine=mips-siemens
++ ;;
++ rtpc | rtpc-*)
++ basic_machine=romp-ibm
++ ;;
++ s390 | s390-*)
++ basic_machine=s390-ibm
++ ;;
++ s390x | s390x-*)
++ basic_machine=s390x-ibm
++ ;;
++ sa29200)
++ basic_machine=a29k-amd
++ os=-udi
++ ;;
++ sb1)
++ basic_machine=mipsisa64sb1-unknown
++ ;;
++ sb1el)
++ basic_machine=mipsisa64sb1el-unknown
++ ;;
++ sde)
++ basic_machine=mipsisa32-sde
++ os=-elf
++ ;;
++ sei)
++ basic_machine=mips-sei
++ os=-seiux
++ ;;
++ sequent)
++ basic_machine=i386-sequent
++ ;;
++ sh)
++ basic_machine=sh-hitachi
++ os=-hms
++ ;;
++ sh5el)
++ basic_machine=sh5le-unknown
++ ;;
++ sh64)
++ basic_machine=sh64-unknown
++ ;;
++ sparclite-wrs | simso-wrs)
++ basic_machine=sparclite-wrs
++ os=-vxworks
++ ;;
++ sps7)
++ basic_machine=m68k-bull
++ os=-sysv2
++ ;;
++ spur)
++ basic_machine=spur-unknown
++ ;;
++ st2000)
++ basic_machine=m68k-tandem
++ ;;
++ stratus)
++ basic_machine=i860-stratus
++ os=-sysv4
++ ;;
++ strongarm-* | thumb-*)
++ basic_machine=arm-`echo $basic_machine | sed 's/^[^-]*-//'`
++ ;;
++ sun2)
++ basic_machine=m68000-sun
++ ;;
++ sun2os3)
++ basic_machine=m68000-sun
++ os=-sunos3
++ ;;
++ sun2os4)
++ basic_machine=m68000-sun
++ os=-sunos4
++ ;;
++ sun3os3)
++ basic_machine=m68k-sun
++ os=-sunos3
++ ;;
++ sun3os4)
++ basic_machine=m68k-sun
++ os=-sunos4
++ ;;
++ sun4os3)
++ basic_machine=sparc-sun
++ os=-sunos3
++ ;;
++ sun4os4)
++ basic_machine=sparc-sun
++ os=-sunos4
++ ;;
++ sun4sol2)
++ basic_machine=sparc-sun
++ os=-solaris2
++ ;;
++ sun3 | sun3-*)
++ basic_machine=m68k-sun
++ ;;
++ sun4)
++ basic_machine=sparc-sun
++ ;;
++ sun386 | sun386i | roadrunner)
++ basic_machine=i386-sun
++ ;;
++ sv1)
++ basic_machine=sv1-cray
++ os=-unicos
++ ;;
++ symmetry)
++ basic_machine=i386-sequent
++ os=-dynix
++ ;;
++ t3e)
++ basic_machine=alphaev5-cray
++ os=-unicos
++ ;;
++ t90)
++ basic_machine=t90-cray
++ os=-unicos
++ ;;
++ tile*)
++ basic_machine=$basic_machine-unknown
++ os=-linux-gnu
++ ;;
++ tx39)
++ basic_machine=mipstx39-unknown
++ ;;
++ tx39el)
++ basic_machine=mipstx39el-unknown
++ ;;
++ toad1)
++ basic_machine=pdp10-xkl
++ os=-tops20
++ ;;
++ tower | tower-32)
++ basic_machine=m68k-ncr
++ ;;
++ tpf)
++ basic_machine=s390x-ibm
++ os=-tpf
++ ;;
++ udi29k)
++ basic_machine=a29k-amd
++ os=-udi
++ ;;
++ ultra3)
++ basic_machine=a29k-nyu
++ os=-sym1
++ ;;
++ v810 | necv810)
++ basic_machine=v810-nec
++ os=-none
++ ;;
++ vaxv)
++ basic_machine=vax-dec
++ os=-sysv
++ ;;
++ vms)
++ basic_machine=vax-dec
++ os=-vms
++ ;;
++ vpp*|vx|vx-*)
++ basic_machine=f301-fujitsu
++ ;;
++ vxworks960)
++ basic_machine=i960-wrs
++ os=-vxworks
++ ;;
++ vxworks68)
++ basic_machine=m68k-wrs
++ os=-vxworks
++ ;;
++ vxworks29k)
++ basic_machine=a29k-wrs
++ os=-vxworks
++ ;;
++ wasm32)
++ basic_machine=wasm32-unknown
++ ;;
++ w65*)
++ basic_machine=w65-wdc
++ os=-none
++ ;;
++ w89k-*)
++ basic_machine=hppa1.1-winbond
++ os=-proelf
++ ;;
++ xbox)
++ basic_machine=i686-pc
++ os=-mingw32
++ ;;
++ xps | xps100)
++ basic_machine=xps100-honeywell
++ ;;
++ xscale-* | xscalee[bl]-*)
++ basic_machine=`echo $basic_machine | sed 's/^xscale/arm/'`
++ ;;
++ ymp)
++ basic_machine=ymp-cray
++ os=-unicos
++ ;;
++ z8k-*-coff)
++ basic_machine=z8k-unknown
++ os=-sim
++ ;;
++ z80-*-coff)
++ basic_machine=z80-unknown
++ os=-sim
++ ;;
++ none)
++ basic_machine=none-none
++ os=-none
++ ;;
++
++# Here we handle the default manufacturer of certain CPU types. It is in
++# some cases the only manufacturer, in others, it is the most popular.
++ w89k)
++ basic_machine=hppa1.1-winbond
++ ;;
++ op50n)
++ basic_machine=hppa1.1-oki
++ ;;
++ op60c)
++ basic_machine=hppa1.1-oki
++ ;;
++ romp)
++ basic_machine=romp-ibm
++ ;;
++ mmix)
++ basic_machine=mmix-knuth
++ ;;
++ rs6000)
++ basic_machine=rs6000-ibm
++ ;;
++ vax)
++ basic_machine=vax-dec
++ ;;
++ pdp10)
++ # there are many clones, so DEC is not a safe bet
++ basic_machine=pdp10-unknown
++ ;;
++ pdp11)
++ basic_machine=pdp11-dec
++ ;;
++ we32k)
++ basic_machine=we32k-att
++ ;;
++ sh[1234] | sh[24]a | sh[24]aeb | sh[34]eb | sh[1234]le | sh[23]ele)
++ basic_machine=sh-unknown
++ ;;
++ sparc | sparcv8 | sparcv9 | sparcv9b | sparcv9v)
++ basic_machine=sparc-sun
++ ;;
++ cydra)
++ basic_machine=cydra-cydrome
++ ;;
++ orion)
++ basic_machine=orion-highlevel
++ ;;
++ orion105)
++ basic_machine=clipper-highlevel
++ ;;
++ mac | mpw | mac-mpw)
++ basic_machine=m68k-apple
++ ;;
++ pmac | pmac-mpw)
++ basic_machine=powerpc-apple
++ ;;
++ *-unknown)
++ # Make sure to match an already-canonicalized machine name.
++ ;;
++ *)
++ echo Invalid configuration \`$1\': machine \`$basic_machine\' not recognized 1>&2
++ exit 1
++ ;;
++esac
++
++# Here we canonicalize certain aliases for manufacturers.
++case $basic_machine in
++ *-digital*)
++ basic_machine=`echo $basic_machine | sed 's/digital.*/dec/'`
++ ;;
++ *-commodore*)
++ basic_machine=`echo $basic_machine | sed 's/commodore.*/cbm/'`
++ ;;
++ *)
++ ;;
++esac
++
++# Decode manufacturer-specific aliases for certain operating systems.
++
++if [ x"$os" != x"" ]
++then
++case $os in
++ # First match some system type aliases
++ # that might get confused with valid system types.
++ # -solaris* is a basic system type, with this one exception.
++ -auroraux)
++ os=-auroraux
++ ;;
++ -solaris1 | -solaris1.*)
++ os=`echo $os | sed -e 's|solaris1|sunos4|'`
++ ;;
++ -solaris)
++ os=-solaris2
++ ;;
++ -svr4*)
++ os=-sysv4
++ ;;
++ -unixware*)
++ os=-sysv4.2uw
++ ;;
++ -gnu/linux*)
++ os=`echo $os | sed -e 's|gnu/linux|linux-gnu|'`
++ ;;
++ # First accept the basic system types.
++ # The portable systems comes first.
++ # Each alternative MUST END IN A *, to match a version number.
++ # -sysv* is not here because it comes later, after sysvr4.
++ -gnu* | -bsd* | -mach* | -minix* | -genix* | -ultrix* | -irix* \
++ | -*vms* | -sco* | -esix* | -isc* | -aix* | -cnk* | -sunos | -sunos[34]*\
++ | -hpux* | -unos* | -osf* | -luna* | -dgux* | -auroraux* | -solaris* \
++ | -sym* | -kopensolaris* | -plan9* \
++ | -amigaos* | -amigados* | -msdos* | -newsos* | -unicos* | -aof* \
++ | -aos* | -aros* | -cloudabi* | -sortix* \
++ | -nindy* | -vxsim* | -vxworks* | -ebmon* | -hms* | -mvs* \
++ | -clix* | -riscos* | -uniplus* | -iris* | -rtu* | -xenix* \
++ | -hiux* | -386bsd* | -knetbsd* | -mirbsd* | -netbsd* \
++ | -bitrig* | -openbsd* | -solidbsd* | -libertybsd* \
++ | -ekkobsd* | -kfreebsd* | -freebsd* | -riscix* | -lynxos* \
++ | -bosx* | -nextstep* | -cxux* | -aout* | -elf* | -oabi* \
++ | -ptx* | -coff* | -ecoff* | -winnt* | -domain* | -vsta* \
++ | -udi* | -eabi* | -lites* | -ieee* | -go32* | -aux* \
++ | -chorusos* | -chorusrdb* | -cegcc* | -glidix* \
++ | -cygwin* | -msys* | -pe* | -psos* | -moss* | -proelf* | -rtems* \
++ | -midipix* | -mingw32* | -mingw64* | -linux-gnu* | -linux-android* \
++ | -linux-newlib* | -linux-musl* | -linux-uclibc* \
++ | -uxpv* | -beos* | -mpeix* | -udk* | -moxiebox* \
++ | -interix* | -uwin* | -mks* | -rhapsody* | -darwin* | -opened* \
++ | -openstep* | -oskit* | -conix* | -pw32* | -nonstopux* \
++ | -storm-chaos* | -tops10* | -tenex* | -tops20* | -its* \
++ | -os2* | -vos* | -palmos* | -uclinux* | -nucleus* \
++ | -morphos* | -superux* | -rtmk* | -rtmk-nova* | -windiss* \
++ | -powermax* | -dnix* | -nx6 | -nx7 | -sei* | -dragonfly* \
++ | -skyos* | -haiku* | -rdos* | -toppers* | -drops* | -es* \
++ | -onefs* | -tirtos* | -phoenix* | -fuchsia* | -redox*)
++ # Remember, each alternative MUST END IN *, to match a version number.
++ ;;
++ -qnx*)
++ case $basic_machine in
++ x86-* | i*86-*)
++ ;;
++ *)
++ os=-nto$os
++ ;;
++ esac
++ ;;
++ -nto-qnx*)
++ ;;
++ -nto*)
++ os=`echo $os | sed -e 's|nto|nto-qnx|'`
++ ;;
++ -sim | -es1800* | -hms* | -xray | -os68k* | -none* | -v88r* \
++ | -windows* | -osx | -abug | -netware* | -os9* | -beos* | -haiku* \
++ | -macos* | -mpw* | -magic* | -mmixware* | -mon960* | -lnews*)
++ ;;
++ -mac*)
++ os=`echo $os | sed -e 's|mac|macos|'`
++ ;;
++ -linux-dietlibc)
++ os=-linux-dietlibc
++ ;;
++ -linux*)
++ os=`echo $os | sed -e 's|linux|linux-gnu|'`
++ ;;
++ -sunos5*)
++ os=`echo $os | sed -e 's|sunos5|solaris2|'`
++ ;;
++ -sunos6*)
++ os=`echo $os | sed -e 's|sunos6|solaris3|'`
++ ;;
++ -opened*)
++ os=-openedition
++ ;;
++ -os400*)
++ os=-os400
++ ;;
++ -wince*)
++ os=-wince
++ ;;
++ -osfrose*)
++ os=-osfrose
++ ;;
++ -osf*)
++ os=-osf
++ ;;
++ -utek*)
++ os=-bsd
++ ;;
++ -dynix*)
++ os=-bsd
++ ;;
++ -acis*)
++ os=-aos
++ ;;
++ -atheos*)
++ os=-atheos
++ ;;
++ -syllable*)
++ os=-syllable
++ ;;
++ -386bsd)
++ os=-bsd
++ ;;
++ -ctix* | -uts*)
++ os=-sysv
++ ;;
++ -nova*)
++ os=-rtmk-nova
++ ;;
++ -ns2 )
++ os=-nextstep2
++ ;;
++ -nsk*)
++ os=-nsk
++ ;;
++ # Preserve the version number of sinix5.
++ -sinix5.*)
++ os=`echo $os | sed -e 's|sinix|sysv|'`
++ ;;
++ -sinix*)
++ os=-sysv4
++ ;;
++ -tpf*)
++ os=-tpf
++ ;;
++ -triton*)
++ os=-sysv3
++ ;;
++ -oss*)
++ os=-sysv3
++ ;;
++ -svr4)
++ os=-sysv4
++ ;;
++ -svr3)
++ os=-sysv3
++ ;;
++ -sysvr4)
++ os=-sysv4
++ ;;
++ # This must come after -sysvr4.
++ -sysv*)
++ ;;
++ -ose*)
++ os=-ose
++ ;;
++ -es1800*)
++ os=-ose
++ ;;
++ -xenix)
++ os=-xenix
++ ;;
++ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
++ os=-mint
++ ;;
++ -aros*)
++ os=-aros
++ ;;
++ -zvmoe)
++ os=-zvmoe
++ ;;
++ -dicos*)
++ os=-dicos
++ ;;
++ -nacl*)
++ ;;
++ -ios)
++ ;;
++ -none)
++ ;;
++ *)
++ # Get rid of the `-' at the beginning of $os.
++ os=`echo $os | sed 's/[^-]*-//'`
++ echo Invalid configuration \`$1\': system \`$os\' not recognized 1>&2
++ exit 1
++ ;;
++esac
++else
++
++# Here we handle the default operating systems that come with various machines.
++# The value should be what the vendor currently ships out the door with their
++# machine or put another way, the most popular os provided with the machine.
++
++# Note that if you're going to try to match "-MANUFACTURER" here (say,
++# "-sun"), then you have to tell the case statement up towards the top
++# that MANUFACTURER isn't an operating system. Otherwise, code above
++# will signal an error saying that MANUFACTURER isn't an operating
++# system, and we'll never get to this point.
++
++case $basic_machine in
++ score-*)
++ os=-elf
++ ;;
++ spu-*)
++ os=-elf
++ ;;
++ *-acorn)
++ os=-riscix1.2
++ ;;
++ arm*-rebel)
++ os=-linux
++ ;;
++ arm*-semi)
++ os=-aout
++ ;;
++ c4x-* | tic4x-*)
++ os=-coff
++ ;;
++ c8051-*)
++ os=-elf
++ ;;
++ hexagon-*)
++ os=-elf
++ ;;
++ tic54x-*)
++ os=-coff
++ ;;
++ tic55x-*)
++ os=-coff
++ ;;
++ tic6x-*)
++ os=-coff
++ ;;
++ # This must come before the *-dec entry.
++ pdp10-*)
++ os=-tops20
++ ;;
++ pdp11-*)
++ os=-none
++ ;;
++ *-dec | vax-*)
++ os=-ultrix4.2
++ ;;
++ m68*-apollo)
++ os=-domain
++ ;;
++ i386-sun)
++ os=-sunos4.0.2
++ ;;
++ m68000-sun)
++ os=-sunos3
++ ;;
++ m68*-cisco)
++ os=-aout
++ ;;
++ mep-*)
++ os=-elf
++ ;;
++ mips*-cisco)
++ os=-elf
++ ;;
++ mips*-*)
++ os=-elf
++ ;;
++ or32-*)
++ os=-coff
++ ;;
++ *-tti) # must be before sparc entry or we get the wrong os.
++ os=-sysv3
++ ;;
++ sparc-* | *-sun)
++ os=-sunos4.1.1
++ ;;
++ pru-*)
++ os=-elf
++ ;;
++ *-be)
++ os=-beos
++ ;;
++ *-haiku)
++ os=-haiku
++ ;;
++ *-ibm)
++ os=-aix
++ ;;
++ *-knuth)
++ os=-mmixware
++ ;;
++ *-wec)
++ os=-proelf
++ ;;
++ *-winbond)
++ os=-proelf
++ ;;
++ *-oki)
++ os=-proelf
++ ;;
++ *-hp)
++ os=-hpux
++ ;;
++ *-hitachi)
++ os=-hiux
++ ;;
++ i860-* | *-att | *-ncr | *-altos | *-motorola | *-convergent)
++ os=-sysv
++ ;;
++ *-cbm)
++ os=-amigaos
++ ;;
++ *-dg)
++ os=-dgux
++ ;;
++ *-dolphin)
++ os=-sysv3
++ ;;
++ m68k-ccur)
++ os=-rtu
++ ;;
++ m88k-omron*)
++ os=-luna
++ ;;
++ *-next )
++ os=-nextstep
++ ;;
++ *-sequent)
++ os=-ptx
++ ;;
++ *-crds)
++ os=-unos
++ ;;
++ *-ns)
++ os=-genix
++ ;;
++ i370-*)
++ os=-mvs
++ ;;
++ *-next)
++ os=-nextstep3
++ ;;
++ *-gould)
++ os=-sysv
++ ;;
++ *-highlevel)
++ os=-bsd
++ ;;
++ *-encore)
++ os=-bsd
++ ;;
++ *-sgi)
++ os=-irix
++ ;;
++ *-siemens)
++ os=-sysv4
++ ;;
++ *-masscomp)
++ os=-rtu
++ ;;
++ f30[01]-fujitsu | f700-fujitsu)
++ os=-uxpv
++ ;;
++ *-rom68k)
++ os=-coff
++ ;;
++ *-*bug)
++ os=-coff
++ ;;
++ *-apple)
++ os=-macos
++ ;;
++ *-atari*)
++ os=-mint
++ ;;
++ *)
++ os=-none
++ ;;
++esac
++fi
++
++# Here we handle the case where we know the os, and the CPU type, but not the
++# manufacturer. We pick the logical manufacturer.
++vendor=unknown
++case $basic_machine in
++ *-unknown)
++ case $os in
++ -riscix*)
++ vendor=acorn
++ ;;
++ -sunos*)
++ vendor=sun
++ ;;
++ -cnk*|-aix*)
++ vendor=ibm
++ ;;
++ -beos*)
++ vendor=be
++ ;;
++ -hpux*)
++ vendor=hp
++ ;;
++ -mpeix*)
++ vendor=hp
++ ;;
++ -hiux*)
++ vendor=hitachi
++ ;;
++ -unos*)
++ vendor=crds
++ ;;
++ -dgux*)
++ vendor=dg
++ ;;
++ -luna*)
++ vendor=omron
++ ;;
++ -genix*)
++ vendor=ns
++ ;;
++ -mvs* | -opened*)
++ vendor=ibm
++ ;;
++ -os400*)
++ vendor=ibm
++ ;;
++ -ptx*)
++ vendor=sequent
++ ;;
++ -tpf*)
++ vendor=ibm
++ ;;
++ -vxsim* | -vxworks* | -windiss*)
++ vendor=wrs
++ ;;
++ -aux*)
++ vendor=apple
++ ;;
++ -hms*)
++ vendor=hitachi
++ ;;
++ -mpw* | -macos*)
++ vendor=apple
++ ;;
++ -*mint | -mint[0-9]* | -*MiNT | -MiNT[0-9]*)
++ vendor=atari
++ ;;
++ -vos*)
++ vendor=stratus
++ ;;
++ esac
++ basic_machine=`echo $basic_machine | sed "s/unknown/$vendor/"`
++ ;;
++esac
++
++echo $basic_machine$os
++exit
++
++# Local variables:
++# eval: (add-hook 'write-file-hooks 'time-stamp)
++# time-stamp-start: "timestamp='"
++# time-stamp-format: "%:y-%02m-%02d"
++# time-stamp-end: "'"
++# End:
+diff --git a/contrib/depends/description.md b/contrib/depends/description.md
+new file mode 100644
+index 00000000..74f9ef3f
+--- /dev/null
++++ b/contrib/depends/description.md
+@@ -0,0 +1,53 @@
++This is a system of building and caching dependencies necessary for building Bitcoin.
++There are several features that make it different from most similar systems:
++
++### It is designed to be builder and host agnostic
++
++In theory, binaries for any target OS/architecture can be created, from a
++builder running any OS/architecture. In practice, build-side tools must be
++specified when the defaults don't fit, and packages must be amended to work
++on new hosts. For now, a build architecture of x86_64 is assumed, either on
++Linux or OSX.
++
++### No reliance on timestamps
++
++File presence is used to determine what needs to be built. This makes the
++results distributable and easily digestable by automated builders.
++
++### Each build only has its specified dependencies available at build-time.
++
++For each build, the sysroot is wiped and the (recursive) dependencies are
++installed. This makes each build deterministic, since there will never be any
++unknown files available to cause side-effects.
++
++### Each package is cached and only rebuilt as needed.
++
++Before building, a unique build-id is generated for each package. This id
++consists of a hash of all files used to build the package (Makefiles, packages,
++etc), and as well as a hash of the same data for each recursive dependency. If
++any portion of a package's build recipe changes, it will be rebuilt as well as
++any other package that depends on it. If any of the main makefiles (Makefile,
++funcs.mk, etc) are changed, all packages will be rebuilt. After building, the
++results are cached into a tarball that can be re-used and distributed.
++
++### Package build results are (relatively) deterministic.
++
++Each package is configured and patched so that it will yield the same
++build-results with each consequent build, within a reasonable set of
++constraints. Some things like timestamp insertion are unavoidable, and are
++beyond the scope of this system. Additionally, the toolchain itself must be
++capable of deterministic results. When revisions are properly bumped, a cached
++build should represent an exact single payload.
++
++### Sources are fetched and verified automatically
++
++Each package must define its source location and checksum. The build will fail
++if the fetched source does not match. Sources may be pre-seeded and/or cached
++as desired.
++
++### Self-cleaning
++
++Build and staging dirs are wiped after use, and any previous version of a
++cached result is removed following a successful build. Automated builders
++should be able to build each revision and store the results with no further
++intervention.
+diff --git a/contrib/depends/funcs.mk b/contrib/depends/funcs.mk
+new file mode 100644
+index 00000000..e08669c9
+--- /dev/null
++++ b/contrib/depends/funcs.mk
+@@ -0,0 +1,270 @@
++define int_vars
++#Set defaults for vars which may be overridden per-package
++$(1)_cc=$($($(1)_type)_CC)
++$(1)_cxx=$($($(1)_type)_CXX)
++$(1)_objc=$($($(1)_type)_OBJC)
++$(1)_objcxx=$($($(1)_type)_OBJCXX)
++$(1)_ar=$($($(1)_type)_AR)
++$(1)_ranlib=$($($(1)_type)_RANLIB)
++$(1)_libtool=$($($(1)_type)_LIBTOOL)
++$(1)_nm=$($($(1)_type)_NM)
++$(1)_cflags=$($($(1)_type)_CFLAGS) $($($(1)_type)_$(release_type)_CFLAGS)
++$(1)_cxxflags=$($($(1)_type)_CXXFLAGS) $($($(1)_type)_$(release_type)_CXXFLAGS)
++$(1)_arflags=$($($(1)_type)_ARFLAGS) $($($(1)_type)_$(release_type)_ARFLAGS)
++$(1)_ldflags=$($($(1)_type)_LDFLAGS) $($($(1)_type)_$(release_type)_LDFLAGS) -L$($($(1)_type)_prefix)/lib
++$(1)_cppflags=$($($(1)_type)_CPPFLAGS) $($($(1)_type)_$(release_type)_CPPFLAGS) -I$($($(1)_type)_prefix)/include
++$(1)_recipe_hash:=
++endef
++
++define int_get_all_dependencies
++$(sort $(foreach dep,$(2),$(2) $(call int_get_all_dependencies,$(1),$($(dep)_dependencies))))
++endef
++
++define fetch_file_inner
++ ( mkdir -p $$($(1)_download_dir) && echo Fetching $(3) from $(2) && \
++ $(build_DOWNLOAD) "$$($(1)_download_dir)/$(4).temp" "$(2)/$(3)" && \
++ echo "$(5) $$($(1)_download_dir)/$(4).temp" > $$($(1)_download_dir)/.$(4).hash && \
++ $(build_SHA256SUM) -c $$($(1)_download_dir)/.$(4).hash && \
++ mv $$($(1)_download_dir)/$(4).temp $$($(1)_source_dir)/$(4) && \
++ rm -rf $$($(1)_download_dir) )
++endef
++
++define fetch_file
++ ( test -f $$($(1)_source_dir)/$(4) || \
++ ( $(call fetch_file_inner,$(1),$(2),$(3),$(4),$(5)) || \
++ $(call fetch_file_inner,$(1),$(FALLBACK_DOWNLOAD_PATH),$(4),$(4),$(5))))
++endef
++
++define int_get_build_recipe_hash
++$(eval $(1)_all_file_checksums:=$(shell $(build_SHA256SUM) $(meta_depends) packages/$(1).mk $(addprefix $(PATCHES_PATH)/$(1)/,$($(1)_patches)) | cut -d" " -f1))
++$(eval $(1)_recipe_hash:=$(shell echo -n "$($(1)_all_file_checksums)" | $(build_SHA256SUM) | cut -d" " -f1))
++endef
++
++define int_get_build_id
++$(eval $(1)_dependencies += $($(1)_$(host_arch)_$(host_os)_dependencies) $($(1)_$(host_os)_dependencies))
++$(eval $(1)_all_dependencies:=$(call int_get_all_dependencies,$(1),$($($(1)_type)_native_toolchain) $($(1)_dependencies)))
++$(foreach dep,$($(1)_all_dependencies),$(eval $(1)_build_id_deps+=$(dep)-$($(dep)_version)-$($(dep)_recipe_hash)))
++$(eval $(1)_build_id_long:=$(1)-$($(1)_version)-$($(1)_recipe_hash)-$(release_type) $($(1)_build_id_deps) $($($(1)_type)_id_string))
++$(eval $(1)_build_id:=$(shell echo -n "$($(1)_build_id_long)" | $(build_SHA256SUM) | cut -c-$(HASH_LENGTH)))
++final_build_id_long+=$($(package)_build_id_long)
++
++#compute package-specific paths
++$(1)_build_subdir?=.
++$(1)_download_file?=$($(1)_file_name)
++$(1)_source_dir:=$(SOURCES_PATH)
++$(1)_source:=$$($(1)_source_dir)/$($(1)_file_name)
++$(1)_staging_dir=$(base_staging_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)
++$(1)_staging_prefix_dir:=$$($(1)_staging_dir)$($($(1)_type)_prefix)
++$(1)_extract_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)
++$(1)_download_dir:=$(base_download_dir)/$(1)-$($(1)_version)
++$(1)_build_dir:=$$($(1)_extract_dir)/$$($(1)_build_subdir)
++$(1)_cached_checksum:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_build_id).tar.gz.hash
++$(1)_patch_dir:=$(base_build_dir)/$(host)/$(1)/$($(1)_version)-$($(1)_build_id)/.patches-$($(1)_build_id)
++$(1)_prefixbin:=$($($(1)_type)_prefix)/bin/
++$(1)_cached:=$(BASE_CACHE)/$(host)/$(1)/$(1)-$($(1)_version)-$($(1)_build_id).tar.gz
++$(1)_all_sources=$($(1)_file_name) $($(1)_extra_sources)
++
++#stamps
++$(1)_fetched=$(SOURCES_PATH)/download-stamps/.stamp_fetched-$(1)-$($(1)_file_name).hash
++$(1)_extracted=$$($(1)_extract_dir)/.stamp_extracted
++$(1)_preprocessed=$$($(1)_extract_dir)/.stamp_preprocessed
++$(1)_cleaned=$$($(1)_extract_dir)/.stamp_cleaned
++$(1)_built=$$($(1)_build_dir)/.stamp_built
++$(1)_configured=$$($(1)_build_dir)/.stamp_configured
++$(1)_staged=$$($(1)_staging_dir)/.stamp_staged
++$(1)_postprocessed=$$($(1)_staging_prefix_dir)/.stamp_postprocessed
++$(1)_download_path_fixed=$(subst :,\:,$$($(1)_download_path))
++
++
++#default commands
++$(1)_fetch_cmds ?= $(call fetch_file,$(1),$(subst \:,:,$$($(1)_download_path_fixed)),$$($(1)_download_file),$($(1)_file_name),$($(1)_sha256_hash))
++$(1)_extract_cmds ?= mkdir -p $$($(1)_extract_dir) && echo "$$($(1)_sha256_hash) $$($(1)_source)" > $$($(1)_extract_dir)/.$$($(1)_file_name).hash && $(build_SHA256SUM) -c $$($(1)_extract_dir)/.$$($(1)_file_name).hash && tar --strip-components=1 -xf $$($(1)_source)
++$(1)_preprocess_cmds ?=
++$(1)_build_cmds ?=
++$(1)_config_cmds ?=
++$(1)_stage_cmds ?=
++$(1)_set_vars ?=
++
++
++all_sources+=$$($(1)_fetched)
++endef
++#$(foreach dep_target,$($(1)_all_dependencies),$(eval $(1)_dependency_targets=$($(dep_target)_cached)))
++
++
++define int_config_attach_build_config
++$(eval $(call $(1)_set_vars,$(1)))
++$(1)_cflags+=$($(1)_cflags_$(release_type))
++$(1)_cflags+=$($(1)_cflags_$(host_arch)) $($(1)_cflags_$(host_arch)_$(release_type))
++$(1)_cflags+=$($(1)_cflags_$(host_os)) $($(1)_cflags_$(host_os)_$(release_type))
++$(1)_cflags+=$($(1)_cflags_$(host_arch)_$(host_os)) $($(1)_cflags_$(host_arch)_$(host_os)_$(release_type))
++
++$(1)_cxxflags+=$($(1)_cxxflags_$(release_type))
++$(1)_cxxflags+=$($(1)_cxxflags_$(host_arch)) $($(1)_cxxflags_$(host_arch)_$(release_type))
++$(1)_cxxflags+=$($(1)_cxxflags_$(host_os)) $($(1)_cxxflags_$(host_os)_$(release_type))
++$(1)_cxxflags+=$($(1)_cxxflags_$(host_arch)_$(host_os)) $($(1)_cxxflags_$(host_arch)_$(host_os)_$(release_type))
++
++$(1)_arflags+=$($(1)_arflags_$(release_type))
++$(1)_arflags+=$($(1)_arflags_$(host_arch)) $($(1)_arflags_$(host_arch)_$(release_type))
++$(1)_arflags+=$($(1)_arflags_$(host_os)) $($(1)_arflags_$(host_os)_$(release_type))
++$(1)_arflags+=$($(1)_arflags_$(host_arch)_$(host_os)) $($(1)_arflags_$(host_arch)_$(host_os)_$(release_type))
++
++$(1)_cppflags+=$($(1)_cppflags_$(release_type))
++$(1)_cppflags+=$($(1)_cppflags_$(host_arch)) $($(1)_cppflags_$(host_arch)_$(release_type))
++$(1)_cppflags+=$($(1)_cppflags_$(host_os)) $($(1)_cppflags_$(host_os)_$(release_type))
++$(1)_cppflags+=$($(1)_cppflags_$(host_arch)_$(host_os)) $($(1)_cppflags_$(host_arch)_$(host_os)_$(release_type))
++
++$(1)_ldflags+=$($(1)_ldflags_$(release_type))
++$(1)_ldflags+=$($(1)_ldflags_$(host_arch)) $($(1)_ldflags_$(host_arch)_$(release_type))
++$(1)_ldflags+=$($(1)_ldflags_$(host_os)) $($(1)_ldflags_$(host_os)_$(release_type))
++$(1)_ldflags+=$($(1)_ldflags_$(host_arch)_$(host_os)) $($(1)_ldflags_$(host_arch)_$(host_os)_$(release_type))
++
++$(1)_build_opts+=$$($(1)_build_opts_$(release_type))
++$(1)_build_opts+=$$($(1)_build_opts_$(host_arch)) $$($(1)_build_opts_$(host_arch)_$(release_type))
++$(1)_build_opts+=$$($(1)_build_opts_$(host_os)) $$($(1)_build_opts_$(host_os)_$(release_type))
++$(1)_build_opts+=$$($(1)_build_opts_$(host_arch)_$(host_os)) $$($(1)_build_opts_$(host_arch)_$(host_os)_$(release_type))
++
++$(1)_config_opts+=$$($(1)_config_opts_$(release_type))
++$(1)_config_opts+=$$($(1)_config_opts_$(host_arch)) $$($(1)_config_opts_$(host_arch)_$(release_type))
++$(1)_config_opts+=$$($(1)_config_opts_$(host_os)) $$($(1)_config_opts_$(host_os)_$(release_type))
++$(1)_config_opts+=$$($(1)_config_opts_$(host_arch)_$(host_os)) $$($(1)_config_opts_$(host_arch)_$(host_os)_$(release_type))
++
++$(1)_config_env+=$$($(1)_config_env_$(release_type))
++$(1)_config_env+=$($(1)_config_env_$(host_arch)) $($(1)_config_env_$(host_arch)_$(release_type))
++$(1)_config_env+=$($(1)_config_env_$(host_os)) $($(1)_config_env_$(host_os)_$(release_type))
++$(1)_config_env+=$($(1)_config_env_$(host_arch)_$(host_os)) $($(1)_config_env_$(host_arch)_$(host_os)_$(release_type))
++
++$(1)_build_env+=$$($(1)_build_env_$(release_type))
++$(1)_build_env+=$($(1)_build_env_$(host_arch)) $($(1)_build_env_$(host_arch)_$(release_type))
++$(1)_build_env+=$($(1)_build_env_$(host_os)) $($(1)_build_env_$(host_os)_$(release_type))
++$(1)_build_env+=$($(1)_build_env_$(host_arch)_$(host_os)) $($(1)_build_env_$(host_arch)_$(host_os)_$(release_type))
++
++$(1)_config_env+=PKG_CONFIG_LIBDIR=$($($(1)_type)_prefix)/lib/pkgconfig
++$(1)_config_env+=PKG_CONFIG_PATH=$($($(1)_type)_prefix)/share/pkgconfig
++$(1)_config_env+=PATH="$(build_prefix)/bin:$(PATH)"
++$(1)_build_env+=PATH="$(build_prefix)/bin:$(PATH)"
++$(1)_stage_env+=PATH="$(build_prefix)/bin:$(PATH)"
++$(1)_autoconf=./configure --host=$($($(1)_type)_host) --prefix=$($($(1)_type)_prefix) $$($(1)_config_opts) CC="$$($(1)_cc)" CXX="$$($(1)_cxx)"
++
++ifeq ($(filter $(1),libusb unbound),)
++$(1)_autoconf += --disable-dependency-tracking
++endif
++ifneq ($($(1)_nm),)
++$(1)_autoconf += NM="$$($(1)_nm)"
++endif
++ifneq ($($(1)_ranlib),)
++$(1)_autoconf += RANLIB="$$($(1)_ranlib)"
++endif
++ifneq ($($(1)_ar),)
++$(1)_autoconf += AR="$$($(1)_ar)"
++endif
++ifneq ($($(1)_arflags),)
++$(1)_autoconf += ARFLAGS="$$($(1)_arflags)"
++endif
++ifneq ($($(1)_cflags),)
++$(1)_autoconf += CFLAGS="$$($(1)_cflags)"
++endif
++ifneq ($($(1)_cxxflags),)
++$(1)_autoconf += CXXFLAGS="$$($(1)_cxxflags)"
++endif
++ifneq ($($(1)_cppflags),)
++$(1)_autoconf += CPPFLAGS="$$($(1)_cppflags)"
++endif
++ifneq ($($(1)_ldflags),)
++$(1)_autoconf += LDFLAGS="$$($(1)_ldflags)"
++endif
++endef
++
++define int_add_cmds
++$($(1)_fetched):
++ $(AT)mkdir -p $$(@D) $(SOURCES_PATH)
++ $(AT)rm -f $$@
++ $(AT)touch $$@
++ $(AT)cd $$(@D); $(call $(1)_fetch_cmds,$(1))
++ $(AT)cd $($(1)_source_dir); $(foreach source,$($(1)_all_sources),$(build_SHA256SUM) $(source) >> $$(@);)
++ $(AT)touch $$@
++$($(1)_extracted): | $($(1)_fetched)
++ $(AT)echo Extracting $(1)...
++ $(AT)mkdir -p $$(@D)
++ $(AT)cd $$(@D); $(call $(1)_extract_cmds,$(1))
++ $(AT)touch $$@
++$($(1)_preprocessed): | $($(1)_dependencies) $($(1)_extracted)
++ $(AT)echo Preprocessing $(1)...
++ $(AT)mkdir -p $$(@D) $($(1)_patch_dir)
++ $(AT)$(foreach patch,$($(1)_patches),cd $(PATCHES_PATH)/$(1); cp $(patch) $($(1)_patch_dir) ;)
++ $(AT)cd $$(@D); $(call $(1)_preprocess_cmds, $(1))
++ $(AT)touch $$@
++$($(1)_configured): | $($(1)_preprocessed)
++ $(AT)echo Configuring $(1)...
++ $(AT)rm -rf $(host_prefix); mkdir -p $(host_prefix)/lib; cd $(host_prefix); $(foreach package,$($(1)_all_dependencies), tar xf $($(package)_cached); )
++ $(AT)mkdir -p $$(@D)
++ $(AT)+cd $$(@D); $($(1)_config_env) $(call $(1)_config_cmds, $(1))
++ $(AT)touch $$@
++$($(1)_built): | $($(1)_configured)
++ $(AT)echo Building $(1)...
++ $(AT)mkdir -p $$(@D)
++ $(AT)+cd $$(@D); $($(1)_build_env) $(call $(1)_build_cmds, $(1))
++ $(AT)touch $$@
++$($(1)_staged): | $($(1)_built)
++ $(AT)echo Staging $(1)...
++ $(AT)mkdir -p $($(1)_staging_dir)/$(host_prefix)
++ $(AT)cd $($(1)_build_dir); $($(1)_stage_env) $(call $(1)_stage_cmds, $(1))
++ $(AT)rm -rf $($(1)_extract_dir)
++ $(AT)touch $$@
++$($(1)_postprocessed): | $($(1)_staged)
++ $(AT)echo Postprocessing $(1)...
++ $(AT)cd $($(1)_staging_prefix_dir); $(call $(1)_postprocess_cmds)
++ $(AT)touch $$@
++$($(1)_cached): | $($(1)_dependencies) $($(1)_postprocessed)
++ $(AT)echo Caching $(1)...
++ $(AT)cd $$($(1)_staging_dir)/$(host_prefix); find . | sort | tar --no-recursion -czf $$($(1)_staging_dir)/$$(@F) -T -
++ $(AT)mkdir -p $$(@D)
++ $(AT)rm -rf $$(@D) && mkdir -p $$(@D)
++ $(AT)mv $$($(1)_staging_dir)/$$(@F) $$(@)
++ $(AT)rm -rf $($(1)_staging_dir)
++$($(1)_cached_checksum): $($(1)_cached)
++ $(AT)cd $$(@D); $(build_SHA256SUM) $$(<F) > $$(@)
++
++.PHONY: $(1)
++$(1): | $($(1)_cached_checksum)
++.SECONDARY: $($(1)_cached) $($(1)_postprocessed) $($(1)_staged) $($(1)_built) $($(1)_configured) $($(1)_preprocessed) $($(1)_extracted) $($(1)_fetched)
++
++endef
++
++stages = fetched extracted preprocessed configured built staged postprocessed cached cached_checksum
++
++define ext_add_stages
++$(foreach stage,$(stages),
++ $(1)_$(stage): $($(1)_$(stage))
++ .PHONY: $(1)_$(stage))
++endef
++
++# These functions create the build targets for each package. They must be
++# broken down into small steps so that each part is done for all packages
++# before moving on to the next step. Otherwise, a package's info
++# (build-id for example) would only be available to another package if it
++# happened to be computed already.
++
++#set the type for host/build packages.
++$(foreach native_package,$(native_packages),$(eval $(native_package)_type=build))
++$(foreach package,$(packages),$(eval $(package)_type=$(host_arch)_$(host_os)))
++
++#set overridable defaults
++$(foreach package,$(all_packages),$(eval $(call int_vars,$(package))))
++
++#include package files
++$(foreach package,$(all_packages),$(eval include packages/$(package).mk))
++
++#compute a hash of all files that comprise this package's build recipe
++$(foreach package,$(all_packages),$(eval $(call int_get_build_recipe_hash,$(package))))
++
++#generate a unique id for this package, incorporating its dependencies as well
++$(foreach package,$(all_packages),$(eval $(call int_get_build_id,$(package))))
++
++#compute final vars after reading package vars
++$(foreach package,$(all_packages),$(eval $(call int_config_attach_build_config,$(package))))
++
++#create build targets
++$(foreach package,$(all_packages),$(eval $(call int_add_cmds,$(package))))
++
++#special exception: if a toolchain package exists, all non-native packages depend on it
++$(foreach package,$(packages),$(eval $($(package)_unpacked): |$($($(host_arch)_$(host_os)_native_toolchain)_cached) ))
+diff --git a/contrib/depends/hosts/android.mk b/contrib/depends/hosts/android.mk
+new file mode 100644
+index 00000000..d6f8b99d
+--- /dev/null
++++ b/contrib/depends/hosts/android.mk
+@@ -0,0 +1,22 @@
++ANDROID_API=21
++
++ifeq ($(host_arch),arm)
++host_toolchain=arm-linux-androideabi-
++endif
++
++android_CC=$(host_toolchain)clang
++android_CXX=$(host_toolchain)clang++
++android_RANLIB=:
++
++android_CFLAGS=-pipe
++android_CXXFLAGS=$(android_CFLAGS)
++android_ARFLAGS=crsD
++
++android_release_CFLAGS=-O2
++android_release_CXXFLAGS=$(android_release_CFLAGS)
++
++android_debug_CFLAGS=-g -O0
++android_debug_CXXFLAGS=$(android_debug_CFLAGS)
++
++android_native_toolchain=android_ndk
++
+diff --git a/contrib/depends/hosts/darwin.mk b/contrib/depends/hosts/darwin.mk
+new file mode 100644
+index 00000000..cbe79508
+--- /dev/null
++++ b/contrib/depends/hosts/darwin.mk
+@@ -0,0 +1,23 @@
++OSX_MIN_VERSION=10.8
++LD64_VERSION=609
++ifeq (aarch64, $(host_arch))
++CC_target=arm64-apple-$(host_os)
++else
++CC_target=$(host)
++endif
++darwin_CC=clang -target $(CC_target) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(host_prefix)/native/SDK/ -mlinker-version=$(LD64_VERSION) -B$(host_prefix)/native/bin/$(host)-
++darwin_CXX=clang++ -target $(CC_target) -mmacosx-version-min=$(OSX_MIN_VERSION) --sysroot $(host_prefix)/native/SDK/ -mlinker-version=$(LD64_VERSION) -stdlib=libc++ -B$(host_prefix)/native/bin/$(host)-
++
++darwin_RANLIB=$(host_prefix)/native/bin/$(host)-ranlib
++
++darwin_CFLAGS=-pipe
++darwin_CXXFLAGS=$(darwin_CFLAGS)
++darwin_ARFLAGS=cr
++
++darwin_release_CFLAGS=-O1
++darwin_release_CXXFLAGS=$(darwin_release_CFLAGS)
++
++darwin_debug_CFLAGS=-O1
++darwin_debug_CXXFLAGS=$(darwin_debug_CFLAGS)
++
++darwin_native_toolchain=native_cctools darwin_sdk
+diff --git a/contrib/depends/hosts/default.mk b/contrib/depends/hosts/default.mk
+new file mode 100644
+index 00000000..2e7f9fa2
+--- /dev/null
++++ b/contrib/depends/hosts/default.mk
+@@ -0,0 +1,26 @@
++default_host_CC = $(host_toolchain)gcc
++default_host_CXX = $(host_toolchain)g++
++default_host_AR = $(host_toolchain)ar
++default_host_RANLIB = $(host_toolchain)ranlib
++default_host_STRIP = $(host_toolchain)strip
++default_host_LIBTOOL = $(host_toolchain)libtool
++default_host_INSTALL_NAME_TOOL = $(host_toolchain)install_name_tool
++default_host_OTOOL = $(host_toolchain)otool
++default_host_NM = $(host_toolchain)nm
++
++define add_host_tool_func
++$(host_os)_$1?=$$(default_host_$1)
++$(host_arch)_$(host_os)_$1?=$$($(host_os)_$1)
++$(host_arch)_$(host_os)_$(release_type)_$1?=$$($(host_os)_$1)
++host_$1=$$($(host_arch)_$(host_os)_$1)
++endef
++
++define add_host_flags_func
++$(host_arch)_$(host_os)_$1 += $($(host_os)_$1)
++$(host_arch)_$(host_os)_$(release_type)_$1 += $($(host_os)_$(release_type)_$1)
++host_$1 = $$($(host_arch)_$(host_os)_$1)
++host_$(release_type)_$1 = $$($(host_arch)_$(host_os)_$(release_type)_$1)
++endef
++
++$(foreach tool,CC CXX AR RANLIB STRIP NM LIBTOOL OTOOL INSTALL_NAME_TOOL,$(eval $(call add_host_tool_func,$(tool))))
++$(foreach flags,CFLAGS CXXFLAGS ARFLAGS CPPFLAGS LDFLAGS, $(eval $(call add_host_flags_func,$(flags))))
+diff --git a/contrib/depends/hosts/freebsd.mk b/contrib/depends/hosts/freebsd.mk
+new file mode 100644
+index 00000000..2e3b5933
+--- /dev/null
++++ b/contrib/depends/hosts/freebsd.mk
+@@ -0,0 +1,18 @@
++freebsd_CC=clang-8
++freebsd_CXX=clang++-8
++freebsd_AR=ar
++freebsd_RANLIB=ranlib
++freebsd_NM=nm
++
++freebsd_CFLAGS=-pipe
++freebsd_CXXFLAGS=$(freebsd_CFLAGS)
++freebsd_ARFLAGS=cr
++
++freebsd_release_CFLAGS=-O2
++freebsd_release_CXXFLAGS=$(freebsd_release_CFLAGS)
++
++freebsd_debug_CFLAGS=-g -O0
++freebsd_debug_CXXFLAGS=$(freebsd_debug_CFLAGS)
++
++freebsd_native_toolchain=freebsd_base
++
+diff --git a/contrib/depends/hosts/linux.mk b/contrib/depends/hosts/linux.mk
+new file mode 100644
+index 00000000..b79799f3
+--- /dev/null
++++ b/contrib/depends/hosts/linux.mk
+@@ -0,0 +1,32 @@
++linux_CFLAGS=-pipe
++linux_CXXFLAGS=$(linux_CFLAGS)
++linux_ARFLAGS=cr
++
++linux_release_CFLAGS=-O2
++linux_release_CXXFLAGS=$(linux_release_CFLAGS)
++
++linux_debug_CFLAGS=-O1
++linux_debug_CXXFLAGS=$(linux_debug_CFLAGS)
++
++linux_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
++
++ifeq (86,$(findstring 86,$(build_arch)))
++i686_linux_CC=i686-linux-gnu-gcc
++i686_linux_CXX=i686-linux-gnu-g++
++i686_linux_AR=ar
++i686_linux_RANLIB=ranlib
++i686_linux_NM=nm
++i686_linux_STRIP=strip
++
++x86_64_linux_CC=x86_64-linux-gnu-gcc
++x86_64_linux_CXX=x86_64-linux-gnu-g++
++x86_64_linux_AR=ar
++x86_64_linux_RANLIB=ranlib
++x86_64_linux_NM=nm
++x86_64_linux_STRIP=strip
++else
++i686_linux_CC=$(default_host_CC) -m32
++i686_linux_CXX=$(default_host_CXX) -m32
++x86_64_linux_CC=$(default_host_CC) -m64
++x86_64_linux_CXX=$(default_host_CXX) -m64
++endif
+diff --git a/contrib/depends/hosts/mingw32.mk b/contrib/depends/hosts/mingw32.mk
+new file mode 100644
+index 00000000..ccc4c508
+--- /dev/null
++++ b/contrib/depends/hosts/mingw32.mk
+@@ -0,0 +1,11 @@
++mingw32_CFLAGS=-pipe
++mingw32_CXXFLAGS=$(mingw32_CFLAGS)
++mingw32_ARFLAGS=cr
++
++mingw32_release_CFLAGS=-O2
++mingw32_release_CXXFLAGS=$(mingw32_release_CFLAGS)
++
++mingw32_debug_CFLAGS=-O1
++mingw32_debug_CXXFLAGS=$(mingw32_debug_CFLAGS)
++
++mingw32_debug_CPPFLAGS=-D_GLIBCXX_DEBUG -D_GLIBCXX_DEBUG_PEDANTIC
+diff --git a/contrib/depends/packages.md b/contrib/depends/packages.md
+new file mode 100644
+index 00000000..ae5b4732
+--- /dev/null
++++ b/contrib/depends/packages.md
+@@ -0,0 +1,165 @@
++Each recipe consists of 3 main parts: defining identifiers, setting build
++variables, and defining build commands.
++
++The package "mylib" will be used here as an example
++
++General tips:
++- mylib_foo is written as $(package)_foo in order to make recipes more similar.
++
++## Identifiers
++Each package is required to define at least these variables:
++
++```
++$(package)_version:
++Version of the upstream library or program. If there is no version, a
++placeholder such as 1.0 can be used.
++
++$(package)_download_path:
++Location of the upstream source, without the file-name. Usually http or
++ftp.
++
++$(package)_file_name:
++The upstream source filename available at the download path.
++
++$(package)_sha256_hash:
++The sha256 hash of the upstream file
++```
++
++These variables are optional:
++
++```
++$(package)_build_subdir:
++cd to this dir before running configure/build/stage commands.
++
++$(package)_download_file:
++The file-name of the upstream source if it differs from how it should be
++stored locally. This can be used to avoid storing file-names with strange
++characters.
++
++$(package)_dependencies:
++Names of any other packages that this one depends on.
++
++$(package)_patches:
++Filenames of any patches needed to build the package
++
++$(package)_extra_sources:
++Any extra files that will be fetched via $(package)_fetch_cmds. These are
++specified so that they can be fetched and verified via 'make download'.
++```
++
++
++## Build Variables:
++After defining the main identifiers, build variables may be added or customized
++before running the build commands. They should be added to a function called
++$(package)_set_vars. For example:
++
++```
++define $(package)_set_vars
++...
++endef
++```
++
++Most variables can be prefixed with the host, architecture, or both, to make
++the modifications specific to that case. For example:
++
++```
++Universal: $(package)_cc=gcc
++Linux only: $(package)_linux_cc=gcc
++x86_64 only: $(package)_x86_64_cc = gcc
++x86_64 linux only: $(package)_x86_64_linux_cc = gcc
++```
++
++These variables may be set to override or append their default values.
++
++```
++$(package)_cc
++$(package)_cxx
++$(package)_objc
++$(package)_objcxx
++$(package)_ar
++$(package)_ranlib
++$(package)_libtool
++$(package)_nm
++$(package)_cflags
++$(package)_cxxflags
++$(package)_ldflags
++$(package)_cppflags
++$(package)_config_env
++$(package)_build_env
++$(package)_stage_env
++$(package)_build_opts
++$(package)_config_opts
++```
++
++The `*_env` variables are used to add environment variables to the respective
++commands.
++
++Many variables respect a debug/release suffix as well, in order to use them for
++only the appropriate build config. For example:
++
++```
++$(package)_cflags_release = -O3
++$(package)_cflags_i686_debug = -g
++$(package)_config_opts_release = --disable-debug
++```
++
++These will be used in addition to the options that do not specify
++debug/release. All builds are considered to be release unless DEBUG=1 is set by
++the user. Other variables may be defined as needed.
++
++## Build commands:
++
++For each build, a unique build dir and staging dir are created. For example,
++`work/build/mylib/1.0-1adac830f6e` and `work/staging/mylib/1.0-1adac830f6e`.
++
++The following build commands are available for each recipe:
++
++```
++$(package)_fetch_cmds:
++Runs from: build dir
++Fetch the source file. If undefined, it will be fetched and verified
++against its hash.
++
++$(package)_extract_cmds:
++Runs from: build dir
++Verify the source file against its hash and extract it. If undefined, the
++source is assumed to be a tarball.
++
++$(package)_preprocess_cmds:
++Runs from: build dir/$(package)_build_subdir
++Preprocess the source as necessary. If undefined, does nothing.
++
++$(package)_config_cmds:
++Runs from: build dir/$(package)_build_subdir
++Configure the source. If undefined, does nothing.
++
++$(package)_build_cmds:
++Runs from: build dir/$(package)_build_subdir
++Build the source. If undefined, does nothing.
++
++$(package)_stage_cmds:
++Runs from: build dir/$(package)_build_subdir
++Stage the build results. If undefined, does nothing.
++```
++
++The following variables are available for each recipe:
++
++```
++$(1)_staging_dir: package's destination sysroot path
++$(1)_staging_prefix_dir: prefix path inside of the package's staging dir
++$(1)_extract_dir: path to the package's extracted sources
++$(1)_build_dir: path where configure/build/stage commands will be run
++$(1)_patch_dir: path where the package's patches (if any) are found
++```
++
++Notes on build commands:
++
++For packages built with autotools, `$($(package)_autoconf)` can be used in the
++configure step to (usually) correctly configure automatically. Any
++`$($(package)_config_opts`) will be appended.
++
++Most autotools projects can be properly staged using:
++
++```bash
++$(MAKE) DESTDIR=$($(package)_staging_dir) install
++```
+diff --git a/contrib/depends/packages/android_ndk.mk b/contrib/depends/packages/android_ndk.mk
+new file mode 100644
+index 00000000..5deff76c
+--- /dev/null
++++ b/contrib/depends/packages/android_ndk.mk
+@@ -0,0 +1,24 @@
++package=android_ndk
++$(package)_version=17b
++$(package)_download_path=https://dl.google.com/android/repository/
++$(package)_file_name=android-ndk-r$($(package)_version)-linux-x86_64.zip
++$(package)_sha256_hash=5dfbbdc2d3ba859fed90d0e978af87c71a91a5be1f6e1c40ba697503d48ccecd
++
++define $(package)_set_vars
++$(package)_config_opts_arm=--arch arm
++$(package)_config_opts_aarch64=--arch arm64
++$(package)_config_opts_x86_64=--arch x86_64
++$(package)_config_opts_i686=--arch x86
++endef
++
++define $(package)_extract_cmds
++ echo $($(package)_sha256_hash) $($(1)_source_dir)/$($(package)_file_name) | sha256sum -c &&\
++ unzip -q $($(1)_source_dir)/$($(package)_file_name)
++endef
++
++define $(package)_stage_cmds
++ android-ndk-r$($(package)_version)/build/tools/make_standalone_toolchain.py --api 21 \
++ --install-dir $(build_prefix) --stl=libc++ $($(package)_config_opts) &&\
++ mv $(build_prefix) $($(package)_staging_dir)/$(host_prefix)
++endef
++
+diff --git a/contrib/depends/packages/boost.mk b/contrib/depends/packages/boost.mk
+new file mode 100644
+index 00000000..c7544e6a
+--- /dev/null
++++ b/contrib/depends/packages/boost.mk
+@@ -0,0 +1,49 @@
++package=boost
++$(package)_version=1_70_0
++$(package)_download_path=https://downloads.sourceforge.net/project/boost/boost/1.70.0/
++$(package)_file_name=$(package)_$($(package)_version).tar.bz2
++$(package)_sha256_hash=430ae8354789de4fd19ee52f3b1f739e1fba576f0aded0897c3c2bc00fb38778
++$(package)_dependencies=libiconv
++$(package)_patches=fix_aroptions.patch fix_arm_arch.patch fix_pthread_win.patch fix_pthread.patch
++
++define $(package)_set_vars
++$(package)_config_opts_release=variant=release
++$(package)_config_opts_debug=variant=debug
++$(package)_config_opts=--layout=tagged --build-type=complete --user-config=user-config.jam
++$(package)_config_opts+=threading=multi link=static -sNO_BZIP2=1 -sNO_ZLIB=1
++$(package)_config_opts_linux=threadapi=pthread runtime-link=static
++$(package)_config_opts_android=threadapi=pthread runtime-link=static target-os=android
++$(package)_config_opts_darwin=--toolset=darwin runtime-link=static
++$(package)_config_opts_mingw32=binary-format=pe target-os=windows threadapi=win32 runtime-link=static
++$(package)_config_opts_x86_64_mingw32=address-model=64
++$(package)_config_opts_i686_mingw32=address-model=32
++$(package)_config_opts_i686_linux=address-model=32 architecture=x86
++$(package)_toolset_$(host_os)=gcc
++$(package)_archiver_$(host_os)=$($(package)_ar)
++$(package)_toolset_darwin=darwin
++$(package)_archiver_darwin=$($(package)_libtool)
++$(package)_config_libraries=system,filesystem,thread,timer,date_time,chrono,regex,serialization,atomic,program_options,locale,log
++$(package)_cxxflags=-std=c++11
++$(package)_cxxflags_linux=-fPIC
++$(package)_cxxflags_freebsd=-fPIC
++endef
++
++define $(package)_preprocess_cmds
++ patch -p1 < $($(package)_patch_dir)/fix_aroptions.patch &&\
++ patch -p1 < $($(package)_patch_dir)/fix_arm_arch.patch &&\
++ patch -p1 < $($(package)_patch_dir)/fix_pthread_win.patch &&\
++ patch -p1 < $($(package)_patch_dir)/fix_pthread.patch &&\
++ echo "using $(boost_toolset_$(host_os)) : : $($(package)_cxx) : <cxxflags>\"$($(package)_cxxflags) $($(package)_cppflags)\" <linkflags>\"$($(package)_ldflags)\" <archiver>\"$(boost_archiver_$(host_os))\" <arflags>\"$($(package)_arflags)\" <striper>\"$(host_STRIP)\" <ranlib>\"$(host_RANLIB)\" <rc>\"$(host_WINDRES)\" : ;" > user-config.jam
++endef
++
++define $(package)_config_cmds
++ ./bootstrap.sh --without-icu --with-libraries=$(boost_config_libraries)
++endef
++
++define $(package)_build_cmds
++ ./b2 -d2 -j2 -d1 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) stage
++endef
++
++define $(package)_stage_cmds
++ ./b2 -d0 -j4 --prefix=$($(package)_staging_prefix_dir) $($(package)_config_opts) install
++endef
+diff --git a/contrib/depends/packages/darwin_sdk.mk b/contrib/depends/packages/darwin_sdk.mk
+new file mode 100644
+index 00000000..d639c422
+--- /dev/null
++++ b/contrib/depends/packages/darwin_sdk.mk
+@@ -0,0 +1,10 @@
++package=darwin_sdk
++$(package)_version=11.1
++$(package)_download_path=https://github.com/phracker/MacOSX-SDKs/releases/download/11.3/
++$(package)_file_name=MacOSX$($(package)_version).sdk.tar.xz
++$(package)_sha256_hash=68797baaacb52f56f713400de306a58a7ca00b05c3dc6d58f0a8283bcac721f8
++
++define $(package)_stage_cmds
++ mkdir -p $($(package)_staging_dir)/$(host_prefix)/native/SDK &&\
++ mv * $($(package)_staging_dir)/$(host_prefix)/native/SDK
++endef
+diff --git a/contrib/depends/packages/eudev.mk b/contrib/depends/packages/eudev.mk
+new file mode 100644
+index 00000000..6b6887e9
+--- /dev/null
++++ b/contrib/depends/packages/eudev.mk
+@@ -0,0 +1,30 @@
++package=eudev
++$(package)_version=v3.2.6
++$(package)_download_path=https://github.com/gentoo/eudev/archive/
++$(package)_download_file=$($(package)_version).tar.gz
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=a96ecb8637667897b8bd4dee4c22c7c5f08b327be45186e912ce6bc768385852
++
++define $(package)_set_vars
++ $(package)_config_opts=--disable-gudev --disable-introspection --disable-hwdb --disable-manpages --disable-shared
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
++endef
++
++define $(package)_build_cmd
++ $(MAKE)
++endef
++
++define $(package)_preprocess_cmds
++ cd $($(package)_build_subdir); autoreconf -f -i
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
++
++define $(package)_postprocess_cmds
++ rm lib/*.la
++endef
+diff --git a/contrib/depends/packages/expat.mk b/contrib/depends/packages/expat.mk
+new file mode 100644
+index 00000000..59024517
+--- /dev/null
++++ b/contrib/depends/packages/expat.mk
+@@ -0,0 +1,28 @@
++package=expat
++$(package)_version=2.6.0
++$(package)_download_path=https://github.com/libexpat/libexpat/releases/download/R_$(subst .,_,$($(package)_version))/
++$(package)_file_name=$(package)-$($(package)_version).tar.bz2
++$(package)_sha256_hash=ff60e6a6b6ce570ae012dc7b73169c7fdf4b6bf08c12ed0ec6f55736b78d85ba
++
++define $(package)_set_vars
++$(package)_config_opts=--disable-shared --without-docbook --without-tests --without-examples
++$(package)_config_opts+=--enable-option-checking --without-xmlwf --with-pic
++$(package)_config_opts+=--prefix=$(host_prefix)
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf)
++endef
++
++define $(package)_build_cmds
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
++
++define $(package)_postprocess_cmds
++ rm -rf share lib/cmake lib/*.la
++endef
++
+diff --git a/contrib/depends/packages/freebsd_base.mk b/contrib/depends/packages/freebsd_base.mk
+new file mode 100644
+index 00000000..ad9975f8
+--- /dev/null
++++ b/contrib/depends/packages/freebsd_base.mk
+@@ -0,0 +1,23 @@
++package=freebsd_base
++$(package)_version=11.3
++$(package)_download_path=https://download.freebsd.org/ftp/releases/amd64/$($(package)_version)-RELEASE/
++$(package)_download_file=base.txz
++$(package)_file_name=freebsd-base-$($(package)_version).txz
++$(package)_sha256_hash=4599023ac136325b86f2fddeec64c1624daa83657e40b00b2ef944c81463a4ff
++
++define $(package)_extract_cmds
++ echo $($(package)_sha256_hash) $($(1)_source_dir)/$($(package)_file_name) | sha256sum -c &&\
++ tar xf $($(1)_source_dir)/$($(package)_file_name) ./lib/ ./usr/lib/ ./usr/include/
++endef
++
++define $(package)_build_cmds
++ mkdir bin &&\
++ echo "#!/bin/sh\n\nexec /usr/bin/clang-8 -target x86_64-unknown-freebsd$($(package)_version) --sysroot=$(host_prefix)/native $$$$""@" > bin/clang-8 &&\
++ echo "#!/bin/sh\n\nexec /usr/bin/clang++-8 -target x86_64-unknown-freebsd$($(package)_version) --sysroot=$(host_prefix)/native $$$$""@" > bin/clang++-8 &&\
++ chmod 755 bin/*
++endef
++
++define $(package)_stage_cmds
++ mkdir $($(package)_staging_dir)/$(host_prefix)/native &&\
++ mv bin lib usr $($(package)_staging_dir)/$(host_prefix)/native
++endef
+diff --git a/contrib/depends/packages/graphviz.mk b/contrib/depends/packages/graphviz.mk
+new file mode 100644
+index 00000000..1c4bc1b7
+--- /dev/null
++++ b/contrib/depends/packages/graphviz.mk
+@@ -0,0 +1,30 @@
++package=graphviz
++$(package)_version=2.40.1
++$(package)_download_path=www.graphviz.org/pub/graphviz/stable/SOURCES/
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=ca5218fade0204d59947126c38439f432853543b0818d9d728c589dfe7f3a421
++
++define $(package)_preprocess_cmds
++ ./autogen.sh
++endef
++
++define $(package)_set_vars
++ $(package)_config_opts=--disable-shared --enable-multibye --without-purify --without-curses
++ $(package)_config_opts_release=--disable-debug-mode
++ $(package)_config_opts_linux=--with-pic
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf)
++endef
++
++define $(package)_build_cmds
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
++
++define $(package)_postprocess_cmds
++endef
+diff --git a/contrib/depends/packages/gtest.mk b/contrib/depends/packages/gtest.mk
+new file mode 100644
+index 00000000..1208d7c0
+--- /dev/null
++++ b/contrib/depends/packages/gtest.mk
+@@ -0,0 +1,39 @@
++package=gtest
++$(package)_version=1.8.1
++$(package)_download_path=https://github.com/google/googletest/archive/
++$(package)_download_file=release-$($(package)_version).tar.gz
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=9bf1fe5182a604b4135edc1a425ae356c9ad15e9b23f9f12a02e80184c3a249c
++$(package)_cxxflags=-std=c++11
++$(package)_cxxflags_linux=-fPIC
++
++define $(package)_config_cmds
++ cd googletest && \
++ CC="$(host_prefix)/native/bin/$($(package)_cc)" \
++ CXX="$(host_prefix)/native/bin/$($(package)_cxx)" \
++ AR="$(host_prefix)/native/bin/$($(package)_ar)" \
++ RANLIB="$(host_prefix)/native/bin/$($(package)_ranlib)" \
++ LIBTOOL="$(host_prefix)/native/bin/$($(package)_libtool)" \
++ CXXFLAGS="$($(package)_cxxflags)" \
++ CCFLAGS="$($(package)_ccflags)" \
++ CPPFLAGS="$($(package)_cppflags)" \
++ CFLAGS="$($(package)_cflags) $($(package)_cppflags)" \
++ LDLAGS="$($(package)_ldflags)" \
++ cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix) \
++ -DTOOLCHAIN_PREFIX=$(host_toolchain) \
++ -DCMAKE_AR="$(host_prefix)/native/bin/$($(package)_ar)" \
++ -DCMAKE_RANLIB="$(host_prefix)/native/bin/$($(package)_ranlib)" \
++ -DCMAKE_CXX_FLAGS_DEBUG=ON
++endef
++# -DCMAKE_TOOLCHAIN_FILE=$(HOST)/share/toolchain.cmake
++
++define $(package)_build_cmds
++ cd googletest && CC="$(host_prefix)/native/bin/$($(package)_cc)" $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ mkdir $($(package)_staging_prefix_dir)/lib $($(package)_staging_prefix_dir)/include &&\
++ cp googletest/libgtest.a $($(package)_staging_prefix_dir)/lib/ &&\
++ cp googletest/libgtest_main.a $($(package)_staging_prefix_dir)/lib/ &&\
++ cp -a googletest/include/* $($(package)_staging_prefix_dir)/include/
++endef
+diff --git a/contrib/depends/packages/hidapi.mk b/contrib/depends/packages/hidapi.mk
+new file mode 100644
+index 00000000..64935a36
+--- /dev/null
++++ b/contrib/depends/packages/hidapi.mk
+@@ -0,0 +1,38 @@
++package=hidapi
++$(package)_version=0.13.1
++$(package)_download_path=https://github.com/libusb/hidapi/archive/refs/tags
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=476a2c9a4dc7d1fc97dd223b84338dbea3809a84caea2dcd887d9778725490e3
++$(package)_linux_dependencies=libusb eudev
++$(package)_patches=missing_win_include.patch
++
++define $(package)_set_vars
++$(package)_config_opts=--enable-static --disable-shared
++$(package)_config_opts+=--prefix=$(host_prefix)
++$(package)_config_opts_linux+=libudev_LIBS="-L$(host_prefix)/lib -ludev"
++$(package)_config_opts_linux+=libudev_CFLAGS=-I$(host_prefix)/include
++$(package)_config_opts_linux+=libusb_LIBS="-L$(host_prefix)/lib -lusb-1.0"
++$(package)_config_opts_linux+=libusb_CFLAGS=-I$(host_prefix)/include/libusb-1.0
++$(package)_config_opts_linux+=--with-pic
++endef
++
++define $(package)_preprocess_cmds
++ patch -p1 < $($(package)_patch_dir)/missing_win_include.patch && ./bootstrap
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
++endef
++
++define $(package)_build_cmds
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
++
++define $(package)_postprocess_cmds
++ rm lib/*.la
++endef
++
+diff --git a/contrib/depends/packages/icu4c.mk b/contrib/depends/packages/icu4c.mk
+new file mode 100644
+index 00000000..58ae637b
+--- /dev/null
++++ b/contrib/depends/packages/icu4c.mk
+@@ -0,0 +1,27 @@
++package=icu4c
++$(package)_version=55.2
++$(package)_download_path=https://github.com/unicode-org/icu/releases/download/release-55-2/
++$(package)_file_name=$(package)-55_2-src.tgz
++$(package)_sha256_hash=eda2aa9f9c787748a2e2d310590720ca8bcc6252adf6b4cfb03b65bef9d66759
++$(package)_patches=icu-001-dont-build-static-dynamic-twice.patch
++
++define $(package)_set_vars
++ $(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -DU_USING_ICU_NAMESPACE=0 -DU_STATIC_IMPLEMENTATION -DU_COMBINED_IMPLEMENTATION -fPIC -DENABLE_STATIC=YES -DPGKDATA_MODE=static"
++endef
++
++define $(package)_config_cmds
++ patch -p1 < $($(package)_patch_dir)/icu-001-dont-build-static-dynamic-twice.patch &&\
++ mkdir builda &&\
++ mkdir buildb &&\
++ cd builda &&\
++ sh ../source/runConfigureICU Linux &&\
++ make &&\
++ cd ../buildb &&\
++ sh ../source/runConfigureICU MinGW --enable-static=yes --disable-shared --disable-layout --disable-layoutex --disable-tests --disable-samples --prefix=$(host_prefix) --with-cross-build=`pwd`/../builda &&\
++ $(MAKE) $($(package)_build_opts)
++endef
++
++define $(package)_stage_cmds
++ cd buildb &&\
++ $(MAKE) $($(package)_build_opts) DESTDIR=$($(package)_staging_dir) install lib/*
++endef
+diff --git a/contrib/depends/packages/libICE.mk b/contrib/depends/packages/libICE.mk
+new file mode 100644
+index 00000000..a897d9ae
+--- /dev/null
++++ b/contrib/depends/packages/libICE.mk
+@@ -0,0 +1,23 @@
++package=libICE
++$(package)_version=1.0.9
++$(package)_download_path=https://xorg.freedesktop.org/releases/individual/lib/
++$(package)_file_name=$(package)-$($(package)_version).tar.bz2
++$(package)_sha256_hash=8f7032f2c1c64352b5423f6b48a8ebdc339cc63064af34d66a6c9aa79759e202
++$(package)_dependencies=xtrans xproto
++
++define $(package)_set_vars
++ $(package)_config_opts=--disable-static --disable-docs --disable-specs --without-xsltproc
++ $(package)_config_opts_linux=--with-pic
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf)
++endef
++
++define $(package)_build_cmds
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
+diff --git a/contrib/depends/packages/libSM.mk b/contrib/depends/packages/libSM.mk
+new file mode 100644
+index 00000000..83fcd4cd
+--- /dev/null
++++ b/contrib/depends/packages/libSM.mk
+@@ -0,0 +1,23 @@
++package=libSM
++$(package)_version=1.2.2
++$(package)_download_path=https://xorg.freedesktop.org/releases/individual/lib/
++$(package)_file_name=$(package)-$($(package)_version).tar.bz2
++$(package)_sha256_hash=0baca8c9f5d934450a70896c4ad38d06475521255ca63b717a6510fdb6e287bd
++$(package)_dependencies=xtrans xproto libICE
++
++define $(package)_set_vars
++ $(package)_config_opts=--without-libuuid --without-xsltproc --disable-docs --disable-static
++ $(package)_config_opts_linux=--with-pic
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf)
++endef
++
++define $(package)_build_cmds
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
+diff --git a/contrib/depends/packages/libiconv.mk b/contrib/depends/packages/libiconv.mk
+new file mode 100644
+index 00000000..eac8b433
+--- /dev/null
++++ b/contrib/depends/packages/libiconv.mk
+@@ -0,0 +1,35 @@
++package=libiconv
++$(package)_version=1.15
++$(package)_download_path=https://ftp.gnu.org/gnu/libiconv
++$(package)_file_name=libiconv-$($(package)_version).tar.gz
++$(package)_sha256_hash=ccf536620a45458d26ba83887a983b96827001e92a13847b45e4925cc8913178
++$(package)_patches=fix-whitespace.patch
++
++define $(package)_set_vars
++ $(package)_config_opts=--disable-nls
++ $(package)_config_opts=--enable-static
++ $(package)_config_opts=--disable-shared
++ $(package)_config_opts_linux=--with-pic
++ $(package)_config_opts_freebsd=--with-pic
++endef
++
++define $(package)_preprocess_cmds
++ cp -f $(BASEDIR)/config.guess $(BASEDIR)/config.sub build-aux/ &&\
++ patch -p1 < $($(package)_patch_dir)/fix-whitespace.patch
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
++endef
++
++define $(package)_build_cmds
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
++
++define $(package)_postprocess_cmds
++ rm lib/*.la
++endef
+diff --git a/contrib/depends/packages/libusb.mk b/contrib/depends/packages/libusb.mk
+new file mode 100644
+index 00000000..c1d9fe6a
+--- /dev/null
++++ b/contrib/depends/packages/libusb.mk
+@@ -0,0 +1,39 @@
++package=libusb
++$(package)_version=1.0.26
++$(package)_download_path=https://github.com/libusb/libusb/releases/download/v$($(package)_version)
++$(package)_file_name=$(package)-$($(package)_version).tar.bz2
++$(package)_sha256_hash=12ce7a61fc9854d1d2a1ffe095f7b5fac19ddba095c259e6067a46500381b5a5
++
++define $(package)_preprocess_cmds
++ autoreconf -i
++endef
++
++define $(package)_set_vars
++ $(package)_config_opts=--disable-shared
++ $(package)_config_opts_linux=--with-pic --disable-udev
++ $(package)_config_opts_mingw32=--disable-udev
++ $(package)_config_opts_darwin=--disable-udev
++endef
++
++ifneq ($(host_os),darwin)
++ define $(package)_config_cmds
++ cp -f $(BASEDIR)/config.guess config.guess &&\
++ cp -f $(BASEDIR)/config.sub config.sub &&\
++ $($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
++ endef
++else
++ define $(package)_config_cmds
++ $($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
++ endef
++endif
++
++define $(package)_build_cmd
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
++
++define $(package)_postprocess_cmds cp -f lib/libusb-1.0.a lib/libusb.a
++endef
+diff --git a/contrib/depends/packages/native_biplist.mk b/contrib/depends/packages/native_biplist.mk
+new file mode 100644
+index 00000000..3c6e8900
+--- /dev/null
++++ b/contrib/depends/packages/native_biplist.mk
+@@ -0,0 +1,20 @@
++package=native_biplist
++$(package)_version=0.9
++$(package)_download_path=https://pypi.python.org/packages/source/b/biplist
++$(package)_file_name=biplist-$($(package)_version).tar.gz
++$(package)_sha256_hash=b57cadfd26e4754efdf89e9e37de87885f9b5c847b2615688ca04adfaf6ca604
++$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages
++$(package)_patches=sorted_list.patch
++
++define $(package)_preprocess_cmds
++ patch -p1 < $($(package)_patch_dir)/sorted_list.patch
++endef
++
++define $(package)_build_cmds
++ python setup.py build
++endef
++
++define $(package)_stage_cmds
++ mkdir -p $($(package)_install_libdir) && \
++ python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
++endef
+diff --git a/contrib/depends/packages/native_ccache.mk b/contrib/depends/packages/native_ccache.mk
+new file mode 100644
+index 00000000..966804ce
+--- /dev/null
++++ b/contrib/depends/packages/native_ccache.mk
+@@ -0,0 +1,25 @@
++package=native_ccache
++$(package)_version=3.3.4
++$(package)_download_path=https://samba.org/ftp/ccache
++$(package)_file_name=ccache-$($(package)_version).tar.bz2
++$(package)_sha256_hash=fa9d7f38367431bc86b19ad107d709ca7ecf1574fdacca01698bdf0a47cd8567
++
++define $(package)_set_vars
++$(package)_config_opts=
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf)
++endef
++
++define $(package)_build_cmds
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
++
++define $(package)_postprocess_cmds
++ rm -rf lib include
++endef
+diff --git a/contrib/depends/packages/native_cctools.mk b/contrib/depends/packages/native_cctools.mk
+new file mode 100644
+index 00000000..0324f7ac
+--- /dev/null
++++ b/contrib/depends/packages/native_cctools.mk
+@@ -0,0 +1,28 @@
++package=native_cctools
++$(package)_version=04663295d0425abfac90a42440a7ec02d7155fea
++$(package)_download_path=https://github.com/tpoechtrager/cctools-port/archive
++$(package)_download_file=$($(package)_version).tar.gz
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=70a7189418c2086d20c299c5d59250cf5940782c778892ccc899c66516ed240e
++$(package)_build_subdir=cctools
++$(package)_dependencies=native_clang native_libtapi
++
++define $(package)_set_vars
++$(package)_config_opts=--target=$(host) --disable-lto-support --with-libtapi=$(host_prefix)
++$(package)_ldflags+=-Wl,-rpath=\\$$$$$$$$\$$$$$$$$ORIGIN/../lib
++$(package)_cc=$(host_prefix)/native/bin/clang
++$(package)_cxx=$(host_prefix)/native/bin/clang++
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf)
++endef
++
++define $(package)_build_cmds
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install && \
++ cp $($(package)_extract_dir)/cctools/misc/install_name_tool $($(package)_staging_prefix_dir)/bin/
++endef
+diff --git a/contrib/depends/packages/native_cdrkit.mk b/contrib/depends/packages/native_cdrkit.mk
+new file mode 100644
+index 00000000..8243458e
+--- /dev/null
++++ b/contrib/depends/packages/native_cdrkit.mk
+@@ -0,0 +1,26 @@
++package=native_cdrkit
++$(package)_version=1.1.11
++$(package)_download_path=https://distro.ibiblio.org/fatdog/source/600/c
++$(package)_file_name=cdrkit-$($(package)_version).tar.bz2
++$(package)_sha256_hash=b50d64c214a65b1a79afe3a964c691931a4233e2ba605d793eb85d0ac3652564
++$(package)_patches=cdrkit-deterministic.patch
++
++define $(package)_preprocess_cmds
++ patch -p1 < $($(package)_patch_dir)/cdrkit-deterministic.patch
++endef
++
++define $(package)_config_cmds
++ cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix)
++endef
++
++define $(package)_build_cmds
++ $(MAKE) genisoimage
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) -C genisoimage install
++endef
++
++define $(package)_postprocess_cmds
++ rm bin/isovfy bin/isoinfo bin/isodump bin/isodebug bin/devdump
++endef
+diff --git a/contrib/depends/packages/native_clang.mk b/contrib/depends/packages/native_clang.mk
+new file mode 100644
+index 00000000..115f8f38
+--- /dev/null
++++ b/contrib/depends/packages/native_clang.mk
+@@ -0,0 +1,29 @@
++package=native_clang
++$(package)_version=9.0.0
++$(package)_download_path=https://releases.llvm.org/$($(package)_version)
++$(package)_download_file=clang+llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-18.04.tar.xz
++$(package)_file_name=clang-llvm-$($(package)_version)-x86_64-linux-gnu-ubuntu-18.04.tar.xz
++$(package)_sha256_hash=a23b082b30c128c9831dbdd96edad26b43f56624d0ad0ea9edec506f5385038d
++
++define $(package)_extract_cmds
++ echo $($(package)_sha256_hash) $($(package)_source) | sha256sum -c &&\
++ mkdir -p toolchain/bin toolchain/lib/clang/3.5/include && \
++ tar --strip-components=1 -C toolchain -xf $($(package)_source) && \
++ rm -f toolchain/lib/libc++abi.so* && \
++ echo "#!/bin/sh" > toolchain/bin/$(host)-dsymutil && \
++ echo "exit 0" >> toolchain/bin/$(host)-dsymutil && \
++ chmod +x toolchain/bin/$(host)-dsymutil
++endef
++
++define $(package)_stage_cmds
++ cd $($(package)_extract_dir)/toolchain && \
++ mkdir -p $($(package)_staging_prefix_dir)/lib/clang/$($(package)_version)/include && \
++ mkdir -p $($(package)_staging_prefix_dir)/bin $($(package)_staging_prefix_dir)/include && \
++ cp bin/clang $($(package)_staging_prefix_dir)/bin/ &&\
++ cp -P bin/clang++ $($(package)_staging_prefix_dir)/bin/ &&\
++ cp lib/libLTO.so $($(package)_staging_prefix_dir)/lib/ && \
++ cp -rf lib/clang/$($(package)_version)/include/* $($(package)_staging_prefix_dir)/lib/clang/$($(package)_version)/include/ && \
++ cp bin/dsymutil $($(package)_staging_prefix_dir)/bin/$(host)-dsymutil && \
++ if `test -d include/c++/`; then cp -rf include/c++/ $($(package)_staging_prefix_dir)/include/; fi && \
++ if `test -d lib/c++/`; then cp -rf lib/c++/ $($(package)_staging_prefix_dir)/lib/; fi
++endef
+diff --git a/contrib/depends/packages/native_cmake-unused.mk b/contrib/depends/packages/native_cmake-unused.mk
+new file mode 100644
+index 00000000..c9ab7571
+--- /dev/null
++++ b/contrib/depends/packages/native_cmake-unused.mk
+@@ -0,0 +1,23 @@
++package=native_cmake
++$(package)_version=3.14.0
++$(package)_version_dot=v3.14
++$(package)_download_path=https://cmake.org/files/$($(package)_version_dot)/
++$(package)_file_name=cmake-$($(package)_version).tar.gz
++$(package)_sha256_hash=aa76ba67b3c2af1946701f847073f4652af5cbd9f141f221c97af99127e75502
++
++define $(package)_set_vars
++$(package)_config_opts=
++endef
++
++define $(package)_config_cmds
++ ./bootstrap &&\
++ ./configure $($(package)_config_opts)
++endef
++
++define $(package)_build_cmd
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
+diff --git a/contrib/depends/packages/native_ds_store.mk b/contrib/depends/packages/native_ds_store.mk
+new file mode 100644
+index 00000000..f0c61765
+--- /dev/null
++++ b/contrib/depends/packages/native_ds_store.mk
+@@ -0,0 +1,17 @@
++package=native_ds_store
++$(package)_version=1.1.0
++$(package)_download_path=https://github.com/al45tair/ds_store/archive/
++$(package)_download_file=v$($(package)_version).tar.gz
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=a9f4c0755c6be7224ff7029e188dd262e830bb81e801424841db9eb0780ec8ed
++$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages
++$(package)_dependencies=native_biplist
++
++define $(package)_build_cmds
++ python setup.py build
++endef
++
++define $(package)_stage_cmds
++ mkdir -p $($(package)_install_libdir) && \
++ python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
++endef
+diff --git a/contrib/depends/packages/native_libdmg-hfsplus.mk b/contrib/depends/packages/native_libdmg-hfsplus.mk
+new file mode 100644
+index 00000000..a4ffb604
+--- /dev/null
++++ b/contrib/depends/packages/native_libdmg-hfsplus.mk
+@@ -0,0 +1,22 @@
++package=native_libdmg-hfsplus
++$(package)_version=0.1
++$(package)_download_path=https://github.com/theuni/libdmg-hfsplus/archive
++$(package)_file_name=libdmg-hfsplus-v$($(package)_version).tar.gz
++$(package)_sha256_hash=6569a02eb31c2827080d7d59001869ea14484c281efab0ae7f2b86af5c3120b3
++$(package)_build_subdir=build
++
++define $(package)_preprocess_cmds
++ mkdir build
++endef
++
++define $(package)_config_cmds
++ cmake -DCMAKE_INSTALL_PREFIX:PATH=$(build_prefix)/bin ..
++endef
++
++define $(package)_build_cmds
++ $(MAKE) -C dmg
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) -C dmg install
++endef
+diff --git a/contrib/depends/packages/native_libtapi.mk b/contrib/depends/packages/native_libtapi.mk
+new file mode 100644
+index 00000000..56ee087c
+--- /dev/null
++++ b/contrib/depends/packages/native_libtapi.mk
+@@ -0,0 +1,28 @@
++package=native_libtapi
++$(package)_version=664b8414f89612f2dfd35a9b679c345aa5389026
++$(package)_download_path=https://github.com/tpoechtrager/apple-libtapi/archive
++$(package)_download_file=$($(package)_version).tar.gz
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=62e419c12d1c9fad67cc1cd523132bc00db050998337c734c15bc8d73cc02b61
++$(package)_build_subdir=build
++$(package)_dependencies=native_clang
++
++define $(package)_config_cmds
++ echo -n $(build_prefix) > INSTALLPREFIX; \
++ CC=$(host_prefix)/native/bin/clang CXX=$(host_prefix)/native/bin/clang++ \
++ cmake -DCMAKE_INSTALL_PREFIX=$(build_prefix) \
++ -DLLVM_INCLUDE_TESTS=OFF \
++ -DCMAKE_BUILD_TYPE=RELEASE \
++ -DTAPI_REPOSITORY_STRING="1100.0.11" \
++ -DTAPI_FULL_VERSION="11.0.0" \
++ -DCMAKE_CXX_FLAGS="-I $($(package)_extract_dir)/src/llvm/projects/clang/include -I $($(package)_build_dir)/projects/clang/include" \
++ $($(package)_extract_dir)/src/llvm
++endef
++
++define $(package)_build_cmds
++ $(MAKE) clangBasic && $(MAKE) libtapi
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install-libtapi install-tapi-headers
++endef
+diff --git a/contrib/depends/packages/native_mac_alias.mk b/contrib/depends/packages/native_mac_alias.mk
+new file mode 100644
+index 00000000..48bd90fb
+--- /dev/null
++++ b/contrib/depends/packages/native_mac_alias.mk
+@@ -0,0 +1,21 @@
++package=native_mac_alias
++$(package)_version=1.1.0
++$(package)_download_path=https://github.com/al45tair/mac_alias/archive/
++$(package)_download_file=v$($(package)_version).tar.gz
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=b10cb44ecb64fc25283fae7a9cf365d2829377d84e37b9c21100aca8757509be
++$(package)_install_libdir=$(build_prefix)/lib/python/dist-packages
++$(package)_patches=python3.patch
++
++define $(package)_preprocess_cmds
++ patch -p1 < $($(package)_patch_dir)/python3.patch
++endef
++
++define $(package)_build_cmds
++ python setup.py build
++endef
++
++define $(package)_stage_cmds
++ mkdir -p $($(package)_install_libdir) && \
++ python setup.py install --root=$($(package)_staging_dir) --prefix=$(build_prefix) --install-lib=$($(package)_install_libdir)
++endef
+diff --git a/contrib/depends/packages/native_protobuf.mk b/contrib/depends/packages/native_protobuf.mk
+new file mode 100644
+index 00000000..35f648b9
+--- /dev/null
++++ b/contrib/depends/packages/native_protobuf.mk
+@@ -0,0 +1,27 @@
++package=protobuf3
++$(package)_version=3.6.1
++$(package)_download_path=https://github.com/protocolbuffers/protobuf/releases/download/v$($(package)_version)/
++$(package)_file_name=protobuf-cpp-$($(package)_version).tar.gz
++$(package)_sha256_hash=b3732e471a9bb7950f090fd0457ebd2536a9ba0891b7f3785919c654fe2a2529
++$(package)_cxxflags=-std=c++11
++
++define $(package)_set_vars
++ $(package)_config_opts=--disable-shared --prefix=$(build_prefix)
++ $(package)_config_opts_linux=--with-pic
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf)
++endef
++
++define $(package)_build_cmds
++ $(MAKE) -C src
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install
++endef
++
++define $(package)_postprocess_cmds
++ rm lib/libprotoc.a
++endef
+diff --git a/contrib/depends/packages/ncurses.mk b/contrib/depends/packages/ncurses.mk
+new file mode 100644
+index 00000000..fb1d92c6
+--- /dev/null
++++ b/contrib/depends/packages/ncurses.mk
+@@ -0,0 +1,63 @@
++package=ncurses
++$(package)_version=6.1
++$(package)_download_path=https://ftp.gnu.org/gnu/ncurses
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=aa057eeeb4a14d470101eff4597d5833dcef5965331be3528c08d99cebaa0d17
++$(package)_patches=fallback.c
++
++define $(package)_set_vars
++ $(package)_build_opts=CC="$($(package)_cc)"
++ $(package)_config_env=cf_cv_ar_flags=""
++ $(package)_config_opts=--prefix=$(host_prefix)
++ $(package)_config_opts+=--disable-shared
++ $(package)_config_opts+=--with-build-cc=gcc
++ $(package)_config_opts+=--without-debug
++ $(package)_config_opts+=--without-ada
++ $(package)_config_opts+=--without-cxx-binding
++ $(package)_config_opts+=--without-cxx
++ $(package)_config_opts+=--without-ticlib
++ $(package)_config_opts+=--without-tic
++ $(package)_config_opts+=--without-progs
++ $(package)_config_opts+=--without-tests
++ $(package)_config_opts+=--without-tack
++ $(package)_config_opts+=--without-manpages
++ $(package)_config_opts+=--with-termlib=tinfo
++ $(package)_config_opts+=--disable-tic-depends
++ $(package)_config_opts+=--disable-big-strings
++ $(package)_config_opts+=--disable-ext-colors
++ $(package)_config_opts+=--enable-pc-files
++ $(package)_config_opts+=--host=$(HOST)
++ $(pacakge)_config_opts+=--without-shared
++ $(pacakge)_config_opts+=--without-pthread
++ $(pacakge)_config_opts+=--disable-rpath
++ $(pacakge)_config_opts+=--disable-colorfgbg
++ $(pacakge)_config_opts+=--disable-ext-mouse
++ $(pacakge)_config_opts+=--disable-symlinks
++ $(pacakge)_config_opts+=--enable-warnings
++ $(pacakge)_config_opts+=--enable-assertions
++ $(package)_config_opts+=--with-default-terminfo-dir=/etc/_terminfo_
++ $(package)_config_opts+=--with-terminfo-dirs=/etc/_terminfo_
++ $(pacakge)_config_opts+=--enable-database
++ $(pacakge)_config_opts+=--enable-sp-funcs
++ $(pacakge)_config_opts+=--disable-term-driver
++ $(pacakge)_config_opts+=--enable-interop
++ $(pacakge)_config_opts+=--enable-widec
++ $(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
++endef
++
++define $(package)_preprocess_cmds
++ cp $($(package)_patch_dir)/fallback.c ncurses
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf)
++endef
++
++define $(package)_build_cmds
++ $(MAKE) $($(package)_build_opts) V=1
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) install.libs DESTDIR=$($(package)_staging_dir)
++endef
++
+diff --git a/contrib/depends/packages/openssl.mk b/contrib/depends/packages/openssl.mk
+new file mode 100644
+index 00000000..a157762c
+--- /dev/null
++++ b/contrib/depends/packages/openssl.mk
+@@ -0,0 +1,68 @@
++package=openssl
++$(package)_version=3.0.13
++$(package)_download_path=https://www.openssl.org/source
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=88525753f79d3bec27d2fa7c66aa0b92b3aa9498dafd93d7cfa4b3780cdae313
++
++define $(package)_set_vars
++$(package)_config_env=AR="$($(package)_ar)" ARFLAGS=$($(package)_arflags) RANLIB="$($(package)_ranlib)" CC="$($(package)_cc)"
++$(package)_config_env_android=ANDROID_NDK_ROOT="$(host_prefix)/native" PATH="$(host_prefix)/native/bin" CC=clang AR=ar RANLIB=ranlib
++$(package)_build_env_android=ANDROID_NDK_ROOT="$(host_prefix)/native"
++$(package)_config_opts=--prefix=$(host_prefix) --openssldir=$(host_prefix)/etc/openssl --libdir=$(host_prefix)/lib
++$(package)_config_opts+=no-capieng
++$(package)_config_opts+=no-dso
++$(package)_config_opts+=no-dtls1
++$(package)_config_opts+=no-ec_nistp_64_gcc_128
++$(package)_config_opts+=no-gost
++$(package)_config_opts+=no-md2
++$(package)_config_opts+=no-rc5
++$(package)_config_opts+=no-rdrand
++$(package)_config_opts+=no-rfc3779
++$(package)_config_opts+=no-sctp
++$(package)_config_opts+=no-shared
++$(package)_config_opts+=no-ssl-trace
++$(package)_config_opts+=no-ssl3
++$(package)_config_opts+=no-tests
++$(package)_config_opts+=no-unit-test
++$(package)_config_opts+=no-weak-ssl-ciphers
++$(package)_config_opts+=no-zlib
++$(package)_config_opts+=no-zlib-dynamic
++$(package)_config_opts+=$($(package)_cflags) $($(package)_cppflags)
++$(package)_config_opts_linux=-fPIC -Wa,--noexecstack
++$(package)_config_opts_freebsd=-fPIC -Wa,--noexecstack
++$(package)_config_opts_x86_64_linux=linux-x86_64
++$(package)_config_opts_i686_linux=linux-generic32
++$(package)_config_opts_arm_linux=linux-generic32
++$(package)_config_opts_aarch64_linux=linux-generic64
++$(package)_config_opts_arm_android=--static android-arm
++$(package)_config_opts_aarch64_android=--static android-arm64
++$(package)_config_opts_aarch64_darwin=darwin64-arm64-cc
++$(package)_config_opts_riscv64_linux=linux-generic64
++$(package)_config_opts_mipsel_linux=linux-generic32
++$(package)_config_opts_mips_linux=linux-generic32
++$(package)_config_opts_powerpc_linux=linux-generic32
++$(package)_config_opts_x86_64_darwin=darwin64-x86_64-cc
++$(package)_config_opts_x86_64_mingw32=mingw64
++$(package)_config_opts_i686_mingw32=mingw
++$(package)_config_opts_x86_64_freebsd=BSD-x86_64
++endef
++
++define $(package)_preprocess_cmds
++ sed -i.old 's|crypto ssl apps util tools fuzz providers doc|crypto ssl util tools providers|' build.info
++endef
++
++define $(package)_config_cmds
++ ./Configure $($(package)_config_opts)
++endef
++
++define $(package)_build_cmds
++ $(MAKE) build_libs
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install_sw
++endef
++
++define $(package)_postprocess_cmds
++ rm -rf share bin etc
++endef
+diff --git a/contrib/depends/packages/packages.mk b/contrib/depends/packages/packages.mk
+new file mode 100644
+index 00000000..8783d495
+--- /dev/null
++++ b/contrib/depends/packages/packages.mk
+@@ -0,0 +1,38 @@
++packages:=boost openssl zeromq libiconv expat unbound polyseed
++
++# ccache is useless in gitian builds
++ifneq ($(GITIAN),1)
++native_packages := native_ccache
++endif
++
++hardware_packages := hidapi protobuf libusb
++hardware_native_packages := native_protobuf
++
++android_native_packages = android_ndk
++android_packages = ncurses readline sodium
++
++darwin_native_packages = $(hardware_native_packages)
++darwin_packages = ncurses readline sodium $(hardware_packages)
++
++# not really native...
++freebsd_native_packages = freebsd_base
++freebsd_packages = ncurses readline sodium
++
++linux_packages = eudev ncurses readline sodium $(hardware_packages)
++linux_native_packages = $(hardware_native_packages)
++
++ifeq ($(build_tests),ON)
++packages += gtest
++endif
++
++ifneq ($(host_arch),riscv64)
++linux_packages += unwind
++endif
++
++mingw32_packages = icu4c sodium $(hardware_packages)
++mingw32_native_packages = $(hardware_native_packages)
++
++ifneq ($(build_os),darwin)
++darwin_native_packages += darwin_sdk native_clang native_cctools native_libtapi
++endif
++
+diff --git a/contrib/depends/packages/polyseed.mk b/contrib/depends/packages/polyseed.mk
+new file mode 100644
+index 00000000..0071b20f
+--- /dev/null
++++ b/contrib/depends/packages/polyseed.mk
+@@ -0,0 +1,28 @@
++package=polyseed
++$(package)_version=2.0.0
++$(package)_download_path=https://github.com/tevador/$(package)/archive/refs/tags/
++$(package)_download_file=v$($(package)_version).tar.gz
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=f36282fcbcd68d32461b8230c89e1a40661bd46b91109681cec637433004135a
++$(package)_patches=force-static-mingw.patch 0001-disable-soname.patch
++
++define $(package)_preprocess_cmds
++ patch -p1 < $($(package)_patch_dir)/force-static-mingw.patch &&\
++ patch -p1 < $($(package)_patch_dir)/0001-disable-soname.patch
++endef
++
++define $(package)_config_cmds
++ CC="$($(package)_cc)" cmake -DCMAKE_INSTALL_PREFIX="$(host_prefix)" .
++endef
++
++define $(package)_set_vars
++ $(package)_build_opts=CC="$($(package)_cc)"
++endef
++
++define $(package)_build_cmds
++ CC="$($(package)_cc)" $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
+diff --git a/contrib/depends/packages/protobuf.mk b/contrib/depends/packages/protobuf.mk
+new file mode 100644
+index 00000000..ddec1eb5
+--- /dev/null
++++ b/contrib/depends/packages/protobuf.mk
+@@ -0,0 +1,36 @@
++package=protobuf
++$(package)_version=$(native_$(package)_version)
++$(package)_download_path=$(native_$(package)_download_path)
++$(package)_file_name=$(native_$(package)_file_name)
++$(package)_sha256_hash=$(native_$(package)_sha256_hash)
++$(package)_dependencies=native_$(package)
++$(package)_cxxflags=-std=c++11
++$(package)_patches=visibility.patch
++
++define $(package)_set_vars
++ $(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc
++ $(package)_config_opts_linux=--with-pic
++endef
++
++define $(package)_preprocess_cmds
++ patch -p0 < $($(package)_patch_dir)/visibility.patch
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
++endef
++
++define $(package)_build_cmds
++ $(MAKE) -C src libprotobuf.la
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-libLTLIBRARIES install-nobase_includeHEADERS &&\
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA
++endef
++
++define $(package)_postprocess_cmds
++ rm lib/libprotoc.a &&\
++ rm lib/*.la
++endef
++
+diff --git a/contrib/depends/packages/readline.mk b/contrib/depends/packages/readline.mk
+new file mode 100644
+index 00000000..957b6454
+--- /dev/null
++++ b/contrib/depends/packages/readline.mk
+@@ -0,0 +1,29 @@
++package=readline
++$(package)_version=8.0
++$(package)_download_path=https://ftp.gnu.org/gnu/readline
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=e339f51971478d369f8a053a330a190781acb9864cf4c541060f12078948e461
++$(package)_dependencies=ncurses
++
++define $(package)_set_vars
++ $(package)_build_opts=CC="$($(package)_cc)"
++ $(package)_config_opts+=--prefix=$(host_prefix)
++ $(package)_config_opts+=--exec-prefix=$(host_prefix)
++ $(package)_config_opts+=--host=$(HOST)
++ $(package)_config_opts+=--disable-shared --with-curses
++ $(package)_config_opts_release=--disable-debug-mode
++ $(package)_build_opts=CFLAGS="$($(package)_cflags) $($(package)_cppflags) -fPIC"
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf)
++endef
++
++define $(package)_build_cmds
++ $(MAKE) $($(package)_build_opts)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) install DESTDIR=$($(package)_staging_dir) prefix=$(host_prefix) exec-prefix=$(host_prefix)
++endef
++
+diff --git a/contrib/depends/packages/sodium.mk b/contrib/depends/packages/sodium.mk
+new file mode 100644
+index 00000000..68a5b48b
+--- /dev/null
++++ b/contrib/depends/packages/sodium.mk
+@@ -0,0 +1,34 @@
++package=sodium
++$(package)_version=1.0.18
++$(package)_download_path=https://download.libsodium.org/libsodium/releases/
++$(package)_file_name=libsodium-$($(package)_version).tar.gz
++$(package)_sha256_hash=6f504490b342a4f8a4c4a02fc9b866cbef8622d5df4e5452b46be121e46636c1
++$(package)_patches=disable-glibc-getrandom-getentropy.patch fix-whitespace.patch
++
++define $(package)_set_vars
++$(package)_config_opts=--enable-static --disable-shared --with-pic
++$(package)_config_opts+=--prefix=$(host_prefix)
++endef
++
++define $(package)_preprocess_cmds
++ patch -p1 < $($(package)_patch_dir)/disable-glibc-getrandom-getentropy.patch &&\
++ autoconf &&\
++ patch -p1 < $($(package)_patch_dir)/fix-whitespace.patch
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
++endef
++
++define $(package)_build_cmds
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
++
++define $(package)_postprocess_cmds
++ rm lib/*.la
++endef
++
+diff --git a/contrib/depends/packages/unbound.mk b/contrib/depends/packages/unbound.mk
+new file mode 100644
+index 00000000..d9ef0076
+--- /dev/null
++++ b/contrib/depends/packages/unbound.mk
+@@ -0,0 +1,36 @@
++package=unbound
++$(package)_version=1.19.1
++$(package)_download_path=https://www.nlnetlabs.nl/downloads/$(package)/
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=bc1d576f3dd846a0739adc41ffaa702404c6767d2b6082deb9f2f97cbb24a3a9
++$(package)_dependencies=openssl expat
++$(package)_patches=disable-glibc-reallocarray.patch
++
++
++define $(package)_set_vars
++ $(package)_config_opts=--disable-shared --enable-static --without-pyunbound --prefix=$(host_prefix)
++ $(package)_config_opts+=--with-libexpat=$(host_prefix) --with-ssl=$(host_prefix) --with-libevent=no
++ $(package)_config_opts+=--without-pythonmodule --disable-flto --with-pthreads --with-libunbound-only
++ $(package)_config_opts_linux=--with-pic
++ $(package)_config_opts_w64=--enable-static-exe --sysconfdir=/etc --prefix=$(host_prefix) --target=$(host_prefix)
++ $(package)_config_opts_x86_64_darwin=ac_cv_func_SHA384_Init=yes
++ $(package)_build_opts_mingw32=LDFLAGS="$($(package)_ldflags) -lpthread"
++ $(package)_cflags_mingw32+="-D_WIN32_WINNT=0x600"
++endef
++
++define $(package)_preprocess_cmds
++ patch -p1 < $($(package)_patch_dir)/disable-glibc-reallocarray.patch &&\
++ autoconf
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf) ac_cv_func_getentropy=no
++endef
++
++define $(package)_build_cmds
++ $(MAKE) $($(package)_build_opts)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
+diff --git a/contrib/depends/packages/unwind.mk b/contrib/depends/packages/unwind.mk
+new file mode 100644
+index 00000000..c3d190bc
+--- /dev/null
++++ b/contrib/depends/packages/unwind.mk
+@@ -0,0 +1,29 @@
++package=unwind
++$(package)_version=1.5.0
++$(package)_download_path=https://download.savannah.nongnu.org/releases/libunwind
++$(package)_file_name=lib$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=90337653d92d4a13de590781371c604f9031cdb50520366aa1e3a91e1efb1017
++$(package)_patches=fix_obj_order.patch
++
++define $(package)_preprocess_cmds
++ patch -p0 < $($(package)_patch_dir)/fix_obj_order.patch
++endef
++
++define $(package)_config_cmds
++ cp -f $(BASEDIR)/config.guess config/config.guess &&\
++ cp -f $(BASEDIR)/config.sub config/config.sub &&\
++ $($(package)_autoconf) --disable-shared --enable-static --disable-tests --disable-documentation AR_FLAGS=$($(package)_arflags)
++endef
++
++define $(package)_build_cmds
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
++
++define $(package)_postprocess_cmds
++ rm lib/*.la
++endef
++
+diff --git a/contrib/depends/packages/xproto.mk b/contrib/depends/packages/xproto.mk
+new file mode 100644
+index 00000000..52fe253c
+--- /dev/null
++++ b/contrib/depends/packages/xproto.mk
+@@ -0,0 +1,21 @@
++package=xproto
++$(package)_version=7.0.26
++$(package)_download_path=https://xorg.freedesktop.org/releases/individual/proto
++$(package)_file_name=$(package)-$($(package)_version).tar.bz2
++$(package)_sha256_hash=636162c1759805a5a0114a369dffdeccb8af8c859ef6e1445f26a4e6e046514f
++
++define $(package)_set_vars
++$(package)_config_opts=--disable-shared
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf)
++endef
++
++define $(package)_build_cmds
++ $(MAKE)
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install
++endef
+diff --git a/contrib/depends/packages/zeromq.mk b/contrib/depends/packages/zeromq.mk
+new file mode 100644
+index 00000000..20f2d4bd
+--- /dev/null
++++ b/contrib/depends/packages/zeromq.mk
+@@ -0,0 +1,35 @@
++package=zeromq
++$(package)_version=4.3.4
++$(package)_download_path=https://github.com/zeromq/libzmq/releases/download/v$($(package)_version)/
++$(package)_file_name=$(package)-$($(package)_version).tar.gz
++$(package)_sha256_hash=c593001a89f5a85dd2ddf564805deb860e02471171b3f204944857336295c3e5
++$(package)_patches=06aba27b04c5822cb88a69677382a0f053367143.patch
++
++define $(package)_set_vars
++ $(package)_config_opts=--without-documentation --disable-shared --without-libsodium --disable-curve
++ $(package)_config_opts_linux=--with-pic
++ $(package)_config_opts_freebsd=--with-pic
++ $(package)_cxxflags=-std=c++11
++endef
++
++define $(package)_preprocess_cmds
++ patch -p1 < $($(package)_patch_dir)/06aba27b04c5822cb88a69677382a0f053367143.patch
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf) AR_FLAGS=$($(package)_arflags)
++endef
++
++define $(package)_build_cmds
++ $(MAKE) src/libzmq.la
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install-libLTLIBRARIES install-includeHEADERS install-pkgconfigDATA
++endef
++
++define $(package)_postprocess_cmds
++ rm -rf bin share &&\
++ rm lib/*.la
++endef
++
+diff --git a/contrib/depends/patches/boost/fix_arm_arch.patch b/contrib/depends/patches/boost/fix_arm_arch.patch
+new file mode 100644
+index 00000000..3cf6b6f4
+--- /dev/null
++++ b/contrib/depends/patches/boost/fix_arm_arch.patch
+@@ -0,0 +1,11 @@
++--- boost_1_64_0/tools/build/src/tools/darwin.jam.O 2017-04-17 03:22:26.000000000 +0100
+++++ boost_1_64_0/tools/build/src/tools/darwin.jam 2022-05-04 17:26:29.984464447 +0000
++@@ -505,7 +505,7 @@
++ if $(instruction-set) {
++ options = -arch$(_)$(instruction-set) ;
++ } else {
++- options = -arch arm ;
+++# options = -arch arm ;
++ }
++ }
++ }
+diff --git a/contrib/depends/patches/boost/fix_aroptions.patch b/contrib/depends/patches/boost/fix_aroptions.patch
+new file mode 100644
+index 00000000..5b2ec100
+--- /dev/null
++++ b/contrib/depends/patches/boost/fix_aroptions.patch
+@@ -0,0 +1,28 @@
++--- boost_1_64_0/tools/build/src/tools/gcc.jam.O 2017-04-17 03:22:26.000000000 +0100
+++++ boost_1_64_0/tools/build/src/tools/gcc.jam 2019-11-15 15:46:16.957937137 +0000
++@@ -243,6 +243,8 @@
++ {
++ ECHO notice: using gcc archiver :: $(condition) :: $(archiver[1]) ;
++ }
+++ local arflags = [ feature.get-values <arflags> : $(options) ] ;
+++ toolset.flags gcc.archive .ARFLAGS $(condition) : $(arflags) ;
++
++ # - Ranlib.
++ local ranlib = [ common.get-invocation-command gcc
++@@ -970,6 +972,7 @@
++ # logic in intel-linux, but that is hardly worth the trouble as on Linux, 'ar'
++ # is always available.
++ .AR = ar ;
+++.ARFLAGS = rc ;
++ .RANLIB = ranlib ;
++
++ toolset.flags gcc.archive AROPTIONS <archiveflags> ;
++@@ -1011,7 +1014,7 @@
++ #
++ actions piecemeal archive
++ {
++- "$(.AR)" $(AROPTIONS) rc "$(<)" "$(>)"
+++ "$(.AR)" $(AROPTIONS) $(.ARFLAGS) "$(<)" "$(>)"
++ "$(.RANLIB)" "$(<)"
++ }
++
+diff --git a/contrib/depends/patches/boost/fix_pthread.patch b/contrib/depends/patches/boost/fix_pthread.patch
+new file mode 100644
+index 00000000..f35e2241
+--- /dev/null
++++ b/contrib/depends/patches/boost/fix_pthread.patch
+@@ -0,0 +1,14 @@
++--- a/boost/thread/pthread/thread_data.hpp
+++++ b/boost/thread/pthread/thread_data.hpp
++@@ -14,6 +14,11 @@
++ #include <boost/thread/pthread/condition_variable_fwd.hpp>
++ #include <boost/thread/pthread/pthread_mutex_scoped_lock.hpp>
++
+++#ifdef PTHREAD_STACK_MIN
+++#undef PTHREAD_STACK_MIN
+++#endif
+++#define PTHREAD_STACK_MIN 16384
+++
++ #include <boost/shared_ptr.hpp>
++ #include <boost/enable_shared_from_this.hpp>
++ #include <boost/assert.hpp>
+\ No newline at end of file
+diff --git a/contrib/depends/patches/boost/fix_pthread_win.patch b/contrib/depends/patches/boost/fix_pthread_win.patch
+new file mode 100644
+index 00000000..0624e840
+--- /dev/null
++++ b/contrib/depends/patches/boost/fix_pthread_win.patch
+@@ -0,0 +1,14 @@
++--- a/boost/thread/win32/thread_data.hpp
+++++ b/boost/thread/win32/thread_data.hpp
++@@ -12,6 +12,11 @@
++ #include <boost/thread/win32/thread_heap_alloc.hpp>
++ #include <boost/thread/detail/platform_time.hpp>
++
+++#ifdef PTHREAD_STACK_MIN
+++#undef PTHREAD_STACK_MIN
+++#endif
+++#define PTHREAD_STACK_MIN 16384
+++
++ #include <boost/predef/platform.h>
++
++ #include <boost/intrusive_ptr.hpp>
+\ No newline at end of file
+diff --git a/contrib/depends/patches/cmake/cmake-1-fixes.patch b/contrib/depends/patches/cmake/cmake-1-fixes.patch
+new file mode 100644
+index 00000000..062c0676
+--- /dev/null
++++ b/contrib/depends/patches/cmake/cmake-1-fixes.patch
+@@ -0,0 +1,67 @@
++This file is part of MXE. See LICENSE.md for licensing information.
++
++Contains ad hoc patches for cross building.
++
++From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
++From: Tony Theodore <tonyt@logyst.com>
++Date: Fri, 12 Aug 2016 02:01:20 +1000
++Subject: [PATCH 1/3] fix windres invocation options
++
++windres doesn't recognise various gcc flags like -mms-bitfields,
++-fopenmp, -mthreads etc. (basically not `-D` or `-I`)
++
++diff --git a/Modules/Platform/Windows-windres.cmake b/Modules/Platform/Windows-windres.cmake
++index 1111111..2222222 100644
++--- a/Modules/Platform/Windows-windres.cmake
+++++ b/Modules/Platform/Windows-windres.cmake
++@@ -1 +1 @@
++-set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <DEFINES> <INCLUDES> <FLAGS> <SOURCE> <OBJECT>")
+++set(CMAKE_RC_COMPILE_OBJECT "<CMAKE_RC_COMPILER> -O coff <DEFINES> <INCLUDES> <SOURCE> <OBJECT>")
++
++From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
++From: Tony Theodore <tonyt@logyst.com>
++Date: Tue, 25 Jul 2017 20:34:56 +1000
++Subject: [PATCH 2/3] add option to disable -isystem
++
++taken from (not accepted):
++https://gitlab.kitware.com/cmake/cmake/merge_requests/895
++
++see also:
++https://gitlab.kitware.com/cmake/cmake/issues/16291
++https://gitlab.kitware.com/cmake/cmake/issues/16919
++
++diff --git a/Modules/Compiler/GNU.cmake b/Modules/Compiler/GNU.cmake
++index 1111111..2222222 100644
++--- a/Modules/Compiler/GNU.cmake
+++++ b/Modules/Compiler/GNU.cmake
++@@ -42,7 +42,7 @@ macro(__compiler_gnu lang)
++ string(APPEND CMAKE_${lang}_FLAGS_RELWITHDEBINFO_INIT " -O2 -g -DNDEBUG")
++ set(CMAKE_${lang}_CREATE_PREPROCESSED_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -E <SOURCE> > <PREPROCESSED_SOURCE>")
++ set(CMAKE_${lang}_CREATE_ASSEMBLY_SOURCE "<CMAKE_${lang}_COMPILER> <DEFINES> <INCLUDES> <FLAGS> -S <SOURCE> -o <ASSEMBLY_SOURCE>")
++- if(NOT APPLE OR NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4) # work around #4462
+++ if(NOT APPLE OR NOT CMAKE_${lang}_COMPILER_VERSION VERSION_LESS 4 AND (NOT MXE_DISABLE_INCLUDE_SYSTEM_FLAG)) # work around #4462
++ set(CMAKE_INCLUDE_SYSTEM_FLAG_${lang} "-isystem ")
++ endif()
++ endmacro()
++
++From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001
++From: Tony Theodore <tonyt@logyst.com>
++Date: Tue, 15 Aug 2017 15:25:06 +1000
++Subject: [PATCH 3/3] add CPACK_NSIS_EXECUTABLE variable
++
++
++diff --git a/Source/CPack/cmCPackNSISGenerator.cxx b/Source/CPack/cmCPackNSISGenerator.cxx
++index 1111111..2222222 100644
++--- a/Source/CPack/cmCPackNSISGenerator.cxx
+++++ b/Source/CPack/cmCPackNSISGenerator.cxx
++@@ -384,7 +384,9 @@ int cmCPackNSISGenerator::InitializeInternal()
++ }
++ #endif
++
++- nsisPath = cmSystemTools::FindProgram("makensis", path, false);
+++ this->SetOptionIfNotSet("CPACK_NSIS_EXECUTABLE", "makensis");
+++ nsisPath = cmSystemTools::FindProgram(
+++ this->GetOption("CPACK_NSIS_EXECUTABLE"), path, false);
++
++ if (nsisPath.empty()) {
++ cmCPackLogger(
+diff --git a/contrib/depends/patches/hidapi/missing_win_include.patch b/contrib/depends/patches/hidapi/missing_win_include.patch
+new file mode 100644
+index 00000000..5bbe82de
+--- /dev/null
++++ b/contrib/depends/patches/hidapi/missing_win_include.patch
+@@ -0,0 +1,21 @@
++From a77b066311da42ed7654e39c0356a3b951b2e296 Mon Sep 17 00:00:00 2001
++From: selsta <selsta@sent.at>
++Date: Wed, 10 Nov 2021 02:28:54 +0100
++Subject: [PATCH] windows: add missing include for mingw32
++
++---
++ windows/hid.c | 1 +
++ 1 file changed, 1 insertion(+)
++
++diff --git a/windows/hid.c b/windows/hid.c
++index 24756a4..6d8394c 100644
++--- a/windows/hid.c
+++++ b/windows/hid.c
++@@ -33,6 +33,7 @@ typedef LONG NTSTATUS;
++ #endif
++
++ #ifdef __MINGW32__
+++#include <devpropdef.h>
++ #include <ntdef.h>
++ #include <winbase.h>
++ #endif
+diff --git a/contrib/depends/patches/icu4c/icu-001-dont-build-static-dynamic-twice.patch b/contrib/depends/patches/icu4c/icu-001-dont-build-static-dynamic-twice.patch
+new file mode 100644
+index 00000000..bbd4e99e
+--- /dev/null
++++ b/contrib/depends/patches/icu4c/icu-001-dont-build-static-dynamic-twice.patch
+@@ -0,0 +1,37 @@
++Don't build object files twice
++
++When passed --enable-static and --enable-shared, icu will generate
++both a shared and a static version of its libraries.
++
++However, in order to do so, it builds each and every object file
++twice: once with -fPIC (for the shared library), and once without
++-fPIC (for the static library). While admittedly building -fPIC for a
++static library generates a slightly suboptimal code, this is what all
++the autotools-based project are doing. They build each object file
++once, and they use it for both the static and shared libraries.
++
++icu builds the object files for the shared library as .o files, and
++the object files for static library as .ao files. By simply changing
++the suffix of object files used for static libraries to ".o", we tell
++icu to use the ones built for the shared library (i.e, with -fPIC),
++and avoid the double build of icu.
++
++On a fast build server, this brings the target icu build from
++3m41.302s down to 1m43.926s (approximate numbers: some other builds
++are running on the system at the same time).
++
++Signed-off-by: Thomas Petazzoni <thomas.petazzoni@free-electrons.com>
++
++Index: b/source/config/mh-linux
++===================================================================
++--- a/source/config/mh-linux
+++++ b/source/config/mh-linux
++@@ -38,7 +38,7 @@
++ ## Shared object suffix
++ SO = so
++ ## Non-shared intermediate object suffix
++-STATIC_O = ao
+++STATIC_O = o
++
++ ## Compilation rules
++ %.$(STATIC_O): $(srcdir)/%.c
+diff --git a/contrib/depends/patches/libiconv/fix-whitespace.patch b/contrib/depends/patches/libiconv/fix-whitespace.patch
+new file mode 100644
+index 00000000..531364b4
+--- /dev/null
++++ b/contrib/depends/patches/libiconv/fix-whitespace.patch
+@@ -0,0 +1,13 @@
++diff --git a/preload/configure b/preload/configure
++index aab5c77..e20b8f0 100755
++--- a/preload/configure
+++++ b/preload/configure
++@@ -588,7 +588,7 @@ MAKEFLAGS=
++ PACKAGE_NAME='libiconv'
++ PACKAGE_TARNAME='libiconv'
++ PACKAGE_VERSION='0'
++-PACKAGE_STRING='libiconv 0'
+++PACKAGE_STRING='libiconv0'
++ PACKAGE_BUGREPORT=''
++ PACKAGE_URL=''
++
+diff --git a/contrib/depends/patches/native_biplist/sorted_list.patch b/contrib/depends/patches/native_biplist/sorted_list.patch
+new file mode 100644
+index 00000000..89abdb1b
+--- /dev/null
++++ b/contrib/depends/patches/native_biplist/sorted_list.patch
+@@ -0,0 +1,29 @@
++--- a/biplist/__init__.py 2014-10-26 19:03:11.000000000 +0000
+++++ b/biplist/__init__.py 2016-07-19 19:30:17.663521999 +0000
++@@ -541,7 +541,7 @@
++ return HashableWrapper(n)
++ elif isinstance(root, dict):
++ n = {}
++- for key, value in iteritems(root):
+++ for key, value in sorted(iteritems(root)):
++ n[self.wrapRoot(key)] = self.wrapRoot(value)
++ return HashableWrapper(n)
++ elif isinstance(root, list):
++@@ -616,7 +616,7 @@
++ elif isinstance(obj, dict):
++ size = proc_size(len(obj))
++ self.incrementByteCount('dictBytes', incr=1+size)
++- for key, value in iteritems(obj):
+++ for key, value in sorted(iteritems(obj)):
++ check_key(key)
++ self.computeOffsets(key, asReference=True)
++ self.computeOffsets(value, asReference=True)
++@@ -714,7 +714,7 @@
++ keys = []
++ values = []
++ objectsToWrite = []
++- for key, value in iteritems(obj):
+++ for key, value in sorted(iteritems(obj)):
++ keys.append(key)
++ values.append(value)
++ for key in keys:
+diff --git a/contrib/depends/patches/native_cdrkit/cdrkit-deterministic.patch b/contrib/depends/patches/native_cdrkit/cdrkit-deterministic.patch
+new file mode 100644
+index 00000000..8ab0993d
+--- /dev/null
++++ b/contrib/depends/patches/native_cdrkit/cdrkit-deterministic.patch
+@@ -0,0 +1,86 @@
++--- cdrkit-1.1.11.old/genisoimage/tree.c 2008-10-21 19:57:47.000000000 -0400
+++++ cdrkit-1.1.11/genisoimage/tree.c 2013-12-06 00:23:18.489622668 -0500
++@@ -1139,8 +1139,9 @@
++ scan_directory_tree(struct directory *this_dir, char *path,
++ struct directory_entry *de)
++ {
++- DIR *current_dir;
+++ int current_file;
++ char whole_path[PATH_MAX];
+++ struct dirent **d_list;
++ struct dirent *d_entry;
++ struct directory *parent;
++ int dflag;
++@@ -1164,7 +1165,8 @@
++ this_dir->dir_flags |= DIR_WAS_SCANNED;
++
++ errno = 0; /* Paranoia */
++- current_dir = opendir(path);
+++ //current_dir = opendir(path);
+++ current_file = scandir(path, &d_list, NULL, alphasort);
++ d_entry = NULL;
++
++ /*
++@@ -1173,12 +1175,12 @@
++ */
++ old_path = path;
++
++- if (current_dir) {
+++ if (current_file >= 0) {
++ errno = 0;
++- d_entry = readdir(current_dir);
+++ d_entry = d_list[0];
++ }
++
++- if (!current_dir || !d_entry) {
+++ if (current_file < 0 || !d_entry) {
++ int ret = 1;
++
++ #ifdef USE_LIBSCHILY
++@@ -1191,8 +1193,8 @@
++ de->isorec.flags[0] &= ~ISO_DIRECTORY;
++ ret = 0;
++ }
++- if (current_dir)
++- closedir(current_dir);
+++ if(d_list)
+++ free(d_list);
++ return (ret);
++ }
++ #ifdef ABORT_DEEP_ISO_ONLY
++@@ -1208,7 +1210,7 @@
++ errmsgno(EX_BAD, "use Rock Ridge extensions via -R or -r,\n");
++ errmsgno(EX_BAD, "or allow deep ISO9660 directory nesting via -D.\n");
++ }
++- closedir(current_dir);
+++ free(d_list);
++ return (1);
++ }
++ #endif
++@@ -1250,13 +1252,13 @@
++ * The first time through, skip this, since we already asked
++ * for the first entry when we opened the directory.
++ */
++- if (dflag)
++- d_entry = readdir(current_dir);
+++ if (dflag && current_file >= 0)
+++ d_entry = d_list[current_file];
++ dflag++;
++
++- if (!d_entry)
+++ if (current_file < 0)
++ break;
++-
+++ current_file--;
++ /* OK, got a valid entry */
++
++ /* If we do not want all files, then pitch the backups. */
++@@ -1348,7 +1350,7 @@
++ insert_file_entry(this_dir, whole_path, d_entry->d_name);
++ #endif /* APPLE_HYB */
++ }
++- closedir(current_dir);
+++ free(d_list);
++
++ #ifdef APPLE_HYB
++ /*
+diff --git a/contrib/depends/patches/native_mac_alias/python3.patch b/contrib/depends/patches/native_mac_alias/python3.patch
+new file mode 100644
+index 00000000..1a32340b
+--- /dev/null
++++ b/contrib/depends/patches/native_mac_alias/python3.patch
+@@ -0,0 +1,72 @@
++diff -dur a/mac_alias/alias.py b/mac_alias/alias.py
++--- a/mac_alias/alias.py 2015-10-19 12:12:48.000000000 +0200
+++++ b/mac_alias/alias.py 2016-04-03 12:13:12.037159417 +0200
++@@ -243,10 +243,10 @@
++ alias = Alias()
++ alias.appinfo = appinfo
++
++- alias.volume = VolumeInfo (volname.replace('/',':'),
+++ alias.volume = VolumeInfo (volname.decode().replace('/',':'),
++ voldate, fstype, disktype,
++ volattrs, volfsid)
++- alias.target = TargetInfo (kind, filename.replace('/',':'),
+++ alias.target = TargetInfo (kind, filename.decode().replace('/',':'),
++ folder_cnid, cnid,
++ crdate, creator_code, type_code)
++ alias.target.levels_from = levels_from
++@@ -261,9 +261,9 @@
++ b.read(1)
++
++ if tag == TAG_CARBON_FOLDER_NAME:
++- alias.target.folder_name = value.replace('/',':')
+++ alias.target.folder_name = value.decode().replace('/',':')
++ elif tag == TAG_CNID_PATH:
++- alias.target.cnid_path = struct.unpack(b'>%uI' % (length // 4),
+++ alias.target.cnid_path = struct.unpack('>%uI' % (length // 4),
++ value)
++ elif tag == TAG_CARBON_PATH:
++ alias.target.carbon_path = value
++@@ -298,9 +298,9 @@
++ alias.target.creation_date \
++ = mac_epoch + datetime.timedelta(seconds=seconds)
++ elif tag == TAG_POSIX_PATH:
++- alias.target.posix_path = value
+++ alias.target.posix_path = value.decode()
++ elif tag == TAG_POSIX_PATH_TO_MOUNTPOINT:
++- alias.volume.posix_path = value
+++ alias.volume.posix_path = value.decode()
++ elif tag == TAG_RECURSIVE_ALIAS_OF_DISK_IMAGE:
++ alias.volume.disk_image_alias = Alias.from_bytes(value)
++ elif tag == TAG_USER_HOME_LENGTH_PREFIX:
++@@ -422,13 +422,13 @@
++ # (so doing so is ridiculous, and nothing could rely on it).
++ b.write(struct.pack(b'>h28pI2shI64pII4s4shhI2s10s',
++ self.target.kind,
++- carbon_volname, voldate,
+++ carbon_volname, int(voldate),
++ self.volume.fs_type,
++ self.volume.disk_type,
++ self.target.folder_cnid,
++ carbon_filename,
++ self.target.cnid,
++- crdate,
+++ int(crdate),
++ self.target.creator_code,
++ self.target.type_code,
++ self.target.levels_from,
++@@ -449,12 +449,12 @@
++
++ b.write(struct.pack(b'>hhQhhQ',
++ TAG_HIGH_RES_VOLUME_CREATION_DATE,
++- 8, long(voldate * 65536),
+++ 8, int(voldate * 65536),
++ TAG_HIGH_RES_CREATION_DATE,
++- 8, long(crdate * 65536)))
+++ 8, int(crdate * 65536)))
++
++ if self.target.cnid_path:
++- cnid_path = struct.pack(b'>%uI' % len(self.target.cnid_path),
+++ cnid_path = struct.pack('>%uI' % len(self.target.cnid_path),
++ *self.target.cnid_path)
++ b.write(struct.pack(b'>hh', TAG_CNID_PATH,
++ len(cnid_path)))
+diff --git a/contrib/depends/patches/ncurses/fallback.c b/contrib/depends/patches/ncurses/fallback.c
+new file mode 100644
+index 00000000..fab108c3
+--- /dev/null
++++ b/contrib/depends/patches/ncurses/fallback.c
+@@ -0,0 +1,6621 @@
++/* This file was generated by tinfo/MKfallback.sh */
++
++/*
++ * DO NOT EDIT THIS FILE BY HAND!
++ */
++
++#include <curses.priv.h>
++
++#include <tic.h>
++
++/* fallback entries for: linux rxvt vt100 xterm xterm-256color screen screen.linux screen.rxvt screen.xterm-new screen.xterm-256color */
++/* linux */
++
++static char linux_alias_data[] = "linux|linux console";
++
++static char linux_s_bel [] = "\007";
++static char linux_s_cr [] = "\015";
++static char linux_s_csr [] = "\033[%i%p1%d;%p2%dr";
++static char linux_s_tbc [] = "\033[3g";
++static char linux_s_clear [] = "\033[H\033[J";
++static char linux_s_el [] = "\033[K";
++static char linux_s_ed [] = "\033[J";
++static char linux_s_hpa [] = "\033[%i%p1%dG";
++static char linux_s_cup [] = "\033[%i%p1%d;%p2%dH";
++static char linux_s_cud1 [] = "\012";
++static char linux_s_home [] = "\033[H";
++static char linux_s_civis [] = "\033[?25l\033[?1c";
++static char linux_s_cub1 [] = "\010";
++static char linux_s_cnorm [] = "\033[?25h\033[?0c";
++static char linux_s_cuf1 [] = "\033[C";
++static char linux_s_cuu1 [] = "\033[A";
++static char linux_s_cvvis [] = "\033[?25h\033[?8c";
++static char linux_s_dch1 [] = "\033[P";
++static char linux_s_dl1 [] = "\033[M";
++static char linux_s_smacs [] = "\016";
++static char linux_s_blink [] = "\033[5m";
++static char linux_s_bold [] = "\033[1m";
++static char linux_s_dim [] = "\033[2m";
++static char linux_s_smir [] = "\033[4h";
++static char linux_s_rev [] = "\033[7m";
++static char linux_s_smso [] = "\033[7m";
++static char linux_s_smul [] = "\033[4m";
++static char linux_s_ech [] = "\033[%p1%dX";
++static char linux_s_rmacs [] = "\017";
++static char linux_s_sgr0 [] = "\033[m\017";
++static char linux_s_rmir [] = "\033[4l";
++static char linux_s_rmso [] = "\033[27m";
++static char linux_s_rmul [] = "\033[24m";
++static char linux_s_flash [] = "\033[?5h$<200/>\033[?5l";
++static char linux_s_ich1 [] = "\033[@";
++static char linux_s_il1 [] = "\033[L";
++static char linux_s_kbs [] = "\177";
++static char linux_s_kdch1 [] = "\033[3~";
++static char linux_s_kcud1 [] = "\033[B";
++static char linux_s_kf1 [] = "\033[[A";
++static char linux_s_kf10 [] = "\033[21~";
++static char linux_s_kf2 [] = "\033[[B";
++static char linux_s_kf3 [] = "\033[[C";
++static char linux_s_kf4 [] = "\033[[D";
++static char linux_s_kf5 [] = "\033[[E";
++static char linux_s_kf6 [] = "\033[17~";
++static char linux_s_kf7 [] = "\033[18~";
++static char linux_s_kf8 [] = "\033[19~";
++static char linux_s_kf9 [] = "\033[20~";
++static char linux_s_khome [] = "\033[1~";
++static char linux_s_kich1 [] = "\033[2~";
++static char linux_s_kcub1 [] = "\033[D";
++static char linux_s_knp [] = "\033[6~";
++static char linux_s_kpp [] = "\033[5~";
++static char linux_s_kcuf1 [] = "\033[C";
++static char linux_s_kcuu1 [] = "\033[A";
++static char linux_s_nel [] = "\015\012";
++static char linux_s_dch [] = "\033[%p1%dP";
++static char linux_s_dl [] = "\033[%p1%dM";
++static char linux_s_cud [] = "\033[%p1%dB";
++static char linux_s_ich [] = "\033[%p1%d@";
++static char linux_s_il [] = "\033[%p1%dL";
++static char linux_s_cub [] = "\033[%p1%dD";
++static char linux_s_cuf [] = "\033[%p1%dC";
++static char linux_s_cuu [] = "\033[%p1%dA";
++static char linux_s_rs1 [] = "\033c\033]R";
++static char linux_s_rc [] = "\0338";
++static char linux_s_vpa [] = "\033[%i%p1%dd";
++static char linux_s_sc [] = "\0337";
++static char linux_s_ind [] = "\012";
++static char linux_s_ri [] = "\033M";
++static char linux_s_sgr [] = "\033[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p6%t;1%;m%?%p9%t\016%e\017%;";
++static char linux_s_hts [] = "\033H";
++static char linux_s_ht [] = "\011";
++static char linux_s_kb2 [] = "\033[G";
++static char linux_s_acsc [] = "++,,--..00__``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}c~~";
++static char linux_s_kcbt [] = "\033[Z";
++static char linux_s_smam [] = "\033[?7h";
++static char linux_s_rmam [] = "\033[?7l";
++static char linux_s_enacs [] = "\033)0";
++static char linux_s_kend [] = "\033[4~";
++static char linux_s_kspd [] = "\032";
++static char linux_s_kf11 [] = "\033[23~";
++static char linux_s_kf12 [] = "\033[24~";
++static char linux_s_kf13 [] = "\033[25~";
++static char linux_s_kf14 [] = "\033[26~";
++static char linux_s_kf15 [] = "\033[28~";
++static char linux_s_kf16 [] = "\033[29~";
++static char linux_s_kf17 [] = "\033[31~";
++static char linux_s_kf18 [] = "\033[32~";
++static char linux_s_kf19 [] = "\033[33~";
++static char linux_s_kf20 [] = "\033[34~";
++static char linux_s_el1 [] = "\033[1K";
++static char linux_s_u6 [] = "\033[%i%d;%dR";
++static char linux_s_u7 [] = "\033[6n";
++static char linux_s_u8 [] = "\033[?6c";
++static char linux_s_u9 [] = "\033[c";
++static char linux_s_op [] = "\033[39;49m";
++static char linux_s_oc [] = "\033]R";
++static char linux_s_initc [] = "\033]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/%02x%p4%{255}%*%{1000}%/%02x";
++static char linux_s_kmous [] = "\033[M";
++static char linux_s_setaf [] = "\033[3%p1%dm";
++static char linux_s_setab [] = "\033[4%p1%dm";
++static char linux_s_smpch [] = "\033[11m";
++static char linux_s_rmpch [] = "\033[10m";
++
++static char linux_bool_data[] = {
++ /* 0: bw */ FALSE,
++ /* 1: am */ TRUE,
++ /* 2: xsb */ FALSE,
++ /* 3: xhp */ FALSE,
++ /* 4: xenl */ TRUE,
++ /* 5: eo */ TRUE,
++ /* 6: gn */ FALSE,
++ /* 7: hc */ FALSE,
++ /* 8: km */ FALSE,
++ /* 9: hs */ FALSE,
++ /* 10: in */ FALSE,
++ /* 11: da */ FALSE,
++ /* 12: db */ FALSE,
++ /* 13: mir */ TRUE,
++ /* 14: msgr */ TRUE,
++ /* 15: os */ FALSE,
++ /* 16: eslok */ FALSE,
++ /* 17: xt */ FALSE,
++ /* 18: hz */ FALSE,
++ /* 19: ul */ FALSE,
++ /* 20: xon */ TRUE,
++ /* 21: nxon */ FALSE,
++ /* 22: mc5i */ FALSE,
++ /* 23: chts */ FALSE,
++ /* 24: nrrmc */ FALSE,
++ /* 25: npc */ FALSE,
++ /* 26: ndscr */ FALSE,
++ /* 27: ccc */ TRUE,
++ /* 28: bce */ TRUE,
++ /* 29: hls */ FALSE,
++ /* 30: xhpa */ FALSE,
++ /* 31: crxm */ FALSE,
++ /* 32: daisy */ FALSE,
++ /* 33: xvpa */ FALSE,
++ /* 34: sam */ FALSE,
++ /* 35: cpix */ FALSE,
++ /* 36: lpix */ FALSE,
++ /* 37: OTbs */ FALSE,
++ /* 38: OTns */ FALSE,
++ /* 39: OTnc */ FALSE,
++ /* 40: OTMT */ FALSE,
++ /* 41: OTNL */ FALSE,
++ /* 42: OTpt */ FALSE,
++ /* 43: OTxr */ FALSE,
++};
++static NCURSES_INT2 linux_number_data[] = {
++ /* 0: cols */ ABSENT_NUMERIC,
++ /* 1: it */ 8,
++ /* 2: lines */ ABSENT_NUMERIC,
++ /* 3: lm */ ABSENT_NUMERIC,
++ /* 4: xmc */ ABSENT_NUMERIC,
++ /* 5: pb */ ABSENT_NUMERIC,
++ /* 6: vt */ ABSENT_NUMERIC,
++ /* 7: wsl */ ABSENT_NUMERIC,
++ /* 8: nlab */ ABSENT_NUMERIC,
++ /* 9: lh */ ABSENT_NUMERIC,
++ /* 10: lw */ ABSENT_NUMERIC,
++ /* 11: ma */ ABSENT_NUMERIC,
++ /* 12: wnum */ ABSENT_NUMERIC,
++ /* 13: colors */ 8,
++ /* 14: pairs */ 64,
++ /* 15: ncv */ 18,
++ /* 16: bufsz */ ABSENT_NUMERIC,
++ /* 17: spinv */ ABSENT_NUMERIC,
++ /* 18: spinh */ ABSENT_NUMERIC,
++ /* 19: maddr */ ABSENT_NUMERIC,
++ /* 20: mjump */ ABSENT_NUMERIC,
++ /* 21: mcs */ ABSENT_NUMERIC,
++ /* 22: mls */ ABSENT_NUMERIC,
++ /* 23: npins */ ABSENT_NUMERIC,
++ /* 24: orc */ ABSENT_NUMERIC,
++ /* 25: orl */ ABSENT_NUMERIC,
++ /* 26: orhi */ ABSENT_NUMERIC,
++ /* 27: orvi */ ABSENT_NUMERIC,
++ /* 28: cps */ ABSENT_NUMERIC,
++ /* 29: widcs */ ABSENT_NUMERIC,
++ /* 30: btns */ ABSENT_NUMERIC,
++ /* 31: bitwin */ ABSENT_NUMERIC,
++ /* 32: bitype */ ABSENT_NUMERIC,
++ /* 33: OTug */ ABSENT_NUMERIC,
++ /* 34: OTdC */ ABSENT_NUMERIC,
++ /* 35: OTdN */ ABSENT_NUMERIC,
++ /* 36: OTdB */ ABSENT_NUMERIC,
++ /* 37: OTdT */ ABSENT_NUMERIC,
++ /* 38: OTkn */ ABSENT_NUMERIC,
++};
++static char * linux_string_data[] = {
++ /* 0: cbt */ ABSENT_STRING,
++ /* 1: bel */ linux_s_bel,
++ /* 2: cr */ linux_s_cr,
++ /* 3: csr */ linux_s_csr,
++ /* 4: tbc */ linux_s_tbc,
++ /* 5: clear */ linux_s_clear,
++ /* 6: el */ linux_s_el,
++ /* 7: ed */ linux_s_ed,
++ /* 8: hpa */ linux_s_hpa,
++ /* 9: cmdch */ ABSENT_STRING,
++ /* 10: cup */ linux_s_cup,
++ /* 11: cud1 */ linux_s_cud1,
++ /* 12: home */ linux_s_home,
++ /* 13: civis */ linux_s_civis,
++ /* 14: cub1 */ linux_s_cub1,
++ /* 15: mrcup */ ABSENT_STRING,
++ /* 16: cnorm */ linux_s_cnorm,
++ /* 17: cuf1 */ linux_s_cuf1,
++ /* 18: ll */ ABSENT_STRING,
++ /* 19: cuu1 */ linux_s_cuu1,
++ /* 20: cvvis */ linux_s_cvvis,
++ /* 21: dch1 */ linux_s_dch1,
++ /* 22: dl1 */ linux_s_dl1,
++ /* 23: dsl */ ABSENT_STRING,
++ /* 24: hd */ ABSENT_STRING,
++ /* 25: smacs */ linux_s_smacs,
++ /* 26: blink */ linux_s_blink,
++ /* 27: bold */ linux_s_bold,
++ /* 28: smcup */ ABSENT_STRING,
++ /* 29: smdc */ ABSENT_STRING,
++ /* 30: dim */ linux_s_dim,
++ /* 31: smir */ linux_s_smir,
++ /* 32: invis */ ABSENT_STRING,
++ /* 33: prot */ ABSENT_STRING,
++ /* 34: rev */ linux_s_rev,
++ /* 35: smso */ linux_s_smso,
++ /* 36: smul */ linux_s_smul,
++ /* 37: ech */ linux_s_ech,
++ /* 38: rmacs */ linux_s_rmacs,
++ /* 39: sgr0 */ linux_s_sgr0,
++ /* 40: rmcup */ ABSENT_STRING,
++ /* 41: rmdc */ ABSENT_STRING,
++ /* 42: rmir */ linux_s_rmir,
++ /* 43: rmso */ linux_s_rmso,
++ /* 44: rmul */ linux_s_rmul,
++ /* 45: flash */ linux_s_flash,
++ /* 46: ff */ ABSENT_STRING,
++ /* 47: fsl */ ABSENT_STRING,
++ /* 48: is1 */ ABSENT_STRING,
++ /* 49: is2 */ ABSENT_STRING,
++ /* 50: is3 */ ABSENT_STRING,
++ /* 51: if */ ABSENT_STRING,
++ /* 52: ich1 */ linux_s_ich1,
++ /* 53: il1 */ linux_s_il1,
++ /* 54: ip */ ABSENT_STRING,
++ /* 55: kbs */ linux_s_kbs,
++ /* 56: ktbc */ ABSENT_STRING,
++ /* 57: kclr */ ABSENT_STRING,
++ /* 58: kctab */ ABSENT_STRING,
++ /* 59: kdch1 */ linux_s_kdch1,
++ /* 60: kdl1 */ ABSENT_STRING,
++ /* 61: kcud1 */ linux_s_kcud1,
++ /* 62: krmir */ ABSENT_STRING,
++ /* 63: kel */ ABSENT_STRING,
++ /* 64: ked */ ABSENT_STRING,
++ /* 65: kf0 */ ABSENT_STRING,
++ /* 66: kf1 */ linux_s_kf1,
++ /* 67: kf10 */ linux_s_kf10,
++ /* 68: kf2 */ linux_s_kf2,
++ /* 69: kf3 */ linux_s_kf3,
++ /* 70: kf4 */ linux_s_kf4,
++ /* 71: kf5 */ linux_s_kf5,
++ /* 72: kf6 */ linux_s_kf6,
++ /* 73: kf7 */ linux_s_kf7,
++ /* 74: kf8 */ linux_s_kf8,
++ /* 75: kf9 */ linux_s_kf9,
++ /* 76: khome */ linux_s_khome,
++ /* 77: kich1 */ linux_s_kich1,
++ /* 78: kil1 */ ABSENT_STRING,
++ /* 79: kcub1 */ linux_s_kcub1,
++ /* 80: kll */ ABSENT_STRING,
++ /* 81: knp */ linux_s_knp,
++ /* 82: kpp */ linux_s_kpp,
++ /* 83: kcuf1 */ linux_s_kcuf1,
++ /* 84: kind */ ABSENT_STRING,
++ /* 85: kri */ ABSENT_STRING,
++ /* 86: khts */ ABSENT_STRING,
++ /* 87: kcuu1 */ linux_s_kcuu1,
++ /* 88: rmkx */ ABSENT_STRING,
++ /* 89: smkx */ ABSENT_STRING,
++ /* 90: lf0 */ ABSENT_STRING,
++ /* 91: lf1 */ ABSENT_STRING,
++ /* 92: lf10 */ ABSENT_STRING,
++ /* 93: lf2 */ ABSENT_STRING,
++ /* 94: lf3 */ ABSENT_STRING,
++ /* 95: lf4 */ ABSENT_STRING,
++ /* 96: lf5 */ ABSENT_STRING,
++ /* 97: lf6 */ ABSENT_STRING,
++ /* 98: lf7 */ ABSENT_STRING,
++ /* 99: lf8 */ ABSENT_STRING,
++ /* 100: lf9 */ ABSENT_STRING,
++ /* 101: rmm */ ABSENT_STRING,
++ /* 102: smm */ ABSENT_STRING,
++ /* 103: nel */ linux_s_nel,
++ /* 104: pad */ ABSENT_STRING,
++ /* 105: dch */ linux_s_dch,
++ /* 106: dl */ linux_s_dl,
++ /* 107: cud */ linux_s_cud,
++ /* 108: ich */ linux_s_ich,
++ /* 109: indn */ ABSENT_STRING,
++ /* 110: il */ linux_s_il,
++ /* 111: cub */ linux_s_cub,
++ /* 112: cuf */ linux_s_cuf,
++ /* 113: rin */ ABSENT_STRING,
++ /* 114: cuu */ linux_s_cuu,
++ /* 115: pfkey */ ABSENT_STRING,
++ /* 116: pfloc */ ABSENT_STRING,
++ /* 117: pfx */ ABSENT_STRING,
++ /* 118: mc0 */ ABSENT_STRING,
++ /* 119: mc4 */ ABSENT_STRING,
++ /* 120: mc5 */ ABSENT_STRING,
++ /* 121: rep */ ABSENT_STRING,
++ /* 122: rs1 */ linux_s_rs1,
++ /* 123: rs2 */ ABSENT_STRING,
++ /* 124: rs3 */ ABSENT_STRING,
++ /* 125: rf */ ABSENT_STRING,
++ /* 126: rc */ linux_s_rc,
++ /* 127: vpa */ linux_s_vpa,
++ /* 128: sc */ linux_s_sc,
++ /* 129: ind */ linux_s_ind,
++ /* 130: ri */ linux_s_ri,
++ /* 131: sgr */ linux_s_sgr,
++ /* 132: hts */ linux_s_hts,
++ /* 133: wind */ ABSENT_STRING,
++ /* 134: ht */ linux_s_ht,
++ /* 135: tsl */ ABSENT_STRING,
++ /* 136: uc */ ABSENT_STRING,
++ /* 137: hu */ ABSENT_STRING,
++ /* 138: iprog */ ABSENT_STRING,
++ /* 139: ka1 */ ABSENT_STRING,
++ /* 140: ka3 */ ABSENT_STRING,
++ /* 141: kb2 */ linux_s_kb2,
++ /* 142: kc1 */ ABSENT_STRING,
++ /* 143: kc3 */ ABSENT_STRING,
++ /* 144: mc5p */ ABSENT_STRING,
++ /* 145: rmp */ ABSENT_STRING,
++ /* 146: acsc */ linux_s_acsc,
++ /* 147: pln */ ABSENT_STRING,
++ /* 148: kcbt */ linux_s_kcbt,
++ /* 149: smxon */ ABSENT_STRING,
++ /* 150: rmxon */ ABSENT_STRING,
++ /* 151: smam */ linux_s_smam,
++ /* 152: rmam */ linux_s_rmam,
++ /* 153: xonc */ ABSENT_STRING,
++ /* 154: xoffc */ ABSENT_STRING,
++ /* 155: enacs */ linux_s_enacs,
++ /* 156: smln */ ABSENT_STRING,
++ /* 157: rmln */ ABSENT_STRING,
++ /* 158: kbeg */ ABSENT_STRING,
++ /* 159: kcan */ ABSENT_STRING,
++ /* 160: kclo */ ABSENT_STRING,
++ /* 161: kcmd */ ABSENT_STRING,
++ /* 162: kcpy */ ABSENT_STRING,
++ /* 163: kcrt */ ABSENT_STRING,
++ /* 164: kend */ linux_s_kend,
++ /* 165: kent */ ABSENT_STRING,
++ /* 166: kext */ ABSENT_STRING,
++ /* 167: kfnd */ ABSENT_STRING,
++ /* 168: khlp */ ABSENT_STRING,
++ /* 169: kmrk */ ABSENT_STRING,
++ /* 170: kmsg */ ABSENT_STRING,
++ /* 171: kmov */ ABSENT_STRING,
++ /* 172: knxt */ ABSENT_STRING,
++ /* 173: kopn */ ABSENT_STRING,
++ /* 174: kopt */ ABSENT_STRING,
++ /* 175: kprv */ ABSENT_STRING,
++ /* 176: kprt */ ABSENT_STRING,
++ /* 177: krdo */ ABSENT_STRING,
++ /* 178: kref */ ABSENT_STRING,
++ /* 179: krfr */ ABSENT_STRING,
++ /* 180: krpl */ ABSENT_STRING,
++ /* 181: krst */ ABSENT_STRING,
++ /* 182: kres */ ABSENT_STRING,
++ /* 183: ksav */ ABSENT_STRING,
++ /* 184: kspd */ linux_s_kspd,
++ /* 185: kund */ ABSENT_STRING,
++ /* 186: kBEG */ ABSENT_STRING,
++ /* 187: kCAN */ ABSENT_STRING,
++ /* 188: kCMD */ ABSENT_STRING,
++ /* 189: kCPY */ ABSENT_STRING,
++ /* 190: kCRT */ ABSENT_STRING,
++ /* 191: kDC */ ABSENT_STRING,
++ /* 192: kDL */ ABSENT_STRING,
++ /* 193: kslt */ ABSENT_STRING,
++ /* 194: kEND */ ABSENT_STRING,
++ /* 195: kEOL */ ABSENT_STRING,
++ /* 196: kEXT */ ABSENT_STRING,
++ /* 197: kFND */ ABSENT_STRING,
++ /* 198: kHLP */ ABSENT_STRING,
++ /* 199: kHOM */ ABSENT_STRING,
++ /* 200: kIC */ ABSENT_STRING,
++ /* 201: kLFT */ ABSENT_STRING,
++ /* 202: kMSG */ ABSENT_STRING,
++ /* 203: kMOV */ ABSENT_STRING,
++ /* 204: kNXT */ ABSENT_STRING,
++ /* 205: kOPT */ ABSENT_STRING,
++ /* 206: kPRV */ ABSENT_STRING,
++ /* 207: kPRT */ ABSENT_STRING,
++ /* 208: kRDO */ ABSENT_STRING,
++ /* 209: kRPL */ ABSENT_STRING,
++ /* 210: kRIT */ ABSENT_STRING,
++ /* 211: kRES */ ABSENT_STRING,
++ /* 212: kSAV */ ABSENT_STRING,
++ /* 213: kSPD */ ABSENT_STRING,
++ /* 214: kUND */ ABSENT_STRING,
++ /* 215: rfi */ ABSENT_STRING,
++ /* 216: kf11 */ linux_s_kf11,
++ /* 217: kf12 */ linux_s_kf12,
++ /* 218: kf13 */ linux_s_kf13,
++ /* 219: kf14 */ linux_s_kf14,
++ /* 220: kf15 */ linux_s_kf15,
++ /* 221: kf16 */ linux_s_kf16,
++ /* 222: kf17 */ linux_s_kf17,
++ /* 223: kf18 */ linux_s_kf18,
++ /* 224: kf19 */ linux_s_kf19,
++ /* 225: kf20 */ linux_s_kf20,
++ /* 226: kf21 */ ABSENT_STRING,
++ /* 227: kf22 */ ABSENT_STRING,
++ /* 228: kf23 */ ABSENT_STRING,
++ /* 229: kf24 */ ABSENT_STRING,
++ /* 230: kf25 */ ABSENT_STRING,
++ /* 231: kf26 */ ABSENT_STRING,
++ /* 232: kf27 */ ABSENT_STRING,
++ /* 233: kf28 */ ABSENT_STRING,
++ /* 234: kf29 */ ABSENT_STRING,
++ /* 235: kf30 */ ABSENT_STRING,
++ /* 236: kf31 */ ABSENT_STRING,
++ /* 237: kf32 */ ABSENT_STRING,
++ /* 238: kf33 */ ABSENT_STRING,
++ /* 239: kf34 */ ABSENT_STRING,
++ /* 240: kf35 */ ABSENT_STRING,
++ /* 241: kf36 */ ABSENT_STRING,
++ /* 242: kf37 */ ABSENT_STRING,
++ /* 243: kf38 */ ABSENT_STRING,
++ /* 244: kf39 */ ABSENT_STRING,
++ /* 245: kf40 */ ABSENT_STRING,
++ /* 246: kf41 */ ABSENT_STRING,
++ /* 247: kf42 */ ABSENT_STRING,
++ /* 248: kf43 */ ABSENT_STRING,
++ /* 249: kf44 */ ABSENT_STRING,
++ /* 250: kf45 */ ABSENT_STRING,
++ /* 251: kf46 */ ABSENT_STRING,
++ /* 252: kf47 */ ABSENT_STRING,
++ /* 253: kf48 */ ABSENT_STRING,
++ /* 254: kf49 */ ABSENT_STRING,
++ /* 255: kf50 */ ABSENT_STRING,
++ /* 256: kf51 */ ABSENT_STRING,
++ /* 257: kf52 */ ABSENT_STRING,
++ /* 258: kf53 */ ABSENT_STRING,
++ /* 259: kf54 */ ABSENT_STRING,
++ /* 260: kf55 */ ABSENT_STRING,
++ /* 261: kf56 */ ABSENT_STRING,
++ /* 262: kf57 */ ABSENT_STRING,
++ /* 263: kf58 */ ABSENT_STRING,
++ /* 264: kf59 */ ABSENT_STRING,
++ /* 265: kf60 */ ABSENT_STRING,
++ /* 266: kf61 */ ABSENT_STRING,
++ /* 267: kf62 */ ABSENT_STRING,
++ /* 268: kf63 */ ABSENT_STRING,
++ /* 269: el1 */ linux_s_el1,
++ /* 270: mgc */ ABSENT_STRING,
++ /* 271: smgl */ ABSENT_STRING,
++ /* 272: smgr */ ABSENT_STRING,
++ /* 273: fln */ ABSENT_STRING,
++ /* 274: sclk */ ABSENT_STRING,
++ /* 275: dclk */ ABSENT_STRING,
++ /* 276: rmclk */ ABSENT_STRING,
++ /* 277: cwin */ ABSENT_STRING,
++ /* 278: wingo */ ABSENT_STRING,
++ /* 279: hup */ ABSENT_STRING,
++ /* 280: dial */ ABSENT_STRING,
++ /* 281: qdial */ ABSENT_STRING,
++ /* 282: tone */ ABSENT_STRING,
++ /* 283: pulse */ ABSENT_STRING,
++ /* 284: hook */ ABSENT_STRING,
++ /* 285: pause */ ABSENT_STRING,
++ /* 286: wait */ ABSENT_STRING,
++ /* 287: u0 */ ABSENT_STRING,
++ /* 288: u1 */ ABSENT_STRING,
++ /* 289: u2 */ ABSENT_STRING,
++ /* 290: u3 */ ABSENT_STRING,
++ /* 291: u4 */ ABSENT_STRING,
++ /* 292: u5 */ ABSENT_STRING,
++ /* 293: u6 */ linux_s_u6,
++ /* 294: u7 */ linux_s_u7,
++ /* 295: u8 */ linux_s_u8,
++ /* 296: u9 */ linux_s_u9,
++ /* 297: op */ linux_s_op,
++ /* 298: oc */ linux_s_oc,
++ /* 299: initc */ linux_s_initc,
++ /* 300: initp */ ABSENT_STRING,
++ /* 301: scp */ ABSENT_STRING,
++ /* 302: setf */ ABSENT_STRING,
++ /* 303: setb */ ABSENT_STRING,
++ /* 304: cpi */ ABSENT_STRING,
++ /* 305: lpi */ ABSENT_STRING,
++ /* 306: chr */ ABSENT_STRING,
++ /* 307: cvr */ ABSENT_STRING,
++ /* 308: defc */ ABSENT_STRING,
++ /* 309: swidm */ ABSENT_STRING,
++ /* 310: sdrfq */ ABSENT_STRING,
++ /* 311: sitm */ ABSENT_STRING,
++ /* 312: slm */ ABSENT_STRING,
++ /* 313: smicm */ ABSENT_STRING,
++ /* 314: snlq */ ABSENT_STRING,
++ /* 315: snrmq */ ABSENT_STRING,
++ /* 316: sshm */ ABSENT_STRING,
++ /* 317: ssubm */ ABSENT_STRING,
++ /* 318: ssupm */ ABSENT_STRING,
++ /* 319: sum */ ABSENT_STRING,
++ /* 320: rwidm */ ABSENT_STRING,
++ /* 321: ritm */ ABSENT_STRING,
++ /* 322: rlm */ ABSENT_STRING,
++ /* 323: rmicm */ ABSENT_STRING,
++ /* 324: rshm */ ABSENT_STRING,
++ /* 325: rsubm */ ABSENT_STRING,
++ /* 326: rsupm */ ABSENT_STRING,
++ /* 327: rum */ ABSENT_STRING,
++ /* 328: mhpa */ ABSENT_STRING,
++ /* 329: mcud1 */ ABSENT_STRING,
++ /* 330: mcub1 */ ABSENT_STRING,
++ /* 331: mcuf1 */ ABSENT_STRING,
++ /* 332: mvpa */ ABSENT_STRING,
++ /* 333: mcuu1 */ ABSENT_STRING,
++ /* 334: porder */ ABSENT_STRING,
++ /* 335: mcud */ ABSENT_STRING,
++ /* 336: mcub */ ABSENT_STRING,
++ /* 337: mcuf */ ABSENT_STRING,
++ /* 338: mcuu */ ABSENT_STRING,
++ /* 339: scs */ ABSENT_STRING,
++ /* 340: smgb */ ABSENT_STRING,
++ /* 341: smgbp */ ABSENT_STRING,
++ /* 342: smglp */ ABSENT_STRING,
++ /* 343: smgrp */ ABSENT_STRING,
++ /* 344: smgt */ ABSENT_STRING,
++ /* 345: smgtp */ ABSENT_STRING,
++ /* 346: sbim */ ABSENT_STRING,
++ /* 347: scsd */ ABSENT_STRING,
++ /* 348: rbim */ ABSENT_STRING,
++ /* 349: rcsd */ ABSENT_STRING,
++ /* 350: subcs */ ABSENT_STRING,
++ /* 351: supcs */ ABSENT_STRING,
++ /* 352: docr */ ABSENT_STRING,
++ /* 353: zerom */ ABSENT_STRING,
++ /* 354: csnm */ ABSENT_STRING,
++ /* 355: kmous */ linux_s_kmous,
++ /* 356: minfo */ ABSENT_STRING,
++ /* 357: reqmp */ ABSENT_STRING,
++ /* 358: getm */ ABSENT_STRING,
++ /* 359: setaf */ linux_s_setaf,
++ /* 360: setab */ linux_s_setab,
++ /* 361: pfxl */ ABSENT_STRING,
++ /* 362: devt */ ABSENT_STRING,
++ /* 363: csin */ ABSENT_STRING,
++ /* 364: s0ds */ ABSENT_STRING,
++ /* 365: s1ds */ ABSENT_STRING,
++ /* 366: s2ds */ ABSENT_STRING,
++ /* 367: s3ds */ ABSENT_STRING,
++ /* 368: smglr */ ABSENT_STRING,
++ /* 369: smgtb */ ABSENT_STRING,
++ /* 370: birep */ ABSENT_STRING,
++ /* 371: binel */ ABSENT_STRING,
++ /* 372: bicr */ ABSENT_STRING,
++ /* 373: colornm */ ABSENT_STRING,
++ /* 374: defbi */ ABSENT_STRING,
++ /* 375: endbi */ ABSENT_STRING,
++ /* 376: setcolor */ ABSENT_STRING,
++ /* 377: slines */ ABSENT_STRING,
++ /* 378: dispc */ ABSENT_STRING,
++ /* 379: smpch */ linux_s_smpch,
++ /* 380: rmpch */ linux_s_rmpch,
++ /* 381: smsc */ ABSENT_STRING,
++ /* 382: rmsc */ ABSENT_STRING,
++ /* 383: pctrm */ ABSENT_STRING,
++ /* 384: scesc */ ABSENT_STRING,
++ /* 385: scesa */ ABSENT_STRING,
++ /* 386: ehhlm */ ABSENT_STRING,
++ /* 387: elhlm */ ABSENT_STRING,
++ /* 388: elohlm */ ABSENT_STRING,
++ /* 389: erhlm */ ABSENT_STRING,
++ /* 390: ethlm */ ABSENT_STRING,
++ /* 391: evhlm */ ABSENT_STRING,
++ /* 392: sgr1 */ ABSENT_STRING,
++ /* 393: slength */ ABSENT_STRING,
++ /* 394: OTi2 */ ABSENT_STRING,
++ /* 395: OTrs */ ABSENT_STRING,
++ /* 396: OTnl */ ABSENT_STRING,
++ /* 397: OTbc */ ABSENT_STRING,
++ /* 398: OTko */ ABSENT_STRING,
++ /* 399: OTma */ ABSENT_STRING,
++ /* 400: OTG2 */ ABSENT_STRING,
++ /* 401: OTG3 */ ABSENT_STRING,
++ /* 402: OTG1 */ ABSENT_STRING,
++ /* 403: OTG4 */ ABSENT_STRING,
++ /* 404: OTGR */ ABSENT_STRING,
++ /* 405: OTGL */ ABSENT_STRING,
++ /* 406: OTGU */ ABSENT_STRING,
++ /* 407: OTGD */ ABSENT_STRING,
++ /* 408: OTGH */ ABSENT_STRING,
++ /* 409: OTGV */ ABSENT_STRING,
++ /* 410: OTGC */ ABSENT_STRING,
++ /* 411: meml */ ABSENT_STRING,
++ /* 412: memu */ ABSENT_STRING,
++ /* 413: box1 */ ABSENT_STRING,
++};
++/* rxvt */
++
++static char rxvt_alias_data[] = "rxvt|rxvt terminal emulator (X Window System)";
++
++static char rxvt_s_bel [] = "\007";
++static char rxvt_s_cr [] = "\015";
++static char rxvt_s_csr [] = "\033[%i%p1%d;%p2%dr";
++static char rxvt_s_tbc [] = "\033[3g";
++static char rxvt_s_clear [] = "\033[H\033[2J";
++static char rxvt_s_el [] = "\033[K";
++static char rxvt_s_ed [] = "\033[J";
++static char rxvt_s_hpa [] = "\033[%i%p1%dG";
++static char rxvt_s_cup [] = "\033[%i%p1%d;%p2%dH";
++static char rxvt_s_cud1 [] = "\012";
++static char rxvt_s_home [] = "\033[H";
++static char rxvt_s_civis [] = "\033[?25l";
++static char rxvt_s_cub1 [] = "\010";
++static char rxvt_s_cnorm [] = "\033[?25h";
++static char rxvt_s_cuf1 [] = "\033[C";
++static char rxvt_s_cuu1 [] = "\033[A";
++static char rxvt_s_dl1 [] = "\033[M";
++static char rxvt_s_smacs [] = "\016";
++static char rxvt_s_blink [] = "\033[5m";
++static char rxvt_s_bold [] = "\033[1m";
++static char rxvt_s_smcup [] = "\0337\033[?47h";
++static char rxvt_s_smir [] = "\033[4h";
++static char rxvt_s_rev [] = "\033[7m";
++static char rxvt_s_smso [] = "\033[7m";
++static char rxvt_s_smul [] = "\033[4m";
++static char rxvt_s_rmacs [] = "\017";
++static char rxvt_s_sgr0 [] = "\033[m\017";
++static char rxvt_s_rmcup [] = "\033[2J\033[?47l\0338";
++static char rxvt_s_rmir [] = "\033[4l";
++static char rxvt_s_rmso [] = "\033[27m";
++static char rxvt_s_rmul [] = "\033[24m";
++static char rxvt_s_flash [] = "\033[?5h$<100/>\033[?5l";
++static char rxvt_s_is1 [] = "\033[?47l\033=\033[?1l";
++static char rxvt_s_is2 [] = "\033[r\033[m\033[2J\033[H\033[?7h\033[?1;3;4;6l\033[4l";
++static char rxvt_s_ich1 [] = "\033[@";
++static char rxvt_s_il1 [] = "\033[L";
++static char rxvt_s_kbs [] = "\010";
++static char rxvt_s_kdch1 [] = "\033[3~";
++static char rxvt_s_kcud1 [] = "\033[B";
++static char rxvt_s_kel [] = "\033[8^";
++static char rxvt_s_kf0 [] = "\033[21~";
++static char rxvt_s_kf1 [] = "\033[11~";
++static char rxvt_s_kf10 [] = "\033[21~";
++static char rxvt_s_kf2 [] = "\033[12~";
++static char rxvt_s_kf3 [] = "\033[13~";
++static char rxvt_s_kf4 [] = "\033[14~";
++static char rxvt_s_kf5 [] = "\033[15~";
++static char rxvt_s_kf6 [] = "\033[17~";
++static char rxvt_s_kf7 [] = "\033[18~";
++static char rxvt_s_kf8 [] = "\033[19~";
++static char rxvt_s_kf9 [] = "\033[20~";
++static char rxvt_s_khome [] = "\033[7~";
++static char rxvt_s_kich1 [] = "\033[2~";
++static char rxvt_s_kcub1 [] = "\033[D";
++static char rxvt_s_knp [] = "\033[6~";
++static char rxvt_s_kpp [] = "\033[5~";
++static char rxvt_s_kcuf1 [] = "\033[C";
++static char rxvt_s_kind [] = "\033[a";
++static char rxvt_s_kri [] = "\033[b";
++static char rxvt_s_kcuu1 [] = "\033[A";
++static char rxvt_s_rmkx [] = "\033>";
++static char rxvt_s_smkx [] = "\033=";
++static char rxvt_s_dl [] = "\033[%p1%dM";
++static char rxvt_s_cud [] = "\033[%p1%dB";
++static char rxvt_s_ich [] = "\033[%p1%d@";
++static char rxvt_s_il [] = "\033[%p1%dL";
++static char rxvt_s_cub [] = "\033[%p1%dD";
++static char rxvt_s_cuf [] = "\033[%p1%dC";
++static char rxvt_s_cuu [] = "\033[%p1%dA";
++static char rxvt_s_rs1 [] = "\033>\033[1;3;4;5;6l\033[?7h\033[m\033[r\033[2J\033[H";
++static char rxvt_s_rs2 [] = "\033[r\033[m\033[2J\033[H\033[?7h\033[?1;3;4;6l\033[4l\033>\033[?1000l\033[?25h";
++static char rxvt_s_rc [] = "\0338";
++static char rxvt_s_vpa [] = "\033[%i%p1%dd";
++static char rxvt_s_sc [] = "\0337";
++static char rxvt_s_ind [] = "\012";
++static char rxvt_s_ri [] = "\033M";
++static char rxvt_s_sgr [] = "\033[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;";
++static char rxvt_s_hts [] = "\033H";
++static char rxvt_s_ht [] = "\011";
++static char rxvt_s_ka1 [] = "\033Ow";
++static char rxvt_s_ka3 [] = "\033Oy";
++static char rxvt_s_kb2 [] = "\033Ou";
++static char rxvt_s_kc1 [] = "\033Oq";
++static char rxvt_s_kc3 [] = "\033Os";
++static char rxvt_s_acsc [] = "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~";
++static char rxvt_s_kcbt [] = "\033[Z";
++static char rxvt_s_enacs [] = "\033(B\033)0";
++static char rxvt_s_kend [] = "\033[8~";
++static char rxvt_s_kent [] = "\033OM";
++static char rxvt_s_kfnd [] = "\033[1~";
++static char rxvt_s_kDC [] = "\033[3$";
++static char rxvt_s_kslt [] = "\033[4~";
++static char rxvt_s_kEND [] = "\033[8$";
++static char rxvt_s_kHOM [] = "\033[7$";
++static char rxvt_s_kIC [] = "\033[2$";
++static char rxvt_s_kLFT [] = "\033[d";
++static char rxvt_s_kNXT [] = "\033[6$";
++static char rxvt_s_kPRV [] = "\033[5$";
++static char rxvt_s_kRIT [] = "\033[c";
++static char rxvt_s_kf11 [] = "\033[23~";
++static char rxvt_s_kf12 [] = "\033[24~";
++static char rxvt_s_kf13 [] = "\033[25~";
++static char rxvt_s_kf14 [] = "\033[26~";
++static char rxvt_s_kf15 [] = "\033[28~";
++static char rxvt_s_kf16 [] = "\033[29~";
++static char rxvt_s_kf17 [] = "\033[31~";
++static char rxvt_s_kf18 [] = "\033[32~";
++static char rxvt_s_kf19 [] = "\033[33~";
++static char rxvt_s_kf20 [] = "\033[34~";
++static char rxvt_s_kf21 [] = "\033[23$";
++static char rxvt_s_kf22 [] = "\033[24$";
++static char rxvt_s_kf23 [] = "\033[11^";
++static char rxvt_s_kf24 [] = "\033[12^";
++static char rxvt_s_kf25 [] = "\033[13^";
++static char rxvt_s_kf26 [] = "\033[14^";
++static char rxvt_s_kf27 [] = "\033[15^";
++static char rxvt_s_kf28 [] = "\033[17^";
++static char rxvt_s_kf29 [] = "\033[18^";
++static char rxvt_s_kf30 [] = "\033[19^";
++static char rxvt_s_kf31 [] = "\033[20^";
++static char rxvt_s_kf32 [] = "\033[21^";
++static char rxvt_s_kf33 [] = "\033[23^";
++static char rxvt_s_kf34 [] = "\033[24^";
++static char rxvt_s_kf35 [] = "\033[25^";
++static char rxvt_s_kf36 [] = "\033[26^";
++static char rxvt_s_kf37 [] = "\033[28^";
++static char rxvt_s_kf38 [] = "\033[29^";
++static char rxvt_s_kf39 [] = "\033[31^";
++static char rxvt_s_kf40 [] = "\033[32^";
++static char rxvt_s_kf41 [] = "\033[33^";
++static char rxvt_s_kf42 [] = "\033[34^";
++static char rxvt_s_kf43 [] = "\033[23@";
++static char rxvt_s_kf44 [] = "\033[24@";
++static char rxvt_s_el1 [] = "\033[1K";
++static char rxvt_s_u6 [] = "\033[%i%d;%dR";
++static char rxvt_s_u7 [] = "\033[6n";
++static char rxvt_s_u8 [] = "\033[?1;2c";
++static char rxvt_s_u9 [] = "\033[c";
++static char rxvt_s_op [] = "\033[39;49m";
++static char rxvt_s_kmous [] = "\033[M";
++static char rxvt_s_setaf [] = "\033[3%p1%dm";
++static char rxvt_s_setab [] = "\033[4%p1%dm";
++static char rxvt_s_s0ds [] = "\033(B";
++static char rxvt_s_s1ds [] = "\033(0";
++
++static char rxvt_bool_data[] = {
++ /* 0: bw */ FALSE,
++ /* 1: am */ TRUE,
++ /* 2: xsb */ FALSE,
++ /* 3: xhp */ FALSE,
++ /* 4: xenl */ TRUE,
++ /* 5: eo */ TRUE,
++ /* 6: gn */ FALSE,
++ /* 7: hc */ FALSE,
++ /* 8: km */ FALSE,
++ /* 9: hs */ FALSE,
++ /* 10: in */ FALSE,
++ /* 11: da */ FALSE,
++ /* 12: db */ FALSE,
++ /* 13: mir */ TRUE,
++ /* 14: msgr */ TRUE,
++ /* 15: os */ FALSE,
++ /* 16: eslok */ FALSE,
++ /* 17: xt */ FALSE,
++ /* 18: hz */ FALSE,
++ /* 19: ul */ FALSE,
++ /* 20: xon */ TRUE,
++ /* 21: nxon */ FALSE,
++ /* 22: mc5i */ FALSE,
++ /* 23: chts */ FALSE,
++ /* 24: nrrmc */ FALSE,
++ /* 25: npc */ FALSE,
++ /* 26: ndscr */ FALSE,
++ /* 27: ccc */ FALSE,
++ /* 28: bce */ TRUE,
++ /* 29: hls */ FALSE,
++ /* 30: xhpa */ FALSE,
++ /* 31: crxm */ FALSE,
++ /* 32: daisy */ FALSE,
++ /* 33: xvpa */ FALSE,
++ /* 34: sam */ FALSE,
++ /* 35: cpix */ FALSE,
++ /* 36: lpix */ FALSE,
++ /* 37: OTbs */ TRUE,
++ /* 38: OTns */ FALSE,
++ /* 39: OTnc */ FALSE,
++ /* 40: OTMT */ FALSE,
++ /* 41: OTNL */ FALSE,
++ /* 42: OTpt */ FALSE,
++ /* 43: OTxr */ FALSE,
++};
++static NCURSES_INT2 rxvt_number_data[] = {
++ /* 0: cols */ 80,
++ /* 1: it */ 8,
++ /* 2: lines */ 24,
++ /* 3: lm */ ABSENT_NUMERIC,
++ /* 4: xmc */ ABSENT_NUMERIC,
++ /* 5: pb */ ABSENT_NUMERIC,
++ /* 6: vt */ ABSENT_NUMERIC,
++ /* 7: wsl */ ABSENT_NUMERIC,
++ /* 8: nlab */ ABSENT_NUMERIC,
++ /* 9: lh */ ABSENT_NUMERIC,
++ /* 10: lw */ ABSENT_NUMERIC,
++ /* 11: ma */ ABSENT_NUMERIC,
++ /* 12: wnum */ ABSENT_NUMERIC,
++ /* 13: colors */ 8,
++ /* 14: pairs */ 64,
++ /* 15: ncv */ CANCELLED_NUMERIC,
++ /* 16: bufsz */ ABSENT_NUMERIC,
++ /* 17: spinv */ ABSENT_NUMERIC,
++ /* 18: spinh */ ABSENT_NUMERIC,
++ /* 19: maddr */ ABSENT_NUMERIC,
++ /* 20: mjump */ ABSENT_NUMERIC,
++ /* 21: mcs */ ABSENT_NUMERIC,
++ /* 22: mls */ ABSENT_NUMERIC,
++ /* 23: npins */ ABSENT_NUMERIC,
++ /* 24: orc */ ABSENT_NUMERIC,
++ /* 25: orl */ ABSENT_NUMERIC,
++ /* 26: orhi */ ABSENT_NUMERIC,
++ /* 27: orvi */ ABSENT_NUMERIC,
++ /* 28: cps */ ABSENT_NUMERIC,
++ /* 29: widcs */ ABSENT_NUMERIC,
++ /* 30: btns */ ABSENT_NUMERIC,
++ /* 31: bitwin */ ABSENT_NUMERIC,
++ /* 32: bitype */ ABSENT_NUMERIC,
++ /* 33: OTug */ ABSENT_NUMERIC,
++ /* 34: OTdC */ ABSENT_NUMERIC,
++ /* 35: OTdN */ ABSENT_NUMERIC,
++ /* 36: OTdB */ ABSENT_NUMERIC,
++ /* 37: OTdT */ ABSENT_NUMERIC,
++ /* 38: OTkn */ ABSENT_NUMERIC,
++};
++static char * rxvt_string_data[] = {
++ /* 0: cbt */ ABSENT_STRING,
++ /* 1: bel */ rxvt_s_bel,
++ /* 2: cr */ rxvt_s_cr,
++ /* 3: csr */ rxvt_s_csr,
++ /* 4: tbc */ rxvt_s_tbc,
++ /* 5: clear */ rxvt_s_clear,
++ /* 6: el */ rxvt_s_el,
++ /* 7: ed */ rxvt_s_ed,
++ /* 8: hpa */ rxvt_s_hpa,
++ /* 9: cmdch */ ABSENT_STRING,
++ /* 10: cup */ rxvt_s_cup,
++ /* 11: cud1 */ rxvt_s_cud1,
++ /* 12: home */ rxvt_s_home,
++ /* 13: civis */ rxvt_s_civis,
++ /* 14: cub1 */ rxvt_s_cub1,
++ /* 15: mrcup */ ABSENT_STRING,
++ /* 16: cnorm */ rxvt_s_cnorm,
++ /* 17: cuf1 */ rxvt_s_cuf1,
++ /* 18: ll */ ABSENT_STRING,
++ /* 19: cuu1 */ rxvt_s_cuu1,
++ /* 20: cvvis */ ABSENT_STRING,
++ /* 21: dch1 */ ABSENT_STRING,
++ /* 22: dl1 */ rxvt_s_dl1,
++ /* 23: dsl */ ABSENT_STRING,
++ /* 24: hd */ ABSENT_STRING,
++ /* 25: smacs */ rxvt_s_smacs,
++ /* 26: blink */ rxvt_s_blink,
++ /* 27: bold */ rxvt_s_bold,
++ /* 28: smcup */ rxvt_s_smcup,
++ /* 29: smdc */ ABSENT_STRING,
++ /* 30: dim */ ABSENT_STRING,
++ /* 31: smir */ rxvt_s_smir,
++ /* 32: invis */ ABSENT_STRING,
++ /* 33: prot */ ABSENT_STRING,
++ /* 34: rev */ rxvt_s_rev,
++ /* 35: smso */ rxvt_s_smso,
++ /* 36: smul */ rxvt_s_smul,
++ /* 37: ech */ ABSENT_STRING,
++ /* 38: rmacs */ rxvt_s_rmacs,
++ /* 39: sgr0 */ rxvt_s_sgr0,
++ /* 40: rmcup */ rxvt_s_rmcup,
++ /* 41: rmdc */ ABSENT_STRING,
++ /* 42: rmir */ rxvt_s_rmir,
++ /* 43: rmso */ rxvt_s_rmso,
++ /* 44: rmul */ rxvt_s_rmul,
++ /* 45: flash */ rxvt_s_flash,
++ /* 46: ff */ ABSENT_STRING,
++ /* 47: fsl */ ABSENT_STRING,
++ /* 48: is1 */ rxvt_s_is1,
++ /* 49: is2 */ rxvt_s_is2,
++ /* 50: is3 */ ABSENT_STRING,
++ /* 51: if */ ABSENT_STRING,
++ /* 52: ich1 */ rxvt_s_ich1,
++ /* 53: il1 */ rxvt_s_il1,
++ /* 54: ip */ ABSENT_STRING,
++ /* 55: kbs */ rxvt_s_kbs,
++ /* 56: ktbc */ ABSENT_STRING,
++ /* 57: kclr */ ABSENT_STRING,
++ /* 58: kctab */ ABSENT_STRING,
++ /* 59: kdch1 */ rxvt_s_kdch1,
++ /* 60: kdl1 */ ABSENT_STRING,
++ /* 61: kcud1 */ rxvt_s_kcud1,
++ /* 62: krmir */ ABSENT_STRING,
++ /* 63: kel */ rxvt_s_kel,
++ /* 64: ked */ ABSENT_STRING,
++ /* 65: kf0 */ rxvt_s_kf0,
++ /* 66: kf1 */ rxvt_s_kf1,
++ /* 67: kf10 */ rxvt_s_kf10,
++ /* 68: kf2 */ rxvt_s_kf2,
++ /* 69: kf3 */ rxvt_s_kf3,
++ /* 70: kf4 */ rxvt_s_kf4,
++ /* 71: kf5 */ rxvt_s_kf5,
++ /* 72: kf6 */ rxvt_s_kf6,
++ /* 73: kf7 */ rxvt_s_kf7,
++ /* 74: kf8 */ rxvt_s_kf8,
++ /* 75: kf9 */ rxvt_s_kf9,
++ /* 76: khome */ rxvt_s_khome,
++ /* 77: kich1 */ rxvt_s_kich1,
++ /* 78: kil1 */ ABSENT_STRING,
++ /* 79: kcub1 */ rxvt_s_kcub1,
++ /* 80: kll */ ABSENT_STRING,
++ /* 81: knp */ rxvt_s_knp,
++ /* 82: kpp */ rxvt_s_kpp,
++ /* 83: kcuf1 */ rxvt_s_kcuf1,
++ /* 84: kind */ rxvt_s_kind,
++ /* 85: kri */ rxvt_s_kri,
++ /* 86: khts */ ABSENT_STRING,
++ /* 87: kcuu1 */ rxvt_s_kcuu1,
++ /* 88: rmkx */ rxvt_s_rmkx,
++ /* 89: smkx */ rxvt_s_smkx,
++ /* 90: lf0 */ ABSENT_STRING,
++ /* 91: lf1 */ ABSENT_STRING,
++ /* 92: lf10 */ ABSENT_STRING,
++ /* 93: lf2 */ ABSENT_STRING,
++ /* 94: lf3 */ ABSENT_STRING,
++ /* 95: lf4 */ ABSENT_STRING,
++ /* 96: lf5 */ ABSENT_STRING,
++ /* 97: lf6 */ ABSENT_STRING,
++ /* 98: lf7 */ ABSENT_STRING,
++ /* 99: lf8 */ ABSENT_STRING,
++ /* 100: lf9 */ ABSENT_STRING,
++ /* 101: rmm */ ABSENT_STRING,
++ /* 102: smm */ ABSENT_STRING,
++ /* 103: nel */ ABSENT_STRING,
++ /* 104: pad */ ABSENT_STRING,
++ /* 105: dch */ ABSENT_STRING,
++ /* 106: dl */ rxvt_s_dl,
++ /* 107: cud */ rxvt_s_cud,
++ /* 108: ich */ rxvt_s_ich,
++ /* 109: indn */ ABSENT_STRING,
++ /* 110: il */ rxvt_s_il,
++ /* 111: cub */ rxvt_s_cub,
++ /* 112: cuf */ rxvt_s_cuf,
++ /* 113: rin */ ABSENT_STRING,
++ /* 114: cuu */ rxvt_s_cuu,
++ /* 115: pfkey */ ABSENT_STRING,
++ /* 116: pfloc */ ABSENT_STRING,
++ /* 117: pfx */ ABSENT_STRING,
++ /* 118: mc0 */ ABSENT_STRING,
++ /* 119: mc4 */ ABSENT_STRING,
++ /* 120: mc5 */ ABSENT_STRING,
++ /* 121: rep */ ABSENT_STRING,
++ /* 122: rs1 */ rxvt_s_rs1,
++ /* 123: rs2 */ rxvt_s_rs2,
++ /* 124: rs3 */ ABSENT_STRING,
++ /* 125: rf */ ABSENT_STRING,
++ /* 126: rc */ rxvt_s_rc,
++ /* 127: vpa */ rxvt_s_vpa,
++ /* 128: sc */ rxvt_s_sc,
++ /* 129: ind */ rxvt_s_ind,
++ /* 130: ri */ rxvt_s_ri,
++ /* 131: sgr */ rxvt_s_sgr,
++ /* 132: hts */ rxvt_s_hts,
++ /* 133: wind */ ABSENT_STRING,
++ /* 134: ht */ rxvt_s_ht,
++ /* 135: tsl */ ABSENT_STRING,
++ /* 136: uc */ ABSENT_STRING,
++ /* 137: hu */ ABSENT_STRING,
++ /* 138: iprog */ ABSENT_STRING,
++ /* 139: ka1 */ rxvt_s_ka1,
++ /* 140: ka3 */ rxvt_s_ka3,
++ /* 141: kb2 */ rxvt_s_kb2,
++ /* 142: kc1 */ rxvt_s_kc1,
++ /* 143: kc3 */ rxvt_s_kc3,
++ /* 144: mc5p */ ABSENT_STRING,
++ /* 145: rmp */ ABSENT_STRING,
++ /* 146: acsc */ rxvt_s_acsc,
++ /* 147: pln */ ABSENT_STRING,
++ /* 148: kcbt */ rxvt_s_kcbt,
++ /* 149: smxon */ ABSENT_STRING,
++ /* 150: rmxon */ ABSENT_STRING,
++ /* 151: smam */ ABSENT_STRING,
++ /* 152: rmam */ ABSENT_STRING,
++ /* 153: xonc */ ABSENT_STRING,
++ /* 154: xoffc */ ABSENT_STRING,
++ /* 155: enacs */ rxvt_s_enacs,
++ /* 156: smln */ ABSENT_STRING,
++ /* 157: rmln */ ABSENT_STRING,
++ /* 158: kbeg */ ABSENT_STRING,
++ /* 159: kcan */ ABSENT_STRING,
++ /* 160: kclo */ ABSENT_STRING,
++ /* 161: kcmd */ ABSENT_STRING,
++ /* 162: kcpy */ ABSENT_STRING,
++ /* 163: kcrt */ ABSENT_STRING,
++ /* 164: kend */ rxvt_s_kend,
++ /* 165: kent */ rxvt_s_kent,
++ /* 166: kext */ ABSENT_STRING,
++ /* 167: kfnd */ rxvt_s_kfnd,
++ /* 168: khlp */ ABSENT_STRING,
++ /* 169: kmrk */ ABSENT_STRING,
++ /* 170: kmsg */ ABSENT_STRING,
++ /* 171: kmov */ ABSENT_STRING,
++ /* 172: knxt */ ABSENT_STRING,
++ /* 173: kopn */ ABSENT_STRING,
++ /* 174: kopt */ ABSENT_STRING,
++ /* 175: kprv */ ABSENT_STRING,
++ /* 176: kprt */ ABSENT_STRING,
++ /* 177: krdo */ ABSENT_STRING,
++ /* 178: kref */ ABSENT_STRING,
++ /* 179: krfr */ ABSENT_STRING,
++ /* 180: krpl */ ABSENT_STRING,
++ /* 181: krst */ ABSENT_STRING,
++ /* 182: kres */ ABSENT_STRING,
++ /* 183: ksav */ ABSENT_STRING,
++ /* 184: kspd */ ABSENT_STRING,
++ /* 185: kund */ ABSENT_STRING,
++ /* 186: kBEG */ ABSENT_STRING,
++ /* 187: kCAN */ ABSENT_STRING,
++ /* 188: kCMD */ ABSENT_STRING,
++ /* 189: kCPY */ ABSENT_STRING,
++ /* 190: kCRT */ ABSENT_STRING,
++ /* 191: kDC */ rxvt_s_kDC,
++ /* 192: kDL */ ABSENT_STRING,
++ /* 193: kslt */ rxvt_s_kslt,
++ /* 194: kEND */ rxvt_s_kEND,
++ /* 195: kEOL */ ABSENT_STRING,
++ /* 196: kEXT */ ABSENT_STRING,
++ /* 197: kFND */ ABSENT_STRING,
++ /* 198: kHLP */ ABSENT_STRING,
++ /* 199: kHOM */ rxvt_s_kHOM,
++ /* 200: kIC */ rxvt_s_kIC,
++ /* 201: kLFT */ rxvt_s_kLFT,
++ /* 202: kMSG */ ABSENT_STRING,
++ /* 203: kMOV */ ABSENT_STRING,
++ /* 204: kNXT */ rxvt_s_kNXT,
++ /* 205: kOPT */ ABSENT_STRING,
++ /* 206: kPRV */ rxvt_s_kPRV,
++ /* 207: kPRT */ ABSENT_STRING,
++ /* 208: kRDO */ ABSENT_STRING,
++ /* 209: kRPL */ ABSENT_STRING,
++ /* 210: kRIT */ rxvt_s_kRIT,
++ /* 211: kRES */ ABSENT_STRING,
++ /* 212: kSAV */ ABSENT_STRING,
++ /* 213: kSPD */ ABSENT_STRING,
++ /* 214: kUND */ ABSENT_STRING,
++ /* 215: rfi */ ABSENT_STRING,
++ /* 216: kf11 */ rxvt_s_kf11,
++ /* 217: kf12 */ rxvt_s_kf12,
++ /* 218: kf13 */ rxvt_s_kf13,
++ /* 219: kf14 */ rxvt_s_kf14,
++ /* 220: kf15 */ rxvt_s_kf15,
++ /* 221: kf16 */ rxvt_s_kf16,
++ /* 222: kf17 */ rxvt_s_kf17,
++ /* 223: kf18 */ rxvt_s_kf18,
++ /* 224: kf19 */ rxvt_s_kf19,
++ /* 225: kf20 */ rxvt_s_kf20,
++ /* 226: kf21 */ rxvt_s_kf21,
++ /* 227: kf22 */ rxvt_s_kf22,
++ /* 228: kf23 */ rxvt_s_kf23,
++ /* 229: kf24 */ rxvt_s_kf24,
++ /* 230: kf25 */ rxvt_s_kf25,
++ /* 231: kf26 */ rxvt_s_kf26,
++ /* 232: kf27 */ rxvt_s_kf27,
++ /* 233: kf28 */ rxvt_s_kf28,
++ /* 234: kf29 */ rxvt_s_kf29,
++ /* 235: kf30 */ rxvt_s_kf30,
++ /* 236: kf31 */ rxvt_s_kf31,
++ /* 237: kf32 */ rxvt_s_kf32,
++ /* 238: kf33 */ rxvt_s_kf33,
++ /* 239: kf34 */ rxvt_s_kf34,
++ /* 240: kf35 */ rxvt_s_kf35,
++ /* 241: kf36 */ rxvt_s_kf36,
++ /* 242: kf37 */ rxvt_s_kf37,
++ /* 243: kf38 */ rxvt_s_kf38,
++ /* 244: kf39 */ rxvt_s_kf39,
++ /* 245: kf40 */ rxvt_s_kf40,
++ /* 246: kf41 */ rxvt_s_kf41,
++ /* 247: kf42 */ rxvt_s_kf42,
++ /* 248: kf43 */ rxvt_s_kf43,
++ /* 249: kf44 */ rxvt_s_kf44,
++ /* 250: kf45 */ ABSENT_STRING,
++ /* 251: kf46 */ ABSENT_STRING,
++ /* 252: kf47 */ ABSENT_STRING,
++ /* 253: kf48 */ ABSENT_STRING,
++ /* 254: kf49 */ ABSENT_STRING,
++ /* 255: kf50 */ ABSENT_STRING,
++ /* 256: kf51 */ ABSENT_STRING,
++ /* 257: kf52 */ ABSENT_STRING,
++ /* 258: kf53 */ ABSENT_STRING,
++ /* 259: kf54 */ ABSENT_STRING,
++ /* 260: kf55 */ ABSENT_STRING,
++ /* 261: kf56 */ ABSENT_STRING,
++ /* 262: kf57 */ ABSENT_STRING,
++ /* 263: kf58 */ ABSENT_STRING,
++ /* 264: kf59 */ ABSENT_STRING,
++ /* 265: kf60 */ ABSENT_STRING,
++ /* 266: kf61 */ ABSENT_STRING,
++ /* 267: kf62 */ ABSENT_STRING,
++ /* 268: kf63 */ ABSENT_STRING,
++ /* 269: el1 */ rxvt_s_el1,
++ /* 270: mgc */ ABSENT_STRING,
++ /* 271: smgl */ ABSENT_STRING,
++ /* 272: smgr */ ABSENT_STRING,
++ /* 273: fln */ ABSENT_STRING,
++ /* 274: sclk */ ABSENT_STRING,
++ /* 275: dclk */ ABSENT_STRING,
++ /* 276: rmclk */ ABSENT_STRING,
++ /* 277: cwin */ ABSENT_STRING,
++ /* 278: wingo */ ABSENT_STRING,
++ /* 279: hup */ ABSENT_STRING,
++ /* 280: dial */ ABSENT_STRING,
++ /* 281: qdial */ ABSENT_STRING,
++ /* 282: tone */ ABSENT_STRING,
++ /* 283: pulse */ ABSENT_STRING,
++ /* 284: hook */ ABSENT_STRING,
++ /* 285: pause */ ABSENT_STRING,
++ /* 286: wait */ ABSENT_STRING,
++ /* 287: u0 */ ABSENT_STRING,
++ /* 288: u1 */ ABSENT_STRING,
++ /* 289: u2 */ ABSENT_STRING,
++ /* 290: u3 */ ABSENT_STRING,
++ /* 291: u4 */ ABSENT_STRING,
++ /* 292: u5 */ ABSENT_STRING,
++ /* 293: u6 */ rxvt_s_u6,
++ /* 294: u7 */ rxvt_s_u7,
++ /* 295: u8 */ rxvt_s_u8,
++ /* 296: u9 */ rxvt_s_u9,
++ /* 297: op */ rxvt_s_op,
++ /* 298: oc */ ABSENT_STRING,
++ /* 299: initc */ ABSENT_STRING,
++ /* 300: initp */ ABSENT_STRING,
++ /* 301: scp */ ABSENT_STRING,
++ /* 302: setf */ ABSENT_STRING,
++ /* 303: setb */ ABSENT_STRING,
++ /* 304: cpi */ ABSENT_STRING,
++ /* 305: lpi */ ABSENT_STRING,
++ /* 306: chr */ ABSENT_STRING,
++ /* 307: cvr */ ABSENT_STRING,
++ /* 308: defc */ ABSENT_STRING,
++ /* 309: swidm */ ABSENT_STRING,
++ /* 310: sdrfq */ ABSENT_STRING,
++ /* 311: sitm */ ABSENT_STRING,
++ /* 312: slm */ ABSENT_STRING,
++ /* 313: smicm */ ABSENT_STRING,
++ /* 314: snlq */ ABSENT_STRING,
++ /* 315: snrmq */ ABSENT_STRING,
++ /* 316: sshm */ ABSENT_STRING,
++ /* 317: ssubm */ ABSENT_STRING,
++ /* 318: ssupm */ ABSENT_STRING,
++ /* 319: sum */ ABSENT_STRING,
++ /* 320: rwidm */ ABSENT_STRING,
++ /* 321: ritm */ ABSENT_STRING,
++ /* 322: rlm */ ABSENT_STRING,
++ /* 323: rmicm */ ABSENT_STRING,
++ /* 324: rshm */ ABSENT_STRING,
++ /* 325: rsubm */ ABSENT_STRING,
++ /* 326: rsupm */ ABSENT_STRING,
++ /* 327: rum */ ABSENT_STRING,
++ /* 328: mhpa */ ABSENT_STRING,
++ /* 329: mcud1 */ ABSENT_STRING,
++ /* 330: mcub1 */ ABSENT_STRING,
++ /* 331: mcuf1 */ ABSENT_STRING,
++ /* 332: mvpa */ ABSENT_STRING,
++ /* 333: mcuu1 */ ABSENT_STRING,
++ /* 334: porder */ ABSENT_STRING,
++ /* 335: mcud */ ABSENT_STRING,
++ /* 336: mcub */ ABSENT_STRING,
++ /* 337: mcuf */ ABSENT_STRING,
++ /* 338: mcuu */ ABSENT_STRING,
++ /* 339: scs */ ABSENT_STRING,
++ /* 340: smgb */ ABSENT_STRING,
++ /* 341: smgbp */ ABSENT_STRING,
++ /* 342: smglp */ ABSENT_STRING,
++ /* 343: smgrp */ ABSENT_STRING,
++ /* 344: smgt */ ABSENT_STRING,
++ /* 345: smgtp */ ABSENT_STRING,
++ /* 346: sbim */ ABSENT_STRING,
++ /* 347: scsd */ ABSENT_STRING,
++ /* 348: rbim */ ABSENT_STRING,
++ /* 349: rcsd */ ABSENT_STRING,
++ /* 350: subcs */ ABSENT_STRING,
++ /* 351: supcs */ ABSENT_STRING,
++ /* 352: docr */ ABSENT_STRING,
++ /* 353: zerom */ ABSENT_STRING,
++ /* 354: csnm */ ABSENT_STRING,
++ /* 355: kmous */ rxvt_s_kmous,
++ /* 356: minfo */ ABSENT_STRING,
++ /* 357: reqmp */ ABSENT_STRING,
++ /* 358: getm */ ABSENT_STRING,
++ /* 359: setaf */ rxvt_s_setaf,
++ /* 360: setab */ rxvt_s_setab,
++ /* 361: pfxl */ ABSENT_STRING,
++ /* 362: devt */ ABSENT_STRING,
++ /* 363: csin */ ABSENT_STRING,
++ /* 364: s0ds */ rxvt_s_s0ds,
++ /* 365: s1ds */ rxvt_s_s1ds,
++ /* 366: s2ds */ ABSENT_STRING,
++ /* 367: s3ds */ ABSENT_STRING,
++ /* 368: smglr */ ABSENT_STRING,
++ /* 369: smgtb */ ABSENT_STRING,
++ /* 370: birep */ ABSENT_STRING,
++ /* 371: binel */ ABSENT_STRING,
++ /* 372: bicr */ ABSENT_STRING,
++ /* 373: colornm */ ABSENT_STRING,
++ /* 374: defbi */ ABSENT_STRING,
++ /* 375: endbi */ ABSENT_STRING,
++ /* 376: setcolor */ ABSENT_STRING,
++ /* 377: slines */ ABSENT_STRING,
++ /* 378: dispc */ ABSENT_STRING,
++ /* 379: smpch */ ABSENT_STRING,
++ /* 380: rmpch */ ABSENT_STRING,
++ /* 381: smsc */ ABSENT_STRING,
++ /* 382: rmsc */ ABSENT_STRING,
++ /* 383: pctrm */ ABSENT_STRING,
++ /* 384: scesc */ ABSENT_STRING,
++ /* 385: scesa */ ABSENT_STRING,
++ /* 386: ehhlm */ ABSENT_STRING,
++ /* 387: elhlm */ ABSENT_STRING,
++ /* 388: elohlm */ ABSENT_STRING,
++ /* 389: erhlm */ ABSENT_STRING,
++ /* 390: ethlm */ ABSENT_STRING,
++ /* 391: evhlm */ ABSENT_STRING,
++ /* 392: sgr1 */ ABSENT_STRING,
++ /* 393: slength */ ABSENT_STRING,
++ /* 394: OTi2 */ ABSENT_STRING,
++ /* 395: OTrs */ ABSENT_STRING,
++ /* 396: OTnl */ ABSENT_STRING,
++ /* 397: OTbc */ ABSENT_STRING,
++ /* 398: OTko */ ABSENT_STRING,
++ /* 399: OTma */ ABSENT_STRING,
++ /* 400: OTG2 */ ABSENT_STRING,
++ /* 401: OTG3 */ ABSENT_STRING,
++ /* 402: OTG1 */ ABSENT_STRING,
++ /* 403: OTG4 */ ABSENT_STRING,
++ /* 404: OTGR */ ABSENT_STRING,
++ /* 405: OTGL */ ABSENT_STRING,
++ /* 406: OTGU */ ABSENT_STRING,
++ /* 407: OTGD */ ABSENT_STRING,
++ /* 408: OTGH */ ABSENT_STRING,
++ /* 409: OTGV */ ABSENT_STRING,
++ /* 410: OTGC */ ABSENT_STRING,
++ /* 411: meml */ ABSENT_STRING,
++ /* 412: memu */ ABSENT_STRING,
++ /* 413: box1 */ ABSENT_STRING,
++};
++/* vt100 */
++
++static char vt100_alias_data[] = "vt100|vt100-am|dec vt100 (w/advanced video)";
++
++static char vt100_s_bel [] = "\007";
++static char vt100_s_cr [] = "\015";
++static char vt100_s_csr [] = "\033[%i%p1%d;%p2%dr";
++static char vt100_s_tbc [] = "\033[3g";
++static char vt100_s_clear [] = "\033[H\033[J$<50>";
++static char vt100_s_el [] = "\033[K$<3>";
++static char vt100_s_ed [] = "\033[J$<50>";
++static char vt100_s_cup [] = "\033[%i%p1%d;%p2%dH$<5>";
++static char vt100_s_cud1 [] = "\012";
++static char vt100_s_home [] = "\033[H";
++static char vt100_s_cub1 [] = "\010";
++static char vt100_s_cuf1 [] = "\033[C$<2>";
++static char vt100_s_cuu1 [] = "\033[A$<2>";
++static char vt100_s_smacs [] = "\016";
++static char vt100_s_blink [] = "\033[5m$<2>";
++static char vt100_s_bold [] = "\033[1m$<2>";
++static char vt100_s_rev [] = "\033[7m$<2>";
++static char vt100_s_smso [] = "\033[7m$<2>";
++static char vt100_s_smul [] = "\033[4m$<2>";
++static char vt100_s_rmacs [] = "\017";
++static char vt100_s_sgr0 [] = "\033[m\017$<2>";
++static char vt100_s_rmso [] = "\033[m$<2>";
++static char vt100_s_rmul [] = "\033[m$<2>";
++static char vt100_s_kbs [] = "\010";
++static char vt100_s_kcud1 [] = "\033OB";
++static char vt100_s_kf0 [] = "\033Oy";
++static char vt100_s_kf1 [] = "\033OP";
++static char vt100_s_kf10 [] = "\033Ox";
++static char vt100_s_kf2 [] = "\033OQ";
++static char vt100_s_kf3 [] = "\033OR";
++static char vt100_s_kf4 [] = "\033OS";
++static char vt100_s_kf5 [] = "\033Ot";
++static char vt100_s_kf6 [] = "\033Ou";
++static char vt100_s_kf7 [] = "\033Ov";
++static char vt100_s_kf8 [] = "\033Ol";
++static char vt100_s_kf9 [] = "\033Ow";
++static char vt100_s_kcub1 [] = "\033OD";
++static char vt100_s_kcuf1 [] = "\033OC";
++static char vt100_s_kcuu1 [] = "\033OA";
++static char vt100_s_rmkx [] = "\033[?1l\033>";
++static char vt100_s_smkx [] = "\033[?1h\033=";
++static char vt100_s_lf1 [] = "pf1";
++static char vt100_s_lf2 [] = "pf2";
++static char vt100_s_lf3 [] = "pf3";
++static char vt100_s_lf4 [] = "pf4";
++static char vt100_s_cud [] = "\033[%p1%dB";
++static char vt100_s_cub [] = "\033[%p1%dD";
++static char vt100_s_cuf [] = "\033[%p1%dC";
++static char vt100_s_cuu [] = "\033[%p1%dA";
++static char vt100_s_mc0 [] = "\033[0i";
++static char vt100_s_mc4 [] = "\033[4i";
++static char vt100_s_mc5 [] = "\033[5i";
++static char vt100_s_rs2 [] = "\033<\033>\033[?3;4;5l\033[?7;8h\033[r";
++static char vt100_s_rc [] = "\0338";
++static char vt100_s_sc [] = "\0337";
++static char vt100_s_ind [] = "\012";
++static char vt100_s_ri [] = "\033M$<5>";
++static char vt100_s_sgr [] = "\033[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?%p9%t\016%e\017%;$<2>";
++static char vt100_s_hts [] = "\033H";
++static char vt100_s_ht [] = "\011";
++static char vt100_s_ka1 [] = "\033Oq";
++static char vt100_s_ka3 [] = "\033Os";
++static char vt100_s_kb2 [] = "\033Or";
++static char vt100_s_kc1 [] = "\033Op";
++static char vt100_s_kc3 [] = "\033On";
++static char vt100_s_acsc [] = "``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~";
++static char vt100_s_smam [] = "\033[?7h";
++static char vt100_s_rmam [] = "\033[?7l";
++static char vt100_s_enacs [] = "\033(B\033)0";
++static char vt100_s_kent [] = "\033OM";
++static char vt100_s_el1 [] = "\033[1K$<3>";
++
++static char vt100_bool_data[] = {
++ /* 0: bw */ FALSE,
++ /* 1: am */ TRUE,
++ /* 2: xsb */ FALSE,
++ /* 3: xhp */ FALSE,
++ /* 4: xenl */ TRUE,
++ /* 5: eo */ FALSE,
++ /* 6: gn */ FALSE,
++ /* 7: hc */ FALSE,
++ /* 8: km */ FALSE,
++ /* 9: hs */ FALSE,
++ /* 10: in */ FALSE,
++ /* 11: da */ FALSE,
++ /* 12: db */ FALSE,
++ /* 13: mir */ FALSE,
++ /* 14: msgr */ TRUE,
++ /* 15: os */ FALSE,
++ /* 16: eslok */ FALSE,
++ /* 17: xt */ FALSE,
++ /* 18: hz */ FALSE,
++ /* 19: ul */ FALSE,
++ /* 20: xon */ TRUE,
++ /* 21: nxon */ FALSE,
++ /* 22: mc5i */ TRUE,
++ /* 23: chts */ FALSE,
++ /* 24: nrrmc */ FALSE,
++ /* 25: npc */ FALSE,
++ /* 26: ndscr */ FALSE,
++ /* 27: ccc */ FALSE,
++ /* 28: bce */ FALSE,
++ /* 29: hls */ FALSE,
++ /* 30: xhpa */ FALSE,
++ /* 31: crxm */ FALSE,
++ /* 32: daisy */ FALSE,
++ /* 33: xvpa */ FALSE,
++ /* 34: sam */ FALSE,
++ /* 35: cpix */ FALSE,
++ /* 36: lpix */ FALSE,
++ /* 37: OTbs */ TRUE,
++ /* 38: OTns */ FALSE,
++ /* 39: OTnc */ FALSE,
++ /* 40: OTMT */ FALSE,
++ /* 41: OTNL */ FALSE,
++ /* 42: OTpt */ FALSE,
++ /* 43: OTxr */ FALSE,
++};
++static NCURSES_INT2 vt100_number_data[] = {
++ /* 0: cols */ 80,
++ /* 1: it */ 8,
++ /* 2: lines */ 24,
++ /* 3: lm */ ABSENT_NUMERIC,
++ /* 4: xmc */ ABSENT_NUMERIC,
++ /* 5: pb */ ABSENT_NUMERIC,
++ /* 6: vt */ 3,
++ /* 7: wsl */ ABSENT_NUMERIC,
++ /* 8: nlab */ ABSENT_NUMERIC,
++ /* 9: lh */ ABSENT_NUMERIC,
++ /* 10: lw */ ABSENT_NUMERIC,
++ /* 11: ma */ ABSENT_NUMERIC,
++ /* 12: wnum */ ABSENT_NUMERIC,
++ /* 13: colors */ ABSENT_NUMERIC,
++ /* 14: pairs */ ABSENT_NUMERIC,
++ /* 15: ncv */ ABSENT_NUMERIC,
++ /* 16: bufsz */ ABSENT_NUMERIC,
++ /* 17: spinv */ ABSENT_NUMERIC,
++ /* 18: spinh */ ABSENT_NUMERIC,
++ /* 19: maddr */ ABSENT_NUMERIC,
++ /* 20: mjump */ ABSENT_NUMERIC,
++ /* 21: mcs */ ABSENT_NUMERIC,
++ /* 22: mls */ ABSENT_NUMERIC,
++ /* 23: npins */ ABSENT_NUMERIC,
++ /* 24: orc */ ABSENT_NUMERIC,
++ /* 25: orl */ ABSENT_NUMERIC,
++ /* 26: orhi */ ABSENT_NUMERIC,
++ /* 27: orvi */ ABSENT_NUMERIC,
++ /* 28: cps */ ABSENT_NUMERIC,
++ /* 29: widcs */ ABSENT_NUMERIC,
++ /* 30: btns */ ABSENT_NUMERIC,
++ /* 31: bitwin */ ABSENT_NUMERIC,
++ /* 32: bitype */ ABSENT_NUMERIC,
++ /* 33: OTug */ ABSENT_NUMERIC,
++ /* 34: OTdC */ ABSENT_NUMERIC,
++ /* 35: OTdN */ ABSENT_NUMERIC,
++ /* 36: OTdB */ ABSENT_NUMERIC,
++ /* 37: OTdT */ ABSENT_NUMERIC,
++ /* 38: OTkn */ ABSENT_NUMERIC,
++};
++static char * vt100_string_data[] = {
++ /* 0: cbt */ ABSENT_STRING,
++ /* 1: bel */ vt100_s_bel,
++ /* 2: cr */ vt100_s_cr,
++ /* 3: csr */ vt100_s_csr,
++ /* 4: tbc */ vt100_s_tbc,
++ /* 5: clear */ vt100_s_clear,
++ /* 6: el */ vt100_s_el,
++ /* 7: ed */ vt100_s_ed,
++ /* 8: hpa */ ABSENT_STRING,
++ /* 9: cmdch */ ABSENT_STRING,
++ /* 10: cup */ vt100_s_cup,
++ /* 11: cud1 */ vt100_s_cud1,
++ /* 12: home */ vt100_s_home,
++ /* 13: civis */ ABSENT_STRING,
++ /* 14: cub1 */ vt100_s_cub1,
++ /* 15: mrcup */ ABSENT_STRING,
++ /* 16: cnorm */ ABSENT_STRING,
++ /* 17: cuf1 */ vt100_s_cuf1,
++ /* 18: ll */ ABSENT_STRING,
++ /* 19: cuu1 */ vt100_s_cuu1,
++ /* 20: cvvis */ ABSENT_STRING,
++ /* 21: dch1 */ ABSENT_STRING,
++ /* 22: dl1 */ ABSENT_STRING,
++ /* 23: dsl */ ABSENT_STRING,
++ /* 24: hd */ ABSENT_STRING,
++ /* 25: smacs */ vt100_s_smacs,
++ /* 26: blink */ vt100_s_blink,
++ /* 27: bold */ vt100_s_bold,
++ /* 28: smcup */ ABSENT_STRING,
++ /* 29: smdc */ ABSENT_STRING,
++ /* 30: dim */ ABSENT_STRING,
++ /* 31: smir */ ABSENT_STRING,
++ /* 32: invis */ ABSENT_STRING,
++ /* 33: prot */ ABSENT_STRING,
++ /* 34: rev */ vt100_s_rev,
++ /* 35: smso */ vt100_s_smso,
++ /* 36: smul */ vt100_s_smul,
++ /* 37: ech */ ABSENT_STRING,
++ /* 38: rmacs */ vt100_s_rmacs,
++ /* 39: sgr0 */ vt100_s_sgr0,
++ /* 40: rmcup */ ABSENT_STRING,
++ /* 41: rmdc */ ABSENT_STRING,
++ /* 42: rmir */ ABSENT_STRING,
++ /* 43: rmso */ vt100_s_rmso,
++ /* 44: rmul */ vt100_s_rmul,
++ /* 45: flash */ ABSENT_STRING,
++ /* 46: ff */ ABSENT_STRING,
++ /* 47: fsl */ ABSENT_STRING,
++ /* 48: is1 */ ABSENT_STRING,
++ /* 49: is2 */ ABSENT_STRING,
++ /* 50: is3 */ ABSENT_STRING,
++ /* 51: if */ ABSENT_STRING,
++ /* 52: ich1 */ ABSENT_STRING,
++ /* 53: il1 */ ABSENT_STRING,
++ /* 54: ip */ ABSENT_STRING,
++ /* 55: kbs */ vt100_s_kbs,
++ /* 56: ktbc */ ABSENT_STRING,
++ /* 57: kclr */ ABSENT_STRING,
++ /* 58: kctab */ ABSENT_STRING,
++ /* 59: kdch1 */ ABSENT_STRING,
++ /* 60: kdl1 */ ABSENT_STRING,
++ /* 61: kcud1 */ vt100_s_kcud1,
++ /* 62: krmir */ ABSENT_STRING,
++ /* 63: kel */ ABSENT_STRING,
++ /* 64: ked */ ABSENT_STRING,
++ /* 65: kf0 */ vt100_s_kf0,
++ /* 66: kf1 */ vt100_s_kf1,
++ /* 67: kf10 */ vt100_s_kf10,
++ /* 68: kf2 */ vt100_s_kf2,
++ /* 69: kf3 */ vt100_s_kf3,
++ /* 70: kf4 */ vt100_s_kf4,
++ /* 71: kf5 */ vt100_s_kf5,
++ /* 72: kf6 */ vt100_s_kf6,
++ /* 73: kf7 */ vt100_s_kf7,
++ /* 74: kf8 */ vt100_s_kf8,
++ /* 75: kf9 */ vt100_s_kf9,
++ /* 76: khome */ ABSENT_STRING,
++ /* 77: kich1 */ ABSENT_STRING,
++ /* 78: kil1 */ ABSENT_STRING,
++ /* 79: kcub1 */ vt100_s_kcub1,
++ /* 80: kll */ ABSENT_STRING,
++ /* 81: knp */ ABSENT_STRING,
++ /* 82: kpp */ ABSENT_STRING,
++ /* 83: kcuf1 */ vt100_s_kcuf1,
++ /* 84: kind */ ABSENT_STRING,
++ /* 85: kri */ ABSENT_STRING,
++ /* 86: khts */ ABSENT_STRING,
++ /* 87: kcuu1 */ vt100_s_kcuu1,
++ /* 88: rmkx */ vt100_s_rmkx,
++ /* 89: smkx */ vt100_s_smkx,
++ /* 90: lf0 */ ABSENT_STRING,
++ /* 91: lf1 */ vt100_s_lf1,
++ /* 92: lf10 */ ABSENT_STRING,
++ /* 93: lf2 */ vt100_s_lf2,
++ /* 94: lf3 */ vt100_s_lf3,
++ /* 95: lf4 */ vt100_s_lf4,
++ /* 96: lf5 */ ABSENT_STRING,
++ /* 97: lf6 */ ABSENT_STRING,
++ /* 98: lf7 */ ABSENT_STRING,
++ /* 99: lf8 */ ABSENT_STRING,
++ /* 100: lf9 */ ABSENT_STRING,
++ /* 101: rmm */ ABSENT_STRING,
++ /* 102: smm */ ABSENT_STRING,
++ /* 103: nel */ ABSENT_STRING,
++ /* 104: pad */ ABSENT_STRING,
++ /* 105: dch */ ABSENT_STRING,
++ /* 106: dl */ ABSENT_STRING,
++ /* 107: cud */ vt100_s_cud,
++ /* 108: ich */ ABSENT_STRING,
++ /* 109: indn */ ABSENT_STRING,
++ /* 110: il */ ABSENT_STRING,
++ /* 111: cub */ vt100_s_cub,
++ /* 112: cuf */ vt100_s_cuf,
++ /* 113: rin */ ABSENT_STRING,
++ /* 114: cuu */ vt100_s_cuu,
++ /* 115: pfkey */ ABSENT_STRING,
++ /* 116: pfloc */ ABSENT_STRING,
++ /* 117: pfx */ ABSENT_STRING,
++ /* 118: mc0 */ vt100_s_mc0,
++ /* 119: mc4 */ vt100_s_mc4,
++ /* 120: mc5 */ vt100_s_mc5,
++ /* 121: rep */ ABSENT_STRING,
++ /* 122: rs1 */ ABSENT_STRING,
++ /* 123: rs2 */ vt100_s_rs2,
++ /* 124: rs3 */ ABSENT_STRING,
++ /* 125: rf */ ABSENT_STRING,
++ /* 126: rc */ vt100_s_rc,
++ /* 127: vpa */ ABSENT_STRING,
++ /* 128: sc */ vt100_s_sc,
++ /* 129: ind */ vt100_s_ind,
++ /* 130: ri */ vt100_s_ri,
++ /* 131: sgr */ vt100_s_sgr,
++ /* 132: hts */ vt100_s_hts,
++ /* 133: wind */ ABSENT_STRING,
++ /* 134: ht */ vt100_s_ht,
++ /* 135: tsl */ ABSENT_STRING,
++ /* 136: uc */ ABSENT_STRING,
++ /* 137: hu */ ABSENT_STRING,
++ /* 138: iprog */ ABSENT_STRING,
++ /* 139: ka1 */ vt100_s_ka1,
++ /* 140: ka3 */ vt100_s_ka3,
++ /* 141: kb2 */ vt100_s_kb2,
++ /* 142: kc1 */ vt100_s_kc1,
++ /* 143: kc3 */ vt100_s_kc3,
++ /* 144: mc5p */ ABSENT_STRING,
++ /* 145: rmp */ ABSENT_STRING,
++ /* 146: acsc */ vt100_s_acsc,
++ /* 147: pln */ ABSENT_STRING,
++ /* 148: kcbt */ ABSENT_STRING,
++ /* 149: smxon */ ABSENT_STRING,
++ /* 150: rmxon */ ABSENT_STRING,
++ /* 151: smam */ vt100_s_smam,
++ /* 152: rmam */ vt100_s_rmam,
++ /* 153: xonc */ ABSENT_STRING,
++ /* 154: xoffc */ ABSENT_STRING,
++ /* 155: enacs */ vt100_s_enacs,
++ /* 156: smln */ ABSENT_STRING,
++ /* 157: rmln */ ABSENT_STRING,
++ /* 158: kbeg */ ABSENT_STRING,
++ /* 159: kcan */ ABSENT_STRING,
++ /* 160: kclo */ ABSENT_STRING,
++ /* 161: kcmd */ ABSENT_STRING,
++ /* 162: kcpy */ ABSENT_STRING,
++ /* 163: kcrt */ ABSENT_STRING,
++ /* 164: kend */ ABSENT_STRING,
++ /* 165: kent */ vt100_s_kent,
++ /* 166: kext */ ABSENT_STRING,
++ /* 167: kfnd */ ABSENT_STRING,
++ /* 168: khlp */ ABSENT_STRING,
++ /* 169: kmrk */ ABSENT_STRING,
++ /* 170: kmsg */ ABSENT_STRING,
++ /* 171: kmov */ ABSENT_STRING,
++ /* 172: knxt */ ABSENT_STRING,
++ /* 173: kopn */ ABSENT_STRING,
++ /* 174: kopt */ ABSENT_STRING,
++ /* 175: kprv */ ABSENT_STRING,
++ /* 176: kprt */ ABSENT_STRING,
++ /* 177: krdo */ ABSENT_STRING,
++ /* 178: kref */ ABSENT_STRING,
++ /* 179: krfr */ ABSENT_STRING,
++ /* 180: krpl */ ABSENT_STRING,
++ /* 181: krst */ ABSENT_STRING,
++ /* 182: kres */ ABSENT_STRING,
++ /* 183: ksav */ ABSENT_STRING,
++ /* 184: kspd */ ABSENT_STRING,
++ /* 185: kund */ ABSENT_STRING,
++ /* 186: kBEG */ ABSENT_STRING,
++ /* 187: kCAN */ ABSENT_STRING,
++ /* 188: kCMD */ ABSENT_STRING,
++ /* 189: kCPY */ ABSENT_STRING,
++ /* 190: kCRT */ ABSENT_STRING,
++ /* 191: kDC */ ABSENT_STRING,
++ /* 192: kDL */ ABSENT_STRING,
++ /* 193: kslt */ ABSENT_STRING,
++ /* 194: kEND */ ABSENT_STRING,
++ /* 195: kEOL */ ABSENT_STRING,
++ /* 196: kEXT */ ABSENT_STRING,
++ /* 197: kFND */ ABSENT_STRING,
++ /* 198: kHLP */ ABSENT_STRING,
++ /* 199: kHOM */ ABSENT_STRING,
++ /* 200: kIC */ ABSENT_STRING,
++ /* 201: kLFT */ ABSENT_STRING,
++ /* 202: kMSG */ ABSENT_STRING,
++ /* 203: kMOV */ ABSENT_STRING,
++ /* 204: kNXT */ ABSENT_STRING,
++ /* 205: kOPT */ ABSENT_STRING,
++ /* 206: kPRV */ ABSENT_STRING,
++ /* 207: kPRT */ ABSENT_STRING,
++ /* 208: kRDO */ ABSENT_STRING,
++ /* 209: kRPL */ ABSENT_STRING,
++ /* 210: kRIT */ ABSENT_STRING,
++ /* 211: kRES */ ABSENT_STRING,
++ /* 212: kSAV */ ABSENT_STRING,
++ /* 213: kSPD */ ABSENT_STRING,
++ /* 214: kUND */ ABSENT_STRING,
++ /* 215: rfi */ ABSENT_STRING,
++ /* 216: kf11 */ ABSENT_STRING,
++ /* 217: kf12 */ ABSENT_STRING,
++ /* 218: kf13 */ ABSENT_STRING,
++ /* 219: kf14 */ ABSENT_STRING,
++ /* 220: kf15 */ ABSENT_STRING,
++ /* 221: kf16 */ ABSENT_STRING,
++ /* 222: kf17 */ ABSENT_STRING,
++ /* 223: kf18 */ ABSENT_STRING,
++ /* 224: kf19 */ ABSENT_STRING,
++ /* 225: kf20 */ ABSENT_STRING,
++ /* 226: kf21 */ ABSENT_STRING,
++ /* 227: kf22 */ ABSENT_STRING,
++ /* 228: kf23 */ ABSENT_STRING,
++ /* 229: kf24 */ ABSENT_STRING,
++ /* 230: kf25 */ ABSENT_STRING,
++ /* 231: kf26 */ ABSENT_STRING,
++ /* 232: kf27 */ ABSENT_STRING,
++ /* 233: kf28 */ ABSENT_STRING,
++ /* 234: kf29 */ ABSENT_STRING,
++ /* 235: kf30 */ ABSENT_STRING,
++ /* 236: kf31 */ ABSENT_STRING,
++ /* 237: kf32 */ ABSENT_STRING,
++ /* 238: kf33 */ ABSENT_STRING,
++ /* 239: kf34 */ ABSENT_STRING,
++ /* 240: kf35 */ ABSENT_STRING,
++ /* 241: kf36 */ ABSENT_STRING,
++ /* 242: kf37 */ ABSENT_STRING,
++ /* 243: kf38 */ ABSENT_STRING,
++ /* 244: kf39 */ ABSENT_STRING,
++ /* 245: kf40 */ ABSENT_STRING,
++ /* 246: kf41 */ ABSENT_STRING,
++ /* 247: kf42 */ ABSENT_STRING,
++ /* 248: kf43 */ ABSENT_STRING,
++ /* 249: kf44 */ ABSENT_STRING,
++ /* 250: kf45 */ ABSENT_STRING,
++ /* 251: kf46 */ ABSENT_STRING,
++ /* 252: kf47 */ ABSENT_STRING,
++ /* 253: kf48 */ ABSENT_STRING,
++ /* 254: kf49 */ ABSENT_STRING,
++ /* 255: kf50 */ ABSENT_STRING,
++ /* 256: kf51 */ ABSENT_STRING,
++ /* 257: kf52 */ ABSENT_STRING,
++ /* 258: kf53 */ ABSENT_STRING,
++ /* 259: kf54 */ ABSENT_STRING,
++ /* 260: kf55 */ ABSENT_STRING,
++ /* 261: kf56 */ ABSENT_STRING,
++ /* 262: kf57 */ ABSENT_STRING,
++ /* 263: kf58 */ ABSENT_STRING,
++ /* 264: kf59 */ ABSENT_STRING,
++ /* 265: kf60 */ ABSENT_STRING,
++ /* 266: kf61 */ ABSENT_STRING,
++ /* 267: kf62 */ ABSENT_STRING,
++ /* 268: kf63 */ ABSENT_STRING,
++ /* 269: el1 */ vt100_s_el1,
++ /* 270: mgc */ ABSENT_STRING,
++ /* 271: smgl */ ABSENT_STRING,
++ /* 272: smgr */ ABSENT_STRING,
++ /* 273: fln */ ABSENT_STRING,
++ /* 274: sclk */ ABSENT_STRING,
++ /* 275: dclk */ ABSENT_STRING,
++ /* 276: rmclk */ ABSENT_STRING,
++ /* 277: cwin */ ABSENT_STRING,
++ /* 278: wingo */ ABSENT_STRING,
++ /* 279: hup */ ABSENT_STRING,
++ /* 280: dial */ ABSENT_STRING,
++ /* 281: qdial */ ABSENT_STRING,
++ /* 282: tone */ ABSENT_STRING,
++ /* 283: pulse */ ABSENT_STRING,
++ /* 284: hook */ ABSENT_STRING,
++ /* 285: pause */ ABSENT_STRING,
++ /* 286: wait */ ABSENT_STRING,
++ /* 287: u0 */ ABSENT_STRING,
++ /* 288: u1 */ ABSENT_STRING,
++ /* 289: u2 */ ABSENT_STRING,
++ /* 290: u3 */ ABSENT_STRING,
++ /* 291: u4 */ ABSENT_STRING,
++ /* 292: u5 */ ABSENT_STRING,
++ /* 293: u6 */ ABSENT_STRING,
++ /* 294: u7 */ ABSENT_STRING,
++ /* 295: u8 */ ABSENT_STRING,
++ /* 296: u9 */ ABSENT_STRING,
++ /* 297: op */ ABSENT_STRING,
++ /* 298: oc */ ABSENT_STRING,
++ /* 299: initc */ ABSENT_STRING,
++ /* 300: initp */ ABSENT_STRING,
++ /* 301: scp */ ABSENT_STRING,
++ /* 302: setf */ ABSENT_STRING,
++ /* 303: setb */ ABSENT_STRING,
++ /* 304: cpi */ ABSENT_STRING,
++ /* 305: lpi */ ABSENT_STRING,
++ /* 306: chr */ ABSENT_STRING,
++ /* 307: cvr */ ABSENT_STRING,
++ /* 308: defc */ ABSENT_STRING,
++ /* 309: swidm */ ABSENT_STRING,
++ /* 310: sdrfq */ ABSENT_STRING,
++ /* 311: sitm */ ABSENT_STRING,
++ /* 312: slm */ ABSENT_STRING,
++ /* 313: smicm */ ABSENT_STRING,
++ /* 314: snlq */ ABSENT_STRING,
++ /* 315: snrmq */ ABSENT_STRING,
++ /* 316: sshm */ ABSENT_STRING,
++ /* 317: ssubm */ ABSENT_STRING,
++ /* 318: ssupm */ ABSENT_STRING,
++ /* 319: sum */ ABSENT_STRING,
++ /* 320: rwidm */ ABSENT_STRING,
++ /* 321: ritm */ ABSENT_STRING,
++ /* 322: rlm */ ABSENT_STRING,
++ /* 323: rmicm */ ABSENT_STRING,
++ /* 324: rshm */ ABSENT_STRING,
++ /* 325: rsubm */ ABSENT_STRING,
++ /* 326: rsupm */ ABSENT_STRING,
++ /* 327: rum */ ABSENT_STRING,
++ /* 328: mhpa */ ABSENT_STRING,
++ /* 329: mcud1 */ ABSENT_STRING,
++ /* 330: mcub1 */ ABSENT_STRING,
++ /* 331: mcuf1 */ ABSENT_STRING,
++ /* 332: mvpa */ ABSENT_STRING,
++ /* 333: mcuu1 */ ABSENT_STRING,
++ /* 334: porder */ ABSENT_STRING,
++ /* 335: mcud */ ABSENT_STRING,
++ /* 336: mcub */ ABSENT_STRING,
++ /* 337: mcuf */ ABSENT_STRING,
++ /* 338: mcuu */ ABSENT_STRING,
++ /* 339: scs */ ABSENT_STRING,
++ /* 340: smgb */ ABSENT_STRING,
++ /* 341: smgbp */ ABSENT_STRING,
++ /* 342: smglp */ ABSENT_STRING,
++ /* 343: smgrp */ ABSENT_STRING,
++ /* 344: smgt */ ABSENT_STRING,
++ /* 345: smgtp */ ABSENT_STRING,
++ /* 346: sbim */ ABSENT_STRING,
++ /* 347: scsd */ ABSENT_STRING,
++ /* 348: rbim */ ABSENT_STRING,
++ /* 349: rcsd */ ABSENT_STRING,
++ /* 350: subcs */ ABSENT_STRING,
++ /* 351: supcs */ ABSENT_STRING,
++ /* 352: docr */ ABSENT_STRING,
++ /* 353: zerom */ ABSENT_STRING,
++ /* 354: csnm */ ABSENT_STRING,
++ /* 355: kmous */ ABSENT_STRING,
++ /* 356: minfo */ ABSENT_STRING,
++ /* 357: reqmp */ ABSENT_STRING,
++ /* 358: getm */ ABSENT_STRING,
++ /* 359: setaf */ ABSENT_STRING,
++ /* 360: setab */ ABSENT_STRING,
++ /* 361: pfxl */ ABSENT_STRING,
++ /* 362: devt */ ABSENT_STRING,
++ /* 363: csin */ ABSENT_STRING,
++ /* 364: s0ds */ ABSENT_STRING,
++ /* 365: s1ds */ ABSENT_STRING,
++ /* 366: s2ds */ ABSENT_STRING,
++ /* 367: s3ds */ ABSENT_STRING,
++ /* 368: smglr */ ABSENT_STRING,
++ /* 369: smgtb */ ABSENT_STRING,
++ /* 370: birep */ ABSENT_STRING,
++ /* 371: binel */ ABSENT_STRING,
++ /* 372: bicr */ ABSENT_STRING,
++ /* 373: colornm */ ABSENT_STRING,
++ /* 374: defbi */ ABSENT_STRING,
++ /* 375: endbi */ ABSENT_STRING,
++ /* 376: setcolor */ ABSENT_STRING,
++ /* 377: slines */ ABSENT_STRING,
++ /* 378: dispc */ ABSENT_STRING,
++ /* 379: smpch */ ABSENT_STRING,
++ /* 380: rmpch */ ABSENT_STRING,
++ /* 381: smsc */ ABSENT_STRING,
++ /* 382: rmsc */ ABSENT_STRING,
++ /* 383: pctrm */ ABSENT_STRING,
++ /* 384: scesc */ ABSENT_STRING,
++ /* 385: scesa */ ABSENT_STRING,
++ /* 386: ehhlm */ ABSENT_STRING,
++ /* 387: elhlm */ ABSENT_STRING,
++ /* 388: elohlm */ ABSENT_STRING,
++ /* 389: erhlm */ ABSENT_STRING,
++ /* 390: ethlm */ ABSENT_STRING,
++ /* 391: evhlm */ ABSENT_STRING,
++ /* 392: sgr1 */ ABSENT_STRING,
++ /* 393: slength */ ABSENT_STRING,
++ /* 394: OTi2 */ ABSENT_STRING,
++ /* 395: OTrs */ ABSENT_STRING,
++ /* 396: OTnl */ ABSENT_STRING,
++ /* 397: OTbc */ ABSENT_STRING,
++ /* 398: OTko */ ABSENT_STRING,
++ /* 399: OTma */ ABSENT_STRING,
++ /* 400: OTG2 */ ABSENT_STRING,
++ /* 401: OTG3 */ ABSENT_STRING,
++ /* 402: OTG1 */ ABSENT_STRING,
++ /* 403: OTG4 */ ABSENT_STRING,
++ /* 404: OTGR */ ABSENT_STRING,
++ /* 405: OTGL */ ABSENT_STRING,
++ /* 406: OTGU */ ABSENT_STRING,
++ /* 407: OTGD */ ABSENT_STRING,
++ /* 408: OTGH */ ABSENT_STRING,
++ /* 409: OTGV */ ABSENT_STRING,
++ /* 410: OTGC */ ABSENT_STRING,
++ /* 411: meml */ ABSENT_STRING,
++ /* 412: memu */ ABSENT_STRING,
++ /* 413: box1 */ ABSENT_STRING,
++};
++/* xterm */
++
++static char xterm_alias_data[] = "xterm|xterm terminal emulator (X Window System)";
++
++static char xterm_s_cbt [] = "\033[Z";
++static char xterm_s_bel [] = "\007";
++static char xterm_s_cr [] = "\015";
++static char xterm_s_csr [] = "\033[%i%p1%d;%p2%dr";
++static char xterm_s_tbc [] = "\033[3g";
++static char xterm_s_clear [] = "\033[H\033[2J";
++static char xterm_s_el [] = "\033[K";
++static char xterm_s_ed [] = "\033[J";
++static char xterm_s_hpa [] = "\033[%i%p1%dG";
++static char xterm_s_cup [] = "\033[%i%p1%d;%p2%dH";
++static char xterm_s_cud1 [] = "\012";
++static char xterm_s_home [] = "\033[H";
++static char xterm_s_civis [] = "\033[?25l";
++static char xterm_s_cub1 [] = "\010";
++static char xterm_s_cnorm [] = "\033[?12l\033[?25h";
++static char xterm_s_cuf1 [] = "\033[C";
++static char xterm_s_cuu1 [] = "\033[A";
++static char xterm_s_cvvis [] = "\033[?12;25h";
++static char xterm_s_dch1 [] = "\033[P";
++static char xterm_s_dl1 [] = "\033[M";
++static char xterm_s_smacs [] = "\033(0";
++static char xterm_s_blink [] = "\033[5m";
++static char xterm_s_bold [] = "\033[1m";
++static char xterm_s_smcup [] = "\033[?1049h\033[22;0;0t";
++static char xterm_s_dim [] = "\033[2m";
++static char xterm_s_smir [] = "\033[4h";
++static char xterm_s_invis [] = "\033[8m";
++static char xterm_s_rev [] = "\033[7m";
++static char xterm_s_smso [] = "\033[7m";
++static char xterm_s_smul [] = "\033[4m";
++static char xterm_s_ech [] = "\033[%p1%dX";
++static char xterm_s_rmacs [] = "\033(B";
++static char xterm_s_sgr0 [] = "\033(B\033[m";
++static char xterm_s_rmcup [] = "\033[?1049l\033[23;0;0t";
++static char xterm_s_rmir [] = "\033[4l";
++static char xterm_s_rmso [] = "\033[27m";
++static char xterm_s_rmul [] = "\033[24m";
++static char xterm_s_flash [] = "\033[?5h$<100/>\033[?5l";
++static char xterm_s_is2 [] = "\033[!p\033[?3;4l\033[4l\033>";
++static char xterm_s_il1 [] = "\033[L";
++static char xterm_s_kbs [] = "\010";
++static char xterm_s_kdch1 [] = "\033[3~";
++static char xterm_s_kcud1 [] = "\033OB";
++static char xterm_s_kf1 [] = "\033OP";
++static char xterm_s_kf10 [] = "\033[21~";
++static char xterm_s_kf2 [] = "\033OQ";
++static char xterm_s_kf3 [] = "\033OR";
++static char xterm_s_kf4 [] = "\033OS";
++static char xterm_s_kf5 [] = "\033[15~";
++static char xterm_s_kf6 [] = "\033[17~";
++static char xterm_s_kf7 [] = "\033[18~";
++static char xterm_s_kf8 [] = "\033[19~";
++static char xterm_s_kf9 [] = "\033[20~";
++static char xterm_s_khome [] = "\033OH";
++static char xterm_s_kich1 [] = "\033[2~";
++static char xterm_s_kcub1 [] = "\033OD";
++static char xterm_s_knp [] = "\033[6~";
++static char xterm_s_kpp [] = "\033[5~";
++static char xterm_s_kcuf1 [] = "\033OC";
++static char xterm_s_kind [] = "\033[1;2B";
++static char xterm_s_kri [] = "\033[1;2A";
++static char xterm_s_kcuu1 [] = "\033OA";
++static char xterm_s_rmkx [] = "\033[?1l\033>";
++static char xterm_s_smkx [] = "\033[?1h\033=";
++static char xterm_s_rmm [] = "\033[?1034l";
++static char xterm_s_smm [] = "\033[?1034h";
++static char xterm_s_dch [] = "\033[%p1%dP";
++static char xterm_s_dl [] = "\033[%p1%dM";
++static char xterm_s_cud [] = "\033[%p1%dB";
++static char xterm_s_ich [] = "\033[%p1%d@";
++static char xterm_s_indn [] = "\033[%p1%dS";
++static char xterm_s_il [] = "\033[%p1%dL";
++static char xterm_s_cub [] = "\033[%p1%dD";
++static char xterm_s_cuf [] = "\033[%p1%dC";
++static char xterm_s_rin [] = "\033[%p1%dT";
++static char xterm_s_cuu [] = "\033[%p1%dA";
++static char xterm_s_mc0 [] = "\033[i";
++static char xterm_s_mc4 [] = "\033[4i";
++static char xterm_s_mc5 [] = "\033[5i";
++static char xterm_s_rep [] = "%p1%c\033[%p2%{1}%-%db";
++static char xterm_s_rs1 [] = "\033c";
++static char xterm_s_rs2 [] = "\033[!p\033[?3;4l\033[4l\033>";
++static char xterm_s_rc [] = "\0338";
++static char xterm_s_vpa [] = "\033[%i%p1%dd";
++static char xterm_s_sc [] = "\0337";
++static char xterm_s_ind [] = "\012";
++static char xterm_s_ri [] = "\033M";
++static char xterm_s_sgr [] = "%?%p9%t\033(0%e\033(B%;\033[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m";
++static char xterm_s_hts [] = "\033H";
++static char xterm_s_ht [] = "\011";
++static char xterm_s_kb2 [] = "\033OE";
++static char xterm_s_acsc [] = "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~";
++static char xterm_s_kcbt [] = "\033[Z";
++static char xterm_s_smam [] = "\033[?7h";
++static char xterm_s_rmam [] = "\033[?7l";
++static char xterm_s_kend [] = "\033OF";
++static char xterm_s_kent [] = "\033OM";
++static char xterm_s_kDC [] = "\033[3;2~";
++static char xterm_s_kEND [] = "\033[1;2F";
++static char xterm_s_kHOM [] = "\033[1;2H";
++static char xterm_s_kIC [] = "\033[2;2~";
++static char xterm_s_kLFT [] = "\033[1;2D";
++static char xterm_s_kNXT [] = "\033[6;2~";
++static char xterm_s_kPRV [] = "\033[5;2~";
++static char xterm_s_kRIT [] = "\033[1;2C";
++static char xterm_s_kf11 [] = "\033[23~";
++static char xterm_s_kf12 [] = "\033[24~";
++static char xterm_s_kf13 [] = "\033[1;2P";
++static char xterm_s_kf14 [] = "\033[1;2Q";
++static char xterm_s_kf15 [] = "\033[1;2R";
++static char xterm_s_kf16 [] = "\033[1;2S";
++static char xterm_s_kf17 [] = "\033[15;2~";
++static char xterm_s_kf18 [] = "\033[17;2~";
++static char xterm_s_kf19 [] = "\033[18;2~";
++static char xterm_s_kf20 [] = "\033[19;2~";
++static char xterm_s_kf21 [] = "\033[20;2~";
++static char xterm_s_kf22 [] = "\033[21;2~";
++static char xterm_s_kf23 [] = "\033[23;2~";
++static char xterm_s_kf24 [] = "\033[24;2~";
++static char xterm_s_kf25 [] = "\033[1;5P";
++static char xterm_s_kf26 [] = "\033[1;5Q";
++static char xterm_s_kf27 [] = "\033[1;5R";
++static char xterm_s_kf28 [] = "\033[1;5S";
++static char xterm_s_kf29 [] = "\033[15;5~";
++static char xterm_s_kf30 [] = "\033[17;5~";
++static char xterm_s_kf31 [] = "\033[18;5~";
++static char xterm_s_kf32 [] = "\033[19;5~";
++static char xterm_s_kf33 [] = "\033[20;5~";
++static char xterm_s_kf34 [] = "\033[21;5~";
++static char xterm_s_kf35 [] = "\033[23;5~";
++static char xterm_s_kf36 [] = "\033[24;5~";
++static char xterm_s_kf37 [] = "\033[1;6P";
++static char xterm_s_kf38 [] = "\033[1;6Q";
++static char xterm_s_kf39 [] = "\033[1;6R";
++static char xterm_s_kf40 [] = "\033[1;6S";
++static char xterm_s_kf41 [] = "\033[15;6~";
++static char xterm_s_kf42 [] = "\033[17;6~";
++static char xterm_s_kf43 [] = "\033[18;6~";
++static char xterm_s_kf44 [] = "\033[19;6~";
++static char xterm_s_kf45 [] = "\033[20;6~";
++static char xterm_s_kf46 [] = "\033[21;6~";
++static char xterm_s_kf47 [] = "\033[23;6~";
++static char xterm_s_kf48 [] = "\033[24;6~";
++static char xterm_s_kf49 [] = "\033[1;3P";
++static char xterm_s_kf50 [] = "\033[1;3Q";
++static char xterm_s_kf51 [] = "\033[1;3R";
++static char xterm_s_kf52 [] = "\033[1;3S";
++static char xterm_s_kf53 [] = "\033[15;3~";
++static char xterm_s_kf54 [] = "\033[17;3~";
++static char xterm_s_kf55 [] = "\033[18;3~";
++static char xterm_s_kf56 [] = "\033[19;3~";
++static char xterm_s_kf57 [] = "\033[20;3~";
++static char xterm_s_kf58 [] = "\033[21;3~";
++static char xterm_s_kf59 [] = "\033[23;3~";
++static char xterm_s_kf60 [] = "\033[24;3~";
++static char xterm_s_kf61 [] = "\033[1;4P";
++static char xterm_s_kf62 [] = "\033[1;4Q";
++static char xterm_s_kf63 [] = "\033[1;4R";
++static char xterm_s_el1 [] = "\033[1K";
++static char xterm_s_u6 [] = "\033[%i%d;%dR";
++static char xterm_s_u7 [] = "\033[6n";
++static char xterm_s_u8 [] = "\033[?%[;0123456789]c";
++static char xterm_s_u9 [] = "\033[c";
++static char xterm_s_op [] = "\033[39;49m";
++static char xterm_s_setf [] = "\033[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m";
++static char xterm_s_setb [] = "\033[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m";
++static char xterm_s_sitm [] = "\033[3m";
++static char xterm_s_ritm [] = "\033[23m";
++static char xterm_s_kmous [] = "\033[<";
++static char xterm_s_setaf [] = "\033[3%p1%dm";
++static char xterm_s_setab [] = "\033[4%p1%dm";
++static char xterm_s_meml [] = "\033l";
++static char xterm_s_memu [] = "\033m";
++
++static char xterm_bool_data[] = {
++ /* 0: bw */ FALSE,
++ /* 1: am */ TRUE,
++ /* 2: xsb */ FALSE,
++ /* 3: xhp */ FALSE,
++ /* 4: xenl */ TRUE,
++ /* 5: eo */ FALSE,
++ /* 6: gn */ FALSE,
++ /* 7: hc */ FALSE,
++ /* 8: km */ TRUE,
++ /* 9: hs */ FALSE,
++ /* 10: in */ FALSE,
++ /* 11: da */ FALSE,
++ /* 12: db */ FALSE,
++ /* 13: mir */ TRUE,
++ /* 14: msgr */ TRUE,
++ /* 15: os */ FALSE,
++ /* 16: eslok */ FALSE,
++ /* 17: xt */ FALSE,
++ /* 18: hz */ FALSE,
++ /* 19: ul */ FALSE,
++ /* 20: xon */ FALSE,
++ /* 21: nxon */ FALSE,
++ /* 22: mc5i */ TRUE,
++ /* 23: chts */ FALSE,
++ /* 24: nrrmc */ FALSE,
++ /* 25: npc */ TRUE,
++ /* 26: ndscr */ FALSE,
++ /* 27: ccc */ FALSE,
++ /* 28: bce */ TRUE,
++ /* 29: hls */ FALSE,
++ /* 30: xhpa */ FALSE,
++ /* 31: crxm */ FALSE,
++ /* 32: daisy */ FALSE,
++ /* 33: xvpa */ FALSE,
++ /* 34: sam */ FALSE,
++ /* 35: cpix */ FALSE,
++ /* 36: lpix */ FALSE,
++ /* 37: OTbs */ TRUE,
++ /* 38: OTns */ FALSE,
++ /* 39: OTnc */ FALSE,
++ /* 40: OTMT */ FALSE,
++ /* 41: OTNL */ FALSE,
++ /* 42: OTpt */ FALSE,
++ /* 43: OTxr */ FALSE,
++};
++static NCURSES_INT2 xterm_number_data[] = {
++ /* 0: cols */ 80,
++ /* 1: it */ 8,
++ /* 2: lines */ 24,
++ /* 3: lm */ ABSENT_NUMERIC,
++ /* 4: xmc */ ABSENT_NUMERIC,
++ /* 5: pb */ ABSENT_NUMERIC,
++ /* 6: vt */ ABSENT_NUMERIC,
++ /* 7: wsl */ ABSENT_NUMERIC,
++ /* 8: nlab */ ABSENT_NUMERIC,
++ /* 9: lh */ ABSENT_NUMERIC,
++ /* 10: lw */ ABSENT_NUMERIC,
++ /* 11: ma */ ABSENT_NUMERIC,
++ /* 12: wnum */ ABSENT_NUMERIC,
++ /* 13: colors */ 8,
++ /* 14: pairs */ 64,
++ /* 15: ncv */ ABSENT_NUMERIC,
++ /* 16: bufsz */ ABSENT_NUMERIC,
++ /* 17: spinv */ ABSENT_NUMERIC,
++ /* 18: spinh */ ABSENT_NUMERIC,
++ /* 19: maddr */ ABSENT_NUMERIC,
++ /* 20: mjump */ ABSENT_NUMERIC,
++ /* 21: mcs */ ABSENT_NUMERIC,
++ /* 22: mls */ ABSENT_NUMERIC,
++ /* 23: npins */ ABSENT_NUMERIC,
++ /* 24: orc */ ABSENT_NUMERIC,
++ /* 25: orl */ ABSENT_NUMERIC,
++ /* 26: orhi */ ABSENT_NUMERIC,
++ /* 27: orvi */ ABSENT_NUMERIC,
++ /* 28: cps */ ABSENT_NUMERIC,
++ /* 29: widcs */ ABSENT_NUMERIC,
++ /* 30: btns */ ABSENT_NUMERIC,
++ /* 31: bitwin */ ABSENT_NUMERIC,
++ /* 32: bitype */ ABSENT_NUMERIC,
++ /* 33: OTug */ ABSENT_NUMERIC,
++ /* 34: OTdC */ ABSENT_NUMERIC,
++ /* 35: OTdN */ ABSENT_NUMERIC,
++ /* 36: OTdB */ ABSENT_NUMERIC,
++ /* 37: OTdT */ ABSENT_NUMERIC,
++ /* 38: OTkn */ ABSENT_NUMERIC,
++};
++static char * xterm_string_data[] = {
++ /* 0: cbt */ xterm_s_cbt,
++ /* 1: bel */ xterm_s_bel,
++ /* 2: cr */ xterm_s_cr,
++ /* 3: csr */ xterm_s_csr,
++ /* 4: tbc */ xterm_s_tbc,
++ /* 5: clear */ xterm_s_clear,
++ /* 6: el */ xterm_s_el,
++ /* 7: ed */ xterm_s_ed,
++ /* 8: hpa */ xterm_s_hpa,
++ /* 9: cmdch */ ABSENT_STRING,
++ /* 10: cup */ xterm_s_cup,
++ /* 11: cud1 */ xterm_s_cud1,
++ /* 12: home */ xterm_s_home,
++ /* 13: civis */ xterm_s_civis,
++ /* 14: cub1 */ xterm_s_cub1,
++ /* 15: mrcup */ ABSENT_STRING,
++ /* 16: cnorm */ xterm_s_cnorm,
++ /* 17: cuf1 */ xterm_s_cuf1,
++ /* 18: ll */ ABSENT_STRING,
++ /* 19: cuu1 */ xterm_s_cuu1,
++ /* 20: cvvis */ xterm_s_cvvis,
++ /* 21: dch1 */ xterm_s_dch1,
++ /* 22: dl1 */ xterm_s_dl1,
++ /* 23: dsl */ ABSENT_STRING,
++ /* 24: hd */ ABSENT_STRING,
++ /* 25: smacs */ xterm_s_smacs,
++ /* 26: blink */ xterm_s_blink,
++ /* 27: bold */ xterm_s_bold,
++ /* 28: smcup */ xterm_s_smcup,
++ /* 29: smdc */ ABSENT_STRING,
++ /* 30: dim */ xterm_s_dim,
++ /* 31: smir */ xterm_s_smir,
++ /* 32: invis */ xterm_s_invis,
++ /* 33: prot */ ABSENT_STRING,
++ /* 34: rev */ xterm_s_rev,
++ /* 35: smso */ xterm_s_smso,
++ /* 36: smul */ xterm_s_smul,
++ /* 37: ech */ xterm_s_ech,
++ /* 38: rmacs */ xterm_s_rmacs,
++ /* 39: sgr0 */ xterm_s_sgr0,
++ /* 40: rmcup */ xterm_s_rmcup,
++ /* 41: rmdc */ ABSENT_STRING,
++ /* 42: rmir */ xterm_s_rmir,
++ /* 43: rmso */ xterm_s_rmso,
++ /* 44: rmul */ xterm_s_rmul,
++ /* 45: flash */ xterm_s_flash,
++ /* 46: ff */ ABSENT_STRING,
++ /* 47: fsl */ ABSENT_STRING,
++ /* 48: is1 */ ABSENT_STRING,
++ /* 49: is2 */ xterm_s_is2,
++ /* 50: is3 */ ABSENT_STRING,
++ /* 51: if */ ABSENT_STRING,
++ /* 52: ich1 */ ABSENT_STRING,
++ /* 53: il1 */ xterm_s_il1,
++ /* 54: ip */ ABSENT_STRING,
++ /* 55: kbs */ xterm_s_kbs,
++ /* 56: ktbc */ ABSENT_STRING,
++ /* 57: kclr */ ABSENT_STRING,
++ /* 58: kctab */ ABSENT_STRING,
++ /* 59: kdch1 */ xterm_s_kdch1,
++ /* 60: kdl1 */ ABSENT_STRING,
++ /* 61: kcud1 */ xterm_s_kcud1,
++ /* 62: krmir */ ABSENT_STRING,
++ /* 63: kel */ ABSENT_STRING,
++ /* 64: ked */ ABSENT_STRING,
++ /* 65: kf0 */ ABSENT_STRING,
++ /* 66: kf1 */ xterm_s_kf1,
++ /* 67: kf10 */ xterm_s_kf10,
++ /* 68: kf2 */ xterm_s_kf2,
++ /* 69: kf3 */ xterm_s_kf3,
++ /* 70: kf4 */ xterm_s_kf4,
++ /* 71: kf5 */ xterm_s_kf5,
++ /* 72: kf6 */ xterm_s_kf6,
++ /* 73: kf7 */ xterm_s_kf7,
++ /* 74: kf8 */ xterm_s_kf8,
++ /* 75: kf9 */ xterm_s_kf9,
++ /* 76: khome */ xterm_s_khome,
++ /* 77: kich1 */ xterm_s_kich1,
++ /* 78: kil1 */ ABSENT_STRING,
++ /* 79: kcub1 */ xterm_s_kcub1,
++ /* 80: kll */ ABSENT_STRING,
++ /* 81: knp */ xterm_s_knp,
++ /* 82: kpp */ xterm_s_kpp,
++ /* 83: kcuf1 */ xterm_s_kcuf1,
++ /* 84: kind */ xterm_s_kind,
++ /* 85: kri */ xterm_s_kri,
++ /* 86: khts */ ABSENT_STRING,
++ /* 87: kcuu1 */ xterm_s_kcuu1,
++ /* 88: rmkx */ xterm_s_rmkx,
++ /* 89: smkx */ xterm_s_smkx,
++ /* 90: lf0 */ ABSENT_STRING,
++ /* 91: lf1 */ ABSENT_STRING,
++ /* 92: lf10 */ ABSENT_STRING,
++ /* 93: lf2 */ ABSENT_STRING,
++ /* 94: lf3 */ ABSENT_STRING,
++ /* 95: lf4 */ ABSENT_STRING,
++ /* 96: lf5 */ ABSENT_STRING,
++ /* 97: lf6 */ ABSENT_STRING,
++ /* 98: lf7 */ ABSENT_STRING,
++ /* 99: lf8 */ ABSENT_STRING,
++ /* 100: lf9 */ ABSENT_STRING,
++ /* 101: rmm */ xterm_s_rmm,
++ /* 102: smm */ xterm_s_smm,
++ /* 103: nel */ ABSENT_STRING,
++ /* 104: pad */ ABSENT_STRING,
++ /* 105: dch */ xterm_s_dch,
++ /* 106: dl */ xterm_s_dl,
++ /* 107: cud */ xterm_s_cud,
++ /* 108: ich */ xterm_s_ich,
++ /* 109: indn */ xterm_s_indn,
++ /* 110: il */ xterm_s_il,
++ /* 111: cub */ xterm_s_cub,
++ /* 112: cuf */ xterm_s_cuf,
++ /* 113: rin */ xterm_s_rin,
++ /* 114: cuu */ xterm_s_cuu,
++ /* 115: pfkey */ ABSENT_STRING,
++ /* 116: pfloc */ ABSENT_STRING,
++ /* 117: pfx */ ABSENT_STRING,
++ /* 118: mc0 */ xterm_s_mc0,
++ /* 119: mc4 */ xterm_s_mc4,
++ /* 120: mc5 */ xterm_s_mc5,
++ /* 121: rep */ xterm_s_rep,
++ /* 122: rs1 */ xterm_s_rs1,
++ /* 123: rs2 */ xterm_s_rs2,
++ /* 124: rs3 */ ABSENT_STRING,
++ /* 125: rf */ ABSENT_STRING,
++ /* 126: rc */ xterm_s_rc,
++ /* 127: vpa */ xterm_s_vpa,
++ /* 128: sc */ xterm_s_sc,
++ /* 129: ind */ xterm_s_ind,
++ /* 130: ri */ xterm_s_ri,
++ /* 131: sgr */ xterm_s_sgr,
++ /* 132: hts */ xterm_s_hts,
++ /* 133: wind */ ABSENT_STRING,
++ /* 134: ht */ xterm_s_ht,
++ /* 135: tsl */ ABSENT_STRING,
++ /* 136: uc */ ABSENT_STRING,
++ /* 137: hu */ ABSENT_STRING,
++ /* 138: iprog */ ABSENT_STRING,
++ /* 139: ka1 */ ABSENT_STRING,
++ /* 140: ka3 */ ABSENT_STRING,
++ /* 141: kb2 */ xterm_s_kb2,
++ /* 142: kc1 */ ABSENT_STRING,
++ /* 143: kc3 */ ABSENT_STRING,
++ /* 144: mc5p */ ABSENT_STRING,
++ /* 145: rmp */ ABSENT_STRING,
++ /* 146: acsc */ xterm_s_acsc,
++ /* 147: pln */ ABSENT_STRING,
++ /* 148: kcbt */ xterm_s_kcbt,
++ /* 149: smxon */ ABSENT_STRING,
++ /* 150: rmxon */ ABSENT_STRING,
++ /* 151: smam */ xterm_s_smam,
++ /* 152: rmam */ xterm_s_rmam,
++ /* 153: xonc */ ABSENT_STRING,
++ /* 154: xoffc */ ABSENT_STRING,
++ /* 155: enacs */ ABSENT_STRING,
++ /* 156: smln */ ABSENT_STRING,
++ /* 157: rmln */ ABSENT_STRING,
++ /* 158: kbeg */ ABSENT_STRING,
++ /* 159: kcan */ ABSENT_STRING,
++ /* 160: kclo */ ABSENT_STRING,
++ /* 161: kcmd */ ABSENT_STRING,
++ /* 162: kcpy */ ABSENT_STRING,
++ /* 163: kcrt */ ABSENT_STRING,
++ /* 164: kend */ xterm_s_kend,
++ /* 165: kent */ xterm_s_kent,
++ /* 166: kext */ ABSENT_STRING,
++ /* 167: kfnd */ ABSENT_STRING,
++ /* 168: khlp */ ABSENT_STRING,
++ /* 169: kmrk */ ABSENT_STRING,
++ /* 170: kmsg */ ABSENT_STRING,
++ /* 171: kmov */ ABSENT_STRING,
++ /* 172: knxt */ ABSENT_STRING,
++ /* 173: kopn */ ABSENT_STRING,
++ /* 174: kopt */ ABSENT_STRING,
++ /* 175: kprv */ ABSENT_STRING,
++ /* 176: kprt */ ABSENT_STRING,
++ /* 177: krdo */ ABSENT_STRING,
++ /* 178: kref */ ABSENT_STRING,
++ /* 179: krfr */ ABSENT_STRING,
++ /* 180: krpl */ ABSENT_STRING,
++ /* 181: krst */ ABSENT_STRING,
++ /* 182: kres */ ABSENT_STRING,
++ /* 183: ksav */ ABSENT_STRING,
++ /* 184: kspd */ ABSENT_STRING,
++ /* 185: kund */ ABSENT_STRING,
++ /* 186: kBEG */ ABSENT_STRING,
++ /* 187: kCAN */ ABSENT_STRING,
++ /* 188: kCMD */ ABSENT_STRING,
++ /* 189: kCPY */ ABSENT_STRING,
++ /* 190: kCRT */ ABSENT_STRING,
++ /* 191: kDC */ xterm_s_kDC,
++ /* 192: kDL */ ABSENT_STRING,
++ /* 193: kslt */ ABSENT_STRING,
++ /* 194: kEND */ xterm_s_kEND,
++ /* 195: kEOL */ ABSENT_STRING,
++ /* 196: kEXT */ ABSENT_STRING,
++ /* 197: kFND */ ABSENT_STRING,
++ /* 198: kHLP */ ABSENT_STRING,
++ /* 199: kHOM */ xterm_s_kHOM,
++ /* 200: kIC */ xterm_s_kIC,
++ /* 201: kLFT */ xterm_s_kLFT,
++ /* 202: kMSG */ ABSENT_STRING,
++ /* 203: kMOV */ ABSENT_STRING,
++ /* 204: kNXT */ xterm_s_kNXT,
++ /* 205: kOPT */ ABSENT_STRING,
++ /* 206: kPRV */ xterm_s_kPRV,
++ /* 207: kPRT */ ABSENT_STRING,
++ /* 208: kRDO */ ABSENT_STRING,
++ /* 209: kRPL */ ABSENT_STRING,
++ /* 210: kRIT */ xterm_s_kRIT,
++ /* 211: kRES */ ABSENT_STRING,
++ /* 212: kSAV */ ABSENT_STRING,
++ /* 213: kSPD */ ABSENT_STRING,
++ /* 214: kUND */ ABSENT_STRING,
++ /* 215: rfi */ ABSENT_STRING,
++ /* 216: kf11 */ xterm_s_kf11,
++ /* 217: kf12 */ xterm_s_kf12,
++ /* 218: kf13 */ xterm_s_kf13,
++ /* 219: kf14 */ xterm_s_kf14,
++ /* 220: kf15 */ xterm_s_kf15,
++ /* 221: kf16 */ xterm_s_kf16,
++ /* 222: kf17 */ xterm_s_kf17,
++ /* 223: kf18 */ xterm_s_kf18,
++ /* 224: kf19 */ xterm_s_kf19,
++ /* 225: kf20 */ xterm_s_kf20,
++ /* 226: kf21 */ xterm_s_kf21,
++ /* 227: kf22 */ xterm_s_kf22,
++ /* 228: kf23 */ xterm_s_kf23,
++ /* 229: kf24 */ xterm_s_kf24,
++ /* 230: kf25 */ xterm_s_kf25,
++ /* 231: kf26 */ xterm_s_kf26,
++ /* 232: kf27 */ xterm_s_kf27,
++ /* 233: kf28 */ xterm_s_kf28,
++ /* 234: kf29 */ xterm_s_kf29,
++ /* 235: kf30 */ xterm_s_kf30,
++ /* 236: kf31 */ xterm_s_kf31,
++ /* 237: kf32 */ xterm_s_kf32,
++ /* 238: kf33 */ xterm_s_kf33,
++ /* 239: kf34 */ xterm_s_kf34,
++ /* 240: kf35 */ xterm_s_kf35,
++ /* 241: kf36 */ xterm_s_kf36,
++ /* 242: kf37 */ xterm_s_kf37,
++ /* 243: kf38 */ xterm_s_kf38,
++ /* 244: kf39 */ xterm_s_kf39,
++ /* 245: kf40 */ xterm_s_kf40,
++ /* 246: kf41 */ xterm_s_kf41,
++ /* 247: kf42 */ xterm_s_kf42,
++ /* 248: kf43 */ xterm_s_kf43,
++ /* 249: kf44 */ xterm_s_kf44,
++ /* 250: kf45 */ xterm_s_kf45,
++ /* 251: kf46 */ xterm_s_kf46,
++ /* 252: kf47 */ xterm_s_kf47,
++ /* 253: kf48 */ xterm_s_kf48,
++ /* 254: kf49 */ xterm_s_kf49,
++ /* 255: kf50 */ xterm_s_kf50,
++ /* 256: kf51 */ xterm_s_kf51,
++ /* 257: kf52 */ xterm_s_kf52,
++ /* 258: kf53 */ xterm_s_kf53,
++ /* 259: kf54 */ xterm_s_kf54,
++ /* 260: kf55 */ xterm_s_kf55,
++ /* 261: kf56 */ xterm_s_kf56,
++ /* 262: kf57 */ xterm_s_kf57,
++ /* 263: kf58 */ xterm_s_kf58,
++ /* 264: kf59 */ xterm_s_kf59,
++ /* 265: kf60 */ xterm_s_kf60,
++ /* 266: kf61 */ xterm_s_kf61,
++ /* 267: kf62 */ xterm_s_kf62,
++ /* 268: kf63 */ xterm_s_kf63,
++ /* 269: el1 */ xterm_s_el1,
++ /* 270: mgc */ ABSENT_STRING,
++ /* 271: smgl */ ABSENT_STRING,
++ /* 272: smgr */ ABSENT_STRING,
++ /* 273: fln */ ABSENT_STRING,
++ /* 274: sclk */ ABSENT_STRING,
++ /* 275: dclk */ ABSENT_STRING,
++ /* 276: rmclk */ ABSENT_STRING,
++ /* 277: cwin */ ABSENT_STRING,
++ /* 278: wingo */ ABSENT_STRING,
++ /* 279: hup */ ABSENT_STRING,
++ /* 280: dial */ ABSENT_STRING,
++ /* 281: qdial */ ABSENT_STRING,
++ /* 282: tone */ ABSENT_STRING,
++ /* 283: pulse */ ABSENT_STRING,
++ /* 284: hook */ ABSENT_STRING,
++ /* 285: pause */ ABSENT_STRING,
++ /* 286: wait */ ABSENT_STRING,
++ /* 287: u0 */ ABSENT_STRING,
++ /* 288: u1 */ ABSENT_STRING,
++ /* 289: u2 */ ABSENT_STRING,
++ /* 290: u3 */ ABSENT_STRING,
++ /* 291: u4 */ ABSENT_STRING,
++ /* 292: u5 */ ABSENT_STRING,
++ /* 293: u6 */ xterm_s_u6,
++ /* 294: u7 */ xterm_s_u7,
++ /* 295: u8 */ xterm_s_u8,
++ /* 296: u9 */ xterm_s_u9,
++ /* 297: op */ xterm_s_op,
++ /* 298: oc */ ABSENT_STRING,
++ /* 299: initc */ ABSENT_STRING,
++ /* 300: initp */ ABSENT_STRING,
++ /* 301: scp */ ABSENT_STRING,
++ /* 302: setf */ xterm_s_setf,
++ /* 303: setb */ xterm_s_setb,
++ /* 304: cpi */ ABSENT_STRING,
++ /* 305: lpi */ ABSENT_STRING,
++ /* 306: chr */ ABSENT_STRING,
++ /* 307: cvr */ ABSENT_STRING,
++ /* 308: defc */ ABSENT_STRING,
++ /* 309: swidm */ ABSENT_STRING,
++ /* 310: sdrfq */ ABSENT_STRING,
++ /* 311: sitm */ xterm_s_sitm,
++ /* 312: slm */ ABSENT_STRING,
++ /* 313: smicm */ ABSENT_STRING,
++ /* 314: snlq */ ABSENT_STRING,
++ /* 315: snrmq */ ABSENT_STRING,
++ /* 316: sshm */ ABSENT_STRING,
++ /* 317: ssubm */ ABSENT_STRING,
++ /* 318: ssupm */ ABSENT_STRING,
++ /* 319: sum */ ABSENT_STRING,
++ /* 320: rwidm */ ABSENT_STRING,
++ /* 321: ritm */ xterm_s_ritm,
++ /* 322: rlm */ ABSENT_STRING,
++ /* 323: rmicm */ ABSENT_STRING,
++ /* 324: rshm */ ABSENT_STRING,
++ /* 325: rsubm */ ABSENT_STRING,
++ /* 326: rsupm */ ABSENT_STRING,
++ /* 327: rum */ ABSENT_STRING,
++ /* 328: mhpa */ ABSENT_STRING,
++ /* 329: mcud1 */ ABSENT_STRING,
++ /* 330: mcub1 */ ABSENT_STRING,
++ /* 331: mcuf1 */ ABSENT_STRING,
++ /* 332: mvpa */ ABSENT_STRING,
++ /* 333: mcuu1 */ ABSENT_STRING,
++ /* 334: porder */ ABSENT_STRING,
++ /* 335: mcud */ ABSENT_STRING,
++ /* 336: mcub */ ABSENT_STRING,
++ /* 337: mcuf */ ABSENT_STRING,
++ /* 338: mcuu */ ABSENT_STRING,
++ /* 339: scs */ ABSENT_STRING,
++ /* 340: smgb */ ABSENT_STRING,
++ /* 341: smgbp */ ABSENT_STRING,
++ /* 342: smglp */ ABSENT_STRING,
++ /* 343: smgrp */ ABSENT_STRING,
++ /* 344: smgt */ ABSENT_STRING,
++ /* 345: smgtp */ ABSENT_STRING,
++ /* 346: sbim */ ABSENT_STRING,
++ /* 347: scsd */ ABSENT_STRING,
++ /* 348: rbim */ ABSENT_STRING,
++ /* 349: rcsd */ ABSENT_STRING,
++ /* 350: subcs */ ABSENT_STRING,
++ /* 351: supcs */ ABSENT_STRING,
++ /* 352: docr */ ABSENT_STRING,
++ /* 353: zerom */ ABSENT_STRING,
++ /* 354: csnm */ ABSENT_STRING,
++ /* 355: kmous */ xterm_s_kmous,
++ /* 356: minfo */ ABSENT_STRING,
++ /* 357: reqmp */ ABSENT_STRING,
++ /* 358: getm */ ABSENT_STRING,
++ /* 359: setaf */ xterm_s_setaf,
++ /* 360: setab */ xterm_s_setab,
++ /* 361: pfxl */ ABSENT_STRING,
++ /* 362: devt */ ABSENT_STRING,
++ /* 363: csin */ ABSENT_STRING,
++ /* 364: s0ds */ ABSENT_STRING,
++ /* 365: s1ds */ ABSENT_STRING,
++ /* 366: s2ds */ ABSENT_STRING,
++ /* 367: s3ds */ ABSENT_STRING,
++ /* 368: smglr */ ABSENT_STRING,
++ /* 369: smgtb */ ABSENT_STRING,
++ /* 370: birep */ ABSENT_STRING,
++ /* 371: binel */ ABSENT_STRING,
++ /* 372: bicr */ ABSENT_STRING,
++ /* 373: colornm */ ABSENT_STRING,
++ /* 374: defbi */ ABSENT_STRING,
++ /* 375: endbi */ ABSENT_STRING,
++ /* 376: setcolor */ ABSENT_STRING,
++ /* 377: slines */ ABSENT_STRING,
++ /* 378: dispc */ ABSENT_STRING,
++ /* 379: smpch */ ABSENT_STRING,
++ /* 380: rmpch */ ABSENT_STRING,
++ /* 381: smsc */ ABSENT_STRING,
++ /* 382: rmsc */ ABSENT_STRING,
++ /* 383: pctrm */ ABSENT_STRING,
++ /* 384: scesc */ ABSENT_STRING,
++ /* 385: scesa */ ABSENT_STRING,
++ /* 386: ehhlm */ ABSENT_STRING,
++ /* 387: elhlm */ ABSENT_STRING,
++ /* 388: elohlm */ ABSENT_STRING,
++ /* 389: erhlm */ ABSENT_STRING,
++ /* 390: ethlm */ ABSENT_STRING,
++ /* 391: evhlm */ ABSENT_STRING,
++ /* 392: sgr1 */ ABSENT_STRING,
++ /* 393: slength */ ABSENT_STRING,
++ /* 394: OTi2 */ ABSENT_STRING,
++ /* 395: OTrs */ ABSENT_STRING,
++ /* 396: OTnl */ ABSENT_STRING,
++ /* 397: OTbc */ ABSENT_STRING,
++ /* 398: OTko */ ABSENT_STRING,
++ /* 399: OTma */ ABSENT_STRING,
++ /* 400: OTG2 */ ABSENT_STRING,
++ /* 401: OTG3 */ ABSENT_STRING,
++ /* 402: OTG1 */ ABSENT_STRING,
++ /* 403: OTG4 */ ABSENT_STRING,
++ /* 404: OTGR */ ABSENT_STRING,
++ /* 405: OTGL */ ABSENT_STRING,
++ /* 406: OTGU */ ABSENT_STRING,
++ /* 407: OTGD */ ABSENT_STRING,
++ /* 408: OTGH */ ABSENT_STRING,
++ /* 409: OTGV */ ABSENT_STRING,
++ /* 410: OTGC */ ABSENT_STRING,
++ /* 411: meml */ xterm_s_meml,
++ /* 412: memu */ xterm_s_memu,
++ /* 413: box1 */ ABSENT_STRING,
++};
++/* xterm-256color */
++
++static char xterm_256color_alias_data[] = "xterm-256color|xterm with 256 colors";
++
++static char xterm_256color_s_cbt[] = "\033[Z";
++static char xterm_256color_s_bel[] = "\007";
++static char xterm_256color_s_cr [] = "\015";
++static char xterm_256color_s_csr[] = "\033[%i%p1%d;%p2%dr";
++static char xterm_256color_s_tbc[] = "\033[3g";
++static char xterm_256color_s_clear[] = "\033[H\033[2J";
++static char xterm_256color_s_el [] = "\033[K";
++static char xterm_256color_s_ed [] = "\033[J";
++static char xterm_256color_s_hpa[] = "\033[%i%p1%dG";
++static char xterm_256color_s_cup[] = "\033[%i%p1%d;%p2%dH";
++static char xterm_256color_s_cud1[] = "\012";
++static char xterm_256color_s_home[] = "\033[H";
++static char xterm_256color_s_civis[] = "\033[?25l";
++static char xterm_256color_s_cub1[] = "\010";
++static char xterm_256color_s_cnorm[] = "\033[?12l\033[?25h";
++static char xterm_256color_s_cuf1[] = "\033[C";
++static char xterm_256color_s_cuu1[] = "\033[A";
++static char xterm_256color_s_cvvis[] = "\033[?12;25h";
++static char xterm_256color_s_dch1[] = "\033[P";
++static char xterm_256color_s_dl1[] = "\033[M";
++static char xterm_256color_s_smacs[] = "\033(0";
++static char xterm_256color_s_blink[] = "\033[5m";
++static char xterm_256color_s_bold[] = "\033[1m";
++static char xterm_256color_s_smcup[] = "\033[?1049h\033[22;0;0t";
++static char xterm_256color_s_dim[] = "\033[2m";
++static char xterm_256color_s_smir[] = "\033[4h";
++static char xterm_256color_s_invis[] = "\033[8m";
++static char xterm_256color_s_rev[] = "\033[7m";
++static char xterm_256color_s_smso[] = "\033[7m";
++static char xterm_256color_s_smul[] = "\033[4m";
++static char xterm_256color_s_ech[] = "\033[%p1%dX";
++static char xterm_256color_s_rmacs[] = "\033(B";
++static char xterm_256color_s_sgr0[] = "\033(B\033[m";
++static char xterm_256color_s_rmcup[] = "\033[?1049l\033[23;0;0t";
++static char xterm_256color_s_rmir[] = "\033[4l";
++static char xterm_256color_s_rmso[] = "\033[27m";
++static char xterm_256color_s_rmul[] = "\033[24m";
++static char xterm_256color_s_flash[] = "\033[?5h$<100/>\033[?5l";
++static char xterm_256color_s_is2[] = "\033[!p\033[?3;4l\033[4l\033>";
++static char xterm_256color_s_il1[] = "\033[L";
++static char xterm_256color_s_kbs[] = "\010";
++static char xterm_256color_s_kdch1[] = "\033[3~";
++static char xterm_256color_s_kcud1[] = "\033OB";
++static char xterm_256color_s_kf1[] = "\033OP";
++static char xterm_256color_s_kf10[] = "\033[21~";
++static char xterm_256color_s_kf2[] = "\033OQ";
++static char xterm_256color_s_kf3[] = "\033OR";
++static char xterm_256color_s_kf4[] = "\033OS";
++static char xterm_256color_s_kf5[] = "\033[15~";
++static char xterm_256color_s_kf6[] = "\033[17~";
++static char xterm_256color_s_kf7[] = "\033[18~";
++static char xterm_256color_s_kf8[] = "\033[19~";
++static char xterm_256color_s_kf9[] = "\033[20~";
++static char xterm_256color_s_khome[] = "\033OH";
++static char xterm_256color_s_kich1[] = "\033[2~";
++static char xterm_256color_s_kcub1[] = "\033OD";
++static char xterm_256color_s_knp[] = "\033[6~";
++static char xterm_256color_s_kpp[] = "\033[5~";
++static char xterm_256color_s_kcuf1[] = "\033OC";
++static char xterm_256color_s_kind[] = "\033[1;2B";
++static char xterm_256color_s_kri[] = "\033[1;2A";
++static char xterm_256color_s_kcuu1[] = "\033OA";
++static char xterm_256color_s_rmkx[] = "\033[?1l\033>";
++static char xterm_256color_s_smkx[] = "\033[?1h\033=";
++static char xterm_256color_s_rmm[] = "\033[?1034l";
++static char xterm_256color_s_smm[] = "\033[?1034h";
++static char xterm_256color_s_dch[] = "\033[%p1%dP";
++static char xterm_256color_s_dl [] = "\033[%p1%dM";
++static char xterm_256color_s_cud[] = "\033[%p1%dB";
++static char xterm_256color_s_ich[] = "\033[%p1%d@";
++static char xterm_256color_s_indn[] = "\033[%p1%dS";
++static char xterm_256color_s_il [] = "\033[%p1%dL";
++static char xterm_256color_s_cub[] = "\033[%p1%dD";
++static char xterm_256color_s_cuf[] = "\033[%p1%dC";
++static char xterm_256color_s_rin[] = "\033[%p1%dT";
++static char xterm_256color_s_cuu[] = "\033[%p1%dA";
++static char xterm_256color_s_mc0[] = "\033[i";
++static char xterm_256color_s_mc4[] = "\033[4i";
++static char xterm_256color_s_mc5[] = "\033[5i";
++static char xterm_256color_s_rep[] = "%p1%c\033[%p2%{1}%-%db";
++static char xterm_256color_s_rs1[] = "\033c\033]104\007";
++static char xterm_256color_s_rs2[] = "\033[!p\033[?3;4l\033[4l\033>";
++static char xterm_256color_s_rc [] = "\0338";
++static char xterm_256color_s_vpa[] = "\033[%i%p1%dd";
++static char xterm_256color_s_sc [] = "\0337";
++static char xterm_256color_s_ind[] = "\012";
++static char xterm_256color_s_ri [] = "\033M";
++static char xterm_256color_s_sgr[] = "%?%p9%t\033(0%e\033(B%;\033[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m";
++static char xterm_256color_s_hts[] = "\033H";
++static char xterm_256color_s_ht [] = "\011";
++static char xterm_256color_s_kb2[] = "\033OE";
++static char xterm_256color_s_acsc[] = "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~";
++static char xterm_256color_s_kcbt[] = "\033[Z";
++static char xterm_256color_s_smam[] = "\033[?7h";
++static char xterm_256color_s_rmam[] = "\033[?7l";
++static char xterm_256color_s_kend[] = "\033OF";
++static char xterm_256color_s_kent[] = "\033OM";
++static char xterm_256color_s_kDC[] = "\033[3;2~";
++static char xterm_256color_s_kEND[] = "\033[1;2F";
++static char xterm_256color_s_kHOM[] = "\033[1;2H";
++static char xterm_256color_s_kIC[] = "\033[2;2~";
++static char xterm_256color_s_kLFT[] = "\033[1;2D";
++static char xterm_256color_s_kNXT[] = "\033[6;2~";
++static char xterm_256color_s_kPRV[] = "\033[5;2~";
++static char xterm_256color_s_kRIT[] = "\033[1;2C";
++static char xterm_256color_s_kf11[] = "\033[23~";
++static char xterm_256color_s_kf12[] = "\033[24~";
++static char xterm_256color_s_kf13[] = "\033[1;2P";
++static char xterm_256color_s_kf14[] = "\033[1;2Q";
++static char xterm_256color_s_kf15[] = "\033[1;2R";
++static char xterm_256color_s_kf16[] = "\033[1;2S";
++static char xterm_256color_s_kf17[] = "\033[15;2~";
++static char xterm_256color_s_kf18[] = "\033[17;2~";
++static char xterm_256color_s_kf19[] = "\033[18;2~";
++static char xterm_256color_s_kf20[] = "\033[19;2~";
++static char xterm_256color_s_kf21[] = "\033[20;2~";
++static char xterm_256color_s_kf22[] = "\033[21;2~";
++static char xterm_256color_s_kf23[] = "\033[23;2~";
++static char xterm_256color_s_kf24[] = "\033[24;2~";
++static char xterm_256color_s_kf25[] = "\033[1;5P";
++static char xterm_256color_s_kf26[] = "\033[1;5Q";
++static char xterm_256color_s_kf27[] = "\033[1;5R";
++static char xterm_256color_s_kf28[] = "\033[1;5S";
++static char xterm_256color_s_kf29[] = "\033[15;5~";
++static char xterm_256color_s_kf30[] = "\033[17;5~";
++static char xterm_256color_s_kf31[] = "\033[18;5~";
++static char xterm_256color_s_kf32[] = "\033[19;5~";
++static char xterm_256color_s_kf33[] = "\033[20;5~";
++static char xterm_256color_s_kf34[] = "\033[21;5~";
++static char xterm_256color_s_kf35[] = "\033[23;5~";
++static char xterm_256color_s_kf36[] = "\033[24;5~";
++static char xterm_256color_s_kf37[] = "\033[1;6P";
++static char xterm_256color_s_kf38[] = "\033[1;6Q";
++static char xterm_256color_s_kf39[] = "\033[1;6R";
++static char xterm_256color_s_kf40[] = "\033[1;6S";
++static char xterm_256color_s_kf41[] = "\033[15;6~";
++static char xterm_256color_s_kf42[] = "\033[17;6~";
++static char xterm_256color_s_kf43[] = "\033[18;6~";
++static char xterm_256color_s_kf44[] = "\033[19;6~";
++static char xterm_256color_s_kf45[] = "\033[20;6~";
++static char xterm_256color_s_kf46[] = "\033[21;6~";
++static char xterm_256color_s_kf47[] = "\033[23;6~";
++static char xterm_256color_s_kf48[] = "\033[24;6~";
++static char xterm_256color_s_kf49[] = "\033[1;3P";
++static char xterm_256color_s_kf50[] = "\033[1;3Q";
++static char xterm_256color_s_kf51[] = "\033[1;3R";
++static char xterm_256color_s_kf52[] = "\033[1;3S";
++static char xterm_256color_s_kf53[] = "\033[15;3~";
++static char xterm_256color_s_kf54[] = "\033[17;3~";
++static char xterm_256color_s_kf55[] = "\033[18;3~";
++static char xterm_256color_s_kf56[] = "\033[19;3~";
++static char xterm_256color_s_kf57[] = "\033[20;3~";
++static char xterm_256color_s_kf58[] = "\033[21;3~";
++static char xterm_256color_s_kf59[] = "\033[23;3~";
++static char xterm_256color_s_kf60[] = "\033[24;3~";
++static char xterm_256color_s_kf61[] = "\033[1;4P";
++static char xterm_256color_s_kf62[] = "\033[1;4Q";
++static char xterm_256color_s_kf63[] = "\033[1;4R";
++static char xterm_256color_s_el1[] = "\033[1K";
++static char xterm_256color_s_u6 [] = "\033[%i%d;%dR";
++static char xterm_256color_s_u7 [] = "\033[6n";
++static char xterm_256color_s_u8 [] = "\033[?%[;0123456789]c";
++static char xterm_256color_s_u9 [] = "\033[c";
++static char xterm_256color_s_op [] = "\033[39;49m";
++static char xterm_256color_s_oc [] = "\033]104\007";
++static char xterm_256color_s_initc[] = "\033]4;%p1%d;rgb:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*%{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\033\134";
++static char xterm_256color_s_sitm[] = "\033[3m";
++static char xterm_256color_s_ritm[] = "\033[23m";
++static char xterm_256color_s_kmous[] = "\033[<";
++static char xterm_256color_s_setaf[] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m";
++static char xterm_256color_s_setab[] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m";
++static char xterm_256color_s_meml[] = "\033l";
++static char xterm_256color_s_memu[] = "\033m";
++
++static char xterm_256color_bool_data[] = {
++ /* 0: bw */ FALSE,
++ /* 1: am */ TRUE,
++ /* 2: xsb */ FALSE,
++ /* 3: xhp */ FALSE,
++ /* 4: xenl */ TRUE,
++ /* 5: eo */ FALSE,
++ /* 6: gn */ FALSE,
++ /* 7: hc */ FALSE,
++ /* 8: km */ TRUE,
++ /* 9: hs */ FALSE,
++ /* 10: in */ FALSE,
++ /* 11: da */ FALSE,
++ /* 12: db */ FALSE,
++ /* 13: mir */ TRUE,
++ /* 14: msgr */ TRUE,
++ /* 15: os */ FALSE,
++ /* 16: eslok */ FALSE,
++ /* 17: xt */ FALSE,
++ /* 18: hz */ FALSE,
++ /* 19: ul */ FALSE,
++ /* 20: xon */ FALSE,
++ /* 21: nxon */ FALSE,
++ /* 22: mc5i */ TRUE,
++ /* 23: chts */ FALSE,
++ /* 24: nrrmc */ FALSE,
++ /* 25: npc */ TRUE,
++ /* 26: ndscr */ FALSE,
++ /* 27: ccc */ TRUE,
++ /* 28: bce */ TRUE,
++ /* 29: hls */ FALSE,
++ /* 30: xhpa */ FALSE,
++ /* 31: crxm */ FALSE,
++ /* 32: daisy */ FALSE,
++ /* 33: xvpa */ FALSE,
++ /* 34: sam */ FALSE,
++ /* 35: cpix */ FALSE,
++ /* 36: lpix */ FALSE,
++ /* 37: OTbs */ TRUE,
++ /* 38: OTns */ FALSE,
++ /* 39: OTnc */ FALSE,
++ /* 40: OTMT */ FALSE,
++ /* 41: OTNL */ FALSE,
++ /* 42: OTpt */ FALSE,
++ /* 43: OTxr */ FALSE,
++};
++static NCURSES_INT2 xterm_256color_number_data[] = {
++ /* 0: cols */ 80,
++ /* 1: it */ 8,
++ /* 2: lines */ 24,
++ /* 3: lm */ ABSENT_NUMERIC,
++ /* 4: xmc */ ABSENT_NUMERIC,
++ /* 5: pb */ ABSENT_NUMERIC,
++ /* 6: vt */ ABSENT_NUMERIC,
++ /* 7: wsl */ ABSENT_NUMERIC,
++ /* 8: nlab */ ABSENT_NUMERIC,
++ /* 9: lh */ ABSENT_NUMERIC,
++ /* 10: lw */ ABSENT_NUMERIC,
++ /* 11: ma */ ABSENT_NUMERIC,
++ /* 12: wnum */ ABSENT_NUMERIC,
++ /* 13: colors */ 256,
++ /* 14: pairs */ 32767,
++ /* 15: ncv */ ABSENT_NUMERIC,
++ /* 16: bufsz */ ABSENT_NUMERIC,
++ /* 17: spinv */ ABSENT_NUMERIC,
++ /* 18: spinh */ ABSENT_NUMERIC,
++ /* 19: maddr */ ABSENT_NUMERIC,
++ /* 20: mjump */ ABSENT_NUMERIC,
++ /* 21: mcs */ ABSENT_NUMERIC,
++ /* 22: mls */ ABSENT_NUMERIC,
++ /* 23: npins */ ABSENT_NUMERIC,
++ /* 24: orc */ ABSENT_NUMERIC,
++ /* 25: orl */ ABSENT_NUMERIC,
++ /* 26: orhi */ ABSENT_NUMERIC,
++ /* 27: orvi */ ABSENT_NUMERIC,
++ /* 28: cps */ ABSENT_NUMERIC,
++ /* 29: widcs */ ABSENT_NUMERIC,
++ /* 30: btns */ ABSENT_NUMERIC,
++ /* 31: bitwin */ ABSENT_NUMERIC,
++ /* 32: bitype */ ABSENT_NUMERIC,
++ /* 33: OTug */ ABSENT_NUMERIC,
++ /* 34: OTdC */ ABSENT_NUMERIC,
++ /* 35: OTdN */ ABSENT_NUMERIC,
++ /* 36: OTdB */ ABSENT_NUMERIC,
++ /* 37: OTdT */ ABSENT_NUMERIC,
++ /* 38: OTkn */ ABSENT_NUMERIC,
++};
++static char * xterm_256color_string_data[] = {
++ /* 0: cbt */ xterm_256color_s_cbt,
++ /* 1: bel */ xterm_256color_s_bel,
++ /* 2: cr */ xterm_256color_s_cr,
++ /* 3: csr */ xterm_256color_s_csr,
++ /* 4: tbc */ xterm_256color_s_tbc,
++ /* 5: clear */ xterm_256color_s_clear,
++ /* 6: el */ xterm_256color_s_el,
++ /* 7: ed */ xterm_256color_s_ed,
++ /* 8: hpa */ xterm_256color_s_hpa,
++ /* 9: cmdch */ ABSENT_STRING,
++ /* 10: cup */ xterm_256color_s_cup,
++ /* 11: cud1 */ xterm_256color_s_cud1,
++ /* 12: home */ xterm_256color_s_home,
++ /* 13: civis */ xterm_256color_s_civis,
++ /* 14: cub1 */ xterm_256color_s_cub1,
++ /* 15: mrcup */ ABSENT_STRING,
++ /* 16: cnorm */ xterm_256color_s_cnorm,
++ /* 17: cuf1 */ xterm_256color_s_cuf1,
++ /* 18: ll */ ABSENT_STRING,
++ /* 19: cuu1 */ xterm_256color_s_cuu1,
++ /* 20: cvvis */ xterm_256color_s_cvvis,
++ /* 21: dch1 */ xterm_256color_s_dch1,
++ /* 22: dl1 */ xterm_256color_s_dl1,
++ /* 23: dsl */ ABSENT_STRING,
++ /* 24: hd */ ABSENT_STRING,
++ /* 25: smacs */ xterm_256color_s_smacs,
++ /* 26: blink */ xterm_256color_s_blink,
++ /* 27: bold */ xterm_256color_s_bold,
++ /* 28: smcup */ xterm_256color_s_smcup,
++ /* 29: smdc */ ABSENT_STRING,
++ /* 30: dim */ xterm_256color_s_dim,
++ /* 31: smir */ xterm_256color_s_smir,
++ /* 32: invis */ xterm_256color_s_invis,
++ /* 33: prot */ ABSENT_STRING,
++ /* 34: rev */ xterm_256color_s_rev,
++ /* 35: smso */ xterm_256color_s_smso,
++ /* 36: smul */ xterm_256color_s_smul,
++ /* 37: ech */ xterm_256color_s_ech,
++ /* 38: rmacs */ xterm_256color_s_rmacs,
++ /* 39: sgr0 */ xterm_256color_s_sgr0,
++ /* 40: rmcup */ xterm_256color_s_rmcup,
++ /* 41: rmdc */ ABSENT_STRING,
++ /* 42: rmir */ xterm_256color_s_rmir,
++ /* 43: rmso */ xterm_256color_s_rmso,
++ /* 44: rmul */ xterm_256color_s_rmul,
++ /* 45: flash */ xterm_256color_s_flash,
++ /* 46: ff */ ABSENT_STRING,
++ /* 47: fsl */ ABSENT_STRING,
++ /* 48: is1 */ ABSENT_STRING,
++ /* 49: is2 */ xterm_256color_s_is2,
++ /* 50: is3 */ ABSENT_STRING,
++ /* 51: if */ ABSENT_STRING,
++ /* 52: ich1 */ ABSENT_STRING,
++ /* 53: il1 */ xterm_256color_s_il1,
++ /* 54: ip */ ABSENT_STRING,
++ /* 55: kbs */ xterm_256color_s_kbs,
++ /* 56: ktbc */ ABSENT_STRING,
++ /* 57: kclr */ ABSENT_STRING,
++ /* 58: kctab */ ABSENT_STRING,
++ /* 59: kdch1 */ xterm_256color_s_kdch1,
++ /* 60: kdl1 */ ABSENT_STRING,
++ /* 61: kcud1 */ xterm_256color_s_kcud1,
++ /* 62: krmir */ ABSENT_STRING,
++ /* 63: kel */ ABSENT_STRING,
++ /* 64: ked */ ABSENT_STRING,
++ /* 65: kf0 */ ABSENT_STRING,
++ /* 66: kf1 */ xterm_256color_s_kf1,
++ /* 67: kf10 */ xterm_256color_s_kf10,
++ /* 68: kf2 */ xterm_256color_s_kf2,
++ /* 69: kf3 */ xterm_256color_s_kf3,
++ /* 70: kf4 */ xterm_256color_s_kf4,
++ /* 71: kf5 */ xterm_256color_s_kf5,
++ /* 72: kf6 */ xterm_256color_s_kf6,
++ /* 73: kf7 */ xterm_256color_s_kf7,
++ /* 74: kf8 */ xterm_256color_s_kf8,
++ /* 75: kf9 */ xterm_256color_s_kf9,
++ /* 76: khome */ xterm_256color_s_khome,
++ /* 77: kich1 */ xterm_256color_s_kich1,
++ /* 78: kil1 */ ABSENT_STRING,
++ /* 79: kcub1 */ xterm_256color_s_kcub1,
++ /* 80: kll */ ABSENT_STRING,
++ /* 81: knp */ xterm_256color_s_knp,
++ /* 82: kpp */ xterm_256color_s_kpp,
++ /* 83: kcuf1 */ xterm_256color_s_kcuf1,
++ /* 84: kind */ xterm_256color_s_kind,
++ /* 85: kri */ xterm_256color_s_kri,
++ /* 86: khts */ ABSENT_STRING,
++ /* 87: kcuu1 */ xterm_256color_s_kcuu1,
++ /* 88: rmkx */ xterm_256color_s_rmkx,
++ /* 89: smkx */ xterm_256color_s_smkx,
++ /* 90: lf0 */ ABSENT_STRING,
++ /* 91: lf1 */ ABSENT_STRING,
++ /* 92: lf10 */ ABSENT_STRING,
++ /* 93: lf2 */ ABSENT_STRING,
++ /* 94: lf3 */ ABSENT_STRING,
++ /* 95: lf4 */ ABSENT_STRING,
++ /* 96: lf5 */ ABSENT_STRING,
++ /* 97: lf6 */ ABSENT_STRING,
++ /* 98: lf7 */ ABSENT_STRING,
++ /* 99: lf8 */ ABSENT_STRING,
++ /* 100: lf9 */ ABSENT_STRING,
++ /* 101: rmm */ xterm_256color_s_rmm,
++ /* 102: smm */ xterm_256color_s_smm,
++ /* 103: nel */ ABSENT_STRING,
++ /* 104: pad */ ABSENT_STRING,
++ /* 105: dch */ xterm_256color_s_dch,
++ /* 106: dl */ xterm_256color_s_dl,
++ /* 107: cud */ xterm_256color_s_cud,
++ /* 108: ich */ xterm_256color_s_ich,
++ /* 109: indn */ xterm_256color_s_indn,
++ /* 110: il */ xterm_256color_s_il,
++ /* 111: cub */ xterm_256color_s_cub,
++ /* 112: cuf */ xterm_256color_s_cuf,
++ /* 113: rin */ xterm_256color_s_rin,
++ /* 114: cuu */ xterm_256color_s_cuu,
++ /* 115: pfkey */ ABSENT_STRING,
++ /* 116: pfloc */ ABSENT_STRING,
++ /* 117: pfx */ ABSENT_STRING,
++ /* 118: mc0 */ xterm_256color_s_mc0,
++ /* 119: mc4 */ xterm_256color_s_mc4,
++ /* 120: mc5 */ xterm_256color_s_mc5,
++ /* 121: rep */ xterm_256color_s_rep,
++ /* 122: rs1 */ xterm_256color_s_rs1,
++ /* 123: rs2 */ xterm_256color_s_rs2,
++ /* 124: rs3 */ ABSENT_STRING,
++ /* 125: rf */ ABSENT_STRING,
++ /* 126: rc */ xterm_256color_s_rc,
++ /* 127: vpa */ xterm_256color_s_vpa,
++ /* 128: sc */ xterm_256color_s_sc,
++ /* 129: ind */ xterm_256color_s_ind,
++ /* 130: ri */ xterm_256color_s_ri,
++ /* 131: sgr */ xterm_256color_s_sgr,
++ /* 132: hts */ xterm_256color_s_hts,
++ /* 133: wind */ ABSENT_STRING,
++ /* 134: ht */ xterm_256color_s_ht,
++ /* 135: tsl */ ABSENT_STRING,
++ /* 136: uc */ ABSENT_STRING,
++ /* 137: hu */ ABSENT_STRING,
++ /* 138: iprog */ ABSENT_STRING,
++ /* 139: ka1 */ ABSENT_STRING,
++ /* 140: ka3 */ ABSENT_STRING,
++ /* 141: kb2 */ xterm_256color_s_kb2,
++ /* 142: kc1 */ ABSENT_STRING,
++ /* 143: kc3 */ ABSENT_STRING,
++ /* 144: mc5p */ ABSENT_STRING,
++ /* 145: rmp */ ABSENT_STRING,
++ /* 146: acsc */ xterm_256color_s_acsc,
++ /* 147: pln */ ABSENT_STRING,
++ /* 148: kcbt */ xterm_256color_s_kcbt,
++ /* 149: smxon */ ABSENT_STRING,
++ /* 150: rmxon */ ABSENT_STRING,
++ /* 151: smam */ xterm_256color_s_smam,
++ /* 152: rmam */ xterm_256color_s_rmam,
++ /* 153: xonc */ ABSENT_STRING,
++ /* 154: xoffc */ ABSENT_STRING,
++ /* 155: enacs */ ABSENT_STRING,
++ /* 156: smln */ ABSENT_STRING,
++ /* 157: rmln */ ABSENT_STRING,
++ /* 158: kbeg */ ABSENT_STRING,
++ /* 159: kcan */ ABSENT_STRING,
++ /* 160: kclo */ ABSENT_STRING,
++ /* 161: kcmd */ ABSENT_STRING,
++ /* 162: kcpy */ ABSENT_STRING,
++ /* 163: kcrt */ ABSENT_STRING,
++ /* 164: kend */ xterm_256color_s_kend,
++ /* 165: kent */ xterm_256color_s_kent,
++ /* 166: kext */ ABSENT_STRING,
++ /* 167: kfnd */ ABSENT_STRING,
++ /* 168: khlp */ ABSENT_STRING,
++ /* 169: kmrk */ ABSENT_STRING,
++ /* 170: kmsg */ ABSENT_STRING,
++ /* 171: kmov */ ABSENT_STRING,
++ /* 172: knxt */ ABSENT_STRING,
++ /* 173: kopn */ ABSENT_STRING,
++ /* 174: kopt */ ABSENT_STRING,
++ /* 175: kprv */ ABSENT_STRING,
++ /* 176: kprt */ ABSENT_STRING,
++ /* 177: krdo */ ABSENT_STRING,
++ /* 178: kref */ ABSENT_STRING,
++ /* 179: krfr */ ABSENT_STRING,
++ /* 180: krpl */ ABSENT_STRING,
++ /* 181: krst */ ABSENT_STRING,
++ /* 182: kres */ ABSENT_STRING,
++ /* 183: ksav */ ABSENT_STRING,
++ /* 184: kspd */ ABSENT_STRING,
++ /* 185: kund */ ABSENT_STRING,
++ /* 186: kBEG */ ABSENT_STRING,
++ /* 187: kCAN */ ABSENT_STRING,
++ /* 188: kCMD */ ABSENT_STRING,
++ /* 189: kCPY */ ABSENT_STRING,
++ /* 190: kCRT */ ABSENT_STRING,
++ /* 191: kDC */ xterm_256color_s_kDC,
++ /* 192: kDL */ ABSENT_STRING,
++ /* 193: kslt */ ABSENT_STRING,
++ /* 194: kEND */ xterm_256color_s_kEND,
++ /* 195: kEOL */ ABSENT_STRING,
++ /* 196: kEXT */ ABSENT_STRING,
++ /* 197: kFND */ ABSENT_STRING,
++ /* 198: kHLP */ ABSENT_STRING,
++ /* 199: kHOM */ xterm_256color_s_kHOM,
++ /* 200: kIC */ xterm_256color_s_kIC,
++ /* 201: kLFT */ xterm_256color_s_kLFT,
++ /* 202: kMSG */ ABSENT_STRING,
++ /* 203: kMOV */ ABSENT_STRING,
++ /* 204: kNXT */ xterm_256color_s_kNXT,
++ /* 205: kOPT */ ABSENT_STRING,
++ /* 206: kPRV */ xterm_256color_s_kPRV,
++ /* 207: kPRT */ ABSENT_STRING,
++ /* 208: kRDO */ ABSENT_STRING,
++ /* 209: kRPL */ ABSENT_STRING,
++ /* 210: kRIT */ xterm_256color_s_kRIT,
++ /* 211: kRES */ ABSENT_STRING,
++ /* 212: kSAV */ ABSENT_STRING,
++ /* 213: kSPD */ ABSENT_STRING,
++ /* 214: kUND */ ABSENT_STRING,
++ /* 215: rfi */ ABSENT_STRING,
++ /* 216: kf11 */ xterm_256color_s_kf11,
++ /* 217: kf12 */ xterm_256color_s_kf12,
++ /* 218: kf13 */ xterm_256color_s_kf13,
++ /* 219: kf14 */ xterm_256color_s_kf14,
++ /* 220: kf15 */ xterm_256color_s_kf15,
++ /* 221: kf16 */ xterm_256color_s_kf16,
++ /* 222: kf17 */ xterm_256color_s_kf17,
++ /* 223: kf18 */ xterm_256color_s_kf18,
++ /* 224: kf19 */ xterm_256color_s_kf19,
++ /* 225: kf20 */ xterm_256color_s_kf20,
++ /* 226: kf21 */ xterm_256color_s_kf21,
++ /* 227: kf22 */ xterm_256color_s_kf22,
++ /* 228: kf23 */ xterm_256color_s_kf23,
++ /* 229: kf24 */ xterm_256color_s_kf24,
++ /* 230: kf25 */ xterm_256color_s_kf25,
++ /* 231: kf26 */ xterm_256color_s_kf26,
++ /* 232: kf27 */ xterm_256color_s_kf27,
++ /* 233: kf28 */ xterm_256color_s_kf28,
++ /* 234: kf29 */ xterm_256color_s_kf29,
++ /* 235: kf30 */ xterm_256color_s_kf30,
++ /* 236: kf31 */ xterm_256color_s_kf31,
++ /* 237: kf32 */ xterm_256color_s_kf32,
++ /* 238: kf33 */ xterm_256color_s_kf33,
++ /* 239: kf34 */ xterm_256color_s_kf34,
++ /* 240: kf35 */ xterm_256color_s_kf35,
++ /* 241: kf36 */ xterm_256color_s_kf36,
++ /* 242: kf37 */ xterm_256color_s_kf37,
++ /* 243: kf38 */ xterm_256color_s_kf38,
++ /* 244: kf39 */ xterm_256color_s_kf39,
++ /* 245: kf40 */ xterm_256color_s_kf40,
++ /* 246: kf41 */ xterm_256color_s_kf41,
++ /* 247: kf42 */ xterm_256color_s_kf42,
++ /* 248: kf43 */ xterm_256color_s_kf43,
++ /* 249: kf44 */ xterm_256color_s_kf44,
++ /* 250: kf45 */ xterm_256color_s_kf45,
++ /* 251: kf46 */ xterm_256color_s_kf46,
++ /* 252: kf47 */ xterm_256color_s_kf47,
++ /* 253: kf48 */ xterm_256color_s_kf48,
++ /* 254: kf49 */ xterm_256color_s_kf49,
++ /* 255: kf50 */ xterm_256color_s_kf50,
++ /* 256: kf51 */ xterm_256color_s_kf51,
++ /* 257: kf52 */ xterm_256color_s_kf52,
++ /* 258: kf53 */ xterm_256color_s_kf53,
++ /* 259: kf54 */ xterm_256color_s_kf54,
++ /* 260: kf55 */ xterm_256color_s_kf55,
++ /* 261: kf56 */ xterm_256color_s_kf56,
++ /* 262: kf57 */ xterm_256color_s_kf57,
++ /* 263: kf58 */ xterm_256color_s_kf58,
++ /* 264: kf59 */ xterm_256color_s_kf59,
++ /* 265: kf60 */ xterm_256color_s_kf60,
++ /* 266: kf61 */ xterm_256color_s_kf61,
++ /* 267: kf62 */ xterm_256color_s_kf62,
++ /* 268: kf63 */ xterm_256color_s_kf63,
++ /* 269: el1 */ xterm_256color_s_el1,
++ /* 270: mgc */ ABSENT_STRING,
++ /* 271: smgl */ ABSENT_STRING,
++ /* 272: smgr */ ABSENT_STRING,
++ /* 273: fln */ ABSENT_STRING,
++ /* 274: sclk */ ABSENT_STRING,
++ /* 275: dclk */ ABSENT_STRING,
++ /* 276: rmclk */ ABSENT_STRING,
++ /* 277: cwin */ ABSENT_STRING,
++ /* 278: wingo */ ABSENT_STRING,
++ /* 279: hup */ ABSENT_STRING,
++ /* 280: dial */ ABSENT_STRING,
++ /* 281: qdial */ ABSENT_STRING,
++ /* 282: tone */ ABSENT_STRING,
++ /* 283: pulse */ ABSENT_STRING,
++ /* 284: hook */ ABSENT_STRING,
++ /* 285: pause */ ABSENT_STRING,
++ /* 286: wait */ ABSENT_STRING,
++ /* 287: u0 */ ABSENT_STRING,
++ /* 288: u1 */ ABSENT_STRING,
++ /* 289: u2 */ ABSENT_STRING,
++ /* 290: u3 */ ABSENT_STRING,
++ /* 291: u4 */ ABSENT_STRING,
++ /* 292: u5 */ ABSENT_STRING,
++ /* 293: u6 */ xterm_256color_s_u6,
++ /* 294: u7 */ xterm_256color_s_u7,
++ /* 295: u8 */ xterm_256color_s_u8,
++ /* 296: u9 */ xterm_256color_s_u9,
++ /* 297: op */ xterm_256color_s_op,
++ /* 298: oc */ xterm_256color_s_oc,
++ /* 299: initc */ xterm_256color_s_initc,
++ /* 300: initp */ ABSENT_STRING,
++ /* 301: scp */ ABSENT_STRING,
++ /* 302: setf */ ABSENT_STRING,
++ /* 303: setb */ ABSENT_STRING,
++ /* 304: cpi */ ABSENT_STRING,
++ /* 305: lpi */ ABSENT_STRING,
++ /* 306: chr */ ABSENT_STRING,
++ /* 307: cvr */ ABSENT_STRING,
++ /* 308: defc */ ABSENT_STRING,
++ /* 309: swidm */ ABSENT_STRING,
++ /* 310: sdrfq */ ABSENT_STRING,
++ /* 311: sitm */ xterm_256color_s_sitm,
++ /* 312: slm */ ABSENT_STRING,
++ /* 313: smicm */ ABSENT_STRING,
++ /* 314: snlq */ ABSENT_STRING,
++ /* 315: snrmq */ ABSENT_STRING,
++ /* 316: sshm */ ABSENT_STRING,
++ /* 317: ssubm */ ABSENT_STRING,
++ /* 318: ssupm */ ABSENT_STRING,
++ /* 319: sum */ ABSENT_STRING,
++ /* 320: rwidm */ ABSENT_STRING,
++ /* 321: ritm */ xterm_256color_s_ritm,
++ /* 322: rlm */ ABSENT_STRING,
++ /* 323: rmicm */ ABSENT_STRING,
++ /* 324: rshm */ ABSENT_STRING,
++ /* 325: rsubm */ ABSENT_STRING,
++ /* 326: rsupm */ ABSENT_STRING,
++ /* 327: rum */ ABSENT_STRING,
++ /* 328: mhpa */ ABSENT_STRING,
++ /* 329: mcud1 */ ABSENT_STRING,
++ /* 330: mcub1 */ ABSENT_STRING,
++ /* 331: mcuf1 */ ABSENT_STRING,
++ /* 332: mvpa */ ABSENT_STRING,
++ /* 333: mcuu1 */ ABSENT_STRING,
++ /* 334: porder */ ABSENT_STRING,
++ /* 335: mcud */ ABSENT_STRING,
++ /* 336: mcub */ ABSENT_STRING,
++ /* 337: mcuf */ ABSENT_STRING,
++ /* 338: mcuu */ ABSENT_STRING,
++ /* 339: scs */ ABSENT_STRING,
++ /* 340: smgb */ ABSENT_STRING,
++ /* 341: smgbp */ ABSENT_STRING,
++ /* 342: smglp */ ABSENT_STRING,
++ /* 343: smgrp */ ABSENT_STRING,
++ /* 344: smgt */ ABSENT_STRING,
++ /* 345: smgtp */ ABSENT_STRING,
++ /* 346: sbim */ ABSENT_STRING,
++ /* 347: scsd */ ABSENT_STRING,
++ /* 348: rbim */ ABSENT_STRING,
++ /* 349: rcsd */ ABSENT_STRING,
++ /* 350: subcs */ ABSENT_STRING,
++ /* 351: supcs */ ABSENT_STRING,
++ /* 352: docr */ ABSENT_STRING,
++ /* 353: zerom */ ABSENT_STRING,
++ /* 354: csnm */ ABSENT_STRING,
++ /* 355: kmous */ xterm_256color_s_kmous,
++ /* 356: minfo */ ABSENT_STRING,
++ /* 357: reqmp */ ABSENT_STRING,
++ /* 358: getm */ ABSENT_STRING,
++ /* 359: setaf */ xterm_256color_s_setaf,
++ /* 360: setab */ xterm_256color_s_setab,
++ /* 361: pfxl */ ABSENT_STRING,
++ /* 362: devt */ ABSENT_STRING,
++ /* 363: csin */ ABSENT_STRING,
++ /* 364: s0ds */ ABSENT_STRING,
++ /* 365: s1ds */ ABSENT_STRING,
++ /* 366: s2ds */ ABSENT_STRING,
++ /* 367: s3ds */ ABSENT_STRING,
++ /* 368: smglr */ ABSENT_STRING,
++ /* 369: smgtb */ ABSENT_STRING,
++ /* 370: birep */ ABSENT_STRING,
++ /* 371: binel */ ABSENT_STRING,
++ /* 372: bicr */ ABSENT_STRING,
++ /* 373: colornm */ ABSENT_STRING,
++ /* 374: defbi */ ABSENT_STRING,
++ /* 375: endbi */ ABSENT_STRING,
++ /* 376: setcolor */ ABSENT_STRING,
++ /* 377: slines */ ABSENT_STRING,
++ /* 378: dispc */ ABSENT_STRING,
++ /* 379: smpch */ ABSENT_STRING,
++ /* 380: rmpch */ ABSENT_STRING,
++ /* 381: smsc */ ABSENT_STRING,
++ /* 382: rmsc */ ABSENT_STRING,
++ /* 383: pctrm */ ABSENT_STRING,
++ /* 384: scesc */ ABSENT_STRING,
++ /* 385: scesa */ ABSENT_STRING,
++ /* 386: ehhlm */ ABSENT_STRING,
++ /* 387: elhlm */ ABSENT_STRING,
++ /* 388: elohlm */ ABSENT_STRING,
++ /* 389: erhlm */ ABSENT_STRING,
++ /* 390: ethlm */ ABSENT_STRING,
++ /* 391: evhlm */ ABSENT_STRING,
++ /* 392: sgr1 */ ABSENT_STRING,
++ /* 393: slength */ ABSENT_STRING,
++ /* 394: OTi2 */ ABSENT_STRING,
++ /* 395: OTrs */ ABSENT_STRING,
++ /* 396: OTnl */ ABSENT_STRING,
++ /* 397: OTbc */ ABSENT_STRING,
++ /* 398: OTko */ ABSENT_STRING,
++ /* 399: OTma */ ABSENT_STRING,
++ /* 400: OTG2 */ ABSENT_STRING,
++ /* 401: OTG3 */ ABSENT_STRING,
++ /* 402: OTG1 */ ABSENT_STRING,
++ /* 403: OTG4 */ ABSENT_STRING,
++ /* 404: OTGR */ ABSENT_STRING,
++ /* 405: OTGL */ ABSENT_STRING,
++ /* 406: OTGU */ ABSENT_STRING,
++ /* 407: OTGD */ ABSENT_STRING,
++ /* 408: OTGH */ ABSENT_STRING,
++ /* 409: OTGV */ ABSENT_STRING,
++ /* 410: OTGC */ ABSENT_STRING,
++ /* 411: meml */ xterm_256color_s_meml,
++ /* 412: memu */ xterm_256color_s_memu,
++ /* 413: box1 */ ABSENT_STRING,
++};
++/* screen */
++
++static char screen_alias_data[] = "screen|VT 100/ANSI X3.64 virtual terminal";
++
++static char screen_s_cbt [] = "\033[Z";
++static char screen_s_bel [] = "\007";
++static char screen_s_cr [] = "\015";
++static char screen_s_csr [] = "\033[%i%p1%d;%p2%dr";
++static char screen_s_tbc [] = "\033[3g";
++static char screen_s_clear [] = "\033[H\033[J";
++static char screen_s_el [] = "\033[K";
++static char screen_s_ed [] = "\033[J";
++static char screen_s_hpa [] = "\033[%i%p1%dG";
++static char screen_s_cup [] = "\033[%i%p1%d;%p2%dH";
++static char screen_s_cud1 [] = "\012";
++static char screen_s_home [] = "\033[H";
++static char screen_s_civis [] = "\033[?25l";
++static char screen_s_cub1 [] = "\010";
++static char screen_s_cnorm [] = "\033[34h\033[?25h";
++static char screen_s_cuf1 [] = "\033[C";
++static char screen_s_cuu1 [] = "\033M";
++static char screen_s_cvvis [] = "\033[34l";
++static char screen_s_dch1 [] = "\033[P";
++static char screen_s_dl1 [] = "\033[M";
++static char screen_s_smacs [] = "\016";
++static char screen_s_blink [] = "\033[5m";
++static char screen_s_bold [] = "\033[1m";
++static char screen_s_smcup [] = "\033[?1049h";
++static char screen_s_dim [] = "\033[2m";
++static char screen_s_smir [] = "\033[4h";
++static char screen_s_rev [] = "\033[7m";
++static char screen_s_smso [] = "\033[3m";
++static char screen_s_smul [] = "\033[4m";
++static char screen_s_rmacs [] = "\017";
++static char screen_s_sgr0 [] = "\033[m\017";
++static char screen_s_rmcup [] = "\033[?1049l";
++static char screen_s_rmir [] = "\033[4l";
++static char screen_s_rmso [] = "\033[23m";
++static char screen_s_rmul [] = "\033[24m";
++static char screen_s_flash [] = "\033g";
++static char screen_s_is2 [] = "\033)0";
++static char screen_s_il1 [] = "\033[L";
++static char screen_s_kbs [] = "\010";
++static char screen_s_kdch1 [] = "\033[3~";
++static char screen_s_kcud1 [] = "\033OB";
++static char screen_s_kf1 [] = "\033OP";
++static char screen_s_kf10 [] = "\033[21~";
++static char screen_s_kf2 [] = "\033OQ";
++static char screen_s_kf3 [] = "\033OR";
++static char screen_s_kf4 [] = "\033OS";
++static char screen_s_kf5 [] = "\033[15~";
++static char screen_s_kf6 [] = "\033[17~";
++static char screen_s_kf7 [] = "\033[18~";
++static char screen_s_kf8 [] = "\033[19~";
++static char screen_s_kf9 [] = "\033[20~";
++static char screen_s_khome [] = "\033[1~";
++static char screen_s_kich1 [] = "\033[2~";
++static char screen_s_kcub1 [] = "\033OD";
++static char screen_s_knp [] = "\033[6~";
++static char screen_s_kpp [] = "\033[5~";
++static char screen_s_kcuf1 [] = "\033OC";
++static char screen_s_kcuu1 [] = "\033OA";
++static char screen_s_rmkx [] = "\033[?1l\033>";
++static char screen_s_smkx [] = "\033[?1h\033=";
++static char screen_s_nel [] = "\033E";
++static char screen_s_dch [] = "\033[%p1%dP";
++static char screen_s_dl [] = "\033[%p1%dM";
++static char screen_s_cud [] = "\033[%p1%dB";
++static char screen_s_ich [] = "\033[%p1%d@";
++static char screen_s_indn [] = "\033[%p1%dS";
++static char screen_s_il [] = "\033[%p1%dL";
++static char screen_s_cub [] = "\033[%p1%dD";
++static char screen_s_cuf [] = "\033[%p1%dC";
++static char screen_s_cuu [] = "\033[%p1%dA";
++static char screen_s_rs2 [] = "\033c\033[?1000l\033[?25h";
++static char screen_s_rc [] = "\0338";
++static char screen_s_vpa [] = "\033[%i%p1%dd";
++static char screen_s_sc [] = "\0337";
++static char screen_s_ind [] = "\012";
++static char screen_s_ri [] = "\033M";
++static char screen_s_sgr [] = "\033[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;";
++static char screen_s_hts [] = "\033H";
++static char screen_s_ht [] = "\011";
++static char screen_s_acsc [] = "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~";
++static char screen_s_kcbt [] = "\033[Z";
++static char screen_s_enacs [] = "\033(B\033)0";
++static char screen_s_kend [] = "\033[4~";
++static char screen_s_kf11 [] = "\033[23~";
++static char screen_s_kf12 [] = "\033[24~";
++static char screen_s_el1 [] = "\033[1K";
++static char screen_s_op [] = "\033[39;49m";
++static char screen_s_kmous [] = "\033[M";
++static char screen_s_setaf [] = "\033[3%p1%dm";
++static char screen_s_setab [] = "\033[4%p1%dm";
++
++static char screen_bool_data[] = {
++ /* 0: bw */ FALSE,
++ /* 1: am */ TRUE,
++ /* 2: xsb */ FALSE,
++ /* 3: xhp */ FALSE,
++ /* 4: xenl */ TRUE,
++ /* 5: eo */ FALSE,
++ /* 6: gn */ FALSE,
++ /* 7: hc */ FALSE,
++ /* 8: km */ TRUE,
++ /* 9: hs */ FALSE,
++ /* 10: in */ FALSE,
++ /* 11: da */ FALSE,
++ /* 12: db */ FALSE,
++ /* 13: mir */ TRUE,
++ /* 14: msgr */ TRUE,
++ /* 15: os */ FALSE,
++ /* 16: eslok */ FALSE,
++ /* 17: xt */ FALSE,
++ /* 18: hz */ FALSE,
++ /* 19: ul */ FALSE,
++ /* 20: xon */ FALSE,
++ /* 21: nxon */ FALSE,
++ /* 22: mc5i */ FALSE,
++ /* 23: chts */ FALSE,
++ /* 24: nrrmc */ FALSE,
++ /* 25: npc */ FALSE,
++ /* 26: ndscr */ FALSE,
++ /* 27: ccc */ FALSE,
++ /* 28: bce */ FALSE,
++ /* 29: hls */ FALSE,
++ /* 30: xhpa */ FALSE,
++ /* 31: crxm */ FALSE,
++ /* 32: daisy */ FALSE,
++ /* 33: xvpa */ FALSE,
++ /* 34: sam */ FALSE,
++ /* 35: cpix */ FALSE,
++ /* 36: lpix */ FALSE,
++ /* 37: OTbs */ TRUE,
++ /* 38: OTns */ FALSE,
++ /* 39: OTnc */ FALSE,
++ /* 40: OTMT */ FALSE,
++ /* 41: OTNL */ FALSE,
++ /* 42: OTpt */ TRUE,
++ /* 43: OTxr */ FALSE,
++};
++static NCURSES_INT2 screen_number_data[] = {
++ /* 0: cols */ 80,
++ /* 1: it */ 8,
++ /* 2: lines */ 24,
++ /* 3: lm */ ABSENT_NUMERIC,
++ /* 4: xmc */ ABSENT_NUMERIC,
++ /* 5: pb */ ABSENT_NUMERIC,
++ /* 6: vt */ ABSENT_NUMERIC,
++ /* 7: wsl */ ABSENT_NUMERIC,
++ /* 8: nlab */ ABSENT_NUMERIC,
++ /* 9: lh */ ABSENT_NUMERIC,
++ /* 10: lw */ ABSENT_NUMERIC,
++ /* 11: ma */ ABSENT_NUMERIC,
++ /* 12: wnum */ ABSENT_NUMERIC,
++ /* 13: colors */ 8,
++ /* 14: pairs */ 64,
++ /* 15: ncv */ CANCELLED_NUMERIC,
++ /* 16: bufsz */ ABSENT_NUMERIC,
++ /* 17: spinv */ ABSENT_NUMERIC,
++ /* 18: spinh */ ABSENT_NUMERIC,
++ /* 19: maddr */ ABSENT_NUMERIC,
++ /* 20: mjump */ ABSENT_NUMERIC,
++ /* 21: mcs */ ABSENT_NUMERIC,
++ /* 22: mls */ ABSENT_NUMERIC,
++ /* 23: npins */ ABSENT_NUMERIC,
++ /* 24: orc */ ABSENT_NUMERIC,
++ /* 25: orl */ ABSENT_NUMERIC,
++ /* 26: orhi */ ABSENT_NUMERIC,
++ /* 27: orvi */ ABSENT_NUMERIC,
++ /* 28: cps */ ABSENT_NUMERIC,
++ /* 29: widcs */ ABSENT_NUMERIC,
++ /* 30: btns */ ABSENT_NUMERIC,
++ /* 31: bitwin */ ABSENT_NUMERIC,
++ /* 32: bitype */ ABSENT_NUMERIC,
++ /* 33: OTug */ ABSENT_NUMERIC,
++ /* 34: OTdC */ ABSENT_NUMERIC,
++ /* 35: OTdN */ ABSENT_NUMERIC,
++ /* 36: OTdB */ ABSENT_NUMERIC,
++ /* 37: OTdT */ ABSENT_NUMERIC,
++ /* 38: OTkn */ ABSENT_NUMERIC,
++};
++static char * screen_string_data[] = {
++ /* 0: cbt */ screen_s_cbt,
++ /* 1: bel */ screen_s_bel,
++ /* 2: cr */ screen_s_cr,
++ /* 3: csr */ screen_s_csr,
++ /* 4: tbc */ screen_s_tbc,
++ /* 5: clear */ screen_s_clear,
++ /* 6: el */ screen_s_el,
++ /* 7: ed */ screen_s_ed,
++ /* 8: hpa */ screen_s_hpa,
++ /* 9: cmdch */ ABSENT_STRING,
++ /* 10: cup */ screen_s_cup,
++ /* 11: cud1 */ screen_s_cud1,
++ /* 12: home */ screen_s_home,
++ /* 13: civis */ screen_s_civis,
++ /* 14: cub1 */ screen_s_cub1,
++ /* 15: mrcup */ ABSENT_STRING,
++ /* 16: cnorm */ screen_s_cnorm,
++ /* 17: cuf1 */ screen_s_cuf1,
++ /* 18: ll */ ABSENT_STRING,
++ /* 19: cuu1 */ screen_s_cuu1,
++ /* 20: cvvis */ screen_s_cvvis,
++ /* 21: dch1 */ screen_s_dch1,
++ /* 22: dl1 */ screen_s_dl1,
++ /* 23: dsl */ ABSENT_STRING,
++ /* 24: hd */ ABSENT_STRING,
++ /* 25: smacs */ screen_s_smacs,
++ /* 26: blink */ screen_s_blink,
++ /* 27: bold */ screen_s_bold,
++ /* 28: smcup */ screen_s_smcup,
++ /* 29: smdc */ ABSENT_STRING,
++ /* 30: dim */ screen_s_dim,
++ /* 31: smir */ screen_s_smir,
++ /* 32: invis */ ABSENT_STRING,
++ /* 33: prot */ ABSENT_STRING,
++ /* 34: rev */ screen_s_rev,
++ /* 35: smso */ screen_s_smso,
++ /* 36: smul */ screen_s_smul,
++ /* 37: ech */ ABSENT_STRING,
++ /* 38: rmacs */ screen_s_rmacs,
++ /* 39: sgr0 */ screen_s_sgr0,
++ /* 40: rmcup */ screen_s_rmcup,
++ /* 41: rmdc */ ABSENT_STRING,
++ /* 42: rmir */ screen_s_rmir,
++ /* 43: rmso */ screen_s_rmso,
++ /* 44: rmul */ screen_s_rmul,
++ /* 45: flash */ screen_s_flash,
++ /* 46: ff */ ABSENT_STRING,
++ /* 47: fsl */ ABSENT_STRING,
++ /* 48: is1 */ ABSENT_STRING,
++ /* 49: is2 */ screen_s_is2,
++ /* 50: is3 */ ABSENT_STRING,
++ /* 51: if */ ABSENT_STRING,
++ /* 52: ich1 */ ABSENT_STRING,
++ /* 53: il1 */ screen_s_il1,
++ /* 54: ip */ ABSENT_STRING,
++ /* 55: kbs */ screen_s_kbs,
++ /* 56: ktbc */ ABSENT_STRING,
++ /* 57: kclr */ ABSENT_STRING,
++ /* 58: kctab */ ABSENT_STRING,
++ /* 59: kdch1 */ screen_s_kdch1,
++ /* 60: kdl1 */ ABSENT_STRING,
++ /* 61: kcud1 */ screen_s_kcud1,
++ /* 62: krmir */ ABSENT_STRING,
++ /* 63: kel */ ABSENT_STRING,
++ /* 64: ked */ ABSENT_STRING,
++ /* 65: kf0 */ ABSENT_STRING,
++ /* 66: kf1 */ screen_s_kf1,
++ /* 67: kf10 */ screen_s_kf10,
++ /* 68: kf2 */ screen_s_kf2,
++ /* 69: kf3 */ screen_s_kf3,
++ /* 70: kf4 */ screen_s_kf4,
++ /* 71: kf5 */ screen_s_kf5,
++ /* 72: kf6 */ screen_s_kf6,
++ /* 73: kf7 */ screen_s_kf7,
++ /* 74: kf8 */ screen_s_kf8,
++ /* 75: kf9 */ screen_s_kf9,
++ /* 76: khome */ screen_s_khome,
++ /* 77: kich1 */ screen_s_kich1,
++ /* 78: kil1 */ ABSENT_STRING,
++ /* 79: kcub1 */ screen_s_kcub1,
++ /* 80: kll */ ABSENT_STRING,
++ /* 81: knp */ screen_s_knp,
++ /* 82: kpp */ screen_s_kpp,
++ /* 83: kcuf1 */ screen_s_kcuf1,
++ /* 84: kind */ ABSENT_STRING,
++ /* 85: kri */ ABSENT_STRING,
++ /* 86: khts */ ABSENT_STRING,
++ /* 87: kcuu1 */ screen_s_kcuu1,
++ /* 88: rmkx */ screen_s_rmkx,
++ /* 89: smkx */ screen_s_smkx,
++ /* 90: lf0 */ ABSENT_STRING,
++ /* 91: lf1 */ ABSENT_STRING,
++ /* 92: lf10 */ ABSENT_STRING,
++ /* 93: lf2 */ ABSENT_STRING,
++ /* 94: lf3 */ ABSENT_STRING,
++ /* 95: lf4 */ ABSENT_STRING,
++ /* 96: lf5 */ ABSENT_STRING,
++ /* 97: lf6 */ ABSENT_STRING,
++ /* 98: lf7 */ ABSENT_STRING,
++ /* 99: lf8 */ ABSENT_STRING,
++ /* 100: lf9 */ ABSENT_STRING,
++ /* 101: rmm */ ABSENT_STRING,
++ /* 102: smm */ ABSENT_STRING,
++ /* 103: nel */ screen_s_nel,
++ /* 104: pad */ ABSENT_STRING,
++ /* 105: dch */ screen_s_dch,
++ /* 106: dl */ screen_s_dl,
++ /* 107: cud */ screen_s_cud,
++ /* 108: ich */ screen_s_ich,
++ /* 109: indn */ screen_s_indn,
++ /* 110: il */ screen_s_il,
++ /* 111: cub */ screen_s_cub,
++ /* 112: cuf */ screen_s_cuf,
++ /* 113: rin */ ABSENT_STRING,
++ /* 114: cuu */ screen_s_cuu,
++ /* 115: pfkey */ ABSENT_STRING,
++ /* 116: pfloc */ ABSENT_STRING,
++ /* 117: pfx */ ABSENT_STRING,
++ /* 118: mc0 */ ABSENT_STRING,
++ /* 119: mc4 */ ABSENT_STRING,
++ /* 120: mc5 */ ABSENT_STRING,
++ /* 121: rep */ ABSENT_STRING,
++ /* 122: rs1 */ ABSENT_STRING,
++ /* 123: rs2 */ screen_s_rs2,
++ /* 124: rs3 */ ABSENT_STRING,
++ /* 125: rf */ ABSENT_STRING,
++ /* 126: rc */ screen_s_rc,
++ /* 127: vpa */ screen_s_vpa,
++ /* 128: sc */ screen_s_sc,
++ /* 129: ind */ screen_s_ind,
++ /* 130: ri */ screen_s_ri,
++ /* 131: sgr */ screen_s_sgr,
++ /* 132: hts */ screen_s_hts,
++ /* 133: wind */ ABSENT_STRING,
++ /* 134: ht */ screen_s_ht,
++ /* 135: tsl */ ABSENT_STRING,
++ /* 136: uc */ ABSENT_STRING,
++ /* 137: hu */ ABSENT_STRING,
++ /* 138: iprog */ ABSENT_STRING,
++ /* 139: ka1 */ ABSENT_STRING,
++ /* 140: ka3 */ ABSENT_STRING,
++ /* 141: kb2 */ ABSENT_STRING,
++ /* 142: kc1 */ ABSENT_STRING,
++ /* 143: kc3 */ ABSENT_STRING,
++ /* 144: mc5p */ ABSENT_STRING,
++ /* 145: rmp */ ABSENT_STRING,
++ /* 146: acsc */ screen_s_acsc,
++ /* 147: pln */ ABSENT_STRING,
++ /* 148: kcbt */ screen_s_kcbt,
++ /* 149: smxon */ ABSENT_STRING,
++ /* 150: rmxon */ ABSENT_STRING,
++ /* 151: smam */ ABSENT_STRING,
++ /* 152: rmam */ ABSENT_STRING,
++ /* 153: xonc */ ABSENT_STRING,
++ /* 154: xoffc */ ABSENT_STRING,
++ /* 155: enacs */ screen_s_enacs,
++ /* 156: smln */ ABSENT_STRING,
++ /* 157: rmln */ ABSENT_STRING,
++ /* 158: kbeg */ ABSENT_STRING,
++ /* 159: kcan */ ABSENT_STRING,
++ /* 160: kclo */ ABSENT_STRING,
++ /* 161: kcmd */ ABSENT_STRING,
++ /* 162: kcpy */ ABSENT_STRING,
++ /* 163: kcrt */ ABSENT_STRING,
++ /* 164: kend */ screen_s_kend,
++ /* 165: kent */ ABSENT_STRING,
++ /* 166: kext */ ABSENT_STRING,
++ /* 167: kfnd */ ABSENT_STRING,
++ /* 168: khlp */ ABSENT_STRING,
++ /* 169: kmrk */ ABSENT_STRING,
++ /* 170: kmsg */ ABSENT_STRING,
++ /* 171: kmov */ ABSENT_STRING,
++ /* 172: knxt */ ABSENT_STRING,
++ /* 173: kopn */ ABSENT_STRING,
++ /* 174: kopt */ ABSENT_STRING,
++ /* 175: kprv */ ABSENT_STRING,
++ /* 176: kprt */ ABSENT_STRING,
++ /* 177: krdo */ ABSENT_STRING,
++ /* 178: kref */ ABSENT_STRING,
++ /* 179: krfr */ ABSENT_STRING,
++ /* 180: krpl */ ABSENT_STRING,
++ /* 181: krst */ ABSENT_STRING,
++ /* 182: kres */ ABSENT_STRING,
++ /* 183: ksav */ ABSENT_STRING,
++ /* 184: kspd */ ABSENT_STRING,
++ /* 185: kund */ ABSENT_STRING,
++ /* 186: kBEG */ ABSENT_STRING,
++ /* 187: kCAN */ ABSENT_STRING,
++ /* 188: kCMD */ ABSENT_STRING,
++ /* 189: kCPY */ ABSENT_STRING,
++ /* 190: kCRT */ ABSENT_STRING,
++ /* 191: kDC */ ABSENT_STRING,
++ /* 192: kDL */ ABSENT_STRING,
++ /* 193: kslt */ ABSENT_STRING,
++ /* 194: kEND */ ABSENT_STRING,
++ /* 195: kEOL */ ABSENT_STRING,
++ /* 196: kEXT */ ABSENT_STRING,
++ /* 197: kFND */ ABSENT_STRING,
++ /* 198: kHLP */ ABSENT_STRING,
++ /* 199: kHOM */ ABSENT_STRING,
++ /* 200: kIC */ ABSENT_STRING,
++ /* 201: kLFT */ ABSENT_STRING,
++ /* 202: kMSG */ ABSENT_STRING,
++ /* 203: kMOV */ ABSENT_STRING,
++ /* 204: kNXT */ ABSENT_STRING,
++ /* 205: kOPT */ ABSENT_STRING,
++ /* 206: kPRV */ ABSENT_STRING,
++ /* 207: kPRT */ ABSENT_STRING,
++ /* 208: kRDO */ ABSENT_STRING,
++ /* 209: kRPL */ ABSENT_STRING,
++ /* 210: kRIT */ ABSENT_STRING,
++ /* 211: kRES */ ABSENT_STRING,
++ /* 212: kSAV */ ABSENT_STRING,
++ /* 213: kSPD */ ABSENT_STRING,
++ /* 214: kUND */ ABSENT_STRING,
++ /* 215: rfi */ ABSENT_STRING,
++ /* 216: kf11 */ screen_s_kf11,
++ /* 217: kf12 */ screen_s_kf12,
++ /* 218: kf13 */ ABSENT_STRING,
++ /* 219: kf14 */ ABSENT_STRING,
++ /* 220: kf15 */ ABSENT_STRING,
++ /* 221: kf16 */ ABSENT_STRING,
++ /* 222: kf17 */ ABSENT_STRING,
++ /* 223: kf18 */ ABSENT_STRING,
++ /* 224: kf19 */ ABSENT_STRING,
++ /* 225: kf20 */ ABSENT_STRING,
++ /* 226: kf21 */ ABSENT_STRING,
++ /* 227: kf22 */ ABSENT_STRING,
++ /* 228: kf23 */ ABSENT_STRING,
++ /* 229: kf24 */ ABSENT_STRING,
++ /* 230: kf25 */ ABSENT_STRING,
++ /* 231: kf26 */ ABSENT_STRING,
++ /* 232: kf27 */ ABSENT_STRING,
++ /* 233: kf28 */ ABSENT_STRING,
++ /* 234: kf29 */ ABSENT_STRING,
++ /* 235: kf30 */ ABSENT_STRING,
++ /* 236: kf31 */ ABSENT_STRING,
++ /* 237: kf32 */ ABSENT_STRING,
++ /* 238: kf33 */ ABSENT_STRING,
++ /* 239: kf34 */ ABSENT_STRING,
++ /* 240: kf35 */ ABSENT_STRING,
++ /* 241: kf36 */ ABSENT_STRING,
++ /* 242: kf37 */ ABSENT_STRING,
++ /* 243: kf38 */ ABSENT_STRING,
++ /* 244: kf39 */ ABSENT_STRING,
++ /* 245: kf40 */ ABSENT_STRING,
++ /* 246: kf41 */ ABSENT_STRING,
++ /* 247: kf42 */ ABSENT_STRING,
++ /* 248: kf43 */ ABSENT_STRING,
++ /* 249: kf44 */ ABSENT_STRING,
++ /* 250: kf45 */ ABSENT_STRING,
++ /* 251: kf46 */ ABSENT_STRING,
++ /* 252: kf47 */ ABSENT_STRING,
++ /* 253: kf48 */ ABSENT_STRING,
++ /* 254: kf49 */ ABSENT_STRING,
++ /* 255: kf50 */ ABSENT_STRING,
++ /* 256: kf51 */ ABSENT_STRING,
++ /* 257: kf52 */ ABSENT_STRING,
++ /* 258: kf53 */ ABSENT_STRING,
++ /* 259: kf54 */ ABSENT_STRING,
++ /* 260: kf55 */ ABSENT_STRING,
++ /* 261: kf56 */ ABSENT_STRING,
++ /* 262: kf57 */ ABSENT_STRING,
++ /* 263: kf58 */ ABSENT_STRING,
++ /* 264: kf59 */ ABSENT_STRING,
++ /* 265: kf60 */ ABSENT_STRING,
++ /* 266: kf61 */ ABSENT_STRING,
++ /* 267: kf62 */ ABSENT_STRING,
++ /* 268: kf63 */ ABSENT_STRING,
++ /* 269: el1 */ screen_s_el1,
++ /* 270: mgc */ ABSENT_STRING,
++ /* 271: smgl */ ABSENT_STRING,
++ /* 272: smgr */ ABSENT_STRING,
++ /* 273: fln */ ABSENT_STRING,
++ /* 274: sclk */ ABSENT_STRING,
++ /* 275: dclk */ ABSENT_STRING,
++ /* 276: rmclk */ ABSENT_STRING,
++ /* 277: cwin */ ABSENT_STRING,
++ /* 278: wingo */ ABSENT_STRING,
++ /* 279: hup */ ABSENT_STRING,
++ /* 280: dial */ ABSENT_STRING,
++ /* 281: qdial */ ABSENT_STRING,
++ /* 282: tone */ ABSENT_STRING,
++ /* 283: pulse */ ABSENT_STRING,
++ /* 284: hook */ ABSENT_STRING,
++ /* 285: pause */ ABSENT_STRING,
++ /* 286: wait */ ABSENT_STRING,
++ /* 287: u0 */ ABSENT_STRING,
++ /* 288: u1 */ ABSENT_STRING,
++ /* 289: u2 */ ABSENT_STRING,
++ /* 290: u3 */ ABSENT_STRING,
++ /* 291: u4 */ ABSENT_STRING,
++ /* 292: u5 */ ABSENT_STRING,
++ /* 293: u6 */ ABSENT_STRING,
++ /* 294: u7 */ ABSENT_STRING,
++ /* 295: u8 */ ABSENT_STRING,
++ /* 296: u9 */ ABSENT_STRING,
++ /* 297: op */ screen_s_op,
++ /* 298: oc */ ABSENT_STRING,
++ /* 299: initc */ ABSENT_STRING,
++ /* 300: initp */ ABSENT_STRING,
++ /* 301: scp */ ABSENT_STRING,
++ /* 302: setf */ ABSENT_STRING,
++ /* 303: setb */ ABSENT_STRING,
++ /* 304: cpi */ ABSENT_STRING,
++ /* 305: lpi */ ABSENT_STRING,
++ /* 306: chr */ ABSENT_STRING,
++ /* 307: cvr */ ABSENT_STRING,
++ /* 308: defc */ ABSENT_STRING,
++ /* 309: swidm */ ABSENT_STRING,
++ /* 310: sdrfq */ ABSENT_STRING,
++ /* 311: sitm */ ABSENT_STRING,
++ /* 312: slm */ ABSENT_STRING,
++ /* 313: smicm */ ABSENT_STRING,
++ /* 314: snlq */ ABSENT_STRING,
++ /* 315: snrmq */ ABSENT_STRING,
++ /* 316: sshm */ ABSENT_STRING,
++ /* 317: ssubm */ ABSENT_STRING,
++ /* 318: ssupm */ ABSENT_STRING,
++ /* 319: sum */ ABSENT_STRING,
++ /* 320: rwidm */ ABSENT_STRING,
++ /* 321: ritm */ ABSENT_STRING,
++ /* 322: rlm */ ABSENT_STRING,
++ /* 323: rmicm */ ABSENT_STRING,
++ /* 324: rshm */ ABSENT_STRING,
++ /* 325: rsubm */ ABSENT_STRING,
++ /* 326: rsupm */ ABSENT_STRING,
++ /* 327: rum */ ABSENT_STRING,
++ /* 328: mhpa */ ABSENT_STRING,
++ /* 329: mcud1 */ ABSENT_STRING,
++ /* 330: mcub1 */ ABSENT_STRING,
++ /* 331: mcuf1 */ ABSENT_STRING,
++ /* 332: mvpa */ ABSENT_STRING,
++ /* 333: mcuu1 */ ABSENT_STRING,
++ /* 334: porder */ ABSENT_STRING,
++ /* 335: mcud */ ABSENT_STRING,
++ /* 336: mcub */ ABSENT_STRING,
++ /* 337: mcuf */ ABSENT_STRING,
++ /* 338: mcuu */ ABSENT_STRING,
++ /* 339: scs */ ABSENT_STRING,
++ /* 340: smgb */ ABSENT_STRING,
++ /* 341: smgbp */ ABSENT_STRING,
++ /* 342: smglp */ ABSENT_STRING,
++ /* 343: smgrp */ ABSENT_STRING,
++ /* 344: smgt */ ABSENT_STRING,
++ /* 345: smgtp */ ABSENT_STRING,
++ /* 346: sbim */ ABSENT_STRING,
++ /* 347: scsd */ ABSENT_STRING,
++ /* 348: rbim */ ABSENT_STRING,
++ /* 349: rcsd */ ABSENT_STRING,
++ /* 350: subcs */ ABSENT_STRING,
++ /* 351: supcs */ ABSENT_STRING,
++ /* 352: docr */ ABSENT_STRING,
++ /* 353: zerom */ ABSENT_STRING,
++ /* 354: csnm */ ABSENT_STRING,
++ /* 355: kmous */ screen_s_kmous,
++ /* 356: minfo */ ABSENT_STRING,
++ /* 357: reqmp */ ABSENT_STRING,
++ /* 358: getm */ ABSENT_STRING,
++ /* 359: setaf */ screen_s_setaf,
++ /* 360: setab */ screen_s_setab,
++ /* 361: pfxl */ ABSENT_STRING,
++ /* 362: devt */ ABSENT_STRING,
++ /* 363: csin */ ABSENT_STRING,
++ /* 364: s0ds */ ABSENT_STRING,
++ /* 365: s1ds */ ABSENT_STRING,
++ /* 366: s2ds */ ABSENT_STRING,
++ /* 367: s3ds */ ABSENT_STRING,
++ /* 368: smglr */ ABSENT_STRING,
++ /* 369: smgtb */ ABSENT_STRING,
++ /* 370: birep */ ABSENT_STRING,
++ /* 371: binel */ ABSENT_STRING,
++ /* 372: bicr */ ABSENT_STRING,
++ /* 373: colornm */ ABSENT_STRING,
++ /* 374: defbi */ ABSENT_STRING,
++ /* 375: endbi */ ABSENT_STRING,
++ /* 376: setcolor */ ABSENT_STRING,
++ /* 377: slines */ ABSENT_STRING,
++ /* 378: dispc */ ABSENT_STRING,
++ /* 379: smpch */ ABSENT_STRING,
++ /* 380: rmpch */ ABSENT_STRING,
++ /* 381: smsc */ ABSENT_STRING,
++ /* 382: rmsc */ ABSENT_STRING,
++ /* 383: pctrm */ ABSENT_STRING,
++ /* 384: scesc */ ABSENT_STRING,
++ /* 385: scesa */ ABSENT_STRING,
++ /* 386: ehhlm */ ABSENT_STRING,
++ /* 387: elhlm */ ABSENT_STRING,
++ /* 388: elohlm */ ABSENT_STRING,
++ /* 389: erhlm */ ABSENT_STRING,
++ /* 390: ethlm */ ABSENT_STRING,
++ /* 391: evhlm */ ABSENT_STRING,
++ /* 392: sgr1 */ ABSENT_STRING,
++ /* 393: slength */ ABSENT_STRING,
++ /* 394: OTi2 */ ABSENT_STRING,
++ /* 395: OTrs */ ABSENT_STRING,
++ /* 396: OTnl */ ABSENT_STRING,
++ /* 397: OTbc */ ABSENT_STRING,
++ /* 398: OTko */ ABSENT_STRING,
++ /* 399: OTma */ ABSENT_STRING,
++ /* 400: OTG2 */ ABSENT_STRING,
++ /* 401: OTG3 */ ABSENT_STRING,
++ /* 402: OTG1 */ ABSENT_STRING,
++ /* 403: OTG4 */ ABSENT_STRING,
++ /* 404: OTGR */ ABSENT_STRING,
++ /* 405: OTGL */ ABSENT_STRING,
++ /* 406: OTGU */ ABSENT_STRING,
++ /* 407: OTGD */ ABSENT_STRING,
++ /* 408: OTGH */ ABSENT_STRING,
++ /* 409: OTGV */ ABSENT_STRING,
++ /* 410: OTGC */ ABSENT_STRING,
++ /* 411: meml */ ABSENT_STRING,
++ /* 412: memu */ ABSENT_STRING,
++ /* 413: box1 */ ABSENT_STRING,
++};
++/* screen.linux */
++
++static char screen_linux_alias_data[] = "screen.linux|screen in linux console";
++
++static char screen_linux_s_cbt [] = "\033[Z";
++static char screen_linux_s_bel [] = "\007";
++static char screen_linux_s_cr [] = "\015";
++static char screen_linux_s_csr [] = "\033[%i%p1%d;%p2%dr";
++static char screen_linux_s_tbc [] = "\033[3g";
++static char screen_linux_s_clear[] = "\033[H\033[J";
++static char screen_linux_s_el [] = "\033[K";
++static char screen_linux_s_ed [] = "\033[J";
++static char screen_linux_s_hpa [] = "\033[%i%p1%dG";
++static char screen_linux_s_cup [] = "\033[%i%p1%d;%p2%dH";
++static char screen_linux_s_cud1 [] = "\012";
++static char screen_linux_s_home [] = "\033[H";
++static char screen_linux_s_civis[] = "\033[?25l";
++static char screen_linux_s_cub1 [] = "\010";
++static char screen_linux_s_cnorm[] = "\033[34h\033[?25h";
++static char screen_linux_s_cuf1 [] = "\033[C";
++static char screen_linux_s_cuu1 [] = "\033M";
++static char screen_linux_s_cvvis[] = "\033[34l";
++static char screen_linux_s_dch1 [] = "\033[P";
++static char screen_linux_s_dl1 [] = "\033[M";
++static char screen_linux_s_smacs[] = "\016";
++static char screen_linux_s_blink[] = "\033[5m";
++static char screen_linux_s_bold [] = "\033[1m";
++static char screen_linux_s_smcup[] = "\033[?1049h";
++static char screen_linux_s_dim [] = "\033[2m";
++static char screen_linux_s_smir [] = "\033[4h";
++static char screen_linux_s_rev [] = "\033[7m";
++static char screen_linux_s_smso [] = "\033[3m";
++static char screen_linux_s_smul [] = "\033[4m";
++static char screen_linux_s_rmacs[] = "\017";
++static char screen_linux_s_sgr0 [] = "\033[m\017";
++static char screen_linux_s_rmcup[] = "\033[?1049l";
++static char screen_linux_s_rmir [] = "\033[4l";
++static char screen_linux_s_rmso [] = "\033[23m";
++static char screen_linux_s_rmul [] = "\033[24m";
++static char screen_linux_s_flash[] = "\033g";
++static char screen_linux_s_is2 [] = "\033)0";
++static char screen_linux_s_il1 [] = "\033[L";
++static char screen_linux_s_kbs [] = "\177";
++static char screen_linux_s_kdch1[] = "\033[3~";
++static char screen_linux_s_kcud1[] = "\033OB";
++static char screen_linux_s_kf1 [] = "\033OP";
++static char screen_linux_s_kf10 [] = "\033[21~";
++static char screen_linux_s_kf2 [] = "\033OQ";
++static char screen_linux_s_kf3 [] = "\033OR";
++static char screen_linux_s_kf4 [] = "\033OS";
++static char screen_linux_s_kf5 [] = "\033[15~";
++static char screen_linux_s_kf6 [] = "\033[17~";
++static char screen_linux_s_kf7 [] = "\033[18~";
++static char screen_linux_s_kf8 [] = "\033[19~";
++static char screen_linux_s_kf9 [] = "\033[20~";
++static char screen_linux_s_khome[] = "\033[1~";
++static char screen_linux_s_kich1[] = "\033[2~";
++static char screen_linux_s_kcub1[] = "\033OD";
++static char screen_linux_s_knp [] = "\033[6~";
++static char screen_linux_s_kpp [] = "\033[5~";
++static char screen_linux_s_kcuf1[] = "\033OC";
++static char screen_linux_s_kcuu1[] = "\033OA";
++static char screen_linux_s_rmkx [] = "\033[?1l\033>";
++static char screen_linux_s_smkx [] = "\033[?1h\033=";
++static char screen_linux_s_nel [] = "\033E";
++static char screen_linux_s_dch [] = "\033[%p1%dP";
++static char screen_linux_s_dl [] = "\033[%p1%dM";
++static char screen_linux_s_cud [] = "\033[%p1%dB";
++static char screen_linux_s_ich [] = "\033[%p1%d@";
++static char screen_linux_s_indn [] = "\033[%p1%dS";
++static char screen_linux_s_il [] = "\033[%p1%dL";
++static char screen_linux_s_cub [] = "\033[%p1%dD";
++static char screen_linux_s_cuf [] = "\033[%p1%dC";
++static char screen_linux_s_cuu [] = "\033[%p1%dA";
++static char screen_linux_s_rs2 [] = "\033c\033[?1000l\033[?25h";
++static char screen_linux_s_rc [] = "\0338";
++static char screen_linux_s_vpa [] = "\033[%i%p1%dd";
++static char screen_linux_s_sc [] = "\0337";
++static char screen_linux_s_ind [] = "\012";
++static char screen_linux_s_ri [] = "\033M";
++static char screen_linux_s_sgr [] = "\033[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;";
++static char screen_linux_s_hts [] = "\033H";
++static char screen_linux_s_ht [] = "\011";
++static char screen_linux_s_acsc [] = "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~";
++static char screen_linux_s_enacs[] = "\033(B\033)0";
++static char screen_linux_s_kend [] = "\033[4~";
++static char screen_linux_s_kf11 [] = "\033[23~";
++static char screen_linux_s_kf12 [] = "\033[24~";
++static char screen_linux_s_el1 [] = "\033[1K";
++static char screen_linux_s_op [] = "\033[39;49m";
++static char screen_linux_s_kmous[] = "\033[M";
++static char screen_linux_s_setaf[] = "\033[3%p1%dm";
++static char screen_linux_s_setab[] = "\033[4%p1%dm";
++
++static char screen_linux_bool_data[] = {
++ /* 0: bw */ TRUE,
++ /* 1: am */ TRUE,
++ /* 2: xsb */ FALSE,
++ /* 3: xhp */ FALSE,
++ /* 4: xenl */ TRUE,
++ /* 5: eo */ FALSE,
++ /* 6: gn */ FALSE,
++ /* 7: hc */ FALSE,
++ /* 8: km */ TRUE,
++ /* 9: hs */ FALSE,
++ /* 10: in */ FALSE,
++ /* 11: da */ FALSE,
++ /* 12: db */ FALSE,
++ /* 13: mir */ TRUE,
++ /* 14: msgr */ TRUE,
++ /* 15: os */ FALSE,
++ /* 16: eslok */ FALSE,
++ /* 17: xt */ FALSE,
++ /* 18: hz */ FALSE,
++ /* 19: ul */ FALSE,
++ /* 20: xon */ FALSE,
++ /* 21: nxon */ FALSE,
++ /* 22: mc5i */ FALSE,
++ /* 23: chts */ FALSE,
++ /* 24: nrrmc */ FALSE,
++ /* 25: npc */ FALSE,
++ /* 26: ndscr */ FALSE,
++ /* 27: ccc */ FALSE,
++ /* 28: bce */ FALSE,
++ /* 29: hls */ FALSE,
++ /* 30: xhpa */ FALSE,
++ /* 31: crxm */ FALSE,
++ /* 32: daisy */ FALSE,
++ /* 33: xvpa */ FALSE,
++ /* 34: sam */ FALSE,
++ /* 35: cpix */ FALSE,
++ /* 36: lpix */ FALSE,
++ /* 37: OTbs */ TRUE,
++ /* 38: OTns */ FALSE,
++ /* 39: OTnc */ FALSE,
++ /* 40: OTMT */ FALSE,
++ /* 41: OTNL */ FALSE,
++ /* 42: OTpt */ TRUE,
++ /* 43: OTxr */ FALSE,
++};
++static NCURSES_INT2 screen_linux_number_data[] = {
++ /* 0: cols */ 80,
++ /* 1: it */ 8,
++ /* 2: lines */ 24,
++ /* 3: lm */ ABSENT_NUMERIC,
++ /* 4: xmc */ ABSENT_NUMERIC,
++ /* 5: pb */ ABSENT_NUMERIC,
++ /* 6: vt */ ABSENT_NUMERIC,
++ /* 7: wsl */ ABSENT_NUMERIC,
++ /* 8: nlab */ ABSENT_NUMERIC,
++ /* 9: lh */ ABSENT_NUMERIC,
++ /* 10: lw */ ABSENT_NUMERIC,
++ /* 11: ma */ ABSENT_NUMERIC,
++ /* 12: wnum */ ABSENT_NUMERIC,
++ /* 13: colors */ 8,
++ /* 14: pairs */ 64,
++ /* 15: ncv */ ABSENT_NUMERIC,
++ /* 16: bufsz */ ABSENT_NUMERIC,
++ /* 17: spinv */ ABSENT_NUMERIC,
++ /* 18: spinh */ ABSENT_NUMERIC,
++ /* 19: maddr */ ABSENT_NUMERIC,
++ /* 20: mjump */ ABSENT_NUMERIC,
++ /* 21: mcs */ ABSENT_NUMERIC,
++ /* 22: mls */ ABSENT_NUMERIC,
++ /* 23: npins */ ABSENT_NUMERIC,
++ /* 24: orc */ ABSENT_NUMERIC,
++ /* 25: orl */ ABSENT_NUMERIC,
++ /* 26: orhi */ ABSENT_NUMERIC,
++ /* 27: orvi */ ABSENT_NUMERIC,
++ /* 28: cps */ ABSENT_NUMERIC,
++ /* 29: widcs */ ABSENT_NUMERIC,
++ /* 30: btns */ ABSENT_NUMERIC,
++ /* 31: bitwin */ ABSENT_NUMERIC,
++ /* 32: bitype */ ABSENT_NUMERIC,
++ /* 33: OTug */ ABSENT_NUMERIC,
++ /* 34: OTdC */ ABSENT_NUMERIC,
++ /* 35: OTdN */ ABSENT_NUMERIC,
++ /* 36: OTdB */ ABSENT_NUMERIC,
++ /* 37: OTdT */ ABSENT_NUMERIC,
++ /* 38: OTkn */ ABSENT_NUMERIC,
++};
++static char * screen_linux_string_data[] = {
++ /* 0: cbt */ screen_linux_s_cbt,
++ /* 1: bel */ screen_linux_s_bel,
++ /* 2: cr */ screen_linux_s_cr,
++ /* 3: csr */ screen_linux_s_csr,
++ /* 4: tbc */ screen_linux_s_tbc,
++ /* 5: clear */ screen_linux_s_clear,
++ /* 6: el */ screen_linux_s_el,
++ /* 7: ed */ screen_linux_s_ed,
++ /* 8: hpa */ screen_linux_s_hpa,
++ /* 9: cmdch */ ABSENT_STRING,
++ /* 10: cup */ screen_linux_s_cup,
++ /* 11: cud1 */ screen_linux_s_cud1,
++ /* 12: home */ screen_linux_s_home,
++ /* 13: civis */ screen_linux_s_civis,
++ /* 14: cub1 */ screen_linux_s_cub1,
++ /* 15: mrcup */ ABSENT_STRING,
++ /* 16: cnorm */ screen_linux_s_cnorm,
++ /* 17: cuf1 */ screen_linux_s_cuf1,
++ /* 18: ll */ ABSENT_STRING,
++ /* 19: cuu1 */ screen_linux_s_cuu1,
++ /* 20: cvvis */ screen_linux_s_cvvis,
++ /* 21: dch1 */ screen_linux_s_dch1,
++ /* 22: dl1 */ screen_linux_s_dl1,
++ /* 23: dsl */ ABSENT_STRING,
++ /* 24: hd */ ABSENT_STRING,
++ /* 25: smacs */ screen_linux_s_smacs,
++ /* 26: blink */ screen_linux_s_blink,
++ /* 27: bold */ screen_linux_s_bold,
++ /* 28: smcup */ screen_linux_s_smcup,
++ /* 29: smdc */ ABSENT_STRING,
++ /* 30: dim */ screen_linux_s_dim,
++ /* 31: smir */ screen_linux_s_smir,
++ /* 32: invis */ ABSENT_STRING,
++ /* 33: prot */ ABSENT_STRING,
++ /* 34: rev */ screen_linux_s_rev,
++ /* 35: smso */ screen_linux_s_smso,
++ /* 36: smul */ screen_linux_s_smul,
++ /* 37: ech */ ABSENT_STRING,
++ /* 38: rmacs */ screen_linux_s_rmacs,
++ /* 39: sgr0 */ screen_linux_s_sgr0,
++ /* 40: rmcup */ screen_linux_s_rmcup,
++ /* 41: rmdc */ ABSENT_STRING,
++ /* 42: rmir */ screen_linux_s_rmir,
++ /* 43: rmso */ screen_linux_s_rmso,
++ /* 44: rmul */ screen_linux_s_rmul,
++ /* 45: flash */ screen_linux_s_flash,
++ /* 46: ff */ ABSENT_STRING,
++ /* 47: fsl */ ABSENT_STRING,
++ /* 48: is1 */ ABSENT_STRING,
++ /* 49: is2 */ screen_linux_s_is2,
++ /* 50: is3 */ ABSENT_STRING,
++ /* 51: if */ ABSENT_STRING,
++ /* 52: ich1 */ ABSENT_STRING,
++ /* 53: il1 */ screen_linux_s_il1,
++ /* 54: ip */ ABSENT_STRING,
++ /* 55: kbs */ screen_linux_s_kbs,
++ /* 56: ktbc */ ABSENT_STRING,
++ /* 57: kclr */ ABSENT_STRING,
++ /* 58: kctab */ ABSENT_STRING,
++ /* 59: kdch1 */ screen_linux_s_kdch1,
++ /* 60: kdl1 */ ABSENT_STRING,
++ /* 61: kcud1 */ screen_linux_s_kcud1,
++ /* 62: krmir */ ABSENT_STRING,
++ /* 63: kel */ ABSENT_STRING,
++ /* 64: ked */ ABSENT_STRING,
++ /* 65: kf0 */ ABSENT_STRING,
++ /* 66: kf1 */ screen_linux_s_kf1,
++ /* 67: kf10 */ screen_linux_s_kf10,
++ /* 68: kf2 */ screen_linux_s_kf2,
++ /* 69: kf3 */ screen_linux_s_kf3,
++ /* 70: kf4 */ screen_linux_s_kf4,
++ /* 71: kf5 */ screen_linux_s_kf5,
++ /* 72: kf6 */ screen_linux_s_kf6,
++ /* 73: kf7 */ screen_linux_s_kf7,
++ /* 74: kf8 */ screen_linux_s_kf8,
++ /* 75: kf9 */ screen_linux_s_kf9,
++ /* 76: khome */ screen_linux_s_khome,
++ /* 77: kich1 */ screen_linux_s_kich1,
++ /* 78: kil1 */ ABSENT_STRING,
++ /* 79: kcub1 */ screen_linux_s_kcub1,
++ /* 80: kll */ ABSENT_STRING,
++ /* 81: knp */ screen_linux_s_knp,
++ /* 82: kpp */ screen_linux_s_kpp,
++ /* 83: kcuf1 */ screen_linux_s_kcuf1,
++ /* 84: kind */ ABSENT_STRING,
++ /* 85: kri */ ABSENT_STRING,
++ /* 86: khts */ ABSENT_STRING,
++ /* 87: kcuu1 */ screen_linux_s_kcuu1,
++ /* 88: rmkx */ screen_linux_s_rmkx,
++ /* 89: smkx */ screen_linux_s_smkx,
++ /* 90: lf0 */ ABSENT_STRING,
++ /* 91: lf1 */ ABSENT_STRING,
++ /* 92: lf10 */ ABSENT_STRING,
++ /* 93: lf2 */ ABSENT_STRING,
++ /* 94: lf3 */ ABSENT_STRING,
++ /* 95: lf4 */ ABSENT_STRING,
++ /* 96: lf5 */ ABSENT_STRING,
++ /* 97: lf6 */ ABSENT_STRING,
++ /* 98: lf7 */ ABSENT_STRING,
++ /* 99: lf8 */ ABSENT_STRING,
++ /* 100: lf9 */ ABSENT_STRING,
++ /* 101: rmm */ ABSENT_STRING,
++ /* 102: smm */ ABSENT_STRING,
++ /* 103: nel */ screen_linux_s_nel,
++ /* 104: pad */ ABSENT_STRING,
++ /* 105: dch */ screen_linux_s_dch,
++ /* 106: dl */ screen_linux_s_dl,
++ /* 107: cud */ screen_linux_s_cud,
++ /* 108: ich */ screen_linux_s_ich,
++ /* 109: indn */ screen_linux_s_indn,
++ /* 110: il */ screen_linux_s_il,
++ /* 111: cub */ screen_linux_s_cub,
++ /* 112: cuf */ screen_linux_s_cuf,
++ /* 113: rin */ ABSENT_STRING,
++ /* 114: cuu */ screen_linux_s_cuu,
++ /* 115: pfkey */ ABSENT_STRING,
++ /* 116: pfloc */ ABSENT_STRING,
++ /* 117: pfx */ ABSENT_STRING,
++ /* 118: mc0 */ ABSENT_STRING,
++ /* 119: mc4 */ ABSENT_STRING,
++ /* 120: mc5 */ ABSENT_STRING,
++ /* 121: rep */ ABSENT_STRING,
++ /* 122: rs1 */ ABSENT_STRING,
++ /* 123: rs2 */ screen_linux_s_rs2,
++ /* 124: rs3 */ ABSENT_STRING,
++ /* 125: rf */ ABSENT_STRING,
++ /* 126: rc */ screen_linux_s_rc,
++ /* 127: vpa */ screen_linux_s_vpa,
++ /* 128: sc */ screen_linux_s_sc,
++ /* 129: ind */ screen_linux_s_ind,
++ /* 130: ri */ screen_linux_s_ri,
++ /* 131: sgr */ screen_linux_s_sgr,
++ /* 132: hts */ screen_linux_s_hts,
++ /* 133: wind */ ABSENT_STRING,
++ /* 134: ht */ screen_linux_s_ht,
++ /* 135: tsl */ ABSENT_STRING,
++ /* 136: uc */ ABSENT_STRING,
++ /* 137: hu */ ABSENT_STRING,
++ /* 138: iprog */ ABSENT_STRING,
++ /* 139: ka1 */ ABSENT_STRING,
++ /* 140: ka3 */ ABSENT_STRING,
++ /* 141: kb2 */ ABSENT_STRING,
++ /* 142: kc1 */ ABSENT_STRING,
++ /* 143: kc3 */ ABSENT_STRING,
++ /* 144: mc5p */ ABSENT_STRING,
++ /* 145: rmp */ ABSENT_STRING,
++ /* 146: acsc */ screen_linux_s_acsc,
++ /* 147: pln */ ABSENT_STRING,
++ /* 148: kcbt */ CANCELLED_STRING,
++ /* 149: smxon */ ABSENT_STRING,
++ /* 150: rmxon */ ABSENT_STRING,
++ /* 151: smam */ ABSENT_STRING,
++ /* 152: rmam */ ABSENT_STRING,
++ /* 153: xonc */ ABSENT_STRING,
++ /* 154: xoffc */ ABSENT_STRING,
++ /* 155: enacs */ screen_linux_s_enacs,
++ /* 156: smln */ ABSENT_STRING,
++ /* 157: rmln */ ABSENT_STRING,
++ /* 158: kbeg */ ABSENT_STRING,
++ /* 159: kcan */ ABSENT_STRING,
++ /* 160: kclo */ ABSENT_STRING,
++ /* 161: kcmd */ ABSENT_STRING,
++ /* 162: kcpy */ ABSENT_STRING,
++ /* 163: kcrt */ ABSENT_STRING,
++ /* 164: kend */ screen_linux_s_kend,
++ /* 165: kent */ ABSENT_STRING,
++ /* 166: kext */ ABSENT_STRING,
++ /* 167: kfnd */ ABSENT_STRING,
++ /* 168: khlp */ ABSENT_STRING,
++ /* 169: kmrk */ ABSENT_STRING,
++ /* 170: kmsg */ ABSENT_STRING,
++ /* 171: kmov */ ABSENT_STRING,
++ /* 172: knxt */ ABSENT_STRING,
++ /* 173: kopn */ ABSENT_STRING,
++ /* 174: kopt */ ABSENT_STRING,
++ /* 175: kprv */ ABSENT_STRING,
++ /* 176: kprt */ ABSENT_STRING,
++ /* 177: krdo */ ABSENT_STRING,
++ /* 178: kref */ ABSENT_STRING,
++ /* 179: krfr */ ABSENT_STRING,
++ /* 180: krpl */ ABSENT_STRING,
++ /* 181: krst */ ABSENT_STRING,
++ /* 182: kres */ ABSENT_STRING,
++ /* 183: ksav */ ABSENT_STRING,
++ /* 184: kspd */ ABSENT_STRING,
++ /* 185: kund */ ABSENT_STRING,
++ /* 186: kBEG */ ABSENT_STRING,
++ /* 187: kCAN */ ABSENT_STRING,
++ /* 188: kCMD */ ABSENT_STRING,
++ /* 189: kCPY */ ABSENT_STRING,
++ /* 190: kCRT */ ABSENT_STRING,
++ /* 191: kDC */ ABSENT_STRING,
++ /* 192: kDL */ ABSENT_STRING,
++ /* 193: kslt */ ABSENT_STRING,
++ /* 194: kEND */ ABSENT_STRING,
++ /* 195: kEOL */ ABSENT_STRING,
++ /* 196: kEXT */ ABSENT_STRING,
++ /* 197: kFND */ ABSENT_STRING,
++ /* 198: kHLP */ ABSENT_STRING,
++ /* 199: kHOM */ ABSENT_STRING,
++ /* 200: kIC */ ABSENT_STRING,
++ /* 201: kLFT */ ABSENT_STRING,
++ /* 202: kMSG */ ABSENT_STRING,
++ /* 203: kMOV */ ABSENT_STRING,
++ /* 204: kNXT */ ABSENT_STRING,
++ /* 205: kOPT */ ABSENT_STRING,
++ /* 206: kPRV */ ABSENT_STRING,
++ /* 207: kPRT */ ABSENT_STRING,
++ /* 208: kRDO */ ABSENT_STRING,
++ /* 209: kRPL */ ABSENT_STRING,
++ /* 210: kRIT */ ABSENT_STRING,
++ /* 211: kRES */ ABSENT_STRING,
++ /* 212: kSAV */ ABSENT_STRING,
++ /* 213: kSPD */ ABSENT_STRING,
++ /* 214: kUND */ ABSENT_STRING,
++ /* 215: rfi */ ABSENT_STRING,
++ /* 216: kf11 */ screen_linux_s_kf11,
++ /* 217: kf12 */ screen_linux_s_kf12,
++ /* 218: kf13 */ ABSENT_STRING,
++ /* 219: kf14 */ ABSENT_STRING,
++ /* 220: kf15 */ ABSENT_STRING,
++ /* 221: kf16 */ ABSENT_STRING,
++ /* 222: kf17 */ ABSENT_STRING,
++ /* 223: kf18 */ ABSENT_STRING,
++ /* 224: kf19 */ ABSENT_STRING,
++ /* 225: kf20 */ ABSENT_STRING,
++ /* 226: kf21 */ ABSENT_STRING,
++ /* 227: kf22 */ ABSENT_STRING,
++ /* 228: kf23 */ ABSENT_STRING,
++ /* 229: kf24 */ ABSENT_STRING,
++ /* 230: kf25 */ ABSENT_STRING,
++ /* 231: kf26 */ ABSENT_STRING,
++ /* 232: kf27 */ ABSENT_STRING,
++ /* 233: kf28 */ ABSENT_STRING,
++ /* 234: kf29 */ ABSENT_STRING,
++ /* 235: kf30 */ ABSENT_STRING,
++ /* 236: kf31 */ ABSENT_STRING,
++ /* 237: kf32 */ ABSENT_STRING,
++ /* 238: kf33 */ ABSENT_STRING,
++ /* 239: kf34 */ ABSENT_STRING,
++ /* 240: kf35 */ ABSENT_STRING,
++ /* 241: kf36 */ ABSENT_STRING,
++ /* 242: kf37 */ ABSENT_STRING,
++ /* 243: kf38 */ ABSENT_STRING,
++ /* 244: kf39 */ ABSENT_STRING,
++ /* 245: kf40 */ ABSENT_STRING,
++ /* 246: kf41 */ ABSENT_STRING,
++ /* 247: kf42 */ ABSENT_STRING,
++ /* 248: kf43 */ ABSENT_STRING,
++ /* 249: kf44 */ ABSENT_STRING,
++ /* 250: kf45 */ ABSENT_STRING,
++ /* 251: kf46 */ ABSENT_STRING,
++ /* 252: kf47 */ ABSENT_STRING,
++ /* 253: kf48 */ ABSENT_STRING,
++ /* 254: kf49 */ ABSENT_STRING,
++ /* 255: kf50 */ ABSENT_STRING,
++ /* 256: kf51 */ ABSENT_STRING,
++ /* 257: kf52 */ ABSENT_STRING,
++ /* 258: kf53 */ ABSENT_STRING,
++ /* 259: kf54 */ ABSENT_STRING,
++ /* 260: kf55 */ ABSENT_STRING,
++ /* 261: kf56 */ ABSENT_STRING,
++ /* 262: kf57 */ ABSENT_STRING,
++ /* 263: kf58 */ ABSENT_STRING,
++ /* 264: kf59 */ ABSENT_STRING,
++ /* 265: kf60 */ ABSENT_STRING,
++ /* 266: kf61 */ ABSENT_STRING,
++ /* 267: kf62 */ ABSENT_STRING,
++ /* 268: kf63 */ ABSENT_STRING,
++ /* 269: el1 */ screen_linux_s_el1,
++ /* 270: mgc */ ABSENT_STRING,
++ /* 271: smgl */ ABSENT_STRING,
++ /* 272: smgr */ ABSENT_STRING,
++ /* 273: fln */ ABSENT_STRING,
++ /* 274: sclk */ ABSENT_STRING,
++ /* 275: dclk */ ABSENT_STRING,
++ /* 276: rmclk */ ABSENT_STRING,
++ /* 277: cwin */ ABSENT_STRING,
++ /* 278: wingo */ ABSENT_STRING,
++ /* 279: hup */ ABSENT_STRING,
++ /* 280: dial */ ABSENT_STRING,
++ /* 281: qdial */ ABSENT_STRING,
++ /* 282: tone */ ABSENT_STRING,
++ /* 283: pulse */ ABSENT_STRING,
++ /* 284: hook */ ABSENT_STRING,
++ /* 285: pause */ ABSENT_STRING,
++ /* 286: wait */ ABSENT_STRING,
++ /* 287: u0 */ ABSENT_STRING,
++ /* 288: u1 */ ABSENT_STRING,
++ /* 289: u2 */ ABSENT_STRING,
++ /* 290: u3 */ ABSENT_STRING,
++ /* 291: u4 */ ABSENT_STRING,
++ /* 292: u5 */ ABSENT_STRING,
++ /* 293: u6 */ ABSENT_STRING,
++ /* 294: u7 */ ABSENT_STRING,
++ /* 295: u8 */ ABSENT_STRING,
++ /* 296: u9 */ ABSENT_STRING,
++ /* 297: op */ screen_linux_s_op,
++ /* 298: oc */ ABSENT_STRING,
++ /* 299: initc */ ABSENT_STRING,
++ /* 300: initp */ ABSENT_STRING,
++ /* 301: scp */ ABSENT_STRING,
++ /* 302: setf */ ABSENT_STRING,
++ /* 303: setb */ ABSENT_STRING,
++ /* 304: cpi */ ABSENT_STRING,
++ /* 305: lpi */ ABSENT_STRING,
++ /* 306: chr */ ABSENT_STRING,
++ /* 307: cvr */ ABSENT_STRING,
++ /* 308: defc */ ABSENT_STRING,
++ /* 309: swidm */ ABSENT_STRING,
++ /* 310: sdrfq */ ABSENT_STRING,
++ /* 311: sitm */ ABSENT_STRING,
++ /* 312: slm */ ABSENT_STRING,
++ /* 313: smicm */ ABSENT_STRING,
++ /* 314: snlq */ ABSENT_STRING,
++ /* 315: snrmq */ ABSENT_STRING,
++ /* 316: sshm */ ABSENT_STRING,
++ /* 317: ssubm */ ABSENT_STRING,
++ /* 318: ssupm */ ABSENT_STRING,
++ /* 319: sum */ ABSENT_STRING,
++ /* 320: rwidm */ ABSENT_STRING,
++ /* 321: ritm */ ABSENT_STRING,
++ /* 322: rlm */ ABSENT_STRING,
++ /* 323: rmicm */ ABSENT_STRING,
++ /* 324: rshm */ ABSENT_STRING,
++ /* 325: rsubm */ ABSENT_STRING,
++ /* 326: rsupm */ ABSENT_STRING,
++ /* 327: rum */ ABSENT_STRING,
++ /* 328: mhpa */ ABSENT_STRING,
++ /* 329: mcud1 */ ABSENT_STRING,
++ /* 330: mcub1 */ ABSENT_STRING,
++ /* 331: mcuf1 */ ABSENT_STRING,
++ /* 332: mvpa */ ABSENT_STRING,
++ /* 333: mcuu1 */ ABSENT_STRING,
++ /* 334: porder */ ABSENT_STRING,
++ /* 335: mcud */ ABSENT_STRING,
++ /* 336: mcub */ ABSENT_STRING,
++ /* 337: mcuf */ ABSENT_STRING,
++ /* 338: mcuu */ ABSENT_STRING,
++ /* 339: scs */ ABSENT_STRING,
++ /* 340: smgb */ ABSENT_STRING,
++ /* 341: smgbp */ ABSENT_STRING,
++ /* 342: smglp */ ABSENT_STRING,
++ /* 343: smgrp */ ABSENT_STRING,
++ /* 344: smgt */ ABSENT_STRING,
++ /* 345: smgtp */ ABSENT_STRING,
++ /* 346: sbim */ ABSENT_STRING,
++ /* 347: scsd */ ABSENT_STRING,
++ /* 348: rbim */ ABSENT_STRING,
++ /* 349: rcsd */ ABSENT_STRING,
++ /* 350: subcs */ ABSENT_STRING,
++ /* 351: supcs */ ABSENT_STRING,
++ /* 352: docr */ ABSENT_STRING,
++ /* 353: zerom */ ABSENT_STRING,
++ /* 354: csnm */ ABSENT_STRING,
++ /* 355: kmous */ screen_linux_s_kmous,
++ /* 356: minfo */ ABSENT_STRING,
++ /* 357: reqmp */ ABSENT_STRING,
++ /* 358: getm */ ABSENT_STRING,
++ /* 359: setaf */ screen_linux_s_setaf,
++ /* 360: setab */ screen_linux_s_setab,
++ /* 361: pfxl */ ABSENT_STRING,
++ /* 362: devt */ ABSENT_STRING,
++ /* 363: csin */ ABSENT_STRING,
++ /* 364: s0ds */ ABSENT_STRING,
++ /* 365: s1ds */ ABSENT_STRING,
++ /* 366: s2ds */ ABSENT_STRING,
++ /* 367: s3ds */ ABSENT_STRING,
++ /* 368: smglr */ ABSENT_STRING,
++ /* 369: smgtb */ ABSENT_STRING,
++ /* 370: birep */ ABSENT_STRING,
++ /* 371: binel */ ABSENT_STRING,
++ /* 372: bicr */ ABSENT_STRING,
++ /* 373: colornm */ ABSENT_STRING,
++ /* 374: defbi */ ABSENT_STRING,
++ /* 375: endbi */ ABSENT_STRING,
++ /* 376: setcolor */ ABSENT_STRING,
++ /* 377: slines */ ABSENT_STRING,
++ /* 378: dispc */ ABSENT_STRING,
++ /* 379: smpch */ ABSENT_STRING,
++ /* 380: rmpch */ ABSENT_STRING,
++ /* 381: smsc */ ABSENT_STRING,
++ /* 382: rmsc */ ABSENT_STRING,
++ /* 383: pctrm */ ABSENT_STRING,
++ /* 384: scesc */ ABSENT_STRING,
++ /* 385: scesa */ ABSENT_STRING,
++ /* 386: ehhlm */ ABSENT_STRING,
++ /* 387: elhlm */ ABSENT_STRING,
++ /* 388: elohlm */ ABSENT_STRING,
++ /* 389: erhlm */ ABSENT_STRING,
++ /* 390: ethlm */ ABSENT_STRING,
++ /* 391: evhlm */ ABSENT_STRING,
++ /* 392: sgr1 */ ABSENT_STRING,
++ /* 393: slength */ ABSENT_STRING,
++ /* 394: OTi2 */ ABSENT_STRING,
++ /* 395: OTrs */ ABSENT_STRING,
++ /* 396: OTnl */ ABSENT_STRING,
++ /* 397: OTbc */ ABSENT_STRING,
++ /* 398: OTko */ ABSENT_STRING,
++ /* 399: OTma */ ABSENT_STRING,
++ /* 400: OTG2 */ ABSENT_STRING,
++ /* 401: OTG3 */ ABSENT_STRING,
++ /* 402: OTG1 */ ABSENT_STRING,
++ /* 403: OTG4 */ ABSENT_STRING,
++ /* 404: OTGR */ ABSENT_STRING,
++ /* 405: OTGL */ ABSENT_STRING,
++ /* 406: OTGU */ ABSENT_STRING,
++ /* 407: OTGD */ ABSENT_STRING,
++ /* 408: OTGH */ ABSENT_STRING,
++ /* 409: OTGV */ ABSENT_STRING,
++ /* 410: OTGC */ ABSENT_STRING,
++ /* 411: meml */ ABSENT_STRING,
++ /* 412: memu */ ABSENT_STRING,
++ /* 413: box1 */ ABSENT_STRING,
++};
++/* screen.rxvt */
++
++static char screen_rxvt_alias_data[] = "screen.rxvt|screen in rxvt";
++
++static char screen_rxvt_s_cbt [] = "\033[Z";
++static char screen_rxvt_s_bel [] = "\007";
++static char screen_rxvt_s_cr [] = "\015";
++static char screen_rxvt_s_csr [] = "\033[%i%p1%d;%p2%dr";
++static char screen_rxvt_s_tbc [] = "\033[3g";
++static char screen_rxvt_s_clear [] = "\033[H\033[J";
++static char screen_rxvt_s_el [] = "\033[K";
++static char screen_rxvt_s_ed [] = "\033[J";
++static char screen_rxvt_s_hpa [] = "\033[%i%p1%dG";
++static char screen_rxvt_s_cup [] = "\033[%i%p1%d;%p2%dH";
++static char screen_rxvt_s_cud1 [] = "\012";
++static char screen_rxvt_s_home [] = "\033[H";
++static char screen_rxvt_s_civis [] = "\033[?25l";
++static char screen_rxvt_s_cub1 [] = "\010";
++static char screen_rxvt_s_cnorm [] = "\033[34h\033[?25h";
++static char screen_rxvt_s_cuf1 [] = "\033[C";
++static char screen_rxvt_s_cuu1 [] = "\033M";
++static char screen_rxvt_s_dch1 [] = "\033[P";
++static char screen_rxvt_s_dl1 [] = "\033[M";
++static char screen_rxvt_s_smacs [] = "\016";
++static char screen_rxvt_s_blink [] = "\033[5m";
++static char screen_rxvt_s_bold [] = "\033[1m";
++static char screen_rxvt_s_smcup [] = "\033[?1049h";
++static char screen_rxvt_s_dim [] = "\033[2m";
++static char screen_rxvt_s_smir [] = "\033[4h";
++static char screen_rxvt_s_rev [] = "\033[7m";
++static char screen_rxvt_s_smso [] = "\033[3m";
++static char screen_rxvt_s_smul [] = "\033[4m";
++static char screen_rxvt_s_rmacs [] = "\017";
++static char screen_rxvt_s_sgr0 [] = "\033[m\017";
++static char screen_rxvt_s_rmcup [] = "\033[?1049l";
++static char screen_rxvt_s_rmir [] = "\033[4l";
++static char screen_rxvt_s_rmso [] = "\033[23m";
++static char screen_rxvt_s_rmul [] = "\033[24m";
++static char screen_rxvt_s_is2 [] = "\033)0";
++static char screen_rxvt_s_il1 [] = "\033[L";
++static char screen_rxvt_s_kbs [] = "\010";
++static char screen_rxvt_s_kdch1 [] = "\033[3~";
++static char screen_rxvt_s_kcud1 [] = "\033OB";
++static char screen_rxvt_s_kel [] = "\033[8^";
++static char screen_rxvt_s_kf1 [] = "\033OP";
++static char screen_rxvt_s_kf10 [] = "\033[21~";
++static char screen_rxvt_s_kf2 [] = "\033OQ";
++static char screen_rxvt_s_kf3 [] = "\033OR";
++static char screen_rxvt_s_kf4 [] = "\033OS";
++static char screen_rxvt_s_kf5 [] = "\033[15~";
++static char screen_rxvt_s_kf6 [] = "\033[17~";
++static char screen_rxvt_s_kf7 [] = "\033[18~";
++static char screen_rxvt_s_kf8 [] = "\033[19~";
++static char screen_rxvt_s_kf9 [] = "\033[20~";
++static char screen_rxvt_s_khome [] = "\033[1~";
++static char screen_rxvt_s_kich1 [] = "\033[2~";
++static char screen_rxvt_s_kcub1 [] = "\033OD";
++static char screen_rxvt_s_knp [] = "\033[6~";
++static char screen_rxvt_s_kpp [] = "\033[5~";
++static char screen_rxvt_s_kcuf1 [] = "\033OC";
++static char screen_rxvt_s_kind [] = "\033[a";
++static char screen_rxvt_s_kri [] = "\033[b";
++static char screen_rxvt_s_kcuu1 [] = "\033OA";
++static char screen_rxvt_s_rmkx [] = "\033[?1l\033>";
++static char screen_rxvt_s_smkx [] = "\033[?1h\033=";
++static char screen_rxvt_s_nel [] = "\033E";
++static char screen_rxvt_s_dch [] = "\033[%p1%dP";
++static char screen_rxvt_s_dl [] = "\033[%p1%dM";
++static char screen_rxvt_s_cud [] = "\033[%p1%dB";
++static char screen_rxvt_s_ich [] = "\033[%p1%d@";
++static char screen_rxvt_s_indn [] = "\033[%p1%dS";
++static char screen_rxvt_s_il [] = "\033[%p1%dL";
++static char screen_rxvt_s_cub [] = "\033[%p1%dD";
++static char screen_rxvt_s_cuf [] = "\033[%p1%dC";
++static char screen_rxvt_s_cuu [] = "\033[%p1%dA";
++static char screen_rxvt_s_rs2 [] = "\033c\033[?1000l\033[?25h";
++static char screen_rxvt_s_rc [] = "\0338";
++static char screen_rxvt_s_vpa [] = "\033[%i%p1%dd";
++static char screen_rxvt_s_sc [] = "\0337";
++static char screen_rxvt_s_ind [] = "\012";
++static char screen_rxvt_s_ri [] = "\033M";
++static char screen_rxvt_s_sgr [] = "\033[0%?%p6%t;1%;%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;m%?%p9%t\016%e\017%;";
++static char screen_rxvt_s_hts [] = "\033H";
++static char screen_rxvt_s_ht [] = "\011";
++static char screen_rxvt_s_ka1 [] = "\033Ow";
++static char screen_rxvt_s_ka3 [] = "\033Oy";
++static char screen_rxvt_s_kb2 [] = "\033Ou";
++static char screen_rxvt_s_kc1 [] = "\033Oq";
++static char screen_rxvt_s_kc3 [] = "\033Os";
++static char screen_rxvt_s_acsc [] = "++,,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~";
++static char screen_rxvt_s_kcbt [] = "\033[Z";
++static char screen_rxvt_s_enacs [] = "\033(B\033)0";
++static char screen_rxvt_s_kend [] = "\033[4~";
++static char screen_rxvt_s_kent [] = "\033OM";
++static char screen_rxvt_s_kDC [] = "\033[3$";
++static char screen_rxvt_s_kEND [] = "\033[8$";
++static char screen_rxvt_s_kHOM [] = "\033[7$";
++static char screen_rxvt_s_kIC [] = "\033[2$";
++static char screen_rxvt_s_kLFT [] = "\033[d";
++static char screen_rxvt_s_kNXT [] = "\033[6$";
++static char screen_rxvt_s_kPRV [] = "\033[5$";
++static char screen_rxvt_s_kRIT [] = "\033[c";
++static char screen_rxvt_s_kf11 [] = "\033[23~";
++static char screen_rxvt_s_kf12 [] = "\033[24~";
++static char screen_rxvt_s_kf13 [] = "\033[25~";
++static char screen_rxvt_s_kf14 [] = "\033[26~";
++static char screen_rxvt_s_kf15 [] = "\033[28~";
++static char screen_rxvt_s_kf16 [] = "\033[29~";
++static char screen_rxvt_s_kf17 [] = "\033[31~";
++static char screen_rxvt_s_kf18 [] = "\033[32~";
++static char screen_rxvt_s_kf19 [] = "\033[33~";
++static char screen_rxvt_s_kf20 [] = "\033[34~";
++static char screen_rxvt_s_kf21 [] = "\033[23$";
++static char screen_rxvt_s_kf22 [] = "\033[24$";
++static char screen_rxvt_s_kf23 [] = "\033[11^";
++static char screen_rxvt_s_kf24 [] = "\033[12^";
++static char screen_rxvt_s_kf25 [] = "\033[13^";
++static char screen_rxvt_s_kf26 [] = "\033[14^";
++static char screen_rxvt_s_kf27 [] = "\033[15^";
++static char screen_rxvt_s_kf28 [] = "\033[17^";
++static char screen_rxvt_s_kf29 [] = "\033[18^";
++static char screen_rxvt_s_kf30 [] = "\033[19^";
++static char screen_rxvt_s_kf31 [] = "\033[20^";
++static char screen_rxvt_s_kf32 [] = "\033[21^";
++static char screen_rxvt_s_kf33 [] = "\033[23^";
++static char screen_rxvt_s_kf34 [] = "\033[24^";
++static char screen_rxvt_s_kf35 [] = "\033[25^";
++static char screen_rxvt_s_kf36 [] = "\033[26^";
++static char screen_rxvt_s_kf37 [] = "\033[28^";
++static char screen_rxvt_s_kf38 [] = "\033[29^";
++static char screen_rxvt_s_kf39 [] = "\033[31^";
++static char screen_rxvt_s_kf40 [] = "\033[32^";
++static char screen_rxvt_s_kf41 [] = "\033[33^";
++static char screen_rxvt_s_kf42 [] = "\033[34^";
++static char screen_rxvt_s_kf43 [] = "\033[23@";
++static char screen_rxvt_s_kf44 [] = "\033[24@";
++static char screen_rxvt_s_el1 [] = "\033[1K";
++static char screen_rxvt_s_u6 [] = "\033[%i%d;%dR";
++static char screen_rxvt_s_u7 [] = "\033[6n";
++static char screen_rxvt_s_u8 [] = "\033[?1;2c";
++static char screen_rxvt_s_u9 [] = "\033[c";
++static char screen_rxvt_s_op [] = "\033[39;49m";
++static char screen_rxvt_s_kmous [] = "\033[M";
++static char screen_rxvt_s_setaf [] = "\033[3%p1%dm";
++static char screen_rxvt_s_setab [] = "\033[4%p1%dm";
++
++static char screen_rxvt_bool_data[] = {
++ /* 0: bw */ TRUE,
++ /* 1: am */ TRUE,
++ /* 2: xsb */ FALSE,
++ /* 3: xhp */ FALSE,
++ /* 4: xenl */ TRUE,
++ /* 5: eo */ FALSE,
++ /* 6: gn */ FALSE,
++ /* 7: hc */ FALSE,
++ /* 8: km */ TRUE,
++ /* 9: hs */ FALSE,
++ /* 10: in */ FALSE,
++ /* 11: da */ FALSE,
++ /* 12: db */ FALSE,
++ /* 13: mir */ TRUE,
++ /* 14: msgr */ TRUE,
++ /* 15: os */ FALSE,
++ /* 16: eslok */ FALSE,
++ /* 17: xt */ FALSE,
++ /* 18: hz */ FALSE,
++ /* 19: ul */ FALSE,
++ /* 20: xon */ FALSE,
++ /* 21: nxon */ FALSE,
++ /* 22: mc5i */ FALSE,
++ /* 23: chts */ FALSE,
++ /* 24: nrrmc */ FALSE,
++ /* 25: npc */ FALSE,
++ /* 26: ndscr */ FALSE,
++ /* 27: ccc */ FALSE,
++ /* 28: bce */ FALSE,
++ /* 29: hls */ FALSE,
++ /* 30: xhpa */ FALSE,
++ /* 31: crxm */ FALSE,
++ /* 32: daisy */ FALSE,
++ /* 33: xvpa */ FALSE,
++ /* 34: sam */ FALSE,
++ /* 35: cpix */ FALSE,
++ /* 36: lpix */ FALSE,
++ /* 37: OTbs */ TRUE,
++ /* 38: OTns */ FALSE,
++ /* 39: OTnc */ FALSE,
++ /* 40: OTMT */ FALSE,
++ /* 41: OTNL */ FALSE,
++ /* 42: OTpt */ TRUE,
++ /* 43: OTxr */ FALSE,
++};
++static NCURSES_INT2 screen_rxvt_number_data[] = {
++ /* 0: cols */ 80,
++ /* 1: it */ 8,
++ /* 2: lines */ 24,
++ /* 3: lm */ ABSENT_NUMERIC,
++ /* 4: xmc */ ABSENT_NUMERIC,
++ /* 5: pb */ ABSENT_NUMERIC,
++ /* 6: vt */ ABSENT_NUMERIC,
++ /* 7: wsl */ ABSENT_NUMERIC,
++ /* 8: nlab */ ABSENT_NUMERIC,
++ /* 9: lh */ ABSENT_NUMERIC,
++ /* 10: lw */ ABSENT_NUMERIC,
++ /* 11: ma */ ABSENT_NUMERIC,
++ /* 12: wnum */ ABSENT_NUMERIC,
++ /* 13: colors */ 8,
++ /* 14: pairs */ 64,
++ /* 15: ncv */ ABSENT_NUMERIC,
++ /* 16: bufsz */ ABSENT_NUMERIC,
++ /* 17: spinv */ ABSENT_NUMERIC,
++ /* 18: spinh */ ABSENT_NUMERIC,
++ /* 19: maddr */ ABSENT_NUMERIC,
++ /* 20: mjump */ ABSENT_NUMERIC,
++ /* 21: mcs */ ABSENT_NUMERIC,
++ /* 22: mls */ ABSENT_NUMERIC,
++ /* 23: npins */ ABSENT_NUMERIC,
++ /* 24: orc */ ABSENT_NUMERIC,
++ /* 25: orl */ ABSENT_NUMERIC,
++ /* 26: orhi */ ABSENT_NUMERIC,
++ /* 27: orvi */ ABSENT_NUMERIC,
++ /* 28: cps */ ABSENT_NUMERIC,
++ /* 29: widcs */ ABSENT_NUMERIC,
++ /* 30: btns */ ABSENT_NUMERIC,
++ /* 31: bitwin */ ABSENT_NUMERIC,
++ /* 32: bitype */ ABSENT_NUMERIC,
++ /* 33: OTug */ ABSENT_NUMERIC,
++ /* 34: OTdC */ ABSENT_NUMERIC,
++ /* 35: OTdN */ ABSENT_NUMERIC,
++ /* 36: OTdB */ ABSENT_NUMERIC,
++ /* 37: OTdT */ ABSENT_NUMERIC,
++ /* 38: OTkn */ ABSENT_NUMERIC,
++};
++static char * screen_rxvt_string_data[] = {
++ /* 0: cbt */ screen_rxvt_s_cbt,
++ /* 1: bel */ screen_rxvt_s_bel,
++ /* 2: cr */ screen_rxvt_s_cr,
++ /* 3: csr */ screen_rxvt_s_csr,
++ /* 4: tbc */ screen_rxvt_s_tbc,
++ /* 5: clear */ screen_rxvt_s_clear,
++ /* 6: el */ screen_rxvt_s_el,
++ /* 7: ed */ screen_rxvt_s_ed,
++ /* 8: hpa */ screen_rxvt_s_hpa,
++ /* 9: cmdch */ ABSENT_STRING,
++ /* 10: cup */ screen_rxvt_s_cup,
++ /* 11: cud1 */ screen_rxvt_s_cud1,
++ /* 12: home */ screen_rxvt_s_home,
++ /* 13: civis */ screen_rxvt_s_civis,
++ /* 14: cub1 */ screen_rxvt_s_cub1,
++ /* 15: mrcup */ ABSENT_STRING,
++ /* 16: cnorm */ screen_rxvt_s_cnorm,
++ /* 17: cuf1 */ screen_rxvt_s_cuf1,
++ /* 18: ll */ ABSENT_STRING,
++ /* 19: cuu1 */ screen_rxvt_s_cuu1,
++ /* 20: cvvis */ CANCELLED_STRING,
++ /* 21: dch1 */ screen_rxvt_s_dch1,
++ /* 22: dl1 */ screen_rxvt_s_dl1,
++ /* 23: dsl */ ABSENT_STRING,
++ /* 24: hd */ ABSENT_STRING,
++ /* 25: smacs */ screen_rxvt_s_smacs,
++ /* 26: blink */ screen_rxvt_s_blink,
++ /* 27: bold */ screen_rxvt_s_bold,
++ /* 28: smcup */ screen_rxvt_s_smcup,
++ /* 29: smdc */ ABSENT_STRING,
++ /* 30: dim */ screen_rxvt_s_dim,
++ /* 31: smir */ screen_rxvt_s_smir,
++ /* 32: invis */ ABSENT_STRING,
++ /* 33: prot */ ABSENT_STRING,
++ /* 34: rev */ screen_rxvt_s_rev,
++ /* 35: smso */ screen_rxvt_s_smso,
++ /* 36: smul */ screen_rxvt_s_smul,
++ /* 37: ech */ ABSENT_STRING,
++ /* 38: rmacs */ screen_rxvt_s_rmacs,
++ /* 39: sgr0 */ screen_rxvt_s_sgr0,
++ /* 40: rmcup */ screen_rxvt_s_rmcup,
++ /* 41: rmdc */ ABSENT_STRING,
++ /* 42: rmir */ screen_rxvt_s_rmir,
++ /* 43: rmso */ screen_rxvt_s_rmso,
++ /* 44: rmul */ screen_rxvt_s_rmul,
++ /* 45: flash */ CANCELLED_STRING,
++ /* 46: ff */ ABSENT_STRING,
++ /* 47: fsl */ ABSENT_STRING,
++ /* 48: is1 */ ABSENT_STRING,
++ /* 49: is2 */ screen_rxvt_s_is2,
++ /* 50: is3 */ ABSENT_STRING,
++ /* 51: if */ ABSENT_STRING,
++ /* 52: ich1 */ ABSENT_STRING,
++ /* 53: il1 */ screen_rxvt_s_il1,
++ /* 54: ip */ ABSENT_STRING,
++ /* 55: kbs */ screen_rxvt_s_kbs,
++ /* 56: ktbc */ ABSENT_STRING,
++ /* 57: kclr */ ABSENT_STRING,
++ /* 58: kctab */ ABSENT_STRING,
++ /* 59: kdch1 */ screen_rxvt_s_kdch1,
++ /* 60: kdl1 */ ABSENT_STRING,
++ /* 61: kcud1 */ screen_rxvt_s_kcud1,
++ /* 62: krmir */ ABSENT_STRING,
++ /* 63: kel */ screen_rxvt_s_kel,
++ /* 64: ked */ ABSENT_STRING,
++ /* 65: kf0 */ ABSENT_STRING,
++ /* 66: kf1 */ screen_rxvt_s_kf1,
++ /* 67: kf10 */ screen_rxvt_s_kf10,
++ /* 68: kf2 */ screen_rxvt_s_kf2,
++ /* 69: kf3 */ screen_rxvt_s_kf3,
++ /* 70: kf4 */ screen_rxvt_s_kf4,
++ /* 71: kf5 */ screen_rxvt_s_kf5,
++ /* 72: kf6 */ screen_rxvt_s_kf6,
++ /* 73: kf7 */ screen_rxvt_s_kf7,
++ /* 74: kf8 */ screen_rxvt_s_kf8,
++ /* 75: kf9 */ screen_rxvt_s_kf9,
++ /* 76: khome */ screen_rxvt_s_khome,
++ /* 77: kich1 */ screen_rxvt_s_kich1,
++ /* 78: kil1 */ ABSENT_STRING,
++ /* 79: kcub1 */ screen_rxvt_s_kcub1,
++ /* 80: kll */ ABSENT_STRING,
++ /* 81: knp */ screen_rxvt_s_knp,
++ /* 82: kpp */ screen_rxvt_s_kpp,
++ /* 83: kcuf1 */ screen_rxvt_s_kcuf1,
++ /* 84: kind */ screen_rxvt_s_kind,
++ /* 85: kri */ screen_rxvt_s_kri,
++ /* 86: khts */ ABSENT_STRING,
++ /* 87: kcuu1 */ screen_rxvt_s_kcuu1,
++ /* 88: rmkx */ screen_rxvt_s_rmkx,
++ /* 89: smkx */ screen_rxvt_s_smkx,
++ /* 90: lf0 */ ABSENT_STRING,
++ /* 91: lf1 */ ABSENT_STRING,
++ /* 92: lf10 */ ABSENT_STRING,
++ /* 93: lf2 */ ABSENT_STRING,
++ /* 94: lf3 */ ABSENT_STRING,
++ /* 95: lf4 */ ABSENT_STRING,
++ /* 96: lf5 */ ABSENT_STRING,
++ /* 97: lf6 */ ABSENT_STRING,
++ /* 98: lf7 */ ABSENT_STRING,
++ /* 99: lf8 */ ABSENT_STRING,
++ /* 100: lf9 */ ABSENT_STRING,
++ /* 101: rmm */ ABSENT_STRING,
++ /* 102: smm */ ABSENT_STRING,
++ /* 103: nel */ screen_rxvt_s_nel,
++ /* 104: pad */ ABSENT_STRING,
++ /* 105: dch */ screen_rxvt_s_dch,
++ /* 106: dl */ screen_rxvt_s_dl,
++ /* 107: cud */ screen_rxvt_s_cud,
++ /* 108: ich */ screen_rxvt_s_ich,
++ /* 109: indn */ screen_rxvt_s_indn,
++ /* 110: il */ screen_rxvt_s_il,
++ /* 111: cub */ screen_rxvt_s_cub,
++ /* 112: cuf */ screen_rxvt_s_cuf,
++ /* 113: rin */ ABSENT_STRING,
++ /* 114: cuu */ screen_rxvt_s_cuu,
++ /* 115: pfkey */ ABSENT_STRING,
++ /* 116: pfloc */ ABSENT_STRING,
++ /* 117: pfx */ ABSENT_STRING,
++ /* 118: mc0 */ ABSENT_STRING,
++ /* 119: mc4 */ ABSENT_STRING,
++ /* 120: mc5 */ ABSENT_STRING,
++ /* 121: rep */ ABSENT_STRING,
++ /* 122: rs1 */ ABSENT_STRING,
++ /* 123: rs2 */ screen_rxvt_s_rs2,
++ /* 124: rs3 */ ABSENT_STRING,
++ /* 125: rf */ ABSENT_STRING,
++ /* 126: rc */ screen_rxvt_s_rc,
++ /* 127: vpa */ screen_rxvt_s_vpa,
++ /* 128: sc */ screen_rxvt_s_sc,
++ /* 129: ind */ screen_rxvt_s_ind,
++ /* 130: ri */ screen_rxvt_s_ri,
++ /* 131: sgr */ screen_rxvt_s_sgr,
++ /* 132: hts */ screen_rxvt_s_hts,
++ /* 133: wind */ ABSENT_STRING,
++ /* 134: ht */ screen_rxvt_s_ht,
++ /* 135: tsl */ ABSENT_STRING,
++ /* 136: uc */ ABSENT_STRING,
++ /* 137: hu */ ABSENT_STRING,
++ /* 138: iprog */ ABSENT_STRING,
++ /* 139: ka1 */ screen_rxvt_s_ka1,
++ /* 140: ka3 */ screen_rxvt_s_ka3,
++ /* 141: kb2 */ screen_rxvt_s_kb2,
++ /* 142: kc1 */ screen_rxvt_s_kc1,
++ /* 143: kc3 */ screen_rxvt_s_kc3,
++ /* 144: mc5p */ ABSENT_STRING,
++ /* 145: rmp */ ABSENT_STRING,
++ /* 146: acsc */ screen_rxvt_s_acsc,
++ /* 147: pln */ ABSENT_STRING,
++ /* 148: kcbt */ screen_rxvt_s_kcbt,
++ /* 149: smxon */ ABSENT_STRING,
++ /* 150: rmxon */ ABSENT_STRING,
++ /* 151: smam */ ABSENT_STRING,
++ /* 152: rmam */ ABSENT_STRING,
++ /* 153: xonc */ ABSENT_STRING,
++ /* 154: xoffc */ ABSENT_STRING,
++ /* 155: enacs */ screen_rxvt_s_enacs,
++ /* 156: smln */ ABSENT_STRING,
++ /* 157: rmln */ ABSENT_STRING,
++ /* 158: kbeg */ ABSENT_STRING,
++ /* 159: kcan */ ABSENT_STRING,
++ /* 160: kclo */ ABSENT_STRING,
++ /* 161: kcmd */ ABSENT_STRING,
++ /* 162: kcpy */ ABSENT_STRING,
++ /* 163: kcrt */ ABSENT_STRING,
++ /* 164: kend */ screen_rxvt_s_kend,
++ /* 165: kent */ screen_rxvt_s_kent,
++ /* 166: kext */ ABSENT_STRING,
++ /* 167: kfnd */ ABSENT_STRING,
++ /* 168: khlp */ ABSENT_STRING,
++ /* 169: kmrk */ ABSENT_STRING,
++ /* 170: kmsg */ ABSENT_STRING,
++ /* 171: kmov */ ABSENT_STRING,
++ /* 172: knxt */ ABSENT_STRING,
++ /* 173: kopn */ ABSENT_STRING,
++ /* 174: kopt */ ABSENT_STRING,
++ /* 175: kprv */ ABSENT_STRING,
++ /* 176: kprt */ ABSENT_STRING,
++ /* 177: krdo */ ABSENT_STRING,
++ /* 178: kref */ ABSENT_STRING,
++ /* 179: krfr */ ABSENT_STRING,
++ /* 180: krpl */ ABSENT_STRING,
++ /* 181: krst */ ABSENT_STRING,
++ /* 182: kres */ ABSENT_STRING,
++ /* 183: ksav */ ABSENT_STRING,
++ /* 184: kspd */ ABSENT_STRING,
++ /* 185: kund */ ABSENT_STRING,
++ /* 186: kBEG */ ABSENT_STRING,
++ /* 187: kCAN */ ABSENT_STRING,
++ /* 188: kCMD */ ABSENT_STRING,
++ /* 189: kCPY */ ABSENT_STRING,
++ /* 190: kCRT */ ABSENT_STRING,
++ /* 191: kDC */ screen_rxvt_s_kDC,
++ /* 192: kDL */ ABSENT_STRING,
++ /* 193: kslt */ ABSENT_STRING,
++ /* 194: kEND */ screen_rxvt_s_kEND,
++ /* 195: kEOL */ ABSENT_STRING,
++ /* 196: kEXT */ ABSENT_STRING,
++ /* 197: kFND */ ABSENT_STRING,
++ /* 198: kHLP */ ABSENT_STRING,
++ /* 199: kHOM */ screen_rxvt_s_kHOM,
++ /* 200: kIC */ screen_rxvt_s_kIC,
++ /* 201: kLFT */ screen_rxvt_s_kLFT,
++ /* 202: kMSG */ ABSENT_STRING,
++ /* 203: kMOV */ ABSENT_STRING,
++ /* 204: kNXT */ screen_rxvt_s_kNXT,
++ /* 205: kOPT */ ABSENT_STRING,
++ /* 206: kPRV */ screen_rxvt_s_kPRV,
++ /* 207: kPRT */ ABSENT_STRING,
++ /* 208: kRDO */ ABSENT_STRING,
++ /* 209: kRPL */ ABSENT_STRING,
++ /* 210: kRIT */ screen_rxvt_s_kRIT,
++ /* 211: kRES */ ABSENT_STRING,
++ /* 212: kSAV */ ABSENT_STRING,
++ /* 213: kSPD */ ABSENT_STRING,
++ /* 214: kUND */ ABSENT_STRING,
++ /* 215: rfi */ ABSENT_STRING,
++ /* 216: kf11 */ screen_rxvt_s_kf11,
++ /* 217: kf12 */ screen_rxvt_s_kf12,
++ /* 218: kf13 */ screen_rxvt_s_kf13,
++ /* 219: kf14 */ screen_rxvt_s_kf14,
++ /* 220: kf15 */ screen_rxvt_s_kf15,
++ /* 221: kf16 */ screen_rxvt_s_kf16,
++ /* 222: kf17 */ screen_rxvt_s_kf17,
++ /* 223: kf18 */ screen_rxvt_s_kf18,
++ /* 224: kf19 */ screen_rxvt_s_kf19,
++ /* 225: kf20 */ screen_rxvt_s_kf20,
++ /* 226: kf21 */ screen_rxvt_s_kf21,
++ /* 227: kf22 */ screen_rxvt_s_kf22,
++ /* 228: kf23 */ screen_rxvt_s_kf23,
++ /* 229: kf24 */ screen_rxvt_s_kf24,
++ /* 230: kf25 */ screen_rxvt_s_kf25,
++ /* 231: kf26 */ screen_rxvt_s_kf26,
++ /* 232: kf27 */ screen_rxvt_s_kf27,
++ /* 233: kf28 */ screen_rxvt_s_kf28,
++ /* 234: kf29 */ screen_rxvt_s_kf29,
++ /* 235: kf30 */ screen_rxvt_s_kf30,
++ /* 236: kf31 */ screen_rxvt_s_kf31,
++ /* 237: kf32 */ screen_rxvt_s_kf32,
++ /* 238: kf33 */ screen_rxvt_s_kf33,
++ /* 239: kf34 */ screen_rxvt_s_kf34,
++ /* 240: kf35 */ screen_rxvt_s_kf35,
++ /* 241: kf36 */ screen_rxvt_s_kf36,
++ /* 242: kf37 */ screen_rxvt_s_kf37,
++ /* 243: kf38 */ screen_rxvt_s_kf38,
++ /* 244: kf39 */ screen_rxvt_s_kf39,
++ /* 245: kf40 */ screen_rxvt_s_kf40,
++ /* 246: kf41 */ screen_rxvt_s_kf41,
++ /* 247: kf42 */ screen_rxvt_s_kf42,
++ /* 248: kf43 */ screen_rxvt_s_kf43,
++ /* 249: kf44 */ screen_rxvt_s_kf44,
++ /* 250: kf45 */ ABSENT_STRING,
++ /* 251: kf46 */ ABSENT_STRING,
++ /* 252: kf47 */ ABSENT_STRING,
++ /* 253: kf48 */ ABSENT_STRING,
++ /* 254: kf49 */ ABSENT_STRING,
++ /* 255: kf50 */ ABSENT_STRING,
++ /* 256: kf51 */ ABSENT_STRING,
++ /* 257: kf52 */ ABSENT_STRING,
++ /* 258: kf53 */ ABSENT_STRING,
++ /* 259: kf54 */ ABSENT_STRING,
++ /* 260: kf55 */ ABSENT_STRING,
++ /* 261: kf56 */ ABSENT_STRING,
++ /* 262: kf57 */ ABSENT_STRING,
++ /* 263: kf58 */ ABSENT_STRING,
++ /* 264: kf59 */ ABSENT_STRING,
++ /* 265: kf60 */ ABSENT_STRING,
++ /* 266: kf61 */ ABSENT_STRING,
++ /* 267: kf62 */ ABSENT_STRING,
++ /* 268: kf63 */ ABSENT_STRING,
++ /* 269: el1 */ screen_rxvt_s_el1,
++ /* 270: mgc */ ABSENT_STRING,
++ /* 271: smgl */ ABSENT_STRING,
++ /* 272: smgr */ ABSENT_STRING,
++ /* 273: fln */ ABSENT_STRING,
++ /* 274: sclk */ ABSENT_STRING,
++ /* 275: dclk */ ABSENT_STRING,
++ /* 276: rmclk */ ABSENT_STRING,
++ /* 277: cwin */ ABSENT_STRING,
++ /* 278: wingo */ ABSENT_STRING,
++ /* 279: hup */ ABSENT_STRING,
++ /* 280: dial */ ABSENT_STRING,
++ /* 281: qdial */ ABSENT_STRING,
++ /* 282: tone */ ABSENT_STRING,
++ /* 283: pulse */ ABSENT_STRING,
++ /* 284: hook */ ABSENT_STRING,
++ /* 285: pause */ ABSENT_STRING,
++ /* 286: wait */ ABSENT_STRING,
++ /* 287: u0 */ ABSENT_STRING,
++ /* 288: u1 */ ABSENT_STRING,
++ /* 289: u2 */ ABSENT_STRING,
++ /* 290: u3 */ ABSENT_STRING,
++ /* 291: u4 */ ABSENT_STRING,
++ /* 292: u5 */ ABSENT_STRING,
++ /* 293: u6 */ screen_rxvt_s_u6,
++ /* 294: u7 */ screen_rxvt_s_u7,
++ /* 295: u8 */ screen_rxvt_s_u8,
++ /* 296: u9 */ screen_rxvt_s_u9,
++ /* 297: op */ screen_rxvt_s_op,
++ /* 298: oc */ ABSENT_STRING,
++ /* 299: initc */ ABSENT_STRING,
++ /* 300: initp */ ABSENT_STRING,
++ /* 301: scp */ ABSENT_STRING,
++ /* 302: setf */ ABSENT_STRING,
++ /* 303: setb */ ABSENT_STRING,
++ /* 304: cpi */ ABSENT_STRING,
++ /* 305: lpi */ ABSENT_STRING,
++ /* 306: chr */ ABSENT_STRING,
++ /* 307: cvr */ ABSENT_STRING,
++ /* 308: defc */ ABSENT_STRING,
++ /* 309: swidm */ ABSENT_STRING,
++ /* 310: sdrfq */ ABSENT_STRING,
++ /* 311: sitm */ ABSENT_STRING,
++ /* 312: slm */ ABSENT_STRING,
++ /* 313: smicm */ ABSENT_STRING,
++ /* 314: snlq */ ABSENT_STRING,
++ /* 315: snrmq */ ABSENT_STRING,
++ /* 316: sshm */ ABSENT_STRING,
++ /* 317: ssubm */ ABSENT_STRING,
++ /* 318: ssupm */ ABSENT_STRING,
++ /* 319: sum */ ABSENT_STRING,
++ /* 320: rwidm */ ABSENT_STRING,
++ /* 321: ritm */ ABSENT_STRING,
++ /* 322: rlm */ ABSENT_STRING,
++ /* 323: rmicm */ ABSENT_STRING,
++ /* 324: rshm */ ABSENT_STRING,
++ /* 325: rsubm */ ABSENT_STRING,
++ /* 326: rsupm */ ABSENT_STRING,
++ /* 327: rum */ ABSENT_STRING,
++ /* 328: mhpa */ ABSENT_STRING,
++ /* 329: mcud1 */ ABSENT_STRING,
++ /* 330: mcub1 */ ABSENT_STRING,
++ /* 331: mcuf1 */ ABSENT_STRING,
++ /* 332: mvpa */ ABSENT_STRING,
++ /* 333: mcuu1 */ ABSENT_STRING,
++ /* 334: porder */ ABSENT_STRING,
++ /* 335: mcud */ ABSENT_STRING,
++ /* 336: mcub */ ABSENT_STRING,
++ /* 337: mcuf */ ABSENT_STRING,
++ /* 338: mcuu */ ABSENT_STRING,
++ /* 339: scs */ ABSENT_STRING,
++ /* 340: smgb */ ABSENT_STRING,
++ /* 341: smgbp */ ABSENT_STRING,
++ /* 342: smglp */ ABSENT_STRING,
++ /* 343: smgrp */ ABSENT_STRING,
++ /* 344: smgt */ ABSENT_STRING,
++ /* 345: smgtp */ ABSENT_STRING,
++ /* 346: sbim */ ABSENT_STRING,
++ /* 347: scsd */ ABSENT_STRING,
++ /* 348: rbim */ ABSENT_STRING,
++ /* 349: rcsd */ ABSENT_STRING,
++ /* 350: subcs */ ABSENT_STRING,
++ /* 351: supcs */ ABSENT_STRING,
++ /* 352: docr */ ABSENT_STRING,
++ /* 353: zerom */ ABSENT_STRING,
++ /* 354: csnm */ ABSENT_STRING,
++ /* 355: kmous */ screen_rxvt_s_kmous,
++ /* 356: minfo */ ABSENT_STRING,
++ /* 357: reqmp */ ABSENT_STRING,
++ /* 358: getm */ ABSENT_STRING,
++ /* 359: setaf */ screen_rxvt_s_setaf,
++ /* 360: setab */ screen_rxvt_s_setab,
++ /* 361: pfxl */ ABSENT_STRING,
++ /* 362: devt */ ABSENT_STRING,
++ /* 363: csin */ ABSENT_STRING,
++ /* 364: s0ds */ ABSENT_STRING,
++ /* 365: s1ds */ ABSENT_STRING,
++ /* 366: s2ds */ ABSENT_STRING,
++ /* 367: s3ds */ ABSENT_STRING,
++ /* 368: smglr */ ABSENT_STRING,
++ /* 369: smgtb */ ABSENT_STRING,
++ /* 370: birep */ ABSENT_STRING,
++ /* 371: binel */ ABSENT_STRING,
++ /* 372: bicr */ ABSENT_STRING,
++ /* 373: colornm */ ABSENT_STRING,
++ /* 374: defbi */ ABSENT_STRING,
++ /* 375: endbi */ ABSENT_STRING,
++ /* 376: setcolor */ ABSENT_STRING,
++ /* 377: slines */ ABSENT_STRING,
++ /* 378: dispc */ ABSENT_STRING,
++ /* 379: smpch */ ABSENT_STRING,
++ /* 380: rmpch */ ABSENT_STRING,
++ /* 381: smsc */ ABSENT_STRING,
++ /* 382: rmsc */ ABSENT_STRING,
++ /* 383: pctrm */ ABSENT_STRING,
++ /* 384: scesc */ ABSENT_STRING,
++ /* 385: scesa */ ABSENT_STRING,
++ /* 386: ehhlm */ ABSENT_STRING,
++ /* 387: elhlm */ ABSENT_STRING,
++ /* 388: elohlm */ ABSENT_STRING,
++ /* 389: erhlm */ ABSENT_STRING,
++ /* 390: ethlm */ ABSENT_STRING,
++ /* 391: evhlm */ ABSENT_STRING,
++ /* 392: sgr1 */ ABSENT_STRING,
++ /* 393: slength */ ABSENT_STRING,
++ /* 394: OTi2 */ ABSENT_STRING,
++ /* 395: OTrs */ ABSENT_STRING,
++ /* 396: OTnl */ ABSENT_STRING,
++ /* 397: OTbc */ ABSENT_STRING,
++ /* 398: OTko */ ABSENT_STRING,
++ /* 399: OTma */ ABSENT_STRING,
++ /* 400: OTG2 */ ABSENT_STRING,
++ /* 401: OTG3 */ ABSENT_STRING,
++ /* 402: OTG1 */ ABSENT_STRING,
++ /* 403: OTG4 */ ABSENT_STRING,
++ /* 404: OTGR */ ABSENT_STRING,
++ /* 405: OTGL */ ABSENT_STRING,
++ /* 406: OTGU */ ABSENT_STRING,
++ /* 407: OTGD */ ABSENT_STRING,
++ /* 408: OTGH */ ABSENT_STRING,
++ /* 409: OTGV */ ABSENT_STRING,
++ /* 410: OTGC */ ABSENT_STRING,
++ /* 411: meml */ ABSENT_STRING,
++ /* 412: memu */ ABSENT_STRING,
++ /* 413: box1 */ ABSENT_STRING,
++};
++/* screen.xterm-new */
++
++static char screen_xterm_xfree86_alias_data[] = "screen.xterm-xfree86|screen.xterm-new|screen customized for modern xterm";
++
++static char screen_xterm_xfree86_s_cbt[] = "\033[Z";
++static char screen_xterm_xfree86_s_bel[] = "\007";
++static char screen_xterm_xfree86_s_cr[] = "\015";
++static char screen_xterm_xfree86_s_csr[] = "\033[%i%p1%d;%p2%dr";
++static char screen_xterm_xfree86_s_tbc[] = "\033[3g";
++static char screen_xterm_xfree86_s_clear[] = "\033[H\033[2J";
++static char screen_xterm_xfree86_s_el[] = "\033[K";
++static char screen_xterm_xfree86_s_ed[] = "\033[J";
++static char screen_xterm_xfree86_s_hpa[] = "\033[%i%p1%dG";
++static char screen_xterm_xfree86_s_cup[] = "\033[%i%p1%d;%p2%dH";
++static char screen_xterm_xfree86_s_cud1[] = "\012";
++static char screen_xterm_xfree86_s_home[] = "\033[H";
++static char screen_xterm_xfree86_s_civis[] = "\033[?25l";
++static char screen_xterm_xfree86_s_cub1[] = "\010";
++static char screen_xterm_xfree86_s_cnorm[] = "\033[?12l\033[?25h";
++static char screen_xterm_xfree86_s_cuf1[] = "\033[C";
++static char screen_xterm_xfree86_s_cuu1[] = "\033[A";
++static char screen_xterm_xfree86_s_cvvis[] = "\033[?12;25h";
++static char screen_xterm_xfree86_s_dch1[] = "\033[P";
++static char screen_xterm_xfree86_s_dl1[] = "\033[M";
++static char screen_xterm_xfree86_s_smacs[] = "\033(0";
++static char screen_xterm_xfree86_s_blink[] = "\033[5m";
++static char screen_xterm_xfree86_s_bold[] = "\033[1m";
++static char screen_xterm_xfree86_s_smcup[] = "\033[?1049h\033[22;0;0t";
++static char screen_xterm_xfree86_s_dim[] = "\033[2m";
++static char screen_xterm_xfree86_s_smir[] = "\033[4h";
++static char screen_xterm_xfree86_s_rev[] = "\033[7m";
++static char screen_xterm_xfree86_s_smso[] = "\033[7m";
++static char screen_xterm_xfree86_s_smul[] = "\033[4m";
++static char screen_xterm_xfree86_s_ech[] = "\033[%p1%dX";
++static char screen_xterm_xfree86_s_rmacs[] = "\033(B";
++static char screen_xterm_xfree86_s_sgr0[] = "\033(B\033[m";
++static char screen_xterm_xfree86_s_rmcup[] = "\033[?1049l\033[23;0;0t";
++static char screen_xterm_xfree86_s_rmir[] = "\033[4l";
++static char screen_xterm_xfree86_s_rmso[] = "\033[27m";
++static char screen_xterm_xfree86_s_rmul[] = "\033[24m";
++static char screen_xterm_xfree86_s_flash[] = "\033[?5h$<100/>\033[?5l";
++static char screen_xterm_xfree86_s_is2[] = "\033[!p\033[?3;4l\033[4l\033>";
++static char screen_xterm_xfree86_s_il1[] = "\033[L";
++static char screen_xterm_xfree86_s_kbs[] = "\010";
++static char screen_xterm_xfree86_s_kdch1[] = "\033[3~";
++static char screen_xterm_xfree86_s_kcud1[] = "\033OB";
++static char screen_xterm_xfree86_s_kf1[] = "\033OP";
++static char screen_xterm_xfree86_s_kf10[] = "\033[21~";
++static char screen_xterm_xfree86_s_kf2[] = "\033OQ";
++static char screen_xterm_xfree86_s_kf3[] = "\033OR";
++static char screen_xterm_xfree86_s_kf4[] = "\033OS";
++static char screen_xterm_xfree86_s_kf5[] = "\033[15~";
++static char screen_xterm_xfree86_s_kf6[] = "\033[17~";
++static char screen_xterm_xfree86_s_kf7[] = "\033[18~";
++static char screen_xterm_xfree86_s_kf8[] = "\033[19~";
++static char screen_xterm_xfree86_s_kf9[] = "\033[20~";
++static char screen_xterm_xfree86_s_khome[] = "\033[1~";
++static char screen_xterm_xfree86_s_kich1[] = "\033[2~";
++static char screen_xterm_xfree86_s_kcub1[] = "\033OD";
++static char screen_xterm_xfree86_s_knp[] = "\033[6~";
++static char screen_xterm_xfree86_s_kpp[] = "\033[5~";
++static char screen_xterm_xfree86_s_kcuf1[] = "\033OC";
++static char screen_xterm_xfree86_s_kind[] = "\033[1;2B";
++static char screen_xterm_xfree86_s_kri[] = "\033[1;2A";
++static char screen_xterm_xfree86_s_kcuu1[] = "\033OA";
++static char screen_xterm_xfree86_s_rmkx[] = "\033[?1l\033>";
++static char screen_xterm_xfree86_s_smkx[] = "\033[?1h\033=";
++static char screen_xterm_xfree86_s_rmm[] = "\033[?1034l";
++static char screen_xterm_xfree86_s_smm[] = "\033[?1034h";
++static char screen_xterm_xfree86_s_dch[] = "\033[%p1%dP";
++static char screen_xterm_xfree86_s_dl[] = "\033[%p1%dM";
++static char screen_xterm_xfree86_s_cud[] = "\033[%p1%dB";
++static char screen_xterm_xfree86_s_ich[] = "\033[%p1%d@";
++static char screen_xterm_xfree86_s_indn[] = "\033[%p1%dS";
++static char screen_xterm_xfree86_s_il[] = "\033[%p1%dL";
++static char screen_xterm_xfree86_s_cub[] = "\033[%p1%dD";
++static char screen_xterm_xfree86_s_cuf[] = "\033[%p1%dC";
++static char screen_xterm_xfree86_s_rin[] = "\033[%p1%dT";
++static char screen_xterm_xfree86_s_cuu[] = "\033[%p1%dA";
++static char screen_xterm_xfree86_s_mc0[] = "\033[i";
++static char screen_xterm_xfree86_s_mc4[] = "\033[4i";
++static char screen_xterm_xfree86_s_mc5[] = "\033[5i";
++static char screen_xterm_xfree86_s_rs1[] = "\033c";
++static char screen_xterm_xfree86_s_rs2[] = "\033[!p\033[?3;4l\033[4l\033>";
++static char screen_xterm_xfree86_s_rc[] = "\0338";
++static char screen_xterm_xfree86_s_vpa[] = "\033[%i%p1%dd";
++static char screen_xterm_xfree86_s_sc[] = "\0337";
++static char screen_xterm_xfree86_s_ind[] = "\012";
++static char screen_xterm_xfree86_s_ri[] = "\033M";
++static char screen_xterm_xfree86_s_sgr[] = "%?%p9%t\033(0%e\033(B%;\033[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;m";
++static char screen_xterm_xfree86_s_hts[] = "\033H";
++static char screen_xterm_xfree86_s_ht[] = "\011";
++static char screen_xterm_xfree86_s_kb2[] = "\033OE";
++static char screen_xterm_xfree86_s_acsc[] = "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~";
++static char screen_xterm_xfree86_s_kcbt[] = "\033[Z";
++static char screen_xterm_xfree86_s_smam[] = "\033[?7h";
++static char screen_xterm_xfree86_s_rmam[] = "\033[?7l";
++static char screen_xterm_xfree86_s_kend[] = "\033[4~";
++static char screen_xterm_xfree86_s_kent[] = "\033OM";
++static char screen_xterm_xfree86_s_kDC[] = "\033[3;2~";
++static char screen_xterm_xfree86_s_kEND[] = "\033[1;2F";
++static char screen_xterm_xfree86_s_kHOM[] = "\033[1;2H";
++static char screen_xterm_xfree86_s_kLFT[] = "\033[1;2D";
++static char screen_xterm_xfree86_s_kRIT[] = "\033[1;2C";
++static char screen_xterm_xfree86_s_kf11[] = "\033[23~";
++static char screen_xterm_xfree86_s_kf12[] = "\033[24~";
++static char screen_xterm_xfree86_s_kf13[] = "\033[1;2P";
++static char screen_xterm_xfree86_s_kf14[] = "\033[1;2Q";
++static char screen_xterm_xfree86_s_kf15[] = "\033[1;2R";
++static char screen_xterm_xfree86_s_kf16[] = "\033[1;2S";
++static char screen_xterm_xfree86_s_kf17[] = "\033[15;2~";
++static char screen_xterm_xfree86_s_kf18[] = "\033[17;2~";
++static char screen_xterm_xfree86_s_kf19[] = "\033[18;2~";
++static char screen_xterm_xfree86_s_kf20[] = "\033[19;2~";
++static char screen_xterm_xfree86_s_kf21[] = "\033[20;2~";
++static char screen_xterm_xfree86_s_kf22[] = "\033[21;2~";
++static char screen_xterm_xfree86_s_kf23[] = "\033[23;2~";
++static char screen_xterm_xfree86_s_kf24[] = "\033[24;2~";
++static char screen_xterm_xfree86_s_kf25[] = "\033[1;5P";
++static char screen_xterm_xfree86_s_kf26[] = "\033[1;5Q";
++static char screen_xterm_xfree86_s_kf27[] = "\033[1;5R";
++static char screen_xterm_xfree86_s_kf28[] = "\033[1;5S";
++static char screen_xterm_xfree86_s_kf29[] = "\033[15;5~";
++static char screen_xterm_xfree86_s_kf30[] = "\033[17;5~";
++static char screen_xterm_xfree86_s_kf31[] = "\033[18;5~";
++static char screen_xterm_xfree86_s_kf32[] = "\033[19;5~";
++static char screen_xterm_xfree86_s_kf33[] = "\033[20;5~";
++static char screen_xterm_xfree86_s_kf34[] = "\033[21;5~";
++static char screen_xterm_xfree86_s_kf35[] = "\033[23;5~";
++static char screen_xterm_xfree86_s_kf36[] = "\033[24;5~";
++static char screen_xterm_xfree86_s_kf37[] = "\033[1;6P";
++static char screen_xterm_xfree86_s_kf38[] = "\033[1;6Q";
++static char screen_xterm_xfree86_s_kf39[] = "\033[1;6R";
++static char screen_xterm_xfree86_s_kf40[] = "\033[1;6S";
++static char screen_xterm_xfree86_s_kf41[] = "\033[15;6~";
++static char screen_xterm_xfree86_s_kf42[] = "\033[17;6~";
++static char screen_xterm_xfree86_s_kf43[] = "\033[18;6~";
++static char screen_xterm_xfree86_s_kf44[] = "\033[19;6~";
++static char screen_xterm_xfree86_s_kf45[] = "\033[20;6~";
++static char screen_xterm_xfree86_s_kf46[] = "\033[21;6~";
++static char screen_xterm_xfree86_s_kf47[] = "\033[23;6~";
++static char screen_xterm_xfree86_s_kf48[] = "\033[24;6~";
++static char screen_xterm_xfree86_s_kf49[] = "\033[1;3P";
++static char screen_xterm_xfree86_s_kf50[] = "\033[1;3Q";
++static char screen_xterm_xfree86_s_kf51[] = "\033[1;3R";
++static char screen_xterm_xfree86_s_kf52[] = "\033[1;3S";
++static char screen_xterm_xfree86_s_kf53[] = "\033[15;3~";
++static char screen_xterm_xfree86_s_kf54[] = "\033[17;3~";
++static char screen_xterm_xfree86_s_kf55[] = "\033[18;3~";
++static char screen_xterm_xfree86_s_kf56[] = "\033[19;3~";
++static char screen_xterm_xfree86_s_kf57[] = "\033[20;3~";
++static char screen_xterm_xfree86_s_kf58[] = "\033[21;3~";
++static char screen_xterm_xfree86_s_kf59[] = "\033[23;3~";
++static char screen_xterm_xfree86_s_kf60[] = "\033[24;3~";
++static char screen_xterm_xfree86_s_kf61[] = "\033[1;4P";
++static char screen_xterm_xfree86_s_kf62[] = "\033[1;4Q";
++static char screen_xterm_xfree86_s_kf63[] = "\033[1;4R";
++static char screen_xterm_xfree86_s_el1[] = "\033[1K";
++static char screen_xterm_xfree86_s_u6[] = "\033[%i%d;%dR";
++static char screen_xterm_xfree86_s_u7[] = "\033[6n";
++static char screen_xterm_xfree86_s_u8[] = "\033[?%[;0123456789]c";
++static char screen_xterm_xfree86_s_u9[] = "\033[c";
++static char screen_xterm_xfree86_s_op[] = "\033[39;49m";
++static char screen_xterm_xfree86_s_setf[] = "\033[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m";
++static char screen_xterm_xfree86_s_setb[] = "\033[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m";
++static char screen_xterm_xfree86_s_kmous[] = "\033[M";
++static char screen_xterm_xfree86_s_setaf[] = "\033[3%p1%dm";
++static char screen_xterm_xfree86_s_setab[] = "\033[4%p1%dm";
++
++static char screen_xterm_xfree86_bool_data[] = {
++ /* 0: bw */ TRUE,
++ /* 1: am */ TRUE,
++ /* 2: xsb */ FALSE,
++ /* 3: xhp */ FALSE,
++ /* 4: xenl */ TRUE,
++ /* 5: eo */ FALSE,
++ /* 6: gn */ FALSE,
++ /* 7: hc */ FALSE,
++ /* 8: km */ TRUE,
++ /* 9: hs */ FALSE,
++ /* 10: in */ FALSE,
++ /* 11: da */ FALSE,
++ /* 12: db */ FALSE,
++ /* 13: mir */ TRUE,
++ /* 14: msgr */ TRUE,
++ /* 15: os */ FALSE,
++ /* 16: eslok */ FALSE,
++ /* 17: xt */ FALSE,
++ /* 18: hz */ FALSE,
++ /* 19: ul */ FALSE,
++ /* 20: xon */ FALSE,
++ /* 21: nxon */ FALSE,
++ /* 22: mc5i */ TRUE,
++ /* 23: chts */ FALSE,
++ /* 24: nrrmc */ FALSE,
++ /* 25: npc */ TRUE,
++ /* 26: ndscr */ FALSE,
++ /* 27: ccc */ FALSE,
++ /* 28: bce */ FALSE,
++ /* 29: hls */ FALSE,
++ /* 30: xhpa */ FALSE,
++ /* 31: crxm */ FALSE,
++ /* 32: daisy */ FALSE,
++ /* 33: xvpa */ FALSE,
++ /* 34: sam */ FALSE,
++ /* 35: cpix */ FALSE,
++ /* 36: lpix */ FALSE,
++ /* 37: OTbs */ TRUE,
++ /* 38: OTns */ FALSE,
++ /* 39: OTnc */ FALSE,
++ /* 40: OTMT */ FALSE,
++ /* 41: OTNL */ FALSE,
++ /* 42: OTpt */ FALSE,
++ /* 43: OTxr */ FALSE,
++};
++static NCURSES_INT2 screen_xterm_xfree86_number_data[] = {
++ /* 0: cols */ 80,
++ /* 1: it */ 8,
++ /* 2: lines */ 24,
++ /* 3: lm */ ABSENT_NUMERIC,
++ /* 4: xmc */ ABSENT_NUMERIC,
++ /* 5: pb */ ABSENT_NUMERIC,
++ /* 6: vt */ ABSENT_NUMERIC,
++ /* 7: wsl */ ABSENT_NUMERIC,
++ /* 8: nlab */ ABSENT_NUMERIC,
++ /* 9: lh */ ABSENT_NUMERIC,
++ /* 10: lw */ ABSENT_NUMERIC,
++ /* 11: ma */ ABSENT_NUMERIC,
++ /* 12: wnum */ ABSENT_NUMERIC,
++ /* 13: colors */ 8,
++ /* 14: pairs */ 64,
++ /* 15: ncv */ ABSENT_NUMERIC,
++ /* 16: bufsz */ ABSENT_NUMERIC,
++ /* 17: spinv */ ABSENT_NUMERIC,
++ /* 18: spinh */ ABSENT_NUMERIC,
++ /* 19: maddr */ ABSENT_NUMERIC,
++ /* 20: mjump */ ABSENT_NUMERIC,
++ /* 21: mcs */ ABSENT_NUMERIC,
++ /* 22: mls */ ABSENT_NUMERIC,
++ /* 23: npins */ ABSENT_NUMERIC,
++ /* 24: orc */ ABSENT_NUMERIC,
++ /* 25: orl */ ABSENT_NUMERIC,
++ /* 26: orhi */ ABSENT_NUMERIC,
++ /* 27: orvi */ ABSENT_NUMERIC,
++ /* 28: cps */ ABSENT_NUMERIC,
++ /* 29: widcs */ ABSENT_NUMERIC,
++ /* 30: btns */ ABSENT_NUMERIC,
++ /* 31: bitwin */ ABSENT_NUMERIC,
++ /* 32: bitype */ ABSENT_NUMERIC,
++ /* 33: OTug */ ABSENT_NUMERIC,
++ /* 34: OTdC */ ABSENT_NUMERIC,
++ /* 35: OTdN */ ABSENT_NUMERIC,
++ /* 36: OTdB */ ABSENT_NUMERIC,
++ /* 37: OTdT */ ABSENT_NUMERIC,
++ /* 38: OTkn */ ABSENT_NUMERIC,
++};
++static char * screen_xterm_xfree86_string_data[] = {
++ /* 0: cbt */ screen_xterm_xfree86_s_cbt,
++ /* 1: bel */ screen_xterm_xfree86_s_bel,
++ /* 2: cr */ screen_xterm_xfree86_s_cr,
++ /* 3: csr */ screen_xterm_xfree86_s_csr,
++ /* 4: tbc */ screen_xterm_xfree86_s_tbc,
++ /* 5: clear */ screen_xterm_xfree86_s_clear,
++ /* 6: el */ screen_xterm_xfree86_s_el,
++ /* 7: ed */ screen_xterm_xfree86_s_ed,
++ /* 8: hpa */ screen_xterm_xfree86_s_hpa,
++ /* 9: cmdch */ ABSENT_STRING,
++ /* 10: cup */ screen_xterm_xfree86_s_cup,
++ /* 11: cud1 */ screen_xterm_xfree86_s_cud1,
++ /* 12: home */ screen_xterm_xfree86_s_home,
++ /* 13: civis */ screen_xterm_xfree86_s_civis,
++ /* 14: cub1 */ screen_xterm_xfree86_s_cub1,
++ /* 15: mrcup */ ABSENT_STRING,
++ /* 16: cnorm */ screen_xterm_xfree86_s_cnorm,
++ /* 17: cuf1 */ screen_xterm_xfree86_s_cuf1,
++ /* 18: ll */ ABSENT_STRING,
++ /* 19: cuu1 */ screen_xterm_xfree86_s_cuu1,
++ /* 20: cvvis */ screen_xterm_xfree86_s_cvvis,
++ /* 21: dch1 */ screen_xterm_xfree86_s_dch1,
++ /* 22: dl1 */ screen_xterm_xfree86_s_dl1,
++ /* 23: dsl */ ABSENT_STRING,
++ /* 24: hd */ ABSENT_STRING,
++ /* 25: smacs */ screen_xterm_xfree86_s_smacs,
++ /* 26: blink */ screen_xterm_xfree86_s_blink,
++ /* 27: bold */ screen_xterm_xfree86_s_bold,
++ /* 28: smcup */ screen_xterm_xfree86_s_smcup,
++ /* 29: smdc */ ABSENT_STRING,
++ /* 30: dim */ screen_xterm_xfree86_s_dim,
++ /* 31: smir */ screen_xterm_xfree86_s_smir,
++ /* 32: invis */ CANCELLED_STRING,
++ /* 33: prot */ ABSENT_STRING,
++ /* 34: rev */ screen_xterm_xfree86_s_rev,
++ /* 35: smso */ screen_xterm_xfree86_s_smso,
++ /* 36: smul */ screen_xterm_xfree86_s_smul,
++ /* 37: ech */ screen_xterm_xfree86_s_ech,
++ /* 38: rmacs */ screen_xterm_xfree86_s_rmacs,
++ /* 39: sgr0 */ screen_xterm_xfree86_s_sgr0,
++ /* 40: rmcup */ screen_xterm_xfree86_s_rmcup,
++ /* 41: rmdc */ ABSENT_STRING,
++ /* 42: rmir */ screen_xterm_xfree86_s_rmir,
++ /* 43: rmso */ screen_xterm_xfree86_s_rmso,
++ /* 44: rmul */ screen_xterm_xfree86_s_rmul,
++ /* 45: flash */ screen_xterm_xfree86_s_flash,
++ /* 46: ff */ ABSENT_STRING,
++ /* 47: fsl */ ABSENT_STRING,
++ /* 48: is1 */ ABSENT_STRING,
++ /* 49: is2 */ screen_xterm_xfree86_s_is2,
++ /* 50: is3 */ ABSENT_STRING,
++ /* 51: if */ ABSENT_STRING,
++ /* 52: ich1 */ ABSENT_STRING,
++ /* 53: il1 */ screen_xterm_xfree86_s_il1,
++ /* 54: ip */ ABSENT_STRING,
++ /* 55: kbs */ screen_xterm_xfree86_s_kbs,
++ /* 56: ktbc */ ABSENT_STRING,
++ /* 57: kclr */ ABSENT_STRING,
++ /* 58: kctab */ ABSENT_STRING,
++ /* 59: kdch1 */ screen_xterm_xfree86_s_kdch1,
++ /* 60: kdl1 */ ABSENT_STRING,
++ /* 61: kcud1 */ screen_xterm_xfree86_s_kcud1,
++ /* 62: krmir */ ABSENT_STRING,
++ /* 63: kel */ ABSENT_STRING,
++ /* 64: ked */ ABSENT_STRING,
++ /* 65: kf0 */ ABSENT_STRING,
++ /* 66: kf1 */ screen_xterm_xfree86_s_kf1,
++ /* 67: kf10 */ screen_xterm_xfree86_s_kf10,
++ /* 68: kf2 */ screen_xterm_xfree86_s_kf2,
++ /* 69: kf3 */ screen_xterm_xfree86_s_kf3,
++ /* 70: kf4 */ screen_xterm_xfree86_s_kf4,
++ /* 71: kf5 */ screen_xterm_xfree86_s_kf5,
++ /* 72: kf6 */ screen_xterm_xfree86_s_kf6,
++ /* 73: kf7 */ screen_xterm_xfree86_s_kf7,
++ /* 74: kf8 */ screen_xterm_xfree86_s_kf8,
++ /* 75: kf9 */ screen_xterm_xfree86_s_kf9,
++ /* 76: khome */ screen_xterm_xfree86_s_khome,
++ /* 77: kich1 */ screen_xterm_xfree86_s_kich1,
++ /* 78: kil1 */ ABSENT_STRING,
++ /* 79: kcub1 */ screen_xterm_xfree86_s_kcub1,
++ /* 80: kll */ ABSENT_STRING,
++ /* 81: knp */ screen_xterm_xfree86_s_knp,
++ /* 82: kpp */ screen_xterm_xfree86_s_kpp,
++ /* 83: kcuf1 */ screen_xterm_xfree86_s_kcuf1,
++ /* 84: kind */ screen_xterm_xfree86_s_kind,
++ /* 85: kri */ screen_xterm_xfree86_s_kri,
++ /* 86: khts */ ABSENT_STRING,
++ /* 87: kcuu1 */ screen_xterm_xfree86_s_kcuu1,
++ /* 88: rmkx */ screen_xterm_xfree86_s_rmkx,
++ /* 89: smkx */ screen_xterm_xfree86_s_smkx,
++ /* 90: lf0 */ ABSENT_STRING,
++ /* 91: lf1 */ ABSENT_STRING,
++ /* 92: lf10 */ ABSENT_STRING,
++ /* 93: lf2 */ ABSENT_STRING,
++ /* 94: lf3 */ ABSENT_STRING,
++ /* 95: lf4 */ ABSENT_STRING,
++ /* 96: lf5 */ ABSENT_STRING,
++ /* 97: lf6 */ ABSENT_STRING,
++ /* 98: lf7 */ ABSENT_STRING,
++ /* 99: lf8 */ ABSENT_STRING,
++ /* 100: lf9 */ ABSENT_STRING,
++ /* 101: rmm */ screen_xterm_xfree86_s_rmm,
++ /* 102: smm */ screen_xterm_xfree86_s_smm,
++ /* 103: nel */ ABSENT_STRING,
++ /* 104: pad */ ABSENT_STRING,
++ /* 105: dch */ screen_xterm_xfree86_s_dch,
++ /* 106: dl */ screen_xterm_xfree86_s_dl,
++ /* 107: cud */ screen_xterm_xfree86_s_cud,
++ /* 108: ich */ screen_xterm_xfree86_s_ich,
++ /* 109: indn */ screen_xterm_xfree86_s_indn,
++ /* 110: il */ screen_xterm_xfree86_s_il,
++ /* 111: cub */ screen_xterm_xfree86_s_cub,
++ /* 112: cuf */ screen_xterm_xfree86_s_cuf,
++ /* 113: rin */ screen_xterm_xfree86_s_rin,
++ /* 114: cuu */ screen_xterm_xfree86_s_cuu,
++ /* 115: pfkey */ ABSENT_STRING,
++ /* 116: pfloc */ ABSENT_STRING,
++ /* 117: pfx */ ABSENT_STRING,
++ /* 118: mc0 */ screen_xterm_xfree86_s_mc0,
++ /* 119: mc4 */ screen_xterm_xfree86_s_mc4,
++ /* 120: mc5 */ screen_xterm_xfree86_s_mc5,
++ /* 121: rep */ CANCELLED_STRING,
++ /* 122: rs1 */ screen_xterm_xfree86_s_rs1,
++ /* 123: rs2 */ screen_xterm_xfree86_s_rs2,
++ /* 124: rs3 */ ABSENT_STRING,
++ /* 125: rf */ ABSENT_STRING,
++ /* 126: rc */ screen_xterm_xfree86_s_rc,
++ /* 127: vpa */ screen_xterm_xfree86_s_vpa,
++ /* 128: sc */ screen_xterm_xfree86_s_sc,
++ /* 129: ind */ screen_xterm_xfree86_s_ind,
++ /* 130: ri */ screen_xterm_xfree86_s_ri,
++ /* 131: sgr */ screen_xterm_xfree86_s_sgr,
++ /* 132: hts */ screen_xterm_xfree86_s_hts,
++ /* 133: wind */ ABSENT_STRING,
++ /* 134: ht */ screen_xterm_xfree86_s_ht,
++ /* 135: tsl */ ABSENT_STRING,
++ /* 136: uc */ ABSENT_STRING,
++ /* 137: hu */ ABSENT_STRING,
++ /* 138: iprog */ ABSENT_STRING,
++ /* 139: ka1 */ ABSENT_STRING,
++ /* 140: ka3 */ ABSENT_STRING,
++ /* 141: kb2 */ screen_xterm_xfree86_s_kb2,
++ /* 142: kc1 */ ABSENT_STRING,
++ /* 143: kc3 */ ABSENT_STRING,
++ /* 144: mc5p */ ABSENT_STRING,
++ /* 145: rmp */ ABSENT_STRING,
++ /* 146: acsc */ screen_xterm_xfree86_s_acsc,
++ /* 147: pln */ ABSENT_STRING,
++ /* 148: kcbt */ screen_xterm_xfree86_s_kcbt,
++ /* 149: smxon */ ABSENT_STRING,
++ /* 150: rmxon */ ABSENT_STRING,
++ /* 151: smam */ screen_xterm_xfree86_s_smam,
++ /* 152: rmam */ screen_xterm_xfree86_s_rmam,
++ /* 153: xonc */ ABSENT_STRING,
++ /* 154: xoffc */ ABSENT_STRING,
++ /* 155: enacs */ ABSENT_STRING,
++ /* 156: smln */ ABSENT_STRING,
++ /* 157: rmln */ ABSENT_STRING,
++ /* 158: kbeg */ ABSENT_STRING,
++ /* 159: kcan */ ABSENT_STRING,
++ /* 160: kclo */ ABSENT_STRING,
++ /* 161: kcmd */ ABSENT_STRING,
++ /* 162: kcpy */ ABSENT_STRING,
++ /* 163: kcrt */ ABSENT_STRING,
++ /* 164: kend */ screen_xterm_xfree86_s_kend,
++ /* 165: kent */ screen_xterm_xfree86_s_kent,
++ /* 166: kext */ ABSENT_STRING,
++ /* 167: kfnd */ ABSENT_STRING,
++ /* 168: khlp */ ABSENT_STRING,
++ /* 169: kmrk */ ABSENT_STRING,
++ /* 170: kmsg */ ABSENT_STRING,
++ /* 171: kmov */ ABSENT_STRING,
++ /* 172: knxt */ ABSENT_STRING,
++ /* 173: kopn */ ABSENT_STRING,
++ /* 174: kopt */ ABSENT_STRING,
++ /* 175: kprv */ ABSENT_STRING,
++ /* 176: kprt */ ABSENT_STRING,
++ /* 177: krdo */ ABSENT_STRING,
++ /* 178: kref */ ABSENT_STRING,
++ /* 179: krfr */ ABSENT_STRING,
++ /* 180: krpl */ ABSENT_STRING,
++ /* 181: krst */ ABSENT_STRING,
++ /* 182: kres */ ABSENT_STRING,
++ /* 183: ksav */ ABSENT_STRING,
++ /* 184: kspd */ ABSENT_STRING,
++ /* 185: kund */ ABSENT_STRING,
++ /* 186: kBEG */ ABSENT_STRING,
++ /* 187: kCAN */ ABSENT_STRING,
++ /* 188: kCMD */ ABSENT_STRING,
++ /* 189: kCPY */ ABSENT_STRING,
++ /* 190: kCRT */ ABSENT_STRING,
++ /* 191: kDC */ screen_xterm_xfree86_s_kDC,
++ /* 192: kDL */ ABSENT_STRING,
++ /* 193: kslt */ ABSENT_STRING,
++ /* 194: kEND */ screen_xterm_xfree86_s_kEND,
++ /* 195: kEOL */ ABSENT_STRING,
++ /* 196: kEXT */ ABSENT_STRING,
++ /* 197: kFND */ ABSENT_STRING,
++ /* 198: kHLP */ ABSENT_STRING,
++ /* 199: kHOM */ screen_xterm_xfree86_s_kHOM,
++ /* 200: kIC */ CANCELLED_STRING,
++ /* 201: kLFT */ screen_xterm_xfree86_s_kLFT,
++ /* 202: kMSG */ ABSENT_STRING,
++ /* 203: kMOV */ ABSENT_STRING,
++ /* 204: kNXT */ CANCELLED_STRING,
++ /* 205: kOPT */ ABSENT_STRING,
++ /* 206: kPRV */ CANCELLED_STRING,
++ /* 207: kPRT */ ABSENT_STRING,
++ /* 208: kRDO */ ABSENT_STRING,
++ /* 209: kRPL */ ABSENT_STRING,
++ /* 210: kRIT */ screen_xterm_xfree86_s_kRIT,
++ /* 211: kRES */ ABSENT_STRING,
++ /* 212: kSAV */ ABSENT_STRING,
++ /* 213: kSPD */ ABSENT_STRING,
++ /* 214: kUND */ ABSENT_STRING,
++ /* 215: rfi */ ABSENT_STRING,
++ /* 216: kf11 */ screen_xterm_xfree86_s_kf11,
++ /* 217: kf12 */ screen_xterm_xfree86_s_kf12,
++ /* 218: kf13 */ screen_xterm_xfree86_s_kf13,
++ /* 219: kf14 */ screen_xterm_xfree86_s_kf14,
++ /* 220: kf15 */ screen_xterm_xfree86_s_kf15,
++ /* 221: kf16 */ screen_xterm_xfree86_s_kf16,
++ /* 222: kf17 */ screen_xterm_xfree86_s_kf17,
++ /* 223: kf18 */ screen_xterm_xfree86_s_kf18,
++ /* 224: kf19 */ screen_xterm_xfree86_s_kf19,
++ /* 225: kf20 */ screen_xterm_xfree86_s_kf20,
++ /* 226: kf21 */ screen_xterm_xfree86_s_kf21,
++ /* 227: kf22 */ screen_xterm_xfree86_s_kf22,
++ /* 228: kf23 */ screen_xterm_xfree86_s_kf23,
++ /* 229: kf24 */ screen_xterm_xfree86_s_kf24,
++ /* 230: kf25 */ screen_xterm_xfree86_s_kf25,
++ /* 231: kf26 */ screen_xterm_xfree86_s_kf26,
++ /* 232: kf27 */ screen_xterm_xfree86_s_kf27,
++ /* 233: kf28 */ screen_xterm_xfree86_s_kf28,
++ /* 234: kf29 */ screen_xterm_xfree86_s_kf29,
++ /* 235: kf30 */ screen_xterm_xfree86_s_kf30,
++ /* 236: kf31 */ screen_xterm_xfree86_s_kf31,
++ /* 237: kf32 */ screen_xterm_xfree86_s_kf32,
++ /* 238: kf33 */ screen_xterm_xfree86_s_kf33,
++ /* 239: kf34 */ screen_xterm_xfree86_s_kf34,
++ /* 240: kf35 */ screen_xterm_xfree86_s_kf35,
++ /* 241: kf36 */ screen_xterm_xfree86_s_kf36,
++ /* 242: kf37 */ screen_xterm_xfree86_s_kf37,
++ /* 243: kf38 */ screen_xterm_xfree86_s_kf38,
++ /* 244: kf39 */ screen_xterm_xfree86_s_kf39,
++ /* 245: kf40 */ screen_xterm_xfree86_s_kf40,
++ /* 246: kf41 */ screen_xterm_xfree86_s_kf41,
++ /* 247: kf42 */ screen_xterm_xfree86_s_kf42,
++ /* 248: kf43 */ screen_xterm_xfree86_s_kf43,
++ /* 249: kf44 */ screen_xterm_xfree86_s_kf44,
++ /* 250: kf45 */ screen_xterm_xfree86_s_kf45,
++ /* 251: kf46 */ screen_xterm_xfree86_s_kf46,
++ /* 252: kf47 */ screen_xterm_xfree86_s_kf47,
++ /* 253: kf48 */ screen_xterm_xfree86_s_kf48,
++ /* 254: kf49 */ screen_xterm_xfree86_s_kf49,
++ /* 255: kf50 */ screen_xterm_xfree86_s_kf50,
++ /* 256: kf51 */ screen_xterm_xfree86_s_kf51,
++ /* 257: kf52 */ screen_xterm_xfree86_s_kf52,
++ /* 258: kf53 */ screen_xterm_xfree86_s_kf53,
++ /* 259: kf54 */ screen_xterm_xfree86_s_kf54,
++ /* 260: kf55 */ screen_xterm_xfree86_s_kf55,
++ /* 261: kf56 */ screen_xterm_xfree86_s_kf56,
++ /* 262: kf57 */ screen_xterm_xfree86_s_kf57,
++ /* 263: kf58 */ screen_xterm_xfree86_s_kf58,
++ /* 264: kf59 */ screen_xterm_xfree86_s_kf59,
++ /* 265: kf60 */ screen_xterm_xfree86_s_kf60,
++ /* 266: kf61 */ screen_xterm_xfree86_s_kf61,
++ /* 267: kf62 */ screen_xterm_xfree86_s_kf62,
++ /* 268: kf63 */ screen_xterm_xfree86_s_kf63,
++ /* 269: el1 */ screen_xterm_xfree86_s_el1,
++ /* 270: mgc */ ABSENT_STRING,
++ /* 271: smgl */ ABSENT_STRING,
++ /* 272: smgr */ ABSENT_STRING,
++ /* 273: fln */ ABSENT_STRING,
++ /* 274: sclk */ ABSENT_STRING,
++ /* 275: dclk */ ABSENT_STRING,
++ /* 276: rmclk */ ABSENT_STRING,
++ /* 277: cwin */ ABSENT_STRING,
++ /* 278: wingo */ ABSENT_STRING,
++ /* 279: hup */ ABSENT_STRING,
++ /* 280: dial */ ABSENT_STRING,
++ /* 281: qdial */ ABSENT_STRING,
++ /* 282: tone */ ABSENT_STRING,
++ /* 283: pulse */ ABSENT_STRING,
++ /* 284: hook */ ABSENT_STRING,
++ /* 285: pause */ ABSENT_STRING,
++ /* 286: wait */ ABSENT_STRING,
++ /* 287: u0 */ ABSENT_STRING,
++ /* 288: u1 */ ABSENT_STRING,
++ /* 289: u2 */ ABSENT_STRING,
++ /* 290: u3 */ ABSENT_STRING,
++ /* 291: u4 */ ABSENT_STRING,
++ /* 292: u5 */ ABSENT_STRING,
++ /* 293: u6 */ screen_xterm_xfree86_s_u6,
++ /* 294: u7 */ screen_xterm_xfree86_s_u7,
++ /* 295: u8 */ screen_xterm_xfree86_s_u8,
++ /* 296: u9 */ screen_xterm_xfree86_s_u9,
++ /* 297: op */ screen_xterm_xfree86_s_op,
++ /* 298: oc */ ABSENT_STRING,
++ /* 299: initc */ ABSENT_STRING,
++ /* 300: initp */ ABSENT_STRING,
++ /* 301: scp */ ABSENT_STRING,
++ /* 302: setf */ screen_xterm_xfree86_s_setf,
++ /* 303: setb */ screen_xterm_xfree86_s_setb,
++ /* 304: cpi */ ABSENT_STRING,
++ /* 305: lpi */ ABSENT_STRING,
++ /* 306: chr */ ABSENT_STRING,
++ /* 307: cvr */ ABSENT_STRING,
++ /* 308: defc */ ABSENT_STRING,
++ /* 309: swidm */ ABSENT_STRING,
++ /* 310: sdrfq */ ABSENT_STRING,
++ /* 311: sitm */ ABSENT_STRING,
++ /* 312: slm */ ABSENT_STRING,
++ /* 313: smicm */ ABSENT_STRING,
++ /* 314: snlq */ ABSENT_STRING,
++ /* 315: snrmq */ ABSENT_STRING,
++ /* 316: sshm */ ABSENT_STRING,
++ /* 317: ssubm */ ABSENT_STRING,
++ /* 318: ssupm */ ABSENT_STRING,
++ /* 319: sum */ ABSENT_STRING,
++ /* 320: rwidm */ ABSENT_STRING,
++ /* 321: ritm */ ABSENT_STRING,
++ /* 322: rlm */ ABSENT_STRING,
++ /* 323: rmicm */ ABSENT_STRING,
++ /* 324: rshm */ ABSENT_STRING,
++ /* 325: rsubm */ ABSENT_STRING,
++ /* 326: rsupm */ ABSENT_STRING,
++ /* 327: rum */ ABSENT_STRING,
++ /* 328: mhpa */ ABSENT_STRING,
++ /* 329: mcud1 */ ABSENT_STRING,
++ /* 330: mcub1 */ ABSENT_STRING,
++ /* 331: mcuf1 */ ABSENT_STRING,
++ /* 332: mvpa */ ABSENT_STRING,
++ /* 333: mcuu1 */ ABSENT_STRING,
++ /* 334: porder */ ABSENT_STRING,
++ /* 335: mcud */ ABSENT_STRING,
++ /* 336: mcub */ ABSENT_STRING,
++ /* 337: mcuf */ ABSENT_STRING,
++ /* 338: mcuu */ ABSENT_STRING,
++ /* 339: scs */ ABSENT_STRING,
++ /* 340: smgb */ ABSENT_STRING,
++ /* 341: smgbp */ ABSENT_STRING,
++ /* 342: smglp */ ABSENT_STRING,
++ /* 343: smgrp */ ABSENT_STRING,
++ /* 344: smgt */ ABSENT_STRING,
++ /* 345: smgtp */ ABSENT_STRING,
++ /* 346: sbim */ ABSENT_STRING,
++ /* 347: scsd */ ABSENT_STRING,
++ /* 348: rbim */ ABSENT_STRING,
++ /* 349: rcsd */ ABSENT_STRING,
++ /* 350: subcs */ ABSENT_STRING,
++ /* 351: supcs */ ABSENT_STRING,
++ /* 352: docr */ ABSENT_STRING,
++ /* 353: zerom */ ABSENT_STRING,
++ /* 354: csnm */ ABSENT_STRING,
++ /* 355: kmous */ screen_xterm_xfree86_s_kmous,
++ /* 356: minfo */ ABSENT_STRING,
++ /* 357: reqmp */ ABSENT_STRING,
++ /* 358: getm */ ABSENT_STRING,
++ /* 359: setaf */ screen_xterm_xfree86_s_setaf,
++ /* 360: setab */ screen_xterm_xfree86_s_setab,
++ /* 361: pfxl */ ABSENT_STRING,
++ /* 362: devt */ ABSENT_STRING,
++ /* 363: csin */ ABSENT_STRING,
++ /* 364: s0ds */ ABSENT_STRING,
++ /* 365: s1ds */ ABSENT_STRING,
++ /* 366: s2ds */ ABSENT_STRING,
++ /* 367: s3ds */ ABSENT_STRING,
++ /* 368: smglr */ ABSENT_STRING,
++ /* 369: smgtb */ ABSENT_STRING,
++ /* 370: birep */ ABSENT_STRING,
++ /* 371: binel */ ABSENT_STRING,
++ /* 372: bicr */ ABSENT_STRING,
++ /* 373: colornm */ ABSENT_STRING,
++ /* 374: defbi */ ABSENT_STRING,
++ /* 375: endbi */ ABSENT_STRING,
++ /* 376: setcolor */ ABSENT_STRING,
++ /* 377: slines */ ABSENT_STRING,
++ /* 378: dispc */ ABSENT_STRING,
++ /* 379: smpch */ ABSENT_STRING,
++ /* 380: rmpch */ ABSENT_STRING,
++ /* 381: smsc */ ABSENT_STRING,
++ /* 382: rmsc */ ABSENT_STRING,
++ /* 383: pctrm */ ABSENT_STRING,
++ /* 384: scesc */ ABSENT_STRING,
++ /* 385: scesa */ ABSENT_STRING,
++ /* 386: ehhlm */ ABSENT_STRING,
++ /* 387: elhlm */ ABSENT_STRING,
++ /* 388: elohlm */ ABSENT_STRING,
++ /* 389: erhlm */ ABSENT_STRING,
++ /* 390: ethlm */ ABSENT_STRING,
++ /* 391: evhlm */ ABSENT_STRING,
++ /* 392: sgr1 */ ABSENT_STRING,
++ /* 393: slength */ ABSENT_STRING,
++ /* 394: OTi2 */ ABSENT_STRING,
++ /* 395: OTrs */ ABSENT_STRING,
++ /* 396: OTnl */ ABSENT_STRING,
++ /* 397: OTbc */ ABSENT_STRING,
++ /* 398: OTko */ ABSENT_STRING,
++ /* 399: OTma */ ABSENT_STRING,
++ /* 400: OTG2 */ ABSENT_STRING,
++ /* 401: OTG3 */ ABSENT_STRING,
++ /* 402: OTG1 */ ABSENT_STRING,
++ /* 403: OTG4 */ ABSENT_STRING,
++ /* 404: OTGR */ ABSENT_STRING,
++ /* 405: OTGL */ ABSENT_STRING,
++ /* 406: OTGU */ ABSENT_STRING,
++ /* 407: OTGD */ ABSENT_STRING,
++ /* 408: OTGH */ ABSENT_STRING,
++ /* 409: OTGV */ ABSENT_STRING,
++ /* 410: OTGC */ ABSENT_STRING,
++ /* 411: meml */ CANCELLED_STRING,
++ /* 412: memu */ CANCELLED_STRING,
++ /* 413: box1 */ ABSENT_STRING,
++};
++/* screen.xterm-256color */
++
++static char screen_xterm_256color_alias_data[] = "screen.xterm-256color|GNU Screen with xterm using 256 colors";
++
++static char screen_xterm_256color_s_cbt[] = "\033[Z";
++static char screen_xterm_256color_s_bel[] = "\007";
++static char screen_xterm_256color_s_cr[] = "\015";
++static char screen_xterm_256color_s_csr[] = "\033[%i%p1%d;%p2%dr";
++static char screen_xterm_256color_s_tbc[] = "\033[3g";
++static char screen_xterm_256color_s_clear[] = "\033[H\033[2J";
++static char screen_xterm_256color_s_el[] = "\033[K";
++static char screen_xterm_256color_s_ed[] = "\033[J";
++static char screen_xterm_256color_s_hpa[] = "\033[%i%p1%dG";
++static char screen_xterm_256color_s_cup[] = "\033[%i%p1%d;%p2%dH";
++static char screen_xterm_256color_s_cud1[] = "\012";
++static char screen_xterm_256color_s_home[] = "\033[H";
++static char screen_xterm_256color_s_civis[] = "\033[?25l";
++static char screen_xterm_256color_s_cub1[] = "\010";
++static char screen_xterm_256color_s_cnorm[] = "\033[?12l\033[?25h";
++static char screen_xterm_256color_s_cuf1[] = "\033[C";
++static char screen_xterm_256color_s_cuu1[] = "\033[A";
++static char screen_xterm_256color_s_cvvis[] = "\033[?12;25h";
++static char screen_xterm_256color_s_dch1[] = "\033[P";
++static char screen_xterm_256color_s_dl1[] = "\033[M";
++static char screen_xterm_256color_s_smacs[] = "\033(0";
++static char screen_xterm_256color_s_blink[] = "\033[5m";
++static char screen_xterm_256color_s_bold[] = "\033[1m";
++static char screen_xterm_256color_s_smcup[] = "\033[?1049h\033[22;0;0t";
++static char screen_xterm_256color_s_dim[] = "\033[2m";
++static char screen_xterm_256color_s_smir[] = "\033[4h";
++static char screen_xterm_256color_s_rev[] = "\033[7m";
++static char screen_xterm_256color_s_smso[] = "\033[7m";
++static char screen_xterm_256color_s_smul[] = "\033[4m";
++static char screen_xterm_256color_s_ech[] = "\033[%p1%dX";
++static char screen_xterm_256color_s_rmacs[] = "\033(B";
++static char screen_xterm_256color_s_sgr0[] = "\033(B\033[m";
++static char screen_xterm_256color_s_rmcup[] = "\033[?1049l\033[23;0;0t";
++static char screen_xterm_256color_s_rmir[] = "\033[4l";
++static char screen_xterm_256color_s_rmso[] = "\033[27m";
++static char screen_xterm_256color_s_rmul[] = "\033[24m";
++static char screen_xterm_256color_s_flash[] = "\033[?5h$<100/>\033[?5l";
++static char screen_xterm_256color_s_is2[] = "\033[!p\033[?3;4l\033[4l\033>";
++static char screen_xterm_256color_s_il1[] = "\033[L";
++static char screen_xterm_256color_s_kbs[] = "\010";
++static char screen_xterm_256color_s_kdch1[] = "\033[3~";
++static char screen_xterm_256color_s_kcud1[] = "\033OB";
++static char screen_xterm_256color_s_kf1[] = "\033OP";
++static char screen_xterm_256color_s_kf10[] = "\033[21~";
++static char screen_xterm_256color_s_kf2[] = "\033OQ";
++static char screen_xterm_256color_s_kf3[] = "\033OR";
++static char screen_xterm_256color_s_kf4[] = "\033OS";
++static char screen_xterm_256color_s_kf5[] = "\033[15~";
++static char screen_xterm_256color_s_kf6[] = "\033[17~";
++static char screen_xterm_256color_s_kf7[] = "\033[18~";
++static char screen_xterm_256color_s_kf8[] = "\033[19~";
++static char screen_xterm_256color_s_kf9[] = "\033[20~";
++static char screen_xterm_256color_s_khome[] = "\033[1~";
++static char screen_xterm_256color_s_kich1[] = "\033[2~";
++static char screen_xterm_256color_s_kcub1[] = "\033OD";
++static char screen_xterm_256color_s_knp[] = "\033[6~";
++static char screen_xterm_256color_s_kpp[] = "\033[5~";
++static char screen_xterm_256color_s_kcuf1[] = "\033OC";
++static char screen_xterm_256color_s_kind[] = "\033[1;2B";
++static char screen_xterm_256color_s_kri[] = "\033[1;2A";
++static char screen_xterm_256color_s_kcuu1[] = "\033OA";
++static char screen_xterm_256color_s_rmkx[] = "\033[?1l\033>";
++static char screen_xterm_256color_s_smkx[] = "\033[?1h\033=";
++static char screen_xterm_256color_s_rmm[] = "\033[?1034l";
++static char screen_xterm_256color_s_smm[] = "\033[?1034h";
++static char screen_xterm_256color_s_dch[] = "\033[%p1%dP";
++static char screen_xterm_256color_s_dl[] = "\033[%p1%dM";
++static char screen_xterm_256color_s_cud[] = "\033[%p1%dB";
++static char screen_xterm_256color_s_ich[] = "\033[%p1%d@";
++static char screen_xterm_256color_s_indn[] = "\033[%p1%dS";
++static char screen_xterm_256color_s_il[] = "\033[%p1%dL";
++static char screen_xterm_256color_s_cub[] = "\033[%p1%dD";
++static char screen_xterm_256color_s_cuf[] = "\033[%p1%dC";
++static char screen_xterm_256color_s_rin[] = "\033[%p1%dT";
++static char screen_xterm_256color_s_cuu[] = "\033[%p1%dA";
++static char screen_xterm_256color_s_mc0[] = "\033[i";
++static char screen_xterm_256color_s_mc4[] = "\033[4i";
++static char screen_xterm_256color_s_mc5[] = "\033[5i";
++static char screen_xterm_256color_s_rs1[] = "\033c";
++static char screen_xterm_256color_s_rs2[] = "\033[!p\033[?3;4l\033[4l\033>";
++static char screen_xterm_256color_s_rc[] = "\0338";
++static char screen_xterm_256color_s_vpa[] = "\033[%i%p1%dd";
++static char screen_xterm_256color_s_sc[] = "\0337";
++static char screen_xterm_256color_s_ind[] = "\012";
++static char screen_xterm_256color_s_ri[] = "\033M";
++static char screen_xterm_256color_s_sgr[] = "%?%p9%t\033(0%e\033(B%;\033[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;m";
++static char screen_xterm_256color_s_hts[] = "\033H";
++static char screen_xterm_256color_s_ht[] = "\011";
++static char screen_xterm_256color_s_kb2[] = "\033OE";
++static char screen_xterm_256color_s_acsc[] = "``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~";
++static char screen_xterm_256color_s_kcbt[] = "\033[Z";
++static char screen_xterm_256color_s_smam[] = "\033[?7h";
++static char screen_xterm_256color_s_rmam[] = "\033[?7l";
++static char screen_xterm_256color_s_kend[] = "\033[4~";
++static char screen_xterm_256color_s_kent[] = "\033OM";
++static char screen_xterm_256color_s_kDC[] = "\033[3;2~";
++static char screen_xterm_256color_s_kEND[] = "\033[1;2F";
++static char screen_xterm_256color_s_kHOM[] = "\033[1;2H";
++static char screen_xterm_256color_s_kLFT[] = "\033[1;2D";
++static char screen_xterm_256color_s_kRIT[] = "\033[1;2C";
++static char screen_xterm_256color_s_kf11[] = "\033[23~";
++static char screen_xterm_256color_s_kf12[] = "\033[24~";
++static char screen_xterm_256color_s_kf13[] = "\033[1;2P";
++static char screen_xterm_256color_s_kf14[] = "\033[1;2Q";
++static char screen_xterm_256color_s_kf15[] = "\033[1;2R";
++static char screen_xterm_256color_s_kf16[] = "\033[1;2S";
++static char screen_xterm_256color_s_kf17[] = "\033[15;2~";
++static char screen_xterm_256color_s_kf18[] = "\033[17;2~";
++static char screen_xterm_256color_s_kf19[] = "\033[18;2~";
++static char screen_xterm_256color_s_kf20[] = "\033[19;2~";
++static char screen_xterm_256color_s_kf21[] = "\033[20;2~";
++static char screen_xterm_256color_s_kf22[] = "\033[21;2~";
++static char screen_xterm_256color_s_kf23[] = "\033[23;2~";
++static char screen_xterm_256color_s_kf24[] = "\033[24;2~";
++static char screen_xterm_256color_s_kf25[] = "\033[1;5P";
++static char screen_xterm_256color_s_kf26[] = "\033[1;5Q";
++static char screen_xterm_256color_s_kf27[] = "\033[1;5R";
++static char screen_xterm_256color_s_kf28[] = "\033[1;5S";
++static char screen_xterm_256color_s_kf29[] = "\033[15;5~";
++static char screen_xterm_256color_s_kf30[] = "\033[17;5~";
++static char screen_xterm_256color_s_kf31[] = "\033[18;5~";
++static char screen_xterm_256color_s_kf32[] = "\033[19;5~";
++static char screen_xterm_256color_s_kf33[] = "\033[20;5~";
++static char screen_xterm_256color_s_kf34[] = "\033[21;5~";
++static char screen_xterm_256color_s_kf35[] = "\033[23;5~";
++static char screen_xterm_256color_s_kf36[] = "\033[24;5~";
++static char screen_xterm_256color_s_kf37[] = "\033[1;6P";
++static char screen_xterm_256color_s_kf38[] = "\033[1;6Q";
++static char screen_xterm_256color_s_kf39[] = "\033[1;6R";
++static char screen_xterm_256color_s_kf40[] = "\033[1;6S";
++static char screen_xterm_256color_s_kf41[] = "\033[15;6~";
++static char screen_xterm_256color_s_kf42[] = "\033[17;6~";
++static char screen_xterm_256color_s_kf43[] = "\033[18;6~";
++static char screen_xterm_256color_s_kf44[] = "\033[19;6~";
++static char screen_xterm_256color_s_kf45[] = "\033[20;6~";
++static char screen_xterm_256color_s_kf46[] = "\033[21;6~";
++static char screen_xterm_256color_s_kf47[] = "\033[23;6~";
++static char screen_xterm_256color_s_kf48[] = "\033[24;6~";
++static char screen_xterm_256color_s_kf49[] = "\033[1;3P";
++static char screen_xterm_256color_s_kf50[] = "\033[1;3Q";
++static char screen_xterm_256color_s_kf51[] = "\033[1;3R";
++static char screen_xterm_256color_s_kf52[] = "\033[1;3S";
++static char screen_xterm_256color_s_kf53[] = "\033[15;3~";
++static char screen_xterm_256color_s_kf54[] = "\033[17;3~";
++static char screen_xterm_256color_s_kf55[] = "\033[18;3~";
++static char screen_xterm_256color_s_kf56[] = "\033[19;3~";
++static char screen_xterm_256color_s_kf57[] = "\033[20;3~";
++static char screen_xterm_256color_s_kf58[] = "\033[21;3~";
++static char screen_xterm_256color_s_kf59[] = "\033[23;3~";
++static char screen_xterm_256color_s_kf60[] = "\033[24;3~";
++static char screen_xterm_256color_s_kf61[] = "\033[1;4P";
++static char screen_xterm_256color_s_kf62[] = "\033[1;4Q";
++static char screen_xterm_256color_s_kf63[] = "\033[1;4R";
++static char screen_xterm_256color_s_el1[] = "\033[1K";
++static char screen_xterm_256color_s_u6[] = "\033[%i%d;%dR";
++static char screen_xterm_256color_s_u7[] = "\033[6n";
++static char screen_xterm_256color_s_u8[] = "\033[?%[;0123456789]c";
++static char screen_xterm_256color_s_u9[] = "\033[c";
++static char screen_xterm_256color_s_op[] = "\033[39;49m";
++static char screen_xterm_256color_s_kmous[] = "\033[M";
++static char screen_xterm_256color_s_setaf[] = "\033[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5;%p1%d%;m";
++static char screen_xterm_256color_s_setab[] = "\033[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;5;%p1%d%;m";
++
++static char screen_xterm_256color_bool_data[] = {
++ /* 0: bw */ TRUE,
++ /* 1: am */ TRUE,
++ /* 2: xsb */ FALSE,
++ /* 3: xhp */ FALSE,
++ /* 4: xenl */ TRUE,
++ /* 5: eo */ FALSE,
++ /* 6: gn */ FALSE,
++ /* 7: hc */ FALSE,
++ /* 8: km */ TRUE,
++ /* 9: hs */ FALSE,
++ /* 10: in */ FALSE,
++ /* 11: da */ FALSE,
++ /* 12: db */ FALSE,
++ /* 13: mir */ TRUE,
++ /* 14: msgr */ TRUE,
++ /* 15: os */ FALSE,
++ /* 16: eslok */ FALSE,
++ /* 17: xt */ FALSE,
++ /* 18: hz */ FALSE,
++ /* 19: ul */ FALSE,
++ /* 20: xon */ FALSE,
++ /* 21: nxon */ FALSE,
++ /* 22: mc5i */ TRUE,
++ /* 23: chts */ FALSE,
++ /* 24: nrrmc */ FALSE,
++ /* 25: npc */ TRUE,
++ /* 26: ndscr */ FALSE,
++ /* 27: ccc */ FALSE,
++ /* 28: bce */ FALSE,
++ /* 29: hls */ FALSE,
++ /* 30: xhpa */ FALSE,
++ /* 31: crxm */ FALSE,
++ /* 32: daisy */ FALSE,
++ /* 33: xvpa */ FALSE,
++ /* 34: sam */ FALSE,
++ /* 35: cpix */ FALSE,
++ /* 36: lpix */ FALSE,
++ /* 37: OTbs */ TRUE,
++ /* 38: OTns */ FALSE,
++ /* 39: OTnc */ FALSE,
++ /* 40: OTMT */ FALSE,
++ /* 41: OTNL */ FALSE,
++ /* 42: OTpt */ FALSE,
++ /* 43: OTxr */ FALSE,
++};
++static NCURSES_INT2 screen_xterm_256color_number_data[] = {
++ /* 0: cols */ 80,
++ /* 1: it */ 8,
++ /* 2: lines */ 24,
++ /* 3: lm */ ABSENT_NUMERIC,
++ /* 4: xmc */ ABSENT_NUMERIC,
++ /* 5: pb */ ABSENT_NUMERIC,
++ /* 6: vt */ ABSENT_NUMERIC,
++ /* 7: wsl */ ABSENT_NUMERIC,
++ /* 8: nlab */ ABSENT_NUMERIC,
++ /* 9: lh */ ABSENT_NUMERIC,
++ /* 10: lw */ ABSENT_NUMERIC,
++ /* 11: ma */ ABSENT_NUMERIC,
++ /* 12: wnum */ ABSENT_NUMERIC,
++ /* 13: colors */ 256,
++ /* 14: pairs */ 32767,
++ /* 15: ncv */ ABSENT_NUMERIC,
++ /* 16: bufsz */ ABSENT_NUMERIC,
++ /* 17: spinv */ ABSENT_NUMERIC,
++ /* 18: spinh */ ABSENT_NUMERIC,
++ /* 19: maddr */ ABSENT_NUMERIC,
++ /* 20: mjump */ ABSENT_NUMERIC,
++ /* 21: mcs */ ABSENT_NUMERIC,
++ /* 22: mls */ ABSENT_NUMERIC,
++ /* 23: npins */ ABSENT_NUMERIC,
++ /* 24: orc */ ABSENT_NUMERIC,
++ /* 25: orl */ ABSENT_NUMERIC,
++ /* 26: orhi */ ABSENT_NUMERIC,
++ /* 27: orvi */ ABSENT_NUMERIC,
++ /* 28: cps */ ABSENT_NUMERIC,
++ /* 29: widcs */ ABSENT_NUMERIC,
++ /* 30: btns */ ABSENT_NUMERIC,
++ /* 31: bitwin */ ABSENT_NUMERIC,
++ /* 32: bitype */ ABSENT_NUMERIC,
++ /* 33: OTug */ ABSENT_NUMERIC,
++ /* 34: OTdC */ ABSENT_NUMERIC,
++ /* 35: OTdN */ ABSENT_NUMERIC,
++ /* 36: OTdB */ ABSENT_NUMERIC,
++ /* 37: OTdT */ ABSENT_NUMERIC,
++ /* 38: OTkn */ ABSENT_NUMERIC,
++};
++static char * screen_xterm_256color_string_data[] = {
++ /* 0: cbt */ screen_xterm_256color_s_cbt,
++ /* 1: bel */ screen_xterm_256color_s_bel,
++ /* 2: cr */ screen_xterm_256color_s_cr,
++ /* 3: csr */ screen_xterm_256color_s_csr,
++ /* 4: tbc */ screen_xterm_256color_s_tbc,
++ /* 5: clear */ screen_xterm_256color_s_clear,
++ /* 6: el */ screen_xterm_256color_s_el,
++ /* 7: ed */ screen_xterm_256color_s_ed,
++ /* 8: hpa */ screen_xterm_256color_s_hpa,
++ /* 9: cmdch */ ABSENT_STRING,
++ /* 10: cup */ screen_xterm_256color_s_cup,
++ /* 11: cud1 */ screen_xterm_256color_s_cud1,
++ /* 12: home */ screen_xterm_256color_s_home,
++ /* 13: civis */ screen_xterm_256color_s_civis,
++ /* 14: cub1 */ screen_xterm_256color_s_cub1,
++ /* 15: mrcup */ ABSENT_STRING,
++ /* 16: cnorm */ screen_xterm_256color_s_cnorm,
++ /* 17: cuf1 */ screen_xterm_256color_s_cuf1,
++ /* 18: ll */ ABSENT_STRING,
++ /* 19: cuu1 */ screen_xterm_256color_s_cuu1,
++ /* 20: cvvis */ screen_xterm_256color_s_cvvis,
++ /* 21: dch1 */ screen_xterm_256color_s_dch1,
++ /* 22: dl1 */ screen_xterm_256color_s_dl1,
++ /* 23: dsl */ ABSENT_STRING,
++ /* 24: hd */ ABSENT_STRING,
++ /* 25: smacs */ screen_xterm_256color_s_smacs,
++ /* 26: blink */ screen_xterm_256color_s_blink,
++ /* 27: bold */ screen_xterm_256color_s_bold,
++ /* 28: smcup */ screen_xterm_256color_s_smcup,
++ /* 29: smdc */ ABSENT_STRING,
++ /* 30: dim */ screen_xterm_256color_s_dim,
++ /* 31: smir */ screen_xterm_256color_s_smir,
++ /* 32: invis */ ABSENT_STRING,
++ /* 33: prot */ ABSENT_STRING,
++ /* 34: rev */ screen_xterm_256color_s_rev,
++ /* 35: smso */ screen_xterm_256color_s_smso,
++ /* 36: smul */ screen_xterm_256color_s_smul,
++ /* 37: ech */ screen_xterm_256color_s_ech,
++ /* 38: rmacs */ screen_xterm_256color_s_rmacs,
++ /* 39: sgr0 */ screen_xterm_256color_s_sgr0,
++ /* 40: rmcup */ screen_xterm_256color_s_rmcup,
++ /* 41: rmdc */ ABSENT_STRING,
++ /* 42: rmir */ screen_xterm_256color_s_rmir,
++ /* 43: rmso */ screen_xterm_256color_s_rmso,
++ /* 44: rmul */ screen_xterm_256color_s_rmul,
++ /* 45: flash */ screen_xterm_256color_s_flash,
++ /* 46: ff */ ABSENT_STRING,
++ /* 47: fsl */ ABSENT_STRING,
++ /* 48: is1 */ ABSENT_STRING,
++ /* 49: is2 */ screen_xterm_256color_s_is2,
++ /* 50: is3 */ ABSENT_STRING,
++ /* 51: if */ ABSENT_STRING,
++ /* 52: ich1 */ ABSENT_STRING,
++ /* 53: il1 */ screen_xterm_256color_s_il1,
++ /* 54: ip */ ABSENT_STRING,
++ /* 55: kbs */ screen_xterm_256color_s_kbs,
++ /* 56: ktbc */ ABSENT_STRING,
++ /* 57: kclr */ ABSENT_STRING,
++ /* 58: kctab */ ABSENT_STRING,
++ /* 59: kdch1 */ screen_xterm_256color_s_kdch1,
++ /* 60: kdl1 */ ABSENT_STRING,
++ /* 61: kcud1 */ screen_xterm_256color_s_kcud1,
++ /* 62: krmir */ ABSENT_STRING,
++ /* 63: kel */ ABSENT_STRING,
++ /* 64: ked */ ABSENT_STRING,
++ /* 65: kf0 */ ABSENT_STRING,
++ /* 66: kf1 */ screen_xterm_256color_s_kf1,
++ /* 67: kf10 */ screen_xterm_256color_s_kf10,
++ /* 68: kf2 */ screen_xterm_256color_s_kf2,
++ /* 69: kf3 */ screen_xterm_256color_s_kf3,
++ /* 70: kf4 */ screen_xterm_256color_s_kf4,
++ /* 71: kf5 */ screen_xterm_256color_s_kf5,
++ /* 72: kf6 */ screen_xterm_256color_s_kf6,
++ /* 73: kf7 */ screen_xterm_256color_s_kf7,
++ /* 74: kf8 */ screen_xterm_256color_s_kf8,
++ /* 75: kf9 */ screen_xterm_256color_s_kf9,
++ /* 76: khome */ screen_xterm_256color_s_khome,
++ /* 77: kich1 */ screen_xterm_256color_s_kich1,
++ /* 78: kil1 */ ABSENT_STRING,
++ /* 79: kcub1 */ screen_xterm_256color_s_kcub1,
++ /* 80: kll */ ABSENT_STRING,
++ /* 81: knp */ screen_xterm_256color_s_knp,
++ /* 82: kpp */ screen_xterm_256color_s_kpp,
++ /* 83: kcuf1 */ screen_xterm_256color_s_kcuf1,
++ /* 84: kind */ screen_xterm_256color_s_kind,
++ /* 85: kri */ screen_xterm_256color_s_kri,
++ /* 86: khts */ ABSENT_STRING,
++ /* 87: kcuu1 */ screen_xterm_256color_s_kcuu1,
++ /* 88: rmkx */ screen_xterm_256color_s_rmkx,
++ /* 89: smkx */ screen_xterm_256color_s_smkx,
++ /* 90: lf0 */ ABSENT_STRING,
++ /* 91: lf1 */ ABSENT_STRING,
++ /* 92: lf10 */ ABSENT_STRING,
++ /* 93: lf2 */ ABSENT_STRING,
++ /* 94: lf3 */ ABSENT_STRING,
++ /* 95: lf4 */ ABSENT_STRING,
++ /* 96: lf5 */ ABSENT_STRING,
++ /* 97: lf6 */ ABSENT_STRING,
++ /* 98: lf7 */ ABSENT_STRING,
++ /* 99: lf8 */ ABSENT_STRING,
++ /* 100: lf9 */ ABSENT_STRING,
++ /* 101: rmm */ screen_xterm_256color_s_rmm,
++ /* 102: smm */ screen_xterm_256color_s_smm,
++ /* 103: nel */ ABSENT_STRING,
++ /* 104: pad */ ABSENT_STRING,
++ /* 105: dch */ screen_xterm_256color_s_dch,
++ /* 106: dl */ screen_xterm_256color_s_dl,
++ /* 107: cud */ screen_xterm_256color_s_cud,
++ /* 108: ich */ screen_xterm_256color_s_ich,
++ /* 109: indn */ screen_xterm_256color_s_indn,
++ /* 110: il */ screen_xterm_256color_s_il,
++ /* 111: cub */ screen_xterm_256color_s_cub,
++ /* 112: cuf */ screen_xterm_256color_s_cuf,
++ /* 113: rin */ screen_xterm_256color_s_rin,
++ /* 114: cuu */ screen_xterm_256color_s_cuu,
++ /* 115: pfkey */ ABSENT_STRING,
++ /* 116: pfloc */ ABSENT_STRING,
++ /* 117: pfx */ ABSENT_STRING,
++ /* 118: mc0 */ screen_xterm_256color_s_mc0,
++ /* 119: mc4 */ screen_xterm_256color_s_mc4,
++ /* 120: mc5 */ screen_xterm_256color_s_mc5,
++ /* 121: rep */ ABSENT_STRING,
++ /* 122: rs1 */ screen_xterm_256color_s_rs1,
++ /* 123: rs2 */ screen_xterm_256color_s_rs2,
++ /* 124: rs3 */ ABSENT_STRING,
++ /* 125: rf */ ABSENT_STRING,
++ /* 126: rc */ screen_xterm_256color_s_rc,
++ /* 127: vpa */ screen_xterm_256color_s_vpa,
++ /* 128: sc */ screen_xterm_256color_s_sc,
++ /* 129: ind */ screen_xterm_256color_s_ind,
++ /* 130: ri */ screen_xterm_256color_s_ri,
++ /* 131: sgr */ screen_xterm_256color_s_sgr,
++ /* 132: hts */ screen_xterm_256color_s_hts,
++ /* 133: wind */ ABSENT_STRING,
++ /* 134: ht */ screen_xterm_256color_s_ht,
++ /* 135: tsl */ ABSENT_STRING,
++ /* 136: uc */ ABSENT_STRING,
++ /* 137: hu */ ABSENT_STRING,
++ /* 138: iprog */ ABSENT_STRING,
++ /* 139: ka1 */ ABSENT_STRING,
++ /* 140: ka3 */ ABSENT_STRING,
++ /* 141: kb2 */ screen_xterm_256color_s_kb2,
++ /* 142: kc1 */ ABSENT_STRING,
++ /* 143: kc3 */ ABSENT_STRING,
++ /* 144: mc5p */ ABSENT_STRING,
++ /* 145: rmp */ ABSENT_STRING,
++ /* 146: acsc */ screen_xterm_256color_s_acsc,
++ /* 147: pln */ ABSENT_STRING,
++ /* 148: kcbt */ screen_xterm_256color_s_kcbt,
++ /* 149: smxon */ ABSENT_STRING,
++ /* 150: rmxon */ ABSENT_STRING,
++ /* 151: smam */ screen_xterm_256color_s_smam,
++ /* 152: rmam */ screen_xterm_256color_s_rmam,
++ /* 153: xonc */ ABSENT_STRING,
++ /* 154: xoffc */ ABSENT_STRING,
++ /* 155: enacs */ ABSENT_STRING,
++ /* 156: smln */ ABSENT_STRING,
++ /* 157: rmln */ ABSENT_STRING,
++ /* 158: kbeg */ ABSENT_STRING,
++ /* 159: kcan */ ABSENT_STRING,
++ /* 160: kclo */ ABSENT_STRING,
++ /* 161: kcmd */ ABSENT_STRING,
++ /* 162: kcpy */ ABSENT_STRING,
++ /* 163: kcrt */ ABSENT_STRING,
++ /* 164: kend */ screen_xterm_256color_s_kend,
++ /* 165: kent */ screen_xterm_256color_s_kent,
++ /* 166: kext */ ABSENT_STRING,
++ /* 167: kfnd */ ABSENT_STRING,
++ /* 168: khlp */ ABSENT_STRING,
++ /* 169: kmrk */ ABSENT_STRING,
++ /* 170: kmsg */ ABSENT_STRING,
++ /* 171: kmov */ ABSENT_STRING,
++ /* 172: knxt */ ABSENT_STRING,
++ /* 173: kopn */ ABSENT_STRING,
++ /* 174: kopt */ ABSENT_STRING,
++ /* 175: kprv */ ABSENT_STRING,
++ /* 176: kprt */ ABSENT_STRING,
++ /* 177: krdo */ ABSENT_STRING,
++ /* 178: kref */ ABSENT_STRING,
++ /* 179: krfr */ ABSENT_STRING,
++ /* 180: krpl */ ABSENT_STRING,
++ /* 181: krst */ ABSENT_STRING,
++ /* 182: kres */ ABSENT_STRING,
++ /* 183: ksav */ ABSENT_STRING,
++ /* 184: kspd */ ABSENT_STRING,
++ /* 185: kund */ ABSENT_STRING,
++ /* 186: kBEG */ ABSENT_STRING,
++ /* 187: kCAN */ ABSENT_STRING,
++ /* 188: kCMD */ ABSENT_STRING,
++ /* 189: kCPY */ ABSENT_STRING,
++ /* 190: kCRT */ ABSENT_STRING,
++ /* 191: kDC */ screen_xterm_256color_s_kDC,
++ /* 192: kDL */ ABSENT_STRING,
++ /* 193: kslt */ ABSENT_STRING,
++ /* 194: kEND */ screen_xterm_256color_s_kEND,
++ /* 195: kEOL */ ABSENT_STRING,
++ /* 196: kEXT */ ABSENT_STRING,
++ /* 197: kFND */ ABSENT_STRING,
++ /* 198: kHLP */ ABSENT_STRING,
++ /* 199: kHOM */ screen_xterm_256color_s_kHOM,
++ /* 200: kIC */ ABSENT_STRING,
++ /* 201: kLFT */ screen_xterm_256color_s_kLFT,
++ /* 202: kMSG */ ABSENT_STRING,
++ /* 203: kMOV */ ABSENT_STRING,
++ /* 204: kNXT */ ABSENT_STRING,
++ /* 205: kOPT */ ABSENT_STRING,
++ /* 206: kPRV */ ABSENT_STRING,
++ /* 207: kPRT */ ABSENT_STRING,
++ /* 208: kRDO */ ABSENT_STRING,
++ /* 209: kRPL */ ABSENT_STRING,
++ /* 210: kRIT */ screen_xterm_256color_s_kRIT,
++ /* 211: kRES */ ABSENT_STRING,
++ /* 212: kSAV */ ABSENT_STRING,
++ /* 213: kSPD */ ABSENT_STRING,
++ /* 214: kUND */ ABSENT_STRING,
++ /* 215: rfi */ ABSENT_STRING,
++ /* 216: kf11 */ screen_xterm_256color_s_kf11,
++ /* 217: kf12 */ screen_xterm_256color_s_kf12,
++ /* 218: kf13 */ screen_xterm_256color_s_kf13,
++ /* 219: kf14 */ screen_xterm_256color_s_kf14,
++ /* 220: kf15 */ screen_xterm_256color_s_kf15,
++ /* 221: kf16 */ screen_xterm_256color_s_kf16,
++ /* 222: kf17 */ screen_xterm_256color_s_kf17,
++ /* 223: kf18 */ screen_xterm_256color_s_kf18,
++ /* 224: kf19 */ screen_xterm_256color_s_kf19,
++ /* 225: kf20 */ screen_xterm_256color_s_kf20,
++ /* 226: kf21 */ screen_xterm_256color_s_kf21,
++ /* 227: kf22 */ screen_xterm_256color_s_kf22,
++ /* 228: kf23 */ screen_xterm_256color_s_kf23,
++ /* 229: kf24 */ screen_xterm_256color_s_kf24,
++ /* 230: kf25 */ screen_xterm_256color_s_kf25,
++ /* 231: kf26 */ screen_xterm_256color_s_kf26,
++ /* 232: kf27 */ screen_xterm_256color_s_kf27,
++ /* 233: kf28 */ screen_xterm_256color_s_kf28,
++ /* 234: kf29 */ screen_xterm_256color_s_kf29,
++ /* 235: kf30 */ screen_xterm_256color_s_kf30,
++ /* 236: kf31 */ screen_xterm_256color_s_kf31,
++ /* 237: kf32 */ screen_xterm_256color_s_kf32,
++ /* 238: kf33 */ screen_xterm_256color_s_kf33,
++ /* 239: kf34 */ screen_xterm_256color_s_kf34,
++ /* 240: kf35 */ screen_xterm_256color_s_kf35,
++ /* 241: kf36 */ screen_xterm_256color_s_kf36,
++ /* 242: kf37 */ screen_xterm_256color_s_kf37,
++ /* 243: kf38 */ screen_xterm_256color_s_kf38,
++ /* 244: kf39 */ screen_xterm_256color_s_kf39,
++ /* 245: kf40 */ screen_xterm_256color_s_kf40,
++ /* 246: kf41 */ screen_xterm_256color_s_kf41,
++ /* 247: kf42 */ screen_xterm_256color_s_kf42,
++ /* 248: kf43 */ screen_xterm_256color_s_kf43,
++ /* 249: kf44 */ screen_xterm_256color_s_kf44,
++ /* 250: kf45 */ screen_xterm_256color_s_kf45,
++ /* 251: kf46 */ screen_xterm_256color_s_kf46,
++ /* 252: kf47 */ screen_xterm_256color_s_kf47,
++ /* 253: kf48 */ screen_xterm_256color_s_kf48,
++ /* 254: kf49 */ screen_xterm_256color_s_kf49,
++ /* 255: kf50 */ screen_xterm_256color_s_kf50,
++ /* 256: kf51 */ screen_xterm_256color_s_kf51,
++ /* 257: kf52 */ screen_xterm_256color_s_kf52,
++ /* 258: kf53 */ screen_xterm_256color_s_kf53,
++ /* 259: kf54 */ screen_xterm_256color_s_kf54,
++ /* 260: kf55 */ screen_xterm_256color_s_kf55,
++ /* 261: kf56 */ screen_xterm_256color_s_kf56,
++ /* 262: kf57 */ screen_xterm_256color_s_kf57,
++ /* 263: kf58 */ screen_xterm_256color_s_kf58,
++ /* 264: kf59 */ screen_xterm_256color_s_kf59,
++ /* 265: kf60 */ screen_xterm_256color_s_kf60,
++ /* 266: kf61 */ screen_xterm_256color_s_kf61,
++ /* 267: kf62 */ screen_xterm_256color_s_kf62,
++ /* 268: kf63 */ screen_xterm_256color_s_kf63,
++ /* 269: el1 */ screen_xterm_256color_s_el1,
++ /* 270: mgc */ ABSENT_STRING,
++ /* 271: smgl */ ABSENT_STRING,
++ /* 272: smgr */ ABSENT_STRING,
++ /* 273: fln */ ABSENT_STRING,
++ /* 274: sclk */ ABSENT_STRING,
++ /* 275: dclk */ ABSENT_STRING,
++ /* 276: rmclk */ ABSENT_STRING,
++ /* 277: cwin */ ABSENT_STRING,
++ /* 278: wingo */ ABSENT_STRING,
++ /* 279: hup */ ABSENT_STRING,
++ /* 280: dial */ ABSENT_STRING,
++ /* 281: qdial */ ABSENT_STRING,
++ /* 282: tone */ ABSENT_STRING,
++ /* 283: pulse */ ABSENT_STRING,
++ /* 284: hook */ ABSENT_STRING,
++ /* 285: pause */ ABSENT_STRING,
++ /* 286: wait */ ABSENT_STRING,
++ /* 287: u0 */ ABSENT_STRING,
++ /* 288: u1 */ ABSENT_STRING,
++ /* 289: u2 */ ABSENT_STRING,
++ /* 290: u3 */ ABSENT_STRING,
++ /* 291: u4 */ ABSENT_STRING,
++ /* 292: u5 */ ABSENT_STRING,
++ /* 293: u6 */ screen_xterm_256color_s_u6,
++ /* 294: u7 */ screen_xterm_256color_s_u7,
++ /* 295: u8 */ screen_xterm_256color_s_u8,
++ /* 296: u9 */ screen_xterm_256color_s_u9,
++ /* 297: op */ screen_xterm_256color_s_op,
++ /* 298: oc */ ABSENT_STRING,
++ /* 299: initc */ ABSENT_STRING,
++ /* 300: initp */ ABSENT_STRING,
++ /* 301: scp */ ABSENT_STRING,
++ /* 302: setf */ ABSENT_STRING,
++ /* 303: setb */ ABSENT_STRING,
++ /* 304: cpi */ ABSENT_STRING,
++ /* 305: lpi */ ABSENT_STRING,
++ /* 306: chr */ ABSENT_STRING,
++ /* 307: cvr */ ABSENT_STRING,
++ /* 308: defc */ ABSENT_STRING,
++ /* 309: swidm */ ABSENT_STRING,
++ /* 310: sdrfq */ ABSENT_STRING,
++ /* 311: sitm */ ABSENT_STRING,
++ /* 312: slm */ ABSENT_STRING,
++ /* 313: smicm */ ABSENT_STRING,
++ /* 314: snlq */ ABSENT_STRING,
++ /* 315: snrmq */ ABSENT_STRING,
++ /* 316: sshm */ ABSENT_STRING,
++ /* 317: ssubm */ ABSENT_STRING,
++ /* 318: ssupm */ ABSENT_STRING,
++ /* 319: sum */ ABSENT_STRING,
++ /* 320: rwidm */ ABSENT_STRING,
++ /* 321: ritm */ ABSENT_STRING,
++ /* 322: rlm */ ABSENT_STRING,
++ /* 323: rmicm */ ABSENT_STRING,
++ /* 324: rshm */ ABSENT_STRING,
++ /* 325: rsubm */ ABSENT_STRING,
++ /* 326: rsupm */ ABSENT_STRING,
++ /* 327: rum */ ABSENT_STRING,
++ /* 328: mhpa */ ABSENT_STRING,
++ /* 329: mcud1 */ ABSENT_STRING,
++ /* 330: mcub1 */ ABSENT_STRING,
++ /* 331: mcuf1 */ ABSENT_STRING,
++ /* 332: mvpa */ ABSENT_STRING,
++ /* 333: mcuu1 */ ABSENT_STRING,
++ /* 334: porder */ ABSENT_STRING,
++ /* 335: mcud */ ABSENT_STRING,
++ /* 336: mcub */ ABSENT_STRING,
++ /* 337: mcuf */ ABSENT_STRING,
++ /* 338: mcuu */ ABSENT_STRING,
++ /* 339: scs */ ABSENT_STRING,
++ /* 340: smgb */ ABSENT_STRING,
++ /* 341: smgbp */ ABSENT_STRING,
++ /* 342: smglp */ ABSENT_STRING,
++ /* 343: smgrp */ ABSENT_STRING,
++ /* 344: smgt */ ABSENT_STRING,
++ /* 345: smgtp */ ABSENT_STRING,
++ /* 346: sbim */ ABSENT_STRING,
++ /* 347: scsd */ ABSENT_STRING,
++ /* 348: rbim */ ABSENT_STRING,
++ /* 349: rcsd */ ABSENT_STRING,
++ /* 350: subcs */ ABSENT_STRING,
++ /* 351: supcs */ ABSENT_STRING,
++ /* 352: docr */ ABSENT_STRING,
++ /* 353: zerom */ ABSENT_STRING,
++ /* 354: csnm */ ABSENT_STRING,
++ /* 355: kmous */ screen_xterm_256color_s_kmous,
++ /* 356: minfo */ ABSENT_STRING,
++ /* 357: reqmp */ ABSENT_STRING,
++ /* 358: getm */ ABSENT_STRING,
++ /* 359: setaf */ screen_xterm_256color_s_setaf,
++ /* 360: setab */ screen_xterm_256color_s_setab,
++ /* 361: pfxl */ ABSENT_STRING,
++ /* 362: devt */ ABSENT_STRING,
++ /* 363: csin */ ABSENT_STRING,
++ /* 364: s0ds */ ABSENT_STRING,
++ /* 365: s1ds */ ABSENT_STRING,
++ /* 366: s2ds */ ABSENT_STRING,
++ /* 367: s3ds */ ABSENT_STRING,
++ /* 368: smglr */ ABSENT_STRING,
++ /* 369: smgtb */ ABSENT_STRING,
++ /* 370: birep */ ABSENT_STRING,
++ /* 371: binel */ ABSENT_STRING,
++ /* 372: bicr */ ABSENT_STRING,
++ /* 373: colornm */ ABSENT_STRING,
++ /* 374: defbi */ ABSENT_STRING,
++ /* 375: endbi */ ABSENT_STRING,
++ /* 376: setcolor */ ABSENT_STRING,
++ /* 377: slines */ ABSENT_STRING,
++ /* 378: dispc */ ABSENT_STRING,
++ /* 379: smpch */ ABSENT_STRING,
++ /* 380: rmpch */ ABSENT_STRING,
++ /* 381: smsc */ ABSENT_STRING,
++ /* 382: rmsc */ ABSENT_STRING,
++ /* 383: pctrm */ ABSENT_STRING,
++ /* 384: scesc */ ABSENT_STRING,
++ /* 385: scesa */ ABSENT_STRING,
++ /* 386: ehhlm */ ABSENT_STRING,
++ /* 387: elhlm */ ABSENT_STRING,
++ /* 388: elohlm */ ABSENT_STRING,
++ /* 389: erhlm */ ABSENT_STRING,
++ /* 390: ethlm */ ABSENT_STRING,
++ /* 391: evhlm */ ABSENT_STRING,
++ /* 392: sgr1 */ ABSENT_STRING,
++ /* 393: slength */ ABSENT_STRING,
++ /* 394: OTi2 */ ABSENT_STRING,
++ /* 395: OTrs */ ABSENT_STRING,
++ /* 396: OTnl */ ABSENT_STRING,
++ /* 397: OTbc */ ABSENT_STRING,
++ /* 398: OTko */ ABSENT_STRING,
++ /* 399: OTma */ ABSENT_STRING,
++ /* 400: OTG2 */ ABSENT_STRING,
++ /* 401: OTG3 */ ABSENT_STRING,
++ /* 402: OTG1 */ ABSENT_STRING,
++ /* 403: OTG4 */ ABSENT_STRING,
++ /* 404: OTGR */ ABSENT_STRING,
++ /* 405: OTGL */ ABSENT_STRING,
++ /* 406: OTGU */ ABSENT_STRING,
++ /* 407: OTGD */ ABSENT_STRING,
++ /* 408: OTGH */ ABSENT_STRING,
++ /* 409: OTGV */ ABSENT_STRING,
++ /* 410: OTGC */ ABSENT_STRING,
++ /* 411: meml */ ABSENT_STRING,
++ /* 412: memu */ ABSENT_STRING,
++ /* 413: box1 */ ABSENT_STRING,
++};
++static const TERMTYPE2 fallbacks[10] =
++{
++ /* linux */
++ {
++ linux_alias_data,
++ (char *)0, /* pointer to string table */
++ linux_bool_data,
++ linux_number_data,
++ linux_string_data,
++#if NCURSES_XNAMES
++ (char *)0, /* pointer to extended string table */
++ (char **)0, /* ...corresponding names */
++ 44, /* count total Booleans */
++ 39, /* count total Numbers */
++ 414, /* count total Strings */
++ 0, /* count extensions to Booleans */
++ 0, /* count extensions to Numbers */
++ 0, /* count extensions to Strings */
++#endif /* NCURSES_XNAMES */
++ }
++, /* rxvt */
++ {
++ rxvt_alias_data,
++ (char *)0, /* pointer to string table */
++ rxvt_bool_data,
++ rxvt_number_data,
++ rxvt_string_data,
++#if NCURSES_XNAMES
++ (char *)0, /* pointer to extended string table */
++ (char **)0, /* ...corresponding names */
++ 44, /* count total Booleans */
++ 39, /* count total Numbers */
++ 414, /* count total Strings */
++ 0, /* count extensions to Booleans */
++ 0, /* count extensions to Numbers */
++ 0, /* count extensions to Strings */
++#endif /* NCURSES_XNAMES */
++ }
++, /* vt100 */
++ {
++ vt100_alias_data,
++ (char *)0, /* pointer to string table */
++ vt100_bool_data,
++ vt100_number_data,
++ vt100_string_data,
++#if NCURSES_XNAMES
++ (char *)0, /* pointer to extended string table */
++ (char **)0, /* ...corresponding names */
++ 44, /* count total Booleans */
++ 39, /* count total Numbers */
++ 414, /* count total Strings */
++ 0, /* count extensions to Booleans */
++ 0, /* count extensions to Numbers */
++ 0, /* count extensions to Strings */
++#endif /* NCURSES_XNAMES */
++ }
++, /* xterm */
++ {
++ xterm_alias_data,
++ (char *)0, /* pointer to string table */
++ xterm_bool_data,
++ xterm_number_data,
++ xterm_string_data,
++#if NCURSES_XNAMES
++ (char *)0, /* pointer to extended string table */
++ (char **)0, /* ...corresponding names */
++ 44, /* count total Booleans */
++ 39, /* count total Numbers */
++ 414, /* count total Strings */
++ 0, /* count extensions to Booleans */
++ 0, /* count extensions to Numbers */
++ 0, /* count extensions to Strings */
++#endif /* NCURSES_XNAMES */
++ }
++, /* xterm-256color */
++ {
++ xterm_256color_alias_data,
++ (char *)0, /* pointer to string table */
++ xterm_256color_bool_data,
++ xterm_256color_number_data,
++ xterm_256color_string_data,
++#if NCURSES_XNAMES
++ (char *)0, /* pointer to extended string table */
++ (char **)0, /* ...corresponding names */
++ 44, /* count total Booleans */
++ 39, /* count total Numbers */
++ 414, /* count total Strings */
++ 0, /* count extensions to Booleans */
++ 0, /* count extensions to Numbers */
++ 0, /* count extensions to Strings */
++#endif /* NCURSES_XNAMES */
++ }
++, /* screen */
++ {
++ screen_alias_data,
++ (char *)0, /* pointer to string table */
++ screen_bool_data,
++ screen_number_data,
++ screen_string_data,
++#if NCURSES_XNAMES
++ (char *)0, /* pointer to extended string table */
++ (char **)0, /* ...corresponding names */
++ 44, /* count total Booleans */
++ 39, /* count total Numbers */
++ 414, /* count total Strings */
++ 0, /* count extensions to Booleans */
++ 0, /* count extensions to Numbers */
++ 0, /* count extensions to Strings */
++#endif /* NCURSES_XNAMES */
++ }
++, /* screen.linux */
++ {
++ screen_linux_alias_data,
++ (char *)0, /* pointer to string table */
++ screen_linux_bool_data,
++ screen_linux_number_data,
++ screen_linux_string_data,
++#if NCURSES_XNAMES
++ (char *)0, /* pointer to extended string table */
++ (char **)0, /* ...corresponding names */
++ 44, /* count total Booleans */
++ 39, /* count total Numbers */
++ 414, /* count total Strings */
++ 0, /* count extensions to Booleans */
++ 0, /* count extensions to Numbers */
++ 0, /* count extensions to Strings */
++#endif /* NCURSES_XNAMES */
++ }
++, /* screen.rxvt */
++ {
++ screen_rxvt_alias_data,
++ (char *)0, /* pointer to string table */
++ screen_rxvt_bool_data,
++ screen_rxvt_number_data,
++ screen_rxvt_string_data,
++#if NCURSES_XNAMES
++ (char *)0, /* pointer to extended string table */
++ (char **)0, /* ...corresponding names */
++ 44, /* count total Booleans */
++ 39, /* count total Numbers */
++ 414, /* count total Strings */
++ 0, /* count extensions to Booleans */
++ 0, /* count extensions to Numbers */
++ 0, /* count extensions to Strings */
++#endif /* NCURSES_XNAMES */
++ }
++, /* screen.xterm-new */
++ {
++ screen_xterm_xfree86_alias_data,
++ (char *)0, /* pointer to string table */
++ screen_xterm_xfree86_bool_data,
++ screen_xterm_xfree86_number_data,
++ screen_xterm_xfree86_string_data,
++#if NCURSES_XNAMES
++ (char *)0, /* pointer to extended string table */
++ (char **)0, /* ...corresponding names */
++ 44, /* count total Booleans */
++ 39, /* count total Numbers */
++ 414, /* count total Strings */
++ 0, /* count extensions to Booleans */
++ 0, /* count extensions to Numbers */
++ 0, /* count extensions to Strings */
++#endif /* NCURSES_XNAMES */
++ }
++, /* screen.xterm-256color */
++ {
++ screen_xterm_256color_alias_data,
++ (char *)0, /* pointer to string table */
++ screen_xterm_256color_bool_data,
++ screen_xterm_256color_number_data,
++ screen_xterm_256color_string_data,
++#if NCURSES_XNAMES
++ (char *)0, /* pointer to extended string table */
++ (char **)0, /* ...corresponding names */
++ 44, /* count total Booleans */
++ 39, /* count total Numbers */
++ 414, /* count total Strings */
++ 0, /* count extensions to Booleans */
++ 0, /* count extensions to Numbers */
++ 0, /* count extensions to Strings */
++#endif /* NCURSES_XNAMES */
++ }
++};
++
++NCURSES_EXPORT(const TERMTYPE2 *)
++_nc_fallback2 (const char *name GCC_UNUSED)
++{
++ const TERMTYPE2 *tp;
++
++ for (tp = fallbacks;
++ tp < fallbacks + sizeof(fallbacks)/sizeof(TERMTYPE2);
++ tp++) {
++ if (_nc_name_match(tp->term_names, name, "|")) {
++ return(tp);
++ }
++ }
++ return((const TERMTYPE2 *)0);
++}
++
++#if NCURSES_EXT_NUMBERS
++#undef _nc_fallback
++
++/*
++ * This entrypoint is used by tack.
++ */
++NCURSES_EXPORT(const TERMTYPE *)
++_nc_fallback (const char *name)
++{
++ const TERMTYPE2 *tp = _nc_fallback2(name);
++ const TERMTYPE *result = 0;
++ if (tp != 0) {
++ static TERMTYPE temp;
++ _nc_export_termtype2(&temp, tp);
++ result = &temp;
++ }
++ return result;
++}
++#endif
+diff --git a/contrib/depends/patches/polyseed/0001-disable-soname.patch b/contrib/depends/patches/polyseed/0001-disable-soname.patch
+new file mode 100644
+index 00000000..bd97dd39
+--- /dev/null
++++ b/contrib/depends/patches/polyseed/0001-disable-soname.patch
+@@ -0,0 +1,48 @@
++From aabafcfc0572651436d024a635483c49042fad7f Mon Sep 17 00:00:00 2001
++From: Czarek Nakamoto <cyjan@mrcyjanek.net>
++Date: Thu, 28 Mar 2024 00:32:51 +0100
++Subject: [PATCH] disable soname
++
++---
++ CMakeLists.txt | 16 +++++++++-------
++ 1 file changed, 9 insertions(+), 7 deletions(-)
++
++diff --git a/CMakeLists.txt b/CMakeLists.txt
++index 8a8e7c2..5301353 100644
++--- a/CMakeLists.txt
+++++ b/CMakeLists.txt
++@@ -36,6 +36,7 @@ include_directories(polyseed
++ target_compile_definitions(polyseed PRIVATE POLYSEED_SHARED)
++ set_target_properties(polyseed PROPERTIES VERSION 2.0.0
++ SOVERSION 2
+++ NO_SONAME 1
++ C_STANDARD 11
++ C_STANDARD_REQUIRED ON)
++
++@@ -45,16 +46,17 @@ include_directories(polyseed_static
++ include/)
++ target_compile_definitions(polyseed_static PRIVATE POLYSEED_STATIC)
++ set_target_properties(polyseed_static PROPERTIES OUTPUT_NAME polyseed
+++ NO_SONAME 1
++ C_STANDARD 11
++ C_STANDARD_REQUIRED ON)
++
++-add_executable(polyseed-tests
++- tests/tests.c)
++-include_directories(polyseed-tests
++- include/)
++-target_compile_definitions(polyseed-tests PRIVATE POLYSEED_STATIC)
++-target_link_libraries(polyseed-tests
++- PRIVATE polyseed_static)
+++# add_executable(polyseed-tests
+++# tests/tests.c)
+++# include_directories(polyseed-tests
+++# include/)
+++# target_compile_definitions(polyseed-tests PRIVATE POLYSEED_STATIC)
+++# target_link_libraries(polyseed-tests
+++# PRIVATE polyseed_static)
++
++ include(GNUInstallDirs)
++ install(TARGETS polyseed polyseed_static
++--
++2.39.2
+diff --git a/contrib/depends/patches/polyseed/force-static-mingw.patch b/contrib/depends/patches/polyseed/force-static-mingw.patch
+new file mode 100644
+index 00000000..f05cb2b6
+--- /dev/null
++++ b/contrib/depends/patches/polyseed/force-static-mingw.patch
+@@ -0,0 +1,23 @@
++--- a/include/polyseed.h
+++++ b/include/polyseed.h
++@@ -93,13 +93,13 @@ Shared/static library definitions
++ - define POLYSEED_STATIC when linking to the static library
++ */
++ #if defined(_WIN32) || defined(__CYGWIN__)
++- #ifdef POLYSEED_SHARED
++- #define POLYSEED_API __declspec(dllexport)
++- #elif !defined(POLYSEED_STATIC)
++- #define POLYSEED_API __declspec(dllimport)
++- #else
++- #define POLYSEED_API
++- #endif
+++// #ifdef POLYSEED_SHARED
+++// #define POLYSEED_API __declspec(dllexport)
+++// #elif !defined(POLYSEED_STATIC)
+++// #define POLYSEED_API __declspec(dllimport)
+++// #else
+++ #define POLYSEED_API
+++// #endif
++ #define POLYSEED_PRIVATE
++ #else
++ #ifdef POLYSEED_SHARED
+diff --git a/contrib/depends/patches/protobuf/visibility.patch b/contrib/depends/patches/protobuf/visibility.patch
+new file mode 100644
+index 00000000..e66d5961
+--- /dev/null
++++ b/contrib/depends/patches/protobuf/visibility.patch
+@@ -0,0 +1,159 @@
++--- src/google/protobuf/descriptor.cc.O 2018-07-30 22:16:10.000000000 +0000
+++++ src/google/protobuf/descriptor.cc 2022-05-06 13:38:14.827309092 +0000
++@@ -32,6 +32,9 @@
++ // Based on original Protocol Buffers design by
++ // Sanjay Ghemawat, Jeff Dean, and others.
++
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility push(hidden)
+++#endif
++ #include <algorithm>
++ #include <functional>
++ #include <google/protobuf/stubs/hash.h>
++@@ -7274,3 +7277,6 @@
++
++ } // namespace protobuf
++ } // namespace google
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility pop
+++#endif
++--- src/google/protobuf/extension_set.cc.O 2018-07-23 20:56:42.000000000 +0000
+++++ src/google/protobuf/extension_set.cc 2022-05-06 14:48:55.369877050 +0000
++@@ -32,6 +32,9 @@
++ // Based on original Protocol Buffers design by
++ // Sanjay Ghemawat, Jeff Dean, and others.
++
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility push(hidden)
+++#endif
++ #include <google/protobuf/stubs/hash.h>
++ #include <tuple>
++ #include <utility>
++@@ -1914,3 +1917,6 @@
++ } // namespace internal
++ } // namespace protobuf
++ } // namespace google
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility pop
+++#endif
++--- src/google/protobuf/extension_set_heavy.cc.O 2018-07-30 22:16:10.000000000 +0000
+++++ src/google/protobuf/extension_set_heavy.cc 2022-05-06 14:14:27.847320946 +0000
++@@ -35,6 +35,10 @@
++ // Contains methods defined in extension_set.h which cannot be part of the
++ // lite library because they use descriptors or reflection.
++
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility push(hidden)
+++#endif
+++
++ #include <google/protobuf/stubs/casts.h>
++ #include <google/protobuf/descriptor.pb.h>
++ #include <google/protobuf/io/coded_stream.h>
++@@ -814,3 +818,6 @@
++ } // namespace internal
++ } // namespace protobuf
++ } // namespace google
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility pop
+++#endif
++--- src/google/protobuf/generated_message_reflection.cc.O 2018-07-23 20:56:42.000000000 +0000
+++++ src/google/protobuf/generated_message_reflection.cc 2022-05-06 13:38:49.655540772 +0000
++@@ -32,6 +32,9 @@
++ // Based on original Protocol Buffers design by
++ // Sanjay Ghemawat, Jeff Dean, and others.
++
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility push(hidden)
+++#endif
++ #include <algorithm>
++ #include <set>
++
++@@ -2420,3 +2423,6 @@
++ } // namespace internal
++ } // namespace protobuf
++ } // namespace google
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility pop
+++#endif
++--- src/google/protobuf/map_field.cc.O 2018-07-23 20:56:42.000000000 +0000
+++++ src/google/protobuf/map_field.cc 2022-05-06 13:34:44.913905697 +0000
++@@ -28,6 +28,10 @@
++ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
++
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility push(hidden)
+++#endif
+++
++ #include <google/protobuf/map_field.h>
++ #include <google/protobuf/map_field_inl.h>
++
++@@ -462,3 +466,6 @@
++ } // namespace internal
++ } // namespace protobuf
++ } // namespace google
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility pop
+++#endif
++--- src/google/protobuf/text_format.cc.O 2018-07-30 22:16:11.000000000 +0000
+++++ src/google/protobuf/text_format.cc 2022-05-06 13:34:58.881999517 +0000
++@@ -32,6 +32,10 @@
++ // Based on original Protocol Buffers design by
++ // Sanjay Ghemawat, Jeff Dean, and others.
++
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility push(hidden)
+++#endif
+++
++ #include <algorithm>
++ #include <float.h>
++ #include <math.h>
++@@ -2258,3 +2262,6 @@
++
++ } // namespace protobuf
++ } // namespace google
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility pop
+++#endif
++--- src/google/protobuf/wire_format.cc.O 2018-07-23 20:56:42.000000000 +0000
+++++ src/google/protobuf/wire_format.cc 2022-05-06 13:06:23.294219228 +0000
++@@ -32,6 +32,10 @@
++ // Based on original Protocol Buffers design by
++ // Sanjay Ghemawat, Jeff Dean, and others.
++
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility push(hidden)
+++#endif
+++
++ #include <stack>
++ #include <string>
++ #include <vector>
++@@ -1445,3 +1449,7 @@
++ } // namespace internal
++ } // namespace protobuf
++ } // namespace google
+++
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility pop
+++#endif
++--- src/google/protobuf/stubs/status.cc.O 2018-07-23 20:56:42.000000000 +0000
+++++ src/google/protobuf/stubs/status.cc 2022-05-06 15:18:53.393208814 +0000
++@@ -27,6 +27,11 @@
++ // THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
++ // (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
++ // OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
+++
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility push(hidden)
+++#endif
+++
++ #include <google/protobuf/stubs/status.h>
++
++ #include <ostream>
++@@ -132,3 +137,6 @@
++ } // namespace util
++ } // namespace protobuf
++ } // namespace google
+++#if defined(__APPLE__) && defined(__arm64__)
+++#pragma GCC visibility pop
+++#endif
+diff --git a/contrib/depends/patches/sodium/disable-glibc-getrandom-getentropy.patch b/contrib/depends/patches/sodium/disable-glibc-getrandom-getentropy.patch
+new file mode 100644
+index 00000000..2f07c105
+--- /dev/null
++++ b/contrib/depends/patches/sodium/disable-glibc-getrandom-getentropy.patch
+@@ -0,0 +1,25 @@
++diff --git a/configure.ac b/configure.ac
++index 9e2de27c..0fa85c2d 100644
++--- a/configure.ac
+++++ b/configure.ac
++@@ -807,6 +807,10 @@ AS_IF([test "x$EMSCRIPTEN" = "x"],[
++ # include <sys/random.h>
++ #endif
++ ]], [[
+++#ifdef __linux__
+++# error getrandom() is currently disabled on Linux to support glibc < 2.25
+++#endif
+++
++ unsigned char buf;
++ (void) getrandom((void *) &buf, 1U, 0U);
++ ]])],
++@@ -825,6 +829,9 @@ unsigned char buf;
++ # include <sys/random.h>
++ #endif
++ ]], [[
+++#ifdef __linux__
+++# error getentropy() is currently disabled on Linux to support glibc < 2.25
+++#endif
++ #ifdef __APPLE__
++ # error getentropy() is currently disabled on Apple operating systems
++ #endif
+diff --git a/contrib/depends/patches/sodium/fix-whitespace.patch b/contrib/depends/patches/sodium/fix-whitespace.patch
+new file mode 100644
+index 00000000..c3d3af0b
+--- /dev/null
++++ b/contrib/depends/patches/sodium/fix-whitespace.patch
+@@ -0,0 +1,13 @@
++diff --git a/configure b/configure
++index b29f769..ca008ae 100755
++--- a/configure
+++++ b/configure
++@@ -591,7 +591,7 @@ MAKEFLAGS=
++ PACKAGE_NAME='libsodium'
++ PACKAGE_TARNAME='libsodium'
++ PACKAGE_VERSION='1.0.18'
++-PACKAGE_STRING='libsodium 1.0.18'
+++PACKAGE_STRING='libsodium'
++ PACKAGE_BUGREPORT='https://github.com/jedisct1/libsodium/issues'
++ PACKAGE_URL='https://github.com/jedisct1/libsodium'
++
+diff --git a/contrib/depends/patches/unbound/disable-glibc-reallocarray.patch b/contrib/depends/patches/unbound/disable-glibc-reallocarray.patch
+new file mode 100644
+index 00000000..d66a821a
+--- /dev/null
++++ b/contrib/depends/patches/unbound/disable-glibc-reallocarray.patch
+@@ -0,0 +1,14 @@
++diff --git a/configure.ac b/configure.ac
++index 5c7da197..e2b25288 100644
++--- a/configure.ac
+++++ b/configure.ac
++@@ -1702,6 +1702,9 @@ AC_LINK_IFELSE([AC_LANG_SOURCE(AC_INCLUDES_DEFAULT
++ #ifndef _OPENBSD_SOURCE
++ #define _OPENBSD_SOURCE 1
++ #endif
+++#ifdef __linux__
+++# error reallocarray() is currently disabled on Linux to support glibc < 2.26
+++#endif
++ #include <stdlib.h>
++ int main(void) {
++ void* p = reallocarray(NULL, 10, 100);
+diff --git a/contrib/depends/patches/unwind/fix_obj_order.patch b/contrib/depends/patches/unwind/fix_obj_order.patch
+new file mode 100644
+index 00000000..e764f0f3
+--- /dev/null
++++ b/contrib/depends/patches/unwind/fix_obj_order.patch
+@@ -0,0 +1,11 @@
++--- config/ltmain.sh.0 2020-11-10 17:25:26.000000000 +0100
+++++ config/ltmain.sh 2021-09-11 19:39:36.000000000 +0200
++@@ -10768,6 +10768,8 @@
++ fi
++ func_to_tool_file "$oldlib" func_convert_file_msys_to_w32
++ tool_oldlib=$func_to_tool_file_result
+++ oldobjs=`for obj in $oldobjs; do echo $obj; done | sort`
+++ oldobjs=" `echo $oldobjs`"
++ eval cmds=\"$old_archive_cmds\"
++
++ func_len " $cmds"
+diff --git a/contrib/depends/patches/zeromq/06aba27b04c5822cb88a69677382a0f053367143.patch b/contrib/depends/patches/zeromq/06aba27b04c5822cb88a69677382a0f053367143.patch
+new file mode 100644
+index 00000000..53e18a45
+--- /dev/null
++++ b/contrib/depends/patches/zeromq/06aba27b04c5822cb88a69677382a0f053367143.patch
+@@ -0,0 +1,22 @@
++From 06aba27b04c5822cb88a69677382a0f053367143 Mon Sep 17 00:00:00 2001
++From: sabotagebeats <27985126+sabotagebeats@users.noreply.github.com>
++Date: Thu, 22 Jul 2021 21:53:19 -0700
++Subject: [PATCH] fix: building libzmq fails with error src/clock.cpp:131:16:
++ error: unused variable 'nsecs_per_usec'
++
++---
++ src/clock.cpp | 1 +
++ 1 file changed, 1 insertion(+)
++
++diff --git a/src/clock.cpp b/src/clock.cpp
++index 93da90a8e..63c0100a5 100644
++--- a/src/clock.cpp
+++++ b/src/clock.cpp
++@@ -195,6 +195,7 @@ uint64_t zmq::clock_t::now_us ()
++
++ #else
++
+++ LIBZMQ_UNUSED (nsecs_per_usec);
++ // Use POSIX gettimeofday function to get precise time.
++ struct timeval tv;
++ int rc = gettimeofday (&tv, NULL);
+diff --git a/contrib/depends/protobuf.mk b/contrib/depends/protobuf.mk
+new file mode 100644
+index 00000000..54d3fd92
+--- /dev/null
++++ b/contrib/depends/protobuf.mk
+@@ -0,0 +1,29 @@
++package=protobuf
++$(package)_version=$(native_$(package)_version)
++$(package)_download_path=$(native_$(package)_download_path)
++$(package)_file_name=$(native_$(package)_file_name)
++$(package)_sha256_hash=$(native_$(package)_sha256_hash)
++$(package)_dependencies=native_$(package)
++$(package)_cxxflags=-std=c++11
++
++define $(package)_set_vars
++ $(package)_config_opts=--disable-shared --with-protoc=$(build_prefix)/bin/protoc
++ $(package)_config_opts_linux=--with-pic
++endef
++
++define $(package)_config_cmds
++ $($(package)_autoconf)
++endef
++
++define $(package)_build_cmds
++ $(MAKE) -C src libprotobuf.la
++endef
++
++define $(package)_stage_cmds
++ $(MAKE) DESTDIR=$($(package)_staging_dir) -C src install-libLTLIBRARIES install-nobase_includeHEADERS &&\
++ $(MAKE) DESTDIR=$($(package)_staging_dir) install-pkgconfigDATA
++endef
++
++define $(package)_postprocess_cmds
++ rm lib/libprotoc.a
++endef
+diff --git a/contrib/depends/toolchain.cmake.in b/contrib/depends/toolchain.cmake.in
+new file mode 100644
+index 00000000..f118c754
+--- /dev/null
++++ b/contrib/depends/toolchain.cmake.in
+@@ -0,0 +1,176 @@
++# Set the system name to one of Android, Darwin, FreeBSD, Linux, or Windows
++SET(CMAKE_SYSTEM_NAME @depends@)
++SET(CMAKE_SYSTEM_PROCESSOR @arch@)
++SET(CMAKE_BUILD_TYPE @release_type@)
++
++OPTION(STATIC "Link libraries statically" ON)
++OPTION(TREZOR_DEBUG "Main trezor debugging switch" OFF)
++OPTION(BUILD_TESTS "Build tests." OFF)
++
++SET(STATIC ON)
++SET(UNBOUND_STATIC ON)
++SET(ARCH "default")
++
++SET(BUILD_TESTS @build_tests@)
++SET(TREZOR_DEBUG @build_tests@)
++
++# where is the target environment
++SET(CMAKE_FIND_ROOT_PATH @prefix@ /usr)
++
++SET(ENV{PKG_CONFIG_PATH} @prefix@/lib/pkgconfig)
++
++SET(Readline_ROOT_DIR @prefix@)
++SET(Readline_INCLUDE_DIR @prefix@/include)
++SET(Readline_LIBRARY @prefix@/lib/libreadline.a)
++SET(Terminfo_LIBRARY @prefix@/lib/libtinfo.a)
++
++SET(UNBOUND_INCLUDE_DIR @prefix@/include)
++SET(UNBOUND_LIBRARIES @prefix@/lib/libunbound.a)
++
++if(NOT CMAKE_SYSTEM_NAME STREQUAL "Android")
++SET(LIBUNWIND_INCLUDE_DIR @prefix@/include)
++SET(LIBUNWIND_LIBRARIES @prefix@/lib/libunwind.a)
++SET(LIBUNWIND_LIBRARY_DIRS @prefix@/lib)
++
++if(NOT CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
++SET(LIBUSB-1.0_LIBRARY @prefix@/lib/libusb-1.0.a)
++SET(LIBUDEV_LIBRARY @prefix@/lib/libudev.a)
++
++SET(Protobuf_FOUND 1)
++SET(Protobuf_PROTOC_EXECUTABLE @prefix@/native/bin/protoc CACHE FILEPATH "Path to the native protoc")
++SET(Protobuf_INCLUDE_DIR @prefix@/include CACHE PATH "Protobuf include dir")
++SET(Protobuf_INCLUDE_DIRS @prefix@/include CACHE PATH "Protobuf include dir")
++SET(Protobuf_LIBRARY @prefix@/lib/libprotobuf.a CACHE FILEPATH "Protobuf library")
++endif()
++
++endif()
++
++SET(ZMQ_INCLUDE_PATH @prefix@/include)
++SET(ZMQ_LIB @prefix@/lib/libzmq.a)
++
++SET(Boost_IGNORE_SYSTEM_PATH ON)
++SET(BOOST_ROOT @prefix@)
++SET(BOOST_INCLUDEDIR @prefix@/include)
++SET(BOOST_LIBRARYDIR @prefix@/lib)
++SET(Boost_IGNORE_SYSTEM_PATHS_DEFAULT OFF)
++SET(Boost_NO_SYSTEM_PATHS ON)
++SET(Boost_USE_STATIC_LIBS ON)
++SET(Boost_USE_STATIC_RUNTIME ON)
++
++SET(OPENSSL_ROOT_DIR @prefix@)
++SET(ARCHITECTURE @arch@)
++
++# for libraries and headers in the target directories
++set (CMAKE_FIND_ROOT_PATH_MODE_PROGRAM NEVER) # Find programs on host
++set (CMAKE_FIND_ROOT_PATH_MODE_LIBRARY ONLY) # Find libs in target
++set (CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY) # Find includes in target
++
++# specify the cross compiler to be used. Darwin uses clang provided by the SDK.
++if(CMAKE_SYSTEM_NAME STREQUAL "Darwin")
++ if(ARCHITECTURE STREQUAL "aarch64")
++ SET(CLANG_TARGET "arm64-apple-darwin11")
++ SET(CONF_TRIPLE "aarch64-apple-darwin11")
++ SET(BUILD_TAG "mac-armv8")
++ SET(CMAKE_OSX_ARCHITECTURES "arm64")
++ set(ARM ON)
++ set(ARM_ID "armv8-a")
++ else()
++ SET(CLANG_TARGET "x86_64-apple-darwin11")
++ SET(CONF_TRIPLE "x86_64-apple-darwin11")
++ SET(BUILD_TAG "mac-x64")
++ SET(CMAKE_OSX_ARCHITECTURES "x86_64")
++ endif()
++ SET(_CMAKE_TOOLCHAIN_PREFIX @prefix@/native/bin/${CONF_TRIPLE}-)
++ SET(CMAKE_C_COMPILER @prefix@/native/bin/clang)
++ SET(CMAKE_C_COMPILER_TARGET ${CLANG_TARGET})
++ SET(CMAKE_C_FLAGS_INIT -B${_CMAKE_TOOLCHAIN_PREFIX})
++ SET(CMAKE_CXX_COMPILER @prefix@/native/bin/clang++ -stdlib=libc++)
++ SET(CMAKE_CXX_COMPILER_TARGET ${CLANG_TARGET})
++ SET(CMAKE_CXX_FLAGS_INIT -B${_CMAKE_TOOLCHAIN_PREFIX})
++ SET(CMAKE_ASM_COMPILER_TARGET ${CLANG_TARGET})
++ SET(CMAKE_ASM-ATT_COMPILER_TARGET ${CLANG_TARGET})
++ SET(APPLE True)
++ SET(BUILD_64 ON)
++ SET(BREW OFF)
++ SET(PORT OFF)
++ SET(CMAKE_OSX_SYSROOT "@prefix@/native/SDK/")
++ SET(CMAKE_OSX_DEPLOYMENT_TARGET "10.08")
++ SET(CMAKE_CXX_STANDARD 14)
++ SET(LLVM_ENABLE_PIC OFF)
++ SET(LLVM_ENABLE_PIE OFF)
++elseif(CMAKE_SYSTEM_NAME STREQUAL "Android")
++ SET(ANDROID TRUE)
++ if(ARCHITECTURE STREQUAL "arm")
++ SET(CMAKE_ANDROID_ARCH_ABI "armeabi-v7a")
++ SET(CMAKE_SYSTEM_PROCESSOR "armv7-a")
++ SET(CMAKE_ANDROID_ARM_MODE ON)
++ SET(CMAKE_C_COMPILER_TARGET arm-linux-androideabi)
++ SET(CMAKE_CXX_COMPILER_TARGET arm-linux-androideabi)
++ SET(_CMAKE_TOOLCHAIN_PREFIX arm-linux-androideabi-)
++ elseif(ARCHITECTURE STREQUAL "aarch64")
++ SET(CMAKE_ANDROID_ARCH_ABI "arm64-v8a")
++ SET(CMAKE_SYSTEM_PROCESSOR "aarch64")
++ endif()
++ SET(CMAKE_ANDROID_STANDALONE_TOOLCHAIN @prefix@/native)
++ SET(CMAKE_C_COMPILER "${_CMAKE_TOOLCHAIN_PREFIX}clang")
++ SET(CMAKE_CXX_COMPILER "${_CMAKE_TOOLCHAIN_PREFIX}clang++")
++else()
++ SET(CMAKE_C_COMPILER @CC@)
++ SET(CMAKE_CXX_COMPILER @CXX@)
++endif()
++
++if(ARCHITECTURE STREQUAL "arm")
++ set(ARCH "armv7-a")
++ set(ARM ON)
++ set(ARM_ID "armv7-a")
++ set(BUILD_64 OFF)
++ set(CMAKE_BUILD_TYPE release)
++ if(ANDROID)
++ set(BUILD_TAG "android-armv7")
++ else()
++ set(BUILD_TAG "linux-armv7")
++ endif()
++ set(ARM7)
++elseif(ARCHITECTURE STREQUAL "aarch64")
++ set(ARCH "armv8-a")
++ set(ARM ON)
++ set(ARM_ID "armv8-a")
++ if(ANDROID)
++ set(BUILD_TAG "android-armv8")
++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++ set(BUILD_TAG "linux-armv8")
++ endif()
++ set(BUILD_64 ON)
++endif()
++
++if(ARCHITECTURE STREQUAL "riscv64")
++ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++ set(BUILD_TAG "linux-riscv64")
++ endif()
++ set(ARCH_ID "riscv64")
++ set(ARCH "rv64gc")
++endif()
++
++if(ARCHITECTURE STREQUAL "i686")
++ SET(ARCH_ID "i386")
++ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++ set(BUILD_TAG "linux-x86")
++ SET(LINUX_32 ON)
++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++ set(BUILD_TAG "win-x32")
++ endif()
++endif()
++
++if(ARCHITECTURE STREQUAL "x86_64")
++ if(CMAKE_SYSTEM_NAME STREQUAL "Linux")
++ set(BUILD_TAG "linux-x64")
++ elseif(CMAKE_SYSTEM_NAME STREQUAL "FreeBSD")
++ set(BUILD_TAG "freebsd-x64")
++ elseif(CMAKE_SYSTEM_NAME STREQUAL "Windows")
++ set(BUILD_TAG "win-x64")
++ endif()
++ SET(ARCH_ID "x86_64")
++endif()
++
++#Create a new global cmake flag that indicates building with depends
++set (DEPENDS true)
+--
+2.43.0
+
diff --git a/patches/zano/0002-add-missing-include.patch b/patches/zano/0002-add-missing-include.patch
new file mode 100644
index 0000000..4b1c885
--- /dev/null
+++ b/patches/zano/0002-add-missing-include.patch
@@ -0,0 +1,64 @@
+From eba98d075a29b0c3b07484cea6b706f024063396 Mon Sep 17 00:00:00 2001
+From: Czarek Nakamoto <cyjan@mrcyjanek.net>
+Date: Thu, 31 Oct 2024 13:07:20 +0000
+Subject: [PATCH 2/2] add missing #include
+
+---
+ src/currency_core/genesis.cpp | 1 +
+ src/currency_core/genesis.h | 2 +-
+ src/wallet/plain_wallet_api.cpp | 1 +
+ src/wallet/plain_wallet_api.h | 1 +
+ 4 files changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/src/currency_core/genesis.cpp b/src/currency_core/genesis.cpp
+index a58dcb4e..c34b0285 100644
+--- a/src/currency_core/genesis.cpp
++++ b/src/currency_core/genesis.cpp
+@@ -4,6 +4,7 @@
+ // file COPYING or http://www.opensource.org/licenses/mit-license.php.
+
+ #include "genesis.h"
++#include <cstdint>
+
+ namespace currency
+ {
+diff --git a/src/currency_core/genesis.h b/src/currency_core/genesis.h
+index 8ea77d89..d78cec97 100644
+--- a/src/currency_core/genesis.h
++++ b/src/currency_core/genesis.h
+@@ -3,7 +3,7 @@
+ // Copyright (c) 2014-2018 The Louisdor Project
+ // Distributed under the MIT/X11 software license, see the accompanying
+ // file COPYING or http://www.opensource.org/licenses/mit-license.php.
+-
++#include <cstdint>
+ #pragma once
+ #include <string>
+ namespace currency
+diff --git a/src/wallet/plain_wallet_api.cpp b/src/wallet/plain_wallet_api.cpp
+index 3a9a1552..a211acdb 100644
+--- a/src/wallet/plain_wallet_api.cpp
++++ b/src/wallet/plain_wallet_api.cpp
+@@ -6,6 +6,7 @@
+ #ifdef ANDROID_BUILD
+ #include <android/log.h>
+ #endif
++#include <cstdint>
+ #include "plain_wallet_api.h"
+ #include "plain_wallet_api_defs.h"
+ #include "currency_core/currency_config.h"
+diff --git a/src/wallet/plain_wallet_api.h b/src/wallet/plain_wallet_api.h
+index f12eba03..177b8173 100644
+--- a/src/wallet/plain_wallet_api.h
++++ b/src/wallet/plain_wallet_api.h
+@@ -6,6 +6,7 @@
+ #pragma once
+
+ #include <string>
++#include <cstdint>
+ #include "../common/error_codes.h"
+
+ namespace plain_wallet
+--
+2.43.0
+