diff --git a/Android.bp b/Android.bp
index 10ffe49..af5a61d 100644
--- a/Android.bp
+++ b/Android.bp
@@ -175,6 +175,7 @@
         "ncurses/base/lib_winch.c",
         "ncurses/base/lib_window.c",
         "ncurses/base/nc_panel.c",
+        "ncurses/base/new_pair.c",
         "ncurses/base/resizeterm.c",
         "ncurses/base/safe_sprintf.c",
         "ncurses/base/tries.c",
@@ -238,8 +239,30 @@
         "ncurses/tty/lib_twait.c",
         "ncurses/tty/lib_vidattr.c",
         "ncurses/tty/tty_update.c",
+        "ncurses/widechar/charable.c",
+        "ncurses/widechar/lib_add_wch.c",
+        "ncurses/widechar/lib_box_set.c",
+        "ncurses/widechar/lib_cchar.c",
+        "ncurses/widechar/lib_erasewchar.c",
+        "ncurses/widechar/lib_get_wch.c",
+        "ncurses/widechar/lib_get_wstr.c",
+        "ncurses/widechar/lib_hline_set.c",
+        "ncurses/widechar/lib_in_wch.c",
+        "ncurses/widechar/lib_in_wchnstr.c",
+        "ncurses/widechar/lib_ins_wch.c",
+        "ncurses/widechar/lib_inwstr.c",
+        "ncurses/widechar/lib_key_name.c",
+        "ncurses/widechar/lib_pecho_wchar.c",
+        "ncurses/widechar/lib_slk_wset.c",
+        "ncurses/widechar/lib_unget_wch.c",
+        "ncurses/widechar/lib_vid_attr.c",
+        "ncurses/widechar/lib_vline_set.c",
+        "ncurses/widechar/lib_wacs.c",
+        "ncurses/widechar/lib_wunctrl.c",
+        "ncurses/widechar/widechars.c",
         "ncurses/codes.c",
         "ncurses/comp_captab.c",
+        "ncurses/comp_userdefs.c",
         "ncurses/expanded.c",
         "ncurses/fallback.c",
         "ncurses/lib_gen.c",
diff --git a/Makefile b/Makefile
new file mode 100644
index 0000000..506486a
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,270 @@
+# $Id: Makefile.in,v 1.46 2022/10/01 22:53:36 tom Exp $
+##############################################################################
+# Copyright 2018-2021,2022 Thomas E. Dickey                                  #
+# Copyright 1998-2014,2015 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey		1996-on
+#
+# Master Makefile for ncurses library.
+
+SHELL 		= /bin/sh
+
+
+DESTDIR=
+RPATH_LIST=${libdir}
+TOP_MFLAGS =  DESTDIR="$(DESTDIR)" RPATH_LIST="$(RPATH_LIST)"
+
+
+
+NCURSES_MAJOR	= 6
+NCURSES_MINOR	= 5
+NCURSES_PATCH	= 20240427
+
+top_srcdir	= .
+srcdir		= .
+
+prefix		= /usr
+exec_prefix	= ${prefix}
+datarootdir	= ${prefix}/share
+
+bindir		= ${exec_prefix}/bin
+ticdir		= /system_ext/etc/terminfo
+includedir	= ${prefix}/include
+includesubdir	= 
+libdir		= ${exec_prefix}/lib
+mandir		= ${datarootdir}/man
+pkgdir		= /usr/local/lib/pkgconfig
+
+include_dir	= ${includedir}${includesubdir}
+
+FGREP		= grep -F
+
+INSTALL		= /usr/bin/install -c
+INSTALL_DATA	= ${INSTALL} -m 644
+
+DIRS_TO_MAKE	= lib objects obj_g
+
+.PHONY :	all
+.PHONY :	check
+.PHONY :	clean
+.PHONY :	depend
+.PHONY :	distclean
+.PHONY :	install
+.PHONY :	mostlyclean
+.PHONY :	preinstall
+.PHONY :	realclean
+.PHONY :	sources
+.PHONY :	tags
+.PHONY :	uninstall
+
+all ::	$(DIRS_TO_MAKE)
+
+$(DIRS_TO_MAKE) :
+	mkdir $@
+
+preinstall :
+	@ echo ''
+	@ echo '** Configuration summary for NCURSES $(NCURSES_MAJOR).$(NCURSES_MINOR) $(NCURSES_PATCH):'
+	@ echo ''
+	@ echo '       extended funcs: '`test 1 != 0 && echo yes || echo no`
+	@ echo '       xterm terminfo: 'xterm-new
+	@ echo ''
+	@ echo '        bin directory: '$(bindir)
+	@ echo '        lib directory: '$(libdir)
+	@ echo '    include directory: '$(include_dir)
+	@ echo '        man directory: '$(mandir)
+	@ echo '   terminfo directory: '$(ticdir)
+#	@ echo '  using fallback-list: '
+#	@ echo ' pkg-config directory: '$(pkgdir)
+	@ echo ''
+	@ test "$(include_dir)" = "$(prefix)/include" || \
+		echo '** Include-directory is not in a standard location'
+	@ test ! -f $(include_dir)/termcap.h || \
+		$(FGREP) NCURSES_VERSION $(include_dir)/termcap.h >/dev/null || \
+		echo '** Will overwrite non-ncurses termcap.h'
+	@ test ! -f $(include_dir)/curses.h || \
+		$(FGREP) NCURSES_VERSION $(include_dir)/curses.h >/dev/null || \
+		echo '** Will overwrite non-ncurses curses.h'
+
+distclean \
+realclean ::
+
+check :
+	@ echo The test-programs are interactive
+
+
+# Put the common rules here so that we can easily construct the list of
+# directories to visit.
+all \
+clean \
+distclean \
+mostlyclean \
+realclean \
+depend \
+sources \
+tags \
+uninstall \
+install ::
+	( cd man && ${MAKE} ${TOP_MFLAGS} $@ )
+	( cd include && ${MAKE} ${TOP_MFLAGS} $@ )
+	( cd ncurses && ${MAKE} ${TOP_MFLAGS} $@ )
+	( cd progs && ${MAKE} ${TOP_MFLAGS} $@ )
+	( cd panel && ${MAKE} ${TOP_MFLAGS} $@ )
+	( cd menu && ${MAKE} ${TOP_MFLAGS} $@ )
+	( cd form && ${MAKE} ${TOP_MFLAGS} $@ )
+	( cd test && ${MAKE} ${TOP_MFLAGS} $@ )
+	( cd misc && ${MAKE} ${TOP_MFLAGS} $@ )
+	( cd c++ && ${MAKE} ${TOP_MFLAGS} $@ )
+
+# generated by CF_LIB_RULES
+
+.PHONY :	libs
+.PHONY :	lintlib
+.PHONY :	install.includes
+.PHONY :	uninstall.includes
+.PHONY :	install.libs
+.PHONY :	uninstall.libs
+
+libs \
+install.libs \
+uninstall.libs \
+install.includes \
+uninstall.includes ::
+	( cd "include" && ${MAKE} ${TOP_MFLAGS} $@ )
+
+.PHONY :	install.ncurses
+.PHONY :	uninstall.ncurses
+
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.ncurses \
+uninstall.ncurses ::
+	( cd "ncurses" && ${MAKE} ${TOP_MFLAGS} $@ )
+
+.PHONY :	install.progs
+.PHONY :	uninstall.progs
+
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.progs \
+uninstall.progs ::
+	( cd "progs" && ${MAKE} ${TOP_MFLAGS} $@ )
+
+.PHONY :	install.panel
+.PHONY :	uninstall.panel
+
+install.includes \
+uninstall.includes \
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.panel \
+uninstall.panel ::
+	( cd "panel" && ${MAKE} ${TOP_MFLAGS} $@ )
+
+.PHONY :	install.menu
+.PHONY :	uninstall.menu
+
+install.includes \
+uninstall.includes \
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.menu \
+uninstall.menu ::
+	( cd "menu" && ${MAKE} ${TOP_MFLAGS} $@ )
+
+.PHONY :	install.form
+.PHONY :	uninstall.form
+
+install.includes \
+uninstall.includes \
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.form \
+uninstall.form ::
+	( cd "form" && ${MAKE} ${TOP_MFLAGS} $@ )
+
+.PHONY :	install.test
+.PHONY :	uninstall.test
+
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.test \
+uninstall.test ::
+	( cd "test" && ${MAKE} ${TOP_MFLAGS} $@ )
+
+.PHONY :	install.c++
+.PHONY :	uninstall.c++
+
+install.includes \
+uninstall.includes \
+lint \
+libs \
+lintlib \
+install.libs \
+uninstall.libs \
+install.c++ \
+uninstall.c++ ::
+	( cd "c++" && ${MAKE} ${TOP_MFLAGS} $@ )
+
+.PHONY :	install.data
+.PHONY :	uninstall.data
+
+install.libs uninstall.libs \
+install.data uninstall.data ::
+	( cd misc && ${MAKE} ${TOP_MFLAGS} $@ )
+
+.PHONY :	install.man
+.PHONY :	uninstall.man
+
+install.man \
+uninstall.man ::
+	( cd man && ${MAKE} ${TOP_MFLAGS} $@ )
+
+distclean ::
+	rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
+	rm -f headers.sh headers.sed mk_shared_lib.sh
+	rm -f edit_man.* man_alias.* *.tmp
+	rm -rf ${DIRS_TO_MAKE}
diff --git a/c++/Makefile b/c++/Makefile
new file mode 100644
index 0000000..8c132ee
--- /dev/null
+++ b/c++/Makefile
@@ -0,0 +1,606 @@
+# $Id: Makefile.in,v 1.133 2021/07/03 18:53:57 tom Exp $
+##############################################################################
+# Copyright 2018-2020,2021 Thomas E. Dickey                                  #
+# Copyright 1998-2015,2016 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey
+#
+#  Simple makefile for c++ window class demo
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+
+CF_MFLAGS 	= 
+
+x		= 
+o		= .o
+
+MODEL		= ../objects
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /usr
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+includesubdir	= 
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncursesw
+
+LIBTOOL		= 
+LIBTOOL_OPTS	=  
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+LIBTOOL_INSTALL	= 
+LIBTOOL_UNINSTALL = 
+LIBTOOL_VERSION = -version-number
+LT_UNDEF	= 
+
+INSTALL		= /usr/bin/install -c
+INSTALL_LIB	= $(INSTALL) -m 644 -p
+INSTALL_DATA	= ${INSTALL} -m 644
+INSTALL_OPT_P	= -p
+
+AR		= ar
+ARFLAGS		= -curvU
+AWK		= mawk
+LD		= ld
+LN_S		= ln -s -f
+
+CXX_AR		= $(AR)
+CXX_ARFLAGS	= $(ARFLAGS)
+RANLIB		= ranlib
+
+CXX		= /usr/bin/g++
+CPP		= /usr/bin/g++ -E
+CXXFLAGS	= -O2 
+CXXLIBS		= 
+
+INCDIR		= ../include
+CPPFLAGS	= -DHAVE_CONFIG_H -DBUILDING_NCURSES_CXX -I../c++ -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG
+
+CTAGS		= ctags
+ETAGS		= etags
+
+CC		= ${CXX}
+CCFLAGS		= $(CPPFLAGS) $(CXXFLAGS)
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS) -DNCURSES_STATIC
+CFLAGS_DEBUG	= $(CCFLAGS) -DNCURSES_STATIC -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -DNCURSES_STATIC -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+NCURSES_MAJOR	= 6
+NCURSES_MINOR	= 5
+REL_VERSION     = 6.5
+ABI_VERSION	= 6
+
+LOCAL_LIBDIR	= /home/micky387/Omni/external/libncurses/lib
+
+LINK		=  $(LIBTOOL_LINK) 
+SHLIB_DIRS	= -L../lib
+SHLIB_LIST	= $(SHLIB_DIRS) \
+		-lformw \
+		-lmenuw \
+		-lpanelw \
+		-lncursesw 
+
+LIBROOT		= ncurses++
+
+LIBNAME_LIBTOOL	= lib$(LIBROOT)w.la
+LIBNAME_NORMAL	= lib$(LIBROOT)w.a
+LIBNAME		= lib$(LIBROOT)w.a
+
+LIBRARIES	=  ../lib/libncurses++w.a ../lib/libncurses++w_g.a
+
+LINT		= 
+LINT_OPTS	= 
+LINT_LIBS	= -lncurses 
+
+LINK_FLAGS	=  -L../lib -l$(LIBROOT)w
+RPATH_LIST	= ${libdir}
+MK_SHARED_LIB	= ${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,`basename $@ .${REL_VERSION}`.${ABI_VERSION},-stats,-lc -o $@
+
+LINK_LIBTOOL	=  -L../lib $(LIBRARIES)
+LINK_NORMAL	= $(LINK_FLAGS)
+LINK_DEBUG	= $(LINK_FLAGS)
+LINK_PROFILE	= $(LINK_FLAGS)
+LINK_SHARED	= $(LINK_FLAGS)
+
+# flags for test-programs
+TEST_LIBS	= -lutil 
+TEST_ARGS	=  -L../lib -lformw -lmenuw -lpanelw -lncursesw  
+TEST_LDFLAGS	= $(TEST_ARGS)  \
+	 $(TEST_LIBS)   $(CXXLIBS)
+
+LDFLAGS_LIBTOOL	= $(TEST_LDFLAGS) $(CFLAGS_LIBTOOL)
+LDFLAGS_NORMAL	= $(TEST_LDFLAGS) $(CFLAGS_NORMAL)
+LDFLAGS_DEBUG	= $(TEST_LDFLAGS) $(CFLAGS_DEBUG)
+LDFLAGS_PROFILE	= $(TEST_LDFLAGS) $(CFLAGS_PROFILE)
+LDFLAGS_SHARED	= $(TEST_LDFLAGS) $(CFLAGS_SHARED) 
+
+LDFLAGS_DEFAULT	= $(LINK_NORMAL) $(LDFLAGS_NORMAL)
+
+# flags for library built by this makefile
+LDFLAGS		= $(TEST_ARGS)  \
+	 $(TEST_LIBS)  $(CXXLIBS)
+
+AUTO_SRC	= \
+		etip.h
+
+################################################################################
+
+.PHONY :	all
+.PHONY :	check
+.PHONY :	clean
+.PHONY :	depend
+.PHONY :	distclean
+.PHONY :	install
+.PHONY :	install.libs
+.PHONY :	libs
+.PHONY :	mostlyclean
+.PHONY :	realclean
+.PHONY :	sources
+.PHONY :	uninstall
+.PHONY :	uninstall.libs
+
+all \
+libs ::		$(AUTO_SRC) $(LIBRARIES)
+
+all ::		demo$x
+
+depend :
+
+sources :	$(AUTO_SRC)
+
+tags:
+	$(CTAGS) *.[h] *.cc
+
+$(DESTDIR)$(libdir) :
+	mkdir -p $@
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ii *.ln *.atac trace
+
+clean :: mostlyclean
+	-$(SHELL) -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
+	-rm -rf $(MODEL)/SunWS_cache
+	-$(LIBTOOL_CLEAN) rm -f demo$x $(AUTO_SRC) $(LIBRARIES) $(OBJS_DEMO)
+	-rm -rf .libs *.dSYM
+
+distclean :: clean
+	-rm -f Makefile
+
+realclean :: distclean
+
+###############################################################################
+
+HEADER_DEPS	=  \
+	etip.h \
+	../include/curses.h \
+	../include/eti.h \
+	../include/form.h \
+	../include/menu.h \
+	../include/ncurses_cfg.h \
+	../include/ncurses_def.h \
+	../include/ncurses_dll.h \
+	../include/panel.h \
+	../include/unctrl.h \
+	$(INCDIR)/nc_string.h \
+	$(srcdir)/cursesp.h \
+	$(srcdir)/cursesw.h \
+	$(srcdir)/cursslk.h \
+	$(srcdir)/internal.h
+
+cursesw_h	= $(srcdir)/cursesw.h \
+		  $(HEADER_DEPS)
+
+cursesp_h	= $(srcdir)/cursesp.h \
+		  $(cursesw_h)
+
+cursesf_h	= $(srcdir)/cursesf.h \
+		  $(cursesp_h)
+
+cursesm_h	= $(srcdir)/cursesm.h \
+		  $(cursesp_h)
+
+cursslk_h	= $(srcdir)/cursslk.h \
+		  $(cursesw_h)
+
+cursesapp_h	= $(srcdir)/cursesapp.h \
+		  $(cursslk_h)
+
+$(INCDIR)/form.h :
+	( cd ../form && $(MAKE) $@ )
+
+$(INCDIR)/menu.h :
+	( cd ../menu && $(MAKE) $@ )
+
+$(INCDIR)/panel.h :
+	( cd ../panel && $(MAKE) $@ )
+
+###############################################################################
+
+OBJS_DEMO = $(MODEL)/demo$o
+
+$(MODEL)/demo$o : $(srcdir)/demo.cc \
+		$(HEADER_DEPS) \
+		$(cursesf_h) \
+		$(cursesm_h) \
+		$(cursesapp_h)
+	@echo 'compiling demo (obj_s)'
+	@( cd $(MODEL) && $(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEFAULT) -c $(top_srcdir)/c++/demo.cc -o $@ )
+
+demo$x:	$(OBJS_DEMO) \
+	$(LIBRARIES)  \
+	../lib/libformw.a ../lib/libmenuw.a ../lib/libpanelw.a ../lib/libncursesw.a 
+	 $(LINK) -o $@ $(OBJS_DEMO) $(LDFLAGS_DEFAULT)
+
+etip.h:	$(srcdir)/etip.h.in $(srcdir)/edit_cfg.sh
+	cp $(srcdir)/etip.h.in $@
+	$(SHELL) $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
+
+# Verify that each header-file can be compiled without including another.
+check ::
+	@$(SHELL) -c "for header in *.h;\
+		do \
+			[ \$${header} = etip.h ] && continue; \
+			echo \"** testing \$${header}\" ; \
+			echo \"#include <\$${header}>\" >headers.cc; \
+			echo \"int main(int argc, char **argv) { (void) argc; (void) argv; return 0; }\" >>headers.cc; \
+			$(CXX) -c $(CXXFLAGS) $(CPPFLAGS) headers.cc; \
+		done"
+	-@rm -f headers.*
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	mawk 'BEGIN { skip = 1; last=""; } /deprecated in ABI6/ { next; }{ sub("NCURSES([WT]+)?", "&6"); } { if ( last != "" && ( skip == 0 || $$0 !~ /}/ ) ) { print last; } skip = 0; last = $$0; } END { print last; }' < "" >$@
+
+distclean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    c++w
+#   subsets:    ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(srcdir)/cursesf.cc \
+	$(srcdir)/cursesm.cc \
+	$(srcdir)/cursesw.cc \
+	$(srcdir)/cursespad.cc \
+	$(srcdir)/cursesp.cc \
+	$(srcdir)/cursslk.cc \
+	$(srcdir)/cursesapp.cc \
+	$(srcdir)/cursesmain.cc
+
+clean ::
+	rm -f llib-lc++w.*
+
+realclean ::
+	rm -f llib-lc++w
+
+llib-lc++w : $(C_SRC)
+	cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(C_SRC) >$@
+
+lintlib ::
+	sh $(srcdir)/../misc/makellib c++w $(CPPFLAGS)
+
+lint ::
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(C_SRC) $(LINT_LIBS)
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            ncurses++w
+#  traces:          DEBUG
+#  MODEL:           NORMAL
+#  CXX_MODEL:       NORMAL
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           objects
+#  prefix:          lib
+#  suffix:          .a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+NORMAL_OBJS = \
+	../objects/cursesf$o \
+	../objects/cursesm$o \
+	../objects/cursesw$o \
+	../objects/cursespad$o \
+	../objects/cursesp$o \
+	../objects/cursslk$o \
+	../objects/cursesapp$o \
+	../objects/cursesmain$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h
+
+../lib/libncurses++w.a : $(NORMAL_OBJS)
+	@sleep 1
+	$(CXX_AR) $(CXX_ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.ncurses++w :: $(DESTDIR)$(libdir) ../lib/libncurses++w.a
+	@echo installing ../lib/libncurses++w.a as $(DESTDIR)$(libdir)/libncurses++w.a
+	$(INSTALL_DATA) ../lib/libncurses++w.a $(DESTDIR)$(libdir)/libncurses++w.a
+
+uninstall \
+uninstall.libs \
+uninstall.ncurses++w ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libncurses++w.a
+	-@rm -f $(DESTDIR)$(libdir)/libncurses++w.a
+
+clean ::
+	-rm -f ../lib/libncurses++w.a
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/cursesf$o :	$(srcdir)/cursesf.cc \
+			$(internal_h) \
+			$(cursesf_h) \
+			$(cursesapp_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesf.cc -o ../objects/cursesf$o
+
+../objects/cursesm$o :	$(srcdir)/cursesm.cc \
+			$(internal_h) \
+			$(cursesm_h) \
+			$(cursesapp_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesm.cc -o ../objects/cursesm$o
+
+../objects/cursesw$o :	$(srcdir)/cursesw.cc \
+			$(internal_h) \
+			$(cursesw_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesw.cc -o ../objects/cursesw$o
+
+../objects/cursespad$o :	$(srcdir)/cursespad.cc \
+			$(internal_h) \
+			$(cursesw_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursespad.cc -o ../objects/cursespad$o
+
+../objects/cursesp$o :	$(srcdir)/cursesp.cc \
+			$(internal_h) \
+			$(cursesp_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesp.cc -o ../objects/cursesp$o
+
+../objects/cursslk$o :	$(srcdir)/cursslk.cc \
+			$(internal_h) \
+			$(cursesapp_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursslk.cc -o ../objects/cursslk$o
+
+../objects/cursesapp$o :	$(srcdir)/cursesapp.cc \
+			$(internal_h) \
+			$(cursesapp_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesapp.cc -o ../objects/cursesapp$o
+
+../objects/cursesmain$o :	$(srcdir)/cursesmain.cc \
+			$(internal_h) \
+			$(cursesapp_h) \
+			$(INCDIR)/nc_alloc.h
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_NORMAL) -c ../c++/cursesmain.cc -o ../objects/cursesmain$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            ncurses++w
+#  traces:          DEBUG
+#  MODEL:           DEBUG
+#  CXX_MODEL:       DEBUG
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           obj_g
+#  prefix:          lib
+#  suffix:          _g.a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+DEBUG_OBJS = \
+	../obj_g/cursesf$o \
+	../obj_g/cursesm$o \
+	../obj_g/cursesw$o \
+	../obj_g/cursespad$o \
+	../obj_g/cursesp$o \
+	../obj_g/cursslk$o \
+	../obj_g/cursesapp$o \
+	../obj_g/cursesmain$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h
+
+../lib/libncurses++w_g.a : $(DEBUG_OBJS)
+	@sleep 1
+	$(CXX_AR) $(CXX_ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.ncurses++w :: $(DESTDIR)$(libdir) ../lib/libncurses++w_g.a
+	@echo installing ../lib/libncurses++w_g.a as $(DESTDIR)$(libdir)/libncurses++w_g.a
+	$(INSTALL_DATA) ../lib/libncurses++w_g.a $(DESTDIR)$(libdir)/libncurses++w_g.a
+
+uninstall \
+uninstall.libs \
+uninstall.ncurses++w ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libncurses++w_g.a
+	-@rm -f $(DESTDIR)$(libdir)/libncurses++w_g.a
+
+clean ::
+	-rm -f ../lib/libncurses++w_g.a
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/cursesf$o :	$(srcdir)/cursesf.cc \
+			$(internal_h) \
+			$(cursesf_h) \
+			$(cursesapp_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesf.cc -o ../obj_g/cursesf$o
+
+../obj_g/cursesm$o :	$(srcdir)/cursesm.cc \
+			$(internal_h) \
+			$(cursesm_h) \
+			$(cursesapp_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesm.cc -o ../obj_g/cursesm$o
+
+../obj_g/cursesw$o :	$(srcdir)/cursesw.cc \
+			$(internal_h) \
+			$(cursesw_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesw.cc -o ../obj_g/cursesw$o
+
+../obj_g/cursespad$o :	$(srcdir)/cursespad.cc \
+			$(internal_h) \
+			$(cursesw_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursespad.cc -o ../obj_g/cursespad$o
+
+../obj_g/cursesp$o :	$(srcdir)/cursesp.cc \
+			$(internal_h) \
+			$(cursesp_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesp.cc -o ../obj_g/cursesp$o
+
+../obj_g/cursslk$o :	$(srcdir)/cursslk.cc \
+			$(internal_h) \
+			$(cursesapp_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursslk.cc -o ../obj_g/cursslk$o
+
+../obj_g/cursesapp$o :	$(srcdir)/cursesapp.cc \
+			$(internal_h) \
+			$(cursesapp_h)
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesapp.cc -o ../obj_g/cursesapp$o
+
+../obj_g/cursesmain$o :	$(srcdir)/cursesmain.cc \
+			$(internal_h) \
+			$(cursesapp_h) \
+			$(INCDIR)/nc_alloc.h
+	$(LIBTOOL_COMPILE) $(CXX) $(CFLAGS_DEBUG) -c ../c++/cursesmain.cc -o ../obj_g/cursesmain$o
+
+
+# generated by mk-hdr.awk
+#  subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  compat:     yes
+
+${INCLUDEDIR} :
+	mkdir -p $@
+
+install \
+install.libs \
+install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \
+		$(srcdir)/cursesapp.h \
+		$(srcdir)/cursesf.h \
+		$(srcdir)/cursesm.h \
+		$(srcdir)/cursesp.h \
+		$(srcdir)/cursesw.h \
+		$(srcdir)/cursslk.h \
+		etip.h
+	@ (cd ${INCLUDEDIR} && rm -f cursesapp.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/cursesapp.h
+	@ (cd ${INCLUDEDIR} && rm -f cursesf.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/cursesf.h
+	@ (cd ${INCLUDEDIR} && rm -f cursesm.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/cursesm.h
+	@ (cd ${INCLUDEDIR} && rm -f cursesp.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/cursesp.h
+	@ (cd ${INCLUDEDIR} && rm -f cursesw.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/cursesw.h
+	@ (cd ${INCLUDEDIR} && rm -f cursslk.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/cursslk.h
+	@ (cd ${INCLUDEDIR} && rm -f etip.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} etip.h
+
+uninstall \
+uninstall.libs \
+uninstall.includes ::
+	-@ (cd ${INCLUDEDIR} && rm -f cursesapp.h)
+	-@ (cd ${INCLUDEDIR} && rm -f cursesf.h)
+	-@ (cd ${INCLUDEDIR} && rm -f cursesm.h)
+	-@ (cd ${INCLUDEDIR} && rm -f cursesp.h)
+	-@ (cd ${INCLUDEDIR} && rm -f cursesw.h)
+	-@ (cd ${INCLUDEDIR} && rm -f cursslk.h)
+	-@ (cd ${INCLUDEDIR} && rm -f etip.h)
diff --git a/c++/demo b/c++/demo
new file mode 100755
index 0000000..4a6ec00
--- /dev/null
+++ b/c++/demo
Binary files differ
diff --git a/c++/etip.h b/c++/etip.h
new file mode 100644
index 0000000..9244afd
--- /dev/null
+++ b/c++/etip.h
@@ -0,0 +1,406 @@
+// * This makes emacs happy -*-Mode: C++;-*-
+/****************************************************************************
+ * Copyright 2018-2021,2022 Thomas E. Dickey                                *
+ * Copyright 1998-2012,2017 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *   Author: Juergen Pfeifer, 1997                                          *
+ ****************************************************************************/
+
+// $Id: etip.h.in,v 1.50 2022/08/20 20:50:00 tom Exp $
+
+#ifndef NCURSES_ETIP_H_incl
+#define NCURSES_ETIP_H_incl 1
+
+// These are substituted at configure/build time
+#ifndef HAVE_BUILTIN_H
+#define HAVE_BUILTIN_H 0
+#endif
+
+#ifndef HAVE_GXX_BUILTIN_H
+#define HAVE_GXX_BUILTIN_H 0
+#endif
+
+#ifndef HAVE_GPP_BUILTIN_H
+#define HAVE_GPP_BUILTIN_H 0
+#endif
+
+#ifndef HAVE_IOSTREAM
+#define HAVE_IOSTREAM 1
+#endif
+
+#ifndef HAVE_TYPEINFO
+#define HAVE_TYPEINFO 1
+#endif
+
+#ifndef HAVE_VALUES_H
+#define HAVE_VALUES_H 0
+#endif
+
+#ifndef ETIP_NEEDS_MATH_H
+#define ETIP_NEEDS_MATH_H 0
+#endif
+
+#ifndef ETIP_NEEDS_MATH_EXCEPTION
+#define ETIP_NEEDS_MATH_EXCEPTION 0
+#endif
+
+#ifndef CPP_HAS_OVERRIDE
+#define CPP_HAS_OVERRIDE 0
+#endif
+
+#ifndef CPP_HAS_PARAM_INIT
+#define CPP_HAS_PARAM_INIT 0
+#endif
+
+#ifndef CPP_HAS_STATIC_CAST
+#define CPP_HAS_STATIC_CAST 1
+#endif
+
+#ifndef IOSTREAM_NAMESPACE
+#define IOSTREAM_NAMESPACE 1
+#endif
+
+#ifdef __GNUG__
+#  if ((__GNUG__ <= 2) && (__GNUC_MINOR__ < 8))
+#    if HAVE_TYPEINFO
+#      include <typeinfo>
+#    endif
+#  endif
+#endif
+
+#if defined(__GNUG__)
+#  if HAVE_BUILTIN_H || HAVE_GXX_BUILTIN_H || HAVE_GPP_BUILTIN_H
+#    if ETIP_NEEDS_MATH_H
+#      if ETIP_NEEDS_MATH_EXCEPTION
+#        undef exception
+#        define exception math_exception
+#      endif
+#      include <math.h>
+#    endif
+#    undef exception
+#    define exception builtin_exception
+#    if HAVE_GPP_BUILTIN_H
+#     include <gpp/builtin.h>
+#    elif HAVE_GXX_BUILTIN_H
+#     include <g++/builtin.h>
+#    else
+#     include <builtin.h>
+#    endif
+#    undef exception
+#  endif
+#elif defined (__SUNPRO_CC)
+#  include <generic.h>
+#endif
+
+#include <curses.h>
+
+extern "C" {
+#if HAVE_VALUES_H
+#  include <values.h>
+#endif
+
+#include <assert.h>
+#include <eti.h>
+#include <errno.h>
+}
+
+// Language features
+#if CPP_HAS_OVERRIDE
+#define NCURSES_OVERRIDE override
+#else
+#define NCURSES_OVERRIDE /*nothing*/
+#endif
+
+#if CPP_HAS_PARAM_INIT
+#define NCURSES_PARAM_INIT(value) = value
+#else
+#define NCURSES_PARAM_INIT(value) /*nothing*/
+#endif
+
+#if CPP_HAS_STATIC_CAST
+#define STATIC_CAST(s) static_cast<s>
+#else
+#define STATIC_CAST(s) (s)
+#endif
+
+#ifndef NCURSES_CXX_IMPEXP
+#define NCURSES_CXX_IMPEXP  /* nothing */
+#endif
+
+// Forward Declarations
+class NCURSES_CXX_IMPEXP NCursesPanel;
+class NCURSES_CXX_IMPEXP NCursesMenu;
+class NCURSES_CXX_IMPEXP NCursesForm;
+
+class NCURSES_CXX_IMPEXP NCursesException
+{
+public:
+  const char *message;
+  int errorno;
+
+  NCursesException (const char* msg, int err)
+    : message(msg), errorno (err)
+    {};
+
+  explicit NCursesException (const char* msg)
+    : message(msg), errorno (E_SYSTEM_ERROR)
+    {};
+
+  NCursesException& operator=(const NCursesException& rhs)
+  {
+    message = rhs.message;
+    errorno = rhs.errorno;
+    return *this;
+  }
+
+  NCursesException(const NCursesException& rhs)
+    : message(rhs.message), errorno(rhs.errorno)
+  {
+  }
+
+  virtual const char *classname() const {
+    return "NCursesWindow";
+  }
+
+  virtual ~NCursesException()
+  {
+  }
+};
+
+class NCURSES_CXX_IMPEXP NCursesPanelException : public NCursesException
+{
+public:
+  const NCursesPanel* p;
+
+  NCursesPanelException (const char *msg, int err) :
+    NCursesException (msg, err),
+    p (0)
+    {};
+
+  NCursesPanelException (const NCursesPanel* panel,
+			 const char *msg,
+			 int err) :
+    NCursesException (msg, err),
+    p (panel)
+    {};
+
+  explicit NCursesPanelException (int err) :
+    NCursesException ("panel library error", err),
+    p (0)
+    {};
+
+  NCursesPanelException (const NCursesPanel* panel,
+			 int err) :
+    NCursesException ("panel library error", err),
+    p (panel)
+    {};
+
+  NCursesPanelException& operator=(const NCursesPanelException& rhs)
+  {
+    if (this != &rhs) {
+      NCursesException::operator=(rhs);
+      p = rhs.p;
+    }
+    return *this;
+  }
+
+  NCursesPanelException(const NCursesPanelException& rhs)
+    : NCursesException(rhs), p(rhs.p)
+  {
+  }
+
+  virtual const char *classname() const NCURSES_OVERRIDE {
+    return "NCursesPanel";
+  }
+
+  virtual ~NCursesPanelException()
+  {
+  }
+};
+
+class NCURSES_CXX_IMPEXP NCursesMenuException : public NCursesException
+{
+public:
+  const NCursesMenu* m;
+
+  NCursesMenuException (const char *msg, int err) :
+    NCursesException (msg, err),
+    m (0)
+    {};
+
+  NCursesMenuException (const NCursesMenu* menu,
+			const char *msg,
+			int err) :
+    NCursesException (msg, err),
+    m (menu)
+    {};
+
+  explicit NCursesMenuException (int err) :
+    NCursesException ("menu library error", err),
+    m (0)
+    {};
+
+  NCursesMenuException (const NCursesMenu* menu,
+			int err) :
+    NCursesException ("menu library error", err),
+    m (menu)
+    {};
+
+  NCursesMenuException& operator=(const NCursesMenuException& rhs)
+  {
+    if (this != &rhs) {
+      NCursesException::operator=(rhs);
+      m = rhs.m;
+    }
+    return *this;
+  }
+
+  NCursesMenuException(const NCursesMenuException& rhs)
+    : NCursesException(rhs), m(rhs.m)
+  {
+  }
+
+  virtual const char *classname() const NCURSES_OVERRIDE {
+    return "NCursesMenu";
+  }
+
+  virtual ~NCursesMenuException()
+  {
+  }
+};
+
+class NCURSES_CXX_IMPEXP NCursesFormException : public NCursesException
+{
+public:
+  const NCursesForm* f;
+
+  NCursesFormException (const char *msg, int err) :
+    NCursesException (msg, err),
+    f (0)
+    {};
+
+  NCursesFormException (const NCursesForm* form,
+			const char *msg,
+			int err) :
+    NCursesException (msg, err),
+    f (form)
+    {};
+
+  explicit NCursesFormException (int err) :
+    NCursesException ("form library error", err),
+    f (0)
+    {};
+
+  NCursesFormException (const NCursesForm* form,
+			int err) :
+    NCursesException ("form library error", err),
+    f (form)
+    {};
+
+  NCursesFormException& operator=(const NCursesFormException& rhs)
+  {
+    if (this != &rhs) {
+      NCursesException::operator=(rhs);
+      f = rhs.f;
+    }
+    return *this;
+  }
+
+  NCursesFormException(const NCursesFormException& rhs)
+    : NCursesException(rhs), f(rhs.f)
+  {
+  }
+
+  virtual const char *classname() const NCURSES_OVERRIDE {
+    return "NCursesForm";
+  }
+
+  virtual ~NCursesFormException()
+  {
+  }
+};
+
+#if !((defined(__GNUG__) && defined(__EXCEPTIONS) && (__GNUG__ < 7)) || defined(__SUNPRO_CC))
+#  if HAVE_IOSTREAM
+#     include <iostream>
+#     if IOSTREAM_NAMESPACE
+using std::cerr;
+using std::endl;
+#     endif
+#  else
+#     include <iostream.h>
+#  endif
+#endif
+
+inline void THROW(const NCursesException *e) {
+#if defined(__GNUG__) && defined(__EXCEPTIONS)
+#  if ((__GNUG__ <= 2) && (__GNUC_MINOR__ < 8))
+      (*lib_error_handler)(e ? e->classname() : "", e ? e->message : "");
+#  elif (__GNUG__ >= 7)
+     // g++ 7.0 warns about deprecation, but lacks the predefined symbols
+      ::endwin();
+      std::cerr << "Found a problem - goodbye" << std::endl;
+      exit(EXIT_FAILURE);
+#  else
+#    define CPP_HAS_TRY_CATCH 1
+#  endif
+#elif defined(__SUNPRO_CC)
+#  if !defined(__SUNPRO_CC_COMPAT) || (__SUNPRO_CC_COMPAT < 5)
+  genericerror(1, ((e != 0) ? (char *)(e->message) : ""));
+#  else
+#    define CPP_HAS_TRY_CATCH 1
+#  endif
+#else
+  if (e)
+    cerr << e->message << endl;
+  exit(0);
+#endif
+
+#ifndef CPP_HAS_TRY_CATCH
+#define CPP_HAS_TRY_CATCH 0
+#define NCURSES_CPP_TRY		/* nothing */
+#define NCURSES_CPP_CATCH(e)	if (false)
+#define THROWS(s)		/* nothing */
+#define THROW2(s,t)		/* nothing */
+#elif CPP_HAS_TRY_CATCH
+  throw *e;
+#define NCURSES_CPP_TRY		try
+#define NCURSES_CPP_CATCH(e)	catch(e)
+#if defined(__cpp_noexcept_function_type) && (__cpp_noexcept_function_type >= 201510)
+// C++17 deprecates the usage of throw().
+#define THROWS(s)		/* nothing */
+#define THROW2(s,t)		/* nothing */
+#else
+#define THROWS(s)		throw(s)
+#define THROW2(s,t)		throw(s,t)
+#endif
+#endif
+}
+
+#endif /* NCURSES_ETIP_H_incl */
diff --git a/config.log b/config.log
new file mode 100644
index 0000000..b1f0c3b
--- /dev/null
+++ b/config.log
@@ -0,0 +1,2797 @@
+This file contains any messages produced by compilers while
+running configure, to aid debugging if configure makes a mistake.
+
+It was created by configure, which was
+generated by GNU Autoconf 2.52.20231210.  Invocation command line was
+
+  $ ./configure --enable-tcap-names --with-terminfo-dirs=/system_ext/etc/terminfo --with-default-terminfo-dir=/system_ext/etc/terminfo
+
+## ---------- ##
+## Platform.  ##
+## ---------- ##
+
+hostname = micky387-MS-7D75
+uname -m = x86_64
+uname -r = 6.8.0-62-generic
+uname -s = Linux
+uname -v = #65-Ubuntu SMP PREEMPT_DYNAMIC Mon May 19 17:15:03 UTC 2025
+
+/usr/bin/uname -p = x86_64
+/bin/uname -X     = unknown
+
+/bin/arch              = x86_64
+/usr/bin/arch -k       = unknown
+/usr/convex/getsysinfo = unknown
+hostinfo               = unknown
+/bin/machine           = unknown
+/usr/bin/oslevel       = unknown
+/bin/universe          = unknown
+
+PATH = /usr/local/android-studio/bin:/home/micky387/.local/bin:/home/micky387/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
+
+## ------------ ##
+## Core tests.  ##
+## ------------ ##
+
+configure:1175: PATH=".;."; conftest.sh
+./configure: 1176: conftest.sh: not found
+configure:1178: $? = 127
+configure:1195: checking for ggrep
+configure:1221: result: no
+configure:1195: checking for grep
+configure:1210: found /usr/bin/grep
+configure:1218: result: grep
+configure:1229: checking for egrep
+configure:1285: result: grep -E
+configure:1296: result: Configuring NCURSES 6.5 ABI 6 (Tue Jul  8 18:05:41 EDT 2025)
+configure:1300: checking for package version
+configure:1321: result: 6.5
+configure:1324: checking for package patch date
+configure:1341: result: 20240427
+configure:1352: testing ABI VERSION 5:0:10 ...
+configure:1356: testing VERSION_MAJOR 6 ...
+configure:1360: testing VERSION_MINOR 5 ...
+configure:1364: testing VERSION_PATCH 20240427 ...
+configure:1509: checking build system type
+configure:1527: result: x86_64-pc-linux-gnu
+configure:1534: checking host system type
+configure:1548: result: x86_64-pc-linux-gnu
+configure:1556: checking target system type
+configure:1570: result: x86_64-pc-linux-gnu
+configure:1602: result: Configuring for linux-gnu
+configure:1627: checking for fgrep
+configure:1683: result: grep -F
+configure:1687: checking for prefix
+configure:1699: result: /usr
+configure:1878: checking for gnatgcc
+configure:1904: result: no
+configure:1878: checking for gcc
+configure:1893: found /usr/bin/gcc
+configure:1901: result: gcc
+configure:1919: checking for C compiler version
+configure:1922: gcc --version </dev/null >&5
+gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
+Copyright (C) 2023 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.
+
+configure:1925: $? = 0
+configure:1927: gcc -v </dev/null >&5
+Using built-in specs.
+COLLECT_GCC=gcc
+COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
+Thread model: posix
+Supported LTO compression algorithms: zlib zstd
+gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) 
+configure:1930: $? = 0
+configure:1932: gcc -V </dev/null >&5
+gcc: error: unrecognized command-line option '-V'
+gcc: fatal error: no input files
+compilation terminated.
+configure:1935: $? = 1
+configure:1955: checking for C compiler default output
+configure:1958: gcc    conftest.c  >&5
+configure:1961: $? = 0
+configure:1990: result: a.out
+configure:1995: checking whether the C compiler works
+configure:2001: ./a.out
+configure:2004: $? = 0
+configure:2019: result: yes
+configure:2026: checking whether we are cross compiling
+configure:2028: result: no
+configure:2031: checking for executable suffix
+configure:2033: gcc -o conftest    conftest.c  >&5
+configure:2036: $? = 0
+configure:2058: result: 
+configure:2064: checking for object suffix
+configure:2082: gcc -c   conftest.c >&5
+configure:2085: $? = 0
+configure:2104: result: o
+configure:2108: checking whether we are using the GNU C compiler
+configure:2129: gcc -c   conftest.c >&5
+configure:2132: $? = 0
+configure:2135: test -s conftest.o
+configure:2138: $? = 0
+configure:2150: result: yes
+configure:2156: checking whether gcc accepts -g
+configure:2174: gcc -c -g  conftest.c >&5
+configure:2177: $? = 0
+configure:2180: test -s conftest.o
+configure:2183: $? = 0
+configure:2193: result: yes
+configure:2220: gcc -c -g -O2  conftest.c >&5
+conftest.c:2:3: error: unknown type name 'choke'
+    2 |   choke me
+      |   ^~~~~
+conftest.c:2:3: error: expected '=', ',', ';', 'asm' or '__attribute__' at end of input
+configure:2223: $? = 1
+configure: failed program was:
+#ifndef __cplusplus
+  choke me
+#endif
+configure:2324: checking version of gcc
+configure:2328: result: 13.3.0
+configure:2337: checking if this is really Intel C compiler
+configure:2359: gcc -c -g -O2 -no-gcc  conftest.c >&5
+gcc: error: unrecognized command-line option '-no-gcc'
+configure:2362: $? = 1
+configure: failed program was:
+#line 2342 "configure"
+#include "confdefs.h"
+
+int
+main (void)
+{
+
+#ifdef __INTEL_COMPILER
+#else
+#error __INTEL_COMPILER is not defined
+#endif
+
+  ;
+  return 0;
+}
+configure:2379: result: no
+configure:2388: checking if this is really Clang C compiler
+configure:2409: gcc -c -g -O2  conftest.c >&5
+configure: In function 'main':
+configure:2400:2: error: #error __clang__ is not defined
+ 2400 | #else
+      |  ^~~~ 
+configure:2412: $? = 1
+configure: failed program was:
+#line 2392 "configure"
+#include "confdefs.h"
+
+int
+main (void)
+{
+
+#ifdef __clang__
+#else
+#error __clang__ is not defined
+#endif
+
+  ;
+  return 0;
+}
+configure:2428: result: no
+configure:2509: checking for gcc option to accept ANSI C
+configure:2564: gcc  -c -g -O2  conftest.c >&5
+configure:2567: $? = 0
+configure:2570: test -s conftest.o
+configure:2573: $? = 0
+configure:2590: result: none needed
+configure:2601: checking $CFLAGS variable
+configure:2715: result: ok
+configure:2720: checking $CC variable
+configure:2855: result: ok
+configure:2866: checking how to run the C preprocessor
+configure:2892: gcc -E  conftest.c
+configure:2898: $? = 0
+configure:2925: gcc -E  conftest.c
+configure:2922:10: fatal error: ac_nonexistent.h: No such file or directory
+ 2922 | #include "confdefs.h"
+      |          ^~~~~~~~~~~~      
+compilation terminated.
+configure:2931: $? = 1
+configure: failed program was:
+#line 2921 "configure"
+#include "confdefs.h"
+#include <ac_nonexistent.h>
+configure:2968: result: gcc -E
+configure:2983: gcc -E  conftest.c
+configure:2989: $? = 0
+configure:3016: gcc -E  conftest.c
+configure:3013:10: fatal error: ac_nonexistent.h: No such file or directory
+ 3013 | #include "confdefs.h"
+      |          ^~~~~~~~~~~~      
+compilation terminated.
+configure:3022: $? = 1
+configure: failed program was:
+#line 3012 "configure"
+#include "confdefs.h"
+#include <ac_nonexistent.h>
+configure:3063: checking whether gcc needs -traditional
+configure:3098: result: no
+configure:3105: checking whether gcc understands -c and -o together
+configure:3120: gcc -g -O2  -c conftest.c -o conftest2.o >&5
+configure:3123: $? = 0
+configure:3125: gcc -g -O2  -c conftest.c -o conftest2.o >&5
+configure:3128: $? = 0
+configure:3139: result: yes
+configure:3156: checking for ldconfig
+configure:3173: found /usr/sbin/ldconfig
+configure:3184: result: /usr/sbin/ldconfig
+configure:3195: checking if you want to ensure bool is consistent with C++
+configure:3205: result: yes
+configure:3262: checking for g++
+configure:3277: found /usr/bin/g++
+configure:3285: result: g++
+configure:3300: checking for C++ compiler version
+configure:3303: g++ --version </dev/null >&5
+g++ (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0
+Copyright (C) 2023 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.
+
+configure:3306: $? = 0
+configure:3308: g++ -v </dev/null >&5
+Using built-in specs.
+COLLECT_GCC=g++
+COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-linux-gnu/13/lto-wrapper
+OFFLOAD_TARGET_NAMES=nvptx-none:amdgcn-amdhsa
+OFFLOAD_TARGET_DEFAULT=1
+Target: x86_64-linux-gnu
+Configured with: ../src/configure -v --with-pkgversion='Ubuntu 13.3.0-6ubuntu2~24.04' --with-bugurl=file:///usr/share/doc/gcc-13/README.Bugs --enable-languages=c,ada,c++,go,d,fortran,objc,obj-c++,m2 --prefix=/usr --with-gcc-major-version-only --program-suffix=-13 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/libexec --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-bootstrap --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-libstdcxx-backtrace --enable-gnu-unique-object --disable-vtable-verify --enable-plugin --enable-default-pie --with-system-zlib --enable-libphobos-checking=release --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --enable-cet --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-nvptx/usr,amdgcn-amdhsa=/build/gcc-13-fG75Ri/gcc-13-13.3.0/debian/tmp-gcn/usr --enable-offload-defaulted --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu --with-build-config=bootstrap-lto-lean --enable-link-serialization=2
+Thread model: posix
+Supported LTO compression algorithms: zlib zstd
+gcc version 13.3.0 (Ubuntu 13.3.0-6ubuntu2~24.04) 
+configure:3311: $? = 0
+configure:3313: g++ -V </dev/null >&5
+g++: error: unrecognized command-line option '-V'
+g++: fatal error: no input files
+compilation terminated.
+configure:3316: $? = 1
+configure:3319: checking whether we are using the GNU C++ compiler
+configure:3340: g++ -c   conftest.cc >&5
+configure:3343: $? = 0
+configure:3346: test -s conftest.o
+configure:3349: $? = 0
+configure:3361: result: yes
+configure:3367: checking whether g++ accepts -g
+configure:3385: g++ -c -g  conftest.cc >&5
+configure:3388: $? = 0
+configure:3391: test -s conftest.o
+configure:3394: $? = 0
+configure:3404: result: yes
+configure:3444: g++ -c -g -O2  conftest.cc >&5
+configure:3447: $? = 0
+configure:3450: test -s conftest.o
+configure:3453: $? = 0
+configure:3475: g++ -c -g -O2  conftest.cc >&5
+configure: In function 'int main()':
+configure:3468:1: error: 'exit' was not declared in this scope
+ 3468 | {
+      | ^   
+configure:3464:1: note: 'exit' is defined in header '<cstdlib>'; did you forget to '#include <cstdlib>'?
+ 3463 | #line 3463 "configure"
+  +++ |+#include <cstdlib>
+ 3464 | #include "confdefs.h"
+configure:3478: $? = 1
+configure: failed program was:
+#line 3463 "configure"
+#include "confdefs.h"
+
+int
+main (void)
+{
+exit (42);
+  ;
+  return 0;
+}
+configure:3444: g++ -c -g -O2  conftest.cc >&5
+configure:3447: $? = 0
+configure:3450: test -s conftest.o
+configure:3453: $? = 0
+configure:3475: g++ -c -g -O2  conftest.cc >&5
+configure:3478: $? = 0
+configure:3481: test -s conftest.o
+configure:3484: $? = 0
+configure:3518: checking if g++ works
+configure:3543: g++ -c -g -O2  -I/usr/include conftest.cc >&5
+configure:3546: $? = 0
+configure:3549: test -s conftest.o
+configure:3552: $? = 0
+configure:3563: result: yes
+configure:3583: checking for g++
+configure:3600: found /usr/bin/g++
+configure:3611: result: /usr/bin/g++
+configure:3630: checking version of /usr/bin/g++
+configure:3638: result: 13.3.0
+configure:3651: checking if you want to build C++ binding and demo
+configure:3661: result: yes
+configure:3664: checking if you want to build with Ada
+configure:3666: result: yes
+configure:3669: checking if you want to install terminal database
+configure:3679: result: yes
+configure:3682: checking if you want to install manpages
+configure:3692: result: yes
+configure:3695: checking if you want to build programs such as tic
+configure:3705: result: yes
+configure:3708: checking if you want to build test-programs
+configure:3718: result: yes
+configure:3721: checking if you wish to install curses.h
+configure:3731: result: yes
+configure:3755: checking for mawk
+configure:3770: found /usr/bin/mawk
+configure:3778: result: mawk
+configure:3804: checking for a BSD compatible install
+configure:3853: result: /usr/bin/install -c
+configure:3878: checking for lint
+configure:3904: result: no
+configure:3878: checking for cppcheck
+configure:3904: result: no
+configure:3878: checking for splint
+configure:3904: result: no
+configure:3917: checking whether ln -s works
+configure:3921: result: yes
+configure:3928: checking if ln -s -f options work
+configure:3940: result: yes
+configure:3945: checking for long file names
+configure:3984: result: yes
+configure:4013: checking if you want to use pkg-config
+configure:4023: result: yes
+configure:4075: checking for pkg-config
+configure:4092: found /usr/bin/pkg-config
+configure:4104: result: /usr/bin/pkg-config
+configure:4167: checking for /usr/bin/pkg-config library directory
+configure:4210: result: auto
+configure:4214: checking for search-list
+configure:4241: result: /usr/local/lib/x86_64-linux-gnu/pkgconfig /usr/local/lib/pkgconfig /usr/local/share/pkgconfig /usr/lib/x86_64-linux-gnu/pkgconfig /usr/lib/pkgconfig /usr/share/pkgconfig
+configure:4253: checking for first directory
+configure:4264: result: /usr/local/lib/pkgconfig
+configure:4304: checking if we should install .pc files for /usr/bin/pkg-config
+configure:4318: result: no
+configure:4392: checking if we should assume mixed-case filenames
+configure:4402: result: auto
+configure:4406: checking if filesystem supports mixed-case filenames
+configure:4433: result: yes
+configure:4452: checking whether make sets ${MAKE}
+configure:4472: result: yes
+configure:4481: checking for ".PHONY" make-support
+** making always.out 1
+echo 1 > always.out
+** making always 1
+** making once.out 1
+echo 1 > once.out
+** making once 1
+make: Nothing to be done for 'always'.
+touch once
+** making always.out 2
+echo 2 > always.out
+** making always 2
+** making once.out 2
+echo 2 > once.out
+** making once 2
+make: Nothing to be done for 'always'.
+touch once
+** making always.out 3
+echo 3 > always.out
+** making always 3
+** making once.out 3
+echo 3 > once.out
+** making once 3
+make: Nothing to be done for 'always'.
+touch once
+configure:4536: result: yes
+configure:4547: checking for exctags
+configure:4573: result: no
+configure:4547: checking for ctags
+configure:4562: found /usr/bin/ctags
+configure:4570: result: ctags
+configure:4584: checking for exetags
+configure:4610: result: no
+configure:4584: checking for etags
+configure:4599: found /usr/bin/etags
+configure:4607: result: etags
+configure:4619: checking for ctags
+configure:4634: found /usr/bin/ctags
+configure:4643: result: yes
+configure:4653: checking for etags
+configure:4668: found /usr/bin/etags
+configure:4677: result: yes
+configure:4700: checking for makeflags variable
+configure:4738: result: 
+configure:4779: checking for ranlib
+configure:4794: found /usr/bin/ranlib
+configure:4803: result: ranlib
+configure:4853: checking for ld
+configure:4868: found /usr/bin/ld
+configure:4877: result: ld
+configure:4927: checking for ar
+configure:4942: found /usr/bin/ar
+configure:4951: result: ar
+configure:5001: checking for nm
+configure:5016: found /usr/bin/nm
+configure:5025: result: nm
+configure:5075: checking for ar
+configure:5099: result: ar
+configure:5111: checking for options to update archives
+configure:5151: gcc -c -g -O2  conftest.c >&5
+configure:5154: $? = 0
+ar  -curvU conftest.a conftest.o
+configure:5175: result: -curvU
+configure:5186: checking for an installation directory prefix
+configure:5199: result: (none)
+configure:5414: checking if libtool -version-number should be used
+configure:5431: result: yes
+configure:5480: checking if you want to build libraries with libtool
+configure:5490: result: no
+configure:5800: checking if you want to build shared libraries
+configure:5810: result: no
+configure:5814: checking if you want to build static libraries
+configure:5824: result: yes
+configure:5828: checking if you want to build debug libraries
+configure:5838: result: yes
+configure:5842: checking if you want to build profiling libraries
+configure:5852: result: no
+configure:5877: checking for specified models
+configure:5881: result:  normal debug
+configure:5886: checking for default model
+configure:5889: result: normal
+configure:5903: checking if you want to have a library-prefix
+configure:5913: result: auto
+configure:5944: checking for PATH separator
+configure:5951: result: :
+configure:5955: checking for ANSI C header files
+configure:5969: gcc -E  conftest.c
+configure:5975: $? = 0
+configure:6062: gcc -o conftest -g -O2   conftest.c  >&5
+configure:6065: $? = 0
+configure:6067: ./conftest
+configure:6070: $? = 0
+configure:6083: result: yes
+configure:6099: checking for sys/types.h
+configure:6111: gcc -c -g -O2  conftest.c >&5
+configure:6114: $? = 0
+configure:6117: test -s conftest.o
+configure:6120: $? = 0
+configure:6130: result: yes
+configure:6099: checking for sys/stat.h
+configure:6111: gcc -c -g -O2  conftest.c >&5
+configure:6114: $? = 0
+configure:6117: test -s conftest.o
+configure:6120: $? = 0
+configure:6130: result: yes
+configure:6099: checking for stdlib.h
+configure:6111: gcc -c -g -O2  conftest.c >&5
+configure:6114: $? = 0
+configure:6117: test -s conftest.o
+configure:6120: $? = 0
+configure:6130: result: yes
+configure:6099: checking for string.h
+configure:6111: gcc -c -g -O2  conftest.c >&5
+configure:6114: $? = 0
+configure:6117: test -s conftest.o
+configure:6120: $? = 0
+configure:6130: result: yes
+configure:6099: checking for memory.h
+configure:6111: gcc -c -g -O2  conftest.c >&5
+configure:6114: $? = 0
+configure:6117: test -s conftest.o
+configure:6120: $? = 0
+configure:6130: result: yes
+configure:6099: checking for strings.h
+configure:6111: gcc -c -g -O2  conftest.c >&5
+configure:6114: $? = 0
+configure:6117: test -s conftest.o
+configure:6120: $? = 0
+configure:6130: result: yes
+configure:6099: checking for inttypes.h
+configure:6111: gcc -c -g -O2  conftest.c >&5
+configure:6114: $? = 0
+configure:6117: test -s conftest.o
+configure:6120: $? = 0
+configure:6130: result: yes
+configure:6099: checking for stdint.h
+configure:6111: gcc -c -g -O2  conftest.c >&5
+configure:6114: $? = 0
+configure:6117: test -s conftest.o
+configure:6120: $? = 0
+configure:6130: result: yes
+configure:6099: checking for unistd.h
+configure:6111: gcc -c -g -O2  conftest.c >&5
+configure:6114: $? = 0
+configure:6117: test -s conftest.o
+configure:6120: $? = 0
+configure:6130: result: yes
+configure:6140: checking whether exit is declared
+configure:6161: gcc -c -g -O2  conftest.c >&5
+configure:6164: $? = 0
+configure:6167: test -s conftest.o
+configure:6170: $? = 0
+configure:6180: result: yes
+configure:6186: checking for dirent.h that defines DIR
+configure:6207: gcc -c -g -O2  conftest.c >&5
+configure:6210: $? = 0
+configure:6213: test -s conftest.o
+configure:6216: $? = 0
+configure:6226: result: yes
+configure:6239: checking for opendir in -ldir
+configure:6266: gcc -o conftest -g -O2   conftest.c -ldir   >&5
+/usr/bin/ld: cannot find -ldir: No such file or directory
+collect2: error: ld returned 1 exit status
+configure:6269: $? = 1
+configure: failed program was:
+#line 6247 "configure"
+#include "confdefs.h"
+
+/* Override any gcc2 internal prototype to avoid an error.  */
+#ifdef __cplusplus
+extern "C"
+#endif
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char opendir (void);
+int
+main (void)
+{
+opendir ();
+  ;
+  return 0;
+}
+configure:6286: result: no
+configure:6350: checking if you want to build a separate terminfo library
+configure:6360: result: no
+configure:6363: checking if you want to build a separate tic library
+configure:6373: result: no
+configure:6386: checking for default loader flags
+configure:6395: result: (none)
+configure:6435: checking for an rpath option
+configure:6466: result: -Wl,-rpath,
+configure:6545: checking whether to use release or ABI version in shared library file names
+configure:6571: result: auto
+configure:6594: checking which gcc option to use
+configure:6613: gcc -c -g -O2 -fPIC  conftest.c >&5
+configure:6616: $? = 0
+configure:6619: test -s conftest.o
+configure:6622: $? = 0
+configure:6631: result: -fPIC
+configure:7199: testing CC_SHARED_OPTS: -fPIC ...
+configure:7203: testing MK_SHARED_LIB:  ${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,`basename $@ .${REL_VERSION}`.${ABI_VERSION},-stats,-lc -o $@ ...
+configure:7455: checking if you want to link with the GPM mouse library
+configure:7465: result: maybe
+configure:7469: checking for gpm.h
+configure:7479: gcc -E  conftest.c
+configure:7476:10: fatal error: gpm.h: No such file or directory
+ 7476 | #include "confdefs.h"
+      |          ^~~~~~~
+compilation terminated.
+configure:7485: $? = 1
+configure: failed program was:
+#line 7475 "configure"
+#include "confdefs.h"
+#include <gpm.h>
+configure:7504: result: no
+configure:8045: checking if you want to use PCRE2 for regular-expressions
+configure:8054: result: no
+configure:8545: checking if you want to disable library suffixes
+configure:8562: result: no
+configure:8831: checking if you want to disable extra LDFLAGS for package-scripts
+configure:8848: result: no
+configure:8856: checking for extra suffix to append to header/library paths
+configure:8875: result: (none)
+configure:8879: checking if you wish to install ncurses overwriting curses
+configure:8889: result: yes
+configure:8892: checking if external terminfo-database is used
+configure:8902: result: yes
+configure:8918: checking which terminfo source-file will be installed
+configure:8926: result: ${top_srcdir}/misc/terminfo.src
+configure:8929: checking whether to use hashed database instead of directory/tree
+configure:8939: result: no
+configure:8945: checking for list of fallback terminal descriptions
+configure:8955: result: (none)
+configure:9014: checking for tic
+configure:9029: found /usr/bin/tic
+configure:9037: result: tic
+configure:9087: checking for infocmp
+configure:9102: found /usr/bin/infocmp
+configure:9110: result: infocmp
+configure:9453: checking if you want modern xterm or antique
+configure:9467: result: xterm-new
+configure:9480: checking if xterm backspace sends BS or DEL
+configure:9504: result: DEL
+configure:9520: checking for list of terminfo directories
+configure:9583: result: /system_ext/etc/terminfo
+configure:9598: checking for default terminfo directory
+configure:9643: result: /system_ext/etc/terminfo
+configure:9654: checking if big-core option selected
+configure:9680: gcc -o conftest -g -O2   conftest.c  >&5
+configure:9683: $? = 0
+configure:9685: ./conftest
+configure:9688: $? = 0
+configure:9700: result: yes
+configure:9710: checking if big-strings option selected
+configure:9734: result: yes
+configure:9741: checking if you want termcap-fallback support
+configure:9751: result: no
+configure:9885: checking if ~/.terminfo is wanted
+configure:9895: result: yes
+configure:9902: checking if you want to permit root to use ncurses environment variables
+configure:9912: result: yes
+configure:9919: checking if you want to permit setuid programs to access all files
+configure:9929: result: yes
+configure:9936: checking if you want to permit setuid use of ncurses environment variables
+configure:9946: result: yes
+configure:9961: checking for unistd.h
+configure:9996: result: yes
+configure:10011: checking for remove
+configure:10048: gcc -o conftest -g -O2   conftest.c  >&5
+configure:10051: $? = 0
+configure:10054: test -s conftest
+configure:10057: $? = 0
+configure:10067: result: yes
+configure:10011: checking for unlink
+configure:10048: gcc -o conftest -g -O2   conftest.c  >&5
+configure:10051: $? = 0
+configure:10054: test -s conftest
+configure:10057: $? = 0
+configure:10067: result: yes
+configure:10151: checking if link/symlink functions work
+configure:10198: gcc -o conftest -g -O2   conftest.c  >&5
+configure:10201: $? = 0
+configure:10203: ./conftest
+configure:10206: $? = 0
+configure:10198: gcc -o conftest -g -O2   conftest.c  >&5
+configure:10201: $? = 0
+configure:10203: ./conftest
+configure:10206: $? = 0
+configure:10224: result:  link symlink
+configure:10244: checking if tic should use symbolic links
+configure:10254: result: no
+configure:10261: checking if tic should use hard links
+configure:10268: result: yes
+configure:10284: checking if you want broken-linker support code
+configure:10294: result: no
+configure:10308: checking if tputs should process BSD-style prefix padding
+configure:10318: result: no
+configure:10337: checking if the POSIX test-macros are already defined
+configure:10363: gcc -c -g -O2  conftest.c >&5
+configure:10366: $? = 0
+configure:10369: test -s conftest.o
+configure:10372: $? = 0
+configure:10383: result: no
+configure:10425: checking if this is the GNU C library
+configure:10451: gcc -c -g -O2  conftest.c >&5
+configure:10454: $? = 0
+configure:10457: test -s conftest.o
+configure:10460: $? = 0
+configure:10471: result: yes
+configure:10479: checking if _DEFAULT_SOURCE can be used as a basis
+configure:10510: gcc -c -g -O2 -D_DEFAULT_SOURCE conftest.c >&5
+configure:10513: $? = 0
+configure:10516: test -s conftest.o
+configure:10519: $? = 0
+configure:10531: result: yes
+configure:10536: checking if _XOPEN_SOURCE=600 works with _DEFAULT_SOURCE
+configure:10661: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:10664: $? = 0
+configure:10667: test -s conftest.o
+configure:10670: $? = 0
+configure:10681: result: yes
+configure:11936: checking if _XOPEN_SOURCE really is set
+configure:11954: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:11957: $? = 0
+configure:11960: test -s conftest.o
+configure:11963: $? = 0
+configure:11972: result: yes
+configure:11992: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:11995: $? = 0
+configure:11998: test -s conftest.o
+configure:12001: $? = 0
+configure:12256: checking if SIGWINCH is defined
+configure:12278: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:12281: $? = 0
+configure:12284: test -s conftest.o
+configure:12287: $? = 0
+configure:12335: result: yes
+configure:12405: checking for nl_langinfo and CODESET
+configure:12425: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12428: $? = 0
+configure:12431: test -s conftest
+configure:12434: $? = 0
+configure:12445: result: yes
+configure:12459: checking if you want wide-character code
+configure:12469: result: yes
+configure:12504: checking for wchar.h
+configure:12514: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c
+configure:12520: $? = 0
+configure:12539: result: yes
+configure:12504: checking for wctype.h
+configure:12514: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c
+configure:12520: $? = 0
+configure:12539: result: yes
+configure:12549: checking if wchar.h can be used as is
+configure:12578: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:12581: $? = 0
+configure:12584: test -s conftest.o
+configure:12587: $? = 0
+configure:12597: result: yes
+configure:12693: checking if wcwidth agrees graphics are single-width
+configure:12809: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12812: $? = 0
+configure:12814: ./conftest
+	-	VT100 symbols
+1	0x250c	upper left corner
+1	0x2514	lower left corner
+1	0x2510	upper right corner
+1	0x2518	lower right corner
+1	0x251c	tee pointing left
+1	0x2524	tee pointing right
+1	0x2534	tee pointing up
+1	0x252c	tee pointing down
+1	0x2500	horizontal line
+1	0x2502	vertical line
+1	0x253c	large plus or crossover
+1	0x23ba	scan line 1
+1	0x23bd	scan line 9
+1	0x25c6	diamond
+1	0x2592	checker board (stipple)
+1	0x00b0	degree symbol
+1	0x00b1	plus/minus
+1	0x00b7	bullet
+	-	Teletype 5410v1 symbols
+1	0x2190	arrow pointing left
+1	0x2192	arrow pointing right
+1	0x2193	arrow pointing down
+1	0x2191	arrow pointing up
+1	0x2592	board of squares
+1	0x2603	lantern symbol
+1	0x25ae	solid square block
+	-	these defaults were invented for ncurses
+1	0x23bb	scan line 3
+1	0x23bc	scan line 7
+1	0x2264	less-than-or-equal-to
+1	0x2265	greater-than-or-equal-to
+1	0x03c0	greek pi
+1	0x2260	not-equal
+1	0x00a3	pound-sterling symbol
+	-	thick-line-drawing
+1	0x250f	upper left corner
+1	0x2517	lower left corner
+1	0x2513	upper right corner
+1	0x251b	lower right corner
+1	0x2523	tee pointing left
+1	0x252b	tee pointing right
+1	0x253b	tee pointing up
+1	0x2533	tee pointing down
+1	0x2501	horizontal line
+1	0x2503	vertical line
+1	0x254b	large plus or crossover
+	-	double-line-drawing
+1	0x2554	upper left corner
+1	0x255a	lower left corner
+1	0x2557	upper right corner
+1	0x255d	lower right corner
+1	0x2563	tee pointing left
+1	0x2560	tee pointing right
+1	0x2569	tee pointing up
+1	0x2566	tee pointing down
+1	0x2550	horizontal line
+1	0x2551	vertical line
+1	0x256c	large plus or crossover
+54/54 passed wcwidth/graphics check
+configure:12817: $? = 0
+configure:12830: result: yes
+configure:12841: checking for putwc
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for btowc
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for wctob
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for wmemchr
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for mbtowc
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for wctomb
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for mblen
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for mbrlen
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for mbrtowc
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for wcsrtombs
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for mbsrtowcs
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for wcstombs
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:12841: checking for mbstowcs
+configure:12878: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:12881: $? = 0
+configure:12884: test -s conftest
+configure:12887: $? = 0
+configure:12897: result: yes
+configure:13523: checking if we must include wchar.h to declare mbstate_t
+configure:13548: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure: In function 'main':
+configure:13541:1: error: unknown type name 'mbstate_t'
+13541 | {
+      | ^        
+configure:13551: $? = 1
+configure: failed program was:
+#line 13530 "configure"
+#include "confdefs.h"
+
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+#ifdef HAVE_LIBUTF8_H
+#include <libutf8.h>
+#endif
+int
+main (void)
+{
+mbstate_t state; (void)state
+  ;
+  return 0;
+}
+configure:13583: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:13586: $? = 0
+configure:13589: test -s conftest.o
+configure:13592: $? = 0
+configure:13604: result: yes
+configure:13622: checking if we must include wchar.h to declare wchar_t
+configure:13647: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:13650: $? = 0
+configure:13653: test -s conftest.o
+configure:13656: $? = 0
+configure:13703: result: no
+configure:13726: checking if we must include wchar.h to declare wint_t
+configure:13751: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure: In function 'main':
+configure:13744:1: error: unknown type name 'wint_t'; did you mean 'int8_t'?
+13744 | {
+      | ^     
+      | int8_t
+configure:13754: $? = 1
+configure: failed program was:
+#line 13733 "configure"
+#include "confdefs.h"
+
+#include <stdlib.h>
+#include <stdarg.h>
+#include <stdio.h>
+#ifdef HAVE_LIBUTF8_H
+#include <libutf8.h>
+#endif
+int
+main (void)
+{
+wint_t state; (void)state
+  ;
+  return 0;
+}
+configure:13786: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:13789: $? = 0
+configure:13792: test -s conftest.o
+configure:13795: $? = 0
+configure:13807: result: yes
+configure:13839: checking whether to enable _LP64 definition in curses.h
+configure:13849: result: yes
+configure:13865: checking for special C compiler options needed for large files
+configure:13939: result: no
+configure:13945: checking for _FILE_OFFSET_BITS value needed for large files
+configure:13973: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:13976: $? = 0
+configure:13979: test -s conftest.o
+configure:13982: $? = 0
+configure:14032: result: no
+configure:14042: checking for _LARGE_FILES value needed for large files
+configure:14070: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:14073: $? = 0
+configure:14076: test -s conftest.o
+configure:14079: $? = 0
+configure:14129: result: no
+configure:14142: checking for _LARGEFILE_SOURCE value needed for large files
+configure:14165: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:14168: $? = 0
+configure:14171: test -s conftest.o
+configure:14174: $? = 0
+configure:14219: result: no
+configure:14233: checking for fseeko
+configure:14253: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:14256: $? = 0
+configure:14259: test -s conftest
+configure:14262: $? = 0
+configure:14272: result: yes
+configure:14311: checking whether to use struct dirent64
+configure:14345: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure: In function 'main':
+configure:14334:38: error: initialization of 'struct dirent64 *' from incompatible pointer type 'struct dirent *' [-Werror=incompatible-pointer-types]
+14334 |                 DIR *dp = opendir(".");
+      |                                      ^~     
+configure:14336:27: error: invalid operands to binary - (have 'struct dirent64 *' and 'struct dirent *')
+14336 |                 struct dirent *y = readdir(dp);
+      |                           ^
+cc1: some warnings being treated as errors
+configure:14348: $? = 1
+configure: failed program was:
+#line 14318 "configure"
+#include "confdefs.h"
+
+#pragma GCC diagnostic error "-Wincompatible-pointer-types"
+#include <sys/types.h>
+#include <dirent.h>
+
+#ifndef __REDIRECT
+/* if transitional largefile support is setup, this is true */
+extern struct dirent64 * readdir(DIR *);
+#endif
+
+int
+main (void)
+{
+
+		DIR *dp = opendir(".");
+		struct dirent64 *x = readdir(dp);
+		struct dirent *y = readdir(dp);
+		int z = x - y;
+		(void)z;
+
+  ;
+  return 0;
+}
+configure:14365: result: no
+configure:14375: checking if you want tparm not to use X/Open fixed-parameter list
+configure:14385: result: yes
+configure:14409: checking if you want to enable wattr* macros
+configure:14421: result: no
+configure:14429: checking for X11 rgb file
+configure:14501: result: /usr/share/X11/rgb.txt
+configure:14516: checking for type of bool
+configure:14526: result: auto
+configure:14536: checking for alternate terminal capabilities file
+configure:14552: result: Caps
+configure:14557: checking for type of chtype
+configure:14567: result: uint32_t
+configure:14579: checking for type of ospeed
+configure:14589: result: short
+configure:14601: checking for type of mmask-t
+configure:14611: result: uint32_t
+configure:14622: checking for size CCHARW_MAX
+configure:14632: result: 5
+configure:14635: checking for signed char
+configure:14656: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:14659: $? = 0
+configure:14662: test -s conftest.o
+configure:14665: $? = 0
+configure:14675: result: yes
+configure:14678: checking size of signed char
+configure:14842: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600  conftest.c  >&5
+configure:14845: $? = 0
+configure:14847: ./conftest
+configure:14850: $? = 0
+configure:14866: result: 1
+configure:14877: checking whether to use signed chars for Boolean array in term.h
+configure:14887: result: no
+configure:14893: checking for type of tparm-arg
+configure:14903: result: intptr_t
+configure:14914: checking if RCS identifiers should be compiled-in
+configure:14924: result: no
+configure:14933: checking format of man-pages
+configure:15024: result:  gzip
+configure:15068: checking for manpage renaming
+configure:15102: result: /home/micky387/Omni/external/libncurses/man/man_db.renames
+configure:15105: checking if manpage aliases will be installed
+configure:15116: result: yes
+configure:15130: checking if manpage symlinks should be used
+configure:15149: result: yes
+configure:15153: checking for manpage tbl
+configure:15164: result: no
+configure:15482: checking if you want to build with function extensions
+configure:15492: result: yes
+configure:15548: checking if you want to build with SCREEN extensions
+configure:15558: result: yes
+configure:15577: checking if you want to build with terminal-driver
+configure:15587: result: no
+configure:15608: checking for extended use of const keyword
+configure:15618: result: yes
+configure:15626: checking if you want to use extended colors
+configure:15636: result: yes
+configure:15680: checking if you want to use extended mouse encoding
+configure:15690: result: yes
+configure:15717: checking if you want to use extended putwin/screendump
+configure:15727: result: yes
+configure:15737: checking if you want $NCURSES_NO_PADDING code
+configure:15747: result: yes
+configure:15755: checking if you want SIGWINCH handler
+configure:15765: result: yes
+configure:15780: checking if you want user-definable terminal capabilities like termcap
+configure:15790: result: yes
+configure:15804: checking if you want to link with the pthread library
+configure:15814: result: no
+configure:16156: checking if you want reentrant code
+configure:16166: result: no
+configure:16267: checking whether curses library structures should be opaque
+configure:16289: result: yes
+configure:16298: checking whether form library structures should be opaque
+configure:16315: result: yes
+configure:16318: checking whether menu library structures should be opaque
+configure:16335: result: yes
+configure:16338: checking whether panel library structures should be opaque
+configure:16355: result: yes
+configure:16388: checking if you want all development code
+configure:16398: result: no
+configure:16402: checking if you want to check screensize of serial terminals
+configure:16412: result: no
+configure:16420: checking if you want hard-tabs code
+configure:16430: result: no
+configure:16438: checking if you want limited support for xmc
+configure:16448: result: no
+configure:16458: checking if you do not want to assume colors are white-on-black
+configure:16468: result: yes
+configure:16476: checking if you want hashmap scrolling-optimization code
+configure:16486: result: yes
+configure:16494: checking if you want colorfgbg code
+configure:16504: result: no
+configure:16512: checking if you want to use gcc -fvisibility option
+configure:16522: result: no
+configure:16859: checking if you want interop bindings
+configure:16869: result: yes
+configure:16875: checking if you want experimental safe-sprintf code
+configure:16885: result: no
+configure:16910: checking if you want wgetch-events code
+configure:16920: result: no
+configure:16971: checking if you want to see long compiling messages
+configure:17005: result: yes
+configure:17018: checking if you want to install stripped executables
+configure:17035: result: yes
+configure:17046: checking if install accepts -p option
+configure:17077: result: yes
+configure:17080: checking if install needs to be told about ownership
+configure:17091: result: no
+configure:17102: checking if you want to specify strip-program
+configure:17112: result: no
+configure:17182: checking if you want to use C11 _Noreturn feature
+configure:17199: result: no
+configure:17413: checking if you want to turn on gcc warnings
+configure:17430: result: no
+configure:17683: checking for gcc __attribute__ directives...
+checking for gcc __attribute__((scanf))
+configure:17736: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:17739: $? = 0
+checking for gcc __attribute__((printf))
+configure:17736: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:17739: $? = 0
+checking for gcc __attribute__((unused))
+configure:17736: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:17739: $? = 0
+checking for gcc __attribute__((noreturn))
+configure:17736: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 conftest.c >&5
+configure:17739: $? = 0
+configure:18099: checking if you want to work around bogus compiler/loader warnings
+configure:18109: result: no
+configure:18381: checking if you want to enable runtime assertions
+configure:18391: result: no
+configure:18407: checking if you want to use dmalloc for testing
+configure:18429: result: no
+configure:18644: checking if you want to use dbmalloc for testing
+configure:18666: result: no
+configure:18881: checking if you want to use valgrind for testing
+configure:18903: result: no
+configure:19016: checking if you want to perform memory-leak testing
+configure:19027: result: no
+configure:19079: checking whether to add trace feature to all models
+configure:19089: result: no
+configure:19203: checking if we want to use GNAT projects
+configure:19220: result: yes
+configure:19345: checking if -lm needed for math functions
+configure:19368: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+/usr/bin/ld: /tmp/ccKNgTab.o: in function `main':
+/home/micky387/Omni/external/libncurses/conftest.c:19361:(.text.startup+0x20): undefined reference to `sin'
+/usr/bin/ld: /home/micky387/Omni/external/libncurses/conftest.c:19361:(.text.startup+0x2b): undefined reference to `pow'
+collect2: error: ld returned 1 exit status
+configure:19371: $? = 1
+configure: failed program was:
+#line 19352 "configure"
+#include "confdefs.h"
+
+		#include <stdio.h>
+		#include <stdlib.h>
+		#include <math.h>
+
+int
+main (void)
+{
+double x = rand(); printf("result = %g\n", pow(sin(x),x))
+  ;
+  return 0;
+}
+configure:19387: result: yes
+configure:19395: checking if -lm is available for math functions
+configure:19418: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  -lm >&5
+configure:19421: $? = 0
+configure:19424: test -s conftest
+configure:19427: $? = 0
+configure:19437: result: yes
+configure:19459: checking whether time.h and sys/time.h may both be included
+configure:19481: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:19484: $? = 0
+configure:19487: test -s conftest.o
+configure:19490: $? = 0
+configure:19500: result: yes
+configure:19868: checking for regcomp
+configure:19905: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:19908: $? = 0
+configure:19911: test -s conftest
+configure:19914: $? = 0
+configure:19924: result: yes
+configure:20153: checking for regular-expression headers
+configure:20228: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:20231: $? = 0
+configure:20234: test -s conftest
+configure:20237: $? = 0
+configure:20253: result: regex.h
+configure:20295: checking for fcntl.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for getopt.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for limits.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for locale.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for math.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for poll.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for sys/auxv.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for sys/ioctl.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for sys/param.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for sys/poll.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for sys/select.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for sys/time.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for sys/times.h
+configure:20305: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:20311: $? = 0
+configure:20330: result: yes
+configure:20295: checking for unistd.h
+configure:20330: result: yes
+configure:20295: checking for wctype.h
+configure:20330: result: yes
+configure:20343: checking for unistd.h
+configure:20378: result: yes
+configure:20343: checking for getopt.h
+configure:20378: result: yes
+configure:20388: checking for header declaring getopt variables
+configure:20411: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure: In function 'main':
+configure:20404:9: error: 'optind' undeclared (first use in this function)
+20404 | {
+      |         ^     
+configure:20404:9: note: each undeclared identifier is reported only once for each function it appears in
+configure:20404:27: error: 'optarg' undeclared (first use in this function)
+20404 | {
+      |                           ^     
+configure:20414: $? = 1
+configure: failed program was:
+#line 20398 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+int
+main (void)
+{
+int x = optind; char *y = optarg; (void)x; (void)y
+  ;
+  return 0;
+}
+configure:20411: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure: In function 'main':
+configure:20404:9: error: 'optind' undeclared (first use in this function)
+20404 | {
+      |         ^     
+configure:20404:9: note: each undeclared identifier is reported only once for each function it appears in
+configure:20404:27: error: 'optarg' undeclared (first use in this function)
+20404 | {
+      |                           ^     
+configure:20414: $? = 1
+configure: failed program was:
+#line 20398 "configure"
+#include "confdefs.h"
+
+#include <stdlib.h>
+int
+main (void)
+{
+int x = optind; char *y = optarg; (void)x; (void)y
+  ;
+  return 0;
+}
+configure:20411: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:20414: $? = 0
+configure:20417: test -s conftest.o
+configure:20420: $? = 0
+configure:20432: result: unistd.h
+configure:20449: checking if external environ is declared
+configure:20469: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure: In function 'main':
+configure:20495:19: error: 'environ' undeclared (first use in this function)
+20495 | 
+      |                   ^      
+configure:20495:19: note: each undeclared identifier is reported only once for each function it appears in
+configure:20472: $? = 1
+configure: failed program was:
+#line 20456 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# if HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#if HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+#  include <stdint.h>
+# endif
+#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+int
+main (void)
+{
+void* x = (void*) environ; (void)x
+  ;
+  return 0;
+}
+configure:20489: result: no
+configure:20504: checking if external environ exists
+configure:20526: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:20529: $? = 0
+configure:20532: test -s conftest
+configure:20535: $? = 0
+configure:20546: result: yes
+configure:20559: checking for getenv
+configure:20596: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:20599: $? = 0
+configure:20602: test -s conftest
+configure:20605: $? = 0
+configure:20615: result: yes
+configure:20621: checking for putenv
+configure:20658: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:20661: $? = 0
+configure:20664: test -s conftest
+configure:20667: $? = 0
+configure:20677: result: yes
+configure:20621: checking for setenv
+configure:20658: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:20661: $? = 0
+configure:20664: test -s conftest
+configure:20667: $? = 0
+configure:20677: result: yes
+configure:20621: checking for strdup
+configure:20658: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:20638:6: warning: conflicting types for built-in function 'strdup'; expected 'char *(const char *)' [-Wbuiltin-declaration-mismatch]
+20638 |    builtin and then its argument prototype would still apply.  */
+      |      ^~~~~~
+configure:20661: $? = 0
+configure:20664: test -s conftest
+configure:20667: $? = 0
+configure:20677: result: yes
+configure:20687: checking if getenv returns consistent values
+configure:20802: gcc -o conftest -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:20805: $? = 0
+configure:20807: ./conftest
+configure:20810: $? = 0
+configure:20823: result: yes
+configure:20842: checking if sys/time.h works with sys/select.h
+configure:20869: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:20872: $? = 0
+configure:20875: test -s conftest.o
+configure:20878: $? = 0
+configure:20890: result: yes
+configure:20905: checking for an ANSI C-conforming const
+configure:20973: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:20976: $? = 0
+configure:20979: test -s conftest.o
+configure:20982: $? = 0
+configure:20992: result: yes
+configure:21002: checking for inline
+configure:21019: gcc -c -g -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:21022: $? = 0
+configure:21025: test -s conftest.o
+configure:21028: $? = 0
+configure:21039: result: inline
+configure:21065: checking if gcc supports options to tune inlining
+configure:21086: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:21089: $? = 0
+configure:21092: test -s conftest.o
+configure:21095: $? = 0
+configure:21107: result: yes
+configure:21213: checking for signal global datatype
+configure:21249: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:21252: $? = 0
+configure:21255: test -s conftest.o
+configure:21258: $? = 0
+configure:21272: result: volatile sig_atomic_t
+configure:21361: checking if unsigned literals are legal
+configure:21380: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:21383: $? = 0
+configure:21386: test -s conftest.o
+configure:21389: $? = 0
+configure:21401: result: yes
+configure:21417: checking if external errno is declared
+configure:21438: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:21441: $? = 0
+configure:21444: test -s conftest.o
+configure:21447: $? = 0
+configure:21458: result: yes
+configure:21473: checking if external errno exists
+configure:21495: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+/usr/bin/ld: errno: TLS definition in /lib/x86_64-linux-gnu/libc.so.6 section .tbss mismatches non-TLS reference in /tmp/ccj8FcXO.o
+/usr/bin/ld: /lib/x86_64-linux-gnu/libc.so.6: error adding symbols: bad value
+collect2: error: ld returned 1 exit status
+configure:21498: $? = 1
+configure: failed program was:
+#line 21480 "configure"
+#include "confdefs.h"
+
+#undef errno
+extern int errno;
+
+int
+main (void)
+{
+errno = 2
+  ;
+  return 0;
+}
+configure:21515: result: no
+configure:21528: checking if data-only library module links
+configure:21539: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:21542: $? = 0
+configure:21566: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:21569: $? = 0
+configure:21593: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c conftest.a  >&5
+configure:21596: $? = 0
+configure:21598: ./conftest
+configure:21601: $? = 0
+configure:21616: result: yes
+configure:21630: checking for clock_gettime
+configure:21650: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21653: $? = 0
+configure:21656: test -s conftest
+configure:21659: $? = 0
+configure:21670: result: yes
+configure:21853: checking for fpathconf
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for getcwd
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for getauxval
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for getegid
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for geteuid
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for getopt
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for getuid
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for issetugid
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+/usr/bin/ld: /tmp/ccLeGIXO.o: in function `main':
+/home/micky387/Omni/external/libncurses/conftest.c:21883:(.text.startup+0x9): undefined reference to `issetugid'
+collect2: error: ld returned 1 exit status
+configure:21893: $? = 1
+configure: failed program was:
+#line 21859 "configure"
+#include "confdefs.h"
+#define issetugid autoconf_temporary
+#include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
+#undef issetugid
+
+#ifdef __cplusplus
+extern "C"
+#endif
+
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char issetugid (void);
+
+int
+main (void)
+{
+
+/* The GNU C library defines stubs for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_issetugid) || defined (__stub___issetugid)
+#error found stub for issetugid
+#endif
+
+	return issetugid ();
+  ;
+  return 0;
+}
+configure:21909: result: no
+configure:21853: checking for localeconv
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for poll
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for remove
+configure:21909: result: yes
+configure:21853: checking for select
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for setbuf
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for setbuffer
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for setfsuid
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for setvbuf
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for sigaction
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for sigvec
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+/usr/bin/ld: /tmp/cc4AvGeS.o: in function `main':
+/home/micky387/Omni/external/libncurses/conftest.c:21883:(.text.startup+0x9): undefined reference to `sigvec'
+collect2: error: ld returned 1 exit status
+configure:21893: $? = 1
+configure: failed program was:
+#line 21859 "configure"
+#include "confdefs.h"
+#define sigvec autoconf_temporary
+#include <limits.h>	/* least-intrusive standard header which defines gcc2 __stub macros */
+#undef sigvec
+
+#ifdef __cplusplus
+extern "C"
+#endif
+
+/* We use char because int might match the return type of a gcc2
+   builtin and then its argument prototype would still apply.  */
+char sigvec (void);
+
+int
+main (void)
+{
+
+/* The GNU C library defines stubs for functions which it implements
+    to always fail with ENOSYS.  Some functions are actually named
+    something starting with __ and the normal name is an alias.  */
+#if defined (__stub_sigvec) || defined (__stub___sigvec)
+#error found stub for sigvec
+#endif
+
+	return sigvec ();
+  ;
+  return 0;
+}
+configure:21909: result: no
+configure:21853: checking for snprintf
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21870:6: warning: conflicting types for built-in function 'snprintf'; expected 'int(char *, long unsigned int,  const char *, ...)' [-Wbuiltin-declaration-mismatch]
+21870 |    builtin and then its argument prototype would still apply.  */
+      |      ^~~~~~~~
+configure:21862:1: note: 'snprintf' is declared in header '<stdio.h>'
+21861 | #define $ac_func autoconf_temporary
+  +++ |+#include <stdio.h>
+21862 | #include <limits.h>     /* least-intrusive standard header which defines gcc2 __stub macros */
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for strdup
+configure:21909: result: yes
+configure:21853: checking for strstr
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21870:6: warning: conflicting types for built-in function 'strstr'; expected 'char *(const char *, const char *)' [-Wbuiltin-declaration-mismatch]
+21870 |    builtin and then its argument prototype would still apply.  */
+      |      ^~~~~~
+configure:21862:1: note: 'strstr' is declared in header '<string.h>'
+21861 | #define $ac_func autoconf_temporary
+  +++ |+#include <string.h>
+21862 | #include <limits.h>     /* least-intrusive standard header which defines gcc2 __stub macros */
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for sysconf
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for tcgetpgrp
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for times
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for tsearch
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21853: checking for vsnprintf
+configure:21890: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:21870:6: warning: conflicting types for built-in function 'vsnprintf'; expected 'int(char *, long unsigned int,  const char *, __va_list_tag *)' [-Wbuiltin-declaration-mismatch]
+21870 |    builtin and then its argument prototype would still apply.  */
+      |      ^~~~~~~~~
+configure:21862:1: note: 'vsnprintf' is declared in header '<stdio.h>'
+21861 | #define $ac_func autoconf_temporary
+  +++ |+#include <stdio.h>
+21862 | #include <limits.h>     /* least-intrusive standard header which defines gcc2 __stub macros */
+configure:21893: $? = 0
+configure:21896: test -s conftest
+configure:21899: $? = 0
+configure:21909: result: yes
+configure:21919: checking if _PATH_TTYS is defined in ttyent.h
+configure:21941: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:21944: $? = 0
+configure:21947: test -s conftest.o
+configure:21950: $? = 0
+configure:21960: result: yes
+configure:21982: checking if _PATH_TTYS file exists
+configure:22005: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:22008: $? = 0
+configure:22010: ./conftest
+configure:22013: $? = 1
+configure: program exited with status 1
+configure: failed program was:
+#line 21992 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+#if HAVE_SYS_TYPES_H
+# include <sys/types.h>
+#endif
+#if HAVE_SYS_STAT_H
+# include <sys/stat.h>
+#endif
+#if STDC_HEADERS
+# include <stdlib.h>
+# include <stddef.h>
+#else
+# if HAVE_STDLIB_H
+#  include <stdlib.h>
+# endif
+#endif
+#if HAVE_STRING_H
+# if !STDC_HEADERS && HAVE_MEMORY_H
+#  include <memory.h>
+# endif
+# include <string.h>
+#endif
+#if HAVE_STRINGS_H
+# include <strings.h>
+#endif
+#if HAVE_INTTYPES_H
+# include <inttypes.h>
+#else
+# if HAVE_STDINT_H
+#  include <stdint.h>
+# endif
+#endif
+#if HAVE_UNISTD_H
+# include <unistd.h>
+#endif
+
+#include <ttyent.h>
+
+int main(void) {
+	FILE *fp = fopen(_PATH_TTYS, "r");
+	return (fp == 0);
+}
+configure:22025: result: no
+configure:22228: checking for isascii
+configure:22247: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:22250: $? = 0
+configure:22253: test -s conftest
+configure:22256: $? = 0
+configure:22267: result: yes
+configure:22275: checking whether sigaction needs _POSIX_SOURCE
+configure:22292: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:22295: $? = 0
+configure:22298: test -s conftest.o
+configure:22301: $? = 0
+configure:22349: result: no
+configure:22353: checking if nanosleep really works
+configure:22389: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:22392: $? = 0
+configure:22394: ./conftest
+configure:22397: $? = 0
+configure:22409: result: yes
+configure:22426: checking for termio.h
+configure:22436: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:22442: $? = 0
+configure:22461: result: yes
+configure:22426: checking for termios.h
+configure:22436: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:22442: $? = 0
+configure:22461: result: yes
+configure:22426: checking for unistd.h
+configure:22461: result: yes
+configure:22426: checking for sys/ioctl.h
+configure:22461: result: yes
+configure:22426: checking for sys/termio.h
+configure:22436: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:22433:10: fatal error: sys/termio.h: No such file or directory
+22433 | #include "confdefs.h"
+      |          ^~~~~~~~~~~~  
+compilation terminated.
+configure:22442: $? = 1
+configure: failed program was:
+#line 22432 "configure"
+#include "confdefs.h"
+#include <sys/termio.h>
+configure:22461: result: no
+configure:22478: checking whether termios.h needs _POSIX_SOURCE
+configure:22493: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:22496: $? = 0
+configure:22499: test -s conftest.o
+configure:22502: $? = 0
+configure:22549: result: no
+configure:22554: checking for tcgetattr
+configure:22589: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:22592: $? = 0
+configure:22595: test -s conftest
+configure:22598: $? = 0
+configure:22608: result: yes
+configure:22615: checking for vsscanf function or workaround
+configure:22648: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:22651: $? = 0
+configure:22654: test -s conftest
+configure:22657: $? = 0
+configure:22750: result: vsscanf
+configure:22776: checking for unistd.h
+configure:22811: result: yes
+configure:22821: checking for working mkstemp
+configure:22867: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:22870: $? = 0
+configure:22872: ./conftest
+configure:22875: $? = 0
+configure:22890: result: yes
+configure:22973: checking whether setvbuf arguments are reversed
+configure:23001: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure: In function 'main':
+configure:22993:23: warning: passing argument 2 of 'setvbuf' makes pointer from integer without a cast [-Wint-conversion]
+22993 |      is not _IOLBF, _IONBF, or _IOFBF, and return nonzero.  */
+      |                       ^~~~~~
+      |                       |
+      |                       int
+In file included from configure:22985:
+/usr/include/stdio.h:339:65: note: expected 'char * restrict' but argument is of type 'int'
+  339 | extern int setvbuf (FILE *__restrict __stream, char *__restrict __buf,
+      |                                                ~~~~~~~~~~~~~~~~~^~~~~
+configure:22993:31: warning: passing argument 3 of 'setvbuf' makes integer from pointer without a cast [-Wint-conversion]
+22993 |      is not _IOLBF, _IONBF, or _IOFBF, and return nonzero.  */
+      |                               ^~~~~~~~~~~~~
+      |                               |
+      |                               char *
+/usr/include/stdio.h:340:25: note: expected 'int' but argument is of type 'char *'
+  340 |                     int __modes, size_t __n) __THROW __nonnull ((1));
+      |                     ~~~~^~~~~~~
+configure:23004: $? = 0
+configure:23006: ./conftest
+configure:23009: $? = 1
+configure: program exited with status 1
+configure: failed program was:
+#line 22984 "configure"
+#include "confdefs.h"
+#include <stdio.h>
+/* If setvbuf has the reversed format, exit 0. */
+int
+main (void)
+{
+  /* This call has the arguments reversed.
+     A reversed system may check and see that the address of main
+     is not _IOLBF, _IONBF, or _IOFBF, and return nonzero.  */
+  if (setvbuf(stdout, _IOLBF, (char *) main, BUFSIZ) != 0)
+    return(1);
+  putc('\r', stdout);
+  return(0);                   /* Non-reversed systems segv here.  */
+}
+configure:23022: result: no
+configure:23033: checking for intptr_t
+configure:23054: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:23057: $? = 0
+configure:23060: test -s conftest.o
+configure:23063: $? = 0
+configure:23073: result: yes
+configure:23085: checking for ssize_t
+configure:23106: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:23109: $? = 0
+configure:23112: test -s conftest.o
+configure:23115: $? = 0
+configure:23125: result: yes
+configure:23137: checking for type sigaction_t
+configure:23157: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure: In function 'main':
+configure:23150:1: error: unknown type name 'sigaction_t'
+23150 | {
+      | ^          
+configure:23160: $? = 1
+configure: failed program was:
+#line 23144 "configure"
+#include "confdefs.h"
+
+#include <signal.h>
+int
+main (void)
+{
+sigaction_t x; (void)x
+  ;
+  return 0;
+}
+configure:23177: result: no
+configure:23184: checking declaration of size-change
+configure:23255: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:23258: $? = 0
+configure:23261: test -s conftest.o
+configure:23264: $? = 0
+size-change succeeded ()
+configure:23283: result: yes
+configure:23301: checking for memmove
+configure:23338: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:23318:6: warning: conflicting types for built-in function 'memmove'; expected 'void *(void *, const void *, long unsigned int)' [-Wbuiltin-declaration-mismatch]
+23318 |    builtin and then its argument prototype would still apply.  */
+      |      ^~~~~~~
+configure:23310:1: note: 'memmove' is declared in header '<string.h>'
+23309 | #define memmove autoconf_temporary
+  +++ |+#include <string.h>
+23310 | #include <limits.h>     /* least-intrusive standard header which defines gcc2 __stub macros */
+configure:23341: $? = 0
+configure:23344: test -s conftest
+configure:23347: $? = 0
+configure:23357: result: yes
+configure:23563: checking if poll really works
+configure:23626: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:23629: $? = 0
+configure:23631: ./conftest
+configure:23634: $? = 0
+configure:23646: result: yes
+configure:23653: checking if MB_LEN_MAX is usable
+configure:23680: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:23683: $? = 0
+configure:23686: test -s conftest.o
+configure:23689: $? = 0
+configure:23699: result: yes
+configure:23713: checking for va_copy
+configure:23737: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:23740: $? = 0
+configure:23743: test -s conftest
+configure:23746: $? = 0
+configure:23756: result: yes
+configure:23986: checking for pid_t
+configure:24007: gcc -c -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:24010: $? = 0
+configure:24013: test -s conftest.o
+configure:24016: $? = 0
+configure:24026: result: yes
+configure:24041: checking for unistd.h
+configure:24076: result: yes
+configure:24041: checking for vfork.h
+configure:24051: gcc -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c
+configure:24048:10: fatal error: vfork.h: No such file or directory
+24048 | #include "confdefs.h"
+      |          ^~~~~~~~~
+compilation terminated.
+configure:24057: $? = 1
+configure: failed program was:
+#line 24047 "configure"
+#include "confdefs.h"
+#include <vfork.h>
+configure:24076: result: no
+configure:24089: checking for fork
+configure:24126: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:24106:6: warning: conflicting types for built-in function 'fork'; expected 'int(void)' [-Wbuiltin-declaration-mismatch]
+24106 |    builtin and then its argument prototype would still apply.  */
+      |      ^~~~
+configure:24129: $? = 0
+configure:24132: test -s conftest
+configure:24135: $? = 0
+configure:24145: result: yes
+configure:24089: checking for vfork
+configure:24126: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:24129: $? = 0
+configure:24132: test -s conftest
+configure:24135: $? = 0
+configure:24145: result: yes
+configure:24157: checking for working fork
+configure:24200: result: yes
+configure:24219: checking for working vfork
+configure:24341: result: yes
+configure:24372: checking if fopen accepts explicit binary mode
+configure:24417: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c  >&5
+configure:24420: $? = 0
+configure:24422: ./conftest
+configure:24425: $? = 0
+configure:24438: result: yes
+configure:24447: checking for openpty in -lutil
+configure:24474: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c -lutil   >&5
+configure:24477: $? = 0
+configure:24480: test -s conftest
+configure:24483: $? = 0
+configure:24494: result: yes
+configure:24502: checking for openpty header
+configure:24547: gcc -o conftest -g -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.c -lutil  >&5
+configure:24550: $? = 0
+configure:24553: test -s conftest
+configure:24556: $? = 0
+configure:24574: result: pty.h
+configure:25216: checking if we should include stdbool.h
+configure:25236: gcc -c -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure: In function 'main':
+configure:25229:1: error: unknown type name 'bool'
+25229 | {
+      | ^   
+configure:25225:1: note: 'bool' is defined in header '<stdbool.h>'; did you forget to '#include <stdbool.h>'?
+25224 | #line 25224 "configure"
+  +++ |+#include <stdbool.h>
+25225 | #include "confdefs.h"
+configure:25229:12: error: 'false' undeclared (first use in this function)
+25229 | {
+      |            ^    
+configure:25229:12: note: 'false' is defined in header '<stdbool.h>'; did you forget to '#include <stdbool.h>'?
+configure:25229:12: note: each undeclared identifier is reported only once for each function it appears in
+configure:25239: $? = 1
+configure: failed program was:
+#line 25224 "configure"
+#include "confdefs.h"
+
+int
+main (void)
+{
+bool foo = false; (void)foo
+  ;
+  return 0;
+}
+configure:25268: gcc -c -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure:25271: $? = 0
+configure:25274: test -s conftest.o
+configure:25277: $? = 0
+configure:25291: result: yes
+configure:25297: checking for builtin bool type
+configure:25320: gcc -c -O2 --param max-inline-insns-single=1200 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.c >&5
+configure: In function 'main':
+configure:25313:1: error: unknown type name 'bool'
+25313 | {
+      | ^   
+configure:25309:1: note: 'bool' is defined in header '<stdbool.h>'; did you forget to '#include <stdbool.h>'?
+25308 | #include <stdio.h>
+  +++ |+#include <stdbool.h>
+25309 | #include <sys/types.h>
+configure:25313:10: error: 'false' undeclared (first use in this function)
+25313 | {
+      |          ^    
+configure:25313:10: note: 'false' is defined in header '<stdbool.h>'; did you forget to '#include <stdbool.h>'?
+configure:25313:10: note: each undeclared identifier is reported only once for each function it appears in
+configure:25323: $? = 1
+configure: failed program was:
+#line 25305 "configure"
+#include "confdefs.h"
+
+#include <stdio.h>
+#include <sys/types.h>
+
+int
+main (void)
+{
+bool x = false; (void)x
+  ;
+  return 0;
+}
+configure:25344: result: no
+configure:25361: checking if we already have C++ library
+configure:25378: /usr/bin/g++ -o conftest -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.cc   >&5
+configure:25381: $? = 0
+configure:25384: test -s conftest
+configure:25387: $? = 0
+configure:25396: result: yes
+configure:25498: checking whether /usr/bin/g++ understands -c and -o together
+configure:25513: /usr/bin/g++ -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -c conftest.cc -o conftest2.o >&5
+configure:25516: $? = 0
+configure:25518: /usr/bin/g++ -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG -c conftest.cc -o conftest2.o >&5
+configure:25521: $? = 0
+configure:25532: result: yes
+configure:25708: checking how to run the C++ preprocessor
+configure:25730: /usr/bin/g++ -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc
+configure:25736: $? = 0
+configure:25763: /usr/bin/g++ -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc
+configure:25760:10: fatal error: ac_nonexistent.h: No such file or directory
+25760 | #include "confdefs.h"
+      |          ^~~~~~~~~~~~      
+compilation terminated.
+configure:25769: $? = 1
+configure: failed program was:
+#line 25759 "configure"
+#include "confdefs.h"
+#include <ac_nonexistent.h>
+configure:25806: result: /usr/bin/g++ -E
+configure:25821: /usr/bin/g++ -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc
+configure:25827: $? = 0
+configure:25854: /usr/bin/g++ -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc
+configure:25851:10: fatal error: ac_nonexistent.h: No such file or directory
+25851 | #include "confdefs.h"
+      |          ^~~~~~~~~~~~      
+compilation terminated.
+configure:25860: $? = 1
+configure: failed program was:
+#line 25850 "configure"
+#include "confdefs.h"
+#include <ac_nonexistent.h>
+configure:25903: checking for typeinfo
+configure:25913: /usr/bin/g++ -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc
+configure:25919: $? = 0
+configure:25938: result: yes
+configure:25951: checking for iostream
+configure:25961: /usr/bin/g++ -E -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc
+configure:25967: $? = 0
+configure:25986: result: yes
+configure:25997: checking if iostream uses std-namespace
+configure:26017: /usr/bin/g++ -c -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc >&5
+configure:26020: $? = 0
+configure:26023: test -s conftest.o
+configure:26026: $? = 0
+configure:26035: result: yes
+configure:26046: checking if we should include stdbool.h
+configure:26121: result: yes
+configure:26127: checking for builtin bool type
+configure:26150: /usr/bin/g++ -c -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc >&5
+configure:26153: $? = 0
+configure:26156: test -s conftest.o
+configure:26159: $? = 0
+configure:26172: result: yes
+configure:26178: checking for bool
+configure:26219: /usr/bin/g++ -c -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc >&5
+configure:26222: $? = 0
+configure:26225: test -s conftest.o
+configure:26228: $? = 0
+configure:26238: result: yes
+configure:26241: checking size of bool
+configure:26505: /usr/bin/g++ -o conftest -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.cc  >&5
+configure:26508: $? = 0
+configure:26510: ./conftest
+configure:26513: $? = 0
+configure:26529: result: 1
+configure:26535: checking for type of bool
+configure:26595: /usr/bin/g++ -o conftest -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.cc  >&5
+configure:26598: $? = 0
+configure:26600: ./conftest
+configure:26603: $? = 0
+configure:26620: result: unsigned char
+configure:26632: checking for special defines needed for etip.h
+configure:26664: /usr/bin/g++ -c -O2 -I./c++ -I./menu -Iinclude -I./include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc >&5
+In file included from configure:26652:
+./c++/etip.h.in:121:10: fatal error: curses.h: No such file or directory
+  121 | #include <curses.h>
+      |          ^~~~~~~~~~
+compilation terminated.
+configure:26667: $? = 1
+configure: failed program was:
+#line 26650 "configure"
+#include "confdefs.h"
+
+#include <etip.h.in>
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+configure:26664: /usr/bin/g++ -c -O2 -I./c++ -I./menu -Iinclude -I./include -DETIP_NEEDS_MATH_EXCEPTION -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc >&5
+In file included from configure:26652:
+./c++/etip.h.in:121:10: fatal error: curses.h: No such file or directory
+  121 | #include <curses.h>
+      |          ^~~~~~~~~~
+compilation terminated.
+configure:26667: $? = 1
+configure: failed program was:
+#line 26650 "configure"
+#include "confdefs.h"
+
+#include <etip.h.in>
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+configure:26664: /usr/bin/g++ -c -O2 -I./c++ -I./menu -Iinclude -I./include -DETIP_NEEDS_MATH_H -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc >&5
+In file included from configure:26652:
+./c++/etip.h.in:121:10: fatal error: curses.h: No such file or directory
+  121 | #include <curses.h>
+      |          ^~~~~~~~~~
+compilation terminated.
+configure:26667: $? = 1
+configure: failed program was:
+#line 26650 "configure"
+#include "confdefs.h"
+
+#include <etip.h.in>
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+configure:26664: /usr/bin/g++ -c -O2 -I./c++ -I./menu -Iinclude -I./include -DETIP_NEEDS_MATH_H -DETIP_NEEDS_MATH_EXCEPTION -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc >&5
+In file included from configure:26652:
+./c++/etip.h.in:121:10: fatal error: curses.h: No such file or directory
+  121 | #include <curses.h>
+      |          ^~~~~~~~~~
+compilation terminated.
+configure:26667: $? = 1
+configure: failed program was:
+#line 26650 "configure"
+#include "confdefs.h"
+
+#include <etip.h.in>
+
+int
+main (void)
+{
+
+  ;
+  return 0;
+}
+configure:26694: result: none
+configure:26699: checking if /usr/bin/g++ accepts override keyword
+configure:26735: /usr/bin/g++ -o conftest -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.cc  >&5
+configure:26738: $? = 0
+configure:26740: ./conftest
+configure:26743: $? = 0
+configure:26762: result: yes
+configure:26771: checking if /usr/bin/g++ accepts parameter initialization
+configure:26807: /usr/bin/g++ -o conftest -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.cc  >&5
+configure:26798:1: error: default argument given for parameter 1 of 'TEST::TEST(int)' [-fpermissive]
+26798 | 
+      | ^   
+configure:26794:2: note: previous specification in 'TEST::TEST(int)' here
+26794 | public:
+      |  ^~~~
+configure:26810: $? = 1
+configure: program exited with status 1
+configure: failed program was:
+#line 26788 "configure"
+#include "confdefs.h"
+
+class TEST {
+private:
+	int value;
+public:
+	TEST(int x = 1);
+	~TEST();
+};
+
+TEST::TEST(int x = 1)	// some compilers do not like second initializer
+{
+	value = x;
+}
+int main(void) { }
+
+configure:26834: result: no
+configure:26844: checking if /usr/bin/g++ accepts static_cast
+configure:26902: /usr/bin/g++ -c -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc >&5
+configure:26905: $? = 0
+configure:26908: test -s conftest.o
+configure:26911: $? = 0
+configure:26929: result: yes
+configure:27485: checking for gnat
+configure:27514: result: no
+configure:27485: checking for gnatmake
+configure:27514: result: no
+configure:27485: checking for gprconfig
+configure:27514: result: no
+configure:27485: checking for gprbuild
+configure:27514: result: no
+configure:28109: checking for wchar_t
+configure:28130: /usr/bin/g++ -c -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc >&5
+configure:28133: $? = 0
+configure:28136: test -s conftest.o
+configure:28139: $? = 0
+configure:28149: result: yes
+configure:28152: checking size of wchar_t
+configure:28316: /usr/bin/g++ -o conftest -O2 -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.cc  >&5
+configure:28319: $? = 0
+configure:28321: ./conftest
+configure:28324: $? = 0
+configure:28340: result: 4
+configure:28371: checking for library subsets
+configure:28425: result: ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+configure:28456: checking default library suffix
+configure:28467: result: w
+configure:28470: checking default library-dependency suffix
+configure:28553: result: w.a
+configure:28556: checking default object directory
+configure:28572: result: objects
+configure:28576: checking c++ library-dependency suffix
+configure:28669: result: w.a
+configure:28845: checking if linker supports switching between static/dynamic
+configure:28854: /usr/bin/g++ -c -O2 -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG conftest.cc >&5
+configure:28857: $? = 0
+configure:28886: /usr/bin/g++ -o conftest -O2 -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG  conftest.cc -static -L/home/micky387/Omni/external/libncurses -lconftest   >&5
+configure:28889: $? = 0
+configure:28892: test -s conftest
+configure:28895: $? = 0
+configure:28918: result: no
+configure:28934: checking where we will install curses.h
+configure:28944: result: ${prefix}/include
+configure:28977: checking for desired basename for form library
+configure:28997: result: form
+configure:29000: checking for desired basename for menu library
+configure:29020: result: menu
+configure:29023: checking for desired basename for panel library
+configure:29043: result: panel
+configure:29046: checking for desired basename for cxx library
+configure:29066: result: ncurses++
+configure:29072: checking for src modules
+configure:29131: result: ncurses progs panel menu form
+configure:29303: checking for defines to add to ncursesw6-config script
+configure:29319: result:  -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600
+configure:29407: checking for linker search path
+configure:29496: result: /lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /lib64 /usr/lib64 /usr/local/lib /lib /usr/lib
+configure:29582: creating ./config.status
+
+## ----------------------- ##
+## Running config.status.  ##
+## ----------------------- ##
+
+This file was extended by config.status 2.52.20231210, executed with
+  CONFIG_FILES    = 
+  CONFIG_HEADERS  = 
+  CONFIG_LINKS    = 
+  CONFIG_COMMANDS = 
+  > "./config.status "
+on micky387-MS-7D75
+
+config.status:30433: creating include/MKterm.h.awk
+config.status:30433: creating include/curses.head
+config.status:30433: creating include/ncurses_dll.h
+config.status:30433: creating include/termcap.h
+config.status:30433: creating include/unctrl.h
+config.status:30433: creating man/man_db.renames
+config.status:30433: creating man/Makefile
+config.status:30433: creating include/Makefile
+config.status:30433: creating ncurses/Makefile
+config.status:30433: creating progs/Makefile
+config.status:30433: creating panel/Makefile
+config.status:30433: creating menu/Makefile
+config.status:30433: creating form/Makefile
+config.status:30433: creating test/Makefile
+config.status:30433: creating misc/Makefile
+config.status:30433: creating c++/Makefile
+config.status:30433: creating misc/run_tic.sh
+config.status:30433: creating misc/ncurses-config
+config.status:30433: creating man/ncursesw6-config.1
+config.status:30433: creating Makefile
+config.status:30594: creating include/ncurses_cfg.h
+
+## ----------------- ##
+## Cache variables.  ##
+## ----------------- ##
+
+ac_cv_build='x86_64-pc-linux-gnu'
+ac_cv_build_alias='x86_64-pc-linux-gnu'
+ac_cv_c_compiler_gnu='yes'
+ac_cv_c_const='yes'
+ac_cv_c_inline='inline'
+ac_cv_cxx_compiler_gnu='yes'
+ac_cv_env_CC_set=''
+ac_cv_env_CC_value=''
+ac_cv_env_CFLAGS_set=''
+ac_cv_env_CFLAGS_value=''
+ac_cv_env_CPPFLAGS_set=''
+ac_cv_env_CPPFLAGS_value=''
+ac_cv_env_CPP_set=''
+ac_cv_env_CPP_value=''
+ac_cv_env_CXXCPP_set=''
+ac_cv_env_CXXCPP_value=''
+ac_cv_env_CXXFLAGS_set=''
+ac_cv_env_CXXFLAGS_value=''
+ac_cv_env_CXX_set=''
+ac_cv_env_CXX_value=''
+ac_cv_env_LDFLAGS_set=''
+ac_cv_env_LDFLAGS_value=''
+ac_cv_env_build_alias_set=''
+ac_cv_env_build_alias_value=''
+ac_cv_env_host_alias_set=''
+ac_cv_env_host_alias_value=''
+ac_cv_env_target_alias_set=''
+ac_cv_env_target_alias_value=''
+ac_cv_func_btowc='yes'
+ac_cv_func_fork='yes'
+ac_cv_func_fork_works='yes'
+ac_cv_func_fpathconf='yes'
+ac_cv_func_fseeko='yes'
+ac_cv_func_getauxval='yes'
+ac_cv_func_getcwd='yes'
+ac_cv_func_getegid='yes'
+ac_cv_func_getenv='yes'
+ac_cv_func_geteuid='yes'
+ac_cv_func_getopt='yes'
+ac_cv_func_getuid='yes'
+ac_cv_func_issetugid='no'
+ac_cv_func_link='yes'
+ac_cv_func_localeconv='yes'
+ac_cv_func_mblen='yes'
+ac_cv_func_mbrlen='yes'
+ac_cv_func_mbrtowc='yes'
+ac_cv_func_mbsrtowcs='yes'
+ac_cv_func_mbstowcs='yes'
+ac_cv_func_mbtowc='yes'
+ac_cv_func_memmove='yes'
+ac_cv_func_poll='yes'
+ac_cv_func_putenv='yes'
+ac_cv_func_putwc='yes'
+ac_cv_func_regcomp='yes'
+ac_cv_func_remove='yes'
+ac_cv_func_select='yes'
+ac_cv_func_setbuf='yes'
+ac_cv_func_setbuffer='yes'
+ac_cv_func_setenv='yes'
+ac_cv_func_setfsuid='yes'
+ac_cv_func_setvbuf='yes'
+ac_cv_func_setvbuf_reversed='no'
+ac_cv_func_sigaction='yes'
+ac_cv_func_sigvec='no'
+ac_cv_func_snprintf='yes'
+ac_cv_func_strdup='yes'
+ac_cv_func_strstr='yes'
+ac_cv_func_symlink='yes'
+ac_cv_func_sysconf='yes'
+ac_cv_func_tcgetpgrp='yes'
+ac_cv_func_times='yes'
+ac_cv_func_tsearch='yes'
+ac_cv_func_unlink='yes'
+ac_cv_func_vfork='yes'
+ac_cv_func_vfork_works='yes'
+ac_cv_func_vsnprintf='yes'
+ac_cv_func_wcsrtombs='yes'
+ac_cv_func_wcstombs='yes'
+ac_cv_func_wctob='yes'
+ac_cv_func_wctomb='yes'
+ac_cv_func_wmemchr='yes'
+ac_cv_have_decl_exit='yes'
+ac_cv_header_dirent_dirent_h='yes'
+ac_cv_header_fcntl_h='yes'
+ac_cv_header_getopt_h='yes'
+ac_cv_header_gpm_h='no'
+ac_cv_header_inttypes_h='yes'
+ac_cv_header_iostream='yes'
+ac_cv_header_limits_h='yes'
+ac_cv_header_locale_h='yes'
+ac_cv_header_math_h='yes'
+ac_cv_header_memory_h='yes'
+ac_cv_header_poll_h='yes'
+ac_cv_header_stdc='yes'
+ac_cv_header_stdint_h='yes'
+ac_cv_header_stdlib_h='yes'
+ac_cv_header_string_h='yes'
+ac_cv_header_strings_h='yes'
+ac_cv_header_sys_auxv_h='yes'
+ac_cv_header_sys_ioctl_h='yes'
+ac_cv_header_sys_param_h='yes'
+ac_cv_header_sys_poll_h='yes'
+ac_cv_header_sys_select_h='yes'
+ac_cv_header_sys_stat_h='yes'
+ac_cv_header_sys_termio_h='no'
+ac_cv_header_sys_time_h='yes'
+ac_cv_header_sys_times_h='yes'
+ac_cv_header_sys_types_h='yes'
+ac_cv_header_termio_h='yes'
+ac_cv_header_termios_h='yes'
+ac_cv_header_time='yes'
+ac_cv_header_typeinfo='yes'
+ac_cv_header_unistd_h='yes'
+ac_cv_header_vfork_h='no'
+ac_cv_header_wchar_h='yes'
+ac_cv_header_wctype_h='yes'
+ac_cv_host='x86_64-pc-linux-gnu'
+ac_cv_host_alias='x86_64-pc-linux-gnu'
+ac_cv_lib_dir_opendir='no'
+ac_cv_lib_util_openpty='yes'
+ac_cv_objext='o'
+ac_cv_path_CXX='/usr/bin/g++'
+ac_cv_path_EGREP='grep -E'
+ac_cv_path_FGREP='grep -F'
+ac_cv_path_LDCONFIG='/usr/sbin/ldconfig'
+ac_cv_path_ac_pt_PKG_CONFIG='/usr/bin/pkg-config'
+ac_cv_path_install='/usr/bin/install -c'
+ac_cv_prog_AWK='mawk'
+ac_cv_prog_CPP='gcc -E'
+ac_cv_prog_CTAGS='ctags'
+ac_cv_prog_CXXCPP='/usr/bin/g++ -E'
+ac_cv_prog_ETAGS='etags'
+ac_cv_prog_GREP='grep'
+ac_cv_prog_MAKE_LOWER_TAGS='yes'
+ac_cv_prog_MAKE_UPPER_TAGS='yes'
+ac_cv_prog_ac_ct_AR='ar'
+ac_cv_prog_ac_ct_CC='gcc'
+ac_cv_prog_ac_ct_CXX='g++'
+ac_cv_prog_ac_ct_INFOCMP='infocmp'
+ac_cv_prog_ac_ct_LD='ld'
+ac_cv_prog_ac_ct_NM='nm'
+ac_cv_prog_ac_ct_RANLIB='ranlib'
+ac_cv_prog_ac_ct_TIC='tic'
+ac_cv_prog_cc_g='yes'
+ac_cv_prog_cc_stdc=''
+ac_cv_prog_cxx_g='yes'
+ac_cv_prog_gcc_traditional='no'
+ac_cv_prog_make_make_set='yes'
+ac_cv_sizeof_bool='1'
+ac_cv_sizeof_signed_char='1'
+ac_cv_sizeof_wchar_t='4'
+ac_cv_sys_file_offset_bits='no'
+ac_cv_sys_large_files='no'
+ac_cv_sys_largefile_CC='no'
+ac_cv_sys_largefile_source='no'
+ac_cv_sys_long_file_names='yes'
+ac_cv_target='x86_64-pc-linux-gnu'
+ac_cv_target_alias='x86_64-pc-linux-gnu'
+ac_cv_type_bool='yes'
+ac_cv_type_intptr_t='yes'
+ac_cv_type_pid_t='yes'
+ac_cv_type_signed_char='yes'
+ac_cv_type_ssize_t='yes'
+ac_cv_type_wchar_t='yes'
+am_cv_langinfo_codeset='yes'
+cf_cv_1UL='1U'
+cf_cv_PATH_GNAT='no'
+cf_cv_PATH_GNATMAKE='no'
+cf_cv_PATH_GPRBUILD='no'
+cf_cv_PATH_GPRCONFIG='no'
+cf_cv_PATH_TTYS='no'
+cf_cv_VERSION_GNAT='no'
+cf_cv_VERSION_GNATMAKE='no'
+cf_cv_VERSION_GPRBUILD='no'
+cf_cv_VERSION_GPRCONFIG='no'
+cf_cv_abi_default='6'
+cf_cv_abi_version='6'
+cf_cv_ar_flags='-curvU'
+cf_cv_builtin_bool='1'
+cf_cv_c11_noreturn='no,'
+cf_cv_cc_bool_type='0'
+cf_cv_consistent_getenv='yes'
+cf_cv_cpp_override='yes'
+cf_cv_cpp_param_init='no'
+cf_cv_cpp_static_cast='yes'
+cf_cv_dcl_environ='no'
+cf_cv_dcl_errno='yes'
+cf_cv_define_sigwinch='yes'
+cf_cv_do_reranlib='no'
+cf_cv_do_symlinks='yes'
+cf_cv_enable_lp64='1'
+cf_cv_enable_opaque='NCURSES_OPAQUE'
+cf_cv_enable_reentrant='0'
+cf_cv_enable_sigwinch='1'
+cf_cv_fopen_bin_r='yes'
+cf_cv_func_clock_gettime='yes'
+cf_cv_func_mkstemp='yes'
+cf_cv_func_nanosleep='yes'
+cf_cv_func_openpty='pty.h'
+cf_cv_func_vsscanf='vsscanf'
+cf_cv_gcc_inline='yes'
+cf_cv_getopt_header='unistd.h'
+cf_cv_gnu_dftsrc_219='yes'
+cf_cv_gnu_library='yes'
+cf_cv_gnu_library_219='yes'
+cf_cv_have_PATH_TTYS='no'
+cf_cv_have_environ='yes'
+cf_cv_have_errno='no'
+cf_cv_have_isascii='yes'
+cf_cv_have_libm='yes'
+cf_cv_have_tcgetattr='yes'
+cf_cv_have_va_copy='yes'
+cf_cv_header_stdbool_h='1'
+cf_cv_install_p='yes'
+cf_cv_ld_searchpath='/lib/x86_64-linux-gnu /usr/lib/x86_64-linux-gnu /lib64 /usr/lib64 /usr/local/lib /lib /usr/lib'
+cf_cv_lib_util='yes'
+cf_cv_link_dataonly='yes'
+cf_cv_link_funcs=' link symlink'
+cf_cv_make_PHONY='yes'
+cf_cv_makeflags=''
+cf_cv_mb_len_max='yes'
+cf_cv_mbstate_t='yes'
+cf_cv_mixedcase='yes'
+cf_cv_need_libm='yes'
+cf_cv_posix_visible='no'
+cf_cv_prog_CC_c_o='yes'
+cf_cv_prog_CXX_c_o='yes'
+cf_cv_prog_gnat_correct='no'
+cf_cv_regex_hdrs='regex.h'
+cf_cv_rel_version='6.5'
+cf_cv_rm_so_locs='no'
+cf_cv_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
+cf_cv_shlib_version='rel'
+cf_cv_shlib_version_infix='no'
+cf_cv_sig_atomic_t='volatile sig_atomic_t'
+cf_cv_sizechange='yes'
+cf_cv_src_modules='ncurses progs panel menu form'
+cf_cv_struct_dirent64='no'
+cf_cv_sys_time_select='yes'
+cf_cv_system_name='linux-gnu'
+cf_cv_timestamp='Tue Jul  8 18:05:41 EDT 2025'
+cf_cv_type_of_bool='unsigned char'
+cf_cv_type_sigaction='no'
+cf_cv_typeof_chtype='uint32_t'
+cf_cv_typeof_mmask_t='uint32_t'
+cf_cv_unsigned_literals='yes'
+cf_cv_wchar_h_okay='yes'
+cf_cv_wchar_t='no'
+cf_cv_wcwidth_graphics='yes'
+cf_cv_wint_t='yes'
+cf_cv_working_poll='yes'
+
+## ------------ ##
+## confdefs.h.  ##
+## ------------ ##
+
+#define PACKAGE "ncurses"
+#define NCURSES_VERSION "6.5"
+#define NCURSES_PATCHDATE 20240427
+#define SYSTEM_NAME "linux-gnu"
+#ifdef __cplusplus
+#include <stdlib.h>
+#endif
+#define HAVE_LONG_FILE_NAMES 1
+#define MIXEDCASE_FILENAMES 1
+#define STDC_HEADERS 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRING_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_DIRENT_H 1
+#define TERMINFO_DIRS "/system_ext/etc/terminfo"
+#define TERMINFO "/system_ext/etc/terminfo"
+#define HAVE_BIG_CORE 1
+#define PURE_TERMINFO 1
+#define USE_HOME_TERMINFO 1
+#define USE_ROOT_ENVIRON 1
+#define USE_ROOT_ACCESS 1
+#define USE_SETUID_ENVIRON 1
+#define HAVE_UNISTD_H 1
+#define HAVE_REMOVE 1
+#define HAVE_UNLINK 1
+#define HAVE_LINK 1
+#define HAVE_SYMLINK 1
+#define USE_LINKS 1
+#define HAVE_LANGINFO_CODESET 1
+#define USE_WIDEC_SUPPORT 1
+#define NCURSES_WIDECHAR 1
+#define HAVE_WCHAR_H 1
+#define HAVE_WCTYPE_H 1
+#define HAVE_PUTWC 1
+#define HAVE_BTOWC 1
+#define HAVE_WCTOB 1
+#define HAVE_WMEMCHR 1
+#define HAVE_MBTOWC 1
+#define HAVE_WCTOMB 1
+#define HAVE_MBLEN 1
+#define HAVE_MBRLEN 1
+#define HAVE_MBRTOWC 1
+#define HAVE_WCSRTOMBS 1
+#define HAVE_MBSRTOWCS 1
+#define HAVE_WCSTOMBS 1
+#define HAVE_MBSTOWCS 1
+#define NEED_WCHAR_H 1
+#define NEED_WCHAR_H 1
+#define HAVE_FSEEKO 1
+#define RGB_PATH "/usr/share/X11/rgb.txt"
+#define SIZEOF_SIGNED_CHAR 1
+#define NCURSES_EXT_FUNCS 1
+#define HAVE_ASSUME_DEFAULT_COLORS 1
+#define HAVE_CURSES_VERSION 1
+#define HAVE_HAS_KEY 1
+#define HAVE_RESIZETERM 1
+#define HAVE_RESIZE_TERM 1
+#define HAVE_TERM_ENTRY_H 1
+#define HAVE_USE_DEFAULT_COLORS 1
+#define HAVE_USE_SCREEN 1
+#define HAVE_USE_WINDOW 1
+#define HAVE_WRESIZE 1
+#define NCURSES_SP_FUNCS 1
+#define HAVE_TPUTS_SP 1
+#define NCURSES_EXT_COLORS 1
+#define HAVE_ALLOC_PAIR 1
+#define HAVE_INIT_EXTENDED_COLOR 1
+#define HAVE_RESET_COLOR_PAIRS 1
+#define NCURSES_EXT_PUTWIN 1
+#define NCURSES_NO_PADDING 1
+#define USE_SIGWINCH 1
+#define NCURSES_XNAMES 1
+#define NCURSES_WRAP_PREFIX "_nc_"
+#define USE_ASSUMED_COLOR 1
+#define USE_HASHMAP 1
+#define GCC_SCANF 1
+#define GCC_SCANF 1
+#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+#define GCC_PRINTF 1
+#define GCC_PRINTF 1
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+#define GCC_UNUSED __attribute__((unused))
+#define GCC_UNUSED __attribute__((unused))
+#define GCC_NORETURN __attribute__((noreturn))
+#define GCC_NORETURN __attribute__((noreturn))
+#define HAVE_NC_ALLOC_H 1
+#define HAVE_MATH_FUNCS 1
+#define TIME_WITH_SYS_TIME 1
+#define HAVE_REGEX_H_FUNCS 1
+#define HAVE_FCNTL_H 1
+#define HAVE_GETOPT_H 1
+#define HAVE_LIMITS_H 1
+#define HAVE_LOCALE_H 1
+#define HAVE_MATH_H 1
+#define HAVE_POLL_H 1
+#define HAVE_SYS_AUXV_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_POLL_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_TIMES_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_WCTYPE_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_GETOPT_H 1
+#define HAVE_GETOPT_HEADER 1
+#define DECL_ENVIRON 1
+#define HAVE_ENVIRON 1
+#define HAVE_PUTENV 1
+#define HAVE_SETENV 1
+#define HAVE_STRDUP 1
+#define HAVE_SYS_TIME_SELECT 1
+#define SIG_ATOMIC_T volatile sig_atomic_t
+#define HAVE_CLOCK_GETTIME 1
+#define HAVE_FPATHCONF 1
+#define HAVE_GETCWD 1
+#define HAVE_GETAUXVAL 1
+#define HAVE_GETEGID 1
+#define HAVE_GETEUID 1
+#define HAVE_GETOPT 1
+#define HAVE_GETUID 1
+#define HAVE_LOCALECONV 1
+#define HAVE_POLL 1
+#define HAVE_REMOVE 1
+#define HAVE_SELECT 1
+#define HAVE_SETBUF 1
+#define HAVE_SETBUFFER 1
+#define HAVE_SETFSUID 1
+#define HAVE_SETVBUF 1
+#define HAVE_SIGACTION 1
+#define HAVE_SNPRINTF 1
+#define HAVE_STRDUP 1
+#define HAVE_STRSTR 1
+#define HAVE_SYSCONF 1
+#define HAVE_TCGETPGRP 1
+#define HAVE_TIMES 1
+#define HAVE_TSEARCH 1
+#define HAVE_VSNPRINTF 1
+#define HAVE_ISASCII 1
+#define HAVE_NANOSLEEP 1
+#define HAVE_TERMIO_H 1
+#define HAVE_TERMIOS_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_TCGETATTR 1
+#define HAVE_VSSCANF 1
+#define HAVE_UNISTD_H 1
+#define HAVE_MKSTEMP 1
+#define HAVE_SIZECHANGE 1
+#define HAVE_WORKING_POLL 1
+#define HAVE_CONSISTENT_MB_LEN_MAX 1
+#define HAVE_VA_COPY 1
+#define HAVE_UNISTD_H 1
+#define HAVE_FORK 1
+#define HAVE_VFORK 1
+#define HAVE_WORKING_VFORK 1
+#define HAVE_WORKING_FORK 1
+#define USE_FOPEN_BIN_R 1
+#define USE_OPENPTY_HEADER <pty.h>
+#define USE_XTERM_PTY 1
+#define HAVE_TYPEINFO 1
+#define HAVE_IOSTREAM 1
+#define IOSTREAM_NAMESPACE 1
+#define SIZEOF_BOOL 1
+#define CPP_HAS_OVERRIDE 1
+#define CPP_HAS_STATIC_CAST 1
+#define SIZEOF_WCHAR_T 4
+#define HAVE_SLK_COLOR 1
+#define HAVE_PANEL_H 1
+#define HAVE_LIBPANEL 1
+#define HAVE_MENU_H 1
+#define HAVE_LIBMENU 1
+#define HAVE_FORM_H 1
+#define HAVE_LIBFORM 1
+#define NCURSES_PATHSEP ':'
+#define NCURSES_VERSION_STRING "6.5.20240427"
+#define NCURSES_OSPEED_COMPAT 1
+
+
+configure: exit 0
diff --git a/config.status b/config.status
new file mode 100755
index 0000000..8842ff9
--- /dev/null
+++ b/config.status
@@ -0,0 +1,2079 @@
+#! /bin/sh
+# Generated automatically by configure.
+# Run this file to recreate the current configuration.
+# Compiler output produced by configure, useful for debugging
+# configure, is in config.log if it exists.
+
+me=`echo "$0" | sed -e 's,.*\/,,'`
+
+debug=false
+SHELL=${CONFIG_SHELL-/bin/sh}
+ac_cs_invocation="$0 $@"
+
+CLICOLOR_FORCE= GREP_OPTIONS=
+unset CLICOLOR_FORCE GREP_OPTIONS
+# Be Bourne compatible
+if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
+  emulate sh
+  NULLCMD=:
+elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
+  set -o posix
+fi
+
+# Name of the executable.
+as_me=`echo "$0" |sed 's,.*[\\/],,'`
+
+if expr a : '\(a\)' >/dev/null 2>&1; then
+  as_expr="expr"
+else
+  as_expr="false"
+fi
+
+rm -f conf$$ conf$$.exe conf$$.file
+echo >conf$$.file
+if ln -s conf$$.file conf$$ 2>/dev/null; then
+  # We could just check for DJGPP; but this test a) works b) is more generic
+  # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
+  if test -f conf$$.exe; then
+    # Don't use ln at all; we don't have any links
+    as_ln_s='cp -p'
+  else
+    as_ln_s='ln -s'
+  fi
+elif ln conf$$.file conf$$ 2>/dev/null; then
+  as_ln_s='ln'
+else
+  as_ln_s='cp -p'
+fi
+rm -f conf$$ conf$$.exe conf$$.file
+
+as_executable_p="test -f"
+
+# Support unset when possible.
+if (FOO=FOO; unset FOO) >/dev/null 2>&1; then
+  as_unset="unset"
+else
+  as_unset="false"
+fi
+
+# NLS nuisances.
+$as_unset LANG || test "${LANG+set}" != set || { LANG=C; export LANG; }
+$as_unset LC_ALL || test "${LC_ALL+set}" != set || { LC_ALL=C; export LC_ALL; }
+$as_unset LC_TIME || test "${LC_TIME+set}" != set || { LC_TIME=C; export LC_TIME; }
+$as_unset LC_CTYPE || test "${LC_CTYPE+set}" != set || { LC_CTYPE=C; export LC_CTYPE; }
+$as_unset LANGUAGE || test "${LANGUAGE+set}" != set || { LANGUAGE=C; export LANGUAGE; }
+$as_unset LC_COLLATE || test "${LC_COLLATE+set}" != set || { LC_COLLATE=C; export LC_COLLATE; }
+$as_unset LC_NUMERIC || test "${LC_NUMERIC+set}" != set || { LC_NUMERIC=C; export LC_NUMERIC; }
+$as_unset LC_MESSAGES || test "${LC_MESSAGES+set}" != set || { LC_MESSAGES=C; export LC_MESSAGES; }
+
+# IFS
+# We need space, tab and new line, in precisely that order.
+as_nl='
+'
+IFS=" 	$as_nl"
+
+# CDPATH.
+$as_unset CDPATH || test "${CDPATH+set}" != set || { CDPATH=:; export CDPATH; }
+
+exec 6>&1
+
+config_files=" include/MKterm.h.awk include/curses.head:include/curses.h.in include/ncurses_dll.h include/termcap.h include/unctrl.h man/man_db.renames  man/Makefile include/Makefile ncurses/Makefile progs/Makefile panel/Makefile menu/Makefile form/Makefile test/Makefile misc/Makefile c++/Makefile misc/run_tic.sh:misc/run_tic.in misc/ncurses-config:misc/ncurses-config.in man/ncursesw6-config.1:man/MKncu_config.in Makefile"
+config_headers=" include/ncurses_cfg.h:include/ncurses_cfg.hin"
+config_commands=" default"
+
+ac_cs_usage="\
+\`$as_me' instantiates files from templates according to the
+current configuration.
+
+Usage: $0 [OPTIONS] [FILE]...
+
+  -h, --help       print this help, then exit
+  -V, --version    print version number, then exit
+  -d, --debug      don't remove temporary files
+      --recheck    update $as_me by reconfiguring in the same conditions
+  --file=FILE[:TEMPLATE]
+                   instantiate the configuration file FILE
+  --header=FILE[:TEMPLATE]
+                   instantiate the configuration header FILE
+
+Configuration files:
+$config_files
+
+Configuration headers:
+$config_headers
+
+Configuration commands:
+$config_commands
+
+Report bugs to <dickey@invisible-island.net>."
+ac_cs_version="\
+config.status
+configured by ./configure, generated by GNU Autoconf 2.52.20231210,
+  with options \"--enable-tcap-names --with-terminfo-dirs=/system_ext/etc/terminfo --with-default-terminfo-dir=/system_ext/etc/terminfo\"
+
+Copyright 2003-2022,2023	Thomas E. Dickey
+Copyright 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001
+Free Software Foundation, Inc.
+This config.status script is free software; the Free Software Foundation
+gives unlimited permission to copy, distribute and modify it."
+srcdir="."
+INSTALL="/usr/bin/install -c"
+# If no file are specified by the user, then we need to provide default
+# value.  By we need to know if files were specified by the user.
+ac_need_defaults=:
+while test $# != 0
+do
+  case $1 in
+  --*=*)
+    ac_option=`expr "x$1" : 'x\([^=]*\)='`
+    ac_optarg=`expr "x$1" : 'x[^=]*=\(.*\)'`
+    shift
+    set dummy "$ac_option" "$ac_optarg" ${1+"$@"}
+    shift
+    ;;
+  -*);;
+  *) # This is not an option, so the user has probably given explicit
+     # arguments.
+     ac_need_defaults=false;;
+  esac
+
+  case $1 in
+  # Handling of the options.
+  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
+    echo "running /bin/sh ./configure " --enable-tcap-names --with-terminfo-dirs=/system_ext/etc/terminfo --with-default-terminfo-dir=/system_ext/etc/terminfo " --no-create --no-recursion"
+    exec /bin/sh ./configure --enable-tcap-names --with-terminfo-dirs=/system_ext/etc/terminfo --with-default-terminfo-dir=/system_ext/etc/terminfo --no-create --no-recursion ;;
+  --version | --vers* | -V )
+    echo "$ac_cs_version"; exit 0 ;;
+  --he | --h)
+    # Conflict between --help and --header
+    { { echo "$as_me:29763: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: ambiguous option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; };;
+  --help | --hel | -h )
+    echo "$ac_cs_usage"; exit 0 ;;
+  --debug | --d* | -d )
+    debug=: ;;
+  --file | --fil | --fi | --f )
+    shift
+    CONFIG_FILES="$CONFIG_FILES $1"
+    ac_need_defaults=false;;
+  --header | --heade | --head | --hea )
+    shift
+    CONFIG_HEADERS="$CONFIG_HEADERS $1"
+    ac_need_defaults=false;;
+
+  # This is an error.
+  -*) { { echo "$as_me:29782: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&5
+echo "$as_me: error: unrecognized option: $1
+Try \`$0 --help' for more information." >&2;}
+   { (exit 1); exit 1; }; } ;;
+
+  *) ac_config_targets="$ac_config_targets $1" ;;
+
+  esac
+  shift
+done
+
+exec 5>>config.log
+cat >&5 << _ACEOF
+
+## ----------------------- ##
+## Running config.status.  ##
+## ----------------------- ##
+
+This file was extended by $as_me 2.52.20231210, executed with
+  CONFIG_FILES    = $CONFIG_FILES
+  CONFIG_HEADERS  = $CONFIG_HEADERS
+  CONFIG_LINKS    = $CONFIG_LINKS
+  CONFIG_COMMANDS = $CONFIG_COMMANDS
+  > "$ac_cs_invocation"
+on `(hostname || uname -n) 2>/dev/null | sed 1q`
+
+_ACEOF
+#
+# INIT-COMMANDS section.
+#
+
+### Special initialization commands, used to pass information from the
+### configuration-run into config.status
+
+ALTERNATE_SYMS=""
+AWK="mawk"
+CXX_NAME="ncurses++"
+DFT_ARG_SUFFIX="w"
+DFT_LWR_MODEL="normal"
+ECHO_LD=""
+EXTRA_SUFFIX=""
+FORM_NAME="form"
+LDCONFIG="/usr/sbin/ldconfig"
+LIBTOOL_VERSION="-version-number"
+LIB_NAME="ncurses"
+LIB_PREFIX="lib"
+LIB_SUBSETS="ticlib+termlib+ext_tinfo+base+widechar+ext_funcs"
+LIB_SUFFIX="w"
+LIB_TRACING="DEBUG"
+LN_S="ln -s -f"
+MAKE_TERMINFO=""
+MANPAGE_RENAMES="/home/micky387/Omni/external/libncurses/man/man_db.renames"
+MENU_NAME="menu"
+NCURSES_MAJOR="6"
+NCURSES_MINOR="5"
+NCURSES_OSPEED="short"
+NCURSES_PATCH="20240427"
+PANEL_NAME="panel"
+SRC_SUBDIRS=" man include ncurses progs panel menu form test misc c++"
+TERMINFO="/system_ext/etc/terminfo"
+TICS_ARG_SUFFIX=""
+TICS_LIB_SUFFIX=""
+TICS_NAME="tic"
+TICS_SUFFIX="w.a"
+TIC_PATH=""
+TINFO_ARG_SUFFIX="ncursesw"
+TINFO_LIB_SUFFIX=""
+TINFO_NAME="ncurses"
+TINFO_SUFFIX="w.a"
+UNALTERED_SYMS=""
+USE_ARG_SUFFIX="w"
+USE_CFG_SUFFIX="w6"
+USE_LIB_SUFFIX="w"
+USE_OLD_MAKERULES=""
+WILDCARD_SYMS=""
+WITH_CURSES_H="yes"
+WITH_ECHO="yes"
+WITH_OVERWRITE="yes"
+cf_LIST_MODELS=" normal debug"
+cf_cv_VERSION_GNATMAKE=no
+cf_cv_VERSION_GPRBUILD=no
+cf_cv_abi_default="6"
+cf_cv_abi_version="6"
+cf_cv_do_relink=""
+cf_cv_do_reranlib="no"
+cf_cv_do_symlinks="yes"
+cf_cv_enable_lp64="1"
+cf_cv_enable_opaque="NCURSES_OPAQUE"
+cf_cv_make_PHONY="yes"
+cf_cv_prog_CC_c_o=yes
+cf_cv_prog_CXX_c_o=yes
+cf_cv_prog_gnat_correct=no
+cf_cv_rel_version="6.5"
+cf_cv_rm_so_locs="no"
+cf_cv_shared_soname='`basename $@ .${REL_VERSION}`.${ABI_VERSION}'
+cf_cv_shlib_version="rel"
+cf_cv_shlib_version_infix="no"
+cf_cv_system_name="linux-gnu"
+cf_cv_term_driver="no"
+cf_with_ada="yes"
+cf_with_cxx_binding="yes"
+cf_with_db_install="yes"
+cf_with_manpages="yes"
+cf_with_tests="yes"
+host="x86_64-pc-linux-gnu"
+target="x86_64-pc-linux-gnu"
+verbose=""
+with_shared_cxx=""
+
+for ac_config_target in $ac_config_targets
+do
+  case "$ac_config_target" in
+  # Handling of arguments.
+  "include/MKterm.h.awk" ) CONFIG_FILES="$CONFIG_FILES include/MKterm.h.awk" ;;
+  "include/curses.head" ) CONFIG_FILES="$CONFIG_FILES include/curses.head:include/curses.h.in" ;;
+  "include/ncurses_dll.h" ) CONFIG_FILES="$CONFIG_FILES include/ncurses_dll.h" ;;
+  "include/termcap.h" ) CONFIG_FILES="$CONFIG_FILES include/termcap.h" ;;
+  "include/unctrl.h" ) CONFIG_FILES="$CONFIG_FILES include/unctrl.h" ;;
+  "man/man_db.renames" ) CONFIG_FILES="$CONFIG_FILES man/man_db.renames" ;;
+  "$SUB_MAKEFILES" ) CONFIG_FILES="$CONFIG_FILES $SUB_MAKEFILES" ;;
+  "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
+  "default" ) CONFIG_COMMANDS="$CONFIG_COMMANDS default" ;;
+  "include/ncurses_cfg.h" ) CONFIG_HEADERS="$CONFIG_HEADERS include/ncurses_cfg.h:include/ncurses_cfg.hin" ;;
+  *) { { echo "$as_me:29912: error: invalid argument: $ac_config_target" >&5
+echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
+   { (exit 1); exit 1; }; };;
+  esac
+done
+
+# If the user did not use the arguments to specify the items to instantiate,
+# then the envvar interface is used.  Set only those that are not.
+# We use the long form for the default assignment because of an extremely
+# bizarre bug on SunOS 4.1.3.
+if "$ac_need_defaults"; then
+  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
+  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
+  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
+fi
+
+# Create a temporary directory, and hook for its removal unless debugging.
+$debug ||
+{
+  trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
+  trap '{ (exit 1); exit 1; }' 1 2 13 15
+}
+
+# Create a (secure) tmp directory for tmp files.
+: "${TMPDIR=/tmp}"
+{
+  tmp=`(umask 077 && mktemp -d -q "$TMPDIR/csXXXXXX") 2>/dev/null` &&
+  test -n "$tmp" && test -d "$tmp"
+}  ||
+{
+  tmp=$TMPDIR/cs$$-$RANDOM
+  (umask 077 && mkdir "$tmp")
+} ||
+{
+   echo "$me: cannot create a temporary directory in $TMPDIR" >&2
+   { (exit 1); exit 1; }
+}
+
+
+#
+# CONFIG_FILES section.
+#
+
+# No need to generate the scripts if there are no CONFIG_FILES.
+# This happens for instance when ./config.status config.h
+if test -n "$CONFIG_FILES"; then
+  # Protect against being on the right side of a sed subst in config.status.
+  sed 's/,@/@@/; s/@,/@@/; s/,;t t$/@;t t/; /@;t t$/s/[\\&,]/\\&/g;
+   s/@@/,@/; s/@@/@,/; s/@;t t$/,;t t/' >"$tmp"/subs.sed <<\CEOF
+s,@SHELL@,/bin/sh,;t t
+s,@exec_prefix@,${prefix},;t t
+s,@prefix@,/usr,;t t
+s,@program_transform_name@,s,x,x,,;t t
+s,@bindir@,${exec_prefix}/bin,;t t
+s,@sbindir@,${exec_prefix}/sbin,;t t
+s,@libexecdir@,${exec_prefix}/libexec,;t t
+s,@datarootdir@,${prefix}/share,;t t
+s,@datadir@,${datarootdir},;t t
+s,@sysconfdir@,${prefix}/etc,;t t
+s,@sharedstatedir@,${prefix}/com,;t t
+s,@localstatedir@,${prefix}/var,;t t
+s,@runstatedir@,${localstatedir}/run,;t t
+s,@libdir@,${exec_prefix}/lib,;t t
+s,@includedir@,${prefix}/include,;t t
+s,@oldincludedir@,/usr/include,;t t
+s,@infodir@,${datarootdir}/info,;t t
+s,@mandir@,${datarootdir}/man,;t t
+s,@PACKAGE_NAME@,,;t t
+s,@PACKAGE_TARNAME@,,;t t
+s,@PACKAGE_VERSION@,,;t t
+s,@PACKAGE_STRING@,,;t t
+s,@PACKAGE_BUGREPORT@,,;t t
+s,@build_alias@,,;t t
+s,@host_alias@,,;t t
+s,@target_alias@,,;t t
+s,@ECHO_C@,\c,;t t
+s,@ECHO_N@,,;t t
+s,@ECHO_T@,,;t t
+s,@PATH_SEPARATOR@,:,;t t
+s,@DEFS@,-DHAVE_CONFIG_H,;t t
+s,@LIBS@,,;t t
+s,@top_builddir@,/home/micky387/Omni/external/libncurses,;t t
+s,@GREP@,grep,;t t
+s,@EGREP@,grep -E,;t t
+s,@NCURSES_MAJOR@,6,;t t
+s,@NCURSES_MINOR@,5,;t t
+s,@NCURSES_PATCH@,20240427,;t t
+s,@cf_cv_rel_version@,6.5,;t t
+s,@cf_cv_abi_version@,6,;t t
+s,@cf_cv_abi_default@,6,;t t
+s,@cf_cv_builtin_bool@,1,;t t
+s,@cf_cv_header_stdbool_h@,1,;t t
+s,@cf_cv_type_of_bool@,unsigned char,;t t
+s,@VERSION@,5:0:10,;t t
+s,@VERSION_MAJOR@,6,;t t
+s,@VERSION_MINOR@,5,;t t
+s,@VERSION_PATCH@,20240427,;t t
+s,@PACKAGE@,ncursesw,;t t
+s,@build@,x86_64-pc-linux-gnu,;t t
+s,@build_cpu@,x86_64,;t t
+s,@build_vendor@,pc,;t t
+s,@build_os@,linux-gnu,;t t
+s,@host@,x86_64-pc-linux-gnu,;t t
+s,@host_cpu@,x86_64,;t t
+s,@host_vendor@,pc,;t t
+s,@host_os@,linux-gnu,;t t
+s,@target@,x86_64-pc-linux-gnu,;t t
+s,@target_cpu@,x86_64,;t t
+s,@target_vendor@,pc,;t t
+s,@target_os@,linux-gnu,;t t
+s,@FGREP@,grep -F,;t t
+s,@CC@,gcc,;t t
+s,@CFLAGS@,-O2 --param max-inline-insns-single=1200,;t t
+s,@LDFLAGS@,,;t t
+s,@CPPFLAGS@,-I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG,;t t
+s,@ac_ct_CC@,gcc,;t t
+s,@EXEEXT@,,;t t
+s,@OBJEXT@,o,;t t
+s,@EXTRA_CPPFLAGS@,,;t t
+s,@CPP@,gcc -E,;t t
+s,@LDCONFIG@,/usr/sbin/ldconfig,;t t
+s,@CXX@,/usr/bin/g++,;t t
+s,@CXXFLAGS@,-O2,;t t
+s,@ac_ct_CXX@,g++,;t t
+s,@AWK@,mawk,;t t
+s,@INSTALL_PROGRAM@,${INSTALL},;t t
+s,@INSTALL_SCRIPT@,${INSTALL},;t t
+s,@INSTALL_DATA@,${INSTALL} -m 644,;t t
+s,@LINT@,,;t t
+s,@LINT_OPTS@,,;t t
+s,@LINT_LIBS@,,;t t
+s,@LN_S@,ln -s -f,;t t
+s,@cf_config_suffix@,,;t t
+s,@PKG_CONFIG@,/usr/bin/pkg-config,;t t
+s,@ac_pt_PKG_CONFIG@,/usr/bin/pkg-config,;t t
+s,@PKG_CONFIG_LIBDIR@,/usr/local/lib/pkgconfig,;t t
+s,@MAKE_PC_FILES@,#,;t t
+s,@PC_MODULE_SUFFIX@,,;t t
+s,@SET_MAKE@,,;t t
+s,@MAKE_NO_PHONY@,#,;t t
+s,@MAKE_PHONY@,,;t t
+s,@CTAGS@,ctags,;t t
+s,@ETAGS@,etags,;t t
+s,@MAKE_LOWER_TAGS@,,;t t
+s,@MAKE_UPPER_TAGS@,,;t t
+s,@cf_cv_makeflags@,,;t t
+s,@RANLIB@,ranlib,;t t
+s,@ac_ct_RANLIB@,ranlib,;t t
+s,@LD@,ld,;t t
+s,@ac_ct_LD@,ld,;t t
+s,@AR@,ar,;t t
+s,@ac_ct_AR@,ar,;t t
+s,@NM@,nm,;t t
+s,@ac_ct_NM@,nm,;t t
+s,@ARFLAGS@,-curvU,;t t
+s,@DESTDIR@,,;t t
+s,@BUILD_CC@,${CC},;t t
+s,@BUILD_CPP@,${CPP},;t t
+s,@BUILD_CFLAGS@,${CFLAGS},;t t
+s,@BUILD_CPPFLAGS@,${CPPFLAGS},;t t
+s,@BUILD_LDFLAGS@,${LDFLAGS},;t t
+s,@BUILD_LIBS@,${LIBS},;t t
+s,@BUILD_EXEEXT@,$x,;t t
+s,@BUILD_OBJEXT@,o,;t t
+s,@cf_list_models@, normal debug,;t t
+s,@ABI_VERSION@,,;t t
+s,@LIBTOOL_VERSION@,-version-number,;t t
+s,@LIBTOOL@,,;t t
+s,@ac_ct_LIBTOOL@,,;t t
+s,@LT_UNDEF@,,;t t
+s,@LIBTOOL_CXX@,,;t t
+s,@LIBTOOL_OPTS@,,;t t
+s,@LIB_CREATE@,${AR} -cr,;t t
+s,@LIB_OBJECT@,${OBJECTS},;t t
+s,@LIB_SUFFIX@,w,;t t
+s,@LIB_PREP@,ranlib,;t t
+s,@LIB_CLEAN@,,;t t
+s,@LIB_COMPILE@,,;t t
+s,@LIB_LINK@,${CC},;t t
+s,@LIB_INSTALL@,,;t t
+s,@LIB_UNINSTALL@,,;t t
+s,@DFT_LWR_MODEL@,normal,;t t
+s,@DFT_UPR_MODEL@,NORMAL,;t t
+s,@TICS_NAME@,tic,;t t
+s,@TINFO_NAME@,ncurses,;t t
+s,@LIB_NAME@,ncurses,;t t
+s,@LIB_PREFIX@,lib,;t t
+s,@CC_G_OPT@,-g,;t t
+s,@CXX_G_OPT@,-g,;t t
+s,@LD_MODEL@,,;t t
+s,@shlibdir@,${exec_prefix}/lib,;t t
+s,@MAKE_DLLS@,#,;t t
+s,@CC_SHARED_OPTS@,-fPIC,;t t
+s,@LD_RPATH_OPT@,-Wl,-rpath,,;t t
+s,@LD_SHARED_OPTS@,,;t t
+s,@MK_SHARED_LIB@,${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,`basename $@ .${REL_VERSION}`.${ABI_VERSION},-stats,-lc -o $@,;t t
+s,@RM_SHARED_OPTS@,,;t t
+s,@LINK_PROGS@,,;t t
+s,@LINK_TESTS@,,;t t
+s,@EXTRA_LDFLAGS@,,;t t
+s,@LOCAL_LDFLAGS@,,;t t
+s,@LOCAL_LDFLAGS2@,,;t t
+s,@INSTALL_LIB@,-m 644 -p,;t t
+s,@RPATH_LIST@,${libdir},;t t
+s,@EXPORT_SYMS@,,;t t
+s,@RESULTING_SYMS@,,;t t
+s,@VERSIONED_SYMS@,,;t t
+s,@WILDCARD_SYMS@,,;t t
+s,@cf_ldd_prog@,,;t t
+s,@EXTRA_PKG_LDFLAGS@, ,;t t
+s,@EXTRA_SUFFIX@,,;t t
+s,@TERMINFO_SRC@,${top_srcdir}/misc/terminfo.src,;t t
+s,@NCURSES_USE_DATABASE@,1,;t t
+s,@TIC@,tic,;t t
+s,@ac_ct_TIC@,tic,;t t
+s,@INFOCMP@,infocmp,;t t
+s,@ac_ct_INFOCMP@,infocmp,;t t
+s,@FALLBACK_LIST@,,;t t
+s,@USE_FALLBACKS@,#,;t t
+s,@WHICH_XTERM@,xterm-new,;t t
+s,@XTERM_KBS@,DEL,;t t
+s,@TERMINFO_DIRS@,/system_ext/etc/terminfo,;t t
+s,@TERMINFO@,/system_ext/etc/terminfo,;t t
+s,@MAKE_TERMINFO@,,;t t
+s,@USE_BIG_STRINGS@,1,;t t
+s,@TERMPATH@,,;t t
+s,@NCURSES_USE_TERMCAP@,0,;t t
+s,@BROKEN_LINKER@,0,;t t
+s,@NCURSES_WCWIDTH_GRAPHICS@,1,;t t
+s,@NCURSES_CH_T@,cchar_t,;t t
+s,@NCURSES_LIBUTF8@,0,;t t
+s,@NEED_WCHAR_H@,1,;t t
+s,@NCURSES_MBSTATE_T@,0,;t t
+s,@NCURSES_WCHAR_T@,0,;t t
+s,@NCURSES_WINT_T@,0,;t t
+s,@NCURSES_OK_WCHAR_T@,1,;t t
+s,@NCURSES_OK_WINT_T@,1,;t t
+s,@cf_cv_enable_lp64@,1,;t t
+s,@NCURSES_TPARM_VARARGS@,1,;t t
+s,@NCURSES_WATTR_MACROS@,0,;t t
+s,@RGB_PATH@,/usr/share/X11/rgb.txt,;t t
+s,@no_x11_rgb@,,;t t
+s,@NCURSES_BOOL@,auto,;t t
+s,@TERMINFO_CAPS@,Caps,;t t
+s,@NCURSES_CHTYPE@,uint32_t,;t t
+s,@NCURSES_OSPEED@,short,;t t
+s,@NCURSES_MMASK_T@,uint32_t,;t t
+s,@NCURSES_CCHARW_MAX@,5,;t t
+s,@NCURSES_SBOOL@,char,;t t
+s,@NCURSES_TPARM_ARG@,intptr_t,;t t
+s,@cf_manpage_format@,no,;t t
+s,@cf_manpage_inboth@,no,;t t
+s,@cf_manpage_so_strip@,gz,;t t
+s,@cf_manpage_compress@,gzip,;t t
+s,@cf_manpage_coptions@,-n,;t t
+s,@MANPAGE_RENAMES@,/home/micky387/Omni/external/libncurses/man/man_db.renames,;t t
+s,@NCURSES_EXT_FUNCS@,1,;t t
+s,@GENERATED_EXT_FUNCS@,generated,;t t
+s,@NCURSES_SP_FUNCS@,1,;t t
+s,@GENERATED_SP_FUNCS@,generated,;t t
+s,@NCURSES_CONST@,const,;t t
+s,@NCURSES_EXT_COLORS@,1,;t t
+s,@NCURSES_MOUSE_VERSION@,2,;t t
+s,@cf_cv_enable_sigwinch@,1,;t t
+s,@NCURSES_XNAMES@,1,;t t
+s,@PTHREAD@,,;t t
+s,@cf_cv_enable_reentrant@,0,;t t
+s,@cf_cv_enable_opaque@,NCURSES_OPAQUE,;t t
+s,@NCURSES_SIZE_T@,short,;t t
+s,@NCURSES_OPAQUE@,1,;t t
+s,@NCURSES_OPAQUE_FORM@,1,;t t
+s,@NCURSES_OPAQUE_MENU@,1,;t t
+s,@NCURSES_OPAQUE_PANEL@,1,;t t
+s,@NCURSES_WRAP_PREFIX@,_nc_,;t t
+s,@NCURSES_IMPEXP@,,;t t
+s,@NCURSES_CXX_IMPEXP@,,;t t
+s,@NCURSES_INTEROP_FUNCS@,1,;t t
+s,@NCURSES_WGETCH_EVENTS@,0,;t t
+s,@EXP_WIN32_DRIVER@,0,;t t
+s,@INTERNALS_HDR@,,;t t
+s,@ECHO_LT@,,;t t
+s,@ECHO_LD@,,;t t
+s,@RULE_CC@,,;t t
+s,@SHOW_CC@,,;t t
+s,@ECHO_CC@,,;t t
+s,@ECHO_LINK@,@ echo linking $@ ... ;,;t t
+s,@INSTALL_OPT_S@,-s,;t t
+s,@INSTALL_OPT_O@,,;t t
+s,@INSTALL_OPT_P@,-p,;t t
+s,@EXTRA_CFLAGS@,,;t t
+s,@HAVE_STDNORETURN_H@,0,;t t
+s,@STDC_NORETURN@,,;t t
+s,@ADAFLAGS@,,;t t
+s,@EXTRA_CXXFLAGS@,,;t t
+s,@ADA_TRACE@,FALSE,;t t
+s,@MATH_LIB@,-lm,;t t
+s,@NCURSES_INLINE@,inline,;t t
+s,@cf_cv_typeof_chtype@,uint32_t,;t t
+s,@cf_cv_1UL@,1U,;t t
+s,@cf_cv_typeof_mmask_t@,uint32_t,;t t
+s,@HAVE_VSSCANF@,1,;t t
+s,@TEST_LIBS@,-lutil ,;t t
+s,@TEST_LIBS2@,,;t t
+s,@CXXCPP@,/usr/bin/g++ -E,;t t
+s,@CXXLDFLAGS@,,;t t
+s,@CXX_AR@,$(AR),;t t
+s,@CXX_ARFLAGS@,$(ARFLAGS),;t t
+s,@CXXLIBS@,,;t t
+s,@USE_CXX_BOOL@,defined(__cplusplus),;t t
+s,@cf_TEMP_gnat@,,;t t
+s,@M4_exists@,,;t t
+s,@cf_ada_make@,,;t t
+s,@cf_ada_config@,,;t t
+s,@cf_ada_config_Ada@,,;t t
+s,@cf_ada_config_C@,,;t t
+s,@GNATPREP_OPTS@,,;t t
+s,@cf_compile_generics@,,;t t
+s,@cf_generic_objects@,,;t t
+s,@USE_GNAT_SIGINT@,,;t t
+s,@USE_OLD_MAKERULES@,,;t t
+s,@USE_GNAT_PROJECTS@,,;t t
+s,@USE_GNAT_LIBRARIES@,,;t t
+s,@USE_GNAT_MAKE_GPR@,,;t t
+s,@USE_GNAT_GPRBUILD@,,;t t
+s,@cf_ada_compiler@,,;t t
+s,@cf_ada_package@,,;t t
+s,@ADA_INCLUDE@,,;t t
+s,@ADA_OBJECTS@,,;t t
+s,@ADA_SHAREDLIB@,,;t t
+s,@MAKE_ADA_SHAREDLIB@,,;t t
+s,@ADA_LIBNAME@,,;t t
+s,@ACPPFLAGS@,-I. -I../include -I../../include ,;t t
+s,@DFT_ARG_SUFFIX@,w,;t t
+s,@DFT_DEP_SUFFIX@,w.a,;t t
+s,@DFT_OBJ_SUBDIR@,objects,;t t
+s,@CXX_LIB_SUFFIX@,w.a,;t t
+s,@USE_ARG_SUFFIX@,w,;t t
+s,@USE_CFG_SUFFIX@,w6,;t t
+s,@USE_LIB_SUFFIX@,w,;t t
+s,@TICS_ARG_SUFFIX@,,;t t
+s,@TICS_DEP_SUFFIX@,,;t t
+s,@TICS_LIB_SUFFIX@,,;t t
+s,@TICS_LDFLAGS@,-L../lib,;t t
+s,@TICS_LIBS@,-lncursesw,;t t
+s,@TINFO_ARG_SUFFIX@,ncursesw,;t t
+s,@TINFO_DEP_SUFFIX@,,;t t
+s,@TINFO_LIB_SUFFIX@,,;t t
+s,@TINFO_LDFLAGS@,-L../lib,;t t
+s,@TINFO_LIBS@,-lncursesw,;t t
+s,@TINFO_LDFLAGS2@,-L../../lib,;t t
+s,@LDFLAGS_STATIC@,,;t t
+s,@LDFLAGS_SHARED@,,;t t
+s,@includesubdir@,,;t t
+s,@WITH_OVERWRITE@,yes,;t t
+s,@TICS_LIST@,,;t t
+s,@TINFO_LIST@,,;t t
+s,@SHLIB_LIST@,,;t t
+s,@FORM_NAME@,form,;t t
+s,@MENU_NAME@,menu,;t t
+s,@PANEL_NAME@,panel,;t t
+s,@CXX_NAME@,ncurses++,;t t
+s,@TEST_ARGS@,-L../lib -lformw -lmenuw -lpanelw -lncursesw ,;t t
+s,@TEST_DEPS@,../lib/libformw.a ../lib/libmenuw.a ../lib/libpanelw.a ../lib/libncursesw.a ,;t t
+s,@TEST_ARG2@,-L../../lib -lformw -lmenuw -lpanelw -lncursesw ,;t t
+s,@TEST_DEP2@,../../lib/libformw.a ../../lib/libmenuw.a ../../lib/libpanelw.a ../../lib/libncursesw.a ,;t t
+s,@PC_MODULES_TO_MAKE@,ncursesw panelw menuw formw ncurses++w,;t t
+s,@ADA_SUBDIRS@,,;t t
+s,@DIRS_TO_MAKE@,lib objects obj_g,;t t
+s,@NCURSES_SHLIB2@,/bin/sh $(top_srcdir)/misc/shlib,;t t
+s,@HAVE_TCGETATTR@,1,;t t
+s,@HAVE_STDINT_H@,1,;t t
+s,@HAVE_TERMIO_H@,1,;t t
+s,@HAVE_TERMIOS_H@,1,;t t
+s,@cross_compiling@,no,;t t
+s,@MAKE_TESTS@,,;t t
+s,@ADAHTML_DIR@,../../doc/html/ada,;t t
+s,@LIBTOOL_OPTS_CXX@,,;t t
+s,@PKG_CFLAGS@, -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600,;t t
+s,@MISC_INSTALL_DATA@,install.data,;t t
+s,@MISC_UNINSTALL_DATA@,uninstall.data,;t t
+s,@MAKE_DATABASE@,,;t t
+s,@UNALTERED_SYMS@,,;t t
+s,@ADAGEN_LDFLAGS@,$(NATIVE_LDFLAGS),;t t
+s,@CHECK_BUILD@,,;t t
+s,@PRIVATE_LIBS@,,;t t
+s,@LD_SEARCHPATH@,/lib/x86_64-linux-gnu|/usr/lib/x86_64-linux-gnu|/lib64|/usr/lib64|/usr/local/lib|/lib|/usr/lib,;t t
+CEOF
+
+  # Split the substitutions into bite-sized pieces for seds with
+  # small command number limits, like on Digital OSF/1 and HP-UX.
+  ac_max_sed_lines=48
+  ac_sed_frag=1 # Number of current file.
+  ac_beg=1 # First line for current file.
+  ac_end=$ac_max_sed_lines # Line after last line for current file.
+  ac_more_lines=:
+  ac_sed_cmds=
+  while "$ac_more_lines"; do
+    if test "$ac_beg" -gt 1; then
+      sed "1,${ac_beg}d; ${ac_end}q" "$tmp"/subs.sed >"$tmp"/subs.frag
+    else
+      sed "${ac_end}q" "$tmp"/subs.sed >"$tmp"/subs.frag
+    fi
+    if test ! -s "$tmp"/subs.frag; then
+      ac_more_lines=false
+    else
+      # The purpose of the label and of the branching condition is to
+      # speed up the sed processing (if there are no `@' at all, there
+      # is no need to browse any of the substitutions).
+      # These are the two extra sed commands mentioned above.
+      (echo ':t
+  /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat "$tmp"/subs.frag) >"$tmp"/subs-$ac_sed_frag.sed
+      # It is possible to make a multiline substitution using escaped newlines.
+      # Ensure that we do not split the substitution between script fragments.
+      ac_BEG=$ac_end
+      ac_END=`expr "$ac_end" + "$ac_max_sed_lines"`
+      sed "1,${ac_BEG}d; ${ac_END}p; q" "$tmp"/subs.sed >"$tmp"/subs.next
+      if test -s "$tmp"/subs.next; then
+        grep '^s,@[^@,][^@,]*@,.*\\$' "$tmp"/subs.next >"$tmp"/subs.edit
+        if test ! -s "$tmp"/subs.edit; then
+          grep "^s,@[^@,][^@,]*@,.*,;t t$" "$tmp"/subs.next >"$tmp"/subs.edit
+          if test ! -s "$tmp"/subs.edit; then
+            if test "$ac_beg" -gt 1; then
+              ac_end=`expr "$ac_end" - 1`
+              continue
+            fi
+          fi
+        fi
+      fi
+
+      if test -z "$ac_sed_cmds"; then
+        ac_sed_cmds="sed -f \"$tmp\"/subs-$ac_sed_frag.sed"
+      else
+        ac_sed_cmds="$ac_sed_cmds | sed -f \"$tmp\"/subs-$ac_sed_frag.sed"
+      fi
+      ac_sed_frag=`expr "$ac_sed_frag" + 1`
+      ac_beg=$ac_end
+      ac_end=`expr "$ac_end" + "$ac_max_sed_lines"`
+    fi
+  done
+  if test -z "$ac_sed_cmds"; then
+    ac_sed_cmds="cat"
+  fi
+fi # test -n "$CONFIG_FILES"
+
+for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  - | *:- | *:-:* ) # input from stdin
+        cat >"$tmp"/stdin
+        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
+  ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$ac_file" : 'X\(//\)[^/]' \| \
+         X"$ac_file" : 'X\(//\)$' \| \
+         X"$ac_file" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+  if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+    { case "$ac_dir" in
+  [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+  *)                      as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+  case $as_mkdir_dir in
+    # Skip DOS drivespec
+    ?:) as_incr_dir=$as_mkdir_dir ;;
+    *)
+      as_incr_dir=$as_incr_dir/$as_mkdir_dir
+      test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+    ;;
+  esac
+done; }
+
+    ac_dir_suffix="/`echo "$ac_dir"|sed 's,^\./,,'`"
+    # A "../" for each directory in $ac_dir_suffix.
+    ac_dots=`echo "$ac_dir_suffix" | sed 's,/[^/]*,../,g'`
+  else
+    ac_dir_suffix= ac_dots=
+  fi
+
+  case "$srcdir" in
+  .)  ac_srcdir=.
+      if test -z "$ac_dots"; then
+         ac_top_srcdir=.
+      else
+         ac_top_srcdir=`echo "$ac_dots" | sed 's,/$,,'`
+      fi ;;
+  [\\/]* | ?:[\\/]* )
+      ac_srcdir="$srcdir$ac_dir_suffix";
+      ac_top_srcdir="$srcdir" ;;
+  *) # Relative path.
+    ac_srcdir="$ac_dots$srcdir$ac_dir_suffix"
+    ac_top_srcdir="$ac_dots$srcdir" ;;
+  esac
+
+  case $INSTALL in
+  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
+  *) ac_INSTALL=$ac_dots$INSTALL ;;
+  esac
+
+  if test x"$ac_file" != x-; then
+    { echo "$as_me:30433: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+    rm -f "$ac_file"
+  fi
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated automatically by config.status.  */
+  configure_input="Generated automatically from `echo $ac_file_in |
+                                                 sed 's,.*/,,'` by configure."
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo "$tmp"/stdin ;;
+      [\\/$]*)
+         # Absolute (can't be DOS-style, as IFS=:)
+         test -f "$f" || { { echo "$as_me:30451: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         echo "$f";;
+      *) # Relative
+         if test -f "$f"; then
+           # Build tree
+           echo "$f"
+         elif test -f "$srcdir/$f"; then
+           # Source tree
+           echo "$srcdir/$f"
+         else
+           # /dev/null tree
+           { { echo "$as_me:30464: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+  ac_warn_datarootdir=no
+  if test x"$ac_file" != x-; then
+    for ac_item in $ac_file_inputs
+    do
+      ac_seen=`grep '@\(datadir\|mandir\|infodir\)@' "$ac_item"`
+      if test -n "$ac_seen"; then
+        ac_used=`grep '@datarootdir@' "$ac_item"`
+        if test -z "$ac_used"; then
+          { echo "$as_me:30480: WARNING: datarootdir was used implicitly but not set:
+$ac_seen" >&5
+echo "$as_me: WARNING: datarootdir was used implicitly but not set:
+$ac_seen" >&2;}
+          ac_warn_datarootdir=yes
+        fi
+      fi
+      ac_seen=`grep '${datarootdir}' "$ac_item"`
+      if test -n "$ac_seen"; then
+        { echo "$as_me:30489: WARNING: datarootdir was used explicitly but not set:
+$ac_seen" >&5
+echo "$as_me: WARNING: datarootdir was used explicitly but not set:
+$ac_seen" >&2;}
+        ac_warn_datarootdir=yes
+      fi
+    done
+  fi
+
+if test "x$ac_warn_datarootdir" = xyes; then
+  ac_sed_cmds="$ac_sed_cmds | sed -e 's,@datarootdir@,\${prefix}/share,g' -e 's,\${datarootdir},\${prefix}/share,g'"
+fi
+
+  sed "/^[ 	]*VPATH[ 	]*=/{
+s/:*\$(srcdir):*/:/;
+s/:*\${srcdir}:*/:/;
+s/:*@srcdir@:*/:/;
+s/^\([^=]*=[ 	]*\):*/\1/;
+s/:*$//;
+s/^[^=]*=[ 	]*$//;
+}
+
+:t
+/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
+s,@configure_input@,$configure_input,;t t
+s,@srcdir@,$ac_srcdir,;t t
+s,@top_srcdir@,$ac_top_srcdir,;t t
+s,@INSTALL@,$ac_INSTALL,;t t
+" $ac_file_inputs | (eval "$ac_sed_cmds") >"$tmp"/out
+  rm -f "$tmp"/stdin
+  test -n "${FGREP}" || FGREP="grep -F"
+  test -n "${EGREP}" || EGREP="grep -E"
+  if test x"$ac_file" != x-; then
+    cp "$tmp/out" "$ac_file"
+
+    for ac_name in prefix exec_prefix datarootdir
+    do
+        ac_seen=`$FGREP -n '${'$ac_name'[:=].*}' "$ac_file"`
+        if test -n "$ac_seen"; then
+            ac_init=`$EGREP '[ 	]*'$ac_name'[ 	]*=' "$ac_file"`
+            if test -z "$ac_init"; then
+              ac_seen=`echo "$ac_seen" |sed -e 's,^,'"$ac_file"':,'`
+              { echo "$as_me:30534: WARNING: Variable $ac_name is used but was not set:
+$ac_seen" >&5
+echo "$as_me: WARNING: Variable $ac_name is used but was not set:
+$ac_seen" >&2;}
+            fi
+        fi
+    done
+    $EGREP -n '@[a-z_][a-z_0-9]+@' "$ac_file" >"$tmp"/out
+    $EGREP -n '@[A-Z_][A-Z_0-9]+@' "$ac_file" >>"$tmp"/out
+    if test -s "$tmp"/out; then
+      ac_seen=`sed -e 's,^,'"$ac_file"':,' < "$tmp"/out`
+      { echo "$as_me:30545: WARNING: Some variables may not be substituted:
+$ac_seen" >&5
+echo "$as_me: WARNING: Some variables may not be substituted:
+$ac_seen" >&2;}
+    fi
+  else
+    cat "$tmp"/out
+  fi
+  rm -f "$tmp"/out
+
+done
+
+#
+# CONFIG_HEADER section.
+#
+
+# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
+# NAME is the cpp macro being defined and VALUE is the value it is being given.
+#
+# ac_d sets the value in "#define NAME VALUE" lines.
+ac_dA='s,^\([ 	]*\)#\([ 	]*define[ 	][ 	]*\)'
+ac_dB='[ 	].*$,\1#\2'
+ac_dC=' '
+ac_dD=',;t'
+# ac_i turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
+ac_iA='s,^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
+ac_iB='\([ 	]\),\1#\2define\3'
+ac_iC=' '
+ac_iD='\4,;t'
+# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
+ac_uA='s,^\([ 	]*\)#\([ 	]*\)undef\([ 	][ 	]*\)'
+ac_uB='$,\1#\2define\3'
+ac_uC=' '
+ac_uD=',;t'
+
+for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
+  # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
+  case "$ac_file" in
+  - | *:- | *:-:* ) # input from stdin
+        cat >"$tmp"/stdin
+        ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
+        ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
+  * )   ac_file_in=$ac_file.in ;;
+  esac
+
+  test x"$ac_file" != x- && { echo "$as_me:30594: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+
+  # First look for the input files in the build tree, otherwise in the
+  # src tree.
+  ac_file_inputs=`IFS=:
+    for f in $ac_file_in; do
+      case $f in
+      -) echo "$tmp"/stdin ;;
+      [\\/$]*)
+         # Absolute (can't be DOS-style, as IFS=:)
+         test -f "$f" || { { echo "$as_me:30605: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         echo $f;;
+      *) # Relative
+         if test -f "$f"; then
+           # Build tree
+           echo $f
+         elif test -f "$srcdir/$f"; then
+           # Source tree
+           echo "$srcdir/$f"
+         else
+           # /dev/null tree
+           { { echo "$as_me:30618: error: cannot find input file: $f" >&5
+echo "$as_me: error: cannot find input file: $f" >&2;}
+   { (exit 1); exit 1; }; }
+         fi;;
+      esac
+    done` || { (exit 1); exit 1; }
+  # Remove the trailing spaces.
+  sed 's/[ 	]*$//' $ac_file_inputs >"$tmp"/in
+
+  rm -f conftest.frag
+  cat >> conftest.frag <<CEOF
+
+#define PACKAGE "ncurses"
+#define NCURSES_VERSION "6.5"
+#define NCURSES_PATCHDATE 20240427
+#define SYSTEM_NAME "linux-gnu"
+#if 0
+#include <stdlib.h>
+#endif
+#define HAVE_LONG_FILE_NAMES 1
+#define MIXEDCASE_FILENAMES 1
+#define STDC_HEADERS 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRING_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_DIRENT_H 1
+#define TERMINFO_DIRS "/system_ext/etc/terminfo"
+#define TERMINFO "/system_ext/etc/terminfo"
+#define HAVE_BIG_CORE 1
+#define PURE_TERMINFO 1
+#define USE_HOME_TERMINFO 1
+#define USE_ROOT_ENVIRON 1
+#define USE_ROOT_ACCESS 1
+#define USE_SETUID_ENVIRON 1
+#define HAVE_UNISTD_H 1
+#define HAVE_REMOVE 1
+#define HAVE_UNLINK 1
+#define HAVE_LINK 1
+#define HAVE_SYMLINK 1
+#define USE_LINKS 1
+#define HAVE_LANGINFO_CODESET 1
+#define USE_WIDEC_SUPPORT 1
+#define NCURSES_WIDECHAR 1
+CEOF
+  cat >> conftest.frag <<CEOF
+#define HAVE_WCHAR_H 1
+#define HAVE_WCTYPE_H 1
+#define HAVE_PUTWC 1
+#define HAVE_BTOWC 1
+#define HAVE_WCTOB 1
+#define HAVE_WMEMCHR 1
+#define HAVE_MBTOWC 1
+#define HAVE_WCTOMB 1
+#define HAVE_MBLEN 1
+#define HAVE_MBRLEN 1
+#define HAVE_MBRTOWC 1
+#define HAVE_WCSRTOMBS 1
+#define HAVE_MBSRTOWCS 1
+#define HAVE_WCSTOMBS 1
+#define HAVE_MBSTOWCS 1
+#define NEED_WCHAR_H 1
+#define HAVE_FSEEKO 1
+#define RGB_PATH "/usr/share/X11/rgb.txt"
+#define SIZEOF_SIGNED_CHAR 1
+#define NCURSES_EXT_FUNCS 1
+#define HAVE_ASSUME_DEFAULT_COLORS 1
+#define HAVE_CURSES_VERSION 1
+#define HAVE_HAS_KEY 1
+#define HAVE_RESIZETERM 1
+#define HAVE_RESIZE_TERM 1
+#define HAVE_TERM_ENTRY_H 1
+#define HAVE_USE_DEFAULT_COLORS 1
+#define HAVE_USE_SCREEN 1
+#define HAVE_USE_WINDOW 1
+#define HAVE_WRESIZE 1
+#define NCURSES_SP_FUNCS 1
+#define HAVE_TPUTS_SP 1
+#define NCURSES_EXT_COLORS 1
+#define HAVE_ALLOC_PAIR 1
+#define HAVE_INIT_EXTENDED_COLOR 1
+#define HAVE_RESET_COLOR_PAIRS 1
+#define NCURSES_EXT_PUTWIN 1
+#define NCURSES_NO_PADDING 1
+CEOF
+  cat >> conftest.frag <<CEOF
+#define USE_SIGWINCH 1
+#define NCURSES_XNAMES 1
+#define NCURSES_WRAP_PREFIX "_nc_"
+#define USE_ASSUMED_COLOR 1
+#define USE_HASHMAP 1
+#define GCC_SCANF 1
+#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+#define GCC_PRINTF 1
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+#define GCC_UNUSED __attribute__((unused))
+#define GCC_NORETURN __attribute__((noreturn))
+#define HAVE_NC_ALLOC_H 1
+#define HAVE_MATH_FUNCS 1
+#define TIME_WITH_SYS_TIME 1
+#define HAVE_REGEX_H_FUNCS 1
+#define HAVE_FCNTL_H 1
+#define HAVE_GETOPT_H 1
+#define HAVE_LIMITS_H 1
+#define HAVE_LOCALE_H 1
+#define HAVE_MATH_H 1
+#define HAVE_POLL_H 1
+#define HAVE_SYS_AUXV_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_POLL_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_TIMES_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_WCTYPE_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_GETOPT_H 1
+#define HAVE_GETOPT_HEADER 1
+#define DECL_ENVIRON 1
+#define HAVE_ENVIRON 1
+#define HAVE_PUTENV 1
+#define HAVE_SETENV 1
+#define HAVE_STRDUP 1
+CEOF
+  cat >> conftest.frag <<CEOF
+#define HAVE_SYS_TIME_SELECT 1
+#define SIG_ATOMIC_T volatile sig_atomic_t
+#define HAVE_CLOCK_GETTIME 1
+#define HAVE_FPATHCONF 1
+#define HAVE_GETCWD 1
+#define HAVE_GETAUXVAL 1
+#define HAVE_GETEGID 1
+#define HAVE_GETEUID 1
+#define HAVE_GETOPT 1
+#define HAVE_GETUID 1
+#define HAVE_LOCALECONV 1
+#define HAVE_POLL 1
+#define HAVE_REMOVE 1
+#define HAVE_SELECT 1
+#define HAVE_SETBUF 1
+#define HAVE_SETBUFFER 1
+#define HAVE_SETFSUID 1
+#define HAVE_SETVBUF 1
+#define HAVE_SIGACTION 1
+#define HAVE_SNPRINTF 1
+#define HAVE_STRDUP 1
+#define HAVE_STRSTR 1
+#define HAVE_SYSCONF 1
+#define HAVE_TCGETPGRP 1
+#define HAVE_TIMES 1
+#define HAVE_TSEARCH 1
+#define HAVE_VSNPRINTF 1
+#define HAVE_ISASCII 1
+#define HAVE_NANOSLEEP 1
+#define HAVE_TERMIO_H 1
+#define HAVE_TERMIOS_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_TCGETATTR 1
+#define HAVE_VSSCANF 1
+#define HAVE_UNISTD_H 1
+#define HAVE_MKSTEMP 1
+#define HAVE_SIZECHANGE 1
+CEOF
+  cat >> conftest.frag <<CEOF
+#define HAVE_WORKING_POLL 1
+#define HAVE_CONSISTENT_MB_LEN_MAX 1
+#define HAVE_VA_COPY 1
+#define HAVE_UNISTD_H 1
+#define HAVE_FORK 1
+#define HAVE_VFORK 1
+#define HAVE_WORKING_VFORK 1
+#define HAVE_WORKING_FORK 1
+#define USE_FOPEN_BIN_R 1
+#define USE_OPENPTY_HEADER <pty.h>
+#define USE_XTERM_PTY 1
+#define HAVE_TYPEINFO 1
+#define HAVE_IOSTREAM 1
+#define IOSTREAM_NAMESPACE 1
+#define SIZEOF_BOOL 1
+#define CPP_HAS_OVERRIDE 1
+#define CPP_HAS_STATIC_CAST 1
+#define SIZEOF_WCHAR_T 4
+#define HAVE_SLK_COLOR 1
+#define HAVE_PANEL_H 1
+#define HAVE_LIBPANEL 1
+#define HAVE_MENU_H 1
+#define HAVE_LIBMENU 1
+#define HAVE_FORM_H 1
+#define HAVE_LIBFORM 1
+#define NCURSES_PATHSEP ':'
+#define NCURSES_VERSION_STRING "6.5.20240427"
+#define NCURSES_OSPEED_COMPAT 1
+CEOF
+  cat >> conftest.edit <<CEOF
+/@DEFS@/r conftest.frag
+/@DEFS@/d
+CEOF
+sed -f conftest.edit "$tmp"/in > "$tmp"/out
+rm -f "$tmp"/in
+mv "$tmp"/out "$tmp"/in
+rm -f conftest.edit conftest.frag
+
+  # Let's still pretend it is `configure' which instantiates (i.e., don't
+  # use $as_me), people would be surprised to read:
+  #    /* config.h.  Generated automatically by config.status.  */
+  if test x"$ac_file" = x-; then
+    echo "/* Generated automatically by configure.  */" >"$tmp"/config.h
+  else
+    echo "/* $ac_file.  Generated automatically by configure.  */" >"$tmp"/config.h
+  fi
+  cat "$tmp"/in >>"$tmp"/config.h
+  rm -f "$tmp"/in
+  if test x"$ac_file" != x-; then
+    if cmp -s "$ac_file" "$tmp/config.h" 2>/dev/null; then
+      { echo "$as_me:30676: $ac_file is unchanged" >&5
+echo "$as_me: $ac_file is unchanged" >&6;}
+    else
+      ac_dir=`$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
+         X"$ac_file" : 'X\(//\)[^/]' \| \
+         X"$ac_file" : 'X\(//\)$' \| \
+         X"$ac_file" : 'X\(/\)' \| \
+         .     : '\(.\)' 2>/dev/null ||
+echo X"$ac_file" |
+    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
+  	  /^X\(\/\/\)[^/].*/{ s//\1/; q; }
+  	  /^X\(\/\/\)$/{ s//\1/; q; }
+  	  /^X\(\/\).*/{ s//\1/; q; }
+  	  s/.*/./; q'`
+      if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
+        { case "$ac_dir" in
+  [\\/]* | ?:[\\/]* ) as_incr_dir=;;
+  *)                      as_incr_dir=.;;
+esac
+as_dummy="$ac_dir"
+for as_mkdir_dir in `IFS='/\\'; set X $as_dummy; shift; echo "$@"`; do
+  case $as_mkdir_dir in
+    # Skip DOS drivespec
+    ?:) as_incr_dir=$as_mkdir_dir ;;
+    *)
+      as_incr_dir=$as_incr_dir/$as_mkdir_dir
+      test -d "$as_incr_dir" || mkdir "$as_incr_dir"
+    ;;
+  esac
+done; }
+
+      fi
+      rm -f "$ac_file"
+      mv "$tmp/config.h" "$ac_file"
+    fi
+  else
+    cat "$tmp"/config.h
+    rm -f "$tmp"/config.h
+  fi
+done
+#
+# CONFIG_COMMANDS section.
+#
+for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
+  ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
+  ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
+
+  case "$ac_dest" in
+    default )
+if test "x$cf_with_tests" != xno ; then
+
+for cf_dir in test
+do
+	if test ! -d "$srcdir/$cf_dir" ; then
+		continue
+	elif test -f "$srcdir/$cf_dir/programs" ; then
+		$AWK -f "$srcdir/test/mk-test.awk" INSTALL=no ECHO_LINK="$ECHO_LD" "$srcdir/$cf_dir/programs" >>$cf_dir/Makefile
+	fi
+done
+
+fi
+
+cf_prefix=$LIB_PREFIX
+
+case "$cf_cv_shlib_version" in
+(cygdll|msysdll|mingw|msvcdll)
+	TINFO_NAME=$TINFO_ARG_SUFFIX
+	TINFO_SUFFIX=.dll
+	;;
+esac
+
+if test -n "$TINFO_SUFFIX" ; then
+	case "$TINFO_SUFFIX" in
+	(tw*)
+		TINFO_NAME="${TINFO_NAME}tw${EXTRA_SUFFIX}"
+		TINFO_SUFFIX=`echo "$TINFO_SUFFIX" | sed 's/^tw'$EXTRA_SUFFIX'//'`
+		;;
+	(t*)
+		TINFO_NAME="${TINFO_NAME}t${EXTRA_SUFFIX}"
+		TINFO_SUFFIX=`echo "$TINFO_SUFFIX" | sed 's/^t'$EXTRA_SUFFIX'//'`
+		;;
+	(w*)
+		TINFO_NAME="${TINFO_NAME}w${EXTRA_SUFFIX}"
+		TINFO_SUFFIX=`echo "$TINFO_SUFFIX" | sed 's/^w'$EXTRA_SUFFIX'//'`
+		;;
+	esac
+fi
+
+for cf_dir in $SRC_SUBDIRS
+do
+	if test ! -d "$srcdir/$cf_dir" ; then
+		continue
+	elif test -f "$srcdir/$cf_dir/modules" ; then
+
+		SHARED_LIB=
+		Libs_To_Make=
+		cf_awk_program=
+		if test -n "${cf_cv_abi_default}" && test "x${cf_cv_abi_default}" != "x5"
+		then
+			cf_awk_program="$cf_awk_program\
+/deprecated in ABI${cf_cv_abi_default}/ { next; }\
+{ sub(\"NCURSES([WT]+)?\", \"&${cf_cv_abi_default}\"); }\
+"
+		fi
+
+		if test "x$WILDCARD_SYMS" = xno
+		then
+			cf_awk_program="$cf_awk_program\
+/[ 	]_\\*;/ { skip=1; next; }\
+"
+		fi
+
+		if test "x$cf_awk_program" != "x"
+		then
+			cat >>$cf_dir/Makefile <<CF_EOF
+
+# Generated by CF_LIB_RULES
+resulting.map: $UNALTERED_SYMS
+	$AWK 'BEGIN { skip = 1; last=""; } \
+$cf_awk_program \
+{ if ( last != "" && ( skip == 0 || \$\$0 !~ /}/ ) ) { print last; }\
+ skip = 0; last = \$\$0; } \
+END { print last; }' < "$UNALTERED_SYMS" >\$@
+
+distclean::
+	rm -f resulting.map
+CF_EOF
+		fi
+
+		for cf_item in $cf_LIST_MODELS
+		do
+
+	case X$cf_item in
+	(Xlibtool)
+		cf_suffix='.la'
+		cf_depsuf=$cf_suffix
+		;;
+	(Xdebug)
+		case "$cf_cv_system_name" in
+		(*-msvc*)
+			cf_suffix='_g.lib'
+			;;
+		(*)
+			cf_suffix='_g.a'
+			;;
+		esac
+		cf_depsuf=$cf_suffix
+		;;
+	(Xprofile)
+		case "$cf_cv_system_name" in
+		(*-msvc*)
+			cf_suffix='_p.lib'
+			;;
+		(*)
+			cf_suffix='_p.a'
+			;;
+		esac
+		cf_depsuf=$cf_suffix
+		;;
+	(Xshared)
+		case "$cf_cv_system_name" in
+		(aix[5-7]*)
+			cf_suffix='.so'
+			cf_depsuf=$cf_suffix
+			;;
+		(*-msvc*)
+			cf_suffix='.dll'
+			cf_depsuf='.dll.lib'
+			;;
+		(cygwin*|msys*|mingw*)
+			cf_suffix='.dll'
+			cf_depsuf='.dll.a'
+			;;
+		(darwin*)
+			cf_suffix='.dylib'
+			cf_depsuf=$cf_suffix
+			;;
+		(hpux*)
+			case "$target" in
+			(ia64*)
+				cf_suffix='.so'
+				cf_depsuf=$cf_suffix
+				;;
+			(*)
+				cf_suffix='.sl'
+				cf_depsuf=$cf_suffix
+				;;
+			esac
+			;;
+		(*)
+			cf_suffix='.so'
+			cf_depsuf=$cf_suffix
+			;;
+		esac
+		;;
+	(*)
+		case "$target" in
+		(*-msvc*)
+			cf_suffix='.lib'
+			;;
+		(*)
+			cf_suffix='.a'
+			;;
+		esac
+		cf_depsuf=$cf_suffix
+		;;
+	esac
+	if test -n "${LIB_SUFFIX}${EXTRA_SUFFIX}"
+	then
+		cf_suffix="${LIB_SUFFIX}${EXTRA_SUFFIX}${cf_suffix}"
+		cf_depsuf="${LIB_SUFFIX}${EXTRA_SUFFIX}${cf_depsuf}"
+	fi
+
+			if test "$cf_dir" = "c++"
+			then
+
+cf_map_lib_basename=`echo "cxx" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+eval cf_libname="\$${cf_map_lib_basename}_NAME"
+
+			else
+
+cf_map_lib_basename=`echo "$cf_dir" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+eval cf_libname="\$${cf_map_lib_basename}_NAME"
+
+			fi
+			test -z "$cf_libname" && cf_libname="$cf_dir"
+			if test "$cf_item" = shared ; then
+				if test -n "${LIB_SUFFIX}"
+				then
+					cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${USE_LIB_SUFFIX}"'//'`
+				else
+					cf_shared_suffix="$cf_suffix"
+				fi
+				if test "$cf_cv_do_symlinks" = yes ; then
+					cf_version_name=
+
+					case "$cf_cv_shlib_version" in
+					(rel)
+						cf_version_name=REL_VERSION
+						;;
+					(abi)
+						cf_version_name=ABI_VERSION
+						;;
+					esac
+
+					if test -n "$cf_version_name"
+					then
+						case "$cf_cv_system_name" in
+						(darwin*)
+							# "w", etc?
+							cf_suffix="${USE_LIB_SUFFIX}"'.${'$cf_version_name'}'"$cf_shared_suffix"
+							;;
+						(*)
+							cf_suffix="$cf_suffix"'.${'$cf_version_name'}'
+							;;
+						esac
+					fi
+					if test -n "${USE_LIB_SUFFIX}"
+					then
+						cf_shared_suffix=`echo "$cf_suffix" | sed 's/^'"${USE_LIB_SUFFIX}"'//'`
+					else
+						cf_shared_suffix="$cf_suffix"
+					fi
+				fi
+				# cygwin needs import library, and has unique naming convention
+				# use autodetected ${cf_prefix} for import lib and static lib, but
+				# use 'cyg' prefix for shared lib.
+				case "$cf_cv_shlib_version" in
+				(cygdll)
+					cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
+					cf_add_lib="../lib/cyg${cf_libname}${cf_cygsuf}"
+					;;
+				(msysdll)
+					cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
+					cf_add_lib="../lib/msys-${cf_libname}${cf_cygsuf}"
+					;;
+				(mingw)
+					cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
+					cf_add_lib="../lib/lib${cf_libname}${cf_cygsuf}"
+					;;
+				(msvcdll)
+					cf_cygsuf=`echo "$cf_suffix" | sed -e 's/\.dll/\${ABI_VERSION}.dll/'`
+					cf_add_lib="../lib/${cf_libname}${cf_cygsuf}"
+					;;
+				(*)
+					cf_add_lib=
+					;;
+				esac
+				if test -n "$cf_add_lib"
+				then
+					Libs_To_Make="$Libs_To_Make $cf_add_lib"
+					continue
+				fi
+			fi
+			cf_add_lib="../lib/${cf_prefix}${cf_libname}${cf_suffix}"
+			Libs_To_Make="$Libs_To_Make $cf_add_lib"
+		done
+
+		if test "$cf_dir" = ncurses ; then
+			cf_subsets="$LIB_SUBSETS"
+			cf_r_parts="$cf_subsets"
+			cf_liblist="$Libs_To_Make"
+
+			while test -n "$cf_r_parts"
+			do
+				cf_l_parts=`echo "$cf_r_parts" |sed -e 's/ .*$//'`
+				cf_r_parts=`echo "$cf_r_parts" |sed -e 's/^[^ ]* //'`
+				if test "$cf_l_parts" != "$cf_r_parts" ; then
+					cf_add_lib=
+					case "$cf_l_parts" in
+					(*termlib*)
+						cf_add_lib=`echo "$cf_liblist" |sed -e s%${LIB_NAME}${USE_LIB_SUFFIX}%${TINFO_LIB_SUFFIX}%g`
+						;;
+					(*ticlib*)
+						cf_add_lib=`echo "$cf_liblist" |sed -e s%${LIB_NAME}${USE_LIB_SUFFIX}%${TICS_LIB_SUFFIX}%g`
+						;;
+					(*)
+						break
+						;;
+					esac
+					if test -n "$cf_add_lib"; then
+						Libs_To_Make="$cf_add_lib $Libs_To_Make"
+					fi
+				else
+					break
+				fi
+			done
+		else
+			cf_subsets=`echo "$LIB_SUBSETS" | sed -e 's/^termlib.* //'`
+		fi
+
+		if test "$cf_dir" = c++; then
+			if test "x$with_shared_cxx" != xyes && test -n "$cf_shared_suffix"; then
+				cf_list=
+				for cf_item in $Libs_To_Make
+				do
+					case "$cf_item" in
+					(*.a)
+						;;
+					(*)
+						cf_item=`echo "$cf_item" | sed -e "s,"$cf_shared_suffix",.a,"`
+						;;
+					esac
+					for cf_test in $cf_list
+					do
+						if test "$cf_test" = "$cf_item"
+						then
+							cf_LIST_MODELS=`echo "$cf_LIST_MODELS" | sed -e 's/normal//'`
+							cf_item=
+							break
+						fi
+					done
+					test -n "$cf_item" && cf_list="$cf_list $cf_item"
+				done
+				Libs_To_Make="$cf_list"
+			fi
+		fi
+
+		sed -e "s%@Libs_To_Make@%$Libs_To_Make%" \
+		    -e "s%@SHARED_LIB@%$SHARED_LIB%" \
+			"$cf_dir/Makefile" >$cf_dir/Makefile.out
+		mv "$cf_dir/Makefile.out" "$cf_dir/Makefile"
+
+		$AWK -f "$srcdir/mk-0th.awk" \
+			libname="${cf_dir}${LIB_SUFFIX}" subsets="$LIB_SUBSETS" ticlib="$TICS_LIB_SUFFIX" termlib="$TINFO_LIB_SUFFIX" \
+			"$srcdir/$cf_dir/modules" >>$cf_dir/Makefile
+
+		for cf_subset in $cf_subsets
+		do
+			cf_subdirs=
+			for cf_item in $cf_LIST_MODELS
+			do
+
+			echo "Appending rules for ${cf_item} model (${cf_dir}: ${cf_subset})"
+
+cf_ITEM=`echo "$cf_item" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+			CXX_MODEL=$cf_ITEM
+			if test "$CXX_MODEL" = SHARED; then
+				case "$cf_cv_shlib_version" in
+				(cygdll|msysdll|mingw|msvcdll)
+					test "x$with_shared_cxx" = xno && test -n "$verbose" && echo "	overriding CXX_MODEL to SHARED" 1>&6
+
+echo "${as_me:-configure}:31063: testing overriding CXX_MODEL to SHARED ..." 1>&5
+
+					with_shared_cxx=yes
+					;;
+				(*)
+					test "x$with_shared_cxx" = xno && CXX_MODEL=NORMAL
+					;;
+				esac
+			fi
+
+	case X$cf_item in
+	(Xlibtool)
+		cf_suffix='.la'
+		cf_depsuf=$cf_suffix
+		;;
+	(Xdebug)
+		case "$cf_cv_system_name" in
+		(*-msvc*)
+			cf_suffix='_g.lib'
+			;;
+		(*)
+			cf_suffix='_g.a'
+			;;
+		esac
+		cf_depsuf=$cf_suffix
+		;;
+	(Xprofile)
+		case "$cf_cv_system_name" in
+		(*-msvc*)
+			cf_suffix='_p.lib'
+			;;
+		(*)
+			cf_suffix='_p.a'
+			;;
+		esac
+		cf_depsuf=$cf_suffix
+		;;
+	(Xshared)
+		case "$cf_cv_system_name" in
+		(aix[5-7]*)
+			cf_suffix='.so'
+			cf_depsuf=$cf_suffix
+			;;
+		(*-msvc*)
+			cf_suffix='.dll'
+			cf_depsuf='.dll.lib'
+			;;
+		(cygwin*|msys*|mingw*)
+			cf_suffix='.dll'
+			cf_depsuf='.dll.a'
+			;;
+		(darwin*)
+			cf_suffix='.dylib'
+			cf_depsuf=$cf_suffix
+			;;
+		(hpux*)
+			case "$target" in
+			(ia64*)
+				cf_suffix='.so'
+				cf_depsuf=$cf_suffix
+				;;
+			(*)
+				cf_suffix='.sl'
+				cf_depsuf=$cf_suffix
+				;;
+			esac
+			;;
+		(*)
+			cf_suffix='.so'
+			cf_depsuf=$cf_suffix
+			;;
+		esac
+		;;
+	(*)
+		case "$target" in
+		(*-msvc*)
+			cf_suffix='.lib'
+			;;
+		(*)
+			cf_suffix='.a'
+			;;
+		esac
+		cf_depsuf=$cf_suffix
+		;;
+	esac
+	if test -n "${LIB_SUFFIX}${EXTRA_SUFFIX}"
+	then
+		cf_suffix="${LIB_SUFFIX}${EXTRA_SUFFIX}${cf_suffix}"
+		cf_depsuf="${LIB_SUFFIX}${EXTRA_SUFFIX}${cf_depsuf}"
+	fi
+
+	case $cf_item in
+	(libtool) cf_subdir='obj_lo'  ;;
+	(normal)  cf_subdir='objects' ;;
+	(debug)   cf_subdir='obj_g' ;;
+	(profile) cf_subdir='obj_p' ;;
+	(shared)
+		case "$cf_cv_system_name" in
+		(cygwin|msys)
+			cf_subdir='objects' ;;
+		(*)
+			cf_subdir='obj_s' ;;
+		esac
+	esac
+
+			# Test for case where we build libtinfo with a different name.
+			cf_libname=$cf_dir
+			if test "$cf_dir" = ncurses ; then
+				case "$cf_subset" in
+				(*base*)
+					cf_libname=${cf_libname}$USE_LIB_SUFFIX
+					;;
+				(*termlib*)
+					cf_libname=$TINFO_LIB_SUFFIX
+					;;
+				(ticlib*)
+					cf_libname=$TICS_LIB_SUFFIX
+					;;
+				esac
+			elif test "$cf_dir" = c++ ; then
+
+cf_map_lib_basename=`echo "cxx" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+eval cf_libname="\$${cf_map_lib_basename}_NAME"
+
+				cf_libname=${cf_libname}$USE_LIB_SUFFIX
+			else
+
+cf_map_lib_basename=`echo "$cf_dir" | sed y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%`
+
+eval cf_libname="\$${cf_map_lib_basename}_NAME"
+
+				cf_libname=${cf_libname}$USE_LIB_SUFFIX
+			fi
+			if test -n "${USE_ARG_SUFFIX}" ; then
+				# undo $USE_LIB_SUFFIX add-on in CF_LIB_SUFFIX
+				cf_suffix=`echo "$cf_suffix" |sed -e "s%^${USE_LIB_SUFFIX}%%"`
+			fi
+
+			# These dependencies really are for development, not
+			# builds, but they are useful in porting, too.
+			cf_depend="../include/ncurses_cfg.h"
+			if test "$srcdir" = "."; then
+				cf_reldir="."
+			else
+				cf_reldir="\${srcdir}"
+			fi
+
+			if test -f "$srcdir/$cf_dir/$cf_dir.priv.h" ; then
+				cf_depend="$cf_depend $cf_reldir/$cf_dir.priv.h"
+			elif test -f "$srcdir/$cf_dir/curses.priv.h" ; then
+				cf_depend="$cf_depend $cf_reldir/curses.priv.h"
+			fi
+
+ 			cf_dir_suffix=
+ 			old_cf_suffix="$cf_suffix"
+ 			if test "$cf_cv_shlib_version_infix" = yes ; then
+			if test -n "$USE_LIB_SUFFIX" ; then
+				case "$USE_LIB_SUFFIX" in
+				(tw*)
+					cf_libname=`echo "$cf_libname" | sed 's/tw'$EXTRA_SUFFIX'$//'`
+					cf_suffix=`echo "$cf_suffix" | sed 's/^tw'$EXTRA_SUFFIX'//'`
+					cf_dir_suffix=tw$EXTRA_SUFFIX
+					;;
+				(t*)
+					cf_libname=`echo "$cf_libname" | sed 's/t'$EXTRA_SUFFIX'$//'`
+					cf_suffix=`echo "$cf_suffix" | sed 's/^t'$EXTRA_SUFFIX'//'`
+					cf_dir_suffix=t$EXTRA_SUFFIX
+					;;
+				(w*)
+					cf_libname=`echo "$cf_libname" | sed 's/w'$EXTRA_SUFFIX'$//'`
+					cf_suffix=`echo "$cf_suffix" | sed 's/^w'$EXTRA_SUFFIX'//'`
+					cf_dir_suffix=w$EXTRA_SUFFIX
+					;;
+				(*)
+					cf_libname=`echo "$cf_libname" | sed 's/'$EXTRA_SUFFIX'$//'`
+					cf_suffix=`echo "$cf_suffix" | sed 's/^'$EXTRA_SUFFIX'//'`
+					cf_dir_suffix=$EXTRA_SUFFIX
+					;;
+				esac
+			fi
+ 			fi
+
+			$AWK -f "$srcdir/mk-1st.awk" \
+				name=${cf_libname}${cf_dir_suffix} \
+				traces=$LIB_TRACING \
+				MODEL=$cf_ITEM \
+				CXX_MODEL=$CXX_MODEL \
+				LIB_SUFFIX=$LIB_SUFFIX \
+				USE_LIB_SUFFIX=$USE_LIB_SUFFIX \
+				make_phony="${cf_cv_make_PHONY:-no}" \
+				model=$cf_subdir \
+				prefix=$cf_prefix \
+				suffix=$cf_suffix \
+				subset=$cf_subset \
+				driver=$cf_cv_term_driver \
+				SymLink="$LN_S" \
+				TermlibRoot=$TINFO_NAME \
+				TermlibSuffix=$TINFO_SUFFIX \
+				ShlibVer=$cf_cv_shlib_version \
+				ShlibVerInfix=$cf_cv_shlib_version_infix \
+				ReLink=${cf_cv_do_relink:-no} \
+				ReRanlib=${cf_cv_do_reranlib:-yes} \
+				DoLinks=$cf_cv_do_symlinks \
+				rmSoLocs=$cf_cv_rm_so_locs \
+				ldconfig="$LDCONFIG" \
+				overwrite=$WITH_OVERWRITE \
+				depend="$cf_depend" \
+				host="$host" \
+				libtool_version="$LIBTOOL_VERSION" \
+				"$srcdir/$cf_dir/modules" >>$cf_dir/Makefile
+
+			cf_suffix="$old_cf_suffix"
+
+			for cf_subdir2 in $cf_subdirs lib
+			do
+				test "$cf_subdir" = "$cf_subdir2" && break
+			done
+			test "${cf_subset}.${cf_subdir2}" != "${cf_subset}.${cf_subdir}" && \
+			$AWK -f "$srcdir/mk-2nd.awk" \
+				name=$cf_dir \
+				traces=$LIB_TRACING \
+				MODEL=$cf_ITEM \
+				model=$cf_subdir \
+				subset=$cf_subset \
+				srcdir=$srcdir \
+				echo=$WITH_ECHO \
+				crenames=$cf_cv_prog_CC_c_o \
+				cxxrenames=$cf_cv_prog_CXX_c_o \
+				"$srcdir/$cf_dir/modules" >>$cf_dir/Makefile
+			cf_subdirs="$cf_subdirs $cf_subdir"
+			done
+		done
+	fi
+
+	echo '	( cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} $@ )' >>Makefile
+done
+
+echo >> Makefile
+echo '# generated by CF_LIB_RULES' >> Makefile
+
+if test "x$cf_cv_make_PHONY" = xyes ; then
+	cat >> Makefile <<-CF_EOF
+
+	.PHONY :	libs
+	.PHONY :	lintlib
+	.PHONY :	install.includes
+	.PHONY :	uninstall.includes
+	.PHONY :	install.libs
+	.PHONY :	uninstall.libs
+CF_EOF
+fi
+
+for cf_dir in $SRC_SUBDIRS
+do
+	if test ! -d "$srcdir/$cf_dir" ; then
+		continue
+	fi
+
+	if test -f "$cf_dir/Makefile" ; then
+		case "$cf_dir" in
+		(Ada95)
+			echo 'libs \' >> Makefile
+			echo 'install.libs \' >> Makefile
+			echo 'uninstall.libs ::' >> Makefile
+			echo '	( cd '$cf_dir' && ${MAKE} ${TOP_MFLAGS} $@ )' >> Makefile
+			;;
+		esac
+	fi
+
+	if test -f "$srcdir/$cf_dir/modules" ; then
+
+		if test "x$cf_cv_make_PHONY" = xyes ; then
+			cat >> Makefile <<-CF_EOF
+
+			.PHONY :	install.$cf_dir
+			.PHONY :	uninstall.$cf_dir
+CF_EOF
+		fi
+
+		echo >> Makefile
+		if test -f "$srcdir/$cf_dir/headers" ; then
+cat >> Makefile <<CF_EOF
+install.includes \\
+uninstall.includes \\
+CF_EOF
+		fi
+
+cat >> Makefile <<CF_EOF
+lint \\
+libs \\
+lintlib \\
+install.libs \\
+uninstall.libs \\
+install.$cf_dir \\
+uninstall.$cf_dir ::
+	( cd "$cf_dir" && \${MAKE} \${TOP_MFLAGS} \$@ )
+CF_EOF
+	elif test -f "$srcdir/$cf_dir/headers" ; then
+cat >> Makefile <<CF_EOF
+
+libs \\
+install.libs \\
+uninstall.libs \\
+install.includes \\
+uninstall.includes ::
+	( cd "$cf_dir" && \${MAKE} \${TOP_MFLAGS} \$@ )
+CF_EOF
+fi
+done
+
+if test "x$cf_cv_make_PHONY" = xyes ; then
+	cat >> Makefile <<-CF_EOF
+
+	.PHONY :	install.data
+	.PHONY :	uninstall.data
+CF_EOF
+fi
+
+if test "x$cf_with_db_install" = xyes; then
+cat >> Makefile <<CF_EOF
+
+install.libs uninstall.libs \\
+install.data uninstall.data ::
+$MAKE_TERMINFO	( cd misc && \${MAKE} \${TOP_MFLAGS} \$@ )
+CF_EOF
+else
+cat >> Makefile <<CF_EOF
+
+install.libs uninstall.libs ::
+	( cd misc && \${MAKE} \${TOP_MFLAGS} \$@ )
+CF_EOF
+fi
+
+if test "x$cf_with_manpages" = xyes; then
+
+if test "x$cf_cv_make_PHONY" = xyes ; then
+	cat >> Makefile <<-CF_EOF
+
+	.PHONY :	install.man
+	.PHONY :	uninstall.man
+CF_EOF
+fi
+
+cat >> Makefile <<CF_EOF
+
+install.man \\
+uninstall.man ::
+	( cd man && \${MAKE} \${TOP_MFLAGS} \$@ )
+CF_EOF
+fi
+
+cat >> Makefile <<CF_EOF
+
+distclean ::
+	rm -f config.cache config.log config.status Makefile include/ncurses_cfg.h
+	rm -f headers.sh headers.sed mk_shared_lib.sh
+	rm -f edit_man.* man_alias.* *.tmp
+	rm -rf \${DIRS_TO_MAKE}
+CF_EOF
+
+rm -f headers.sed headers.sh
+
+echo creating headers.sh
+cat >headers.sh <<CF_EOF
+#! $SHELL
+# This shell script is generated by the 'configure' script.  It is invoked in a
+# subdirectory of the build tree.  It generates a sed-script in the parent
+# directory that is used to adjust includes for header files that reside in a
+# subdirectory of /usr/include, etc.
+PRG=""
+while test \$# != 3
+do
+PRG="\$PRG \$1"; shift
+done
+DST=\$1
+REF=\$2
+SRC=\$3
+TMPSRC=\${TMPDIR:-/tmp}/\`basename \$SRC\`\$\$
+TMPSED=\${TMPDIR:-/tmp}/headers.sed\$\$
+echo installing \$SRC in \$DST
+CF_EOF
+
+if test "$WITH_CURSES_H" = yes; then
+	cat >>headers.sh <<CF_EOF
+case \$DST in
+(/*/include/*)
+	END=\`basename \$DST\`
+	for i in \`cat \$REF/../*/headers |${FGREP-fgrep} -v "#"\`
+	do
+		NAME=\`basename \$i\`
+		echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
+	done
+	;;
+(*)
+	echo "" >> \$TMPSED
+	;;
+esac
+CF_EOF
+
+else
+	cat >>headers.sh <<CF_EOF
+case \$DST in
+(/*/include/*)
+	END=\`basename \$DST\`
+	for i in \`cat \$REF/../*/headers |${FGREP-fgrep} -v "#"\`
+	do
+		NAME=\`basename \$i\`
+		if test "\$NAME" = "curses.h"
+		then
+			echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
+			NAME=ncurses.h
+		fi
+		echo "s/<\$NAME>/<\$END\/\$NAME>/" >> \$TMPSED
+	done
+	;;
+(*)
+	echo "s/<curses.h>/<ncurses.h>/" >> \$TMPSED
+	;;
+esac
+CF_EOF
+fi
+cat >>headers.sh <<CF_EOF
+rm -f \$TMPSRC
+sed -f \$TMPSED \$SRC > \$TMPSRC
+NAME=\`basename \$SRC\`
+CF_EOF
+if test "$WITH_CURSES_H" != yes; then
+	cat >>headers.sh <<CF_EOF
+test "\$NAME" = "curses.h" && NAME=ncurses.h
+CF_EOF
+fi
+cat >>headers.sh <<CF_EOF
+# Just in case someone gzip'd manpages, remove the conflicting copy.
+test -f \$DST/\$NAME.gz && rm -f \$DST/\$NAME.gz
+
+eval \$PRG \$TMPSRC \$DST/\$NAME
+rm -f \$TMPSRC \$TMPSED
+CF_EOF
+
+chmod 0755 headers.sh
+
+for cf_dir in $SRC_SUBDIRS
+do
+	if test ! -d "$srcdir/$cf_dir" ; then
+		continue
+	fi
+
+	if test -f "$srcdir/$cf_dir/headers" ; then
+		$AWK -f "$srcdir/mk-hdr.awk" \
+			subset="$LIB_SUBSETS" \
+			compat="$WITH_CURSES_H" \
+			"$srcdir/$cf_dir/headers" >>$cf_dir/Makefile
+	fi
+
+	if test -f "$srcdir/$cf_dir/modules" ; then
+		if test "$cf_dir" != "c++" ; then
+			if test "x$cf_cv_make_PHONY" = xyes ; then
+				cat >> $cf_dir/Makefile <<-CF_EOF
+
+				.PHONY :	depend
+CF_EOF
+			fi
+
+			cat >>$cf_dir/Makefile <<"CF_EOF"
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
+CF_EOF
+		fi
+	fi
+done
+
+if test "$MANPAGE_RENAMES" != no ; then
+	# Construct a sed-script to perform renaming within man-pages
+	test -n "$verbose" && echo "creating edit_man.sed"
+	test ! -d man && mkdir man
+	FGREP="${FGREP-grep -F}" $SHELL "$srcdir/man/make_sed.sh" "$MANPAGE_RENAMES" >./edit_man.sed
+fi
+
+if test "x$cf_with_ada" = "xyes" && test "x$cf_cv_prog_gnat_correct" = "xyes"; then
+if test -z "$USE_OLD_MAKERULES" ; then
+	$AWK -f "$srcdir/Ada95/mk-1st.awk" <"$srcdir/Ada95/src/modules" >>Ada95/src/Makefile
+fi
+fi
+ ;;
+  esac
+done
+
+{ (exit 0); exit 0; }
diff --git a/edit_man.sed b/edit_man.sed
new file mode 100644
index 0000000..0c79403
--- /dev/null
+++ b/edit_man.sed
@@ -0,0 +1,793 @@
+# This script was generated from '/home/micky387/Omni/external/libncurses/man/man_db.renames' by man/make_sed.sh.
+# Do the TH lines
+s/TH \<captoinfo 1M /TH captoinfo 1 /
+s/TH \<clear 1 /TH clear 1 /
+s/TH \<curs_add_wch 3X /TH add_wch 3NCURSES /
+s/TH \<curs_add_wchstr 3X /TH add_wchstr 3NCURSES /
+s/TH \<curs_addch 3X /TH addch 3NCURSES /
+s/TH \<curs_addchstr 3X /TH addchstr 3NCURSES /
+s/TH \<curs_addstr 3X /TH addstr 3NCURSES /
+s/TH \<curs_addwstr 3X /TH addwstr 3NCURSES /
+s/TH \<curs_attr 3X /TH attr 3NCURSES /
+s/TH \<curs_beep 3X /TH beep 3NCURSES /
+s/TH \<curs_bkgd 3X /TH bkgd 3NCURSES /
+s/TH \<curs_bkgrnd 3X /TH bkgrnd 3NCURSES /
+s/TH \<curs_border 3X /TH border 3NCURSES /
+s/TH \<curs_border_set 3X /TH border_set 3NCURSES /
+s/TH \<curs_clear 3X /TH clear 3NCURSES /
+s/TH \<curs_color 3X /TH color 3NCURSES /
+s/TH \<curs_delch 3X /TH delch 3NCURSES /
+s/TH \<curs_deleteln 3X /TH deleteln 3NCURSES /
+s/TH \<curs_extend 3X /TH extensions 3NCURSES /
+s/TH \<curs_get_wch 3X /TH get_wch 3NCURSES /
+s/TH \<curs_get_wstr 3X /TH get_wstr 3NCURSES /
+s/TH \<curs_getcchar 3X /TH getcchar 3NCURSES /
+s/TH \<curs_getch 3X /TH getch 3NCURSES /
+s/TH \<curs_getstr 3X /TH getstr 3NCURSES /
+s/TH \<curs_getyx 3X /TH getyx 3NCURSES /
+s/TH \<curs_in_wch 3X /TH in_wch 3NCURSES /
+s/TH \<curs_in_wchstr 3X /TH in_wchstr 3NCURSES /
+s/TH \<curs_inch 3X /TH inch 3NCURSES /
+s/TH \<curs_inchstr 3X /TH inchstr 3NCURSES /
+s/TH \<curs_initscr 3X /TH initscr 3NCURSES /
+s/TH \<curs_inopts 3X /TH inopts 3NCURSES /
+s/TH \<curs_ins_wch 3X /TH ins_wch 3NCURSES /
+s/TH \<curs_ins_wstr 3X /TH ins_wstr 3NCURSES /
+s/TH \<curs_insch 3X /TH insch 3NCURSES /
+s/TH \<curs_insstr 3X /TH insstr 3NCURSES /
+s/TH \<curs_instr 3X /TH instr 3NCURSES /
+s/TH \<curs_inwstr 3X /TH inwstr 3NCURSES /
+s/TH \<curs_kernel 3X /TH kernel 3NCURSES /
+s/TH \<curs_legacy 3X /TH legacy 3NCURSES /
+s/TH \<curs_memleaks 3X /TH memleaks 3NCURSES /
+s/TH \<curs_mouse 3X /TH mouse 3NCURSES /
+s/TH \<curs_move 3X /TH move 3NCURSES /
+s/TH \<curs_opaque 3X /TH opaque 3NCURSES /
+s/TH \<curs_outopts 3X /TH outopts 3NCURSES /
+s/TH \<curs_overlay 3X /TH overlay 3NCURSES /
+s/TH \<curs_pad 3X /TH pad 3NCURSES /
+s/TH \<curs_print 3X /TH print 3NCURSES /
+s/TH \<curs_printw 3X /TH printw 3NCURSES /
+s/TH \<curs_refresh 3X /TH refresh 3NCURSES /
+s/TH \<curs_scanw 3X /TH scanw 3NCURSES /
+s/TH \<curs_scr_dump 3X /TH scr_dump 3NCURSES /
+s/TH \<curs_scroll 3X /TH scroll 3NCURSES /
+s/TH \<curs_slk 3X /TH slk 3NCURSES /
+s/TH \<curs_sp_funcs 3X /TH sp_funcs 3NCURSES /
+s/TH \<curs_termattrs 3X /TH termattrs 3NCURSES /
+s/TH \<curs_termcap 3X /TH termcap 3NCURSES /
+s/TH \<curs_terminfo 3X /TH terminfo 3NCURSES /
+s/TH \<curs_threads 3X /TH threads 3NCURSES /
+s/TH \<curs_touch 3X /TH touch 3NCURSES /
+s/TH \<curs_trace 3X /TH trace 3NCURSES /
+s/TH \<curs_util 3X /TH util 3NCURSES /
+s/TH \<curs_variables 3X /TH curses_variables 3NCURSES /
+s/TH \<curs_window 3X /TH window 3NCURSES /
+s/TH \<curses 3X /TH ncurses 3NCURSES /
+s/TH \<default_colors 3X /TH default_colors 3NCURSES /
+s/TH \<define_key 3X /TH define_key 3NCURSES /
+s/TH \<form 3X /TH form 3FORM /
+s/TH \<form_cursor 3X /TH cursor 3FORM /
+s/TH \<form_data 3X /TH data 3FORM /
+s/TH \<form_driver 3X /TH driver 3FORM /
+s/TH \<form_field 3X /TH field 3FORM /
+s/TH \<form_field_attributes 3X /TH field_attributes 3FORM /
+s/TH \<form_field_buffer 3X /TH field_buffer 3FORM /
+s/TH \<form_field_info 3X /TH field_info 3FORM /
+s/TH \<form_field_just 3X /TH field_just 3FORM /
+s/TH \<form_field_new 3X /TH field_new 3FORM /
+s/TH \<form_field_opts 3X /TH field_opts 3FORM /
+s/TH \<form_field_userptr 3X /TH field_userptr 3FORM /
+s/TH \<form_field_validation 3X /TH field_validation 3FORM /
+s/TH \<form_fieldtype 3X /TH fieldtype 3FORM /
+s/TH \<form_hook 3X /TH hook 3FORM /
+s/TH \<form_new 3X /TH new 3FORM /
+s/TH \<form_new_page 3X /TH new_page 3FORM /
+s/TH \<form_opts 3X /TH opts 3FORM /
+s/TH \<form_page 3X /TH page 3FORM /
+s/TH \<form_post 3X /TH post 3FORM /
+s/TH \<form_requestname 3X /TH requestname 3FORM /
+s/TH \<form_userptr 3X /TH userptr 3FORM /
+s/TH \<form_variables 3X /TH form_variables 3FORM /
+s/TH \<form_win 3X /TH win 3FORM /
+s/TH \<infocmp 1M /TH infocmp 1 /
+s/TH \<infotocap 1M /TH infotocap 1 /
+s/TH \<key_defined 3X /TH key_defined 3NCURSES /
+s/TH \<keybound 3X /TH keybound 3NCURSES /
+s/TH \<keyok 3X /TH keyok 3NCURSES /
+s/TH \<legacy_coding 3X /TH legacy_coding 3NCURSES /
+s/TH \<menu 3X /TH menu 3MENU /
+s/TH \<menu_attributes 3X /TH attributes 3MENU /
+s/TH \<menu_cursor 3X /TH cursor 3MENU /
+s/TH \<menu_driver 3X /TH driver 3MENU /
+s/TH \<menu_format 3X /TH format 3MENU /
+s/TH \<menu_hook 3X /TH hook 3MENU /
+s/TH \<menu_items 3X /TH items 3MENU /
+s/TH \<menu_mark 3X /TH mark 3MENU /
+s/TH \<menu_new 3X /TH new 3MENU /
+s/TH \<menu_opts 3X /TH opts 3MENU /
+s/TH \<menu_pattern 3X /TH pattern 3MENU /
+s/TH \<menu_post 3X /TH post 3MENU /
+s/TH \<menu_requestname 3X /TH requestname 3MENU /
+s/TH \<menu_spacing 3X /TH spacing 3MENU /
+s/TH \<menu_userptr 3X /TH userptr 3MENU /
+s/TH \<menu_win 3X /TH win 3MENU /
+s/TH \<mitem_current 3X /TH menu_current 3MENU /
+s/TH \<mitem_name 3X /TH menu_name 3MENU /
+s/TH \<mitem_new 3X /TH menu_new 3MENU /
+s/TH \<mitem_opts 3X /TH menu_opts 3MENU /
+s/TH \<mitem_userptr 3X /TH menu_userptr 3MENU /
+s/TH \<mitem_value 3X /TH menu_value 3MENU /
+s/TH \<mitem_visible 3X /TH menu_visible 3MENU /
+s/TH \<ncurses 3X /TH ncurses 3NCURSES /
+s/TH \<new_pair 3X /TH new_pair 3NCURSES /
+s/TH \<panel 3X /TH panel 3NCURSES /
+s/TH \<printf 3S /TH printf 3 /
+s/TH \<putc 3S  /TH putc 3 /
+s/TH \<resizeterm 3X /TH resizeterm 3NCURSES /
+s/TH \<scanf 3S /TH scanf 3 /
+s/TH \<scr_dump 5 /TH scr_dump 5 /
+s/TH \<system 3S /TH system 3 /
+s/TH \<tabs 1 /TH tabs 1 /
+s/TH \<term 5 /TH term 5 /
+s/TH \<term 7 /TH term 7 /
+s/TH \<term_variables 3X /TH terminfo_variables 3NCURSES /
+s/TH \<terminfo 5 /TH terminfo 5 /
+s/TH \<tic 1M /TH tic 1 /
+s/TH \<toe 1M /TH toe 1 /
+s/TH \<tput 1 /TH tput 1 /
+s/TH \<tset 1 /TH tset 1 /
+s/TH \<user_caps 5 /TH user_caps 5 /
+s/TH \<wresize 3X /TH wresize 3NCURSES /
+s/TH \<add_wch 3X /TH add_wch 3NCURSES /
+s/TH \<addch 3X /TH addch 3NCURSES /
+s/TH \<assume_default_colors 3X /TH assume_default_colors 3NCURSES /
+s/TH \<attr_get 3X /TH attr_get 3NCURSES /
+s/TH \<attr_on 3X /TH attr_on 3NCURSES /
+s/TH \<attron 3X /TH attron 3NCURSES /
+s/TH \<baudrate 3X /TH baudrate 3NCURSES /
+s/TH \<bkgd 3X /TH bkgd 3NCURSES /
+s/TH \<bkgrnd 3X /TH bkgrnd 3NCURSES /
+s/TH \<cbreak 3X /TH cbreak 3NCURSES /
+s/TH \<clearok 3X /TH clearok 3NCURSES /
+s/TH \<clrtoeol 3X /TH clrtoeol 3NCURSES /
+s/TH \<curs_set 3X /TH curs_set 3NCURSES /
+s/TH \<curscr 3X /TH curscr 3NCURSES /
+s/TH \<curses_trace 3X /TH curses_trace 3NCURSES /
+s/TH \<def_prog_mode 3X /TH def_prog_mode 3NCURSES /
+s/TH \<def_shell_mode 3X /TH def_shell_mode 3NCURSES /
+s/TH \<del_curterm 3X /TH del_curterm 3NCURSES /
+s/TH \<delay_output 3X /TH delay_output 3NCURSES /
+s/TH \<delscreen 3X /TH delscreen 3NCURSES /
+s/TH \<derwin 3X /TH derwin 3NCURSES /
+s/TH \<doupdate 3X /TH doupdate 3NCURSES /
+s/TH \<echo 3X /TH echo 3NCURSES /
+s/TH \<endwin 3X /TH endwin 3NCURSES /
+s/TH \<extended_slk_color 3X /TH extended_slk_color 3NCURSES /
+s/TH \<filter 3X /TH filter 3NCURSES /
+s/TH \<flushinp 3X /TH flushinp 3NCURSES /
+s/TH \<get_wch 3X /TH get_wch 3NCURSES /
+s/TH \<getattr 3X /TH getattr 3NCURSES /
+s/TH \<getcchar 3X /TH getcchar 3NCURSES /
+s/TH \<getch 3X /TH getch 3NCURSES /
+s/TH \<getwin 3X /TH getwin 3NCURSES /
+s/TH \<halfdelay 3X /TH halfdelay 3NCURSES /
+s/TH \<has_key 3X /TH has_key 3NCURSES /
+s/TH \<idcok 3X /TH idcok 3NCURSES /
+s/TH \<idlok 3X /TH idlok 3NCURSES /
+s/TH \<immedok 3X /TH immedok 3NCURSES /
+s/TH \<in_wch 3X /TH in_wch 3NCURSES /
+s/TH \<inch 3X /TH inch 3NCURSES /
+s/TH \<initscr 3X /TH initscr 3NCURSES /
+s/TH \<is_scrollok 3X /TH is_scrollok 3NCURSES /
+s/TH \<keyname 3X /TH keyname 3NCURSES /
+s/TH \<keypad 3X /TH keypad 3NCURSES /
+s/TH \<leaveok 3X /TH leaveok 3NCURSES /
+s/TH \<longname 3X /TH longname 3NCURSES /
+s/TH \<meta 3X /TH meta 3NCURSES /
+s/TH \<move 3X /TH move 3NCURSES /
+s/TH \<mvcur 3X /TH mvcur 3NCURSES /
+s/TH \<mvwin 3X /TH mvwin 3NCURSES /
+s/TH \<newpad 3X /TH newpad 3NCURSES /
+s/TH \<newterm 3X /TH newterm 3NCURSES /
+s/TH \<newwin 3X /TH newwin 3NCURSES /
+s/TH \<nl 3X /TH nl 3NCURSES /
+s/TH \<nocbreak 3X /TH nocbreak 3NCURSES /
+s/TH \<nodelay 3X /TH nodelay 3NCURSES /
+s/TH \<nonl 3X /TH nonl 3NCURSES /
+s/TH \<notimeout 3X /TH notimeout 3NCURSES /
+s/TH \<pnoutrefresh 3X /TH pnoutrefresh 3NCURSES /
+s/TH \<prefresh 3X /TH prefresh 3NCURSES /
+s/TH \<printw 3X /TH printw 3NCURSES /
+s/TH \<putp 3X /TH putp 3NCURSES /
+s/TH \<putwin 3X /TH putwin 3NCURSES /
+s/TH \<raw 3X /TH raw 3NCURSES /
+s/TH \<refresh 3X /TH refresh 3NCURSES /
+s/TH \<reset_shell_mode 3X /TH reset_shell_mode 3NCURSES /
+s/TH \<restartterm 3X /TH restartterm 3NCURSES /
+s/TH \<ripoffline 3X /TH ripoffline 3NCURSES /
+s/TH \<scrollok 3X /TH scrollok 3NCURSES /
+s/TH \<set_curterm 3X /TH set_curterm 3NCURSES /
+s/TH \<set_term 3X /TH set_term 3NSES /
+s/TH \<setcchar 3X /TH setcchar 3NCURSES /
+s/TH \<setupterm 3X /TH setupterm 3NCURSES /
+s/TH \<slk_attr 3X /TH slk_attr 3NCURSES /
+s/TH \<slk_color 3X /TH slk_color 3NCURSES /
+s/TH \<slk_init 3X /TH slk_init 3NCURSES /
+s/TH \<slk_touch 3X /TH slk_touch 3NCURSES /
+s/TH \<start_color 3X /TH start_color 3NCURSES /
+s/TH \<subwin 3X /TH subwin 3NCURSES /
+s/TH \<syncok 3X /TH syncok 3NCURSES /
+s/TH \<terminfo 3X /TH terminfo 3NCURSES /
+s/TH \<tigetstr 3X /TH tigetstr 3NCURSES /
+s/TH \<touchline 3X /TH touchline 3NCURSES /
+s/TH \<touchwin 3X /TH touchwin 3NCURSES /
+s/TH \<tparm 3X /TH tparm 3NCURSES /
+s/TH \<tputs 3X /TH tputs 3NCURSES /
+s/TH \<trace 3X /TH trace 3NCURSES /
+s/TH \<unctrl 3X /TH unctrl 3NCURSES /
+s/TH \<use_default_colors 3X /TH use_default_colors 3NCURSES /
+s/TH \<use_env 3X /TH use_env 3NCURSES /
+s/TH \<use_extended_names 3X /TH use_extended_names 3NCURSES /
+s/TH \<use_legacy_coding 3X /TH use_legacy_coding 3NCURSES /
+s/TH \<use_tioctl 3X /TH use_tioctl 3NCURSES /
+s/TH \<vidputs 3X /TH vidputs 3NCURSES /
+s/TH \<wadd_wch 3X /TH wadd_wch 3NCURSES /
+s/TH \<waddch 3X /TH waddch 3NCURSES /
+s/TH \<waddstr 3X /TH waddstr 3NCURSES /
+s/TH \<waddwstr 3X /TH waddwstr 3NCURSES /
+s/TH \<wattr_set 3X /TH wattr_set 3NCURSES /
+s/TH \<wattrset 3X /TH wattrset 3NCURSES /
+s/TH \<wbkgdset 3X /TH wbkgdset 3NCURSES /
+s/TH \<wbkgrndset 3X /TH wbkgrndset 3NCURSES /
+s/TH \<wdelch 3X /TH wdelch 3NCURSES /
+s/TH \<wecho_wchar 3X /TH wecho_wchar 3NCURSES /
+s/TH \<wechochar 3X /TH wechochar 3NCURSES /
+s/TH \<wget_wch 3X /TH wget_wch 3NCURSES /
+s/TH \<wgetch 3X /TH wgetch 3NCURSES /
+s/TH \<wgetstr 3X /TH wgetstr 3NCURSES /
+s/TH \<winch 3X /TH winch 3NCURSES /
+s/TH \<wins_wch 3X /TH wins_wch 3NCURSES /
+s/TH \<winsch 3X /TH winsch 3NCURSES /
+s/TH \<wmove 3X /TH wmove 3NCURSES /
+s/TH \<wnoutrefresh 3X /TH wnoutrefresh 3NCURSES /
+s/TH \<wrefresh 3X /TH wrefresh 3NCURSES /
+s/TH \<wsetscrreg 3X /TH wsetscrreg 3NCURSES /
+s/TH \<wtimeout 3X /TH wtimeout 3NCURSES /
+s/TH \<getty 8 /TH getty 8 /
+s/TH \<scanf 3 /TH scanf 3 /
+s/TH \<ttys 5 /TH ttys 4 /
+s/TH \<system 3 /TH system 3 /
+s/TH \<regcomp 3X /TH regcomp 3 /
+s/TH \<regexec 3X /TH regexec 3 /
+s/TH \<vprintf 3 /TH vprintf 3 /
+s/TH \<adacursesw6-config 1 /TH adacursesw6-config 1 /
+s/TH \<ncursesw6-config 1 /TH ncursesw6-config 1 /
+# Do the embedded references
+s/\<fB\(\\%\)\?captoinfo\\fP(1M)/fB\\%captoinfo\\fP(1)/
+s/\<fB\(\\%\)\?clear\\fP(1)/fB\\%clear\\fP(1)/
+s/\<fB\(\\%\)\?curs_add_wch\\fP(3X)/fB\\%add_wch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_add_wchstr\\fP(3X)/fB\\%add_wchstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_addch\\fP(3X)/fB\\%addch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_addchstr\\fP(3X)/fB\\%addchstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_addstr\\fP(3X)/fB\\%addstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_addwstr\\fP(3X)/fB\\%addwstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_attr\\fP(3X)/fB\\%attr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_beep\\fP(3X)/fB\\%beep\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_bkgd\\fP(3X)/fB\\%bkgd\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_bkgrnd\\fP(3X)/fB\\%bkgrnd\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_border\\fP(3X)/fB\\%border\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_border_set\\fP(3X)/fB\\%border_set\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_clear\\fP(3X)/fB\\%clear\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_color\\fP(3X)/fB\\%color\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_delch\\fP(3X)/fB\\%delch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_deleteln\\fP(3X)/fB\\%deleteln\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_extend\\fP(3X)/fB\\%extensions\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_get_wch\\fP(3X)/fB\\%get_wch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_get_wstr\\fP(3X)/fB\\%get_wstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_getcchar\\fP(3X)/fB\\%getcchar\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_getch\\fP(3X)/fB\\%getch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_getstr\\fP(3X)/fB\\%getstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_getyx\\fP(3X)/fB\\%getyx\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_in_wch\\fP(3X)/fB\\%in_wch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_in_wchstr\\fP(3X)/fB\\%in_wchstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_inch\\fP(3X)/fB\\%inch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_inchstr\\fP(3X)/fB\\%inchstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_initscr\\fP(3X)/fB\\%initscr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_inopts\\fP(3X)/fB\\%inopts\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_ins_wch\\fP(3X)/fB\\%ins_wch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_ins_wstr\\fP(3X)/fB\\%ins_wstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_insch\\fP(3X)/fB\\%insch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_insstr\\fP(3X)/fB\\%insstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_instr\\fP(3X)/fB\\%instr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_inwstr\\fP(3X)/fB\\%inwstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_kernel\\fP(3X)/fB\\%kernel\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_legacy\\fP(3X)/fB\\%legacy\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_memleaks\\fP(3X)/fB\\%memleaks\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_mouse\\fP(3X)/fB\\%mouse\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_move\\fP(3X)/fB\\%move\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_opaque\\fP(3X)/fB\\%opaque\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_outopts\\fP(3X)/fB\\%outopts\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_overlay\\fP(3X)/fB\\%overlay\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_pad\\fP(3X)/fB\\%pad\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_print\\fP(3X)/fB\\%print\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_printw\\fP(3X)/fB\\%printw\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_refresh\\fP(3X)/fB\\%refresh\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_scanw\\fP(3X)/fB\\%scanw\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_scr_dump\\fP(3X)/fB\\%scr_dump\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_scroll\\fP(3X)/fB\\%scroll\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_slk\\fP(3X)/fB\\%slk\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_sp_funcs\\fP(3X)/fB\\%sp_funcs\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_termattrs\\fP(3X)/fB\\%termattrs\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_termcap\\fP(3X)/fB\\%termcap\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_terminfo\\fP(3X)/fB\\%terminfo\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_threads\\fP(3X)/fB\\%threads\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_touch\\fP(3X)/fB\\%touch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_trace\\fP(3X)/fB\\%trace\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_util\\fP(3X)/fB\\%util\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_variables\\fP(3X)/fB\\%curses_variables\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_window\\fP(3X)/fB\\%window\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curses\\fP(3X)/fB\\%ncurses\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?default_colors\\fP(3X)/fB\\%default_colors\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?define_key\\fP(3X)/fB\\%define_key\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?form\\fP(3X)/fB\\%form\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_cursor\\fP(3X)/fB\\%cursor\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_data\\fP(3X)/fB\\%data\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_driver\\fP(3X)/fB\\%driver\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_field\\fP(3X)/fB\\%field\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_field_attributes\\fP(3X)/fB\\%field_attributes\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_field_buffer\\fP(3X)/fB\\%field_buffer\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_field_info\\fP(3X)/fB\\%field_info\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_field_just\\fP(3X)/fB\\%field_just\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_field_new\\fP(3X)/fB\\%field_new\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_field_opts\\fP(3X)/fB\\%field_opts\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_field_userptr\\fP(3X)/fB\\%field_userptr\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_field_validation\\fP(3X)/fB\\%field_validation\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_fieldtype\\fP(3X)/fB\\%fieldtype\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_hook\\fP(3X)/fB\\%hook\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_new\\fP(3X)/fB\\%new\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_new_page\\fP(3X)/fB\\%new_page\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_opts\\fP(3X)/fB\\%opts\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_page\\fP(3X)/fB\\%page\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_post\\fP(3X)/fB\\%post\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_requestname\\fP(3X)/fB\\%requestname\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_userptr\\fP(3X)/fB\\%userptr\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_variables\\fP(3X)/fB\\%form_variables\\fP(3FORM)/
+s/\<fB\(\\%\)\?form_win\\fP(3X)/fB\\%win\\fP(3FORM)/
+s/\<fB\(\\%\)\?infocmp\\fP(1M)/fB\\%infocmp\\fP(1)/
+s/\<fB\(\\%\)\?infotocap\\fP(1M)/fB\\%infotocap\\fP(1)/
+s/\<fB\(\\%\)\?key_defined\\fP(3X)/fB\\%key_defined\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?keybound\\fP(3X)/fB\\%keybound\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?keyok\\fP(3X)/fB\\%keyok\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?legacy_coding\\fP(3X)/fB\\%legacy_coding\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?menu\\fP(3X)/fB\\%menu\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_attributes\\fP(3X)/fB\\%attributes\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_cursor\\fP(3X)/fB\\%cursor\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_driver\\fP(3X)/fB\\%driver\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_format\\fP(3X)/fB\\%format\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_hook\\fP(3X)/fB\\%hook\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_items\\fP(3X)/fB\\%items\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_mark\\fP(3X)/fB\\%mark\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_new\\fP(3X)/fB\\%new\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_opts\\fP(3X)/fB\\%opts\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_pattern\\fP(3X)/fB\\%pattern\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_post\\fP(3X)/fB\\%post\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_requestname\\fP(3X)/fB\\%requestname\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_spacing\\fP(3X)/fB\\%spacing\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_userptr\\fP(3X)/fB\\%userptr\\fP(3MENU)/
+s/\<fB\(\\%\)\?menu_win\\fP(3X)/fB\\%win\\fP(3MENU)/
+s/\<fB\(\\%\)\?mitem_current\\fP(3X)/fB\\%menu_current\\fP(3MENU)/
+s/\<fB\(\\%\)\?mitem_name\\fP(3X)/fB\\%menu_name\\fP(3MENU)/
+s/\<fB\(\\%\)\?mitem_new\\fP(3X)/fB\\%menu_new\\fP(3MENU)/
+s/\<fB\(\\%\)\?mitem_opts\\fP(3X)/fB\\%menu_opts\\fP(3MENU)/
+s/\<fB\(\\%\)\?mitem_userptr\\fP(3X)/fB\\%menu_userptr\\fP(3MENU)/
+s/\<fB\(\\%\)\?mitem_value\\fP(3X)/fB\\%menu_value\\fP(3MENU)/
+s/\<fB\(\\%\)\?mitem_visible\\fP(3X)/fB\\%menu_visible\\fP(3MENU)/
+s/\<fB\(\\%\)\?ncurses\\fP(3X)/fB\\%ncurses\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?new_pair\\fP(3X)/fB\\%new_pair\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?panel\\fP(3X)/fB\\%panel\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?printf\\fP(3S)/fB\\%printf\\fP(3)/
+s/\<fB\(\\%\)\?putc\\fP(3S )/fB\\%putc\\fP(3)/
+s/\<fB\(\\%\)\?resizeterm\\fP(3X)/fB\\%resizeterm\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?scanf\\fP(3S)/fB\\%scanf\\fP(3)/
+s/\<fB\(\\%\)\?scr_dump\\fP(5)/fB\\%scr_dump\\fP(5)/
+s/\<fB\(\\%\)\?system\\fP(3S)/fB\\%system\\fP(3)/
+s/\<fB\(\\%\)\?tabs\\fP(1)/fB\\%tabs\\fP(1)/
+s/\<fB\(\\%\)\?term\\fP(5)/fB\\%term\\fP(5)/
+s/\<fB\(\\%\)\?term\\fP(7)/fB\\%term\\fP(7)/
+s/\<fB\(\\%\)\?term_variables\\fP(3X)/fB\\%terminfo_variables\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?terminfo\\fP(5)/fB\\%terminfo\\fP(5)/
+s/\<fB\(\\%\)\?tic\\fP(1M)/fB\\%tic\\fP(1)/
+s/\<fB\(\\%\)\?toe\\fP(1M)/fB\\%toe\\fP(1)/
+s/\<fB\(\\%\)\?tput\\fP(1)/fB\\%tput\\fP(1)/
+s/\<fB\(\\%\)\?tset\\fP(1)/fB\\%tset\\fP(1)/
+s/\<fB\(\\%\)\?user_caps\\fP(5)/fB\\%user_caps\\fP(5)/
+s/\<fB\(\\%\)\?wresize\\fP(3X)/fB\\%wresize\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?add_wch\\fP(3X)/fB\\%add_wch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?addch\\fP(3X)/fB\\%addch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?assume_default_colors\\fP(3X)/fB\\%assume_default_colors\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?attr_get\\fP(3X)/fB\\%attr_get\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?attr_on\\fP(3X)/fB\\%attr_on\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?attron\\fP(3X)/fB\\%attron\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?baudrate\\fP(3X)/fB\\%baudrate\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?bkgd\\fP(3X)/fB\\%bkgd\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?bkgrnd\\fP(3X)/fB\\%bkgrnd\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?cbreak\\fP(3X)/fB\\%cbreak\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?clearok\\fP(3X)/fB\\%clearok\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?clrtoeol\\fP(3X)/fB\\%clrtoeol\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curs_set\\fP(3X)/fB\\%curs_set\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curscr\\fP(3X)/fB\\%curscr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?curses_trace\\fP(3X)/fB\\%curses_trace\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?def_prog_mode\\fP(3X)/fB\\%def_prog_mode\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?def_shell_mode\\fP(3X)/fB\\%def_shell_mode\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?del_curterm\\fP(3X)/fB\\%del_curterm\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?delay_output\\fP(3X)/fB\\%delay_output\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?delscreen\\fP(3X)/fB\\%delscreen\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?derwin\\fP(3X)/fB\\%derwin\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?doupdate\\fP(3X)/fB\\%doupdate\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?echo\\fP(3X)/fB\\%echo\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?endwin\\fP(3X)/fB\\%endwin\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?extended_slk_color\\fP(3X)/fB\\%extended_slk_color\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?filter\\fP(3X)/fB\\%filter\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?flushinp\\fP(3X)/fB\\%flushinp\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?get_wch\\fP(3X)/fB\\%get_wch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?getattr\\fP(3X)/fB\\%getattr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?getcchar\\fP(3X)/fB\\%getcchar\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?getch\\fP(3X)/fB\\%getch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?getwin\\fP(3X)/fB\\%getwin\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?halfdelay\\fP(3X)/fB\\%halfdelay\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?has_key\\fP(3X)/fB\\%has_key\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?idcok\\fP(3X)/fB\\%idcok\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?idlok\\fP(3X)/fB\\%idlok\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?immedok\\fP(3X)/fB\\%immedok\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?in_wch\\fP(3X)/fB\\%in_wch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?inch\\fP(3X)/fB\\%inch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?initscr\\fP(3X)/fB\\%initscr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?is_scrollok\\fP(3X)/fB\\%is_scrollok\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?keyname\\fP(3X)/fB\\%keyname\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?keypad\\fP(3X)/fB\\%keypad\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?leaveok\\fP(3X)/fB\\%leaveok\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?longname\\fP(3X)/fB\\%longname\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?meta\\fP(3X)/fB\\%meta\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?move\\fP(3X)/fB\\%move\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?mvcur\\fP(3X)/fB\\%mvcur\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?mvwin\\fP(3X)/fB\\%mvwin\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?newpad\\fP(3X)/fB\\%newpad\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?newterm\\fP(3X)/fB\\%newterm\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?newwin\\fP(3X)/fB\\%newwin\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?nl\\fP(3X)/fB\\%nl\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?nocbreak\\fP(3X)/fB\\%nocbreak\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?nodelay\\fP(3X)/fB\\%nodelay\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?nonl\\fP(3X)/fB\\%nonl\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?notimeout\\fP(3X)/fB\\%notimeout\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?pnoutrefresh\\fP(3X)/fB\\%pnoutrefresh\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?prefresh\\fP(3X)/fB\\%prefresh\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?printw\\fP(3X)/fB\\%printw\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?putp\\fP(3X)/fB\\%putp\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?putwin\\fP(3X)/fB\\%putwin\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?raw\\fP(3X)/fB\\%raw\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?refresh\\fP(3X)/fB\\%refresh\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?reset_shell_mode\\fP(3X)/fB\\%reset_shell_mode\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?restartterm\\fP(3X)/fB\\%restartterm\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?ripoffline\\fP(3X)/fB\\%ripoffline\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?scrollok\\fP(3X)/fB\\%scrollok\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?set_curterm\\fP(3X)/fB\\%set_curterm\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?set_term\\fP(3X)/fB\\%set_term\\fP(3NSES)/
+s/\<fB\(\\%\)\?setcchar\\fP(3X)/fB\\%setcchar\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?setupterm\\fP(3X)/fB\\%setupterm\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?slk_attr\\fP(3X)/fB\\%slk_attr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?slk_color\\fP(3X)/fB\\%slk_color\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?slk_init\\fP(3X)/fB\\%slk_init\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?slk_touch\\fP(3X)/fB\\%slk_touch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?start_color\\fP(3X)/fB\\%start_color\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?subwin\\fP(3X)/fB\\%subwin\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?syncok\\fP(3X)/fB\\%syncok\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?terminfo\\fP(3X)/fB\\%terminfo\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?tigetstr\\fP(3X)/fB\\%tigetstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?touchline\\fP(3X)/fB\\%touchline\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?touchwin\\fP(3X)/fB\\%touchwin\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?tparm\\fP(3X)/fB\\%tparm\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?tputs\\fP(3X)/fB\\%tputs\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?trace\\fP(3X)/fB\\%trace\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?unctrl\\fP(3X)/fB\\%unctrl\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?use_default_colors\\fP(3X)/fB\\%use_default_colors\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?use_env\\fP(3X)/fB\\%use_env\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?use_extended_names\\fP(3X)/fB\\%use_extended_names\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?use_legacy_coding\\fP(3X)/fB\\%use_legacy_coding\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?use_tioctl\\fP(3X)/fB\\%use_tioctl\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?vidputs\\fP(3X)/fB\\%vidputs\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wadd_wch\\fP(3X)/fB\\%wadd_wch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?waddch\\fP(3X)/fB\\%waddch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?waddstr\\fP(3X)/fB\\%waddstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?waddwstr\\fP(3X)/fB\\%waddwstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wattr_set\\fP(3X)/fB\\%wattr_set\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wattrset\\fP(3X)/fB\\%wattrset\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wbkgdset\\fP(3X)/fB\\%wbkgdset\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wbkgrndset\\fP(3X)/fB\\%wbkgrndset\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wdelch\\fP(3X)/fB\\%wdelch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wecho_wchar\\fP(3X)/fB\\%wecho_wchar\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wechochar\\fP(3X)/fB\\%wechochar\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wget_wch\\fP(3X)/fB\\%wget_wch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wgetch\\fP(3X)/fB\\%wgetch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wgetstr\\fP(3X)/fB\\%wgetstr\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?winch\\fP(3X)/fB\\%winch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wins_wch\\fP(3X)/fB\\%wins_wch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?winsch\\fP(3X)/fB\\%winsch\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wmove\\fP(3X)/fB\\%wmove\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wnoutrefresh\\fP(3X)/fB\\%wnoutrefresh\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wrefresh\\fP(3X)/fB\\%wrefresh\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wsetscrreg\\fP(3X)/fB\\%wsetscrreg\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?wtimeout\\fP(3X)/fB\\%wtimeout\\fP(3NCURSES)/
+s/\<fB\(\\%\)\?getty\\fP(8)/fB\\%getty\\fP(8)/
+s/\<fB\(\\%\)\?scanf\\fP(3)/fB\\%scanf\\fP(3)/
+s/\<fB\(\\%\)\?ttys\\fP(5)/fB\\%ttys\\fP(4)/
+s/\<fB\(\\%\)\?system\\fP(3)/fB\\%system\\fP(3)/
+s/\<fB\(\\%\)\?regcomp\\fP(3X)/fB\\%regcomp\\fP(3)/
+s/\<fB\(\\%\)\?regexec\\fP(3X)/fB\\%regexec\\fP(3)/
+s/\<fB\(\\%\)\?vprintf\\fP(3)/fB\\%vprintf\\fP(3)/
+s/\<fB\(\\%\)\?adacursesw6-config\\fP(1)/fB\\%adacursesw6-config\\fP(1)/
+s/\<fB\(\\%\)\?ncursesw6-config\\fP(1)/fB\\%ncursesw6-config\\fP(1)/
+# Do the \fBxxx\fP references in the .NAME section
+s/^\\fBcaptoinfo\\f[RP] -/\\fBcaptoinfo\\fP -/
+s/^\\fBclear\\f[RP] -/\\fBclear\\fP -/
+s/^\\fBcurs_add_wch\\f[RP] -/\\fBadd_wch\\fP -/
+s/^\\fBcurs_add_wchstr\\f[RP] -/\\fBadd_wchstr\\fP -/
+s/^\\fBcurs_addch\\f[RP] -/\\fBaddch\\fP -/
+s/^\\fBcurs_addchstr\\f[RP] -/\\fBaddchstr\\fP -/
+s/^\\fBcurs_addstr\\f[RP] -/\\fBaddstr\\fP -/
+s/^\\fBcurs_addwstr\\f[RP] -/\\fBaddwstr\\fP -/
+s/^\\fBcurs_attr\\f[RP] -/\\fBattr\\fP -/
+s/^\\fBcurs_beep\\f[RP] -/\\fBbeep\\fP -/
+s/^\\fBcurs_bkgd\\f[RP] -/\\fBbkgd\\fP -/
+s/^\\fBcurs_bkgrnd\\f[RP] -/\\fBbkgrnd\\fP -/
+s/^\\fBcurs_border\\f[RP] -/\\fBborder\\fP -/
+s/^\\fBcurs_border_set\\f[RP] -/\\fBborder_set\\fP -/
+s/^\\fBcurs_clear\\f[RP] -/\\fBclear\\fP -/
+s/^\\fBcurs_color\\f[RP] -/\\fBcolor\\fP -/
+s/^\\fBcurs_delch\\f[RP] -/\\fBdelch\\fP -/
+s/^\\fBcurs_deleteln\\f[RP] -/\\fBdeleteln\\fP -/
+s/^\\fBcurs_extend\\f[RP] -/\\fBextensions\\fP -/
+s/^\\fBcurs_get_wch\\f[RP] -/\\fBget_wch\\fP -/
+s/^\\fBcurs_get_wstr\\f[RP] -/\\fBget_wstr\\fP -/
+s/^\\fBcurs_getcchar\\f[RP] -/\\fBgetcchar\\fP -/
+s/^\\fBcurs_getch\\f[RP] -/\\fBgetch\\fP -/
+s/^\\fBcurs_getstr\\f[RP] -/\\fBgetstr\\fP -/
+s/^\\fBcurs_getyx\\f[RP] -/\\fBgetyx\\fP -/
+s/^\\fBcurs_in_wch\\f[RP] -/\\fBin_wch\\fP -/
+s/^\\fBcurs_in_wchstr\\f[RP] -/\\fBin_wchstr\\fP -/
+s/^\\fBcurs_inch\\f[RP] -/\\fBinch\\fP -/
+s/^\\fBcurs_inchstr\\f[RP] -/\\fBinchstr\\fP -/
+s/^\\fBcurs_initscr\\f[RP] -/\\fBinitscr\\fP -/
+s/^\\fBcurs_inopts\\f[RP] -/\\fBinopts\\fP -/
+s/^\\fBcurs_ins_wch\\f[RP] -/\\fBins_wch\\fP -/
+s/^\\fBcurs_ins_wstr\\f[RP] -/\\fBins_wstr\\fP -/
+s/^\\fBcurs_insch\\f[RP] -/\\fBinsch\\fP -/
+s/^\\fBcurs_insstr\\f[RP] -/\\fBinsstr\\fP -/
+s/^\\fBcurs_instr\\f[RP] -/\\fBinstr\\fP -/
+s/^\\fBcurs_inwstr\\f[RP] -/\\fBinwstr\\fP -/
+s/^\\fBcurs_kernel\\f[RP] -/\\fBkernel\\fP -/
+s/^\\fBcurs_legacy\\f[RP] -/\\fBlegacy\\fP -/
+s/^\\fBcurs_memleaks\\f[RP] -/\\fBmemleaks\\fP -/
+s/^\\fBcurs_mouse\\f[RP] -/\\fBmouse\\fP -/
+s/^\\fBcurs_move\\f[RP] -/\\fBmove\\fP -/
+s/^\\fBcurs_opaque\\f[RP] -/\\fBopaque\\fP -/
+s/^\\fBcurs_outopts\\f[RP] -/\\fBoutopts\\fP -/
+s/^\\fBcurs_overlay\\f[RP] -/\\fBoverlay\\fP -/
+s/^\\fBcurs_pad\\f[RP] -/\\fBpad\\fP -/
+s/^\\fBcurs_print\\f[RP] -/\\fBprint\\fP -/
+s/^\\fBcurs_printw\\f[RP] -/\\fBprintw\\fP -/
+s/^\\fBcurs_refresh\\f[RP] -/\\fBrefresh\\fP -/
+s/^\\fBcurs_scanw\\f[RP] -/\\fBscanw\\fP -/
+s/^\\fBcurs_scr_dump\\f[RP] -/\\fBscr_dump\\fP -/
+s/^\\fBcurs_scroll\\f[RP] -/\\fBscroll\\fP -/
+s/^\\fBcurs_slk\\f[RP] -/\\fBslk\\fP -/
+s/^\\fBcurs_sp_funcs\\f[RP] -/\\fBsp_funcs\\fP -/
+s/^\\fBcurs_termattrs\\f[RP] -/\\fBtermattrs\\fP -/
+s/^\\fBcurs_termcap\\f[RP] -/\\fBtermcap\\fP -/
+s/^\\fBcurs_terminfo\\f[RP] -/\\fBterminfo\\fP -/
+s/^\\fBcurs_threads\\f[RP] -/\\fBthreads\\fP -/
+s/^\\fBcurs_touch\\f[RP] -/\\fBtouch\\fP -/
+s/^\\fBcurs_trace\\f[RP] -/\\fBtrace\\fP -/
+s/^\\fBcurs_util\\f[RP] -/\\fButil\\fP -/
+s/^\\fBcurs_variables\\f[RP] -/\\fBcurses_variables\\fP -/
+s/^\\fBcurs_window\\f[RP] -/\\fBwindow\\fP -/
+s/^\\fBcurses\\f[RP] -/\\fBncurses\\fP -/
+s/^\\fBdefault_colors\\f[RP] -/\\fBdefault_colors\\fP -/
+s/^\\fBdefine_key\\f[RP] -/\\fBdefine_key\\fP -/
+s/^\\fBform\\f[RP] -/\\fBform\\fP -/
+s/^\\fBform_cursor\\f[RP] -/\\fBcursor\\fP -/
+s/^\\fBform_data\\f[RP] -/\\fBdata\\fP -/
+s/^\\fBform_driver\\f[RP] -/\\fBdriver\\fP -/
+s/^\\fBform_field\\f[RP] -/\\fBfield\\fP -/
+s/^\\fBform_field_attributes\\f[RP] -/\\fBfield_attributes\\fP -/
+s/^\\fBform_field_buffer\\f[RP] -/\\fBfield_buffer\\fP -/
+s/^\\fBform_field_info\\f[RP] -/\\fBfield_info\\fP -/
+s/^\\fBform_field_just\\f[RP] -/\\fBfield_just\\fP -/
+s/^\\fBform_field_new\\f[RP] -/\\fBfield_new\\fP -/
+s/^\\fBform_field_opts\\f[RP] -/\\fBfield_opts\\fP -/
+s/^\\fBform_field_userptr\\f[RP] -/\\fBfield_userptr\\fP -/
+s/^\\fBform_field_validation\\f[RP] -/\\fBfield_validation\\fP -/
+s/^\\fBform_fieldtype\\f[RP] -/\\fBfieldtype\\fP -/
+s/^\\fBform_hook\\f[RP] -/\\fBhook\\fP -/
+s/^\\fBform_new\\f[RP] -/\\fBnew\\fP -/
+s/^\\fBform_new_page\\f[RP] -/\\fBnew_page\\fP -/
+s/^\\fBform_opts\\f[RP] -/\\fBopts\\fP -/
+s/^\\fBform_page\\f[RP] -/\\fBpage\\fP -/
+s/^\\fBform_post\\f[RP] -/\\fBpost\\fP -/
+s/^\\fBform_requestname\\f[RP] -/\\fBrequestname\\fP -/
+s/^\\fBform_userptr\\f[RP] -/\\fBuserptr\\fP -/
+s/^\\fBform_variables\\f[RP] -/\\fBform_variables\\fP -/
+s/^\\fBform_win\\f[RP] -/\\fBwin\\fP -/
+s/^\\fBinfocmp\\f[RP] -/\\fBinfocmp\\fP -/
+s/^\\fBinfotocap\\f[RP] -/\\fBinfotocap\\fP -/
+s/^\\fBkey_defined\\f[RP] -/\\fBkey_defined\\fP -/
+s/^\\fBkeybound\\f[RP] -/\\fBkeybound\\fP -/
+s/^\\fBkeyok\\f[RP] -/\\fBkeyok\\fP -/
+s/^\\fBlegacy_coding\\f[RP] -/\\fBlegacy_coding\\fP -/
+s/^\\fBmenu\\f[RP] -/\\fBmenu\\fP -/
+s/^\\fBmenu_attributes\\f[RP] -/\\fBattributes\\fP -/
+s/^\\fBmenu_cursor\\f[RP] -/\\fBcursor\\fP -/
+s/^\\fBmenu_driver\\f[RP] -/\\fBdriver\\fP -/
+s/^\\fBmenu_format\\f[RP] -/\\fBformat\\fP -/
+s/^\\fBmenu_hook\\f[RP] -/\\fBhook\\fP -/
+s/^\\fBmenu_items\\f[RP] -/\\fBitems\\fP -/
+s/^\\fBmenu_mark\\f[RP] -/\\fBmark\\fP -/
+s/^\\fBmenu_new\\f[RP] -/\\fBnew\\fP -/
+s/^\\fBmenu_opts\\f[RP] -/\\fBopts\\fP -/
+s/^\\fBmenu_pattern\\f[RP] -/\\fBpattern\\fP -/
+s/^\\fBmenu_post\\f[RP] -/\\fBpost\\fP -/
+s/^\\fBmenu_requestname\\f[RP] -/\\fBrequestname\\fP -/
+s/^\\fBmenu_spacing\\f[RP] -/\\fBspacing\\fP -/
+s/^\\fBmenu_userptr\\f[RP] -/\\fBuserptr\\fP -/
+s/^\\fBmenu_win\\f[RP] -/\\fBwin\\fP -/
+s/^\\fBmitem_current\\f[RP] -/\\fBmenu_current\\fP -/
+s/^\\fBmitem_name\\f[RP] -/\\fBmenu_name\\fP -/
+s/^\\fBmitem_new\\f[RP] -/\\fBmenu_new\\fP -/
+s/^\\fBmitem_opts\\f[RP] -/\\fBmenu_opts\\fP -/
+s/^\\fBmitem_userptr\\f[RP] -/\\fBmenu_userptr\\fP -/
+s/^\\fBmitem_value\\f[RP] -/\\fBmenu_value\\fP -/
+s/^\\fBmitem_visible\\f[RP] -/\\fBmenu_visible\\fP -/
+s/^\\fBncurses\\f[RP] -/\\fBncurses\\fP -/
+s/^\\fBnew_pair\\f[RP] -/\\fBnew_pair\\fP -/
+s/^\\fBpanel\\f[RP] -/\\fBpanel\\fP -/
+s/^\\fBprintf\\f[RP] -/\\fBprintf\\fP -/
+s/^\\fBputc\\f[RP] -/\\fBputc\\fP -/
+s/^\\fBresizeterm\\f[RP] -/\\fBresizeterm\\fP -/
+s/^\\fBscanf\\f[RP] -/\\fBscanf\\fP -/
+s/^\\fBscr_dump\\f[RP] -/\\fBscr_dump\\fP -/
+s/^\\fBsystem\\f[RP] -/\\fBsystem\\fP -/
+s/^\\fBtabs\\f[RP] -/\\fBtabs\\fP -/
+s/^\\fBterm\\f[RP] -/\\fBterm\\fP -/
+s/^\\fBterm\\f[RP] -/\\fBterm\\fP -/
+s/^\\fBterm_variables\\f[RP] -/\\fBterminfo_variables\\fP -/
+s/^\\fBterminfo\\f[RP] -/\\fBterminfo\\fP -/
+s/^\\fBtic\\f[RP] -/\\fBtic\\fP -/
+s/^\\fBtoe\\f[RP] -/\\fBtoe\\fP -/
+s/^\\fBtput\\f[RP] -/\\fBtput\\fP -/
+s/^\\fBtset\\f[RP] -/\\fBtset\\fP -/
+s/^\\fBuser_caps\\f[RP] -/\\fBuser_caps\\fP -/
+s/^\\fBwresize\\f[RP] -/\\fBwresize\\fP -/
+s/^\\fBadd_wch\\f[RP] -/\\fBadd_wch\\fP -/
+s/^\\fBaddch\\f[RP] -/\\fBaddch\\fP -/
+s/^\\fBassume_default_colors\\f[RP] -/\\fBassume_default_colors\\fP -/
+s/^\\fBattr_get\\f[RP] -/\\fBattr_get\\fP -/
+s/^\\fBattr_on\\f[RP] -/\\fBattr_on\\fP -/
+s/^\\fBattron\\f[RP] -/\\fBattron\\fP -/
+s/^\\fBbaudrate\\f[RP] -/\\fBbaudrate\\fP -/
+s/^\\fBbkgd\\f[RP] -/\\fBbkgd\\fP -/
+s/^\\fBbkgrnd\\f[RP] -/\\fBbkgrnd\\fP -/
+s/^\\fBcbreak\\f[RP] -/\\fBcbreak\\fP -/
+s/^\\fBclearok\\f[RP] -/\\fBclearok\\fP -/
+s/^\\fBclrtoeol\\f[RP] -/\\fBclrtoeol\\fP -/
+s/^\\fBcurs_set\\f[RP] -/\\fBcurs_set\\fP -/
+s/^\\fBcurscr\\f[RP] -/\\fBcurscr\\fP -/
+s/^\\fBcurses_trace\\f[RP] -/\\fBcurses_trace\\fP -/
+s/^\\fBdef_prog_mode\\f[RP] -/\\fBdef_prog_mode\\fP -/
+s/^\\fBdef_shell_mode\\f[RP] -/\\fBdef_shell_mode\\fP -/
+s/^\\fBdel_curterm\\f[RP] -/\\fBdel_curterm\\fP -/
+s/^\\fBdelay_output\\f[RP] -/\\fBdelay_output\\fP -/
+s/^\\fBdelscreen\\f[RP] -/\\fBdelscreen\\fP -/
+s/^\\fBderwin\\f[RP] -/\\fBderwin\\fP -/
+s/^\\fBdoupdate\\f[RP] -/\\fBdoupdate\\fP -/
+s/^\\fBecho\\f[RP] -/\\fBecho\\fP -/
+s/^\\fBendwin\\f[RP] -/\\fBendwin\\fP -/
+s/^\\fBextended_slk_color\\f[RP] -/\\fBextended_slk_color\\fP -/
+s/^\\fBfilter\\f[RP] -/\\fBfilter\\fP -/
+s/^\\fBflushinp\\f[RP] -/\\fBflushinp\\fP -/
+s/^\\fBget_wch\\f[RP] -/\\fBget_wch\\fP -/
+s/^\\fBgetattr\\f[RP] -/\\fBgetattr\\fP -/
+s/^\\fBgetcchar\\f[RP] -/\\fBgetcchar\\fP -/
+s/^\\fBgetch\\f[RP] -/\\fBgetch\\fP -/
+s/^\\fBgetwin\\f[RP] -/\\fBgetwin\\fP -/
+s/^\\fBhalfdelay\\f[RP] -/\\fBhalfdelay\\fP -/
+s/^\\fBhas_key\\f[RP] -/\\fBhas_key\\fP -/
+s/^\\fBidcok\\f[RP] -/\\fBidcok\\fP -/
+s/^\\fBidlok\\f[RP] -/\\fBidlok\\fP -/
+s/^\\fBimmedok\\f[RP] -/\\fBimmedok\\fP -/
+s/^\\fBin_wch\\f[RP] -/\\fBin_wch\\fP -/
+s/^\\fBinch\\f[RP] -/\\fBinch\\fP -/
+s/^\\fBinitscr\\f[RP] -/\\fBinitscr\\fP -/
+s/^\\fBis_scrollok\\f[RP] -/\\fBis_scrollok\\fP -/
+s/^\\fBkeyname\\f[RP] -/\\fBkeyname\\fP -/
+s/^\\fBkeypad\\f[RP] -/\\fBkeypad\\fP -/
+s/^\\fBleaveok\\f[RP] -/\\fBleaveok\\fP -/
+s/^\\fBlongname\\f[RP] -/\\fBlongname\\fP -/
+s/^\\fBmeta\\f[RP] -/\\fBmeta\\fP -/
+s/^\\fBmove\\f[RP] -/\\fBmove\\fP -/
+s/^\\fBmvcur\\f[RP] -/\\fBmvcur\\fP -/
+s/^\\fBmvwin\\f[RP] -/\\fBmvwin\\fP -/
+s/^\\fBnewpad\\f[RP] -/\\fBnewpad\\fP -/
+s/^\\fBnewterm\\f[RP] -/\\fBnewterm\\fP -/
+s/^\\fBnewwin\\f[RP] -/\\fBnewwin\\fP -/
+s/^\\fBnl\\f[RP] -/\\fBnl\\fP -/
+s/^\\fBnocbreak\\f[RP] -/\\fBnocbreak\\fP -/
+s/^\\fBnodelay\\f[RP] -/\\fBnodelay\\fP -/
+s/^\\fBnonl\\f[RP] -/\\fBnonl\\fP -/
+s/^\\fBnotimeout\\f[RP] -/\\fBnotimeout\\fP -/
+s/^\\fBpnoutrefresh\\f[RP] -/\\fBpnoutrefresh\\fP -/
+s/^\\fBprefresh\\f[RP] -/\\fBprefresh\\fP -/
+s/^\\fBprintw\\f[RP] -/\\fBprintw\\fP -/
+s/^\\fBputp\\f[RP] -/\\fBputp\\fP -/
+s/^\\fBputwin\\f[RP] -/\\fBputwin\\fP -/
+s/^\\fBraw\\f[RP] -/\\fBraw\\fP -/
+s/^\\fBrefresh\\f[RP] -/\\fBrefresh\\fP -/
+s/^\\fBreset_shell_mode\\f[RP] -/\\fBreset_shell_mode\\fP -/
+s/^\\fBrestartterm\\f[RP] -/\\fBrestartterm\\fP -/
+s/^\\fBripoffline\\f[RP] -/\\fBripoffline\\fP -/
+s/^\\fBscrollok\\f[RP] -/\\fBscrollok\\fP -/
+s/^\\fBset_curterm\\f[RP] -/\\fBset_curterm\\fP -/
+s/^\\fBset_term\\f[RP] -/\\fBset_term\\fP -/
+s/^\\fBsetcchar\\f[RP] -/\\fBsetcchar\\fP -/
+s/^\\fBsetupterm\\f[RP] -/\\fBsetupterm\\fP -/
+s/^\\fBslk_attr\\f[RP] -/\\fBslk_attr\\fP -/
+s/^\\fBslk_color\\f[RP] -/\\fBslk_color\\fP -/
+s/^\\fBslk_init\\f[RP] -/\\fBslk_init\\fP -/
+s/^\\fBslk_touch\\f[RP] -/\\fBslk_touch\\fP -/
+s/^\\fBstart_color\\f[RP] -/\\fBstart_color\\fP -/
+s/^\\fBsubwin\\f[RP] -/\\fBsubwin\\fP -/
+s/^\\fBsyncok\\f[RP] -/\\fBsyncok\\fP -/
+s/^\\fBterminfo\\f[RP] -/\\fBterminfo\\fP -/
+s/^\\fBtigetstr\\f[RP] -/\\fBtigetstr\\fP -/
+s/^\\fBtouchline\\f[RP] -/\\fBtouchline\\fP -/
+s/^\\fBtouchwin\\f[RP] -/\\fBtouchwin\\fP -/
+s/^\\fBtparm\\f[RP] -/\\fBtparm\\fP -/
+s/^\\fBtputs\\f[RP] -/\\fBtputs\\fP -/
+s/^\\fBtrace\\f[RP] -/\\fBtrace\\fP -/
+s/^\\fBunctrl\\f[RP] -/\\fBunctrl\\fP -/
+s/^\\fBuse_default_colors\\f[RP] -/\\fBuse_default_colors\\fP -/
+s/^\\fBuse_env\\f[RP] -/\\fBuse_env\\fP -/
+s/^\\fBuse_extended_names\\f[RP] -/\\fBuse_extended_names\\fP -/
+s/^\\fBuse_legacy_coding\\f[RP] -/\\fBuse_legacy_coding\\fP -/
+s/^\\fBuse_tioctl\\f[RP] -/\\fBuse_tioctl\\fP -/
+s/^\\fBvidputs\\f[RP] -/\\fBvidputs\\fP -/
+s/^\\fBwadd_wch\\f[RP] -/\\fBwadd_wch\\fP -/
+s/^\\fBwaddch\\f[RP] -/\\fBwaddch\\fP -/
+s/^\\fBwaddstr\\f[RP] -/\\fBwaddstr\\fP -/
+s/^\\fBwaddwstr\\f[RP] -/\\fBwaddwstr\\fP -/
+s/^\\fBwattr_set\\f[RP] -/\\fBwattr_set\\fP -/
+s/^\\fBwattrset\\f[RP] -/\\fBwattrset\\fP -/
+s/^\\fBwbkgdset\\f[RP] -/\\fBwbkgdset\\fP -/
+s/^\\fBwbkgrndset\\f[RP] -/\\fBwbkgrndset\\fP -/
+s/^\\fBwdelch\\f[RP] -/\\fBwdelch\\fP -/
+s/^\\fBwecho_wchar\\f[RP] -/\\fBwecho_wchar\\fP -/
+s/^\\fBwechochar\\f[RP] -/\\fBwechochar\\fP -/
+s/^\\fBwget_wch\\f[RP] -/\\fBwget_wch\\fP -/
+s/^\\fBwgetch\\f[RP] -/\\fBwgetch\\fP -/
+s/^\\fBwgetstr\\f[RP] -/\\fBwgetstr\\fP -/
+s/^\\fBwinch\\f[RP] -/\\fBwinch\\fP -/
+s/^\\fBwins_wch\\f[RP] -/\\fBwins_wch\\fP -/
+s/^\\fBwinsch\\f[RP] -/\\fBwinsch\\fP -/
+s/^\\fBwmove\\f[RP] -/\\fBwmove\\fP -/
+s/^\\fBwnoutrefresh\\f[RP] -/\\fBwnoutrefresh\\fP -/
+s/^\\fBwrefresh\\f[RP] -/\\fBwrefresh\\fP -/
+s/^\\fBwsetscrreg\\f[RP] -/\\fBwsetscrreg\\fP -/
+s/^\\fBwtimeout\\f[RP] -/\\fBwtimeout\\fP -/
+s/^\\fBgetty\\f[RP] -/\\fBgetty\\fP -/
+s/^\\fBscanf\\f[RP] -/\\fBscanf\\fP -/
+s/^\\fBttys\\f[RP] -/\\fBttys\\fP -/
+s/^\\fBsystem\\f[RP] -/\\fBsystem\\fP -/
+s/^\\fBregcomp\\f[RP] -/\\fBregcomp\\fP -/
+s/^\\fBregexec\\f[RP] -/\\fBregexec\\fP -/
+s/^\\fBvprintf\\f[RP] -/\\fBvprintf\\fP -/
+s/^\\fBadacursesw6-config\\f[RP] -/\\fBadacursesw6-config\\fP -/
+s/^\\fBncursesw6-config\\f[RP] -/\\fBncursesw6-config\\fP -/
diff --git a/edit_man.sh b/edit_man.sh
new file mode 100755
index 0000000..1fc4772
--- /dev/null
+++ b/edit_man.sh
@@ -0,0 +1,205 @@
+#! /bin/sh
+# this script is generated by the configure-script CF_MAN_PAGES macro.
+
+prefix="/usr"
+datarootdir="${prefix}/share"
+datadir="${datarootdir}"
+
+NCURSES_MAJOR="6"
+NCURSES_MINOR="5"
+NCURSES_PATCH="20240427"
+
+NCURSES_OSPEED="short"
+TERMINFO="/system_ext/etc/terminfo"
+TERMINFO_DIRS="/system_ext/etc/terminfo"
+
+INSTALL="/usr/bin/install -c"
+INSTALL_DATA="${INSTALL} -m 644"
+
+transform="s,x,x,"
+
+TMP=${TMPDIR:=/tmp}/man$$
+trap "rm -f $TMP; exit 1" 1 2 3 15
+trap "rm -f $TMP" 0
+
+form=$1
+shift || exit 1
+
+verb=$1
+shift || exit 1
+
+mandir=$1
+shift || exit 1
+
+srcdir=$1
+top_srcdir=$srcdir/..
+shift || exit 1
+
+if test "$form" = normal ; then
+	if test "no" = yes ; then
+	if test "no" = no ; then
+		/bin/sh "$0" format "$verb" "$mandir" "$srcdir" "$@"
+		exit 0
+	fi
+	fi
+	cf_subdir=$mandir/man
+	cf_tables=no
+else
+	cf_subdir=$mandir/cat
+	cf_tables=yes
+fi
+
+# process the list of source-files
+for i in "$@" ; do
+case $i in
+(*.orig|*.rej) ;;
+(*.[0-9]*)
+	section=`expr "$i" : '.*\.\([0-9]\)[xm]*'`;
+	if test "$verb" = installing ; then
+	if test ! -d "$cf_subdir${section}" ; then
+		mkdir -p "$cf_subdir$section"
+	fi
+	fi
+
+	# replace variables in man page
+	if test ! -f "/home/micky387/Omni/external/libncurses/man_alias.sed" ; then
+cat >>/home/micky387/Omni/external/libncurses/man_alias.sed <<-CF_EOF2
+		s,@DATADIR@,$datadir,g
+		s,@TERMINFO@,${TERMINFO:="no default value"},g
+		s,@TERMINFO_DIRS@,${TERMINFO_DIRS:="no default value"},g
+		s,@NCURSES_MAJOR@,${NCURSES_MAJOR:="no default value"},g
+		s,@NCURSES_MINOR@,${NCURSES_MINOR:="no default value"},g
+		s,@NCURSES_PATCH@,${NCURSES_PATCH:="no default value"},g
+		s,@NCURSES_OSPEED@,${NCURSES_OSPEED:="no default value"},g
+s,@CAPTOINFO@,captoinfo,g
+s,@CLEAR@,clear,g
+s,@INFOCMP@,infocmp,g
+s,@INFOTOCAP@,infotocap,g
+s,@RESET@,reset,g
+s,@TABS@,tabs,g
+s,@TIC@,tic,g
+s,@TOE@,toe,g
+s,@TPUT@,tput,g
+s,@TSET@,tset,g
+CF_EOF2
+		echo "...made /home/micky387/Omni/external/libncurses/man_alias.sed"
+	fi
+
+	aliases=
+	cf_source=`basename "$i"`
+	cf_full_alias=$cf_source
+	test ! -f "$cf_full_alias" && cf_full_alias="$srcdir/$cf_full_alias"
+	if test ! -f "$cf_full_alias" ; then
+		echo ".. skipped $cf_source"
+		continue
+	fi
+	nCurses=ignore.3x
+	cf_part_alias=`echo $cf_full_alias| sed -e 's,^.*/,,'`
+	test "yes" = yes && nCurses=ncurses.3x
+	aliases=`sed -f "$top_srcdir/man/manlinks.sed" "$cf_full_alias" |sed -f "/home/micky387/Omni/external/libncurses/man_alias.sed" | sort -u; test "$cf_part_alias" = "$nCurses" && echo curses`
+	cf_target=`grep "^$cf_source" /home/micky387/Omni/external/libncurses/man/man_db.renames | mawk '{print $2}'`
+	if test -z "$cf_target" ; then
+		echo "? missing rename for $cf_source"
+		cf_target="$cf_source"
+	fi
+	cf_target="$cf_subdir${section}/${cf_target}"
+
+	sed	-f "/home/micky387/Omni/external/libncurses/man_alias.sed" \
+		< "$i" | sed -f /home/micky387/Omni/external/libncurses/edit_man.sed >$TMP
+if test $cf_tables = yes ; then
+	tbl $TMP >$TMP.out
+	mv $TMP.out $TMP
+fi
+	if test "$form" = format ; then
+		nroff -man $TMP >$TMP.out
+		mv $TMP.out $TMP
+	fi
+	if test "$verb" = installing ; then
+	if ( "gzip" -f $TMP )
+	then
+		mv $TMP.gz $TMP
+	fi
+	fi
+	cf_target="$cf_target.gz"
+	suffix=`basename "$cf_target" | sed -e 's%^[^.]*%%'`
+	extra_suffix=
+	if test -n "" ; then
+		case $cf_target in
+		(*$suffix)
+			extra_suffix=""
+			;;
+		esac
+	fi
+	if test "$verb" = installing ; then
+		echo "$verb $cf_target"
+		$INSTALL_DATA $TMP "$cf_target"
+		test -d "$cf_subdir${section}" &&
+		test -n "$aliases" && (
+			cd "$cf_subdir${section}" && (
+				cf_source=`echo "$cf_target" |sed -e 's%^.*/\([^/][^/]*/[^/][^/]*$\)%\1%'`
+				test -n "gz" && cf_source=`echo "$cf_source" |sed -e 's%\.gz$%%'`
+				cf_target=`basename "$cf_target"`
+				for cf_alias in $aliases
+				do
+					if test "$section" = 1 ; then
+						cf_alias=`echo "$cf_alias" |sed "${transform}"`
+					fi
+					cf_alias="${cf_alias}${extra_suffix}"
+
+					if test "yes" = yes ; then
+						if test -f "$cf_alias${suffix}" ; then
+							if ( cmp -s "$cf_target" "$cf_alias${suffix}" )
+							then
+								continue
+							fi
+						fi
+						echo ".. $verb alias $cf_alias${suffix}"
+						ln -s -f "$cf_target" "$cf_alias${suffix}"
+					elif test "$cf_target" != "$cf_alias${suffix}" ; then
+						echo ".so $cf_source" >$TMP
+						if test -n "gz" ; then
+							"gzip" -n -f $TMP
+							mv $TMP.gz $TMP
+						fi
+						echo ".. $verb alias $cf_alias${suffix}"
+						rm -f "$cf_alias${suffix}"
+						$INSTALL_DATA $TMP "$cf_alias${suffix}"
+					fi
+				done
+			)
+		)
+	elif test "$verb" = removing ; then
+		test -f "$cf_target" && (
+			echo "$verb $cf_target"
+			rm -f "$cf_target"
+		)
+		test -d "$cf_subdir${section}" &&
+		test -n "$aliases" && (
+			cd "$cf_subdir${section}" && (
+				for cf_alias in $aliases
+				do
+					if test "$section" = 1 ; then
+						cf_alias=`echo "$cf_alias" |sed "${transform}"`
+					fi
+					cf_alias="${cf_alias}${extra_suffix}"
+
+					echo ".. $verb alias $cf_alias${suffix}"
+					rm -f "$cf_alias${suffix}"
+				done
+			)
+		)
+	else
+#		echo ".hy 0"
+		cat $TMP
+	fi
+	;;
+esac
+done
+
+if test "no" = yes ; then
+if test "$form" != format ; then
+	/bin/sh "$0" format "$verb" "$mandir" "$srcdir" "$@"
+fi
+fi
+
+exit 0
diff --git a/form/Makefile b/form/Makefile
new file mode 100644
index 0000000..247c9c1
--- /dev/null
+++ b/form/Makefile
@@ -0,0 +1,894 @@
+# $Id: Makefile.in,v 1.72 2021/07/03 15:45:33 tom Exp $
+##############################################################################
+# Copyright 2020,2021 Thomas E. Dickey                                       #
+# Copyright 1998-2015,2018 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for form source code.
+#
+# This makes the following:
+#	libraries (normal/debug/profile/shared)
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+x		= 
+o		= .o
+
+MODEL		= normal
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /usr
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+includesubdir	= 
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncursesw
+
+LIBTOOL		= 
+LIBTOOL_OPTS	=  
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+LIBTOOL_INSTALL	= 
+LIBTOOL_UNINSTALL = 
+LT_UNDEF	= 
+
+INSTALL		= /usr/bin/install -c
+INSTALL_LIB	= /usr/bin/install -c -m 644 -p
+INSTALL_PROG	= ${INSTALL} -s
+INSTALL_DATA	= ${INSTALL} -m 644
+
+AR		= ar
+ARFLAGS		= -curvU
+AWK		= mawk
+LD		= ld
+LN_S		= ln -s -f
+
+CTAGS		= ctags
+ETAGS		= etags
+
+CC		= gcc
+CPP		= gcc -E
+CFLAGS		= -O2 --param max-inline-insns-single=1200 
+
+INCDIR		= $(top_srcdir)/include
+BASE_DIR 	= $(top_srcdir)/ncurses
+CPPFLAGS	= -I$(BASE_DIR) -DHAVE_CONFIG_H -DBUILDING_FORM -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS) -DNCURSES_STATIC
+CFLAGS_DEBUG	= $(CCFLAGS) -DNCURSES_STATIC -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -DNCURSES_STATIC -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+LINK		= $(LIBTOOL_LINK)
+LDFLAGS		=   
+
+SHLIB_DIRS	= -L../lib
+SHLIB_LIST	= $(SHLIB_DIRS) -lncursesw 
+
+RPATH_LIST	= ${libdir}
+RESULTING_SYMS	= 
+VERSIONED_SYMS	= 
+MK_SHARED_LIB	= ${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,`basename $@ .${REL_VERSION}`.${ABI_VERSION},-stats,-lc -o $@
+
+NCURSES_MAJOR	= 6
+NCURSES_MINOR	= 5
+REL_VERSION	= 6.5
+ABI_VERSION	= 6
+
+RANLIB		= ranlib
+
+LIBRARIES	=  ../lib/libformw.a ../lib/libformw_g.a
+
+LINT		= 
+LINT_OPTS	= 
+LINT_LIBS	= -lform -lncurses 
+
+AUTO_SRC	= \
+		../include/form.h
+
+################################################################################
+
+.PHONY :	all
+.PHONY :	clean
+.PHONY :	distclean
+.PHONY :	install
+.PHONY :	install.libs
+.PHONY :	libs
+.PHONY :	mostlyclean
+.PHONY :	realclean
+.PHONY :	sources
+.PHONY :	uninstall
+.PHONY :	uninstall.libs
+
+all \
+libs \
+install ::	$(AUTO_SRC) $(LIBRARIES)
+
+sources :	$(AUTO_SRC)
+
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(libdir) :
+	mkdir -p $@
+
+# make copies to simplify include-paths while still keeping form's include
+# file in this directory.
+../include/form.h : $(srcdir)/form.h
+	-rm -f $@
+	cp $(srcdir)/form.h $@
+
+HEADER_DEPS = \
+	../include/curses.h \
+	../include/eti.h \
+	../include/mf_common.h \
+	../include/ncurses_cfg.h \
+	../include/ncurses_def.h \
+	../include/ncurses_dll.h \
+	../include/term.h \
+	../include/unctrl.h \
+	$(BASE_DIR)/curses.priv.h \
+	$(BASE_DIR)/new_pair.h \
+	$(INCDIR)/nc_alloc.h \
+	$(INCDIR)/nc_panel.h \
+	$(INCDIR)/nc_string.h \
+	$(INCDIR)/nc_termios.h \
+	$(INCDIR)/nc_tparm.h \
+	$(INCDIR)/term_entry.h \
+	$(srcdir)/form.h \
+	$(srcdir)/form.priv.h
+
+tags:
+	$(CTAGS) *.[ch]
+
+TAGS:
+	$(ETAGS) *.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-rm -f $(AUTO_SRC)
+
+distclean :: clean
+	-rm -f Makefile
+	-rm -rf .libs *.dSYM
+
+realclean :: distclean
+
+../include/mf_common.h \
+../include/eti.h :
+	( cd ../menu && $(MAKE) $@ )
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	mawk 'BEGIN { skip = 1; last=""; } /deprecated in ABI6/ { next; }{ sub("NCURSES([WT]+)?", "&6"); } { if ( last != "" && ( skip == 0 || $$0 !~ /}/ ) ) { print last; } skip = 0; last = $$0; } END { print last; }' < "" >$@
+
+distclean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    formw
+#   subsets:    ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(srcdir)/f_trace.c \
+	$(srcdir)/fld_arg.c \
+	$(srcdir)/fld_attr.c \
+	$(srcdir)/fld_current.c \
+	$(srcdir)/fld_def.c \
+	$(srcdir)/fld_dup.c \
+	$(srcdir)/fld_ftchoice.c \
+	$(srcdir)/fld_ftlink.c \
+	$(srcdir)/fld_info.c \
+	$(srcdir)/fld_just.c \
+	$(srcdir)/fld_link.c \
+	$(srcdir)/fld_max.c \
+	$(srcdir)/fld_move.c \
+	$(srcdir)/fld_newftyp.c \
+	$(srcdir)/fld_opts.c \
+	$(srcdir)/fld_pad.c \
+	$(srcdir)/fld_page.c \
+	$(srcdir)/fld_stat.c \
+	$(srcdir)/fld_type.c \
+	$(srcdir)/fld_user.c \
+	$(srcdir)/frm_cursor.c \
+	$(srcdir)/frm_data.c \
+	$(srcdir)/frm_def.c \
+	$(srcdir)/frm_driver.c \
+	$(srcdir)/frm_hook.c \
+	$(srcdir)/frm_opts.c \
+	$(srcdir)/frm_page.c \
+	$(srcdir)/frm_post.c \
+	$(srcdir)/frm_req_name.c \
+	$(srcdir)/frm_scale.c \
+	$(srcdir)/frm_sub.c \
+	$(srcdir)/frm_user.c \
+	$(srcdir)/frm_win.c \
+	$(srcdir)/fty_alnum.c \
+	$(srcdir)/fty_alpha.c \
+	$(srcdir)/fty_enum.c \
+	$(srcdir)/fty_generic.c \
+	$(srcdir)/fty_int.c \
+	$(srcdir)/fty_ipv4.c \
+	$(srcdir)/fty_num.c \
+	$(srcdir)/fty_regex.c
+
+# Producing llib-lformw is time-consuming, so there's no direct-dependency for
+# it in the lintlib rule.  We'll only remove in the cleanest setup.
+
+FORMW_SRC = \
+	$(srcdir)/f_trace.c \
+	$(srcdir)/fld_arg.c \
+	$(srcdir)/fld_attr.c \
+	$(srcdir)/fld_current.c \
+	$(srcdir)/fld_def.c \
+	$(srcdir)/fld_dup.c \
+	$(srcdir)/fld_ftchoice.c \
+	$(srcdir)/fld_ftlink.c \
+	$(srcdir)/fld_info.c \
+	$(srcdir)/fld_just.c \
+	$(srcdir)/fld_link.c \
+	$(srcdir)/fld_max.c \
+	$(srcdir)/fld_move.c \
+	$(srcdir)/fld_newftyp.c \
+	$(srcdir)/fld_opts.c \
+	$(srcdir)/fld_pad.c \
+	$(srcdir)/fld_page.c \
+	$(srcdir)/fld_stat.c \
+	$(srcdir)/fld_type.c \
+	$(srcdir)/fld_user.c \
+	$(srcdir)/frm_cursor.c \
+	$(srcdir)/frm_data.c \
+	$(srcdir)/frm_def.c \
+	$(srcdir)/frm_driver.c \
+	$(srcdir)/frm_hook.c \
+	$(srcdir)/frm_opts.c \
+	$(srcdir)/frm_page.c \
+	$(srcdir)/frm_post.c \
+	$(srcdir)/frm_req_name.c \
+	$(srcdir)/frm_scale.c \
+	$(srcdir)/frm_sub.c \
+	$(srcdir)/frm_user.c \
+	$(srcdir)/frm_win.c \
+	$(srcdir)/fty_alnum.c \
+	$(srcdir)/fty_alpha.c \
+	$(srcdir)/fty_enum.c \
+	$(srcdir)/fty_generic.c \
+	$(srcdir)/fty_int.c \
+	$(srcdir)/fty_ipv4.c \
+	$(srcdir)/fty_num.c \
+	$(srcdir)/fty_regex.c
+
+clean ::
+	rm -f llib-lformw.*
+
+realclean ::
+	rm -f llib-lformw
+
+llib-lformw : $(FORMW_SRC)
+	cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(FORMW_SRC) >$@
+
+lintlib ::
+	sh $(srcdir)/../misc/makellib formw $(CPPFLAGS)
+
+lint ::
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(FORMW_SRC) $(LINT_LIBS)
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            formw
+#  traces:          DEBUG
+#  MODEL:           NORMAL
+#  CXX_MODEL:       NORMAL
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           objects
+#  prefix:          lib
+#  suffix:          .a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./form.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+NORMAL_OBJS = \
+	../objects/fld_arg$o \
+	../objects/fld_attr$o \
+	../objects/fld_current$o \
+	../objects/fld_def$o \
+	../objects/fld_dup$o \
+	../objects/fld_ftchoice$o \
+	../objects/fld_ftlink$o \
+	../objects/fld_info$o \
+	../objects/fld_just$o \
+	../objects/fld_link$o \
+	../objects/fld_max$o \
+	../objects/fld_move$o \
+	../objects/fld_newftyp$o \
+	../objects/fld_opts$o \
+	../objects/fld_pad$o \
+	../objects/fld_page$o \
+	../objects/fld_stat$o \
+	../objects/fld_type$o \
+	../objects/fld_user$o \
+	../objects/frm_cursor$o \
+	../objects/frm_data$o \
+	../objects/frm_def$o \
+	../objects/frm_driver$o \
+	../objects/frm_hook$o \
+	../objects/frm_opts$o \
+	../objects/frm_page$o \
+	../objects/frm_post$o \
+	../objects/frm_req_name$o \
+	../objects/frm_scale$o \
+	../objects/frm_sub$o \
+	../objects/frm_user$o \
+	../objects/frm_win$o \
+	../objects/fty_alnum$o \
+	../objects/fty_alpha$o \
+	../objects/fty_enum$o \
+	../objects/fty_generic$o \
+	../objects/fty_int$o \
+	../objects/fty_ipv4$o \
+	../objects/fty_num$o \
+	../objects/fty_regex$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./form.priv.h
+
+../lib/libformw.a : $(NORMAL_OBJS)
+	@sleep 1
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.formw :: $(DESTDIR)$(libdir) ../lib/libformw.a
+	@echo installing ../lib/libformw.a as $(DESTDIR)$(libdir)/libformw.a
+	$(INSTALL_DATA) ../lib/libformw.a $(DESTDIR)$(libdir)/libformw.a
+
+uninstall \
+uninstall.libs \
+uninstall.formw ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libformw.a
+	-@rm -f $(DESTDIR)$(libdir)/libformw.a
+
+clean ::
+	-rm -f ../lib/libformw.a
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/fld_arg$o :	$(srcdir)/fld_arg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_arg.c -o ../objects/fld_arg$o
+
+../objects/fld_attr$o :	$(srcdir)/fld_attr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_attr.c -o ../objects/fld_attr$o
+
+../objects/fld_current$o :	$(srcdir)/fld_current.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_current.c -o ../objects/fld_current$o
+
+../objects/fld_def$o :	$(srcdir)/fld_def.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_def.c -o ../objects/fld_def$o
+
+../objects/fld_dup$o :	$(srcdir)/fld_dup.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_dup.c -o ../objects/fld_dup$o
+
+../objects/fld_ftchoice$o :	$(srcdir)/fld_ftchoice.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_ftchoice.c -o ../objects/fld_ftchoice$o
+
+../objects/fld_ftlink$o :	$(srcdir)/fld_ftlink.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_ftlink.c -o ../objects/fld_ftlink$o
+
+../objects/fld_info$o :	$(srcdir)/fld_info.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_info.c -o ../objects/fld_info$o
+
+../objects/fld_just$o :	$(srcdir)/fld_just.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_just.c -o ../objects/fld_just$o
+
+../objects/fld_link$o :	$(srcdir)/fld_link.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_link.c -o ../objects/fld_link$o
+
+../objects/fld_max$o :	$(srcdir)/fld_max.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_max.c -o ../objects/fld_max$o
+
+../objects/fld_move$o :	$(srcdir)/fld_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_move.c -o ../objects/fld_move$o
+
+../objects/fld_newftyp$o :	$(srcdir)/fld_newftyp.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_newftyp.c -o ../objects/fld_newftyp$o
+
+../objects/fld_opts$o :	$(srcdir)/fld_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_opts.c -o ../objects/fld_opts$o
+
+../objects/fld_pad$o :	$(srcdir)/fld_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_pad.c -o ../objects/fld_pad$o
+
+../objects/fld_page$o :	$(srcdir)/fld_page.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_page.c -o ../objects/fld_page$o
+
+../objects/fld_stat$o :	$(srcdir)/fld_stat.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_stat.c -o ../objects/fld_stat$o
+
+../objects/fld_type$o :	$(srcdir)/fld_type.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_type.c -o ../objects/fld_type$o
+
+../objects/fld_user$o :	$(srcdir)/fld_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fld_user.c -o ../objects/fld_user$o
+
+../objects/frm_cursor$o :	$(srcdir)/frm_cursor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_cursor.c -o ../objects/frm_cursor$o
+
+../objects/frm_data$o :	$(srcdir)/frm_data.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_data.c -o ../objects/frm_data$o
+
+../objects/frm_def$o :	$(srcdir)/frm_def.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_def.c -o ../objects/frm_def$o
+
+../objects/frm_driver$o :	$(srcdir)/frm_driver.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_driver.c -o ../objects/frm_driver$o
+
+../objects/frm_hook$o :	$(srcdir)/frm_hook.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_hook.c -o ../objects/frm_hook$o
+
+../objects/frm_opts$o :	$(srcdir)/frm_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_opts.c -o ../objects/frm_opts$o
+
+../objects/frm_page$o :	$(srcdir)/frm_page.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_page.c -o ../objects/frm_page$o
+
+../objects/frm_post$o :	$(srcdir)/frm_post.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_post.c -o ../objects/frm_post$o
+
+../objects/frm_req_name$o :	$(srcdir)/frm_req_name.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_req_name.c -o ../objects/frm_req_name$o
+
+../objects/frm_scale$o :	$(srcdir)/frm_scale.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_scale.c -o ../objects/frm_scale$o
+
+../objects/frm_sub$o :	$(srcdir)/frm_sub.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_sub.c -o ../objects/frm_sub$o
+
+../objects/frm_user$o :	$(srcdir)/frm_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_user.c -o ../objects/frm_user$o
+
+../objects/frm_win$o :	$(srcdir)/frm_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/frm_win.c -o ../objects/frm_win$o
+
+../objects/fty_alnum$o :	$(srcdir)/fty_alnum.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_alnum.c -o ../objects/fty_alnum$o
+
+../objects/fty_alpha$o :	$(srcdir)/fty_alpha.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_alpha.c -o ../objects/fty_alpha$o
+
+../objects/fty_enum$o :	$(srcdir)/fty_enum.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_enum.c -o ../objects/fty_enum$o
+
+../objects/fty_generic$o :	$(srcdir)/fty_generic.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_generic.c -o ../objects/fty_generic$o
+
+../objects/fty_int$o :	$(srcdir)/fty_int.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_int.c -o ../objects/fty_int$o
+
+../objects/fty_ipv4$o :	$(srcdir)/fty_ipv4.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_ipv4.c -o ../objects/fty_ipv4$o
+
+../objects/fty_num$o :	$(srcdir)/fty_num.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_num.c -o ../objects/fty_num$o
+
+../objects/fty_regex$o :	$(srcdir)/fty_regex.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../form/fty_regex.c -o ../objects/fty_regex$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            formw
+#  traces:          DEBUG
+#  MODEL:           DEBUG
+#  CXX_MODEL:       DEBUG
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           obj_g
+#  prefix:          lib
+#  suffix:          _g.a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./form.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+DEBUG_OBJS = \
+	../obj_g/f_trace$o \
+	../obj_g/fld_arg$o \
+	../obj_g/fld_attr$o \
+	../obj_g/fld_current$o \
+	../obj_g/fld_def$o \
+	../obj_g/fld_dup$o \
+	../obj_g/fld_ftchoice$o \
+	../obj_g/fld_ftlink$o \
+	../obj_g/fld_info$o \
+	../obj_g/fld_just$o \
+	../obj_g/fld_link$o \
+	../obj_g/fld_max$o \
+	../obj_g/fld_move$o \
+	../obj_g/fld_newftyp$o \
+	../obj_g/fld_opts$o \
+	../obj_g/fld_pad$o \
+	../obj_g/fld_page$o \
+	../obj_g/fld_stat$o \
+	../obj_g/fld_type$o \
+	../obj_g/fld_user$o \
+	../obj_g/frm_cursor$o \
+	../obj_g/frm_data$o \
+	../obj_g/frm_def$o \
+	../obj_g/frm_driver$o \
+	../obj_g/frm_hook$o \
+	../obj_g/frm_opts$o \
+	../obj_g/frm_page$o \
+	../obj_g/frm_post$o \
+	../obj_g/frm_req_name$o \
+	../obj_g/frm_scale$o \
+	../obj_g/frm_sub$o \
+	../obj_g/frm_user$o \
+	../obj_g/frm_win$o \
+	../obj_g/fty_alnum$o \
+	../obj_g/fty_alpha$o \
+	../obj_g/fty_enum$o \
+	../obj_g/fty_generic$o \
+	../obj_g/fty_int$o \
+	../obj_g/fty_ipv4$o \
+	../obj_g/fty_num$o \
+	../obj_g/fty_regex$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./form.priv.h
+
+../lib/libformw_g.a : $(DEBUG_OBJS)
+	@sleep 1
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.formw :: $(DESTDIR)$(libdir) ../lib/libformw_g.a
+	@echo installing ../lib/libformw_g.a as $(DESTDIR)$(libdir)/libformw_g.a
+	$(INSTALL_DATA) ../lib/libformw_g.a $(DESTDIR)$(libdir)/libformw_g.a
+
+uninstall \
+uninstall.libs \
+uninstall.formw ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libformw_g.a
+	-@rm -f $(DESTDIR)$(libdir)/libformw_g.a
+
+clean ::
+	-rm -f ../lib/libformw_g.a
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/f_trace$o :	$(srcdir)/f_trace.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/f_trace.c -o ../obj_g/f_trace$o
+
+../obj_g/fld_arg$o :	$(srcdir)/fld_arg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_arg.c -o ../obj_g/fld_arg$o
+
+../obj_g/fld_attr$o :	$(srcdir)/fld_attr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_attr.c -o ../obj_g/fld_attr$o
+
+../obj_g/fld_current$o :	$(srcdir)/fld_current.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_current.c -o ../obj_g/fld_current$o
+
+../obj_g/fld_def$o :	$(srcdir)/fld_def.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_def.c -o ../obj_g/fld_def$o
+
+../obj_g/fld_dup$o :	$(srcdir)/fld_dup.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_dup.c -o ../obj_g/fld_dup$o
+
+../obj_g/fld_ftchoice$o :	$(srcdir)/fld_ftchoice.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_ftchoice.c -o ../obj_g/fld_ftchoice$o
+
+../obj_g/fld_ftlink$o :	$(srcdir)/fld_ftlink.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_ftlink.c -o ../obj_g/fld_ftlink$o
+
+../obj_g/fld_info$o :	$(srcdir)/fld_info.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_info.c -o ../obj_g/fld_info$o
+
+../obj_g/fld_just$o :	$(srcdir)/fld_just.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_just.c -o ../obj_g/fld_just$o
+
+../obj_g/fld_link$o :	$(srcdir)/fld_link.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_link.c -o ../obj_g/fld_link$o
+
+../obj_g/fld_max$o :	$(srcdir)/fld_max.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_max.c -o ../obj_g/fld_max$o
+
+../obj_g/fld_move$o :	$(srcdir)/fld_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_move.c -o ../obj_g/fld_move$o
+
+../obj_g/fld_newftyp$o :	$(srcdir)/fld_newftyp.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_newftyp.c -o ../obj_g/fld_newftyp$o
+
+../obj_g/fld_opts$o :	$(srcdir)/fld_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_opts.c -o ../obj_g/fld_opts$o
+
+../obj_g/fld_pad$o :	$(srcdir)/fld_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_pad.c -o ../obj_g/fld_pad$o
+
+../obj_g/fld_page$o :	$(srcdir)/fld_page.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_page.c -o ../obj_g/fld_page$o
+
+../obj_g/fld_stat$o :	$(srcdir)/fld_stat.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_stat.c -o ../obj_g/fld_stat$o
+
+../obj_g/fld_type$o :	$(srcdir)/fld_type.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_type.c -o ../obj_g/fld_type$o
+
+../obj_g/fld_user$o :	$(srcdir)/fld_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fld_user.c -o ../obj_g/fld_user$o
+
+../obj_g/frm_cursor$o :	$(srcdir)/frm_cursor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_cursor.c -o ../obj_g/frm_cursor$o
+
+../obj_g/frm_data$o :	$(srcdir)/frm_data.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_data.c -o ../obj_g/frm_data$o
+
+../obj_g/frm_def$o :	$(srcdir)/frm_def.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_def.c -o ../obj_g/frm_def$o
+
+../obj_g/frm_driver$o :	$(srcdir)/frm_driver.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_driver.c -o ../obj_g/frm_driver$o
+
+../obj_g/frm_hook$o :	$(srcdir)/frm_hook.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_hook.c -o ../obj_g/frm_hook$o
+
+../obj_g/frm_opts$o :	$(srcdir)/frm_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_opts.c -o ../obj_g/frm_opts$o
+
+../obj_g/frm_page$o :	$(srcdir)/frm_page.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_page.c -o ../obj_g/frm_page$o
+
+../obj_g/frm_post$o :	$(srcdir)/frm_post.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_post.c -o ../obj_g/frm_post$o
+
+../obj_g/frm_req_name$o :	$(srcdir)/frm_req_name.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_req_name.c -o ../obj_g/frm_req_name$o
+
+../obj_g/frm_scale$o :	$(srcdir)/frm_scale.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_scale.c -o ../obj_g/frm_scale$o
+
+../obj_g/frm_sub$o :	$(srcdir)/frm_sub.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_sub.c -o ../obj_g/frm_sub$o
+
+../obj_g/frm_user$o :	$(srcdir)/frm_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_user.c -o ../obj_g/frm_user$o
+
+../obj_g/frm_win$o :	$(srcdir)/frm_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/frm_win.c -o ../obj_g/frm_win$o
+
+../obj_g/fty_alnum$o :	$(srcdir)/fty_alnum.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_alnum.c -o ../obj_g/fty_alnum$o
+
+../obj_g/fty_alpha$o :	$(srcdir)/fty_alpha.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_alpha.c -o ../obj_g/fty_alpha$o
+
+../obj_g/fty_enum$o :	$(srcdir)/fty_enum.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_enum.c -o ../obj_g/fty_enum$o
+
+../obj_g/fty_generic$o :	$(srcdir)/fty_generic.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_generic.c -o ../obj_g/fty_generic$o
+
+../obj_g/fty_int$o :	$(srcdir)/fty_int.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_int.c -o ../obj_g/fty_int$o
+
+../obj_g/fty_ipv4$o :	$(srcdir)/fty_ipv4.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_ipv4.c -o ../obj_g/fty_ipv4$o
+
+../obj_g/fty_num$o :	$(srcdir)/fty_num.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_num.c -o ../obj_g/fty_num$o
+
+../obj_g/fty_regex$o :	$(srcdir)/fty_regex.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../form/fty_regex.c -o ../obj_g/fty_regex$o
+
+
+# generated by mk-hdr.awk
+#  subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  compat:     yes
+
+${INCLUDEDIR} :
+	mkdir -p $@
+
+install \
+install.libs \
+install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \
+		$(srcdir)/form.h
+	@ (cd ${INCLUDEDIR} && rm -f form.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/form.h
+
+uninstall \
+uninstall.libs \
+uninstall.includes ::
+	-@ (cd ${INCLUDEDIR} && rm -f form.h)
+
+.PHONY :	depend
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/headers.sh b/headers.sh
new file mode 100755
index 0000000..a612e56
--- /dev/null
+++ b/headers.sh
@@ -0,0 +1,37 @@
+#! /bin/sh
+# This shell script is generated by the 'configure' script.  It is invoked in a
+# subdirectory of the build tree.  It generates a sed-script in the parent
+# directory that is used to adjust includes for header files that reside in a
+# subdirectory of /usr/include, etc.
+PRG=""
+while test $# != 3
+do
+PRG="$PRG $1"; shift
+done
+DST=$1
+REF=$2
+SRC=$3
+TMPSRC=${TMPDIR:-/tmp}/`basename $SRC`$$
+TMPSED=${TMPDIR:-/tmp}/headers.sed$$
+echo installing $SRC in $DST
+case $DST in
+(/*/include/*)
+	END=`basename $DST`
+	for i in `cat $REF/../*/headers |grep -F -v "#"`
+	do
+		NAME=`basename $i`
+		echo "s/<$NAME>/<$END\/$NAME>/" >> $TMPSED
+	done
+	;;
+(*)
+	echo "" >> $TMPSED
+	;;
+esac
+rm -f $TMPSRC
+sed -f $TMPSED $SRC > $TMPSRC
+NAME=`basename $SRC`
+# Just in case someone gzip'd manpages, remove the conflicting copy.
+test -f $DST/$NAME.gz && rm -f $DST/$NAME.gz
+
+eval $PRG $TMPSRC $DST/$NAME
+rm -f $TMPSRC $TMPSED
diff --git a/include/MKterm.h.awk b/include/MKterm.h.awk
new file mode 100644
index 0000000..1fbe883
--- /dev/null
+++ b/include/MKterm.h.awk
@@ -0,0 +1,413 @@
+# vile:awkmode
+function declare_termtype(number,suffix) {
+	printf "typedef struct termtype%s {	/* in-core form of terminfo data */\n", suffix;
+	print  "    char  *term_names;		/* str_table offset of term names */"
+	print  "    char  *str_table;		/* pointer to string table */"
+	print  "    NCURSES_SBOOL  *Booleans;	/* array of boolean values */"
+	printf "    %-5s *Numbers;		/* array of integer values */\n", number;
+	print  "    char  **Strings;		/* array of string offsets */"
+	print  ""
+	print  "#if NCURSES_XNAMES"
+	print  "    char  *ext_str_table;	/* pointer to extended string table */"
+	print  "    char  **ext_Names;		/* corresponding names */"
+	print  ""
+	print  "    unsigned short num_Booleans;/* count total Booleans */";
+	print  "    unsigned short num_Numbers;	/* count total Numbers */";
+	print  "    unsigned short num_Strings;	/* count total Strings */";
+	print  ""
+	print  "    unsigned short ext_Booleans;/* count extensions to Booleans */";
+	print  "    unsigned short ext_Numbers;	/* count extensions to Numbers */";
+	print  "    unsigned short ext_Strings;	/* count extensions to Strings */";
+	print  "#endif /* NCURSES_XNAMES */"
+	print  ""
+	printf "} TERMTYPE%s;\n", suffix;
+}
+BEGIN {
+	lcurl = "{";
+	rcurl = "}";
+	print  "/****************************************************************************"
+	print  " * Copyright 2018-2021,2023 Thomas E. Dickey                                *"
+	print  " * Copyright 1998-2013,2017 Free Software Foundation, Inc.                  *"
+	print  " *                                                                          *"
+	print  " * Permission is hereby granted, free of charge, to any person obtaining a  *"
+	print  " * copy of this software and associated documentation files (the            *"
+	print  " * \"Software\"), to deal in the Software without restriction, including      *"
+	print  " * without limitation the rights to use, copy, modify, merge, publish,      *"
+	print  " * distribute, distribute with modifications, sublicense, and/or sell       *"
+	print  " * copies of the Software, and to permit persons to whom the Software is    *"
+	print  " * furnished to do so, subject to the following conditions:                 *"
+	print  " *                                                                          *"
+	print  " * The above copyright notice and this permission notice shall be included  *"
+	print  " * in all copies or substantial portions of the Software.                   *"
+	print  " *                                                                          *"
+	print  " * THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *"
+	print  " * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *"
+	print  " * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *"
+	print  " * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *"
+	print  " * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *"
+	print  " * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *"
+	print  " * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *"
+	print  " *                                                                          *"
+	print  " * Except as contained in this notice, the name(s) of the above copyright   *"
+	print  " * holders shall not be used in advertising or otherwise to promote the     *"
+	print  " * sale, use or other dealings in this Software without prior written       *"
+	print  " * authorization.                                                           *"
+	print  " ****************************************************************************/"
+	print  ""
+	print  "/****************************************************************************/"
+	print  "/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995                */"
+	print  "/*    and: Eric S. Raymond <esr@snark.thyrsus.com>                          */"
+	print  "/*    and: Thomas E. Dickey                        1995-on                  */"
+	print  "/****************************************************************************/"
+	print  ""
+	print  "/* $Id: MKterm.h.awk.in,v 1.85 2023/04/23 19:15:36 tom Exp $ */"
+	print  ""
+	print  "/*"
+	print  "**	term.h -- Definition of struct term"
+	print  "*/"
+	print  ""
+	print  "#ifndef NCURSES_TERM_H_incl"
+	print  "#define NCURSES_TERM_H_incl 1"
+	print  ""
+	print  "#undef  NCURSES_VERSION"
+	print  "#define NCURSES_VERSION \"6.5\""
+	print  ""
+	print  "#include <ncurses_dll.h>"
+	print  ""
+	print  "#ifdef __cplusplus"
+	printf "extern \"C\" %s\n", lcurl;
+	print  "#endif"
+	print  ""
+	print  "/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H"
+	print  " * definition (based on the system for which this was configured)."
+	print  " */"
+	print  ""
+	print  "#ifndef __NCURSES_H"
+	print  ""
+	print  "typedef struct screen  SCREEN;"
+	print  ""
+	print  "#if 1"
+	print  "#undef  NCURSES_SP_FUNCS"
+	print  "#define NCURSES_SP_FUNCS 20240427"
+	print  "#undef  NCURSES_SP_NAME"
+	print  "#define NCURSES_SP_NAME(name) name##_sp"
+	print  ""
+	print  "/* Define the sp-funcs helper function */"
+	print  "#undef  NCURSES_SP_OUTC"
+	print  "#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)"
+	print  "typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);"
+	print  "#endif"
+	print  ""
+	print  "#endif /* __NCURSES_H */"
+	print  ""
+	print  "#undef  NCURSES_CONST"
+	print  "#define NCURSES_CONST const"
+	print  ""
+	print  "#undef  NCURSES_SBOOL"
+	print  "#define NCURSES_SBOOL char"
+	print  ""
+	print  "#undef  NCURSES_USE_DATABASE"
+	print  "#define NCURSES_USE_DATABASE 1"
+	print  ""
+	print  "#undef  NCURSES_USE_TERMCAP"
+	print  "#define NCURSES_USE_TERMCAP 0"
+	print  ""
+	print  "#undef  NCURSES_XNAMES"
+	print  "#define NCURSES_XNAMES 1"
+	print  ""
+	print  "/* We will use these symbols to hide differences between"
+	print  " * termios/termio/sgttyb interfaces."
+	print  " */"
+	print  "#undef  TTY"
+	print  "#undef  SET_TTY"
+	print  "#undef  GET_TTY"
+	print  ""
+	print  "/* Assume POSIX termio if we have the header and function */"
+	print  "/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */"
+	print  "#if 1 && 1"
+	print  ""
+	print  "#undef  TERMIOS"
+	print  "#define TERMIOS 1"
+	print  ""
+	print  "#include <termios.h>"
+	print  "#define TTY struct termios"
+	print  ""
+	print  "#else /* !HAVE_TERMIOS_H */"
+	print  ""
+	print  "/* #if HAVE_TERMIO_H */"
+	print  "#if 1"
+	print  ""
+	print  "#undef  TERMIOS"
+	print  "#define TERMIOS 1"
+	print  ""
+	print  "#include <termio.h>"
+	print  "#define TTY struct termio"
+	print  ""
+	print  "#else /* !HAVE_TERMIO_H */"
+	print  ""
+	print  "#if (defined(_WIN32) || defined(_WIN64))"
+	print  "#if 0"
+	print  "#include <win32_curses.h>"
+	print  "#define TTY struct winconmode"
+	print  "#else"
+	print  "#include <ncurses_mingw.h>"
+	print  "#define TTY struct termios"
+	print  "#endif"
+	print  "#else"
+	print  "#undef TERMIOS"
+	print  "#include <sgtty.h>"
+	print  "#include <sys/ioctl.h>"
+	print  "#define TTY struct sgttyb"
+	print  "#endif /* MINGW32 */"
+	print  "#endif /* HAVE_TERMIO_H */"
+	print  ""
+	print  "#endif /* HAVE_TERMIOS_H */"
+	print  ""
+	print  "#ifdef TERMIOS"
+	print  "#define GET_TTY(fd, buf) tcgetattr(fd, buf)"
+	print  "#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)"
+	print  "#elif 0 && (defined(_WIN32) || defined(_WIN64))"
+	print  "#define GET_TTY(fd, buf) _nc_console_getmode(_nc_console_fd2handle(fd),buf)"
+	print  "#define SET_TTY(fd, buf) _nc_console_setmode(_nc_console_fd2handle(fd),buf)"
+	print  "#else"
+	print  "#define GET_TTY(fd, buf) gtty(fd, buf)"
+	print  "#define SET_TTY(fd, buf) stty(fd, buf)"
+	print  "#endif"
+	print  ""
+	print  "#ifndef	GCC_NORETURN"
+	print  "#define	GCC_NORETURN /* nothing */"
+	print  "#endif"
+	print  ""
+	print  "#define NAMESIZE 256"
+	print  ""
+	print  "/* The cast works because TERMTYPE is the first data in TERMINAL */"
+	print  "#define CUR ((TERMTYPE *)(cur_term))->"
+	print  ""
+}
+
+$2 == "%%-STOP-HERE-%%" {
+	print  ""
+	printf "#define BOOLWRITE %d\n", BoolCount
+	printf "#define NUMWRITE  %d\n", NumberCount
+	printf "#define STRWRITE  %d\n", StringCount
+	print  ""
+	print  "/* older synonyms for some capabilities */"
+	print  "#define beehive_glitch	no_esc_ctlc"
+	print  "#define teleray_glitch	dest_tabs_magic_smso"
+	print  ""
+	print  "/* HPUX-11 uses this name rather than the standard one */"
+	print  "#ifndef micro_char_size"
+	print  "#define micro_char_size micro_col_size"
+	print  "#endif"
+	print  ""
+	print  "#ifdef __INTERNAL_CAPS_VISIBLE"
+}
+
+/^#/ { next; }
+
+/^used_by/ { next ; }
+/^userdef/ { next ; }
+
+$1 == "acs_chars" {
+	acsindex = StringCount;
+}
+
+$3 == "bool" {
+	printf "#define %-30s CUR Booleans[%d]\n", $1, BoolCount++
+}
+
+$3 == "num" {
+	printf "#define %-30s CUR Numbers[%d]\n", $1, NumberCount++
+}
+
+$3 == "str" {
+	printf "#define %-30s CUR Strings[%d]\n", $1, StringCount++
+}
+
+END {
+	print  "#endif /* __INTERNAL_CAPS_VISIBLE */"
+	print  ""
+	print  ""
+	print  "/*"
+	print  " * Predefined terminfo array sizes"
+	print  " */"
+	printf "#define BOOLCOUNT %d\n", BoolCount
+	printf "#define NUMCOUNT  %d\n", NumberCount
+	printf "#define STRCOUNT  %d\n", StringCount
+	print  ""
+	print  "/* used by code for comparing entries */"
+	print  "#define acs_chars_index	", acsindex
+	print  ""
+	declare_termtype("short","");
+	print  ""
+	print  "/*"
+	print  " * The only reason these structures are visible is for read-only use."
+	print  " * Programs which modify the data are not, never were, portable across"
+	print  " * curses implementations."
+	print  " *"
+	print  " * The first field in TERMINAL is used in macros."
+	print  " * The remaining fields are private."
+	print  " */"
+	print  "#ifdef NCURSES_INTERNALS"
+	print  ""
+	print  "#undef TERMINAL"
+	print  "#define TERMINAL struct term"
+	print  "TERMINAL;"
+	print  ""
+	if (1) {
+	declare_termtype("int","2");
+	} else {
+	print  "#undef TERMTYPE2"
+	print  "#define TERMTYPE2 TERMTYPE"
+	}
+	print  "#else"
+	print  ""
+	print  "typedef struct term {		/* describe an actual terminal */"
+	print  "    TERMTYPE	type;		/* terminal type description */"
+	print  "} TERMINAL;"
+	print  ""
+	print  "#endif /* NCURSES_INTERNALS */"
+	print  ""
+	print  ""
+	print  "#if 0 && !0"
+	print  "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
+	print  "#elif 0"
+	print  "NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);"
+	print  "#define cur_term   NCURSES_PUBLIC_VAR(cur_term())"
+	print  "#else"
+	print  "extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;"
+	print  "#endif"
+	print  ""
+	print  "#if 0 || 0"
+	print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);"
+	print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);"
+	print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);"
+	print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);"
+	print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);"
+	print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);"
+	print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);"
+	print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);"
+	print  "NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);"
+	print  ""
+	print  "#define boolnames  NCURSES_PUBLIC_VAR(boolnames())"
+	print  "#define boolcodes  NCURSES_PUBLIC_VAR(boolcodes())"
+	print  "#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())"
+	print  "#define numnames   NCURSES_PUBLIC_VAR(numnames())"
+	print  "#define numcodes   NCURSES_PUBLIC_VAR(numcodes())"
+	print  "#define numfnames  NCURSES_PUBLIC_VAR(numfnames())"
+	print  "#define strnames   NCURSES_PUBLIC_VAR(strnames())"
+	print  "#define strcodes   NCURSES_PUBLIC_VAR(strcodes())"
+	print  "#define strfnames  NCURSES_PUBLIC_VAR(strfnames())"
+	print  ""
+	print  "#else"
+	print  ""
+	print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];"
+	print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];"
+	print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];"
+	print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];"
+	print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];"
+	print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];"
+	print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];"
+	print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];"
+	print  "extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];"
+	print  ""
+	print  "#endif"
+	print  ""
+	print  "/*"
+	print  " * These entrypoints are used only by the ncurses utilities such as tic."
+	print  " */"
+	print  "#ifdef NCURSES_INTERNALS"
+	print  ""
+	print  "extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);"
+	print  "extern NCURSES_EXPORT(int) _nc_read_entry2 (const char * const, char * const, TERMTYPE2 *const);"
+	print  "extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE2 *);"
+	print  "extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE2 *, char *, int);"
+	print  "extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);"
+	print  "extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);"
+	print  "extern NCURSES_EXPORT(char *) _nc_tiparm(int, const char *, ...);"
+	print  "extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);"
+	print  "extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);"
+	print  ""
+	print  "#endif /* NCURSES_INTERNALS */"
+	print  ""
+	print  "/*"
+	print  " * Normal entry points"
+	print  " */"
+	print  "extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);"
+	print  "extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);"
+	print  ""
+	print  "/* miscellaneous entry points */"
+	print  "extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);"
+	print  "extern NCURSES_EXPORT(int) setupterm (const char *,int,int *);"
+	print  ""
+	print  "/* terminfo entry points, also declared in curses.h */"
+	print  "#if !defined(__NCURSES_H)"
+	print  "extern NCURSES_EXPORT(char *) tigetstr (const char *);"
+	print  "extern NCURSES_EXPORT_VAR(char) ttytype[];"
+	print  "extern NCURSES_EXPORT(int) putp (const char *);"
+	print  "extern NCURSES_EXPORT(int) tigetflag (const char *);"
+	print  "extern NCURSES_EXPORT(int) tigetnum (const char *);"
+	print  ""
+	print  "#if 1 /* NCURSES_TPARM_VARARGS */"
+	print  "extern NCURSES_EXPORT(char *) tparm (const char *, ...);	/* special */"
+	print  "#else"
+	print  "extern NCURSES_EXPORT(char *) tparm (const char *, long,long,long,long,long,long,long,long,long);	/* special */"
+	print  "#endif"
+	print  ""
+	print  "extern NCURSES_EXPORT(char *) tiparm (const char *, ...);		/* special */"
+	print  "extern NCURSES_EXPORT(char *) tiparm_s (int, int, const char *, ...);	/* special */"
+	print  "extern NCURSES_EXPORT(int) tiscan_s (int *, int *, const char *);	/* special */"
+	print  ""
+	print  "#endif /* __NCURSES_H */"
+	print  ""
+	print  "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
+	print  "#if !defined(NCURSES_TERMCAP_H_incl)"
+	print  "extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);"
+	print  "extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);"
+	print  "extern NCURSES_EXPORT(int) tgetent (char *, const char *);"
+	print  "extern NCURSES_EXPORT(int) tgetflag (const char *);"
+	print  "extern NCURSES_EXPORT(int) tgetnum (const char *);"
+	print  "extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));"
+	print  "#endif /* NCURSES_TERMCAP_H_incl */"
+	print  ""
+	print  "/*"
+	print  " * Include curses.h before term.h to enable these extensions."
+	print  " */"
+	print  "#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)"
+	print  ""
+	print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tigetstr) (SCREEN*, const char *);"
+	print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(putp) (SCREEN*, const char *);"
+	print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tigetflag) (SCREEN*, const char *);"
+	print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tigetnum) (SCREEN*, const char *);"
+	print  ""
+	print  "#if 1 /* NCURSES_TPARM_VARARGS */"
+	print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm) (SCREEN*, const char *, ...);	/* special */"
+	print  "#else"
+	print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm) (SCREEN*, const char *, long,long,long,long,long,long,long,long,long);	/* special */"
+	print  "#endif"
+	print  ""
+	print  "/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */"
+	print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tgetstr) (SCREEN*, const char *, char **);"
+	print  "extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);"
+	print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);"
+	print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetflag) (SCREEN*, const char *);"
+	print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetnum) (SCREEN*, const char *);"
+	print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);"
+	print  ""
+	print  "extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);"
+	print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);"
+	print  ""
+	print  "extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);"
+	print  "#endif /* NCURSES_SP_FUNCS */"
+	print  ""
+	print  "/*"
+	print  " * Debugging features."
+	print  " */"
+	print  "extern GCC_NORETURN NCURSES_EXPORT(void)    exit_terminfo(int);"
+	print  ""
+	print  "#ifdef __cplusplus"
+	printf "%s\n", rcurl;
+	print  "#endif"
+	print  ""
+	print  "#endif /* NCURSES_TERM_H_incl */"
+}
diff --git a/include/Makefile b/include/Makefile
new file mode 100644
index 0000000..c123e5c
--- /dev/null
+++ b/include/Makefile
@@ -0,0 +1,212 @@
+# $Id: Makefile.in,v 1.53 2021/07/03 18:56:51 tom Exp $
+##############################################################################
+# Copyright 2019-2020,2021 Thomas E. Dickey                                  #
+# Copyright 1998-2013,2015 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for ncurses source code.
+#
+# This makes/installs ncurses include-files
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+DESTDIR		= 
+srcdir		= .
+prefix		= /usr
+exec_prefix	= ${prefix}
+includedir	= ${prefix}/include
+includesubdir	= 
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+INSTALL		= /usr/bin/install -c
+INSTALL_DATA	= ${INSTALL} -m 644
+
+AWK		= mawk
+LN_S		= ln -s -f
+
+CC		= gcc
+CFLAGS		= -O2 --param max-inline-insns-single=1200 
+CPPFLAGS	= -DHAVE_CONFIG_H -I. -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG
+
+CTAGS		= ctags
+ETAGS		= etags
+
+VERSION		= 6.5
+
+# The "Caps" file specifies the terminfo database format, as well as the list
+# of function keys.
+TERMINFO_CAPS	= $(srcdir)/Caps
+CAPLIST	=	$(TERMINFO_CAPS) \
+		$(srcdir)/Caps-ncurses
+
+# These files are generated by the configure script
+CONFIG_SRC = \
+	MKterm.h.awk \
+	curses.head \
+	ncurses_dll.h \
+	termcap.h \
+	unctrl.h
+
+# These files are generated by this makefile
+AUTO_SRC = \
+	curses.h \
+	hashsize.h \
+	ncurses_def.h \
+	parametrized.h \
+	config.h \
+	term.h
+
+################################################################################
+
+.PHONY :	all
+.PHONY :	check
+.PHONY :	clean
+.PHONY :	depend
+.PHONY :	distclean
+.PHONY :	install
+.PHONY :	install.libs
+.PHONY :	libs
+.PHONY :	mostlyclean
+.PHONY :	realclean
+.PHONY :	sources
+.PHONY :	uninstall
+.PHONY :	uninstall.libs
+
+all \
+libs \
+depend \
+sources \
+install ::	$(AUTO_SRC)
+
+curses.h :	$(CAPLIST) \
+		curses.head \
+		$(srcdir)/curses.tail \
+		$(srcdir)/MKkey_defs.sh
+	cat curses.head >$@
+	AWK=$(AWK) $(SHELL) $(srcdir)/MKkey_defs.sh $(CAPLIST) >>$@
+	$(SHELL) -c 'if test "0" = "1" ; then cat $(srcdir)/curses.events >>$@ ; fi'
+	$(SHELL) -c 'if test "cchar_t" = "cchar_t" ; then cat $(srcdir)/curses.wide >>$@ ; fi'
+	cat $(srcdir)/curses.tail >>$@
+
+term.h: 	$(CAPLIST) \
+		MKterm.h.awk
+	$(AWK) -f MKterm.h.awk $(CAPLIST) > $@
+	$(SHELL) $(srcdir)/edit_cfg.sh ../include/ncurses_cfg.h $@
+
+hashsize.h:	$(CAPLIST) \
+		$(srcdir)/MKhashsize.sh
+	$(SHELL) $(srcdir)/MKhashsize.sh $(CAPLIST) >$@
+
+ncurses_def.h: $(srcdir)/ncurses_defs $(srcdir)/MKncurses_def.sh
+	AWK=$(AWK) $(SHELL) $(srcdir)/MKncurses_def.sh $(srcdir)/ncurses_defs >$@
+
+parametrized.h: $(CAPLIST) \
+		$(srcdir)/MKparametrized.sh
+	AWK=$(AWK) $(SHELL) $(srcdir)/MKparametrized.sh $(CAPLIST) >$@
+
+# This is required by pthread.h on MinGW
+config.h:
+	touch $@
+
+tags:
+	$(CTAGS) *.[ch]
+
+TAGS:
+	$(ETAGS) *.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-rm -f $(AUTO_SRC)
+	-rm -rf *.dSYM
+
+distclean :: clean
+	-rm -f Makefile $(CONFIG_SRC) config.h
+
+realclean :: distclean
+
+# Verify that each header-file can be compiled without including another.
+check:
+	@$(SHELL) -c "for header in *.h;\
+		do \
+			echo \"** testing \$${header}\" ; \
+			echo \"#include <\$${header}>\" >headers.c; \
+			echo \"int main(void) { return 0; }\" >>headers.c; \
+			$(CC) -c $(CFLAGS) $(CPPFLAGS) headers.c; \
+		done"
+	-@rm -f headers.*
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# generated by mk-hdr.awk
+#  subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  compat:     yes
+
+${INCLUDEDIR} :
+	mkdir -p $@
+
+install \
+install.libs \
+install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \
+		curses.h \
+		unctrl.h \
+		ncurses_dll.h \
+		term.h \
+		termcap.h \
+		$(srcdir)/term_entry.h
+	@ (cd ${INCLUDEDIR} && rm -f curses.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} curses.h
+	@ (cd ${INCLUDEDIR} && rm -f ncurses.h && ${LN_S} curses.h ncurses.h)
+	@ (cd ${INCLUDEDIR} && rm -f unctrl.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} unctrl.h
+	@ (cd ${INCLUDEDIR} && rm -f ncurses_dll.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} ncurses_dll.h
+	@ (cd ${INCLUDEDIR} && rm -f term.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} term.h
+	@ (cd ${INCLUDEDIR} && rm -f termcap.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} termcap.h
+	@ (cd ${INCLUDEDIR} && rm -f term_entry.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/term_entry.h
+
+uninstall \
+uninstall.libs \
+uninstall.includes ::
+	-@ (cd ${INCLUDEDIR} && rm -f curses.h)
+	-@ (cd ${INCLUDEDIR} && rm -f ncurses.h)
+	-@ (cd ${INCLUDEDIR} && rm -f unctrl.h)
+	-@ (cd ${INCLUDEDIR} && rm -f ncurses_dll.h)
+	-@ (cd ${INCLUDEDIR} && rm -f term.h)
+	-@ (cd ${INCLUDEDIR} && rm -f termcap.h)
+	-@ (cd ${INCLUDEDIR} && rm -f term_entry.h)
diff --git a/include/config.h b/include/config.h
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/include/config.h
diff --git a/include/curses.h b/include/curses.h
new file mode 100644
index 0000000..cbe1bc4
--- /dev/null
+++ b/include/curses.h
@@ -0,0 +1,2143 @@
+/****************************************************************************
+ * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
+ *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
+ *     and: Thomas E. Dickey                        1996-on                 *
+ ****************************************************************************/
+
+/* $Id: curses.h.in,v 1.282 2024/01/19 11:50:07 tom Exp $ */
+
+#ifndef __NCURSES_H
+#define __NCURSES_H
+
+/*
+ The symbols beginning NCURSES_ or USE_ are configuration choices.
+ A few of the former can be overridden by applications at compile-time.
+ Most of the others correspond to configure-script options (or checks
+ by the configure-script for features of the system on which it is built).
+
+ These symbols can be overridden by applications at compile-time:
+ NCURSES_NOMACROS suppresses macro definitions in favor of functions
+ NCURSES_WATTR_MACROS suppresses wattr_* macro definitions
+ NCURSES_WIDECHAR is an alternative for declaring wide-character functions.
+
+ These symbols are used only when building ncurses:
+ NCURSES_ATTR_T
+ NCURSES_FIELD_INTERNALS
+ NCURSES_INTERNALS
+
+ These symbols are set by the configure script:
+ NCURSES_ENABLE_STDBOOL_H
+ NCURSES_EXPANDED
+ NCURSES_EXT_COLORS
+ NCURSES_EXT_FUNCS
+ NCURSES_EXT_PUTWIN
+ NCURSES_NO_PADDING
+ NCURSES_OSPEED_COMPAT
+ NCURSES_PATHSEP
+ NCURSES_REENTRANT
+ NCURSES_SIGWINCH
+ */
+
+#define CURSES 1
+#define CURSES_H 1
+
+/* These are defined only in curses.h, and are used for conditional compiles */
+#define NCURSES_VERSION_MAJOR 6
+#define NCURSES_VERSION_MINOR 5
+#define NCURSES_VERSION_PATCH 20240427
+
+/* This is defined in more than one ncurses header, for identification */
+#undef  NCURSES_VERSION
+#define NCURSES_VERSION "6.5"
+
+/*
+ * Identify the mouse encoding version.
+ */
+#define NCURSES_MOUSE_VERSION 2
+
+/*
+ * Definitions to facilitate DLL's.
+ */
+#include <ncurses_dll.h>
+
+/*
+ * Extra headers.
+ */
+#if 1
+#include <stdint.h>
+#endif
+
+#ifdef __cplusplus
+#else
+#if 0
+#include <stdnoreturn.h>
+#undef GCC_NORETURN
+#define GCC_NORETURN _Noreturn
+#endif
+#endif
+
+/*
+ * User-definable tweak to disable the include of <stdbool.h>.
+ */
+#ifndef NCURSES_ENABLE_STDBOOL_H
+#define NCURSES_ENABLE_STDBOOL_H 1
+#endif
+
+/*
+ * NCURSES_ATTR_T is used to quiet compiler warnings when building ncurses
+ * configured using --disable-macros.
+ */
+#ifndef NCURSES_ATTR_T
+#define NCURSES_ATTR_T int
+#endif
+
+/*
+ * Expands to 'const' if ncurses is configured using --enable-const.  Note that
+ * doing so makes it incompatible with other implementations of X/Open Curses.
+ */
+#undef  NCURSES_CONST
+#define NCURSES_CONST const
+
+#undef NCURSES_INLINE
+#define NCURSES_INLINE inline
+
+/*
+ * The standard type used for color values, and for color-pairs.  The latter
+ * allows the curses library to enumerate the combinations of foreground and
+ * background colors used by an application, and is normally the product of the
+ * total foreground and background colors.
+ *
+ * X/Open uses "short" for both of these types, ultimately because they are
+ * numbers from the SVr4 terminal database, which uses 16-bit signed values.
+ */
+#undef	NCURSES_COLOR_T
+#define	NCURSES_COLOR_T short
+
+#undef	NCURSES_PAIRS_T
+#define	NCURSES_PAIRS_T short
+
+/*
+ * Definitions used to make WINDOW and similar structs opaque.
+ */
+#ifndef NCURSES_INTERNALS
+#define NCURSES_OPAQUE       1
+#define NCURSES_OPAQUE_FORM  1
+#define NCURSES_OPAQUE_MENU  1
+#define NCURSES_OPAQUE_PANEL 1
+#endif
+
+/*
+ * Definition used to optionally suppress wattr* macros to help with the
+ * transition from ncurses5 to ncurses6 by allowing the header files to
+ * be shared across development packages for ncursesw in both ABIs.
+ */
+#ifndef NCURSES_WATTR_MACROS
+#define NCURSES_WATTR_MACROS 0
+#endif
+
+/*
+ * The reentrant code relies on the opaque setting, but adds features.
+ */
+#ifndef NCURSES_REENTRANT
+#define NCURSES_REENTRANT 0
+#endif
+
+/*
+ * KEY_RESIZE is an extended feature that relies upon the SIGWINCH handler
+ * in ncurses.
+ */
+#if 1
+#ifndef NCURSES_SIGWINCH
+#define NCURSES_SIGWINCH 1
+#endif
+#else
+#undef NCURSES_SIGWINCH
+#define NCURSES_SIGWINCH 0
+#endif
+
+/*
+ * In certain environments, we must work around linker problems for data
+ */
+#undef NCURSES_BROKEN_LINKER
+#if 0
+#define NCURSES_BROKEN_LINKER 1
+#endif
+
+/*
+ * Control whether bindings for interop support are added.
+ */
+#undef	NCURSES_INTEROP_FUNCS
+#define	NCURSES_INTEROP_FUNCS 1
+
+/*
+ * The internal type used for window dimensions.
+ */
+#undef	NCURSES_SIZE_T
+#define	NCURSES_SIZE_T short
+
+/*
+ * Control whether tparm() supports varargs or fixed-parameter list.
+ */
+#undef NCURSES_TPARM_VARARGS
+#define NCURSES_TPARM_VARARGS 1
+
+/*
+ * Control type used for tparm's arguments.  While X/Open equates long and
+ * char* values, this is not always workable for 64-bit platforms.
+ */
+#undef NCURSES_TPARM_ARG
+#define NCURSES_TPARM_ARG intptr_t
+
+/*
+ * Control whether ncurses uses wcwidth() for checking width of line-drawing
+ * characters.
+ */
+#undef NCURSES_WCWIDTH_GRAPHICS
+#define NCURSES_WCWIDTH_GRAPHICS 1
+
+/*
+ * NCURSES_CH_T is used in building the library, but not used otherwise in
+ * this header file, since that would make the normal/wide-character versions
+ * of the header incompatible.
+ */
+#undef	NCURSES_CH_T
+#define NCURSES_CH_T cchar_t
+
+#if 1 && defined(_LP64)
+typedef unsigned chtype;
+typedef unsigned mmask_t;
+#else
+typedef uint32_t chtype;
+typedef uint32_t mmask_t;
+#endif
+
+/*
+ * We need FILE, etc.  Include this before checking any feature symbols.
+ */
+#include <stdio.h>
+
+/*
+ * With XPG4, you must define _XOPEN_SOURCE_EXTENDED, it is redundant (or
+ * conflicting) when _XOPEN_SOURCE is 500 or greater.  If NCURSES_WIDECHAR is
+ * not already defined, e.g., if the platform relies upon nonstandard feature
+ * test macros, define it at this point if the standard feature test macros
+ * indicate that it should be defined.
+ */
+#ifndef NCURSES_WIDECHAR
+#if defined(_XOPEN_SOURCE_EXTENDED) || (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0 >= 500))
+#define NCURSES_WIDECHAR 1
+#else
+#define NCURSES_WIDECHAR 0
+#endif
+#endif /* NCURSES_WIDECHAR */
+
+#include <stdarg.h>	/* we need va_list */
+#if NCURSES_WIDECHAR
+#include <stddef.h>	/* we want wchar_t */
+#endif
+
+/* X/Open and SVr4 specify that curses implements 'bool'.  However, C++ may also
+ * implement it.  If so, we must use the C++ compiler's type to avoid conflict
+ * with other interfaces.
+ *
+ * A further complication is that <stdbool.h> may declare 'bool' to be a
+ * different type, such as an enum which is not necessarily compatible with
+ * C++.  If we have <stdbool.h>, make 'bool' a macro, so users may #undef it.
+ * Otherwise, let it remain a typedef to avoid conflicts with other #define's.
+ * In either case, make a typedef for NCURSES_BOOL which can be used if needed
+ * from either C or C++.
+ */
+
+#undef TRUE
+#define TRUE    1
+
+#undef FALSE
+#define FALSE   0
+
+typedef unsigned char NCURSES_BOOL;
+
+#if defined(__cplusplus)	/* __cplusplus, etc. */
+
+/* use the C++ compiler's bool type */
+#define NCURSES_BOOL bool
+
+#else			/* c89, c99, etc. */
+
+#if NCURSES_ENABLE_STDBOOL_H
+#include <stdbool.h>
+/* use whatever the C compiler decides bool really is */
+#define NCURSES_BOOL bool
+#else
+/* there is no predefined bool - use our own */
+#undef bool
+#define bool NCURSES_BOOL
+#endif
+
+#endif /* !__cplusplus, etc. */
+
+#ifdef __cplusplus
+extern "C" {
+#define NCURSES_CAST(type,value) static_cast<type>(value)
+#else
+#define NCURSES_CAST(type,value) (type)(value)
+#endif
+
+#define NCURSES_OK_ADDR(p) (0 != NCURSES_CAST(const void *, (p)))
+
+/*
+ * X/Open attributes.  In the ncurses implementation, they are identical to the
+ * A_ attributes.
+ */
+#define WA_ATTRIBUTES	A_ATTRIBUTES
+#define WA_NORMAL	A_NORMAL
+#define WA_STANDOUT	A_STANDOUT
+#define WA_UNDERLINE	A_UNDERLINE
+#define WA_REVERSE	A_REVERSE
+#define WA_BLINK	A_BLINK
+#define WA_DIM		A_DIM
+#define WA_BOLD		A_BOLD
+#define WA_ALTCHARSET	A_ALTCHARSET
+#define WA_INVIS	A_INVIS
+#define WA_PROTECT	A_PROTECT
+#define WA_HORIZONTAL	A_HORIZONTAL
+#define WA_LEFT		A_LEFT
+#define WA_LOW		A_LOW
+#define WA_RIGHT	A_RIGHT
+#define WA_TOP		A_TOP
+#define WA_VERTICAL	A_VERTICAL
+
+#if 1
+#define WA_ITALIC	A_ITALIC	/* ncurses extension */
+#endif
+
+/* colors */
+#define COLOR_BLACK	0
+#define COLOR_RED	1
+#define COLOR_GREEN	2
+#define COLOR_YELLOW	3
+#define COLOR_BLUE	4
+#define COLOR_MAGENTA	5
+#define COLOR_CYAN	6
+#define COLOR_WHITE	7
+
+/* line graphics */
+
+#if 0 || NCURSES_REENTRANT
+NCURSES_WRAPPED_VAR(chtype*, acs_map);
+#define acs_map NCURSES_PUBLIC_VAR(acs_map())
+#else
+extern NCURSES_EXPORT_VAR(chtype) acs_map[];
+#endif
+
+#define NCURSES_ACS(c)	(acs_map[NCURSES_CAST(unsigned char,(c))])
+
+/* VT100 symbols begin here */
+#define ACS_ULCORNER	NCURSES_ACS('l') /* upper left corner */
+#define ACS_LLCORNER	NCURSES_ACS('m') /* lower left corner */
+#define ACS_URCORNER	NCURSES_ACS('k') /* upper right corner */
+#define ACS_LRCORNER	NCURSES_ACS('j') /* lower right corner */
+#define ACS_LTEE	NCURSES_ACS('t') /* tee pointing right */
+#define ACS_RTEE	NCURSES_ACS('u') /* tee pointing left */
+#define ACS_BTEE	NCURSES_ACS('v') /* tee pointing up */
+#define ACS_TTEE	NCURSES_ACS('w') /* tee pointing down */
+#define ACS_HLINE	NCURSES_ACS('q') /* horizontal line */
+#define ACS_VLINE	NCURSES_ACS('x') /* vertical line */
+#define ACS_PLUS	NCURSES_ACS('n') /* large plus or crossover */
+#define ACS_S1		NCURSES_ACS('o') /* scan line 1 */
+#define ACS_S9		NCURSES_ACS('s') /* scan line 9 */
+#define ACS_DIAMOND	NCURSES_ACS('`') /* diamond */
+#define ACS_CKBOARD	NCURSES_ACS('a') /* checker board (stipple) */
+#define ACS_DEGREE	NCURSES_ACS('f') /* degree symbol */
+#define ACS_PLMINUS	NCURSES_ACS('g') /* plus/minus */
+#define ACS_BULLET	NCURSES_ACS('~') /* bullet */
+/* Teletype 5410v1 symbols begin here */
+#define ACS_LARROW	NCURSES_ACS(',') /* arrow pointing left */
+#define ACS_RARROW	NCURSES_ACS('+') /* arrow pointing right */
+#define ACS_DARROW	NCURSES_ACS('.') /* arrow pointing down */
+#define ACS_UARROW	NCURSES_ACS('-') /* arrow pointing up */
+#define ACS_BOARD	NCURSES_ACS('h') /* board of squares */
+#define ACS_LANTERN	NCURSES_ACS('i') /* lantern symbol */
+#define ACS_BLOCK	NCURSES_ACS('0') /* solid square block */
+/*
+ * These aren't documented, but a lot of System Vs have them anyway
+ * (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings).
+ * The ACS_names may not match AT&T's, our source didn't know them.
+ */
+#define ACS_S3		NCURSES_ACS('p') /* scan line 3 */
+#define ACS_S7		NCURSES_ACS('r') /* scan line 7 */
+#define ACS_LEQUAL	NCURSES_ACS('y') /* less/equal */
+#define ACS_GEQUAL	NCURSES_ACS('z') /* greater/equal */
+#define ACS_PI		NCURSES_ACS('{') /* Pi */
+#define ACS_NEQUAL	NCURSES_ACS('|') /* not equal */
+#define ACS_STERLING	NCURSES_ACS('}') /* UK pound sign */
+
+/*
+ * Line drawing ACS names are of the form ACS_trbl, where t is the top, r
+ * is the right, b is the bottom, and l is the left.  t, r, b, and l might
+ * be B (blank), S (single), D (double), or T (thick).  The subset defined
+ * here only uses B and S.
+ */
+#define ACS_BSSB	ACS_ULCORNER
+#define ACS_SSBB	ACS_LLCORNER
+#define ACS_BBSS	ACS_URCORNER
+#define ACS_SBBS	ACS_LRCORNER
+#define ACS_SBSS	ACS_RTEE
+#define ACS_SSSB	ACS_LTEE
+#define ACS_SSBS	ACS_BTEE
+#define ACS_BSSS	ACS_TTEE
+#define ACS_BSBS	ACS_HLINE
+#define ACS_SBSB	ACS_VLINE
+#define ACS_SSSS	ACS_PLUS
+
+#undef	ERR
+#define ERR     (-1)
+
+#undef	OK
+#define OK      (0)
+
+/* values for the _flags member */
+#define _SUBWIN         0x01	/* is this a sub-window? */
+#define _ENDLINE        0x02	/* is the window flush right? */
+#define _FULLWIN        0x04	/* is the window full-screen? */
+#define _SCROLLWIN      0x08	/* bottom edge is at screen bottom? */
+#define _ISPAD	        0x10	/* is this window a pad? */
+#define _HASMOVED       0x20	/* has cursor moved since last refresh? */
+#define _WRAPPED        0x40	/* cursor was just wrappped */
+
+/*
+ * this value is used in the firstchar and lastchar fields to mark
+ * unchanged lines
+ */
+#define _NOCHANGE       -1
+
+/*
+ * this value is used in the oldindex field to mark lines created by insertions
+ * and scrolls.
+ */
+#define _NEWINDEX	-1
+
+#ifdef NCURSES_INTERNALS
+#undef SCREEN
+#define SCREEN struct screen
+SCREEN;
+#else
+typedef struct screen  SCREEN;
+#endif
+
+typedef struct _win_st WINDOW;
+
+typedef	chtype	attr_t;		/* ...must be at least as wide as chtype */
+
+#if NCURSES_WIDECHAR
+
+#if 0
+#ifdef mblen			/* libutf8.h defines it w/o undefining first */
+#undef mblen
+#endif
+#include <libutf8.h>
+#endif
+
+#if 1
+#include <wchar.h>		/* ...to get mbstate_t, etc. */
+#endif
+
+#if 0
+typedef unsigned short wchar_t1;
+#endif
+
+#if 0
+typedef unsigned int wint_t1;
+#endif
+
+/*
+ * cchar_t stores an array of CCHARW_MAX wide characters.  The first is
+ * normally a spacing character.  The others are non-spacing.  If those
+ * (spacing and nonspacing) do not fill the array, a null L'\0' follows.
+ * Otherwise, a null is assumed to follow when extracting via getcchar().
+ */
+#define CCHARW_MAX	5
+typedef struct
+{
+    attr_t	attr;
+    wchar_t	chars[CCHARW_MAX];
+#if 1
+#undef NCURSES_EXT_COLORS
+#define NCURSES_EXT_COLORS 20240427
+    int		ext_color;	/* color pair, must be more than 16-bits */
+#endif
+}
+cchar_t;
+
+#endif /* NCURSES_WIDECHAR */
+
+#if !NCURSES_OPAQUE
+struct ldat;
+
+struct _win_st
+{
+	NCURSES_SIZE_T _cury, _curx; /* current cursor position */
+
+	/* window location and size */
+	NCURSES_SIZE_T _maxy, _maxx; /* maximums of x and y, NOT window size */
+	NCURSES_SIZE_T _begy, _begx; /* screen coords of upper-left-hand corner */
+
+	short   _flags;		/* window state flags */
+
+	/* attribute tracking */
+	attr_t  _attrs;		/* current attribute for non-space character */
+	chtype  _bkgd;		/* current background char/attribute pair */
+
+	/* option values set by user */
+	bool	_notimeout;	/* no time out on function-key entry? */
+	bool	_clear;		/* consider all data in the window invalid? */
+	bool	_leaveok;	/* OK to not reset cursor on exit? */
+	bool	_scroll;	/* OK to scroll this window? */
+	bool	_idlok;		/* OK to use insert/delete line? */
+	bool	_idcok;		/* OK to use insert/delete char? */
+	bool	_immed;		/* window in immed mode? (not yet used) */
+	bool	_sync;		/* window in sync mode? */
+	bool	_use_keypad;	/* process function keys into KEY_ symbols? */
+	int	_delay;		/* 0 = nodelay, <0 = blocking, >0 = delay */
+
+	struct ldat *_line;	/* the actual line data */
+
+	/* global screen state */
+	NCURSES_SIZE_T _regtop;	/* top line of scrolling region */
+	NCURSES_SIZE_T _regbottom; /* bottom line of scrolling region */
+
+	/* these are used only if this is a sub-window */
+	int	_parx;		/* x coordinate of this window in parent */
+	int	_pary;		/* y coordinate of this window in parent */
+	WINDOW	*_parent;	/* pointer to parent if a sub-window */
+
+	/* these are used only if this is a pad */
+	struct pdat
+	{
+	    NCURSES_SIZE_T _pad_y,      _pad_x;
+	    NCURSES_SIZE_T _pad_top,    _pad_left;
+	    NCURSES_SIZE_T _pad_bottom, _pad_right;
+	} _pad;
+
+	NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */
+
+#if NCURSES_WIDECHAR
+	cchar_t  _bkgrnd;	/* current background char/attribute pair */
+#if 1
+	int	_color;		/* current color-pair for non-space character */
+#endif
+#endif
+};
+#endif /* NCURSES_OPAQUE */
+
+/*
+ * GCC (and some other compilers) define '__attribute__'; we're using this
+ * macro to alert the compiler to flag inconsistencies in printf/scanf-like
+ * function calls.  Just in case '__attribute__' isn't defined, make a dummy.
+ * Old versions of G++ do not accept it anyway, at least not consistently with
+ * GCC.
+ */
+#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__))
+#define __attribute__(p) /* nothing */
+#endif
+
+/*
+ * We cannot define these in ncurses_cfg.h, since they require parameters to be
+ * passed (that is non-portable).
+ */
+#ifndef GCC_PRINTFLIKE
+#ifndef printf
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+#else
+#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
+#endif
+#endif
+
+#ifndef GCC_SCANFLIKE
+#ifndef scanf
+#define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
+#else
+#define GCC_SCANFLIKE(fmt,var)  /*nothing*/
+#endif
+#endif
+
+#ifndef	GCC_NORETURN
+#define	GCC_NORETURN /* nothing */
+#endif
+
+#ifndef	GCC_UNUSED
+#define	GCC_UNUSED /* nothing */
+#endif
+
+#undef  GCC_DEPRECATED
+#if (__GNUC__ - 0 > 3 || (__GNUC__ - 0 == 3 && __GNUC_MINOR__ - 0 >= 2)) && !defined(NCURSES_INTERNALS)
+#define GCC_DEPRECATED(msg) __attribute__((deprecated))
+#else
+#define GCC_DEPRECATED(msg) /* nothing */
+#endif
+
+/*
+ * Curses uses a helper function.  Define our type for this to simplify
+ * extending it for the sp-funcs feature.
+ */
+typedef int (*NCURSES_OUTC)(int);
+
+/*
+ * Function prototypes.  This is the complete X/Open Curses list of required
+ * functions.  Those marked `generated' will have sources generated from the
+ * macro definitions later in this file, in order to satisfy XPG4.2
+ * requirements.
+ */
+
+extern NCURSES_EXPORT(int) addch (const chtype);			/* generated */
+extern NCURSES_EXPORT(int) addchnstr (const chtype *, int);		/* generated */
+extern NCURSES_EXPORT(int) addchstr (const chtype *);			/* generated */
+extern NCURSES_EXPORT(int) addnstr (const char *, int);			/* generated */
+extern NCURSES_EXPORT(int) addstr (const char *);			/* generated */
+extern NCURSES_EXPORT(int) attroff (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attron (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attrset (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attr_get (attr_t *, NCURSES_PAIRS_T *, void *);	/* generated */
+extern NCURSES_EXPORT(int) attr_off (attr_t, void *);			/* generated */
+extern NCURSES_EXPORT(int) attr_on (attr_t, void *);			/* generated */
+extern NCURSES_EXPORT(int) attr_set (attr_t, NCURSES_PAIRS_T, void *);		/* generated */
+extern NCURSES_EXPORT(int) baudrate (void);				/* implemented */
+extern NCURSES_EXPORT(int) beep  (void);				/* implemented */
+extern NCURSES_EXPORT(int) bkgd (chtype);				/* generated */
+extern NCURSES_EXPORT(void) bkgdset (chtype);				/* generated */
+extern NCURSES_EXPORT(int) border (chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype);	/* generated */
+extern NCURSES_EXPORT(int) box (WINDOW *, chtype, chtype);		/* generated */
+extern NCURSES_EXPORT(bool) can_change_color (void);			/* implemented */
+extern NCURSES_EXPORT(int) cbreak (void);				/* implemented */
+extern NCURSES_EXPORT(int) chgat (int, attr_t, NCURSES_PAIRS_T, const void *);	/* generated */
+extern NCURSES_EXPORT(int) clear (void);				/* generated */
+extern NCURSES_EXPORT(int) clearok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) clrtobot (void);				/* generated */
+extern NCURSES_EXPORT(int) clrtoeol (void);				/* generated */
+extern NCURSES_EXPORT(int) color_content (NCURSES_COLOR_T,NCURSES_COLOR_T*,NCURSES_COLOR_T*,NCURSES_COLOR_T*);	/* implemented */
+extern NCURSES_EXPORT(int) color_set (NCURSES_PAIRS_T,void*);			/* generated */
+extern NCURSES_EXPORT(int) COLOR_PAIR (int);				/* generated */
+extern NCURSES_EXPORT(int) copywin (const WINDOW*,WINDOW*,int,int,int,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) curs_set (int);				/* implemented */
+extern NCURSES_EXPORT(int) def_prog_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) def_shell_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) delay_output (int);				/* implemented */
+extern NCURSES_EXPORT(int) delch (void);				/* generated */
+extern NCURSES_EXPORT(void) delscreen (SCREEN *);			/* implemented */
+extern NCURSES_EXPORT(int) delwin (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) deleteln (void);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) derwin (WINDOW *,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) doupdate (void);				/* implemented */
+extern NCURSES_EXPORT(WINDOW *) dupwin (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) echo (void);					/* implemented */
+extern NCURSES_EXPORT(int) echochar (const chtype);			/* generated */
+extern NCURSES_EXPORT(int) erase (void);				/* generated */
+extern NCURSES_EXPORT(int) endwin (void);				/* implemented */
+extern NCURSES_EXPORT(char) erasechar (void);				/* implemented */
+extern NCURSES_EXPORT(void) filter (void);				/* implemented */
+extern NCURSES_EXPORT(int) flash (void);				/* implemented */
+extern NCURSES_EXPORT(int) flushinp (void);				/* implemented */
+extern NCURSES_EXPORT(chtype) getbkgd (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getch (void);				/* generated */
+extern NCURSES_EXPORT(int) getnstr (char *, int);			/* generated */
+extern NCURSES_EXPORT(int) getstr (char *);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) getwin (FILE *);			/* implemented */
+extern NCURSES_EXPORT(int) halfdelay (int);				/* implemented */
+extern NCURSES_EXPORT(bool) has_colors (void);				/* implemented */
+extern NCURSES_EXPORT(bool) has_ic (void);				/* implemented */
+extern NCURSES_EXPORT(bool) has_il (void);				/* implemented */
+extern NCURSES_EXPORT(int) hline (chtype, int);				/* generated */
+extern NCURSES_EXPORT(void) idcok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(int) idlok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(void) immedok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(chtype) inch (void);				/* generated */
+extern NCURSES_EXPORT(int) inchnstr (chtype *, int);			/* generated */
+extern NCURSES_EXPORT(int) inchstr (chtype *);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) initscr (void);				/* implemented */
+extern NCURSES_EXPORT(int) init_color (NCURSES_COLOR_T,NCURSES_COLOR_T,NCURSES_COLOR_T,NCURSES_COLOR_T);	/* implemented */
+extern NCURSES_EXPORT(int) init_pair (NCURSES_PAIRS_T,NCURSES_COLOR_T,NCURSES_COLOR_T);		/* implemented */
+extern NCURSES_EXPORT(int) innstr (char *, int);			/* generated */
+extern NCURSES_EXPORT(int) insch (chtype);				/* generated */
+extern NCURSES_EXPORT(int) insdelln (int);				/* generated */
+extern NCURSES_EXPORT(int) insertln (void);				/* generated */
+extern NCURSES_EXPORT(int) insnstr (const char *, int);			/* generated */
+extern NCURSES_EXPORT(int) insstr (const char *);			/* generated */
+extern NCURSES_EXPORT(int) instr (char *);				/* generated */
+extern NCURSES_EXPORT(int) intrflush (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(bool) isendwin (void);				/* implemented */
+extern NCURSES_EXPORT(bool) is_linetouched (WINDOW *,int);		/* implemented */
+extern NCURSES_EXPORT(bool) is_wintouched (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int);		/* implemented */
+extern NCURSES_EXPORT(int) keypad (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(char) killchar (void);				/* implemented */
+extern NCURSES_EXPORT(int) leaveok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(char *) longname (void);				/* implemented */
+extern NCURSES_EXPORT(int) meta (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) move (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);		/* generated */
+extern NCURSES_EXPORT(int) mvaddchnstr (int, int, const chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvaddchstr (int, int, const chtype *);	/* generated */
+extern NCURSES_EXPORT(int) mvaddnstr (int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvaddstr (int, int, const char *);		/* generated */
+extern NCURSES_EXPORT(int) mvchgat (int, int, int, attr_t, NCURSES_PAIRS_T, const void *);	/* generated */
+extern NCURSES_EXPORT(int) mvcur (int,int,int,int);			/* implemented */
+extern NCURSES_EXPORT(int) mvdelch (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvderwin (WINDOW *, int, int);		/* implemented */
+extern NCURSES_EXPORT(int) mvgetch (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvgetnstr (int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvgetstr (int, int, char *);			/* generated */
+extern NCURSES_EXPORT(int) mvhline (int, int, chtype, int);		/* generated */
+extern NCURSES_EXPORT(chtype) mvinch (int, int);			/* generated */
+extern NCURSES_EXPORT(int) mvinchnstr (int, int, chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvinchstr (int, int, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvinsch (int, int, chtype);			/* generated */
+extern NCURSES_EXPORT(int) mvinsnstr (int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvinsstr (int, int, const char *);		/* generated */
+extern NCURSES_EXPORT(int) mvinstr (int, int, char *);			/* generated */
+extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...)		/* implemented */
+		GCC_PRINTFLIKE(3,4);
+extern NCURSES_EXPORT(int) mvscanw (int,int, const char *,...)		/* implemented */
+		GCC_SCANFLIKE(3,4);
+extern NCURSES_EXPORT(int) mvvline (int, int, chtype, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwaddch (WINDOW *, int, int, const chtype);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddchnstr (WINDOW *, int, int, const chtype *, int);/* generated */
+extern NCURSES_EXPORT(int) mvwaddchstr (WINDOW *, int, int, const chtype *);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddnstr (WINDOW *, int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddstr (WINDOW *, int, int, const char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwchgat (WINDOW *, int, int, int, attr_t, NCURSES_PAIRS_T, const void *);/* generated */
+extern NCURSES_EXPORT(int) mvwdelch (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwgetch (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwgetstr (WINDOW *, int, int, char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwhline (WINDOW *, int, int, chtype, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwin (WINDOW *,int,int);			/* implemented */
+extern NCURSES_EXPORT(chtype) mvwinch (WINDOW *, int, int);			/* generated */
+extern NCURSES_EXPORT(int) mvwinchnstr (WINDOW *, int, int, chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwinchstr (WINDOW *, int, int, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwinsch (WINDOW *, int, int, chtype);		/* generated */
+extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *);		/* generated */
+extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...)	/* implemented */
+		GCC_PRINTFLIKE(4,5);
+extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, const char *,...)	/* implemented */
+		GCC_SCANFLIKE(4,5);
+extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int);	/* generated */
+extern NCURSES_EXPORT(int) napms (int);					/* implemented */
+extern NCURSES_EXPORT(WINDOW *) newpad (int,int);			/* implemented */
+extern NCURSES_EXPORT(SCREEN *) newterm (const char *,FILE *,FILE *);	/* implemented */
+extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) nl (void);					/* implemented */
+extern NCURSES_EXPORT(int) nocbreak (void);				/* implemented */
+extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) noecho (void);				/* implemented */
+extern NCURSES_EXPORT(int) nonl (void);					/* implemented */
+extern NCURSES_EXPORT(void) noqiflush (void);				/* implemented */
+extern NCURSES_EXPORT(int) noraw (void);				/* implemented */
+extern NCURSES_EXPORT(int) notimeout (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) overlay (const WINDOW*,WINDOW *);		/* implemented */
+extern NCURSES_EXPORT(int) overwrite (const WINDOW*,WINDOW *);		/* implemented */
+extern NCURSES_EXPORT(int) pair_content (NCURSES_PAIRS_T,NCURSES_COLOR_T*,NCURSES_COLOR_T*);		/* implemented */
+extern NCURSES_EXPORT(int) PAIR_NUMBER (int);				/* generated */
+extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */
+extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) printw (const char *,...)			/* implemented */
+		GCC_PRINTFLIKE(1,2);
+extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *);			/* implemented */
+extern NCURSES_EXPORT(void) qiflush (void);				/* implemented */
+extern NCURSES_EXPORT(int) raw (void);					/* implemented */
+extern NCURSES_EXPORT(int) redrawwin (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) refresh (void);				/* generated */
+extern NCURSES_EXPORT(int) resetty (void);				/* implemented */
+extern NCURSES_EXPORT(int) reset_prog_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) reset_shell_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) ripoffline (int, int (*)(WINDOW *, int));	/* implemented */
+extern NCURSES_EXPORT(int) savetty (void);				/* implemented */
+extern NCURSES_EXPORT(int) scanw (const char *,...)			/* implemented */
+		GCC_SCANFLIKE(1,2);
+extern NCURSES_EXPORT(int) scr_dump (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scr_init (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scrl (int);					/* generated */
+extern NCURSES_EXPORT(int) scroll (WINDOW *);				/* generated */
+extern NCURSES_EXPORT(int) scrollok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) scr_restore (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scr_set (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) setscrreg (int,int);				/* generated */
+extern NCURSES_EXPORT(SCREEN *) set_term (SCREEN *);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attroff (const chtype);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_off (const attr_t, void *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) slk_attron (const chtype);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_on (attr_t,void*);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) slk_attrset (const chtype);			/* implemented */
+extern NCURSES_EXPORT(attr_t) slk_attr (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,NCURSES_PAIRS_T,void*);	/* implemented */
+extern NCURSES_EXPORT(int) slk_clear (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_color (NCURSES_PAIRS_T);				/* implemented */
+extern NCURSES_EXPORT(int) slk_init (int);				/* implemented */
+extern NCURSES_EXPORT(char *) slk_label (int);				/* implemented */
+extern NCURSES_EXPORT(int) slk_noutrefresh (void);			/* implemented */
+extern NCURSES_EXPORT(int) slk_refresh (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_restore (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_set (int,const char *,int);		/* implemented */
+extern NCURSES_EXPORT(int) slk_touch (void);				/* implemented */
+extern NCURSES_EXPORT(int) standout (void);				/* generated */
+extern NCURSES_EXPORT(int) standend (void);				/* generated */
+extern NCURSES_EXPORT(int) start_color (void);				/* implemented */
+extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int);	/* implemented */
+extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *, int, int, int, int);	/* implemented */
+extern NCURSES_EXPORT(int) syncok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(chtype) termattrs (void);				/* implemented */
+extern NCURSES_EXPORT(char *) termname (void);				/* implemented */
+extern NCURSES_EXPORT(void) timeout (int);				/* generated */
+extern NCURSES_EXPORT(int) touchline (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) touchwin (WINDOW *);				/* generated */
+extern NCURSES_EXPORT(int) typeahead (int);				/* implemented */
+extern NCURSES_EXPORT(int) ungetch (int);				/* implemented */
+extern NCURSES_EXPORT(int) untouchwin (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(void) use_env (bool);				/* implemented */
+extern NCURSES_EXPORT(void) use_tioctl (bool);				/* implemented */
+extern NCURSES_EXPORT(int) vidattr (chtype);				/* implemented */
+extern NCURSES_EXPORT(int) vidputs (chtype, NCURSES_OUTC);		/* implemented */
+extern NCURSES_EXPORT(int) vline (chtype, int);				/* generated */
+extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *, va_list) GCC_DEPRECATED(use vw_printw)	/* implemented */
+		GCC_PRINTFLIKE(2,0);
+extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *, va_list)	/* implemented */
+		GCC_PRINTFLIKE(2,0);	
+extern NCURSES_EXPORT(int) vwscanw (WINDOW *, const char *, va_list) GCC_DEPRECATED(use vw_scanw)	/* implemented */
+		GCC_SCANFLIKE(2,0);
+extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, const char *, va_list)	/* implemented */
+		GCC_SCANFLIKE(2,0);
+extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) waddchnstr (WINDOW *,const chtype *,int);	/* implemented */
+extern NCURSES_EXPORT(int) waddchstr (WINDOW *,const chtype *);		/* generated */
+extern NCURSES_EXPORT(int) waddnstr (WINDOW *,const char *,int);	/* implemented */
+extern NCURSES_EXPORT(int) waddstr (WINDOW *,const char *);		/* generated */
+extern NCURSES_EXPORT(int) wattron (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattroff (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattrset (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattr_get (WINDOW *, attr_t *, NCURSES_PAIRS_T *, void *);	/* generated */
+extern NCURSES_EXPORT(int) wattr_on (WINDOW *, attr_t, void *);		/* implemented */
+extern NCURSES_EXPORT(int) wattr_off (WINDOW *, attr_t, void *);	/* implemented */
+extern NCURSES_EXPORT(int) wattr_set (WINDOW *, attr_t, NCURSES_PAIRS_T, void *);	/* generated */
+extern NCURSES_EXPORT(int) wbkgd (WINDOW *, chtype);			/* implemented */
+extern NCURSES_EXPORT(void) wbkgdset (WINDOW *,chtype);			/* implemented */
+extern NCURSES_EXPORT(int) wborder (WINDOW *,chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype);	/* implemented */
+extern NCURSES_EXPORT(int) wchgat (WINDOW *, int, attr_t, NCURSES_PAIRS_T, const void *);/* implemented */
+extern NCURSES_EXPORT(int) wclear (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wclrtobot (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wclrtoeol (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wcolor_set (WINDOW*,NCURSES_PAIRS_T,void*);		/* implemented */
+extern NCURSES_EXPORT(void) wcursyncup (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wdelch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wdeleteln (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) wechochar (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) werase (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wgetch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);		/* implemented */
+extern NCURSES_EXPORT(int) wgetstr (WINDOW *, char *);			/* generated */
+extern NCURSES_EXPORT(int) whline (WINDOW *, chtype, int);		/* implemented */
+extern NCURSES_EXPORT(chtype) winch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) winchnstr (WINDOW *, chtype *, int);		/* implemented */
+extern NCURSES_EXPORT(int) winchstr (WINDOW *, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);		/* implemented */
+extern NCURSES_EXPORT(int) winsch (WINDOW *, chtype);			/* implemented */
+extern NCURSES_EXPORT(int) winsdelln (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) winsertln (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) winsnstr (WINDOW *, const char *,int);	/* implemented */
+extern NCURSES_EXPORT(int) winsstr (WINDOW *, const char *);		/* generated */
+extern NCURSES_EXPORT(int) winstr (WINDOW *, char *);			/* generated */
+extern NCURSES_EXPORT(int) wmove (WINDOW *,int,int);			/* implemented */
+extern NCURSES_EXPORT(int) wnoutrefresh (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wprintw (WINDOW *, const char *,...)		/* implemented */
+		GCC_PRINTFLIKE(2,3);
+extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wrefresh (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wscanw (WINDOW *, const char *,...)		/* implemented */
+		GCC_SCANFLIKE(2,3);
+extern NCURSES_EXPORT(int) wscrl (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) wsetscrreg (WINDOW *,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wstandout (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) wstandend (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(void) wsyncdown (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(void) wsyncup (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(void) wtimeout (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) wtouchln (WINDOW *,int,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int);		/* implemented */
+
+/*
+ * These are also declared in <term.h>:
+ */
+extern NCURSES_EXPORT(int) tigetflag (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) tigetnum (const char *);			/* implemented */
+extern NCURSES_EXPORT(char *) tigetstr (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) putp (const char *);				/* implemented */
+
+#if NCURSES_TPARM_VARARGS
+extern NCURSES_EXPORT(char *) tparm (const char *, ...);		/* special */
+#else
+extern NCURSES_EXPORT(char *) tparm (const char *, NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG);	/* special */
+#endif
+
+extern NCURSES_EXPORT(char *) tiparm (const char *, ...);		/* special */
+extern NCURSES_EXPORT(char *) tiparm_s (int, int, const char *, ...);	/* special */
+extern NCURSES_EXPORT(int) tiscan_s (int *, int *, const char *);	/* special */
+
+/*
+ * These functions are not in X/Open, but we use them in macro definitions:
+ */
+extern NCURSES_EXPORT(int) getattrs (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getcurx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getcury (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getbegx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getbegy (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getmaxx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getmaxy (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getparx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getpary (const WINDOW *);			/* generated */
+
+/*
+ * vid_attr() was implemented originally based on a draft of X/Open curses.
+ */
+#if !NCURSES_WIDECHAR
+#define vid_attr(a,pair,opts) vidattr(a)
+#endif
+
+/*
+ * These functions are extensions - not in X/Open Curses.
+ */
+#if 1
+#undef  NCURSES_EXT_FUNCS
+#define NCURSES_EXT_FUNCS 20240427
+typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
+typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
+extern NCURSES_EXPORT(int) alloc_pair (int, int);
+extern NCURSES_EXPORT(int) assume_default_colors (int, int);
+extern NCURSES_EXPORT(const char *) curses_version (void);
+extern NCURSES_EXPORT(int) define_key (const char *, int);
+extern NCURSES_EXPORT(int) extended_color_content(int, int *, int *, int *);
+extern NCURSES_EXPORT(int) extended_pair_content(int, int *, int *);
+extern NCURSES_EXPORT(int) extended_slk_color(int);
+extern NCURSES_EXPORT(int) find_pair (int, int);
+extern NCURSES_EXPORT(int) free_pair (int);
+extern NCURSES_EXPORT(int) get_escdelay (void);
+extern NCURSES_EXPORT(int) init_extended_color(int, int, int, int);
+extern NCURSES_EXPORT(int) init_extended_pair(int, int, int);
+extern NCURSES_EXPORT(int) is_cbreak(void);
+extern NCURSES_EXPORT(int) is_echo(void);
+extern NCURSES_EXPORT(int) is_nl(void);
+extern NCURSES_EXPORT(int) is_raw(void);
+extern NCURSES_EXPORT(bool) is_term_resized (int, int);
+extern NCURSES_EXPORT(int) key_defined (const char *);
+extern NCURSES_EXPORT(char *) keybound (int, int);
+extern NCURSES_EXPORT(int) keyok (int, bool);
+extern NCURSES_EXPORT(void) nofilter(void);
+extern NCURSES_EXPORT(void) reset_color_pairs (void);
+extern NCURSES_EXPORT(int) resize_term (int, int);
+extern NCURSES_EXPORT(int) resizeterm (int, int);
+extern NCURSES_EXPORT(int) set_escdelay (int);
+extern NCURSES_EXPORT(int) set_tabsize (int);
+extern NCURSES_EXPORT(int) use_default_colors (void);
+extern NCURSES_EXPORT(int) use_legacy_coding (int);
+extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_SCREEN_CB, void *);
+extern NCURSES_EXPORT(int) use_window (WINDOW *, NCURSES_WINDOW_CB, void *);
+extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int);
+
+#if 1
+#undef  NCURSES_XNAMES
+#define NCURSES_XNAMES 1
+extern NCURSES_EXPORT(int) use_extended_names (bool);
+#endif
+
+/*
+ * These extensions provide access to information stored in the WINDOW even
+ * when NCURSES_OPAQUE is set:
+ */
+extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_pad (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_subwin (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(int) wgetdelay (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generated */
+
+#else
+#define curses_version() NCURSES_VERSION
+#endif
+
+/*
+ * Extra extension-functions, which pass a SCREEN pointer rather than using
+ * a global variable SP.
+ */
+#if 1
+#undef  NCURSES_SP_FUNCS
+#define NCURSES_SP_FUNCS 20240427
+#define NCURSES_SP_NAME(name) name##_sp
+
+/* Define the sp-funcs helper function */
+#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)
+typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);
+
+extern NCURSES_EXPORT(SCREEN *) new_prescr (void); /* implemented:SP_FUNC */
+
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(baudrate) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(beep) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(can_change_color) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(cbreak) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(curs_set) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(color_content) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T*, NCURSES_COLOR_T*, NCURSES_COLOR_T*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(delay_output) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(doupdate) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(echo) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(endwin) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char) NCURSES_SP_NAME(erasechar) (SCREEN*);/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(filter) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flash) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flushinp) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(getwin) (SCREEN*, FILE *);			/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(halfdelay) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_colors) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_ic) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_il) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_color) (SCREEN*, NCURSES_COLOR_T, NCURSES_COLOR_T, NCURSES_COLOR_T, NCURSES_COLOR_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_pair) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T, NCURSES_COLOR_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(intrflush) (SCREEN*, WINDOW*, bool);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(isendwin) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(keyname) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char) NCURSES_SP_NAME(killchar) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(longname) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mvcur) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(napms) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newpad) (SCREEN*, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(SCREEN *) NCURSES_SP_NAME(newterm) (SCREEN*, const char *, FILE *, FILE *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newwin) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nl) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nocbreak) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noecho) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nonl) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(noqiflush) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noraw) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(pair_content) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T*, NCURSES_COLOR_T*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(qiflush) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(raw) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resetty) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ripoffline) (SCREEN*, int, int (*)(WINDOW *, int));	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(savetty) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_init) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_restore) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_set) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attroff) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attron) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attrset) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(slk_attr) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attr_set) (SCREEN*, const attr_t, NCURSES_PAIRS_T, void*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_clear) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_color) (SCREEN*, NCURSES_PAIRS_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_init) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(slk_label) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_noutrefresh) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_refresh) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_restore) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_set) (SCREEN*, int, const char *, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_touch) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(start_color) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(chtype) NCURSES_SP_NAME(termattrs) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(termname) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(typeahead) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetch) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_env) (SCREEN*, bool); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_tioctl) (SCREEN*, bool); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidattr) (SCREEN*, chtype);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidputs) (SCREEN*, chtype, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
+#if 1
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(alloc_pair) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(assume_default_colors) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(define_key) (SCREEN*, const char *, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_color_content) (SCREEN*, int, int *, int *, int *);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_pair_content) (SCREEN*, int, int *, int *);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_slk_color) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(find_pair) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(free_pair) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(get_escdelay) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_extended_color) (SCREEN*, int, int, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_extended_pair) (SCREEN*, int, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(is_cbreak) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(is_echo) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(is_nl) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(is_raw) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(is_term_resized) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(key_defined) (SCREEN*, const char *);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(keybound) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(keyok) (SCREEN*, int, bool);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(nofilter) (SCREEN*); /* implemented */	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(reset_color_pairs) (SCREEN*); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resize_term) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resizeterm) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_escdelay) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_tabsize) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_default_colors) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+#endif
+#else
+#undef  NCURSES_SP_FUNCS
+#define NCURSES_SP_FUNCS 0
+#define NCURSES_SP_NAME(name) name
+#define NCURSES_SP_OUTC NCURSES_OUTC
+#endif
+
+/* attributes */
+
+#define NCURSES_ATTR_SHIFT       8
+#define NCURSES_BITS(mask,shift) (NCURSES_CAST(chtype,(mask)) << ((shift) + NCURSES_ATTR_SHIFT))
+
+#define A_NORMAL	(1U - 1U)
+#define A_ATTRIBUTES	NCURSES_BITS(~(1U - 1U),0)
+#define A_CHARTEXT	(NCURSES_BITS(1U,0) - 1U)
+#define A_COLOR		NCURSES_BITS(((1U) << 8) - 1U,0)
+#define A_STANDOUT	NCURSES_BITS(1U,8)
+#define A_UNDERLINE	NCURSES_BITS(1U,9)
+#define A_REVERSE	NCURSES_BITS(1U,10)
+#define A_BLINK		NCURSES_BITS(1U,11)
+#define A_DIM		NCURSES_BITS(1U,12)
+#define A_BOLD		NCURSES_BITS(1U,13)
+#define A_ALTCHARSET	NCURSES_BITS(1U,14)
+#define A_INVIS		NCURSES_BITS(1U,15)
+#define A_PROTECT	NCURSES_BITS(1U,16)
+#define A_HORIZONTAL	NCURSES_BITS(1U,17)
+#define A_LEFT		NCURSES_BITS(1U,18)
+#define A_LOW		NCURSES_BITS(1U,19)
+#define A_RIGHT		NCURSES_BITS(1U,20)
+#define A_TOP		NCURSES_BITS(1U,21)
+#define A_VERTICAL	NCURSES_BITS(1U,22)
+
+#if 1
+#define A_ITALIC	NCURSES_BITS(1U,23)	/* ncurses extension */
+#endif
+
+/*
+ * Most of the pseudo functions are macros that either provide compatibility
+ * with older versions of curses, or provide inline functionality to improve
+ * performance.
+ */
+
+/*
+ * These pseudo functions are always implemented as macros:
+ */
+
+#define getyx(win,y,x)		(y = getcury(win), x = getcurx(win))
+#define getbegyx(win,y,x)	(y = getbegy(win), x = getbegx(win))
+#define getmaxyx(win,y,x)	(y = getmaxy(win), x = getmaxx(win))
+#define getparyx(win,y,x)	(y = getpary(win), x = getparx(win))
+
+#define getsyx(y,x) do { if (newscr) { \
+			     if (is_leaveok(newscr)) \
+				(y) = (x) = -1; \
+			     else \
+				 getyx(newscr,(y), (x)); \
+			} \
+		    } while(0)
+
+#define setsyx(y,x) do { if (newscr) { \
+			    if ((y) == -1 && (x) == -1) \
+				leaveok(newscr, TRUE); \
+			    else { \
+				leaveok(newscr, FALSE); \
+				wmove(newscr, (y), (x)); \
+			    } \
+			} \
+		    } while(0)
+
+#ifndef NCURSES_NOMACROS
+
+/*
+ * These miscellaneous pseudo functions are provided for compatibility:
+ */
+
+#define wgetstr(w, s)		wgetnstr(w, s, -1)
+#define getnstr(s, n)		wgetnstr(stdscr, s, (n))
+
+#define setterm(term)		setupterm(term, 1, (int *)0)
+
+#define fixterm()		reset_prog_mode()
+#define resetterm()		reset_shell_mode()
+#define saveterm()		def_prog_mode()
+#define crmode()		cbreak()
+#define nocrmode()		nocbreak()
+#define gettmode()
+
+/* It seems older SYSV curses versions define these */
+#if !NCURSES_OPAQUE
+#define getattrs(win)		NCURSES_CAST(int, NCURSES_OK_ADDR(win) ? (win)->_attrs : A_NORMAL)
+#define getcurx(win)		(NCURSES_OK_ADDR(win) ? (win)->_curx : ERR)
+#define getcury(win)		(NCURSES_OK_ADDR(win) ? (win)->_cury : ERR)
+#define getbegx(win)		(NCURSES_OK_ADDR(win) ? (win)->_begx : ERR)
+#define getbegy(win)		(NCURSES_OK_ADDR(win) ? (win)->_begy : ERR)
+#define getmaxx(win)		(NCURSES_OK_ADDR(win) ? ((win)->_maxx + 1) : ERR)
+#define getmaxy(win)		(NCURSES_OK_ADDR(win) ? ((win)->_maxy + 1) : ERR)
+#define getparx(win)		(NCURSES_OK_ADDR(win) ? (win)->_parx : ERR)
+#define getpary(win)		(NCURSES_OK_ADDR(win) ? (win)->_pary : ERR)
+#endif /* NCURSES_OPAQUE */
+
+#define wstandout(win)		(wattrset(win,A_STANDOUT))
+#define wstandend(win)		(wattrset(win,A_NORMAL))
+
+#define wattron(win,at)		wattr_on(win, NCURSES_CAST(attr_t, at), NULL)
+#define wattroff(win,at)	wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
+
+#if !NCURSES_OPAQUE
+#if NCURSES_WATTR_MACROS
+#if NCURSES_WIDECHAR && 1
+#define wattrset(win,at) \
+	(NCURSES_OK_ADDR(win) \
+	  ? ((win)->_color = NCURSES_CAST(int, PAIR_NUMBER(at)), \
+	     (win)->_attrs = NCURSES_CAST(attr_t, at), \
+	     OK) \
+	  : ERR)
+#else
+#define wattrset(win,at) \
+	(NCURSES_OK_ADDR(win) \
+	  ? ((win)->_attrs = NCURSES_CAST(attr_t, at), \
+	     OK) \
+	  : ERR)
+#endif
+#endif /* NCURSES_WATTR_MACROS */
+#endif /* NCURSES_OPAQUE */
+
+#define scroll(win)		wscrl(win,1)
+
+#define touchwin(win)		wtouchln((win), 0, getmaxy(win), 1)
+#define touchline(win, s, c)	wtouchln((win), s, c, 1)
+#define untouchwin(win)		wtouchln((win), 0, getmaxy(win), 0)
+
+#define box(win, v, h)		wborder(win, v, v, h, h, 0, 0, 0, 0)
+#define border(ls, rs, ts, bs, tl, tr, bl, br)	wborder(stdscr, ls, rs, ts, bs, tl, tr, bl, br)
+#define hline(ch, n)		whline(stdscr, ch, (n))
+#define vline(ch, n)		wvline(stdscr, ch, (n))
+
+#define winstr(w, s)		winnstr(w, s, -1)
+#define winchstr(w, s)		winchnstr(w, s, -1)
+#define winsstr(w, s)		winsnstr(w, s, -1)
+
+#if !NCURSES_OPAQUE
+#define redrawwin(win)		wredrawln(win, 0, (NCURSES_OK_ADDR(win) ? (win)->_maxy+1 : -1))
+#endif /* NCURSES_OPAQUE */
+
+#define waddstr(win,str)	waddnstr(win,str,-1)
+#define waddchstr(win,str)	waddchnstr(win,str,-1)
+
+/*
+ * These apply to the first 256 color pairs.
+ */
+#define COLOR_PAIR(n)	(NCURSES_BITS((n), 0) & A_COLOR)
+#define PAIR_NUMBER(a)	(NCURSES_CAST(int,((NCURSES_CAST(unsigned long,(a)) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
+
+/*
+ * pseudo functions for standard screen
+ */
+
+#define addch(ch)		waddch(stdscr,(ch))
+#define addchnstr(str,n)	waddchnstr(stdscr,(str),(n))
+#define addchstr(str)		waddchstr(stdscr,(str))
+#define addnstr(str,n)		waddnstr(stdscr,(str),(n))
+#define addstr(str)		waddnstr(stdscr,(str),-1)
+#define attr_get(ap,cp,o)	wattr_get(stdscr,(ap),(cp),(o))
+#define attr_off(a,o)		wattr_off(stdscr,(a),(o))
+#define attr_on(a,o)		wattr_on(stdscr,(a),(o))
+#define attr_set(a,c,o)		wattr_set(stdscr,(a),(c),(o))
+#define attroff(at)		wattroff(stdscr,(at))
+#define attron(at)		wattron(stdscr,(at))
+#define attrset(at)		wattrset(stdscr,(at))
+#define bkgd(ch)		wbkgd(stdscr,(ch))
+#define bkgdset(ch)		wbkgdset(stdscr,(ch))
+#define chgat(n,a,c,o)		wchgat(stdscr,(n),(a),(c),(o))
+#define clear()			wclear(stdscr)
+#define clrtobot()		wclrtobot(stdscr)
+#define clrtoeol()		wclrtoeol(stdscr)
+#define color_set(c,o)		wcolor_set(stdscr,(c),(o))
+#define delch()			wdelch(stdscr)
+#define deleteln()		winsdelln(stdscr,-1)
+#define echochar(c)		wechochar(stdscr,(c))
+#define erase()			werase(stdscr)
+#define getch()			wgetch(stdscr)
+#define getstr(str)		wgetstr(stdscr,(str))
+#define inch()			winch(stdscr)
+#define inchnstr(s,n)		winchnstr(stdscr,(s),(n))
+#define inchstr(s)		winchstr(stdscr,(s))
+#define innstr(s,n)		winnstr(stdscr,(s),(n))
+#define insch(c)		winsch(stdscr,(c))
+#define insdelln(n)		winsdelln(stdscr,(n))
+#define insertln()		winsdelln(stdscr,1)
+#define insnstr(s,n)		winsnstr(stdscr,(s),(n))
+#define insstr(s)		winsstr(stdscr,(s))
+#define instr(s)		winstr(stdscr,(s))
+#define move(y,x)		wmove(stdscr,(y),(x))
+#define refresh()		wrefresh(stdscr)
+#define scrl(n)			wscrl(stdscr,(n))
+#define setscrreg(t,b)		wsetscrreg(stdscr,(t),(b))
+#define standend()		wstandend(stdscr)
+#define standout()		wstandout(stdscr)
+#define timeout(delay)		wtimeout(stdscr,(delay))
+#define wdeleteln(win)		winsdelln(win,-1)
+#define winsertln(win)		winsdelln(win,1)
+
+/*
+ * mv functions
+ */
+
+#define mvwaddch(win,y,x,ch)		(wmove((win),(y),(x)) == ERR ? ERR : waddch((win),(ch)))
+#define mvwaddchnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),(n)))
+#define mvwaddchstr(win,y,x,str)	(wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),-1))
+#define mvwaddnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),(n)))
+#define mvwaddstr(win,y,x,str)		(wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1))
+#define mvwchgat(win,y,x,n,a,c,o)	(wmove((win),(y),(x)) == ERR ? ERR : wchgat((win),(n),(a),(c),(o)))
+#define mvwdelch(win,y,x)		(wmove((win),(y),(x)) == ERR ? ERR : wdelch(win))
+#define mvwgetch(win,y,x)		(wmove((win),(y),(x)) == ERR ? ERR : wgetch(win))
+#define mvwgetnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : wgetnstr((win),(str),(n)))
+#define mvwgetstr(win,y,x,str)		(wmove((win),(y),(x)) == ERR ? ERR : wgetstr((win),(str)))
+#define mvwhline(win,y,x,c,n)		(wmove((win),(y),(x)) == ERR ? ERR : whline((win),(c),(n)))
+#define mvwinch(win,y,x)		(wmove((win),(y),(x)) == ERR ? NCURSES_CAST(chtype, ERR) : winch(win))
+#define mvwinchnstr(win,y,x,s,n)	(wmove((win),(y),(x)) == ERR ? ERR : winchnstr((win),(s),(n)))
+#define mvwinchstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winchstr((win),(s)))
+#define mvwinnstr(win,y,x,s,n)		(wmove((win),(y),(x)) == ERR ? ERR : winnstr((win),(s),(n)))
+#define mvwinsch(win,y,x,c)		(wmove((win),(y),(x)) == ERR ? ERR : winsch((win),(c)))
+#define mvwinsnstr(win,y,x,s,n)		(wmove((win),(y),(x)) == ERR ? ERR : winsnstr((win),(s),(n)))
+#define mvwinsstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winsstr((win),(s)))
+#define mvwinstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winstr((win),(s)))
+#define mvwvline(win,y,x,c,n)		(wmove((win),(y),(x)) == ERR ? ERR : wvline((win),(c),(n)))
+
+#define mvaddch(y,x,ch)			mvwaddch(stdscr,(y),(x),(ch))
+#define mvaddchnstr(y,x,str,n)		mvwaddchnstr(stdscr,(y),(x),(str),(n))
+#define mvaddchstr(y,x,str)		mvwaddchstr(stdscr,(y),(x),(str))
+#define mvaddnstr(y,x,str,n)		mvwaddnstr(stdscr,(y),(x),(str),(n))
+#define mvaddstr(y,x,str)		mvwaddstr(stdscr,(y),(x),(str))
+#define mvchgat(y,x,n,a,c,o)		mvwchgat(stdscr,(y),(x),(n),(a),(c),(o))
+#define mvdelch(y,x)			mvwdelch(stdscr,(y),(x))
+#define mvgetch(y,x)			mvwgetch(stdscr,(y),(x))
+#define mvgetnstr(y,x,str,n)		mvwgetnstr(stdscr,(y),(x),(str),(n))
+#define mvgetstr(y,x,str)		mvwgetstr(stdscr,(y),(x),(str))
+#define mvhline(y,x,c,n)		mvwhline(stdscr,(y),(x),(c),(n))
+#define mvinch(y,x)			mvwinch(stdscr,(y),(x))
+#define mvinchnstr(y,x,s,n)		mvwinchnstr(stdscr,(y),(x),(s),(n))
+#define mvinchstr(y,x,s)		mvwinchstr(stdscr,(y),(x),(s))
+#define mvinnstr(y,x,s,n)		mvwinnstr(stdscr,(y),(x),(s),(n))
+#define mvinsch(y,x,c)			mvwinsch(stdscr,(y),(x),(c))
+#define mvinsnstr(y,x,s,n)		mvwinsnstr(stdscr,(y),(x),(s),(n))
+#define mvinsstr(y,x,s)			mvwinsstr(stdscr,(y),(x),(s))
+#define mvinstr(y,x,s)			mvwinstr(stdscr,(y),(x),(s))
+#define mvvline(y,x,c,n)		mvwvline(stdscr,(y),(x),(c),(n))
+
+/*
+ * Some wide-character functions can be implemented without the extensions.
+ */
+#if !NCURSES_OPAQUE
+#define getbkgd(win)                    (NCURSES_OK_ADDR(win) ? ((win)->_bkgd) : 0)
+#endif /* NCURSES_OPAQUE */
+
+#define slk_attr_off(a,v)		((v) ? ERR : slk_attroff(a))
+#define slk_attr_on(a,v)		((v) ? ERR : slk_attron(a))
+
+#if !NCURSES_OPAQUE
+#if NCURSES_WATTR_MACROS
+#if NCURSES_WIDECHAR && 1
+#define wattr_set(win,a,p,opts) \
+	(NCURSES_OK_ADDR(win) \
+	 ? ((void)((win)->_attrs = ((a) & ~A_COLOR), \
+		   (win)->_color = (opts) ? *(int *)(opts) : (p)), \
+	    OK) \
+	 : ERR)
+#define wattr_get(win,a,p,opts) \
+	(NCURSES_OK_ADDR(win) \
+	 ? ((void)(NCURSES_OK_ADDR(a) \
+		   ? (*(a) = (win)->_attrs) \
+		   : OK), \
+	    (void)(NCURSES_OK_ADDR(p) \
+		   ? (*(p) = (NCURSES_PAIRS_T) (win)->_color) \
+		   : OK), \
+	    (void)(NCURSES_OK_ADDR(opts) \
+		   ? (*(int *)(opts) = (win)->_color) \
+		   : OK), \
+	    OK) \
+	 : ERR)
+#else /* !(NCURSES_WIDECHAR && NCURSES_EXE_COLORS) */
+#define wattr_set(win,a,p,opts) \
+	 (NCURSES_OK_ADDR(win) \
+	  ? ((void)((win)->_attrs = (((a) & ~A_COLOR) | \
+				     (attr_t)COLOR_PAIR(p))), \
+	     OK) \
+	  : ERR)
+#define wattr_get(win,a,p,opts) \
+	(NCURSES_OK_ADDR(win) \
+	 ? ((void)(NCURSES_OK_ADDR(a) \
+		   ? (*(a) = (win)->_attrs) \
+		   : OK), \
+	    (void)(NCURSES_OK_ADDR(p) \
+		   ? (*(p) = (NCURSES_PAIRS_T) PAIR_NUMBER((win)->_attrs)) \
+		   : OK), \
+	    OK) \
+	 : ERR)
+#endif /* (NCURSES_WIDECHAR && NCURSES_EXE_COLORS) */
+#endif /* NCURSES_WATTR_MACROS */
+#endif /* NCURSES_OPAQUE */
+
+/*
+ * X/Open curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use
+ * varargs.h.  It adds new calls vw_printw/vw_scanw, which are supposed to
+ * use POSIX stdarg.h.  The ncurses versions of vwprintw/vwscanw already
+ * use stdarg.h, so...
+ */
+/* define vw_printw		vwprintw */
+/* define vw_scanw		vwscanw */
+
+/*
+ * Export fallback function for use in C++ binding.
+ */
+#if !1
+#define vsscanf(a,b,c) _nc_vsscanf(a,b,c)
+NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
+#endif
+
+/*
+ * These macros are extensions - not in X/Open Curses.
+ */
+#if 1
+#if !NCURSES_OPAQUE
+#define is_cleared(win)		(NCURSES_OK_ADDR(win) ? (win)->_clear : FALSE)
+#define is_idcok(win)		(NCURSES_OK_ADDR(win) ? (win)->_idcok : FALSE)
+#define is_idlok(win)		(NCURSES_OK_ADDR(win) ? (win)->_idlok : FALSE)
+#define is_immedok(win)		(NCURSES_OK_ADDR(win) ? (win)->_immed : FALSE)
+#define is_keypad(win)		(NCURSES_OK_ADDR(win) ? (win)->_use_keypad : FALSE)
+#define is_leaveok(win)		(NCURSES_OK_ADDR(win) ? (win)->_leaveok : FALSE)
+#define is_nodelay(win)		(NCURSES_OK_ADDR(win) ? ((win)->_delay == 0) : FALSE)
+#define is_notimeout(win)	(NCURSES_OK_ADDR(win) ? (win)->_notimeout : FALSE)
+#define is_pad(win)		(NCURSES_OK_ADDR(win) ? ((win)->_flags & _ISPAD) != 0 : FALSE)
+#define is_scrollok(win)	(NCURSES_OK_ADDR(win) ? (win)->_scroll : FALSE)
+#define is_subwin(win)		(NCURSES_OK_ADDR(win) ? ((win)->_flags & _SUBWIN) != 0 : FALSE)
+#define is_syncok(win)		(NCURSES_OK_ADDR(win) ? (win)->_sync : FALSE)
+#define wgetdelay(win)		(NCURSES_OK_ADDR(win) ? (win)->_delay : 0)
+#define wgetparent(win)		(NCURSES_OK_ADDR(win) ? (win)->_parent : 0)
+#define wgetscrreg(win,t,b)	(NCURSES_OK_ADDR(win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
+#endif
+#endif
+
+/*
+ * X/Open says this returns a bool; SVr4 also checked for out-of-range line.
+ * The macro provides compatibility:
+ */
+#define is_linetouched(w,l) ((!(w) || ((l) > getmaxy(w)) || ((l) < 0)) ? ERR : (is_linetouched)((w),(l)))
+
+#endif /* NCURSES_NOMACROS */
+
+/*
+ * Public variables.
+ *
+ * Notes:
+ *	a. ESCDELAY was an undocumented feature under AIX curses.
+ *	   It gives the ESC expire time in milliseconds.
+ *	b. ttytype is needed for backward compatibility
+ */
+#if NCURSES_REENTRANT
+
+NCURSES_WRAPPED_VAR(WINDOW *, curscr);
+NCURSES_WRAPPED_VAR(WINDOW *, newscr);
+NCURSES_WRAPPED_VAR(WINDOW *, stdscr);
+NCURSES_WRAPPED_VAR(char *, ttytype);
+NCURSES_WRAPPED_VAR(int, COLORS);
+NCURSES_WRAPPED_VAR(int, COLOR_PAIRS);
+NCURSES_WRAPPED_VAR(int, COLS);
+NCURSES_WRAPPED_VAR(int, ESCDELAY);
+NCURSES_WRAPPED_VAR(int, LINES);
+NCURSES_WRAPPED_VAR(int, TABSIZE);
+
+#define curscr      NCURSES_PUBLIC_VAR(curscr())
+#define newscr      NCURSES_PUBLIC_VAR(newscr())
+#define stdscr      NCURSES_PUBLIC_VAR(stdscr())
+#define ttytype     NCURSES_PUBLIC_VAR(ttytype())
+#define COLORS      NCURSES_PUBLIC_VAR(COLORS())
+#define COLOR_PAIRS NCURSES_PUBLIC_VAR(COLOR_PAIRS())
+#define COLS        NCURSES_PUBLIC_VAR(COLS())
+#define ESCDELAY    NCURSES_PUBLIC_VAR(ESCDELAY())
+#define LINES       NCURSES_PUBLIC_VAR(LINES())
+#define TABSIZE     NCURSES_PUBLIC_VAR(TABSIZE())
+
+#else
+
+extern NCURSES_EXPORT_VAR(WINDOW *) curscr;
+extern NCURSES_EXPORT_VAR(WINDOW *) newscr;
+extern NCURSES_EXPORT_VAR(WINDOW *) stdscr;
+extern NCURSES_EXPORT_VAR(char) ttytype[];
+extern NCURSES_EXPORT_VAR(int) COLORS;
+extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
+extern NCURSES_EXPORT_VAR(int) COLS;
+extern NCURSES_EXPORT_VAR(int) ESCDELAY;
+extern NCURSES_EXPORT_VAR(int) LINES;
+extern NCURSES_EXPORT_VAR(int) TABSIZE;
+
+#endif
+
+/*
+ * Pseudo-character tokens outside ASCII range.  The curses wgetch() function
+ * will return any given one of these only if the corresponding k- capability
+ * is defined in your terminal's terminfo entry.
+ *
+ * Some keys (KEY_A1, etc) are arranged like this:
+ *	a1     up    a3
+ *	left   b2    right
+ *	c1     down  c3
+ *
+ * A few key codes do not depend upon the terminfo entry.
+ */
+#define KEY_CODE_YES	0400		/* A wchar_t contains a key code */
+#define KEY_MIN		0401		/* Minimum curses key */
+#define KEY_BREAK	0401		/* Break key (unreliable) */
+#define KEY_SRESET	0530		/* Soft (partial) reset (unreliable) */
+#define KEY_RESET	0531		/* Reset or hard reset (unreliable) */
+/*
+ * These definitions were generated by ./MKkey_defs.sh ./Caps ./Caps-ncurses
+ */
+#define KEY_DOWN	0402		/* down-arrow key */
+#define KEY_UP		0403		/* up-arrow key */
+#define KEY_LEFT	0404		/* left-arrow key */
+#define KEY_RIGHT	0405		/* right-arrow key */
+#define KEY_HOME	0406		/* home key */
+#define KEY_BACKSPACE	0407		/* backspace key */
+#define KEY_F0		0410		/* Function keys.  Space for 64 */
+#define KEY_F(n)	(KEY_F0+(n))	/* Value of function key n */
+#define KEY_DL		0510		/* delete-line key */
+#define KEY_IL		0511		/* insert-line key */
+#define KEY_DC		0512		/* delete-character key */
+#define KEY_IC		0513		/* insert-character key */
+#define KEY_EIC		0514		/* sent by rmir or smir in insert mode */
+#define KEY_CLEAR	0515		/* clear-screen or erase key */
+#define KEY_EOS		0516		/* clear-to-end-of-screen key */
+#define KEY_EOL		0517		/* clear-to-end-of-line key */
+#define KEY_SF		0520		/* scroll-forward key */
+#define KEY_SR		0521		/* scroll-backward key */
+#define KEY_NPAGE	0522		/* next-page key */
+#define KEY_PPAGE	0523		/* previous-page key */
+#define KEY_STAB	0524		/* set-tab key */
+#define KEY_CTAB	0525		/* clear-tab key */
+#define KEY_CATAB	0526		/* clear-all-tabs key */
+#define KEY_ENTER	0527		/* enter/send key */
+#define KEY_PRINT	0532		/* print key */
+#define KEY_LL		0533		/* lower-left key (home down) */
+#define KEY_A1		0534		/* upper left of keypad */
+#define KEY_A3		0535		/* upper right of keypad */
+#define KEY_B2		0536		/* center of keypad */
+#define KEY_C1		0537		/* lower left of keypad */
+#define KEY_C3		0540		/* lower right of keypad */
+#define KEY_BTAB	0541		/* back-tab key */
+#define KEY_BEG		0542		/* begin key */
+#define KEY_CANCEL	0543		/* cancel key */
+#define KEY_CLOSE	0544		/* close key */
+#define KEY_COMMAND	0545		/* command key */
+#define KEY_COPY	0546		/* copy key */
+#define KEY_CREATE	0547		/* create key */
+#define KEY_END		0550		/* end key */
+#define KEY_EXIT	0551		/* exit key */
+#define KEY_FIND	0552		/* find key */
+#define KEY_HELP	0553		/* help key */
+#define KEY_MARK	0554		/* mark key */
+#define KEY_MESSAGE	0555		/* message key */
+#define KEY_MOVE	0556		/* move key */
+#define KEY_NEXT	0557		/* next key */
+#define KEY_OPEN	0560		/* open key */
+#define KEY_OPTIONS	0561		/* options key */
+#define KEY_PREVIOUS	0562		/* previous key */
+#define KEY_REDO	0563		/* redo key */
+#define KEY_REFERENCE	0564		/* reference key */
+#define KEY_REFRESH	0565		/* refresh key */
+#define KEY_REPLACE	0566		/* replace key */
+#define KEY_RESTART	0567		/* restart key */
+#define KEY_RESUME	0570		/* resume key */
+#define KEY_SAVE	0571		/* save key */
+#define KEY_SBEG	0572		/* shifted begin key */
+#define KEY_SCANCEL	0573		/* shifted cancel key */
+#define KEY_SCOMMAND	0574		/* shifted command key */
+#define KEY_SCOPY	0575		/* shifted copy key */
+#define KEY_SCREATE	0576		/* shifted create key */
+#define KEY_SDC		0577		/* shifted delete-character key */
+#define KEY_SDL		0600		/* shifted delete-line key */
+#define KEY_SELECT	0601		/* select key */
+#define KEY_SEND	0602		/* shifted end key */
+#define KEY_SEOL	0603		/* shifted clear-to-end-of-line key */
+#define KEY_SEXIT	0604		/* shifted exit key */
+#define KEY_SFIND	0605		/* shifted find key */
+#define KEY_SHELP	0606		/* shifted help key */
+#define KEY_SHOME	0607		/* shifted home key */
+#define KEY_SIC		0610		/* shifted insert-character key */
+#define KEY_SLEFT	0611		/* shifted left-arrow key */
+#define KEY_SMESSAGE	0612		/* shifted message key */
+#define KEY_SMOVE	0613		/* shifted move key */
+#define KEY_SNEXT	0614		/* shifted next key */
+#define KEY_SOPTIONS	0615		/* shifted options key */
+#define KEY_SPREVIOUS	0616		/* shifted previous key */
+#define KEY_SPRINT	0617		/* shifted print key */
+#define KEY_SREDO	0620		/* shifted redo key */
+#define KEY_SREPLACE	0621		/* shifted replace key */
+#define KEY_SRIGHT	0622		/* shifted right-arrow key */
+#define KEY_SRSUME	0623		/* shifted resume key */
+#define KEY_SSAVE	0624		/* shifted save key */
+#define KEY_SSUSPEND	0625		/* shifted suspend key */
+#define KEY_SUNDO	0626		/* shifted undo key */
+#define KEY_SUSPEND	0627		/* suspend key */
+#define KEY_UNDO	0630		/* undo key */
+#define KEY_MOUSE	0631		/* Mouse event has occurred */
+
+#if NCURSES_SIGWINCH
+#define KEY_RESIZE	0632		/* Terminal resize event */
+#endif
+
+#define KEY_MAX		0777		/* Maximum key value is 0632 */
+/* $Id: curses.wide,v 1.51 2021/05/22 20:28:29 tom Exp $ */
+/*
+ * vile:cmode:
+ * This file is part of ncurses, designed to be appended after curses.h.in
+ * (see that file for the relevant copyright).
+ */
+#define _XOPEN_CURSES 1
+
+#if NCURSES_WIDECHAR
+
+extern NCURSES_EXPORT_VAR(cchar_t *) _nc_wacs;
+
+#define NCURSES_WACS(c)	(&_nc_wacs[NCURSES_CAST(unsigned char,(c))])
+
+#define WACS_BSSB	NCURSES_WACS('l')
+#define WACS_SSBB	NCURSES_WACS('m')
+#define WACS_BBSS	NCURSES_WACS('k')
+#define WACS_SBBS	NCURSES_WACS('j')
+#define WACS_SBSS	NCURSES_WACS('u')
+#define WACS_SSSB	NCURSES_WACS('t')
+#define WACS_SSBS	NCURSES_WACS('v')
+#define WACS_BSSS	NCURSES_WACS('w')
+#define WACS_BSBS	NCURSES_WACS('q')
+#define WACS_SBSB	NCURSES_WACS('x')
+#define WACS_SSSS	NCURSES_WACS('n')
+
+#define WACS_ULCORNER	WACS_BSSB
+#define WACS_LLCORNER	WACS_SSBB
+#define WACS_URCORNER	WACS_BBSS
+#define WACS_LRCORNER	WACS_SBBS
+#define WACS_RTEE	WACS_SBSS
+#define WACS_LTEE	WACS_SSSB
+#define WACS_BTEE	WACS_SSBS
+#define WACS_TTEE	WACS_BSSS
+#define WACS_HLINE	WACS_BSBS
+#define WACS_VLINE	WACS_SBSB
+#define WACS_PLUS	WACS_SSSS
+
+#define WACS_S1		NCURSES_WACS('o') /* scan line 1 */
+#define WACS_S9 	NCURSES_WACS('s') /* scan line 9 */
+#define WACS_DIAMOND	NCURSES_WACS('`') /* diamond */
+#define WACS_CKBOARD	NCURSES_WACS('a') /* checker board */
+#define WACS_DEGREE	NCURSES_WACS('f') /* degree symbol */
+#define WACS_PLMINUS	NCURSES_WACS('g') /* plus/minus */
+#define WACS_BULLET	NCURSES_WACS('~') /* bullet */
+
+	/* Teletype 5410v1 symbols */
+#define WACS_LARROW	NCURSES_WACS(',') /* arrow left */
+#define WACS_RARROW	NCURSES_WACS('+') /* arrow right */
+#define WACS_DARROW	NCURSES_WACS('.') /* arrow down */
+#define WACS_UARROW	NCURSES_WACS('-') /* arrow up */
+#define WACS_BOARD	NCURSES_WACS('h') /* board of squares */
+#define WACS_LANTERN	NCURSES_WACS('i') /* lantern symbol */
+#define WACS_BLOCK	NCURSES_WACS('0') /* solid square block */
+
+	/* ncurses extensions */
+#define WACS_S3		NCURSES_WACS('p') /* scan line 3 */
+#define WACS_S7		NCURSES_WACS('r') /* scan line 7 */
+#define WACS_LEQUAL	NCURSES_WACS('y') /* less/equal */
+#define WACS_GEQUAL	NCURSES_WACS('z') /* greater/equal */
+#define WACS_PI		NCURSES_WACS('{') /* Pi */
+#define WACS_NEQUAL	NCURSES_WACS('|') /* not equal */
+#define WACS_STERLING	NCURSES_WACS('}') /* UK pound sign */
+
+	/* double lines */
+#define WACS_BDDB	NCURSES_WACS('C')
+#define WACS_DDBB	NCURSES_WACS('D')
+#define WACS_BBDD	NCURSES_WACS('B')
+#define WACS_DBBD	NCURSES_WACS('A')
+#define WACS_DBDD	NCURSES_WACS('G')
+#define WACS_DDDB	NCURSES_WACS('F')
+#define WACS_DDBD	NCURSES_WACS('H')
+#define WACS_BDDD	NCURSES_WACS('I')
+#define WACS_BDBD	NCURSES_WACS('R')
+#define WACS_DBDB	NCURSES_WACS('Y')
+#define WACS_DDDD	NCURSES_WACS('E')
+
+#define WACS_D_ULCORNER	WACS_BDDB
+#define WACS_D_LLCORNER	WACS_DDBB
+#define WACS_D_URCORNER	WACS_BBDD
+#define WACS_D_LRCORNER	WACS_DBBD
+#define WACS_D_RTEE	WACS_DBDD
+#define WACS_D_LTEE	WACS_DDDB
+#define WACS_D_BTEE	WACS_DDBD
+#define WACS_D_TTEE	WACS_BDDD
+#define WACS_D_HLINE	WACS_BDBD
+#define WACS_D_VLINE	WACS_DBDB
+#define WACS_D_PLUS	WACS_DDDD
+
+	/* thick lines */
+#define WACS_BTTB	NCURSES_WACS('L')
+#define WACS_TTBB	NCURSES_WACS('M')
+#define WACS_BBTT	NCURSES_WACS('K')
+#define WACS_TBBT	NCURSES_WACS('J')
+#define WACS_TBTT	NCURSES_WACS('U')
+#define WACS_TTTB	NCURSES_WACS('T')
+#define WACS_TTBT	NCURSES_WACS('V')
+#define WACS_BTTT	NCURSES_WACS('W')
+#define WACS_BTBT	NCURSES_WACS('Q')
+#define WACS_TBTB	NCURSES_WACS('X')
+#define WACS_TTTT	NCURSES_WACS('N')
+
+#define WACS_T_ULCORNER	WACS_BTTB
+#define WACS_T_LLCORNER	WACS_TTBB
+#define WACS_T_URCORNER	WACS_BBTT
+#define WACS_T_LRCORNER	WACS_TBBT
+#define WACS_T_RTEE	WACS_TBTT
+#define WACS_T_LTEE	WACS_TTTB
+#define WACS_T_BTEE	WACS_TTBT
+#define WACS_T_TTEE	WACS_BTTT
+#define WACS_T_HLINE	WACS_BTBT
+#define WACS_T_VLINE	WACS_TBTB
+#define WACS_T_PLUS	WACS_TTTT
+
+/*
+ * Function prototypes for wide-character operations.
+ *
+ * "generated" comments should include ":WIDEC" to make the corresponding
+ * functions ifdef'd in lib_gen.c
+ *
+ * "implemented" comments do not need this marker.
+ */
+
+extern NCURSES_EXPORT(int) add_wch (const cchar_t *);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) add_wchnstr (const cchar_t *, int);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) add_wchstr (const cchar_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) addnwstr (const wchar_t *, int);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) addwstr (const wchar_t *);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) bkgrnd (const cchar_t *);			/* generated:WIDEC */
+extern NCURSES_EXPORT(void) bkgrndset (const cchar_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) border_set (const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*); /* generated:WIDEC */
+extern NCURSES_EXPORT(int) box_set (WINDOW *, const cchar_t *, const cchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) echo_wchar (const cchar_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) erasewchar (wchar_t*);			/* implemented */
+extern NCURSES_EXPORT(int) get_wch (wint_t *);				/* generated:WIDEC */
+extern NCURSES_EXPORT(int) get_wstr (wint_t *);				/* generated:WIDEC */
+extern NCURSES_EXPORT(int) getbkgrnd (cchar_t *);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) getcchar (const cchar_t *, wchar_t*, attr_t*, NCURSES_PAIRS_T*, void*);	/* implemented */
+extern NCURSES_EXPORT(int) getn_wstr (wint_t *, int);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) hline_set (const cchar_t *, int);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) in_wch (cchar_t *);				/* generated:WIDEC */
+extern NCURSES_EXPORT(int) in_wchnstr (cchar_t *, int);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) in_wchstr (cchar_t *);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) innwstr (wchar_t *, int);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) ins_nwstr (const wchar_t *, int);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) ins_wch (const cchar_t *);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) ins_wstr (const wchar_t *);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) inwstr (wchar_t *);				/* generated:WIDEC */
+extern NCURSES_EXPORT(NCURSES_CONST char*) key_name (wchar_t);		/* implemented */
+extern NCURSES_EXPORT(int) killwchar (wchar_t *);			/* implemented */
+extern NCURSES_EXPORT(int) mvadd_wch (int, int, const cchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvadd_wchnstr (int, int, const cchar_t *, int);/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvadd_wchstr (int, int, const cchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvaddnwstr (int, int, const wchar_t *, int);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvaddwstr (int, int, const wchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvget_wch (int, int, wint_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvget_wstr (int, int, wint_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvgetn_wstr (int, int, wint_t *, int);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvhline_set (int, int, const cchar_t *, int);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvin_wch (int, int, cchar_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvin_wchnstr (int, int, cchar_t *, int);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvin_wchstr (int, int, cchar_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvinnwstr (int, int, wchar_t *, int);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvins_nwstr (int, int, const wchar_t *, int);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvins_wch (int, int, const cchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvins_wstr (int, int, const wchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvinwstr (int, int, wchar_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvvline_set (int, int, const cchar_t *, int);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwadd_wch (WINDOW *, int, int, const cchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwadd_wchnstr (WINDOW *, int, int, const cchar_t *, int); /* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwadd_wchstr (WINDOW *, int, int, const cchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwaddnwstr (WINDOW *, int, int, const wchar_t *, int);/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwaddwstr (WINDOW *, int, int, const wchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwget_wch (WINDOW *, int, int, wint_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwget_wstr (WINDOW *, int, int, wint_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwgetn_wstr (WINDOW *, int, int, wint_t *, int);/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwhline_set (WINDOW *, int, int, const cchar_t *, int);/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwin_wch (WINDOW *, int, int, cchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwin_wchnstr (WINDOW *, int,int, cchar_t *,int);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwin_wchstr (WINDOW *, int, int, cchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwinnwstr (WINDOW *, int, int, wchar_t *, int);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwins_nwstr (WINDOW *, int,int, const wchar_t *,int); /* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwins_wch (WINDOW *, int, int, const cchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwins_wstr (WINDOW *, int, int, const wchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwinwstr (WINDOW *, int, int, wchar_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) mvwvline_set (WINDOW *, int,int, const cchar_t *,int); /* generated:WIDEC */
+extern NCURSES_EXPORT(int) pecho_wchar (WINDOW *, const cchar_t *);	/* implemented */
+extern NCURSES_EXPORT(int) setcchar (cchar_t *, const wchar_t *, const attr_t, NCURSES_PAIRS_T, const void *);	/* implemented */
+extern NCURSES_EXPORT(int) slk_wset (int, const wchar_t *, int);	/* implemented */
+extern NCURSES_EXPORT(attr_t) term_attrs (void);			/* implemented */
+extern NCURSES_EXPORT(int) unget_wch (const wchar_t);			/* implemented */
+extern NCURSES_EXPORT(int) vid_attr (attr_t, NCURSES_PAIRS_T, void *);		/* implemented */
+extern NCURSES_EXPORT(int) vid_puts (attr_t, NCURSES_PAIRS_T, void *, NCURSES_OUTC); /* implemented */
+extern NCURSES_EXPORT(int) vline_set (const cchar_t *, int);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) wadd_wch (WINDOW *,const cchar_t *);		/* implemented */
+extern NCURSES_EXPORT(int) wadd_wchnstr (WINDOW *,const cchar_t *,int);	/* implemented */
+extern NCURSES_EXPORT(int) wadd_wchstr (WINDOW *,const cchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) waddnwstr (WINDOW *,const wchar_t *,int);	/* implemented */
+extern NCURSES_EXPORT(int) waddwstr (WINDOW *,const wchar_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) wbkgrnd (WINDOW *,const cchar_t *);		/* implemented */
+extern NCURSES_EXPORT(void) wbkgrndset (WINDOW *,const cchar_t *);	/* implemented */
+extern NCURSES_EXPORT(int) wborder_set (WINDOW *,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*,const cchar_t*);	/* implemented */
+extern NCURSES_EXPORT(int) wecho_wchar (WINDOW *, const cchar_t *);	/* implemented */
+extern NCURSES_EXPORT(int) wget_wch (WINDOW *, wint_t *);		/* implemented */
+extern NCURSES_EXPORT(int) wget_wstr (WINDOW *, wint_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) wgetbkgrnd (WINDOW *, cchar_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) wgetn_wstr (WINDOW *, wint_t *, int);	/* implemented */
+extern NCURSES_EXPORT(int) whline_set (WINDOW *, const cchar_t *, int);	/* implemented */
+extern NCURSES_EXPORT(int) win_wch (WINDOW *, cchar_t *);		/* implemented */
+extern NCURSES_EXPORT(int) win_wchnstr (WINDOW *, cchar_t *, int);	/* implemented */
+extern NCURSES_EXPORT(int) win_wchstr (WINDOW *, cchar_t *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) winnwstr (WINDOW *, wchar_t *, int);		/* implemented */
+extern NCURSES_EXPORT(int) wins_nwstr (WINDOW *, const wchar_t *, int);	/* implemented */
+extern NCURSES_EXPORT(int) wins_wch (WINDOW *, const cchar_t *);	/* implemented */
+extern NCURSES_EXPORT(int) wins_wstr (WINDOW *, const wchar_t *);	/* generated:WIDEC */
+extern NCURSES_EXPORT(int) winwstr (WINDOW *, wchar_t *);		/* implemented */
+extern NCURSES_EXPORT(wchar_t*) wunctrl (cchar_t *);			/* implemented */
+extern NCURSES_EXPORT(int) wvline_set (WINDOW *, const cchar_t *, int);	/* implemented */
+
+#if NCURSES_SP_FUNCS
+extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(term_attrs) (SCREEN*);		/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(erasewchar) (SCREEN*, wchar_t *);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(killwchar) (SCREEN*, wchar_t *);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(unget_wch) (SCREEN*, const wchar_t);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_attr) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vid_puts) (SCREEN*, attr_t, NCURSES_PAIRS_T, void *, NCURSES_SP_OUTC);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(wchar_t*) NCURSES_SP_NAME(wunctrl) (SCREEN*, cchar_t *);	/* implemented:SP_FUNC */
+#endif
+
+#ifndef NCURSES_NOMACROS
+
+/*
+ * XSI curses macros for XPG4 conformance.
+ */
+#define add_wch(c)			wadd_wch(stdscr,(c))
+#define add_wchnstr(str,n)		wadd_wchnstr(stdscr,(str),(n))
+#define add_wchstr(str)			wadd_wchstr(stdscr,(str))
+#define addnwstr(wstr,n)		waddnwstr(stdscr,(wstr),(n))
+#define addwstr(wstr)			waddwstr(stdscr,(wstr))
+#define bkgrnd(c)			wbkgrnd(stdscr,(c))
+#define bkgrndset(c)			wbkgrndset(stdscr,(c))
+#define border_set(l,r,t,b,tl,tr,bl,br) wborder_set(stdscr,(l),(r),(t),(b),tl,tr,bl,br)
+#define box_set(w,v,h)			wborder_set((w),(v),(v),(h),(h),0,0,0,0)
+#define echo_wchar(c)			wecho_wchar(stdscr,(c))
+#define get_wch(c)			wget_wch(stdscr,(c))
+#define get_wstr(t)			wget_wstr(stdscr,(t))
+#define getbkgrnd(wch)			wgetbkgrnd(stdscr,(wch))
+#define getn_wstr(t,n)			wgetn_wstr(stdscr,(t),(n))
+#define hline_set(c,n)			whline_set(stdscr,(c),(n))
+#define in_wch(c)			win_wch(stdscr,(c))
+#define in_wchnstr(c,n)			win_wchnstr(stdscr,(c),(n))
+#define in_wchstr(c)			win_wchstr(stdscr,(c))
+#define innwstr(c,n)			winnwstr(stdscr,(c),(n))
+#define ins_nwstr(t,n)			wins_nwstr(stdscr,(t),(n))
+#define ins_wch(c)			wins_wch(stdscr,(c))
+#define ins_wstr(t)			wins_wstr(stdscr,(t))
+#define inwstr(c)			winwstr(stdscr,(c))
+#define vline_set(c,n)			wvline_set(stdscr,(c),(n))
+#define wadd_wchstr(win,str)		wadd_wchnstr((win),(str),-1)
+#define waddwstr(win,wstr)		waddnwstr((win),(wstr),-1)
+#define wget_wstr(w,t)			wgetn_wstr((w),(t),-1)
+#define win_wchstr(w,c)			win_wchnstr((w),(c),-1)
+#define wins_wstr(w,t)			wins_nwstr((w),(t),-1)
+
+#if !NCURSES_OPAQUE
+#define wgetbkgrnd(win,wch)		(NCURSES_OK_ADDR(wch) ? ((win) ? (*(wch) = (win)->_bkgrnd) : *(wch), OK) : ERR)
+#endif
+
+#define mvadd_wch(y,x,c)		mvwadd_wch(stdscr,(y),(x),(c))
+#define mvadd_wchnstr(y,x,s,n)		mvwadd_wchnstr(stdscr,(y),(x),(s),(n))
+#define mvadd_wchstr(y,x,s)		mvwadd_wchstr(stdscr,(y),(x),(s))
+#define mvaddnwstr(y,x,wstr,n)		mvwaddnwstr(stdscr,(y),(x),(wstr),(n))
+#define mvaddwstr(y,x,wstr)		mvwaddwstr(stdscr,(y),(x),(wstr))
+#define mvget_wch(y,x,c)		mvwget_wch(stdscr,(y),(x),(c))
+#define mvget_wstr(y,x,t)		mvwget_wstr(stdscr,(y),(x),(t))
+#define mvgetn_wstr(y,x,t,n)		mvwgetn_wstr(stdscr,(y),(x),(t),(n))
+#define mvhline_set(y,x,c,n)		mvwhline_set(stdscr,(y),(x),(c),(n))
+#define mvin_wch(y,x,c)			mvwin_wch(stdscr,(y),(x),(c))
+#define mvin_wchnstr(y,x,c,n)		mvwin_wchnstr(stdscr,(y),(x),(c),(n))
+#define mvin_wchstr(y,x,c)		mvwin_wchstr(stdscr,(y),(x),(c))
+#define mvinnwstr(y,x,c,n)		mvwinnwstr(stdscr,(y),(x),(c),(n))
+#define mvins_nwstr(y,x,t,n)		mvwins_nwstr(stdscr,(y),(x),(t),(n))
+#define mvins_wch(y,x,c)		mvwins_wch(stdscr,(y),(x),(c))
+#define mvins_wstr(y,x,t)		mvwins_wstr(stdscr,(y),(x),(t))
+#define mvinwstr(y,x,c)			mvwinwstr(stdscr,(y),(x),(c))
+#define mvvline_set(y,x,c,n)		mvwvline_set(stdscr,(y),(x),(c),(n))
+
+#define mvwadd_wch(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : wadd_wch((win),(c)))
+#define mvwadd_wchnstr(win,y,x,s,n)	(wmove(win,(y),(x)) == ERR ? ERR : wadd_wchnstr((win),(s),(n)))
+#define mvwadd_wchstr(win,y,x,s)	(wmove(win,(y),(x)) == ERR ? ERR : wadd_wchstr((win),(s)))
+#define mvwaddnwstr(win,y,x,wstr,n)	(wmove(win,(y),(x)) == ERR ? ERR : waddnwstr((win),(wstr),(n)))
+#define mvwaddwstr(win,y,x,wstr)	(wmove(win,(y),(x)) == ERR ? ERR : waddwstr((win),(wstr)))
+#define mvwget_wch(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : wget_wch((win),(c)))
+#define mvwget_wstr(win,y,x,t)		(wmove(win,(y),(x)) == ERR ? ERR : wget_wstr((win),(t)))
+#define mvwgetn_wstr(win,y,x,t,n)	(wmove(win,(y),(x)) == ERR ? ERR : wgetn_wstr((win),(t),(n)))
+#define mvwhline_set(win,y,x,c,n)	(wmove(win,(y),(x)) == ERR ? ERR : whline_set((win),(c),(n)))
+#define mvwin_wch(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : win_wch((win),(c)))
+#define mvwin_wchnstr(win,y,x,c,n)	(wmove(win,(y),(x)) == ERR ? ERR : win_wchnstr((win),(c),(n)))
+#define mvwin_wchstr(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : win_wchstr((win),(c)))
+#define mvwinnwstr(win,y,x,c,n)		(wmove(win,(y),(x)) == ERR ? ERR : winnwstr((win),(c),(n)))
+#define mvwins_nwstr(win,y,x,t,n)	(wmove(win,(y),(x)) == ERR ? ERR : wins_nwstr((win),(t),(n)))
+#define mvwins_wch(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : wins_wch((win),(c)))
+#define mvwins_wstr(win,y,x,t)		(wmove(win,(y),(x)) == ERR ? ERR : wins_wstr((win),(t)))
+#define mvwinwstr(win,y,x,c)		(wmove(win,(y),(x)) == ERR ? ERR : winwstr((win),(c)))
+#define mvwvline_set(win,y,x,c,n)	(wmove(win,(y),(x)) == ERR ? ERR : wvline_set((win),(c),(n)))
+
+#endif /* NCURSES_NOMACROS */
+
+#if defined(TRACE) || defined(NCURSES_TEST)
+extern NCURSES_EXPORT(const char *) _nc_viswbuf(const wchar_t *);
+extern NCURSES_EXPORT(const char *) _nc_viswibuf(const wint_t *);
+#endif
+
+#endif /* NCURSES_WIDECHAR */
+/* $Id: curses.tail,v 1.27 2023/08/05 19:43:46 tom Exp $ */
+/*
+ * vile:cmode:
+ * This file is part of ncurses, designed to be appended after curses.h.in
+ * (see that file for the relevant copyright).
+ */
+
+/* mouse interface */
+
+#if NCURSES_MOUSE_VERSION > 1
+#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 5))
+#else
+#define NCURSES_MOUSE_MASK(b,m) ((m) << (((b) - 1) * 6))
+#endif
+
+#define	NCURSES_BUTTON_RELEASED	001UL
+#define	NCURSES_BUTTON_PRESSED	002UL
+#define	NCURSES_BUTTON_CLICKED	004UL
+#define	NCURSES_DOUBLE_CLICKED	010UL
+#define	NCURSES_TRIPLE_CLICKED	020UL
+#define	NCURSES_RESERVED_EVENT	040UL
+
+/* event masks */
+#define	BUTTON1_RELEASED	NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_RELEASED)
+#define	BUTTON1_PRESSED		NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_PRESSED)
+#define	BUTTON1_CLICKED		NCURSES_MOUSE_MASK(1, NCURSES_BUTTON_CLICKED)
+#define	BUTTON1_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(1, NCURSES_DOUBLE_CLICKED)
+#define	BUTTON1_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(1, NCURSES_TRIPLE_CLICKED)
+
+#define	BUTTON2_RELEASED	NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_RELEASED)
+#define	BUTTON2_PRESSED		NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_PRESSED)
+#define	BUTTON2_CLICKED		NCURSES_MOUSE_MASK(2, NCURSES_BUTTON_CLICKED)
+#define	BUTTON2_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(2, NCURSES_DOUBLE_CLICKED)
+#define	BUTTON2_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(2, NCURSES_TRIPLE_CLICKED)
+
+#define	BUTTON3_RELEASED	NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_RELEASED)
+#define	BUTTON3_PRESSED		NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_PRESSED)
+#define	BUTTON3_CLICKED		NCURSES_MOUSE_MASK(3, NCURSES_BUTTON_CLICKED)
+#define	BUTTON3_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(3, NCURSES_DOUBLE_CLICKED)
+#define	BUTTON3_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(3, NCURSES_TRIPLE_CLICKED)
+
+#define	BUTTON4_RELEASED	NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_RELEASED)
+#define	BUTTON4_PRESSED		NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_PRESSED)
+#define	BUTTON4_CLICKED		NCURSES_MOUSE_MASK(4, NCURSES_BUTTON_CLICKED)
+#define	BUTTON4_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(4, NCURSES_DOUBLE_CLICKED)
+#define	BUTTON4_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(4, NCURSES_TRIPLE_CLICKED)
+
+/*
+ * In 32 bits the version-1 scheme does not provide enough space for a 5th
+ * button, unless we choose to change the ABI by omitting the reserved-events.
+ */
+#if NCURSES_MOUSE_VERSION > 1
+
+#define	BUTTON5_RELEASED	NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_RELEASED)
+#define	BUTTON5_PRESSED		NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_PRESSED)
+#define	BUTTON5_CLICKED		NCURSES_MOUSE_MASK(5, NCURSES_BUTTON_CLICKED)
+#define	BUTTON5_DOUBLE_CLICKED	NCURSES_MOUSE_MASK(5, NCURSES_DOUBLE_CLICKED)
+#define	BUTTON5_TRIPLE_CLICKED	NCURSES_MOUSE_MASK(5, NCURSES_TRIPLE_CLICKED)
+
+#define	BUTTON_CTRL		NCURSES_MOUSE_MASK(6, 0001L)
+#define	BUTTON_SHIFT		NCURSES_MOUSE_MASK(6, 0002L)
+#define	BUTTON_ALT		NCURSES_MOUSE_MASK(6, 0004L)
+#define	REPORT_MOUSE_POSITION	NCURSES_MOUSE_MASK(6, 0010L)
+
+#else
+
+#define	BUTTON1_RESERVED_EVENT	NCURSES_MOUSE_MASK(1, NCURSES_RESERVED_EVENT)
+#define	BUTTON2_RESERVED_EVENT	NCURSES_MOUSE_MASK(2, NCURSES_RESERVED_EVENT)
+#define	BUTTON3_RESERVED_EVENT	NCURSES_MOUSE_MASK(3, NCURSES_RESERVED_EVENT)
+#define	BUTTON4_RESERVED_EVENT	NCURSES_MOUSE_MASK(4, NCURSES_RESERVED_EVENT)
+
+#define	BUTTON_CTRL		NCURSES_MOUSE_MASK(5, 0001L)
+#define	BUTTON_SHIFT		NCURSES_MOUSE_MASK(5, 0002L)
+#define	BUTTON_ALT		NCURSES_MOUSE_MASK(5, 0004L)
+#define	REPORT_MOUSE_POSITION	NCURSES_MOUSE_MASK(5, 0010L)
+
+#endif
+
+#define	ALL_MOUSE_EVENTS	(REPORT_MOUSE_POSITION - 1)
+
+/* macros to extract single event-bits from masks */
+#define	BUTTON_RELEASE(e, x)		((e) & NCURSES_MOUSE_MASK(x, 001))
+#define	BUTTON_PRESS(e, x)		((e) & NCURSES_MOUSE_MASK(x, 002))
+#define	BUTTON_CLICK(e, x)		((e) & NCURSES_MOUSE_MASK(x, 004))
+#define	BUTTON_DOUBLE_CLICK(e, x)	((e) & NCURSES_MOUSE_MASK(x, 010))
+#define	BUTTON_TRIPLE_CLICK(e, x)	((e) & NCURSES_MOUSE_MASK(x, 020))
+#define	BUTTON_RESERVED_EVENT(e, x)	((e) & NCURSES_MOUSE_MASK(x, 040))
+
+typedef struct
+{
+    short id;		/* ID to distinguish multiple devices */
+    int x, y, z;	/* event coordinates (character-cell) */
+    mmask_t bstate;	/* button state bits */
+}
+MEVENT;
+
+extern NCURSES_EXPORT(bool)    has_mouse(void);
+extern NCURSES_EXPORT(int)     getmouse (MEVENT *);
+extern NCURSES_EXPORT(int)     ungetmouse (MEVENT *);
+extern NCURSES_EXPORT(mmask_t) mousemask (mmask_t, mmask_t *);
+extern NCURSES_EXPORT(bool)    wenclose (const WINDOW *, int, int);
+extern NCURSES_EXPORT(int)     mouseinterval (int);
+extern NCURSES_EXPORT(bool)    wmouse_trafo (const WINDOW*, int*, int*, bool);
+extern NCURSES_EXPORT(bool)    mouse_trafo (int*, int*, bool);              /* generated */
+
+#if NCURSES_SP_FUNCS
+extern NCURSES_EXPORT(bool)    NCURSES_SP_NAME(has_mouse) (SCREEN*);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(getmouse) (SCREEN*, MEVENT *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(ungetmouse) (SCREEN*,MEVENT *);
+extern NCURSES_EXPORT(mmask_t) NCURSES_SP_NAME(mousemask) (SCREEN*, mmask_t, mmask_t *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(mouseinterval) (SCREEN*, int);
+#endif
+
+#ifndef NCURSES_NOMACROS
+#define mouse_trafo(y,x,to_screen) wmouse_trafo(stdscr,y,x,to_screen)
+#endif
+
+/* other non-XSI functions */
+
+extern NCURSES_EXPORT(int) mcprint (char *, int);	/* direct data to printer */
+extern NCURSES_EXPORT(int) has_key (int);		/* do we have given key? */
+
+#if NCURSES_SP_FUNCS
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(has_key) (SCREEN*, int);    /* do we have given key? */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mcprint) (SCREEN*, char *, int);	/* direct data to printer */
+#endif
+
+/* Debugging : use with libncurses_g.a */
+
+extern NCURSES_EXPORT(void) _tracef (const char *, ...) GCC_PRINTFLIKE(1,2);
+extern NCURSES_EXPORT(char *) _traceattr (attr_t);
+extern NCURSES_EXPORT(char *) _traceattr2 (int, chtype);
+extern NCURSES_EXPORT(char *) _tracechar (int);
+extern NCURSES_EXPORT(char *) _tracechtype (chtype);
+extern NCURSES_EXPORT(char *) _tracechtype2 (int, chtype);
+#if NCURSES_WIDECHAR
+#define _tracech_t		_tracecchar_t
+extern NCURSES_EXPORT(char *) _tracecchar_t (const cchar_t *);
+#define _tracech_t2		_tracecchar_t2
+extern NCURSES_EXPORT(char *) _tracecchar_t2 (int, const cchar_t *);
+#else
+#define _tracech_t		_tracechtype
+#define _tracech_t2		_tracechtype2
+#endif
+extern NCURSES_EXPORT(void) trace (const unsigned) GCC_DEPRECATED("use curses_trace");
+extern NCURSES_EXPORT(unsigned) curses_trace (const unsigned);
+
+/* trace masks */
+#define TRACE_DISABLE	0x0000	/* turn off tracing */
+#define TRACE_TIMES	0x0001	/* trace user and system times of updates */
+#define TRACE_TPUTS	0x0002	/* trace tputs calls */
+#define TRACE_UPDATE	0x0004	/* trace update actions, old & new screens */
+#define TRACE_MOVE	0x0008	/* trace cursor moves and scrolls */
+#define TRACE_CHARPUT	0x0010	/* trace all character outputs */
+#define TRACE_ORDINARY	0x001F	/* trace all update actions */
+#define TRACE_CALLS	0x0020	/* trace all curses calls */
+#define TRACE_VIRTPUT	0x0040	/* trace virtual character puts */
+#define TRACE_IEVENT	0x0080	/* trace low-level input processing */
+#define TRACE_BITS	0x0100	/* trace state of TTY control bits */
+#define TRACE_ICALLS	0x0200	/* trace internal/nested calls */
+#define TRACE_CCALLS	0x0400	/* trace per-character calls */
+#define TRACE_DATABASE	0x0800	/* trace read/write of terminfo/termcap data */
+#define TRACE_ATTRS	0x1000	/* trace attribute updates */
+
+#define TRACE_SHIFT	13	/* number of bits in the trace masks */
+#define TRACE_MAXIMUM	((1 << TRACE_SHIFT) - 1) /* maximum trace level */
+
+#if defined(TRACE) || defined(NCURSES_TEST)
+extern NCURSES_EXPORT_VAR(int) _nc_optimize_enable;		/* enable optimizations */
+extern NCURSES_EXPORT(const char *) _nc_visbuf (const char *);
+#define OPTIMIZE_MVCUR		0x01	/* cursor movement optimization */
+#define OPTIMIZE_HASHMAP	0x02	/* diff hashing to detect scrolls */
+#define OPTIMIZE_SCROLL		0x04	/* scroll optimization */
+#define OPTIMIZE_ALL		0xff	/* enable all optimizations (dflt) */
+#endif
+
+extern GCC_NORETURN NCURSES_EXPORT(void) exit_curses (int);
+
+#include <unctrl.h>
+
+#ifdef __cplusplus
+
+#ifndef NCURSES_NOMACROS
+
+/* these names conflict with STL */
+#undef box
+#undef clear
+#undef erase
+#undef move
+#undef refresh
+
+#endif /* NCURSES_NOMACROS */
+
+}
+#endif
+
+#endif /* __NCURSES_H */
diff --git a/include/curses.head b/include/curses.head
new file mode 100644
index 0000000..49950c9
--- /dev/null
+++ b/include/curses.head
@@ -0,0 +1,1535 @@
+/****************************************************************************
+ * Copyright 2018-2023,2024 Thomas E. Dickey                                *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
+ *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
+ *     and: Thomas E. Dickey                        1996-on                 *
+ ****************************************************************************/
+
+/* $Id: curses.h.in,v 1.282 2024/01/19 11:50:07 tom Exp $ */
+
+#ifndef __NCURSES_H
+#define __NCURSES_H
+
+/*
+ The symbols beginning NCURSES_ or USE_ are configuration choices.
+ A few of the former can be overridden by applications at compile-time.
+ Most of the others correspond to configure-script options (or checks
+ by the configure-script for features of the system on which it is built).
+
+ These symbols can be overridden by applications at compile-time:
+ NCURSES_NOMACROS suppresses macro definitions in favor of functions
+ NCURSES_WATTR_MACROS suppresses wattr_* macro definitions
+ NCURSES_WIDECHAR is an alternative for declaring wide-character functions.
+
+ These symbols are used only when building ncurses:
+ NCURSES_ATTR_T
+ NCURSES_FIELD_INTERNALS
+ NCURSES_INTERNALS
+
+ These symbols are set by the configure script:
+ NCURSES_ENABLE_STDBOOL_H
+ NCURSES_EXPANDED
+ NCURSES_EXT_COLORS
+ NCURSES_EXT_FUNCS
+ NCURSES_EXT_PUTWIN
+ NCURSES_NO_PADDING
+ NCURSES_OSPEED_COMPAT
+ NCURSES_PATHSEP
+ NCURSES_REENTRANT
+ NCURSES_SIGWINCH
+ */
+
+#define CURSES 1
+#define CURSES_H 1
+
+/* These are defined only in curses.h, and are used for conditional compiles */
+#define NCURSES_VERSION_MAJOR 6
+#define NCURSES_VERSION_MINOR 5
+#define NCURSES_VERSION_PATCH 20240427
+
+/* This is defined in more than one ncurses header, for identification */
+#undef  NCURSES_VERSION
+#define NCURSES_VERSION "6.5"
+
+/*
+ * Identify the mouse encoding version.
+ */
+#define NCURSES_MOUSE_VERSION 2
+
+/*
+ * Definitions to facilitate DLL's.
+ */
+#include <ncurses_dll.h>
+
+/*
+ * Extra headers.
+ */
+#if 1
+#include <stdint.h>
+#endif
+
+#ifdef __cplusplus
+#else
+#if 0
+#include <stdnoreturn.h>
+#undef GCC_NORETURN
+#define GCC_NORETURN _Noreturn
+#endif
+#endif
+
+/*
+ * User-definable tweak to disable the include of <stdbool.h>.
+ */
+#ifndef NCURSES_ENABLE_STDBOOL_H
+#define NCURSES_ENABLE_STDBOOL_H 1
+#endif
+
+/*
+ * NCURSES_ATTR_T is used to quiet compiler warnings when building ncurses
+ * configured using --disable-macros.
+ */
+#ifndef NCURSES_ATTR_T
+#define NCURSES_ATTR_T int
+#endif
+
+/*
+ * Expands to 'const' if ncurses is configured using --enable-const.  Note that
+ * doing so makes it incompatible with other implementations of X/Open Curses.
+ */
+#undef  NCURSES_CONST
+#define NCURSES_CONST const
+
+#undef NCURSES_INLINE
+#define NCURSES_INLINE inline
+
+/*
+ * The standard type used for color values, and for color-pairs.  The latter
+ * allows the curses library to enumerate the combinations of foreground and
+ * background colors used by an application, and is normally the product of the
+ * total foreground and background colors.
+ *
+ * X/Open uses "short" for both of these types, ultimately because they are
+ * numbers from the SVr4 terminal database, which uses 16-bit signed values.
+ */
+#undef	NCURSES_COLOR_T
+#define	NCURSES_COLOR_T short
+
+#undef	NCURSES_PAIRS_T
+#define	NCURSES_PAIRS_T short
+
+/*
+ * Definitions used to make WINDOW and similar structs opaque.
+ */
+#ifndef NCURSES_INTERNALS
+#define NCURSES_OPAQUE       1
+#define NCURSES_OPAQUE_FORM  1
+#define NCURSES_OPAQUE_MENU  1
+#define NCURSES_OPAQUE_PANEL 1
+#endif
+
+/*
+ * Definition used to optionally suppress wattr* macros to help with the
+ * transition from ncurses5 to ncurses6 by allowing the header files to
+ * be shared across development packages for ncursesw in both ABIs.
+ */
+#ifndef NCURSES_WATTR_MACROS
+#define NCURSES_WATTR_MACROS 0
+#endif
+
+/*
+ * The reentrant code relies on the opaque setting, but adds features.
+ */
+#ifndef NCURSES_REENTRANT
+#define NCURSES_REENTRANT 0
+#endif
+
+/*
+ * KEY_RESIZE is an extended feature that relies upon the SIGWINCH handler
+ * in ncurses.
+ */
+#if 1
+#ifndef NCURSES_SIGWINCH
+#define NCURSES_SIGWINCH 1
+#endif
+#else
+#undef NCURSES_SIGWINCH
+#define NCURSES_SIGWINCH 0
+#endif
+
+/*
+ * In certain environments, we must work around linker problems for data
+ */
+#undef NCURSES_BROKEN_LINKER
+#if 0
+#define NCURSES_BROKEN_LINKER 1
+#endif
+
+/*
+ * Control whether bindings for interop support are added.
+ */
+#undef	NCURSES_INTEROP_FUNCS
+#define	NCURSES_INTEROP_FUNCS 1
+
+/*
+ * The internal type used for window dimensions.
+ */
+#undef	NCURSES_SIZE_T
+#define	NCURSES_SIZE_T short
+
+/*
+ * Control whether tparm() supports varargs or fixed-parameter list.
+ */
+#undef NCURSES_TPARM_VARARGS
+#define NCURSES_TPARM_VARARGS 1
+
+/*
+ * Control type used for tparm's arguments.  While X/Open equates long and
+ * char* values, this is not always workable for 64-bit platforms.
+ */
+#undef NCURSES_TPARM_ARG
+#define NCURSES_TPARM_ARG intptr_t
+
+/*
+ * Control whether ncurses uses wcwidth() for checking width of line-drawing
+ * characters.
+ */
+#undef NCURSES_WCWIDTH_GRAPHICS
+#define NCURSES_WCWIDTH_GRAPHICS 1
+
+/*
+ * NCURSES_CH_T is used in building the library, but not used otherwise in
+ * this header file, since that would make the normal/wide-character versions
+ * of the header incompatible.
+ */
+#undef	NCURSES_CH_T
+#define NCURSES_CH_T cchar_t
+
+#if 1 && defined(_LP64)
+typedef unsigned chtype;
+typedef unsigned mmask_t;
+#else
+typedef uint32_t chtype;
+typedef uint32_t mmask_t;
+#endif
+
+/*
+ * We need FILE, etc.  Include this before checking any feature symbols.
+ */
+#include <stdio.h>
+
+/*
+ * With XPG4, you must define _XOPEN_SOURCE_EXTENDED, it is redundant (or
+ * conflicting) when _XOPEN_SOURCE is 500 or greater.  If NCURSES_WIDECHAR is
+ * not already defined, e.g., if the platform relies upon nonstandard feature
+ * test macros, define it at this point if the standard feature test macros
+ * indicate that it should be defined.
+ */
+#ifndef NCURSES_WIDECHAR
+#if defined(_XOPEN_SOURCE_EXTENDED) || (defined(_XOPEN_SOURCE) && (_XOPEN_SOURCE - 0 >= 500))
+#define NCURSES_WIDECHAR 1
+#else
+#define NCURSES_WIDECHAR 0
+#endif
+#endif /* NCURSES_WIDECHAR */
+
+#include <stdarg.h>	/* we need va_list */
+#if NCURSES_WIDECHAR
+#include <stddef.h>	/* we want wchar_t */
+#endif
+
+/* X/Open and SVr4 specify that curses implements 'bool'.  However, C++ may also
+ * implement it.  If so, we must use the C++ compiler's type to avoid conflict
+ * with other interfaces.
+ *
+ * A further complication is that <stdbool.h> may declare 'bool' to be a
+ * different type, such as an enum which is not necessarily compatible with
+ * C++.  If we have <stdbool.h>, make 'bool' a macro, so users may #undef it.
+ * Otherwise, let it remain a typedef to avoid conflicts with other #define's.
+ * In either case, make a typedef for NCURSES_BOOL which can be used if needed
+ * from either C or C++.
+ */
+
+#undef TRUE
+#define TRUE    1
+
+#undef FALSE
+#define FALSE   0
+
+typedef unsigned char NCURSES_BOOL;
+
+#if defined(__cplusplus)	/* __cplusplus, etc. */
+
+/* use the C++ compiler's bool type */
+#define NCURSES_BOOL bool
+
+#else			/* c89, c99, etc. */
+
+#if NCURSES_ENABLE_STDBOOL_H
+#include <stdbool.h>
+/* use whatever the C compiler decides bool really is */
+#define NCURSES_BOOL bool
+#else
+/* there is no predefined bool - use our own */
+#undef bool
+#define bool NCURSES_BOOL
+#endif
+
+#endif /* !__cplusplus, etc. */
+
+#ifdef __cplusplus
+extern "C" {
+#define NCURSES_CAST(type,value) static_cast<type>(value)
+#else
+#define NCURSES_CAST(type,value) (type)(value)
+#endif
+
+#define NCURSES_OK_ADDR(p) (0 != NCURSES_CAST(const void *, (p)))
+
+/*
+ * X/Open attributes.  In the ncurses implementation, they are identical to the
+ * A_ attributes.
+ */
+#define WA_ATTRIBUTES	A_ATTRIBUTES
+#define WA_NORMAL	A_NORMAL
+#define WA_STANDOUT	A_STANDOUT
+#define WA_UNDERLINE	A_UNDERLINE
+#define WA_REVERSE	A_REVERSE
+#define WA_BLINK	A_BLINK
+#define WA_DIM		A_DIM
+#define WA_BOLD		A_BOLD
+#define WA_ALTCHARSET	A_ALTCHARSET
+#define WA_INVIS	A_INVIS
+#define WA_PROTECT	A_PROTECT
+#define WA_HORIZONTAL	A_HORIZONTAL
+#define WA_LEFT		A_LEFT
+#define WA_LOW		A_LOW
+#define WA_RIGHT	A_RIGHT
+#define WA_TOP		A_TOP
+#define WA_VERTICAL	A_VERTICAL
+
+#if 1
+#define WA_ITALIC	A_ITALIC	/* ncurses extension */
+#endif
+
+/* colors */
+#define COLOR_BLACK	0
+#define COLOR_RED	1
+#define COLOR_GREEN	2
+#define COLOR_YELLOW	3
+#define COLOR_BLUE	4
+#define COLOR_MAGENTA	5
+#define COLOR_CYAN	6
+#define COLOR_WHITE	7
+
+/* line graphics */
+
+#if 0 || NCURSES_REENTRANT
+NCURSES_WRAPPED_VAR(chtype*, acs_map);
+#define acs_map NCURSES_PUBLIC_VAR(acs_map())
+#else
+extern NCURSES_EXPORT_VAR(chtype) acs_map[];
+#endif
+
+#define NCURSES_ACS(c)	(acs_map[NCURSES_CAST(unsigned char,(c))])
+
+/* VT100 symbols begin here */
+#define ACS_ULCORNER	NCURSES_ACS('l') /* upper left corner */
+#define ACS_LLCORNER	NCURSES_ACS('m') /* lower left corner */
+#define ACS_URCORNER	NCURSES_ACS('k') /* upper right corner */
+#define ACS_LRCORNER	NCURSES_ACS('j') /* lower right corner */
+#define ACS_LTEE	NCURSES_ACS('t') /* tee pointing right */
+#define ACS_RTEE	NCURSES_ACS('u') /* tee pointing left */
+#define ACS_BTEE	NCURSES_ACS('v') /* tee pointing up */
+#define ACS_TTEE	NCURSES_ACS('w') /* tee pointing down */
+#define ACS_HLINE	NCURSES_ACS('q') /* horizontal line */
+#define ACS_VLINE	NCURSES_ACS('x') /* vertical line */
+#define ACS_PLUS	NCURSES_ACS('n') /* large plus or crossover */
+#define ACS_S1		NCURSES_ACS('o') /* scan line 1 */
+#define ACS_S9		NCURSES_ACS('s') /* scan line 9 */
+#define ACS_DIAMOND	NCURSES_ACS('`') /* diamond */
+#define ACS_CKBOARD	NCURSES_ACS('a') /* checker board (stipple) */
+#define ACS_DEGREE	NCURSES_ACS('f') /* degree symbol */
+#define ACS_PLMINUS	NCURSES_ACS('g') /* plus/minus */
+#define ACS_BULLET	NCURSES_ACS('~') /* bullet */
+/* Teletype 5410v1 symbols begin here */
+#define ACS_LARROW	NCURSES_ACS(',') /* arrow pointing left */
+#define ACS_RARROW	NCURSES_ACS('+') /* arrow pointing right */
+#define ACS_DARROW	NCURSES_ACS('.') /* arrow pointing down */
+#define ACS_UARROW	NCURSES_ACS('-') /* arrow pointing up */
+#define ACS_BOARD	NCURSES_ACS('h') /* board of squares */
+#define ACS_LANTERN	NCURSES_ACS('i') /* lantern symbol */
+#define ACS_BLOCK	NCURSES_ACS('0') /* solid square block */
+/*
+ * These aren't documented, but a lot of System Vs have them anyway
+ * (you can spot pprryyzz{{||}} in a lot of AT&T terminfo strings).
+ * The ACS_names may not match AT&T's, our source didn't know them.
+ */
+#define ACS_S3		NCURSES_ACS('p') /* scan line 3 */
+#define ACS_S7		NCURSES_ACS('r') /* scan line 7 */
+#define ACS_LEQUAL	NCURSES_ACS('y') /* less/equal */
+#define ACS_GEQUAL	NCURSES_ACS('z') /* greater/equal */
+#define ACS_PI		NCURSES_ACS('{') /* Pi */
+#define ACS_NEQUAL	NCURSES_ACS('|') /* not equal */
+#define ACS_STERLING	NCURSES_ACS('}') /* UK pound sign */
+
+/*
+ * Line drawing ACS names are of the form ACS_trbl, where t is the top, r
+ * is the right, b is the bottom, and l is the left.  t, r, b, and l might
+ * be B (blank), S (single), D (double), or T (thick).  The subset defined
+ * here only uses B and S.
+ */
+#define ACS_BSSB	ACS_ULCORNER
+#define ACS_SSBB	ACS_LLCORNER
+#define ACS_BBSS	ACS_URCORNER
+#define ACS_SBBS	ACS_LRCORNER
+#define ACS_SBSS	ACS_RTEE
+#define ACS_SSSB	ACS_LTEE
+#define ACS_SSBS	ACS_BTEE
+#define ACS_BSSS	ACS_TTEE
+#define ACS_BSBS	ACS_HLINE
+#define ACS_SBSB	ACS_VLINE
+#define ACS_SSSS	ACS_PLUS
+
+#undef	ERR
+#define ERR     (-1)
+
+#undef	OK
+#define OK      (0)
+
+/* values for the _flags member */
+#define _SUBWIN         0x01	/* is this a sub-window? */
+#define _ENDLINE        0x02	/* is the window flush right? */
+#define _FULLWIN        0x04	/* is the window full-screen? */
+#define _SCROLLWIN      0x08	/* bottom edge is at screen bottom? */
+#define _ISPAD	        0x10	/* is this window a pad? */
+#define _HASMOVED       0x20	/* has cursor moved since last refresh? */
+#define _WRAPPED        0x40	/* cursor was just wrappped */
+
+/*
+ * this value is used in the firstchar and lastchar fields to mark
+ * unchanged lines
+ */
+#define _NOCHANGE       -1
+
+/*
+ * this value is used in the oldindex field to mark lines created by insertions
+ * and scrolls.
+ */
+#define _NEWINDEX	-1
+
+#ifdef NCURSES_INTERNALS
+#undef SCREEN
+#define SCREEN struct screen
+SCREEN;
+#else
+typedef struct screen  SCREEN;
+#endif
+
+typedef struct _win_st WINDOW;
+
+typedef	chtype	attr_t;		/* ...must be at least as wide as chtype */
+
+#if NCURSES_WIDECHAR
+
+#if 0
+#ifdef mblen			/* libutf8.h defines it w/o undefining first */
+#undef mblen
+#endif
+#include <libutf8.h>
+#endif
+
+#if 1
+#include <wchar.h>		/* ...to get mbstate_t, etc. */
+#endif
+
+#if 0
+typedef unsigned short wchar_t1;
+#endif
+
+#if 0
+typedef unsigned int wint_t1;
+#endif
+
+/*
+ * cchar_t stores an array of CCHARW_MAX wide characters.  The first is
+ * normally a spacing character.  The others are non-spacing.  If those
+ * (spacing and nonspacing) do not fill the array, a null L'\0' follows.
+ * Otherwise, a null is assumed to follow when extracting via getcchar().
+ */
+#define CCHARW_MAX	5
+typedef struct
+{
+    attr_t	attr;
+    wchar_t	chars[CCHARW_MAX];
+#if 1
+#undef NCURSES_EXT_COLORS
+#define NCURSES_EXT_COLORS 20240427
+    int		ext_color;	/* color pair, must be more than 16-bits */
+#endif
+}
+cchar_t;
+
+#endif /* NCURSES_WIDECHAR */
+
+#if !NCURSES_OPAQUE
+struct ldat;
+
+struct _win_st
+{
+	NCURSES_SIZE_T _cury, _curx; /* current cursor position */
+
+	/* window location and size */
+	NCURSES_SIZE_T _maxy, _maxx; /* maximums of x and y, NOT window size */
+	NCURSES_SIZE_T _begy, _begx; /* screen coords of upper-left-hand corner */
+
+	short   _flags;		/* window state flags */
+
+	/* attribute tracking */
+	attr_t  _attrs;		/* current attribute for non-space character */
+	chtype  _bkgd;		/* current background char/attribute pair */
+
+	/* option values set by user */
+	bool	_notimeout;	/* no time out on function-key entry? */
+	bool	_clear;		/* consider all data in the window invalid? */
+	bool	_leaveok;	/* OK to not reset cursor on exit? */
+	bool	_scroll;	/* OK to scroll this window? */
+	bool	_idlok;		/* OK to use insert/delete line? */
+	bool	_idcok;		/* OK to use insert/delete char? */
+	bool	_immed;		/* window in immed mode? (not yet used) */
+	bool	_sync;		/* window in sync mode? */
+	bool	_use_keypad;	/* process function keys into KEY_ symbols? */
+	int	_delay;		/* 0 = nodelay, <0 = blocking, >0 = delay */
+
+	struct ldat *_line;	/* the actual line data */
+
+	/* global screen state */
+	NCURSES_SIZE_T _regtop;	/* top line of scrolling region */
+	NCURSES_SIZE_T _regbottom; /* bottom line of scrolling region */
+
+	/* these are used only if this is a sub-window */
+	int	_parx;		/* x coordinate of this window in parent */
+	int	_pary;		/* y coordinate of this window in parent */
+	WINDOW	*_parent;	/* pointer to parent if a sub-window */
+
+	/* these are used only if this is a pad */
+	struct pdat
+	{
+	    NCURSES_SIZE_T _pad_y,      _pad_x;
+	    NCURSES_SIZE_T _pad_top,    _pad_left;
+	    NCURSES_SIZE_T _pad_bottom, _pad_right;
+	} _pad;
+
+	NCURSES_SIZE_T _yoffset; /* real begy is _begy + _yoffset */
+
+#if NCURSES_WIDECHAR
+	cchar_t  _bkgrnd;	/* current background char/attribute pair */
+#if 1
+	int	_color;		/* current color-pair for non-space character */
+#endif
+#endif
+};
+#endif /* NCURSES_OPAQUE */
+
+/*
+ * GCC (and some other compilers) define '__attribute__'; we're using this
+ * macro to alert the compiler to flag inconsistencies in printf/scanf-like
+ * function calls.  Just in case '__attribute__' isn't defined, make a dummy.
+ * Old versions of G++ do not accept it anyway, at least not consistently with
+ * GCC.
+ */
+#if !(defined(__GNUC__) || defined(__GNUG__) || defined(__attribute__))
+#define __attribute__(p) /* nothing */
+#endif
+
+/*
+ * We cannot define these in ncurses_cfg.h, since they require parameters to be
+ * passed (that is non-portable).
+ */
+#ifndef GCC_PRINTFLIKE
+#ifndef printf
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+#else
+#define GCC_PRINTFLIKE(fmt,var) /*nothing*/
+#endif
+#endif
+
+#ifndef GCC_SCANFLIKE
+#ifndef scanf
+#define GCC_SCANFLIKE(fmt,var)  __attribute__((format(scanf,fmt,var)))
+#else
+#define GCC_SCANFLIKE(fmt,var)  /*nothing*/
+#endif
+#endif
+
+#ifndef	GCC_NORETURN
+#define	GCC_NORETURN /* nothing */
+#endif
+
+#ifndef	GCC_UNUSED
+#define	GCC_UNUSED /* nothing */
+#endif
+
+#undef  GCC_DEPRECATED
+#if (__GNUC__ - 0 > 3 || (__GNUC__ - 0 == 3 && __GNUC_MINOR__ - 0 >= 2)) && !defined(NCURSES_INTERNALS)
+#define GCC_DEPRECATED(msg) __attribute__((deprecated))
+#else
+#define GCC_DEPRECATED(msg) /* nothing */
+#endif
+
+/*
+ * Curses uses a helper function.  Define our type for this to simplify
+ * extending it for the sp-funcs feature.
+ */
+typedef int (*NCURSES_OUTC)(int);
+
+/*
+ * Function prototypes.  This is the complete X/Open Curses list of required
+ * functions.  Those marked `generated' will have sources generated from the
+ * macro definitions later in this file, in order to satisfy XPG4.2
+ * requirements.
+ */
+
+extern NCURSES_EXPORT(int) addch (const chtype);			/* generated */
+extern NCURSES_EXPORT(int) addchnstr (const chtype *, int);		/* generated */
+extern NCURSES_EXPORT(int) addchstr (const chtype *);			/* generated */
+extern NCURSES_EXPORT(int) addnstr (const char *, int);			/* generated */
+extern NCURSES_EXPORT(int) addstr (const char *);			/* generated */
+extern NCURSES_EXPORT(int) attroff (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attron (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attrset (NCURSES_ATTR_T);			/* generated */
+extern NCURSES_EXPORT(int) attr_get (attr_t *, NCURSES_PAIRS_T *, void *);	/* generated */
+extern NCURSES_EXPORT(int) attr_off (attr_t, void *);			/* generated */
+extern NCURSES_EXPORT(int) attr_on (attr_t, void *);			/* generated */
+extern NCURSES_EXPORT(int) attr_set (attr_t, NCURSES_PAIRS_T, void *);		/* generated */
+extern NCURSES_EXPORT(int) baudrate (void);				/* implemented */
+extern NCURSES_EXPORT(int) beep  (void);				/* implemented */
+extern NCURSES_EXPORT(int) bkgd (chtype);				/* generated */
+extern NCURSES_EXPORT(void) bkgdset (chtype);				/* generated */
+extern NCURSES_EXPORT(int) border (chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype);	/* generated */
+extern NCURSES_EXPORT(int) box (WINDOW *, chtype, chtype);		/* generated */
+extern NCURSES_EXPORT(bool) can_change_color (void);			/* implemented */
+extern NCURSES_EXPORT(int) cbreak (void);				/* implemented */
+extern NCURSES_EXPORT(int) chgat (int, attr_t, NCURSES_PAIRS_T, const void *);	/* generated */
+extern NCURSES_EXPORT(int) clear (void);				/* generated */
+extern NCURSES_EXPORT(int) clearok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) clrtobot (void);				/* generated */
+extern NCURSES_EXPORT(int) clrtoeol (void);				/* generated */
+extern NCURSES_EXPORT(int) color_content (NCURSES_COLOR_T,NCURSES_COLOR_T*,NCURSES_COLOR_T*,NCURSES_COLOR_T*);	/* implemented */
+extern NCURSES_EXPORT(int) color_set (NCURSES_PAIRS_T,void*);			/* generated */
+extern NCURSES_EXPORT(int) COLOR_PAIR (int);				/* generated */
+extern NCURSES_EXPORT(int) copywin (const WINDOW*,WINDOW*,int,int,int,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) curs_set (int);				/* implemented */
+extern NCURSES_EXPORT(int) def_prog_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) def_shell_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) delay_output (int);				/* implemented */
+extern NCURSES_EXPORT(int) delch (void);				/* generated */
+extern NCURSES_EXPORT(void) delscreen (SCREEN *);			/* implemented */
+extern NCURSES_EXPORT(int) delwin (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) deleteln (void);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) derwin (WINDOW *,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) doupdate (void);				/* implemented */
+extern NCURSES_EXPORT(WINDOW *) dupwin (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) echo (void);					/* implemented */
+extern NCURSES_EXPORT(int) echochar (const chtype);			/* generated */
+extern NCURSES_EXPORT(int) erase (void);				/* generated */
+extern NCURSES_EXPORT(int) endwin (void);				/* implemented */
+extern NCURSES_EXPORT(char) erasechar (void);				/* implemented */
+extern NCURSES_EXPORT(void) filter (void);				/* implemented */
+extern NCURSES_EXPORT(int) flash (void);				/* implemented */
+extern NCURSES_EXPORT(int) flushinp (void);				/* implemented */
+extern NCURSES_EXPORT(chtype) getbkgd (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getch (void);				/* generated */
+extern NCURSES_EXPORT(int) getnstr (char *, int);			/* generated */
+extern NCURSES_EXPORT(int) getstr (char *);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) getwin (FILE *);			/* implemented */
+extern NCURSES_EXPORT(int) halfdelay (int);				/* implemented */
+extern NCURSES_EXPORT(bool) has_colors (void);				/* implemented */
+extern NCURSES_EXPORT(bool) has_ic (void);				/* implemented */
+extern NCURSES_EXPORT(bool) has_il (void);				/* implemented */
+extern NCURSES_EXPORT(int) hline (chtype, int);				/* generated */
+extern NCURSES_EXPORT(void) idcok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(int) idlok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(void) immedok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(chtype) inch (void);				/* generated */
+extern NCURSES_EXPORT(int) inchnstr (chtype *, int);			/* generated */
+extern NCURSES_EXPORT(int) inchstr (chtype *);				/* generated */
+extern NCURSES_EXPORT(WINDOW *) initscr (void);				/* implemented */
+extern NCURSES_EXPORT(int) init_color (NCURSES_COLOR_T,NCURSES_COLOR_T,NCURSES_COLOR_T,NCURSES_COLOR_T);	/* implemented */
+extern NCURSES_EXPORT(int) init_pair (NCURSES_PAIRS_T,NCURSES_COLOR_T,NCURSES_COLOR_T);		/* implemented */
+extern NCURSES_EXPORT(int) innstr (char *, int);			/* generated */
+extern NCURSES_EXPORT(int) insch (chtype);				/* generated */
+extern NCURSES_EXPORT(int) insdelln (int);				/* generated */
+extern NCURSES_EXPORT(int) insertln (void);				/* generated */
+extern NCURSES_EXPORT(int) insnstr (const char *, int);			/* generated */
+extern NCURSES_EXPORT(int) insstr (const char *);			/* generated */
+extern NCURSES_EXPORT(int) instr (char *);				/* generated */
+extern NCURSES_EXPORT(int) intrflush (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(bool) isendwin (void);				/* implemented */
+extern NCURSES_EXPORT(bool) is_linetouched (WINDOW *,int);		/* implemented */
+extern NCURSES_EXPORT(bool) is_wintouched (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(NCURSES_CONST char *) keyname (int);		/* implemented */
+extern NCURSES_EXPORT(int) keypad (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(char) killchar (void);				/* implemented */
+extern NCURSES_EXPORT(int) leaveok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(char *) longname (void);				/* implemented */
+extern NCURSES_EXPORT(int) meta (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) move (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvaddch (int, int, const chtype);		/* generated */
+extern NCURSES_EXPORT(int) mvaddchnstr (int, int, const chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvaddchstr (int, int, const chtype *);	/* generated */
+extern NCURSES_EXPORT(int) mvaddnstr (int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvaddstr (int, int, const char *);		/* generated */
+extern NCURSES_EXPORT(int) mvchgat (int, int, int, attr_t, NCURSES_PAIRS_T, const void *);	/* generated */
+extern NCURSES_EXPORT(int) mvcur (int,int,int,int);			/* implemented */
+extern NCURSES_EXPORT(int) mvdelch (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvderwin (WINDOW *, int, int);		/* implemented */
+extern NCURSES_EXPORT(int) mvgetch (int, int);				/* generated */
+extern NCURSES_EXPORT(int) mvgetnstr (int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvgetstr (int, int, char *);			/* generated */
+extern NCURSES_EXPORT(int) mvhline (int, int, chtype, int);		/* generated */
+extern NCURSES_EXPORT(chtype) mvinch (int, int);			/* generated */
+extern NCURSES_EXPORT(int) mvinchnstr (int, int, chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvinchstr (int, int, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) mvinnstr (int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvinsch (int, int, chtype);			/* generated */
+extern NCURSES_EXPORT(int) mvinsnstr (int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvinsstr (int, int, const char *);		/* generated */
+extern NCURSES_EXPORT(int) mvinstr (int, int, char *);			/* generated */
+extern NCURSES_EXPORT(int) mvprintw (int,int, const char *,...)		/* implemented */
+		GCC_PRINTFLIKE(3,4);
+extern NCURSES_EXPORT(int) mvscanw (int,int, const char *,...)		/* implemented */
+		GCC_SCANFLIKE(3,4);
+extern NCURSES_EXPORT(int) mvvline (int, int, chtype, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwaddch (WINDOW *, int, int, const chtype);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddchnstr (WINDOW *, int, int, const chtype *, int);/* generated */
+extern NCURSES_EXPORT(int) mvwaddchstr (WINDOW *, int, int, const chtype *);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddnstr (WINDOW *, int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwaddstr (WINDOW *, int, int, const char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwchgat (WINDOW *, int, int, int, attr_t, NCURSES_PAIRS_T, const void *);/* generated */
+extern NCURSES_EXPORT(int) mvwdelch (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwgetch (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwgetnstr (WINDOW *, int, int, char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwgetstr (WINDOW *, int, int, char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwhline (WINDOW *, int, int, chtype, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwin (WINDOW *,int,int);			/* implemented */
+extern NCURSES_EXPORT(chtype) mvwinch (WINDOW *, int, int);			/* generated */
+extern NCURSES_EXPORT(int) mvwinchnstr (WINDOW *, int, int, chtype *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwinchstr (WINDOW *, int, int, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) mvwinnstr (WINDOW *, int, int, char *, int);		/* generated */
+extern NCURSES_EXPORT(int) mvwinsch (WINDOW *, int, int, chtype);		/* generated */
+extern NCURSES_EXPORT(int) mvwinsnstr (WINDOW *, int, int, const char *, int);	/* generated */
+extern NCURSES_EXPORT(int) mvwinsstr (WINDOW *, int, int, const char *);	/* generated */
+extern NCURSES_EXPORT(int) mvwinstr (WINDOW *, int, int, char *);		/* generated */
+extern NCURSES_EXPORT(int) mvwprintw (WINDOW*,int,int, const char *,...)	/* implemented */
+		GCC_PRINTFLIKE(4,5);
+extern NCURSES_EXPORT(int) mvwscanw (WINDOW *,int,int, const char *,...)	/* implemented */
+		GCC_SCANFLIKE(4,5);
+extern NCURSES_EXPORT(int) mvwvline (WINDOW *,int, int, chtype, int);	/* generated */
+extern NCURSES_EXPORT(int) napms (int);					/* implemented */
+extern NCURSES_EXPORT(WINDOW *) newpad (int,int);			/* implemented */
+extern NCURSES_EXPORT(SCREEN *) newterm (const char *,FILE *,FILE *);	/* implemented */
+extern NCURSES_EXPORT(WINDOW *) newwin (int,int,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) nl (void);					/* implemented */
+extern NCURSES_EXPORT(int) nocbreak (void);				/* implemented */
+extern NCURSES_EXPORT(int) nodelay (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) noecho (void);				/* implemented */
+extern NCURSES_EXPORT(int) nonl (void);					/* implemented */
+extern NCURSES_EXPORT(void) noqiflush (void);				/* implemented */
+extern NCURSES_EXPORT(int) noraw (void);				/* implemented */
+extern NCURSES_EXPORT(int) notimeout (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) overlay (const WINDOW*,WINDOW *);		/* implemented */
+extern NCURSES_EXPORT(int) overwrite (const WINDOW*,WINDOW *);		/* implemented */
+extern NCURSES_EXPORT(int) pair_content (NCURSES_PAIRS_T,NCURSES_COLOR_T*,NCURSES_COLOR_T*);		/* implemented */
+extern NCURSES_EXPORT(int) PAIR_NUMBER (int);				/* generated */
+extern NCURSES_EXPORT(int) pechochar (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) pnoutrefresh (WINDOW*,int,int,int,int,int,int);/* implemented */
+extern NCURSES_EXPORT(int) prefresh (WINDOW *,int,int,int,int,int,int);	/* implemented */
+extern NCURSES_EXPORT(int) printw (const char *,...)			/* implemented */
+		GCC_PRINTFLIKE(1,2);
+extern NCURSES_EXPORT(int) putwin (WINDOW *, FILE *);			/* implemented */
+extern NCURSES_EXPORT(void) qiflush (void);				/* implemented */
+extern NCURSES_EXPORT(int) raw (void);					/* implemented */
+extern NCURSES_EXPORT(int) redrawwin (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) refresh (void);				/* generated */
+extern NCURSES_EXPORT(int) resetty (void);				/* implemented */
+extern NCURSES_EXPORT(int) reset_prog_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) reset_shell_mode (void);			/* implemented */
+extern NCURSES_EXPORT(int) ripoffline (int, int (*)(WINDOW *, int));	/* implemented */
+extern NCURSES_EXPORT(int) savetty (void);				/* implemented */
+extern NCURSES_EXPORT(int) scanw (const char *,...)			/* implemented */
+		GCC_SCANFLIKE(1,2);
+extern NCURSES_EXPORT(int) scr_dump (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scr_init (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scrl (int);					/* generated */
+extern NCURSES_EXPORT(int) scroll (WINDOW *);				/* generated */
+extern NCURSES_EXPORT(int) scrollok (WINDOW *,bool);			/* implemented */
+extern NCURSES_EXPORT(int) scr_restore (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) scr_set (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) setscrreg (int,int);				/* generated */
+extern NCURSES_EXPORT(SCREEN *) set_term (SCREEN *);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attroff (const chtype);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_off (const attr_t, void *);		/* generated:WIDEC */
+extern NCURSES_EXPORT(int) slk_attron (const chtype);			/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_on (attr_t,void*);			/* generated:WIDEC */
+extern NCURSES_EXPORT(int) slk_attrset (const chtype);			/* implemented */
+extern NCURSES_EXPORT(attr_t) slk_attr (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_attr_set (const attr_t,NCURSES_PAIRS_T,void*);	/* implemented */
+extern NCURSES_EXPORT(int) slk_clear (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_color (NCURSES_PAIRS_T);				/* implemented */
+extern NCURSES_EXPORT(int) slk_init (int);				/* implemented */
+extern NCURSES_EXPORT(char *) slk_label (int);				/* implemented */
+extern NCURSES_EXPORT(int) slk_noutrefresh (void);			/* implemented */
+extern NCURSES_EXPORT(int) slk_refresh (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_restore (void);				/* implemented */
+extern NCURSES_EXPORT(int) slk_set (int,const char *,int);		/* implemented */
+extern NCURSES_EXPORT(int) slk_touch (void);				/* implemented */
+extern NCURSES_EXPORT(int) standout (void);				/* generated */
+extern NCURSES_EXPORT(int) standend (void);				/* generated */
+extern NCURSES_EXPORT(int) start_color (void);				/* implemented */
+extern NCURSES_EXPORT(WINDOW *) subpad (WINDOW *, int, int, int, int);	/* implemented */
+extern NCURSES_EXPORT(WINDOW *) subwin (WINDOW *, int, int, int, int);	/* implemented */
+extern NCURSES_EXPORT(int) syncok (WINDOW *, bool);			/* implemented */
+extern NCURSES_EXPORT(chtype) termattrs (void);				/* implemented */
+extern NCURSES_EXPORT(char *) termname (void);				/* implemented */
+extern NCURSES_EXPORT(void) timeout (int);				/* generated */
+extern NCURSES_EXPORT(int) touchline (WINDOW *, int, int);		/* generated */
+extern NCURSES_EXPORT(int) touchwin (WINDOW *);				/* generated */
+extern NCURSES_EXPORT(int) typeahead (int);				/* implemented */
+extern NCURSES_EXPORT(int) ungetch (int);				/* implemented */
+extern NCURSES_EXPORT(int) untouchwin (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(void) use_env (bool);				/* implemented */
+extern NCURSES_EXPORT(void) use_tioctl (bool);				/* implemented */
+extern NCURSES_EXPORT(int) vidattr (chtype);				/* implemented */
+extern NCURSES_EXPORT(int) vidputs (chtype, NCURSES_OUTC);		/* implemented */
+extern NCURSES_EXPORT(int) vline (chtype, int);				/* generated */
+extern NCURSES_EXPORT(int) vwprintw (WINDOW *, const char *, va_list) GCC_DEPRECATED(use vw_printw)	/* implemented */
+		GCC_PRINTFLIKE(2,0);
+extern NCURSES_EXPORT(int) vw_printw (WINDOW *, const char *, va_list)	/* implemented */
+		GCC_PRINTFLIKE(2,0);	
+extern NCURSES_EXPORT(int) vwscanw (WINDOW *, const char *, va_list) GCC_DEPRECATED(use vw_scanw)	/* implemented */
+		GCC_SCANFLIKE(2,0);
+extern NCURSES_EXPORT(int) vw_scanw (WINDOW *, const char *, va_list)	/* implemented */
+		GCC_SCANFLIKE(2,0);
+extern NCURSES_EXPORT(int) waddch (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) waddchnstr (WINDOW *,const chtype *,int);	/* implemented */
+extern NCURSES_EXPORT(int) waddchstr (WINDOW *,const chtype *);		/* generated */
+extern NCURSES_EXPORT(int) waddnstr (WINDOW *,const char *,int);	/* implemented */
+extern NCURSES_EXPORT(int) waddstr (WINDOW *,const char *);		/* generated */
+extern NCURSES_EXPORT(int) wattron (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattroff (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattrset (WINDOW *, int);			/* generated */
+extern NCURSES_EXPORT(int) wattr_get (WINDOW *, attr_t *, NCURSES_PAIRS_T *, void *);	/* generated */
+extern NCURSES_EXPORT(int) wattr_on (WINDOW *, attr_t, void *);		/* implemented */
+extern NCURSES_EXPORT(int) wattr_off (WINDOW *, attr_t, void *);	/* implemented */
+extern NCURSES_EXPORT(int) wattr_set (WINDOW *, attr_t, NCURSES_PAIRS_T, void *);	/* generated */
+extern NCURSES_EXPORT(int) wbkgd (WINDOW *, chtype);			/* implemented */
+extern NCURSES_EXPORT(void) wbkgdset (WINDOW *,chtype);			/* implemented */
+extern NCURSES_EXPORT(int) wborder (WINDOW *,chtype,chtype,chtype,chtype,chtype,chtype,chtype,chtype);	/* implemented */
+extern NCURSES_EXPORT(int) wchgat (WINDOW *, int, attr_t, NCURSES_PAIRS_T, const void *);/* implemented */
+extern NCURSES_EXPORT(int) wclear (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wclrtobot (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wclrtoeol (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wcolor_set (WINDOW*,NCURSES_PAIRS_T,void*);		/* implemented */
+extern NCURSES_EXPORT(void) wcursyncup (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wdelch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wdeleteln (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) wechochar (WINDOW *, const chtype);		/* implemented */
+extern NCURSES_EXPORT(int) werase (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wgetch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wgetnstr (WINDOW *,char *,int);		/* implemented */
+extern NCURSES_EXPORT(int) wgetstr (WINDOW *, char *);			/* generated */
+extern NCURSES_EXPORT(int) whline (WINDOW *, chtype, int);		/* implemented */
+extern NCURSES_EXPORT(chtype) winch (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) winchnstr (WINDOW *, chtype *, int);		/* implemented */
+extern NCURSES_EXPORT(int) winchstr (WINDOW *, chtype *);		/* generated */
+extern NCURSES_EXPORT(int) winnstr (WINDOW *, char *, int);		/* implemented */
+extern NCURSES_EXPORT(int) winsch (WINDOW *, chtype);			/* implemented */
+extern NCURSES_EXPORT(int) winsdelln (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) winsertln (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) winsnstr (WINDOW *, const char *,int);	/* implemented */
+extern NCURSES_EXPORT(int) winsstr (WINDOW *, const char *);		/* generated */
+extern NCURSES_EXPORT(int) winstr (WINDOW *, char *);			/* generated */
+extern NCURSES_EXPORT(int) wmove (WINDOW *,int,int);			/* implemented */
+extern NCURSES_EXPORT(int) wnoutrefresh (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(int) wprintw (WINDOW *, const char *,...)		/* implemented */
+		GCC_PRINTFLIKE(2,3);
+extern NCURSES_EXPORT(int) wredrawln (WINDOW *,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wrefresh (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(int) wscanw (WINDOW *, const char *,...)		/* implemented */
+		GCC_SCANFLIKE(2,3);
+extern NCURSES_EXPORT(int) wscrl (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) wsetscrreg (WINDOW *,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wstandout (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) wstandend (WINDOW *);			/* generated */
+extern NCURSES_EXPORT(void) wsyncdown (WINDOW *);			/* implemented */
+extern NCURSES_EXPORT(void) wsyncup (WINDOW *);				/* implemented */
+extern NCURSES_EXPORT(void) wtimeout (WINDOW *,int);			/* implemented */
+extern NCURSES_EXPORT(int) wtouchln (WINDOW *,int,int,int);		/* implemented */
+extern NCURSES_EXPORT(int) wvline (WINDOW *,chtype,int);		/* implemented */
+
+/*
+ * These are also declared in <term.h>:
+ */
+extern NCURSES_EXPORT(int) tigetflag (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) tigetnum (const char *);			/* implemented */
+extern NCURSES_EXPORT(char *) tigetstr (const char *);			/* implemented */
+extern NCURSES_EXPORT(int) putp (const char *);				/* implemented */
+
+#if NCURSES_TPARM_VARARGS
+extern NCURSES_EXPORT(char *) tparm (const char *, ...);		/* special */
+#else
+extern NCURSES_EXPORT(char *) tparm (const char *, NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG,NCURSES_TPARM_ARG);	/* special */
+#endif
+
+extern NCURSES_EXPORT(char *) tiparm (const char *, ...);		/* special */
+extern NCURSES_EXPORT(char *) tiparm_s (int, int, const char *, ...);	/* special */
+extern NCURSES_EXPORT(int) tiscan_s (int *, int *, const char *);	/* special */
+
+/*
+ * These functions are not in X/Open, but we use them in macro definitions:
+ */
+extern NCURSES_EXPORT(int) getattrs (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getcurx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getcury (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getbegx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getbegy (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getmaxx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getmaxy (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getparx (const WINDOW *);			/* generated */
+extern NCURSES_EXPORT(int) getpary (const WINDOW *);			/* generated */
+
+/*
+ * vid_attr() was implemented originally based on a draft of X/Open curses.
+ */
+#if !NCURSES_WIDECHAR
+#define vid_attr(a,pair,opts) vidattr(a)
+#endif
+
+/*
+ * These functions are extensions - not in X/Open Curses.
+ */
+#if 1
+#undef  NCURSES_EXT_FUNCS
+#define NCURSES_EXT_FUNCS 20240427
+typedef int (*NCURSES_WINDOW_CB)(WINDOW *, void *);
+typedef int (*NCURSES_SCREEN_CB)(SCREEN *, void *);
+extern NCURSES_EXPORT(int) alloc_pair (int, int);
+extern NCURSES_EXPORT(int) assume_default_colors (int, int);
+extern NCURSES_EXPORT(const char *) curses_version (void);
+extern NCURSES_EXPORT(int) define_key (const char *, int);
+extern NCURSES_EXPORT(int) extended_color_content(int, int *, int *, int *);
+extern NCURSES_EXPORT(int) extended_pair_content(int, int *, int *);
+extern NCURSES_EXPORT(int) extended_slk_color(int);
+extern NCURSES_EXPORT(int) find_pair (int, int);
+extern NCURSES_EXPORT(int) free_pair (int);
+extern NCURSES_EXPORT(int) get_escdelay (void);
+extern NCURSES_EXPORT(int) init_extended_color(int, int, int, int);
+extern NCURSES_EXPORT(int) init_extended_pair(int, int, int);
+extern NCURSES_EXPORT(int) is_cbreak(void);
+extern NCURSES_EXPORT(int) is_echo(void);
+extern NCURSES_EXPORT(int) is_nl(void);
+extern NCURSES_EXPORT(int) is_raw(void);
+extern NCURSES_EXPORT(bool) is_term_resized (int, int);
+extern NCURSES_EXPORT(int) key_defined (const char *);
+extern NCURSES_EXPORT(char *) keybound (int, int);
+extern NCURSES_EXPORT(int) keyok (int, bool);
+extern NCURSES_EXPORT(void) nofilter(void);
+extern NCURSES_EXPORT(void) reset_color_pairs (void);
+extern NCURSES_EXPORT(int) resize_term (int, int);
+extern NCURSES_EXPORT(int) resizeterm (int, int);
+extern NCURSES_EXPORT(int) set_escdelay (int);
+extern NCURSES_EXPORT(int) set_tabsize (int);
+extern NCURSES_EXPORT(int) use_default_colors (void);
+extern NCURSES_EXPORT(int) use_legacy_coding (int);
+extern NCURSES_EXPORT(int) use_screen (SCREEN *, NCURSES_SCREEN_CB, void *);
+extern NCURSES_EXPORT(int) use_window (WINDOW *, NCURSES_WINDOW_CB, void *);
+extern NCURSES_EXPORT(int) wresize (WINDOW *, int, int);
+
+#if 1
+#undef  NCURSES_XNAMES
+#define NCURSES_XNAMES 1
+extern NCURSES_EXPORT(int) use_extended_names (bool);
+#endif
+
+/*
+ * These extensions provide access to information stored in the WINDOW even
+ * when NCURSES_OPAQUE is set:
+ */
+extern NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_cleared (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_idcok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_idlok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_immedok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_keypad (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_leaveok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_nodelay (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_notimeout (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_pad (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_scrollok (const WINDOW *);	/* generated */
+extern NCURSES_EXPORT(bool) is_subwin (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(bool) is_syncok (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(int) wgetdelay (const WINDOW *);		/* generated */
+extern NCURSES_EXPORT(int) wgetscrreg (const WINDOW *, int *, int *); /* generated */
+
+#else
+#define curses_version() NCURSES_VERSION
+#endif
+
+/*
+ * Extra extension-functions, which pass a SCREEN pointer rather than using
+ * a global variable SP.
+ */
+#if 1
+#undef  NCURSES_SP_FUNCS
+#define NCURSES_SP_FUNCS 20240427
+#define NCURSES_SP_NAME(name) name##_sp
+
+/* Define the sp-funcs helper function */
+#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)
+typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);
+
+extern NCURSES_EXPORT(SCREEN *) new_prescr (void); /* implemented:SP_FUNC */
+
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(baudrate) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(beep) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(can_change_color) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(cbreak) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(curs_set) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(color_content) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T*, NCURSES_COLOR_T*, NCURSES_COLOR_T*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(def_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(delay_output) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(doupdate) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(echo) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(endwin) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char) NCURSES_SP_NAME(erasechar) (SCREEN*);/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(filter) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flash) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(flushinp) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(getwin) (SCREEN*, FILE *);			/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(halfdelay) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_colors) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_ic) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(has_il) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_color) (SCREEN*, NCURSES_COLOR_T, NCURSES_COLOR_T, NCURSES_COLOR_T, NCURSES_COLOR_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_pair) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T, NCURSES_COLOR_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(intrflush) (SCREEN*, WINDOW*, bool);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(isendwin) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(keyname) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char) NCURSES_SP_NAME(killchar) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(longname) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(mvcur) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(napms) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newpad) (SCREEN*, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(SCREEN *) NCURSES_SP_NAME(newterm) (SCREEN*, const char *, FILE *, FILE *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(WINDOW *) NCURSES_SP_NAME(newwin) (SCREEN*, int, int, int, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nl) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nocbreak) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noecho) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(nonl) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(noqiflush) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(noraw) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(pair_content) (SCREEN*, NCURSES_PAIRS_T, NCURSES_COLOR_T*, NCURSES_COLOR_T*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(qiflush) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(raw) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_prog_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(reset_shell_mode) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resetty) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ripoffline) (SCREEN*, int, int (*)(WINDOW *, int));	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(savetty) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_init) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_restore) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(scr_set) (SCREEN*, const char *); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attroff) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attron) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attrset) (SCREEN*, const chtype); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(attr_t) NCURSES_SP_NAME(slk_attr) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_attr_set) (SCREEN*, const attr_t, NCURSES_PAIRS_T, void*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_clear) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_color) (SCREEN*, NCURSES_PAIRS_T); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_init) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(slk_label) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_noutrefresh) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_refresh) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_restore) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_set) (SCREEN*, int, const char *, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(slk_touch) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(start_color) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(chtype) NCURSES_SP_NAME(termattrs) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(termname) (SCREEN*); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(typeahead) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(ungetch) (SCREEN*, int); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_env) (SCREEN*, bool); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(use_tioctl) (SCREEN*, bool); /* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidattr) (SCREEN*, chtype);	/* implemented:SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(vidputs) (SCREEN*, chtype, NCURSES_SP_OUTC); /* implemented:SP_FUNC */
+#if 1
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(alloc_pair) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(assume_default_colors) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(define_key) (SCREEN*, const char *, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_color_content) (SCREEN*, int, int *, int *, int *);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_pair_content) (SCREEN*, int, int *, int *);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(extended_slk_color) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(find_pair) (SCREEN*, int, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(free_pair) (SCREEN*, int); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(get_escdelay) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_extended_color) (SCREEN*, int, int, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(init_extended_pair) (SCREEN*, int, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(is_cbreak) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(is_echo) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(is_nl) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(is_raw) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(bool) NCURSES_SP_NAME(is_term_resized) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(key_defined) (SCREEN*, const char *);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(char *) NCURSES_SP_NAME(keybound) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(keyok) (SCREEN*, int, bool);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(nofilter) (SCREEN*); /* implemented */	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(void) NCURSES_SP_NAME(reset_color_pairs) (SCREEN*); /* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resize_term) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(resizeterm) (SCREEN*, int, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_escdelay) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(set_tabsize) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_default_colors) (SCREEN*);	/* implemented:EXT_SP_FUNC */
+extern NCURSES_EXPORT(int) NCURSES_SP_NAME(use_legacy_coding) (SCREEN*, int);	/* implemented:EXT_SP_FUNC */
+#endif
+#else
+#undef  NCURSES_SP_FUNCS
+#define NCURSES_SP_FUNCS 0
+#define NCURSES_SP_NAME(name) name
+#define NCURSES_SP_OUTC NCURSES_OUTC
+#endif
+
+/* attributes */
+
+#define NCURSES_ATTR_SHIFT       8
+#define NCURSES_BITS(mask,shift) (NCURSES_CAST(chtype,(mask)) << ((shift) + NCURSES_ATTR_SHIFT))
+
+#define A_NORMAL	(1U - 1U)
+#define A_ATTRIBUTES	NCURSES_BITS(~(1U - 1U),0)
+#define A_CHARTEXT	(NCURSES_BITS(1U,0) - 1U)
+#define A_COLOR		NCURSES_BITS(((1U) << 8) - 1U,0)
+#define A_STANDOUT	NCURSES_BITS(1U,8)
+#define A_UNDERLINE	NCURSES_BITS(1U,9)
+#define A_REVERSE	NCURSES_BITS(1U,10)
+#define A_BLINK		NCURSES_BITS(1U,11)
+#define A_DIM		NCURSES_BITS(1U,12)
+#define A_BOLD		NCURSES_BITS(1U,13)
+#define A_ALTCHARSET	NCURSES_BITS(1U,14)
+#define A_INVIS		NCURSES_BITS(1U,15)
+#define A_PROTECT	NCURSES_BITS(1U,16)
+#define A_HORIZONTAL	NCURSES_BITS(1U,17)
+#define A_LEFT		NCURSES_BITS(1U,18)
+#define A_LOW		NCURSES_BITS(1U,19)
+#define A_RIGHT		NCURSES_BITS(1U,20)
+#define A_TOP		NCURSES_BITS(1U,21)
+#define A_VERTICAL	NCURSES_BITS(1U,22)
+
+#if 1
+#define A_ITALIC	NCURSES_BITS(1U,23)	/* ncurses extension */
+#endif
+
+/*
+ * Most of the pseudo functions are macros that either provide compatibility
+ * with older versions of curses, or provide inline functionality to improve
+ * performance.
+ */
+
+/*
+ * These pseudo functions are always implemented as macros:
+ */
+
+#define getyx(win,y,x)		(y = getcury(win), x = getcurx(win))
+#define getbegyx(win,y,x)	(y = getbegy(win), x = getbegx(win))
+#define getmaxyx(win,y,x)	(y = getmaxy(win), x = getmaxx(win))
+#define getparyx(win,y,x)	(y = getpary(win), x = getparx(win))
+
+#define getsyx(y,x) do { if (newscr) { \
+			     if (is_leaveok(newscr)) \
+				(y) = (x) = -1; \
+			     else \
+				 getyx(newscr,(y), (x)); \
+			} \
+		    } while(0)
+
+#define setsyx(y,x) do { if (newscr) { \
+			    if ((y) == -1 && (x) == -1) \
+				leaveok(newscr, TRUE); \
+			    else { \
+				leaveok(newscr, FALSE); \
+				wmove(newscr, (y), (x)); \
+			    } \
+			} \
+		    } while(0)
+
+#ifndef NCURSES_NOMACROS
+
+/*
+ * These miscellaneous pseudo functions are provided for compatibility:
+ */
+
+#define wgetstr(w, s)		wgetnstr(w, s, -1)
+#define getnstr(s, n)		wgetnstr(stdscr, s, (n))
+
+#define setterm(term)		setupterm(term, 1, (int *)0)
+
+#define fixterm()		reset_prog_mode()
+#define resetterm()		reset_shell_mode()
+#define saveterm()		def_prog_mode()
+#define crmode()		cbreak()
+#define nocrmode()		nocbreak()
+#define gettmode()
+
+/* It seems older SYSV curses versions define these */
+#if !NCURSES_OPAQUE
+#define getattrs(win)		NCURSES_CAST(int, NCURSES_OK_ADDR(win) ? (win)->_attrs : A_NORMAL)
+#define getcurx(win)		(NCURSES_OK_ADDR(win) ? (win)->_curx : ERR)
+#define getcury(win)		(NCURSES_OK_ADDR(win) ? (win)->_cury : ERR)
+#define getbegx(win)		(NCURSES_OK_ADDR(win) ? (win)->_begx : ERR)
+#define getbegy(win)		(NCURSES_OK_ADDR(win) ? (win)->_begy : ERR)
+#define getmaxx(win)		(NCURSES_OK_ADDR(win) ? ((win)->_maxx + 1) : ERR)
+#define getmaxy(win)		(NCURSES_OK_ADDR(win) ? ((win)->_maxy + 1) : ERR)
+#define getparx(win)		(NCURSES_OK_ADDR(win) ? (win)->_parx : ERR)
+#define getpary(win)		(NCURSES_OK_ADDR(win) ? (win)->_pary : ERR)
+#endif /* NCURSES_OPAQUE */
+
+#define wstandout(win)		(wattrset(win,A_STANDOUT))
+#define wstandend(win)		(wattrset(win,A_NORMAL))
+
+#define wattron(win,at)		wattr_on(win, NCURSES_CAST(attr_t, at), NULL)
+#define wattroff(win,at)	wattr_off(win, NCURSES_CAST(attr_t, at), NULL)
+
+#if !NCURSES_OPAQUE
+#if NCURSES_WATTR_MACROS
+#if NCURSES_WIDECHAR && 1
+#define wattrset(win,at) \
+	(NCURSES_OK_ADDR(win) \
+	  ? ((win)->_color = NCURSES_CAST(int, PAIR_NUMBER(at)), \
+	     (win)->_attrs = NCURSES_CAST(attr_t, at), \
+	     OK) \
+	  : ERR)
+#else
+#define wattrset(win,at) \
+	(NCURSES_OK_ADDR(win) \
+	  ? ((win)->_attrs = NCURSES_CAST(attr_t, at), \
+	     OK) \
+	  : ERR)
+#endif
+#endif /* NCURSES_WATTR_MACROS */
+#endif /* NCURSES_OPAQUE */
+
+#define scroll(win)		wscrl(win,1)
+
+#define touchwin(win)		wtouchln((win), 0, getmaxy(win), 1)
+#define touchline(win, s, c)	wtouchln((win), s, c, 1)
+#define untouchwin(win)		wtouchln((win), 0, getmaxy(win), 0)
+
+#define box(win, v, h)		wborder(win, v, v, h, h, 0, 0, 0, 0)
+#define border(ls, rs, ts, bs, tl, tr, bl, br)	wborder(stdscr, ls, rs, ts, bs, tl, tr, bl, br)
+#define hline(ch, n)		whline(stdscr, ch, (n))
+#define vline(ch, n)		wvline(stdscr, ch, (n))
+
+#define winstr(w, s)		winnstr(w, s, -1)
+#define winchstr(w, s)		winchnstr(w, s, -1)
+#define winsstr(w, s)		winsnstr(w, s, -1)
+
+#if !NCURSES_OPAQUE
+#define redrawwin(win)		wredrawln(win, 0, (NCURSES_OK_ADDR(win) ? (win)->_maxy+1 : -1))
+#endif /* NCURSES_OPAQUE */
+
+#define waddstr(win,str)	waddnstr(win,str,-1)
+#define waddchstr(win,str)	waddchnstr(win,str,-1)
+
+/*
+ * These apply to the first 256 color pairs.
+ */
+#define COLOR_PAIR(n)	(NCURSES_BITS((n), 0) & A_COLOR)
+#define PAIR_NUMBER(a)	(NCURSES_CAST(int,((NCURSES_CAST(unsigned long,(a)) & A_COLOR) >> NCURSES_ATTR_SHIFT)))
+
+/*
+ * pseudo functions for standard screen
+ */
+
+#define addch(ch)		waddch(stdscr,(ch))
+#define addchnstr(str,n)	waddchnstr(stdscr,(str),(n))
+#define addchstr(str)		waddchstr(stdscr,(str))
+#define addnstr(str,n)		waddnstr(stdscr,(str),(n))
+#define addstr(str)		waddnstr(stdscr,(str),-1)
+#define attr_get(ap,cp,o)	wattr_get(stdscr,(ap),(cp),(o))
+#define attr_off(a,o)		wattr_off(stdscr,(a),(o))
+#define attr_on(a,o)		wattr_on(stdscr,(a),(o))
+#define attr_set(a,c,o)		wattr_set(stdscr,(a),(c),(o))
+#define attroff(at)		wattroff(stdscr,(at))
+#define attron(at)		wattron(stdscr,(at))
+#define attrset(at)		wattrset(stdscr,(at))
+#define bkgd(ch)		wbkgd(stdscr,(ch))
+#define bkgdset(ch)		wbkgdset(stdscr,(ch))
+#define chgat(n,a,c,o)		wchgat(stdscr,(n),(a),(c),(o))
+#define clear()			wclear(stdscr)
+#define clrtobot()		wclrtobot(stdscr)
+#define clrtoeol()		wclrtoeol(stdscr)
+#define color_set(c,o)		wcolor_set(stdscr,(c),(o))
+#define delch()			wdelch(stdscr)
+#define deleteln()		winsdelln(stdscr,-1)
+#define echochar(c)		wechochar(stdscr,(c))
+#define erase()			werase(stdscr)
+#define getch()			wgetch(stdscr)
+#define getstr(str)		wgetstr(stdscr,(str))
+#define inch()			winch(stdscr)
+#define inchnstr(s,n)		winchnstr(stdscr,(s),(n))
+#define inchstr(s)		winchstr(stdscr,(s))
+#define innstr(s,n)		winnstr(stdscr,(s),(n))
+#define insch(c)		winsch(stdscr,(c))
+#define insdelln(n)		winsdelln(stdscr,(n))
+#define insertln()		winsdelln(stdscr,1)
+#define insnstr(s,n)		winsnstr(stdscr,(s),(n))
+#define insstr(s)		winsstr(stdscr,(s))
+#define instr(s)		winstr(stdscr,(s))
+#define move(y,x)		wmove(stdscr,(y),(x))
+#define refresh()		wrefresh(stdscr)
+#define scrl(n)			wscrl(stdscr,(n))
+#define setscrreg(t,b)		wsetscrreg(stdscr,(t),(b))
+#define standend()		wstandend(stdscr)
+#define standout()		wstandout(stdscr)
+#define timeout(delay)		wtimeout(stdscr,(delay))
+#define wdeleteln(win)		winsdelln(win,-1)
+#define winsertln(win)		winsdelln(win,1)
+
+/*
+ * mv functions
+ */
+
+#define mvwaddch(win,y,x,ch)		(wmove((win),(y),(x)) == ERR ? ERR : waddch((win),(ch)))
+#define mvwaddchnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),(n)))
+#define mvwaddchstr(win,y,x,str)	(wmove((win),(y),(x)) == ERR ? ERR : waddchnstr((win),(str),-1))
+#define mvwaddnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),(n)))
+#define mvwaddstr(win,y,x,str)		(wmove((win),(y),(x)) == ERR ? ERR : waddnstr((win),(str),-1))
+#define mvwchgat(win,y,x,n,a,c,o)	(wmove((win),(y),(x)) == ERR ? ERR : wchgat((win),(n),(a),(c),(o)))
+#define mvwdelch(win,y,x)		(wmove((win),(y),(x)) == ERR ? ERR : wdelch(win))
+#define mvwgetch(win,y,x)		(wmove((win),(y),(x)) == ERR ? ERR : wgetch(win))
+#define mvwgetnstr(win,y,x,str,n)	(wmove((win),(y),(x)) == ERR ? ERR : wgetnstr((win),(str),(n)))
+#define mvwgetstr(win,y,x,str)		(wmove((win),(y),(x)) == ERR ? ERR : wgetstr((win),(str)))
+#define mvwhline(win,y,x,c,n)		(wmove((win),(y),(x)) == ERR ? ERR : whline((win),(c),(n)))
+#define mvwinch(win,y,x)		(wmove((win),(y),(x)) == ERR ? NCURSES_CAST(chtype, ERR) : winch(win))
+#define mvwinchnstr(win,y,x,s,n)	(wmove((win),(y),(x)) == ERR ? ERR : winchnstr((win),(s),(n)))
+#define mvwinchstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winchstr((win),(s)))
+#define mvwinnstr(win,y,x,s,n)		(wmove((win),(y),(x)) == ERR ? ERR : winnstr((win),(s),(n)))
+#define mvwinsch(win,y,x,c)		(wmove((win),(y),(x)) == ERR ? ERR : winsch((win),(c)))
+#define mvwinsnstr(win,y,x,s,n)		(wmove((win),(y),(x)) == ERR ? ERR : winsnstr((win),(s),(n)))
+#define mvwinsstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winsstr((win),(s)))
+#define mvwinstr(win,y,x,s)		(wmove((win),(y),(x)) == ERR ? ERR : winstr((win),(s)))
+#define mvwvline(win,y,x,c,n)		(wmove((win),(y),(x)) == ERR ? ERR : wvline((win),(c),(n)))
+
+#define mvaddch(y,x,ch)			mvwaddch(stdscr,(y),(x),(ch))
+#define mvaddchnstr(y,x,str,n)		mvwaddchnstr(stdscr,(y),(x),(str),(n))
+#define mvaddchstr(y,x,str)		mvwaddchstr(stdscr,(y),(x),(str))
+#define mvaddnstr(y,x,str,n)		mvwaddnstr(stdscr,(y),(x),(str),(n))
+#define mvaddstr(y,x,str)		mvwaddstr(stdscr,(y),(x),(str))
+#define mvchgat(y,x,n,a,c,o)		mvwchgat(stdscr,(y),(x),(n),(a),(c),(o))
+#define mvdelch(y,x)			mvwdelch(stdscr,(y),(x))
+#define mvgetch(y,x)			mvwgetch(stdscr,(y),(x))
+#define mvgetnstr(y,x,str,n)		mvwgetnstr(stdscr,(y),(x),(str),(n))
+#define mvgetstr(y,x,str)		mvwgetstr(stdscr,(y),(x),(str))
+#define mvhline(y,x,c,n)		mvwhline(stdscr,(y),(x),(c),(n))
+#define mvinch(y,x)			mvwinch(stdscr,(y),(x))
+#define mvinchnstr(y,x,s,n)		mvwinchnstr(stdscr,(y),(x),(s),(n))
+#define mvinchstr(y,x,s)		mvwinchstr(stdscr,(y),(x),(s))
+#define mvinnstr(y,x,s,n)		mvwinnstr(stdscr,(y),(x),(s),(n))
+#define mvinsch(y,x,c)			mvwinsch(stdscr,(y),(x),(c))
+#define mvinsnstr(y,x,s,n)		mvwinsnstr(stdscr,(y),(x),(s),(n))
+#define mvinsstr(y,x,s)			mvwinsstr(stdscr,(y),(x),(s))
+#define mvinstr(y,x,s)			mvwinstr(stdscr,(y),(x),(s))
+#define mvvline(y,x,c,n)		mvwvline(stdscr,(y),(x),(c),(n))
+
+/*
+ * Some wide-character functions can be implemented without the extensions.
+ */
+#if !NCURSES_OPAQUE
+#define getbkgd(win)                    (NCURSES_OK_ADDR(win) ? ((win)->_bkgd) : 0)
+#endif /* NCURSES_OPAQUE */
+
+#define slk_attr_off(a,v)		((v) ? ERR : slk_attroff(a))
+#define slk_attr_on(a,v)		((v) ? ERR : slk_attron(a))
+
+#if !NCURSES_OPAQUE
+#if NCURSES_WATTR_MACROS
+#if NCURSES_WIDECHAR && 1
+#define wattr_set(win,a,p,opts) \
+	(NCURSES_OK_ADDR(win) \
+	 ? ((void)((win)->_attrs = ((a) & ~A_COLOR), \
+		   (win)->_color = (opts) ? *(int *)(opts) : (p)), \
+	    OK) \
+	 : ERR)
+#define wattr_get(win,a,p,opts) \
+	(NCURSES_OK_ADDR(win) \
+	 ? ((void)(NCURSES_OK_ADDR(a) \
+		   ? (*(a) = (win)->_attrs) \
+		   : OK), \
+	    (void)(NCURSES_OK_ADDR(p) \
+		   ? (*(p) = (NCURSES_PAIRS_T) (win)->_color) \
+		   : OK), \
+	    (void)(NCURSES_OK_ADDR(opts) \
+		   ? (*(int *)(opts) = (win)->_color) \
+		   : OK), \
+	    OK) \
+	 : ERR)
+#else /* !(NCURSES_WIDECHAR && NCURSES_EXE_COLORS) */
+#define wattr_set(win,a,p,opts) \
+	 (NCURSES_OK_ADDR(win) \
+	  ? ((void)((win)->_attrs = (((a) & ~A_COLOR) | \
+				     (attr_t)COLOR_PAIR(p))), \
+	     OK) \
+	  : ERR)
+#define wattr_get(win,a,p,opts) \
+	(NCURSES_OK_ADDR(win) \
+	 ? ((void)(NCURSES_OK_ADDR(a) \
+		   ? (*(a) = (win)->_attrs) \
+		   : OK), \
+	    (void)(NCURSES_OK_ADDR(p) \
+		   ? (*(p) = (NCURSES_PAIRS_T) PAIR_NUMBER((win)->_attrs)) \
+		   : OK), \
+	    OK) \
+	 : ERR)
+#endif /* (NCURSES_WIDECHAR && NCURSES_EXE_COLORS) */
+#endif /* NCURSES_WATTR_MACROS */
+#endif /* NCURSES_OPAQUE */
+
+/*
+ * X/Open curses deprecates SVr4 vwprintw/vwscanw, which are supposed to use
+ * varargs.h.  It adds new calls vw_printw/vw_scanw, which are supposed to
+ * use POSIX stdarg.h.  The ncurses versions of vwprintw/vwscanw already
+ * use stdarg.h, so...
+ */
+/* define vw_printw		vwprintw */
+/* define vw_scanw		vwscanw */
+
+/*
+ * Export fallback function for use in C++ binding.
+ */
+#if !1
+#define vsscanf(a,b,c) _nc_vsscanf(a,b,c)
+NCURSES_EXPORT(int) vsscanf(const char *, const char *, va_list);
+#endif
+
+/*
+ * These macros are extensions - not in X/Open Curses.
+ */
+#if 1
+#if !NCURSES_OPAQUE
+#define is_cleared(win)		(NCURSES_OK_ADDR(win) ? (win)->_clear : FALSE)
+#define is_idcok(win)		(NCURSES_OK_ADDR(win) ? (win)->_idcok : FALSE)
+#define is_idlok(win)		(NCURSES_OK_ADDR(win) ? (win)->_idlok : FALSE)
+#define is_immedok(win)		(NCURSES_OK_ADDR(win) ? (win)->_immed : FALSE)
+#define is_keypad(win)		(NCURSES_OK_ADDR(win) ? (win)->_use_keypad : FALSE)
+#define is_leaveok(win)		(NCURSES_OK_ADDR(win) ? (win)->_leaveok : FALSE)
+#define is_nodelay(win)		(NCURSES_OK_ADDR(win) ? ((win)->_delay == 0) : FALSE)
+#define is_notimeout(win)	(NCURSES_OK_ADDR(win) ? (win)->_notimeout : FALSE)
+#define is_pad(win)		(NCURSES_OK_ADDR(win) ? ((win)->_flags & _ISPAD) != 0 : FALSE)
+#define is_scrollok(win)	(NCURSES_OK_ADDR(win) ? (win)->_scroll : FALSE)
+#define is_subwin(win)		(NCURSES_OK_ADDR(win) ? ((win)->_flags & _SUBWIN) != 0 : FALSE)
+#define is_syncok(win)		(NCURSES_OK_ADDR(win) ? (win)->_sync : FALSE)
+#define wgetdelay(win)		(NCURSES_OK_ADDR(win) ? (win)->_delay : 0)
+#define wgetparent(win)		(NCURSES_OK_ADDR(win) ? (win)->_parent : 0)
+#define wgetscrreg(win,t,b)	(NCURSES_OK_ADDR(win) ? (*(t) = (win)->_regtop, *(b) = (win)->_regbottom, OK) : ERR)
+#endif
+#endif
+
+/*
+ * X/Open says this returns a bool; SVr4 also checked for out-of-range line.
+ * The macro provides compatibility:
+ */
+#define is_linetouched(w,l) ((!(w) || ((l) > getmaxy(w)) || ((l) < 0)) ? ERR : (is_linetouched)((w),(l)))
+
+#endif /* NCURSES_NOMACROS */
+
+/*
+ * Public variables.
+ *
+ * Notes:
+ *	a. ESCDELAY was an undocumented feature under AIX curses.
+ *	   It gives the ESC expire time in milliseconds.
+ *	b. ttytype is needed for backward compatibility
+ */
+#if NCURSES_REENTRANT
+
+NCURSES_WRAPPED_VAR(WINDOW *, curscr);
+NCURSES_WRAPPED_VAR(WINDOW *, newscr);
+NCURSES_WRAPPED_VAR(WINDOW *, stdscr);
+NCURSES_WRAPPED_VAR(char *, ttytype);
+NCURSES_WRAPPED_VAR(int, COLORS);
+NCURSES_WRAPPED_VAR(int, COLOR_PAIRS);
+NCURSES_WRAPPED_VAR(int, COLS);
+NCURSES_WRAPPED_VAR(int, ESCDELAY);
+NCURSES_WRAPPED_VAR(int, LINES);
+NCURSES_WRAPPED_VAR(int, TABSIZE);
+
+#define curscr      NCURSES_PUBLIC_VAR(curscr())
+#define newscr      NCURSES_PUBLIC_VAR(newscr())
+#define stdscr      NCURSES_PUBLIC_VAR(stdscr())
+#define ttytype     NCURSES_PUBLIC_VAR(ttytype())
+#define COLORS      NCURSES_PUBLIC_VAR(COLORS())
+#define COLOR_PAIRS NCURSES_PUBLIC_VAR(COLOR_PAIRS())
+#define COLS        NCURSES_PUBLIC_VAR(COLS())
+#define ESCDELAY    NCURSES_PUBLIC_VAR(ESCDELAY())
+#define LINES       NCURSES_PUBLIC_VAR(LINES())
+#define TABSIZE     NCURSES_PUBLIC_VAR(TABSIZE())
+
+#else
+
+extern NCURSES_EXPORT_VAR(WINDOW *) curscr;
+extern NCURSES_EXPORT_VAR(WINDOW *) newscr;
+extern NCURSES_EXPORT_VAR(WINDOW *) stdscr;
+extern NCURSES_EXPORT_VAR(char) ttytype[];
+extern NCURSES_EXPORT_VAR(int) COLORS;
+extern NCURSES_EXPORT_VAR(int) COLOR_PAIRS;
+extern NCURSES_EXPORT_VAR(int) COLS;
+extern NCURSES_EXPORT_VAR(int) ESCDELAY;
+extern NCURSES_EXPORT_VAR(int) LINES;
+extern NCURSES_EXPORT_VAR(int) TABSIZE;
+
+#endif
+
+/*
+ * Pseudo-character tokens outside ASCII range.  The curses wgetch() function
+ * will return any given one of these only if the corresponding k- capability
+ * is defined in your terminal's terminfo entry.
+ *
+ * Some keys (KEY_A1, etc) are arranged like this:
+ *	a1     up    a3
+ *	left   b2    right
+ *	c1     down  c3
+ *
+ * A few key codes do not depend upon the terminfo entry.
+ */
+#define KEY_CODE_YES	0400		/* A wchar_t contains a key code */
+#define KEY_MIN		0401		/* Minimum curses key */
+#define KEY_BREAK	0401		/* Break key (unreliable) */
+#define KEY_SRESET	0530		/* Soft (partial) reset (unreliable) */
+#define KEY_RESET	0531		/* Reset or hard reset (unreliable) */
diff --git a/include/eti.h b/include/eti.h
new file mode 100644
index 0000000..3c3302d
--- /dev/null
+++ b/include/eti.h
@@ -0,0 +1,55 @@
+/****************************************************************************
+ * Copyright 2020 Thomas E. Dickey                                          *
+ * Copyright 1998-2002,2003 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *   Author:  Juergen Pfeifer, 1995,1997                                    *
+ ****************************************************************************/
+
+/* $Id: eti.h,v 1.9 2020/02/02 23:34:34 tom Exp $ */
+
+#ifndef NCURSES_ETI_H_incl
+#define NCURSES_ETI_H_incl 1
+
+#define	E_OK			(0)
+#define	E_SYSTEM_ERROR	 	(-1)
+#define	E_BAD_ARGUMENT	 	(-2)
+#define	E_POSTED	 	(-3)
+#define	E_CONNECTED	 	(-4)
+#define	E_BAD_STATE	 	(-5)
+#define	E_NO_ROOM	 	(-6)
+#define	E_NOT_POSTED		(-7)
+#define	E_UNKNOWN_COMMAND	(-8)
+#define	E_NO_MATCH		(-9)
+#define	E_NOT_SELECTABLE	(-10)
+#define	E_NOT_CONNECTED	        (-11)
+#define	E_REQUEST_DENIED	(-12)
+#define	E_INVALID_FIELD	        (-13)
+#define	E_CURRENT		(-14)
+
+#endif
diff --git a/include/form.h b/include/form.h
new file mode 100644
index 0000000..3b62e39
--- /dev/null
+++ b/include/form.h
@@ -0,0 +1,460 @@
+/****************************************************************************
+ * Copyright 2018-2019-2020,2021 Thomas E. Dickey                           *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *   Author:  Juergen Pfeifer, 1995,1997                                    *
+ ****************************************************************************/
+
+/* $Id: form.h,v 0.32 2021/06/17 21:26:02 tom Exp $ */
+
+#ifndef FORM_H
+#define FORM_H
+/* *INDENT-OFF*/
+
+#include <curses.h>
+#include <eti.h>
+
+#ifdef __cplusplus
+  extern "C" {
+#endif
+
+#if defined(BUILDING_FORM)
+# define FORM_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT
+#else
+# define FORM_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT
+#endif
+
+#define FORM_WRAPPED_VAR(type,name) extern FORM_IMPEXP type NCURSES_PUBLIC_VAR(name)(void)
+
+#define FORM_EXPORT(type) FORM_IMPEXP type NCURSES_API
+#define FORM_EXPORT_VAR(type) FORM_IMPEXP type
+
+#ifndef FORM_PRIV_H
+typedef void *FIELD_CELL;
+#endif
+
+#ifndef NCURSES_FIELD_INTERNALS
+#define NCURSES_FIELD_INTERNALS /* nothing */
+#endif
+
+typedef int Form_Options;
+typedef int Field_Options;
+
+	/**********
+	*  _PAGE  *
+	**********/
+
+typedef struct pagenode
+#if !NCURSES_OPAQUE_FORM
+{
+  short pmin;		/* index of first field on page			*/
+  short pmax;		/* index of last field on page			*/
+  short smin;		/* index of top leftmost field on page		*/
+  short smax;		/* index of bottom rightmost field on page	*/
+}
+#endif /* !NCURSES_OPAQUE_FORM */
+_PAGE;
+
+	/**********
+	*  FIELD  *
+	**********/
+
+typedef struct fieldnode
+#if 1			/* not yet: !NCURSES_OPAQUE_FORM */
+{
+  unsigned short	status;		/* flags			*/
+  short			rows;		/* size in rows			*/
+  short			cols;		/* size in cols			*/
+  short			frow;		/* first row			*/
+  short			fcol;		/* first col			*/
+  int			drows;		/* dynamic rows			*/
+  int			dcols;		/* dynamic cols			*/
+  int			maxgrow;	/* maximum field growth		*/
+  int			nrow;		/* off-screen rows		*/
+  short			nbuf;		/* additional buffers		*/
+  short			just;		/* justification		*/
+  short			page;		/* page on form			*/
+  short			index;		/* into form -> field		*/
+  int			pad;		/* pad character		*/
+  chtype		fore;		/* foreground attribute		*/
+  chtype		back;		/* background attribute		*/
+  Field_Options		opts;		/* options			*/
+  struct fieldnode *	snext;		/* sorted order pointer		*/
+  struct fieldnode *	sprev;		/* sorted order pointer		*/
+  struct fieldnode *	link;		/* linked field chain		*/
+  struct formnode *	form;		/* containing form		*/
+  struct typenode *	type;		/* field type			*/
+  void *		arg;		/* argument for type		*/
+  FIELD_CELL *		buf;		/* field buffers		*/
+  void *		usrptr;		/* user pointer			*/
+  /*
+   * The wide-character configuration requires extra information.  Because
+   * there are existing applications that manipulate the members of FIELD
+   * directly, we cannot make the struct opaque, except by changing the ABI.
+   * Offsets of members up to this point are the same in the narrow- and
+   * wide-character configuration.  But note that the type of buf depends on
+   * the configuration, and is made opaque for that reason.
+   */
+  NCURSES_FIELD_INTERNALS
+}
+#endif /* NCURSES_OPAQUE_FORM */
+FIELD;
+
+
+	/*********
+	*  FORM  *
+	*********/
+
+typedef struct formnode
+#if 1			/* not yet: !NCURSES_OPAQUE_FORM */
+{
+  unsigned short	status;	  	/* flags			*/
+  short			rows;		/* size in rows			*/
+  short			cols;		/* size in cols			*/
+  int			currow;		/* current row in field window	*/
+  int			curcol;		/* current col in field window	*/
+  int			toprow;		/* in scrollable field window	*/
+  int			begincol;	/* in horiz. scrollable field	*/
+  short			maxfield;	/* number of fields		*/
+  short			maxpage;	/* number of pages		*/
+  short			curpage;	/* index into page		*/
+  Form_Options		opts;		/* options			*/
+  WINDOW *		win;		/* window			*/
+  WINDOW *		sub;		/* subwindow			*/
+  WINDOW *		w;		/* window for current field	*/
+  FIELD **		field;		/* field [maxfield]		*/
+  FIELD *		current;	/* current field		*/
+  _PAGE *		page;		/* page [maxpage]		*/
+  void *		usrptr;		/* user pointer			*/
+
+  void			(*forminit)(struct formnode *);
+  void			(*formterm)(struct formnode *);
+  void			(*fieldinit)(struct formnode *);
+  void			(*fieldterm)(struct formnode *);
+
+}
+#endif /* !NCURSES_OPAQUE_FORM */
+FORM;
+
+
+	/**************
+	*  FIELDTYPE  *
+	**************/
+
+typedef struct typenode
+#if !NCURSES_OPAQUE_FORM
+{
+  unsigned short	status;			/* flags		    */
+  long			ref;			/* reference count	    */
+  struct typenode *	left;			/* ptr to operand for |     */
+  struct typenode *	right;			/* ptr to operand for |     */
+
+  void* (*makearg)(va_list *);			/* make fieldtype arg	    */
+  void* (*copyarg)(const void *);		/* copy fieldtype arg 	    */
+  void	(*freearg)(void *);			/* free fieldtype arg	    */
+
+#if NCURSES_INTEROP_FUNCS
+  union {
+    bool (*ofcheck)(FIELD *,const void *);	/* field validation	    */
+    bool (*gfcheck)(FORM*,FIELD *,const void*);	/* generic field validation */
+  } fieldcheck;
+  union {
+    bool (*occheck)(int,const void *);		/* character validation     */
+    bool (*gccheck)(int,FORM*,
+		    FIELD*,const void*);        /* generic char validation  */
+  } charcheck;
+  union {
+    bool (*onext)(FIELD *,const void *);        /* enumerate next value     */
+    bool (*gnext)(FORM*,FIELD*,const void*);    /* generic enumerate next   */
+  } enum_next;
+  union {
+    bool (*oprev)(FIELD *,const void *);	/* enumerate prev value     */
+    bool (*gprev)(FORM*,FIELD*,const void*);    /* generic enumerate prev   */
+  } enum_prev;
+  void* (*genericarg)(void*);                   /* Alternate Arg method     */
+#else
+  bool	(*fcheck)(FIELD *,const void *);	/* field validation	*/
+  bool	(*ccheck)(int,const void *);		/* character validation */
+
+  bool	(*next)(FIELD *,const void *);		/* enumerate next value */
+  bool	(*prev)(FIELD *,const void *);		/* enumerate prev value */
+#endif
+}
+#endif /* !NCURSES_OPAQUE_FORM */
+FIELDTYPE;
+
+typedef void (*Form_Hook)(FORM *);
+
+	/***************************
+	*  miscellaneous #defines  *
+	***************************/
+
+/* field justification */
+#define NO_JUSTIFICATION	(0)
+#define JUSTIFY_LEFT		(1)
+#define JUSTIFY_CENTER		(2)
+#define JUSTIFY_RIGHT		(3)
+
+/* field options */
+#define O_VISIBLE		(0x0001U)
+#define O_ACTIVE		(0x0002U)
+#define O_PUBLIC		(0x0004U)
+#define O_EDIT			(0x0008U)
+#define O_WRAP			(0x0010U)
+#define O_BLANK			(0x0020U)
+#define O_AUTOSKIP		(0x0040U)
+#define O_NULLOK		(0x0080U)
+#define O_PASSOK		(0x0100U)
+#define O_STATIC		(0x0200U)
+#define O_DYNAMIC_JUSTIFY	(0x0400U)	/* ncurses extension	*/
+#define O_NO_LEFT_STRIP		(0x0800U)	/* ncurses extension	*/
+#define O_EDGE_INSERT_STAY      (0x1000U)	/* ncurses extension	*/
+#define O_INPUT_LIMIT           (0x2000U)	/* ncurses extension	*/
+
+/* form options */
+#define O_NL_OVERLOAD		(0x0001U)
+#define O_BS_OVERLOAD		(0x0002U)
+
+/* form driver commands */
+#define REQ_NEXT_PAGE	 (KEY_MAX + 1)	/* move to next page		*/
+#define REQ_PREV_PAGE	 (KEY_MAX + 2)	/* move to previous page	*/
+#define REQ_FIRST_PAGE	 (KEY_MAX + 3)	/* move to first page		*/
+#define REQ_LAST_PAGE	 (KEY_MAX + 4)	/* move to last page		*/
+
+#define REQ_NEXT_FIELD	 (KEY_MAX + 5)	/* move to next field		*/
+#define REQ_PREV_FIELD	 (KEY_MAX + 6)	/* move to previous field	*/
+#define REQ_FIRST_FIELD	 (KEY_MAX + 7)	/* move to first field		*/
+#define REQ_LAST_FIELD	 (KEY_MAX + 8)	/* move to last field		*/
+#define REQ_SNEXT_FIELD	 (KEY_MAX + 9)	/* move to sorted next field	*/
+#define REQ_SPREV_FIELD	 (KEY_MAX + 10)	/* move to sorted prev field	*/
+#define REQ_SFIRST_FIELD (KEY_MAX + 11)	/* move to sorted first field	*/
+#define REQ_SLAST_FIELD	 (KEY_MAX + 12)	/* move to sorted last field	*/
+#define REQ_LEFT_FIELD	 (KEY_MAX + 13)	/* move to left to field	*/
+#define REQ_RIGHT_FIELD	 (KEY_MAX + 14)	/* move to right to field	*/
+#define REQ_UP_FIELD	 (KEY_MAX + 15)	/* move to up to field		*/
+#define REQ_DOWN_FIELD	 (KEY_MAX + 16)	/* move to down to field	*/
+
+#define REQ_NEXT_CHAR	 (KEY_MAX + 17)	/* move to next char in field	*/
+#define REQ_PREV_CHAR	 (KEY_MAX + 18)	/* move to prev char in field	*/
+#define REQ_NEXT_LINE	 (KEY_MAX + 19)	/* move to next line in field	*/
+#define REQ_PREV_LINE	 (KEY_MAX + 20)	/* move to prev line in field	*/
+#define REQ_NEXT_WORD	 (KEY_MAX + 21)	/* move to next word in field	*/
+#define REQ_PREV_WORD	 (KEY_MAX + 22)	/* move to prev word in field	*/
+#define REQ_BEG_FIELD	 (KEY_MAX + 23)	/* move to first char in field	*/
+#define REQ_END_FIELD	 (KEY_MAX + 24)	/* move after last char in fld	*/
+#define REQ_BEG_LINE	 (KEY_MAX + 25)	/* move to beginning of line	*/
+#define REQ_END_LINE	 (KEY_MAX + 26)	/* move after last char in line	*/
+#define REQ_LEFT_CHAR	 (KEY_MAX + 27)	/* move left in field		*/
+#define REQ_RIGHT_CHAR	 (KEY_MAX + 28)	/* move right in field		*/
+#define REQ_UP_CHAR	 (KEY_MAX + 29)	/* move up in field		*/
+#define REQ_DOWN_CHAR	 (KEY_MAX + 30)	/* move down in field		*/
+
+#define REQ_NEW_LINE	 (KEY_MAX + 31)	/* insert/overlay new line	*/
+#define REQ_INS_CHAR	 (KEY_MAX + 32)	/* insert blank char at cursor	*/
+#define REQ_INS_LINE	 (KEY_MAX + 33)	/* insert blank line at cursor	*/
+#define REQ_DEL_CHAR	 (KEY_MAX + 34)	/* delete char at cursor	*/
+#define REQ_DEL_PREV	 (KEY_MAX + 35)	/* delete char before cursor	*/
+#define REQ_DEL_LINE	 (KEY_MAX + 36)	/* delete line at cursor	*/
+#define REQ_DEL_WORD	 (KEY_MAX + 37)	/* delete word at cursor	*/
+#define REQ_CLR_EOL	 (KEY_MAX + 38)	/* clear to end of line		*/
+#define REQ_CLR_EOF	 (KEY_MAX + 39)	/* clear to end of field	*/
+#define REQ_CLR_FIELD	 (KEY_MAX + 40)	/* clear entire field		*/
+#define REQ_OVL_MODE	 (KEY_MAX + 41)	/* begin overlay mode		*/
+#define REQ_INS_MODE	 (KEY_MAX + 42)	/* begin insert mode		*/
+#define REQ_SCR_FLINE	 (KEY_MAX + 43)	/* scroll field forward a line	*/
+#define REQ_SCR_BLINE	 (KEY_MAX + 44)	/* scroll field backward a line	*/
+#define REQ_SCR_FPAGE	 (KEY_MAX + 45)	/* scroll field forward a page	*/
+#define REQ_SCR_BPAGE	 (KEY_MAX + 46)	/* scroll field backward a page	*/
+#define REQ_SCR_FHPAGE	 (KEY_MAX + 47) /* scroll field forward	 half page */
+#define REQ_SCR_BHPAGE	 (KEY_MAX + 48) /* scroll field backward half page */
+#define REQ_SCR_FCHAR	 (KEY_MAX + 49) /* horizontal scroll char	*/
+#define REQ_SCR_BCHAR	 (KEY_MAX + 50) /* horizontal scroll char	*/
+#define REQ_SCR_HFLINE	 (KEY_MAX + 51) /* horizontal scroll line	*/
+#define REQ_SCR_HBLINE	 (KEY_MAX + 52) /* horizontal scroll line	*/
+#define REQ_SCR_HFHALF	 (KEY_MAX + 53) /* horizontal scroll half line	*/
+#define REQ_SCR_HBHALF	 (KEY_MAX + 54) /* horizontal scroll half line	*/
+
+#define REQ_VALIDATION	 (KEY_MAX + 55)	/* validate field		*/
+#define REQ_NEXT_CHOICE	 (KEY_MAX + 56)	/* display next field choice	*/
+#define REQ_PREV_CHOICE	 (KEY_MAX + 57)	/* display prev field choice	*/
+
+#define MIN_FORM_COMMAND (KEY_MAX + 1)	/* used by form_driver		*/
+#define MAX_FORM_COMMAND (KEY_MAX + 57)	/* used by form_driver		*/
+
+#if defined(MAX_COMMAND)
+#  if (MAX_FORM_COMMAND > MAX_COMMAND)
+#    error Something is wrong -- MAX_FORM_COMMAND is greater than MAX_COMMAND
+#  elif (MAX_COMMAND != (KEY_MAX + 128))
+#    error Something is wrong -- MAX_COMMAND is already inconsistently defined.
+#  endif
+#else
+#  define MAX_COMMAND (KEY_MAX + 128)
+#endif
+
+	/*************************
+	*  standard field types  *
+	*************************/
+extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_ALPHA;
+extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_ALNUM;
+extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_ENUM;
+extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_INTEGER;
+extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_NUMERIC;
+extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_REGEXP;
+
+	/************************************
+	*  built-in additional field types  *
+	*  They are not defined in SVr4     *
+	************************************/
+extern FORM_EXPORT_VAR(FIELDTYPE *) TYPE_IPV4;      /* Internet IP Version 4 address */
+
+	/***********************
+	*  FIELDTYPE routines  *
+	***********************/
+extern FORM_EXPORT(FIELDTYPE *) new_fieldtype (
+		    bool (* const field_check)(FIELD *,const void *),
+		    bool (* const char_check)(int,const void *));
+extern FORM_EXPORT(FIELDTYPE *) link_fieldtype(
+		    FIELDTYPE *, FIELDTYPE *);
+
+extern FORM_EXPORT(int)	free_fieldtype (FIELDTYPE *);
+extern FORM_EXPORT(int)	set_fieldtype_arg (FIELDTYPE *,
+		    void * (* const make_arg)(va_list *),
+		    void * (* const copy_arg)(const void *),
+		    void (* const free_arg)(void *));
+extern FORM_EXPORT(int)	 set_fieldtype_choice (FIELDTYPE *,
+		    bool (* const next_choice)(FIELD *,const void *),
+	      	    bool (* const prev_choice)(FIELD *,const void *));
+
+	/*******************
+	*  FIELD routines  *
+	*******************/
+extern FORM_EXPORT(FIELD *)	new_field (int,int,int,int,int,int);
+extern FORM_EXPORT(FIELD *)	dup_field (FIELD *,int,int);
+extern FORM_EXPORT(FIELD *)	link_field (FIELD *,int,int);
+
+extern FORM_EXPORT(int)	free_field (FIELD *);
+extern FORM_EXPORT(int)	field_info (const FIELD *,int *,int *,int *,int *,int *,int *);
+extern FORM_EXPORT(int)	dynamic_field_info (const FIELD *,int *,int *,int *);
+extern FORM_EXPORT(int)	set_max_field ( FIELD *,int);
+extern FORM_EXPORT(int)	move_field (FIELD *,int,int);
+extern FORM_EXPORT(int)	set_field_type (FIELD *,FIELDTYPE *,...);
+extern FORM_EXPORT(int)	set_new_page (FIELD *,bool);
+extern FORM_EXPORT(int)	set_field_just (FIELD *,int);
+extern FORM_EXPORT(int)	field_just (const FIELD *);
+extern FORM_EXPORT(int)	set_field_fore (FIELD *,chtype);
+extern FORM_EXPORT(int)	set_field_back (FIELD *,chtype);
+extern FORM_EXPORT(int)	set_field_pad (FIELD *,int);
+extern FORM_EXPORT(int)	field_pad (const FIELD *);
+extern FORM_EXPORT(int)	set_field_buffer (FIELD *,int,const char *);
+extern FORM_EXPORT(int)	set_field_status (FIELD *,bool);
+extern FORM_EXPORT(int)	set_field_userptr (FIELD *, void *);
+extern FORM_EXPORT(int)	set_field_opts (FIELD *,Field_Options);
+extern FORM_EXPORT(int)	field_opts_on (FIELD *,Field_Options);
+extern FORM_EXPORT(int)	field_opts_off (FIELD *,Field_Options);
+
+extern FORM_EXPORT(chtype)	field_fore (const FIELD *);
+extern FORM_EXPORT(chtype)	field_back (const FIELD *);
+
+extern FORM_EXPORT(bool)	new_page (const FIELD *);
+extern FORM_EXPORT(bool)	field_status (const FIELD *);
+
+extern FORM_EXPORT(void *)	field_arg (const FIELD *);
+
+extern FORM_EXPORT(void *)	field_userptr (const FIELD *);
+
+extern FORM_EXPORT(FIELDTYPE *)	field_type (const FIELD *);
+
+extern FORM_EXPORT(char *)	field_buffer (const FIELD *,int);
+
+extern FORM_EXPORT(Field_Options)	field_opts (const FIELD *);
+
+	/******************
+	*  FORM routines  *
+	******************/
+
+extern FORM_EXPORT(FORM *)	new_form (FIELD **);
+
+extern FORM_EXPORT(FIELD **)	form_fields (const FORM *);
+extern FORM_EXPORT(FIELD *)	current_field (const FORM *);
+
+extern FORM_EXPORT(WINDOW *)	form_win (const FORM *);
+extern FORM_EXPORT(WINDOW *)	form_sub (const FORM *);
+
+extern FORM_EXPORT(Form_Hook)	form_init (const FORM *);
+extern FORM_EXPORT(Form_Hook)	form_term (const FORM *);
+extern FORM_EXPORT(Form_Hook)	field_init (const FORM *);
+extern FORM_EXPORT(Form_Hook)	field_term (const FORM *);
+
+extern FORM_EXPORT(int)	free_form (FORM *);
+extern FORM_EXPORT(int)	set_form_fields (FORM *,FIELD **);
+extern FORM_EXPORT(int)	field_count (const FORM *);
+extern FORM_EXPORT(int)	set_form_win (FORM *,WINDOW *);
+extern FORM_EXPORT(int)	set_form_sub (FORM *,WINDOW *);
+extern FORM_EXPORT(int)	set_current_field (FORM *,FIELD *);
+extern FORM_EXPORT(int)	unfocus_current_field (FORM *);
+extern FORM_EXPORT(int)	field_index (const FIELD *);
+extern FORM_EXPORT(int)	set_form_page (FORM *,int);
+extern FORM_EXPORT(int)	form_page (const FORM *);
+extern FORM_EXPORT(int)	scale_form (const FORM *,int *,int *);
+extern FORM_EXPORT(int)	set_form_init (FORM *,Form_Hook);
+extern FORM_EXPORT(int)	set_form_term (FORM *,Form_Hook);
+extern FORM_EXPORT(int)	set_field_init (FORM *,Form_Hook);
+extern FORM_EXPORT(int)	set_field_term (FORM *,Form_Hook);
+extern FORM_EXPORT(int)	post_form (FORM *);
+extern FORM_EXPORT(int)	unpost_form (FORM *);
+extern FORM_EXPORT(int)	pos_form_cursor (FORM *);
+extern FORM_EXPORT(int)	form_driver (FORM *,int);
+# if NCURSES_WIDECHAR
+extern FORM_EXPORT(int)	form_driver_w (FORM *,int,wchar_t);
+# endif
+extern FORM_EXPORT(int)	set_form_userptr (FORM *,void *);
+extern FORM_EXPORT(int)	set_form_opts (FORM *,Form_Options);
+extern FORM_EXPORT(int)	form_opts_on (FORM *,Form_Options);
+extern FORM_EXPORT(int)	form_opts_off (FORM *,Form_Options);
+extern FORM_EXPORT(int)	form_request_by_name (const char *);
+
+extern FORM_EXPORT(const char *)	form_request_name (int);
+
+extern FORM_EXPORT(void *)	form_userptr (const FORM *);
+
+extern FORM_EXPORT(Form_Options)	form_opts (const FORM *);
+
+extern FORM_EXPORT(bool)	data_ahead (const FORM *);
+extern FORM_EXPORT(bool)	data_behind (const FORM *);
+
+#if NCURSES_SP_FUNCS
+extern FORM_EXPORT(FORM *)	NCURSES_SP_NAME(new_form) (SCREEN*, FIELD **);
+#endif
+
+#ifdef __cplusplus
+  }
+#endif
+/* *INDENT-ON*/
+
+#endif /* FORM_H */
diff --git a/include/hashsize.h b/include/hashsize.h
new file mode 100644
index 0000000..478fd59
--- /dev/null
+++ b/include/hashsize.h
@@ -0,0 +1,6 @@
+/*
+ * hashsize.h -- hash and token table constants
+ */
+
+#define CAPTABSIZE	497
+#define HASHTABSIZE	(497 * 2)
diff --git a/include/menu.h b/include/menu.h
new file mode 100644
index 0000000..e5a5372
--- /dev/null
+++ b/include/menu.h
@@ -0,0 +1,281 @@
+/****************************************************************************
+ * Copyright 2020 Thomas E. Dickey                                          *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *   Author:  Juergen Pfeifer, 1995,1997                                    *
+ ****************************************************************************/
+
+/* $Id: menu.h,v 1.26 2020/12/12 00:38:02 tom Exp $ */
+
+#ifndef ETI_MENU
+#define ETI_MENU
+
+#ifdef AMIGA
+#define TEXT TEXT_ncurses
+#endif
+
+#include <curses.h>
+#include <eti.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif
+
+#if defined(BUILDING_MENU)
+# define MENU_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT
+#else
+# define MENU_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT
+#endif
+
+#define MENU_WRAPPED_VAR(type,name) extern MENU_IMPEXP type NCURSES_PUBLIC_VAR(name)(void)
+
+#define MENU_EXPORT(type) MENU_IMPEXP type NCURSES_API
+#define MENU_EXPORT_VAR(type) MENU_IMPEXP type
+
+  typedef int Menu_Options;
+  typedef int Item_Options;
+
+/* Menu options: */
+#define O_ONEVALUE      (0x01)
+#define O_SHOWDESC      (0x02)
+#define O_ROWMAJOR      (0x04)
+#define O_IGNORECASE    (0x08)
+#define O_SHOWMATCH     (0x10)
+#define O_NONCYCLIC     (0x20)
+#define O_MOUSE_MENU    (0x40)
+
+/* Item options: */
+#define O_SELECTABLE    (0x01)
+
+#if !NCURSES_OPAQUE_MENU
+  typedef struct
+    {
+      const char *str;
+      unsigned short length;
+    }
+  TEXT;
+#endif				/* !NCURSES_OPAQUE_MENU */
+
+  struct tagMENU;
+
+  typedef struct tagITEM
+#if !NCURSES_OPAQUE_MENU
+    {
+      TEXT name;		/* name of menu item                         */
+      TEXT description;		/* description of item, optional in display  */
+      struct tagMENU *imenu;	/* Pointer to parent menu                    */
+      void *userptr;		/* Pointer to user defined per item data     */
+      Item_Options opt;		/* Item options                              */
+      short index;		/* Item number if connected to a menu        */
+      short y;			/* y and x location of item in menu          */
+      short x;
+      bool value;		/* Selection value                           */
+
+      struct tagITEM *left;	/* neighbor items                            */
+      struct tagITEM *right;
+      struct tagITEM *up;
+      struct tagITEM *down;
+
+    }
+#endif				/* !NCURSES_OPAQUE_MENU */
+  ITEM;
+
+  typedef void (*Menu_Hook) (struct tagMENU *);
+
+  typedef struct tagMENU
+#if 1				/* not yet: !NCURSES_OPAQUE_MENU   */
+    {
+      short height;		/* Nr. of chars high               */
+      short width;		/* Nr. of chars wide               */
+      short rows;		/* Nr. of items high               */
+      short cols;		/* Nr. of items wide               */
+      short frows;		/* Nr. of formatted items high     */
+      short fcols;		/* Nr. of formatted items wide     */
+      short arows;		/* Nr. of items high (actual)      */
+      short namelen;		/* Max. name length                */
+      short desclen;		/* Max. description length         */
+      short marklen;		/* Length of mark, if any          */
+      short itemlen;		/* Length of one item              */
+      short spc_desc;		/* Spacing for descriptor          */
+      short spc_cols;		/* Spacing for columns             */
+      short spc_rows;		/* Spacing for rows                */
+      char *pattern;		/* Buffer to store match chars     */
+      short pindex;		/* Index into pattern buffer       */
+      WINDOW *win;		/* Window containing menu          */
+      WINDOW *sub;		/* Subwindow for menu display      */
+      WINDOW *userwin;		/* User's window                   */
+      WINDOW *usersub;		/* User's subwindow                */
+      ITEM **items;		/* array of items                  */
+      short nitems;		/* Nr. of items in menu            */
+      ITEM *curitem;		/* Current item                    */
+      short toprow;		/* Top row of menu                 */
+      chtype fore;		/* Selection attribute             */
+      chtype back;		/* Nonselection attribute          */
+      chtype grey;		/* Inactive attribute              */
+      unsigned char pad;	/* Pad character                   */
+
+      Menu_Hook menuinit;	/* User hooks                      */
+      Menu_Hook menuterm;
+      Menu_Hook iteminit;
+      Menu_Hook itemterm;
+
+      void *userptr;		/* Pointer to menus user data      */
+      char *mark;		/* Pointer to marker string        */
+
+      Menu_Options opt;		/* Menu options                    */
+      unsigned short status;	/* Internal state of menu          */
+    }
+#endif				/* !NCURSES_OPAQUE_MENU */
+  MENU;
+
+/* Define keys */
+
+#define REQ_LEFT_ITEM           (KEY_MAX + 1)
+#define REQ_RIGHT_ITEM          (KEY_MAX + 2)
+#define REQ_UP_ITEM             (KEY_MAX + 3)
+#define REQ_DOWN_ITEM           (KEY_MAX + 4)
+#define REQ_SCR_ULINE           (KEY_MAX + 5)
+#define REQ_SCR_DLINE           (KEY_MAX + 6)
+#define REQ_SCR_DPAGE           (KEY_MAX + 7)
+#define REQ_SCR_UPAGE           (KEY_MAX + 8)
+#define REQ_FIRST_ITEM          (KEY_MAX + 9)
+#define REQ_LAST_ITEM           (KEY_MAX + 10)
+#define REQ_NEXT_ITEM           (KEY_MAX + 11)
+#define REQ_PREV_ITEM           (KEY_MAX + 12)
+#define REQ_TOGGLE_ITEM         (KEY_MAX + 13)
+#define REQ_CLEAR_PATTERN       (KEY_MAX + 14)
+#define REQ_BACK_PATTERN        (KEY_MAX + 15)
+#define REQ_NEXT_MATCH          (KEY_MAX + 16)
+#define REQ_PREV_MATCH          (KEY_MAX + 17)
+
+#define MIN_MENU_COMMAND        (KEY_MAX + 1)
+#define MAX_MENU_COMMAND        (KEY_MAX + 17)
+
+/*
+ * Some AT&T code expects MAX_COMMAND to be out-of-band not
+ * just for menu commands but for forms ones as well.
+ */
+#if defined(MAX_COMMAND)
+#  if (MAX_MENU_COMMAND > MAX_COMMAND)
+#    error Something is wrong -- MAX_MENU_COMMAND is greater than MAX_COMMAND
+#  elif (MAX_COMMAND != (KEY_MAX + 128))
+#    error Something is wrong -- MAX_COMMAND is already inconsistently defined.
+#  endif
+#else
+#  define MAX_COMMAND (KEY_MAX + 128)
+#endif
+
+/* --------- prototypes for libmenu functions ----------------------------- */
+
+  extern MENU_EXPORT(ITEM **) menu_items(const MENU *);
+  extern MENU_EXPORT(ITEM *) current_item(const MENU *);
+  extern MENU_EXPORT(ITEM *) new_item(const char *, const char *);
+
+  extern MENU_EXPORT(MENU *) new_menu(ITEM **);
+
+  extern MENU_EXPORT(Item_Options) item_opts(const ITEM *);
+  extern MENU_EXPORT(Menu_Options) menu_opts(const MENU *);
+
+  extern MENU_EXPORT(Menu_Hook) item_init(const MENU *);
+  extern MENU_EXPORT(Menu_Hook) item_term(const MENU *);
+  extern MENU_EXPORT(Menu_Hook) menu_init(const MENU *);
+  extern MENU_EXPORT(Menu_Hook) menu_term(const MENU *);
+
+  extern MENU_EXPORT(WINDOW *) menu_sub(const MENU *);
+  extern MENU_EXPORT(WINDOW *) menu_win(const MENU *);
+
+  extern MENU_EXPORT(const char *) item_description(const ITEM *);
+  extern MENU_EXPORT(const char *) item_name(const ITEM *);
+  extern MENU_EXPORT(const char *) menu_mark(const MENU *);
+  extern MENU_EXPORT(const char *) menu_request_name(int);
+
+  extern MENU_EXPORT(char *) menu_pattern(const MENU *);
+
+  extern MENU_EXPORT(void *) menu_userptr(const MENU *);
+  extern MENU_EXPORT(void *) item_userptr(const ITEM *);
+
+  extern MENU_EXPORT(chtype) menu_back(const MENU *);
+  extern MENU_EXPORT(chtype) menu_fore(const MENU *);
+  extern MENU_EXPORT(chtype) menu_grey(const MENU *);
+
+  extern MENU_EXPORT(int) free_item(ITEM *);
+  extern MENU_EXPORT(int) free_menu(MENU *);
+  extern MENU_EXPORT(int) item_count(const MENU *);
+  extern MENU_EXPORT(int) item_index(const ITEM *);
+  extern MENU_EXPORT(int) item_opts_off(ITEM *, Item_Options);
+  extern MENU_EXPORT(int) item_opts_on(ITEM *, Item_Options);
+  extern MENU_EXPORT(int) menu_driver(MENU *, int);
+  extern MENU_EXPORT(int) menu_opts_off(MENU *, Menu_Options);
+  extern MENU_EXPORT(int) menu_opts_on(MENU *, Menu_Options);
+  extern MENU_EXPORT(int) menu_pad(const MENU *);
+  extern MENU_EXPORT(int) pos_menu_cursor(const MENU *);
+  extern MENU_EXPORT(int) post_menu(MENU *);
+  extern MENU_EXPORT(int) scale_menu(const MENU *, int *, int *);
+  extern MENU_EXPORT(int) set_current_item(MENU *menu, ITEM *item);
+  extern MENU_EXPORT(int) set_item_init(MENU *, Menu_Hook);
+  extern MENU_EXPORT(int) set_item_opts(ITEM *, Item_Options);
+  extern MENU_EXPORT(int) set_item_term(MENU *, Menu_Hook);
+  extern MENU_EXPORT(int) set_item_userptr(ITEM *, void *);
+  extern MENU_EXPORT(int) set_item_value(ITEM *, bool);
+  extern MENU_EXPORT(int) set_menu_back(MENU *, chtype);
+  extern MENU_EXPORT(int) set_menu_fore(MENU *, chtype);
+  extern MENU_EXPORT(int) set_menu_format(MENU *, int, int);
+  extern MENU_EXPORT(int) set_menu_grey(MENU *, chtype);
+  extern MENU_EXPORT(int) set_menu_init(MENU *, Menu_Hook);
+  extern MENU_EXPORT(int) set_menu_items(MENU *, ITEM **);
+  extern MENU_EXPORT(int) set_menu_mark(MENU *, const char *);
+  extern MENU_EXPORT(int) set_menu_opts(MENU *, Menu_Options);
+  extern MENU_EXPORT(int) set_menu_pad(MENU *, int);
+  extern MENU_EXPORT(int) set_menu_pattern(MENU *, const char *);
+  extern MENU_EXPORT(int) set_menu_sub(MENU *, WINDOW *);
+  extern MENU_EXPORT(int) set_menu_term(MENU *, Menu_Hook);
+  extern MENU_EXPORT(int) set_menu_userptr(MENU *, void *);
+  extern MENU_EXPORT(int) set_menu_win(MENU *, WINDOW *);
+  extern MENU_EXPORT(int) set_top_row(MENU *, int);
+  extern MENU_EXPORT(int) top_row(const MENU *);
+  extern MENU_EXPORT(int) unpost_menu(MENU *);
+  extern MENU_EXPORT(int) menu_request_by_name(const char *);
+  extern MENU_EXPORT(int) set_menu_spacing(MENU *, int, int, int);
+  extern MENU_EXPORT(int) menu_spacing(const MENU *, int *, int *, int *);
+
+  extern MENU_EXPORT(bool) item_value(const ITEM *);
+  extern MENU_EXPORT(bool) item_visible(const ITEM *);
+
+  extern MENU_EXPORT(void) menu_format(const MENU *, int *, int *);
+
+#if NCURSES_SP_FUNCS
+  extern MENU_EXPORT(MENU *) NCURSES_SP_NAME(new_menu) (SCREEN *, ITEM **);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif				/* ETI_MENU */
diff --git a/include/mf_common.h b/include/mf_common.h
new file mode 100644
index 0000000..fcbd565
--- /dev/null
+++ b/include/mf_common.h
@@ -0,0 +1,98 @@
+/****************************************************************************
+ * Copyright 2020 Thomas E. Dickey                                          *
+ * Copyright 1998-2005,2012 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *   Author:  Juergen Pfeifer, 1995,1997                                    *
+ ****************************************************************************/
+
+/* $Id: mf_common.h,v 0.25 2020/02/02 23:34:34 tom Exp $ */
+
+/* Common internal header for menu and form library */
+
+#ifndef MF_COMMON_H_incl
+#define MF_COMMON_H_incl 1
+
+#include <ncurses_cfg.h>
+#include <curses.h>
+
+#include <stdlib.h>
+#include <sys/types.h>
+#include <assert.h>
+#include <string.h>
+#include <ctype.h>
+#include <errno.h>
+
+#if DECL_ERRNO
+extern int errno;
+#endif
+
+/* in case of debug version we ignore the suppression of assertions */
+#ifdef TRACE
+#  ifdef NDEBUG
+#    undef NDEBUG
+#  endif
+#endif
+
+#include <nc_alloc.h>
+
+#if USE_RCS_IDS
+#define MODULE_ID(id) static const char Ident[] = id;
+#else
+#define MODULE_ID(id)		/*nothing */
+#endif
+
+/* Maximum regular 8-bit character code */
+#define MAX_REGULAR_CHARACTER (0xff)
+
+#define SET_ERROR(code) (errno=(code))
+#define GET_ERROR()     (errno)
+
+#ifdef TRACE
+#define RETURN(code)    returnCode( SET_ERROR(code) )
+#else
+#define RETURN(code)    return( SET_ERROR(code) )
+#endif
+
+/* The few common values in the status fields for menus and forms */
+#define _POSTED         (0x01U)	/* menu or form is posted                  */
+#define _IN_DRIVER      (0x02U)	/* menu or form is processing hook routine */
+
+#define SetStatus(target,mask) (target)->status |= (unsigned short) (mask)
+#define ClrStatus(target,mask) (target)->status = (unsigned short) (target->status & (~mask))
+
+/* Call object hook */
+#define Call_Hook( object, handler ) \
+   if ( (object) != 0 && ((object)->handler) != (void *) 0 )\
+   {\
+	SetStatus(object, _IN_DRIVER);\
+	(object)->handler(object);\
+	ClrStatus(object, _IN_DRIVER);\
+   }
+
+#endif /* MF_COMMON_H_incl */
diff --git a/include/ncurses_cfg.h b/include/ncurses_cfg.h
new file mode 100644
index 0000000..6c5fd05
--- /dev/null
+++ b/include/ncurses_cfg.h
@@ -0,0 +1,254 @@
+/* include/ncurses_cfg.h.  Generated automatically by configure.  */
+/****************************************************************************
+ * Copyright 2020 Thomas E. Dickey                                          *
+ * Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Thomas E. Dickey      1997-on                                   *
+ ****************************************************************************/
+/*
+ * $Id: ncurses_cfg.hin,v 1.13 2020/03/08 12:37:59 tom Exp $
+ *
+ * Both ncurses_cfg.h and ncurses_def.h are internal header-files used when
+ * building ncurses.
+ *
+ * This is a template-file used to generate the "ncurses_cfg.h" file.
+ *
+ * Rather than list every definition, the configuration script substitutes the
+ * definitions that it finds using 'sed'.  You need a patch (original date
+ * 971222) to autoconf 2.12 or 2.13 to do this.
+ *
+ * See:
+ *	https://invisible-island.net/autoconf/
+ *	ftp://ftp.invisible-island.net/autoconf/
+ */
+#ifndef NC_CONFIG_H
+#define NC_CONFIG_H
+
+#define PACKAGE "ncurses"
+#define NCURSES_VERSION "6.5"
+#define NCURSES_PATCHDATE 20240427
+#define SYSTEM_NAME "linux-gnu"
+#if 0
+#include <stdlib.h>
+#endif
+#define HAVE_LONG_FILE_NAMES 1
+#define MIXEDCASE_FILENAMES 1
+#define STDC_HEADERS 1
+#define HAVE_SYS_TYPES_H 1
+#define HAVE_SYS_STAT_H 1
+#define HAVE_STDLIB_H 1
+#define HAVE_STRING_H 1
+#define HAVE_MEMORY_H 1
+#define HAVE_STRINGS_H 1
+#define HAVE_INTTYPES_H 1
+#define HAVE_STDINT_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_DIRENT_H 1
+#define TERMINFO_DIRS "/system_ext/etc/terminfo"
+#define TERMINFO "/system_ext/etc/terminfo"
+#define HAVE_BIG_CORE 1
+#define PURE_TERMINFO 1
+#define USE_HOME_TERMINFO 1
+#define USE_ROOT_ENVIRON 1
+#define USE_ROOT_ACCESS 1
+#define USE_SETUID_ENVIRON 1
+#define HAVE_UNISTD_H 1
+#define HAVE_REMOVE 1
+#define HAVE_UNLINK 1
+#define HAVE_LINK 1
+#define HAVE_SYMLINK 1
+#define USE_LINKS 1
+#define HAVE_LANGINFO_CODESET 1
+#define USE_WIDEC_SUPPORT 1
+#define NCURSES_WIDECHAR 1
+#define HAVE_WCHAR_H 1
+#define HAVE_WCTYPE_H 1
+#define HAVE_PUTWC 1
+#define HAVE_BTOWC 1
+#define HAVE_WCTOB 1
+#define HAVE_WMEMCHR 1
+#define HAVE_MBTOWC 1
+#define HAVE_WCTOMB 1
+#define HAVE_MBLEN 1
+#define HAVE_MBRLEN 1
+#define HAVE_MBRTOWC 1
+#define HAVE_WCSRTOMBS 1
+#define HAVE_MBSRTOWCS 1
+#define HAVE_WCSTOMBS 1
+#define HAVE_MBSTOWCS 1
+#define NEED_WCHAR_H 1
+#define HAVE_FSEEKO 1
+#define RGB_PATH "/usr/share/X11/rgb.txt"
+#define SIZEOF_SIGNED_CHAR 1
+#define NCURSES_EXT_FUNCS 1
+#define HAVE_ASSUME_DEFAULT_COLORS 1
+#define HAVE_CURSES_VERSION 1
+#define HAVE_HAS_KEY 1
+#define HAVE_RESIZETERM 1
+#define HAVE_RESIZE_TERM 1
+#define HAVE_TERM_ENTRY_H 1
+#define HAVE_USE_DEFAULT_COLORS 1
+#define HAVE_USE_SCREEN 1
+#define HAVE_USE_WINDOW 1
+#define HAVE_WRESIZE 1
+#define NCURSES_SP_FUNCS 1
+#define HAVE_TPUTS_SP 1
+#define NCURSES_EXT_COLORS 1
+#define HAVE_ALLOC_PAIR 1
+#define HAVE_INIT_EXTENDED_COLOR 1
+#define HAVE_RESET_COLOR_PAIRS 1
+#define NCURSES_EXT_PUTWIN 1
+#define NCURSES_NO_PADDING 1
+#define USE_SIGWINCH 1
+#define NCURSES_XNAMES 1
+#define NCURSES_WRAP_PREFIX "_nc_"
+#define USE_ASSUMED_COLOR 1
+#define USE_HASHMAP 1
+#define GCC_SCANF 1
+#define GCC_SCANFLIKE(fmt,var) __attribute__((format(scanf,fmt,var)))
+#define GCC_PRINTF 1
+#define GCC_PRINTFLIKE(fmt,var) __attribute__((format(printf,fmt,var)))
+#define GCC_UNUSED __attribute__((unused))
+#define GCC_NORETURN __attribute__((noreturn))
+#define HAVE_NC_ALLOC_H 1
+#define HAVE_MATH_FUNCS 1
+#define TIME_WITH_SYS_TIME 1
+#define HAVE_REGEX_H_FUNCS 1
+#define HAVE_FCNTL_H 1
+#define HAVE_GETOPT_H 1
+#define HAVE_LIMITS_H 1
+#define HAVE_LOCALE_H 1
+#define HAVE_MATH_H 1
+#define HAVE_POLL_H 1
+#define HAVE_SYS_AUXV_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_SYS_PARAM_H 1
+#define HAVE_SYS_POLL_H 1
+#define HAVE_SYS_SELECT_H 1
+#define HAVE_SYS_TIME_H 1
+#define HAVE_SYS_TIMES_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_WCTYPE_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_GETOPT_H 1
+#define HAVE_GETOPT_HEADER 1
+#define DECL_ENVIRON 1
+#define HAVE_ENVIRON 1
+#define HAVE_PUTENV 1
+#define HAVE_SETENV 1
+#define HAVE_STRDUP 1
+#define HAVE_SYS_TIME_SELECT 1
+#define SIG_ATOMIC_T volatile sig_atomic_t
+#define HAVE_CLOCK_GETTIME 1
+#define HAVE_FPATHCONF 1
+#define HAVE_GETCWD 1
+#define HAVE_GETAUXVAL 1
+#define HAVE_GETEGID 1
+#define HAVE_GETEUID 1
+#define HAVE_GETOPT 1
+#define HAVE_GETUID 1
+#define HAVE_LOCALECONV 1
+#define HAVE_POLL 1
+#define HAVE_REMOVE 1
+#define HAVE_SELECT 1
+#define HAVE_SETBUF 1
+#define HAVE_SETBUFFER 1
+#define HAVE_SETFSUID 1
+#define HAVE_SETVBUF 1
+#define HAVE_SIGACTION 1
+#define HAVE_SNPRINTF 1
+#define HAVE_STRDUP 1
+#define HAVE_STRSTR 1
+#define HAVE_SYSCONF 1
+#define HAVE_TCGETPGRP 1
+#define HAVE_TIMES 1
+#define HAVE_TSEARCH 1
+#define HAVE_VSNPRINTF 1
+#define HAVE_ISASCII 1
+#define HAVE_NANOSLEEP 1
+#define HAVE_TERMIO_H 1
+#define HAVE_TERMIOS_H 1
+#define HAVE_UNISTD_H 1
+#define HAVE_SYS_IOCTL_H 1
+#define HAVE_TCGETATTR 1
+#define HAVE_VSSCANF 1
+#define HAVE_UNISTD_H 1
+#define HAVE_MKSTEMP 1
+#define HAVE_SIZECHANGE 1
+#define HAVE_WORKING_POLL 1
+#define HAVE_CONSISTENT_MB_LEN_MAX 1
+#define HAVE_VA_COPY 1
+#define HAVE_UNISTD_H 1
+#define HAVE_FORK 1
+#define HAVE_VFORK 1
+#define HAVE_WORKING_VFORK 1
+#define HAVE_WORKING_FORK 1
+#define USE_FOPEN_BIN_R 1
+#define USE_OPENPTY_HEADER <pty.h>
+#define USE_XTERM_PTY 1
+#define HAVE_TYPEINFO 1
+#define HAVE_IOSTREAM 1
+#define IOSTREAM_NAMESPACE 1
+#define SIZEOF_BOOL 1
+#define CPP_HAS_OVERRIDE 1
+#define CPP_HAS_STATIC_CAST 1
+#define SIZEOF_WCHAR_T 4
+#define HAVE_SLK_COLOR 1
+#define HAVE_PANEL_H 1
+#define HAVE_LIBPANEL 1
+#define HAVE_MENU_H 1
+#define HAVE_LIBMENU 1
+#define HAVE_FORM_H 1
+#define HAVE_LIBFORM 1
+#define NCURSES_PATHSEP ':'
+#define NCURSES_VERSION_STRING "6.5.20240427"
+#define NCURSES_OSPEED_COMPAT 1
+
+#include <ncurses_def.h>
+
+	/* The C compiler may not treat these properly but C++ has to */
+#ifdef __cplusplus
+#undef const
+#undef inline
+#endif
+
+	/* On HP-UX, the C compiler doesn't grok mbstate_t without
+	   -D_XOPEN_SOURCE=500. However, this causes problems on
+	   IRIX. So, we #define mbstate_t to int in configure.in
+	   only for the C compiler if needed. */
+#ifndef __cplusplus
+#ifdef NEED_MBSTATE_T_DEF
+#define mbstate_t int
+#endif
+#endif
+
+/*
+ * vile:cmode
+ */
+#endif /* NC_CONFIG_H */
diff --git a/include/ncurses_def.h b/include/ncurses_def.h
new file mode 100644
index 0000000..321ef72
--- /dev/null
+++ b/include/ncurses_def.h
@@ -0,0 +1,988 @@
+/*
+ * This file is generated by ./MKncurses_def.sh
+ */
+
+#ifndef NC_DEFINE_H
+#define NC_DEFINE_H 1
+
+#ifndef BROKEN_LINKER
+#define BROKEN_LINKER 0
+#endif
+
+#ifndef BSD_TPUTS
+#define BSD_TPUTS 0
+#endif
+
+#ifndef CGETENT_CONST
+#define CGETENT_CONST /* nothing */
+#endif
+
+#ifndef CPP_HAS_PARAM_INIT
+#define CPP_HAS_PARAM_INIT 0
+#endif
+
+#ifndef CURSES_ACS_ARRAY
+#define CURSES_ACS_ARRAY acs_map
+#endif
+
+#ifndef CURSES_WACS_ARRAY
+#define CURSES_WACS_ARRAY _nc_wacs
+#endif
+
+#ifndef DECL_ERRNO
+#define DECL_ERRNO 0
+#endif
+
+#ifndef ETIP_NEEDS_MATH_H
+#define ETIP_NEEDS_MATH_H 0
+#endif
+
+#ifndef GCC_NORETURN
+#define GCC_NORETURN /* nothing */
+#endif
+
+#ifndef GCC_UNUSED
+#define GCC_UNUSED /* nothing */
+#endif
+
+#ifndef HAVE_ALLOC_PAIR
+#define HAVE_ALLOC_PAIR 0
+#endif
+
+#ifndef HAVE_ASSUME_DEFAULT_COLORS
+#define HAVE_ASSUME_DEFAULT_COLORS 0
+#endif
+
+#ifndef HAVE_BIG_CORE
+#define HAVE_BIG_CORE 0
+#endif
+
+#ifndef HAVE_BSD_CGETENT
+#define HAVE_BSD_CGETENT 0
+#endif
+
+#ifndef HAVE_BSD_SIGNAL_H
+#define HAVE_BSD_SIGNAL_H 0
+#endif
+
+#ifndef HAVE_BSD_STRING_H
+#define HAVE_BSD_STRING_H 0
+#endif
+
+#ifndef HAVE_BTOWC
+#define HAVE_BTOWC 0
+#endif
+
+#ifndef HAVE_BUILTIN_H
+#define HAVE_BUILTIN_H 0
+#endif
+
+#ifndef HAVE_CHGAT
+#define HAVE_CHGAT 1
+#endif
+
+#ifndef HAVE_CLOCK_GETTIME
+#define HAVE_CLOCK_GETTIME 0
+#endif
+
+#ifndef HAVE_COLOR_CONTENT
+#define HAVE_COLOR_CONTENT 1
+#endif
+
+#ifndef HAVE_COLOR_SET
+#define HAVE_COLOR_SET 1
+#endif
+
+#ifndef HAVE_CONSISTENT_GETENV
+#define HAVE_CONSISTENT_GETENV 0
+#endif
+
+#ifndef HAVE_CONSISTENT_MB_LEN_MAX
+#define HAVE_CONSISTENT_MB_LEN_MAX 0
+#endif
+
+#ifndef HAVE_COPYWIN
+#define HAVE_COPYWIN 1
+#endif
+
+#ifndef HAVE_CURSCR
+#define HAVE_CURSCR 1
+#endif
+
+#ifndef HAVE_CURSES_DATA_TABSIZE
+#define HAVE_CURSES_DATA_TABSIZE 1
+#endif
+
+#ifndef HAVE_CURSES_DATA_TTYTYPE
+#define HAVE_CURSES_DATA_TTYTYPE 1
+#endif
+
+#ifndef HAVE_CURSES_TRACE
+#define HAVE_CURSES_TRACE 1
+#endif
+
+#ifndef HAVE_DELSCREEN
+#define HAVE_DELSCREEN 1
+#endif
+
+#ifndef HAVE_DERWIN
+#define HAVE_DERWIN 1
+#endif
+
+#ifndef HAVE_DIRENT_H
+#define HAVE_DIRENT_H 0
+#endif
+
+#ifndef HAVE_DUPWIN
+#define HAVE_DUPWIN 1
+#endif
+
+#ifndef HAVE_ERRNO
+#define HAVE_ERRNO 0
+#endif
+
+#ifndef HAVE_EXIT_CURSES
+#define HAVE_EXIT_CURSES 1
+#endif
+
+#ifndef HAVE_EXIT_TERMINFO
+#define HAVE_EXIT_TERMINFO 1
+#endif
+
+#ifndef HAVE_FCNTL_H
+#define HAVE_FCNTL_H 0
+#endif
+
+#ifndef HAVE_FILTER
+#define HAVE_FILTER 1
+#endif
+
+#ifndef HAVE_FORM_H
+#define HAVE_FORM_H 0
+#endif
+
+#ifndef HAVE_FPATHCONF
+#define HAVE_FPATHCONF 0
+#endif
+
+#ifndef HAVE_GETAUXVAL
+#define HAVE_GETAUXVAL 0
+#endif
+
+#ifndef HAVE_GETBEGX
+#define HAVE_GETBEGX 1
+#endif
+
+#ifndef HAVE_GETCURX
+#define HAVE_GETCURX 1
+#endif
+
+#ifndef HAVE_GETCWD
+#define HAVE_GETCWD 0
+#endif
+
+#ifndef HAVE_GETEGID
+#define HAVE_GETEGID 0
+#endif
+
+#ifndef HAVE_GETEUID
+#define HAVE_GETEUID 0
+#endif
+
+#ifndef HAVE_GETMAXX
+#define HAVE_GETMAXX 1
+#endif
+
+#ifndef HAVE_GETNSTR
+#define HAVE_GETNSTR 0
+#endif
+
+#ifndef HAVE_GETOPT_H
+#define HAVE_GETOPT_H 0
+#endif
+
+#ifndef HAVE_GETPARX
+#define HAVE_GETPARX 1
+#endif
+
+#ifndef HAVE_GETTIMEOFDAY
+#define HAVE_GETTIMEOFDAY 0
+#endif
+
+#ifndef HAVE_GETTTYNAM
+#define HAVE_GETTTYNAM 0
+#endif
+
+#ifndef HAVE_GETUID
+#define HAVE_GETUID 0
+#endif
+
+#ifndef HAVE_GETWIN
+#define HAVE_GETWIN 1
+#endif
+
+#ifndef HAVE_GPM_H
+#define HAVE_GPM_H 0
+#endif
+
+#ifndef HAVE_GPP_BUILTIN_H
+#define HAVE_GPP_BUILTIN_H 0
+#endif
+
+#ifndef HAVE_GXX_BUILTIN_H
+#define HAVE_GXX_BUILTIN_H 0
+#endif
+
+#ifndef HAVE_HALFDELAY
+#define HAVE_HALFDELAY 1
+#endif
+
+#ifndef HAVE_HAS_KEY
+#define HAVE_HAS_KEY 0
+#endif
+
+#ifndef HAVE_INIT_EXTENDED_COLOR
+#define HAVE_INIT_EXTENDED_COLOR 0
+#endif
+
+#ifndef HAVE_INTTYPES_H
+#define HAVE_INTTYPES_H 0
+#endif
+
+#ifndef HAVE_IOSTREAM
+#define HAVE_IOSTREAM 0
+#endif
+
+#ifndef HAVE_ISASCII
+#define HAVE_ISASCII 0
+#endif
+
+#ifndef HAVE_ISSETUGID
+#define HAVE_ISSETUGID 0
+#endif
+
+#ifndef HAVE_LANGINFO_CODESET
+#define HAVE_LANGINFO_CODESET 0
+#endif
+
+#ifndef HAVE_LIBC_H
+#define HAVE_LIBC_H 0
+#endif
+
+#ifndef HAVE_LIBDBMALLOC
+#define HAVE_LIBDBMALLOC 0
+#endif
+
+#ifndef HAVE_LIBDMALLOC
+#define HAVE_LIBDMALLOC 0
+#endif
+
+#ifndef HAVE_LIBFORM
+#define HAVE_LIBFORM 0
+#endif
+
+#ifndef HAVE_LIBGPM
+#define HAVE_LIBGPM 0
+#endif
+
+#ifndef HAVE_LIBMENU
+#define HAVE_LIBMENU 0
+#endif
+
+#ifndef HAVE_LIBMPATROL
+#define HAVE_LIBMPATROL 0
+#endif
+
+#ifndef HAVE_LIBPANEL
+#define HAVE_LIBPANEL 0
+#endif
+
+#ifndef HAVE_LIB_PCRE2
+#define HAVE_LIB_PCRE2 0
+#endif
+
+#ifndef HAVE_LIMITS_H
+#define HAVE_LIMITS_H 0
+#endif
+
+#ifndef HAVE_LINK
+#define HAVE_LINK 0
+#endif
+
+#ifndef HAVE_LOCALECONV
+#define HAVE_LOCALECONV 0
+#endif
+
+#ifndef HAVE_LOCALE_H
+#define HAVE_LOCALE_H 0
+#endif
+
+#ifndef HAVE_LONG_FILE_NAMES
+#define HAVE_LONG_FILE_NAMES 0
+#endif
+
+#ifndef HAVE_MATH_FUNCS
+#define HAVE_MATH_FUNCS 0
+#endif
+
+#ifndef HAVE_MATH_H
+#define HAVE_MATH_H 0
+#endif
+
+#ifndef HAVE_MBLEN
+#define HAVE_MBLEN 0
+#endif
+
+#ifndef HAVE_MBRLEN
+#define HAVE_MBRLEN 0
+#endif
+
+#ifndef HAVE_MBRTOWC
+#define HAVE_MBRTOWC 0
+#endif
+
+#ifndef HAVE_MBSRTOWCS
+#define HAVE_MBSRTOWCS 0
+#endif
+
+#ifndef HAVE_MBSTOWCS
+#define HAVE_MBSTOWCS 0
+#endif
+
+#ifndef HAVE_MBTOWC
+#define HAVE_MBTOWC 0
+#endif
+
+#ifndef HAVE_MENU_H
+#define HAVE_MENU_H 0
+#endif
+
+#ifndef HAVE_MKSTEMP
+#define HAVE_MKSTEMP 0
+#endif
+
+#ifndef HAVE_MVDERWIN
+#define HAVE_MVDERWIN 1
+#endif
+
+#ifndef HAVE_MVVLINE
+#define HAVE_MVVLINE 1
+#endif
+
+#ifndef HAVE_MVWIN
+#define HAVE_MVWIN 1
+#endif
+
+#ifndef HAVE_MVWVLINE
+#define HAVE_MVWVLINE 1
+#endif
+
+#ifndef HAVE_NANOSLEEP
+#define HAVE_NANOSLEEP 0
+#endif
+
+#ifndef HAVE_NAPMS
+#define HAVE_NAPMS 1
+#endif
+
+#ifndef HAVE_NC_ALLOC_H
+#define HAVE_NC_ALLOC_H 0
+#endif
+
+#ifndef HAVE_NEWPAD
+#define HAVE_NEWPAD 1
+#endif
+
+#ifndef HAVE_PANEL_H
+#define HAVE_PANEL_H 0
+#endif
+
+#ifndef HAVE_PATH_TTYS
+#define HAVE_PATH_TTYS 0
+#endif
+
+#ifndef HAVE_PCRE2POSIX_H
+#define HAVE_PCRE2POSIX_H 0
+#endif
+
+#ifndef HAVE_PCREPOSIX_H
+#define HAVE_PCREPOSIX_H 0
+#endif
+
+#ifndef HAVE_POLL
+#define HAVE_POLL 0
+#endif
+
+#ifndef HAVE_POLL_H
+#define HAVE_POLL_H 0
+#endif
+
+#ifndef HAVE_PURIFY
+#define HAVE_PURIFY 0
+#endif
+
+#ifndef HAVE_PUTENV
+#define HAVE_PUTENV 0
+#endif
+
+#ifndef HAVE_PUTWC
+#define HAVE_PUTWC 0
+#endif
+
+#ifndef HAVE_PUTWIN
+#define HAVE_PUTWIN 1
+#endif
+
+#ifndef HAVE_REGEXPR_H_FUNCS
+#define HAVE_REGEXPR_H_FUNCS 0
+#endif
+
+#ifndef HAVE_REGEXP_H_FUNCS
+#define HAVE_REGEXP_H_FUNCS 0
+#endif
+
+#ifndef HAVE_REGEX_H_FUNCS
+#define HAVE_REGEX_H_FUNCS 0
+#endif
+
+#ifndef HAVE_REMOVE
+#define HAVE_REMOVE 0
+#endif
+
+#ifndef HAVE_RESET_COLOR_PAIRS
+#define HAVE_RESET_COLOR_PAIRS 0
+#endif
+
+#ifndef HAVE_RESIZETERM
+#define HAVE_RESIZETERM 0
+#endif
+
+#ifndef HAVE_RESIZE_TERM
+#define HAVE_RESIZE_TERM 0
+#endif
+
+#ifndef HAVE_RESTARTTERM
+#define HAVE_RESTARTTERM 1
+#endif
+
+#ifndef HAVE_RIPOFFLINE
+#define HAVE_RIPOFFLINE 1
+#endif
+
+#ifndef HAVE_SCR_DUMP
+#define HAVE_SCR_DUMP 1
+#endif
+
+#ifndef HAVE_SELECT
+#define HAVE_SELECT 0
+#endif
+
+#ifndef HAVE_SETBUF
+#define HAVE_SETBUF 0
+#endif
+
+#ifndef HAVE_SETBUFFER
+#define HAVE_SETBUFFER 0
+#endif
+
+#ifndef HAVE_SETENV
+#define HAVE_SETENV 0
+#endif
+
+#ifndef HAVE_SETFSUID
+#define HAVE_SETFSUID 0
+#endif
+
+#ifndef HAVE_SETUPTERM
+#define HAVE_SETUPTERM 1
+#endif
+
+#ifndef HAVE_SETVBUF
+#define HAVE_SETVBUF 0
+#endif
+
+#ifndef HAVE_SGTTY_H
+#define HAVE_SGTTY_H 0
+#endif
+
+#ifndef HAVE_SIGACTION
+#define HAVE_SIGACTION 0
+#endif
+
+#ifndef HAVE_SIGVEC
+#define HAVE_SIGVEC 0
+#endif
+
+#ifndef HAVE_SIZECHANGE
+#define HAVE_SIZECHANGE 0
+#endif
+
+#ifndef HAVE_SLK_COLOR
+#define HAVE_SLK_COLOR 0
+#endif
+
+#ifndef HAVE_SLK_INIT
+#define HAVE_SLK_INIT 1
+#endif
+
+#ifndef HAVE_SNPRINTF
+#define HAVE_SNPRINTF 0
+#endif
+
+#ifndef HAVE_STDINT_H
+#define HAVE_STDINT_H 0
+#endif
+
+#ifndef HAVE_STRDUP
+#define HAVE_STRDUP 0
+#endif
+
+#ifndef HAVE_STRLCAT
+#define HAVE_STRLCAT 0
+#endif
+
+#ifndef HAVE_STRLCPY
+#define HAVE_STRLCPY 0
+#endif
+
+#ifndef HAVE_STRSTR
+#define HAVE_STRSTR 0
+#endif
+
+#ifndef HAVE_SYMLINK
+#define HAVE_SYMLINK 0
+#endif
+
+#ifndef HAVE_SYSCONF
+#define HAVE_SYSCONF 0
+#endif
+
+#ifndef HAVE_SYS_BSDTYPES_H
+#define HAVE_SYS_BSDTYPES_H 0
+#endif
+
+#ifndef HAVE_SYS_AUXV_H
+#define HAVE_SYS_AUXV_H 0
+#endif
+
+#ifndef HAVE_SYS_IOCTL_H
+#define HAVE_SYS_IOCTL_H 0
+#endif
+
+#ifndef HAVE_SYS_PARAM_H
+#define HAVE_SYS_PARAM_H 0
+#endif
+
+#ifndef HAVE_SYS_POLL_H
+#define HAVE_SYS_POLL_H 0
+#endif
+
+#ifndef HAVE_SYS_SELECT_H
+#define HAVE_SYS_SELECT_H 0
+#endif
+
+#ifndef HAVE_SYS_TERMIO_H
+#define HAVE_SYS_TERMIO_H 0
+#endif
+
+#ifndef HAVE_SYS_TIMES_H
+#define HAVE_SYS_TIMES_H 0
+#endif
+
+#ifndef HAVE_SYS_TIME_H
+#define HAVE_SYS_TIME_H 0
+#endif
+
+#ifndef HAVE_SYS_TIME_SELECT
+#define HAVE_SYS_TIME_SELECT 0
+#endif
+
+#ifndef HAVE_TCGETATTR
+#define HAVE_TCGETATTR 0
+#endif
+
+#ifndef HAVE_TCGETPGRP
+#define HAVE_TCGETPGRP 0
+#endif
+
+#ifndef HAVE_TELL
+#define HAVE_TELL 0
+#endif
+
+#ifndef HAVE_TERMATTRS
+#define HAVE_TERMATTRS 1
+#endif
+
+#ifndef HAVE_TERMCAP_H
+#define HAVE_TERMCAP_H 1
+#endif
+
+#ifndef HAVE_TERMIOS_H
+#define HAVE_TERMIOS_H 0
+#endif
+
+#ifndef HAVE_TERMIO_H
+#define HAVE_TERMIO_H 0
+#endif
+
+#ifndef HAVE_TERMNAME
+#define HAVE_TERMNAME 1
+#endif
+
+#ifndef HAVE_TERM_ENTRY_H
+#define HAVE_TERM_ENTRY_H 1
+#endif
+
+#ifndef HAVE_TERM_H
+#define HAVE_TERM_H 1
+#endif
+
+#ifndef HAVE_TGETENT
+#define HAVE_TGETENT 1
+#endif
+
+#ifndef HAVE_TIGETNUM
+#define HAVE_TIGETNUM 1
+#endif
+
+#ifndef HAVE_TIGETSTR
+#define HAVE_TIGETSTR 1
+#endif
+
+#ifndef HAVE_TIPARM
+#define HAVE_TIPARM 1
+#endif
+
+#ifndef HAVE_TIPARM_S
+#define HAVE_TIPARM_S 1
+#endif
+
+#ifndef HAVE_TISCAN_S
+#define HAVE_TISCAN_S 1
+#endif
+
+#ifndef HAVE_TIMES
+#define HAVE_TIMES 0
+#endif
+
+#ifndef HAVE_TPUTS_SP
+#define HAVE_TPUTS_SP 0
+#endif
+
+#ifndef HAVE_TSEARCH
+#define HAVE_TSEARCH 0
+#endif
+
+#ifndef HAVE_TYPEAHEAD
+#define HAVE_TYPEAHEAD 1
+#endif
+
+#ifndef HAVE_TYPEINFO
+#define HAVE_TYPEINFO 0
+#endif
+
+#ifndef HAVE_TYPE_ATTR_T
+#define HAVE_TYPE_ATTR_T 0
+#endif
+
+#ifndef HAVE_TYPE_SIGACTION
+#define HAVE_TYPE_SIGACTION 0
+#endif
+
+#ifndef HAVE_UNCTRL_H
+#define HAVE_UNCTRL_H 1
+#endif
+
+#ifndef HAVE_UNGET_WCH
+#define HAVE_UNGET_WCH 1
+#endif
+
+#ifndef HAVE_UNISTD_H
+#define HAVE_UNISTD_H 0
+#endif
+
+#ifndef HAVE_UNLINK
+#define HAVE_UNLINK 0
+#endif
+
+#ifndef HAVE_USE_DEFAULT_COLORS
+#define HAVE_USE_DEFAULT_COLORS 0
+#endif
+
+#ifndef HAVE_USE_ENV
+#define HAVE_USE_ENV 1
+#endif
+
+#ifndef HAVE_USE_EXTENDED_NAMES
+#define HAVE_USE_EXTENDED_NAMES NCURSES_XNAMES
+#endif
+
+#ifndef HAVE_USE_SCREEN
+#define HAVE_USE_SCREEN 0
+#endif
+
+#ifndef HAVE_USE_WINDOW
+#define HAVE_USE_WINDOW 0
+#endif
+
+#ifndef HAVE_VFSCANF
+#define HAVE_VFSCANF 0
+#endif
+
+#ifndef HAVE_VIDPUTS
+#define HAVE_VIDPUTS 1
+#endif
+
+#ifndef HAVE_VID_PUTS
+#define HAVE_VID_PUTS 1
+#endif
+
+#ifndef HAVE_VSNPRINTF
+#define HAVE_VSNPRINTF 0
+#endif
+
+#ifndef HAVE_VSSCANF
+#define HAVE_VSSCANF 0
+#endif
+
+#ifndef HAVE_VW_PRINTW
+#define HAVE_VW_PRINTW 1
+#endif
+
+#ifndef HAVE_WCHGAT
+#define HAVE_WCHGAT 1
+#endif
+
+#ifndef HAVE_WCSRTOMBS
+#define HAVE_WCSRTOMBS 0
+#endif
+
+#ifndef HAVE_WCSTOMBS
+#define HAVE_WCSTOMBS 0
+#endif
+
+#ifndef HAVE_WCTOB
+#define HAVE_WCTOB 0
+#endif
+
+#ifndef HAVE_WCTOMB
+#define HAVE_WCTOMB 0
+#endif
+
+#ifndef HAVE_WCTYPE_H
+#define HAVE_WCTYPE_H 0
+#endif
+
+#ifndef HAVE_WINSDELLN
+#define HAVE_WINSDELLN 1
+#endif
+
+#ifndef HAVE_WINSSTR
+#define HAVE_WINSSTR 1
+#endif
+
+#ifndef HAVE_WMEMCHR
+#define HAVE_WMEMCHR 0
+#endif
+
+#ifndef HAVE_WORKING_POLL
+#define HAVE_WORKING_POLL 0
+#endif
+
+#ifndef HAVE_WRESIZE
+#define HAVE_WRESIZE 0
+#endif
+
+#ifndef HAVE_WSYNCDOWN
+#define HAVE_WSYNCDOWN 1
+#endif
+
+#ifndef HAVE__DOSCAN
+#define HAVE__DOSCAN 0
+#endif
+
+#ifndef HAVE__TRACEF
+#define HAVE__TRACEF 0
+#endif
+
+#ifndef HAVE__NC_TPARM_ANALYZE
+#define HAVE__NC_TPARM_ANALYZE 1
+#endif
+
+#ifndef MIXEDCASE_FILENAMES
+#define MIXEDCASE_FILENAMES 0
+#endif
+
+#ifndef NCURSES_CHAR_EQ
+#define NCURSES_CHAR_EQ 0
+#endif
+
+#ifndef NCURSES_EXPANDED
+#define NCURSES_EXPANDED 0
+#endif
+
+#ifndef NCURSES_EXT_COLORS
+#define NCURSES_EXT_COLORS 0
+#endif
+
+#ifndef NCURSES_EXT_FUNCS
+#define NCURSES_EXT_FUNCS 0
+#endif
+
+#ifndef NCURSES_EXT_PUTWIN
+#define NCURSES_EXT_PUTWIN 0
+#endif
+
+#ifndef NCURSES_NO_PADDING
+#define NCURSES_NO_PADDING 0
+#endif
+
+#ifndef NCURSES_OSPEED_COMPAT
+#define NCURSES_OSPEED_COMPAT 0
+#endif
+
+#ifndef NCURSES_PATHSEP
+#define NCURSES_PATHSEP ':'
+#endif
+
+#ifndef NCURSES_WIDECHAR
+#define NCURSES_WIDECHAR 0
+#endif
+
+#ifndef NEED_PTEM_H
+#define NEED_PTEM_H 0
+#endif
+
+#ifndef NO_LEAKS
+#define NO_LEAKS 0
+#endif
+
+#ifndef PURE_TERMINFO
+#define PURE_TERMINFO 0
+#endif
+
+#ifndef STDC_HEADERS
+#define STDC_HEADERS 0
+#endif
+
+#ifndef SVR4_ACTION
+#define SVR4_ACTION 0
+#endif
+
+#ifndef SVR4_TERMIO
+#define SVR4_TERMIO 0
+#endif
+
+#ifndef SYSTEM_NAME
+#define SYSTEM_NAME "unknown"
+#endif
+
+#ifndef TERMINFO
+#define TERMINFO "none"
+#endif
+
+#ifndef TERMPATH
+#define TERMPATH "none"
+#endif
+
+#ifndef TIME_WITH_SYS_TIME
+#define TIME_WITH_SYS_TIME 0
+#endif
+
+#ifndef TYPEOF_CHTYPE
+#define TYPEOF_CHTYPE 0
+#endif
+
+#ifndef USE_COLORFGBG
+#define USE_COLORFGBG 0
+#endif
+
+#ifndef USE_FOPEN_BIN_R
+#define USE_FOPEN_BIN_R 0
+#endif
+
+#ifndef USE_GETCAP
+#define USE_GETCAP 0
+#endif
+
+#ifndef USE_GETCAP_CACHE
+#define USE_GETCAP_CACHE 0
+#endif
+
+#ifndef USE_HARD_TABS
+#define USE_HARD_TABS 0
+#endif
+
+#ifndef USE_HASHED_DB
+#define USE_HASHED_DB 0
+#endif
+
+#ifndef USE_HASHMAP
+#define USE_HASHMAP 0
+#endif
+
+#ifndef USE_HOME_TERMINFO
+#define USE_HOME_TERMINFO 0
+#endif
+
+#ifndef USE_LINKS
+#define USE_LINKS 0
+#endif
+
+#ifndef USE_MY_MEMMOVE
+#define USE_MY_MEMMOVE 0
+#endif
+
+#ifndef USE_OK_BCOPY
+#define USE_OK_BCOPY 0
+#endif
+
+#ifndef USE_PTHREADS_EINTR
+#define USE_PTHREADS_EINTR 0
+#endif
+
+#ifndef USE_RCS_IDS
+#define USE_RCS_IDS 0
+#endif
+
+#ifndef USE_REENTRANT
+#define USE_REENTRANT 0
+#endif
+
+#ifndef USE_SAFE_SPRINTF
+#define USE_SAFE_SPRINTF 0
+#endif
+
+#ifndef USE_SCROLL_HINTS
+#define USE_SCROLL_HINTS 0
+#endif
+
+#ifndef USE_SIGWINCH
+#define USE_SIGWINCH 0
+#endif
+
+#ifndef USE_STRING_HACKS
+#define USE_STRING_HACKS 0
+#endif
+
+#ifndef USE_SYMLINKS
+#define USE_SYMLINKS 0
+#endif
+
+#ifndef USE_SYSMOUSE
+#define USE_SYSMOUSE 0
+#endif
+
+#ifndef USE_WEAK_SYMBOLS
+#define USE_WEAK_SYMBOLS 0
+#endif
+
+#ifndef USE_WIDEC_SUPPORT
+#define USE_WIDEC_SUPPORT 0
+#endif
+
+#ifndef USE_XMC_SUPPORT
+#define USE_XMC_SUPPORT 0
+#endif
+
+#endif /* NC_DEFINE_H */
diff --git a/include/ncurses_dll.h b/include/ncurses_dll.h
new file mode 100644
index 0000000..2a6055f
--- /dev/null
+++ b/include/ncurses_dll.h
@@ -0,0 +1,103 @@
+/****************************************************************************
+ * Copyright 2018-2020,2023 Thomas E. Dickey                                *
+ * Copyright 2009,2014 Free Software Foundation, Inc.                       *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+/* $Id: ncurses_dll.h.in,v 1.18 2023/05/06 20:12:43 tom Exp $ */
+
+#ifndef NCURSES_DLL_H_incl
+#define NCURSES_DLL_H_incl 1
+
+/*
+ * MinGW gcc (unlike MSYS2 and Cygwin) should define _WIN32 and possibly _WIN64.
+ */
+#if defined(__MINGW64__)
+
+#ifndef _WIN64
+#define _WIN64 1
+#endif
+
+#elif defined(__MINGW32__)
+
+#ifndef _WIN32
+#define _WIN32 1
+#endif
+
+/* 2014-08-02 workaround for broken MinGW compiler.
+ * Oddly, only TRACE is mapped to trace - the other -D's are okay.
+ * suggest TDM as an alternative.
+ */
+#if (__GNUC__ == 4) && (__GNUC_MINOR__ == 8)
+
+#ifdef trace
+#undef trace
+#define TRACE
+#endif
+
+#endif	/* broken compiler */
+
+#endif	/* MingW */
+
+/*
+ * For reentrant code, we map the various global variables into SCREEN by
+ * using functions to access them.
+ */
+#define NCURSES_PUBLIC_VAR(name) _nc_##name
+
+#if defined(BUILDING_NCURSES)
+# define NCURSES_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT
+#else
+# define NCURSES_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT
+#endif
+
+#define NCURSES_WRAPPED_VAR(type,name) extern NCURSES_IMPEXP type NCURSES_PUBLIC_VAR(name)(void)
+
+#define NCURSES_EXPORT(type) NCURSES_IMPEXP type NCURSES_API
+#define NCURSES_EXPORT_VAR(type) NCURSES_IMPEXP type
+
+/*
+ * These symbols hide dllimport/dllexport, for compilers which care about it.
+ */
+#if defined(__CYGWIN__) || (defined(_WIN32) || defined(_WIN64))
+# if defined(NCURSES_STATIC)	/* "static" here only implies "not-a-DLL" */
+#   define NCURSES_EXPORT_GENERAL_IMPORT
+#   define NCURSES_EXPORT_GENERAL_EXPORT
+# else
+#   define NCURSES_EXPORT_GENERAL_IMPORT __declspec(dllimport)
+#   define NCURSES_EXPORT_GENERAL_EXPORT __declspec(dllexport)
+# endif
+# define NCURSES_API __cdecl
+#else
+# define NCURSES_EXPORT_GENERAL_IMPORT
+# if (__GNUC__ >= 4) && !defined(__cplusplus)
+#   define NCURSES_EXPORT_GENERAL_EXPORT __attribute__((visibility ("default")))
+# else
+#   define NCURSES_EXPORT_GENERAL_EXPORT
+# endif
+# define NCURSES_API /* FIXME: __attribute__ ((cdecl)) is only available on x86 */
+#endif
+
+#endif /* NCURSES_DLL_H_incl */
diff --git a/include/panel.h b/include/panel.h
new file mode 100644
index 0000000..62acc8f
--- /dev/null
+++ b/include/panel.h
@@ -0,0 +1,100 @@
+/****************************************************************************
+ * Copyright 2020 Thomas E. Dickey                                          *
+ * Copyright 1998-2009,2017 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1995                    *
+ *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
+ *     and: Juergen Pfeifer                         1996-1999,2008          *
+ ****************************************************************************/
+
+/* $Id: panel.h,v 1.14 2020/07/04 20:38:43 tom Exp $ */
+
+/* panel.h -- interface file for panels library */
+
+#ifndef NCURSES_PANEL_H_incl
+#define NCURSES_PANEL_H_incl 1
+
+#include <curses.h>
+
+typedef struct panel
+#if !NCURSES_OPAQUE_PANEL
+{
+  WINDOW *win;
+  struct panel *below;
+  struct panel *above;
+  NCURSES_CONST void *user;
+}
+#endif /* !NCURSES_OPAQUE_PANEL */
+PANEL;
+
+#if	defined(__cplusplus)
+extern "C" {
+#endif
+
+#if defined(BUILDING_PANEL)
+# define PANEL_IMPEXP NCURSES_EXPORT_GENERAL_EXPORT
+#else
+# define PANEL_IMPEXP NCURSES_EXPORT_GENERAL_IMPORT
+#endif
+
+#define PANEL_WRAPPED_VAR(type,name) extern PANEL_IMPEXP type NCURSES_PUBLIC_VAR(name)(void)
+
+#define PANEL_EXPORT(type) PANEL_IMPEXP type NCURSES_API
+#define PANEL_EXPORT_VAR(type) PANEL_IMPEXP type
+
+extern PANEL_EXPORT(WINDOW*) panel_window (const PANEL *);
+extern PANEL_EXPORT(void)    update_panels (void);
+extern PANEL_EXPORT(int)     hide_panel (PANEL *);
+extern PANEL_EXPORT(int)     show_panel (PANEL *);
+extern PANEL_EXPORT(int)     del_panel (PANEL *);
+extern PANEL_EXPORT(int)     top_panel (PANEL *);
+extern PANEL_EXPORT(int)     bottom_panel (PANEL *);
+extern PANEL_EXPORT(PANEL*)  new_panel (WINDOW *);
+extern PANEL_EXPORT(PANEL*)  panel_above (const PANEL *);
+extern PANEL_EXPORT(PANEL*)  panel_below (const PANEL *);
+extern PANEL_EXPORT(int)     set_panel_userptr (PANEL *, NCURSES_CONST void *);
+extern PANEL_EXPORT(NCURSES_CONST void*) panel_userptr (const PANEL *);
+extern PANEL_EXPORT(int)     move_panel (PANEL *, int, int);
+extern PANEL_EXPORT(int)     replace_panel (PANEL *,WINDOW *);
+extern PANEL_EXPORT(int)     panel_hidden (const PANEL *);
+
+#if NCURSES_SP_FUNCS
+extern PANEL_EXPORT(PANEL *) ground_panel(SCREEN *);
+extern PANEL_EXPORT(PANEL *) ceiling_panel(SCREEN *);
+
+extern PANEL_EXPORT(void)    NCURSES_SP_NAME(update_panels) (SCREEN*);
+#endif
+
+#if	defined(__cplusplus)
+}
+#endif
+
+#endif /* NCURSES_PANEL_H_incl */
+
+/* end of panel.h */
diff --git a/include/parametrized.h b/include/parametrized.h
new file mode 100644
index 0000000..687cda6
--- /dev/null
+++ b/include/parametrized.h
@@ -0,0 +1,429 @@
+#ifndef PARAMETRIZED_H
+#define PARAMETRIZED_H 1
+/*
+ * parametrized.h --- is a termcap capability parametrized?
+ *
+ * Note: this file is generated using MKparametrized.sh, do not edit by hand.
+ * A value of -1 in the table means suppress both pad and % translations.
+ * A value of 0 in the table means do pad but not % translations.
+ * A value of 1 in the table means do both pad and % translations.
+ */
+
+static short const parametrized[] = {
+0,	/*  cbt  */
+0,	/*  bel  */
+0,	/*  cr  */
+1,	/*  csr  */
+0,	/*  tbc  */
+0,	/*  clear  */
+0,	/*  el  */
+0,	/*  ed  */
+1,	/*  hpa  */
+0,	/*  cmdch  */
+1,	/*  cup  */
+0,	/*  cud1  */
+0,	/*  home  */
+0,	/*  civis  */
+0,	/*  cub1  */
+1,	/*  mrcup  */
+0,	/*  cnorm  */
+0,	/*  cuf1  */
+0,	/*  ll  */
+0,	/*  cuu1  */
+0,	/*  cvvis  */
+0,	/*  dch1  */
+0,	/*  dl1  */
+0,	/*  dsl  */
+0,	/*  hd  */
+0,	/*  smacs  */
+0,	/*  blink  */
+0,	/*  bold  */
+0,	/*  smcup  */
+0,	/*  smdc  */
+0,	/*  dim  */
+0,	/*  smir  */
+0,	/*  invis  */
+0,	/*  prot  */
+0,	/*  rev  */
+0,	/*  smso  */
+0,	/*  smul  */
+1,	/*  ech  */
+0,	/*  rmacs  */
+0,	/*  sgr0  */
+0,	/*  rmcup  */
+0,	/*  rmdc  */
+0,	/*  rmir  */
+0,	/*  rmso  */
+0,	/*  rmul  */
+0,	/*  flash  */
+0,	/*  ff  */
+0,	/*  fsl  */
+0,	/*  is1  */
+0,	/*  is2  */
+0,	/*  is3  */
+0,	/*  if  */
+0,	/*  ich1  */
+0,	/*  il1  */
+0,	/*  ip  */
+0,	/*  kbs  */
+0,	/*  ktbc  */
+0,	/*  kclr  */
+0,	/*  kctab  */
+0,	/*  kdch1  */
+0,	/*  kdl1  */
+0,	/*  kcud1  */
+0,	/*  krmir  */
+0,	/*  kel  */
+0,	/*  ked  */
+0,	/*  kf0  */
+0,	/*  kf1  */
+0,	/*  kf10  */
+0,	/*  kf2  */
+0,	/*  kf3  */
+0,	/*  kf4  */
+0,	/*  kf5  */
+0,	/*  kf6  */
+0,	/*  kf7  */
+0,	/*  kf8  */
+0,	/*  kf9  */
+0,	/*  khome  */
+0,	/*  kich1  */
+0,	/*  kil1  */
+0,	/*  kcub1  */
+0,	/*  kll  */
+0,	/*  knp  */
+0,	/*  kpp  */
+0,	/*  kcuf1  */
+0,	/*  kind  */
+0,	/*  kri  */
+0,	/*  khts  */
+0,	/*  kcuu1  */
+0,	/*  rmkx  */
+0,	/*  smkx  */
+0,	/*  lf0  */
+0,	/*  lf1  */
+0,	/*  lf10  */
+0,	/*  lf2  */
+0,	/*  lf3  */
+0,	/*  lf4  */
+0,	/*  lf5  */
+0,	/*  lf6  */
+0,	/*  lf7  */
+0,	/*  lf8  */
+0,	/*  lf9  */
+0,	/*  rmm  */
+0,	/*  smm  */
+0,	/*  nel  */
+0,	/*  pad  */
+1,	/*  dch  */
+1,	/*  dl  */
+1,	/*  cud  */
+1,	/*  ich  */
+1,	/*  indn  */
+1,	/*  il  */
+1,	/*  cub  */
+1,	/*  cuf  */
+1,	/*  rin  */
+1,	/*  cuu  */
+1,	/*  pfkey  */
+1,	/*  pfloc  */
+1,	/*  pfx  */
+0,	/*  mc0  */
+0,	/*  mc4  */
+0,	/*  mc5  */
+1,	/*  rep  */
+0,	/*  rs1  */
+0,	/*  rs2  */
+0,	/*  rs3  */
+0,	/*  rf  */
+0,	/*  rc  */
+1,	/*  vpa  */
+0,	/*  sc  */
+0,	/*  ind  */
+0,	/*  ri  */
+1,	/*  sgr  */
+0,	/*  hts  */
+1,	/*  wind  */
+0,	/*  ht  */
+1,	/*  tsl  */
+0,	/*  uc  */
+0,	/*  hu  */
+0,	/*  iprog  */
+0,	/*  ka1  */
+0,	/*  ka3  */
+0,	/*  kb2  */
+0,	/*  kc1  */
+0,	/*  kc3  */
+1,	/*  mc5p  */
+0,	/*  rmp  */
+-1,	/*  acsc  */
+1,	/*  pln  */
+0,	/*  kcbt  */
+0,	/*  smxon  */
+0,	/*  rmxon  */
+0,	/*  smam  */
+0,	/*  rmam  */
+0,	/*  xonc  */
+0,	/*  xoffc  */
+0,	/*  enacs  */
+0,	/*  smln  */
+0,	/*  rmln  */
+0,	/*  kbeg  */
+0,	/*  kcan  */
+0,	/*  kclo  */
+0,	/*  kcmd  */
+0,	/*  kcpy  */
+0,	/*  kcrt  */
+0,	/*  kend  */
+0,	/*  kent  */
+0,	/*  kext  */
+0,	/*  kfnd  */
+0,	/*  khlp  */
+0,	/*  kmrk  */
+0,	/*  kmsg  */
+0,	/*  kmov  */
+0,	/*  knxt  */
+0,	/*  kopn  */
+0,	/*  kopt  */
+0,	/*  kprv  */
+0,	/*  kprt  */
+0,	/*  krdo  */
+0,	/*  kref  */
+0,	/*  krfr  */
+0,	/*  krpl  */
+0,	/*  krst  */
+0,	/*  kres  */
+0,	/*  ksav  */
+0,	/*  kspd  */
+0,	/*  kund  */
+0,	/*  kBEG  */
+0,	/*  kCAN  */
+0,	/*  kCMD  */
+0,	/*  kCPY  */
+0,	/*  kCRT  */
+0,	/*  kDC  */
+0,	/*  kDL  */
+0,	/*  kslt  */
+0,	/*  kEND  */
+0,	/*  kEOL  */
+0,	/*  kEXT  */
+0,	/*  kFND  */
+1,	/*  kHLP  */
+1,	/*  kHOM  */
+1,	/*  kIC  */
+1,	/*  kLFT  */
+0,	/*  kMSG  */
+0,	/*  kMOV  */
+0,	/*  kNXT  */
+0,	/*  kOPT  */
+0,	/*  kPRV  */
+0,	/*  kPRT  */
+0,	/*  kRDO  */
+0,	/*  kRPL  */
+0,	/*  kRIT  */
+0,	/*  kRES  */
+0,	/*  kSAV  */
+0,	/*  kSPD  */
+0,	/*  kUND  */
+0,	/*  rfi  */
+0,	/*  kf11  */
+0,	/*  kf12  */
+0,	/*  kf13  */
+0,	/*  kf14  */
+0,	/*  kf15  */
+0,	/*  kf16  */
+0,	/*  kf17  */
+0,	/*  kf18  */
+0,	/*  kf19  */
+0,	/*  kf20  */
+0,	/*  kf21  */
+0,	/*  kf22  */
+0,	/*  kf23  */
+0,	/*  kf24  */
+0,	/*  kf25  */
+0,	/*  kf26  */
+0,	/*  kf27  */
+0,	/*  kf28  */
+0,	/*  kf29  */
+0,	/*  kf30  */
+0,	/*  kf31  */
+0,	/*  kf32  */
+0,	/*  kf33  */
+0,	/*  kf34  */
+0,	/*  kf35  */
+0,	/*  kf36  */
+0,	/*  kf37  */
+0,	/*  kf38  */
+0,	/*  kf39  */
+0,	/*  kf40  */
+0,	/*  kf41  */
+0,	/*  kf42  */
+0,	/*  kf43  */
+0,	/*  kf44  */
+0,	/*  kf45  */
+0,	/*  kf46  */
+0,	/*  kf47  */
+0,	/*  kf48  */
+0,	/*  kf49  */
+0,	/*  kf50  */
+0,	/*  kf51  */
+0,	/*  kf52  */
+0,	/*  kf53  */
+0,	/*  kf54  */
+0,	/*  kf55  */
+0,	/*  kf56  */
+0,	/*  kf57  */
+0,	/*  kf58  */
+0,	/*  kf59  */
+0,	/*  kf60  */
+0,	/*  kf61  */
+0,	/*  kf62  */
+0,	/*  kf63  */
+0,	/*  el1  */
+0,	/*  mgc  */
+0,	/*  smgl  */
+0,	/*  smgr  */
+-1,	/*  fln  */
+1,	/*  sclk  */
+0,	/*  dclk  */
+0,	/*  rmclk  */
+1,	/*  cwin  */
+1,	/*  wingo  */
+0,	/*  hup  */
+1,	/*  dial  */
+1,	/*  qdial  */
+0,	/*  tone  */
+0,	/*  pulse  */
+0,	/*  hook  */
+0,	/*  pause  */
+0,	/*  wait  */
+1,	/*  u0  */
+1,	/*  u1  */
+1,	/*  u2  */
+1,	/*  u3  */
+1,	/*  u4  */
+1,	/*  u5  */
+1,	/*  u6  */
+1,	/*  u7  */
+1,	/*  u8  */
+1,	/*  u9  */
+0,	/*  op  */
+0,	/*  oc  */
+1,	/*  initc  */
+1,	/*  initp  */
+1,	/*  scp  */
+1,	/*  setf  */
+1,	/*  setb  */
+1,	/*  cpi  */
+1,	/*  lpi  */
+1,	/*  chr  */
+1,	/*  cvr  */
+1,	/*  defc  */
+0,	/*  swidm  */
+0,	/*  sdrfq  */
+0,	/*  sitm  */
+0,	/*  slm  */
+0,	/*  smicm  */
+0,	/*  snlq  */
+0,	/*  snrmq  */
+0,	/*  sshm  */
+0,	/*  ssubm  */
+0,	/*  ssupm  */
+0,	/*  sum  */
+0,	/*  rwidm  */
+0,	/*  ritm  */
+0,	/*  rlm  */
+0,	/*  rmicm  */
+0,	/*  rshm  */
+0,	/*  rsubm  */
+0,	/*  rsupm  */
+0,	/*  rum  */
+0,	/*  mhpa  */
+0,	/*  mcud1  */
+0,	/*  mcub1  */
+0,	/*  mcuf1  */
+1,	/*  mvpa  */
+0,	/*  mcuu1  */
+0,	/*  porder  */
+0,	/*  mcud  */
+0,	/*  mcub  */
+0,	/*  mcuf  */
+0,	/*  mcuu  */
+1,	/*  scs  */
+0,	/*  smgb  */
+1,	/*  smgbp  */
+1,	/*  smglp  */
+1,	/*  smgrp  */
+0,	/*  smgt  */
+1,	/*  smgtp  */
+0,	/*  sbim  */
+1,	/*  scsd  */
+0,	/*  rbim  */
+1,	/*  rcsd  */
+0,	/*  subcs  */
+0,	/*  supcs  */
+0,	/*  docr  */
+0,	/*  zerom  */
+1,	/*  csnm  */
+0,	/*  kmous  */
+0,	/*  minfo  */
+0,	/*  reqmp  */
+1,	/*  getm  */
+1,	/*  setaf  */
+1,	/*  setab  */
+1,	/*  pfxl  */
+0,	/*  devt  */
+0,	/*  csin  */
+0,	/*  s0ds  */
+0,	/*  s1ds  */
+0,	/*  s2ds  */
+0,	/*  s3ds  */
+1,	/*  smglr  */
+1,	/*  smgtb  */
+1,	/*  birep  */
+0,	/*  binel  */
+0,	/*  bicr  */
+1,	/*  colornm  */
+0,	/*  defbi  */
+0,	/*  endbi  */
+1,	/*  setcolor  */
+1,	/*  slines  */
+1,	/*  dispc  */
+0,	/*  smpch  */
+0,	/*  rmpch  */
+0,	/*  smsc  */
+0,	/*  rmsc  */
+0,	/*  pctrm  */
+0,	/*  scesc  */
+0,	/*  scesa  */
+0,	/*  ehhlm  */
+0,	/*  elhlm  */
+0,	/*  elohlm  */
+0,	/*  erhlm  */
+0,	/*  ethlm  */
+0,	/*  evhlm  */
+1,	/*  sgr1  */
+1,	/*  slength  */
+0,	/*  OTi2  */
+0,	/*  OTrs  */
+0,	/*  OTnl  */
+0,	/*  OTbc  */
+0,	/*  OTko  */
+0,	/*  OTma  */
+-1,	/*  OTG2  */
+-1,	/*  OTG3  */
+-1,	/*  OTG1  */
+-1,	/*  OTG4  */
+-1,	/*  OTGR  */
+-1,	/*  OTGL  */
+-1,	/*  OTGU  */
+-1,	/*  OTGD  */
+-1,	/*  OTGH  */
+-1,	/*  OTGV  */
+-1,	/*  OTGC  */
+0,	/*  meml  */
+0,	/*  memu  */
+0,	/*  box1  */
+} /* 414 entries */;
+
+#endif /* PARAMETRIZED_H */
diff --git a/include/term.h b/include/term.h
new file mode 100644
index 0000000..c6fb09b
--- /dev/null
+++ b/include/term.h
@@ -0,0 +1,890 @@
+/****************************************************************************
+ * Copyright 2018-2021,2023 Thomas E. Dickey                                *
+ * Copyright 1998-2013,2017 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************/
+/* Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995                */
+/*    and: Eric S. Raymond <esr@snark.thyrsus.com>                          */
+/*    and: Thomas E. Dickey                        1995-on                  */
+/****************************************************************************/
+
+/* $Id: MKterm.h.awk.in,v 1.85 2023/04/23 19:15:36 tom Exp $ */
+
+/*
+**	term.h -- Definition of struct term
+*/
+
+#ifndef NCURSES_TERM_H_incl
+#define NCURSES_TERM_H_incl 1
+
+#undef  NCURSES_VERSION
+#define NCURSES_VERSION "6.5"
+
+#include <ncurses_dll.h>
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+/* Make this file self-contained by providing defaults for the HAVE_TERMIO[S]_H
+ * definition (based on the system for which this was configured).
+ */
+
+#ifndef __NCURSES_H
+
+typedef struct screen  SCREEN;
+
+#if 1
+#undef  NCURSES_SP_FUNCS
+#define NCURSES_SP_FUNCS 20240427
+#undef  NCURSES_SP_NAME
+#define NCURSES_SP_NAME(name) name##_sp
+
+/* Define the sp-funcs helper function */
+#undef  NCURSES_SP_OUTC
+#define NCURSES_SP_OUTC NCURSES_SP_NAME(NCURSES_OUTC)
+typedef int (*NCURSES_SP_OUTC)(SCREEN*, int);
+#endif
+
+#endif /* __NCURSES_H */
+
+#undef  NCURSES_CONST
+#define NCURSES_CONST const
+
+#undef  NCURSES_SBOOL
+#define NCURSES_SBOOL char
+
+#undef  NCURSES_USE_DATABASE
+#define NCURSES_USE_DATABASE 1
+
+#undef  NCURSES_USE_TERMCAP
+#define NCURSES_USE_TERMCAP 0
+
+#undef  NCURSES_XNAMES
+#define NCURSES_XNAMES 1
+
+/* We will use these symbols to hide differences between
+ * termios/termio/sgttyb interfaces.
+ */
+#undef  TTY
+#undef  SET_TTY
+#undef  GET_TTY
+
+/* Assume POSIX termio if we have the header and function */
+/* #if HAVE_TERMIOS_H && HAVE_TCGETATTR */
+#if 1 && 1
+
+#undef  TERMIOS
+#define TERMIOS 1
+
+#include <termios.h>
+#define TTY struct termios
+
+#else /* !HAVE_TERMIOS_H */
+
+/* #if HAVE_TERMIO_H */
+#if 1
+
+#undef  TERMIOS
+#define TERMIOS 1
+
+#include <termio.h>
+#define TTY struct termio
+
+#else /* !HAVE_TERMIO_H */
+
+#if (defined(_WIN32) || defined(_WIN64))
+#if 0
+#include <win32_curses.h>
+#define TTY struct winconmode
+#else
+#include <ncurses_mingw.h>
+#define TTY struct termios
+#endif
+#else
+#undef TERMIOS
+#include <sgtty.h>
+#include <sys/ioctl.h>
+#define TTY struct sgttyb
+#endif /* MINGW32 */
+#endif /* HAVE_TERMIO_H */
+
+#endif /* HAVE_TERMIOS_H */
+
+#ifdef TERMIOS
+#define GET_TTY(fd, buf) tcgetattr(fd, buf)
+#define SET_TTY(fd, buf) tcsetattr(fd, TCSADRAIN, buf)
+#elif 0 && (defined(_WIN32) || defined(_WIN64))
+#define GET_TTY(fd, buf) _nc_console_getmode(_nc_console_fd2handle(fd),buf)
+#define SET_TTY(fd, buf) _nc_console_setmode(_nc_console_fd2handle(fd),buf)
+#else
+#define GET_TTY(fd, buf) gtty(fd, buf)
+#define SET_TTY(fd, buf) stty(fd, buf)
+#endif
+
+#ifndef	GCC_NORETURN
+#define	GCC_NORETURN /* nothing */
+#endif
+
+#define NAMESIZE 256
+
+/* The cast works because TERMTYPE is the first data in TERMINAL */
+#define CUR ((TERMTYPE *)(cur_term))->
+
+#define auto_left_margin               CUR Booleans[0]
+#define auto_right_margin              CUR Booleans[1]
+#define no_esc_ctlc                    CUR Booleans[2]
+#define ceol_standout_glitch           CUR Booleans[3]
+#define eat_newline_glitch             CUR Booleans[4]
+#define erase_overstrike               CUR Booleans[5]
+#define generic_type                   CUR Booleans[6]
+#define hard_copy                      CUR Booleans[7]
+#define has_meta_key                   CUR Booleans[8]
+#define has_status_line                CUR Booleans[9]
+#define insert_null_glitch             CUR Booleans[10]
+#define memory_above                   CUR Booleans[11]
+#define memory_below                   CUR Booleans[12]
+#define move_insert_mode               CUR Booleans[13]
+#define move_standout_mode             CUR Booleans[14]
+#define over_strike                    CUR Booleans[15]
+#define status_line_esc_ok             CUR Booleans[16]
+#define dest_tabs_magic_smso           CUR Booleans[17]
+#define tilde_glitch                   CUR Booleans[18]
+#define transparent_underline          CUR Booleans[19]
+#define xon_xoff                       CUR Booleans[20]
+#define needs_xon_xoff                 CUR Booleans[21]
+#define prtr_silent                    CUR Booleans[22]
+#define hard_cursor                    CUR Booleans[23]
+#define non_rev_rmcup                  CUR Booleans[24]
+#define no_pad_char                    CUR Booleans[25]
+#define non_dest_scroll_region         CUR Booleans[26]
+#define can_change                     CUR Booleans[27]
+#define back_color_erase               CUR Booleans[28]
+#define hue_lightness_saturation       CUR Booleans[29]
+#define col_addr_glitch                CUR Booleans[30]
+#define cr_cancels_micro_mode          CUR Booleans[31]
+#define has_print_wheel                CUR Booleans[32]
+#define row_addr_glitch                CUR Booleans[33]
+#define semi_auto_right_margin         CUR Booleans[34]
+#define cpi_changes_res                CUR Booleans[35]
+#define lpi_changes_res                CUR Booleans[36]
+#define columns                        CUR Numbers[0]
+#define init_tabs                      CUR Numbers[1]
+#define lines                          CUR Numbers[2]
+#define lines_of_memory                CUR Numbers[3]
+#define magic_cookie_glitch            CUR Numbers[4]
+#define padding_baud_rate              CUR Numbers[5]
+#define virtual_terminal               CUR Numbers[6]
+#define width_status_line              CUR Numbers[7]
+#define num_labels                     CUR Numbers[8]
+#define label_height                   CUR Numbers[9]
+#define label_width                    CUR Numbers[10]
+#define max_attributes                 CUR Numbers[11]
+#define maximum_windows                CUR Numbers[12]
+#define max_colors                     CUR Numbers[13]
+#define max_pairs                      CUR Numbers[14]
+#define no_color_video                 CUR Numbers[15]
+#define buffer_capacity                CUR Numbers[16]
+#define dot_vert_spacing               CUR Numbers[17]
+#define dot_horz_spacing               CUR Numbers[18]
+#define max_micro_address              CUR Numbers[19]
+#define max_micro_jump                 CUR Numbers[20]
+#define micro_col_size                 CUR Numbers[21]
+#define micro_line_size                CUR Numbers[22]
+#define number_of_pins                 CUR Numbers[23]
+#define output_res_char                CUR Numbers[24]
+#define output_res_line                CUR Numbers[25]
+#define output_res_horz_inch           CUR Numbers[26]
+#define output_res_vert_inch           CUR Numbers[27]
+#define print_rate                     CUR Numbers[28]
+#define wide_char_size                 CUR Numbers[29]
+#define buttons                        CUR Numbers[30]
+#define bit_image_entwining            CUR Numbers[31]
+#define bit_image_type                 CUR Numbers[32]
+#define back_tab                       CUR Strings[0]
+#define bell                           CUR Strings[1]
+#define carriage_return                CUR Strings[2]
+#define change_scroll_region           CUR Strings[3]
+#define clear_all_tabs                 CUR Strings[4]
+#define clear_screen                   CUR Strings[5]
+#define clr_eol                        CUR Strings[6]
+#define clr_eos                        CUR Strings[7]
+#define column_address                 CUR Strings[8]
+#define command_character              CUR Strings[9]
+#define cursor_address                 CUR Strings[10]
+#define cursor_down                    CUR Strings[11]
+#define cursor_home                    CUR Strings[12]
+#define cursor_invisible               CUR Strings[13]
+#define cursor_left                    CUR Strings[14]
+#define cursor_mem_address             CUR Strings[15]
+#define cursor_normal                  CUR Strings[16]
+#define cursor_right                   CUR Strings[17]
+#define cursor_to_ll                   CUR Strings[18]
+#define cursor_up                      CUR Strings[19]
+#define cursor_visible                 CUR Strings[20]
+#define delete_character               CUR Strings[21]
+#define delete_line                    CUR Strings[22]
+#define dis_status_line                CUR Strings[23]
+#define down_half_line                 CUR Strings[24]
+#define enter_alt_charset_mode         CUR Strings[25]
+#define enter_blink_mode               CUR Strings[26]
+#define enter_bold_mode                CUR Strings[27]
+#define enter_ca_mode                  CUR Strings[28]
+#define enter_delete_mode              CUR Strings[29]
+#define enter_dim_mode                 CUR Strings[30]
+#define enter_insert_mode              CUR Strings[31]
+#define enter_secure_mode              CUR Strings[32]
+#define enter_protected_mode           CUR Strings[33]
+#define enter_reverse_mode             CUR Strings[34]
+#define enter_standout_mode            CUR Strings[35]
+#define enter_underline_mode           CUR Strings[36]
+#define erase_chars                    CUR Strings[37]
+#define exit_alt_charset_mode          CUR Strings[38]
+#define exit_attribute_mode            CUR Strings[39]
+#define exit_ca_mode                   CUR Strings[40]
+#define exit_delete_mode               CUR Strings[41]
+#define exit_insert_mode               CUR Strings[42]
+#define exit_standout_mode             CUR Strings[43]
+#define exit_underline_mode            CUR Strings[44]
+#define flash_screen                   CUR Strings[45]
+#define form_feed                      CUR Strings[46]
+#define from_status_line               CUR Strings[47]
+#define init_1string                   CUR Strings[48]
+#define init_2string                   CUR Strings[49]
+#define init_3string                   CUR Strings[50]
+#define init_file                      CUR Strings[51]
+#define insert_character               CUR Strings[52]
+#define insert_line                    CUR Strings[53]
+#define insert_padding                 CUR Strings[54]
+#define key_backspace                  CUR Strings[55]
+#define key_catab                      CUR Strings[56]
+#define key_clear                      CUR Strings[57]
+#define key_ctab                       CUR Strings[58]
+#define key_dc                         CUR Strings[59]
+#define key_dl                         CUR Strings[60]
+#define key_down                       CUR Strings[61]
+#define key_eic                        CUR Strings[62]
+#define key_eol                        CUR Strings[63]
+#define key_eos                        CUR Strings[64]
+#define key_f0                         CUR Strings[65]
+#define key_f1                         CUR Strings[66]
+#define key_f10                        CUR Strings[67]
+#define key_f2                         CUR Strings[68]
+#define key_f3                         CUR Strings[69]
+#define key_f4                         CUR Strings[70]
+#define key_f5                         CUR Strings[71]
+#define key_f6                         CUR Strings[72]
+#define key_f7                         CUR Strings[73]
+#define key_f8                         CUR Strings[74]
+#define key_f9                         CUR Strings[75]
+#define key_home                       CUR Strings[76]
+#define key_ic                         CUR Strings[77]
+#define key_il                         CUR Strings[78]
+#define key_left                       CUR Strings[79]
+#define key_ll                         CUR Strings[80]
+#define key_npage                      CUR Strings[81]
+#define key_ppage                      CUR Strings[82]
+#define key_right                      CUR Strings[83]
+#define key_sf                         CUR Strings[84]
+#define key_sr                         CUR Strings[85]
+#define key_stab                       CUR Strings[86]
+#define key_up                         CUR Strings[87]
+#define keypad_local                   CUR Strings[88]
+#define keypad_xmit                    CUR Strings[89]
+#define lab_f0                         CUR Strings[90]
+#define lab_f1                         CUR Strings[91]
+#define lab_f10                        CUR Strings[92]
+#define lab_f2                         CUR Strings[93]
+#define lab_f3                         CUR Strings[94]
+#define lab_f4                         CUR Strings[95]
+#define lab_f5                         CUR Strings[96]
+#define lab_f6                         CUR Strings[97]
+#define lab_f7                         CUR Strings[98]
+#define lab_f8                         CUR Strings[99]
+#define lab_f9                         CUR Strings[100]
+#define meta_off                       CUR Strings[101]
+#define meta_on                        CUR Strings[102]
+#define newline                        CUR Strings[103]
+#define pad_char                       CUR Strings[104]
+#define parm_dch                       CUR Strings[105]
+#define parm_delete_line               CUR Strings[106]
+#define parm_down_cursor               CUR Strings[107]
+#define parm_ich                       CUR Strings[108]
+#define parm_index                     CUR Strings[109]
+#define parm_insert_line               CUR Strings[110]
+#define parm_left_cursor               CUR Strings[111]
+#define parm_right_cursor              CUR Strings[112]
+#define parm_rindex                    CUR Strings[113]
+#define parm_up_cursor                 CUR Strings[114]
+#define pkey_key                       CUR Strings[115]
+#define pkey_local                     CUR Strings[116]
+#define pkey_xmit                      CUR Strings[117]
+#define print_screen                   CUR Strings[118]
+#define prtr_off                       CUR Strings[119]
+#define prtr_on                        CUR Strings[120]
+#define repeat_char                    CUR Strings[121]
+#define reset_1string                  CUR Strings[122]
+#define reset_2string                  CUR Strings[123]
+#define reset_3string                  CUR Strings[124]
+#define reset_file                     CUR Strings[125]
+#define restore_cursor                 CUR Strings[126]
+#define row_address                    CUR Strings[127]
+#define save_cursor                    CUR Strings[128]
+#define scroll_forward                 CUR Strings[129]
+#define scroll_reverse                 CUR Strings[130]
+#define set_attributes                 CUR Strings[131]
+#define set_tab                        CUR Strings[132]
+#define set_window                     CUR Strings[133]
+#define tab                            CUR Strings[134]
+#define to_status_line                 CUR Strings[135]
+#define underline_char                 CUR Strings[136]
+#define up_half_line                   CUR Strings[137]
+#define init_prog                      CUR Strings[138]
+#define key_a1                         CUR Strings[139]
+#define key_a3                         CUR Strings[140]
+#define key_b2                         CUR Strings[141]
+#define key_c1                         CUR Strings[142]
+#define key_c3                         CUR Strings[143]
+#define prtr_non                       CUR Strings[144]
+#define char_padding                   CUR Strings[145]
+#define acs_chars                      CUR Strings[146]
+#define plab_norm                      CUR Strings[147]
+#define key_btab                       CUR Strings[148]
+#define enter_xon_mode                 CUR Strings[149]
+#define exit_xon_mode                  CUR Strings[150]
+#define enter_am_mode                  CUR Strings[151]
+#define exit_am_mode                   CUR Strings[152]
+#define xon_character                  CUR Strings[153]
+#define xoff_character                 CUR Strings[154]
+#define ena_acs                        CUR Strings[155]
+#define label_on                       CUR Strings[156]
+#define label_off                      CUR Strings[157]
+#define key_beg                        CUR Strings[158]
+#define key_cancel                     CUR Strings[159]
+#define key_close                      CUR Strings[160]
+#define key_command                    CUR Strings[161]
+#define key_copy                       CUR Strings[162]
+#define key_create                     CUR Strings[163]
+#define key_end                        CUR Strings[164]
+#define key_enter                      CUR Strings[165]
+#define key_exit                       CUR Strings[166]
+#define key_find                       CUR Strings[167]
+#define key_help                       CUR Strings[168]
+#define key_mark                       CUR Strings[169]
+#define key_message                    CUR Strings[170]
+#define key_move                       CUR Strings[171]
+#define key_next                       CUR Strings[172]
+#define key_open                       CUR Strings[173]
+#define key_options                    CUR Strings[174]
+#define key_previous                   CUR Strings[175]
+#define key_print                      CUR Strings[176]
+#define key_redo                       CUR Strings[177]
+#define key_reference                  CUR Strings[178]
+#define key_refresh                    CUR Strings[179]
+#define key_replace                    CUR Strings[180]
+#define key_restart                    CUR Strings[181]
+#define key_resume                     CUR Strings[182]
+#define key_save                       CUR Strings[183]
+#define key_suspend                    CUR Strings[184]
+#define key_undo                       CUR Strings[185]
+#define key_sbeg                       CUR Strings[186]
+#define key_scancel                    CUR Strings[187]
+#define key_scommand                   CUR Strings[188]
+#define key_scopy                      CUR Strings[189]
+#define key_screate                    CUR Strings[190]
+#define key_sdc                        CUR Strings[191]
+#define key_sdl                        CUR Strings[192]
+#define key_select                     CUR Strings[193]
+#define key_send                       CUR Strings[194]
+#define key_seol                       CUR Strings[195]
+#define key_sexit                      CUR Strings[196]
+#define key_sfind                      CUR Strings[197]
+#define key_shelp                      CUR Strings[198]
+#define key_shome                      CUR Strings[199]
+#define key_sic                        CUR Strings[200]
+#define key_sleft                      CUR Strings[201]
+#define key_smessage                   CUR Strings[202]
+#define key_smove                      CUR Strings[203]
+#define key_snext                      CUR Strings[204]
+#define key_soptions                   CUR Strings[205]
+#define key_sprevious                  CUR Strings[206]
+#define key_sprint                     CUR Strings[207]
+#define key_sredo                      CUR Strings[208]
+#define key_sreplace                   CUR Strings[209]
+#define key_sright                     CUR Strings[210]
+#define key_srsume                     CUR Strings[211]
+#define key_ssave                      CUR Strings[212]
+#define key_ssuspend                   CUR Strings[213]
+#define key_sundo                      CUR Strings[214]
+#define req_for_input                  CUR Strings[215]
+#define key_f11                        CUR Strings[216]
+#define key_f12                        CUR Strings[217]
+#define key_f13                        CUR Strings[218]
+#define key_f14                        CUR Strings[219]
+#define key_f15                        CUR Strings[220]
+#define key_f16                        CUR Strings[221]
+#define key_f17                        CUR Strings[222]
+#define key_f18                        CUR Strings[223]
+#define key_f19                        CUR Strings[224]
+#define key_f20                        CUR Strings[225]
+#define key_f21                        CUR Strings[226]
+#define key_f22                        CUR Strings[227]
+#define key_f23                        CUR Strings[228]
+#define key_f24                        CUR Strings[229]
+#define key_f25                        CUR Strings[230]
+#define key_f26                        CUR Strings[231]
+#define key_f27                        CUR Strings[232]
+#define key_f28                        CUR Strings[233]
+#define key_f29                        CUR Strings[234]
+#define key_f30                        CUR Strings[235]
+#define key_f31                        CUR Strings[236]
+#define key_f32                        CUR Strings[237]
+#define key_f33                        CUR Strings[238]
+#define key_f34                        CUR Strings[239]
+#define key_f35                        CUR Strings[240]
+#define key_f36                        CUR Strings[241]
+#define key_f37                        CUR Strings[242]
+#define key_f38                        CUR Strings[243]
+#define key_f39                        CUR Strings[244]
+#define key_f40                        CUR Strings[245]
+#define key_f41                        CUR Strings[246]
+#define key_f42                        CUR Strings[247]
+#define key_f43                        CUR Strings[248]
+#define key_f44                        CUR Strings[249]
+#define key_f45                        CUR Strings[250]
+#define key_f46                        CUR Strings[251]
+#define key_f47                        CUR Strings[252]
+#define key_f48                        CUR Strings[253]
+#define key_f49                        CUR Strings[254]
+#define key_f50                        CUR Strings[255]
+#define key_f51                        CUR Strings[256]
+#define key_f52                        CUR Strings[257]
+#define key_f53                        CUR Strings[258]
+#define key_f54                        CUR Strings[259]
+#define key_f55                        CUR Strings[260]
+#define key_f56                        CUR Strings[261]
+#define key_f57                        CUR Strings[262]
+#define key_f58                        CUR Strings[263]
+#define key_f59                        CUR Strings[264]
+#define key_f60                        CUR Strings[265]
+#define key_f61                        CUR Strings[266]
+#define key_f62                        CUR Strings[267]
+#define key_f63                        CUR Strings[268]
+#define clr_bol                        CUR Strings[269]
+#define clear_margins                  CUR Strings[270]
+#define set_left_margin                CUR Strings[271]
+#define set_right_margin               CUR Strings[272]
+#define label_format                   CUR Strings[273]
+#define set_clock                      CUR Strings[274]
+#define display_clock                  CUR Strings[275]
+#define remove_clock                   CUR Strings[276]
+#define create_window                  CUR Strings[277]
+#define goto_window                    CUR Strings[278]
+#define hangup                         CUR Strings[279]
+#define dial_phone                     CUR Strings[280]
+#define quick_dial                     CUR Strings[281]
+#define tone                           CUR Strings[282]
+#define pulse                          CUR Strings[283]
+#define flash_hook                     CUR Strings[284]
+#define fixed_pause                    CUR Strings[285]
+#define wait_tone                      CUR Strings[286]
+#define user0                          CUR Strings[287]
+#define user1                          CUR Strings[288]
+#define user2                          CUR Strings[289]
+#define user3                          CUR Strings[290]
+#define user4                          CUR Strings[291]
+#define user5                          CUR Strings[292]
+#define user6                          CUR Strings[293]
+#define user7                          CUR Strings[294]
+#define user8                          CUR Strings[295]
+#define user9                          CUR Strings[296]
+#define orig_pair                      CUR Strings[297]
+#define orig_colors                    CUR Strings[298]
+#define initialize_color               CUR Strings[299]
+#define initialize_pair                CUR Strings[300]
+#define set_color_pair                 CUR Strings[301]
+#define set_foreground                 CUR Strings[302]
+#define set_background                 CUR Strings[303]
+#define change_char_pitch              CUR Strings[304]
+#define change_line_pitch              CUR Strings[305]
+#define change_res_horz                CUR Strings[306]
+#define change_res_vert                CUR Strings[307]
+#define define_char                    CUR Strings[308]
+#define enter_doublewide_mode          CUR Strings[309]
+#define enter_draft_quality            CUR Strings[310]
+#define enter_italics_mode             CUR Strings[311]
+#define enter_leftward_mode            CUR Strings[312]
+#define enter_micro_mode               CUR Strings[313]
+#define enter_near_letter_quality      CUR Strings[314]
+#define enter_normal_quality           CUR Strings[315]
+#define enter_shadow_mode              CUR Strings[316]
+#define enter_subscript_mode           CUR Strings[317]
+#define enter_superscript_mode         CUR Strings[318]
+#define enter_upward_mode              CUR Strings[319]
+#define exit_doublewide_mode           CUR Strings[320]
+#define exit_italics_mode              CUR Strings[321]
+#define exit_leftward_mode             CUR Strings[322]
+#define exit_micro_mode                CUR Strings[323]
+#define exit_shadow_mode               CUR Strings[324]
+#define exit_subscript_mode            CUR Strings[325]
+#define exit_superscript_mode          CUR Strings[326]
+#define exit_upward_mode               CUR Strings[327]
+#define micro_column_address           CUR Strings[328]
+#define micro_down                     CUR Strings[329]
+#define micro_left                     CUR Strings[330]
+#define micro_right                    CUR Strings[331]
+#define micro_row_address              CUR Strings[332]
+#define micro_up                       CUR Strings[333]
+#define order_of_pins                  CUR Strings[334]
+#define parm_down_micro                CUR Strings[335]
+#define parm_left_micro                CUR Strings[336]
+#define parm_right_micro               CUR Strings[337]
+#define parm_up_micro                  CUR Strings[338]
+#define select_char_set                CUR Strings[339]
+#define set_bottom_margin              CUR Strings[340]
+#define set_bottom_margin_parm         CUR Strings[341]
+#define set_left_margin_parm           CUR Strings[342]
+#define set_right_margin_parm          CUR Strings[343]
+#define set_top_margin                 CUR Strings[344]
+#define set_top_margin_parm            CUR Strings[345]
+#define start_bit_image                CUR Strings[346]
+#define start_char_set_def             CUR Strings[347]
+#define stop_bit_image                 CUR Strings[348]
+#define stop_char_set_def              CUR Strings[349]
+#define subscript_characters           CUR Strings[350]
+#define superscript_characters         CUR Strings[351]
+#define these_cause_cr                 CUR Strings[352]
+#define zero_motion                    CUR Strings[353]
+#define char_set_names                 CUR Strings[354]
+#define key_mouse                      CUR Strings[355]
+#define mouse_info                     CUR Strings[356]
+#define req_mouse_pos                  CUR Strings[357]
+#define get_mouse                      CUR Strings[358]
+#define set_a_foreground               CUR Strings[359]
+#define set_a_background               CUR Strings[360]
+#define pkey_plab                      CUR Strings[361]
+#define device_type                    CUR Strings[362]
+#define code_set_init                  CUR Strings[363]
+#define set0_des_seq                   CUR Strings[364]
+#define set1_des_seq                   CUR Strings[365]
+#define set2_des_seq                   CUR Strings[366]
+#define set3_des_seq                   CUR Strings[367]
+#define set_lr_margin                  CUR Strings[368]
+#define set_tb_margin                  CUR Strings[369]
+#define bit_image_repeat               CUR Strings[370]
+#define bit_image_newline              CUR Strings[371]
+#define bit_image_carriage_return      CUR Strings[372]
+#define color_names                    CUR Strings[373]
+#define define_bit_image_region        CUR Strings[374]
+#define end_bit_image_region           CUR Strings[375]
+#define set_color_band                 CUR Strings[376]
+#define set_page_length                CUR Strings[377]
+#define display_pc_char                CUR Strings[378]
+#define enter_pc_charset_mode          CUR Strings[379]
+#define exit_pc_charset_mode           CUR Strings[380]
+#define enter_scancode_mode            CUR Strings[381]
+#define exit_scancode_mode             CUR Strings[382]
+#define pc_term_options                CUR Strings[383]
+#define scancode_escape                CUR Strings[384]
+#define alt_scancode_esc               CUR Strings[385]
+#define enter_horizontal_hl_mode       CUR Strings[386]
+#define enter_left_hl_mode             CUR Strings[387]
+#define enter_low_hl_mode              CUR Strings[388]
+#define enter_right_hl_mode            CUR Strings[389]
+#define enter_top_hl_mode              CUR Strings[390]
+#define enter_vertical_hl_mode         CUR Strings[391]
+#define set_a_attributes               CUR Strings[392]
+#define set_pglen_inch                 CUR Strings[393]
+
+#define BOOLWRITE 37
+#define NUMWRITE  33
+#define STRWRITE  394
+
+/* older synonyms for some capabilities */
+#define beehive_glitch	no_esc_ctlc
+#define teleray_glitch	dest_tabs_magic_smso
+
+/* HPUX-11 uses this name rather than the standard one */
+#ifndef micro_char_size
+#define micro_char_size micro_col_size
+#endif
+
+#ifdef __INTERNAL_CAPS_VISIBLE
+#define termcap_init2                  CUR Strings[394]
+#define termcap_reset                  CUR Strings[395]
+#define magic_cookie_glitch_ul         CUR Numbers[33]
+#define backspaces_with_bs             CUR Booleans[37]
+#define crt_no_scrolling               CUR Booleans[38]
+#define no_correctly_working_cr        CUR Booleans[39]
+#define carriage_return_delay          CUR Numbers[34]
+#define new_line_delay                 CUR Numbers[35]
+#define linefeed_if_not_lf             CUR Strings[396]
+#define backspace_if_not_bs            CUR Strings[397]
+#define gnu_has_meta_key               CUR Booleans[40]
+#define linefeed_is_newline            CUR Booleans[41]
+#define backspace_delay                CUR Numbers[36]
+#define horizontal_tab_delay           CUR Numbers[37]
+#define number_of_function_keys        CUR Numbers[38]
+#define other_non_function_keys        CUR Strings[398]
+#define arrow_key_map                  CUR Strings[399]
+#define has_hardware_tabs              CUR Booleans[42]
+#define return_does_clr_eol            CUR Booleans[43]
+#define acs_ulcorner                   CUR Strings[400]
+#define acs_llcorner                   CUR Strings[401]
+#define acs_urcorner                   CUR Strings[402]
+#define acs_lrcorner                   CUR Strings[403]
+#define acs_ltee                       CUR Strings[404]
+#define acs_rtee                       CUR Strings[405]
+#define acs_btee                       CUR Strings[406]
+#define acs_ttee                       CUR Strings[407]
+#define acs_hline                      CUR Strings[408]
+#define acs_vline                      CUR Strings[409]
+#define acs_plus                       CUR Strings[410]
+#define memory_lock                    CUR Strings[411]
+#define memory_unlock                  CUR Strings[412]
+#define box_chars_1                    CUR Strings[413]
+#endif /* __INTERNAL_CAPS_VISIBLE */
+
+
+/*
+ * Predefined terminfo array sizes
+ */
+#define BOOLCOUNT 44
+#define NUMCOUNT  39
+#define STRCOUNT  414
+
+/* used by code for comparing entries */
+#define acs_chars_index	 146
+
+typedef struct termtype {	/* in-core form of terminfo data */
+    char  *term_names;		/* str_table offset of term names */
+    char  *str_table;		/* pointer to string table */
+    NCURSES_SBOOL  *Booleans;	/* array of boolean values */
+    short *Numbers;		/* array of integer values */
+    char  **Strings;		/* array of string offsets */
+
+#if NCURSES_XNAMES
+    char  *ext_str_table;	/* pointer to extended string table */
+    char  **ext_Names;		/* corresponding names */
+
+    unsigned short num_Booleans;/* count total Booleans */
+    unsigned short num_Numbers;	/* count total Numbers */
+    unsigned short num_Strings;	/* count total Strings */
+
+    unsigned short ext_Booleans;/* count extensions to Booleans */
+    unsigned short ext_Numbers;	/* count extensions to Numbers */
+    unsigned short ext_Strings;	/* count extensions to Strings */
+#endif /* NCURSES_XNAMES */
+
+} TERMTYPE;
+
+/*
+ * The only reason these structures are visible is for read-only use.
+ * Programs which modify the data are not, never were, portable across
+ * curses implementations.
+ *
+ * The first field in TERMINAL is used in macros.
+ * The remaining fields are private.
+ */
+#ifdef NCURSES_INTERNALS
+
+#undef TERMINAL
+#define TERMINAL struct term
+TERMINAL;
+
+typedef struct termtype2 {	/* in-core form of terminfo data */
+    char  *term_names;		/* str_table offset of term names */
+    char  *str_table;		/* pointer to string table */
+    NCURSES_SBOOL  *Booleans;	/* array of boolean values */
+    int   *Numbers;		/* array of integer values */
+    char  **Strings;		/* array of string offsets */
+
+#if NCURSES_XNAMES
+    char  *ext_str_table;	/* pointer to extended string table */
+    char  **ext_Names;		/* corresponding names */
+
+    unsigned short num_Booleans;/* count total Booleans */
+    unsigned short num_Numbers;	/* count total Numbers */
+    unsigned short num_Strings;	/* count total Strings */
+
+    unsigned short ext_Booleans;/* count extensions to Booleans */
+    unsigned short ext_Numbers;	/* count extensions to Numbers */
+    unsigned short ext_Strings;	/* count extensions to Strings */
+#endif /* NCURSES_XNAMES */
+
+} TERMTYPE2;
+#else
+
+typedef struct term {		/* describe an actual terminal */
+    TERMTYPE	type;		/* terminal type description */
+} TERMINAL;
+
+#endif /* NCURSES_INTERNALS */
+
+
+#if 0 && !0
+extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;
+#elif 0
+NCURSES_WRAPPED_VAR(TERMINAL *, cur_term);
+#define cur_term   NCURSES_PUBLIC_VAR(cur_term())
+#else
+extern NCURSES_EXPORT_VAR(TERMINAL *) cur_term;
+#endif
+
+#if 0 || 0
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolnames);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolcodes);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, boolfnames);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numnames);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numcodes);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, numfnames);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strnames);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strcodes);
+NCURSES_WRAPPED_VAR(NCURSES_CONST char * const *, strfnames);
+
+#define boolnames  NCURSES_PUBLIC_VAR(boolnames())
+#define boolcodes  NCURSES_PUBLIC_VAR(boolcodes())
+#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())
+#define numnames   NCURSES_PUBLIC_VAR(numnames())
+#define numcodes   NCURSES_PUBLIC_VAR(numcodes())
+#define numfnames  NCURSES_PUBLIC_VAR(numfnames())
+#define strnames   NCURSES_PUBLIC_VAR(strnames())
+#define strcodes   NCURSES_PUBLIC_VAR(strcodes())
+#define strfnames  NCURSES_PUBLIC_VAR(strfnames())
+
+#else
+
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolnames[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolcodes[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) boolfnames[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numnames[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numcodes[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) numfnames[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strnames[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strcodes[];
+extern NCURSES_EXPORT_VAR(NCURSES_CONST char * const ) strfnames[];
+
+#endif
+
+/*
+ * These entrypoints are used only by the ncurses utilities such as tic.
+ */
+#ifdef NCURSES_INTERNALS
+
+extern NCURSES_EXPORT(int) _nc_set_tty_mode (TTY *buf);
+extern NCURSES_EXPORT(int) _nc_read_entry2 (const char * const, char * const, TERMTYPE2 *const);
+extern NCURSES_EXPORT(int) _nc_read_file_entry (const char *const, TERMTYPE2 *);
+extern NCURSES_EXPORT(int) _nc_read_termtype (TERMTYPE2 *, char *, int);
+extern NCURSES_EXPORT(char *) _nc_first_name (const char *const);
+extern NCURSES_EXPORT(int) _nc_name_match (const char *const, const char *const, const char *const);
+extern NCURSES_EXPORT(char *) _nc_tiparm(int, const char *, ...);
+extern NCURSES_EXPORT(const TERMTYPE *) _nc_fallback (const char *);
+extern NCURSES_EXPORT(int) _nc_read_entry (const char * const, char * const, TERMTYPE *const);
+
+#endif /* NCURSES_INTERNALS */
+
+/*
+ * Normal entry points
+ */
+extern NCURSES_EXPORT(TERMINAL *) set_curterm (TERMINAL *);
+extern NCURSES_EXPORT(int) del_curterm (TERMINAL *);
+
+/* miscellaneous entry points */
+extern NCURSES_EXPORT(int) restartterm (NCURSES_CONST char *, int, int *);
+extern NCURSES_EXPORT(int) setupterm (const char *,int,int *);
+
+/* terminfo entry points, also declared in curses.h */
+#if !defined(__NCURSES_H)
+extern NCURSES_EXPORT(char *) tigetstr (const char *);
+extern NCURSES_EXPORT_VAR(char) ttytype[];
+extern NCURSES_EXPORT(int) putp (const char *);
+extern NCURSES_EXPORT(int) tigetflag (const char *);
+extern NCURSES_EXPORT(int) tigetnum (const char *);
+
+#if 1 /* NCURSES_TPARM_VARARGS */
+extern NCURSES_EXPORT(char *) tparm (const char *, ...);	/* special */
+#else
+extern NCURSES_EXPORT(char *) tparm (const char *, long,long,long,long,long,long,long,long,long);	/* special */
+#endif
+
+extern NCURSES_EXPORT(char *) tiparm (const char *, ...);		/* special */
+extern NCURSES_EXPORT(char *) tiparm_s (int, int, const char *, ...);	/* special */
+extern NCURSES_EXPORT(int) tiscan_s (int *, int *, const char *);	/* special */
+
+#endif /* __NCURSES_H */
+
+/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */
+#if !defined(NCURSES_TERMCAP_H_incl)
+extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);
+extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
+extern NCURSES_EXPORT(int) tgetent (char *, const char *);
+extern NCURSES_EXPORT(int) tgetflag (const char *);
+extern NCURSES_EXPORT(int) tgetnum (const char *);
+extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
+#endif /* NCURSES_TERMCAP_H_incl */
+
+/*
+ * Include curses.h before term.h to enable these extensions.
+ */
+#if defined(NCURSES_SP_FUNCS) && (NCURSES_SP_FUNCS != 0)
+
+extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tigetstr) (SCREEN*, const char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(putp) (SCREEN*, const char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tigetflag) (SCREEN*, const char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tigetnum) (SCREEN*, const char *);
+
+#if 1 /* NCURSES_TPARM_VARARGS */
+extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm) (SCREEN*, const char *, ...);	/* special */
+#else
+extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tparm) (SCREEN*, const char *, long,long,long,long,long,long,long,long,long);	/* special */
+#endif
+
+/* termcap database emulation (XPG4 uses const only for 2nd param of tgetent) */
+extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tgetstr) (SCREEN*, const char *, char **);
+extern NCURSES_EXPORT(char *)  NCURSES_SP_NAME(tgoto) (SCREEN*, const char *, int, int);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetent) (SCREEN*, char *, const char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetflag) (SCREEN*, const char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tgetnum) (SCREEN*, const char *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(tputs) (SCREEN*, const char *, int, NCURSES_SP_OUTC);
+
+extern NCURSES_EXPORT(TERMINAL *) NCURSES_SP_NAME(set_curterm) (SCREEN*, TERMINAL *);
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(del_curterm) (SCREEN*, TERMINAL *);
+
+extern NCURSES_EXPORT(int)     NCURSES_SP_NAME(restartterm) (SCREEN*, NCURSES_CONST char *, int, int *);
+#endif /* NCURSES_SP_FUNCS */
+
+/*
+ * Debugging features.
+ */
+extern GCC_NORETURN NCURSES_EXPORT(void)    exit_terminfo(int);
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* NCURSES_TERM_H_incl */
diff --git a/include/termcap.h b/include/termcap.h
new file mode 100644
index 0000000..2cef868
--- /dev/null
+++ b/include/termcap.h
@@ -0,0 +1,73 @@
+/****************************************************************************
+ * Copyright 2018-2020,2021 Thomas E. Dickey                                *
+ * Copyright 1998-2000,2001 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
+ *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
+ ****************************************************************************/
+
+/* $Id: termcap.h.in,v 1.20 2021/06/17 21:26:02 tom Exp $ */
+
+#ifndef NCURSES_TERMCAP_H_incl
+#define NCURSES_TERMCAP_H_incl	1
+
+#undef  NCURSES_VERSION
+#define NCURSES_VERSION "6.5"
+
+#include <ncurses_dll.h>
+
+#ifdef __cplusplus
+extern "C"
+{
+#endif /* __cplusplus */
+
+#include <sys/types.h>
+
+#undef  NCURSES_OSPEED
+#define NCURSES_OSPEED short
+
+extern NCURSES_EXPORT_VAR(char) PC;
+extern NCURSES_EXPORT_VAR(char *) UP;
+extern NCURSES_EXPORT_VAR(char *) BC;
+extern NCURSES_EXPORT_VAR(NCURSES_OSPEED) ospeed;
+
+#if !defined(NCURSES_TERM_H_incl)
+extern NCURSES_EXPORT(char *) tgetstr (const char *, char **);
+extern NCURSES_EXPORT(char *) tgoto (const char *, int, int);
+extern NCURSES_EXPORT(int) tgetent (char *, const char *);
+extern NCURSES_EXPORT(int) tgetflag (const char *);
+extern NCURSES_EXPORT(int) tgetnum (const char *);
+extern NCURSES_EXPORT(int) tputs (const char *, int, int (*)(int));
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* NCURSES_TERMCAP_H_incl */
diff --git a/include/unctrl.h b/include/unctrl.h
new file mode 100644
index 0000000..1f3ed62
--- /dev/null
+++ b/include/unctrl.h
@@ -0,0 +1,68 @@
+/****************************************************************************
+ * Copyright 2020 Thomas E. Dickey                                          *
+ * Copyright 1998-2001,2009 Free Software Foundation, Inc.                  *
+ *                                                                          *
+ * Permission is hereby granted, free of charge, to any person obtaining a  *
+ * copy of this software and associated documentation files (the            *
+ * "Software"), to deal in the Software without restriction, including      *
+ * without limitation the rights to use, copy, modify, merge, publish,      *
+ * distribute, distribute with modifications, sublicense, and/or sell       *
+ * copies of the Software, and to permit persons to whom the Software is    *
+ * furnished to do so, subject to the following conditions:                 *
+ *                                                                          *
+ * The above copyright notice and this permission notice shall be included  *
+ * in all copies or substantial portions of the Software.                   *
+ *                                                                          *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+ * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+ * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+ * IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+ * DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+ * OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+ * THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+ *                                                                          *
+ * Except as contained in this notice, the name(s) of the above copyright   *
+ * holders shall not be used in advertising or otherwise to promote the     *
+ * sale, use or other dealings in this Software without prior written       *
+ * authorization.                                                           *
+ ****************************************************************************/
+
+/****************************************************************************
+ *  Author: Zeyd M. Ben-Halim <zmbenhal@netcom.com> 1992,1995               *
+ *     and: Eric S. Raymond <esr@snark.thyrsus.com>                         *
+ ****************************************************************************/
+
+/*
+ * unctrl.h
+ *
+ * Display a printable version of a control character.
+ * Control characters are displayed in caret notation (^x), DELETE is displayed
+ * as ^?. Printable characters are displayed as is.
+ */
+
+/* $Id: unctrl.h.in,v 1.12 2020/02/02 23:34:34 tom Exp $ */
+
+#ifndef NCURSES_UNCTRL_H_incl
+#define NCURSES_UNCTRL_H_incl	1
+
+#undef  NCURSES_VERSION
+#define NCURSES_VERSION "6.5"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+#include <curses.h>
+
+#undef unctrl
+NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype);
+
+#if 1
+NCURSES_EXPORT(NCURSES_CONST char *) NCURSES_SP_NAME(unctrl) (SCREEN*, chtype);
+#endif
+
+#ifdef __cplusplus
+}
+#endif
+
+#endif /* NCURSES_UNCTRL_H_incl */
diff --git a/lib/libformw.a b/lib/libformw.a
new file mode 100644
index 0000000..d24eccd
--- /dev/null
+++ b/lib/libformw.a
Binary files differ
diff --git a/lib/libformw_g.a b/lib/libformw_g.a
new file mode 100644
index 0000000..7bdd3bb
--- /dev/null
+++ b/lib/libformw_g.a
Binary files differ
diff --git a/lib/libmenuw.a b/lib/libmenuw.a
new file mode 100644
index 0000000..2ce6351
--- /dev/null
+++ b/lib/libmenuw.a
Binary files differ
diff --git a/lib/libmenuw_g.a b/lib/libmenuw_g.a
new file mode 100644
index 0000000..8c65c4b
--- /dev/null
+++ b/lib/libmenuw_g.a
Binary files differ
diff --git a/lib/libncurses++w.a b/lib/libncurses++w.a
new file mode 100644
index 0000000..29e5819
--- /dev/null
+++ b/lib/libncurses++w.a
Binary files differ
diff --git a/lib/libncurses++w_g.a b/lib/libncurses++w_g.a
new file mode 100644
index 0000000..70179db
--- /dev/null
+++ b/lib/libncurses++w_g.a
Binary files differ
diff --git a/lib/libncursesw.a b/lib/libncursesw.a
new file mode 100644
index 0000000..379fa33
--- /dev/null
+++ b/lib/libncursesw.a
Binary files differ
diff --git a/lib/libncursesw_g.a b/lib/libncursesw_g.a
new file mode 100644
index 0000000..1e107f9
--- /dev/null
+++ b/lib/libncursesw_g.a
Binary files differ
diff --git a/lib/libpanelw.a b/lib/libpanelw.a
new file mode 100644
index 0000000..5569d85
--- /dev/null
+++ b/lib/libpanelw.a
Binary files differ
diff --git a/lib/libpanelw_g.a b/lib/libpanelw_g.a
new file mode 100644
index 0000000..548a41e
--- /dev/null
+++ b/lib/libpanelw_g.a
Binary files differ
diff --git a/lib/terminfo/1/1178 b/lib/terminfo/1/1178
deleted file mode 120000
index 5fe829d..0000000
--- a/lib/terminfo/1/1178
+++ /dev/null
@@ -1 +0,0 @@
-../a/adm1178
\ No newline at end of file
diff --git a/lib/terminfo/1/1178 b/lib/terminfo/1/1178
new file mode 100644
index 0000000..a78743d
--- /dev/null
+++ b/lib/terminfo/1/1178
Binary files differ
diff --git a/lib/terminfo/1/1730-lm b/lib/terminfo/1/1730-lm
deleted file mode 120000
index 81ac7e1..0000000
--- a/lib/terminfo/1/1730-lm
+++ /dev/null
@@ -1 +0,0 @@
-../d/diablo1740-lm
\ No newline at end of file
diff --git a/lib/terminfo/1/1730-lm b/lib/terminfo/1/1730-lm
new file mode 100644
index 0000000..4aeeb98
--- /dev/null
+++ b/lib/terminfo/1/1730-lm
Binary files differ
diff --git a/lib/terminfo/2/2621 b/lib/terminfo/2/2621
deleted file mode 120000
index 8374686..0000000
--- a/lib/terminfo/2/2621
+++ /dev/null
@@ -1 +0,0 @@
-../h/hp2621
\ No newline at end of file
diff --git a/lib/terminfo/2/2621 b/lib/terminfo/2/2621
new file mode 100644
index 0000000..e01ee35
--- /dev/null
+++ b/lib/terminfo/2/2621
Binary files differ
diff --git a/lib/terminfo/2/2621-wl b/lib/terminfo/2/2621-wl
deleted file mode 120000
index 8374686..0000000
--- a/lib/terminfo/2/2621-wl
+++ /dev/null
@@ -1 +0,0 @@
-../h/hp2621
\ No newline at end of file
diff --git a/lib/terminfo/2/2621-wl b/lib/terminfo/2/2621-wl
new file mode 100644
index 0000000..e01ee35
--- /dev/null
+++ b/lib/terminfo/2/2621-wl
Binary files differ
diff --git a/lib/terminfo/2/2621A b/lib/terminfo/2/2621A
deleted file mode 120000
index 8374686..0000000
--- a/lib/terminfo/2/2621A
+++ /dev/null
@@ -1 +0,0 @@
-../h/hp2621
\ No newline at end of file
diff --git a/lib/terminfo/2/2621A b/lib/terminfo/2/2621A
new file mode 100644
index 0000000..e01ee35
--- /dev/null
+++ b/lib/terminfo/2/2621A
Binary files differ
diff --git a/lib/terminfo/2/2621a b/lib/terminfo/2/2621a
deleted file mode 120000
index 8374686..0000000
--- a/lib/terminfo/2/2621a
+++ /dev/null
@@ -1 +0,0 @@
-../h/hp2621
\ No newline at end of file
diff --git a/lib/terminfo/2/2621a b/lib/terminfo/2/2621a
new file mode 100644
index 0000000..e01ee35
--- /dev/null
+++ b/lib/terminfo/2/2621a
Binary files differ
diff --git a/lib/terminfo/3/386at b/lib/terminfo/3/386at
deleted file mode 120000
index c67d9c7..0000000
--- a/lib/terminfo/3/386at
+++ /dev/null
@@ -1 +0,0 @@
-../a/att6386
\ No newline at end of file
diff --git a/lib/terminfo/3/386at b/lib/terminfo/3/386at
new file mode 100644
index 0000000..3da9542
--- /dev/null
+++ b/lib/terminfo/3/386at
Binary files differ
diff --git a/lib/terminfo/3/3b1 b/lib/terminfo/3/3b1
deleted file mode 120000
index baaa9ad..0000000
--- a/lib/terminfo/3/3b1
+++ /dev/null
@@ -1 +0,0 @@
-../a/att7300
\ No newline at end of file
diff --git a/lib/terminfo/3/3b1 b/lib/terminfo/3/3b1
new file mode 100644
index 0000000..b41843d
--- /dev/null
+++ b/lib/terminfo/3/3b1
Binary files differ
diff --git a/lib/terminfo/4/4025ex b/lib/terminfo/4/4025ex
deleted file mode 120000
index da8870c..0000000
--- a/lib/terminfo/4/4025ex
+++ /dev/null
@@ -1 +0,0 @@
-../t/tek4025ex
\ No newline at end of file
diff --git a/lib/terminfo/4/4025ex b/lib/terminfo/4/4025ex
new file mode 100644
index 0000000..a7d999f
--- /dev/null
+++ b/lib/terminfo/4/4025ex
Binary files differ
diff --git a/lib/terminfo/4/4027ex b/lib/terminfo/4/4027ex
deleted file mode 120000
index da8870c..0000000
--- a/lib/terminfo/4/4027ex
+++ /dev/null
@@ -1 +0,0 @@
-../t/tek4025ex
\ No newline at end of file
diff --git a/lib/terminfo/4/4027ex b/lib/terminfo/4/4027ex
new file mode 100644
index 0000000..a7d999f
--- /dev/null
+++ b/lib/terminfo/4/4027ex
Binary files differ
diff --git a/lib/terminfo/4/4410-w b/lib/terminfo/4/4410-w
deleted file mode 120000
index b30658d..0000000
--- a/lib/terminfo/4/4410-w
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5410-w
\ No newline at end of file
diff --git a/lib/terminfo/4/4410-w b/lib/terminfo/4/4410-w
new file mode 100644
index 0000000..78d1777
--- /dev/null
+++ b/lib/terminfo/4/4410-w
Binary files differ
diff --git a/lib/terminfo/5/5051 b/lib/terminfo/5/5051
deleted file mode 120000
index 5c9fffe..0000000
--- a/lib/terminfo/5/5051
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibm-pc
\ No newline at end of file
diff --git a/lib/terminfo/5/5051 b/lib/terminfo/5/5051
new file mode 100644
index 0000000..ec3766c
--- /dev/null
+++ b/lib/terminfo/5/5051
Binary files differ
diff --git a/lib/terminfo/5/5410-w b/lib/terminfo/5/5410-w
deleted file mode 120000
index b30658d..0000000
--- a/lib/terminfo/5/5410-w
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5410-w
\ No newline at end of file
diff --git a/lib/terminfo/5/5410-w b/lib/terminfo/5/5410-w
new file mode 100644
index 0000000..78d1777
--- /dev/null
+++ b/lib/terminfo/5/5410-w
Binary files differ
diff --git a/lib/terminfo/5/5620 b/lib/terminfo/5/5620
deleted file mode 120000
index f27fa37..0000000
--- a/lib/terminfo/5/5620
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620
\ No newline at end of file
diff --git a/lib/terminfo/5/5620 b/lib/terminfo/5/5620
new file mode 100644
index 0000000..1bb4071
--- /dev/null
+++ b/lib/terminfo/5/5620
Binary files differ
diff --git a/lib/terminfo/5/5630-24 b/lib/terminfo/5/5630-24
deleted file mode 120000
index 682dd85..0000000
--- a/lib/terminfo/5/5630-24
+++ /dev/null
@@ -1 +0,0 @@
-../a/att630-24
\ No newline at end of file
diff --git a/lib/terminfo/5/5630-24 b/lib/terminfo/5/5630-24
new file mode 100644
index 0000000..a575613
--- /dev/null
+++ b/lib/terminfo/5/5630-24
Binary files differ
diff --git a/lib/terminfo/5/5630DMD-24 b/lib/terminfo/5/5630DMD-24
deleted file mode 120000
index 682dd85..0000000
--- a/lib/terminfo/5/5630DMD-24
+++ /dev/null
@@ -1 +0,0 @@
-../a/att630-24
\ No newline at end of file
diff --git a/lib/terminfo/5/5630DMD-24 b/lib/terminfo/5/5630DMD-24
new file mode 100644
index 0000000..a575613
--- /dev/null
+++ b/lib/terminfo/5/5630DMD-24
Binary files differ
diff --git a/lib/terminfo/6/6053 b/lib/terminfo/6/6053
deleted file mode 120000
index d1d2563..0000000
--- a/lib/terminfo/6/6053
+++ /dev/null
@@ -1 +0,0 @@
-../d/dg6053
\ No newline at end of file
diff --git a/lib/terminfo/6/6053 b/lib/terminfo/6/6053
new file mode 100644
index 0000000..ee16edb
--- /dev/null
+++ b/lib/terminfo/6/6053
Binary files differ
diff --git a/lib/terminfo/6/6053-dg b/lib/terminfo/6/6053-dg
deleted file mode 120000
index d1d2563..0000000
--- a/lib/terminfo/6/6053-dg
+++ /dev/null
@@ -1 +0,0 @@
-../d/dg6053
\ No newline at end of file
diff --git a/lib/terminfo/6/6053-dg b/lib/terminfo/6/6053-dg
new file mode 100644
index 0000000..ee16edb
--- /dev/null
+++ b/lib/terminfo/6/6053-dg
Binary files differ
diff --git a/lib/terminfo/6/605x b/lib/terminfo/6/605x
deleted file mode 120000
index d1d2563..0000000
--- a/lib/terminfo/6/605x
+++ /dev/null
@@ -1 +0,0 @@
-../d/dg6053
\ No newline at end of file
diff --git a/lib/terminfo/6/605x b/lib/terminfo/6/605x
new file mode 100644
index 0000000..ee16edb
--- /dev/null
+++ b/lib/terminfo/6/605x
Binary files differ
diff --git a/lib/terminfo/6/605x-dg b/lib/terminfo/6/605x-dg
deleted file mode 120000
index d1d2563..0000000
--- a/lib/terminfo/6/605x-dg
+++ /dev/null
@@ -1 +0,0 @@
-../d/dg6053
\ No newline at end of file
diff --git a/lib/terminfo/6/605x-dg b/lib/terminfo/6/605x-dg
new file mode 100644
index 0000000..ee16edb
--- /dev/null
+++ b/lib/terminfo/6/605x-dg
Binary files differ
diff --git a/lib/terminfo/6/630-lm b/lib/terminfo/6/630-lm
deleted file mode 120000
index 81ac7e1..0000000
--- a/lib/terminfo/6/630-lm
+++ /dev/null
@@ -1 +0,0 @@
-../d/diablo1740-lm
\ No newline at end of file
diff --git a/lib/terminfo/6/630-lm b/lib/terminfo/6/630-lm
new file mode 100644
index 0000000..4aeeb98
--- /dev/null
+++ b/lib/terminfo/6/630-lm
Binary files differ
diff --git a/lib/terminfo/6/630MTG-24 b/lib/terminfo/6/630MTG-24
deleted file mode 120000
index 682dd85..0000000
--- a/lib/terminfo/6/630MTG-24
+++ /dev/null
@@ -1 +0,0 @@
-../a/att630-24
\ No newline at end of file
diff --git a/lib/terminfo/6/630MTG-24 b/lib/terminfo/6/630MTG-24
new file mode 100644
index 0000000..a575613
--- /dev/null
+++ b/lib/terminfo/6/630MTG-24
Binary files differ
diff --git a/lib/terminfo/7/730MTG-24 b/lib/terminfo/7/730MTG-24
deleted file mode 120000
index e880576..0000000
--- a/lib/terminfo/7/730MTG-24
+++ /dev/null
@@ -1 +0,0 @@
-../a/att730-24
\ No newline at end of file
diff --git a/lib/terminfo/7/730MTG-24 b/lib/terminfo/7/730MTG-24
new file mode 100644
index 0000000..cf1e9a2
--- /dev/null
+++ b/lib/terminfo/7/730MTG-24
Binary files differ
diff --git a/lib/terminfo/7/730MTG-41 b/lib/terminfo/7/730MTG-41
deleted file mode 120000
index 60caf30..0000000
--- a/lib/terminfo/7/730MTG-41
+++ /dev/null
@@ -1 +0,0 @@
-../a/att730-41
\ No newline at end of file
diff --git a/lib/terminfo/7/730MTG-41 b/lib/terminfo/7/730MTG-41
new file mode 100644
index 0000000..085e285
--- /dev/null
+++ b/lib/terminfo/7/730MTG-41
Binary files differ
diff --git a/lib/terminfo/7/730MTG-41r b/lib/terminfo/7/730MTG-41r
deleted file mode 120000
index 466f54a..0000000
--- a/lib/terminfo/7/730MTG-41r
+++ /dev/null
@@ -1 +0,0 @@
-../a/att730r-41
\ No newline at end of file
diff --git a/lib/terminfo/7/730MTG-41r b/lib/terminfo/7/730MTG-41r
new file mode 100644
index 0000000..1a675a0
--- /dev/null
+++ b/lib/terminfo/7/730MTG-41r
Binary files differ
diff --git a/lib/terminfo/7/730MTGr b/lib/terminfo/7/730MTGr
deleted file mode 120000
index f694291..0000000
--- a/lib/terminfo/7/730MTGr
+++ /dev/null
@@ -1 +0,0 @@
-../a/att730r
\ No newline at end of file
diff --git a/lib/terminfo/7/730MTGr b/lib/terminfo/7/730MTGr
new file mode 100644
index 0000000..12751e4
--- /dev/null
+++ b/lib/terminfo/7/730MTGr
Binary files differ
diff --git a/lib/terminfo/7/730MTGr-24 b/lib/terminfo/7/730MTGr-24
deleted file mode 120000
index 9e2723a..0000000
--- a/lib/terminfo/7/730MTGr-24
+++ /dev/null
@@ -1 +0,0 @@
-../a/att730r-24
\ No newline at end of file
diff --git a/lib/terminfo/7/730MTGr-24 b/lib/terminfo/7/730MTGr-24
new file mode 100644
index 0000000..1bb2632
--- /dev/null
+++ b/lib/terminfo/7/730MTGr-24
Binary files differ
diff --git a/lib/terminfo/8/8510 b/lib/terminfo/8/8510
deleted file mode 120000
index 2277dd1..0000000
--- a/lib/terminfo/8/8510
+++ /dev/null
@@ -1 +0,0 @@
-../c/citoh
\ No newline at end of file
diff --git a/lib/terminfo/8/8510 b/lib/terminfo/8/8510
new file mode 100644
index 0000000..2874d51
--- /dev/null
+++ b/lib/terminfo/8/8510
Binary files differ
diff --git a/lib/terminfo/9/955-hb b/lib/terminfo/9/955-hb
deleted file mode 120000
index 446f851..0000000
--- a/lib/terminfo/9/955-hb
+++ /dev/null
@@ -1 +0,0 @@
-../t/tvi955-hb
\ No newline at end of file
diff --git a/lib/terminfo/9/955-hb b/lib/terminfo/9/955-hb
new file mode 100644
index 0000000..dfe4c1f
--- /dev/null
+++ b/lib/terminfo/9/955-hb
Binary files differ
diff --git a/lib/terminfo/9/955-w b/lib/terminfo/9/955-w
deleted file mode 120000
index 49897e0..0000000
--- a/lib/terminfo/9/955-w
+++ /dev/null
@@ -1 +0,0 @@
-../t/tvi955-w
\ No newline at end of file
diff --git a/lib/terminfo/9/955-w b/lib/terminfo/9/955-w
new file mode 100644
index 0000000..437f5ce
--- /dev/null
+++ b/lib/terminfo/9/955-w
Binary files differ
diff --git a/lib/terminfo/A/Apple_Terminal b/lib/terminfo/A/Apple_Terminal
deleted file mode 120000
index e815c47..0000000
--- a/lib/terminfo/A/Apple_Terminal
+++ /dev/null
@@ -1 +0,0 @@
-../n/nsterm
\ No newline at end of file
diff --git a/lib/terminfo/A/Apple_Terminal b/lib/terminfo/A/Apple_Terminal
new file mode 100644
index 0000000..f10555a
--- /dev/null
+++ b/lib/terminfo/A/Apple_Terminal
Binary files differ
diff --git a/lib/terminfo/E/Eterm b/lib/terminfo/E/Eterm
index 504d673..a08d16a 100644
--- a/lib/terminfo/E/Eterm
+++ b/lib/terminfo/E/Eterm
Binary files differ
diff --git a/lib/terminfo/E/Eterm-256color b/lib/terminfo/E/Eterm-256color
index 4d6d3bb..03d6af0 100644
--- a/lib/terminfo/E/Eterm-256color
+++ b/lib/terminfo/E/Eterm-256color
Binary files differ
diff --git a/lib/terminfo/E/Eterm-88color b/lib/terminfo/E/Eterm-88color
index 6cdcc42..6882651 100644
--- a/lib/terminfo/E/Eterm-88color
+++ b/lib/terminfo/E/Eterm-88color
Binary files differ
diff --git a/lib/terminfo/E/Eterm-color b/lib/terminfo/E/Eterm-color
deleted file mode 120000
index 74aebd7..0000000
--- a/lib/terminfo/E/Eterm-color
+++ /dev/null
@@ -1 +0,0 @@
-Eterm
\ No newline at end of file
diff --git a/lib/terminfo/E/Eterm-color b/lib/terminfo/E/Eterm-color
new file mode 100644
index 0000000..a08d16a
--- /dev/null
+++ b/lib/terminfo/E/Eterm-color
Binary files differ
diff --git a/lib/terminfo/L/LFT-PC850 b/lib/terminfo/L/LFT-PC850
deleted file mode 120000
index 95b87f8..0000000
--- a/lib/terminfo/L/LFT-PC850
+++ /dev/null
@@ -1 +0,0 @@
-../l/lft
\ No newline at end of file
diff --git a/lib/terminfo/L/LFT-PC850 b/lib/terminfo/L/LFT-PC850
new file mode 100644
index 0000000..20c5b42
--- /dev/null
+++ b/lib/terminfo/L/LFT-PC850
Binary files differ
diff --git a/lib/terminfo/M/MtxOrb b/lib/terminfo/M/MtxOrb
index e7da241..535ea37 100644
--- a/lib/terminfo/M/MtxOrb
+++ b/lib/terminfo/M/MtxOrb
Binary files differ
diff --git a/lib/terminfo/N/NCR260VT300WPP b/lib/terminfo/N/NCR260VT300WPP
index 8e8510f..c41956f 100644
--- a/lib/terminfo/N/NCR260VT300WPP
+++ b/lib/terminfo/N/NCR260VT300WPP
Binary files differ
diff --git a/lib/terminfo/N/NCRVT100WPP b/lib/terminfo/N/NCRVT100WPP
deleted file mode 120000
index 9c84c11..0000000
--- a/lib/terminfo/N/NCRVT100WPP
+++ /dev/null
@@ -1 +0,0 @@
-../n/ncrvt100wan
\ No newline at end of file
diff --git a/lib/terminfo/N/NCRVT100WPP b/lib/terminfo/N/NCRVT100WPP
new file mode 100644
index 0000000..d5cdb64
--- /dev/null
+++ b/lib/terminfo/N/NCRVT100WPP
Binary files differ
diff --git a/lib/terminfo/P/P12 b/lib/terminfo/P/P12
deleted file mode 120000
index 543c0ad..0000000
--- a/lib/terminfo/P/P12
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism12
\ No newline at end of file
diff --git a/lib/terminfo/P/P12 b/lib/terminfo/P/P12
new file mode 100644
index 0000000..12de256
--- /dev/null
+++ b/lib/terminfo/P/P12
Binary files differ
diff --git a/lib/terminfo/P/P12-M b/lib/terminfo/P/P12-M
deleted file mode 120000
index fe9ccb6..0000000
--- a/lib/terminfo/P/P12-M
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism12-m
\ No newline at end of file
diff --git a/lib/terminfo/P/P12-M b/lib/terminfo/P/P12-M
new file mode 100644
index 0000000..c4dd321
--- /dev/null
+++ b/lib/terminfo/P/P12-M
Binary files differ
diff --git a/lib/terminfo/P/P12-M-W b/lib/terminfo/P/P12-M-W
deleted file mode 120000
index e37fcb0..0000000
--- a/lib/terminfo/P/P12-M-W
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism12-m-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P12-M-W b/lib/terminfo/P/P12-M-W
new file mode 100644
index 0000000..7a52b60
--- /dev/null
+++ b/lib/terminfo/P/P12-M-W
Binary files differ
diff --git a/lib/terminfo/P/P12-W b/lib/terminfo/P/P12-W
deleted file mode 120000
index 1bf0254..0000000
--- a/lib/terminfo/P/P12-W
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism12-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P12-W b/lib/terminfo/P/P12-W
new file mode 100644
index 0000000..2fe870d
--- /dev/null
+++ b/lib/terminfo/P/P12-W
Binary files differ
diff --git a/lib/terminfo/P/P14 b/lib/terminfo/P/P14
deleted file mode 120000
index aa92ed0..0000000
--- a/lib/terminfo/P/P14
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism14
\ No newline at end of file
diff --git a/lib/terminfo/P/P14 b/lib/terminfo/P/P14
new file mode 100644
index 0000000..485f1bc
--- /dev/null
+++ b/lib/terminfo/P/P14
Binary files differ
diff --git a/lib/terminfo/P/P14-M b/lib/terminfo/P/P14-M
deleted file mode 120000
index 1f24cca..0000000
--- a/lib/terminfo/P/P14-M
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism14-m
\ No newline at end of file
diff --git a/lib/terminfo/P/P14-M b/lib/terminfo/P/P14-M
new file mode 100644
index 0000000..39dd310
--- /dev/null
+++ b/lib/terminfo/P/P14-M
Binary files differ
diff --git a/lib/terminfo/P/P14-M-W b/lib/terminfo/P/P14-M-W
deleted file mode 120000
index c29232b..0000000
--- a/lib/terminfo/P/P14-M-W
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism14-m-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P14-M-W b/lib/terminfo/P/P14-M-W
new file mode 100644
index 0000000..5b6475d
--- /dev/null
+++ b/lib/terminfo/P/P14-M-W
Binary files differ
diff --git a/lib/terminfo/P/P14-W b/lib/terminfo/P/P14-W
deleted file mode 120000
index 3a781e2..0000000
--- a/lib/terminfo/P/P14-W
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism14-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P14-W b/lib/terminfo/P/P14-W
new file mode 100644
index 0000000..1d7df53
--- /dev/null
+++ b/lib/terminfo/P/P14-W
Binary files differ
diff --git a/lib/terminfo/P/P4 b/lib/terminfo/P/P4
deleted file mode 120000
index faddb45..0000000
--- a/lib/terminfo/P/P4
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism4
\ No newline at end of file
diff --git a/lib/terminfo/P/P4 b/lib/terminfo/P/P4
new file mode 100644
index 0000000..1d53e48
--- /dev/null
+++ b/lib/terminfo/P/P4
Binary files differ
diff --git a/lib/terminfo/P/P5 b/lib/terminfo/P/P5
deleted file mode 120000
index a65bc36..0000000
--- a/lib/terminfo/P/P5
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism5
\ No newline at end of file
diff --git a/lib/terminfo/P/P5 b/lib/terminfo/P/P5
new file mode 100644
index 0000000..f1848d0
--- /dev/null
+++ b/lib/terminfo/P/P5
Binary files differ
diff --git a/lib/terminfo/P/P7 b/lib/terminfo/P/P7
deleted file mode 120000
index 2fd7b58..0000000
--- a/lib/terminfo/P/P7
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism7
\ No newline at end of file
diff --git a/lib/terminfo/P/P7 b/lib/terminfo/P/P7
new file mode 100644
index 0000000..539b4ff
--- /dev/null
+++ b/lib/terminfo/P/P7
Binary files differ
diff --git a/lib/terminfo/P/P8 b/lib/terminfo/P/P8
deleted file mode 120000
index 2806f5c..0000000
--- a/lib/terminfo/P/P8
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism8
\ No newline at end of file
diff --git a/lib/terminfo/P/P8 b/lib/terminfo/P/P8
new file mode 100644
index 0000000..12fd9e6
--- /dev/null
+++ b/lib/terminfo/P/P8
Binary files differ
diff --git a/lib/terminfo/P/P8-W b/lib/terminfo/P/P8-W
deleted file mode 120000
index 21c8a27..0000000
--- a/lib/terminfo/P/P8-W
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism8-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P8-W b/lib/terminfo/P/P8-W
new file mode 100644
index 0000000..8f254d3
--- /dev/null
+++ b/lib/terminfo/P/P8-W
Binary files differ
diff --git a/lib/terminfo/P/P9 b/lib/terminfo/P/P9
deleted file mode 120000
index 46833f3..0000000
--- a/lib/terminfo/P/P9
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism9
\ No newline at end of file
diff --git a/lib/terminfo/P/P9 b/lib/terminfo/P/P9
new file mode 100644
index 0000000..2a55145
--- /dev/null
+++ b/lib/terminfo/P/P9
Binary files differ
diff --git a/lib/terminfo/P/P9-8 b/lib/terminfo/P/P9-8
deleted file mode 120000
index fc0bb84..0000000
--- a/lib/terminfo/P/P9-8
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism9-8
\ No newline at end of file
diff --git a/lib/terminfo/P/P9-8 b/lib/terminfo/P/P9-8
new file mode 100644
index 0000000..8191a9b
--- /dev/null
+++ b/lib/terminfo/P/P9-8
Binary files differ
diff --git a/lib/terminfo/P/P9-8-W b/lib/terminfo/P/P9-8-W
deleted file mode 120000
index 9fcd6db..0000000
--- a/lib/terminfo/P/P9-8-W
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism9-8-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P9-8-W b/lib/terminfo/P/P9-8-W
new file mode 100644
index 0000000..93e3da9
--- /dev/null
+++ b/lib/terminfo/P/P9-8-W
Binary files differ
diff --git a/lib/terminfo/P/P9-W b/lib/terminfo/P/P9-W
deleted file mode 120000
index ffa8da9..0000000
--- a/lib/terminfo/P/P9-W
+++ /dev/null
@@ -1 +0,0 @@
-../p/prism9-w
\ No newline at end of file
diff --git a/lib/terminfo/P/P9-W b/lib/terminfo/P/P9-W
new file mode 100644
index 0000000..44029ba
--- /dev/null
+++ b/lib/terminfo/P/P9-W
Binary files differ
diff --git a/lib/terminfo/Q/Q306-8-pc b/lib/terminfo/Q/Q306-8-pc
deleted file mode 120000
index f18664b..0000000
--- a/lib/terminfo/Q/Q306-8-pc
+++ /dev/null
@@ -1 +0,0 @@
-../b/bq300-8-pc
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q306-8-pc b/lib/terminfo/Q/Q306-8-pc
new file mode 100644
index 0000000..8fd3b2e
--- /dev/null
+++ b/lib/terminfo/Q/Q306-8-pc
Binary files differ
diff --git a/lib/terminfo/Q/Q310-vip-H b/lib/terminfo/Q/Q310-vip-H
deleted file mode 120000
index b6c9a6a..0000000
--- a/lib/terminfo/Q/Q310-vip-H
+++ /dev/null
@@ -1 +0,0 @@
-../v/vip-H
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q310-vip-H b/lib/terminfo/Q/Q310-vip-H
new file mode 100644
index 0000000..8cf4e92
--- /dev/null
+++ b/lib/terminfo/Q/Q310-vip-H
Binary files differ
diff --git a/lib/terminfo/Q/Q310-vip-H-am b/lib/terminfo/Q/Q310-vip-H-am
deleted file mode 120000
index b6c9a6a..0000000
--- a/lib/terminfo/Q/Q310-vip-H-am
+++ /dev/null
@@ -1 +0,0 @@
-../v/vip-H
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q310-vip-H-am b/lib/terminfo/Q/Q310-vip-H-am
new file mode 100644
index 0000000..8cf4e92
--- /dev/null
+++ b/lib/terminfo/Q/Q310-vip-H-am
Binary files differ
diff --git a/lib/terminfo/Q/Q310-vip-Hw b/lib/terminfo/Q/Q310-vip-Hw
deleted file mode 120000
index 0b0a1bc..0000000
--- a/lib/terminfo/Q/Q310-vip-Hw
+++ /dev/null
@@ -1 +0,0 @@
-../v/vip-Hw
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q310-vip-Hw b/lib/terminfo/Q/Q310-vip-Hw
new file mode 100644
index 0000000..4b09f03
--- /dev/null
+++ b/lib/terminfo/Q/Q310-vip-Hw
Binary files differ
diff --git a/lib/terminfo/Q/Q310-vip-w b/lib/terminfo/Q/Q310-vip-w
deleted file mode 120000
index a9a148d..0000000
--- a/lib/terminfo/Q/Q310-vip-w
+++ /dev/null
@@ -1 +0,0 @@
-../v/vip-w
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q310-vip-w b/lib/terminfo/Q/Q310-vip-w
new file mode 100644
index 0000000..b710a2a
--- /dev/null
+++ b/lib/terminfo/Q/Q310-vip-w
Binary files differ
diff --git a/lib/terminfo/Q/Q310-vip-w-am b/lib/terminfo/Q/Q310-vip-w-am
deleted file mode 120000
index a9a148d..0000000
--- a/lib/terminfo/Q/Q310-vip-w-am
+++ /dev/null
@@ -1 +0,0 @@
-../v/vip-w
\ No newline at end of file
diff --git a/lib/terminfo/Q/Q310-vip-w-am b/lib/terminfo/Q/Q310-vip-w-am
new file mode 100644
index 0000000..b710a2a
--- /dev/null
+++ b/lib/terminfo/Q/Q310-vip-w-am
Binary files differ
diff --git a/lib/terminfo/X/X-hpterm b/lib/terminfo/X/X-hpterm
deleted file mode 120000
index e60898e..0000000
--- a/lib/terminfo/X/X-hpterm
+++ /dev/null
@@ -1 +0,0 @@
-../h/hpterm
\ No newline at end of file
diff --git a/lib/terminfo/X/X-hpterm b/lib/terminfo/X/X-hpterm
new file mode 100644
index 0000000..99dd05a
--- /dev/null
+++ b/lib/terminfo/X/X-hpterm
Binary files differ
diff --git a/lib/terminfo/X/X-hpterm-color2 b/lib/terminfo/X/X-hpterm-color2
new file mode 100644
index 0000000..79ff772
--- /dev/null
+++ b/lib/terminfo/X/X-hpterm-color2
Binary files differ
diff --git a/lib/terminfo/a/a210 b/lib/terminfo/a/a210
deleted file mode 120000
index d851ef3..0000000
--- a/lib/terminfo/a/a210
+++ /dev/null
@@ -1 +0,0 @@
-ampex210
\ No newline at end of file
diff --git a/lib/terminfo/a/a210 b/lib/terminfo/a/a210
new file mode 100644
index 0000000..b7e56aa
--- /dev/null
+++ b/lib/terminfo/a/a210
Binary files differ
diff --git a/lib/terminfo/a/a80 b/lib/terminfo/a/a80
deleted file mode 120000
index 354910d..0000000
--- a/lib/terminfo/a/a80
+++ /dev/null
@@ -1 +0,0 @@
-ampex80
\ No newline at end of file
diff --git a/lib/terminfo/a/a80 b/lib/terminfo/a/a80
new file mode 100644
index 0000000..1265d5e
--- /dev/null
+++ b/lib/terminfo/a/a80
Binary files differ
diff --git a/lib/terminfo/a/a980 b/lib/terminfo/a/a980
deleted file mode 120000
index 083bc88..0000000
--- a/lib/terminfo/a/a980
+++ /dev/null
@@ -1 +0,0 @@
-adds980
\ No newline at end of file
diff --git a/lib/terminfo/a/a980 b/lib/terminfo/a/a980
new file mode 100644
index 0000000..90c5c15
--- /dev/null
+++ b/lib/terminfo/a/a980
Binary files differ
diff --git a/lib/terminfo/a/aa4080 b/lib/terminfo/a/aa4080
deleted file mode 120000
index 4b733d1..0000000
--- a/lib/terminfo/a/aa4080
+++ /dev/null
@@ -1 +0,0 @@
-annarbor4080
\ No newline at end of file
diff --git a/lib/terminfo/a/aa4080 b/lib/terminfo/a/aa4080
new file mode 100644
index 0000000..078a290
--- /dev/null
+++ b/lib/terminfo/a/aa4080
Binary files differ
diff --git a/lib/terminfo/a/aaa b/lib/terminfo/a/aaa
index 1d89524..4057ed8 100644
--- a/lib/terminfo/a/aaa
+++ b/lib/terminfo/a/aaa
Binary files differ
diff --git a/lib/terminfo/a/aaa+dec b/lib/terminfo/a/aaa+dec
index ab6877a..0316cdf 100644
--- a/lib/terminfo/a/aaa+dec
+++ b/lib/terminfo/a/aaa+dec
Binary files differ
diff --git a/lib/terminfo/a/aaa+rv b/lib/terminfo/a/aaa+rv
index 4b12e3e..02cef13 100644
--- a/lib/terminfo/a/aaa+rv
+++ b/lib/terminfo/a/aaa+rv
Binary files differ
diff --git a/lib/terminfo/a/aaa+unk b/lib/terminfo/a/aaa+unk
index 25c9550..ba98f3a 100644
--- a/lib/terminfo/a/aaa+unk
+++ b/lib/terminfo/a/aaa+unk
Binary files differ
diff --git a/lib/terminfo/a/aaa-18 b/lib/terminfo/a/aaa-18
index 92e296d..d07b65c 100644
--- a/lib/terminfo/a/aaa-18
+++ b/lib/terminfo/a/aaa-18
Binary files differ
diff --git a/lib/terminfo/a/aaa-18-rv b/lib/terminfo/a/aaa-18-rv
index 43d618c..99fd285 100644
--- a/lib/terminfo/a/aaa-18-rv
+++ b/lib/terminfo/a/aaa-18-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-20 b/lib/terminfo/a/aaa-20
index 3f4f2b2..c3f1590 100644
--- a/lib/terminfo/a/aaa-20
+++ b/lib/terminfo/a/aaa-20
Binary files differ
diff --git a/lib/terminfo/a/aaa-22 b/lib/terminfo/a/aaa-22
index 6a547ab..1030af8 100644
--- a/lib/terminfo/a/aaa-22
+++ b/lib/terminfo/a/aaa-22
Binary files differ
diff --git a/lib/terminfo/a/aaa-24 b/lib/terminfo/a/aaa-24
index 7f608d8..d9eddaf 100644
--- a/lib/terminfo/a/aaa-24
+++ b/lib/terminfo/a/aaa-24
Binary files differ
diff --git a/lib/terminfo/a/aaa-24-rv b/lib/terminfo/a/aaa-24-rv
index cf1ad33..bb25364 100644
--- a/lib/terminfo/a/aaa-24-rv
+++ b/lib/terminfo/a/aaa-24-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-26 b/lib/terminfo/a/aaa-26
index ce853d0..d73e48a 100644
--- a/lib/terminfo/a/aaa-26
+++ b/lib/terminfo/a/aaa-26
Binary files differ
diff --git a/lib/terminfo/a/aaa-28 b/lib/terminfo/a/aaa-28
index fba60d9..f916a5c 100644
--- a/lib/terminfo/a/aaa-28
+++ b/lib/terminfo/a/aaa-28
Binary files differ
diff --git a/lib/terminfo/a/aaa-30 b/lib/terminfo/a/aaa-30
deleted file mode 120000
index 7c4a013..0000000
--- a/lib/terminfo/a/aaa-30
+++ /dev/null
@@ -1 +0,0 @@
-aaa
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-30 b/lib/terminfo/a/aaa-30
new file mode 100644
index 0000000..4057ed8
--- /dev/null
+++ b/lib/terminfo/a/aaa-30
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-ctxt b/lib/terminfo/a/aaa-30-ctxt
index f51dad6..282c362 100644
--- a/lib/terminfo/a/aaa-30-ctxt
+++ b/lib/terminfo/a/aaa-30-ctxt
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-rv b/lib/terminfo/a/aaa-30-rv
index 504d5e2..505f50f 100644
--- a/lib/terminfo/a/aaa-30-rv
+++ b/lib/terminfo/a/aaa-30-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-rv-ctxt b/lib/terminfo/a/aaa-30-rv-ctxt
index 8eea11e..fb8f018 100644
--- a/lib/terminfo/a/aaa-30-rv-ctxt
+++ b/lib/terminfo/a/aaa-30-rv-ctxt
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-s b/lib/terminfo/a/aaa-30-s
index 5697b69..0a11df5 100644
--- a/lib/terminfo/a/aaa-30-s
+++ b/lib/terminfo/a/aaa-30-s
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-s-ctxt b/lib/terminfo/a/aaa-30-s-ctxt
deleted file mode 120000
index 1ce0c1d..0000000
--- a/lib/terminfo/a/aaa-30-s-ctxt
+++ /dev/null
@@ -1 +0,0 @@
-aaa-s-ctxt
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-30-s-ctxt b/lib/terminfo/a/aaa-30-s-ctxt
new file mode 100644
index 0000000..a9eae4b
--- /dev/null
+++ b/lib/terminfo/a/aaa-30-s-ctxt
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-s-rv b/lib/terminfo/a/aaa-30-s-rv
index cff6b34..d677272 100644
--- a/lib/terminfo/a/aaa-30-s-rv
+++ b/lib/terminfo/a/aaa-30-s-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-30-s-rv-ct b/lib/terminfo/a/aaa-30-s-rv-ct
deleted file mode 120000
index 9c3113e..0000000
--- a/lib/terminfo/a/aaa-30-s-rv-ct
+++ /dev/null
@@ -1 +0,0 @@
-aaa-s-rv-ctxt
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-30-s-rv-ct b/lib/terminfo/a/aaa-30-s-rv-ct
new file mode 100644
index 0000000..c9314e2
--- /dev/null
+++ b/lib/terminfo/a/aaa-30-s-rv-ct
Binary files differ
diff --git a/lib/terminfo/a/aaa-36 b/lib/terminfo/a/aaa-36
index dab1e16..a25ea52 100644
--- a/lib/terminfo/a/aaa-36
+++ b/lib/terminfo/a/aaa-36
Binary files differ
diff --git a/lib/terminfo/a/aaa-36-rv b/lib/terminfo/a/aaa-36-rv
index 8c31d7f..4488666 100644
--- a/lib/terminfo/a/aaa-36-rv
+++ b/lib/terminfo/a/aaa-36-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-40 b/lib/terminfo/a/aaa-40
index 5f4af44..c76c952 100644
--- a/lib/terminfo/a/aaa-40
+++ b/lib/terminfo/a/aaa-40
Binary files differ
diff --git a/lib/terminfo/a/aaa-40-rv b/lib/terminfo/a/aaa-40-rv
index 107bd9d..ee6046b 100644
--- a/lib/terminfo/a/aaa-40-rv
+++ b/lib/terminfo/a/aaa-40-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-48 b/lib/terminfo/a/aaa-48
index 28a1f19..0fa30bc 100644
--- a/lib/terminfo/a/aaa-48
+++ b/lib/terminfo/a/aaa-48
Binary files differ
diff --git a/lib/terminfo/a/aaa-48-rv b/lib/terminfo/a/aaa-48-rv
index 8c0caeb..ab26f86 100644
--- a/lib/terminfo/a/aaa-48-rv
+++ b/lib/terminfo/a/aaa-48-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-60 b/lib/terminfo/a/aaa-60
index f09b57e..827c6ea 100644
--- a/lib/terminfo/a/aaa-60
+++ b/lib/terminfo/a/aaa-60
Binary files differ
diff --git a/lib/terminfo/a/aaa-60-dec-rv b/lib/terminfo/a/aaa-60-dec-rv
index a148cd2..31f764f 100644
--- a/lib/terminfo/a/aaa-60-dec-rv
+++ b/lib/terminfo/a/aaa-60-dec-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-60-rv b/lib/terminfo/a/aaa-60-rv
index 59da6b9..8369445 100644
--- a/lib/terminfo/a/aaa-60-rv
+++ b/lib/terminfo/a/aaa-60-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-60-s b/lib/terminfo/a/aaa-60-s
index 0134f08..d0877a6 100644
--- a/lib/terminfo/a/aaa-60-s
+++ b/lib/terminfo/a/aaa-60-s
Binary files differ
diff --git a/lib/terminfo/a/aaa-60-s-rv b/lib/terminfo/a/aaa-60-s-rv
index d5dd492..41b6c22 100644
--- a/lib/terminfo/a/aaa-60-s-rv
+++ b/lib/terminfo/a/aaa-60-s-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-ctxt b/lib/terminfo/a/aaa-ctxt
deleted file mode 120000
index 98af754..0000000
--- a/lib/terminfo/a/aaa-ctxt
+++ /dev/null
@@ -1 +0,0 @@
-aaa-30-ctxt
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-ctxt b/lib/terminfo/a/aaa-ctxt
new file mode 100644
index 0000000..282c362
--- /dev/null
+++ b/lib/terminfo/a/aaa-ctxt
Binary files differ
diff --git a/lib/terminfo/a/aaa-db b/lib/terminfo/a/aaa-db
index 97349fb..524ad36 100644
--- a/lib/terminfo/a/aaa-db
+++ b/lib/terminfo/a/aaa-db
Binary files differ
diff --git a/lib/terminfo/a/aaa-rv b/lib/terminfo/a/aaa-rv
deleted file mode 120000
index 380070e..0000000
--- a/lib/terminfo/a/aaa-rv
+++ /dev/null
@@ -1 +0,0 @@
-aaa-30-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-rv b/lib/terminfo/a/aaa-rv
new file mode 100644
index 0000000..505f50f
--- /dev/null
+++ b/lib/terminfo/a/aaa-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-rv-ctxt b/lib/terminfo/a/aaa-rv-ctxt
deleted file mode 120000
index 5039554..0000000
--- a/lib/terminfo/a/aaa-rv-ctxt
+++ /dev/null
@@ -1 +0,0 @@
-aaa-30-rv-ctxt
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-rv-ctxt b/lib/terminfo/a/aaa-rv-ctxt
new file mode 100644
index 0000000..fb8f018
--- /dev/null
+++ b/lib/terminfo/a/aaa-rv-ctxt
Binary files differ
diff --git a/lib/terminfo/a/aaa-rv-unk b/lib/terminfo/a/aaa-rv-unk
index f3f5c85..388a0cb 100644
--- a/lib/terminfo/a/aaa-rv-unk
+++ b/lib/terminfo/a/aaa-rv-unk
Binary files differ
diff --git a/lib/terminfo/a/aaa-s b/lib/terminfo/a/aaa-s
deleted file mode 120000
index b4197b1..0000000
--- a/lib/terminfo/a/aaa-s
+++ /dev/null
@@ -1 +0,0 @@
-aaa-30-s
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-s b/lib/terminfo/a/aaa-s
new file mode 100644
index 0000000..0a11df5
--- /dev/null
+++ b/lib/terminfo/a/aaa-s
Binary files differ
diff --git a/lib/terminfo/a/aaa-s-ctxt b/lib/terminfo/a/aaa-s-ctxt
index 5024446..a9eae4b 100644
--- a/lib/terminfo/a/aaa-s-ctxt
+++ b/lib/terminfo/a/aaa-s-ctxt
Binary files differ
diff --git a/lib/terminfo/a/aaa-s-rv b/lib/terminfo/a/aaa-s-rv
deleted file mode 120000
index 2b7f8d4..0000000
--- a/lib/terminfo/a/aaa-s-rv
+++ /dev/null
@@ -1 +0,0 @@
-aaa-30-s-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-s-rv b/lib/terminfo/a/aaa-s-rv
new file mode 100644
index 0000000..d677272
--- /dev/null
+++ b/lib/terminfo/a/aaa-s-rv
Binary files differ
diff --git a/lib/terminfo/a/aaa-s-rv-ctxt b/lib/terminfo/a/aaa-s-rv-ctxt
index e9a1a33..c9314e2 100644
--- a/lib/terminfo/a/aaa-s-rv-ctxt
+++ b/lib/terminfo/a/aaa-s-rv-ctxt
Binary files differ
diff --git a/lib/terminfo/a/aaa-unk b/lib/terminfo/a/aaa-unk
deleted file mode 120000
index 2fce4be..0000000
--- a/lib/terminfo/a/aaa-unk
+++ /dev/null
@@ -1 +0,0 @@
-aaa+unk
\ No newline at end of file
diff --git a/lib/terminfo/a/aaa-unk b/lib/terminfo/a/aaa-unk
new file mode 100644
index 0000000..ba98f3a
--- /dev/null
+++ b/lib/terminfo/a/aaa-unk
Binary files differ
diff --git a/lib/terminfo/a/abm85 b/lib/terminfo/a/abm85
index 6573309..f1e8657 100644
--- a/lib/terminfo/a/abm85
+++ b/lib/terminfo/a/abm85
Binary files differ
diff --git a/lib/terminfo/a/abm85e b/lib/terminfo/a/abm85e
index 5400701..b381dec 100644
--- a/lib/terminfo/a/abm85e
+++ b/lib/terminfo/a/abm85e
Binary files differ
diff --git a/lib/terminfo/a/abm85h b/lib/terminfo/a/abm85h
index b860915..ebcfed8 100644
--- a/lib/terminfo/a/abm85h
+++ b/lib/terminfo/a/abm85h
Binary files differ
diff --git a/lib/terminfo/a/abm85h-old b/lib/terminfo/a/abm85h-old
index 90f1ff0..c499d3e 100644
--- a/lib/terminfo/a/abm85h-old
+++ b/lib/terminfo/a/abm85h-old
Binary files differ
diff --git a/lib/terminfo/a/absolute b/lib/terminfo/a/absolute
new file mode 100644
index 0000000..d587f92
--- /dev/null
+++ b/lib/terminfo/a/absolute
Binary files differ
diff --git a/lib/terminfo/a/addrinfo b/lib/terminfo/a/addrinfo
index 3b651ab..33ab39c 100644
--- a/lib/terminfo/a/addrinfo
+++ b/lib/terminfo/a/addrinfo
Binary files differ
diff --git a/lib/terminfo/a/adds200 b/lib/terminfo/a/adds200
new file mode 100644
index 0000000..07a979a
--- /dev/null
+++ b/lib/terminfo/a/adds200
Binary files differ
diff --git a/lib/terminfo/a/adds980 b/lib/terminfo/a/adds980
index 086c5a7..90c5c15 100644
--- a/lib/terminfo/a/adds980
+++ b/lib/terminfo/a/adds980
Binary files differ
diff --git a/lib/terminfo/a/addsviewpoint b/lib/terminfo/a/addsviewpoint
deleted file mode 120000
index 4f77c4d..0000000
--- a/lib/terminfo/a/addsviewpoint
+++ /dev/null
@@ -1 +0,0 @@
-../v/viewpoint
\ No newline at end of file
diff --git a/lib/terminfo/a/addsviewpoint b/lib/terminfo/a/addsviewpoint
new file mode 100644
index 0000000..0efc7fb
--- /dev/null
+++ b/lib/terminfo/a/addsviewpoint
Binary files differ
diff --git a/lib/terminfo/a/addsvp60 b/lib/terminfo/a/addsvp60
deleted file mode 120000
index 2e3934f..0000000
--- a/lib/terminfo/a/addsvp60
+++ /dev/null
@@ -1 +0,0 @@
-../v/vp60
\ No newline at end of file
diff --git a/lib/terminfo/a/addsvp60 b/lib/terminfo/a/addsvp60
new file mode 100644
index 0000000..3c28adf
--- /dev/null
+++ b/lib/terminfo/a/addsvp60
Binary files differ
diff --git a/lib/terminfo/a/adm1 b/lib/terminfo/a/adm1
deleted file mode 120000
index aee3d03..0000000
--- a/lib/terminfo/a/adm1
+++ /dev/null
@@ -1 +0,0 @@
-adm1a
\ No newline at end of file
diff --git a/lib/terminfo/a/adm1 b/lib/terminfo/a/adm1
new file mode 100644
index 0000000..6c4f65d
--- /dev/null
+++ b/lib/terminfo/a/adm1
Binary files differ
diff --git a/lib/terminfo/a/adm1178 b/lib/terminfo/a/adm1178
index 9941d01..a78743d 100644
--- a/lib/terminfo/a/adm1178
+++ b/lib/terminfo/a/adm1178
Binary files differ
diff --git a/lib/terminfo/a/adm12 b/lib/terminfo/a/adm12
index 741f128..b0f0590 100644
--- a/lib/terminfo/a/adm12
+++ b/lib/terminfo/a/adm12
Binary files differ
diff --git a/lib/terminfo/a/adm1a b/lib/terminfo/a/adm1a
index ffb8220..6c4f65d 100644
--- a/lib/terminfo/a/adm1a
+++ b/lib/terminfo/a/adm1a
Binary files differ
diff --git a/lib/terminfo/a/adm2 b/lib/terminfo/a/adm2
index 2b9cd74..0a17e87 100644
--- a/lib/terminfo/a/adm2
+++ b/lib/terminfo/a/adm2
Binary files differ
diff --git a/lib/terminfo/a/adm20 b/lib/terminfo/a/adm20
index 2957f84..a6e7ba4 100644
--- a/lib/terminfo/a/adm20
+++ b/lib/terminfo/a/adm20
Binary files differ
diff --git a/lib/terminfo/a/adm21 b/lib/terminfo/a/adm21
index 1c6309b..28bf9df 100644
--- a/lib/terminfo/a/adm21
+++ b/lib/terminfo/a/adm21
Binary files differ
diff --git a/lib/terminfo/a/adm22 b/lib/terminfo/a/adm22
index 7c13056..550cfd4 100644
--- a/lib/terminfo/a/adm22
+++ b/lib/terminfo/a/adm22
Binary files differ
diff --git a/lib/terminfo/a/adm3 b/lib/terminfo/a/adm3
index 6a8e9ec..428cd6e 100644
--- a/lib/terminfo/a/adm3
+++ b/lib/terminfo/a/adm3
Binary files differ
diff --git a/lib/terminfo/a/adm31 b/lib/terminfo/a/adm31
index 27f2a98..c757bd2 100644
--- a/lib/terminfo/a/adm31
+++ b/lib/terminfo/a/adm31
Binary files differ
diff --git a/lib/terminfo/a/adm36 b/lib/terminfo/a/adm36
index 1bfcbfa..96f833e 100644
--- a/lib/terminfo/a/adm36
+++ b/lib/terminfo/a/adm36
Binary files differ
diff --git a/lib/terminfo/a/adm3a b/lib/terminfo/a/adm3a
index 87048fb..a19b988 100644
--- a/lib/terminfo/a/adm3a
+++ b/lib/terminfo/a/adm3a
Binary files differ
diff --git a/lib/terminfo/a/adm42 b/lib/terminfo/a/adm42
index 0225bf7..95d9e9a 100644
--- a/lib/terminfo/a/adm42
+++ b/lib/terminfo/a/adm42
Binary files differ
diff --git a/lib/terminfo/a/adm42-ns b/lib/terminfo/a/adm42-ns
index f5b45fb..d23b411 100644
--- a/lib/terminfo/a/adm42-ns
+++ b/lib/terminfo/a/adm42-ns
Binary files differ
diff --git a/lib/terminfo/a/adm5 b/lib/terminfo/a/adm5
index f3efef5..aebdc51 100644
--- a/lib/terminfo/a/adm5
+++ b/lib/terminfo/a/adm5
Binary files differ
diff --git a/lib/terminfo/a/aixterm b/lib/terminfo/a/aixterm
index 9a29aa6..1211a1d 100644
--- a/lib/terminfo/a/aixterm
+++ b/lib/terminfo/a/aixterm
Binary files differ
diff --git a/lib/terminfo/a/aixterm+sl b/lib/terminfo/a/aixterm+sl
new file mode 100644
index 0000000..276c9c3
--- /dev/null
+++ b/lib/terminfo/a/aixterm+sl
Binary files differ
diff --git a/lib/terminfo/a/aixterm-16color b/lib/terminfo/a/aixterm-16color
index f2c61eb..37f0254 100644
--- a/lib/terminfo/a/aixterm-16color
+++ b/lib/terminfo/a/aixterm-16color
Binary files differ
diff --git a/lib/terminfo/a/aixterm-m b/lib/terminfo/a/aixterm-m
index 6584a80..3bc46d7 100644
--- a/lib/terminfo/a/aixterm-m
+++ b/lib/terminfo/a/aixterm-m
Binary files differ
diff --git a/lib/terminfo/a/aixterm-m-old b/lib/terminfo/a/aixterm-m-old
index 96949c9..5b47369 100644
--- a/lib/terminfo/a/aixterm-m-old
+++ b/lib/terminfo/a/aixterm-m-old
Binary files differ
diff --git a/lib/terminfo/a/aj b/lib/terminfo/a/aj
deleted file mode 120000
index 9134eec..0000000
--- a/lib/terminfo/a/aj
+++ /dev/null
@@ -1 +0,0 @@
-aj830
\ No newline at end of file
diff --git a/lib/terminfo/a/aj b/lib/terminfo/a/aj
new file mode 100644
index 0000000..cccfdb4
--- /dev/null
+++ b/lib/terminfo/a/aj
Binary files differ
diff --git a/lib/terminfo/a/aj830 b/lib/terminfo/a/aj830
index 4db61f6..cccfdb4 100644
--- a/lib/terminfo/a/aj830
+++ b/lib/terminfo/a/aj830
Binary files differ
diff --git a/lib/terminfo/a/aj832 b/lib/terminfo/a/aj832
deleted file mode 120000
index 9134eec..0000000
--- a/lib/terminfo/a/aj832
+++ /dev/null
@@ -1 +0,0 @@
-aj830
\ No newline at end of file
diff --git a/lib/terminfo/a/aj832 b/lib/terminfo/a/aj832
new file mode 100644
index 0000000..cccfdb4
--- /dev/null
+++ b/lib/terminfo/a/aj832
Binary files differ
diff --git a/lib/terminfo/a/alacritty b/lib/terminfo/a/alacritty
new file mode 100644
index 0000000..8cc4bb1
--- /dev/null
+++ b/lib/terminfo/a/alacritty
Binary files differ
diff --git a/lib/terminfo/a/alacritty+common b/lib/terminfo/a/alacritty+common
new file mode 100644
index 0000000..4b86070
--- /dev/null
+++ b/lib/terminfo/a/alacritty+common
Binary files differ
diff --git a/lib/terminfo/a/alacritty-direct b/lib/terminfo/a/alacritty-direct
new file mode 100644
index 0000000..ed541a7
--- /dev/null
+++ b/lib/terminfo/a/alacritty-direct
Binary files differ
diff --git a/lib/terminfo/a/alt2 b/lib/terminfo/a/alt2
deleted file mode 120000
index 6d05514..0000000
--- a/lib/terminfo/a/alt2
+++ /dev/null
@@ -1 +0,0 @@
-altos2
\ No newline at end of file
diff --git a/lib/terminfo/a/alt2 b/lib/terminfo/a/alt2
new file mode 100644
index 0000000..522d9c6
--- /dev/null
+++ b/lib/terminfo/a/alt2
Binary files differ
diff --git a/lib/terminfo/a/alt3 b/lib/terminfo/a/alt3
deleted file mode 120000
index efd4f11..0000000
--- a/lib/terminfo/a/alt3
+++ /dev/null
@@ -1 +0,0 @@
-altos3
\ No newline at end of file
diff --git a/lib/terminfo/a/alt3 b/lib/terminfo/a/alt3
new file mode 100644
index 0000000..19d5576
--- /dev/null
+++ b/lib/terminfo/a/alt3
Binary files differ
diff --git a/lib/terminfo/a/alt4 b/lib/terminfo/a/alt4
deleted file mode 120000
index 47c4add..0000000
--- a/lib/terminfo/a/alt4
+++ /dev/null
@@ -1 +0,0 @@
-altos4
\ No newline at end of file
diff --git a/lib/terminfo/a/alt4 b/lib/terminfo/a/alt4
new file mode 100644
index 0000000..a6344d4
--- /dev/null
+++ b/lib/terminfo/a/alt4
Binary files differ
diff --git a/lib/terminfo/a/alt5 b/lib/terminfo/a/alt5
deleted file mode 120000
index efd4f11..0000000
--- a/lib/terminfo/a/alt5
+++ /dev/null
@@ -1 +0,0 @@
-altos3
\ No newline at end of file
diff --git a/lib/terminfo/a/alt5 b/lib/terminfo/a/alt5
new file mode 100644
index 0000000..19d5576
--- /dev/null
+++ b/lib/terminfo/a/alt5
Binary files differ
diff --git a/lib/terminfo/a/alt7 b/lib/terminfo/a/alt7
deleted file mode 120000
index 11d864d..0000000
--- a/lib/terminfo/a/alt7
+++ /dev/null
@@ -1 +0,0 @@
-altos7
\ No newline at end of file
diff --git a/lib/terminfo/a/alt7 b/lib/terminfo/a/alt7
new file mode 100644
index 0000000..c6457f5
--- /dev/null
+++ b/lib/terminfo/a/alt7
Binary files differ
diff --git a/lib/terminfo/a/alt7pc b/lib/terminfo/a/alt7pc
deleted file mode 120000
index 3da48a9..0000000
--- a/lib/terminfo/a/alt7pc
+++ /dev/null
@@ -1 +0,0 @@
-altos7pc
\ No newline at end of file
diff --git a/lib/terminfo/a/alt7pc b/lib/terminfo/a/alt7pc
new file mode 100644
index 0000000..b8f9c5c
--- /dev/null
+++ b/lib/terminfo/a/alt7pc
Binary files differ
diff --git a/lib/terminfo/a/alto-h19 b/lib/terminfo/a/alto-h19
index 923fcac..9dee817 100644
--- a/lib/terminfo/a/alto-h19
+++ b/lib/terminfo/a/alto-h19
Binary files differ
diff --git a/lib/terminfo/a/alto-heath b/lib/terminfo/a/alto-heath
deleted file mode 120000
index ef3f981..0000000
--- a/lib/terminfo/a/alto-heath
+++ /dev/null
@@ -1 +0,0 @@
-alto-h19
\ No newline at end of file
diff --git a/lib/terminfo/a/alto-heath b/lib/terminfo/a/alto-heath
new file mode 100644
index 0000000..9dee817
--- /dev/null
+++ b/lib/terminfo/a/alto-heath
Binary files differ
diff --git a/lib/terminfo/a/altoh19 b/lib/terminfo/a/altoh19
deleted file mode 120000
index ef3f981..0000000
--- a/lib/terminfo/a/altoh19
+++ /dev/null
@@ -1 +0,0 @@
-alto-h19
\ No newline at end of file
diff --git a/lib/terminfo/a/altoh19 b/lib/terminfo/a/altoh19
new file mode 100644
index 0000000..9dee817
--- /dev/null
+++ b/lib/terminfo/a/altoh19
Binary files differ
diff --git a/lib/terminfo/a/altoheath b/lib/terminfo/a/altoheath
deleted file mode 120000
index ef3f981..0000000
--- a/lib/terminfo/a/altoheath
+++ /dev/null
@@ -1 +0,0 @@
-alto-h19
\ No newline at end of file
diff --git a/lib/terminfo/a/altoheath b/lib/terminfo/a/altoheath
new file mode 100644
index 0000000..9dee817
--- /dev/null
+++ b/lib/terminfo/a/altoheath
Binary files differ
diff --git a/lib/terminfo/a/altos-2 b/lib/terminfo/a/altos-2
deleted file mode 120000
index 6d05514..0000000
--- a/lib/terminfo/a/altos-2
+++ /dev/null
@@ -1 +0,0 @@
-altos2
\ No newline at end of file
diff --git a/lib/terminfo/a/altos-2 b/lib/terminfo/a/altos-2
new file mode 100644
index 0000000..522d9c6
--- /dev/null
+++ b/lib/terminfo/a/altos-2
Binary files differ
diff --git a/lib/terminfo/a/altos-3 b/lib/terminfo/a/altos-3
deleted file mode 120000
index efd4f11..0000000
--- a/lib/terminfo/a/altos-3
+++ /dev/null
@@ -1 +0,0 @@
-altos3
\ No newline at end of file
diff --git a/lib/terminfo/a/altos-3 b/lib/terminfo/a/altos-3
new file mode 100644
index 0000000..19d5576
--- /dev/null
+++ b/lib/terminfo/a/altos-3
Binary files differ
diff --git a/lib/terminfo/a/altos-4 b/lib/terminfo/a/altos-4
deleted file mode 120000
index 47c4add..0000000
--- a/lib/terminfo/a/altos-4
+++ /dev/null
@@ -1 +0,0 @@
-altos4
\ No newline at end of file
diff --git a/lib/terminfo/a/altos-4 b/lib/terminfo/a/altos-4
new file mode 100644
index 0000000..a6344d4
--- /dev/null
+++ b/lib/terminfo/a/altos-4
Binary files differ
diff --git a/lib/terminfo/a/altos-5 b/lib/terminfo/a/altos-5
deleted file mode 120000
index efd4f11..0000000
--- a/lib/terminfo/a/altos-5
+++ /dev/null
@@ -1 +0,0 @@
-altos3
\ No newline at end of file
diff --git a/lib/terminfo/a/altos-5 b/lib/terminfo/a/altos-5
new file mode 100644
index 0000000..19d5576
--- /dev/null
+++ b/lib/terminfo/a/altos-5
Binary files differ
diff --git a/lib/terminfo/a/altos2 b/lib/terminfo/a/altos2
index 80fa4bf..522d9c6 100644
--- a/lib/terminfo/a/altos2
+++ b/lib/terminfo/a/altos2
Binary files differ
diff --git a/lib/terminfo/a/altos3 b/lib/terminfo/a/altos3
index 0ed6838..19d5576 100644
--- a/lib/terminfo/a/altos3
+++ b/lib/terminfo/a/altos3
Binary files differ
diff --git a/lib/terminfo/a/altos4 b/lib/terminfo/a/altos4
index 6ec5bb4..a6344d4 100644
--- a/lib/terminfo/a/altos4
+++ b/lib/terminfo/a/altos4
Binary files differ
diff --git a/lib/terminfo/a/altos5 b/lib/terminfo/a/altos5
deleted file mode 120000
index efd4f11..0000000
--- a/lib/terminfo/a/altos5
+++ /dev/null
@@ -1 +0,0 @@
-altos3
\ No newline at end of file
diff --git a/lib/terminfo/a/altos5 b/lib/terminfo/a/altos5
new file mode 100644
index 0000000..19d5576
--- /dev/null
+++ b/lib/terminfo/a/altos5
Binary files differ
diff --git a/lib/terminfo/a/altos7 b/lib/terminfo/a/altos7
index 0021ef3..c6457f5 100644
--- a/lib/terminfo/a/altos7
+++ b/lib/terminfo/a/altos7
Binary files differ
diff --git a/lib/terminfo/a/altos7pc b/lib/terminfo/a/altos7pc
index ec41171..b8f9c5c 100644
--- a/lib/terminfo/a/altos7pc
+++ b/lib/terminfo/a/altos7pc
Binary files differ
diff --git a/lib/terminfo/a/ambas b/lib/terminfo/a/ambas
deleted file mode 120000
index 7c4a013..0000000
--- a/lib/terminfo/a/ambas
+++ /dev/null
@@ -1 +0,0 @@
-aaa
\ No newline at end of file
diff --git a/lib/terminfo/a/ambas b/lib/terminfo/a/ambas
new file mode 100644
index 0000000..4057ed8
--- /dev/null
+++ b/lib/terminfo/a/ambas
Binary files differ
diff --git a/lib/terminfo/a/ambassador b/lib/terminfo/a/ambassador
deleted file mode 120000
index 7c4a013..0000000
--- a/lib/terminfo/a/ambassador
+++ /dev/null
@@ -1 +0,0 @@
-aaa
\ No newline at end of file
diff --git a/lib/terminfo/a/ambassador b/lib/terminfo/a/ambassador
new file mode 100644
index 0000000..4057ed8
--- /dev/null
+++ b/lib/terminfo/a/ambassador
Binary files differ
diff --git a/lib/terminfo/a/amp219 b/lib/terminfo/a/amp219
deleted file mode 120000
index e1ed07c..0000000
--- a/lib/terminfo/a/amp219
+++ /dev/null
@@ -1 +0,0 @@
-ampex219
\ No newline at end of file
diff --git a/lib/terminfo/a/amp219 b/lib/terminfo/a/amp219
new file mode 100644
index 0000000..39f23d6
--- /dev/null
+++ b/lib/terminfo/a/amp219
Binary files differ
diff --git a/lib/terminfo/a/amp219w b/lib/terminfo/a/amp219w
deleted file mode 120000
index 23c4c0f..0000000
--- a/lib/terminfo/a/amp219w
+++ /dev/null
@@ -1 +0,0 @@
-ampex219w
\ No newline at end of file
diff --git a/lib/terminfo/a/amp219w b/lib/terminfo/a/amp219w
new file mode 100644
index 0000000..d45bd64
--- /dev/null
+++ b/lib/terminfo/a/amp219w
Binary files differ
diff --git a/lib/terminfo/a/ampex-219 b/lib/terminfo/a/ampex-219
deleted file mode 120000
index e1ed07c..0000000
--- a/lib/terminfo/a/ampex-219
+++ /dev/null
@@ -1 +0,0 @@
-ampex219
\ No newline at end of file
diff --git a/lib/terminfo/a/ampex-219 b/lib/terminfo/a/ampex-219
new file mode 100644
index 0000000..39f23d6
--- /dev/null
+++ b/lib/terminfo/a/ampex-219
Binary files differ
diff --git a/lib/terminfo/a/ampex-219w b/lib/terminfo/a/ampex-219w
deleted file mode 120000
index 23c4c0f..0000000
--- a/lib/terminfo/a/ampex-219w
+++ /dev/null
@@ -1 +0,0 @@
-ampex219w
\ No newline at end of file
diff --git a/lib/terminfo/a/ampex-219w b/lib/terminfo/a/ampex-219w
new file mode 100644
index 0000000..d45bd64
--- /dev/null
+++ b/lib/terminfo/a/ampex-219w
Binary files differ
diff --git a/lib/terminfo/a/ampex-232 b/lib/terminfo/a/ampex-232
deleted file mode 120000
index f0a9367..0000000
--- a/lib/terminfo/a/ampex-232
+++ /dev/null
@@ -1 +0,0 @@
-ampex232
\ No newline at end of file
diff --git a/lib/terminfo/a/ampex-232 b/lib/terminfo/a/ampex-232
new file mode 100644
index 0000000..698c33d
--- /dev/null
+++ b/lib/terminfo/a/ampex-232
Binary files differ
diff --git a/lib/terminfo/a/ampex175 b/lib/terminfo/a/ampex175
index 77e0311..837bc26 100644
--- a/lib/terminfo/a/ampex175
+++ b/lib/terminfo/a/ampex175
Binary files differ
diff --git a/lib/terminfo/a/ampex175-b b/lib/terminfo/a/ampex175-b
index c26466c..d948818 100644
--- a/lib/terminfo/a/ampex175-b
+++ b/lib/terminfo/a/ampex175-b
Binary files differ
diff --git a/lib/terminfo/a/ampex210 b/lib/terminfo/a/ampex210
index f4584d6..b7e56aa 100644
--- a/lib/terminfo/a/ampex210
+++ b/lib/terminfo/a/ampex210
Binary files differ
diff --git a/lib/terminfo/a/ampex219 b/lib/terminfo/a/ampex219
index ec0490f..39f23d6 100644
--- a/lib/terminfo/a/ampex219
+++ b/lib/terminfo/a/ampex219
Binary files differ
diff --git a/lib/terminfo/a/ampex80 b/lib/terminfo/a/ampex80
index 2db99c5..1265d5e 100644
--- a/lib/terminfo/a/ampex80
+++ b/lib/terminfo/a/ampex80
Binary files differ
diff --git a/lib/terminfo/a/annarbor4080 b/lib/terminfo/a/annarbor4080
index fba1e48..078a290 100644
--- a/lib/terminfo/a/annarbor4080
+++ b/lib/terminfo/a/annarbor4080
Binary files differ
diff --git a/lib/terminfo/a/ansi+apparrows b/lib/terminfo/a/ansi+apparrows
new file mode 100644
index 0000000..40c089a
--- /dev/null
+++ b/lib/terminfo/a/ansi+apparrows
Binary files differ
diff --git a/lib/terminfo/a/ansi+arrows b/lib/terminfo/a/ansi+arrows
index 3482995..7f40851 100644
--- a/lib/terminfo/a/ansi+arrows
+++ b/lib/terminfo/a/ansi+arrows
Binary files differ
diff --git a/lib/terminfo/a/ansi+cpr b/lib/terminfo/a/ansi+cpr
new file mode 100644
index 0000000..afa048d
--- /dev/null
+++ b/lib/terminfo/a/ansi+cpr
Binary files differ
diff --git a/lib/terminfo/a/ansi+csr b/lib/terminfo/a/ansi+csr
index 4196f37..b33d2e0 100644
--- a/lib/terminfo/a/ansi+csr
+++ b/lib/terminfo/a/ansi+csr
Binary files differ
diff --git a/lib/terminfo/a/ansi+cup b/lib/terminfo/a/ansi+cup
index 5d28d73..d1b653d 100644
--- a/lib/terminfo/a/ansi+cup
+++ b/lib/terminfo/a/ansi+cup
Binary files differ
diff --git a/lib/terminfo/a/ansi+erase b/lib/terminfo/a/ansi+erase
index 8724be3..39c766a 100644
--- a/lib/terminfo/a/ansi+erase
+++ b/lib/terminfo/a/ansi+erase
Binary files differ
diff --git a/lib/terminfo/a/ansi+idc b/lib/terminfo/a/ansi+idc
index b4f8e22..90fc17d 100644
--- a/lib/terminfo/a/ansi+idc
+++ b/lib/terminfo/a/ansi+idc
Binary files differ
diff --git a/lib/terminfo/a/ansi+idc1 b/lib/terminfo/a/ansi+idc1
new file mode 100644
index 0000000..6862051
--- /dev/null
+++ b/lib/terminfo/a/ansi+idc1
Binary files differ
diff --git a/lib/terminfo/a/ansi+idl b/lib/terminfo/a/ansi+idl
index fda884b..335f797 100644
--- a/lib/terminfo/a/ansi+idl
+++ b/lib/terminfo/a/ansi+idl
Binary files differ
diff --git a/lib/terminfo/a/ansi+idl1 b/lib/terminfo/a/ansi+idl1
index b42537d..f743208 100644
--- a/lib/terminfo/a/ansi+idl1
+++ b/lib/terminfo/a/ansi+idl1
Binary files differ
diff --git a/lib/terminfo/a/ansi+inittabs b/lib/terminfo/a/ansi+inittabs
index b8a8786..4b14396 100644
--- a/lib/terminfo/a/ansi+inittabs
+++ b/lib/terminfo/a/ansi+inittabs
Binary files differ
diff --git a/lib/terminfo/a/ansi+local b/lib/terminfo/a/ansi+local
index 91a2248..4a3abd0 100644
--- a/lib/terminfo/a/ansi+local
+++ b/lib/terminfo/a/ansi+local
Binary files differ
diff --git a/lib/terminfo/a/ansi+local1 b/lib/terminfo/a/ansi+local1
index b802ddb..5ec73b8 100644
--- a/lib/terminfo/a/ansi+local1
+++ b/lib/terminfo/a/ansi+local1
Binary files differ
diff --git a/lib/terminfo/a/ansi+pp b/lib/terminfo/a/ansi+pp
index a17c84f..7ab68b1 100644
--- a/lib/terminfo/a/ansi+pp
+++ b/lib/terminfo/a/ansi+pp
Binary files differ
diff --git a/lib/terminfo/a/ansi+rca b/lib/terminfo/a/ansi+rca
index 3ea5312..13d52d4 100644
--- a/lib/terminfo/a/ansi+rca
+++ b/lib/terminfo/a/ansi+rca
Binary files differ
diff --git a/lib/terminfo/a/ansi+rca2 b/lib/terminfo/a/ansi+rca2
new file mode 100644
index 0000000..2c11759
--- /dev/null
+++ b/lib/terminfo/a/ansi+rca2
Binary files differ
diff --git a/lib/terminfo/a/ansi+rep b/lib/terminfo/a/ansi+rep
index bc0dc7f..4f9ac6d 100644
--- a/lib/terminfo/a/ansi+rep
+++ b/lib/terminfo/a/ansi+rep
Binary files differ
diff --git a/lib/terminfo/a/ansi+sgr b/lib/terminfo/a/ansi+sgr
index 4eccc02..2d93102 100644
--- a/lib/terminfo/a/ansi+sgr
+++ b/lib/terminfo/a/ansi+sgr
Binary files differ
diff --git a/lib/terminfo/a/ansi+sgrbold b/lib/terminfo/a/ansi+sgrbold
index 96773e3..0a10f6a 100644
--- a/lib/terminfo/a/ansi+sgrbold
+++ b/lib/terminfo/a/ansi+sgrbold
Binary files differ
diff --git a/lib/terminfo/a/ansi+sgrdim b/lib/terminfo/a/ansi+sgrdim
index 2aa9419..29b7a51 100644
--- a/lib/terminfo/a/ansi+sgrdim
+++ b/lib/terminfo/a/ansi+sgrdim
Binary files differ
diff --git a/lib/terminfo/a/ansi+sgrso b/lib/terminfo/a/ansi+sgrso
index 8bd56a2..a6bc57f 100644
--- a/lib/terminfo/a/ansi+sgrso
+++ b/lib/terminfo/a/ansi+sgrso
Binary files differ
diff --git a/lib/terminfo/a/ansi+sgrul b/lib/terminfo/a/ansi+sgrul
index 8e66853..d07663a 100644
--- a/lib/terminfo/a/ansi+sgrul
+++ b/lib/terminfo/a/ansi+sgrul
Binary files differ
diff --git a/lib/terminfo/a/ansi+tabs b/lib/terminfo/a/ansi+tabs
index 06f32b3..6ecec5c 100644
--- a/lib/terminfo/a/ansi+tabs
+++ b/lib/terminfo/a/ansi+tabs
Binary files differ
diff --git a/lib/terminfo/a/ansi-color-2-emx b/lib/terminfo/a/ansi-color-2-emx
index 895ce6a..4eab4da 100644
--- a/lib/terminfo/a/ansi-color-2-emx
+++ b/lib/terminfo/a/ansi-color-2-emx
Binary files differ
diff --git a/lib/terminfo/a/ansi-color-3-emx b/lib/terminfo/a/ansi-color-3-emx
index aff742b..f3e0cdb 100644
--- a/lib/terminfo/a/ansi-color-3-emx
+++ b/lib/terminfo/a/ansi-color-3-emx
Binary files differ
diff --git a/lib/terminfo/a/ansi-emx b/lib/terminfo/a/ansi-emx
index f804c43..8373807 100644
--- a/lib/terminfo/a/ansi-emx
+++ b/lib/terminfo/a/ansi-emx
Binary files differ
diff --git a/lib/terminfo/a/ansi-generic b/lib/terminfo/a/ansi-generic
index 22e8145..1b72658 100644
--- a/lib/terminfo/a/ansi-generic
+++ b/lib/terminfo/a/ansi-generic
Binary files differ
diff --git a/lib/terminfo/a/ansi-mini b/lib/terminfo/a/ansi-mini
index c61fb7a..3f85d4b 100644
--- a/lib/terminfo/a/ansi-mini
+++ b/lib/terminfo/a/ansi-mini
Binary files differ
diff --git a/lib/terminfo/a/ansi-mono b/lib/terminfo/a/ansi-mono
deleted file mode 120000
index 2b5cdc2..0000000
--- a/lib/terminfo/a/ansi-mono
+++ /dev/null
@@ -1 +0,0 @@
-ansi-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi-mono b/lib/terminfo/a/ansi-mono
new file mode 100644
index 0000000..df6fd79
--- /dev/null
+++ b/lib/terminfo/a/ansi-mono
Binary files differ
diff --git a/lib/terminfo/a/ansi-mr b/lib/terminfo/a/ansi-mr
index de221e8..92ab01a 100644
--- a/lib/terminfo/a/ansi-mr
+++ b/lib/terminfo/a/ansi-mr
Binary files differ
diff --git a/lib/terminfo/a/ansi-mtabs b/lib/terminfo/a/ansi-mtabs
index 8474a29..052de5e 100644
--- a/lib/terminfo/a/ansi-mtabs
+++ b/lib/terminfo/a/ansi-mtabs
Binary files differ
diff --git a/lib/terminfo/a/ansi.sys-old b/lib/terminfo/a/ansi.sys-old
index 7bc6c7f..3d02971 100644
--- a/lib/terminfo/a/ansi.sys-old
+++ b/lib/terminfo/a/ansi.sys-old
Binary files differ
diff --git a/lib/terminfo/a/ansi43m b/lib/terminfo/a/ansi43m
deleted file mode 120000
index 80f513b..0000000
--- a/lib/terminfo/a/ansi43m
+++ /dev/null
@@ -1 +0,0 @@
-../p/pcansi-43-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi43m b/lib/terminfo/a/ansi43m
new file mode 100644
index 0000000..be56918
--- /dev/null
+++ b/lib/terminfo/a/ansi43m
Binary files differ
diff --git a/lib/terminfo/a/ansi77 b/lib/terminfo/a/ansi77
index 0970f33..b7c11b1 100644
--- a/lib/terminfo/a/ansi77
+++ b/lib/terminfo/a/ansi77
Binary files differ
diff --git a/lib/terminfo/a/ansi80x25 b/lib/terminfo/a/ansi80x25
deleted file mode 120000
index 8994553..0000000
--- a/lib/terminfo/a/ansi80x25
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons25
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x25 b/lib/terminfo/a/ansi80x25
new file mode 100644
index 0000000..4043099
--- /dev/null
+++ b/lib/terminfo/a/ansi80x25
Binary files differ
diff --git a/lib/terminfo/a/ansi80x25-mono b/lib/terminfo/a/ansi80x25-mono
deleted file mode 120000
index f12f1c3..0000000
--- a/lib/terminfo/a/ansi80x25-mono
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons25-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x25-mono b/lib/terminfo/a/ansi80x25-mono
new file mode 100644
index 0000000..4baf284
--- /dev/null
+++ b/lib/terminfo/a/ansi80x25-mono
Binary files differ
diff --git a/lib/terminfo/a/ansi80x25-raw b/lib/terminfo/a/ansi80x25-raw
deleted file mode 120000
index fd59900..0000000
--- a/lib/terminfo/a/ansi80x25-raw
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons25w
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x25-raw b/lib/terminfo/a/ansi80x25-raw
new file mode 100644
index 0000000..e3621f7
--- /dev/null
+++ b/lib/terminfo/a/ansi80x25-raw
Binary files differ
diff --git a/lib/terminfo/a/ansi80x30 b/lib/terminfo/a/ansi80x30
deleted file mode 120000
index 89292f1..0000000
--- a/lib/terminfo/a/ansi80x30
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons30
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x30 b/lib/terminfo/a/ansi80x30
new file mode 100644
index 0000000..44227ab
--- /dev/null
+++ b/lib/terminfo/a/ansi80x30
Binary files differ
diff --git a/lib/terminfo/a/ansi80x30-mono b/lib/terminfo/a/ansi80x30-mono
deleted file mode 120000
index 90ed281..0000000
--- a/lib/terminfo/a/ansi80x30-mono
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons30-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x30-mono b/lib/terminfo/a/ansi80x30-mono
new file mode 100644
index 0000000..35630cc
--- /dev/null
+++ b/lib/terminfo/a/ansi80x30-mono
Binary files differ
diff --git a/lib/terminfo/a/ansi80x43 b/lib/terminfo/a/ansi80x43
deleted file mode 120000
index f364512..0000000
--- a/lib/terminfo/a/ansi80x43
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons43
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x43 b/lib/terminfo/a/ansi80x43
new file mode 100644
index 0000000..e0d6ec3
--- /dev/null
+++ b/lib/terminfo/a/ansi80x43
Binary files differ
diff --git a/lib/terminfo/a/ansi80x43-mono b/lib/terminfo/a/ansi80x43-mono
deleted file mode 120000
index d941611..0000000
--- a/lib/terminfo/a/ansi80x43-mono
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons43-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x43-mono b/lib/terminfo/a/ansi80x43-mono
new file mode 100644
index 0000000..009a193
--- /dev/null
+++ b/lib/terminfo/a/ansi80x43-mono
Binary files differ
diff --git a/lib/terminfo/a/ansi80x50 b/lib/terminfo/a/ansi80x50
deleted file mode 120000
index 6025c8d..0000000
--- a/lib/terminfo/a/ansi80x50
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons50
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x50 b/lib/terminfo/a/ansi80x50
new file mode 100644
index 0000000..60c9bd0
--- /dev/null
+++ b/lib/terminfo/a/ansi80x50
Binary files differ
diff --git a/lib/terminfo/a/ansi80x50-mono b/lib/terminfo/a/ansi80x50-mono
deleted file mode 120000
index bd737af..0000000
--- a/lib/terminfo/a/ansi80x50-mono
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons50-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x50-mono b/lib/terminfo/a/ansi80x50-mono
new file mode 100644
index 0000000..9e0dc6b
--- /dev/null
+++ b/lib/terminfo/a/ansi80x50-mono
Binary files differ
diff --git a/lib/terminfo/a/ansi80x60 b/lib/terminfo/a/ansi80x60
deleted file mode 120000
index 9dee4f4..0000000
--- a/lib/terminfo/a/ansi80x60
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons60
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x60 b/lib/terminfo/a/ansi80x60
new file mode 100644
index 0000000..7449cff
--- /dev/null
+++ b/lib/terminfo/a/ansi80x60
Binary files differ
diff --git a/lib/terminfo/a/ansi80x60-mono b/lib/terminfo/a/ansi80x60-mono
deleted file mode 120000
index 24842fa..0000000
--- a/lib/terminfo/a/ansi80x60-mono
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons60-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansi80x60-mono b/lib/terminfo/a/ansi80x60-mono
new file mode 100644
index 0000000..3f2f4c5
--- /dev/null
+++ b/lib/terminfo/a/ansi80x60-mono
Binary files differ
diff --git a/lib/terminfo/a/ansil b/lib/terminfo/a/ansil
deleted file mode 120000
index 6025c8d..0000000
--- a/lib/terminfo/a/ansil
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons50
\ No newline at end of file
diff --git a/lib/terminfo/a/ansil b/lib/terminfo/a/ansil
new file mode 100644
index 0000000..60c9bd0
--- /dev/null
+++ b/lib/terminfo/a/ansil
Binary files differ
diff --git a/lib/terminfo/a/ansil-mono b/lib/terminfo/a/ansil-mono
deleted file mode 120000
index bd737af..0000000
--- a/lib/terminfo/a/ansil-mono
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons50-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansil-mono b/lib/terminfo/a/ansil-mono
new file mode 100644
index 0000000..9e0dc6b
--- /dev/null
+++ b/lib/terminfo/a/ansil-mono
Binary files differ
diff --git a/lib/terminfo/a/ansis b/lib/terminfo/a/ansis
deleted file mode 120000
index 8994553..0000000
--- a/lib/terminfo/a/ansis
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons25
\ No newline at end of file
diff --git a/lib/terminfo/a/ansis b/lib/terminfo/a/ansis
new file mode 100644
index 0000000..4043099
--- /dev/null
+++ b/lib/terminfo/a/ansis
Binary files differ
diff --git a/lib/terminfo/a/ansis-mono b/lib/terminfo/a/ansis-mono
deleted file mode 120000
index f12f1c3..0000000
--- a/lib/terminfo/a/ansis-mono
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons25-m
\ No newline at end of file
diff --git a/lib/terminfo/a/ansis-mono b/lib/terminfo/a/ansis-mono
new file mode 100644
index 0000000..4baf284
--- /dev/null
+++ b/lib/terminfo/a/ansis-mono
Binary files differ
diff --git a/lib/terminfo/a/ansisysk b/lib/terminfo/a/ansisysk
deleted file mode 120000
index 986743c..0000000
--- a/lib/terminfo/a/ansisysk
+++ /dev/null
@@ -1 +0,0 @@
-ansi.sysk
\ No newline at end of file
diff --git a/lib/terminfo/a/ansisysk b/lib/terminfo/a/ansisysk
new file mode 100644
index 0000000..55c1aa7
--- /dev/null
+++ b/lib/terminfo/a/ansisysk
Binary files differ
diff --git a/lib/terminfo/a/ansiterm b/lib/terminfo/a/ansiterm
new file mode 100644
index 0000000..1b72658
--- /dev/null
+++ b/lib/terminfo/a/ansiterm
Binary files differ
diff --git a/lib/terminfo/a/ansiw b/lib/terminfo/a/ansiw
deleted file mode 120000
index fd59900..0000000
--- a/lib/terminfo/a/ansiw
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons25w
\ No newline at end of file
diff --git a/lib/terminfo/a/ansiw b/lib/terminfo/a/ansiw
new file mode 100644
index 0000000..e3621f7
--- /dev/null
+++ b/lib/terminfo/a/ansiw
Binary files differ
diff --git a/lib/terminfo/a/ap-vm80 b/lib/terminfo/a/ap-vm80
deleted file mode 120000
index d9257cc..0000000
--- a/lib/terminfo/a/ap-vm80
+++ /dev/null
@@ -1 +0,0 @@
-apple-vm80
\ No newline at end of file
diff --git a/lib/terminfo/a/ap-vm80 b/lib/terminfo/a/ap-vm80
new file mode 100644
index 0000000..b06370a
--- /dev/null
+++ b/lib/terminfo/a/ap-vm80
Binary files differ
diff --git a/lib/terminfo/a/apl b/lib/terminfo/a/apl
deleted file mode 120000
index 289f1f8..0000000
--- a/lib/terminfo/a/apl
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibm-apl
\ No newline at end of file
diff --git a/lib/terminfo/a/apl b/lib/terminfo/a/apl
new file mode 100644
index 0000000..679a574
--- /dev/null
+++ b/lib/terminfo/a/apl
Binary files differ
diff --git a/lib/terminfo/a/apollo b/lib/terminfo/a/apollo
index 88a3565..73bb4cb 100644
--- a/lib/terminfo/a/apollo
+++ b/lib/terminfo/a/apollo
Binary files differ
diff --git a/lib/terminfo/a/apollo+vt132 b/lib/terminfo/a/apollo+vt132
new file mode 100644
index 0000000..d75f5f6
--- /dev/null
+++ b/lib/terminfo/a/apollo+vt132
Binary files differ
diff --git a/lib/terminfo/a/apollo_15P b/lib/terminfo/a/apollo_15P
index 9284739..3acdf21 100644
--- a/lib/terminfo/a/apollo_15P
+++ b/lib/terminfo/a/apollo_15P
Binary files differ
diff --git a/lib/terminfo/a/apollo_19L b/lib/terminfo/a/apollo_19L
index 092d358..76d387e 100644
--- a/lib/terminfo/a/apollo_19L
+++ b/lib/terminfo/a/apollo_19L
Binary files differ
diff --git a/lib/terminfo/a/apollo_color b/lib/terminfo/a/apollo_color
index e117f2d..18eb817 100644
--- a/lib/terminfo/a/apollo_color
+++ b/lib/terminfo/a/apollo_color
Binary files differ
diff --git a/lib/terminfo/a/apple-80 b/lib/terminfo/a/apple-80
index f45c5c5..2d118a7 100644
--- a/lib/terminfo/a/apple-80
+++ b/lib/terminfo/a/apple-80
Binary files differ
diff --git a/lib/terminfo/a/apple-soroc b/lib/terminfo/a/apple-soroc
index ea5fcb8..c9fa67e 100644
--- a/lib/terminfo/a/apple-soroc
+++ b/lib/terminfo/a/apple-soroc
Binary files differ
diff --git a/lib/terminfo/a/apple-vm80 b/lib/terminfo/a/apple-vm80
index def8dfd..b06370a 100644
--- a/lib/terminfo/a/apple-vm80
+++ b/lib/terminfo/a/apple-vm80
Binary files differ
diff --git a/lib/terminfo/a/appleII b/lib/terminfo/a/appleII
index 987478b..9b78ce2 100644
--- a/lib/terminfo/a/appleII
+++ b/lib/terminfo/a/appleII
Binary files differ
diff --git a/lib/terminfo/a/appleIIc b/lib/terminfo/a/appleIIc
deleted file mode 120000
index b4edc97..0000000
--- a/lib/terminfo/a/appleIIc
+++ /dev/null
@@ -1 +0,0 @@
-appleIIgs
\ No newline at end of file
diff --git a/lib/terminfo/a/appleIIc b/lib/terminfo/a/appleIIc
new file mode 100644
index 0000000..1311b90
--- /dev/null
+++ b/lib/terminfo/a/appleIIc
Binary files differ
diff --git a/lib/terminfo/a/appleIIe b/lib/terminfo/a/appleIIe
deleted file mode 120000
index b4edc97..0000000
--- a/lib/terminfo/a/appleIIe
+++ /dev/null
@@ -1 +0,0 @@
-appleIIgs
\ No newline at end of file
diff --git a/lib/terminfo/a/appleIIe b/lib/terminfo/a/appleIIe
new file mode 100644
index 0000000..1311b90
--- /dev/null
+++ b/lib/terminfo/a/appleIIe
Binary files differ
diff --git a/lib/terminfo/a/arm100-am b/lib/terminfo/a/arm100-am
deleted file mode 120000
index 80f19bc..0000000
--- a/lib/terminfo/a/arm100-am
+++ /dev/null
@@ -1 +0,0 @@
-arm100
\ No newline at end of file
diff --git a/lib/terminfo/a/arm100-am b/lib/terminfo/a/arm100-am
new file mode 100644
index 0000000..2729a3d
--- /dev/null
+++ b/lib/terminfo/a/arm100-am
Binary files differ
diff --git a/lib/terminfo/a/arm100-wam b/lib/terminfo/a/arm100-wam
deleted file mode 120000
index e9dcecf..0000000
--- a/lib/terminfo/a/arm100-wam
+++ /dev/null
@@ -1 +0,0 @@
-arm100-w
\ No newline at end of file
diff --git a/lib/terminfo/a/arm100-wam b/lib/terminfo/a/arm100-wam
new file mode 100644
index 0000000..c19035a
--- /dev/null
+++ b/lib/terminfo/a/arm100-wam
Binary files differ
diff --git a/lib/terminfo/a/at b/lib/terminfo/a/at
deleted file mode 120000
index ce86a1c..0000000
--- a/lib/terminfo/a/at
+++ /dev/null
@@ -1 +0,0 @@
-../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/at b/lib/terminfo/a/at
new file mode 100644
index 0000000..b48ef93
--- /dev/null
+++ b/lib/terminfo/a/at
Binary files differ
diff --git a/lib/terminfo/a/at-color b/lib/terminfo/a/at-color
deleted file mode 120000
index 809728a..0000000
--- a/lib/terminfo/a/at-color
+++ /dev/null
@@ -1 +0,0 @@
-../s/st52-color
\ No newline at end of file
diff --git a/lib/terminfo/a/at-color b/lib/terminfo/a/at-color
new file mode 100644
index 0000000..608e454
--- /dev/null
+++ b/lib/terminfo/a/at-color
Binary files differ
diff --git a/lib/terminfo/a/at-m b/lib/terminfo/a/at-m
deleted file mode 120000
index ce86a1c..0000000
--- a/lib/terminfo/a/at-m
+++ /dev/null
@@ -1 +0,0 @@
-../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/at-m b/lib/terminfo/a/at-m
new file mode 100644
index 0000000..b48ef93
--- /dev/null
+++ b/lib/terminfo/a/at-m
Binary files differ
diff --git a/lib/terminfo/a/at386 b/lib/terminfo/a/at386
deleted file mode 120000
index 14f5dcd..0000000
--- a/lib/terminfo/a/at386
+++ /dev/null
@@ -1 +0,0 @@
-att6386
\ No newline at end of file
diff --git a/lib/terminfo/a/at386 b/lib/terminfo/a/at386
new file mode 100644
index 0000000..3da9542
--- /dev/null
+++ b/lib/terminfo/a/at386
Binary files differ
diff --git a/lib/terminfo/a/atari b/lib/terminfo/a/atari
deleted file mode 120000
index ce86a1c..0000000
--- a/lib/terminfo/a/atari
+++ /dev/null
@@ -1 +0,0 @@
-../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/atari b/lib/terminfo/a/atari
new file mode 100644
index 0000000..b48ef93
--- /dev/null
+++ b/lib/terminfo/a/atari
Binary files differ
diff --git a/lib/terminfo/a/atari-color b/lib/terminfo/a/atari-color
deleted file mode 120000
index 809728a..0000000
--- a/lib/terminfo/a/atari-color
+++ /dev/null
@@ -1 +0,0 @@
-../s/st52-color
\ No newline at end of file
diff --git a/lib/terminfo/a/atari-color b/lib/terminfo/a/atari-color
new file mode 100644
index 0000000..608e454
--- /dev/null
+++ b/lib/terminfo/a/atari-color
Binary files differ
diff --git a/lib/terminfo/a/atari-m b/lib/terminfo/a/atari-m
deleted file mode 120000
index ce86a1c..0000000
--- a/lib/terminfo/a/atari-m
+++ /dev/null
@@ -1 +0,0 @@
-../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/atari-m b/lib/terminfo/a/atari-m
new file mode 100644
index 0000000..b48ef93
--- /dev/null
+++ b/lib/terminfo/a/atari-m
Binary files differ
diff --git a/lib/terminfo/a/atari-old b/lib/terminfo/a/atari-old
index a3b3e39..0539eb3 100644
--- a/lib/terminfo/a/atari-old
+++ b/lib/terminfo/a/atari-old
Binary files differ
diff --git a/lib/terminfo/a/atari_st b/lib/terminfo/a/atari_st
deleted file mode 120000
index ce86a1c..0000000
--- a/lib/terminfo/a/atari_st
+++ /dev/null
@@ -1 +0,0 @@
-../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/atari_st b/lib/terminfo/a/atari_st
new file mode 100644
index 0000000..b48ef93
--- /dev/null
+++ b/lib/terminfo/a/atari_st
Binary files differ
diff --git a/lib/terminfo/a/atari_st-color b/lib/terminfo/a/atari_st-color
deleted file mode 120000
index 809728a..0000000
--- a/lib/terminfo/a/atari_st-color
+++ /dev/null
@@ -1 +0,0 @@
-../s/st52-color
\ No newline at end of file
diff --git a/lib/terminfo/a/atari_st-color b/lib/terminfo/a/atari_st-color
new file mode 100644
index 0000000..608e454
--- /dev/null
+++ b/lib/terminfo/a/atari_st-color
Binary files differ
diff --git a/lib/terminfo/a/atarist-m b/lib/terminfo/a/atarist-m
deleted file mode 120000
index ce86a1c..0000000
--- a/lib/terminfo/a/atarist-m
+++ /dev/null
@@ -1 +0,0 @@
-../s/st52
\ No newline at end of file
diff --git a/lib/terminfo/a/atarist-m b/lib/terminfo/a/atarist-m
new file mode 100644
index 0000000..b48ef93
--- /dev/null
+++ b/lib/terminfo/a/atarist-m
Binary files differ
diff --git a/lib/terminfo/a/aterm b/lib/terminfo/a/aterm
index 33dbf92..c1fb405 100644
--- a/lib/terminfo/a/aterm
+++ b/lib/terminfo/a/aterm
Binary files differ
diff --git a/lib/terminfo/a/att2300 b/lib/terminfo/a/att2300
index 7ff7d52..cb9e068 100644
--- a/lib/terminfo/a/att2300
+++ b/lib/terminfo/a/att2300
Binary files differ
diff --git a/lib/terminfo/a/att2350 b/lib/terminfo/a/att2350
index f06fa9b..0bceae2 100644
--- a/lib/terminfo/a/att2350
+++ b/lib/terminfo/a/att2350
Binary files differ
diff --git a/lib/terminfo/a/att4410-w b/lib/terminfo/a/att4410-w
deleted file mode 120000
index 995237d..0000000
--- a/lib/terminfo/a/att4410-w
+++ /dev/null
@@ -1 +0,0 @@
-att5410-w
\ No newline at end of file
diff --git a/lib/terminfo/a/att4410-w b/lib/terminfo/a/att4410-w
new file mode 100644
index 0000000..78d1777
--- /dev/null
+++ b/lib/terminfo/a/att4410-w
Binary files differ
diff --git a/lib/terminfo/a/att4410v1 b/lib/terminfo/a/att4410v1
deleted file mode 120000
index 8aba246..0000000
--- a/lib/terminfo/a/att4410v1
+++ /dev/null
@@ -1 +0,0 @@
-att5410v1
\ No newline at end of file
diff --git a/lib/terminfo/a/att4410v1 b/lib/terminfo/a/att4410v1
new file mode 100644
index 0000000..d7d7336
--- /dev/null
+++ b/lib/terminfo/a/att4410v1
Binary files differ
diff --git a/lib/terminfo/a/att4420 b/lib/terminfo/a/att4420
index bed9e68..8187d8a 100644
--- a/lib/terminfo/a/att4420
+++ b/lib/terminfo/a/att4420
Binary files differ
diff --git a/lib/terminfo/a/att4424 b/lib/terminfo/a/att4424
index 879bc82..41b83bf 100644
--- a/lib/terminfo/a/att4424
+++ b/lib/terminfo/a/att4424
Binary files differ
diff --git a/lib/terminfo/a/att4424-1 b/lib/terminfo/a/att4424-1
index 6ef2858..860c736 100644
--- a/lib/terminfo/a/att4424-1
+++ b/lib/terminfo/a/att4424-1
Binary files differ
diff --git a/lib/terminfo/a/att4424m b/lib/terminfo/a/att4424m
index 54671e3..88e6769 100644
--- a/lib/terminfo/a/att4424m
+++ b/lib/terminfo/a/att4424m
Binary files differ
diff --git a/lib/terminfo/a/att4425 b/lib/terminfo/a/att4425
deleted file mode 120000
index 97bd528..0000000
--- a/lib/terminfo/a/att4425
+++ /dev/null
@@ -1 +0,0 @@
-att5425
\ No newline at end of file
diff --git a/lib/terminfo/a/att4425 b/lib/terminfo/a/att4425
new file mode 100644
index 0000000..ff37158
--- /dev/null
+++ b/lib/terminfo/a/att4425
Binary files differ
diff --git a/lib/terminfo/a/att4425-nl b/lib/terminfo/a/att4425-nl
deleted file mode 120000
index d2e5c41..0000000
--- a/lib/terminfo/a/att4425-nl
+++ /dev/null
@@ -1 +0,0 @@
-att5425-nl
\ No newline at end of file
diff --git a/lib/terminfo/a/att4425-nl b/lib/terminfo/a/att4425-nl
new file mode 100644
index 0000000..86c8672
--- /dev/null
+++ b/lib/terminfo/a/att4425-nl
Binary files differ
diff --git a/lib/terminfo/a/att4425-w b/lib/terminfo/a/att4425-w
deleted file mode 120000
index a37e36b..0000000
--- a/lib/terminfo/a/att4425-w
+++ /dev/null
@@ -1 +0,0 @@
-att5425-w
\ No newline at end of file
diff --git a/lib/terminfo/a/att4425-w b/lib/terminfo/a/att4425-w
new file mode 100644
index 0000000..e9ffd49
--- /dev/null
+++ b/lib/terminfo/a/att4425-w
Binary files differ
diff --git a/lib/terminfo/a/att4426 b/lib/terminfo/a/att4426
index 753c152..510154a 100644
--- a/lib/terminfo/a/att4426
+++ b/lib/terminfo/a/att4426
Binary files differ
diff --git a/lib/terminfo/a/att500 b/lib/terminfo/a/att500
index 76def43..6eddf88 100644
--- a/lib/terminfo/a/att500
+++ b/lib/terminfo/a/att500
Binary files differ
diff --git a/lib/terminfo/a/att505 b/lib/terminfo/a/att505
index 92dffac..6640ef9 100644
--- a/lib/terminfo/a/att505
+++ b/lib/terminfo/a/att505
Binary files differ
diff --git a/lib/terminfo/a/att505-22 b/lib/terminfo/a/att505-22
new file mode 100644
index 0000000..bbf0d9a
--- /dev/null
+++ b/lib/terminfo/a/att505-22
Binary files differ
diff --git a/lib/terminfo/a/att505-24 b/lib/terminfo/a/att505-24
index bcccaaa..ead33f9 100644
--- a/lib/terminfo/a/att505-24
+++ b/lib/terminfo/a/att505-24
Binary files differ
diff --git a/lib/terminfo/a/att510a b/lib/terminfo/a/att510a
index 0814b44..c194bc3 100644
--- a/lib/terminfo/a/att510a
+++ b/lib/terminfo/a/att510a
Binary files differ
diff --git a/lib/terminfo/a/att510d b/lib/terminfo/a/att510d
index 7e1fffe..e780315 100644
--- a/lib/terminfo/a/att510d
+++ b/lib/terminfo/a/att510d
Binary files differ
diff --git a/lib/terminfo/a/att513 b/lib/terminfo/a/att513
deleted file mode 120000
index 14fcde0..0000000
--- a/lib/terminfo/a/att513
+++ /dev/null
@@ -1 +0,0 @@
-att500
\ No newline at end of file
diff --git a/lib/terminfo/a/att513 b/lib/terminfo/a/att513
new file mode 100644
index 0000000..6eddf88
--- /dev/null
+++ b/lib/terminfo/a/att513
Binary files differ
diff --git a/lib/terminfo/a/att5320 b/lib/terminfo/a/att5320
deleted file mode 120000
index 8b691ca..0000000
--- a/lib/terminfo/a/att5320
+++ /dev/null
@@ -1 +0,0 @@
-att5310
\ No newline at end of file
diff --git a/lib/terminfo/a/att5320 b/lib/terminfo/a/att5320
new file mode 100644
index 0000000..fd5f22e
--- /dev/null
+++ b/lib/terminfo/a/att5320
Binary files differ
diff --git a/lib/terminfo/a/att5410 b/lib/terminfo/a/att5410
deleted file mode 120000
index a6bf37e..0000000
--- a/lib/terminfo/a/att5410
+++ /dev/null
@@ -1 +0,0 @@
-att4410
\ No newline at end of file
diff --git a/lib/terminfo/a/att5410 b/lib/terminfo/a/att5410
new file mode 100644
index 0000000..41072d6
--- /dev/null
+++ b/lib/terminfo/a/att5410
Binary files differ
diff --git a/lib/terminfo/a/att5410v1-w b/lib/terminfo/a/att5410v1-w
deleted file mode 120000
index 4d0175b..0000000
--- a/lib/terminfo/a/att5410v1-w
+++ /dev/null
@@ -1 +0,0 @@
-att4410v1-w
\ No newline at end of file
diff --git a/lib/terminfo/a/att5410v1-w b/lib/terminfo/a/att5410v1-w
new file mode 100644
index 0000000..96225b8
--- /dev/null
+++ b/lib/terminfo/a/att5410v1-w
Binary files differ
diff --git a/lib/terminfo/a/att5418 b/lib/terminfo/a/att5418
deleted file mode 120000
index 826538c..0000000
--- a/lib/terminfo/a/att5418
+++ /dev/null
@@ -1 +0,0 @@
-att4418
\ No newline at end of file
diff --git a/lib/terminfo/a/att5418 b/lib/terminfo/a/att5418
new file mode 100644
index 0000000..4901347
--- /dev/null
+++ b/lib/terminfo/a/att5418
Binary files differ
diff --git a/lib/terminfo/a/att5418-w b/lib/terminfo/a/att5418-w
deleted file mode 120000
index 9c203fb..0000000
--- a/lib/terminfo/a/att5418-w
+++ /dev/null
@@ -1 +0,0 @@
-att4418-w
\ No newline at end of file
diff --git a/lib/terminfo/a/att5418-w b/lib/terminfo/a/att5418-w
new file mode 100644
index 0000000..aac2f03
--- /dev/null
+++ b/lib/terminfo/a/att5418-w
Binary files differ
diff --git a/lib/terminfo/a/att5420 b/lib/terminfo/a/att5420
deleted file mode 120000
index ed18ec2..0000000
--- a/lib/terminfo/a/att5420
+++ /dev/null
@@ -1 +0,0 @@
-att4415
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420 b/lib/terminfo/a/att5420
new file mode 100644
index 0000000..c1ff8e5
--- /dev/null
+++ b/lib/terminfo/a/att5420
Binary files differ
diff --git a/lib/terminfo/a/att5420+nl b/lib/terminfo/a/att5420+nl
deleted file mode 120000
index 8227b3b..0000000
--- a/lib/terminfo/a/att5420+nl
+++ /dev/null
@@ -1 +0,0 @@
-att4415+nl
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420+nl b/lib/terminfo/a/att5420+nl
new file mode 100644
index 0000000..b9a8de8
--- /dev/null
+++ b/lib/terminfo/a/att5420+nl
Binary files differ
diff --git a/lib/terminfo/a/att5420-nl b/lib/terminfo/a/att5420-nl
deleted file mode 120000
index d9f172c..0000000
--- a/lib/terminfo/a/att5420-nl
+++ /dev/null
@@ -1 +0,0 @@
-att4415-nl
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-nl b/lib/terminfo/a/att5420-nl
new file mode 100644
index 0000000..d2713da
--- /dev/null
+++ b/lib/terminfo/a/att5420-nl
Binary files differ
diff --git a/lib/terminfo/a/att5420-rv b/lib/terminfo/a/att5420-rv
deleted file mode 120000
index 796c53f..0000000
--- a/lib/terminfo/a/att5420-rv
+++ /dev/null
@@ -1 +0,0 @@
-att4415-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-rv b/lib/terminfo/a/att5420-rv
new file mode 100644
index 0000000..e729264
--- /dev/null
+++ b/lib/terminfo/a/att5420-rv
Binary files differ
diff --git a/lib/terminfo/a/att5420-rv-nl b/lib/terminfo/a/att5420-rv-nl
deleted file mode 120000
index cb4da0e..0000000
--- a/lib/terminfo/a/att5420-rv-nl
+++ /dev/null
@@ -1 +0,0 @@
-att4415-rv-nl
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-rv-nl b/lib/terminfo/a/att5420-rv-nl
new file mode 100644
index 0000000..e6dff51
--- /dev/null
+++ b/lib/terminfo/a/att5420-rv-nl
Binary files differ
diff --git a/lib/terminfo/a/att5420-w b/lib/terminfo/a/att5420-w
deleted file mode 120000
index 420a44d..0000000
--- a/lib/terminfo/a/att5420-w
+++ /dev/null
@@ -1 +0,0 @@
-att4415-w
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-w b/lib/terminfo/a/att5420-w
new file mode 100644
index 0000000..dbed57e
--- /dev/null
+++ b/lib/terminfo/a/att5420-w
Binary files differ
diff --git a/lib/terminfo/a/att5420-w-nl b/lib/terminfo/a/att5420-w-nl
deleted file mode 120000
index 9694793..0000000
--- a/lib/terminfo/a/att5420-w-nl
+++ /dev/null
@@ -1 +0,0 @@
-att4415-w-nl
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-w-nl b/lib/terminfo/a/att5420-w-nl
new file mode 100644
index 0000000..e045eca
--- /dev/null
+++ b/lib/terminfo/a/att5420-w-nl
Binary files differ
diff --git a/lib/terminfo/a/att5420-w-rv b/lib/terminfo/a/att5420-w-rv
deleted file mode 120000
index dca2153..0000000
--- a/lib/terminfo/a/att5420-w-rv
+++ /dev/null
@@ -1 +0,0 @@
-att4415-w-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-w-rv b/lib/terminfo/a/att5420-w-rv
new file mode 100644
index 0000000..dde6ba9
--- /dev/null
+++ b/lib/terminfo/a/att5420-w-rv
Binary files differ
diff --git a/lib/terminfo/a/att5420-w-rv-n b/lib/terminfo/a/att5420-w-rv-n
deleted file mode 120000
index 5d2385b..0000000
--- a/lib/terminfo/a/att5420-w-rv-n
+++ /dev/null
@@ -1 +0,0 @@
-att4415-w-rv-n
\ No newline at end of file
diff --git a/lib/terminfo/a/att5420-w-rv-n b/lib/terminfo/a/att5420-w-rv-n
new file mode 100644
index 0000000..3d13a44
--- /dev/null
+++ b/lib/terminfo/a/att5420-w-rv-n
Binary files differ
diff --git a/lib/terminfo/a/att5420_2 b/lib/terminfo/a/att5420_2
index 328a95a..f46c163 100644
--- a/lib/terminfo/a/att5420_2
+++ b/lib/terminfo/a/att5420_2
Binary files differ
diff --git a/lib/terminfo/a/att5420_2-w b/lib/terminfo/a/att5420_2-w
index e6118ee..e7f47e7 100644
--- a/lib/terminfo/a/att5420_2-w
+++ b/lib/terminfo/a/att5420_2-w
Binary files differ
diff --git a/lib/terminfo/a/att5425 b/lib/terminfo/a/att5425
index e170c65..ff37158 100644
--- a/lib/terminfo/a/att5425
+++ b/lib/terminfo/a/att5425
Binary files differ
diff --git a/lib/terminfo/a/att5425-nl b/lib/terminfo/a/att5425-nl
index c90e2a7..86c8672 100644
--- a/lib/terminfo/a/att5425-nl
+++ b/lib/terminfo/a/att5425-nl
Binary files differ
diff --git a/lib/terminfo/a/att5425-w b/lib/terminfo/a/att5425-w
index a841e8b..e9ffd49 100644
--- a/lib/terminfo/a/att5425-w
+++ b/lib/terminfo/a/att5425-w
Binary files differ
diff --git a/lib/terminfo/a/att5430 b/lib/terminfo/a/att5430
deleted file mode 120000
index ac3398e..0000000
--- a/lib/terminfo/a/att5430
+++ /dev/null
@@ -1 +0,0 @@
-att505
\ No newline at end of file
diff --git a/lib/terminfo/a/att5430 b/lib/terminfo/a/att5430
new file mode 100644
index 0000000..6640ef9
--- /dev/null
+++ b/lib/terminfo/a/att5430
Binary files differ
diff --git a/lib/terminfo/a/att5620 b/lib/terminfo/a/att5620
index d096883..1bb4071 100644
--- a/lib/terminfo/a/att5620
+++ b/lib/terminfo/a/att5620
Binary files differ
diff --git a/lib/terminfo/a/att5620-24 b/lib/terminfo/a/att5620-24
index c812b62..14c3431 100644
--- a/lib/terminfo/a/att5620-24
+++ b/lib/terminfo/a/att5620-24
Binary files differ
diff --git a/lib/terminfo/a/att5620-34 b/lib/terminfo/a/att5620-34
index 5e60f0b..a23f838 100644
--- a/lib/terminfo/a/att5620-34
+++ b/lib/terminfo/a/att5620-34
Binary files differ
diff --git a/lib/terminfo/a/att5620-s b/lib/terminfo/a/att5620-s
index b313bcc..56d4b55 100644
--- a/lib/terminfo/a/att5620-s
+++ b/lib/terminfo/a/att5620-s
Binary files differ
diff --git a/lib/terminfo/a/att605 b/lib/terminfo/a/att605
index 3436ffe..30c4f66 100644
--- a/lib/terminfo/a/att605
+++ b/lib/terminfo/a/att605
Binary files differ
diff --git a/lib/terminfo/a/att605-pc b/lib/terminfo/a/att605-pc
index 9d36cca..06ec8ff 100644
--- a/lib/terminfo/a/att605-pc
+++ b/lib/terminfo/a/att605-pc
Binary files differ
diff --git a/lib/terminfo/a/att605-w b/lib/terminfo/a/att605-w
index 6c6eb54..5e37491 100644
--- a/lib/terminfo/a/att605-w
+++ b/lib/terminfo/a/att605-w
Binary files differ
diff --git a/lib/terminfo/a/att610 b/lib/terminfo/a/att610
index 07d4094..5c80e76 100644
--- a/lib/terminfo/a/att610
+++ b/lib/terminfo/a/att610
Binary files differ
diff --git a/lib/terminfo/a/att610+cvis b/lib/terminfo/a/att610+cvis
new file mode 100644
index 0000000..5f94bfb
--- /dev/null
+++ b/lib/terminfo/a/att610+cvis
Binary files differ
diff --git a/lib/terminfo/a/att610+cvis0 b/lib/terminfo/a/att610+cvis0
new file mode 100644
index 0000000..3e8aa25
--- /dev/null
+++ b/lib/terminfo/a/att610+cvis0
Binary files differ
diff --git a/lib/terminfo/a/att610-103k b/lib/terminfo/a/att610-103k
index 114b82a..9fc7249 100644
--- a/lib/terminfo/a/att610-103k
+++ b/lib/terminfo/a/att610-103k
Binary files differ
diff --git a/lib/terminfo/a/att610-103k-w b/lib/terminfo/a/att610-103k-w
index 5058bb4..16d3f18 100644
--- a/lib/terminfo/a/att610-103k-w
+++ b/lib/terminfo/a/att610-103k-w
Binary files differ
diff --git a/lib/terminfo/a/att610-w b/lib/terminfo/a/att610-w
index 747bf8b..c81aaf9 100644
--- a/lib/terminfo/a/att610-w
+++ b/lib/terminfo/a/att610-w
Binary files differ
diff --git a/lib/terminfo/a/att615 b/lib/terminfo/a/att615
index 210e673..d160c58 100644
--- a/lib/terminfo/a/att615
+++ b/lib/terminfo/a/att615
Binary files differ
diff --git a/lib/terminfo/a/att615-103k b/lib/terminfo/a/att615-103k
index d15d062..bbf143a 100644
--- a/lib/terminfo/a/att615-103k
+++ b/lib/terminfo/a/att615-103k
Binary files differ
diff --git a/lib/terminfo/a/att615-103k-w b/lib/terminfo/a/att615-103k-w
index b7df78d..2f7f665 100644
--- a/lib/terminfo/a/att615-103k-w
+++ b/lib/terminfo/a/att615-103k-w
Binary files differ
diff --git a/lib/terminfo/a/att615-w b/lib/terminfo/a/att615-w
index 9114794..3c811b4 100644
--- a/lib/terminfo/a/att615-w
+++ b/lib/terminfo/a/att615-w
Binary files differ
diff --git a/lib/terminfo/a/att620 b/lib/terminfo/a/att620
index 280c9e4..9e7cdc8 100644
--- a/lib/terminfo/a/att620
+++ b/lib/terminfo/a/att620
Binary files differ
diff --git a/lib/terminfo/a/att620-103k b/lib/terminfo/a/att620-103k
index b2a7e67..ff31792 100644
--- a/lib/terminfo/a/att620-103k
+++ b/lib/terminfo/a/att620-103k
Binary files differ
diff --git a/lib/terminfo/a/att620-103k-w b/lib/terminfo/a/att620-103k-w
index 65c613a..3e68122 100644
--- a/lib/terminfo/a/att620-103k-w
+++ b/lib/terminfo/a/att620-103k-w
Binary files differ
diff --git a/lib/terminfo/a/att620-w b/lib/terminfo/a/att620-w
index 1cb7864..462de52 100644
--- a/lib/terminfo/a/att620-w
+++ b/lib/terminfo/a/att620-w
Binary files differ
diff --git a/lib/terminfo/a/att630 b/lib/terminfo/a/att630
index b98ce39..ab86495 100644
--- a/lib/terminfo/a/att630
+++ b/lib/terminfo/a/att630
Binary files differ
diff --git a/lib/terminfo/a/att630-24 b/lib/terminfo/a/att630-24
index 0e8cd0f..a575613 100644
--- a/lib/terminfo/a/att630-24
+++ b/lib/terminfo/a/att630-24
Binary files differ
diff --git a/lib/terminfo/a/att700 b/lib/terminfo/a/att700
index b7c1c84..a151504 100644
--- a/lib/terminfo/a/att700
+++ b/lib/terminfo/a/att700
Binary files differ
diff --git a/lib/terminfo/a/att730 b/lib/terminfo/a/att730
index 6d51ac9..6bc6b74 100644
--- a/lib/terminfo/a/att730
+++ b/lib/terminfo/a/att730
Binary files differ
diff --git a/lib/terminfo/a/att730-24 b/lib/terminfo/a/att730-24
index 0e0e652..cf1e9a2 100644
--- a/lib/terminfo/a/att730-24
+++ b/lib/terminfo/a/att730-24
Binary files differ
diff --git a/lib/terminfo/a/att730-41 b/lib/terminfo/a/att730-41
index 084540e..085e285 100644
--- a/lib/terminfo/a/att730-41
+++ b/lib/terminfo/a/att730-41
Binary files differ
diff --git a/lib/terminfo/a/att730r b/lib/terminfo/a/att730r
index b13723d..12751e4 100644
--- a/lib/terminfo/a/att730r
+++ b/lib/terminfo/a/att730r
Binary files differ
diff --git a/lib/terminfo/a/att730r-24 b/lib/terminfo/a/att730r-24
index 71558c8..1bb2632 100644
--- a/lib/terminfo/a/att730r-24
+++ b/lib/terminfo/a/att730r-24
Binary files differ
diff --git a/lib/terminfo/a/att730r-41 b/lib/terminfo/a/att730r-41
index 1a901e7..1a675a0 100644
--- a/lib/terminfo/a/att730r-41
+++ b/lib/terminfo/a/att730r-41
Binary files differ
diff --git a/lib/terminfo/a/avatar1 b/lib/terminfo/a/avatar1
deleted file mode 120000
index f8182bb..0000000
--- a/lib/terminfo/a/avatar1
+++ /dev/null
@@ -1 +0,0 @@
-avatar
\ No newline at end of file
diff --git a/lib/terminfo/a/avatar1 b/lib/terminfo/a/avatar1
new file mode 100644
index 0000000..15b4ae0
--- /dev/null
+++ b/lib/terminfo/a/avatar1
Binary files differ
diff --git a/lib/terminfo/a/avt b/lib/terminfo/a/avt
index b755d47..d38aa50 100644
--- a/lib/terminfo/a/avt
+++ b/lib/terminfo/a/avt
Binary files differ
diff --git a/lib/terminfo/a/avt+s b/lib/terminfo/a/avt+s
index 2c0c983..0d338a8 100644
--- a/lib/terminfo/a/avt+s
+++ b/lib/terminfo/a/avt+s
Binary files differ
diff --git a/lib/terminfo/a/avt-ns b/lib/terminfo/a/avt-ns
index 820e92c..67312e8 100644
--- a/lib/terminfo/a/avt-ns
+++ b/lib/terminfo/a/avt-ns
Binary files differ
diff --git a/lib/terminfo/a/avt-rv b/lib/terminfo/a/avt-rv
index bcf4b52..cddc50f 100644
--- a/lib/terminfo/a/avt-rv
+++ b/lib/terminfo/a/avt-rv
Binary files differ
diff --git a/lib/terminfo/a/avt-rv-ns b/lib/terminfo/a/avt-rv-ns
index c6355dd..a4e0875 100644
--- a/lib/terminfo/a/avt-rv-ns
+++ b/lib/terminfo/a/avt-rv-ns
Binary files differ
diff --git a/lib/terminfo/a/avt-rv-s b/lib/terminfo/a/avt-rv-s
deleted file mode 120000
index 472533c..0000000
--- a/lib/terminfo/a/avt-rv-s
+++ /dev/null
@@ -1 +0,0 @@
-avt-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/avt-rv-s b/lib/terminfo/a/avt-rv-s
new file mode 100644
index 0000000..cddc50f
--- /dev/null
+++ b/lib/terminfo/a/avt-rv-s
Binary files differ
diff --git a/lib/terminfo/a/avt-s b/lib/terminfo/a/avt-s
deleted file mode 120000
index 628ec31..0000000
--- a/lib/terminfo/a/avt-s
+++ /dev/null
@@ -1 +0,0 @@
-avt
\ No newline at end of file
diff --git a/lib/terminfo/a/avt-s b/lib/terminfo/a/avt-s
new file mode 100644
index 0000000..d38aa50
--- /dev/null
+++ b/lib/terminfo/a/avt-s
Binary files differ
diff --git a/lib/terminfo/a/avt-w b/lib/terminfo/a/avt-w
index 2fb1358..ced6270 100644
--- a/lib/terminfo/a/avt-w
+++ b/lib/terminfo/a/avt-w
Binary files differ
diff --git a/lib/terminfo/a/avt-w-ns b/lib/terminfo/a/avt-w-ns
index 334c82c..98ba135 100644
--- a/lib/terminfo/a/avt-w-ns
+++ b/lib/terminfo/a/avt-w-ns
Binary files differ
diff --git a/lib/terminfo/a/avt-w-rv b/lib/terminfo/a/avt-w-rv
index 085afdd..97adedd 100644
--- a/lib/terminfo/a/avt-w-rv
+++ b/lib/terminfo/a/avt-w-rv
Binary files differ
diff --git a/lib/terminfo/a/avt-w-rv-ns b/lib/terminfo/a/avt-w-rv-ns
index 037315d..1c369cc 100644
--- a/lib/terminfo/a/avt-w-rv-ns
+++ b/lib/terminfo/a/avt-w-rv-ns
Binary files differ
diff --git a/lib/terminfo/a/avt-w-rv-s b/lib/terminfo/a/avt-w-rv-s
deleted file mode 120000
index f3a8904..0000000
--- a/lib/terminfo/a/avt-w-rv-s
+++ /dev/null
@@ -1 +0,0 @@
-avt-w-rv
\ No newline at end of file
diff --git a/lib/terminfo/a/avt-w-rv-s b/lib/terminfo/a/avt-w-rv-s
new file mode 100644
index 0000000..97adedd
--- /dev/null
+++ b/lib/terminfo/a/avt-w-rv-s
Binary files differ
diff --git a/lib/terminfo/a/avt-w-s b/lib/terminfo/a/avt-w-s
deleted file mode 120000
index e77ff08..0000000
--- a/lib/terminfo/a/avt-w-s
+++ /dev/null
@@ -1 +0,0 @@
-avt-w
\ No newline at end of file
diff --git a/lib/terminfo/a/avt-w-s b/lib/terminfo/a/avt-w-s
new file mode 100644
index 0000000..ced6270
--- /dev/null
+++ b/lib/terminfo/a/avt-w-s
Binary files differ
diff --git a/lib/terminfo/b/b-128 b/lib/terminfo/b/b-128
deleted file mode 120000
index 75f4805..0000000
--- a/lib/terminfo/b/b-128
+++ /dev/null
@@ -1 +0,0 @@
-../c/commodore
\ No newline at end of file
diff --git a/lib/terminfo/b/b-128 b/lib/terminfo/b/b-128
new file mode 100644
index 0000000..775ba09
--- /dev/null
+++ b/lib/terminfo/b/b-128
Binary files differ
diff --git a/lib/terminfo/b/bantam b/lib/terminfo/b/bantam
index 30ec005..2dc4fa3 100644
--- a/lib/terminfo/b/bantam
+++ b/lib/terminfo/b/bantam
Binary files differ
diff --git a/lib/terminfo/b/basic4 b/lib/terminfo/b/basic4
deleted file mode 120000
index 4f28800..0000000
--- a/lib/terminfo/b/basic4
+++ /dev/null
@@ -1 +0,0 @@
-../m/mai
\ No newline at end of file
diff --git a/lib/terminfo/b/basic4 b/lib/terminfo/b/basic4
new file mode 100644
index 0000000..3f6868e
--- /dev/null
+++ b/lib/terminfo/b/basic4
Binary files differ
diff --git a/lib/terminfo/b/bct510a b/lib/terminfo/b/bct510a
deleted file mode 120000
index 3e2276b..0000000
--- a/lib/terminfo/b/bct510a
+++ /dev/null
@@ -1 +0,0 @@
-../a/att510a
\ No newline at end of file
diff --git a/lib/terminfo/b/bct510a b/lib/terminfo/b/bct510a
new file mode 100644
index 0000000..c194bc3
--- /dev/null
+++ b/lib/terminfo/b/bct510a
Binary files differ
diff --git a/lib/terminfo/b/bct510d b/lib/terminfo/b/bct510d
deleted file mode 120000
index 5abd00d..0000000
--- a/lib/terminfo/b/bct510d
+++ /dev/null
@@ -1 +0,0 @@
-../a/att510d
\ No newline at end of file
diff --git a/lib/terminfo/b/bct510d b/lib/terminfo/b/bct510d
new file mode 100644
index 0000000..e780315
--- /dev/null
+++ b/lib/terminfo/b/bct510d
Binary files differ
diff --git a/lib/terminfo/b/bee b/lib/terminfo/b/bee
deleted file mode 120000
index 5401742..0000000
--- a/lib/terminfo/b/bee
+++ /dev/null
@@ -1 +0,0 @@
-beehive
\ No newline at end of file
diff --git a/lib/terminfo/b/bee b/lib/terminfo/b/bee
new file mode 100644
index 0000000..7d56ce9
--- /dev/null
+++ b/lib/terminfo/b/bee
Binary files differ
diff --git a/lib/terminfo/b/beehive b/lib/terminfo/b/beehive
index 24de02b..7d56ce9 100644
--- a/lib/terminfo/b/beehive
+++ b/lib/terminfo/b/beehive
Binary files differ
diff --git a/lib/terminfo/b/beehive3 b/lib/terminfo/b/beehive3
index 462bc16..1b813c8 100644
--- a/lib/terminfo/b/beehive3
+++ b/lib/terminfo/b/beehive3
Binary files differ
diff --git a/lib/terminfo/b/beehive4 b/lib/terminfo/b/beehive4
index e506654..2d426d1 100644
--- a/lib/terminfo/b/beehive4
+++ b/lib/terminfo/b/beehive4
Binary files differ
diff --git a/lib/terminfo/b/beehiveIIIm b/lib/terminfo/b/beehiveIIIm
deleted file mode 120000
index 239bebf..0000000
--- a/lib/terminfo/b/beehiveIIIm
+++ /dev/null
@@ -1 +0,0 @@
-beehive3
\ No newline at end of file
diff --git a/lib/terminfo/b/beehiveIIIm b/lib/terminfo/b/beehiveIIIm
new file mode 100644
index 0000000..1b813c8
--- /dev/null
+++ b/lib/terminfo/b/beehiveIIIm
Binary files differ
diff --git a/lib/terminfo/b/bg1.25 b/lib/terminfo/b/bg1.25
index fad06c2..79fbd64 100644
--- a/lib/terminfo/b/bg1.25
+++ b/lib/terminfo/b/bg1.25
Binary files differ
diff --git a/lib/terminfo/b/bg1.25nv b/lib/terminfo/b/bg1.25nv
index de218ae..023e3aa 100644
--- a/lib/terminfo/b/bg1.25nv
+++ b/lib/terminfo/b/bg1.25nv
Binary files differ
diff --git a/lib/terminfo/b/bg1.25rv b/lib/terminfo/b/bg1.25rv
index d2323ea..05245e7 100644
--- a/lib/terminfo/b/bg1.25rv
+++ b/lib/terminfo/b/bg1.25rv
Binary files differ
diff --git a/lib/terminfo/b/bg2.0 b/lib/terminfo/b/bg2.0
index 89d3ae0..9c0b11d 100644
--- a/lib/terminfo/b/bg2.0
+++ b/lib/terminfo/b/bg2.0
Binary files differ
diff --git a/lib/terminfo/b/bg2.0nv b/lib/terminfo/b/bg2.0nv
deleted file mode 120000
index 887bb27..0000000
--- a/lib/terminfo/b/bg2.0nv
+++ /dev/null
@@ -1 +0,0 @@
-bitgraph
\ No newline at end of file
diff --git a/lib/terminfo/b/bg2.0nv b/lib/terminfo/b/bg2.0nv
new file mode 100644
index 0000000..50ff52d
--- /dev/null
+++ b/lib/terminfo/b/bg2.0nv
Binary files differ
diff --git a/lib/terminfo/b/bg2.0rv b/lib/terminfo/b/bg2.0rv
index f365612..2651e4c 100644
--- a/lib/terminfo/b/bg2.0rv
+++ b/lib/terminfo/b/bg2.0rv
Binary files differ
diff --git a/lib/terminfo/b/bg3.10 b/lib/terminfo/b/bg3.10
deleted file mode 120000
index fe8c5bd..0000000
--- a/lib/terminfo/b/bg3.10
+++ /dev/null
@@ -1 +0,0 @@
-bg2.0
\ No newline at end of file
diff --git a/lib/terminfo/b/bg3.10 b/lib/terminfo/b/bg3.10
new file mode 100644
index 0000000..9c0b11d
--- /dev/null
+++ b/lib/terminfo/b/bg3.10
Binary files differ
diff --git a/lib/terminfo/b/bg3.10nv b/lib/terminfo/b/bg3.10nv
deleted file mode 120000
index 887bb27..0000000
--- a/lib/terminfo/b/bg3.10nv
+++ /dev/null
@@ -1 +0,0 @@
-bitgraph
\ No newline at end of file
diff --git a/lib/terminfo/b/bg3.10nv b/lib/terminfo/b/bg3.10nv
new file mode 100644
index 0000000..50ff52d
--- /dev/null
+++ b/lib/terminfo/b/bg3.10nv
Binary files differ
diff --git a/lib/terminfo/b/bg3.10rv b/lib/terminfo/b/bg3.10rv
deleted file mode 120000
index 3e9adf2..0000000
--- a/lib/terminfo/b/bg3.10rv
+++ /dev/null
@@ -1 +0,0 @@
-bg2.0rv
\ No newline at end of file
diff --git a/lib/terminfo/b/bg3.10rv b/lib/terminfo/b/bg3.10rv
new file mode 100644
index 0000000..2651e4c
--- /dev/null
+++ b/lib/terminfo/b/bg3.10rv
Binary files differ
diff --git a/lib/terminfo/b/bh3m b/lib/terminfo/b/bh3m
deleted file mode 120000
index 239bebf..0000000
--- a/lib/terminfo/b/bh3m
+++ /dev/null
@@ -1 +0,0 @@
-beehive3
\ No newline at end of file
diff --git a/lib/terminfo/b/bh3m b/lib/terminfo/b/bh3m
new file mode 100644
index 0000000..1b813c8
--- /dev/null
+++ b/lib/terminfo/b/bh3m
Binary files differ
diff --git a/lib/terminfo/b/bh4 b/lib/terminfo/b/bh4
deleted file mode 120000
index 4a8bb4d..0000000
--- a/lib/terminfo/b/bh4
+++ /dev/null
@@ -1 +0,0 @@
-beehive4
\ No newline at end of file
diff --git a/lib/terminfo/b/bh4 b/lib/terminfo/b/bh4
new file mode 100644
index 0000000..2d426d1
--- /dev/null
+++ b/lib/terminfo/b/bh4
Binary files differ
diff --git a/lib/terminfo/b/bitgraph b/lib/terminfo/b/bitgraph
index b145bf5..50ff52d 100644
--- a/lib/terminfo/b/bitgraph
+++ b/lib/terminfo/b/bitgraph
Binary files differ
diff --git a/lib/terminfo/b/bq300 b/lib/terminfo/b/bq300
index 8e05308..ea516b5 100644
--- a/lib/terminfo/b/bq300
+++ b/lib/terminfo/b/bq300
Binary files differ
diff --git a/lib/terminfo/b/bq300-8 b/lib/terminfo/b/bq300-8
index e7aa935..7c0d8f5 100644
--- a/lib/terminfo/b/bq300-8
+++ b/lib/terminfo/b/bq300-8
Binary files differ
diff --git a/lib/terminfo/b/bq300-8rv b/lib/terminfo/b/bq300-8rv
index 5325ea7..93c01be 100644
--- a/lib/terminfo/b/bq300-8rv
+++ b/lib/terminfo/b/bq300-8rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-8w b/lib/terminfo/b/bq300-8w
index f303cb2..cb5c352 100644
--- a/lib/terminfo/b/bq300-8w
+++ b/lib/terminfo/b/bq300-8w
Binary files differ
diff --git a/lib/terminfo/b/bq300-pc b/lib/terminfo/b/bq300-pc
index 8cb6820..a02e3c0 100644
--- a/lib/terminfo/b/bq300-pc
+++ b/lib/terminfo/b/bq300-pc
Binary files differ
diff --git a/lib/terminfo/b/bq300-pc-rv b/lib/terminfo/b/bq300-pc-rv
index 948a8bf..9842def 100644
--- a/lib/terminfo/b/bq300-pc-rv
+++ b/lib/terminfo/b/bq300-pc-rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-pc-w b/lib/terminfo/b/bq300-pc-w
index b6983e4..8d07fdd 100644
--- a/lib/terminfo/b/bq300-pc-w
+++ b/lib/terminfo/b/bq300-pc-w
Binary files differ
diff --git a/lib/terminfo/b/bq300-pc-w-rv b/lib/terminfo/b/bq300-pc-w-rv
index c02aeb2..9448787 100644
--- a/lib/terminfo/b/bq300-pc-w-rv
+++ b/lib/terminfo/b/bq300-pc-w-rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-rv b/lib/terminfo/b/bq300-rv
index ee3c62d..be97d10 100644
--- a/lib/terminfo/b/bq300-rv
+++ b/lib/terminfo/b/bq300-rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-w b/lib/terminfo/b/bq300-w
index afe5f9a..db2b4f0 100644
--- a/lib/terminfo/b/bq300-w
+++ b/lib/terminfo/b/bq300-w
Binary files differ
diff --git a/lib/terminfo/b/bq300-w-8rv b/lib/terminfo/b/bq300-w-8rv
index a5906a1..0ae3353 100644
--- a/lib/terminfo/b/bq300-w-8rv
+++ b/lib/terminfo/b/bq300-w-8rv
Binary files differ
diff --git a/lib/terminfo/b/bq300-w-rv b/lib/terminfo/b/bq300-w-rv
index 4b5eaeb..fc38b54 100644
--- a/lib/terminfo/b/bq300-w-rv
+++ b/lib/terminfo/b/bq300-w-rv
Binary files differ
diff --git a/lib/terminfo/b/bracketed+paste b/lib/terminfo/b/bracketed+paste
new file mode 100644
index 0000000..7432c7a
--- /dev/null
+++ b/lib/terminfo/b/bracketed+paste
Binary files differ
diff --git a/lib/terminfo/b/bsdos-pc b/lib/terminfo/b/bsdos-pc
index e998a54..c4ce9b4 100644
--- a/lib/terminfo/b/bsdos-pc
+++ b/lib/terminfo/b/bsdos-pc
Binary files differ
diff --git a/lib/terminfo/b/bsdos-pc-mono b/lib/terminfo/b/bsdos-pc-mono
deleted file mode 120000
index 9a762a9..0000000
--- a/lib/terminfo/b/bsdos-pc-mono
+++ /dev/null
@@ -1 +0,0 @@
-bsdos-pc-m
\ No newline at end of file
diff --git a/lib/terminfo/b/bsdos-pc-mono b/lib/terminfo/b/bsdos-pc-mono
new file mode 100644
index 0000000..5ea4c19
--- /dev/null
+++ b/lib/terminfo/b/bsdos-pc-mono
Binary files differ
diff --git a/lib/terminfo/b/bsdos-ppc b/lib/terminfo/b/bsdos-ppc
index 319db16..b142cb9 100644
--- a/lib/terminfo/b/bsdos-ppc
+++ b/lib/terminfo/b/bsdos-ppc
Binary files differ
diff --git a/lib/terminfo/b/bsdos-sparc b/lib/terminfo/b/bsdos-sparc
index d52df3f..7a1bba8 100644
--- a/lib/terminfo/b/bsdos-sparc
+++ b/lib/terminfo/b/bsdos-sparc
Binary files differ
diff --git a/lib/terminfo/c/c100 b/lib/terminfo/c/c100
index dafa53c..e7cf571 100644
--- a/lib/terminfo/c/c100
+++ b/lib/terminfo/c/c100
Binary files differ
diff --git a/lib/terminfo/c/c100-1p b/lib/terminfo/c/c100-1p
deleted file mode 120000
index 0d5c670..0000000
--- a/lib/terminfo/c/c100-1p
+++ /dev/null
@@ -1 +0,0 @@
-../o/oc100
\ No newline at end of file
diff --git a/lib/terminfo/c/c100-1p b/lib/terminfo/c/c100-1p
new file mode 100644
index 0000000..67fa7a4
--- /dev/null
+++ b/lib/terminfo/c/c100-1p
Binary files differ
diff --git a/lib/terminfo/c/c100-4p b/lib/terminfo/c/c100-4p
deleted file mode 120000
index 72da3fd..0000000
--- a/lib/terminfo/c/c100-4p
+++ /dev/null
@@ -1 +0,0 @@
-c100
\ No newline at end of file
diff --git a/lib/terminfo/c/c100-4p b/lib/terminfo/c/c100-4p
new file mode 100644
index 0000000..e7cf571
--- /dev/null
+++ b/lib/terminfo/c/c100-4p
Binary files differ
diff --git a/lib/terminfo/c/c100-rv b/lib/terminfo/c/c100-rv
index 4437a1a..e9a0770 100644
--- a/lib/terminfo/c/c100-rv
+++ b/lib/terminfo/c/c100-rv
Binary files differ
diff --git a/lib/terminfo/c/c100-rv-4p b/lib/terminfo/c/c100-rv-4p
deleted file mode 120000
index 56724d7..0000000
--- a/lib/terminfo/c/c100-rv-4p
+++ /dev/null
@@ -1 +0,0 @@
-c100-rv
\ No newline at end of file
diff --git a/lib/terminfo/c/c100-rv-4p b/lib/terminfo/c/c100-rv-4p
new file mode 100644
index 0000000..e9a0770
--- /dev/null
+++ b/lib/terminfo/c/c100-rv-4p
Binary files differ
diff --git a/lib/terminfo/c/c104 b/lib/terminfo/c/c104
deleted file mode 120000
index 72da3fd..0000000
--- a/lib/terminfo/c/c104
+++ /dev/null
@@ -1 +0,0 @@
-c100
\ No newline at end of file
diff --git a/lib/terminfo/c/c104 b/lib/terminfo/c/c104
new file mode 100644
index 0000000..e7cf571
--- /dev/null
+++ b/lib/terminfo/c/c104
Binary files differ
diff --git a/lib/terminfo/c/c108 b/lib/terminfo/c/c108
index b232759..ad192f8 100644
--- a/lib/terminfo/c/c108
+++ b/lib/terminfo/c/c108
Binary files differ
diff --git a/lib/terminfo/c/c108-4p b/lib/terminfo/c/c108-4p
index 9193ee6..290bb61 100644
--- a/lib/terminfo/c/c108-4p
+++ b/lib/terminfo/c/c108-4p
Binary files differ
diff --git a/lib/terminfo/c/c108-8p b/lib/terminfo/c/c108-8p
deleted file mode 120000
index 516b825..0000000
--- a/lib/terminfo/c/c108-8p
+++ /dev/null
@@ -1 +0,0 @@
-c108
\ No newline at end of file
diff --git a/lib/terminfo/c/c108-8p b/lib/terminfo/c/c108-8p
new file mode 100644
index 0000000..ad192f8
--- /dev/null
+++ b/lib/terminfo/c/c108-8p
Binary files differ
diff --git a/lib/terminfo/c/c108-rv b/lib/terminfo/c/c108-rv
index bdacbb1..2393161 100644
--- a/lib/terminfo/c/c108-rv
+++ b/lib/terminfo/c/c108-rv
Binary files differ
diff --git a/lib/terminfo/c/c108-rv-4p b/lib/terminfo/c/c108-rv-4p
index ca2dcc6..dcb2073 100644
--- a/lib/terminfo/c/c108-rv-4p
+++ b/lib/terminfo/c/c108-rv-4p
Binary files differ
diff --git a/lib/terminfo/c/c108-rv-8p b/lib/terminfo/c/c108-rv-8p
deleted file mode 120000
index 0f8a10b..0000000
--- a/lib/terminfo/c/c108-rv-8p
+++ /dev/null
@@ -1 +0,0 @@
-c108-rv
\ No newline at end of file
diff --git a/lib/terminfo/c/c108-rv-8p b/lib/terminfo/c/c108-rv-8p
new file mode 100644
index 0000000..2393161
--- /dev/null
+++ b/lib/terminfo/c/c108-rv-8p
Binary files differ
diff --git a/lib/terminfo/c/c108-w b/lib/terminfo/c/c108-w
index c9e0e31..ea54a6d 100644
--- a/lib/terminfo/c/c108-w
+++ b/lib/terminfo/c/c108-w
Binary files differ
diff --git a/lib/terminfo/c/c108-w-8p b/lib/terminfo/c/c108-w-8p
deleted file mode 120000
index 1473dbf..0000000
--- a/lib/terminfo/c/c108-w-8p
+++ /dev/null
@@ -1 +0,0 @@
-c108-w
\ No newline at end of file
diff --git a/lib/terminfo/c/c108-w-8p b/lib/terminfo/c/c108-w-8p
new file mode 100644
index 0000000..ea54a6d
--- /dev/null
+++ b/lib/terminfo/c/c108-w-8p
Binary files differ
diff --git a/lib/terminfo/c/c300 b/lib/terminfo/c/c300
deleted file mode 120000
index c1e191e..0000000
--- a/lib/terminfo/c/c300
+++ /dev/null
@@ -1 +0,0 @@
-contel300
\ No newline at end of file
diff --git a/lib/terminfo/c/c300 b/lib/terminfo/c/c300
new file mode 100644
index 0000000..8b4ec9c
--- /dev/null
+++ b/lib/terminfo/c/c300
Binary files differ
diff --git a/lib/terminfo/c/c301 b/lib/terminfo/c/c301
deleted file mode 120000
index cf924e8..0000000
--- a/lib/terminfo/c/c301
+++ /dev/null
@@ -1 +0,0 @@
-contel301
\ No newline at end of file
diff --git a/lib/terminfo/c/c301 b/lib/terminfo/c/c301
new file mode 100644
index 0000000..d5228f9
--- /dev/null
+++ b/lib/terminfo/c/c301
Binary files differ
diff --git a/lib/terminfo/c/c321 b/lib/terminfo/c/c321
deleted file mode 120000
index cf924e8..0000000
--- a/lib/terminfo/c/c321
+++ /dev/null
@@ -1 +0,0 @@
-contel301
\ No newline at end of file
diff --git a/lib/terminfo/c/c321 b/lib/terminfo/c/c321
new file mode 100644
index 0000000..d5228f9
--- /dev/null
+++ b/lib/terminfo/c/c321
Binary files differ
diff --git a/lib/terminfo/c/ca22851 b/lib/terminfo/c/ca22851
index 40b5cf8..0207839 100644
--- a/lib/terminfo/c/ca22851
+++ b/lib/terminfo/c/ca22851
Binary files differ
diff --git a/lib/terminfo/c/cci1 b/lib/terminfo/c/cci1
deleted file mode 120000
index fcd059f..0000000
--- a/lib/terminfo/c/cci1
+++ /dev/null
@@ -1 +0,0 @@
-cci
\ No newline at end of file
diff --git a/lib/terminfo/c/cci1 b/lib/terminfo/c/cci1
new file mode 100644
index 0000000..c99e7b0
--- /dev/null
+++ b/lib/terminfo/c/cci1
Binary files differ
diff --git a/lib/terminfo/c/cdc456 b/lib/terminfo/c/cdc456
index e9c2503..a23755e 100644
--- a/lib/terminfo/c/cdc456
+++ b/lib/terminfo/c/cdc456
Binary files differ
diff --git a/lib/terminfo/c/cdc721ll b/lib/terminfo/c/cdc721ll
index 7c18609..0cb491f 100644
--- a/lib/terminfo/c/cdc721ll
+++ b/lib/terminfo/c/cdc721ll
Binary files differ
diff --git a/lib/terminfo/c/cgc2 b/lib/terminfo/c/cgc2
deleted file mode 120000
index b1eeb13..0000000
--- a/lib/terminfo/c/cgc2
+++ /dev/null
@@ -1 +0,0 @@
-cad68-2
\ No newline at end of file
diff --git a/lib/terminfo/c/cgc2 b/lib/terminfo/c/cgc2
new file mode 100644
index 0000000..d513db5
--- /dev/null
+++ b/lib/terminfo/c/cgc2
Binary files differ
diff --git a/lib/terminfo/c/cgc3 b/lib/terminfo/c/cgc3
deleted file mode 120000
index 8068989..0000000
--- a/lib/terminfo/c/cgc3
+++ /dev/null
@@ -1 +0,0 @@
-cad68-3
\ No newline at end of file
diff --git a/lib/terminfo/c/cgc3 b/lib/terminfo/c/cgc3
new file mode 100644
index 0000000..726319e
--- /dev/null
+++ b/lib/terminfo/c/cgc3
Binary files differ
diff --git a/lib/terminfo/c/chromatics b/lib/terminfo/c/chromatics
deleted file mode 120000
index 6ae0e24..0000000
--- a/lib/terminfo/c/chromatics
+++ /dev/null
@@ -1 +0,0 @@
-cg7900
\ No newline at end of file
diff --git a/lib/terminfo/c/chromatics b/lib/terminfo/c/chromatics
new file mode 100644
index 0000000..935a1cf
--- /dev/null
+++ b/lib/terminfo/c/chromatics
Binary files differ
diff --git a/lib/terminfo/c/ci8510 b/lib/terminfo/c/ci8510
deleted file mode 120000
index 8baa85e..0000000
--- a/lib/terminfo/c/ci8510
+++ /dev/null
@@ -1 +0,0 @@
-citoh
\ No newline at end of file
diff --git a/lib/terminfo/c/ci8510 b/lib/terminfo/c/ci8510
new file mode 100644
index 0000000..2874d51
--- /dev/null
+++ b/lib/terminfo/c/ci8510
Binary files differ
diff --git a/lib/terminfo/c/cit-80 b/lib/terminfo/c/cit-80
deleted file mode 120000
index 4578e65..0000000
--- a/lib/terminfo/c/cit-80
+++ /dev/null
@@ -1 +0,0 @@
-cit80
\ No newline at end of file
diff --git a/lib/terminfo/c/cit-80 b/lib/terminfo/c/cit-80
new file mode 100644
index 0000000..c8220a8
--- /dev/null
+++ b/lib/terminfo/c/cit-80
Binary files differ
diff --git a/lib/terminfo/c/cit101 b/lib/terminfo/c/cit101
index de5aaaa..ca8e56b 100644
--- a/lib/terminfo/c/cit101
+++ b/lib/terminfo/c/cit101
Binary files differ
diff --git a/lib/terminfo/c/cit101e b/lib/terminfo/c/cit101e
index 1b6739e..9627a4d 100644
--- a/lib/terminfo/c/cit101e
+++ b/lib/terminfo/c/cit101e
Binary files differ
diff --git a/lib/terminfo/c/cit101e-132 b/lib/terminfo/c/cit101e-132
index 0a6cb40..a9f27ee 100644
--- a/lib/terminfo/c/cit101e-132
+++ b/lib/terminfo/c/cit101e-132
Binary files differ
diff --git a/lib/terminfo/c/cit101e-n b/lib/terminfo/c/cit101e-n
index 1727a04..2e2793e 100644
--- a/lib/terminfo/c/cit101e-n
+++ b/lib/terminfo/c/cit101e-n
Binary files differ
diff --git a/lib/terminfo/c/cit101e-n132 b/lib/terminfo/c/cit101e-n132
index 6683d2b..d434e0e 100644
--- a/lib/terminfo/c/cit101e-n132
+++ b/lib/terminfo/c/cit101e-n132
Binary files differ
diff --git a/lib/terminfo/c/cit101e-rv b/lib/terminfo/c/cit101e-rv
index c25901d..3392df4 100644
--- a/lib/terminfo/c/cit101e-rv
+++ b/lib/terminfo/c/cit101e-rv
Binary files differ
diff --git a/lib/terminfo/c/citc b/lib/terminfo/c/citc
deleted file mode 120000
index b21c4d0..0000000
--- a/lib/terminfo/c/citc
+++ /dev/null
@@ -1 +0,0 @@
-cit101
\ No newline at end of file
diff --git a/lib/terminfo/c/citc b/lib/terminfo/c/citc
new file mode 100644
index 0000000..ca8e56b
--- /dev/null
+++ b/lib/terminfo/c/citc
Binary files differ
diff --git a/lib/terminfo/c/citoh b/lib/terminfo/c/citoh
index 7dae7f0..2874d51 100644
--- a/lib/terminfo/c/citoh
+++ b/lib/terminfo/c/citoh
Binary files differ
diff --git a/lib/terminfo/c/citoh-ps b/lib/terminfo/c/citoh-ps
deleted file mode 120000
index 6564734..0000000
--- a/lib/terminfo/c/citoh-ps
+++ /dev/null
@@ -1 +0,0 @@
-citoh-prop
\ No newline at end of file
diff --git a/lib/terminfo/c/citoh-ps b/lib/terminfo/c/citoh-ps
new file mode 100644
index 0000000..2caacb2
--- /dev/null
+++ b/lib/terminfo/c/citoh-ps
Binary files differ
diff --git a/lib/terminfo/c/coherent b/lib/terminfo/c/coherent
deleted file mode 120000
index 9c2bc23..0000000
--- a/lib/terminfo/c/coherent
+++ /dev/null
@@ -1 +0,0 @@
-../p/pc-coherent
\ No newline at end of file
diff --git a/lib/terminfo/c/coherent b/lib/terminfo/c/coherent
new file mode 100644
index 0000000..e6e3856
--- /dev/null
+++ b/lib/terminfo/c/coherent
Binary files differ
diff --git a/lib/terminfo/c/color_xterm b/lib/terminfo/c/color_xterm
index 39db8f8..ca16eab 100644
--- a/lib/terminfo/c/color_xterm
+++ b/lib/terminfo/c/color_xterm
Binary files differ
diff --git a/lib/terminfo/c/colorscan b/lib/terminfo/c/colorscan
deleted file mode 120000
index 5c78ba4..0000000
--- a/lib/terminfo/c/colorscan
+++ /dev/null
@@ -1 +0,0 @@
-cs10
\ No newline at end of file
diff --git a/lib/terminfo/c/colorscan b/lib/terminfo/c/colorscan
new file mode 100644
index 0000000..ca8d9ed
--- /dev/null
+++ b/lib/terminfo/c/colorscan
Binary files differ
diff --git a/lib/terminfo/c/concept b/lib/terminfo/c/concept
deleted file mode 120000
index 72da3fd..0000000
--- a/lib/terminfo/c/concept
+++ /dev/null
@@ -1 +0,0 @@
-c100
\ No newline at end of file
diff --git a/lib/terminfo/c/concept b/lib/terminfo/c/concept
new file mode 100644
index 0000000..e7cf571
--- /dev/null
+++ b/lib/terminfo/c/concept
Binary files differ
diff --git a/lib/terminfo/c/concept-avt b/lib/terminfo/c/concept-avt
deleted file mode 120000
index 3e1c56c..0000000
--- a/lib/terminfo/c/concept-avt
+++ /dev/null
@@ -1 +0,0 @@
-../a/avt
\ No newline at end of file
diff --git a/lib/terminfo/c/concept-avt b/lib/terminfo/c/concept-avt
new file mode 100644
index 0000000..d38aa50
--- /dev/null
+++ b/lib/terminfo/c/concept-avt
Binary files differ
diff --git a/lib/terminfo/c/concept100 b/lib/terminfo/c/concept100
deleted file mode 120000
index 72da3fd..0000000
--- a/lib/terminfo/c/concept100
+++ /dev/null
@@ -1 +0,0 @@
-c100
\ No newline at end of file
diff --git a/lib/terminfo/c/concept100 b/lib/terminfo/c/concept100
new file mode 100644
index 0000000..e7cf571
--- /dev/null
+++ b/lib/terminfo/c/concept100
Binary files differ
diff --git a/lib/terminfo/c/concept100-rv b/lib/terminfo/c/concept100-rv
deleted file mode 120000
index 56724d7..0000000
--- a/lib/terminfo/c/concept100-rv
+++ /dev/null
@@ -1 +0,0 @@
-c100-rv
\ No newline at end of file
diff --git a/lib/terminfo/c/concept100-rv b/lib/terminfo/c/concept100-rv
new file mode 100644
index 0000000..e9a0770
--- /dev/null
+++ b/lib/terminfo/c/concept100-rv
Binary files differ
diff --git a/lib/terminfo/c/concept108 b/lib/terminfo/c/concept108
deleted file mode 120000
index 516b825..0000000
--- a/lib/terminfo/c/concept108
+++ /dev/null
@@ -1 +0,0 @@
-c108
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108 b/lib/terminfo/c/concept108
new file mode 100644
index 0000000..ad192f8
--- /dev/null
+++ b/lib/terminfo/c/concept108
Binary files differ
diff --git a/lib/terminfo/c/concept108-4p b/lib/terminfo/c/concept108-4p
deleted file mode 120000
index eed6908..0000000
--- a/lib/terminfo/c/concept108-4p
+++ /dev/null
@@ -1 +0,0 @@
-c108-4p
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108-4p b/lib/terminfo/c/concept108-4p
new file mode 100644
index 0000000..290bb61
--- /dev/null
+++ b/lib/terminfo/c/concept108-4p
Binary files differ
diff --git a/lib/terminfo/c/concept108-8p b/lib/terminfo/c/concept108-8p
deleted file mode 120000
index 516b825..0000000
--- a/lib/terminfo/c/concept108-8p
+++ /dev/null
@@ -1 +0,0 @@
-c108
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108-8p b/lib/terminfo/c/concept108-8p
new file mode 100644
index 0000000..ad192f8
--- /dev/null
+++ b/lib/terminfo/c/concept108-8p
Binary files differ
diff --git a/lib/terminfo/c/concept108-w-8 b/lib/terminfo/c/concept108-w-8
deleted file mode 120000
index 1473dbf..0000000
--- a/lib/terminfo/c/concept108-w-8
+++ /dev/null
@@ -1 +0,0 @@
-c108-w
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108-w-8 b/lib/terminfo/c/concept108-w-8
new file mode 100644
index 0000000..ea54a6d
--- /dev/null
+++ b/lib/terminfo/c/concept108-w-8
Binary files differ
diff --git a/lib/terminfo/c/concept108-w8p b/lib/terminfo/c/concept108-w8p
deleted file mode 120000
index 1473dbf..0000000
--- a/lib/terminfo/c/concept108-w8p
+++ /dev/null
@@ -1 +0,0 @@
-c108-w
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108-w8p b/lib/terminfo/c/concept108-w8p
new file mode 100644
index 0000000..ea54a6d
--- /dev/null
+++ b/lib/terminfo/c/concept108-w8p
Binary files differ
diff --git a/lib/terminfo/c/concept108rv4p b/lib/terminfo/c/concept108rv4p
deleted file mode 120000
index 9eb4754..0000000
--- a/lib/terminfo/c/concept108rv4p
+++ /dev/null
@@ -1 +0,0 @@
-c108-rv-4p
\ No newline at end of file
diff --git a/lib/terminfo/c/concept108rv4p b/lib/terminfo/c/concept108rv4p
new file mode 100644
index 0000000..dcb2073
--- /dev/null
+++ b/lib/terminfo/c/concept108rv4p
Binary files differ
diff --git a/lib/terminfo/c/cons25 b/lib/terminfo/c/cons25
index 09d473c..4043099 100644
--- a/lib/terminfo/c/cons25
+++ b/lib/terminfo/c/cons25
Binary files differ
diff --git a/lib/terminfo/c/cons25-debian b/lib/terminfo/c/cons25-debian
index b379983..52afc79 100644
--- a/lib/terminfo/c/cons25-debian
+++ b/lib/terminfo/c/cons25-debian
Binary files differ
diff --git a/lib/terminfo/c/cons25-iso-m b/lib/terminfo/c/cons25-iso-m
deleted file mode 120000
index febfe3d..0000000
--- a/lib/terminfo/c/cons25-iso-m
+++ /dev/null
@@ -1 +0,0 @@
-cons25l1-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons25-iso-m b/lib/terminfo/c/cons25-iso-m
new file mode 100644
index 0000000..fead95f
--- /dev/null
+++ b/lib/terminfo/c/cons25-iso-m
Binary files differ
diff --git a/lib/terminfo/c/cons25-iso8859 b/lib/terminfo/c/cons25-iso8859
deleted file mode 120000
index a2bc86b..0000000
--- a/lib/terminfo/c/cons25-iso8859
+++ /dev/null
@@ -1 +0,0 @@
-cons25l1
\ No newline at end of file
diff --git a/lib/terminfo/c/cons25-iso8859 b/lib/terminfo/c/cons25-iso8859
new file mode 100644
index 0000000..df81096
--- /dev/null
+++ b/lib/terminfo/c/cons25-iso8859
Binary files differ
diff --git a/lib/terminfo/c/cons25-koi8-r b/lib/terminfo/c/cons25-koi8-r
deleted file mode 120000
index 2717ed8..0000000
--- a/lib/terminfo/c/cons25-koi8-r
+++ /dev/null
@@ -1 +0,0 @@
-cons25r
\ No newline at end of file
diff --git a/lib/terminfo/c/cons25-koi8-r b/lib/terminfo/c/cons25-koi8-r
new file mode 100644
index 0000000..0cb4322
--- /dev/null
+++ b/lib/terminfo/c/cons25-koi8-r
Binary files differ
diff --git a/lib/terminfo/c/cons25-koi8r-m b/lib/terminfo/c/cons25-koi8r-m
deleted file mode 120000
index bca9e6b..0000000
--- a/lib/terminfo/c/cons25-koi8r-m
+++ /dev/null
@@ -1 +0,0 @@
-cons25r-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons25-koi8r-m b/lib/terminfo/c/cons25-koi8r-m
new file mode 100644
index 0000000..e5cab4c
--- /dev/null
+++ b/lib/terminfo/c/cons25-koi8r-m
Binary files differ
diff --git a/lib/terminfo/c/cons25-m b/lib/terminfo/c/cons25-m
index 1fb9e09..4baf284 100644
--- a/lib/terminfo/c/cons25-m
+++ b/lib/terminfo/c/cons25-m
Binary files differ
diff --git a/lib/terminfo/c/cons25l1 b/lib/terminfo/c/cons25l1
index a665c88..df81096 100644
--- a/lib/terminfo/c/cons25l1
+++ b/lib/terminfo/c/cons25l1
Binary files differ
diff --git a/lib/terminfo/c/cons25l1-m b/lib/terminfo/c/cons25l1-m
index e523d83..fead95f 100644
--- a/lib/terminfo/c/cons25l1-m
+++ b/lib/terminfo/c/cons25l1-m
Binary files differ
diff --git a/lib/terminfo/c/cons25r b/lib/terminfo/c/cons25r
index 97db1c8..0cb4322 100644
--- a/lib/terminfo/c/cons25r
+++ b/lib/terminfo/c/cons25r
Binary files differ
diff --git a/lib/terminfo/c/cons25r-m b/lib/terminfo/c/cons25r-m
index fa8a54e..e5cab4c 100644
--- a/lib/terminfo/c/cons25r-m
+++ b/lib/terminfo/c/cons25r-m
Binary files differ
diff --git a/lib/terminfo/c/cons25w b/lib/terminfo/c/cons25w
index 886114b..e3621f7 100644
--- a/lib/terminfo/c/cons25w
+++ b/lib/terminfo/c/cons25w
Binary files differ
diff --git a/lib/terminfo/c/cons30 b/lib/terminfo/c/cons30
index 492e466..44227ab 100644
--- a/lib/terminfo/c/cons30
+++ b/lib/terminfo/c/cons30
Binary files differ
diff --git a/lib/terminfo/c/cons30-m b/lib/terminfo/c/cons30-m
index 2d47a8d..35630cc 100644
--- a/lib/terminfo/c/cons30-m
+++ b/lib/terminfo/c/cons30-m
Binary files differ
diff --git a/lib/terminfo/c/cons43 b/lib/terminfo/c/cons43
index a7c0ff6..e0d6ec3 100644
--- a/lib/terminfo/c/cons43
+++ b/lib/terminfo/c/cons43
Binary files differ
diff --git a/lib/terminfo/c/cons43-m b/lib/terminfo/c/cons43-m
index 4c9883c..009a193 100644
--- a/lib/terminfo/c/cons43-m
+++ b/lib/terminfo/c/cons43-m
Binary files differ
diff --git a/lib/terminfo/c/cons50 b/lib/terminfo/c/cons50
index 49b8cf3..60c9bd0 100644
--- a/lib/terminfo/c/cons50
+++ b/lib/terminfo/c/cons50
Binary files differ
diff --git a/lib/terminfo/c/cons50-iso-m b/lib/terminfo/c/cons50-iso-m
deleted file mode 120000
index ea1dda5..0000000
--- a/lib/terminfo/c/cons50-iso-m
+++ /dev/null
@@ -1 +0,0 @@
-cons50l1-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons50-iso-m b/lib/terminfo/c/cons50-iso-m
new file mode 100644
index 0000000..4811032
--- /dev/null
+++ b/lib/terminfo/c/cons50-iso-m
Binary files differ
diff --git a/lib/terminfo/c/cons50-iso8859 b/lib/terminfo/c/cons50-iso8859
deleted file mode 120000
index 7643dd4..0000000
--- a/lib/terminfo/c/cons50-iso8859
+++ /dev/null
@@ -1 +0,0 @@
-cons50l1
\ No newline at end of file
diff --git a/lib/terminfo/c/cons50-iso8859 b/lib/terminfo/c/cons50-iso8859
new file mode 100644
index 0000000..862714a
--- /dev/null
+++ b/lib/terminfo/c/cons50-iso8859
Binary files differ
diff --git a/lib/terminfo/c/cons50-koi8r b/lib/terminfo/c/cons50-koi8r
deleted file mode 120000
index 92a0867..0000000
--- a/lib/terminfo/c/cons50-koi8r
+++ /dev/null
@@ -1 +0,0 @@
-cons50r
\ No newline at end of file
diff --git a/lib/terminfo/c/cons50-koi8r b/lib/terminfo/c/cons50-koi8r
new file mode 100644
index 0000000..06ba5dd
--- /dev/null
+++ b/lib/terminfo/c/cons50-koi8r
Binary files differ
diff --git a/lib/terminfo/c/cons50-koi8r-m b/lib/terminfo/c/cons50-koi8r-m
deleted file mode 120000
index d7ede50..0000000
--- a/lib/terminfo/c/cons50-koi8r-m
+++ /dev/null
@@ -1 +0,0 @@
-cons50r-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons50-koi8r-m b/lib/terminfo/c/cons50-koi8r-m
new file mode 100644
index 0000000..472deb4
--- /dev/null
+++ b/lib/terminfo/c/cons50-koi8r-m
Binary files differ
diff --git a/lib/terminfo/c/cons50-m b/lib/terminfo/c/cons50-m
index fbea5f1..9e0dc6b 100644
--- a/lib/terminfo/c/cons50-m
+++ b/lib/terminfo/c/cons50-m
Binary files differ
diff --git a/lib/terminfo/c/cons50l1 b/lib/terminfo/c/cons50l1
index a521893..862714a 100644
--- a/lib/terminfo/c/cons50l1
+++ b/lib/terminfo/c/cons50l1
Binary files differ
diff --git a/lib/terminfo/c/cons50l1-m b/lib/terminfo/c/cons50l1-m
index 62cd8c1..4811032 100644
--- a/lib/terminfo/c/cons50l1-m
+++ b/lib/terminfo/c/cons50l1-m
Binary files differ
diff --git a/lib/terminfo/c/cons50r b/lib/terminfo/c/cons50r
index 35e36fa..06ba5dd 100644
--- a/lib/terminfo/c/cons50r
+++ b/lib/terminfo/c/cons50r
Binary files differ
diff --git a/lib/terminfo/c/cons50r-m b/lib/terminfo/c/cons50r-m
index b6d46a7..472deb4 100644
--- a/lib/terminfo/c/cons50r-m
+++ b/lib/terminfo/c/cons50r-m
Binary files differ
diff --git a/lib/terminfo/c/cons60 b/lib/terminfo/c/cons60
index 07cedc6..7449cff 100644
--- a/lib/terminfo/c/cons60
+++ b/lib/terminfo/c/cons60
Binary files differ
diff --git a/lib/terminfo/c/cons60-iso b/lib/terminfo/c/cons60-iso
deleted file mode 120000
index 01b937a..0000000
--- a/lib/terminfo/c/cons60-iso
+++ /dev/null
@@ -1 +0,0 @@
-cons60l1
\ No newline at end of file
diff --git a/lib/terminfo/c/cons60-iso b/lib/terminfo/c/cons60-iso
new file mode 100644
index 0000000..d0c29a7
--- /dev/null
+++ b/lib/terminfo/c/cons60-iso
Binary files differ
diff --git a/lib/terminfo/c/cons60-iso-m b/lib/terminfo/c/cons60-iso-m
deleted file mode 120000
index 24cb16f..0000000
--- a/lib/terminfo/c/cons60-iso-m
+++ /dev/null
@@ -1 +0,0 @@
-cons60l1-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons60-iso-m b/lib/terminfo/c/cons60-iso-m
new file mode 100644
index 0000000..3251968
--- /dev/null
+++ b/lib/terminfo/c/cons60-iso-m
Binary files differ
diff --git a/lib/terminfo/c/cons60-koi8r b/lib/terminfo/c/cons60-koi8r
deleted file mode 120000
index 32229ee..0000000
--- a/lib/terminfo/c/cons60-koi8r
+++ /dev/null
@@ -1 +0,0 @@
-cons60r
\ No newline at end of file
diff --git a/lib/terminfo/c/cons60-koi8r b/lib/terminfo/c/cons60-koi8r
new file mode 100644
index 0000000..fa14b45
--- /dev/null
+++ b/lib/terminfo/c/cons60-koi8r
Binary files differ
diff --git a/lib/terminfo/c/cons60-koi8r-m b/lib/terminfo/c/cons60-koi8r-m
deleted file mode 120000
index 742c657..0000000
--- a/lib/terminfo/c/cons60-koi8r-m
+++ /dev/null
@@ -1 +0,0 @@
-cons60r-m
\ No newline at end of file
diff --git a/lib/terminfo/c/cons60-koi8r-m b/lib/terminfo/c/cons60-koi8r-m
new file mode 100644
index 0000000..2d06087
--- /dev/null
+++ b/lib/terminfo/c/cons60-koi8r-m
Binary files differ
diff --git a/lib/terminfo/c/cons60-m b/lib/terminfo/c/cons60-m
index 7db73de..3f2f4c5 100644
--- a/lib/terminfo/c/cons60-m
+++ b/lib/terminfo/c/cons60-m
Binary files differ
diff --git a/lib/terminfo/c/cons60l1 b/lib/terminfo/c/cons60l1
index 4d47fdb..d0c29a7 100644
--- a/lib/terminfo/c/cons60l1
+++ b/lib/terminfo/c/cons60l1
Binary files differ
diff --git a/lib/terminfo/c/cons60l1-m b/lib/terminfo/c/cons60l1-m
index f627d2b..3251968 100644
--- a/lib/terminfo/c/cons60l1-m
+++ b/lib/terminfo/c/cons60l1-m
Binary files differ
diff --git a/lib/terminfo/c/cons60r b/lib/terminfo/c/cons60r
index 844c584..fa14b45 100644
--- a/lib/terminfo/c/cons60r
+++ b/lib/terminfo/c/cons60r
Binary files differ
diff --git a/lib/terminfo/c/cons60r-m b/lib/terminfo/c/cons60r-m
index 51bb96f..2d06087 100644
--- a/lib/terminfo/c/cons60r-m
+++ b/lib/terminfo/c/cons60r-m
Binary files differ
diff --git a/lib/terminfo/c/contel320 b/lib/terminfo/c/contel320
deleted file mode 120000
index c1e191e..0000000
--- a/lib/terminfo/c/contel320
+++ /dev/null
@@ -1 +0,0 @@
-contel300
\ No newline at end of file
diff --git a/lib/terminfo/c/contel320 b/lib/terminfo/c/contel320
new file mode 100644
index 0000000..8b4ec9c
--- /dev/null
+++ b/lib/terminfo/c/contel320
Binary files differ
diff --git a/lib/terminfo/c/contel321 b/lib/terminfo/c/contel321
deleted file mode 120000
index cf924e8..0000000
--- a/lib/terminfo/c/contel321
+++ /dev/null
@@ -1 +0,0 @@
-contel301
\ No newline at end of file
diff --git a/lib/terminfo/c/contel321 b/lib/terminfo/c/contel321
new file mode 100644
index 0000000..d5228f9
--- /dev/null
+++ b/lib/terminfo/c/contel321
Binary files differ
diff --git a/lib/terminfo/c/contour b/lib/terminfo/c/contour
new file mode 100644
index 0000000..0ab7d43
--- /dev/null
+++ b/lib/terminfo/c/contour
Binary files differ
diff --git a/lib/terminfo/c/contour-direct b/lib/terminfo/c/contour-direct
new file mode 100644
index 0000000..4bc742c
--- /dev/null
+++ b/lib/terminfo/c/contour-direct
Binary files differ
diff --git a/lib/terminfo/c/contour-latest b/lib/terminfo/c/contour-latest
new file mode 100644
index 0000000..0ab7d43
--- /dev/null
+++ b/lib/terminfo/c/contour-latest
Binary files differ
diff --git a/lib/terminfo/c/cops b/lib/terminfo/c/cops
deleted file mode 120000
index 0a040f0..0000000
--- a/lib/terminfo/c/cops
+++ /dev/null
@@ -1 +0,0 @@
-cops10
\ No newline at end of file
diff --git a/lib/terminfo/c/cops b/lib/terminfo/c/cops
new file mode 100644
index 0000000..2370fc9
--- /dev/null
+++ b/lib/terminfo/c/cops
Binary files differ
diff --git a/lib/terminfo/c/cops-10 b/lib/terminfo/c/cops-10
deleted file mode 120000
index 0a040f0..0000000
--- a/lib/terminfo/c/cops-10
+++ /dev/null
@@ -1 +0,0 @@
-cops10
\ No newline at end of file
diff --git a/lib/terminfo/c/cops-10 b/lib/terminfo/c/cops-10
new file mode 100644
index 0000000..2370fc9
--- /dev/null
+++ b/lib/terminfo/c/cops-10
Binary files differ
diff --git a/lib/terminfo/c/crt b/lib/terminfo/c/crt
index 1694855..eb61f5e 100644
--- a/lib/terminfo/c/crt
+++ b/lib/terminfo/c/crt
Binary files differ
diff --git a/lib/terminfo/c/crt-vt220 b/lib/terminfo/c/crt-vt220
deleted file mode 120000
index 5829b58..0000000
--- a/lib/terminfo/c/crt-vt220
+++ /dev/null
@@ -1 +0,0 @@
-crt
\ No newline at end of file
diff --git a/lib/terminfo/c/crt-vt220 b/lib/terminfo/c/crt-vt220
new file mode 100644
index 0000000..eb61f5e
--- /dev/null
+++ b/lib/terminfo/c/crt-vt220
Binary files differ
diff --git a/lib/terminfo/c/ct82 b/lib/terminfo/c/ct82
deleted file mode 120000
index a45d915..0000000
--- a/lib/terminfo/c/ct82
+++ /dev/null
@@ -1 +0,0 @@
-../s/swtp
\ No newline at end of file
diff --git a/lib/terminfo/c/ct82 b/lib/terminfo/c/ct82
new file mode 100644
index 0000000..3e68f86
--- /dev/null
+++ b/lib/terminfo/c/ct82
Binary files differ
diff --git a/lib/terminfo/c/ct8500 b/lib/terminfo/c/ct8500
index 9522a78..53dbac5 100644
--- a/lib/terminfo/c/ct8500
+++ b/lib/terminfo/c/ct8500
Binary files differ
diff --git a/lib/terminfo/c/cx b/lib/terminfo/c/cx
deleted file mode 120000
index f29d542..0000000
--- a/lib/terminfo/c/cx
+++ /dev/null
@@ -1 +0,0 @@
-color_xterm
\ No newline at end of file
diff --git a/lib/terminfo/c/cx b/lib/terminfo/c/cx
new file mode 100644
index 0000000..ca16eab
--- /dev/null
+++ b/lib/terminfo/c/cx
Binary files differ
diff --git a/lib/terminfo/c/cx100 b/lib/terminfo/c/cx100
deleted file mode 120000
index f29d542..0000000
--- a/lib/terminfo/c/cx100
+++ /dev/null
@@ -1 +0,0 @@
-color_xterm
\ No newline at end of file
diff --git a/lib/terminfo/c/cx100 b/lib/terminfo/c/cx100
new file mode 100644
index 0000000..ca16eab
--- /dev/null
+++ b/lib/terminfo/c/cx100
Binary files differ
diff --git a/lib/terminfo/c/cyb110 b/lib/terminfo/c/cyb110
index 9f62ce5..b1763bf 100644
--- a/lib/terminfo/c/cyb110
+++ b/lib/terminfo/c/cyb110
Binary files differ
diff --git a/lib/terminfo/c/cyb83 b/lib/terminfo/c/cyb83
index 11e1f9f..b64c620 100644
--- a/lib/terminfo/c/cyb83
+++ b/lib/terminfo/c/cyb83
Binary files differ
diff --git a/lib/terminfo/c/cygwin b/lib/terminfo/c/cygwin
index 56560d2..8219fa6 100644
--- a/lib/terminfo/c/cygwin
+++ b/lib/terminfo/c/cygwin
Binary files differ
diff --git a/lib/terminfo/c/cygwinB19 b/lib/terminfo/c/cygwinB19
index 94df684..4831774 100644
--- a/lib/terminfo/c/cygwinB19
+++ b/lib/terminfo/c/cygwinB19
Binary files differ
diff --git a/lib/terminfo/c/cygwinDBG b/lib/terminfo/c/cygwinDBG
index 55fab66..5cf2f22 100644
--- a/lib/terminfo/c/cygwinDBG
+++ b/lib/terminfo/c/cygwinDBG
Binary files differ
diff --git a/lib/terminfo/d/d132 b/lib/terminfo/d/d132
index e566750..84a24b9 100644
--- a/lib/terminfo/d/d132
+++ b/lib/terminfo/d/d132
Binary files differ
diff --git a/lib/terminfo/d/d2 b/lib/terminfo/d/d2
deleted file mode 120000
index 286381a..0000000
--- a/lib/terminfo/d/d2
+++ /dev/null
@@ -1 +0,0 @@
-dg6053
\ No newline at end of file
diff --git a/lib/terminfo/d/d2 b/lib/terminfo/d/d2
new file mode 100644
index 0000000..ee16edb
--- /dev/null
+++ b/lib/terminfo/d/d2
Binary files differ
diff --git a/lib/terminfo/d/d2-dg b/lib/terminfo/d/d2-dg
deleted file mode 120000
index 286381a..0000000
--- a/lib/terminfo/d/d2-dg
+++ /dev/null
@@ -1 +0,0 @@
-dg6053
\ No newline at end of file
diff --git a/lib/terminfo/d/d2-dg b/lib/terminfo/d/d2-dg
new file mode 100644
index 0000000..ee16edb
--- /dev/null
+++ b/lib/terminfo/d/d2-dg
Binary files differ
diff --git a/lib/terminfo/d/d200-dg b/lib/terminfo/d/d200-dg
deleted file mode 120000
index 4b342d9..0000000
--- a/lib/terminfo/d/d200-dg
+++ /dev/null
@@ -1 +0,0 @@
-d200
\ No newline at end of file
diff --git a/lib/terminfo/d/d200-dg b/lib/terminfo/d/d200-dg
new file mode 100644
index 0000000..5544606
--- /dev/null
+++ b/lib/terminfo/d/d200-dg
Binary files differ
diff --git a/lib/terminfo/d/d214 b/lib/terminfo/d/d214
deleted file mode 120000
index 3e23706..0000000
--- a/lib/terminfo/d/d214
+++ /dev/null
@@ -1 +0,0 @@
-d210
\ No newline at end of file
diff --git a/lib/terminfo/d/d214 b/lib/terminfo/d/d214
new file mode 100644
index 0000000..3e8242a
--- /dev/null
+++ b/lib/terminfo/d/d214
Binary files differ
diff --git a/lib/terminfo/d/d214-dg b/lib/terminfo/d/d214-dg
deleted file mode 120000
index eebcad1..0000000
--- a/lib/terminfo/d/d214-dg
+++ /dev/null
@@ -1 +0,0 @@
-d210-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d214-dg b/lib/terminfo/d/d214-dg
new file mode 100644
index 0000000..6d1e831
--- /dev/null
+++ b/lib/terminfo/d/d214-dg
Binary files differ
diff --git a/lib/terminfo/d/d215 b/lib/terminfo/d/d215
deleted file mode 120000
index 486701b..0000000
--- a/lib/terminfo/d/d215
+++ /dev/null
@@ -1 +0,0 @@
-d211
\ No newline at end of file
diff --git a/lib/terminfo/d/d215 b/lib/terminfo/d/d215
new file mode 100644
index 0000000..10fd184
--- /dev/null
+++ b/lib/terminfo/d/d215
Binary files differ
diff --git a/lib/terminfo/d/d215-7b b/lib/terminfo/d/d215-7b
deleted file mode 120000
index 7dd8dc3..0000000
--- a/lib/terminfo/d/d215-7b
+++ /dev/null
@@ -1 +0,0 @@
-d211-7b
\ No newline at end of file
diff --git a/lib/terminfo/d/d215-7b b/lib/terminfo/d/d215-7b
new file mode 100644
index 0000000..0e61fe9
--- /dev/null
+++ b/lib/terminfo/d/d215-7b
Binary files differ
diff --git a/lib/terminfo/d/d215-dg b/lib/terminfo/d/d215-dg
deleted file mode 120000
index 0faccec..0000000
--- a/lib/terminfo/d/d215-dg
+++ /dev/null
@@ -1 +0,0 @@
-d211-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d215-dg b/lib/terminfo/d/d215-dg
new file mode 100644
index 0000000..a0ff6fc
--- /dev/null
+++ b/lib/terminfo/d/d215-dg
Binary files differ
diff --git a/lib/terminfo/d/d216+ b/lib/terminfo/d/d216+
deleted file mode 120000
index c012fa9..0000000
--- a/lib/terminfo/d/d216+
+++ /dev/null
@@ -1 +0,0 @@
-d216-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d216+ b/lib/terminfo/d/d216+
new file mode 100644
index 0000000..c4c16b4
--- /dev/null
+++ b/lib/terminfo/d/d216+
Binary files differ
diff --git a/lib/terminfo/d/d216+25 b/lib/terminfo/d/d216+25
deleted file mode 120000
index 0228554..0000000
--- a/lib/terminfo/d/d216+25
+++ /dev/null
@@ -1 +0,0 @@
-d216-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d216+25 b/lib/terminfo/d/d216+25
new file mode 100644
index 0000000..faf415a
--- /dev/null
+++ b/lib/terminfo/d/d216+25
Binary files differ
diff --git a/lib/terminfo/d/d216+dg b/lib/terminfo/d/d216+dg
deleted file mode 120000
index b2695b4..0000000
--- a/lib/terminfo/d/d216+dg
+++ /dev/null
@@ -1 +0,0 @@
-d216-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d216+dg b/lib/terminfo/d/d216+dg
new file mode 100644
index 0000000..5b3edb1
--- /dev/null
+++ b/lib/terminfo/d/d216+dg
Binary files differ
diff --git a/lib/terminfo/d/d216e+ b/lib/terminfo/d/d216e+
deleted file mode 120000
index c012fa9..0000000
--- a/lib/terminfo/d/d216e+
+++ /dev/null
@@ -1 +0,0 @@
-d216-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d216e+ b/lib/terminfo/d/d216e+
new file mode 100644
index 0000000..c4c16b4
--- /dev/null
+++ b/lib/terminfo/d/d216e+
Binary files differ
diff --git a/lib/terminfo/d/d216e+dg b/lib/terminfo/d/d216e+dg
deleted file mode 120000
index b2695b4..0000000
--- a/lib/terminfo/d/d216e+dg
+++ /dev/null
@@ -1 +0,0 @@
-d216-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d216e+dg b/lib/terminfo/d/d216e+dg
new file mode 100644
index 0000000..5b3edb1
--- /dev/null
+++ b/lib/terminfo/d/d216e+dg
Binary files differ
diff --git a/lib/terminfo/d/d216e-dg b/lib/terminfo/d/d216e-dg
deleted file mode 120000
index b2695b4..0000000
--- a/lib/terminfo/d/d216e-dg
+++ /dev/null
@@ -1 +0,0 @@
-d216-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d216e-dg b/lib/terminfo/d/d216e-dg
new file mode 100644
index 0000000..5b3edb1
--- /dev/null
+++ b/lib/terminfo/d/d216e-dg
Binary files differ
diff --git a/lib/terminfo/d/d216e-unix b/lib/terminfo/d/d216e-unix
deleted file mode 120000
index c012fa9..0000000
--- a/lib/terminfo/d/d216e-unix
+++ /dev/null
@@ -1 +0,0 @@
-d216-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d216e-unix b/lib/terminfo/d/d216e-unix
new file mode 100644
index 0000000..c4c16b4
--- /dev/null
+++ b/lib/terminfo/d/d216e-unix
Binary files differ
diff --git a/lib/terminfo/d/d217-dg b/lib/terminfo/d/d217-dg
deleted file mode 120000
index b2695b4..0000000
--- a/lib/terminfo/d/d217-dg
+++ /dev/null
@@ -1 +0,0 @@
-d216-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d217-dg b/lib/terminfo/d/d217-dg
new file mode 100644
index 0000000..5b3edb1
--- /dev/null
+++ b/lib/terminfo/d/d217-dg
Binary files differ
diff --git a/lib/terminfo/d/d230 b/lib/terminfo/d/d230
deleted file mode 120000
index afb7c05..0000000
--- a/lib/terminfo/d/d230
+++ /dev/null
@@ -1 +0,0 @@
-d230c
\ No newline at end of file
diff --git a/lib/terminfo/d/d230 b/lib/terminfo/d/d230
new file mode 100644
index 0000000..daa8ef2
--- /dev/null
+++ b/lib/terminfo/d/d230
Binary files differ
diff --git a/lib/terminfo/d/d230-dg b/lib/terminfo/d/d230-dg
deleted file mode 120000
index 72f6328..0000000
--- a/lib/terminfo/d/d230-dg
+++ /dev/null
@@ -1 +0,0 @@
-d230c-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d230-dg b/lib/terminfo/d/d230-dg
new file mode 100644
index 0000000..48bc33a
--- /dev/null
+++ b/lib/terminfo/d/d230-dg
Binary files differ
diff --git a/lib/terminfo/d/d230c b/lib/terminfo/d/d230c
index e1de0d4..daa8ef2 100644
--- a/lib/terminfo/d/d230c
+++ b/lib/terminfo/d/d230c
Binary files differ
diff --git a/lib/terminfo/d/d400-dg b/lib/terminfo/d/d400-dg
deleted file mode 120000
index 37312c8..0000000
--- a/lib/terminfo/d/d400-dg
+++ /dev/null
@@ -1 +0,0 @@
-d400
\ No newline at end of file
diff --git a/lib/terminfo/d/d400-dg b/lib/terminfo/d/d400-dg
new file mode 100644
index 0000000..f604db9
--- /dev/null
+++ b/lib/terminfo/d/d400-dg
Binary files differ
diff --git a/lib/terminfo/d/d410-7b b/lib/terminfo/d/d410-7b
index 2c18a43..4cdb866 100644
--- a/lib/terminfo/d/d410-7b
+++ b/lib/terminfo/d/d410-7b
Binary files differ
diff --git a/lib/terminfo/d/d410-7b-w b/lib/terminfo/d/d410-7b-w
index 8059cf6..c88667c 100644
--- a/lib/terminfo/d/d410-7b-w
+++ b/lib/terminfo/d/d410-7b-w
Binary files differ
diff --git a/lib/terminfo/d/d411 b/lib/terminfo/d/d411
deleted file mode 120000
index 2d58217..0000000
--- a/lib/terminfo/d/d411
+++ /dev/null
@@ -1 +0,0 @@
-d410
\ No newline at end of file
diff --git a/lib/terminfo/d/d411 b/lib/terminfo/d/d411
new file mode 100644
index 0000000..d395550
--- /dev/null
+++ b/lib/terminfo/d/d411
Binary files differ
diff --git a/lib/terminfo/d/d411-7b b/lib/terminfo/d/d411-7b
deleted file mode 120000
index ede81c4..0000000
--- a/lib/terminfo/d/d411-7b
+++ /dev/null
@@ -1 +0,0 @@
-d410-7b
\ No newline at end of file
diff --git a/lib/terminfo/d/d411-7b b/lib/terminfo/d/d411-7b
new file mode 100644
index 0000000..4cdb866
--- /dev/null
+++ b/lib/terminfo/d/d411-7b
Binary files differ
diff --git a/lib/terminfo/d/d411-7b-w b/lib/terminfo/d/d411-7b-w
deleted file mode 120000
index f8db00f..0000000
--- a/lib/terminfo/d/d411-7b-w
+++ /dev/null
@@ -1 +0,0 @@
-d410-7b-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d411-7b-w b/lib/terminfo/d/d411-7b-w
new file mode 100644
index 0000000..c88667c
--- /dev/null
+++ b/lib/terminfo/d/d411-7b-w
Binary files differ
diff --git a/lib/terminfo/d/d411-dg b/lib/terminfo/d/d411-dg
deleted file mode 120000
index 057bd9f..0000000
--- a/lib/terminfo/d/d411-dg
+++ /dev/null
@@ -1 +0,0 @@
-d410-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d411-dg b/lib/terminfo/d/d411-dg
new file mode 100644
index 0000000..13727ca
--- /dev/null
+++ b/lib/terminfo/d/d411-dg
Binary files differ
diff --git a/lib/terminfo/d/d411-w b/lib/terminfo/d/d411-w
deleted file mode 120000
index a55cca5..0000000
--- a/lib/terminfo/d/d411-w
+++ /dev/null
@@ -1 +0,0 @@
-d410-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d411-w b/lib/terminfo/d/d411-w
new file mode 100644
index 0000000..b7ffad0
--- /dev/null
+++ b/lib/terminfo/d/d411-w
Binary files differ
diff --git a/lib/terminfo/d/d412+ b/lib/terminfo/d/d412+
deleted file mode 120000
index 5bf52b2..0000000
--- a/lib/terminfo/d/d412+
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+ b/lib/terminfo/d/d412+
new file mode 100644
index 0000000..2b44c59
--- /dev/null
+++ b/lib/terminfo/d/d412+
Binary files differ
diff --git a/lib/terminfo/d/d412+25 b/lib/terminfo/d/d412+25
deleted file mode 120000
index e8b0109..0000000
--- a/lib/terminfo/d/d412+25
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+25 b/lib/terminfo/d/d412+25
new file mode 100644
index 0000000..35535f5
--- /dev/null
+++ b/lib/terminfo/d/d412+25
Binary files differ
diff --git a/lib/terminfo/d/d412+dg b/lib/terminfo/d/d412+dg
deleted file mode 120000
index 552174d..0000000
--- a/lib/terminfo/d/d412+dg
+++ /dev/null
@@ -1 +0,0 @@
-d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+dg b/lib/terminfo/d/d412+dg
new file mode 100644
index 0000000..11f5601
--- /dev/null
+++ b/lib/terminfo/d/d412+dg
Binary files differ
diff --git a/lib/terminfo/d/d412+s b/lib/terminfo/d/d412+s
deleted file mode 120000
index 0cea892..0000000
--- a/lib/terminfo/d/d412+s
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+s b/lib/terminfo/d/d412+s
new file mode 100644
index 0000000..ba50cb6
--- /dev/null
+++ b/lib/terminfo/d/d412+s
Binary files differ
diff --git a/lib/terminfo/d/d412+sr b/lib/terminfo/d/d412+sr
deleted file mode 120000
index b6ac052..0000000
--- a/lib/terminfo/d/d412+sr
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+sr b/lib/terminfo/d/d412+sr
new file mode 100644
index 0000000..206aa74
--- /dev/null
+++ b/lib/terminfo/d/d412+sr
Binary files differ
diff --git a/lib/terminfo/d/d412+w b/lib/terminfo/d/d412+w
deleted file mode 120000
index e524bb3..0000000
--- a/lib/terminfo/d/d412+w
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d412+w b/lib/terminfo/d/d412+w
new file mode 100644
index 0000000..f2ffa2b
--- /dev/null
+++ b/lib/terminfo/d/d412+w
Binary files differ
diff --git a/lib/terminfo/d/d413-dg b/lib/terminfo/d/d413-dg
deleted file mode 120000
index 552174d..0000000
--- a/lib/terminfo/d/d413-dg
+++ /dev/null
@@ -1 +0,0 @@
-d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d413-dg b/lib/terminfo/d/d413-dg
new file mode 100644
index 0000000..11f5601
--- /dev/null
+++ b/lib/terminfo/d/d413-dg
Binary files differ
diff --git a/lib/terminfo/d/d430-dg b/lib/terminfo/d/d430-dg
deleted file mode 120000
index 24b5c1e..0000000
--- a/lib/terminfo/d/d430-dg
+++ /dev/null
@@ -1 +0,0 @@
-d430c-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-dg b/lib/terminfo/d/d430-dg
new file mode 100644
index 0000000..5fa5997
--- /dev/null
+++ b/lib/terminfo/d/d430-dg
Binary files differ
diff --git a/lib/terminfo/d/d430-dg-ccc b/lib/terminfo/d/d430-dg-ccc
deleted file mode 120000
index 8683d87..0000000
--- a/lib/terminfo/d/d430-dg-ccc
+++ /dev/null
@@ -1 +0,0 @@
-d430c-dg-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-dg-ccc b/lib/terminfo/d/d430-dg-ccc
new file mode 100644
index 0000000..9305fc1
--- /dev/null
+++ b/lib/terminfo/d/d430-dg-ccc
Binary files differ
diff --git a/lib/terminfo/d/d430-unix b/lib/terminfo/d/d430-unix
deleted file mode 120000
index 1f480c0..0000000
--- a/lib/terminfo/d/d430-unix
+++ /dev/null
@@ -1 +0,0 @@
-d430c-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix b/lib/terminfo/d/d430-unix
new file mode 100644
index 0000000..0035471
--- /dev/null
+++ b/lib/terminfo/d/d430-unix
Binary files differ
diff --git a/lib/terminfo/d/d430-unix-25 b/lib/terminfo/d/d430-unix-25
deleted file mode 120000
index 5f1ccb9..0000000
--- a/lib/terminfo/d/d430-unix-25
+++ /dev/null
@@ -1 +0,0 @@
-d430c-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-25 b/lib/terminfo/d/d430-unix-25
new file mode 100644
index 0000000..3dc6bb8
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-25
Binary files differ
diff --git a/lib/terminfo/d/d430-unix-25-ccc b/lib/terminfo/d/d430-unix-25-ccc
deleted file mode 120000
index 7c116f1..0000000
--- a/lib/terminfo/d/d430-unix-25-ccc
+++ /dev/null
@@ -1 +0,0 @@
-d430c-unix-25-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-25-ccc b/lib/terminfo/d/d430-unix-25-ccc
new file mode 100644
index 0000000..ac3b8fe
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-25-ccc
Binary files differ
diff --git a/lib/terminfo/d/d430-unix-ccc b/lib/terminfo/d/d430-unix-ccc
deleted file mode 120000
index 9205ff2..0000000
--- a/lib/terminfo/d/d430-unix-ccc
+++ /dev/null
@@ -1 +0,0 @@
-d430c-unix-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-ccc b/lib/terminfo/d/d430-unix-ccc
new file mode 100644
index 0000000..23880b4
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-ccc
Binary files differ
diff --git a/lib/terminfo/d/d430-unix-s b/lib/terminfo/d/d430-unix-s
deleted file mode 120000
index 442d19e..0000000
--- a/lib/terminfo/d/d430-unix-s
+++ /dev/null
@@ -1 +0,0 @@
-d430c-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-s b/lib/terminfo/d/d430-unix-s
new file mode 100644
index 0000000..f2a7372
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-s
Binary files differ
diff --git a/lib/terminfo/d/d430-unix-s-ccc b/lib/terminfo/d/d430-unix-s-ccc
deleted file mode 120000
index 438ca3a..0000000
--- a/lib/terminfo/d/d430-unix-s-ccc
+++ /dev/null
@@ -1 +0,0 @@
-d430c-unix-s-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-s-ccc b/lib/terminfo/d/d430-unix-s-ccc
new file mode 100644
index 0000000..9846dc9
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-s-ccc
Binary files differ
diff --git a/lib/terminfo/d/d430-unix-sr b/lib/terminfo/d/d430-unix-sr
deleted file mode 120000
index e4417fa..0000000
--- a/lib/terminfo/d/d430-unix-sr
+++ /dev/null
@@ -1 +0,0 @@
-d430c-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-sr b/lib/terminfo/d/d430-unix-sr
new file mode 100644
index 0000000..8741b2c
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-sr
Binary files differ
diff --git a/lib/terminfo/d/d430-unix-sr-ccc b/lib/terminfo/d/d430-unix-sr-ccc
deleted file mode 120000
index 38a4ee4..0000000
--- a/lib/terminfo/d/d430-unix-sr-ccc
+++ /dev/null
@@ -1 +0,0 @@
-d430c-unix-sr-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-sr-ccc b/lib/terminfo/d/d430-unix-sr-ccc
new file mode 100644
index 0000000..7628661
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-sr-ccc
Binary files differ
diff --git a/lib/terminfo/d/d430-unix-w b/lib/terminfo/d/d430-unix-w
deleted file mode 120000
index 732aef2..0000000
--- a/lib/terminfo/d/d430-unix-w
+++ /dev/null
@@ -1 +0,0 @@
-d430c-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-w b/lib/terminfo/d/d430-unix-w
new file mode 100644
index 0000000..b259b4c
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-w
Binary files differ
diff --git a/lib/terminfo/d/d430-unix-w-ccc b/lib/terminfo/d/d430-unix-w-ccc
deleted file mode 120000
index 8e040fb..0000000
--- a/lib/terminfo/d/d430-unix-w-ccc
+++ /dev/null
@@ -1 +0,0 @@
-d430c-unix-w-ccc
\ No newline at end of file
diff --git a/lib/terminfo/d/d430-unix-w-ccc b/lib/terminfo/d/d430-unix-w-ccc
new file mode 100644
index 0000000..49f6e34
--- /dev/null
+++ b/lib/terminfo/d/d430-unix-w-ccc
Binary files differ
diff --git a/lib/terminfo/d/d450 b/lib/terminfo/d/d450
deleted file mode 120000
index 37312c8..0000000
--- a/lib/terminfo/d/d450
+++ /dev/null
@@ -1 +0,0 @@
-d400
\ No newline at end of file
diff --git a/lib/terminfo/d/d450 b/lib/terminfo/d/d450
new file mode 100644
index 0000000..f604db9
--- /dev/null
+++ b/lib/terminfo/d/d450
Binary files differ
diff --git a/lib/terminfo/d/d450-dg b/lib/terminfo/d/d450-dg
deleted file mode 120000
index 37312c8..0000000
--- a/lib/terminfo/d/d450-dg
+++ /dev/null
@@ -1 +0,0 @@
-d400
\ No newline at end of file
diff --git a/lib/terminfo/d/d450-dg b/lib/terminfo/d/d450-dg
new file mode 100644
index 0000000..f604db9
--- /dev/null
+++ b/lib/terminfo/d/d450-dg
Binary files differ
diff --git a/lib/terminfo/d/d460 b/lib/terminfo/d/d460
deleted file mode 120000
index 2d58217..0000000
--- a/lib/terminfo/d/d460
+++ /dev/null
@@ -1 +0,0 @@
-d410
\ No newline at end of file
diff --git a/lib/terminfo/d/d460 b/lib/terminfo/d/d460
new file mode 100644
index 0000000..d395550
--- /dev/null
+++ b/lib/terminfo/d/d460
Binary files differ
diff --git a/lib/terminfo/d/d460-7b b/lib/terminfo/d/d460-7b
deleted file mode 120000
index ede81c4..0000000
--- a/lib/terminfo/d/d460-7b
+++ /dev/null
@@ -1 +0,0 @@
-d410-7b
\ No newline at end of file
diff --git a/lib/terminfo/d/d460-7b b/lib/terminfo/d/d460-7b
new file mode 100644
index 0000000..4cdb866
--- /dev/null
+++ b/lib/terminfo/d/d460-7b
Binary files differ
diff --git a/lib/terminfo/d/d460-7b-w b/lib/terminfo/d/d460-7b-w
deleted file mode 120000
index f8db00f..0000000
--- a/lib/terminfo/d/d460-7b-w
+++ /dev/null
@@ -1 +0,0 @@
-d410-7b-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d460-7b-w b/lib/terminfo/d/d460-7b-w
new file mode 100644
index 0000000..c88667c
--- /dev/null
+++ b/lib/terminfo/d/d460-7b-w
Binary files differ
diff --git a/lib/terminfo/d/d460-dg b/lib/terminfo/d/d460-dg
deleted file mode 120000
index 057bd9f..0000000
--- a/lib/terminfo/d/d460-dg
+++ /dev/null
@@ -1 +0,0 @@
-d410-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d460-dg b/lib/terminfo/d/d460-dg
new file mode 100644
index 0000000..13727ca
--- /dev/null
+++ b/lib/terminfo/d/d460-dg
Binary files differ
diff --git a/lib/terminfo/d/d460-w b/lib/terminfo/d/d460-w
deleted file mode 120000
index a55cca5..0000000
--- a/lib/terminfo/d/d460-w
+++ /dev/null
@@ -1 +0,0 @@
-d410-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d460-w b/lib/terminfo/d/d460-w
new file mode 100644
index 0000000..b7ffad0
--- /dev/null
+++ b/lib/terminfo/d/d460-w
Binary files differ
diff --git a/lib/terminfo/d/d461 b/lib/terminfo/d/d461
deleted file mode 120000
index 2d58217..0000000
--- a/lib/terminfo/d/d461
+++ /dev/null
@@ -1 +0,0 @@
-d410
\ No newline at end of file
diff --git a/lib/terminfo/d/d461 b/lib/terminfo/d/d461
new file mode 100644
index 0000000..d395550
--- /dev/null
+++ b/lib/terminfo/d/d461
Binary files differ
diff --git a/lib/terminfo/d/d461-7b b/lib/terminfo/d/d461-7b
deleted file mode 120000
index ede81c4..0000000
--- a/lib/terminfo/d/d461-7b
+++ /dev/null
@@ -1 +0,0 @@
-d410-7b
\ No newline at end of file
diff --git a/lib/terminfo/d/d461-7b b/lib/terminfo/d/d461-7b
new file mode 100644
index 0000000..4cdb866
--- /dev/null
+++ b/lib/terminfo/d/d461-7b
Binary files differ
diff --git a/lib/terminfo/d/d461-7b-w b/lib/terminfo/d/d461-7b-w
deleted file mode 120000
index f8db00f..0000000
--- a/lib/terminfo/d/d461-7b-w
+++ /dev/null
@@ -1 +0,0 @@
-d410-7b-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d461-7b-w b/lib/terminfo/d/d461-7b-w
new file mode 100644
index 0000000..c88667c
--- /dev/null
+++ b/lib/terminfo/d/d461-7b-w
Binary files differ
diff --git a/lib/terminfo/d/d461-dg b/lib/terminfo/d/d461-dg
deleted file mode 120000
index 057bd9f..0000000
--- a/lib/terminfo/d/d461-dg
+++ /dev/null
@@ -1 +0,0 @@
-d410-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d461-dg b/lib/terminfo/d/d461-dg
new file mode 100644
index 0000000..13727ca
--- /dev/null
+++ b/lib/terminfo/d/d461-dg
Binary files differ
diff --git a/lib/terminfo/d/d461-w b/lib/terminfo/d/d461-w
deleted file mode 120000
index a55cca5..0000000
--- a/lib/terminfo/d/d461-w
+++ /dev/null
@@ -1 +0,0 @@
-d410-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d461-w b/lib/terminfo/d/d461-w
new file mode 100644
index 0000000..b7ffad0
--- /dev/null
+++ b/lib/terminfo/d/d461-w
Binary files differ
diff --git a/lib/terminfo/d/d462+ b/lib/terminfo/d/d462+
deleted file mode 120000
index 5bf52b2..0000000
--- a/lib/terminfo/d/d462+
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+ b/lib/terminfo/d/d462+
new file mode 100644
index 0000000..2b44c59
--- /dev/null
+++ b/lib/terminfo/d/d462+
Binary files differ
diff --git a/lib/terminfo/d/d462+25 b/lib/terminfo/d/d462+25
deleted file mode 120000
index e8b0109..0000000
--- a/lib/terminfo/d/d462+25
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+25 b/lib/terminfo/d/d462+25
new file mode 100644
index 0000000..35535f5
--- /dev/null
+++ b/lib/terminfo/d/d462+25
Binary files differ
diff --git a/lib/terminfo/d/d462+dg b/lib/terminfo/d/d462+dg
deleted file mode 120000
index 552174d..0000000
--- a/lib/terminfo/d/d462+dg
+++ /dev/null
@@ -1 +0,0 @@
-d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+dg b/lib/terminfo/d/d462+dg
new file mode 100644
index 0000000..11f5601
--- /dev/null
+++ b/lib/terminfo/d/d462+dg
Binary files differ
diff --git a/lib/terminfo/d/d462+s b/lib/terminfo/d/d462+s
deleted file mode 120000
index 0cea892..0000000
--- a/lib/terminfo/d/d462+s
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+s b/lib/terminfo/d/d462+s
new file mode 100644
index 0000000..ba50cb6
--- /dev/null
+++ b/lib/terminfo/d/d462+s
Binary files differ
diff --git a/lib/terminfo/d/d462+sr b/lib/terminfo/d/d462+sr
deleted file mode 120000
index b6ac052..0000000
--- a/lib/terminfo/d/d462+sr
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+sr b/lib/terminfo/d/d462+sr
new file mode 100644
index 0000000..206aa74
--- /dev/null
+++ b/lib/terminfo/d/d462+sr
Binary files differ
diff --git a/lib/terminfo/d/d462+w b/lib/terminfo/d/d462+w
deleted file mode 120000
index e524bb3..0000000
--- a/lib/terminfo/d/d462+w
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d462+w b/lib/terminfo/d/d462+w
new file mode 100644
index 0000000..f2ffa2b
--- /dev/null
+++ b/lib/terminfo/d/d462+w
Binary files differ
diff --git a/lib/terminfo/d/d462-dg b/lib/terminfo/d/d462-dg
deleted file mode 120000
index 552174d..0000000
--- a/lib/terminfo/d/d462-dg
+++ /dev/null
@@ -1 +0,0 @@
-d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-dg b/lib/terminfo/d/d462-dg
new file mode 100644
index 0000000..11f5601
--- /dev/null
+++ b/lib/terminfo/d/d462-dg
Binary files differ
diff --git a/lib/terminfo/d/d462-unix b/lib/terminfo/d/d462-unix
deleted file mode 120000
index 5bf52b2..0000000
--- a/lib/terminfo/d/d462-unix
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-unix b/lib/terminfo/d/d462-unix
new file mode 100644
index 0000000..2b44c59
--- /dev/null
+++ b/lib/terminfo/d/d462-unix
Binary files differ
diff --git a/lib/terminfo/d/d462-unix-25 b/lib/terminfo/d/d462-unix-25
deleted file mode 120000
index e8b0109..0000000
--- a/lib/terminfo/d/d462-unix-25
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-unix-25 b/lib/terminfo/d/d462-unix-25
new file mode 100644
index 0000000..35535f5
--- /dev/null
+++ b/lib/terminfo/d/d462-unix-25
Binary files differ
diff --git a/lib/terminfo/d/d462-unix-s b/lib/terminfo/d/d462-unix-s
deleted file mode 120000
index 0cea892..0000000
--- a/lib/terminfo/d/d462-unix-s
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-unix-s b/lib/terminfo/d/d462-unix-s
new file mode 100644
index 0000000..ba50cb6
--- /dev/null
+++ b/lib/terminfo/d/d462-unix-s
Binary files differ
diff --git a/lib/terminfo/d/d462-unix-sr b/lib/terminfo/d/d462-unix-sr
deleted file mode 120000
index b6ac052..0000000
--- a/lib/terminfo/d/d462-unix-sr
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-unix-sr b/lib/terminfo/d/d462-unix-sr
new file mode 100644
index 0000000..206aa74
--- /dev/null
+++ b/lib/terminfo/d/d462-unix-sr
Binary files differ
diff --git a/lib/terminfo/d/d462-unix-w b/lib/terminfo/d/d462-unix-w
deleted file mode 120000
index e524bb3..0000000
--- a/lib/terminfo/d/d462-unix-w
+++ /dev/null
@@ -1 +0,0 @@
-d412-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d462-unix-w b/lib/terminfo/d/d462-unix-w
new file mode 100644
index 0000000..f2ffa2b
--- /dev/null
+++ b/lib/terminfo/d/d462-unix-w
Binary files differ
diff --git a/lib/terminfo/d/d462e-dg b/lib/terminfo/d/d462e-dg
deleted file mode 120000
index 552174d..0000000
--- a/lib/terminfo/d/d462e-dg
+++ /dev/null
@@ -1 +0,0 @@
-d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d462e-dg b/lib/terminfo/d/d462e-dg
new file mode 100644
index 0000000..11f5601
--- /dev/null
+++ b/lib/terminfo/d/d462e-dg
Binary files differ
diff --git a/lib/terminfo/d/d463-dg b/lib/terminfo/d/d463-dg
deleted file mode 120000
index 552174d..0000000
--- a/lib/terminfo/d/d463-dg
+++ /dev/null
@@ -1 +0,0 @@
-d412-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-dg b/lib/terminfo/d/d463-dg
new file mode 100644
index 0000000..11f5601
--- /dev/null
+++ b/lib/terminfo/d/d463-dg
Binary files differ
diff --git a/lib/terminfo/d/d463-unix b/lib/terminfo/d/d463-unix
deleted file mode 120000
index 9f76695..0000000
--- a/lib/terminfo/d/d463-unix
+++ /dev/null
@@ -1 +0,0 @@
-d413-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-unix b/lib/terminfo/d/d463-unix
new file mode 100644
index 0000000..307399a
--- /dev/null
+++ b/lib/terminfo/d/d463-unix
Binary files differ
diff --git a/lib/terminfo/d/d463-unix-25 b/lib/terminfo/d/d463-unix-25
deleted file mode 120000
index d2a9c9c..0000000
--- a/lib/terminfo/d/d463-unix-25
+++ /dev/null
@@ -1 +0,0 @@
-d413-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-unix-25 b/lib/terminfo/d/d463-unix-25
new file mode 100644
index 0000000..7bc88ec
--- /dev/null
+++ b/lib/terminfo/d/d463-unix-25
Binary files differ
diff --git a/lib/terminfo/d/d463-unix-s b/lib/terminfo/d/d463-unix-s
deleted file mode 120000
index 1db81ca..0000000
--- a/lib/terminfo/d/d463-unix-s
+++ /dev/null
@@ -1 +0,0 @@
-d413-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-unix-s b/lib/terminfo/d/d463-unix-s
new file mode 100644
index 0000000..70868c4
--- /dev/null
+++ b/lib/terminfo/d/d463-unix-s
Binary files differ
diff --git a/lib/terminfo/d/d463-unix-sr b/lib/terminfo/d/d463-unix-sr
deleted file mode 120000
index df3d3a8..0000000
--- a/lib/terminfo/d/d463-unix-sr
+++ /dev/null
@@ -1 +0,0 @@
-d413-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-unix-sr b/lib/terminfo/d/d463-unix-sr
new file mode 100644
index 0000000..b85e480
--- /dev/null
+++ b/lib/terminfo/d/d463-unix-sr
Binary files differ
diff --git a/lib/terminfo/d/d463-unix-w b/lib/terminfo/d/d463-unix-w
deleted file mode 120000
index 8b1dbb4..0000000
--- a/lib/terminfo/d/d463-unix-w
+++ /dev/null
@@ -1 +0,0 @@
-d413-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d463-unix-w b/lib/terminfo/d/d463-unix-w
new file mode 100644
index 0000000..5f30d68
--- /dev/null
+++ b/lib/terminfo/d/d463-unix-w
Binary files differ
diff --git a/lib/terminfo/d/d464-unix b/lib/terminfo/d/d464-unix
deleted file mode 120000
index 7a3c64c..0000000
--- a/lib/terminfo/d/d464-unix
+++ /dev/null
@@ -1 +0,0 @@
-d414-unix
\ No newline at end of file
diff --git a/lib/terminfo/d/d464-unix b/lib/terminfo/d/d464-unix
new file mode 100644
index 0000000..f16031a
--- /dev/null
+++ b/lib/terminfo/d/d464-unix
Binary files differ
diff --git a/lib/terminfo/d/d464-unix-25 b/lib/terminfo/d/d464-unix-25
deleted file mode 120000
index 81700b7..0000000
--- a/lib/terminfo/d/d464-unix-25
+++ /dev/null
@@ -1 +0,0 @@
-d414-unix-25
\ No newline at end of file
diff --git a/lib/terminfo/d/d464-unix-25 b/lib/terminfo/d/d464-unix-25
new file mode 100644
index 0000000..db8d411
--- /dev/null
+++ b/lib/terminfo/d/d464-unix-25
Binary files differ
diff --git a/lib/terminfo/d/d464-unix-s b/lib/terminfo/d/d464-unix-s
deleted file mode 120000
index 0e889e3..0000000
--- a/lib/terminfo/d/d464-unix-s
+++ /dev/null
@@ -1 +0,0 @@
-d414-unix-s
\ No newline at end of file
diff --git a/lib/terminfo/d/d464-unix-s b/lib/terminfo/d/d464-unix-s
new file mode 100644
index 0000000..4147d9d
--- /dev/null
+++ b/lib/terminfo/d/d464-unix-s
Binary files differ
diff --git a/lib/terminfo/d/d464-unix-sr b/lib/terminfo/d/d464-unix-sr
deleted file mode 120000
index 16f3de0..0000000
--- a/lib/terminfo/d/d464-unix-sr
+++ /dev/null
@@ -1 +0,0 @@
-d414-unix-sr
\ No newline at end of file
diff --git a/lib/terminfo/d/d464-unix-sr b/lib/terminfo/d/d464-unix-sr
new file mode 100644
index 0000000..31a5a65
--- /dev/null
+++ b/lib/terminfo/d/d464-unix-sr
Binary files differ
diff --git a/lib/terminfo/d/d464-unix-w b/lib/terminfo/d/d464-unix-w
deleted file mode 120000
index 3aa2be3..0000000
--- a/lib/terminfo/d/d464-unix-w
+++ /dev/null
@@ -1 +0,0 @@
-d414-unix-w
\ No newline at end of file
diff --git a/lib/terminfo/d/d464-unix-w b/lib/terminfo/d/d464-unix-w
new file mode 100644
index 0000000..4ea96d2
--- /dev/null
+++ b/lib/terminfo/d/d464-unix-w
Binary files differ
diff --git a/lib/terminfo/d/d470 b/lib/terminfo/d/d470
deleted file mode 120000
index 47caab2..0000000
--- a/lib/terminfo/d/d470
+++ /dev/null
@@ -1 +0,0 @@
-d470c
\ No newline at end of file
diff --git a/lib/terminfo/d/d470 b/lib/terminfo/d/d470
new file mode 100644
index 0000000..ed3af2f
--- /dev/null
+++ b/lib/terminfo/d/d470
Binary files differ
diff --git a/lib/terminfo/d/d470-7b b/lib/terminfo/d/d470-7b
deleted file mode 120000
index e2b93c6..0000000
--- a/lib/terminfo/d/d470-7b
+++ /dev/null
@@ -1 +0,0 @@
-d470c-7b
\ No newline at end of file
diff --git a/lib/terminfo/d/d470-7b b/lib/terminfo/d/d470-7b
new file mode 100644
index 0000000..128577d
--- /dev/null
+++ b/lib/terminfo/d/d470-7b
Binary files differ
diff --git a/lib/terminfo/d/d470-dg b/lib/terminfo/d/d470-dg
deleted file mode 120000
index f2898d2..0000000
--- a/lib/terminfo/d/d470-dg
+++ /dev/null
@@ -1 +0,0 @@
-d470c-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d470-dg b/lib/terminfo/d/d470-dg
new file mode 100644
index 0000000..7c8ae24
--- /dev/null
+++ b/lib/terminfo/d/d470-dg
Binary files differ
diff --git a/lib/terminfo/d/d555-7b b/lib/terminfo/d/d555-7b
index f3638d9..add2136 100644
--- a/lib/terminfo/d/d555-7b
+++ b/lib/terminfo/d/d555-7b
Binary files differ
diff --git a/lib/terminfo/d/d555-7b-w b/lib/terminfo/d/d555-7b-w
index 2cbd751..6981c94 100644
--- a/lib/terminfo/d/d555-7b-w
+++ b/lib/terminfo/d/d555-7b-w
Binary files differ
diff --git a/lib/terminfo/d/d577-7b b/lib/terminfo/d/d577-7b
index 7201146..c79540b 100644
--- a/lib/terminfo/d/d577-7b
+++ b/lib/terminfo/d/d577-7b
Binary files differ
diff --git a/lib/terminfo/d/d577-7b-w b/lib/terminfo/d/d577-7b-w
index 3ec6ec9..d97c663 100644
--- a/lib/terminfo/d/d577-7b-w
+++ b/lib/terminfo/d/d577-7b-w
Binary files differ
diff --git a/lib/terminfo/d/d578-7b b/lib/terminfo/d/d578-7b
index 27ac610..526b901 100644
--- a/lib/terminfo/d/d578-7b
+++ b/lib/terminfo/d/d578-7b
Binary files differ
diff --git a/lib/terminfo/d/d578-dg b/lib/terminfo/d/d578-dg
deleted file mode 120000
index 500b211..0000000
--- a/lib/terminfo/d/d578-dg
+++ /dev/null
@@ -1 +0,0 @@
-d577-dg
\ No newline at end of file
diff --git a/lib/terminfo/d/d578-dg b/lib/terminfo/d/d578-dg
new file mode 100644
index 0000000..ca069ee
--- /dev/null
+++ b/lib/terminfo/d/d578-dg
Binary files differ
diff --git a/lib/terminfo/d/d80 b/lib/terminfo/d/d80
deleted file mode 120000
index 2bd1e1a..0000000
--- a/lib/terminfo/d/d80
+++ /dev/null
@@ -1 +0,0 @@
-../a/ampex80
\ No newline at end of file
diff --git a/lib/terminfo/d/d80 b/lib/terminfo/d/d80
new file mode 100644
index 0000000..1265d5e
--- /dev/null
+++ b/lib/terminfo/d/d80
Binary files differ
diff --git a/lib/terminfo/d/darwin b/lib/terminfo/d/darwin
deleted file mode 120000
index 78344e3..0000000
--- a/lib/terminfo/d/darwin
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin b/lib/terminfo/d/darwin
new file mode 100644
index 0000000..accbc11
--- /dev/null
+++ b/lib/terminfo/d/darwin
Binary files differ
diff --git a/lib/terminfo/d/darwin-100x37 b/lib/terminfo/d/darwin-100x37
deleted file mode 120000
index f1a1727..0000000
--- a/lib/terminfo/d/darwin-100x37
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-100x37
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-100x37 b/lib/terminfo/d/darwin-100x37
new file mode 100644
index 0000000..f443578
--- /dev/null
+++ b/lib/terminfo/d/darwin-100x37
Binary files differ
diff --git a/lib/terminfo/d/darwin-100x37-m b/lib/terminfo/d/darwin-100x37-m
deleted file mode 120000
index a84f98f..0000000
--- a/lib/terminfo/d/darwin-100x37-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-100x37-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-100x37-m b/lib/terminfo/d/darwin-100x37-m
new file mode 100644
index 0000000..d1d76a4
--- /dev/null
+++ b/lib/terminfo/d/darwin-100x37-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-112x37 b/lib/terminfo/d/darwin-112x37
deleted file mode 120000
index 5fb83ec..0000000
--- a/lib/terminfo/d/darwin-112x37
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-112x37
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-112x37 b/lib/terminfo/d/darwin-112x37
new file mode 100644
index 0000000..73712ad
--- /dev/null
+++ b/lib/terminfo/d/darwin-112x37
Binary files differ
diff --git a/lib/terminfo/d/darwin-112x37-m b/lib/terminfo/d/darwin-112x37-m
deleted file mode 120000
index 2e5aabd..0000000
--- a/lib/terminfo/d/darwin-112x37-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-112x37-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-112x37-m b/lib/terminfo/d/darwin-112x37-m
new file mode 100644
index 0000000..0384596
--- /dev/null
+++ b/lib/terminfo/d/darwin-112x37-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-128x40 b/lib/terminfo/d/darwin-128x40
deleted file mode 120000
index 03df811..0000000
--- a/lib/terminfo/d/darwin-128x40
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-128x40
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-128x40 b/lib/terminfo/d/darwin-128x40
new file mode 100644
index 0000000..236e846
--- /dev/null
+++ b/lib/terminfo/d/darwin-128x40
Binary files differ
diff --git a/lib/terminfo/d/darwin-128x40-m b/lib/terminfo/d/darwin-128x40-m
deleted file mode 120000
index 8e358d8..0000000
--- a/lib/terminfo/d/darwin-128x40-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-128x40-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-128x40-m b/lib/terminfo/d/darwin-128x40-m
new file mode 100644
index 0000000..7276a97
--- /dev/null
+++ b/lib/terminfo/d/darwin-128x40-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-128x48 b/lib/terminfo/d/darwin-128x48
deleted file mode 120000
index a55d0d7..0000000
--- a/lib/terminfo/d/darwin-128x48
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-128x48
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-128x48 b/lib/terminfo/d/darwin-128x48
new file mode 100644
index 0000000..844e2c9
--- /dev/null
+++ b/lib/terminfo/d/darwin-128x48
Binary files differ
diff --git a/lib/terminfo/d/darwin-128x48-m b/lib/terminfo/d/darwin-128x48-m
deleted file mode 120000
index 50c46cb..0000000
--- a/lib/terminfo/d/darwin-128x48-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-128x48-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-128x48-m b/lib/terminfo/d/darwin-128x48-m
new file mode 100644
index 0000000..4087dcc
--- /dev/null
+++ b/lib/terminfo/d/darwin-128x48-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-144x48 b/lib/terminfo/d/darwin-144x48
deleted file mode 120000
index 523aeb9..0000000
--- a/lib/terminfo/d/darwin-144x48
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-144x48
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-144x48 b/lib/terminfo/d/darwin-144x48
new file mode 100644
index 0000000..4791612
--- /dev/null
+++ b/lib/terminfo/d/darwin-144x48
Binary files differ
diff --git a/lib/terminfo/d/darwin-144x48-m b/lib/terminfo/d/darwin-144x48-m
deleted file mode 120000
index 53ca625..0000000
--- a/lib/terminfo/d/darwin-144x48-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-144x48-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-144x48-m b/lib/terminfo/d/darwin-144x48-m
new file mode 100644
index 0000000..a489ec6
--- /dev/null
+++ b/lib/terminfo/d/darwin-144x48-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-160x64 b/lib/terminfo/d/darwin-160x64
deleted file mode 120000
index 11564c4..0000000
--- a/lib/terminfo/d/darwin-160x64
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-160x64
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-160x64 b/lib/terminfo/d/darwin-160x64
new file mode 100644
index 0000000..18692d7
--- /dev/null
+++ b/lib/terminfo/d/darwin-160x64
Binary files differ
diff --git a/lib/terminfo/d/darwin-160x64-m b/lib/terminfo/d/darwin-160x64-m
deleted file mode 120000
index 62fc4ae..0000000
--- a/lib/terminfo/d/darwin-160x64-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-160x64-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-160x64-m b/lib/terminfo/d/darwin-160x64-m
new file mode 100644
index 0000000..ad1c89c
--- /dev/null
+++ b/lib/terminfo/d/darwin-160x64-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-200x64 b/lib/terminfo/d/darwin-200x64
deleted file mode 120000
index 2ab1551..0000000
--- a/lib/terminfo/d/darwin-200x64
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-200x64
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-200x64 b/lib/terminfo/d/darwin-200x64
new file mode 100644
index 0000000..c3f13da
--- /dev/null
+++ b/lib/terminfo/d/darwin-200x64
Binary files differ
diff --git a/lib/terminfo/d/darwin-200x64-m b/lib/terminfo/d/darwin-200x64-m
deleted file mode 120000
index 5b12d9d..0000000
--- a/lib/terminfo/d/darwin-200x64-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-200x64-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-200x64-m b/lib/terminfo/d/darwin-200x64-m
new file mode 100644
index 0000000..e962810
--- /dev/null
+++ b/lib/terminfo/d/darwin-200x64-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-200x75 b/lib/terminfo/d/darwin-200x75
deleted file mode 120000
index f2c3608..0000000
--- a/lib/terminfo/d/darwin-200x75
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-200x75
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-200x75 b/lib/terminfo/d/darwin-200x75
new file mode 100644
index 0000000..3c06990
--- /dev/null
+++ b/lib/terminfo/d/darwin-200x75
Binary files differ
diff --git a/lib/terminfo/d/darwin-200x75-m b/lib/terminfo/d/darwin-200x75-m
deleted file mode 120000
index a457706..0000000
--- a/lib/terminfo/d/darwin-200x75-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-200x75-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-200x75-m b/lib/terminfo/d/darwin-200x75-m
new file mode 100644
index 0000000..e5896a8
--- /dev/null
+++ b/lib/terminfo/d/darwin-200x75-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-256x96 b/lib/terminfo/d/darwin-256x96
deleted file mode 120000
index 3850487..0000000
--- a/lib/terminfo/d/darwin-256x96
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-256x96
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-256x96 b/lib/terminfo/d/darwin-256x96
new file mode 100644
index 0000000..d7eb887
--- /dev/null
+++ b/lib/terminfo/d/darwin-256x96
Binary files differ
diff --git a/lib/terminfo/d/darwin-256x96-m b/lib/terminfo/d/darwin-256x96-m
deleted file mode 120000
index ddc7799..0000000
--- a/lib/terminfo/d/darwin-256x96-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-256x96-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-256x96-m b/lib/terminfo/d/darwin-256x96-m
new file mode 100644
index 0000000..2c7281a
--- /dev/null
+++ b/lib/terminfo/d/darwin-256x96-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-80x25 b/lib/terminfo/d/darwin-80x25
deleted file mode 120000
index e600f33..0000000
--- a/lib/terminfo/d/darwin-80x25
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-80x25
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-80x25 b/lib/terminfo/d/darwin-80x25
new file mode 100644
index 0000000..504cd3f
--- /dev/null
+++ b/lib/terminfo/d/darwin-80x25
Binary files differ
diff --git a/lib/terminfo/d/darwin-80x25-m b/lib/terminfo/d/darwin-80x25-m
deleted file mode 120000
index bb6423b..0000000
--- a/lib/terminfo/d/darwin-80x25-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-80x25-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-80x25-m b/lib/terminfo/d/darwin-80x25-m
new file mode 100644
index 0000000..50c3f5e
--- /dev/null
+++ b/lib/terminfo/d/darwin-80x25-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-80x30 b/lib/terminfo/d/darwin-80x30
deleted file mode 120000
index e53e9ab..0000000
--- a/lib/terminfo/d/darwin-80x30
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-80x30
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-80x30 b/lib/terminfo/d/darwin-80x30
new file mode 100644
index 0000000..4f2ec6f
--- /dev/null
+++ b/lib/terminfo/d/darwin-80x30
Binary files differ
diff --git a/lib/terminfo/d/darwin-80x30-m b/lib/terminfo/d/darwin-80x30-m
deleted file mode 120000
index 47ba3ea..0000000
--- a/lib/terminfo/d/darwin-80x30-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-80x30-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-80x30-m b/lib/terminfo/d/darwin-80x30-m
new file mode 100644
index 0000000..60f5b1b
--- /dev/null
+++ b/lib/terminfo/d/darwin-80x30-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-90x30 b/lib/terminfo/d/darwin-90x30
deleted file mode 120000
index 47d194f..0000000
--- a/lib/terminfo/d/darwin-90x30
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-90x30
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-90x30 b/lib/terminfo/d/darwin-90x30
new file mode 100644
index 0000000..68cbee6
--- /dev/null
+++ b/lib/terminfo/d/darwin-90x30
Binary files differ
diff --git a/lib/terminfo/d/darwin-90x30-m b/lib/terminfo/d/darwin-90x30-m
deleted file mode 120000
index c33f936..0000000
--- a/lib/terminfo/d/darwin-90x30-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-90x30-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-90x30-m b/lib/terminfo/d/darwin-90x30-m
new file mode 100644
index 0000000..95e5e68
--- /dev/null
+++ b/lib/terminfo/d/darwin-90x30-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-b b/lib/terminfo/d/darwin-b
deleted file mode 120000
index 3ad03ce..0000000
--- a/lib/terminfo/d/darwin-b
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-b
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-b b/lib/terminfo/d/darwin-b
new file mode 100644
index 0000000..d0fd621
--- /dev/null
+++ b/lib/terminfo/d/darwin-b
Binary files differ
diff --git a/lib/terminfo/d/darwin-f b/lib/terminfo/d/darwin-f
deleted file mode 120000
index 6a607d3..0000000
--- a/lib/terminfo/d/darwin-f
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-f
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-f b/lib/terminfo/d/darwin-f
new file mode 100644
index 0000000..835c991
--- /dev/null
+++ b/lib/terminfo/d/darwin-f
Binary files differ
diff --git a/lib/terminfo/d/darwin-f2 b/lib/terminfo/d/darwin-f2
deleted file mode 120000
index f6e6f10..0000000
--- a/lib/terminfo/d/darwin-f2
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-f2
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-f2 b/lib/terminfo/d/darwin-f2
new file mode 100644
index 0000000..1400c3a
--- /dev/null
+++ b/lib/terminfo/d/darwin-f2
Binary files differ
diff --git a/lib/terminfo/d/darwin-m b/lib/terminfo/d/darwin-m
deleted file mode 120000
index 5111d35..0000000
--- a/lib/terminfo/d/darwin-m
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-m
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-m b/lib/terminfo/d/darwin-m
new file mode 100644
index 0000000..cc096a4
--- /dev/null
+++ b/lib/terminfo/d/darwin-m
Binary files differ
diff --git a/lib/terminfo/d/darwin-m-b b/lib/terminfo/d/darwin-m-b
deleted file mode 120000
index 531a0da..0000000
--- a/lib/terminfo/d/darwin-m-b
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-m-b
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-m-b b/lib/terminfo/d/darwin-m-b
new file mode 100644
index 0000000..fa4c977
--- /dev/null
+++ b/lib/terminfo/d/darwin-m-b
Binary files differ
diff --git a/lib/terminfo/d/darwin-m-f b/lib/terminfo/d/darwin-m-f
deleted file mode 120000
index 3d840da..0000000
--- a/lib/terminfo/d/darwin-m-f
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-m-f
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-m-f b/lib/terminfo/d/darwin-m-f
new file mode 100644
index 0000000..09b00e7
--- /dev/null
+++ b/lib/terminfo/d/darwin-m-f
Binary files differ
diff --git a/lib/terminfo/d/darwin-m-f2 b/lib/terminfo/d/darwin-m-f2
deleted file mode 120000
index 2d2227e..0000000
--- a/lib/terminfo/d/darwin-m-f2
+++ /dev/null
@@ -1 +0,0 @@
-../x/xnuppc-m-f2
\ No newline at end of file
diff --git a/lib/terminfo/d/darwin-m-f2 b/lib/terminfo/d/darwin-m-f2
new file mode 100644
index 0000000..7818790
--- /dev/null
+++ b/lib/terminfo/d/darwin-m-f2
Binary files differ
diff --git a/lib/terminfo/d/datagraphix b/lib/terminfo/d/datagraphix
deleted file mode 120000
index 1fd17b8..0000000
--- a/lib/terminfo/d/datagraphix
+++ /dev/null
@@ -1 +0,0 @@
-d132
\ No newline at end of file
diff --git a/lib/terminfo/d/datagraphix b/lib/terminfo/d/datagraphix
new file mode 100644
index 0000000..84a24b9
--- /dev/null
+++ b/lib/terminfo/d/datagraphix
Binary files differ
diff --git a/lib/terminfo/d/datamedia2500 b/lib/terminfo/d/datamedia2500
deleted file mode 120000
index 79b3dc0..0000000
--- a/lib/terminfo/d/datamedia2500
+++ /dev/null
@@ -1 +0,0 @@
-dm2500
\ No newline at end of file
diff --git a/lib/terminfo/d/datamedia2500 b/lib/terminfo/d/datamedia2500
new file mode 100644
index 0000000..1897702
--- /dev/null
+++ b/lib/terminfo/d/datamedia2500
Binary files differ
diff --git a/lib/terminfo/d/datapoint b/lib/terminfo/d/datapoint
deleted file mode 120000
index 38a7fc7..0000000
--- a/lib/terminfo/d/datapoint
+++ /dev/null
@@ -1 +0,0 @@
-dp3360
\ No newline at end of file
diff --git a/lib/terminfo/d/datapoint b/lib/terminfo/d/datapoint
new file mode 100644
index 0000000..4fa6a84
--- /dev/null
+++ b/lib/terminfo/d/datapoint
Binary files differ
diff --git a/lib/terminfo/d/dataspeed40 b/lib/terminfo/d/dataspeed40
deleted file mode 120000
index 7f42dd0..0000000
--- a/lib/terminfo/d/dataspeed40
+++ /dev/null
@@ -1 +0,0 @@
-../t/tty40
\ No newline at end of file
diff --git a/lib/terminfo/d/dataspeed40 b/lib/terminfo/d/dataspeed40
new file mode 100644
index 0000000..c9cf50f
--- /dev/null
+++ b/lib/terminfo/d/dataspeed40
Binary files differ
diff --git a/lib/terminfo/d/dd5000 b/lib/terminfo/d/dd5000
deleted file mode 120000
index 3d2667b..0000000
--- a/lib/terminfo/d/dd5000
+++ /dev/null
@@ -1 +0,0 @@
-delta
\ No newline at end of file
diff --git a/lib/terminfo/d/dd5000 b/lib/terminfo/d/dd5000
new file mode 100644
index 0000000..97d8591
--- /dev/null
+++ b/lib/terminfo/d/dd5000
Binary files differ
diff --git a/lib/terminfo/d/ddr b/lib/terminfo/d/ddr
index 9f761fb..6b46f73 100644
--- a/lib/terminfo/d/ddr
+++ b/lib/terminfo/d/ddr
Binary files differ
diff --git a/lib/terminfo/d/ddr3180 b/lib/terminfo/d/ddr3180
deleted file mode 120000
index 11951ef..0000000
--- a/lib/terminfo/d/ddr3180
+++ /dev/null
@@ -1 +0,0 @@
-ddr
\ No newline at end of file
diff --git a/lib/terminfo/d/ddr3180 b/lib/terminfo/d/ddr3180
new file mode 100644
index 0000000..6b46f73
--- /dev/null
+++ b/lib/terminfo/d/ddr3180
Binary files differ
diff --git a/lib/terminfo/d/dec+sl b/lib/terminfo/d/dec+sl
index b8d5d11..55bfff1 100644
--- a/lib/terminfo/d/dec+sl
+++ b/lib/terminfo/d/dec+sl
Binary files differ
diff --git a/lib/terminfo/d/dec-vt100 b/lib/terminfo/d/dec-vt100
index b93848f..1f428c9 100644
--- a/lib/terminfo/d/dec-vt100
+++ b/lib/terminfo/d/dec-vt100
Binary files differ
diff --git a/lib/terminfo/d/dec-vt220 b/lib/terminfo/d/dec-vt220
index a86fc33..8614f9a 100644
--- a/lib/terminfo/d/dec-vt220
+++ b/lib/terminfo/d/dec-vt220
Binary files differ
diff --git a/lib/terminfo/d/dec-vt330 b/lib/terminfo/d/dec-vt330
deleted file mode 120000
index 15136e9..0000000
--- a/lib/terminfo/d/dec-vt330
+++ /dev/null
@@ -1 +0,0 @@
-../v/vt340
\ No newline at end of file
diff --git a/lib/terminfo/d/dec-vt330 b/lib/terminfo/d/dec-vt330
new file mode 100644
index 0000000..32b9542
--- /dev/null
+++ b/lib/terminfo/d/dec-vt330
Binary files differ
diff --git a/lib/terminfo/d/dec-vt340 b/lib/terminfo/d/dec-vt340
deleted file mode 120000
index 15136e9..0000000
--- a/lib/terminfo/d/dec-vt340
+++ /dev/null
@@ -1 +0,0 @@
-../v/vt340
\ No newline at end of file
diff --git a/lib/terminfo/d/dec-vt340 b/lib/terminfo/d/dec-vt340
new file mode 100644
index 0000000..32b9542
--- /dev/null
+++ b/lib/terminfo/d/dec-vt340
Binary files differ
diff --git a/lib/terminfo/d/dec-vt400 b/lib/terminfo/d/dec-vt400
deleted file mode 120000
index 3dae34e..0000000
--- a/lib/terminfo/d/dec-vt400
+++ /dev/null
@@ -1 +0,0 @@
-../v/vt400
\ No newline at end of file
diff --git a/lib/terminfo/d/dec-vt400 b/lib/terminfo/d/dec-vt400
new file mode 100644
index 0000000..888453e
--- /dev/null
+++ b/lib/terminfo/d/dec-vt400
Binary files differ
diff --git a/lib/terminfo/d/decansi b/lib/terminfo/d/decansi
index 000cd6d..6e54536 100644
--- a/lib/terminfo/d/decansi
+++ b/lib/terminfo/d/decansi
Binary files differ
diff --git a/lib/terminfo/d/decid+cpr b/lib/terminfo/d/decid+cpr
new file mode 100644
index 0000000..fe54801
--- /dev/null
+++ b/lib/terminfo/d/decid+cpr
Binary files differ
diff --git a/lib/terminfo/d/decpro b/lib/terminfo/d/decpro
deleted file mode 120000
index 13ead82..0000000
--- a/lib/terminfo/d/decpro
+++ /dev/null
@@ -1 +0,0 @@
-../p/pro350
\ No newline at end of file
diff --git a/lib/terminfo/d/decpro b/lib/terminfo/d/decpro
new file mode 100644
index 0000000..e73dc12
--- /dev/null
+++ b/lib/terminfo/d/decpro
Binary files differ
diff --git a/lib/terminfo/d/decwriter b/lib/terminfo/d/decwriter
deleted file mode 120000
index 588841b..0000000
--- a/lib/terminfo/d/decwriter
+++ /dev/null
@@ -1 +0,0 @@
-dw2
\ No newline at end of file
diff --git a/lib/terminfo/d/decwriter b/lib/terminfo/d/decwriter
new file mode 100644
index 0000000..3a68990
--- /dev/null
+++ b/lib/terminfo/d/decwriter
Binary files differ
diff --git a/lib/terminfo/d/dg-ansi b/lib/terminfo/d/dg-ansi
deleted file mode 120000
index 8c5f9aa..0000000
--- a/lib/terminfo/d/dg-ansi
+++ /dev/null
@@ -1 +0,0 @@
-dg210
\ No newline at end of file
diff --git a/lib/terminfo/d/dg-ansi b/lib/terminfo/d/dg-ansi
new file mode 100644
index 0000000..fd5d287
--- /dev/null
+++ b/lib/terminfo/d/dg-ansi
Binary files differ
diff --git a/lib/terminfo/d/dg-generic b/lib/terminfo/d/dg-generic
index 3723a01..5189f75 100644
--- a/lib/terminfo/d/dg-generic
+++ b/lib/terminfo/d/dg-generic
Binary files differ
diff --git a/lib/terminfo/d/dg100 b/lib/terminfo/d/dg100
deleted file mode 120000
index 2b6caa6..0000000
--- a/lib/terminfo/d/dg100
+++ /dev/null
@@ -1 +0,0 @@
-dg6053-old
\ No newline at end of file
diff --git a/lib/terminfo/d/dg100 b/lib/terminfo/d/dg100
new file mode 100644
index 0000000..ab17856
--- /dev/null
+++ b/lib/terminfo/d/dg100
Binary files differ
diff --git a/lib/terminfo/d/dg200 b/lib/terminfo/d/dg200
index 806536a..f24ff56 100644
--- a/lib/terminfo/d/dg200
+++ b/lib/terminfo/d/dg200
Binary files differ
diff --git a/lib/terminfo/d/dg450 b/lib/terminfo/d/dg450
index 6539891..981a25f 100644
--- a/lib/terminfo/d/dg450
+++ b/lib/terminfo/d/dg450
Binary files differ
diff --git a/lib/terminfo/d/dg460-ansi b/lib/terminfo/d/dg460-ansi
index 7c9c41c..1e7d49d 100644
--- a/lib/terminfo/d/dg460-ansi
+++ b/lib/terminfo/d/dg460-ansi
Binary files differ
diff --git a/lib/terminfo/d/dg6053-old b/lib/terminfo/d/dg6053-old
index 54dff37..ab17856 100644
--- a/lib/terminfo/d/dg6053-old
+++ b/lib/terminfo/d/dg6053-old
Binary files differ
diff --git a/lib/terminfo/d/dg605x b/lib/terminfo/d/dg605x
deleted file mode 120000
index 286381a..0000000
--- a/lib/terminfo/d/dg605x
+++ /dev/null
@@ -1 +0,0 @@
-dg6053
\ No newline at end of file
diff --git a/lib/terminfo/d/dg605x b/lib/terminfo/d/dg605x
new file mode 100644
index 0000000..ee16edb
--- /dev/null
+++ b/lib/terminfo/d/dg605x
Binary files differ
diff --git a/lib/terminfo/d/dg6134 b/lib/terminfo/d/dg6134
deleted file mode 120000
index 393d360..0000000
--- a/lib/terminfo/d/dg6134
+++ /dev/null
@@ -1 +0,0 @@
-dg450
\ No newline at end of file
diff --git a/lib/terminfo/d/dg6134 b/lib/terminfo/d/dg6134
new file mode 100644
index 0000000..981a25f
--- /dev/null
+++ b/lib/terminfo/d/dg6134
Binary files differ
diff --git a/lib/terminfo/d/diablo b/lib/terminfo/d/diablo
deleted file mode 120000
index 4e4e2eb..0000000
--- a/lib/terminfo/d/diablo
+++ /dev/null
@@ -1 +0,0 @@
-diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo b/lib/terminfo/d/diablo
new file mode 100644
index 0000000..6d9b14d
--- /dev/null
+++ b/lib/terminfo/d/diablo
Binary files differ
diff --git a/lib/terminfo/d/diablo-lm b/lib/terminfo/d/diablo-lm
deleted file mode 120000
index a7ba35e..0000000
--- a/lib/terminfo/d/diablo-lm
+++ /dev/null
@@ -1 +0,0 @@
-diablo1640-lm
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo-lm b/lib/terminfo/d/diablo-lm
new file mode 100644
index 0000000..ce7f55e
--- /dev/null
+++ b/lib/terminfo/d/diablo-lm
Binary files differ
diff --git a/lib/terminfo/d/diablo1620 b/lib/terminfo/d/diablo1620
index 460faaf..cc64349 100644
--- a/lib/terminfo/d/diablo1620
+++ b/lib/terminfo/d/diablo1620
Binary files differ
diff --git a/lib/terminfo/d/diablo1620-m8 b/lib/terminfo/d/diablo1620-m8
index d2e3beb..e406b98 100644
--- a/lib/terminfo/d/diablo1620-m8
+++ b/lib/terminfo/d/diablo1620-m8
Binary files differ
diff --git a/lib/terminfo/d/diablo1640 b/lib/terminfo/d/diablo1640
index a7a12d1..6d9b14d 100644
--- a/lib/terminfo/d/diablo1640
+++ b/lib/terminfo/d/diablo1640
Binary files differ
diff --git a/lib/terminfo/d/diablo1640-lm b/lib/terminfo/d/diablo1640-lm
index 535f007..ce7f55e 100644
--- a/lib/terminfo/d/diablo1640-lm
+++ b/lib/terminfo/d/diablo1640-lm
Binary files differ
diff --git a/lib/terminfo/d/diablo1640-m8 b/lib/terminfo/d/diablo1640-m8
deleted file mode 120000
index ab525d9..0000000
--- a/lib/terminfo/d/diablo1640-m8
+++ /dev/null
@@ -1 +0,0 @@
-diablo1620-m8
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo1640-m8 b/lib/terminfo/d/diablo1640-m8
new file mode 100644
index 0000000..e406b98
--- /dev/null
+++ b/lib/terminfo/d/diablo1640-m8
Binary files differ
diff --git a/lib/terminfo/d/diablo1720 b/lib/terminfo/d/diablo1720
deleted file mode 120000
index 98ac1f6..0000000
--- a/lib/terminfo/d/diablo1720
+++ /dev/null
@@ -1 +0,0 @@
-diablo1620
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo1720 b/lib/terminfo/d/diablo1720
new file mode 100644
index 0000000..cc64349
--- /dev/null
+++ b/lib/terminfo/d/diablo1720
Binary files differ
diff --git a/lib/terminfo/d/diablo1730 b/lib/terminfo/d/diablo1730
deleted file mode 120000
index 4e4e2eb..0000000
--- a/lib/terminfo/d/diablo1730
+++ /dev/null
@@ -1 +0,0 @@
-diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo1730 b/lib/terminfo/d/diablo1730
new file mode 100644
index 0000000..6d9b14d
--- /dev/null
+++ b/lib/terminfo/d/diablo1730
Binary files differ
diff --git a/lib/terminfo/d/diablo1740 b/lib/terminfo/d/diablo1740
deleted file mode 120000
index 4e4e2eb..0000000
--- a/lib/terminfo/d/diablo1740
+++ /dev/null
@@ -1 +0,0 @@
-diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo1740 b/lib/terminfo/d/diablo1740
new file mode 100644
index 0000000..6d9b14d
--- /dev/null
+++ b/lib/terminfo/d/diablo1740
Binary files differ
diff --git a/lib/terminfo/d/diablo1740-lm b/lib/terminfo/d/diablo1740-lm
index 5f36015..4aeeb98 100644
--- a/lib/terminfo/d/diablo1740-lm
+++ b/lib/terminfo/d/diablo1740-lm
Binary files differ
diff --git a/lib/terminfo/d/diablo450 b/lib/terminfo/d/diablo450
deleted file mode 120000
index 98ac1f6..0000000
--- a/lib/terminfo/d/diablo450
+++ /dev/null
@@ -1 +0,0 @@
-diablo1620
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo450 b/lib/terminfo/d/diablo450
new file mode 100644
index 0000000..cc64349
--- /dev/null
+++ b/lib/terminfo/d/diablo450
Binary files differ
diff --git a/lib/terminfo/d/diablo630 b/lib/terminfo/d/diablo630
deleted file mode 120000
index 4e4e2eb..0000000
--- a/lib/terminfo/d/diablo630
+++ /dev/null
@@ -1 +0,0 @@
-diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/d/diablo630 b/lib/terminfo/d/diablo630
new file mode 100644
index 0000000..6d9b14d
--- /dev/null
+++ b/lib/terminfo/d/diablo630
Binary files differ
diff --git a/lib/terminfo/d/dialogue b/lib/terminfo/d/dialogue
deleted file mode 120000
index 2bd1e1a..0000000
--- a/lib/terminfo/d/dialogue
+++ /dev/null
@@ -1 +0,0 @@
-../a/ampex80
\ No newline at end of file
diff --git a/lib/terminfo/d/dialogue b/lib/terminfo/d/dialogue
new file mode 100644
index 0000000..1265d5e
--- /dev/null
+++ b/lib/terminfo/d/dialogue
Binary files differ
diff --git a/lib/terminfo/d/dialogue80 b/lib/terminfo/d/dialogue80
deleted file mode 120000
index 2bd1e1a..0000000
--- a/lib/terminfo/d/dialogue80
+++ /dev/null
@@ -1 +0,0 @@
-../a/ampex80
\ No newline at end of file
diff --git a/lib/terminfo/d/dialogue80 b/lib/terminfo/d/dialogue80
new file mode 100644
index 0000000..1265d5e
--- /dev/null
+++ b/lib/terminfo/d/dialogue80
Binary files differ
diff --git a/lib/terminfo/d/djgpp b/lib/terminfo/d/djgpp
index acadff7..cbe3109 100644
--- a/lib/terminfo/d/djgpp
+++ b/lib/terminfo/d/djgpp
Binary files differ
diff --git a/lib/terminfo/d/djgpp203 b/lib/terminfo/d/djgpp203
index 2ac17bc..a77689c 100644
--- a/lib/terminfo/d/djgpp203
+++ b/lib/terminfo/d/djgpp203
Binary files differ
diff --git a/lib/terminfo/d/djgpp204 b/lib/terminfo/d/djgpp204
index f3c1c06..b6476bc 100644
--- a/lib/terminfo/d/djgpp204
+++ b/lib/terminfo/d/djgpp204
Binary files differ
diff --git a/lib/terminfo/d/dku7102 b/lib/terminfo/d/dku7102
deleted file mode 120000
index b0834c3..0000000
--- a/lib/terminfo/d/dku7102
+++ /dev/null
@@ -1 +0,0 @@
-../t/tws-generic
\ No newline at end of file
diff --git a/lib/terminfo/d/dku7102 b/lib/terminfo/d/dku7102
new file mode 100644
index 0000000..0fb7b53
--- /dev/null
+++ b/lib/terminfo/d/dku7102
Binary files differ
diff --git a/lib/terminfo/d/dku7102-old b/lib/terminfo/d/dku7102-old
index 98e8d7a..cc3ccb5 100644
--- a/lib/terminfo/d/dku7102-old
+++ b/lib/terminfo/d/dku7102-old
Binary files differ
diff --git a/lib/terminfo/d/dku7102-sna b/lib/terminfo/d/dku7102-sna
deleted file mode 120000
index e7a5b89..0000000
--- a/lib/terminfo/d/dku7102-sna
+++ /dev/null
@@ -1 +0,0 @@
-../t/tws2102-sna
\ No newline at end of file
diff --git a/lib/terminfo/d/dku7102-sna b/lib/terminfo/d/dku7102-sna
new file mode 100644
index 0000000..6147bfb
--- /dev/null
+++ b/lib/terminfo/d/dku7102-sna
Binary files differ
diff --git a/lib/terminfo/d/dku7103-sna b/lib/terminfo/d/dku7103-sna
deleted file mode 120000
index 5fb07d6..0000000
--- a/lib/terminfo/d/dku7103-sna
+++ /dev/null
@@ -1 +0,0 @@
-../t/tws2103-sna
\ No newline at end of file
diff --git a/lib/terminfo/d/dku7103-sna b/lib/terminfo/d/dku7103-sna
new file mode 100644
index 0000000..17cfc91
--- /dev/null
+++ b/lib/terminfo/d/dku7103-sna
Binary files differ
diff --git a/lib/terminfo/d/dku7202 b/lib/terminfo/d/dku7202
index 0ba0302..1d7e7f3 100644
--- a/lib/terminfo/d/dku7202
+++ b/lib/terminfo/d/dku7202
Binary files differ
diff --git a/lib/terminfo/d/dm1520 b/lib/terminfo/d/dm1520
index 22c5d26..2e9dc21 100644
--- a/lib/terminfo/d/dm1520
+++ b/lib/terminfo/d/dm1520
Binary files differ
diff --git a/lib/terminfo/d/dm1521 b/lib/terminfo/d/dm1521
deleted file mode 120000
index 5779249..0000000
--- a/lib/terminfo/d/dm1521
+++ /dev/null
@@ -1 +0,0 @@
-dm1520
\ No newline at end of file
diff --git a/lib/terminfo/d/dm1521 b/lib/terminfo/d/dm1521
new file mode 100644
index 0000000..2e9dc21
--- /dev/null
+++ b/lib/terminfo/d/dm1521
Binary files differ
diff --git a/lib/terminfo/d/dm2500 b/lib/terminfo/d/dm2500
index 202839f..1897702 100644
--- a/lib/terminfo/d/dm2500
+++ b/lib/terminfo/d/dm2500
Binary files differ
diff --git a/lib/terminfo/d/dm3025 b/lib/terminfo/d/dm3025
index cce29eb..5f70c5b 100644
--- a/lib/terminfo/d/dm3025
+++ b/lib/terminfo/d/dm3025
Binary files differ
diff --git a/lib/terminfo/d/dm3045 b/lib/terminfo/d/dm3045
index e1f76f5..bc75a27 100644
--- a/lib/terminfo/d/dm3045
+++ b/lib/terminfo/d/dm3045
Binary files differ
diff --git a/lib/terminfo/d/dm80 b/lib/terminfo/d/dm80
index 07a8f5d..432468c 100644
--- a/lib/terminfo/d/dm80
+++ b/lib/terminfo/d/dm80
Binary files differ
diff --git a/lib/terminfo/d/dm80w b/lib/terminfo/d/dm80w
index 50d88ba..86da6fc 100644
--- a/lib/terminfo/d/dm80w
+++ b/lib/terminfo/d/dm80w
Binary files differ
diff --git a/lib/terminfo/d/dmchat b/lib/terminfo/d/dmchat
index 9725b91..3ea6a13 100644
--- a/lib/terminfo/d/dmchat
+++ b/lib/terminfo/d/dmchat
Binary files differ
diff --git a/lib/terminfo/d/dmd b/lib/terminfo/d/dmd
deleted file mode 120000
index f27fa37..0000000
--- a/lib/terminfo/d/dmd
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620
\ No newline at end of file
diff --git a/lib/terminfo/d/dmd b/lib/terminfo/d/dmd
new file mode 100644
index 0000000..1bb4071
--- /dev/null
+++ b/lib/terminfo/d/dmd
Binary files differ
diff --git a/lib/terminfo/d/dmd-24 b/lib/terminfo/d/dmd-24
deleted file mode 120000
index 871ad7e..0000000
--- a/lib/terminfo/d/dmd-24
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620-24
\ No newline at end of file
diff --git a/lib/terminfo/d/dmd-24 b/lib/terminfo/d/dmd-24
new file mode 100644
index 0000000..14c3431
--- /dev/null
+++ b/lib/terminfo/d/dmd-24
Binary files differ
diff --git a/lib/terminfo/d/dmd-34 b/lib/terminfo/d/dmd-34
deleted file mode 120000
index 804c08a..0000000
--- a/lib/terminfo/d/dmd-34
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620-34
\ No newline at end of file
diff --git a/lib/terminfo/d/dmd-34 b/lib/terminfo/d/dmd-34
new file mode 100644
index 0000000..a23f838
--- /dev/null
+++ b/lib/terminfo/d/dmd-34
Binary files differ
diff --git a/lib/terminfo/d/dmd1 b/lib/terminfo/d/dmd1
deleted file mode 120000
index bec551f..0000000
--- a/lib/terminfo/d/dmd1
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620-1
\ No newline at end of file
diff --git a/lib/terminfo/d/dmd1 b/lib/terminfo/d/dmd1
new file mode 100644
index 0000000..7212c7a
--- /dev/null
+++ b/lib/terminfo/d/dmd1
Binary files differ
diff --git a/lib/terminfo/d/dmdt80 b/lib/terminfo/d/dmdt80
deleted file mode 120000
index c071bf3..0000000
--- a/lib/terminfo/d/dmdt80
+++ /dev/null
@@ -1 +0,0 @@
-dm80
\ No newline at end of file
diff --git a/lib/terminfo/d/dmdt80 b/lib/terminfo/d/dmdt80
new file mode 100644
index 0000000..432468c
--- /dev/null
+++ b/lib/terminfo/d/dmdt80
Binary files differ
diff --git a/lib/terminfo/d/dmdt80w b/lib/terminfo/d/dmdt80w
deleted file mode 120000
index fdb28ad..0000000
--- a/lib/terminfo/d/dmdt80w
+++ /dev/null
@@ -1 +0,0 @@
-dm80w
\ No newline at end of file
diff --git a/lib/terminfo/d/dmdt80w b/lib/terminfo/d/dmdt80w
new file mode 100644
index 0000000..86da6fc
--- /dev/null
+++ b/lib/terminfo/d/dmdt80w
Binary files differ
diff --git a/lib/terminfo/d/domterm b/lib/terminfo/d/domterm
new file mode 100644
index 0000000..7bfd652
--- /dev/null
+++ b/lib/terminfo/d/domterm
Binary files differ
diff --git a/lib/terminfo/d/dp3360 b/lib/terminfo/d/dp3360
index 002c6d2..4fa6a84 100644
--- a/lib/terminfo/d/dp3360
+++ b/lib/terminfo/d/dp3360
Binary files differ
diff --git a/lib/terminfo/d/dp8242 b/lib/terminfo/d/dp8242
index 1f972c3..59ae84a 100644
--- a/lib/terminfo/d/dp8242
+++ b/lib/terminfo/d/dp8242
Binary files differ
diff --git a/lib/terminfo/d/ds40 b/lib/terminfo/d/ds40
deleted file mode 120000
index 7f42dd0..0000000
--- a/lib/terminfo/d/ds40
+++ /dev/null
@@ -1 +0,0 @@
-../t/tty40
\ No newline at end of file
diff --git a/lib/terminfo/d/ds40 b/lib/terminfo/d/ds40
new file mode 100644
index 0000000..c9cf50f
--- /dev/null
+++ b/lib/terminfo/d/ds40
Binary files differ
diff --git a/lib/terminfo/d/ds40-2 b/lib/terminfo/d/ds40-2
deleted file mode 120000
index 7f42dd0..0000000
--- a/lib/terminfo/d/ds40-2
+++ /dev/null
@@ -1 +0,0 @@
-../t/tty40
\ No newline at end of file
diff --git a/lib/terminfo/d/ds40-2 b/lib/terminfo/d/ds40-2
new file mode 100644
index 0000000..c9cf50f
--- /dev/null
+++ b/lib/terminfo/d/ds40-2
Binary files differ
diff --git a/lib/terminfo/d/dt-100 b/lib/terminfo/d/dt-100
deleted file mode 120000
index 293df19..0000000
--- a/lib/terminfo/d/dt-100
+++ /dev/null
@@ -1 +0,0 @@
-dt100
\ No newline at end of file
diff --git a/lib/terminfo/d/dt-100 b/lib/terminfo/d/dt-100
new file mode 100644
index 0000000..5792c0a
--- /dev/null
+++ b/lib/terminfo/d/dt-100
Binary files differ
diff --git a/lib/terminfo/d/dt-100w b/lib/terminfo/d/dt-100w
deleted file mode 120000
index 43fb6ee..0000000
--- a/lib/terminfo/d/dt-100w
+++ /dev/null
@@ -1 +0,0 @@
-dt100w
\ No newline at end of file
diff --git a/lib/terminfo/d/dt-100w b/lib/terminfo/d/dt-100w
new file mode 100644
index 0000000..b0b0ec2
--- /dev/null
+++ b/lib/terminfo/d/dt-100w
Binary files differ
diff --git a/lib/terminfo/d/dt110 b/lib/terminfo/d/dt110
index c86b73c..6a49b10 100644
--- a/lib/terminfo/d/dt110
+++ b/lib/terminfo/d/dt110
Binary files differ
diff --git a/lib/terminfo/d/dt80 b/lib/terminfo/d/dt80
deleted file mode 120000
index c071bf3..0000000
--- a/lib/terminfo/d/dt80
+++ /dev/null
@@ -1 +0,0 @@
-dm80
\ No newline at end of file
diff --git a/lib/terminfo/d/dt80 b/lib/terminfo/d/dt80
new file mode 100644
index 0000000..432468c
--- /dev/null
+++ b/lib/terminfo/d/dt80
Binary files differ
diff --git a/lib/terminfo/d/dt80w b/lib/terminfo/d/dt80w
deleted file mode 120000
index fdb28ad..0000000
--- a/lib/terminfo/d/dt80w
+++ /dev/null
@@ -1 +0,0 @@
-dm80w
\ No newline at end of file
diff --git a/lib/terminfo/d/dt80w b/lib/terminfo/d/dt80w
new file mode 100644
index 0000000..86da6fc
--- /dev/null
+++ b/lib/terminfo/d/dt80w
Binary files differ
diff --git a/lib/terminfo/d/dtterm b/lib/terminfo/d/dtterm
index 6129794..01bd438 100644
--- a/lib/terminfo/d/dtterm
+++ b/lib/terminfo/d/dtterm
Binary files differ
diff --git a/lib/terminfo/d/dumb-emacs-ansi b/lib/terminfo/d/dumb-emacs-ansi
new file mode 100644
index 0000000..b6df432
--- /dev/null
+++ b/lib/terminfo/d/dumb-emacs-ansi
Binary files differ
diff --git a/lib/terminfo/d/dvtm b/lib/terminfo/d/dvtm
new file mode 100644
index 0000000..567b8be
--- /dev/null
+++ b/lib/terminfo/d/dvtm
Binary files differ
diff --git a/lib/terminfo/d/dvtm-256color b/lib/terminfo/d/dvtm-256color
new file mode 100644
index 0000000..be06df2
--- /dev/null
+++ b/lib/terminfo/d/dvtm-256color
Binary files differ
diff --git a/lib/terminfo/d/dw b/lib/terminfo/d/dw
deleted file mode 120000
index 588841b..0000000
--- a/lib/terminfo/d/dw
+++ /dev/null
@@ -1 +0,0 @@
-dw2
\ No newline at end of file
diff --git a/lib/terminfo/d/dw b/lib/terminfo/d/dw
new file mode 100644
index 0000000..3a68990
--- /dev/null
+++ b/lib/terminfo/d/dw
Binary files differ
diff --git a/lib/terminfo/d/dw1 b/lib/terminfo/d/dw1
index a9f0e6c..8f874a6 100644
--- a/lib/terminfo/d/dw1
+++ b/lib/terminfo/d/dw1
Binary files differ
diff --git a/lib/terminfo/d/dw2 b/lib/terminfo/d/dw2
index 5886d57..3a68990 100644
--- a/lib/terminfo/d/dw2
+++ b/lib/terminfo/d/dw2
Binary files differ
diff --git a/lib/terminfo/d/dw3 b/lib/terminfo/d/dw3
index 00f026b..834885b 100644
--- a/lib/terminfo/d/dw3
+++ b/lib/terminfo/d/dw3
Binary files differ
diff --git a/lib/terminfo/d/dw4 b/lib/terminfo/d/dw4
index 4b0bdc0..e6c9bdf 100644
--- a/lib/terminfo/d/dw4
+++ b/lib/terminfo/d/dw4
Binary files differ
diff --git a/lib/terminfo/d/dwk-vt b/lib/terminfo/d/dwk-vt
deleted file mode 120000
index b5770cf..0000000
--- a/lib/terminfo/d/dwk-vt
+++ /dev/null
@@ -1 +0,0 @@
-dwk
\ No newline at end of file
diff --git a/lib/terminfo/d/dwk-vt b/lib/terminfo/d/dwk-vt
new file mode 100644
index 0000000..dbb96d2
--- /dev/null
+++ b/lib/terminfo/d/dwk-vt
Binary files differ
diff --git a/lib/terminfo/e/ecma+color b/lib/terminfo/e/ecma+color
index 794a361..701833a 100644
--- a/lib/terminfo/e/ecma+color
+++ b/lib/terminfo/e/ecma+color
Binary files differ
diff --git a/lib/terminfo/e/ecma+index b/lib/terminfo/e/ecma+index
new file mode 100644
index 0000000..0359246
--- /dev/null
+++ b/lib/terminfo/e/ecma+index
Binary files differ
diff --git a/lib/terminfo/e/ecma+italics b/lib/terminfo/e/ecma+italics
new file mode 100644
index 0000000..9069f9d
--- /dev/null
+++ b/lib/terminfo/e/ecma+italics
Binary files differ
diff --git a/lib/terminfo/e/ecma+strikeout b/lib/terminfo/e/ecma+strikeout
new file mode 100644
index 0000000..6dee427
--- /dev/null
+++ b/lib/terminfo/e/ecma+strikeout
Binary files differ
diff --git a/lib/terminfo/e/elks-vt52 b/lib/terminfo/e/elks-vt52
index 94ab385..6d4d697 100644
--- a/lib/terminfo/e/elks-vt52
+++ b/lib/terminfo/e/elks-vt52
Binary files differ
diff --git a/lib/terminfo/e/emots b/lib/terminfo/e/emots
deleted file mode 120000
index 01f222e..0000000
--- a/lib/terminfo/e/emots
+++ /dev/null
@@ -1 +0,0 @@
-../g/gs6300
\ No newline at end of file
diff --git a/lib/terminfo/e/emots b/lib/terminfo/e/emots
new file mode 100644
index 0000000..37518ed
--- /dev/null
+++ b/lib/terminfo/e/emots
Binary files differ
diff --git a/lib/terminfo/e/emu-220 b/lib/terminfo/e/emu-220
index ecf7817..e3844b1 100644
--- a/lib/terminfo/e/emu-220
+++ b/lib/terminfo/e/emu-220
Binary files differ
diff --git a/lib/terminfo/e/env230 b/lib/terminfo/e/env230
index ab1ab59..26c22a1 100644
--- a/lib/terminfo/e/env230
+++ b/lib/terminfo/e/env230
Binary files differ
diff --git a/lib/terminfo/e/envision230 b/lib/terminfo/e/envision230
deleted file mode 120000
index f0c8137..0000000
--- a/lib/terminfo/e/envision230
+++ /dev/null
@@ -1 +0,0 @@
-env230
\ No newline at end of file
diff --git a/lib/terminfo/e/envision230 b/lib/terminfo/e/envision230
new file mode 100644
index 0000000..26c22a1
--- /dev/null
+++ b/lib/terminfo/e/envision230
Binary files differ
diff --git a/lib/terminfo/e/ep4000 b/lib/terminfo/e/ep4000
deleted file mode 120000
index 73cce7f..0000000
--- a/lib/terminfo/e/ep4000
+++ /dev/null
@@ -1 +0,0 @@
-ep40
\ No newline at end of file
diff --git a/lib/terminfo/e/ep4000 b/lib/terminfo/e/ep4000
new file mode 100644
index 0000000..6fb53c1
--- /dev/null
+++ b/lib/terminfo/e/ep4000
Binary files differ
diff --git a/lib/terminfo/e/ep4080 b/lib/terminfo/e/ep4080
deleted file mode 120000
index 3d91b49..0000000
--- a/lib/terminfo/e/ep4080
+++ /dev/null
@@ -1 +0,0 @@
-ep48
\ No newline at end of file
diff --git a/lib/terminfo/e/ep4080 b/lib/terminfo/e/ep4080
new file mode 100644
index 0000000..7f04a5a
--- /dev/null
+++ b/lib/terminfo/e/ep4080
Binary files differ
diff --git a/lib/terminfo/e/esprit-am b/lib/terminfo/e/esprit-am
index 5d14a63..99f7026 100644
--- a/lib/terminfo/e/esprit-am
+++ b/lib/terminfo/e/esprit-am
Binary files differ
diff --git a/lib/terminfo/e/eterm b/lib/terminfo/e/eterm
index 6289637..e4d36d3 100644
--- a/lib/terminfo/e/eterm
+++ b/lib/terminfo/e/eterm
Binary files differ
diff --git a/lib/terminfo/e/eterm-color b/lib/terminfo/e/eterm-color
index 8841dad..c64651a 100644
--- a/lib/terminfo/e/eterm-color
+++ b/lib/terminfo/e/eterm-color
Binary files differ
diff --git a/lib/terminfo/e/excel62 b/lib/terminfo/e/excel62
index 4d9176f..af89827 100644
--- a/lib/terminfo/e/excel62
+++ b/lib/terminfo/e/excel62
Binary files differ
diff --git a/lib/terminfo/e/excel62-rv b/lib/terminfo/e/excel62-rv
index 0893e5d..71880dc 100644
--- a/lib/terminfo/e/excel62-rv
+++ b/lib/terminfo/e/excel62-rv
Binary files differ
diff --git a/lib/terminfo/e/excel62-w b/lib/terminfo/e/excel62-w
index 65d63f9..d534b10 100644
--- a/lib/terminfo/e/excel62-w
+++ b/lib/terminfo/e/excel62-w
Binary files differ
diff --git a/lib/terminfo/e/excel64 b/lib/terminfo/e/excel64
deleted file mode 120000
index 7fc9140..0000000
--- a/lib/terminfo/e/excel64
+++ /dev/null
@@ -1 +0,0 @@
-excel62
\ No newline at end of file
diff --git a/lib/terminfo/e/excel64 b/lib/terminfo/e/excel64
new file mode 100644
index 0000000..af89827
--- /dev/null
+++ b/lib/terminfo/e/excel64
Binary files differ
diff --git a/lib/terminfo/e/excel64-rv b/lib/terminfo/e/excel64-rv
deleted file mode 120000
index 539dbc7..0000000
--- a/lib/terminfo/e/excel64-rv
+++ /dev/null
@@ -1 +0,0 @@
-excel62-rv
\ No newline at end of file
diff --git a/lib/terminfo/e/excel64-rv b/lib/terminfo/e/excel64-rv
new file mode 100644
index 0000000..71880dc
--- /dev/null
+++ b/lib/terminfo/e/excel64-rv
Binary files differ
diff --git a/lib/terminfo/e/excel64-w b/lib/terminfo/e/excel64-w
deleted file mode 120000
index bf6538b..0000000
--- a/lib/terminfo/e/excel64-w
+++ /dev/null
@@ -1 +0,0 @@
-excel62-w
\ No newline at end of file
diff --git a/lib/terminfo/e/excel64-w b/lib/terminfo/e/excel64-w
new file mode 100644
index 0000000..d534b10
--- /dev/null
+++ b/lib/terminfo/e/excel64-w
Binary files differ
diff --git a/lib/terminfo/e/exec80 b/lib/terminfo/e/exec80
deleted file mode 120000
index 0829584..0000000
--- a/lib/terminfo/e/exec80
+++ /dev/null
@@ -1 +0,0 @@
-../h/hazel
\ No newline at end of file
diff --git a/lib/terminfo/e/exec80 b/lib/terminfo/e/exec80
new file mode 100644
index 0000000..49246bb
--- /dev/null
+++ b/lib/terminfo/e/exec80
Binary files differ
diff --git a/lib/terminfo/f/f100 b/lib/terminfo/f/f100
index 1e95eca..c775f9c 100644
--- a/lib/terminfo/f/f100
+++ b/lib/terminfo/f/f100
Binary files differ
diff --git a/lib/terminfo/f/f100-rv b/lib/terminfo/f/f100-rv
index 9e5b92e..c33a95d 100644
--- a/lib/terminfo/f/f100-rv
+++ b/lib/terminfo/f/f100-rv
Binary files differ
diff --git a/lib/terminfo/f/f1720a b/lib/terminfo/f/f1720a
deleted file mode 120000
index c13ea0a..0000000
--- a/lib/terminfo/f/f1720a
+++ /dev/null
@@ -1 +0,0 @@
-f1720
\ No newline at end of file
diff --git a/lib/terminfo/f/f1720a b/lib/terminfo/f/f1720a
new file mode 100644
index 0000000..13837dc
--- /dev/null
+++ b/lib/terminfo/f/f1720a
Binary files differ
diff --git a/lib/terminfo/f/falco b/lib/terminfo/f/falco
index 88dbf93..c927125 100644
--- a/lib/terminfo/f/falco
+++ b/lib/terminfo/f/falco
Binary files differ
diff --git a/lib/terminfo/f/falco-p b/lib/terminfo/f/falco-p
index cb65118..e4b59d2 100644
--- a/lib/terminfo/f/falco-p
+++ b/lib/terminfo/f/falco-p
Binary files differ
diff --git a/lib/terminfo/f/fbterm b/lib/terminfo/f/fbterm
new file mode 100644
index 0000000..d17c785
--- /dev/null
+++ b/lib/terminfo/f/fbterm
Binary files differ
diff --git a/lib/terminfo/f/fenix b/lib/terminfo/f/fenix
deleted file mode 120000
index 88bd37a..0000000
--- a/lib/terminfo/f/fenix
+++ /dev/null
@@ -1 +0,0 @@
-../p/pt100
\ No newline at end of file
diff --git a/lib/terminfo/f/fenix b/lib/terminfo/f/fenix
new file mode 100644
index 0000000..cf224e6
--- /dev/null
+++ b/lib/terminfo/f/fenix
Binary files differ
diff --git a/lib/terminfo/f/fenixw b/lib/terminfo/f/fenixw
deleted file mode 120000
index 98d0f71..0000000
--- a/lib/terminfo/f/fenixw
+++ /dev/null
@@ -1 +0,0 @@
-../p/pt100w
\ No newline at end of file
diff --git a/lib/terminfo/f/fenixw b/lib/terminfo/f/fenixw
new file mode 100644
index 0000000..1f73e34
--- /dev/null
+++ b/lib/terminfo/f/fenixw
Binary files differ
diff --git a/lib/terminfo/f/fixterm b/lib/terminfo/f/fixterm
deleted file mode 120000
index 3def21c..0000000
--- a/lib/terminfo/f/fixterm
+++ /dev/null
@@ -1 +0,0 @@
-../c/cbblit
\ No newline at end of file
diff --git a/lib/terminfo/f/fixterm b/lib/terminfo/f/fixterm
new file mode 100644
index 0000000..1e1d2da
--- /dev/null
+++ b/lib/terminfo/f/fixterm
Binary files differ
diff --git a/lib/terminfo/f/foot b/lib/terminfo/f/foot
new file mode 100644
index 0000000..a0d00c4
--- /dev/null
+++ b/lib/terminfo/f/foot
Binary files differ
diff --git a/lib/terminfo/f/foot+base b/lib/terminfo/f/foot+base
new file mode 100644
index 0000000..c569f50
--- /dev/null
+++ b/lib/terminfo/f/foot+base
Binary files differ
diff --git a/lib/terminfo/f/foot-direct b/lib/terminfo/f/foot-direct
new file mode 100644
index 0000000..c6f6efd
--- /dev/null
+++ b/lib/terminfo/f/foot-direct
Binary files differ
diff --git a/lib/terminfo/f/fortune b/lib/terminfo/f/fortune
deleted file mode 120000
index 9f7ddb3..0000000
--- a/lib/terminfo/f/fortune
+++ /dev/null
@@ -1 +0,0 @@
-fos
\ No newline at end of file
diff --git a/lib/terminfo/f/fortune b/lib/terminfo/f/fortune
new file mode 100644
index 0000000..518ed94
--- /dev/null
+++ b/lib/terminfo/f/fortune
Binary files differ
diff --git a/lib/terminfo/f/fox b/lib/terminfo/f/fox
index dfed72c..210f592 100644
--- a/lib/terminfo/f/fox
+++ b/lib/terminfo/f/fox
Binary files differ
diff --git a/lib/terminfo/f/freedom b/lib/terminfo/f/freedom
deleted file mode 120000
index 53890b0..0000000
--- a/lib/terminfo/f/freedom
+++ /dev/null
@@ -1 +0,0 @@
-f100
\ No newline at end of file
diff --git a/lib/terminfo/f/freedom b/lib/terminfo/f/freedom
new file mode 100644
index 0000000..c775f9c
--- /dev/null
+++ b/lib/terminfo/f/freedom
Binary files differ
diff --git a/lib/terminfo/f/freedom-rv b/lib/terminfo/f/freedom-rv
deleted file mode 120000
index 29a0506..0000000
--- a/lib/terminfo/f/freedom-rv
+++ /dev/null
@@ -1 +0,0 @@
-f100-rv
\ No newline at end of file
diff --git a/lib/terminfo/f/freedom-rv b/lib/terminfo/f/freedom-rv
new file mode 100644
index 0000000..c33a95d
--- /dev/null
+++ b/lib/terminfo/f/freedom-rv
Binary files differ
diff --git a/lib/terminfo/f/freedom100 b/lib/terminfo/f/freedom100
deleted file mode 120000
index 53890b0..0000000
--- a/lib/terminfo/f/freedom100
+++ /dev/null
@@ -1 +0,0 @@
-f100
\ No newline at end of file
diff --git a/lib/terminfo/f/freedom100 b/lib/terminfo/f/freedom100
new file mode 100644
index 0000000..c775f9c
--- /dev/null
+++ b/lib/terminfo/f/freedom100
Binary files differ
diff --git a/lib/terminfo/f/freedom110 b/lib/terminfo/f/freedom110
deleted file mode 120000
index 7bf15b9..0000000
--- a/lib/terminfo/f/freedom110
+++ /dev/null
@@ -1 +0,0 @@
-f110
\ No newline at end of file
diff --git a/lib/terminfo/f/freedom110 b/lib/terminfo/f/freedom110
new file mode 100644
index 0000000..5348499
--- /dev/null
+++ b/lib/terminfo/f/freedom110
Binary files differ
diff --git a/lib/terminfo/f/freedom200 b/lib/terminfo/f/freedom200
deleted file mode 120000
index 17020cd..0000000
--- a/lib/terminfo/f/freedom200
+++ /dev/null
@@ -1 +0,0 @@
-f200
\ No newline at end of file
diff --git a/lib/terminfo/f/freedom200 b/lib/terminfo/f/freedom200
new file mode 100644
index 0000000..70f0882
--- /dev/null
+++ b/lib/terminfo/f/freedom200
Binary files differ
diff --git a/lib/terminfo/g/gator-52 b/lib/terminfo/g/gator-52
index f3818b8..7d158ae 100644
--- a/lib/terminfo/g/gator-52
+++ b/lib/terminfo/g/gator-52
Binary files differ
diff --git a/lib/terminfo/g/gator-52t b/lib/terminfo/g/gator-52t
index bd759f5..ff86712 100644
--- a/lib/terminfo/g/gator-52t
+++ b/lib/terminfo/g/gator-52t
Binary files differ
diff --git a/lib/terminfo/g/gigi b/lib/terminfo/g/gigi
index 7502f57..94340a8 100644
--- a/lib/terminfo/g/gigi
+++ b/lib/terminfo/g/gigi
Binary files differ
diff --git a/lib/terminfo/g/gnome b/lib/terminfo/g/gnome
index 76d39b1..6266c34 100644
--- a/lib/terminfo/g/gnome
+++ b/lib/terminfo/g/gnome
Binary files differ
diff --git a/lib/terminfo/g/gnome+pcfkeys b/lib/terminfo/g/gnome+pcfkeys
index 61d5884..777894a 100644
--- a/lib/terminfo/g/gnome+pcfkeys
+++ b/lib/terminfo/g/gnome+pcfkeys
Binary files differ
diff --git a/lib/terminfo/g/gnome-2007 b/lib/terminfo/g/gnome-2007
index 76ed077..173f023 100644
--- a/lib/terminfo/g/gnome-2007
+++ b/lib/terminfo/g/gnome-2007
Binary files differ
diff --git a/lib/terminfo/g/gnome-2008 b/lib/terminfo/g/gnome-2008
index 04edc57..a09b153 100644
--- a/lib/terminfo/g/gnome-2008
+++ b/lib/terminfo/g/gnome-2008
Binary files differ
diff --git a/lib/terminfo/g/gnome-2012 b/lib/terminfo/g/gnome-2012
index 3f5fe95..e56a4ff 100644
--- a/lib/terminfo/g/gnome-2012
+++ b/lib/terminfo/g/gnome-2012
Binary files differ
diff --git a/lib/terminfo/g/gnome-256color b/lib/terminfo/g/gnome-256color
index a5ff9d5..72e96ac 100644
--- a/lib/terminfo/g/gnome-256color
+++ b/lib/terminfo/g/gnome-256color
Binary files differ
diff --git a/lib/terminfo/g/gnome-fc5 b/lib/terminfo/g/gnome-fc5
index 68de8cb..392a6e2 100644
--- a/lib/terminfo/g/gnome-fc5
+++ b/lib/terminfo/g/gnome-fc5
Binary files differ
diff --git a/lib/terminfo/g/gnome-rh62 b/lib/terminfo/g/gnome-rh62
index ceae85e..40d2e9f 100644
--- a/lib/terminfo/g/gnome-rh62
+++ b/lib/terminfo/g/gnome-rh62
Binary files differ
diff --git a/lib/terminfo/g/gnome-rh72 b/lib/terminfo/g/gnome-rh72
index 70f74f4..00b4e11 100644
--- a/lib/terminfo/g/gnome-rh72
+++ b/lib/terminfo/g/gnome-rh72
Binary files differ
diff --git a/lib/terminfo/g/gnome-rh80 b/lib/terminfo/g/gnome-rh80
index 3965f57..68af555 100644
--- a/lib/terminfo/g/gnome-rh80
+++ b/lib/terminfo/g/gnome-rh80
Binary files differ
diff --git a/lib/terminfo/g/gnome-rh90 b/lib/terminfo/g/gnome-rh90
index 6130a9e..2c8ae0c 100644
--- a/lib/terminfo/g/gnome-rh90
+++ b/lib/terminfo/g/gnome-rh90
Binary files differ
diff --git a/lib/terminfo/g/go-225 b/lib/terminfo/g/go-225
deleted file mode 120000
index 1199892..0000000
--- a/lib/terminfo/g/go-225
+++ /dev/null
@@ -1 +0,0 @@
-go225
\ No newline at end of file
diff --git a/lib/terminfo/g/go-225 b/lib/terminfo/g/go-225
new file mode 100644
index 0000000..be7e3cc
--- /dev/null
+++ b/lib/terminfo/g/go-225
Binary files differ
diff --git a/lib/terminfo/g/go140 b/lib/terminfo/g/go140
index aaf243e..756f5f9 100644
--- a/lib/terminfo/g/go140
+++ b/lib/terminfo/g/go140
Binary files differ
diff --git a/lib/terminfo/g/go140w b/lib/terminfo/g/go140w
index 37e8ee5..a514b6c 100644
--- a/lib/terminfo/g/go140w
+++ b/lib/terminfo/g/go140w
Binary files differ
diff --git a/lib/terminfo/g/go225 b/lib/terminfo/g/go225
index cfb28ac..be7e3cc 100644
--- a/lib/terminfo/g/go225
+++ b/lib/terminfo/g/go225
Binary files differ
diff --git a/lib/terminfo/g/gs5430 b/lib/terminfo/g/gs5430
deleted file mode 120000
index 239356b..0000000
--- a/lib/terminfo/g/gs5430
+++ /dev/null
@@ -1 +0,0 @@
-../a/att505
\ No newline at end of file
diff --git a/lib/terminfo/g/gs5430 b/lib/terminfo/g/gs5430
new file mode 100644
index 0000000..6640ef9
--- /dev/null
+++ b/lib/terminfo/g/gs5430
Binary files differ
diff --git a/lib/terminfo/g/gs5430-22 b/lib/terminfo/g/gs5430-22
deleted file mode 120000
index 0cf41b6..0000000
--- a/lib/terminfo/g/gs5430-22
+++ /dev/null
@@ -1 +0,0 @@
-../t/tt505-22
\ No newline at end of file
diff --git a/lib/terminfo/g/gs5430-22 b/lib/terminfo/g/gs5430-22
new file mode 100644
index 0000000..bbf0d9a
--- /dev/null
+++ b/lib/terminfo/g/gs5430-22
Binary files differ
diff --git a/lib/terminfo/g/gs5430-24 b/lib/terminfo/g/gs5430-24
deleted file mode 120000
index b91fd45..0000000
--- a/lib/terminfo/g/gs5430-24
+++ /dev/null
@@ -1 +0,0 @@
-../a/att505-24
\ No newline at end of file
diff --git a/lib/terminfo/g/gs5430-24 b/lib/terminfo/g/gs5430-24
new file mode 100644
index 0000000..ead33f9
--- /dev/null
+++ b/lib/terminfo/g/gs5430-24
Binary files differ
diff --git a/lib/terminfo/g/gt100 b/lib/terminfo/g/gt100
deleted file mode 120000
index 135e823..0000000
--- a/lib/terminfo/g/gt100
+++ /dev/null
@@ -1 +0,0 @@
-../i/i100
\ No newline at end of file
diff --git a/lib/terminfo/g/gt100 b/lib/terminfo/g/gt100
new file mode 100644
index 0000000..cc9ff85
--- /dev/null
+++ b/lib/terminfo/g/gt100
Binary files differ
diff --git a/lib/terminfo/g/gt100a b/lib/terminfo/g/gt100a
deleted file mode 120000
index 135e823..0000000
--- a/lib/terminfo/g/gt100a
+++ /dev/null
@@ -1 +0,0 @@
-../i/i100
\ No newline at end of file
diff --git a/lib/terminfo/g/gt100a b/lib/terminfo/g/gt100a
new file mode 100644
index 0000000..cc9ff85
--- /dev/null
+++ b/lib/terminfo/g/gt100a
Binary files differ
diff --git a/lib/terminfo/g/gt40 b/lib/terminfo/g/gt40
index fe3314c..ce7f702 100644
--- a/lib/terminfo/g/gt40
+++ b/lib/terminfo/g/gt40
Binary files differ
diff --git a/lib/terminfo/g/gt42 b/lib/terminfo/g/gt42
index 3c3e2cc..4cba3d3 100644
--- a/lib/terminfo/g/gt42
+++ b/lib/terminfo/g/gt42
Binary files differ
diff --git a/lib/terminfo/g/guru b/lib/terminfo/g/guru
index b9f491c..2f6dd54 100644
--- a/lib/terminfo/g/guru
+++ b/lib/terminfo/g/guru
Binary files differ
diff --git a/lib/terminfo/g/guru+unk b/lib/terminfo/g/guru+unk
deleted file mode 120000
index 41db9c2..0000000
--- a/lib/terminfo/g/guru+unk
+++ /dev/null
@@ -1 +0,0 @@
-guru
\ No newline at end of file
diff --git a/lib/terminfo/g/guru+unk b/lib/terminfo/g/guru+unk
new file mode 100644
index 0000000..2f6dd54
--- /dev/null
+++ b/lib/terminfo/g/guru+unk
Binary files differ
diff --git a/lib/terminfo/g/guru-24 b/lib/terminfo/g/guru-24
index 49b06bf..d714b0b 100644
--- a/lib/terminfo/g/guru-24
+++ b/lib/terminfo/g/guru-24
Binary files differ
diff --git a/lib/terminfo/g/guru-33 b/lib/terminfo/g/guru-33
deleted file mode 120000
index 41db9c2..0000000
--- a/lib/terminfo/g/guru-33
+++ /dev/null
@@ -1 +0,0 @@
-guru
\ No newline at end of file
diff --git a/lib/terminfo/g/guru-33 b/lib/terminfo/g/guru-33
new file mode 100644
index 0000000..2f6dd54
--- /dev/null
+++ b/lib/terminfo/g/guru-33
Binary files differ
diff --git a/lib/terminfo/g/guru-33-rv b/lib/terminfo/g/guru-33-rv
deleted file mode 120000
index f644678..0000000
--- a/lib/terminfo/g/guru-33-rv
+++ /dev/null
@@ -1 +0,0 @@
-guru-rv
\ No newline at end of file
diff --git a/lib/terminfo/g/guru-33-rv b/lib/terminfo/g/guru-33-rv
new file mode 100644
index 0000000..4092bc7
--- /dev/null
+++ b/lib/terminfo/g/guru-33-rv
Binary files differ
diff --git a/lib/terminfo/g/guru-33-s b/lib/terminfo/g/guru-33-s
deleted file mode 120000
index eaa74b8..0000000
--- a/lib/terminfo/g/guru-33-s
+++ /dev/null
@@ -1 +0,0 @@
-guru-s
\ No newline at end of file
diff --git a/lib/terminfo/g/guru-33-s b/lib/terminfo/g/guru-33-s
new file mode 100644
index 0000000..8667941
--- /dev/null
+++ b/lib/terminfo/g/guru-33-s
Binary files differ
diff --git a/lib/terminfo/g/guru-44 b/lib/terminfo/g/guru-44
index 12622d4..3f9191a 100644
--- a/lib/terminfo/g/guru-44
+++ b/lib/terminfo/g/guru-44
Binary files differ
diff --git a/lib/terminfo/g/guru-44-s b/lib/terminfo/g/guru-44-s
index 71d9ac8..fa8e8d4 100644
--- a/lib/terminfo/g/guru-44-s
+++ b/lib/terminfo/g/guru-44-s
Binary files differ
diff --git a/lib/terminfo/g/guru-76-s b/lib/terminfo/g/guru-76-s
index 7a8bf7f..e5e7f90 100644
--- a/lib/terminfo/g/guru-76-s
+++ b/lib/terminfo/g/guru-76-s
Binary files differ
diff --git a/lib/terminfo/g/guru-76-w-s b/lib/terminfo/g/guru-76-w-s
index fc739f6..bcf43ae 100644
--- a/lib/terminfo/g/guru-76-w-s
+++ b/lib/terminfo/g/guru-76-w-s
Binary files differ
diff --git a/lib/terminfo/g/guru-lp b/lib/terminfo/g/guru-lp
deleted file mode 120000
index 32e3186..0000000
--- a/lib/terminfo/g/guru-lp
+++ /dev/null
@@ -1 +0,0 @@
-guru-76-lp
\ No newline at end of file
diff --git a/lib/terminfo/g/guru-lp b/lib/terminfo/g/guru-lp
new file mode 100644
index 0000000..8abbf8d
--- /dev/null
+++ b/lib/terminfo/g/guru-lp
Binary files differ
diff --git a/lib/terminfo/g/guru-rv b/lib/terminfo/g/guru-rv
index 7602b52..4092bc7 100644
--- a/lib/terminfo/g/guru-rv
+++ b/lib/terminfo/g/guru-rv
Binary files differ
diff --git a/lib/terminfo/g/guru-s b/lib/terminfo/g/guru-s
index 965ec36..8667941 100644
--- a/lib/terminfo/g/guru-s
+++ b/lib/terminfo/g/guru-s
Binary files differ
diff --git a/lib/terminfo/h/h-100 b/lib/terminfo/h/h-100
deleted file mode 120000
index 7bba3a2..0000000
--- a/lib/terminfo/h/h-100
+++ /dev/null
@@ -1 +0,0 @@
-../z/z100
\ No newline at end of file
diff --git a/lib/terminfo/h/h-100 b/lib/terminfo/h/h-100
new file mode 100644
index 0000000..0d0311b
--- /dev/null
+++ b/lib/terminfo/h/h-100
Binary files differ
diff --git a/lib/terminfo/h/h-100bw b/lib/terminfo/h/h-100bw
deleted file mode 120000
index 165a9c0..0000000
--- a/lib/terminfo/h/h-100bw
+++ /dev/null
@@ -1 +0,0 @@
-../z/z100bw
\ No newline at end of file
diff --git a/lib/terminfo/h/h-100bw b/lib/terminfo/h/h-100bw
new file mode 100644
index 0000000..1900380
--- /dev/null
+++ b/lib/terminfo/h/h-100bw
Binary files differ
diff --git a/lib/terminfo/h/h100 b/lib/terminfo/h/h100
deleted file mode 120000
index 7bba3a2..0000000
--- a/lib/terminfo/h/h100
+++ /dev/null
@@ -1 +0,0 @@
-../z/z100
\ No newline at end of file
diff --git a/lib/terminfo/h/h100 b/lib/terminfo/h/h100
new file mode 100644
index 0000000..0d0311b
--- /dev/null
+++ b/lib/terminfo/h/h100
Binary files differ
diff --git a/lib/terminfo/h/h100bw b/lib/terminfo/h/h100bw
deleted file mode 120000
index 165a9c0..0000000
--- a/lib/terminfo/h/h100bw
+++ /dev/null
@@ -1 +0,0 @@
-../z/z100bw
\ No newline at end of file
diff --git a/lib/terminfo/h/h100bw b/lib/terminfo/h/h100bw
new file mode 100644
index 0000000..1900380
--- /dev/null
+++ b/lib/terminfo/h/h100bw
Binary files differ
diff --git a/lib/terminfo/h/h19 b/lib/terminfo/h/h19
index 408f503..63b3b31 100644
--- a/lib/terminfo/h/h19
+++ b/lib/terminfo/h/h19
Binary files differ
diff --git a/lib/terminfo/h/h19-a b/lib/terminfo/h/h19-a
index afa4b5a..34216ac 100644
--- a/lib/terminfo/h/h19-a
+++ b/lib/terminfo/h/h19-a
Binary files differ
diff --git a/lib/terminfo/h/h19-b b/lib/terminfo/h/h19-b
deleted file mode 120000
index 7810800..0000000
--- a/lib/terminfo/h/h19-b
+++ /dev/null
@@ -1 +0,0 @@
-h19
\ No newline at end of file
diff --git a/lib/terminfo/h/h19-b b/lib/terminfo/h/h19-b
new file mode 100644
index 0000000..63b3b31
--- /dev/null
+++ b/lib/terminfo/h/h19-b
Binary files differ
diff --git a/lib/terminfo/h/h19-bs b/lib/terminfo/h/h19-bs
index d2d395d..cd50d92 100644
--- a/lib/terminfo/h/h19-bs
+++ b/lib/terminfo/h/h19-bs
Binary files differ
diff --git a/lib/terminfo/h/h19-g b/lib/terminfo/h/h19-g
index 17d0b14..d5a1909 100644
--- a/lib/terminfo/h/h19-g
+++ b/lib/terminfo/h/h19-g
Binary files differ
diff --git a/lib/terminfo/h/h19-smul b/lib/terminfo/h/h19-smul
deleted file mode 120000
index cabe159..0000000
--- a/lib/terminfo/h/h19-smul
+++ /dev/null
@@ -1 +0,0 @@
-h19-us
\ No newline at end of file
diff --git a/lib/terminfo/h/h19-smul b/lib/terminfo/h/h19-smul
new file mode 100644
index 0000000..cbcbac1
--- /dev/null
+++ b/lib/terminfo/h/h19-smul
Binary files differ
diff --git a/lib/terminfo/h/h19-u b/lib/terminfo/h/h19-u
index fac4381..f01531f 100644
--- a/lib/terminfo/h/h19-u
+++ b/lib/terminfo/h/h19-u
Binary files differ
diff --git a/lib/terminfo/h/h19-us b/lib/terminfo/h/h19-us
index ff8626e..cbcbac1 100644
--- a/lib/terminfo/h/h19-us
+++ b/lib/terminfo/h/h19-us
Binary files differ
diff --git a/lib/terminfo/h/h19a b/lib/terminfo/h/h19a
deleted file mode 120000
index 0ba2e6f..0000000
--- a/lib/terminfo/h/h19a
+++ /dev/null
@@ -1 +0,0 @@
-h19-a
\ No newline at end of file
diff --git a/lib/terminfo/h/h19a b/lib/terminfo/h/h19a
new file mode 100644
index 0000000..34216ac
--- /dev/null
+++ b/lib/terminfo/h/h19a
Binary files differ
diff --git a/lib/terminfo/h/h19g b/lib/terminfo/h/h19g
deleted file mode 120000
index db9ef0f..0000000
--- a/lib/terminfo/h/h19g
+++ /dev/null
@@ -1 +0,0 @@
-h19-g
\ No newline at end of file
diff --git a/lib/terminfo/h/h19g b/lib/terminfo/h/h19g
new file mode 100644
index 0000000..d5a1909
--- /dev/null
+++ b/lib/terminfo/h/h19g
Binary files differ
diff --git a/lib/terminfo/h/h19k b/lib/terminfo/h/h19k
index b0c6d51..41f40b0 100644
--- a/lib/terminfo/h/h19k
+++ b/lib/terminfo/h/h19k
Binary files differ
diff --git a/lib/terminfo/h/h19kermit b/lib/terminfo/h/h19kermit
deleted file mode 120000
index 1c73626..0000000
--- a/lib/terminfo/h/h19kermit
+++ /dev/null
@@ -1 +0,0 @@
-h19k
\ No newline at end of file
diff --git a/lib/terminfo/h/h19kermit b/lib/terminfo/h/h19kermit
new file mode 100644
index 0000000..41f40b0
--- /dev/null
+++ b/lib/terminfo/h/h19kermit
Binary files differ
diff --git a/lib/terminfo/h/h19us b/lib/terminfo/h/h19us
deleted file mode 120000
index cabe159..0000000
--- a/lib/terminfo/h/h19us
+++ /dev/null
@@ -1 +0,0 @@
-h19-us
\ No newline at end of file
diff --git a/lib/terminfo/h/h19us b/lib/terminfo/h/h19us
new file mode 100644
index 0000000..cbcbac1
--- /dev/null
+++ b/lib/terminfo/h/h19us
Binary files differ
diff --git a/lib/terminfo/h/h29a-kc-bc b/lib/terminfo/h/h29a-kc-bc
deleted file mode 120000
index 388669b..0000000
--- a/lib/terminfo/h/h29a-kc-bc
+++ /dev/null
@@ -1 +0,0 @@
-../z/z29a
\ No newline at end of file
diff --git a/lib/terminfo/h/h29a-kc-bc b/lib/terminfo/h/h29a-kc-bc
new file mode 100644
index 0000000..0fd6403
--- /dev/null
+++ b/lib/terminfo/h/h29a-kc-bc
Binary files differ
diff --git a/lib/terminfo/h/h29a-kc-uc b/lib/terminfo/h/h29a-kc-uc
deleted file mode 120000
index 503685f..0000000
--- a/lib/terminfo/h/h29a-kc-uc
+++ /dev/null
@@ -1 +0,0 @@
-../z/z29a-kc-uc
\ No newline at end of file
diff --git a/lib/terminfo/h/h29a-kc-uc b/lib/terminfo/h/h29a-kc-uc
new file mode 100644
index 0000000..768270a
--- /dev/null
+++ b/lib/terminfo/h/h29a-kc-uc
Binary files differ
diff --git a/lib/terminfo/h/h29a-nkc-bc b/lib/terminfo/h/h29a-nkc-bc
deleted file mode 120000
index 76c72e0..0000000
--- a/lib/terminfo/h/h29a-nkc-bc
+++ /dev/null
@@ -1 +0,0 @@
-../z/z29a-nkc-bc
\ No newline at end of file
diff --git a/lib/terminfo/h/h29a-nkc-bc b/lib/terminfo/h/h29a-nkc-bc
new file mode 100644
index 0000000..863c34a
--- /dev/null
+++ b/lib/terminfo/h/h29a-nkc-bc
Binary files differ
diff --git a/lib/terminfo/h/h29a-nkc-uc b/lib/terminfo/h/h29a-nkc-uc
deleted file mode 120000
index 93d2203..0000000
--- a/lib/terminfo/h/h29a-nkc-uc
+++ /dev/null
@@ -1 +0,0 @@
-../z/z29a-nkc-uc
\ No newline at end of file
diff --git a/lib/terminfo/h/h29a-nkc-uc b/lib/terminfo/h/h29a-nkc-uc
new file mode 100644
index 0000000..b985159
--- /dev/null
+++ b/lib/terminfo/h/h29a-nkc-uc
Binary files differ
diff --git a/lib/terminfo/h/h80 b/lib/terminfo/h/h80
deleted file mode 120000
index ba58b45..0000000
--- a/lib/terminfo/h/h80
+++ /dev/null
@@ -1 +0,0 @@
-hazel
\ No newline at end of file
diff --git a/lib/terminfo/h/h80 b/lib/terminfo/h/h80
new file mode 100644
index 0000000..49246bb
--- /dev/null
+++ b/lib/terminfo/h/h80
Binary files differ
diff --git a/lib/terminfo/h/ha8675 b/lib/terminfo/h/ha8675
index 57a995b..b52144d 100644
--- a/lib/terminfo/h/ha8675
+++ b/lib/terminfo/h/ha8675
Binary files differ
diff --git a/lib/terminfo/h/ha8686 b/lib/terminfo/h/ha8686
index 0a73f16..6e18925 100644
--- a/lib/terminfo/h/ha8686
+++ b/lib/terminfo/h/ha8686
Binary files differ
diff --git a/lib/terminfo/h/hazel b/lib/terminfo/h/hazel
index 11f4af3..49246bb 100644
--- a/lib/terminfo/h/hazel
+++ b/lib/terminfo/h/hazel
Binary files differ
diff --git a/lib/terminfo/h/hds200 b/lib/terminfo/h/hds200
index 95a2612..145559d 100644
--- a/lib/terminfo/h/hds200
+++ b/lib/terminfo/h/hds200
Binary files differ
diff --git a/lib/terminfo/h/he80 b/lib/terminfo/h/he80
deleted file mode 120000
index ba58b45..0000000
--- a/lib/terminfo/h/he80
+++ /dev/null
@@ -1 +0,0 @@
-hazel
\ No newline at end of file
diff --git a/lib/terminfo/h/he80 b/lib/terminfo/h/he80
new file mode 100644
index 0000000..49246bb
--- /dev/null
+++ b/lib/terminfo/h/he80
Binary files differ
diff --git a/lib/terminfo/h/heath b/lib/terminfo/h/heath
deleted file mode 120000
index 7810800..0000000
--- a/lib/terminfo/h/heath
+++ /dev/null
@@ -1 +0,0 @@
-h19
\ No newline at end of file
diff --git a/lib/terminfo/h/heath b/lib/terminfo/h/heath
new file mode 100644
index 0000000..63b3b31
--- /dev/null
+++ b/lib/terminfo/h/heath
Binary files differ
diff --git a/lib/terminfo/h/heath-19 b/lib/terminfo/h/heath-19
deleted file mode 120000
index 7810800..0000000
--- a/lib/terminfo/h/heath-19
+++ /dev/null
@@ -1 +0,0 @@
-h19
\ No newline at end of file
diff --git a/lib/terminfo/h/heath-19 b/lib/terminfo/h/heath-19
new file mode 100644
index 0000000..63b3b31
--- /dev/null
+++ b/lib/terminfo/h/heath-19
Binary files differ
diff --git a/lib/terminfo/h/heath-ansi b/lib/terminfo/h/heath-ansi
deleted file mode 120000
index 0ba2e6f..0000000
--- a/lib/terminfo/h/heath-ansi
+++ /dev/null
@@ -1 +0,0 @@
-h19-a
\ No newline at end of file
diff --git a/lib/terminfo/h/heath-ansi b/lib/terminfo/h/heath-ansi
new file mode 100644
index 0000000..34216ac
--- /dev/null
+++ b/lib/terminfo/h/heath-ansi
Binary files differ
diff --git a/lib/terminfo/h/heathkit b/lib/terminfo/h/heathkit
deleted file mode 120000
index 7810800..0000000
--- a/lib/terminfo/h/heathkit
+++ /dev/null
@@ -1 +0,0 @@
-h19
\ No newline at end of file
diff --git a/lib/terminfo/h/heathkit b/lib/terminfo/h/heathkit
new file mode 100644
index 0000000..63b3b31
--- /dev/null
+++ b/lib/terminfo/h/heathkit
Binary files differ
diff --git a/lib/terminfo/h/heathkit-a b/lib/terminfo/h/heathkit-a
deleted file mode 120000
index 0ba2e6f..0000000
--- a/lib/terminfo/h/heathkit-a
+++ /dev/null
@@ -1 +0,0 @@
-h19-a
\ No newline at end of file
diff --git a/lib/terminfo/h/heathkit-a b/lib/terminfo/h/heathkit-a
new file mode 100644
index 0000000..34216ac
--- /dev/null
+++ b/lib/terminfo/h/heathkit-a
Binary files differ
diff --git a/lib/terminfo/h/hft b/lib/terminfo/h/hft
deleted file mode 120000
index 67aa545..0000000
--- a/lib/terminfo/h/hft
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibm5081
\ No newline at end of file
diff --git a/lib/terminfo/h/hft b/lib/terminfo/h/hft
new file mode 100644
index 0000000..8229fba
--- /dev/null
+++ b/lib/terminfo/h/hft
Binary files differ
diff --git a/lib/terminfo/h/hp b/lib/terminfo/h/hp
deleted file mode 120000
index 93c3b99..0000000
--- a/lib/terminfo/h/hp
+++ /dev/null
@@ -1 +0,0 @@
-hpgeneric
\ No newline at end of file
diff --git a/lib/terminfo/h/hp b/lib/terminfo/h/hp
new file mode 100644
index 0000000..b3f1b13
--- /dev/null
+++ b/lib/terminfo/h/hp
Binary files differ
diff --git a/lib/terminfo/h/hp+arrows b/lib/terminfo/h/hp+arrows
index dd00a14..d0d3fbe 100644
--- a/lib/terminfo/h/hp+arrows
+++ b/lib/terminfo/h/hp+arrows
Binary files differ
diff --git a/lib/terminfo/h/hp+color b/lib/terminfo/h/hp+color
index ec96452..3d6ef95 100644
--- a/lib/terminfo/h/hp+color
+++ b/lib/terminfo/h/hp+color
Binary files differ
diff --git a/lib/terminfo/h/hp+pfk+arrows b/lib/terminfo/h/hp+pfk+arrows
index a936419..4b54f5b 100644
--- a/lib/terminfo/h/hp+pfk+arrows
+++ b/lib/terminfo/h/hp+pfk+arrows
Binary files differ
diff --git a/lib/terminfo/h/hp+pfk+cr b/lib/terminfo/h/hp+pfk+cr
index db7c3b3..c32cd87 100644
--- a/lib/terminfo/h/hp+pfk+cr
+++ b/lib/terminfo/h/hp+pfk+cr
Binary files differ
diff --git a/lib/terminfo/h/hp+pfk-cr b/lib/terminfo/h/hp+pfk-cr
index b3414a4..163b459 100644
--- a/lib/terminfo/h/hp+pfk-cr
+++ b/lib/terminfo/h/hp+pfk-cr
Binary files differ
diff --git a/lib/terminfo/h/hp110 b/lib/terminfo/h/hp110
index daf8929..b34d472 100644
--- a/lib/terminfo/h/hp110
+++ b/lib/terminfo/h/hp110
Binary files differ
diff --git a/lib/terminfo/h/hp150 b/lib/terminfo/h/hp150
index 1c8cb67..5b5c481 100644
--- a/lib/terminfo/h/hp150
+++ b/lib/terminfo/h/hp150
Binary files differ
diff --git a/lib/terminfo/h/hp2 b/lib/terminfo/h/hp2
index 66b03cf..6f8c911 100644
--- a/lib/terminfo/h/hp2
+++ b/lib/terminfo/h/hp2
Binary files differ
diff --git a/lib/terminfo/h/hp2382 b/lib/terminfo/h/hp2382
deleted file mode 120000
index 5a44cc8..0000000
--- a/lib/terminfo/h/hp2382
+++ /dev/null
@@ -1 +0,0 @@
-hp2382a
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2382 b/lib/terminfo/h/hp2382
new file mode 100644
index 0000000..3fa1684
--- /dev/null
+++ b/lib/terminfo/h/hp2382
Binary files differ
diff --git a/lib/terminfo/h/hp2382a b/lib/terminfo/h/hp2382a
index 4cf0078..3fa1684 100644
--- a/lib/terminfo/h/hp2382a
+++ b/lib/terminfo/h/hp2382a
Binary files differ
diff --git a/lib/terminfo/h/hp2392 b/lib/terminfo/h/hp2392
index 8e9ff3a..63fb982 100644
--- a/lib/terminfo/h/hp2392
+++ b/lib/terminfo/h/hp2392
Binary files differ
diff --git a/lib/terminfo/h/hp2397 b/lib/terminfo/h/hp2397
deleted file mode 120000
index 66ba1c7..0000000
--- a/lib/terminfo/h/hp2397
+++ /dev/null
@@ -1 +0,0 @@
-hp2397a
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2397 b/lib/terminfo/h/hp2397
new file mode 100644
index 0000000..70ea75d
--- /dev/null
+++ b/lib/terminfo/h/hp2397
Binary files differ
diff --git a/lib/terminfo/h/hp2397a b/lib/terminfo/h/hp2397a
index 8efcaf3..70ea75d 100644
--- a/lib/terminfo/h/hp2397a
+++ b/lib/terminfo/h/hp2397a
Binary files differ
diff --git a/lib/terminfo/h/hp2621 b/lib/terminfo/h/hp2621
index f70d25f..e01ee35 100644
--- a/lib/terminfo/h/hp2621
+++ b/lib/terminfo/h/hp2621
Binary files differ
diff --git a/lib/terminfo/h/hp2621-48 b/lib/terminfo/h/hp2621-48
index 1f490ae..71ae4a0 100644
--- a/lib/terminfo/h/hp2621-48
+++ b/lib/terminfo/h/hp2621-48
Binary files differ
diff --git a/lib/terminfo/h/hp2621-ba b/lib/terminfo/h/hp2621-ba
index c4cc331..0bbecc6 100644
--- a/lib/terminfo/h/hp2621-ba
+++ b/lib/terminfo/h/hp2621-ba
Binary files differ
diff --git a/lib/terminfo/h/hp2621-fl b/lib/terminfo/h/hp2621-fl
index 80b911d..744dc4a 100644
--- a/lib/terminfo/h/hp2621-fl
+++ b/lib/terminfo/h/hp2621-fl
Binary files differ
diff --git a/lib/terminfo/h/hp2621-k45 b/lib/terminfo/h/hp2621-k45
index 721c09e..0449f5d 100644
--- a/lib/terminfo/h/hp2621-k45
+++ b/lib/terminfo/h/hp2621-k45
Binary files differ
diff --git a/lib/terminfo/h/hp2621-nl b/lib/terminfo/h/hp2621-nl
index a8a3591..95ec9ad 100644
--- a/lib/terminfo/h/hp2621-nl
+++ b/lib/terminfo/h/hp2621-nl
Binary files differ
diff --git a/lib/terminfo/h/hp2621-nt b/lib/terminfo/h/hp2621-nt
index b480946..6c88515 100644
--- a/lib/terminfo/h/hp2621-nt
+++ b/lib/terminfo/h/hp2621-nt
Binary files differ
diff --git a/lib/terminfo/h/hp2621-wl b/lib/terminfo/h/hp2621-wl
deleted file mode 120000
index 3b57375..0000000
--- a/lib/terminfo/h/hp2621-wl
+++ /dev/null
@@ -1 +0,0 @@
-hp2621
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2621-wl b/lib/terminfo/h/hp2621-wl
new file mode 100644
index 0000000..e01ee35
--- /dev/null
+++ b/lib/terminfo/h/hp2621-wl
Binary files differ
diff --git a/lib/terminfo/h/hp2621A b/lib/terminfo/h/hp2621A
deleted file mode 120000
index 3b57375..0000000
--- a/lib/terminfo/h/hp2621A
+++ /dev/null
@@ -1 +0,0 @@
-hp2621
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2621A b/lib/terminfo/h/hp2621A
new file mode 100644
index 0000000..e01ee35
--- /dev/null
+++ b/lib/terminfo/h/hp2621A
Binary files differ
diff --git a/lib/terminfo/h/hp2621a b/lib/terminfo/h/hp2621a
deleted file mode 120000
index 3b57375..0000000
--- a/lib/terminfo/h/hp2621a
+++ /dev/null
@@ -1 +0,0 @@
-hp2621
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2621a b/lib/terminfo/h/hp2621a
new file mode 100644
index 0000000..e01ee35
--- /dev/null
+++ b/lib/terminfo/h/hp2621a
Binary files differ
diff --git a/lib/terminfo/h/hp2621a-a b/lib/terminfo/h/hp2621a-a
deleted file mode 120000
index c63a4ec..0000000
--- a/lib/terminfo/h/hp2621a-a
+++ /dev/null
@@ -1 +0,0 @@
-hp2621-a
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2621a-a b/lib/terminfo/h/hp2621a-a
new file mode 100644
index 0000000..6baa75c
--- /dev/null
+++ b/lib/terminfo/h/hp2621a-a
Binary files differ
diff --git a/lib/terminfo/h/hp2621b b/lib/terminfo/h/hp2621b
index fa4fec7..4421e59 100644
--- a/lib/terminfo/h/hp2621b
+++ b/lib/terminfo/h/hp2621b
Binary files differ
diff --git a/lib/terminfo/h/hp2621b-kx b/lib/terminfo/h/hp2621b-kx
index af4cee6..21b76e5 100644
--- a/lib/terminfo/h/hp2621b-kx
+++ b/lib/terminfo/h/hp2621b-kx
Binary files differ
diff --git a/lib/terminfo/h/hp2621b-kx-p b/lib/terminfo/h/hp2621b-kx-p
index cb8550a..bf52d6f 100644
--- a/lib/terminfo/h/hp2621b-kx-p
+++ b/lib/terminfo/h/hp2621b-kx-p
Binary files differ
diff --git a/lib/terminfo/h/hp2621b-p b/lib/terminfo/h/hp2621b-p
index 6b95df7..60ff8b5 100644
--- a/lib/terminfo/h/hp2621b-p
+++ b/lib/terminfo/h/hp2621b-p
Binary files differ
diff --git a/lib/terminfo/h/hp2621k45 b/lib/terminfo/h/hp2621k45
deleted file mode 120000
index e8be3c9..0000000
--- a/lib/terminfo/h/hp2621k45
+++ /dev/null
@@ -1 +0,0 @@
-hp2621-k45
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2621k45 b/lib/terminfo/h/hp2621k45
new file mode 100644
index 0000000..0449f5d
--- /dev/null
+++ b/lib/terminfo/h/hp2621k45
Binary files differ
diff --git a/lib/terminfo/h/hp2621p b/lib/terminfo/h/hp2621p
index cb82fea..9201e98 100644
--- a/lib/terminfo/h/hp2621p
+++ b/lib/terminfo/h/hp2621p
Binary files differ
diff --git a/lib/terminfo/h/hp2621p-a b/lib/terminfo/h/hp2621p-a
index 94207bf..0c4e4fd 100644
--- a/lib/terminfo/h/hp2621p-a
+++ b/lib/terminfo/h/hp2621p-a
Binary files differ
diff --git a/lib/terminfo/h/hp2622 b/lib/terminfo/h/hp2622
index 82ebf21..6282a07 100644
--- a/lib/terminfo/h/hp2622
+++ b/lib/terminfo/h/hp2622
Binary files differ
diff --git a/lib/terminfo/h/hp2622a b/lib/terminfo/h/hp2622a
deleted file mode 120000
index 9b25d77..0000000
--- a/lib/terminfo/h/hp2622a
+++ /dev/null
@@ -1 +0,0 @@
-hp2622
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2622a b/lib/terminfo/h/hp2622a
new file mode 100644
index 0000000..6282a07
--- /dev/null
+++ b/lib/terminfo/h/hp2622a
Binary files differ
diff --git a/lib/terminfo/h/hp2623 b/lib/terminfo/h/hp2623
index 213d113..78809df 100644
--- a/lib/terminfo/h/hp2623
+++ b/lib/terminfo/h/hp2623
Binary files differ
diff --git a/lib/terminfo/h/hp2623a b/lib/terminfo/h/hp2623a
deleted file mode 120000
index a3549a1..0000000
--- a/lib/terminfo/h/hp2623a
+++ /dev/null
@@ -1 +0,0 @@
-hp2623
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2623a b/lib/terminfo/h/hp2623a
new file mode 100644
index 0000000..78809df
--- /dev/null
+++ b/lib/terminfo/h/hp2623a
Binary files differ
diff --git a/lib/terminfo/h/hp2624-10p b/lib/terminfo/h/hp2624-10p
index 9cb5766..194ab13 100644
--- a/lib/terminfo/h/hp2624-10p
+++ b/lib/terminfo/h/hp2624-10p
Binary files differ
diff --git a/lib/terminfo/h/hp2624a b/lib/terminfo/h/hp2624a
deleted file mode 120000
index e35de52..0000000
--- a/lib/terminfo/h/hp2624a
+++ /dev/null
@@ -1 +0,0 @@
-hp2624
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624a b/lib/terminfo/h/hp2624a
new file mode 100644
index 0000000..b5a829a
--- /dev/null
+++ b/lib/terminfo/h/hp2624a
Binary files differ
diff --git a/lib/terminfo/h/hp2624a-10p b/lib/terminfo/h/hp2624a-10p
deleted file mode 120000
index 6f1a03a..0000000
--- a/lib/terminfo/h/hp2624a-10p
+++ /dev/null
@@ -1 +0,0 @@
-hp2624-10p
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624a-10p b/lib/terminfo/h/hp2624a-10p
new file mode 100644
index 0000000..194ab13
--- /dev/null
+++ b/lib/terminfo/h/hp2624a-10p
Binary files differ
diff --git a/lib/terminfo/h/hp2624b b/lib/terminfo/h/hp2624b
deleted file mode 120000
index e35de52..0000000
--- a/lib/terminfo/h/hp2624b
+++ /dev/null
@@ -1 +0,0 @@
-hp2624
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624b b/lib/terminfo/h/hp2624b
new file mode 100644
index 0000000..b5a829a
--- /dev/null
+++ b/lib/terminfo/h/hp2624b
Binary files differ
diff --git a/lib/terminfo/h/hp2624b-10p b/lib/terminfo/h/hp2624b-10p
deleted file mode 120000
index 6f1a03a..0000000
--- a/lib/terminfo/h/hp2624b-10p
+++ /dev/null
@@ -1 +0,0 @@
-hp2624-10p
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624b-10p b/lib/terminfo/h/hp2624b-10p
new file mode 100644
index 0000000..194ab13
--- /dev/null
+++ b/lib/terminfo/h/hp2624b-10p
Binary files differ
diff --git a/lib/terminfo/h/hp2624b-10p-p b/lib/terminfo/h/hp2624b-10p-p
index bc348ac..3a846f1 100644
--- a/lib/terminfo/h/hp2624b-10p-p
+++ b/lib/terminfo/h/hp2624b-10p-p
Binary files differ
diff --git a/lib/terminfo/h/hp2624b-4p b/lib/terminfo/h/hp2624b-4p
deleted file mode 120000
index e35de52..0000000
--- a/lib/terminfo/h/hp2624b-4p
+++ /dev/null
@@ -1 +0,0 @@
-hp2624
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624b-4p b/lib/terminfo/h/hp2624b-4p
new file mode 100644
index 0000000..b5a829a
--- /dev/null
+++ b/lib/terminfo/h/hp2624b-4p
Binary files differ
diff --git a/lib/terminfo/h/hp2624b-4p-p b/lib/terminfo/h/hp2624b-4p-p
deleted file mode 120000
index 9d9b144..0000000
--- a/lib/terminfo/h/hp2624b-4p-p
+++ /dev/null
@@ -1 +0,0 @@
-hp2624b-p
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2624b-4p-p b/lib/terminfo/h/hp2624b-4p-p
new file mode 100644
index 0000000..b60cbfe
--- /dev/null
+++ b/lib/terminfo/h/hp2624b-4p-p
Binary files differ
diff --git a/lib/terminfo/h/hp2624b-p b/lib/terminfo/h/hp2624b-p
index 44d6740..b60cbfe 100644
--- a/lib/terminfo/h/hp2624b-p
+++ b/lib/terminfo/h/hp2624b-p
Binary files differ
diff --git a/lib/terminfo/h/hp2626 b/lib/terminfo/h/hp2626
index ee400c7..516fc40 100644
--- a/lib/terminfo/h/hp2626
+++ b/lib/terminfo/h/hp2626
Binary files differ
diff --git a/lib/terminfo/h/hp2626-12 b/lib/terminfo/h/hp2626-12
index 258c3d2..292c3ce 100644
--- a/lib/terminfo/h/hp2626-12
+++ b/lib/terminfo/h/hp2626-12
Binary files differ
diff --git a/lib/terminfo/h/hp2626-12-s b/lib/terminfo/h/hp2626-12-s
index 386bd85..e326b9e 100644
--- a/lib/terminfo/h/hp2626-12-s
+++ b/lib/terminfo/h/hp2626-12-s
Binary files differ
diff --git a/lib/terminfo/h/hp2626-12x40 b/lib/terminfo/h/hp2626-12x40
index 9a7b10c..131b46d 100644
--- a/lib/terminfo/h/hp2626-12x40
+++ b/lib/terminfo/h/hp2626-12x40
Binary files differ
diff --git a/lib/terminfo/h/hp2626-ns b/lib/terminfo/h/hp2626-ns
index 7bbf81b..d800ad3 100644
--- a/lib/terminfo/h/hp2626-ns
+++ b/lib/terminfo/h/hp2626-ns
Binary files differ
diff --git a/lib/terminfo/h/hp2626-s b/lib/terminfo/h/hp2626-s
index ade9a47..4563ad9 100644
--- a/lib/terminfo/h/hp2626-s
+++ b/lib/terminfo/h/hp2626-s
Binary files differ
diff --git a/lib/terminfo/h/hp2626-x40 b/lib/terminfo/h/hp2626-x40
index dc8f8d0..ef11244 100644
--- a/lib/terminfo/h/hp2626-x40
+++ b/lib/terminfo/h/hp2626-x40
Binary files differ
diff --git a/lib/terminfo/h/hp2626a b/lib/terminfo/h/hp2626a
deleted file mode 120000
index 07e3377..0000000
--- a/lib/terminfo/h/hp2626a
+++ /dev/null
@@ -1 +0,0 @@
-hp2626
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2626a b/lib/terminfo/h/hp2626a
new file mode 100644
index 0000000..516fc40
--- /dev/null
+++ b/lib/terminfo/h/hp2626a
Binary files differ
diff --git a/lib/terminfo/h/hp2626p b/lib/terminfo/h/hp2626p
deleted file mode 120000
index 07e3377..0000000
--- a/lib/terminfo/h/hp2626p
+++ /dev/null
@@ -1 +0,0 @@
-hp2626
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2626p b/lib/terminfo/h/hp2626p
new file mode 100644
index 0000000..516fc40
--- /dev/null
+++ b/lib/terminfo/h/hp2626p
Binary files differ
diff --git a/lib/terminfo/h/hp2627a b/lib/terminfo/h/hp2627a
index eb00534..e45d101 100644
--- a/lib/terminfo/h/hp2627a
+++ b/lib/terminfo/h/hp2627a
Binary files differ
diff --git a/lib/terminfo/h/hp2627a-rev b/lib/terminfo/h/hp2627a-rev
index f5ba87a..65bdb1d 100644
--- a/lib/terminfo/h/hp2627a-rev
+++ b/lib/terminfo/h/hp2627a-rev
Binary files differ
diff --git a/lib/terminfo/h/hp2627c b/lib/terminfo/h/hp2627c
index 2cc5a9b..61f9e2c 100644
--- a/lib/terminfo/h/hp2627c
+++ b/lib/terminfo/h/hp2627c
Binary files differ
diff --git a/lib/terminfo/h/hp2640a b/lib/terminfo/h/hp2640a
index 4db450d..def2ae2 100644
--- a/lib/terminfo/h/hp2640a
+++ b/lib/terminfo/h/hp2640a
Binary files differ
diff --git a/lib/terminfo/h/hp2640b b/lib/terminfo/h/hp2640b
index 116ede3..80f570e 100644
--- a/lib/terminfo/h/hp2640b
+++ b/lib/terminfo/h/hp2640b
Binary files differ
diff --git a/lib/terminfo/h/hp2641a b/lib/terminfo/h/hp2641a
index a490564..bee3310 100644
--- a/lib/terminfo/h/hp2641a
+++ b/lib/terminfo/h/hp2641a
Binary files differ
diff --git a/lib/terminfo/h/hp2644a b/lib/terminfo/h/hp2644a
deleted file mode 120000
index 74b52d3..0000000
--- a/lib/terminfo/h/hp2644a
+++ /dev/null
@@ -1 +0,0 @@
-hp2640b
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2644a b/lib/terminfo/h/hp2644a
new file mode 100644
index 0000000..80f570e
--- /dev/null
+++ b/lib/terminfo/h/hp2644a
Binary files differ
diff --git a/lib/terminfo/h/hp2645a b/lib/terminfo/h/hp2645a
deleted file mode 120000
index d58b556..0000000
--- a/lib/terminfo/h/hp2645a
+++ /dev/null
@@ -1 +0,0 @@
-hp2641a
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2645a b/lib/terminfo/h/hp2645a
new file mode 100644
index 0000000..bee3310
--- /dev/null
+++ b/lib/terminfo/h/hp2645a
Binary files differ
diff --git a/lib/terminfo/h/hp2647a b/lib/terminfo/h/hp2647a
deleted file mode 120000
index d58b556..0000000
--- a/lib/terminfo/h/hp2647a
+++ /dev/null
@@ -1 +0,0 @@
-hp2641a
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2647a b/lib/terminfo/h/hp2647a
new file mode 100644
index 0000000..bee3310
--- /dev/null
+++ b/lib/terminfo/h/hp2647a
Binary files differ
diff --git a/lib/terminfo/h/hp2648a b/lib/terminfo/h/hp2648a
deleted file mode 120000
index 597e951..0000000
--- a/lib/terminfo/h/hp2648a
+++ /dev/null
@@ -1 +0,0 @@
-hp2648
\ No newline at end of file
diff --git a/lib/terminfo/h/hp2648a b/lib/terminfo/h/hp2648a
new file mode 100644
index 0000000..d6208cb
--- /dev/null
+++ b/lib/terminfo/h/hp2648a
Binary files differ
diff --git a/lib/terminfo/h/hp300h b/lib/terminfo/h/hp300h
index 7913c4c..664cdfe 100644
--- a/lib/terminfo/h/hp300h
+++ b/lib/terminfo/h/hp300h
Binary files differ
diff --git a/lib/terminfo/h/hp45 b/lib/terminfo/h/hp45
deleted file mode 120000
index bfb3cb2..0000000
--- a/lib/terminfo/h/hp45
+++ /dev/null
@@ -1 +0,0 @@
-hp2645
\ No newline at end of file
diff --git a/lib/terminfo/h/hp45 b/lib/terminfo/h/hp45
new file mode 100644
index 0000000..9cff16b
--- /dev/null
+++ b/lib/terminfo/h/hp45
Binary files differ
diff --git a/lib/terminfo/h/hp700 b/lib/terminfo/h/hp700
deleted file mode 120000
index 94a27a1..0000000
--- a/lib/terminfo/h/hp700
+++ /dev/null
@@ -1 +0,0 @@
-hpansi
\ No newline at end of file
diff --git a/lib/terminfo/h/hp700 b/lib/terminfo/h/hp700
new file mode 100644
index 0000000..15a4121
--- /dev/null
+++ b/lib/terminfo/h/hp700
Binary files differ
diff --git a/lib/terminfo/h/hp700-wy b/lib/terminfo/h/hp700-wy
index 1144f6c..d591798 100644
--- a/lib/terminfo/h/hp700-wy
+++ b/lib/terminfo/h/hp700-wy
Binary files differ
diff --git a/lib/terminfo/h/hp70092A b/lib/terminfo/h/hp70092A
deleted file mode 120000
index c47d4d7..0000000
--- a/lib/terminfo/h/hp70092A
+++ /dev/null
@@ -1 +0,0 @@
-hp70092
\ No newline at end of file
diff --git a/lib/terminfo/h/hp70092A b/lib/terminfo/h/hp70092A
new file mode 100644
index 0000000..45f91b2
--- /dev/null
+++ b/lib/terminfo/h/hp70092A
Binary files differ
diff --git a/lib/terminfo/h/hp70092a b/lib/terminfo/h/hp70092a
deleted file mode 120000
index c47d4d7..0000000
--- a/lib/terminfo/h/hp70092a
+++ /dev/null
@@ -1 +0,0 @@
-hp70092
\ No newline at end of file
diff --git a/lib/terminfo/h/hp70092a b/lib/terminfo/h/hp70092a
new file mode 100644
index 0000000..45f91b2
--- /dev/null
+++ b/lib/terminfo/h/hp70092a
Binary files differ
diff --git a/lib/terminfo/h/hp9845 b/lib/terminfo/h/hp9845
index ded5e9f..43f1c29 100644
--- a/lib/terminfo/h/hp9845
+++ b/lib/terminfo/h/hp9845
Binary files differ
diff --git a/lib/terminfo/h/hp98550 b/lib/terminfo/h/hp98550
index 903bcce..0800f97 100644
--- a/lib/terminfo/h/hp98550
+++ b/lib/terminfo/h/hp98550
Binary files differ
diff --git a/lib/terminfo/h/hp98550-color b/lib/terminfo/h/hp98550-color
new file mode 100644
index 0000000..9ce7748
--- /dev/null
+++ b/lib/terminfo/h/hp98550-color
Binary files differ
diff --git a/lib/terminfo/h/hp98550a b/lib/terminfo/h/hp98550a
deleted file mode 120000
index d31bff8..0000000
--- a/lib/terminfo/h/hp98550a
+++ /dev/null
@@ -1 +0,0 @@
-hp98550
\ No newline at end of file
diff --git a/lib/terminfo/h/hp98550a b/lib/terminfo/h/hp98550a
new file mode 100644
index 0000000..0800f97
--- /dev/null
+++ b/lib/terminfo/h/hp98550a
Binary files differ
diff --git a/lib/terminfo/h/hp98550a-color b/lib/terminfo/h/hp98550a-color
new file mode 100644
index 0000000..9ce7748
--- /dev/null
+++ b/lib/terminfo/h/hp98550a-color
Binary files differ
diff --git a/lib/terminfo/h/hp98720 b/lib/terminfo/h/hp98720
deleted file mode 120000
index 601079c..0000000
--- a/lib/terminfo/h/hp98720
+++ /dev/null
@@ -1 +0,0 @@
-hp9837
\ No newline at end of file
diff --git a/lib/terminfo/h/hp98720 b/lib/terminfo/h/hp98720
new file mode 100644
index 0000000..7e57ca7
--- /dev/null
+++ b/lib/terminfo/h/hp98720
Binary files differ
diff --git a/lib/terminfo/h/hp98721 b/lib/terminfo/h/hp98721
deleted file mode 120000
index 601079c..0000000
--- a/lib/terminfo/h/hp98721
+++ /dev/null
@@ -1 +0,0 @@
-hp9837
\ No newline at end of file
diff --git a/lib/terminfo/h/hp98721 b/lib/terminfo/h/hp98721
new file mode 100644
index 0000000..7e57ca7
--- /dev/null
+++ b/lib/terminfo/h/hp98721
Binary files differ
diff --git a/lib/terminfo/h/hpansi b/lib/terminfo/h/hpansi
index d7e9766..15a4121 100644
--- a/lib/terminfo/h/hpansi
+++ b/lib/terminfo/h/hpansi
Binary files differ
diff --git a/lib/terminfo/h/hpex b/lib/terminfo/h/hpex
index 8c251d7..263b22d 100644
--- a/lib/terminfo/h/hpex
+++ b/lib/terminfo/h/hpex
Binary files differ
diff --git a/lib/terminfo/h/hpex2 b/lib/terminfo/h/hpex2
deleted file mode 120000
index bb6735d..0000000
--- a/lib/terminfo/h/hpex2
+++ /dev/null
@@ -1 +0,0 @@
-hp2
\ No newline at end of file
diff --git a/lib/terminfo/h/hpex2 b/lib/terminfo/h/hpex2
new file mode 100644
index 0000000..6f8c911
--- /dev/null
+++ b/lib/terminfo/h/hpex2
Binary files differ
diff --git a/lib/terminfo/h/hpgeneric b/lib/terminfo/h/hpgeneric
index 6e6886d..b3f1b13 100644
--- a/lib/terminfo/h/hpgeneric
+++ b/lib/terminfo/h/hpgeneric
Binary files differ
diff --git a/lib/terminfo/h/hpsub b/lib/terminfo/h/hpsub
index 8f1ab98..82fbca4 100644
--- a/lib/terminfo/h/hpsub
+++ b/lib/terminfo/h/hpsub
Binary files differ
diff --git a/lib/terminfo/h/hpterm b/lib/terminfo/h/hpterm
index abccffb..99dd05a 100644
--- a/lib/terminfo/h/hpterm
+++ b/lib/terminfo/h/hpterm
Binary files differ
diff --git a/lib/terminfo/h/hpterm-color b/lib/terminfo/h/hpterm-color
index db2acc9..e936859 100644
--- a/lib/terminfo/h/hpterm-color
+++ b/lib/terminfo/h/hpterm-color
Binary files differ
diff --git a/lib/terminfo/h/hpterm-color2 b/lib/terminfo/h/hpterm-color2
new file mode 100644
index 0000000..79ff772
--- /dev/null
+++ b/lib/terminfo/h/hpterm-color2
Binary files differ
diff --git a/lib/terminfo/h/hterm b/lib/terminfo/h/hterm
new file mode 100644
index 0000000..01690c1
--- /dev/null
+++ b/lib/terminfo/h/hterm
Binary files differ
diff --git a/lib/terminfo/h/hterm-256color b/lib/terminfo/h/hterm-256color
new file mode 100644
index 0000000..66c9783
--- /dev/null
+++ b/lib/terminfo/h/hterm-256color
Binary files differ
diff --git a/lib/terminfo/h/htx11 b/lib/terminfo/h/htx11
deleted file mode 120000
index 10e0aa8..0000000
--- a/lib/terminfo/h/htx11
+++ /dev/null
@@ -1 +0,0 @@
-../z/ztx
\ No newline at end of file
diff --git a/lib/terminfo/h/htx11 b/lib/terminfo/h/htx11
new file mode 100644
index 0000000..91424b2
--- /dev/null
+++ b/lib/terminfo/h/htx11
Binary files differ
diff --git a/lib/terminfo/h/hurd b/lib/terminfo/h/hurd
index 0327b91..4624d7c 100644
--- a/lib/terminfo/h/hurd
+++ b/lib/terminfo/h/hurd
Binary files differ
diff --git a/lib/terminfo/h/hz1000 b/lib/terminfo/h/hz1000
index 902cedd..4ba098d 100644
--- a/lib/terminfo/h/hz1000
+++ b/lib/terminfo/h/hz1000
Binary files differ
diff --git a/lib/terminfo/h/hz1420 b/lib/terminfo/h/hz1420
index 28caf2e..5f82b7e 100644
--- a/lib/terminfo/h/hz1420
+++ b/lib/terminfo/h/hz1420
Binary files differ
diff --git a/lib/terminfo/h/hz1500 b/lib/terminfo/h/hz1500
index 193818c..c0e7c63 100644
--- a/lib/terminfo/h/hz1500
+++ b/lib/terminfo/h/hz1500
Binary files differ
diff --git a/lib/terminfo/h/hz1510 b/lib/terminfo/h/hz1510
index 69d1bdf..96d7e73 100644
--- a/lib/terminfo/h/hz1510
+++ b/lib/terminfo/h/hz1510
Binary files differ
diff --git a/lib/terminfo/h/hz1520-noesc b/lib/terminfo/h/hz1520-noesc
index 5124b5a..2e30d68 100644
--- a/lib/terminfo/h/hz1520-noesc
+++ b/lib/terminfo/h/hz1520-noesc
Binary files differ
diff --git a/lib/terminfo/h/hz1552 b/lib/terminfo/h/hz1552
index 24a9b6d..ddb8dd1 100644
--- a/lib/terminfo/h/hz1552
+++ b/lib/terminfo/h/hz1552
Binary files differ
diff --git a/lib/terminfo/h/hz1552-rv b/lib/terminfo/h/hz1552-rv
index 8b3f84d..be0b174 100644
--- a/lib/terminfo/h/hz1552-rv
+++ b/lib/terminfo/h/hz1552-rv
Binary files differ
diff --git a/lib/terminfo/h/hz2000 b/lib/terminfo/h/hz2000
index 947795d..c3f4b90 100644
--- a/lib/terminfo/h/hz2000
+++ b/lib/terminfo/h/hz2000
Binary files differ
diff --git a/lib/terminfo/i/i3101 b/lib/terminfo/i/i3101
deleted file mode 120000
index e589701..0000000
--- a/lib/terminfo/i/i3101
+++ /dev/null
@@ -1 +0,0 @@
-ibm3101
\ No newline at end of file
diff --git a/lib/terminfo/i/i3101 b/lib/terminfo/i/i3101
new file mode 100644
index 0000000..5c1853e
--- /dev/null
+++ b/lib/terminfo/i/i3101
Binary files differ
diff --git a/lib/terminfo/i/i3164 b/lib/terminfo/i/i3164
deleted file mode 120000
index 510cd16..0000000
--- a/lib/terminfo/i/i3164
+++ /dev/null
@@ -1 +0,0 @@
-ibm3164
\ No newline at end of file
diff --git a/lib/terminfo/i/i3164 b/lib/terminfo/i/i3164
new file mode 100644
index 0000000..0b862b5
--- /dev/null
+++ b/lib/terminfo/i/i3164
Binary files differ
diff --git a/lib/terminfo/i/i400 b/lib/terminfo/i/i400
index 0ebe858..376904e 100644
--- a/lib/terminfo/i/i400
+++ b/lib/terminfo/i/i400
Binary files differ
diff --git a/lib/terminfo/i/iTerm.app b/lib/terminfo/i/iTerm.app
index 34834fd..1484a67 100644
--- a/lib/terminfo/i/iTerm.app
+++ b/lib/terminfo/i/iTerm.app
Binary files differ
diff --git a/lib/terminfo/i/iTerm2.app b/lib/terminfo/i/iTerm2.app
new file mode 100644
index 0000000..683de7a
--- /dev/null
+++ b/lib/terminfo/i/iTerm2.app
Binary files differ
diff --git a/lib/terminfo/i/ibm-system1 b/lib/terminfo/i/ibm-system1
index 4bfce21..39ab6a3 100644
--- a/lib/terminfo/i/ibm-system1
+++ b/lib/terminfo/i/ibm-system1
Binary files differ
diff --git a/lib/terminfo/i/ibm3163 b/lib/terminfo/i/ibm3163
deleted file mode 120000
index 0dfbdae..0000000
--- a/lib/terminfo/i/ibm3163
+++ /dev/null
@@ -1 +0,0 @@
-ibm3161
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm3163 b/lib/terminfo/i/ibm3163
new file mode 100644
index 0000000..dad679d
--- /dev/null
+++ b/lib/terminfo/i/ibm3163
Binary files differ
diff --git a/lib/terminfo/i/ibm5051 b/lib/terminfo/i/ibm5051
deleted file mode 120000
index aa0b02f..0000000
--- a/lib/terminfo/i/ibm5051
+++ /dev/null
@@ -1 +0,0 @@
-ibm-pc
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm5051 b/lib/terminfo/i/ibm5051
new file mode 100644
index 0000000..ec3766c
--- /dev/null
+++ b/lib/terminfo/i/ibm5051
Binary files differ
diff --git a/lib/terminfo/i/ibm5154-c b/lib/terminfo/i/ibm5154-c
deleted file mode 120000
index 31ace86..0000000
--- a/lib/terminfo/i/ibm5154-c
+++ /dev/null
@@ -1 +0,0 @@
-ibmega-c
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm5154-c b/lib/terminfo/i/ibm5154-c
new file mode 100644
index 0000000..f7fce9a
--- /dev/null
+++ b/lib/terminfo/i/ibm5154-c
Binary files differ
diff --git a/lib/terminfo/i/ibm6153 b/lib/terminfo/i/ibm6153
index 21615b8..3ff9747 100644
--- a/lib/terminfo/i/ibm6153
+++ b/lib/terminfo/i/ibm6153
Binary files differ
diff --git a/lib/terminfo/i/ibm6153-40 b/lib/terminfo/i/ibm6153-40
index bebd569..08f7db6 100644
--- a/lib/terminfo/i/ibm6153-40
+++ b/lib/terminfo/i/ibm6153-40
Binary files differ
diff --git a/lib/terminfo/i/ibm6153-90 b/lib/terminfo/i/ibm6153-90
index df9a691..1a6cb31 100644
--- a/lib/terminfo/i/ibm6153-90
+++ b/lib/terminfo/i/ibm6153-90
Binary files differ
diff --git a/lib/terminfo/i/ibm6154 b/lib/terminfo/i/ibm6154
index a723b30..f97c87a 100644
--- a/lib/terminfo/i/ibm6154
+++ b/lib/terminfo/i/ibm6154
Binary files differ
diff --git a/lib/terminfo/i/ibm6154-c b/lib/terminfo/i/ibm6154-c
deleted file mode 120000
index be300b2..0000000
--- a/lib/terminfo/i/ibm6154-c
+++ /dev/null
@@ -1 +0,0 @@
-ibmapa8c-c
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm6154-c b/lib/terminfo/i/ibm6154-c
new file mode 100644
index 0000000..5f9b30a
--- /dev/null
+++ b/lib/terminfo/i/ibm6154-c
Binary files differ
diff --git a/lib/terminfo/i/ibm8507 b/lib/terminfo/i/ibm8507
deleted file mode 120000
index a06edd0..0000000
--- a/lib/terminfo/i/ibm8507
+++ /dev/null
@@ -1 +0,0 @@
-ibm8503
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm8507 b/lib/terminfo/i/ibm8507
new file mode 100644
index 0000000..4870e23
--- /dev/null
+++ b/lib/terminfo/i/ibm8507
Binary files differ
diff --git a/lib/terminfo/i/ibm8513 b/lib/terminfo/i/ibm8513
deleted file mode 120000
index 6203693..0000000
--- a/lib/terminfo/i/ibm8513
+++ /dev/null
@@ -1 +0,0 @@
-ibm8512
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm8513 b/lib/terminfo/i/ibm8513
new file mode 100644
index 0000000..fd97cbe
--- /dev/null
+++ b/lib/terminfo/i/ibm8513
Binary files differ
diff --git a/lib/terminfo/i/ibm8604 b/lib/terminfo/i/ibm8604
deleted file mode 120000
index a06edd0..0000000
--- a/lib/terminfo/i/ibm8604
+++ /dev/null
@@ -1 +0,0 @@
-ibm8503
\ No newline at end of file
diff --git a/lib/terminfo/i/ibm8604 b/lib/terminfo/i/ibm8604
new file mode 100644
index 0000000..4870e23
--- /dev/null
+++ b/lib/terminfo/i/ibm8604
Binary files differ
diff --git a/lib/terminfo/i/ibmapa16 b/lib/terminfo/i/ibmapa16
deleted file mode 120000
index e687433..0000000
--- a/lib/terminfo/i/ibmapa16
+++ /dev/null
@@ -1 +0,0 @@
-../r/rtpc
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmapa16 b/lib/terminfo/i/ibmapa16
new file mode 100644
index 0000000..46bd1af
--- /dev/null
+++ b/lib/terminfo/i/ibmapa16
Binary files differ
diff --git a/lib/terminfo/i/ibmapa8 b/lib/terminfo/i/ibmapa8
deleted file mode 120000
index 7f5e24a..0000000
--- a/lib/terminfo/i/ibmapa8
+++ /dev/null
@@ -1 +0,0 @@
-ibmapa8c
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmapa8 b/lib/terminfo/i/ibmapa8
new file mode 100644
index 0000000..9be7016
--- /dev/null
+++ b/lib/terminfo/i/ibmapa8
Binary files differ
diff --git a/lib/terminfo/i/ibmmpel-c b/lib/terminfo/i/ibmmpel-c
deleted file mode 120000
index 5523c50..0000000
--- a/lib/terminfo/i/ibmmpel-c
+++ /dev/null
@@ -1 +0,0 @@
-ibm5081-c
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmmpel-c b/lib/terminfo/i/ibmmpel-c
new file mode 100644
index 0000000..abbdc03
--- /dev/null
+++ b/lib/terminfo/i/ibmmpel-c
Binary files differ
diff --git a/lib/terminfo/i/ibmpc3 b/lib/terminfo/i/ibmpc3
index 79d992d..98594f3 100644
--- a/lib/terminfo/i/ibmpc3
+++ b/lib/terminfo/i/ibmpc3
Binary files differ
diff --git a/lib/terminfo/i/ibmpc3r b/lib/terminfo/i/ibmpc3r
deleted file mode 120000
index 49171c0..0000000
--- a/lib/terminfo/i/ibmpc3r
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons25r
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmpc3r b/lib/terminfo/i/ibmpc3r
new file mode 100644
index 0000000..0cb4322
--- /dev/null
+++ b/lib/terminfo/i/ibmpc3r
Binary files differ
diff --git a/lib/terminfo/i/ibmpc3r-mono b/lib/terminfo/i/ibmpc3r-mono
deleted file mode 120000
index bd709b5..0000000
--- a/lib/terminfo/i/ibmpc3r-mono
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons25r-m
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmpc3r-mono b/lib/terminfo/i/ibmpc3r-mono
new file mode 100644
index 0000000..e5cab4c
--- /dev/null
+++ b/lib/terminfo/i/ibmpc3r-mono
Binary files differ
diff --git a/lib/terminfo/i/ibmx b/lib/terminfo/i/ibmx
deleted file mode 120000
index fbc0e05..0000000
--- a/lib/terminfo/i/ibmx
+++ /dev/null
@@ -1 +0,0 @@
-ibmpcx
\ No newline at end of file
diff --git a/lib/terminfo/i/ibmx b/lib/terminfo/i/ibmx
new file mode 100644
index 0000000..86e3056
--- /dev/null
+++ b/lib/terminfo/i/ibmx
Binary files differ
diff --git a/lib/terminfo/i/icl6402 b/lib/terminfo/i/icl6402
deleted file mode 120000
index c47616d..0000000
--- a/lib/terminfo/i/icl6402
+++ /dev/null
@@ -1 +0,0 @@
-icl6404
\ No newline at end of file
diff --git a/lib/terminfo/i/icl6402 b/lib/terminfo/i/icl6402
new file mode 100644
index 0000000..4b824b4
--- /dev/null
+++ b/lib/terminfo/i/icl6402
Binary files differ
diff --git a/lib/terminfo/i/icl6404 b/lib/terminfo/i/icl6404
index 6a77452..4b824b4 100644
--- a/lib/terminfo/i/icl6404
+++ b/lib/terminfo/i/icl6404
Binary files differ
diff --git a/lib/terminfo/i/icl6404-w b/lib/terminfo/i/icl6404-w
index f2abf0e..7b11ac8 100644
--- a/lib/terminfo/i/icl6404-w
+++ b/lib/terminfo/i/icl6404-w
Binary files differ
diff --git a/lib/terminfo/i/ims-ansi b/lib/terminfo/i/ims-ansi
index 9799627..62f000f 100644
--- a/lib/terminfo/i/ims-ansi
+++ b/lib/terminfo/i/ims-ansi
Binary files differ
diff --git a/lib/terminfo/i/ims950 b/lib/terminfo/i/ims950
index 87d978c..0bd8ac0 100644
--- a/lib/terminfo/i/ims950
+++ b/lib/terminfo/i/ims950
Binary files differ
diff --git a/lib/terminfo/i/ims950-b b/lib/terminfo/i/ims950-b
index 66049a9..d68bdbe 100644
--- a/lib/terminfo/i/ims950-b
+++ b/lib/terminfo/i/ims950-b
Binary files differ
diff --git a/lib/terminfo/i/ims950-rv b/lib/terminfo/i/ims950-rv
index 2fb56d2..fa877e1 100644
--- a/lib/terminfo/i/ims950-rv
+++ b/lib/terminfo/i/ims950-rv
Binary files differ
diff --git a/lib/terminfo/i/infoton b/lib/terminfo/i/infoton
index ddc509b..91869f5 100644
--- a/lib/terminfo/i/infoton
+++ b/lib/terminfo/i/infoton
Binary files differ
diff --git a/lib/terminfo/i/infoton2 b/lib/terminfo/i/infoton2
new file mode 100644
index 0000000..cddd9d1
--- /dev/null
+++ b/lib/terminfo/i/infoton2
Binary files differ
diff --git a/lib/terminfo/i/interix b/lib/terminfo/i/interix
index 753a86b..afbcc42 100644
--- a/lib/terminfo/i/interix
+++ b/lib/terminfo/i/interix
Binary files differ
diff --git a/lib/terminfo/i/interix-nti b/lib/terminfo/i/interix-nti
index cd31fd8..a9c1fbe 100644
--- a/lib/terminfo/i/interix-nti
+++ b/lib/terminfo/i/interix-nti
Binary files differ
diff --git a/lib/terminfo/i/intertec b/lib/terminfo/i/intertec
deleted file mode 120000
index ec8d40b..0000000
--- a/lib/terminfo/i/intertec
+++ /dev/null
@@ -1 +0,0 @@
-intertube
\ No newline at end of file
diff --git a/lib/terminfo/i/intertec b/lib/terminfo/i/intertec
new file mode 100644
index 0000000..5ff0138
--- /dev/null
+++ b/lib/terminfo/i/intertec
Binary files differ
diff --git a/lib/terminfo/i/intertube2 b/lib/terminfo/i/intertube2
index c1bb3b2..548c9c0 100644
--- a/lib/terminfo/i/intertube2
+++ b/lib/terminfo/i/intertube2
Binary files differ
diff --git a/lib/terminfo/i/intextii b/lib/terminfo/i/intextii
deleted file mode 120000
index 749ed23..0000000
--- a/lib/terminfo/i/intextii
+++ /dev/null
@@ -1 +0,0 @@
-intext2
\ No newline at end of file
diff --git a/lib/terminfo/i/intextii b/lib/terminfo/i/intextii
new file mode 100644
index 0000000..7641983
--- /dev/null
+++ b/lib/terminfo/i/intextii
Binary files differ
diff --git a/lib/terminfo/i/ips b/lib/terminfo/i/ips
deleted file mode 120000
index a9b0f8e..0000000
--- a/lib/terminfo/i/ips
+++ /dev/null
@@ -1 +0,0 @@
-../c/citoh-prop
\ No newline at end of file
diff --git a/lib/terminfo/i/ips b/lib/terminfo/i/ips
new file mode 100644
index 0000000..2caacb2
--- /dev/null
+++ b/lib/terminfo/i/ips
Binary files differ
diff --git a/lib/terminfo/i/ipsi b/lib/terminfo/i/ipsi
deleted file mode 120000
index 9e8d8c3..0000000
--- a/lib/terminfo/i/ipsi
+++ /dev/null
@@ -1 +0,0 @@
-../d/diablo1620
\ No newline at end of file
diff --git a/lib/terminfo/i/ipsi b/lib/terminfo/i/ipsi
new file mode 100644
index 0000000..cc64349
--- /dev/null
+++ b/lib/terminfo/i/ipsi
Binary files differ
diff --git a/lib/terminfo/i/iq120 b/lib/terminfo/i/iq120
deleted file mode 120000
index 7c28c58..0000000
--- a/lib/terminfo/i/iq120
+++ /dev/null
@@ -1 +0,0 @@
-../s/soroc120
\ No newline at end of file
diff --git a/lib/terminfo/i/iq120 b/lib/terminfo/i/iq120
new file mode 100644
index 0000000..455d1a2
--- /dev/null
+++ b/lib/terminfo/i/iq120
Binary files differ
diff --git a/lib/terminfo/i/iq140 b/lib/terminfo/i/iq140
deleted file mode 120000
index 223672b..0000000
--- a/lib/terminfo/i/iq140
+++ /dev/null
@@ -1 +0,0 @@
-../s/soroc140
\ No newline at end of file
diff --git a/lib/terminfo/i/iq140 b/lib/terminfo/i/iq140
new file mode 100644
index 0000000..e364e46
--- /dev/null
+++ b/lib/terminfo/i/iq140
Binary files differ
diff --git a/lib/terminfo/i/iris-ansi-net b/lib/terminfo/i/iris-ansi-net
deleted file mode 120000
index 4bfebc5..0000000
--- a/lib/terminfo/i/iris-ansi-net
+++ /dev/null
@@ -1 +0,0 @@
-iris-ansi
\ No newline at end of file
diff --git a/lib/terminfo/i/iris-ansi-net b/lib/terminfo/i/iris-ansi-net
new file mode 100644
index 0000000..f011423
--- /dev/null
+++ b/lib/terminfo/i/iris-ansi-net
Binary files differ
diff --git a/lib/terminfo/i/iris40 b/lib/terminfo/i/iris40
deleted file mode 120000
index 6aa955d..0000000
--- a/lib/terminfo/i/iris40
+++ /dev/null
@@ -1 +0,0 @@
-../w/wsiris
\ No newline at end of file
diff --git a/lib/terminfo/i/iris40 b/lib/terminfo/i/iris40
new file mode 100644
index 0000000..f9aeabd
--- /dev/null
+++ b/lib/terminfo/i/iris40
Binary files differ
diff --git a/lib/terminfo/i/iterm b/lib/terminfo/i/iterm
deleted file mode 120000
index 2597dc7..0000000
--- a/lib/terminfo/i/iterm
+++ /dev/null
@@ -1 +0,0 @@
-iTerm.app
\ No newline at end of file
diff --git a/lib/terminfo/i/iterm b/lib/terminfo/i/iterm
new file mode 100644
index 0000000..1484a67
--- /dev/null
+++ b/lib/terminfo/i/iterm
Binary files differ
diff --git a/lib/terminfo/i/iterm2 b/lib/terminfo/i/iterm2
new file mode 100644
index 0000000..683de7a
--- /dev/null
+++ b/lib/terminfo/i/iterm2
Binary files differ
diff --git a/lib/terminfo/i/iterm2-direct b/lib/terminfo/i/iterm2-direct
new file mode 100644
index 0000000..92f6169
--- /dev/null
+++ b/lib/terminfo/i/iterm2-direct
Binary files differ
diff --git a/lib/terminfo/j/jaixterm b/lib/terminfo/j/jaixterm
index 8a0c3ed..0305da6 100644
--- a/lib/terminfo/j/jaixterm
+++ b/lib/terminfo/j/jaixterm
Binary files differ
diff --git a/lib/terminfo/j/jaixterm-m b/lib/terminfo/j/jaixterm-m
index 98a0962..a1a19b3 100644
--- a/lib/terminfo/j/jaixterm-m
+++ b/lib/terminfo/j/jaixterm-m
Binary files differ
diff --git a/lib/terminfo/j/jerq b/lib/terminfo/j/jerq
deleted file mode 120000
index 9717119..0000000
--- a/lib/terminfo/j/jerq
+++ /dev/null
@@ -1 +0,0 @@
-../b/blit
\ No newline at end of file
diff --git a/lib/terminfo/j/jerq b/lib/terminfo/j/jerq
new file mode 100644
index 0000000..36a565f
--- /dev/null
+++ b/lib/terminfo/j/jerq
Binary files differ
diff --git a/lib/terminfo/j/jfbterm b/lib/terminfo/j/jfbterm
deleted file mode 120000
index b66532e..0000000
--- a/lib/terminfo/j/jfbterm
+++ /dev/null
@@ -1 +0,0 @@
-../k/kon
\ No newline at end of file
diff --git a/lib/terminfo/j/jfbterm b/lib/terminfo/j/jfbterm
new file mode 100644
index 0000000..a0f2bbe
--- /dev/null
+++ b/lib/terminfo/j/jfbterm
Binary files differ
diff --git a/lib/terminfo/k/k45 b/lib/terminfo/k/k45
deleted file mode 120000
index b05e7f1..0000000
--- a/lib/terminfo/k/k45
+++ /dev/null
@@ -1 +0,0 @@
-../h/hp2621-k45
\ No newline at end of file
diff --git a/lib/terminfo/k/k45 b/lib/terminfo/k/k45
new file mode 100644
index 0000000..0449f5d
--- /dev/null
+++ b/lib/terminfo/k/k45
Binary files differ
diff --git a/lib/terminfo/k/kaypro2 b/lib/terminfo/k/kaypro2
deleted file mode 120000
index 5955a59..0000000
--- a/lib/terminfo/k/kaypro2
+++ /dev/null
@@ -1 +0,0 @@
-kaypro
\ No newline at end of file
diff --git a/lib/terminfo/k/kaypro2 b/lib/terminfo/k/kaypro2
new file mode 100644
index 0000000..b12807e
--- /dev/null
+++ b/lib/terminfo/k/kaypro2
Binary files differ
diff --git a/lib/terminfo/k/kds6402 b/lib/terminfo/k/kds6402
deleted file mode 120000
index c3c9e25..0000000
--- a/lib/terminfo/k/kds6402
+++ /dev/null
@@ -1 +0,0 @@
-../i/icl6404
\ No newline at end of file
diff --git a/lib/terminfo/k/kds6402 b/lib/terminfo/k/kds6402
new file mode 100644
index 0000000..4b824b4
--- /dev/null
+++ b/lib/terminfo/k/kds6402
Binary files differ
diff --git a/lib/terminfo/k/kds7372 b/lib/terminfo/k/kds7372
deleted file mode 120000
index c3c9e25..0000000
--- a/lib/terminfo/k/kds7372
+++ /dev/null
@@ -1 +0,0 @@
-../i/icl6404
\ No newline at end of file
diff --git a/lib/terminfo/k/kds7372 b/lib/terminfo/k/kds7372
new file mode 100644
index 0000000..4b824b4
--- /dev/null
+++ b/lib/terminfo/k/kds7372
Binary files differ
diff --git a/lib/terminfo/k/kds7372-w b/lib/terminfo/k/kds7372-w
deleted file mode 120000
index 7636c59..0000000
--- a/lib/terminfo/k/kds7372-w
+++ /dev/null
@@ -1 +0,0 @@
-../i/icl6404-w
\ No newline at end of file
diff --git a/lib/terminfo/k/kds7372-w b/lib/terminfo/k/kds7372-w
new file mode 100644
index 0000000..7b11ac8
--- /dev/null
+++ b/lib/terminfo/k/kds7372-w
Binary files differ
diff --git a/lib/terminfo/k/kitty b/lib/terminfo/k/kitty
new file mode 100644
index 0000000..64e18c4
--- /dev/null
+++ b/lib/terminfo/k/kitty
Binary files differ
diff --git a/lib/terminfo/k/kitty+common b/lib/terminfo/k/kitty+common
new file mode 100644
index 0000000..235e3e2
--- /dev/null
+++ b/lib/terminfo/k/kitty+common
Binary files differ
diff --git a/lib/terminfo/k/kitty+setal b/lib/terminfo/k/kitty+setal
new file mode 100644
index 0000000..2004a4d
--- /dev/null
+++ b/lib/terminfo/k/kitty+setal
Binary files differ
diff --git a/lib/terminfo/k/kitty-direct b/lib/terminfo/k/kitty-direct
new file mode 100644
index 0000000..4f62fcf
--- /dev/null
+++ b/lib/terminfo/k/kitty-direct
Binary files differ
diff --git a/lib/terminfo/k/klone+sgr8 b/lib/terminfo/k/klone+sgr8
index 15e63a3..ff648e3 100644
--- a/lib/terminfo/k/klone+sgr8
+++ b/lib/terminfo/k/klone+sgr8
Binary files differ
diff --git a/lib/terminfo/k/kon b/lib/terminfo/k/kon
index b7027dd..a19d939 100644
--- a/lib/terminfo/k/kon
+++ b/lib/terminfo/k/kon
Binary files differ
diff --git a/lib/terminfo/k/kon2 b/lib/terminfo/k/kon2
deleted file mode 120000
index 4104f79..0000000
--- a/lib/terminfo/k/kon2
+++ /dev/null
@@ -1 +0,0 @@
-kon
\ No newline at end of file
diff --git a/lib/terminfo/k/kon2 b/lib/terminfo/k/kon2
new file mode 100644
index 0000000..a19d939
--- /dev/null
+++ b/lib/terminfo/k/kon2
Binary files differ
diff --git a/lib/terminfo/k/konsole b/lib/terminfo/k/konsole
index 68723b0..237f9c6 100644
--- a/lib/terminfo/k/konsole
+++ b/lib/terminfo/k/konsole
Binary files differ
diff --git a/lib/terminfo/k/konsole+pcfkeys b/lib/terminfo/k/konsole+pcfkeys
index 5a955e8..11f42dd 100644
--- a/lib/terminfo/k/konsole+pcfkeys
+++ b/lib/terminfo/k/konsole+pcfkeys
Binary files differ
diff --git a/lib/terminfo/k/konsole-16color b/lib/terminfo/k/konsole-16color
index 4898433..0232ad7 100644
--- a/lib/terminfo/k/konsole-16color
+++ b/lib/terminfo/k/konsole-16color
Binary files differ
diff --git a/lib/terminfo/k/konsole-256color b/lib/terminfo/k/konsole-256color
index d104976..8f385ad 100644
--- a/lib/terminfo/k/konsole-256color
+++ b/lib/terminfo/k/konsole-256color
Binary files differ
diff --git a/lib/terminfo/k/konsole-base b/lib/terminfo/k/konsole-base
index 3c23f14..dc5d293 100644
--- a/lib/terminfo/k/konsole-base
+++ b/lib/terminfo/k/konsole-base
Binary files differ
diff --git a/lib/terminfo/k/konsole-direct b/lib/terminfo/k/konsole-direct
new file mode 100644
index 0000000..a7e72e4
--- /dev/null
+++ b/lib/terminfo/k/konsole-direct
Binary files differ
diff --git a/lib/terminfo/k/konsole-linux b/lib/terminfo/k/konsole-linux
index 247bbd2..e10bb37 100644
--- a/lib/terminfo/k/konsole-linux
+++ b/lib/terminfo/k/konsole-linux
Binary files differ
diff --git a/lib/terminfo/k/konsole-solaris b/lib/terminfo/k/konsole-solaris
index 1e9a0a1..090421f 100644
--- a/lib/terminfo/k/konsole-solaris
+++ b/lib/terminfo/k/konsole-solaris
Binary files differ
diff --git a/lib/terminfo/k/konsole-vt100 b/lib/terminfo/k/konsole-vt100
index a23b1e4..a648d36 100644
--- a/lib/terminfo/k/konsole-vt100
+++ b/lib/terminfo/k/konsole-vt100
Binary files differ
diff --git a/lib/terminfo/k/konsole-vt420pc b/lib/terminfo/k/konsole-vt420pc
index 5d552f0..c677819 100644
--- a/lib/terminfo/k/konsole-vt420pc
+++ b/lib/terminfo/k/konsole-vt420pc
Binary files differ
diff --git a/lib/terminfo/k/konsole-xf3x b/lib/terminfo/k/konsole-xf3x
index edc47fb..d6960f6 100644
--- a/lib/terminfo/k/konsole-xf3x
+++ b/lib/terminfo/k/konsole-xf3x
Binary files differ
diff --git a/lib/terminfo/k/konsole-xf4x b/lib/terminfo/k/konsole-xf4x
index 6f98bc7..a232524 100644
--- a/lib/terminfo/k/konsole-xf4x
+++ b/lib/terminfo/k/konsole-xf4x
Binary files differ
diff --git a/lib/terminfo/k/kt7 b/lib/terminfo/k/kt7
index 2f40d64..c169af8 100644
--- a/lib/terminfo/k/kt7
+++ b/lib/terminfo/k/kt7
Binary files differ
diff --git a/lib/terminfo/k/kterm b/lib/terminfo/k/kterm
index 0cbc276..ab2d9c9 100644
--- a/lib/terminfo/k/kterm
+++ b/lib/terminfo/k/kterm
Binary files differ
diff --git a/lib/terminfo/k/kterm-co b/lib/terminfo/k/kterm-co
deleted file mode 120000
index 6a9274e..0000000
--- a/lib/terminfo/k/kterm-co
+++ /dev/null
@@ -1 +0,0 @@
-kterm-color
\ No newline at end of file
diff --git a/lib/terminfo/k/kterm-co b/lib/terminfo/k/kterm-co
new file mode 100644
index 0000000..91f7896
--- /dev/null
+++ b/lib/terminfo/k/kterm-co
Binary files differ
diff --git a/lib/terminfo/k/kterm-color b/lib/terminfo/k/kterm-color
index a926600..91f7896 100644
--- a/lib/terminfo/k/kterm-color
+++ b/lib/terminfo/k/kterm-color
Binary files differ
diff --git a/lib/terminfo/k/ktm b/lib/terminfo/k/ktm
deleted file mode 120000
index 453302c..0000000
--- a/lib/terminfo/k/ktm
+++ /dev/null
@@ -1 +0,0 @@
-../s/synertek
\ No newline at end of file
diff --git a/lib/terminfo/k/ktm b/lib/terminfo/k/ktm
new file mode 100644
index 0000000..22b0388
--- /dev/null
+++ b/lib/terminfo/k/ktm
Binary files differ
diff --git a/lib/terminfo/k/kvt b/lib/terminfo/k/kvt
index 417baea..ce75c31 100644
--- a/lib/terminfo/k/kvt
+++ b/lib/terminfo/k/kvt
Binary files differ
diff --git a/lib/terminfo/l/la120 b/lib/terminfo/l/la120
deleted file mode 120000
index a95181e..0000000
--- a/lib/terminfo/l/la120
+++ /dev/null
@@ -1 +0,0 @@
-../d/dw3
\ No newline at end of file
diff --git a/lib/terminfo/l/la120 b/lib/terminfo/l/la120
new file mode 100644
index 0000000..834885b
--- /dev/null
+++ b/lib/terminfo/l/la120
Binary files differ
diff --git a/lib/terminfo/l/layer b/lib/terminfo/l/layer
deleted file mode 120000
index 8bca378..0000000
--- a/lib/terminfo/l/layer
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620-s
\ No newline at end of file
diff --git a/lib/terminfo/l/layer b/lib/terminfo/l/layer
new file mode 100644
index 0000000..56d4b55
--- /dev/null
+++ b/lib/terminfo/l/layer
Binary files differ
diff --git a/lib/terminfo/l/lft-pc850 b/lib/terminfo/l/lft-pc850
deleted file mode 120000
index fa6aee3..0000000
--- a/lib/terminfo/l/lft-pc850
+++ /dev/null
@@ -1 +0,0 @@
-lft
\ No newline at end of file
diff --git a/lib/terminfo/l/lft-pc850 b/lib/terminfo/l/lft-pc850
new file mode 100644
index 0000000..20c5b42
--- /dev/null
+++ b/lib/terminfo/l/lft-pc850
Binary files differ
diff --git a/lib/terminfo/l/linux b/lib/terminfo/l/linux
index b458ffa..4ee980c 100644
--- a/lib/terminfo/l/linux
+++ b/lib/terminfo/l/linux
Binary files differ
diff --git a/lib/terminfo/l/linux+decid b/lib/terminfo/l/linux+decid
new file mode 100644
index 0000000..5fdd439
--- /dev/null
+++ b/lib/terminfo/l/linux+decid
Binary files differ
diff --git a/lib/terminfo/l/linux+kbs b/lib/terminfo/l/linux+kbs
new file mode 100644
index 0000000..be0a5b3
--- /dev/null
+++ b/lib/terminfo/l/linux+kbs
Binary files differ
diff --git a/lib/terminfo/l/linux+sfkeys b/lib/terminfo/l/linux+sfkeys
new file mode 100644
index 0000000..5a1ce30
--- /dev/null
+++ b/lib/terminfo/l/linux+sfkeys
Binary files differ
diff --git a/lib/terminfo/l/linux-16color b/lib/terminfo/l/linux-16color
index 8c2e476..3e6eb5a 100644
--- a/lib/terminfo/l/linux-16color
+++ b/lib/terminfo/l/linux-16color
Binary files differ
diff --git a/lib/terminfo/l/linux-basic b/lib/terminfo/l/linux-basic
index 4f23cb9..d388537 100644
--- a/lib/terminfo/l/linux-basic
+++ b/lib/terminfo/l/linux-basic
Binary files differ
diff --git a/lib/terminfo/l/linux-c b/lib/terminfo/l/linux-c
index aa66f83..d25a9b1 100644
--- a/lib/terminfo/l/linux-c
+++ b/lib/terminfo/l/linux-c
Binary files differ
diff --git a/lib/terminfo/l/linux-c-nc b/lib/terminfo/l/linux-c-nc
index da344e0..13473ae 100644
--- a/lib/terminfo/l/linux-c-nc
+++ b/lib/terminfo/l/linux-c-nc
Binary files differ
diff --git a/lib/terminfo/l/linux-koi8 b/lib/terminfo/l/linux-koi8
index 1333f2d..0fbad8c 100644
--- a/lib/terminfo/l/linux-koi8
+++ b/lib/terminfo/l/linux-koi8
Binary files differ
diff --git a/lib/terminfo/l/linux-koi8r b/lib/terminfo/l/linux-koi8r
index e3cb2a1..708ef96 100644
--- a/lib/terminfo/l/linux-koi8r
+++ b/lib/terminfo/l/linux-koi8r
Binary files differ
diff --git a/lib/terminfo/l/linux-lat b/lib/terminfo/l/linux-lat
index 9a428f9..80804c8 100644
--- a/lib/terminfo/l/linux-lat
+++ b/lib/terminfo/l/linux-lat
Binary files differ
diff --git a/lib/terminfo/l/linux-m b/lib/terminfo/l/linux-m
index 65d4180..02b202e 100644
--- a/lib/terminfo/l/linux-m
+++ b/lib/terminfo/l/linux-m
Binary files differ
diff --git a/lib/terminfo/l/linux-m1 b/lib/terminfo/l/linux-m1
new file mode 100644
index 0000000..1d520ae
--- /dev/null
+++ b/lib/terminfo/l/linux-m1
Binary files differ
diff --git a/lib/terminfo/l/linux-m1b b/lib/terminfo/l/linux-m1b
new file mode 100644
index 0000000..ed2a5a2
--- /dev/null
+++ b/lib/terminfo/l/linux-m1b
Binary files differ
diff --git a/lib/terminfo/l/linux-m2 b/lib/terminfo/l/linux-m2
new file mode 100644
index 0000000..0dcf370
--- /dev/null
+++ b/lib/terminfo/l/linux-m2
Binary files differ
diff --git a/lib/terminfo/l/linux-nic b/lib/terminfo/l/linux-nic
index 84458a5..7e7b239 100644
--- a/lib/terminfo/l/linux-nic
+++ b/lib/terminfo/l/linux-nic
Binary files differ
diff --git a/lib/terminfo/l/linux-s b/lib/terminfo/l/linux-s
new file mode 100644
index 0000000..79e961b
--- /dev/null
+++ b/lib/terminfo/l/linux-s
Binary files differ
diff --git a/lib/terminfo/l/linux-vt b/lib/terminfo/l/linux-vt
index 42df50d..1acf6d6 100644
--- a/lib/terminfo/l/linux-vt
+++ b/lib/terminfo/l/linux-vt
Binary files differ
diff --git a/lib/terminfo/l/linux2.2 b/lib/terminfo/l/linux2.2
index 8656939..4b7d785 100644
--- a/lib/terminfo/l/linux2.2
+++ b/lib/terminfo/l/linux2.2
Binary files differ
diff --git a/lib/terminfo/l/linux2.6 b/lib/terminfo/l/linux2.6
index 4560270..5e80a19 100644
--- a/lib/terminfo/l/linux2.6
+++ b/lib/terminfo/l/linux2.6
Binary files differ
diff --git a/lib/terminfo/l/linux2.6.26 b/lib/terminfo/l/linux2.6.26
index 7b9db46..177cb79 100644
--- a/lib/terminfo/l/linux2.6.26
+++ b/lib/terminfo/l/linux2.6.26
Binary files differ
diff --git a/lib/terminfo/l/linux3.0 b/lib/terminfo/l/linux3.0
index c61f696..8d329d1 100644
--- a/lib/terminfo/l/linux3.0
+++ b/lib/terminfo/l/linux3.0
Binary files differ
diff --git a/lib/terminfo/l/lisa b/lib/terminfo/l/lisa
index 7faa0bb..2bbfd1e 100644
--- a/lib/terminfo/l/lisa
+++ b/lib/terminfo/l/lisa
Binary files differ
diff --git a/lib/terminfo/l/lisaterm b/lib/terminfo/l/lisaterm
index f812d62..34a362e 100644
--- a/lib/terminfo/l/lisaterm
+++ b/lib/terminfo/l/lisaterm
Binary files differ
diff --git a/lib/terminfo/l/liswb b/lib/terminfo/l/liswb
index 139fa7c..058fb06 100644
--- a/lib/terminfo/l/liswb
+++ b/lib/terminfo/l/liswb
Binary files differ
diff --git a/lib/terminfo/l/ln03 b/lib/terminfo/l/ln03
index fa1531c..72fadfc 100644
--- a/lib/terminfo/l/ln03
+++ b/lib/terminfo/l/ln03
Binary files differ
diff --git a/lib/terminfo/l/ln03-w b/lib/terminfo/l/ln03-w
index c18b3ad..dd4877c 100644
--- a/lib/terminfo/l/ln03-w
+++ b/lib/terminfo/l/ln03-w
Binary files differ
diff --git a/lib/terminfo/l/luna68k b/lib/terminfo/l/luna68k
deleted file mode 120000
index 625f951..0000000
--- a/lib/terminfo/l/luna68k
+++ /dev/null
@@ -1 +0,0 @@
-luna
\ No newline at end of file
diff --git a/lib/terminfo/l/luna68k b/lib/terminfo/l/luna68k
new file mode 100644
index 0000000..c9a18a8
--- /dev/null
+++ b/lib/terminfo/l/luna68k
Binary files differ
diff --git a/lib/terminfo/m/m2-nam b/lib/terminfo/m/m2-nam
index 1eedf8c..b9dc52b 100644
--- a/lib/terminfo/m/m2-nam
+++ b/lib/terminfo/m/m2-nam
Binary files differ
diff --git a/lib/terminfo/m/mac-w b/lib/terminfo/m/mac-w
index bd89053..3a7192a 100644
--- a/lib/terminfo/m/mac-w
+++ b/lib/terminfo/m/mac-w
Binary files differ
diff --git a/lib/terminfo/m/mach b/lib/terminfo/m/mach
index 94699c2..32c3b53 100644
--- a/lib/terminfo/m/mach
+++ b/lib/terminfo/m/mach
Binary files differ
diff --git a/lib/terminfo/m/mach-bold b/lib/terminfo/m/mach-bold
index 1b72fcc..a563057 100644
--- a/lib/terminfo/m/mach-bold
+++ b/lib/terminfo/m/mach-bold
Binary files differ
diff --git a/lib/terminfo/m/mach-color b/lib/terminfo/m/mach-color
index 0e63d81..aa795f0 100644
--- a/lib/terminfo/m/mach-color
+++ b/lib/terminfo/m/mach-color
Binary files differ
diff --git a/lib/terminfo/m/mach-gnu b/lib/terminfo/m/mach-gnu
index c7174da..4ac04f7 100644
--- a/lib/terminfo/m/mach-gnu
+++ b/lib/terminfo/m/mach-gnu
Binary files differ
diff --git a/lib/terminfo/m/mach-gnu-color b/lib/terminfo/m/mach-gnu-color
index ffa47e1..b4a0389 100644
--- a/lib/terminfo/m/mach-gnu-color
+++ b/lib/terminfo/m/mach-gnu-color
Binary files differ
diff --git a/lib/terminfo/m/macintosh b/lib/terminfo/m/macintosh
deleted file mode 120000
index 28757cf..0000000
--- a/lib/terminfo/m/macintosh
+++ /dev/null
@@ -1 +0,0 @@
-mac
\ No newline at end of file
diff --git a/lib/terminfo/m/macintosh b/lib/terminfo/m/macintosh
new file mode 100644
index 0000000..c2d5d27
--- /dev/null
+++ b/lib/terminfo/m/macintosh
Binary files differ
diff --git a/lib/terminfo/m/macterminal-w b/lib/terminfo/m/macterminal-w
deleted file mode 120000
index d78863e..0000000
--- a/lib/terminfo/m/macterminal-w
+++ /dev/null
@@ -1 +0,0 @@
-mac-w
\ No newline at end of file
diff --git a/lib/terminfo/m/macterminal-w b/lib/terminfo/m/macterminal-w
new file mode 100644
index 0000000..3a7192a
--- /dev/null
+++ b/lib/terminfo/m/macterminal-w
Binary files differ
diff --git a/lib/terminfo/m/mai b/lib/terminfo/m/mai
index d5158fb..3f6868e 100644
--- a/lib/terminfo/m/mai
+++ b/lib/terminfo/m/mai
Binary files differ
diff --git a/lib/terminfo/m/mdl110 b/lib/terminfo/m/mdl110
deleted file mode 120000
index d0bd380..0000000
--- a/lib/terminfo/m/mdl110
+++ /dev/null
@@ -1 +0,0 @@
-../c/cyb110
\ No newline at end of file
diff --git a/lib/terminfo/m/mdl110 b/lib/terminfo/m/mdl110
new file mode 100644
index 0000000..b1763bf
--- /dev/null
+++ b/lib/terminfo/m/mdl110
Binary files differ
diff --git a/lib/terminfo/m/mgr b/lib/terminfo/m/mgr
index a773cfd..ad4187b 100644
--- a/lib/terminfo/m/mgr
+++ b/lib/terminfo/m/mgr
Binary files differ
diff --git a/lib/terminfo/m/mgr-linux b/lib/terminfo/m/mgr-linux
index 1f065a2..8ff9325 100644
--- a/lib/terminfo/m/mgr-linux
+++ b/lib/terminfo/m/mgr-linux
Binary files differ
diff --git a/lib/terminfo/m/mgr-sun b/lib/terminfo/m/mgr-sun
index a404120..370a79e 100644
--- a/lib/terminfo/m/mgr-sun
+++ b/lib/terminfo/m/mgr-sun
Binary files differ
diff --git a/lib/terminfo/m/mgt b/lib/terminfo/m/mgt
index 5244b55..f7998ac 100644
--- a/lib/terminfo/m/mgt
+++ b/lib/terminfo/m/mgt
Binary files differ
diff --git a/lib/terminfo/m/mgterm b/lib/terminfo/m/mgterm
index c94d5f9..3902af0 100644
--- a/lib/terminfo/m/mgterm
+++ b/lib/terminfo/m/mgterm
Binary files differ
diff --git a/lib/terminfo/m/microb b/lib/terminfo/m/microb
index fb6f4de..13025af 100644
--- a/lib/terminfo/m/microb
+++ b/lib/terminfo/m/microb
Binary files differ
diff --git a/lib/terminfo/m/microbee b/lib/terminfo/m/microbee
deleted file mode 120000
index 7de2083..0000000
--- a/lib/terminfo/m/microbee
+++ /dev/null
@@ -1 +0,0 @@
-microb
\ No newline at end of file
diff --git a/lib/terminfo/m/microbee b/lib/terminfo/m/microbee
new file mode 100644
index 0000000..13025af
--- /dev/null
+++ b/lib/terminfo/m/microbee
Binary files differ
diff --git a/lib/terminfo/m/microterm b/lib/terminfo/m/microterm
deleted file mode 120000
index 39e0d89..0000000
--- a/lib/terminfo/m/microterm
+++ /dev/null
@@ -1 +0,0 @@
-../a/act4
\ No newline at end of file
diff --git a/lib/terminfo/m/microterm b/lib/terminfo/m/microterm
new file mode 100644
index 0000000..b24bd13
--- /dev/null
+++ b/lib/terminfo/m/microterm
Binary files differ
diff --git a/lib/terminfo/m/microterm5 b/lib/terminfo/m/microterm5
deleted file mode 120000
index 3575b38..0000000
--- a/lib/terminfo/m/microterm5
+++ /dev/null
@@ -1 +0,0 @@
-../a/act5
\ No newline at end of file
diff --git a/lib/terminfo/m/microterm5 b/lib/terminfo/m/microterm5
new file mode 100644
index 0000000..66b296f
--- /dev/null
+++ b/lib/terminfo/m/microterm5
Binary files differ
diff --git a/lib/terminfo/m/mime-3ax b/lib/terminfo/m/mime-3ax
deleted file mode 120000
index bed4cbf..0000000
--- a/lib/terminfo/m/mime-3ax
+++ /dev/null
@@ -1 +0,0 @@
-mime3ax
\ No newline at end of file
diff --git a/lib/terminfo/m/mime-3ax b/lib/terminfo/m/mime-3ax
new file mode 100644
index 0000000..9421433
--- /dev/null
+++ b/lib/terminfo/m/mime-3ax
Binary files differ
diff --git a/lib/terminfo/m/mime1 b/lib/terminfo/m/mime1
deleted file mode 120000
index 0b914f9..0000000
--- a/lib/terminfo/m/mime1
+++ /dev/null
@@ -1 +0,0 @@
-mime
\ No newline at end of file
diff --git a/lib/terminfo/m/mime1 b/lib/terminfo/m/mime1
new file mode 100644
index 0000000..53f5ccc
--- /dev/null
+++ b/lib/terminfo/m/mime1
Binary files differ
diff --git a/lib/terminfo/m/mime2 b/lib/terminfo/m/mime2
deleted file mode 120000
index 0b914f9..0000000
--- a/lib/terminfo/m/mime2
+++ /dev/null
@@ -1 +0,0 @@
-mime
\ No newline at end of file
diff --git a/lib/terminfo/m/mime2 b/lib/terminfo/m/mime2
new file mode 100644
index 0000000..53f5ccc
--- /dev/null
+++ b/lib/terminfo/m/mime2
Binary files differ
diff --git a/lib/terminfo/m/mime2a b/lib/terminfo/m/mime2a
index b5a3e8e..77712d8 100644
--- a/lib/terminfo/m/mime2a
+++ b/lib/terminfo/m/mime2a
Binary files differ
diff --git a/lib/terminfo/m/mime2a-s b/lib/terminfo/m/mime2a-s
index 8436c2f..f94d449 100644
--- a/lib/terminfo/m/mime2a-s
+++ b/lib/terminfo/m/mime2a-s
Binary files differ
diff --git a/lib/terminfo/m/mime2a-v b/lib/terminfo/m/mime2a-v
deleted file mode 120000
index 7a44014..0000000
--- a/lib/terminfo/m/mime2a-v
+++ /dev/null
@@ -1 +0,0 @@
-mime2a
\ No newline at end of file
diff --git a/lib/terminfo/m/mime2a-v b/lib/terminfo/m/mime2a-v
new file mode 100644
index 0000000..77712d8
--- /dev/null
+++ b/lib/terminfo/m/mime2a-v
Binary files differ
diff --git a/lib/terminfo/m/mime340 b/lib/terminfo/m/mime340
deleted file mode 120000
index d45fb47..0000000
--- a/lib/terminfo/m/mime340
+++ /dev/null
@@ -1 +0,0 @@
-mm340
\ No newline at end of file
diff --git a/lib/terminfo/m/mime340 b/lib/terminfo/m/mime340
new file mode 100644
index 0000000..3b7bcbb
--- /dev/null
+++ b/lib/terminfo/m/mime340
Binary files differ
diff --git a/lib/terminfo/m/mimei b/lib/terminfo/m/mimei
deleted file mode 120000
index 0b914f9..0000000
--- a/lib/terminfo/m/mimei
+++ /dev/null
@@ -1 +0,0 @@
-mime
\ No newline at end of file
diff --git a/lib/terminfo/m/mimei b/lib/terminfo/m/mimei
new file mode 100644
index 0000000..53f5ccc
--- /dev/null
+++ b/lib/terminfo/m/mimei
Binary files differ
diff --git a/lib/terminfo/m/mimeii b/lib/terminfo/m/mimeii
deleted file mode 120000
index 0b914f9..0000000
--- a/lib/terminfo/m/mimeii
+++ /dev/null
@@ -1 +0,0 @@
-mime
\ No newline at end of file
diff --git a/lib/terminfo/m/mimeii b/lib/terminfo/m/mimeii
new file mode 100644
index 0000000..53f5ccc
--- /dev/null
+++ b/lib/terminfo/m/mimeii
Binary files differ
diff --git a/lib/terminfo/m/minitel b/lib/terminfo/m/minitel
deleted file mode 120000
index abfbde3..0000000
--- a/lib/terminfo/m/minitel
+++ /dev/null
@@ -1 +0,0 @@
-m2-nam
\ No newline at end of file
diff --git a/lib/terminfo/m/minitel b/lib/terminfo/m/minitel
new file mode 100644
index 0000000..b9dc52b
--- /dev/null
+++ b/lib/terminfo/m/minitel
Binary files differ
diff --git a/lib/terminfo/m/minitel-2 b/lib/terminfo/m/minitel-2
deleted file mode 120000
index abfbde3..0000000
--- a/lib/terminfo/m/minitel-2
+++ /dev/null
@@ -1 +0,0 @@
-m2-nam
\ No newline at end of file
diff --git a/lib/terminfo/m/minitel-2 b/lib/terminfo/m/minitel-2
new file mode 100644
index 0000000..b9dc52b
--- /dev/null
+++ b/lib/terminfo/m/minitel-2
Binary files differ
diff --git a/lib/terminfo/m/minitel-2-nam b/lib/terminfo/m/minitel-2-nam
deleted file mode 120000
index abfbde3..0000000
--- a/lib/terminfo/m/minitel-2-nam
+++ /dev/null
@@ -1 +0,0 @@
-m2-nam
\ No newline at end of file
diff --git a/lib/terminfo/m/minitel-2-nam b/lib/terminfo/m/minitel-2-nam
new file mode 100644
index 0000000..b9dc52b
--- /dev/null
+++ b/lib/terminfo/m/minitel-2-nam
Binary files differ
diff --git a/lib/terminfo/m/minitel1 b/lib/terminfo/m/minitel1
index 6be3307..9f9e106 100644
--- a/lib/terminfo/m/minitel1
+++ b/lib/terminfo/m/minitel1
Binary files differ
diff --git a/lib/terminfo/m/minitel1-nb b/lib/terminfo/m/minitel1-nb
new file mode 100644
index 0000000..16250a7
--- /dev/null
+++ b/lib/terminfo/m/minitel1-nb
Binary files differ
diff --git a/lib/terminfo/m/minitel12-80 b/lib/terminfo/m/minitel12-80
new file mode 100644
index 0000000..1fba4d7
--- /dev/null
+++ b/lib/terminfo/m/minitel12-80
Binary files differ
diff --git a/lib/terminfo/m/minitel1b b/lib/terminfo/m/minitel1b
index 6c51e87..e47321d 100644
--- a/lib/terminfo/m/minitel1b
+++ b/lib/terminfo/m/minitel1b
Binary files differ
diff --git a/lib/terminfo/m/minitel1b-80 b/lib/terminfo/m/minitel1b-80
index de4442a..a338169 100644
--- a/lib/terminfo/m/minitel1b-80
+++ b/lib/terminfo/m/minitel1b-80
Binary files differ
diff --git a/lib/terminfo/m/minitel1b-nb b/lib/terminfo/m/minitel1b-nb
new file mode 100644
index 0000000..405db81
--- /dev/null
+++ b/lib/terminfo/m/minitel1b-nb
Binary files differ
diff --git a/lib/terminfo/m/minitel2-80 b/lib/terminfo/m/minitel2-80
new file mode 100644
index 0000000..ad7b1a2
--- /dev/null
+++ b/lib/terminfo/m/minitel2-80
Binary files differ
diff --git a/lib/terminfo/m/minix b/lib/terminfo/m/minix
index 22678f5..ce75ec3 100644
--- a/lib/terminfo/m/minix
+++ b/lib/terminfo/m/minix
Binary files differ
diff --git a/lib/terminfo/m/minix-1.5 b/lib/terminfo/m/minix-1.5
deleted file mode 120000
index 65048aa..0000000
--- a/lib/terminfo/m/minix-1.5
+++ /dev/null
@@ -1 +0,0 @@
-minix-old
\ No newline at end of file
diff --git a/lib/terminfo/m/minix-1.5 b/lib/terminfo/m/minix-1.5
new file mode 100644
index 0000000..8c8d4db
--- /dev/null
+++ b/lib/terminfo/m/minix-1.5
Binary files differ
diff --git a/lib/terminfo/m/minix-1.7 b/lib/terminfo/m/minix-1.7
index ce53a7a..624e89f 100644
--- a/lib/terminfo/m/minix-1.7
+++ b/lib/terminfo/m/minix-1.7
Binary files differ
diff --git a/lib/terminfo/m/minix-3.0 b/lib/terminfo/m/minix-3.0
index 0219beb..69f8e90 100644
--- a/lib/terminfo/m/minix-3.0
+++ b/lib/terminfo/m/minix-3.0
Binary files differ
diff --git a/lib/terminfo/m/minix-old b/lib/terminfo/m/minix-old
index 7e27a43..8c8d4db 100644
--- a/lib/terminfo/m/minix-old
+++ b/lib/terminfo/m/minix-old
Binary files differ
diff --git a/lib/terminfo/m/minix-old-am b/lib/terminfo/m/minix-old-am
index ebbbf29..38d369c 100644
--- a/lib/terminfo/m/minix-old-am
+++ b/lib/terminfo/m/minix-old-am
Binary files differ
diff --git a/lib/terminfo/m/mintty b/lib/terminfo/m/mintty
new file mode 100644
index 0000000..819d670
--- /dev/null
+++ b/lib/terminfo/m/mintty
Binary files differ
diff --git a/lib/terminfo/m/mintty+common b/lib/terminfo/m/mintty+common
new file mode 100644
index 0000000..c9d5b07
--- /dev/null
+++ b/lib/terminfo/m/mintty+common
Binary files differ
diff --git a/lib/terminfo/m/mintty-direct b/lib/terminfo/m/mintty-direct
new file mode 100644
index 0000000..fba4de2
--- /dev/null
+++ b/lib/terminfo/m/mintty-direct
Binary files differ
diff --git a/lib/terminfo/m/mlterm b/lib/terminfo/m/mlterm
index 250bcd0..7ff42b8 100644
--- a/lib/terminfo/m/mlterm
+++ b/lib/terminfo/m/mlterm
Binary files differ
diff --git a/lib/terminfo/m/mlterm+pcfkeys b/lib/terminfo/m/mlterm+pcfkeys
index 5223c98..1a9b17e 100644
--- a/lib/terminfo/m/mlterm+pcfkeys
+++ b/lib/terminfo/m/mlterm+pcfkeys
Binary files differ
diff --git a/lib/terminfo/m/mlterm-256color b/lib/terminfo/m/mlterm-256color
index 4cba76e..046163b 100644
--- a/lib/terminfo/m/mlterm-256color
+++ b/lib/terminfo/m/mlterm-256color
Binary files differ
diff --git a/lib/terminfo/m/mlterm-direct b/lib/terminfo/m/mlterm-direct
new file mode 100644
index 0000000..5b29a3f
--- /dev/null
+++ b/lib/terminfo/m/mlterm-direct
Binary files differ
diff --git a/lib/terminfo/m/mlterm2 b/lib/terminfo/m/mlterm2
index 94e660c..20b32e9 100644
--- a/lib/terminfo/m/mlterm2
+++ b/lib/terminfo/m/mlterm2
Binary files differ
diff --git a/lib/terminfo/m/mlterm3 b/lib/terminfo/m/mlterm3
index b6d0ffc..881515e 100644
--- a/lib/terminfo/m/mlterm3
+++ b/lib/terminfo/m/mlterm3
Binary files differ
diff --git a/lib/terminfo/m/mm314 b/lib/terminfo/m/mm314
deleted file mode 120000
index 3d63cdf..0000000
--- a/lib/terminfo/m/mm314
+++ /dev/null
@@ -1 +0,0 @@
-mime314
\ No newline at end of file
diff --git a/lib/terminfo/m/mm314 b/lib/terminfo/m/mm314
new file mode 100644
index 0000000..cc6914c
--- /dev/null
+++ b/lib/terminfo/m/mm314
Binary files differ
diff --git a/lib/terminfo/m/mod b/lib/terminfo/m/mod
deleted file mode 120000
index 2e2c697..0000000
--- a/lib/terminfo/m/mod
+++ /dev/null
@@ -1 +0,0 @@
-modgraph48
\ No newline at end of file
diff --git a/lib/terminfo/m/mod b/lib/terminfo/m/mod
new file mode 100644
index 0000000..63d4e8d
--- /dev/null
+++ b/lib/terminfo/m/mod
Binary files differ
diff --git a/lib/terminfo/m/mod24 b/lib/terminfo/m/mod24
deleted file mode 120000
index ce4e643..0000000
--- a/lib/terminfo/m/mod24
+++ /dev/null
@@ -1 +0,0 @@
-modgraph
\ No newline at end of file
diff --git a/lib/terminfo/m/mod24 b/lib/terminfo/m/mod24
new file mode 100644
index 0000000..8294387
--- /dev/null
+++ b/lib/terminfo/m/mod24
Binary files differ
diff --git a/lib/terminfo/m/modgraph b/lib/terminfo/m/modgraph
index de47d45..8294387 100644
--- a/lib/terminfo/m/modgraph
+++ b/lib/terminfo/m/modgraph
Binary files differ
diff --git a/lib/terminfo/m/mono-emx b/lib/terminfo/m/mono-emx
index 1f940a9..9507ee8 100644
--- a/lib/terminfo/m/mono-emx
+++ b/lib/terminfo/m/mono-emx
Binary files differ
diff --git a/lib/terminfo/m/morphos b/lib/terminfo/m/morphos
index 86b623a..1485b3b 100644
--- a/lib/terminfo/m/morphos
+++ b/lib/terminfo/m/morphos
Binary files differ
diff --git a/lib/terminfo/m/mosh b/lib/terminfo/m/mosh
new file mode 100644
index 0000000..caced42
--- /dev/null
+++ b/lib/terminfo/m/mosh
Binary files differ
diff --git a/lib/terminfo/m/mosh-256color b/lib/terminfo/m/mosh-256color
new file mode 100644
index 0000000..7484fe0
--- /dev/null
+++ b/lib/terminfo/m/mosh-256color
Binary files differ
diff --git a/lib/terminfo/m/mostlike b/lib/terminfo/m/mostlike
new file mode 100644
index 0000000..fb0bce6
--- /dev/null
+++ b/lib/terminfo/m/mostlike
Binary files differ
diff --git a/lib/terminfo/m/mouse-sun b/lib/terminfo/m/mouse-sun
deleted file mode 120000
index c55fc81..0000000
--- a/lib/terminfo/m/mouse-sun
+++ /dev/null
@@ -1 +0,0 @@
-mterm
\ No newline at end of file
diff --git a/lib/terminfo/m/mouse-sun b/lib/terminfo/m/mouse-sun
new file mode 100644
index 0000000..016fced
--- /dev/null
+++ b/lib/terminfo/m/mouse-sun
Binary files differ
diff --git a/lib/terminfo/m/mrxvt b/lib/terminfo/m/mrxvt
index 006f8c8..52b7a42 100644
--- a/lib/terminfo/m/mrxvt
+++ b/lib/terminfo/m/mrxvt
Binary files differ
diff --git a/lib/terminfo/m/mrxvt-256color b/lib/terminfo/m/mrxvt-256color
index af6e408..1e9c739 100644
--- a/lib/terminfo/m/mrxvt-256color
+++ b/lib/terminfo/m/mrxvt-256color
Binary files differ
diff --git a/lib/terminfo/m/ms-terminal b/lib/terminfo/m/ms-terminal
new file mode 100644
index 0000000..518cc77
--- /dev/null
+++ b/lib/terminfo/m/ms-terminal
Binary files differ
diff --git a/lib/terminfo/m/ms-vt-utf8 b/lib/terminfo/m/ms-vt-utf8
index 1116d8f..61a7752 100644
--- a/lib/terminfo/m/ms-vt-utf8
+++ b/lib/terminfo/m/ms-vt-utf8
Binary files differ
diff --git a/lib/terminfo/m/ms-vt100 b/lib/terminfo/m/ms-vt100
index ae9b773..7c53b06 100644
--- a/lib/terminfo/m/ms-vt100
+++ b/lib/terminfo/m/ms-vt100
Binary files differ
diff --git a/lib/terminfo/m/ms-vt100+ b/lib/terminfo/m/ms-vt100+
index 3a07b02..ee4cf0c 100644
--- a/lib/terminfo/m/ms-vt100+
+++ b/lib/terminfo/m/ms-vt100+
Binary files differ
diff --git a/lib/terminfo/m/ms-vt100-16color b/lib/terminfo/m/ms-vt100-16color
new file mode 100644
index 0000000..f07009a
--- /dev/null
+++ b/lib/terminfo/m/ms-vt100-16color
Binary files differ
diff --git a/lib/terminfo/m/ms-vt100-color b/lib/terminfo/m/ms-vt100-color
index 4f71d61..da37677 100644
--- a/lib/terminfo/m/ms-vt100-color
+++ b/lib/terminfo/m/ms-vt100-color
Binary files differ
diff --git a/lib/terminfo/m/mskermit227 b/lib/terminfo/m/mskermit227
deleted file mode 120000
index 43a169b..0000000
--- a/lib/terminfo/m/mskermit227
+++ /dev/null
@@ -1 +0,0 @@
-msk227
\ No newline at end of file
diff --git a/lib/terminfo/m/mskermit227 b/lib/terminfo/m/mskermit227
new file mode 100644
index 0000000..c0d5706
--- /dev/null
+++ b/lib/terminfo/m/mskermit227
Binary files differ
diff --git a/lib/terminfo/m/mskermit22714 b/lib/terminfo/m/mskermit22714
deleted file mode 120000
index 1ce3524..0000000
--- a/lib/terminfo/m/mskermit22714
+++ /dev/null
@@ -1 +0,0 @@
-msk22714
\ No newline at end of file
diff --git a/lib/terminfo/m/mskermit22714 b/lib/terminfo/m/mskermit22714
new file mode 100644
index 0000000..487bb61
--- /dev/null
+++ b/lib/terminfo/m/mskermit22714
Binary files differ
diff --git a/lib/terminfo/m/mskermit227am b/lib/terminfo/m/mskermit227am
deleted file mode 120000
index e047146..0000000
--- a/lib/terminfo/m/mskermit227am
+++ /dev/null
@@ -1 +0,0 @@
-msk227am
\ No newline at end of file
diff --git a/lib/terminfo/m/mskermit227am b/lib/terminfo/m/mskermit227am
new file mode 100644
index 0000000..d7ade8c
--- /dev/null
+++ b/lib/terminfo/m/mskermit227am
Binary files differ
diff --git a/lib/terminfo/m/mt-70 b/lib/terminfo/m/mt-70
deleted file mode 120000
index a74eed1..0000000
--- a/lib/terminfo/m/mt-70
+++ /dev/null
@@ -1 +0,0 @@
-mt70
\ No newline at end of file
diff --git a/lib/terminfo/m/mt-70 b/lib/terminfo/m/mt-70
new file mode 100644
index 0000000..ffe744e
--- /dev/null
+++ b/lib/terminfo/m/mt-70
Binary files differ
diff --git a/lib/terminfo/m/mt4520-rv b/lib/terminfo/m/mt4520-rv
index 8aab2da..8e9863d 100644
--- a/lib/terminfo/m/mt4520-rv
+++ b/lib/terminfo/m/mt4520-rv
Binary files differ
diff --git a/lib/terminfo/m/mterm-ansi b/lib/terminfo/m/mterm-ansi
index adb0a9a..1935026 100644
--- a/lib/terminfo/m/mterm-ansi
+++ b/lib/terminfo/m/mterm-ansi
Binary files differ
diff --git a/lib/terminfo/m/mvterm b/lib/terminfo/m/mvterm
index d912b72..60f5cde 100644
--- a/lib/terminfo/m/mvterm
+++ b/lib/terminfo/m/mvterm
Binary files differ
diff --git a/lib/terminfo/n/n7900 b/lib/terminfo/n/n7900
new file mode 100644
index 0000000..8153497
--- /dev/null
+++ b/lib/terminfo/n/n7900
Binary files differ
diff --git a/lib/terminfo/n/nansisys b/lib/terminfo/n/nansisys
deleted file mode 120000
index 521c1c6..0000000
--- a/lib/terminfo/n/nansisys
+++ /dev/null
@@ -1 +0,0 @@
-nansi.sys
\ No newline at end of file
diff --git a/lib/terminfo/n/nansisys b/lib/terminfo/n/nansisys
new file mode 100644
index 0000000..88d3342
--- /dev/null
+++ b/lib/terminfo/n/nansisys
Binary files differ
diff --git a/lib/terminfo/n/nansisysk b/lib/terminfo/n/nansisysk
deleted file mode 120000
index 30f2577..0000000
--- a/lib/terminfo/n/nansisysk
+++ /dev/null
@@ -1 +0,0 @@
-nansi.sysk
\ No newline at end of file
diff --git a/lib/terminfo/n/nansisysk b/lib/terminfo/n/nansisysk
new file mode 100644
index 0000000..9c45d35
--- /dev/null
+++ b/lib/terminfo/n/nansisysk
Binary files differ
diff --git a/lib/terminfo/n/ncr160vppp b/lib/terminfo/n/ncr160vppp
index d0b05e3..c26381f 100644
--- a/lib/terminfo/n/ncr160vppp
+++ b/lib/terminfo/n/ncr160vppp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vpwpp b/lib/terminfo/n/ncr160vpwpp
index 6fe6d64..f5ed79f 100644
--- a/lib/terminfo/n/ncr160vpwpp
+++ b/lib/terminfo/n/ncr160vpwpp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt100an b/lib/terminfo/n/ncr160vt100an
index d137a88..8e792ae 100644
--- a/lib/terminfo/n/ncr160vt100an
+++ b/lib/terminfo/n/ncr160vt100an
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt100pp b/lib/terminfo/n/ncr160vt100pp
index c6dece0..b4fed43 100644
--- a/lib/terminfo/n/ncr160vt100pp
+++ b/lib/terminfo/n/ncr160vt100pp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt100wan b/lib/terminfo/n/ncr160vt100wan
index 5ba0401..f504fdc 100644
--- a/lib/terminfo/n/ncr160vt100wan
+++ b/lib/terminfo/n/ncr160vt100wan
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt100wpp b/lib/terminfo/n/ncr160vt100wpp
index 1461bfa..1b21d07 100644
--- a/lib/terminfo/n/ncr160vt100wpp
+++ b/lib/terminfo/n/ncr160vt100wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt200an b/lib/terminfo/n/ncr160vt200an
index b22239f..c096092 100644
--- a/lib/terminfo/n/ncr160vt200an
+++ b/lib/terminfo/n/ncr160vt200an
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt200pp b/lib/terminfo/n/ncr160vt200pp
index bdd7110..85d0af3 100644
--- a/lib/terminfo/n/ncr160vt200pp
+++ b/lib/terminfo/n/ncr160vt200pp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt200wan b/lib/terminfo/n/ncr160vt200wan
index 385dd48..337c7cc 100644
--- a/lib/terminfo/n/ncr160vt200wan
+++ b/lib/terminfo/n/ncr160vt200wan
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt200wpp b/lib/terminfo/n/ncr160vt200wpp
index 9a7848c..810b5ef 100644
--- a/lib/terminfo/n/ncr160vt200wpp
+++ b/lib/terminfo/n/ncr160vt200wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt300an b/lib/terminfo/n/ncr160vt300an
index 4c3a588..3113e51 100644
--- a/lib/terminfo/n/ncr160vt300an
+++ b/lib/terminfo/n/ncr160vt300an
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt300pp b/lib/terminfo/n/ncr160vt300pp
index a4a448b..3943297 100644
--- a/lib/terminfo/n/ncr160vt300pp
+++ b/lib/terminfo/n/ncr160vt300pp
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt300wan b/lib/terminfo/n/ncr160vt300wan
index 89b4d9b..20a0566 100644
--- a/lib/terminfo/n/ncr160vt300wan
+++ b/lib/terminfo/n/ncr160vt300wan
Binary files differ
diff --git a/lib/terminfo/n/ncr160vt300wpp b/lib/terminfo/n/ncr160vt300wpp
index 73118f2..96cf1b9 100644
--- a/lib/terminfo/n/ncr160vt300wpp
+++ b/lib/terminfo/n/ncr160vt300wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr160wy50+pp b/lib/terminfo/n/ncr160wy50+pp
index 08f21da..2b9b9dc 100644
--- a/lib/terminfo/n/ncr160wy50+pp
+++ b/lib/terminfo/n/ncr160wy50+pp
Binary files differ
diff --git a/lib/terminfo/n/ncr160wy50+wpp b/lib/terminfo/n/ncr160wy50+wpp
index f256177..fa41da9 100644
--- a/lib/terminfo/n/ncr160wy50+wpp
+++ b/lib/terminfo/n/ncr160wy50+wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr160wy60pp b/lib/terminfo/n/ncr160wy60pp
index d45c619..236664d 100644
--- a/lib/terminfo/n/ncr160wy60pp
+++ b/lib/terminfo/n/ncr160wy60pp
Binary files differ
diff --git a/lib/terminfo/n/ncr160wy60wpp b/lib/terminfo/n/ncr160wy60wpp
index fc5225c..a90ffed 100644
--- a/lib/terminfo/n/ncr160wy60wpp
+++ b/lib/terminfo/n/ncr160wy60wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260intan b/lib/terminfo/n/ncr260intan
index 2583e58..2def18a 100644
--- a/lib/terminfo/n/ncr260intan
+++ b/lib/terminfo/n/ncr260intan
Binary files differ
diff --git a/lib/terminfo/n/ncr260intpp b/lib/terminfo/n/ncr260intpp
index efb1232..a0ec10c 100644
--- a/lib/terminfo/n/ncr260intpp
+++ b/lib/terminfo/n/ncr260intpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260intwan b/lib/terminfo/n/ncr260intwan
index ee309b9..f1bd98d 100644
--- a/lib/terminfo/n/ncr260intwan
+++ b/lib/terminfo/n/ncr260intwan
Binary files differ
diff --git a/lib/terminfo/n/ncr260intwpp b/lib/terminfo/n/ncr260intwpp
index 221cbd4..ecc9aa2 100644
--- a/lib/terminfo/n/ncr260intwpp
+++ b/lib/terminfo/n/ncr260intwpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vp+sl b/lib/terminfo/n/ncr260vp+sl
new file mode 100644
index 0000000..29767e3
--- /dev/null
+++ b/lib/terminfo/n/ncr260vp+sl
Binary files differ
diff --git a/lib/terminfo/n/ncr260vppp b/lib/terminfo/n/ncr260vppp
index ab58eae..d5b0814 100644
--- a/lib/terminfo/n/ncr260vppp
+++ b/lib/terminfo/n/ncr260vppp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vpwpp b/lib/terminfo/n/ncr260vpwpp
index c59ecdb..a6c3589 100644
--- a/lib/terminfo/n/ncr260vpwpp
+++ b/lib/terminfo/n/ncr260vpwpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt+sl b/lib/terminfo/n/ncr260vt+sl
new file mode 100644
index 0000000..7c72ce0
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt+sl
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt100an b/lib/terminfo/n/ncr260vt100an
index 517908d..5395a95 100644
--- a/lib/terminfo/n/ncr260vt100an
+++ b/lib/terminfo/n/ncr260vt100an
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt100pp b/lib/terminfo/n/ncr260vt100pp
index 6aa1b25..695ff11 100644
--- a/lib/terminfo/n/ncr260vt100pp
+++ b/lib/terminfo/n/ncr260vt100pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt100wan b/lib/terminfo/n/ncr260vt100wan
index d8d94b6..b45e297 100644
--- a/lib/terminfo/n/ncr260vt100wan
+++ b/lib/terminfo/n/ncr260vt100wan
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt100wpp b/lib/terminfo/n/ncr260vt100wpp
index 63f3c44..9628e2b 100644
--- a/lib/terminfo/n/ncr260vt100wpp
+++ b/lib/terminfo/n/ncr260vt100wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt200an b/lib/terminfo/n/ncr260vt200an
index 54d986f..bf215ca 100644
--- a/lib/terminfo/n/ncr260vt200an
+++ b/lib/terminfo/n/ncr260vt200an
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt200pp b/lib/terminfo/n/ncr260vt200pp
index d9b56bf..62e5bbe 100644
--- a/lib/terminfo/n/ncr260vt200pp
+++ b/lib/terminfo/n/ncr260vt200pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt200wan b/lib/terminfo/n/ncr260vt200wan
index c09ebe9..f03c287 100644
--- a/lib/terminfo/n/ncr260vt200wan
+++ b/lib/terminfo/n/ncr260vt200wan
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt200wpp b/lib/terminfo/n/ncr260vt200wpp
index bf7a7a0..05e8a7e 100644
--- a/lib/terminfo/n/ncr260vt200wpp
+++ b/lib/terminfo/n/ncr260vt200wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt300an b/lib/terminfo/n/ncr260vt300an
index 3ef5a18..eb59796 100644
--- a/lib/terminfo/n/ncr260vt300an
+++ b/lib/terminfo/n/ncr260vt300an
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt300pp b/lib/terminfo/n/ncr260vt300pp
index 0292a4d..9ecbdab 100644
--- a/lib/terminfo/n/ncr260vt300pp
+++ b/lib/terminfo/n/ncr260vt300pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt300wan b/lib/terminfo/n/ncr260vt300wan
index 8896776..81d05e8 100644
--- a/lib/terminfo/n/ncr260vt300wan
+++ b/lib/terminfo/n/ncr260vt300wan
Binary files differ
diff --git a/lib/terminfo/n/ncr260vt300wpp b/lib/terminfo/n/ncr260vt300wpp
deleted file mode 120000
index da2a7e4..0000000
--- a/lib/terminfo/n/ncr260vt300wpp
+++ /dev/null
@@ -1 +0,0 @@
-../N/NCR260VT300WPP
\ No newline at end of file
diff --git a/lib/terminfo/n/ncr260vt300wpp b/lib/terminfo/n/ncr260vt300wpp
new file mode 100644
index 0000000..c41956f
--- /dev/null
+++ b/lib/terminfo/n/ncr260vt300wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy325pp b/lib/terminfo/n/ncr260wy325pp
index fd7d48f..a76e1b0 100644
--- a/lib/terminfo/n/ncr260wy325pp
+++ b/lib/terminfo/n/ncr260wy325pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy325wpp b/lib/terminfo/n/ncr260wy325wpp
index 03558c0..cf2a29c 100644
--- a/lib/terminfo/n/ncr260wy325wpp
+++ b/lib/terminfo/n/ncr260wy325wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy350pp b/lib/terminfo/n/ncr260wy350pp
index 101bce9..8b1491c 100644
--- a/lib/terminfo/n/ncr260wy350pp
+++ b/lib/terminfo/n/ncr260wy350pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy350wpp b/lib/terminfo/n/ncr260wy350wpp
index e96ad41..c264c8e 100644
--- a/lib/terminfo/n/ncr260wy350wpp
+++ b/lib/terminfo/n/ncr260wy350wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy50+pp b/lib/terminfo/n/ncr260wy50+pp
index 9f70e67..cbb06ec 100644
--- a/lib/terminfo/n/ncr260wy50+pp
+++ b/lib/terminfo/n/ncr260wy50+pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy50+wpp b/lib/terminfo/n/ncr260wy50+wpp
index 17f7c8c..0b8e316 100644
--- a/lib/terminfo/n/ncr260wy50+wpp
+++ b/lib/terminfo/n/ncr260wy50+wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy60pp b/lib/terminfo/n/ncr260wy60pp
index db3e4dc..8de166c 100644
--- a/lib/terminfo/n/ncr260wy60pp
+++ b/lib/terminfo/n/ncr260wy60pp
Binary files differ
diff --git a/lib/terminfo/n/ncr260wy60wpp b/lib/terminfo/n/ncr260wy60wpp
index b2b7fe9..48e50a5 100644
--- a/lib/terminfo/n/ncr260wy60wpp
+++ b/lib/terminfo/n/ncr260wy60wpp
Binary files differ
diff --git a/lib/terminfo/n/ncr7900 b/lib/terminfo/n/ncr7900
deleted file mode 120000
index c5dea2a..0000000
--- a/lib/terminfo/n/ncr7900
+++ /dev/null
@@ -1 +0,0 @@
-ncr7900i
\ No newline at end of file
diff --git a/lib/terminfo/n/ncr7900 b/lib/terminfo/n/ncr7900
new file mode 100644
index 0000000..8153497
--- /dev/null
+++ b/lib/terminfo/n/ncr7900
Binary files differ
diff --git a/lib/terminfo/n/ncr7900i b/lib/terminfo/n/ncr7900i
index a627428..8153497 100644
--- a/lib/terminfo/n/ncr7900i
+++ b/lib/terminfo/n/ncr7900i
Binary files differ
diff --git a/lib/terminfo/n/ncr7900iv b/lib/terminfo/n/ncr7900iv
index 94a0803..d2950fb 100644
--- a/lib/terminfo/n/ncr7900iv
+++ b/lib/terminfo/n/ncr7900iv
Binary files differ
diff --git a/lib/terminfo/n/ncr7901 b/lib/terminfo/n/ncr7901
index 29c9848..6132cea 100644
--- a/lib/terminfo/n/ncr7901
+++ b/lib/terminfo/n/ncr7901
Binary files differ
diff --git a/lib/terminfo/n/ncrvt100an b/lib/terminfo/n/ncrvt100an
index 0afbb81..f97322b 100644
--- a/lib/terminfo/n/ncrvt100an
+++ b/lib/terminfo/n/ncrvt100an
Binary files differ
diff --git a/lib/terminfo/n/ncrvt100pp b/lib/terminfo/n/ncrvt100pp
deleted file mode 120000
index 26bbc86..0000000
--- a/lib/terminfo/n/ncrvt100pp
+++ /dev/null
@@ -1 +0,0 @@
-ncrvt100an
\ No newline at end of file
diff --git a/lib/terminfo/n/ncrvt100pp b/lib/terminfo/n/ncrvt100pp
new file mode 100644
index 0000000..f97322b
--- /dev/null
+++ b/lib/terminfo/n/ncrvt100pp
Binary files differ
diff --git a/lib/terminfo/n/ncrvt100wan b/lib/terminfo/n/ncrvt100wan
index 7e0ad59..d5cdb64 100644
--- a/lib/terminfo/n/ncrvt100wan
+++ b/lib/terminfo/n/ncrvt100wan
Binary files differ
diff --git a/lib/terminfo/n/ncrvt100wpp b/lib/terminfo/n/ncrvt100wpp
deleted file mode 120000
index b372769..0000000
--- a/lib/terminfo/n/ncrvt100wpp
+++ /dev/null
@@ -1 +0,0 @@
-ncrvt100wan
\ No newline at end of file
diff --git a/lib/terminfo/n/ncrvt100wpp b/lib/terminfo/n/ncrvt100wpp
new file mode 100644
index 0000000..d5cdb64
--- /dev/null
+++ b/lib/terminfo/n/ncrvt100wpp
Binary files differ
diff --git a/lib/terminfo/n/ncsa b/lib/terminfo/n/ncsa
index 6e4a424..45d3a4d 100644
--- a/lib/terminfo/n/ncsa
+++ b/lib/terminfo/n/ncsa
Binary files differ
diff --git a/lib/terminfo/n/ncsa-m b/lib/terminfo/n/ncsa-m
index fd35e9c..ab3480d 100644
--- a/lib/terminfo/n/ncsa-m
+++ b/lib/terminfo/n/ncsa-m
Binary files differ
diff --git a/lib/terminfo/n/ncsa-m-ns b/lib/terminfo/n/ncsa-m-ns
index c86608d..bf6b9a7 100644
--- a/lib/terminfo/n/ncsa-m-ns
+++ b/lib/terminfo/n/ncsa-m-ns
Binary files differ
diff --git a/lib/terminfo/n/ncsa-ns b/lib/terminfo/n/ncsa-ns
index 7fd2a48..73e1d69 100644
--- a/lib/terminfo/n/ncsa-ns
+++ b/lib/terminfo/n/ncsa-ns
Binary files differ
diff --git a/lib/terminfo/n/ncsa-vt220 b/lib/terminfo/n/ncsa-vt220
index c87f220..09b3b50 100644
--- a/lib/terminfo/n/ncsa-vt220
+++ b/lib/terminfo/n/ncsa-vt220
Binary files differ
diff --git a/lib/terminfo/n/ncsa-vt220-8 b/lib/terminfo/n/ncsa-vt220-8
deleted file mode 120000
index 20f67b5..0000000
--- a/lib/terminfo/n/ncsa-vt220-8
+++ /dev/null
@@ -1 +0,0 @@
-ncsa-m
\ No newline at end of file
diff --git a/lib/terminfo/n/ncsa-vt220-8 b/lib/terminfo/n/ncsa-vt220-8
new file mode 100644
index 0000000..ab3480d
--- /dev/null
+++ b/lib/terminfo/n/ncsa-vt220-8
Binary files differ
diff --git a/lib/terminfo/n/nd9500 b/lib/terminfo/n/nd9500
deleted file mode 120000
index 90ab11d..0000000
--- a/lib/terminfo/n/nd9500
+++ /dev/null
@@ -1 +0,0 @@
-ndr9500
\ No newline at end of file
diff --git a/lib/terminfo/n/nd9500 b/lib/terminfo/n/nd9500
new file mode 100644
index 0000000..0061f71
--- /dev/null
+++ b/lib/terminfo/n/nd9500
Binary files differ
diff --git a/lib/terminfo/n/ndr9500 b/lib/terminfo/n/ndr9500
index ed4677c..0061f71 100644
--- a/lib/terminfo/n/ndr9500
+++ b/lib/terminfo/n/ndr9500
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-25 b/lib/terminfo/n/ndr9500-25
index 02a1d8c..2e1e82e 100644
--- a/lib/terminfo/n/ndr9500-25
+++ b/lib/terminfo/n/ndr9500-25
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-25-mc b/lib/terminfo/n/ndr9500-25-mc
index acf7807..303bb5f 100644
--- a/lib/terminfo/n/ndr9500-25-mc
+++ b/lib/terminfo/n/ndr9500-25-mc
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-25-mc-nl b/lib/terminfo/n/ndr9500-25-mc-nl
index 51f31bf..4579c8c 100644
--- a/lib/terminfo/n/ndr9500-25-mc-nl
+++ b/lib/terminfo/n/ndr9500-25-mc-nl
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-25-nl b/lib/terminfo/n/ndr9500-25-nl
index 6a52655..99e669a 100644
--- a/lib/terminfo/n/ndr9500-25-nl
+++ b/lib/terminfo/n/ndr9500-25-nl
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-mc b/lib/terminfo/n/ndr9500-mc
index 007f0f7..71d7b43 100644
--- a/lib/terminfo/n/ndr9500-mc
+++ b/lib/terminfo/n/ndr9500-mc
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-mc-nl b/lib/terminfo/n/ndr9500-mc-nl
index 10365a8..d5c20af 100644
--- a/lib/terminfo/n/ndr9500-mc-nl
+++ b/lib/terminfo/n/ndr9500-mc-nl
Binary files differ
diff --git a/lib/terminfo/n/ndr9500-nl b/lib/terminfo/n/ndr9500-nl
index b8dfec8..4b64f62 100644
--- a/lib/terminfo/n/ndr9500-nl
+++ b/lib/terminfo/n/ndr9500-nl
Binary files differ
diff --git a/lib/terminfo/n/nec b/lib/terminfo/n/nec
deleted file mode 120000
index 784b6fe..0000000
--- a/lib/terminfo/n/nec
+++ /dev/null
@@ -1 +0,0 @@
-nec5520
\ No newline at end of file
diff --git a/lib/terminfo/n/nec b/lib/terminfo/n/nec
new file mode 100644
index 0000000..30ecbfd
--- /dev/null
+++ b/lib/terminfo/n/nec
Binary files differ
diff --git a/lib/terminfo/n/nec5520 b/lib/terminfo/n/nec5520
index 985b6da..30ecbfd 100644
--- a/lib/terminfo/n/nec5520
+++ b/lib/terminfo/n/nec5520
Binary files differ
diff --git a/lib/terminfo/n/netbsd6 b/lib/terminfo/n/netbsd6
index 0e23a5c..e37351c 100644
--- a/lib/terminfo/n/netbsd6
+++ b/lib/terminfo/n/netbsd6
Binary files differ
diff --git a/lib/terminfo/n/newhp b/lib/terminfo/n/newhp
index 0a83a8e..430b5e4 100644
--- a/lib/terminfo/n/newhp
+++ b/lib/terminfo/n/newhp
Binary files differ
diff --git a/lib/terminfo/n/news b/lib/terminfo/n/news
deleted file mode 120000
index 341db58..0000000
--- a/lib/terminfo/n/news
+++ /dev/null
@@ -1 +0,0 @@
-nwp512
\ No newline at end of file
diff --git a/lib/terminfo/n/news b/lib/terminfo/n/news
new file mode 100644
index 0000000..5cc7df3
--- /dev/null
+++ b/lib/terminfo/n/news
Binary files differ
diff --git a/lib/terminfo/n/news-29 b/lib/terminfo/n/news-29
index 365fb72..e0b25a9 100644
--- a/lib/terminfo/n/news-29
+++ b/lib/terminfo/n/news-29
Binary files differ
diff --git a/lib/terminfo/n/news-29-euc b/lib/terminfo/n/news-29-euc
index 4c93fed..7e6890e 100644
--- a/lib/terminfo/n/news-29-euc
+++ b/lib/terminfo/n/news-29-euc
Binary files differ
diff --git a/lib/terminfo/n/news-29-sjis b/lib/terminfo/n/news-29-sjis
index f73b0a0..b39f738 100644
--- a/lib/terminfo/n/news-29-sjis
+++ b/lib/terminfo/n/news-29-sjis
Binary files differ
diff --git a/lib/terminfo/n/news-33 b/lib/terminfo/n/news-33
index ee735f5..67202a1 100644
--- a/lib/terminfo/n/news-33
+++ b/lib/terminfo/n/news-33
Binary files differ
diff --git a/lib/terminfo/n/news-33-euc b/lib/terminfo/n/news-33-euc
index 2067e52..72454dd 100644
--- a/lib/terminfo/n/news-33-euc
+++ b/lib/terminfo/n/news-33-euc
Binary files differ
diff --git a/lib/terminfo/n/news-33-sjis b/lib/terminfo/n/news-33-sjis
index f68aec4..94fd1cc 100644
--- a/lib/terminfo/n/news-33-sjis
+++ b/lib/terminfo/n/news-33-sjis
Binary files differ
diff --git a/lib/terminfo/n/news-42 b/lib/terminfo/n/news-42
index 93bbf01..18f6d19 100644
--- a/lib/terminfo/n/news-42
+++ b/lib/terminfo/n/news-42
Binary files differ
diff --git a/lib/terminfo/n/news-42-euc b/lib/terminfo/n/news-42-euc
index 8576256..34db335 100644
--- a/lib/terminfo/n/news-42-euc
+++ b/lib/terminfo/n/news-42-euc
Binary files differ
diff --git a/lib/terminfo/n/news-42-sjis b/lib/terminfo/n/news-42-sjis
index 9d16d91..b5231d5 100644
--- a/lib/terminfo/n/news-42-sjis
+++ b/lib/terminfo/n/news-42-sjis
Binary files differ
diff --git a/lib/terminfo/n/news-a b/lib/terminfo/n/news-a
deleted file mode 120000
index ca3992e..0000000
--- a/lib/terminfo/n/news-a
+++ /dev/null
@@ -1 +0,0 @@
-nwp512-a
\ No newline at end of file
diff --git a/lib/terminfo/n/news-a b/lib/terminfo/n/news-a
new file mode 100644
index 0000000..cf83f35
--- /dev/null
+++ b/lib/terminfo/n/news-a
Binary files differ
diff --git a/lib/terminfo/n/news-o b/lib/terminfo/n/news-o
deleted file mode 120000
index c4b19d4..0000000
--- a/lib/terminfo/n/news-o
+++ /dev/null
@@ -1 +0,0 @@
-nwp512-o
\ No newline at end of file
diff --git a/lib/terminfo/n/news-o b/lib/terminfo/n/news-o
new file mode 100644
index 0000000..5cc7df3
--- /dev/null
+++ b/lib/terminfo/n/news-o
Binary files differ
diff --git a/lib/terminfo/n/news-old-unk b/lib/terminfo/n/news-old-unk
index b5ff32f..555f1f9 100644
--- a/lib/terminfo/n/news-old-unk
+++ b/lib/terminfo/n/news-old-unk
Binary files differ
diff --git a/lib/terminfo/n/news-unk b/lib/terminfo/n/news-unk
index f1119a3..13fc044 100644
--- a/lib/terminfo/n/news-unk
+++ b/lib/terminfo/n/news-unk
Binary files differ
diff --git a/lib/terminfo/n/news28 b/lib/terminfo/n/news28
index 93f0a3b..a55362b 100644
--- a/lib/terminfo/n/news28
+++ b/lib/terminfo/n/news28
Binary files differ
diff --git a/lib/terminfo/n/news28-a b/lib/terminfo/n/news28-a
deleted file mode 120000
index c4083f7..0000000
--- a/lib/terminfo/n/news28-a
+++ /dev/null
@@ -1 +0,0 @@
-news29
\ No newline at end of file
diff --git a/lib/terminfo/n/news28-a b/lib/terminfo/n/news28-a
new file mode 100644
index 0000000..c0b09c1
--- /dev/null
+++ b/lib/terminfo/n/news28-a
Binary files differ
diff --git a/lib/terminfo/n/news29 b/lib/terminfo/n/news29
index 8f8436e..c0b09c1 100644
--- a/lib/terminfo/n/news29
+++ b/lib/terminfo/n/news29
Binary files differ
diff --git a/lib/terminfo/n/news31 b/lib/terminfo/n/news31
deleted file mode 120000
index 22c0e76..0000000
--- a/lib/terminfo/n/news31
+++ /dev/null
@@ -1 +0,0 @@
-nwp513
\ No newline at end of file
diff --git a/lib/terminfo/n/news31 b/lib/terminfo/n/news31
new file mode 100644
index 0000000..cd16186
--- /dev/null
+++ b/lib/terminfo/n/news31
Binary files differ
diff --git a/lib/terminfo/n/news31-a b/lib/terminfo/n/news31-a
deleted file mode 120000
index e0eba73..0000000
--- a/lib/terminfo/n/news31-a
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/news31-a b/lib/terminfo/n/news31-a
new file mode 100644
index 0000000..df7a154
--- /dev/null
+++ b/lib/terminfo/n/news31-a
Binary files differ
diff --git a/lib/terminfo/n/news31-o b/lib/terminfo/n/news31-o
deleted file mode 120000
index 500f8f4..0000000
--- a/lib/terminfo/n/news31-o
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-o
\ No newline at end of file
diff --git a/lib/terminfo/n/news31-o b/lib/terminfo/n/news31-o
new file mode 100644
index 0000000..cd16186
--- /dev/null
+++ b/lib/terminfo/n/news31-o
Binary files differ
diff --git a/lib/terminfo/n/news33 b/lib/terminfo/n/news33
deleted file mode 120000
index e0eba73..0000000
--- a/lib/terminfo/n/news33
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/news33 b/lib/terminfo/n/news33
new file mode 100644
index 0000000..df7a154
--- /dev/null
+++ b/lib/terminfo/n/news33
Binary files differ
diff --git a/lib/terminfo/n/news40 b/lib/terminfo/n/news40
deleted file mode 120000
index 341db58..0000000
--- a/lib/terminfo/n/news40
+++ /dev/null
@@ -1 +0,0 @@
-nwp512
\ No newline at end of file
diff --git a/lib/terminfo/n/news40 b/lib/terminfo/n/news40
new file mode 100644
index 0000000..5cc7df3
--- /dev/null
+++ b/lib/terminfo/n/news40
Binary files differ
diff --git a/lib/terminfo/n/news40-a b/lib/terminfo/n/news40-a
deleted file mode 120000
index ca3992e..0000000
--- a/lib/terminfo/n/news40-a
+++ /dev/null
@@ -1 +0,0 @@
-nwp512-a
\ No newline at end of file
diff --git a/lib/terminfo/n/news40-a b/lib/terminfo/n/news40-a
new file mode 100644
index 0000000..cf83f35
--- /dev/null
+++ b/lib/terminfo/n/news40-a
Binary files differ
diff --git a/lib/terminfo/n/news40-o b/lib/terminfo/n/news40-o
deleted file mode 120000
index c4b19d4..0000000
--- a/lib/terminfo/n/news40-o
+++ /dev/null
@@ -1 +0,0 @@
-nwp512-o
\ No newline at end of file
diff --git a/lib/terminfo/n/news40-o b/lib/terminfo/n/news40-o
new file mode 100644
index 0000000..5cc7df3
--- /dev/null
+++ b/lib/terminfo/n/news40-o
Binary files differ
diff --git a/lib/terminfo/n/news42 b/lib/terminfo/n/news42
deleted file mode 120000
index ca3992e..0000000
--- a/lib/terminfo/n/news42
+++ /dev/null
@@ -1 +0,0 @@
-nwp512-a
\ No newline at end of file
diff --git a/lib/terminfo/n/news42 b/lib/terminfo/n/news42
new file mode 100644
index 0000000..cf83f35
--- /dev/null
+++ b/lib/terminfo/n/news42
Binary files differ
diff --git a/lib/terminfo/n/newscbm b/lib/terminfo/n/newscbm
deleted file mode 120000
index 22c0e76..0000000
--- a/lib/terminfo/n/newscbm
+++ /dev/null
@@ -1 +0,0 @@
-nwp513
\ No newline at end of file
diff --git a/lib/terminfo/n/newscbm b/lib/terminfo/n/newscbm
new file mode 100644
index 0000000..cd16186
--- /dev/null
+++ b/lib/terminfo/n/newscbm
Binary files differ
diff --git a/lib/terminfo/n/newscbm-a b/lib/terminfo/n/newscbm-a
deleted file mode 120000
index e0eba73..0000000
--- a/lib/terminfo/n/newscbm-a
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/newscbm-a b/lib/terminfo/n/newscbm-a
new file mode 100644
index 0000000..df7a154
--- /dev/null
+++ b/lib/terminfo/n/newscbm-a
Binary files differ
diff --git a/lib/terminfo/n/newscbm-o b/lib/terminfo/n/newscbm-o
deleted file mode 120000
index 500f8f4..0000000
--- a/lib/terminfo/n/newscbm-o
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-o
\ No newline at end of file
diff --git a/lib/terminfo/n/newscbm-o b/lib/terminfo/n/newscbm-o
new file mode 100644
index 0000000..cd16186
--- /dev/null
+++ b/lib/terminfo/n/newscbm-o
Binary files differ
diff --git a/lib/terminfo/n/newscbm33 b/lib/terminfo/n/newscbm33
deleted file mode 120000
index e0eba73..0000000
--- a/lib/terminfo/n/newscbm33
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/newscbm33 b/lib/terminfo/n/newscbm33
new file mode 100644
index 0000000..df7a154
--- /dev/null
+++ b/lib/terminfo/n/newscbm33
Binary files differ
diff --git a/lib/terminfo/n/no+brackets b/lib/terminfo/n/no+brackets
new file mode 100644
index 0000000..ae9b148
--- /dev/null
+++ b/lib/terminfo/n/no+brackets
Binary files differ
diff --git a/lib/terminfo/n/nsterm b/lib/terminfo/n/nsterm
index 2f59f51..f10555a 100644
--- a/lib/terminfo/n/nsterm
+++ b/lib/terminfo/n/nsterm
Binary files differ
diff --git a/lib/terminfo/n/nsterm+s b/lib/terminfo/n/nsterm+s
index 7347fe9..858c5b6 100644
--- a/lib/terminfo/n/nsterm+s
+++ b/lib/terminfo/n/nsterm+s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-16color b/lib/terminfo/n/nsterm-16color
index 4c85f83..4af255d 100644
--- a/lib/terminfo/n/nsterm-16color
+++ b/lib/terminfo/n/nsterm-16color
Binary files differ
diff --git a/lib/terminfo/n/nsterm-256color b/lib/terminfo/n/nsterm-256color
index 9e27a0a..f10555a 100644
--- a/lib/terminfo/n/nsterm-256color
+++ b/lib/terminfo/n/nsterm-256color
Binary files differ
diff --git a/lib/terminfo/n/nsterm-7-c-s b/lib/terminfo/n/nsterm-7-c-s
deleted file mode 120000
index 4702d27..0000000
--- a/lib/terminfo/n/nsterm-7-c-s
+++ /dev/null
@@ -1 +0,0 @@
-nsterm-c-s-7
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-7-c-s b/lib/terminfo/n/nsterm-7-c-s
new file mode 100644
index 0000000..3bee1b4
--- /dev/null
+++ b/lib/terminfo/n/nsterm-7-c-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-7-m b/lib/terminfo/n/nsterm-7-m
deleted file mode 120000
index 70780d3..0000000
--- a/lib/terminfo/n/nsterm-7-m
+++ /dev/null
@@ -1 +0,0 @@
-nsterm-m-7
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-7-m b/lib/terminfo/n/nsterm-7-m
new file mode 100644
index 0000000..f64044e
--- /dev/null
+++ b/lib/terminfo/n/nsterm-7-m
Binary files differ
diff --git a/lib/terminfo/n/nsterm-7-m-s b/lib/terminfo/n/nsterm-7-m-s
deleted file mode 120000
index 0a5ad3d..0000000
--- a/lib/terminfo/n/nsterm-7-m-s
+++ /dev/null
@@ -1 +0,0 @@
-nsterm-m-s-7
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-7-m-s b/lib/terminfo/n/nsterm-7-m-s
new file mode 100644
index 0000000..a936476
--- /dev/null
+++ b/lib/terminfo/n/nsterm-7-m-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-7-s b/lib/terminfo/n/nsterm-7-s
deleted file mode 120000
index aeae365..0000000
--- a/lib/terminfo/n/nsterm-7-s
+++ /dev/null
@@ -1 +0,0 @@
-nsterm-s-7
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-7-s b/lib/terminfo/n/nsterm-7-s
new file mode 100644
index 0000000..d924966
--- /dev/null
+++ b/lib/terminfo/n/nsterm-7-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-acs-c b/lib/terminfo/n/nsterm-acs-c
deleted file mode 120000
index 7744925..0000000
--- a/lib/terminfo/n/nsterm-acs-c
+++ /dev/null
@@ -1 +0,0 @@
-nsterm-c-acs
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-acs-c b/lib/terminfo/n/nsterm-acs-c
new file mode 100644
index 0000000..a232413
--- /dev/null
+++ b/lib/terminfo/n/nsterm-acs-c
Binary files differ
diff --git a/lib/terminfo/n/nsterm-acs-c-s b/lib/terminfo/n/nsterm-acs-c-s
deleted file mode 120000
index 51cf75a..0000000
--- a/lib/terminfo/n/nsterm-acs-c-s
+++ /dev/null
@@ -1 +0,0 @@
-nsterm-c-s-acs
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-acs-c-s b/lib/terminfo/n/nsterm-acs-c-s
new file mode 100644
index 0000000..d107880
--- /dev/null
+++ b/lib/terminfo/n/nsterm-acs-c-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-acs-m b/lib/terminfo/n/nsterm-acs-m
deleted file mode 120000
index cabdd15..0000000
--- a/lib/terminfo/n/nsterm-acs-m
+++ /dev/null
@@ -1 +0,0 @@
-nsterm-m-acs
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-acs-m b/lib/terminfo/n/nsterm-acs-m
new file mode 100644
index 0000000..2e8b3c8
--- /dev/null
+++ b/lib/terminfo/n/nsterm-acs-m
Binary files differ
diff --git a/lib/terminfo/n/nsterm-acs-m-s b/lib/terminfo/n/nsterm-acs-m-s
deleted file mode 120000
index 919216c..0000000
--- a/lib/terminfo/n/nsterm-acs-m-s
+++ /dev/null
@@ -1 +0,0 @@
-nsterm-m-s-acs
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-acs-m-s b/lib/terminfo/n/nsterm-acs-m-s
new file mode 100644
index 0000000..8a6967b
--- /dev/null
+++ b/lib/terminfo/n/nsterm-acs-m-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-acs-s b/lib/terminfo/n/nsterm-acs-s
deleted file mode 120000
index c8ab2b0..0000000
--- a/lib/terminfo/n/nsterm-acs-s
+++ /dev/null
@@ -1 +0,0 @@
-nsterm-s-acs
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-acs-s b/lib/terminfo/n/nsterm-acs-s
new file mode 100644
index 0000000..6a0b496
--- /dev/null
+++ b/lib/terminfo/n/nsterm-acs-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-bce b/lib/terminfo/n/nsterm-bce
index 3e4dbd8..a8c3947 100644
--- a/lib/terminfo/n/nsterm-bce
+++ b/lib/terminfo/n/nsterm-bce
Binary files differ
diff --git a/lib/terminfo/n/nsterm-build309 b/lib/terminfo/n/nsterm-build309
new file mode 100644
index 0000000..7a8c999
--- /dev/null
+++ b/lib/terminfo/n/nsterm-build309
Binary files differ
diff --git a/lib/terminfo/n/nsterm-build326 b/lib/terminfo/n/nsterm-build326
index 55a0373..924cc1a 100644
--- a/lib/terminfo/n/nsterm-build326
+++ b/lib/terminfo/n/nsterm-build326
Binary files differ
diff --git a/lib/terminfo/n/nsterm-build343 b/lib/terminfo/n/nsterm-build343
index cca6fd1..a427c38 100644
--- a/lib/terminfo/n/nsterm-build343
+++ b/lib/terminfo/n/nsterm-build343
Binary files differ
diff --git a/lib/terminfo/n/nsterm-build361 b/lib/terminfo/n/nsterm-build361
new file mode 100644
index 0000000..561b7c0
--- /dev/null
+++ b/lib/terminfo/n/nsterm-build361
Binary files differ
diff --git a/lib/terminfo/n/nsterm-build400 b/lib/terminfo/n/nsterm-build400
new file mode 100644
index 0000000..296fa3b
--- /dev/null
+++ b/lib/terminfo/n/nsterm-build400
Binary files differ
diff --git a/lib/terminfo/n/nsterm-build440 b/lib/terminfo/n/nsterm-build440
new file mode 100644
index 0000000..eb9c9b0
--- /dev/null
+++ b/lib/terminfo/n/nsterm-build440
Binary files differ
diff --git a/lib/terminfo/n/nsterm-c-7 b/lib/terminfo/n/nsterm-c-7
deleted file mode 120000
index 2c3d092..0000000
--- a/lib/terminfo/n/nsterm-c-7
+++ /dev/null
@@ -1 +0,0 @@
-nsterm-7-c
\ No newline at end of file
diff --git a/lib/terminfo/n/nsterm-c-7 b/lib/terminfo/n/nsterm-c-7
new file mode 100644
index 0000000..b5247bb
--- /dev/null
+++ b/lib/terminfo/n/nsterm-c-7
Binary files differ
diff --git a/lib/terminfo/n/nsterm-c-s b/lib/terminfo/n/nsterm-c-s
index 2451d6f..aa9938d 100644
--- a/lib/terminfo/n/nsterm-c-s
+++ b/lib/terminfo/n/nsterm-c-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-c-s-7 b/lib/terminfo/n/nsterm-c-s-7
index 64198d8..3bee1b4 100644
--- a/lib/terminfo/n/nsterm-c-s-7
+++ b/lib/terminfo/n/nsterm-c-s-7
Binary files differ
diff --git a/lib/terminfo/n/nsterm-c-s-acs b/lib/terminfo/n/nsterm-c-s-acs
index 075c49b..d107880 100644
--- a/lib/terminfo/n/nsterm-c-s-acs
+++ b/lib/terminfo/n/nsterm-c-s-acs
Binary files differ
diff --git a/lib/terminfo/n/nsterm-direct b/lib/terminfo/n/nsterm-direct
new file mode 100644
index 0000000..66126eb
--- /dev/null
+++ b/lib/terminfo/n/nsterm-direct
Binary files differ
diff --git a/lib/terminfo/n/nsterm-m-s b/lib/terminfo/n/nsterm-m-s
index c9c9894..d16ad2e 100644
--- a/lib/terminfo/n/nsterm-m-s
+++ b/lib/terminfo/n/nsterm-m-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-m-s-7 b/lib/terminfo/n/nsterm-m-s-7
index 0987fe1..a936476 100644
--- a/lib/terminfo/n/nsterm-m-s-7
+++ b/lib/terminfo/n/nsterm-m-s-7
Binary files differ
diff --git a/lib/terminfo/n/nsterm-m-s-acs b/lib/terminfo/n/nsterm-m-s-acs
index f633490..8a6967b 100644
--- a/lib/terminfo/n/nsterm-m-s-acs
+++ b/lib/terminfo/n/nsterm-m-s-acs
Binary files differ
diff --git a/lib/terminfo/n/nsterm-s b/lib/terminfo/n/nsterm-s
index 0f9aad1..c96f1ea 100644
--- a/lib/terminfo/n/nsterm-s
+++ b/lib/terminfo/n/nsterm-s
Binary files differ
diff --git a/lib/terminfo/n/nsterm-s-7 b/lib/terminfo/n/nsterm-s-7
index f0ce411..d924966 100644
--- a/lib/terminfo/n/nsterm-s-7
+++ b/lib/terminfo/n/nsterm-s-7
Binary files differ
diff --git a/lib/terminfo/n/nsterm-s-acs b/lib/terminfo/n/nsterm-s-acs
index 1dbabf2..6a0b496 100644
--- a/lib/terminfo/n/nsterm-s-acs
+++ b/lib/terminfo/n/nsterm-s-acs
Binary files differ
diff --git a/lib/terminfo/n/ntconsole b/lib/terminfo/n/ntconsole
deleted file mode 120000
index afbf7a7..0000000
--- a/lib/terminfo/n/ntconsole
+++ /dev/null
@@ -1 +0,0 @@
-../i/interix
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole b/lib/terminfo/n/ntconsole
new file mode 100644
index 0000000..afbcc42
--- /dev/null
+++ b/lib/terminfo/n/ntconsole
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-100 b/lib/terminfo/n/ntconsole-100
deleted file mode 120000
index 3694dfd..0000000
--- a/lib/terminfo/n/ntconsole-100
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-100
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-100 b/lib/terminfo/n/ntconsole-100
new file mode 100644
index 0000000..b2d88c5
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-100
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-100-nti b/lib/terminfo/n/ntconsole-100-nti
deleted file mode 120000
index e6ab991..0000000
--- a/lib/terminfo/n/ntconsole-100-nti
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-100-nti
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-100-nti b/lib/terminfo/n/ntconsole-100-nti
new file mode 100644
index 0000000..eeb8897
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-100-nti
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-25 b/lib/terminfo/n/ntconsole-25
deleted file mode 120000
index afbf7a7..0000000
--- a/lib/terminfo/n/ntconsole-25
+++ /dev/null
@@ -1 +0,0 @@
-../i/interix
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-25 b/lib/terminfo/n/ntconsole-25
new file mode 100644
index 0000000..afbcc42
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-25
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-25-nti b/lib/terminfo/n/ntconsole-25-nti
deleted file mode 120000
index 64a0d50..0000000
--- a/lib/terminfo/n/ntconsole-25-nti
+++ /dev/null
@@ -1 +0,0 @@
-../i/interix-nti
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-25-nti b/lib/terminfo/n/ntconsole-25-nti
new file mode 100644
index 0000000..a9c1fbe
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-25-nti
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-25-w b/lib/terminfo/n/ntconsole-25-w
deleted file mode 120000
index 32e493f..0000000
--- a/lib/terminfo/n/ntconsole-25-w
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-w
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-25-w b/lib/terminfo/n/ntconsole-25-w
new file mode 100644
index 0000000..740ed01
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-25-w
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-25-w-vt b/lib/terminfo/n/ntconsole-25-w-vt
deleted file mode 120000
index 7e04d1c..0000000
--- a/lib/terminfo/n/ntconsole-25-w-vt
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-w-vt
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-25-w-vt b/lib/terminfo/n/ntconsole-25-w-vt
new file mode 100644
index 0000000..c65a818
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-25-w-vt
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-35 b/lib/terminfo/n/ntconsole-35
deleted file mode 120000
index 6258b93..0000000
--- a/lib/terminfo/n/ntconsole-35
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-35
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-35 b/lib/terminfo/n/ntconsole-35
new file mode 100644
index 0000000..2332b3a
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-35
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-35-nti b/lib/terminfo/n/ntconsole-35-nti
deleted file mode 120000
index 0e0f40e..0000000
--- a/lib/terminfo/n/ntconsole-35-nti
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-35-nti
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-35-nti b/lib/terminfo/n/ntconsole-35-nti
new file mode 100644
index 0000000..1544b68
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-35-nti
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-35-w b/lib/terminfo/n/ntconsole-35-w
deleted file mode 120000
index f4e75b4..0000000
--- a/lib/terminfo/n/ntconsole-35-w
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-35-w
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-35-w b/lib/terminfo/n/ntconsole-35-w
new file mode 100644
index 0000000..de7086a
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-35-w
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-50 b/lib/terminfo/n/ntconsole-50
deleted file mode 120000
index cd86a9a..0000000
--- a/lib/terminfo/n/ntconsole-50
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-50
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-50 b/lib/terminfo/n/ntconsole-50
new file mode 100644
index 0000000..696833c
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-50
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-50-nti b/lib/terminfo/n/ntconsole-50-nti
deleted file mode 120000
index d6c14ad..0000000
--- a/lib/terminfo/n/ntconsole-50-nti
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-50-nti
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-50-nti b/lib/terminfo/n/ntconsole-50-nti
new file mode 100644
index 0000000..b9f8ed7
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-50-nti
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-50-w b/lib/terminfo/n/ntconsole-50-w
deleted file mode 120000
index 847c753..0000000
--- a/lib/terminfo/n/ntconsole-50-w
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-50-w
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-50-w b/lib/terminfo/n/ntconsole-50-w
new file mode 100644
index 0000000..d46c974
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-50-w
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-60 b/lib/terminfo/n/ntconsole-60
deleted file mode 120000
index 28e09e8..0000000
--- a/lib/terminfo/n/ntconsole-60
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-60
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-60 b/lib/terminfo/n/ntconsole-60
new file mode 100644
index 0000000..9f6d4f8
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-60
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-60-nti b/lib/terminfo/n/ntconsole-60-nti
deleted file mode 120000
index 89c0390..0000000
--- a/lib/terminfo/n/ntconsole-60-nti
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-60-nti
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-60-nti b/lib/terminfo/n/ntconsole-60-nti
new file mode 100644
index 0000000..ea50793
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-60-nti
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-60-w b/lib/terminfo/n/ntconsole-60-w
deleted file mode 120000
index c4b715f..0000000
--- a/lib/terminfo/n/ntconsole-60-w
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-60-w
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-60-w b/lib/terminfo/n/ntconsole-60-w
new file mode 100644
index 0000000..5e1297b
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-60-w
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-w b/lib/terminfo/n/ntconsole-w
deleted file mode 120000
index 32e493f..0000000
--- a/lib/terminfo/n/ntconsole-w
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-w
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-w b/lib/terminfo/n/ntconsole-w
new file mode 100644
index 0000000..740ed01
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-w
Binary files differ
diff --git a/lib/terminfo/n/ntconsole-w-vt b/lib/terminfo/n/ntconsole-w-vt
deleted file mode 120000
index 7e04d1c..0000000
--- a/lib/terminfo/n/ntconsole-w-vt
+++ /dev/null
@@ -1 +0,0 @@
-../o/opennt-w-vt
\ No newline at end of file
diff --git a/lib/terminfo/n/ntconsole-w-vt b/lib/terminfo/n/ntconsole-w-vt
new file mode 100644
index 0000000..c65a818
--- /dev/null
+++ b/lib/terminfo/n/ntconsole-w-vt
Binary files differ
diff --git a/lib/terminfo/n/nwe501 b/lib/terminfo/n/nwe501
deleted file mode 120000
index 22c0e76..0000000
--- a/lib/terminfo/n/nwe501
+++ /dev/null
@@ -1 +0,0 @@
-nwp513
\ No newline at end of file
diff --git a/lib/terminfo/n/nwe501 b/lib/terminfo/n/nwe501
new file mode 100644
index 0000000..cd16186
--- /dev/null
+++ b/lib/terminfo/n/nwe501
Binary files differ
diff --git a/lib/terminfo/n/nwe501-a b/lib/terminfo/n/nwe501-a
deleted file mode 120000
index e0eba73..0000000
--- a/lib/terminfo/n/nwe501-a
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/nwe501-a b/lib/terminfo/n/nwe501-a
new file mode 100644
index 0000000..df7a154
--- /dev/null
+++ b/lib/terminfo/n/nwe501-a
Binary files differ
diff --git a/lib/terminfo/n/nwe501-o b/lib/terminfo/n/nwe501-o
deleted file mode 120000
index 500f8f4..0000000
--- a/lib/terminfo/n/nwe501-o
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-o
\ No newline at end of file
diff --git a/lib/terminfo/n/nwe501-o b/lib/terminfo/n/nwe501-o
new file mode 100644
index 0000000..cd16186
--- /dev/null
+++ b/lib/terminfo/n/nwe501-o
Binary files differ
diff --git a/lib/terminfo/n/nwp-511 b/lib/terminfo/n/nwp-511
deleted file mode 120000
index 05d17ab..0000000
--- a/lib/terminfo/n/nwp-511
+++ /dev/null
@@ -1 +0,0 @@
-nwp511
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp-511 b/lib/terminfo/n/nwp-511
new file mode 100644
index 0000000..c7fc719
--- /dev/null
+++ b/lib/terminfo/n/nwp-511
Binary files differ
diff --git a/lib/terminfo/n/nwp-517 b/lib/terminfo/n/nwp-517
deleted file mode 120000
index 15f252a..0000000
--- a/lib/terminfo/n/nwp-517
+++ /dev/null
@@ -1 +0,0 @@
-nwp517
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp-517 b/lib/terminfo/n/nwp-517
new file mode 100644
index 0000000..55e8f64
--- /dev/null
+++ b/lib/terminfo/n/nwp-517
Binary files differ
diff --git a/lib/terminfo/n/nwp-517-w b/lib/terminfo/n/nwp-517-w
deleted file mode 120000
index c7fd81b..0000000
--- a/lib/terminfo/n/nwp-517-w
+++ /dev/null
@@ -1 +0,0 @@
-nwp517-w
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp-517-w b/lib/terminfo/n/nwp-517-w
new file mode 100644
index 0000000..608cb78
--- /dev/null
+++ b/lib/terminfo/n/nwp-517-w
Binary files differ
diff --git a/lib/terminfo/n/nwp251-a b/lib/terminfo/n/nwp251-a
deleted file mode 120000
index e0eba73..0000000
--- a/lib/terminfo/n/nwp251-a
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp251-a b/lib/terminfo/n/nwp251-a
new file mode 100644
index 0000000..df7a154
--- /dev/null
+++ b/lib/terminfo/n/nwp251-a
Binary files differ
diff --git a/lib/terminfo/n/nwp251-o b/lib/terminfo/n/nwp251-o
deleted file mode 120000
index 500f8f4..0000000
--- a/lib/terminfo/n/nwp251-o
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-o
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp251-o b/lib/terminfo/n/nwp251-o
new file mode 100644
index 0000000..cd16186
--- /dev/null
+++ b/lib/terminfo/n/nwp251-o
Binary files differ
diff --git a/lib/terminfo/n/nwp511 b/lib/terminfo/n/nwp511
index 0bf5e93..c7fc719 100644
--- a/lib/terminfo/n/nwp511
+++ b/lib/terminfo/n/nwp511
Binary files differ
diff --git a/lib/terminfo/n/nwp512 b/lib/terminfo/n/nwp512
index 56048d9..5cc7df3 100644
--- a/lib/terminfo/n/nwp512
+++ b/lib/terminfo/n/nwp512
Binary files differ
diff --git a/lib/terminfo/n/nwp512-a b/lib/terminfo/n/nwp512-a
index 2c1b55e..cf83f35 100644
--- a/lib/terminfo/n/nwp512-a
+++ b/lib/terminfo/n/nwp512-a
Binary files differ
diff --git a/lib/terminfo/n/nwp512-o b/lib/terminfo/n/nwp512-o
index 7f1f4b9..5cc7df3 100644
--- a/lib/terminfo/n/nwp512-o
+++ b/lib/terminfo/n/nwp512-o
Binary files differ
diff --git a/lib/terminfo/n/nwp513 b/lib/terminfo/n/nwp513
index 022ba72..cd16186 100644
--- a/lib/terminfo/n/nwp513
+++ b/lib/terminfo/n/nwp513
Binary files differ
diff --git a/lib/terminfo/n/nwp513-a b/lib/terminfo/n/nwp513-a
index cb91779..df7a154 100644
--- a/lib/terminfo/n/nwp513-a
+++ b/lib/terminfo/n/nwp513-a
Binary files differ
diff --git a/lib/terminfo/n/nwp513-o b/lib/terminfo/n/nwp513-o
index 83a9eda..cd16186 100644
--- a/lib/terminfo/n/nwp513-o
+++ b/lib/terminfo/n/nwp513-o
Binary files differ
diff --git a/lib/terminfo/n/nwp514 b/lib/terminfo/n/nwp514
deleted file mode 120000
index 341db58..0000000
--- a/lib/terminfo/n/nwp514
+++ /dev/null
@@ -1 +0,0 @@
-nwp512
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp514 b/lib/terminfo/n/nwp514
new file mode 100644
index 0000000..5cc7df3
--- /dev/null
+++ b/lib/terminfo/n/nwp514
Binary files differ
diff --git a/lib/terminfo/n/nwp514-a b/lib/terminfo/n/nwp514-a
deleted file mode 120000
index ca3992e..0000000
--- a/lib/terminfo/n/nwp514-a
+++ /dev/null
@@ -1 +0,0 @@
-nwp512-a
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp514-a b/lib/terminfo/n/nwp514-a
new file mode 100644
index 0000000..cf83f35
--- /dev/null
+++ b/lib/terminfo/n/nwp514-a
Binary files differ
diff --git a/lib/terminfo/n/nwp514-o b/lib/terminfo/n/nwp514-o
deleted file mode 120000
index c4b19d4..0000000
--- a/lib/terminfo/n/nwp514-o
+++ /dev/null
@@ -1 +0,0 @@
-nwp512-o
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp514-o b/lib/terminfo/n/nwp514-o
new file mode 100644
index 0000000..5cc7df3
--- /dev/null
+++ b/lib/terminfo/n/nwp514-o
Binary files differ
diff --git a/lib/terminfo/n/nwp517 b/lib/terminfo/n/nwp517
index 8594da6..55e8f64 100644
--- a/lib/terminfo/n/nwp517
+++ b/lib/terminfo/n/nwp517
Binary files differ
diff --git a/lib/terminfo/n/nwp517-w b/lib/terminfo/n/nwp517-w
index c177f6b..608cb78 100644
--- a/lib/terminfo/n/nwp517-w
+++ b/lib/terminfo/n/nwp517-w
Binary files differ
diff --git a/lib/terminfo/n/nwp518 b/lib/terminfo/n/nwp518
deleted file mode 120000
index 22c0e76..0000000
--- a/lib/terminfo/n/nwp518
+++ /dev/null
@@ -1 +0,0 @@
-nwp513
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp518 b/lib/terminfo/n/nwp518
new file mode 100644
index 0000000..cd16186
--- /dev/null
+++ b/lib/terminfo/n/nwp518
Binary files differ
diff --git a/lib/terminfo/n/nwp518-a b/lib/terminfo/n/nwp518-a
deleted file mode 120000
index e0eba73..0000000
--- a/lib/terminfo/n/nwp518-a
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-a
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp518-a b/lib/terminfo/n/nwp518-a
new file mode 100644
index 0000000..df7a154
--- /dev/null
+++ b/lib/terminfo/n/nwp518-a
Binary files differ
diff --git a/lib/terminfo/n/nwp518-o b/lib/terminfo/n/nwp518-o
deleted file mode 120000
index 500f8f4..0000000
--- a/lib/terminfo/n/nwp518-o
+++ /dev/null
@@ -1 +0,0 @@
-nwp513-o
\ No newline at end of file
diff --git a/lib/terminfo/n/nwp518-o b/lib/terminfo/n/nwp518-o
new file mode 100644
index 0000000..cd16186
--- /dev/null
+++ b/lib/terminfo/n/nwp518-o
Binary files differ
diff --git a/lib/terminfo/n/nxterm b/lib/terminfo/n/nxterm
deleted file mode 120000
index 964e3b4..0000000
--- a/lib/terminfo/n/nxterm
+++ /dev/null
@@ -1 +0,0 @@
-../x/xterm-color
\ No newline at end of file
diff --git a/lib/terminfo/n/nxterm b/lib/terminfo/n/nxterm
new file mode 100644
index 0000000..10bf2e1
--- /dev/null
+++ b/lib/terminfo/n/nxterm
Binary files differ
diff --git a/lib/terminfo/o/o31 b/lib/terminfo/o/o31
deleted file mode 120000
index 3e59555..0000000
--- a/lib/terminfo/o/o31
+++ /dev/null
@@ -1 +0,0 @@
-../a/adm31-old
\ No newline at end of file
diff --git a/lib/terminfo/o/o31 b/lib/terminfo/o/o31
new file mode 100644
index 0000000..fb6d9e6
--- /dev/null
+++ b/lib/terminfo/o/o31
Binary files differ
diff --git a/lib/terminfo/o/o4112-nd b/lib/terminfo/o/o4112-nd
deleted file mode 120000
index 5d382b1..0000000
--- a/lib/terminfo/o/o4112-nd
+++ /dev/null
@@ -1 +0,0 @@
-otek4112
\ No newline at end of file
diff --git a/lib/terminfo/o/o4112-nd b/lib/terminfo/o/o4112-nd
new file mode 100644
index 0000000..ad6a782
--- /dev/null
+++ b/lib/terminfo/o/o4112-nd
Binary files differ
diff --git a/lib/terminfo/o/o85h b/lib/terminfo/o/o85h
deleted file mode 120000
index 6a51cfc..0000000
--- a/lib/terminfo/o/o85h
+++ /dev/null
@@ -1 +0,0 @@
-../a/abm85h-old
\ No newline at end of file
diff --git a/lib/terminfo/o/o85h b/lib/terminfo/o/o85h
new file mode 100644
index 0000000..c499d3e
--- /dev/null
+++ b/lib/terminfo/o/o85h
Binary files differ
diff --git a/lib/terminfo/o/oabm85h b/lib/terminfo/o/oabm85h
deleted file mode 120000
index 6a51cfc..0000000
--- a/lib/terminfo/o/oabm85h
+++ /dev/null
@@ -1 +0,0 @@
-../a/abm85h-old
\ No newline at end of file
diff --git a/lib/terminfo/o/oabm85h b/lib/terminfo/o/oabm85h
new file mode 100644
index 0000000..c499d3e
--- /dev/null
+++ b/lib/terminfo/o/oabm85h
Binary files differ
diff --git a/lib/terminfo/o/oc100 b/lib/terminfo/o/oc100
index d388733..67fa7a4 100644
--- a/lib/terminfo/o/oc100
+++ b/lib/terminfo/o/oc100
Binary files differ
diff --git a/lib/terminfo/o/oconcept b/lib/terminfo/o/oconcept
deleted file mode 120000
index 7e3b504..0000000
--- a/lib/terminfo/o/oconcept
+++ /dev/null
@@ -1 +0,0 @@
-oc100
\ No newline at end of file
diff --git a/lib/terminfo/o/oconcept b/lib/terminfo/o/oconcept
new file mode 100644
index 0000000..67fa7a4
--- /dev/null
+++ b/lib/terminfo/o/oconcept
Binary files differ
diff --git a/lib/terminfo/o/ojerq b/lib/terminfo/o/ojerq
deleted file mode 120000
index 4e16f6e..0000000
--- a/lib/terminfo/o/ojerq
+++ /dev/null
@@ -1 +0,0 @@
-oblit
\ No newline at end of file
diff --git a/lib/terminfo/o/ojerq b/lib/terminfo/o/ojerq
new file mode 100644
index 0000000..6695983
--- /dev/null
+++ b/lib/terminfo/o/ojerq
Binary files differ
diff --git a/lib/terminfo/o/old-st b/lib/terminfo/o/old-st
deleted file mode 120000
index bc3828a..0000000
--- a/lib/terminfo/o/old-st
+++ /dev/null
@@ -1 +0,0 @@
-../s/simpleterm
\ No newline at end of file
diff --git a/lib/terminfo/o/old-st b/lib/terminfo/o/old-st
new file mode 100644
index 0000000..5e0bdd2
--- /dev/null
+++ b/lib/terminfo/o/old-st
Binary files differ
diff --git a/lib/terminfo/o/oldibmpc3 b/lib/terminfo/o/oldibmpc3
deleted file mode 120000
index 2a5c67b..0000000
--- a/lib/terminfo/o/oldibmpc3
+++ /dev/null
@@ -1 +0,0 @@
-oldpc3
\ No newline at end of file
diff --git a/lib/terminfo/o/oldibmpc3 b/lib/terminfo/o/oldibmpc3
new file mode 100644
index 0000000..3a4a964
--- /dev/null
+++ b/lib/terminfo/o/oldibmpc3
Binary files differ
diff --git a/lib/terminfo/o/oldpc3 b/lib/terminfo/o/oldpc3
index b3d2def..3a4a964 100644
--- a/lib/terminfo/o/oldpc3
+++ b/lib/terminfo/o/oldpc3
Binary files differ
diff --git a/lib/terminfo/o/oldxterm+sm+1006 b/lib/terminfo/o/oldxterm+sm+1006
new file mode 100644
index 0000000..d9f41e1
--- /dev/null
+++ b/lib/terminfo/o/oldxterm+sm+1006
Binary files differ
diff --git a/lib/terminfo/o/opennt b/lib/terminfo/o/opennt
deleted file mode 120000
index afbf7a7..0000000
--- a/lib/terminfo/o/opennt
+++ /dev/null
@@ -1 +0,0 @@
-../i/interix
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt b/lib/terminfo/o/opennt
new file mode 100644
index 0000000..afbcc42
--- /dev/null
+++ b/lib/terminfo/o/opennt
Binary files differ
diff --git a/lib/terminfo/o/opennt-100 b/lib/terminfo/o/opennt-100
index cb41a17..b2d88c5 100644
--- a/lib/terminfo/o/opennt-100
+++ b/lib/terminfo/o/opennt-100
Binary files differ
diff --git a/lib/terminfo/o/opennt-100-nti b/lib/terminfo/o/opennt-100-nti
index 4aeae68..eeb8897 100644
--- a/lib/terminfo/o/opennt-100-nti
+++ b/lib/terminfo/o/opennt-100-nti
Binary files differ
diff --git a/lib/terminfo/o/opennt-25 b/lib/terminfo/o/opennt-25
deleted file mode 120000
index afbf7a7..0000000
--- a/lib/terminfo/o/opennt-25
+++ /dev/null
@@ -1 +0,0 @@
-../i/interix
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt-25 b/lib/terminfo/o/opennt-25
new file mode 100644
index 0000000..afbcc42
--- /dev/null
+++ b/lib/terminfo/o/opennt-25
Binary files differ
diff --git a/lib/terminfo/o/opennt-25-nti b/lib/terminfo/o/opennt-25-nti
deleted file mode 120000
index 64a0d50..0000000
--- a/lib/terminfo/o/opennt-25-nti
+++ /dev/null
@@ -1 +0,0 @@
-../i/interix-nti
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt-25-nti b/lib/terminfo/o/opennt-25-nti
new file mode 100644
index 0000000..a9c1fbe
--- /dev/null
+++ b/lib/terminfo/o/opennt-25-nti
Binary files differ
diff --git a/lib/terminfo/o/opennt-25-w b/lib/terminfo/o/opennt-25-w
deleted file mode 120000
index da385c0..0000000
--- a/lib/terminfo/o/opennt-25-w
+++ /dev/null
@@ -1 +0,0 @@
-opennt-w
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt-25-w b/lib/terminfo/o/opennt-25-w
new file mode 100644
index 0000000..740ed01
--- /dev/null
+++ b/lib/terminfo/o/opennt-25-w
Binary files differ
diff --git a/lib/terminfo/o/opennt-25-w-vt b/lib/terminfo/o/opennt-25-w-vt
deleted file mode 120000
index 5753582..0000000
--- a/lib/terminfo/o/opennt-25-w-vt
+++ /dev/null
@@ -1 +0,0 @@
-opennt-w-vt
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt-25-w-vt b/lib/terminfo/o/opennt-25-w-vt
new file mode 100644
index 0000000..c65a818
--- /dev/null
+++ b/lib/terminfo/o/opennt-25-w-vt
Binary files differ
diff --git a/lib/terminfo/o/opennt-35 b/lib/terminfo/o/opennt-35
index 7c43dd1..2332b3a 100644
--- a/lib/terminfo/o/opennt-35
+++ b/lib/terminfo/o/opennt-35
Binary files differ
diff --git a/lib/terminfo/o/opennt-35-nti b/lib/terminfo/o/opennt-35-nti
index 35adabf..1544b68 100644
--- a/lib/terminfo/o/opennt-35-nti
+++ b/lib/terminfo/o/opennt-35-nti
Binary files differ
diff --git a/lib/terminfo/o/opennt-35-w b/lib/terminfo/o/opennt-35-w
index ef34320..de7086a 100644
--- a/lib/terminfo/o/opennt-35-w
+++ b/lib/terminfo/o/opennt-35-w
Binary files differ
diff --git a/lib/terminfo/o/opennt-50 b/lib/terminfo/o/opennt-50
index 7999b6a..696833c 100644
--- a/lib/terminfo/o/opennt-50
+++ b/lib/terminfo/o/opennt-50
Binary files differ
diff --git a/lib/terminfo/o/opennt-50-nti b/lib/terminfo/o/opennt-50-nti
index fb6d641..b9f8ed7 100644
--- a/lib/terminfo/o/opennt-50-nti
+++ b/lib/terminfo/o/opennt-50-nti
Binary files differ
diff --git a/lib/terminfo/o/opennt-50-w b/lib/terminfo/o/opennt-50-w
index 6a81c1b..d46c974 100644
--- a/lib/terminfo/o/opennt-50-w
+++ b/lib/terminfo/o/opennt-50-w
Binary files differ
diff --git a/lib/terminfo/o/opennt-60 b/lib/terminfo/o/opennt-60
index 6864f28..9f6d4f8 100644
--- a/lib/terminfo/o/opennt-60
+++ b/lib/terminfo/o/opennt-60
Binary files differ
diff --git a/lib/terminfo/o/opennt-60-nti b/lib/terminfo/o/opennt-60-nti
index d43d4cf..ea50793 100644
--- a/lib/terminfo/o/opennt-60-nti
+++ b/lib/terminfo/o/opennt-60-nti
Binary files differ
diff --git a/lib/terminfo/o/opennt-60-w b/lib/terminfo/o/opennt-60-w
index f32b60d..5e1297b 100644
--- a/lib/terminfo/o/opennt-60-w
+++ b/lib/terminfo/o/opennt-60-w
Binary files differ
diff --git a/lib/terminfo/o/opennt-nti b/lib/terminfo/o/opennt-nti
deleted file mode 120000
index 64a0d50..0000000
--- a/lib/terminfo/o/opennt-nti
+++ /dev/null
@@ -1 +0,0 @@
-../i/interix-nti
\ No newline at end of file
diff --git a/lib/terminfo/o/opennt-nti b/lib/terminfo/o/opennt-nti
new file mode 100644
index 0000000..a9c1fbe
--- /dev/null
+++ b/lib/terminfo/o/opennt-nti
Binary files differ
diff --git a/lib/terminfo/o/opennt-w b/lib/terminfo/o/opennt-w
index 22044dd..740ed01 100644
--- a/lib/terminfo/o/opennt-w
+++ b/lib/terminfo/o/opennt-w
Binary files differ
diff --git a/lib/terminfo/o/opennt-w-vt b/lib/terminfo/o/opennt-w-vt
index 1a8724d..c65a818 100644
--- a/lib/terminfo/o/opennt-w-vt
+++ b/lib/terminfo/o/opennt-w-vt
Binary files differ
diff --git a/lib/terminfo/o/opus3n1+ b/lib/terminfo/o/opus3n1+
index 7286a81..03ce312 100644
--- a/lib/terminfo/o/opus3n1+
+++ b/lib/terminfo/o/opus3n1+
Binary files differ
diff --git a/lib/terminfo/o/origibmpc3 b/lib/terminfo/o/origibmpc3
deleted file mode 120000
index 430ce4a..0000000
--- a/lib/terminfo/o/origibmpc3
+++ /dev/null
@@ -1 +0,0 @@
-origpc3
\ No newline at end of file
diff --git a/lib/terminfo/o/origibmpc3 b/lib/terminfo/o/origibmpc3
new file mode 100644
index 0000000..2afd350
--- /dev/null
+++ b/lib/terminfo/o/origibmpc3
Binary files differ
diff --git a/lib/terminfo/o/origpc3 b/lib/terminfo/o/origpc3
index 31c7a93..2afd350 100644
--- a/lib/terminfo/o/origpc3
+++ b/lib/terminfo/o/origpc3
Binary files differ
diff --git a/lib/terminfo/o/os9LII b/lib/terminfo/o/os9LII
deleted file mode 120000
index c006f2c..0000000
--- a/lib/terminfo/o/os9LII
+++ /dev/null
@@ -1 +0,0 @@
-../c/coco3
\ No newline at end of file
diff --git a/lib/terminfo/o/os9LII b/lib/terminfo/o/os9LII
new file mode 100644
index 0000000..9d523da
--- /dev/null
+++ b/lib/terminfo/o/os9LII
Binary files differ
diff --git a/lib/terminfo/o/osborne b/lib/terminfo/o/osborne
index d78d708..c0ea262 100644
--- a/lib/terminfo/o/osborne
+++ b/lib/terminfo/o/osborne
Binary files differ
diff --git a/lib/terminfo/o/osborne-w b/lib/terminfo/o/osborne-w
index cece487..84b8298 100644
--- a/lib/terminfo/o/osborne-w
+++ b/lib/terminfo/o/osborne-w
Binary files differ
diff --git a/lib/terminfo/o/osborne1 b/lib/terminfo/o/osborne1
deleted file mode 120000
index 125b6a6..0000000
--- a/lib/terminfo/o/osborne1
+++ /dev/null
@@ -1 +0,0 @@
-osborne
\ No newline at end of file
diff --git a/lib/terminfo/o/osborne1 b/lib/terminfo/o/osborne1
new file mode 100644
index 0000000..c0ea262
--- /dev/null
+++ b/lib/terminfo/o/osborne1
Binary files differ
diff --git a/lib/terminfo/o/osborne1-w b/lib/terminfo/o/osborne1-w
deleted file mode 120000
index cb2c9ea..0000000
--- a/lib/terminfo/o/osborne1-w
+++ /dev/null
@@ -1 +0,0 @@
-osborne-w
\ No newline at end of file
diff --git a/lib/terminfo/o/osborne1-w b/lib/terminfo/o/osborne1-w
new file mode 100644
index 0000000..84b8298
--- /dev/null
+++ b/lib/terminfo/o/osborne1-w
Binary files differ
diff --git a/lib/terminfo/o/otek4112 b/lib/terminfo/o/otek4112
index c9b5133..ad6a782 100644
--- a/lib/terminfo/o/otek4112
+++ b/lib/terminfo/o/otek4112
Binary files differ
diff --git a/lib/terminfo/o/otek4113 b/lib/terminfo/o/otek4113
deleted file mode 120000
index 5d382b1..0000000
--- a/lib/terminfo/o/otek4113
+++ /dev/null
@@ -1 +0,0 @@
-otek4112
\ No newline at end of file
diff --git a/lib/terminfo/o/otek4113 b/lib/terminfo/o/otek4113
new file mode 100644
index 0000000..ad6a782
--- /dev/null
+++ b/lib/terminfo/o/otek4113
Binary files differ
diff --git a/lib/terminfo/o/otek4114 b/lib/terminfo/o/otek4114
deleted file mode 120000
index 5d382b1..0000000
--- a/lib/terminfo/o/otek4114
+++ /dev/null
@@ -1 +0,0 @@
-otek4112
\ No newline at end of file
diff --git a/lib/terminfo/o/otek4114 b/lib/terminfo/o/otek4114
new file mode 100644
index 0000000..ad6a782
--- /dev/null
+++ b/lib/terminfo/o/otek4114
Binary files differ
diff --git a/lib/terminfo/o/otek4115 b/lib/terminfo/o/otek4115
index a9f771e..a280632 100644
--- a/lib/terminfo/o/otek4115
+++ b/lib/terminfo/o/otek4115
Binary files differ
diff --git a/lib/terminfo/o/owl b/lib/terminfo/o/owl
index e61de48..d8c6cca 100644
--- a/lib/terminfo/o/owl
+++ b/lib/terminfo/o/owl
Binary files differ
diff --git a/lib/terminfo/p/p12 b/lib/terminfo/p/p12
deleted file mode 120000
index db742c5..0000000
--- a/lib/terminfo/p/p12
+++ /dev/null
@@ -1 +0,0 @@
-prism12
\ No newline at end of file
diff --git a/lib/terminfo/p/p12 b/lib/terminfo/p/p12
new file mode 100644
index 0000000..12de256
--- /dev/null
+++ b/lib/terminfo/p/p12
Binary files differ
diff --git a/lib/terminfo/p/p12-m b/lib/terminfo/p/p12-m
deleted file mode 120000
index 41dc8d0..0000000
--- a/lib/terminfo/p/p12-m
+++ /dev/null
@@ -1 +0,0 @@
-prism12-m
\ No newline at end of file
diff --git a/lib/terminfo/p/p12-m b/lib/terminfo/p/p12-m
new file mode 100644
index 0000000..c4dd321
--- /dev/null
+++ b/lib/terminfo/p/p12-m
Binary files differ
diff --git a/lib/terminfo/p/p12-m-w b/lib/terminfo/p/p12-m-w
deleted file mode 120000
index f913324..0000000
--- a/lib/terminfo/p/p12-m-w
+++ /dev/null
@@ -1 +0,0 @@
-prism12-m-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p12-m-w b/lib/terminfo/p/p12-m-w
new file mode 100644
index 0000000..7a52b60
--- /dev/null
+++ b/lib/terminfo/p/p12-m-w
Binary files differ
diff --git a/lib/terminfo/p/p12-w b/lib/terminfo/p/p12-w
deleted file mode 120000
index f54b444..0000000
--- a/lib/terminfo/p/p12-w
+++ /dev/null
@@ -1 +0,0 @@
-prism12-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p12-w b/lib/terminfo/p/p12-w
new file mode 100644
index 0000000..2fe870d
--- /dev/null
+++ b/lib/terminfo/p/p12-w
Binary files differ
diff --git a/lib/terminfo/p/p14 b/lib/terminfo/p/p14
deleted file mode 120000
index cb0840e..0000000
--- a/lib/terminfo/p/p14
+++ /dev/null
@@ -1 +0,0 @@
-prism14
\ No newline at end of file
diff --git a/lib/terminfo/p/p14 b/lib/terminfo/p/p14
new file mode 100644
index 0000000..485f1bc
--- /dev/null
+++ b/lib/terminfo/p/p14
Binary files differ
diff --git a/lib/terminfo/p/p14-m b/lib/terminfo/p/p14-m
deleted file mode 120000
index 7b90b31..0000000
--- a/lib/terminfo/p/p14-m
+++ /dev/null
@@ -1 +0,0 @@
-prism14-m
\ No newline at end of file
diff --git a/lib/terminfo/p/p14-m b/lib/terminfo/p/p14-m
new file mode 100644
index 0000000..39dd310
--- /dev/null
+++ b/lib/terminfo/p/p14-m
Binary files differ
diff --git a/lib/terminfo/p/p14-m-w b/lib/terminfo/p/p14-m-w
deleted file mode 120000
index 064d91e..0000000
--- a/lib/terminfo/p/p14-m-w
+++ /dev/null
@@ -1 +0,0 @@
-prism14-m-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p14-m-w b/lib/terminfo/p/p14-m-w
new file mode 100644
index 0000000..5b6475d
--- /dev/null
+++ b/lib/terminfo/p/p14-m-w
Binary files differ
diff --git a/lib/terminfo/p/p14-w b/lib/terminfo/p/p14-w
deleted file mode 120000
index bde3ba7..0000000
--- a/lib/terminfo/p/p14-w
+++ /dev/null
@@ -1 +0,0 @@
-prism14-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p14-w b/lib/terminfo/p/p14-w
new file mode 100644
index 0000000..1d7df53
--- /dev/null
+++ b/lib/terminfo/p/p14-w
Binary files differ
diff --git a/lib/terminfo/p/p4 b/lib/terminfo/p/p4
deleted file mode 120000
index becfc64..0000000
--- a/lib/terminfo/p/p4
+++ /dev/null
@@ -1 +0,0 @@
-prism4
\ No newline at end of file
diff --git a/lib/terminfo/p/p4 b/lib/terminfo/p/p4
new file mode 100644
index 0000000..1d53e48
--- /dev/null
+++ b/lib/terminfo/p/p4
Binary files differ
diff --git a/lib/terminfo/p/p5 b/lib/terminfo/p/p5
deleted file mode 120000
index e004cde..0000000
--- a/lib/terminfo/p/p5
+++ /dev/null
@@ -1 +0,0 @@
-prism5
\ No newline at end of file
diff --git a/lib/terminfo/p/p5 b/lib/terminfo/p/p5
new file mode 100644
index 0000000..f1848d0
--- /dev/null
+++ b/lib/terminfo/p/p5
Binary files differ
diff --git a/lib/terminfo/p/p7 b/lib/terminfo/p/p7
deleted file mode 120000
index a2573d3..0000000
--- a/lib/terminfo/p/p7
+++ /dev/null
@@ -1 +0,0 @@
-prism7
\ No newline at end of file
diff --git a/lib/terminfo/p/p7 b/lib/terminfo/p/p7
new file mode 100644
index 0000000..539b4ff
--- /dev/null
+++ b/lib/terminfo/p/p7
Binary files differ
diff --git a/lib/terminfo/p/p8 b/lib/terminfo/p/p8
deleted file mode 120000
index 60bdb9c..0000000
--- a/lib/terminfo/p/p8
+++ /dev/null
@@ -1 +0,0 @@
-prism8
\ No newline at end of file
diff --git a/lib/terminfo/p/p8 b/lib/terminfo/p/p8
new file mode 100644
index 0000000..12fd9e6
--- /dev/null
+++ b/lib/terminfo/p/p8
Binary files differ
diff --git a/lib/terminfo/p/p8-w b/lib/terminfo/p/p8-w
deleted file mode 120000
index 193f368..0000000
--- a/lib/terminfo/p/p8-w
+++ /dev/null
@@ -1 +0,0 @@
-prism8-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p8-w b/lib/terminfo/p/p8-w
new file mode 100644
index 0000000..8f254d3
--- /dev/null
+++ b/lib/terminfo/p/p8-w
Binary files differ
diff --git a/lib/terminfo/p/p9 b/lib/terminfo/p/p9
deleted file mode 120000
index e56394f..0000000
--- a/lib/terminfo/p/p9
+++ /dev/null
@@ -1 +0,0 @@
-prism9
\ No newline at end of file
diff --git a/lib/terminfo/p/p9 b/lib/terminfo/p/p9
new file mode 100644
index 0000000..2a55145
--- /dev/null
+++ b/lib/terminfo/p/p9
Binary files differ
diff --git a/lib/terminfo/p/p9-8 b/lib/terminfo/p/p9-8
deleted file mode 120000
index 54ec5da..0000000
--- a/lib/terminfo/p/p9-8
+++ /dev/null
@@ -1 +0,0 @@
-prism9-8
\ No newline at end of file
diff --git a/lib/terminfo/p/p9-8 b/lib/terminfo/p/p9-8
new file mode 100644
index 0000000..8191a9b
--- /dev/null
+++ b/lib/terminfo/p/p9-8
Binary files differ
diff --git a/lib/terminfo/p/p9-8-w b/lib/terminfo/p/p9-8-w
deleted file mode 120000
index c6a8979..0000000
--- a/lib/terminfo/p/p9-8-w
+++ /dev/null
@@ -1 +0,0 @@
-prism9-8-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p9-8-w b/lib/terminfo/p/p9-8-w
new file mode 100644
index 0000000..93e3da9
--- /dev/null
+++ b/lib/terminfo/p/p9-8-w
Binary files differ
diff --git a/lib/terminfo/p/p9-w b/lib/terminfo/p/p9-w
deleted file mode 120000
index f603e36..0000000
--- a/lib/terminfo/p/p9-w
+++ /dev/null
@@ -1 +0,0 @@
-prism9-w
\ No newline at end of file
diff --git a/lib/terminfo/p/p9-w b/lib/terminfo/p/p9-w
new file mode 100644
index 0000000..44029ba
--- /dev/null
+++ b/lib/terminfo/p/p9-w
Binary files differ
diff --git a/lib/terminfo/p/pc-minix b/lib/terminfo/p/pc-minix
index afc1229..b78d8a1 100644
--- a/lib/terminfo/p/pc-minix
+++ b/lib/terminfo/p/pc-minix
Binary files differ
diff --git a/lib/terminfo/p/pc3 b/lib/terminfo/p/pc3
index b1f3c67..08460b7 100644
--- a/lib/terminfo/p/pc3
+++ b/lib/terminfo/p/pc3
Binary files differ
diff --git a/lib/terminfo/p/pc3-bold b/lib/terminfo/p/pc3-bold
deleted file mode 120000
index b7bc851..0000000
--- a/lib/terminfo/p/pc3-bold
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibmpc3
\ No newline at end of file
diff --git a/lib/terminfo/p/pc3-bold b/lib/terminfo/p/pc3-bold
new file mode 100644
index 0000000..98594f3
--- /dev/null
+++ b/lib/terminfo/p/pc3-bold
Binary files differ
diff --git a/lib/terminfo/p/pc3r b/lib/terminfo/p/pc3r
deleted file mode 120000
index 49171c0..0000000
--- a/lib/terminfo/p/pc3r
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons25r
\ No newline at end of file
diff --git a/lib/terminfo/p/pc3r b/lib/terminfo/p/pc3r
new file mode 100644
index 0000000..0cb4322
--- /dev/null
+++ b/lib/terminfo/p/pc3r
Binary files differ
diff --git a/lib/terminfo/p/pc3r-m b/lib/terminfo/p/pc3r-m
deleted file mode 120000
index bd709b5..0000000
--- a/lib/terminfo/p/pc3r-m
+++ /dev/null
@@ -1 +0,0 @@
-../c/cons25r-m
\ No newline at end of file
diff --git a/lib/terminfo/p/pc3r-m b/lib/terminfo/p/pc3r-m
new file mode 100644
index 0000000..e5cab4c
--- /dev/null
+++ b/lib/terminfo/p/pc3r-m
Binary files differ
diff --git a/lib/terminfo/p/pc7300 b/lib/terminfo/p/pc7300
deleted file mode 120000
index baaa9ad..0000000
--- a/lib/terminfo/p/pc7300
+++ /dev/null
@@ -1 +0,0 @@
-../a/att7300
\ No newline at end of file
diff --git a/lib/terminfo/p/pc7300 b/lib/terminfo/p/pc7300
new file mode 100644
index 0000000..b41843d
--- /dev/null
+++ b/lib/terminfo/p/pc7300
Binary files differ
diff --git a/lib/terminfo/p/pcansi b/lib/terminfo/p/pcansi
index b24fba9..2e24b9a 100644
--- a/lib/terminfo/p/pcansi
+++ b/lib/terminfo/p/pcansi
Binary files differ
diff --git a/lib/terminfo/p/pcansi-m b/lib/terminfo/p/pcansi-m
index 290b8f7..8be0ab6 100644
--- a/lib/terminfo/p/pcansi-m
+++ b/lib/terminfo/p/pcansi-m
Binary files differ
diff --git a/lib/terminfo/p/pcansi-mono b/lib/terminfo/p/pcansi-mono
deleted file mode 120000
index a7807f8..0000000
--- a/lib/terminfo/p/pcansi-mono
+++ /dev/null
@@ -1 +0,0 @@
-pcansi-m
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi-mono b/lib/terminfo/p/pcansi-mono
new file mode 100644
index 0000000..8be0ab6
--- /dev/null
+++ b/lib/terminfo/p/pcansi-mono
Binary files differ
diff --git a/lib/terminfo/p/pcansi25 b/lib/terminfo/p/pcansi25
deleted file mode 120000
index a75173d..0000000
--- a/lib/terminfo/p/pcansi25
+++ /dev/null
@@ -1 +0,0 @@
-pcansi-25
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi25 b/lib/terminfo/p/pcansi25
new file mode 100644
index 0000000..50440ac
--- /dev/null
+++ b/lib/terminfo/p/pcansi25
Binary files differ
diff --git a/lib/terminfo/p/pcansi25m b/lib/terminfo/p/pcansi25m
deleted file mode 120000
index 403da5f..0000000
--- a/lib/terminfo/p/pcansi25m
+++ /dev/null
@@ -1 +0,0 @@
-pcansi-25-m
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi25m b/lib/terminfo/p/pcansi25m
new file mode 100644
index 0000000..eea4646
--- /dev/null
+++ b/lib/terminfo/p/pcansi25m
Binary files differ
diff --git a/lib/terminfo/p/pcansi33 b/lib/terminfo/p/pcansi33
deleted file mode 120000
index c816178..0000000
--- a/lib/terminfo/p/pcansi33
+++ /dev/null
@@ -1 +0,0 @@
-pcansi-33
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi33 b/lib/terminfo/p/pcansi33
new file mode 100644
index 0000000..77ec07a
--- /dev/null
+++ b/lib/terminfo/p/pcansi33
Binary files differ
diff --git a/lib/terminfo/p/pcansi33m b/lib/terminfo/p/pcansi33m
deleted file mode 120000
index 65c8c3e..0000000
--- a/lib/terminfo/p/pcansi33m
+++ /dev/null
@@ -1 +0,0 @@
-pcansi-33-m
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi33m b/lib/terminfo/p/pcansi33m
new file mode 100644
index 0000000..c9b0dcb
--- /dev/null
+++ b/lib/terminfo/p/pcansi33m
Binary files differ
diff --git a/lib/terminfo/p/pcansi43 b/lib/terminfo/p/pcansi43
deleted file mode 120000
index ac45333..0000000
--- a/lib/terminfo/p/pcansi43
+++ /dev/null
@@ -1 +0,0 @@
-pcansi-43
\ No newline at end of file
diff --git a/lib/terminfo/p/pcansi43 b/lib/terminfo/p/pcansi43
new file mode 100644
index 0000000..4399ed8
--- /dev/null
+++ b/lib/terminfo/p/pcansi43
Binary files differ
diff --git a/lib/terminfo/p/pccon b/lib/terminfo/p/pccon
index 47d4e94..978b462 100644
--- a/lib/terminfo/p/pccon
+++ b/lib/terminfo/p/pccon
Binary files differ
diff --git a/lib/terminfo/p/pccon+base b/lib/terminfo/p/pccon+base
index 83277fa..2fd0ab8 100644
--- a/lib/terminfo/p/pccon+base
+++ b/lib/terminfo/p/pccon+base
Binary files differ
diff --git a/lib/terminfo/p/pccon+colors b/lib/terminfo/p/pccon+colors
index f9abbdd..8a884fa 100644
--- a/lib/terminfo/p/pccon+colors
+++ b/lib/terminfo/p/pccon+colors
Binary files differ
diff --git a/lib/terminfo/p/pccon+keys b/lib/terminfo/p/pccon+keys
index 6a91f55..75b7a4e 100644
--- a/lib/terminfo/p/pccon+keys
+++ b/lib/terminfo/p/pccon+keys
Binary files differ
diff --git a/lib/terminfo/p/pccon+sgr+acs b/lib/terminfo/p/pccon+sgr+acs
index 88c1158..13e0b59 100644
--- a/lib/terminfo/p/pccon+sgr+acs
+++ b/lib/terminfo/p/pccon+sgr+acs
Binary files differ
diff --git a/lib/terminfo/p/pccon+sgr+acs0 b/lib/terminfo/p/pccon+sgr+acs0
index e46c007..c137c15 100644
--- a/lib/terminfo/p/pccon+sgr+acs0
+++ b/lib/terminfo/p/pccon+sgr+acs0
Binary files differ
diff --git a/lib/terminfo/p/pccon-m b/lib/terminfo/p/pccon-m
index ed89f9b..4a76bd3 100644
--- a/lib/terminfo/p/pccon-m
+++ b/lib/terminfo/p/pccon-m
Binary files differ
diff --git a/lib/terminfo/p/pccon0 b/lib/terminfo/p/pccon0
index 1b056ce..e3553fb 100644
--- a/lib/terminfo/p/pccon0
+++ b/lib/terminfo/p/pccon0
Binary files differ
diff --git a/lib/terminfo/p/pccon0-m b/lib/terminfo/p/pccon0-m
index c09fca1..10e3e44 100644
--- a/lib/terminfo/p/pccon0-m
+++ b/lib/terminfo/p/pccon0-m
Binary files differ
diff --git a/lib/terminfo/p/pcconsole b/lib/terminfo/p/pcconsole
deleted file mode 120000
index a775058..0000000
--- a/lib/terminfo/p/pcconsole
+++ /dev/null
@@ -1 +0,0 @@
-pccons
\ No newline at end of file
diff --git a/lib/terminfo/p/pcconsole b/lib/terminfo/p/pcconsole
new file mode 100644
index 0000000..5d7c945
--- /dev/null
+++ b/lib/terminfo/p/pcconsole
Binary files differ
diff --git a/lib/terminfo/p/pckermit12 b/lib/terminfo/p/pckermit12
deleted file mode 120000
index a38f4d5..0000000
--- a/lib/terminfo/p/pckermit12
+++ /dev/null
@@ -1 +0,0 @@
-pckermit
\ No newline at end of file
diff --git a/lib/terminfo/p/pckermit12 b/lib/terminfo/p/pckermit12
new file mode 100644
index 0000000..55ac2cc
--- /dev/null
+++ b/lib/terminfo/p/pckermit12
Binary files differ
diff --git a/lib/terminfo/p/pcmw b/lib/terminfo/p/pcmw
index f9f106a..bc8306c 100644
--- a/lib/terminfo/p/pcmw
+++ b/lib/terminfo/p/pcmw
Binary files differ
diff --git a/lib/terminfo/p/pcplot b/lib/terminfo/p/pcplot
index a2a38b6..2a35838 100644
--- a/lib/terminfo/p/pcplot
+++ b/lib/terminfo/p/pcplot
Binary files differ
diff --git a/lib/terminfo/p/pcvt25 b/lib/terminfo/p/pcvt25
index 05b09de..4c2f366 100644
--- a/lib/terminfo/p/pcvt25
+++ b/lib/terminfo/p/pcvt25
Binary files differ
diff --git a/lib/terminfo/p/pcvt25-color b/lib/terminfo/p/pcvt25-color
index 55a91ca..f129830 100644
--- a/lib/terminfo/p/pcvt25-color
+++ b/lib/terminfo/p/pcvt25-color
Binary files differ
diff --git a/lib/terminfo/p/pcvt25w b/lib/terminfo/p/pcvt25w
index 7177622..f8d31a8 100644
--- a/lib/terminfo/p/pcvt25w
+++ b/lib/terminfo/p/pcvt25w
Binary files differ
diff --git a/lib/terminfo/p/pcvt28 b/lib/terminfo/p/pcvt28
index 99707de..24b0954 100644
--- a/lib/terminfo/p/pcvt28
+++ b/lib/terminfo/p/pcvt28
Binary files differ
diff --git a/lib/terminfo/p/pcvt28w b/lib/terminfo/p/pcvt28w
index d5d6aee..c9fff14 100644
--- a/lib/terminfo/p/pcvt28w
+++ b/lib/terminfo/p/pcvt28w
Binary files differ
diff --git a/lib/terminfo/p/pcvt35 b/lib/terminfo/p/pcvt35
index 4862916..aaa6f6f 100644
--- a/lib/terminfo/p/pcvt35
+++ b/lib/terminfo/p/pcvt35
Binary files differ
diff --git a/lib/terminfo/p/pcvt35w b/lib/terminfo/p/pcvt35w
index 0bd5d96..5276b41 100644
--- a/lib/terminfo/p/pcvt35w
+++ b/lib/terminfo/p/pcvt35w
Binary files differ
diff --git a/lib/terminfo/p/pcvt40 b/lib/terminfo/p/pcvt40
index 92f9a5a..7cb3557 100644
--- a/lib/terminfo/p/pcvt40
+++ b/lib/terminfo/p/pcvt40
Binary files differ
diff --git a/lib/terminfo/p/pcvt40w b/lib/terminfo/p/pcvt40w
index 849e5d3..826cfb2 100644
--- a/lib/terminfo/p/pcvt40w
+++ b/lib/terminfo/p/pcvt40w
Binary files differ
diff --git a/lib/terminfo/p/pcvt43 b/lib/terminfo/p/pcvt43
index 47c86c7..f6ae923 100644
--- a/lib/terminfo/p/pcvt43
+++ b/lib/terminfo/p/pcvt43
Binary files differ
diff --git a/lib/terminfo/p/pcvt43w b/lib/terminfo/p/pcvt43w
index 7ea89d1..04a098f 100644
--- a/lib/terminfo/p/pcvt43w
+++ b/lib/terminfo/p/pcvt43w
Binary files differ
diff --git a/lib/terminfo/p/pcvt50 b/lib/terminfo/p/pcvt50
index 5dc79d6..b059cb4 100644
--- a/lib/terminfo/p/pcvt50
+++ b/lib/terminfo/p/pcvt50
Binary files differ
diff --git a/lib/terminfo/p/pcvt50w b/lib/terminfo/p/pcvt50w
index 5aa4fdb..9969931 100644
--- a/lib/terminfo/p/pcvt50w
+++ b/lib/terminfo/p/pcvt50w
Binary files differ
diff --git a/lib/terminfo/p/pcvtXX b/lib/terminfo/p/pcvtXX
index e1e0d38..1d9bea0 100644
--- a/lib/terminfo/p/pcvtXX
+++ b/lib/terminfo/p/pcvtXX
Binary files differ
diff --git a/lib/terminfo/p/pcz19 b/lib/terminfo/p/pcz19
deleted file mode 120000
index 60bb679..0000000
--- a/lib/terminfo/p/pcz19
+++ /dev/null
@@ -1 +0,0 @@
-pc-coherent
\ No newline at end of file
diff --git a/lib/terminfo/p/pcz19 b/lib/terminfo/p/pcz19
new file mode 100644
index 0000000..e6e3856
--- /dev/null
+++ b/lib/terminfo/p/pcz19
Binary files differ
diff --git a/lib/terminfo/p/pe1100 b/lib/terminfo/p/pe1100
deleted file mode 120000
index 3a05707..0000000
--- a/lib/terminfo/p/pe1100
+++ /dev/null
@@ -1 +0,0 @@
-../f/fox
\ No newline at end of file
diff --git a/lib/terminfo/p/pe1100 b/lib/terminfo/p/pe1100
new file mode 100644
index 0000000..210f592
--- /dev/null
+++ b/lib/terminfo/p/pe1100
Binary files differ
diff --git a/lib/terminfo/p/pe1200 b/lib/terminfo/p/pe1200
deleted file mode 120000
index 1c6f1e4..0000000
--- a/lib/terminfo/p/pe1200
+++ /dev/null
@@ -1 +0,0 @@
-../o/owl
\ No newline at end of file
diff --git a/lib/terminfo/p/pe1200 b/lib/terminfo/p/pe1200
new file mode 100644
index 0000000..d8c6cca
--- /dev/null
+++ b/lib/terminfo/p/pe1200
Binary files differ
diff --git a/lib/terminfo/p/pe1251 b/lib/terminfo/p/pe1251
index 2210500..01acc1b 100644
--- a/lib/terminfo/p/pe1251
+++ b/lib/terminfo/p/pe1251
Binary files differ
diff --git a/lib/terminfo/p/pe550 b/lib/terminfo/p/pe550
deleted file mode 120000
index 2b0ff04..0000000
--- a/lib/terminfo/p/pe550
+++ /dev/null
@@ -1 +0,0 @@
-../b/bantam
\ No newline at end of file
diff --git a/lib/terminfo/p/pe550 b/lib/terminfo/p/pe550
new file mode 100644
index 0000000..2dc4fa3
--- /dev/null
+++ b/lib/terminfo/p/pe550
Binary files differ
diff --git a/lib/terminfo/p/pe6100 b/lib/terminfo/p/pe6100
deleted file mode 120000
index 2b0ff04..0000000
--- a/lib/terminfo/p/pe6100
+++ /dev/null
@@ -1 +0,0 @@
-../b/bantam
\ No newline at end of file
diff --git a/lib/terminfo/p/pe6100 b/lib/terminfo/p/pe6100
new file mode 100644
index 0000000..2dc4fa3
--- /dev/null
+++ b/lib/terminfo/p/pe6100
Binary files differ
diff --git a/lib/terminfo/p/pe6300 b/lib/terminfo/p/pe6300
deleted file mode 120000
index 29ecae9..0000000
--- a/lib/terminfo/p/pe6300
+++ /dev/null
@@ -1 +0,0 @@
-pe1251
\ No newline at end of file
diff --git a/lib/terminfo/p/pe6300 b/lib/terminfo/p/pe6300
new file mode 100644
index 0000000..01acc1b
--- /dev/null
+++ b/lib/terminfo/p/pe6300
Binary files differ
diff --git a/lib/terminfo/p/pe6312 b/lib/terminfo/p/pe6312
deleted file mode 120000
index 29ecae9..0000000
--- a/lib/terminfo/p/pe6312
+++ /dev/null
@@ -1 +0,0 @@
-pe1251
\ No newline at end of file
diff --git a/lib/terminfo/p/pe6312 b/lib/terminfo/p/pe6312
new file mode 100644
index 0000000..01acc1b
--- /dev/null
+++ b/lib/terminfo/p/pe6312
Binary files differ
diff --git a/lib/terminfo/p/pe7000c b/lib/terminfo/p/pe7000c
index db2fcde..e868462 100644
--- a/lib/terminfo/p/pe7000c
+++ b/lib/terminfo/p/pe7000c
Binary files differ
diff --git a/lib/terminfo/p/pe7000m b/lib/terminfo/p/pe7000m
index 00c5837..c17e365 100644
--- a/lib/terminfo/p/pe7000m
+++ b/lib/terminfo/p/pe7000m
Binary files differ
diff --git a/lib/terminfo/p/pmconsole b/lib/terminfo/p/pmconsole
deleted file mode 120000
index 7e4046b..0000000
--- a/lib/terminfo/p/pmconsole
+++ /dev/null
@@ -1 +0,0 @@
-pmcons
\ No newline at end of file
diff --git a/lib/terminfo/p/pmconsole b/lib/terminfo/p/pmconsole
new file mode 100644
index 0000000..5a5b783
--- /dev/null
+++ b/lib/terminfo/p/pmconsole
Binary files differ
diff --git a/lib/terminfo/p/printer b/lib/terminfo/p/printer
deleted file mode 120000
index 762e6dc..0000000
--- a/lib/terminfo/p/printer
+++ /dev/null
@@ -1 +0,0 @@
-../l/lpr
\ No newline at end of file
diff --git a/lib/terminfo/p/printer b/lib/terminfo/p/printer
new file mode 100644
index 0000000..279e1e8
--- /dev/null
+++ b/lib/terminfo/p/printer
Binary files differ
diff --git a/lib/terminfo/p/prism14 b/lib/terminfo/p/prism14
index b029f0a..485f1bc 100644
--- a/lib/terminfo/p/prism14
+++ b/lib/terminfo/p/prism14
Binary files differ
diff --git a/lib/terminfo/p/prism8gl b/lib/terminfo/p/prism8gl
deleted file mode 120000
index 917cb43..0000000
--- a/lib/terminfo/p/prism8gl
+++ /dev/null
@@ -1 +0,0 @@
-p8gl
\ No newline at end of file
diff --git a/lib/terminfo/p/prism8gl b/lib/terminfo/p/prism8gl
new file mode 100644
index 0000000..aabd613
--- /dev/null
+++ b/lib/terminfo/p/prism8gl
Binary files differ
diff --git a/lib/terminfo/p/prism9 b/lib/terminfo/p/prism9
index 0907f61..2a55145 100644
--- a/lib/terminfo/p/prism9
+++ b/lib/terminfo/p/prism9
Binary files differ
diff --git a/lib/terminfo/p/pro350 b/lib/terminfo/p/pro350
index 0e65713..e73dc12 100644
--- a/lib/terminfo/p/pro350
+++ b/lib/terminfo/p/pro350
Binary files differ
diff --git a/lib/terminfo/p/ps300 b/lib/terminfo/p/ps300
index c673ca2..de2ccd7 100644
--- a/lib/terminfo/p/ps300
+++ b/lib/terminfo/p/ps300
Binary files differ
diff --git a/lib/terminfo/p/psterm-basic b/lib/terminfo/p/psterm-basic
deleted file mode 120000
index 48930e0..0000000
--- a/lib/terminfo/p/psterm-basic
+++ /dev/null
@@ -1 +0,0 @@
-psterm
\ No newline at end of file
diff --git a/lib/terminfo/p/psterm-basic b/lib/terminfo/p/psterm-basic
new file mode 100644
index 0000000..d7ec53e
--- /dev/null
+++ b/lib/terminfo/p/psterm-basic
Binary files differ
diff --git a/lib/terminfo/p/psx_ansi b/lib/terminfo/p/psx_ansi
deleted file mode 120000
index e2515eb..0000000
--- a/lib/terminfo/p/psx_ansi
+++ /dev/null
@@ -1 +0,0 @@
-../a/ansi-nt
\ No newline at end of file
diff --git a/lib/terminfo/p/psx_ansi b/lib/terminfo/p/psx_ansi
new file mode 100644
index 0000000..b6bc8b8
--- /dev/null
+++ b/lib/terminfo/p/psx_ansi
Binary files differ
diff --git a/lib/terminfo/p/pt100 b/lib/terminfo/p/pt100
index 7965ed8..cf224e6 100644
--- a/lib/terminfo/p/pt100
+++ b/lib/terminfo/p/pt100
Binary files differ
diff --git a/lib/terminfo/p/pt100w b/lib/terminfo/p/pt100w
index 531bc42..1f73e34 100644
--- a/lib/terminfo/p/pt100w
+++ b/lib/terminfo/p/pt100w
Binary files differ
diff --git a/lib/terminfo/p/pt200 b/lib/terminfo/p/pt200
deleted file mode 120000
index 07e013d..0000000
--- a/lib/terminfo/p/pt200
+++ /dev/null
@@ -1 +0,0 @@
-pt100
\ No newline at end of file
diff --git a/lib/terminfo/p/pt200 b/lib/terminfo/p/pt200
new file mode 100644
index 0000000..cf224e6
--- /dev/null
+++ b/lib/terminfo/p/pt200
Binary files differ
diff --git a/lib/terminfo/p/pt200w b/lib/terminfo/p/pt200w
deleted file mode 120000
index dd79081..0000000
--- a/lib/terminfo/p/pt200w
+++ /dev/null
@@ -1 +0,0 @@
-pt100w
\ No newline at end of file
diff --git a/lib/terminfo/p/pt200w b/lib/terminfo/p/pt200w
new file mode 100644
index 0000000..1f73e34
--- /dev/null
+++ b/lib/terminfo/p/pt200w
Binary files differ
diff --git a/lib/terminfo/p/pt505 b/lib/terminfo/p/pt505
deleted file mode 120000
index 239356b..0000000
--- a/lib/terminfo/p/pt505
+++ /dev/null
@@ -1 +0,0 @@
-../a/att505
\ No newline at end of file
diff --git a/lib/terminfo/p/pt505 b/lib/terminfo/p/pt505
new file mode 100644
index 0000000..6640ef9
--- /dev/null
+++ b/lib/terminfo/p/pt505
Binary files differ
diff --git a/lib/terminfo/p/pt505-22 b/lib/terminfo/p/pt505-22
deleted file mode 120000
index 0cf41b6..0000000
--- a/lib/terminfo/p/pt505-22
+++ /dev/null
@@ -1 +0,0 @@
-../t/tt505-22
\ No newline at end of file
diff --git a/lib/terminfo/p/pt505-22 b/lib/terminfo/p/pt505-22
new file mode 100644
index 0000000..bbf0d9a
--- /dev/null
+++ b/lib/terminfo/p/pt505-22
Binary files differ
diff --git a/lib/terminfo/p/pt505-24 b/lib/terminfo/p/pt505-24
deleted file mode 120000
index b91fd45..0000000
--- a/lib/terminfo/p/pt505-24
+++ /dev/null
@@ -1 +0,0 @@
-../a/att505-24
\ No newline at end of file
diff --git a/lib/terminfo/p/pt505-24 b/lib/terminfo/p/pt505-24
new file mode 100644
index 0000000..ead33f9
--- /dev/null
+++ b/lib/terminfo/p/pt505-24
Binary files differ
diff --git a/lib/terminfo/p/putty b/lib/terminfo/p/putty
index d81f703..9d51b75 100644
--- a/lib/terminfo/p/putty
+++ b/lib/terminfo/p/putty
Binary files differ
diff --git a/lib/terminfo/p/putty+cursor b/lib/terminfo/p/putty+cursor
new file mode 100644
index 0000000..64e170b
--- /dev/null
+++ b/lib/terminfo/p/putty+cursor
Binary files differ
diff --git a/lib/terminfo/p/putty+keypad b/lib/terminfo/p/putty+keypad
new file mode 100644
index 0000000..2bf59a0
--- /dev/null
+++ b/lib/terminfo/p/putty+keypad
Binary files differ
diff --git a/lib/terminfo/p/putty+screen b/lib/terminfo/p/putty+screen
new file mode 100644
index 0000000..b2478f5
--- /dev/null
+++ b/lib/terminfo/p/putty+screen
Binary files differ
diff --git a/lib/terminfo/p/putty-256color b/lib/terminfo/p/putty-256color
index 308368d..eab7654 100644
--- a/lib/terminfo/p/putty-256color
+++ b/lib/terminfo/p/putty-256color
Binary files differ
diff --git a/lib/terminfo/p/putty-m1 b/lib/terminfo/p/putty-m1
new file mode 100644
index 0000000..6db7ff6
--- /dev/null
+++ b/lib/terminfo/p/putty-m1
Binary files differ
diff --git a/lib/terminfo/p/putty-m1b b/lib/terminfo/p/putty-m1b
new file mode 100644
index 0000000..148e727
--- /dev/null
+++ b/lib/terminfo/p/putty-m1b
Binary files differ
diff --git a/lib/terminfo/p/putty-m2 b/lib/terminfo/p/putty-m2
new file mode 100644
index 0000000..6d07493
--- /dev/null
+++ b/lib/terminfo/p/putty-m2
Binary files differ
diff --git a/lib/terminfo/p/putty-noapp b/lib/terminfo/p/putty-noapp
new file mode 100644
index 0000000..6905ce6
--- /dev/null
+++ b/lib/terminfo/p/putty-noapp
Binary files differ
diff --git a/lib/terminfo/p/putty-sco b/lib/terminfo/p/putty-sco
index bfe5850..0d31a76 100644
--- a/lib/terminfo/p/putty-sco
+++ b/lib/terminfo/p/putty-sco
Binary files differ
diff --git a/lib/terminfo/p/putty-screen b/lib/terminfo/p/putty-screen
new file mode 100644
index 0000000..4fbce72
--- /dev/null
+++ b/lib/terminfo/p/putty-screen
Binary files differ
diff --git a/lib/terminfo/p/putty-vt100 b/lib/terminfo/p/putty-vt100
index a6ec951..f9d59a8 100644
--- a/lib/terminfo/p/putty-vt100
+++ b/lib/terminfo/p/putty-vt100
Binary files differ
diff --git a/lib/terminfo/q/qansi b/lib/terminfo/q/qansi
index bc75858..6334299 100644
--- a/lib/terminfo/q/qansi
+++ b/lib/terminfo/q/qansi
Binary files differ
diff --git a/lib/terminfo/q/qansi-g b/lib/terminfo/q/qansi-g
index 35706e4..a128612 100644
--- a/lib/terminfo/q/qansi-g
+++ b/lib/terminfo/q/qansi-g
Binary files differ
diff --git a/lib/terminfo/q/qansi-m b/lib/terminfo/q/qansi-m
index e19a3d9..3bae8ce 100644
--- a/lib/terminfo/q/qansi-m
+++ b/lib/terminfo/q/qansi-m
Binary files differ
diff --git a/lib/terminfo/q/qansi-t b/lib/terminfo/q/qansi-t
index 4d23e48..448097d 100644
--- a/lib/terminfo/q/qansi-t
+++ b/lib/terminfo/q/qansi-t
Binary files differ
diff --git a/lib/terminfo/q/qansi-w b/lib/terminfo/q/qansi-w
index 77e03fc..468f653 100644
--- a/lib/terminfo/q/qansi-w
+++ b/lib/terminfo/q/qansi-w
Binary files differ
diff --git a/lib/terminfo/q/qdcons b/lib/terminfo/q/qdcons
deleted file mode 120000
index 74d877e..0000000
--- a/lib/terminfo/q/qdcons
+++ /dev/null
@@ -1 +0,0 @@
-qdss
\ No newline at end of file
diff --git a/lib/terminfo/q/qdcons b/lib/terminfo/q/qdcons
new file mode 100644
index 0000000..956ea30
--- /dev/null
+++ b/lib/terminfo/q/qdcons
Binary files differ
diff --git a/lib/terminfo/q/qnx b/lib/terminfo/q/qnx
index d14b395..124314a 100644
--- a/lib/terminfo/q/qnx
+++ b/lib/terminfo/q/qnx
Binary files differ
diff --git a/lib/terminfo/q/qnx4 b/lib/terminfo/q/qnx4
deleted file mode 120000
index d30fa37..0000000
--- a/lib/terminfo/q/qnx4
+++ /dev/null
@@ -1 +0,0 @@
-qnx
\ No newline at end of file
diff --git a/lib/terminfo/q/qnx4 b/lib/terminfo/q/qnx4
new file mode 100644
index 0000000..124314a
--- /dev/null
+++ b/lib/terminfo/q/qnx4
Binary files differ
diff --git a/lib/terminfo/q/qnxt2 b/lib/terminfo/q/qnxt2
index dd7af8e..21ef72d 100644
--- a/lib/terminfo/q/qnxt2
+++ b/lib/terminfo/q/qnxt2
Binary files differ
diff --git a/lib/terminfo/q/qnxt4 b/lib/terminfo/q/qnxt4
deleted file mode 120000
index b0b9e93..0000000
--- a/lib/terminfo/q/qnxt4
+++ /dev/null
@@ -1 +0,0 @@
-qnxt
\ No newline at end of file
diff --git a/lib/terminfo/q/qnxt4 b/lib/terminfo/q/qnxt4
new file mode 100644
index 0000000..b23d7a8
--- /dev/null
+++ b/lib/terminfo/q/qnxt4
Binary files differ
diff --git a/lib/terminfo/q/qume b/lib/terminfo/q/qume
deleted file mode 120000
index c00446c..0000000
--- a/lib/terminfo/q/qume
+++ /dev/null
@@ -1 +0,0 @@
-qume5
\ No newline at end of file
diff --git a/lib/terminfo/q/qume b/lib/terminfo/q/qume
new file mode 100644
index 0000000..16cbc56
--- /dev/null
+++ b/lib/terminfo/q/qume
Binary files differ
diff --git a/lib/terminfo/q/qvt101 b/lib/terminfo/q/qvt101
index a995fe6..837689e 100644
--- a/lib/terminfo/q/qvt101
+++ b/lib/terminfo/q/qvt101
Binary files differ
diff --git a/lib/terminfo/q/qvt101+ b/lib/terminfo/q/qvt101+
index 0f6ef94..4a9cd94 100644
--- a/lib/terminfo/q/qvt101+
+++ b/lib/terminfo/q/qvt101+
Binary files differ
diff --git a/lib/terminfo/q/qvt101p b/lib/terminfo/q/qvt101p
deleted file mode 120000
index 2e25d37..0000000
--- a/lib/terminfo/q/qvt101p
+++ /dev/null
@@ -1 +0,0 @@
-qvt101+
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt101p b/lib/terminfo/q/qvt101p
new file mode 100644
index 0000000..4a9cd94
--- /dev/null
+++ b/lib/terminfo/q/qvt101p
Binary files differ
diff --git a/lib/terminfo/q/qvt102 b/lib/terminfo/q/qvt102
index 7c5b1f7..f2a9ed1 100644
--- a/lib/terminfo/q/qvt102
+++ b/lib/terminfo/q/qvt102
Binary files differ
diff --git a/lib/terminfo/q/qvt103 b/lib/terminfo/q/qvt103
index f4611f4..f3906f7 100644
--- a/lib/terminfo/q/qvt103
+++ b/lib/terminfo/q/qvt103
Binary files differ
diff --git a/lib/terminfo/q/qvt103-w b/lib/terminfo/q/qvt103-w
index 9b97e24..5a30648 100644
--- a/lib/terminfo/q/qvt103-w
+++ b/lib/terminfo/q/qvt103-w
Binary files differ
diff --git a/lib/terminfo/q/qvt108 b/lib/terminfo/q/qvt108
deleted file mode 120000
index d451ac7..0000000
--- a/lib/terminfo/q/qvt108
+++ /dev/null
@@ -1 +0,0 @@
-qvt101
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt108 b/lib/terminfo/q/qvt108
new file mode 100644
index 0000000..837689e
--- /dev/null
+++ b/lib/terminfo/q/qvt108
Binary files differ
diff --git a/lib/terminfo/q/qvt119 b/lib/terminfo/q/qvt119
deleted file mode 120000
index 96a4596..0000000
--- a/lib/terminfo/q/qvt119
+++ /dev/null
@@ -1 +0,0 @@
-qvt119+
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119 b/lib/terminfo/q/qvt119
new file mode 100644
index 0000000..02216cd
--- /dev/null
+++ b/lib/terminfo/q/qvt119
Binary files differ
diff --git a/lib/terminfo/q/qvt119+ b/lib/terminfo/q/qvt119+
index cd62820..02216cd 100644
--- a/lib/terminfo/q/qvt119+
+++ b/lib/terminfo/q/qvt119+
Binary files differ
diff --git a/lib/terminfo/q/qvt119-25-w b/lib/terminfo/q/qvt119-25-w
deleted file mode 120000
index 7f6b52e..0000000
--- a/lib/terminfo/q/qvt119-25-w
+++ /dev/null
@@ -1 +0,0 @@
-qvt119+-25-w
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119-25-w b/lib/terminfo/q/qvt119-25-w
new file mode 100644
index 0000000..0149dc3
--- /dev/null
+++ b/lib/terminfo/q/qvt119-25-w
Binary files differ
diff --git a/lib/terminfo/q/qvt119-w b/lib/terminfo/q/qvt119-w
deleted file mode 120000
index ec87753..0000000
--- a/lib/terminfo/q/qvt119-w
+++ /dev/null
@@ -1 +0,0 @@
-qvt119+-w
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119-w b/lib/terminfo/q/qvt119-w
new file mode 100644
index 0000000..ad44936
--- /dev/null
+++ b/lib/terminfo/q/qvt119-w
Binary files differ
diff --git a/lib/terminfo/q/qvt119p b/lib/terminfo/q/qvt119p
deleted file mode 120000
index 96a4596..0000000
--- a/lib/terminfo/q/qvt119p
+++ /dev/null
@@ -1 +0,0 @@
-qvt119+
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119p b/lib/terminfo/q/qvt119p
new file mode 100644
index 0000000..02216cd
--- /dev/null
+++ b/lib/terminfo/q/qvt119p
Binary files differ
diff --git a/lib/terminfo/q/qvt119p-25 b/lib/terminfo/q/qvt119p-25
deleted file mode 120000
index 44a3c3c..0000000
--- a/lib/terminfo/q/qvt119p-25
+++ /dev/null
@@ -1 +0,0 @@
-qvt119+-25
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119p-25 b/lib/terminfo/q/qvt119p-25
new file mode 100644
index 0000000..7635a5a
--- /dev/null
+++ b/lib/terminfo/q/qvt119p-25
Binary files differ
diff --git a/lib/terminfo/q/qvt119p-25-w b/lib/terminfo/q/qvt119p-25-w
deleted file mode 120000
index 7f6b52e..0000000
--- a/lib/terminfo/q/qvt119p-25-w
+++ /dev/null
@@ -1 +0,0 @@
-qvt119+-25-w
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119p-25-w b/lib/terminfo/q/qvt119p-25-w
new file mode 100644
index 0000000..0149dc3
--- /dev/null
+++ b/lib/terminfo/q/qvt119p-25-w
Binary files differ
diff --git a/lib/terminfo/q/qvt119p-w b/lib/terminfo/q/qvt119p-w
deleted file mode 120000
index ec87753..0000000
--- a/lib/terminfo/q/qvt119p-w
+++ /dev/null
@@ -1 +0,0 @@
-qvt119+-w
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt119p-w b/lib/terminfo/q/qvt119p-w
new file mode 100644
index 0000000..ad44936
--- /dev/null
+++ b/lib/terminfo/q/qvt119p-w
Binary files differ
diff --git a/lib/terminfo/q/qvt203 b/lib/terminfo/q/qvt203
index 3800b26..c359958 100644
--- a/lib/terminfo/q/qvt203
+++ b/lib/terminfo/q/qvt203
Binary files differ
diff --git a/lib/terminfo/q/qvt203+ b/lib/terminfo/q/qvt203+
deleted file mode 120000
index 442a6da..0000000
--- a/lib/terminfo/q/qvt203+
+++ /dev/null
@@ -1 +0,0 @@
-qvt203
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt203+ b/lib/terminfo/q/qvt203+
new file mode 100644
index 0000000..c359958
--- /dev/null
+++ b/lib/terminfo/q/qvt203+
Binary files differ
diff --git a/lib/terminfo/q/qvt203-w b/lib/terminfo/q/qvt203-w
index e768ebf..9cf6640 100644
--- a/lib/terminfo/q/qvt203-w
+++ b/lib/terminfo/q/qvt203-w
Binary files differ
diff --git a/lib/terminfo/q/qvt203-w-am b/lib/terminfo/q/qvt203-w-am
deleted file mode 120000
index c22a099..0000000
--- a/lib/terminfo/q/qvt203-w-am
+++ /dev/null
@@ -1 +0,0 @@
-qvt203-w
\ No newline at end of file
diff --git a/lib/terminfo/q/qvt203-w-am b/lib/terminfo/q/qvt203-w-am
new file mode 100644
index 0000000..9cf6640
--- /dev/null
+++ b/lib/terminfo/q/qvt203-w-am
Binary files differ
diff --git a/lib/terminfo/r/rca b/lib/terminfo/r/rca
index 7920b68..56c6101 100644
--- a/lib/terminfo/r/rca
+++ b/lib/terminfo/r/rca
Binary files differ
diff --git a/lib/terminfo/r/rebus3180 b/lib/terminfo/r/rebus3180
deleted file mode 120000
index c31d60c..0000000
--- a/lib/terminfo/r/rebus3180
+++ /dev/null
@@ -1 +0,0 @@
-../d/ddr
\ No newline at end of file
diff --git a/lib/terminfo/r/rebus3180 b/lib/terminfo/r/rebus3180
new file mode 100644
index 0000000..6b46f73
--- /dev/null
+++ b/lib/terminfo/r/rebus3180
Binary files differ
diff --git a/lib/terminfo/r/regent b/lib/terminfo/r/regent
index 978ce6b..76d975d 100644
--- a/lib/terminfo/r/regent
+++ b/lib/terminfo/r/regent
Binary files differ
diff --git a/lib/terminfo/r/regent100 b/lib/terminfo/r/regent100
index 2500f11..4893c84 100644
--- a/lib/terminfo/r/regent100
+++ b/lib/terminfo/r/regent100
Binary files differ
diff --git a/lib/terminfo/r/regent20 b/lib/terminfo/r/regent20
index e8fadf4..96353c0 100644
--- a/lib/terminfo/r/regent20
+++ b/lib/terminfo/r/regent20
Binary files differ
diff --git a/lib/terminfo/r/regent200 b/lib/terminfo/r/regent200
deleted file mode 120000
index 570f840..0000000
--- a/lib/terminfo/r/regent200
+++ /dev/null
@@ -1 +0,0 @@
-regent60
\ No newline at end of file
diff --git a/lib/terminfo/r/regent200 b/lib/terminfo/r/regent200
new file mode 100644
index 0000000..07a979a
--- /dev/null
+++ b/lib/terminfo/r/regent200
Binary files differ
diff --git a/lib/terminfo/r/regent25 b/lib/terminfo/r/regent25
index 2f351e4..5edee1e 100644
--- a/lib/terminfo/r/regent25
+++ b/lib/terminfo/r/regent25
Binary files differ
diff --git a/lib/terminfo/r/regent40 b/lib/terminfo/r/regent40
index 76ec632..2866def 100644
--- a/lib/terminfo/r/regent40
+++ b/lib/terminfo/r/regent40
Binary files differ
diff --git a/lib/terminfo/r/regent40+ b/lib/terminfo/r/regent40+
index 4be7ba4..ca00e07 100644
--- a/lib/terminfo/r/regent40+
+++ b/lib/terminfo/r/regent40+
Binary files differ
diff --git a/lib/terminfo/r/regent60 b/lib/terminfo/r/regent60
index 0d3cb47..07a979a 100644
--- a/lib/terminfo/r/regent60
+++ b/lib/terminfo/r/regent60
Binary files differ
diff --git a/lib/terminfo/r/report+da2 b/lib/terminfo/r/report+da2
new file mode 100644
index 0000000..c5e4130
--- /dev/null
+++ b/lib/terminfo/r/report+da2
Binary files differ
diff --git a/lib/terminfo/r/report+version b/lib/terminfo/r/report+version
new file mode 100644
index 0000000..971400e
--- /dev/null
+++ b/lib/terminfo/r/report+version
Binary files differ
diff --git a/lib/terminfo/r/rio b/lib/terminfo/r/rio
new file mode 100644
index 0000000..76b56fa
--- /dev/null
+++ b/lib/terminfo/r/rio
Binary files differ
diff --git a/lib/terminfo/r/rio-direct b/lib/terminfo/r/rio-direct
new file mode 100644
index 0000000..8cf6e42
--- /dev/null
+++ b/lib/terminfo/r/rio-direct
Binary files differ
diff --git a/lib/terminfo/r/rxvt b/lib/terminfo/r/rxvt
index 4d54c32..fac9de1 100644
--- a/lib/terminfo/r/rxvt
+++ b/lib/terminfo/r/rxvt
Binary files differ
diff --git a/lib/terminfo/r/rxvt+pcfkeys b/lib/terminfo/r/rxvt+pcfkeys
index 7612947..cb43d1a 100644
--- a/lib/terminfo/r/rxvt+pcfkeys
+++ b/lib/terminfo/r/rxvt+pcfkeys
Binary files differ
diff --git a/lib/terminfo/r/rxvt-16color b/lib/terminfo/r/rxvt-16color
index 349701a..6fcc3e8 100644
--- a/lib/terminfo/r/rxvt-16color
+++ b/lib/terminfo/r/rxvt-16color
Binary files differ
diff --git a/lib/terminfo/r/rxvt-256color b/lib/terminfo/r/rxvt-256color
index 355cb6e..849454a 100644
--- a/lib/terminfo/r/rxvt-256color
+++ b/lib/terminfo/r/rxvt-256color
Binary files differ
diff --git a/lib/terminfo/r/rxvt-88color b/lib/terminfo/r/rxvt-88color
index 91ae947..14312a4 100644
--- a/lib/terminfo/r/rxvt-88color
+++ b/lib/terminfo/r/rxvt-88color
Binary files differ
diff --git a/lib/terminfo/r/rxvt-basic b/lib/terminfo/r/rxvt-basic
index 0547463..6e95c85 100644
--- a/lib/terminfo/r/rxvt-basic
+++ b/lib/terminfo/r/rxvt-basic
Binary files differ
diff --git a/lib/terminfo/r/rxvt-color b/lib/terminfo/r/rxvt-color
index 8cf3cd9..fac9de1 100644
--- a/lib/terminfo/r/rxvt-color
+++ b/lib/terminfo/r/rxvt-color
Binary files differ
diff --git a/lib/terminfo/r/rxvt-cygwin b/lib/terminfo/r/rxvt-cygwin
index b122aa5..8e54800 100644
--- a/lib/terminfo/r/rxvt-cygwin
+++ b/lib/terminfo/r/rxvt-cygwin
Binary files differ
diff --git a/lib/terminfo/r/rxvt-cygwin-native b/lib/terminfo/r/rxvt-cygwin-native
index 2350014..6985041 100644
--- a/lib/terminfo/r/rxvt-cygwin-native
+++ b/lib/terminfo/r/rxvt-cygwin-native
Binary files differ
diff --git a/lib/terminfo/r/rxvt-xpm b/lib/terminfo/r/rxvt-xpm
index e0c77fd..4a86de3 100644
--- a/lib/terminfo/r/rxvt-xpm
+++ b/lib/terminfo/r/rxvt-xpm
Binary files differ
diff --git a/lib/terminfo/s/s4 b/lib/terminfo/s/s4
deleted file mode 120000
index baaa9ad..0000000
--- a/lib/terminfo/s/s4
+++ /dev/null
@@ -1 +0,0 @@
-../a/att7300
\ No newline at end of file
diff --git a/lib/terminfo/s/s4 b/lib/terminfo/s/s4
new file mode 100644
index 0000000..b41843d
--- /dev/null
+++ b/lib/terminfo/s/s4
Binary files differ
diff --git a/lib/terminfo/s/sb1 b/lib/terminfo/s/sb1
index b757da8..19f119d 100644
--- a/lib/terminfo/s/sb1
+++ b/lib/terminfo/s/sb1
Binary files differ
diff --git a/lib/terminfo/s/sb2 b/lib/terminfo/s/sb2
index 60c03c0..21b7e17 100644
--- a/lib/terminfo/s/sb2
+++ b/lib/terminfo/s/sb2
Binary files differ
diff --git a/lib/terminfo/s/sb3 b/lib/terminfo/s/sb3
deleted file mode 120000
index 10b0c86..0000000
--- a/lib/terminfo/s/sb3
+++ /dev/null
@@ -1 +0,0 @@
-sb2
\ No newline at end of file
diff --git a/lib/terminfo/s/sb3 b/lib/terminfo/s/sb3
new file mode 100644
index 0000000..21b7e17
--- /dev/null
+++ b/lib/terminfo/s/sb3
Binary files differ
diff --git a/lib/terminfo/s/sbi b/lib/terminfo/s/sbi
index 7315f5d..424704d 100644
--- a/lib/terminfo/s/sbi
+++ b/lib/terminfo/s/sbi
Binary files differ
diff --git a/lib/terminfo/s/sbobcat b/lib/terminfo/s/sbobcat
deleted file mode 120000
index 7b8edbb..0000000
--- a/lib/terminfo/s/sbobcat
+++ /dev/null
@@ -1 +0,0 @@
-../b/bobcat
\ No newline at end of file
diff --git a/lib/terminfo/s/sbobcat b/lib/terminfo/s/sbobcat
new file mode 100644
index 0000000..a0ed4ab
--- /dev/null
+++ b/lib/terminfo/s/sbobcat
Binary files differ
diff --git a/lib/terminfo/s/sc410 b/lib/terminfo/s/sc410
deleted file mode 120000
index 5a00a75..0000000
--- a/lib/terminfo/s/sc410
+++ /dev/null
@@ -1 +0,0 @@
-scanset
\ No newline at end of file
diff --git a/lib/terminfo/s/sc410 b/lib/terminfo/s/sc410
new file mode 100644
index 0000000..d30d42c
--- /dev/null
+++ b/lib/terminfo/s/sc410
Binary files differ
diff --git a/lib/terminfo/s/sc415 b/lib/terminfo/s/sc415
deleted file mode 120000
index 5a00a75..0000000
--- a/lib/terminfo/s/sc415
+++ /dev/null
@@ -1 +0,0 @@
-scanset
\ No newline at end of file
diff --git a/lib/terminfo/s/sc415 b/lib/terminfo/s/sc415
new file mode 100644
index 0000000..d30d42c
--- /dev/null
+++ b/lib/terminfo/s/sc415
Binary files differ
diff --git a/lib/terminfo/s/scoansi b/lib/terminfo/s/scoansi
index f5e2e0c..9ad0cce 100644
--- a/lib/terminfo/s/scoansi
+++ b/lib/terminfo/s/scoansi
Binary files differ
diff --git a/lib/terminfo/s/scoansi-new b/lib/terminfo/s/scoansi-new
index 7beab0f..f828ff0 100644
--- a/lib/terminfo/s/scoansi-new
+++ b/lib/terminfo/s/scoansi-new
Binary files differ
diff --git a/lib/terminfo/s/scoansi-old b/lib/terminfo/s/scoansi-old
index e5b08c5..7ae39e9 100644
--- a/lib/terminfo/s/scoansi-old
+++ b/lib/terminfo/s/scoansi-old
Binary files differ
diff --git a/lib/terminfo/s/screen b/lib/terminfo/s/screen
index 895f0f6..940fb2c 100644
--- a/lib/terminfo/s/screen
+++ b/lib/terminfo/s/screen
Binary files differ
diff --git a/lib/terminfo/s/screen-16color b/lib/terminfo/s/screen-16color
index f1e623c..cbe8647 100644
--- a/lib/terminfo/s/screen-16color
+++ b/lib/terminfo/s/screen-16color
Binary files differ
diff --git a/lib/terminfo/s/screen-16color-bce b/lib/terminfo/s/screen-16color-bce
index 655e21a..ab1e271 100644
--- a/lib/terminfo/s/screen-16color-bce
+++ b/lib/terminfo/s/screen-16color-bce
Binary files differ
diff --git a/lib/terminfo/s/screen-16color-bce-s b/lib/terminfo/s/screen-16color-bce-s
index 157431c..a5fa58d 100644
--- a/lib/terminfo/s/screen-16color-bce-s
+++ b/lib/terminfo/s/screen-16color-bce-s
Binary files differ
diff --git a/lib/terminfo/s/screen-16color-s b/lib/terminfo/s/screen-16color-s
index 750fc54..21a49ca 100644
--- a/lib/terminfo/s/screen-16color-s
+++ b/lib/terminfo/s/screen-16color-s
Binary files differ
diff --git a/lib/terminfo/s/screen-256color b/lib/terminfo/s/screen-256color
index 11fbb23..6cca951 100644
--- a/lib/terminfo/s/screen-256color
+++ b/lib/terminfo/s/screen-256color
Binary files differ
diff --git a/lib/terminfo/s/screen-256color-bce b/lib/terminfo/s/screen-256color-bce
index ad6b316..edaecbd 100644
--- a/lib/terminfo/s/screen-256color-bce
+++ b/lib/terminfo/s/screen-256color-bce
Binary files differ
diff --git a/lib/terminfo/s/screen-256color-bce-s b/lib/terminfo/s/screen-256color-bce-s
index 21338a2..806b1ec 100644
--- a/lib/terminfo/s/screen-256color-bce-s
+++ b/lib/terminfo/s/screen-256color-bce-s
Binary files differ
diff --git a/lib/terminfo/s/screen-256color-s b/lib/terminfo/s/screen-256color-s
index 33a6ce4..399f35b 100644
--- a/lib/terminfo/s/screen-256color-s
+++ b/lib/terminfo/s/screen-256color-s
Binary files differ
diff --git a/lib/terminfo/s/screen-base b/lib/terminfo/s/screen-base
new file mode 100644
index 0000000..f92354c
--- /dev/null
+++ b/lib/terminfo/s/screen-base
Binary files differ
diff --git a/lib/terminfo/s/screen-bce b/lib/terminfo/s/screen-bce
index bf8eda0..0afccfd 100644
--- a/lib/terminfo/s/screen-bce
+++ b/lib/terminfo/s/screen-bce
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.Eterm b/lib/terminfo/s/screen-bce.Eterm
index b7ccb34..36ac7ea 100644
--- a/lib/terminfo/s/screen-bce.Eterm
+++ b/lib/terminfo/s/screen-bce.Eterm
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.gnome b/lib/terminfo/s/screen-bce.gnome
index 3cf909d..70ad28c 100644
--- a/lib/terminfo/s/screen-bce.gnome
+++ b/lib/terminfo/s/screen-bce.gnome
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.konsole b/lib/terminfo/s/screen-bce.konsole
index 281eb9c..9b29313 100644
--- a/lib/terminfo/s/screen-bce.konsole
+++ b/lib/terminfo/s/screen-bce.konsole
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.linux b/lib/terminfo/s/screen-bce.linux
index 50a53e0..242cc07 100644
--- a/lib/terminfo/s/screen-bce.linux
+++ b/lib/terminfo/s/screen-bce.linux
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.mrxvt b/lib/terminfo/s/screen-bce.mrxvt
index aae3959..80e1fe5 100644
--- a/lib/terminfo/s/screen-bce.mrxvt
+++ b/lib/terminfo/s/screen-bce.mrxvt
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.rxvt b/lib/terminfo/s/screen-bce.rxvt
index f187d09..a72db54 100644
--- a/lib/terminfo/s/screen-bce.rxvt
+++ b/lib/terminfo/s/screen-bce.rxvt
Binary files differ
diff --git a/lib/terminfo/s/screen-bce.xterm-new b/lib/terminfo/s/screen-bce.xterm-new
index 076feca..72e2dc9 100644
--- a/lib/terminfo/s/screen-bce.xterm-new
+++ b/lib/terminfo/s/screen-bce.xterm-new
Binary files differ
diff --git a/lib/terminfo/s/screen-s b/lib/terminfo/s/screen-s
index c9fffe2..fc947db 100644
--- a/lib/terminfo/s/screen-s
+++ b/lib/terminfo/s/screen-s
Binary files differ
diff --git a/lib/terminfo/s/screen-w b/lib/terminfo/s/screen-w
index e5a1386..9e6d964 100644
--- a/lib/terminfo/s/screen-w
+++ b/lib/terminfo/s/screen-w
Binary files differ
diff --git a/lib/terminfo/s/screen.Eterm b/lib/terminfo/s/screen.Eterm
index 7cea844..8ed159d 100644
--- a/lib/terminfo/s/screen.Eterm
+++ b/lib/terminfo/s/screen.Eterm
Binary files differ
diff --git a/lib/terminfo/s/screen.gnome b/lib/terminfo/s/screen.gnome
index e8dcd51..b701f72 100644
--- a/lib/terminfo/s/screen.gnome
+++ b/lib/terminfo/s/screen.gnome
Binary files differ
diff --git a/lib/terminfo/s/screen.konsole b/lib/terminfo/s/screen.konsole
index 8368e23..6bb1b1f 100644
--- a/lib/terminfo/s/screen.konsole
+++ b/lib/terminfo/s/screen.konsole
Binary files differ
diff --git a/lib/terminfo/s/screen.konsole-256color b/lib/terminfo/s/screen.konsole-256color
index 6de2a57..f217ff5 100644
--- a/lib/terminfo/s/screen.konsole-256color
+++ b/lib/terminfo/s/screen.konsole-256color
Binary files differ
diff --git a/lib/terminfo/s/screen.linux b/lib/terminfo/s/screen.linux
index 5ff63ba..2a508d1 100644
--- a/lib/terminfo/s/screen.linux
+++ b/lib/terminfo/s/screen.linux
Binary files differ
diff --git a/lib/terminfo/s/screen.linux-m1 b/lib/terminfo/s/screen.linux-m1
new file mode 100644
index 0000000..b0c2157
--- /dev/null
+++ b/lib/terminfo/s/screen.linux-m1
Binary files differ
diff --git a/lib/terminfo/s/screen.linux-m1b b/lib/terminfo/s/screen.linux-m1b
new file mode 100644
index 0000000..a464292
--- /dev/null
+++ b/lib/terminfo/s/screen.linux-m1b
Binary files differ
diff --git a/lib/terminfo/s/screen.linux-m2 b/lib/terminfo/s/screen.linux-m2
new file mode 100644
index 0000000..1aeb07d
--- /dev/null
+++ b/lib/terminfo/s/screen.linux-m2
Binary files differ
diff --git a/lib/terminfo/s/screen.linux-s b/lib/terminfo/s/screen.linux-s
new file mode 100644
index 0000000..2a508d1
--- /dev/null
+++ b/lib/terminfo/s/screen.linux-s
Binary files differ
diff --git a/lib/terminfo/s/screen.minitel1 b/lib/terminfo/s/screen.minitel1
new file mode 100644
index 0000000..d68fd85
--- /dev/null
+++ b/lib/terminfo/s/screen.minitel1
Binary files differ
diff --git a/lib/terminfo/s/screen.minitel1-nb b/lib/terminfo/s/screen.minitel1-nb
new file mode 100644
index 0000000..0aa29e0
--- /dev/null
+++ b/lib/terminfo/s/screen.minitel1-nb
Binary files differ
diff --git a/lib/terminfo/s/screen.minitel12-80 b/lib/terminfo/s/screen.minitel12-80
new file mode 100644
index 0000000..32d38b3
--- /dev/null
+++ b/lib/terminfo/s/screen.minitel12-80
Binary files differ
diff --git a/lib/terminfo/s/screen.minitel1b b/lib/terminfo/s/screen.minitel1b
new file mode 100644
index 0000000..29dc296
--- /dev/null
+++ b/lib/terminfo/s/screen.minitel1b
Binary files differ
diff --git a/lib/terminfo/s/screen.minitel1b-80 b/lib/terminfo/s/screen.minitel1b-80
new file mode 100644
index 0000000..32d38b3
--- /dev/null
+++ b/lib/terminfo/s/screen.minitel1b-80
Binary files differ
diff --git a/lib/terminfo/s/screen.minitel1b-nb b/lib/terminfo/s/screen.minitel1b-nb
new file mode 100644
index 0000000..4c53f1f
--- /dev/null
+++ b/lib/terminfo/s/screen.minitel1b-nb
Binary files differ
diff --git a/lib/terminfo/s/screen.minitel2-80 b/lib/terminfo/s/screen.minitel2-80
new file mode 100644
index 0000000..32d38b3
--- /dev/null
+++ b/lib/terminfo/s/screen.minitel2-80
Binary files differ
diff --git a/lib/terminfo/s/screen.mlterm b/lib/terminfo/s/screen.mlterm
index bf0298b..402a07c 100644
--- a/lib/terminfo/s/screen.mlterm
+++ b/lib/terminfo/s/screen.mlterm
Binary files differ
diff --git a/lib/terminfo/s/screen.mlterm-256color b/lib/terminfo/s/screen.mlterm-256color
index 8249f81..12d850b 100644
--- a/lib/terminfo/s/screen.mlterm-256color
+++ b/lib/terminfo/s/screen.mlterm-256color
Binary files differ
diff --git a/lib/terminfo/s/screen.mrxvt b/lib/terminfo/s/screen.mrxvt
index 4bad239..7ce35ef 100644
--- a/lib/terminfo/s/screen.mrxvt
+++ b/lib/terminfo/s/screen.mrxvt
Binary files differ
diff --git a/lib/terminfo/s/screen.putty b/lib/terminfo/s/screen.putty
index abf4d52..99cd51f 100644
--- a/lib/terminfo/s/screen.putty
+++ b/lib/terminfo/s/screen.putty
Binary files differ
diff --git a/lib/terminfo/s/screen.putty-256color b/lib/terminfo/s/screen.putty-256color
index 458af49..af6777f 100644
--- a/lib/terminfo/s/screen.putty-256color
+++ b/lib/terminfo/s/screen.putty-256color
Binary files differ
diff --git a/lib/terminfo/s/screen.putty-m1 b/lib/terminfo/s/screen.putty-m1
new file mode 100644
index 0000000..67912a1
--- /dev/null
+++ b/lib/terminfo/s/screen.putty-m1
Binary files differ
diff --git a/lib/terminfo/s/screen.putty-m1b b/lib/terminfo/s/screen.putty-m1b
new file mode 100644
index 0000000..caa7148
--- /dev/null
+++ b/lib/terminfo/s/screen.putty-m1b
Binary files differ
diff --git a/lib/terminfo/s/screen.putty-m2 b/lib/terminfo/s/screen.putty-m2
new file mode 100644
index 0000000..040b4ed
--- /dev/null
+++ b/lib/terminfo/s/screen.putty-m2
Binary files differ
diff --git a/lib/terminfo/s/screen.rxvt b/lib/terminfo/s/screen.rxvt
index 78a4b22..a08f450 100644
--- a/lib/terminfo/s/screen.rxvt
+++ b/lib/terminfo/s/screen.rxvt
Binary files differ
diff --git a/lib/terminfo/s/screen.teraterm b/lib/terminfo/s/screen.teraterm
index 715195b..09ce9e3 100644
--- a/lib/terminfo/s/screen.teraterm
+++ b/lib/terminfo/s/screen.teraterm
Binary files differ
diff --git a/lib/terminfo/s/screen.vte b/lib/terminfo/s/screen.vte
index fc8cfb9..94576c9 100644
--- a/lib/terminfo/s/screen.vte
+++ b/lib/terminfo/s/screen.vte
Binary files differ
diff --git a/lib/terminfo/s/screen.vte-256color b/lib/terminfo/s/screen.vte-256color
index 267fd5f..f31258c 100644
--- a/lib/terminfo/s/screen.vte-256color
+++ b/lib/terminfo/s/screen.vte-256color
Binary files differ
diff --git a/lib/terminfo/s/screen.xterm-256color b/lib/terminfo/s/screen.xterm-256color
index 4247a89..3dd14d4 100644
--- a/lib/terminfo/s/screen.xterm-256color
+++ b/lib/terminfo/s/screen.xterm-256color
Binary files differ
diff --git a/lib/terminfo/s/screen.xterm-new b/lib/terminfo/s/screen.xterm-new
deleted file mode 120000
index 978e70d..0000000
--- a/lib/terminfo/s/screen.xterm-new
+++ /dev/null
@@ -1 +0,0 @@
-screen.xterm-xfree86
\ No newline at end of file
diff --git a/lib/terminfo/s/screen.xterm-new b/lib/terminfo/s/screen.xterm-new
new file mode 100644
index 0000000..00736f3
--- /dev/null
+++ b/lib/terminfo/s/screen.xterm-new
Binary files differ
diff --git a/lib/terminfo/s/screen.xterm-r6 b/lib/terminfo/s/screen.xterm-r6
index 4d59619..5a56141 100644
--- a/lib/terminfo/s/screen.xterm-r6
+++ b/lib/terminfo/s/screen.xterm-r6
Binary files differ
diff --git a/lib/terminfo/s/screen.xterm-xfree86 b/lib/terminfo/s/screen.xterm-xfree86
index d47d6da..00736f3 100644
--- a/lib/terminfo/s/screen.xterm-xfree86
+++ b/lib/terminfo/s/screen.xterm-xfree86
Binary files differ
diff --git a/lib/terminfo/s/screen2 b/lib/terminfo/s/screen2
index 717276b..ccc6685 100644
--- a/lib/terminfo/s/screen2
+++ b/lib/terminfo/s/screen2
Binary files differ
diff --git a/lib/terminfo/s/screen3 b/lib/terminfo/s/screen3
index 768bcc8..a1f00e0 100644
--- a/lib/terminfo/s/screen3
+++ b/lib/terminfo/s/screen3
Binary files differ
diff --git a/lib/terminfo/s/screen4 b/lib/terminfo/s/screen4
new file mode 100644
index 0000000..f55ef05
--- /dev/null
+++ b/lib/terminfo/s/screen4
Binary files differ
diff --git a/lib/terminfo/s/screen5 b/lib/terminfo/s/screen5
new file mode 100644
index 0000000..12cc9f7
--- /dev/null
+++ b/lib/terminfo/s/screen5
Binary files differ
diff --git a/lib/terminfo/s/screwpoint b/lib/terminfo/s/screwpoint
index 3996d64..6a0bdf6 100644
--- a/lib/terminfo/s/screwpoint
+++ b/lib/terminfo/s/screwpoint
Binary files differ
diff --git a/lib/terminfo/s/scrt b/lib/terminfo/s/scrt
new file mode 100644
index 0000000..228f3fd
--- /dev/null
+++ b/lib/terminfo/s/scrt
Binary files differ
diff --git a/lib/terminfo/s/securecrt b/lib/terminfo/s/securecrt
new file mode 100644
index 0000000..228f3fd
--- /dev/null
+++ b/lib/terminfo/s/securecrt
Binary files differ
diff --git a/lib/terminfo/s/simpleterm b/lib/terminfo/s/simpleterm
index 4fa948f..5e0bdd2 100644
--- a/lib/terminfo/s/simpleterm
+++ b/lib/terminfo/s/simpleterm
Binary files differ
diff --git a/lib/terminfo/s/soroc b/lib/terminfo/s/soroc
deleted file mode 120000
index 7276e72..0000000
--- a/lib/terminfo/s/soroc
+++ /dev/null
@@ -1 +0,0 @@
-soroc120
\ No newline at end of file
diff --git a/lib/terminfo/s/soroc b/lib/terminfo/s/soroc
new file mode 100644
index 0000000..455d1a2
--- /dev/null
+++ b/lib/terminfo/s/soroc
Binary files differ
diff --git a/lib/terminfo/s/soroc120 b/lib/terminfo/s/soroc120
index 557a602..455d1a2 100644
--- a/lib/terminfo/s/soroc120
+++ b/lib/terminfo/s/soroc120
Binary files differ
diff --git a/lib/terminfo/s/soroc140 b/lib/terminfo/s/soroc140
index 0a641c4..e364e46 100644
--- a/lib/terminfo/s/soroc140
+++ b/lib/terminfo/s/soroc140
Binary files differ
diff --git a/lib/terminfo/s/spinwriter b/lib/terminfo/s/spinwriter
deleted file mode 120000
index f73ed95..0000000
--- a/lib/terminfo/s/spinwriter
+++ /dev/null
@@ -1 +0,0 @@
-../n/nec5520
\ No newline at end of file
diff --git a/lib/terminfo/s/spinwriter b/lib/terminfo/s/spinwriter
new file mode 100644
index 0000000..30ecbfd
--- /dev/null
+++ b/lib/terminfo/s/spinwriter
Binary files differ
diff --git a/lib/terminfo/s/st b/lib/terminfo/s/st
index 7d60217..4e03fc9 100644
--- a/lib/terminfo/s/st
+++ b/lib/terminfo/s/st
Binary files differ
diff --git a/lib/terminfo/s/st-0.6 b/lib/terminfo/s/st-0.6
new file mode 100644
index 0000000..3d2d719
--- /dev/null
+++ b/lib/terminfo/s/st-0.6
Binary files differ
diff --git a/lib/terminfo/s/st-0.7 b/lib/terminfo/s/st-0.7
new file mode 100644
index 0000000..0052581
--- /dev/null
+++ b/lib/terminfo/s/st-0.7
Binary files differ
diff --git a/lib/terminfo/s/st-0.8 b/lib/terminfo/s/st-0.8
new file mode 100644
index 0000000..a16520e
--- /dev/null
+++ b/lib/terminfo/s/st-0.8
Binary files differ
diff --git a/lib/terminfo/s/st-16color b/lib/terminfo/s/st-16color
index a8c9a2a..a5bb49b 100644
--- a/lib/terminfo/s/st-16color
+++ b/lib/terminfo/s/st-16color
Binary files differ
diff --git a/lib/terminfo/s/st-256color b/lib/terminfo/s/st-256color
index fab2a74..7d682fc 100644
--- a/lib/terminfo/s/st-256color
+++ b/lib/terminfo/s/st-256color
Binary files differ
diff --git a/lib/terminfo/s/st-direct b/lib/terminfo/s/st-direct
new file mode 100644
index 0000000..f22449c
--- /dev/null
+++ b/lib/terminfo/s/st-direct
Binary files differ
diff --git a/lib/terminfo/s/st52-m b/lib/terminfo/s/st52-m
deleted file mode 120000
index 89b2167..0000000
--- a/lib/terminfo/s/st52-m
+++ /dev/null
@@ -1 +0,0 @@
-st52
\ No newline at end of file
diff --git a/lib/terminfo/s/st52-m b/lib/terminfo/s/st52-m
new file mode 100644
index 0000000..b48ef93
--- /dev/null
+++ b/lib/terminfo/s/st52-m
Binary files differ
diff --git a/lib/terminfo/s/stterm b/lib/terminfo/s/stterm
deleted file mode 120000
index 8013b0a..0000000
--- a/lib/terminfo/s/stterm
+++ /dev/null
@@ -1 +0,0 @@
-st
\ No newline at end of file
diff --git a/lib/terminfo/s/stterm b/lib/terminfo/s/stterm
new file mode 100644
index 0000000..4e03fc9
--- /dev/null
+++ b/lib/terminfo/s/stterm
Binary files differ
diff --git a/lib/terminfo/s/stterm-16color b/lib/terminfo/s/stterm-16color
deleted file mode 120000
index 30185e3..0000000
--- a/lib/terminfo/s/stterm-16color
+++ /dev/null
@@ -1 +0,0 @@
-st-16color
\ No newline at end of file
diff --git a/lib/terminfo/s/stterm-16color b/lib/terminfo/s/stterm-16color
new file mode 100644
index 0000000..a5bb49b
--- /dev/null
+++ b/lib/terminfo/s/stterm-16color
Binary files differ
diff --git a/lib/terminfo/s/stterm-256color b/lib/terminfo/s/stterm-256color
deleted file mode 120000
index 9b68ecd..0000000
--- a/lib/terminfo/s/stterm-256color
+++ /dev/null
@@ -1 +0,0 @@
-st-256color
\ No newline at end of file
diff --git a/lib/terminfo/s/stterm-256color b/lib/terminfo/s/stterm-256color
new file mode 100644
index 0000000..7d682fc
--- /dev/null
+++ b/lib/terminfo/s/stterm-256color
Binary files differ
diff --git a/lib/terminfo/s/sun-cmd b/lib/terminfo/s/sun-cmd
deleted file mode 120000
index af25eb1..0000000
--- a/lib/terminfo/s/sun-cmd
+++ /dev/null
@@ -1 +0,0 @@
-sun-c
\ No newline at end of file
diff --git a/lib/terminfo/s/sun-cmd b/lib/terminfo/s/sun-cmd
new file mode 100644
index 0000000..10e68e8
--- /dev/null
+++ b/lib/terminfo/s/sun-cmd
Binary files differ
diff --git a/lib/terminfo/s/sun-nic b/lib/terminfo/s/sun-nic
deleted file mode 120000
index b5cc7e7..0000000
--- a/lib/terminfo/s/sun-nic
+++ /dev/null
@@ -1 +0,0 @@
-sun-e
\ No newline at end of file
diff --git a/lib/terminfo/s/sun-nic b/lib/terminfo/s/sun-nic
new file mode 100644
index 0000000..33dbc23
--- /dev/null
+++ b/lib/terminfo/s/sun-nic
Binary files differ
diff --git a/lib/terminfo/s/sun-s-e b/lib/terminfo/s/sun-s-e
deleted file mode 120000
index 4d05449..0000000
--- a/lib/terminfo/s/sun-s-e
+++ /dev/null
@@ -1 +0,0 @@
-sun-e-s
\ No newline at end of file
diff --git a/lib/terminfo/s/sun-s-e b/lib/terminfo/s/sun-s-e
new file mode 100644
index 0000000..d2d3902
--- /dev/null
+++ b/lib/terminfo/s/sun-s-e
Binary files differ
diff --git a/lib/terminfo/s/sun-ss5 b/lib/terminfo/s/sun-ss5
deleted file mode 120000
index fcd8d9d..0000000
--- a/lib/terminfo/s/sun-ss5
+++ /dev/null
@@ -1 +0,0 @@
-sun-cgsix
\ No newline at end of file
diff --git a/lib/terminfo/s/sun-ss5 b/lib/terminfo/s/sun-ss5
new file mode 100644
index 0000000..821fee8
--- /dev/null
+++ b/lib/terminfo/s/sun-ss5
Binary files differ
diff --git a/lib/terminfo/s/sun1 b/lib/terminfo/s/sun1
deleted file mode 120000
index 4a5fe15..0000000
--- a/lib/terminfo/s/sun1
+++ /dev/null
@@ -1 +0,0 @@
-sun
\ No newline at end of file
diff --git a/lib/terminfo/s/sun1 b/lib/terminfo/s/sun1
new file mode 100644
index 0000000..52a2731
--- /dev/null
+++ b/lib/terminfo/s/sun1
Binary files differ
diff --git a/lib/terminfo/s/sun2 b/lib/terminfo/s/sun2
deleted file mode 120000
index 4a5fe15..0000000
--- a/lib/terminfo/s/sun2
+++ /dev/null
@@ -1 +0,0 @@
-sun
\ No newline at end of file
diff --git a/lib/terminfo/s/sun2 b/lib/terminfo/s/sun2
new file mode 100644
index 0000000..52a2731
--- /dev/null
+++ b/lib/terminfo/s/sun2
Binary files differ
diff --git a/lib/terminfo/s/sune b/lib/terminfo/s/sune
deleted file mode 120000
index b5cc7e7..0000000
--- a/lib/terminfo/s/sune
+++ /dev/null
@@ -1 +0,0 @@
-sun-e
\ No newline at end of file
diff --git a/lib/terminfo/s/sune b/lib/terminfo/s/sune
new file mode 100644
index 0000000..33dbc23
--- /dev/null
+++ b/lib/terminfo/s/sune
Binary files differ
diff --git a/lib/terminfo/s/superbee b/lib/terminfo/s/superbee
deleted file mode 120000
index 3a51c1a..0000000
--- a/lib/terminfo/s/superbee
+++ /dev/null
@@ -1 +0,0 @@
-sbi
\ No newline at end of file
diff --git a/lib/terminfo/s/superbee b/lib/terminfo/s/superbee
new file mode 100644
index 0000000..424704d
--- /dev/null
+++ b/lib/terminfo/s/superbee
Binary files differ
diff --git a/lib/terminfo/s/superbee-xsb b/lib/terminfo/s/superbee-xsb
index cb021bc..c7cdcb8 100644
--- a/lib/terminfo/s/superbee-xsb
+++ b/lib/terminfo/s/superbee-xsb
Binary files differ
diff --git a/lib/terminfo/s/superbeeic b/lib/terminfo/s/superbeeic
index 9e82c2f..e933d7c 100644
--- a/lib/terminfo/s/superbeeic
+++ b/lib/terminfo/s/superbeeic
Binary files differ
diff --git a/lib/terminfo/s/superbrain b/lib/terminfo/s/superbrain
index c27bd07..0ca15da 100644
--- a/lib/terminfo/s/superbrain
+++ b/lib/terminfo/s/superbrain
Binary files differ
diff --git a/lib/terminfo/s/sv80 b/lib/terminfo/s/sv80
deleted file mode 120000
index 62f110a..0000000
--- a/lib/terminfo/s/sv80
+++ /dev/null
@@ -1 +0,0 @@
-../a/att2300
\ No newline at end of file
diff --git a/lib/terminfo/s/sv80 b/lib/terminfo/s/sv80
new file mode 100644
index 0000000..cb9e068
--- /dev/null
+++ b/lib/terminfo/s/sv80
Binary files differ
diff --git a/lib/terminfo/s/swtp b/lib/terminfo/s/swtp
index b594d3a..3e68f86 100644
--- a/lib/terminfo/s/swtp
+++ b/lib/terminfo/s/swtp
Binary files differ
diff --git a/lib/terminfo/s/synertek b/lib/terminfo/s/synertek
index fcdbf6c..22b0388 100644
--- a/lib/terminfo/s/synertek
+++ b/lib/terminfo/s/synertek
Binary files differ
diff --git a/lib/terminfo/s/synertek380 b/lib/terminfo/s/synertek380
deleted file mode 120000
index 43b36a2..0000000
--- a/lib/terminfo/s/synertek380
+++ /dev/null
@@ -1 +0,0 @@
-synertek
\ No newline at end of file
diff --git a/lib/terminfo/s/synertek380 b/lib/terminfo/s/synertek380
new file mode 100644
index 0000000..22b0388
--- /dev/null
+++ b/lib/terminfo/s/synertek380
Binary files differ
diff --git a/lib/terminfo/s/system1 b/lib/terminfo/s/system1
deleted file mode 120000
index 7afdeff..0000000
--- a/lib/terminfo/s/system1
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibm-system1
\ No newline at end of file
diff --git a/lib/terminfo/s/system1 b/lib/terminfo/s/system1
new file mode 100644
index 0000000..39ab6a3
--- /dev/null
+++ b/lib/terminfo/s/system1
Binary files differ
diff --git a/lib/terminfo/t/t10 b/lib/terminfo/t/t10
index cea28db..ccd7c1a 100644
--- a/lib/terminfo/t/t10
+++ b/lib/terminfo/t/t10
Binary files differ
diff --git a/lib/terminfo/t/t1061 b/lib/terminfo/t/t1061
index 29497d3..eb45104 100644
--- a/lib/terminfo/t/t1061
+++ b/lib/terminfo/t/t1061
Binary files differ
diff --git a/lib/terminfo/t/t1061f b/lib/terminfo/t/t1061f
index 7628b9a..4669ada 100644
--- a/lib/terminfo/t/t1061f
+++ b/lib/terminfo/t/t1061f
Binary files differ
diff --git a/lib/terminfo/t/t16 b/lib/terminfo/t/t16
index 54073a2..95956bf 100644
--- a/lib/terminfo/t/t16
+++ b/lib/terminfo/t/t16
Binary files differ
diff --git a/lib/terminfo/t/t3700 b/lib/terminfo/t/t3700
index af5ad2f..0d0d185 100644
--- a/lib/terminfo/t/t3700
+++ b/lib/terminfo/t/t3700
Binary files differ
diff --git a/lib/terminfo/t/t3800 b/lib/terminfo/t/t3800
index 0b94dc8..75bff1e 100644
--- a/lib/terminfo/t/t3800
+++ b/lib/terminfo/t/t3800
Binary files differ
diff --git a/lib/terminfo/t/t653x b/lib/terminfo/t/t653x
deleted file mode 120000
index 4c9e495..0000000
--- a/lib/terminfo/t/t653x
+++ /dev/null
@@ -1 +0,0 @@
-tandem653
\ No newline at end of file
diff --git a/lib/terminfo/t/t653x b/lib/terminfo/t/t653x
new file mode 100644
index 0000000..5f869e4
--- /dev/null
+++ b/lib/terminfo/t/t653x
Binary files differ
diff --git a/lib/terminfo/t/tab b/lib/terminfo/t/tab
deleted file mode 120000
index 2a626a7..0000000
--- a/lib/terminfo/t/tab
+++ /dev/null
@@ -1 +0,0 @@
-tab132
\ No newline at end of file
diff --git a/lib/terminfo/t/tab b/lib/terminfo/t/tab
new file mode 100644
index 0000000..95ba77b
--- /dev/null
+++ b/lib/terminfo/t/tab
Binary files differ
diff --git a/lib/terminfo/t/tab132 b/lib/terminfo/t/tab132
index 11b0981..95ba77b 100644
--- a/lib/terminfo/t/tab132
+++ b/lib/terminfo/t/tab132
Binary files differ
diff --git a/lib/terminfo/t/tab132-15 b/lib/terminfo/t/tab132-15
deleted file mode 120000
index 2a626a7..0000000
--- a/lib/terminfo/t/tab132-15
+++ /dev/null
@@ -1 +0,0 @@
-tab132
\ No newline at end of file
diff --git a/lib/terminfo/t/tab132-15 b/lib/terminfo/t/tab132-15
new file mode 100644
index 0000000..95ba77b
--- /dev/null
+++ b/lib/terminfo/t/tab132-15
Binary files differ
diff --git a/lib/terminfo/t/tab132-rv b/lib/terminfo/t/tab132-rv
index db12bef..6d6d6c6 100644
--- a/lib/terminfo/t/tab132-rv
+++ b/lib/terminfo/t/tab132-rv
Binary files differ
diff --git a/lib/terminfo/t/tab132-w b/lib/terminfo/t/tab132-w
index f34108a..28d713f 100644
--- a/lib/terminfo/t/tab132-w
+++ b/lib/terminfo/t/tab132-w
Binary files differ
diff --git a/lib/terminfo/t/tab132-w-rv b/lib/terminfo/t/tab132-w-rv
index 1306f46..cb1d7a0 100644
--- a/lib/terminfo/t/tab132-w-rv
+++ b/lib/terminfo/t/tab132-w-rv
Binary files differ
diff --git a/lib/terminfo/t/tek b/lib/terminfo/t/tek
index 416fd87..0ccfcb9 100644
--- a/lib/terminfo/t/tek
+++ b/lib/terminfo/t/tek
Binary files differ
diff --git a/lib/terminfo/t/tek4012 b/lib/terminfo/t/tek4012
deleted file mode 120000
index 8047656..0000000
--- a/lib/terminfo/t/tek4012
+++ /dev/null
@@ -1 +0,0 @@
-tek
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4012 b/lib/terminfo/t/tek4012
new file mode 100644
index 0000000..0ccfcb9
--- /dev/null
+++ b/lib/terminfo/t/tek4012
Binary files differ
diff --git a/lib/terminfo/t/tek4013 b/lib/terminfo/t/tek4013
index 24172d8..7b2f7e0 100644
--- a/lib/terminfo/t/tek4013
+++ b/lib/terminfo/t/tek4013
Binary files differ
diff --git a/lib/terminfo/t/tek4014 b/lib/terminfo/t/tek4014
index 012e1e4..e43d86b 100644
--- a/lib/terminfo/t/tek4014
+++ b/lib/terminfo/t/tek4014
Binary files differ
diff --git a/lib/terminfo/t/tek4014-sm b/lib/terminfo/t/tek4014-sm
index bd5e2d6..5b50712 100644
--- a/lib/terminfo/t/tek4014-sm
+++ b/lib/terminfo/t/tek4014-sm
Binary files differ
diff --git a/lib/terminfo/t/tek4015 b/lib/terminfo/t/tek4015
index 543ac4c..4e4c83d 100644
--- a/lib/terminfo/t/tek4015
+++ b/lib/terminfo/t/tek4015
Binary files differ
diff --git a/lib/terminfo/t/tek4015-sm b/lib/terminfo/t/tek4015-sm
index b613be3..1f7cafa 100644
--- a/lib/terminfo/t/tek4015-sm
+++ b/lib/terminfo/t/tek4015-sm
Binary files differ
diff --git a/lib/terminfo/t/tek4023 b/lib/terminfo/t/tek4023
index ef116aa..b6acf5a 100644
--- a/lib/terminfo/t/tek4023
+++ b/lib/terminfo/t/tek4023
Binary files differ
diff --git a/lib/terminfo/t/tek4024 b/lib/terminfo/t/tek4024
index 5bba19b..076424f 100644
--- a/lib/terminfo/t/tek4024
+++ b/lib/terminfo/t/tek4024
Binary files differ
diff --git a/lib/terminfo/t/tek4025 b/lib/terminfo/t/tek4025
deleted file mode 120000
index f5a8e0e..0000000
--- a/lib/terminfo/t/tek4025
+++ /dev/null
@@ -1 +0,0 @@
-tek4024
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4025 b/lib/terminfo/t/tek4025
new file mode 100644
index 0000000..076424f
--- /dev/null
+++ b/lib/terminfo/t/tek4025
Binary files differ
diff --git a/lib/terminfo/t/tek4025-17 b/lib/terminfo/t/tek4025-17
index 9c970f9..0dbb2d2 100644
--- a/lib/terminfo/t/tek4025-17
+++ b/lib/terminfo/t/tek4025-17
Binary files differ
diff --git a/lib/terminfo/t/tek4025-17-ws b/lib/terminfo/t/tek4025-17-ws
index 97fddf8..cfe82ff 100644
--- a/lib/terminfo/t/tek4025-17-ws
+++ b/lib/terminfo/t/tek4025-17-ws
Binary files differ
diff --git a/lib/terminfo/t/tek4025-cr b/lib/terminfo/t/tek4025-cr
index b9fd5cf..9850e29 100644
--- a/lib/terminfo/t/tek4025-cr
+++ b/lib/terminfo/t/tek4025-cr
Binary files differ
diff --git a/lib/terminfo/t/tek4025-ex b/lib/terminfo/t/tek4025-ex
index a9b00db..5ef6ea6 100644
--- a/lib/terminfo/t/tek4025-ex
+++ b/lib/terminfo/t/tek4025-ex
Binary files differ
diff --git a/lib/terminfo/t/tek4025ex b/lib/terminfo/t/tek4025ex
index 294c1f3..a7d999f 100644
--- a/lib/terminfo/t/tek4025ex
+++ b/lib/terminfo/t/tek4025ex
Binary files differ
diff --git a/lib/terminfo/t/tek4027 b/lib/terminfo/t/tek4027
deleted file mode 120000
index f5a8e0e..0000000
--- a/lib/terminfo/t/tek4027
+++ /dev/null
@@ -1 +0,0 @@
-tek4024
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4027 b/lib/terminfo/t/tek4027
new file mode 100644
index 0000000..076424f
--- /dev/null
+++ b/lib/terminfo/t/tek4027
Binary files differ
diff --git a/lib/terminfo/t/tek4027-ex b/lib/terminfo/t/tek4027-ex
deleted file mode 120000
index 00e7197..0000000
--- a/lib/terminfo/t/tek4027-ex
+++ /dev/null
@@ -1 +0,0 @@
-tek4025-ex
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4027-ex b/lib/terminfo/t/tek4027-ex
new file mode 100644
index 0000000..5ef6ea6
--- /dev/null
+++ b/lib/terminfo/t/tek4027-ex
Binary files differ
diff --git a/lib/terminfo/t/tek4105 b/lib/terminfo/t/tek4105
index 8e978ed..795a1fa 100644
--- a/lib/terminfo/t/tek4105
+++ b/lib/terminfo/t/tek4105
Binary files differ
diff --git a/lib/terminfo/t/tek4105-30 b/lib/terminfo/t/tek4105-30
index ce37081..238fd18 100644
--- a/lib/terminfo/t/tek4105-30
+++ b/lib/terminfo/t/tek4105-30
Binary files differ
diff --git a/lib/terminfo/t/tek4105a b/lib/terminfo/t/tek4105a
index 98adaa3..8ac6c9d 100644
--- a/lib/terminfo/t/tek4105a
+++ b/lib/terminfo/t/tek4105a
Binary files differ
diff --git a/lib/terminfo/t/tek4107 b/lib/terminfo/t/tek4107
index e8af9a1..79ccaab 100644
--- a/lib/terminfo/t/tek4107
+++ b/lib/terminfo/t/tek4107
Binary files differ
diff --git a/lib/terminfo/t/tek4107brl b/lib/terminfo/t/tek4107brl
deleted file mode 120000
index ff99e6f..0000000
--- a/lib/terminfo/t/tek4107brl
+++ /dev/null
@@ -1 +0,0 @@
-tek4106brl
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4107brl b/lib/terminfo/t/tek4107brl
new file mode 100644
index 0000000..495593e
--- /dev/null
+++ b/lib/terminfo/t/tek4107brl
Binary files differ
diff --git a/lib/terminfo/t/tek4109 b/lib/terminfo/t/tek4109
deleted file mode 120000
index 2ccc768..0000000
--- a/lib/terminfo/t/tek4109
+++ /dev/null
@@ -1 +0,0 @@
-tek4107
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4109 b/lib/terminfo/t/tek4109
new file mode 100644
index 0000000..79ccaab
--- /dev/null
+++ b/lib/terminfo/t/tek4109
Binary files differ
diff --git a/lib/terminfo/t/tek4109brl b/lib/terminfo/t/tek4109brl
deleted file mode 120000
index ff99e6f..0000000
--- a/lib/terminfo/t/tek4109brl
+++ /dev/null
@@ -1 +0,0 @@
-tek4106brl
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4109brl b/lib/terminfo/t/tek4109brl
new file mode 100644
index 0000000..495593e
--- /dev/null
+++ b/lib/terminfo/t/tek4109brl
Binary files differ
diff --git a/lib/terminfo/t/tek4112 b/lib/terminfo/t/tek4112
index 6b03a9f..0bc9679 100644
--- a/lib/terminfo/t/tek4112
+++ b/lib/terminfo/t/tek4112
Binary files differ
diff --git a/lib/terminfo/t/tek4112-5 b/lib/terminfo/t/tek4112-5
index 85c663f..a9d6892 100644
--- a/lib/terminfo/t/tek4112-5
+++ b/lib/terminfo/t/tek4112-5
Binary files differ
diff --git a/lib/terminfo/t/tek4112-nd b/lib/terminfo/t/tek4112-nd
index e0c2522..efc6041 100644
--- a/lib/terminfo/t/tek4112-nd
+++ b/lib/terminfo/t/tek4112-nd
Binary files differ
diff --git a/lib/terminfo/t/tek4113 b/lib/terminfo/t/tek4113
index c1207a4..dc06a20 100644
--- a/lib/terminfo/t/tek4113
+++ b/lib/terminfo/t/tek4113
Binary files differ
diff --git a/lib/terminfo/t/tek4113-34 b/lib/terminfo/t/tek4113-34
index bd57c3a..7fe8da7 100644
--- a/lib/terminfo/t/tek4113-34
+++ b/lib/terminfo/t/tek4113-34
Binary files differ
diff --git a/lib/terminfo/t/tek4113-nd b/lib/terminfo/t/tek4113-nd
index 893481e..a08ee68 100644
--- a/lib/terminfo/t/tek4113-nd
+++ b/lib/terminfo/t/tek4113-nd
Binary files differ
diff --git a/lib/terminfo/t/tek4114 b/lib/terminfo/t/tek4114
deleted file mode 120000
index 83c88b3..0000000
--- a/lib/terminfo/t/tek4114
+++ /dev/null
@@ -1 +0,0 @@
-tek4112
\ No newline at end of file
diff --git a/lib/terminfo/t/tek4114 b/lib/terminfo/t/tek4114
new file mode 100644
index 0000000..0bc9679
--- /dev/null
+++ b/lib/terminfo/t/tek4114
Binary files differ
diff --git a/lib/terminfo/t/tek4115 b/lib/terminfo/t/tek4115
index 864631b..825090c 100644
--- a/lib/terminfo/t/tek4115
+++ b/lib/terminfo/t/tek4115
Binary files differ
diff --git a/lib/terminfo/t/tek4125 b/lib/terminfo/t/tek4125
index 724b7fd..9e935a0 100644
--- a/lib/terminfo/t/tek4125
+++ b/lib/terminfo/t/tek4125
Binary files differ
diff --git a/lib/terminfo/t/tek4205 b/lib/terminfo/t/tek4205
index 779d8ea..71742a9 100644
--- a/lib/terminfo/t/tek4205
+++ b/lib/terminfo/t/tek4205
Binary files differ
diff --git a/lib/terminfo/t/tek4404 b/lib/terminfo/t/tek4404
index d522301..4ea8e11 100644
--- a/lib/terminfo/t/tek4404
+++ b/lib/terminfo/t/tek4404
Binary files differ
diff --git a/lib/terminfo/t/teken b/lib/terminfo/t/teken
index a0182d3..ea7bcdf 100644
--- a/lib/terminfo/t/teken
+++ b/lib/terminfo/t/teken
Binary files differ
diff --git a/lib/terminfo/t/teken-16color b/lib/terminfo/t/teken-16color
new file mode 100644
index 0000000..19fde7c
--- /dev/null
+++ b/lib/terminfo/t/teken-16color
Binary files differ
diff --git a/lib/terminfo/t/teken-2018 b/lib/terminfo/t/teken-2018
new file mode 100644
index 0000000..a9c48db
--- /dev/null
+++ b/lib/terminfo/t/teken-2018
Binary files differ
diff --git a/lib/terminfo/t/teken-2022 b/lib/terminfo/t/teken-2022
new file mode 100644
index 0000000..a72bb9e
--- /dev/null
+++ b/lib/terminfo/t/teken-2022
Binary files differ
diff --git a/lib/terminfo/t/teken-sc b/lib/terminfo/t/teken-sc
new file mode 100644
index 0000000..1210e0e
--- /dev/null
+++ b/lib/terminfo/t/teken-sc
Binary files differ
diff --git a/lib/terminfo/t/teken-sc+fkeys b/lib/terminfo/t/teken-sc+fkeys
new file mode 100644
index 0000000..fc5663e
--- /dev/null
+++ b/lib/terminfo/t/teken-sc+fkeys
Binary files differ
diff --git a/lib/terminfo/t/teken-vt b/lib/terminfo/t/teken-vt
new file mode 100644
index 0000000..ea7bcdf
--- /dev/null
+++ b/lib/terminfo/t/teken-vt
Binary files differ
diff --git a/lib/terminfo/t/teken-vt+fkeys b/lib/terminfo/t/teken-vt+fkeys
new file mode 100644
index 0000000..e177471
--- /dev/null
+++ b/lib/terminfo/t/teken-vt+fkeys
Binary files differ
diff --git a/lib/terminfo/t/teleray b/lib/terminfo/t/teleray
deleted file mode 120000
index dd7f89e..0000000
--- a/lib/terminfo/t/teleray
+++ /dev/null
@@ -1 +0,0 @@
-t1061
\ No newline at end of file
diff --git a/lib/terminfo/t/teleray b/lib/terminfo/t/teleray
new file mode 100644
index 0000000..eb45104
--- /dev/null
+++ b/lib/terminfo/t/teleray
Binary files differ
diff --git a/lib/terminfo/t/teraterm b/lib/terminfo/t/teraterm
index 8f5da6c..e46b88f 100644
--- a/lib/terminfo/t/teraterm
+++ b/lib/terminfo/t/teraterm
Binary files differ
diff --git a/lib/terminfo/t/teraterm-256color b/lib/terminfo/t/teraterm-256color
new file mode 100644
index 0000000..9201a42
--- /dev/null
+++ b/lib/terminfo/t/teraterm-256color
Binary files differ
diff --git a/lib/terminfo/t/teraterm2.3 b/lib/terminfo/t/teraterm2.3
index b00eb70..6f0d9d7 100644
--- a/lib/terminfo/t/teraterm2.3
+++ b/lib/terminfo/t/teraterm2.3
Binary files differ
diff --git a/lib/terminfo/t/teraterm4.59 b/lib/terminfo/t/teraterm4.59
index 09158b1..5c9d70d 100644
--- a/lib/terminfo/t/teraterm4.59
+++ b/lib/terminfo/t/teraterm4.59
Binary files differ
diff --git a/lib/terminfo/t/teraterm4.97 b/lib/terminfo/t/teraterm4.97
new file mode 100644
index 0000000..ead7a28
--- /dev/null
+++ b/lib/terminfo/t/teraterm4.97
Binary files differ
diff --git a/lib/terminfo/t/terminator b/lib/terminfo/t/terminator
index d55bccc..e4ce9e1 100644
--- a/lib/terminfo/t/terminator
+++ b/lib/terminfo/t/terminator
Binary files differ
diff --git a/lib/terminfo/t/terminet b/lib/terminfo/t/terminet
deleted file mode 120000
index 1bc028b..0000000
--- a/lib/terminfo/t/terminet
+++ /dev/null
@@ -1 +0,0 @@
-terminet1200
\ No newline at end of file
diff --git a/lib/terminfo/t/terminet b/lib/terminfo/t/terminet
new file mode 100644
index 0000000..87c639c
--- /dev/null
+++ b/lib/terminfo/t/terminet
Binary files differ
diff --git a/lib/terminfo/t/terminet300 b/lib/terminfo/t/terminet300
deleted file mode 120000
index 1bc028b..0000000
--- a/lib/terminfo/t/terminet300
+++ /dev/null
@@ -1 +0,0 @@
-terminet1200
\ No newline at end of file
diff --git a/lib/terminfo/t/terminet300 b/lib/terminfo/t/terminet300
new file mode 100644
index 0000000..87c639c
--- /dev/null
+++ b/lib/terminfo/t/terminet300
Binary files differ
diff --git a/lib/terminfo/t/terminology b/lib/terminfo/t/terminology
index d7aec1a..7d5ba18 100644
--- a/lib/terminfo/t/terminology
+++ b/lib/terminfo/t/terminology
Binary files differ
diff --git a/lib/terminfo/t/terminology-0.6.1 b/lib/terminfo/t/terminology-0.6.1
new file mode 100644
index 0000000..99b97b4
--- /dev/null
+++ b/lib/terminfo/t/terminology-0.6.1
Binary files differ
diff --git a/lib/terminfo/t/terminology-1.0.0 b/lib/terminfo/t/terminology-1.0.0
new file mode 100644
index 0000000..b30a2fd
--- /dev/null
+++ b/lib/terminfo/t/terminology-1.0.0
Binary files differ
diff --git a/lib/terminfo/t/terminology-1.8.1 b/lib/terminfo/t/terminology-1.8.1
new file mode 100644
index 0000000..751256d
--- /dev/null
+++ b/lib/terminfo/t/terminology-1.8.1
Binary files differ
diff --git a/lib/terminfo/t/termite b/lib/terminfo/t/termite
new file mode 100644
index 0000000..40015dc
--- /dev/null
+++ b/lib/terminfo/t/termite
Binary files differ
diff --git a/lib/terminfo/t/tgtelnet b/lib/terminfo/t/tgtelnet
deleted file mode 120000
index a4d2d7a..0000000
--- a/lib/terminfo/t/tgtelnet
+++ /dev/null
@@ -1 +0,0 @@
-../p/pilot
\ No newline at end of file
diff --git a/lib/terminfo/t/tgtelnet b/lib/terminfo/t/tgtelnet
new file mode 100644
index 0000000..8614833
--- /dev/null
+++ b/lib/terminfo/t/tgtelnet
Binary files differ
diff --git a/lib/terminfo/t/ti700 b/lib/terminfo/t/ti700
index fe7eb88..2eb177b 100644
--- a/lib/terminfo/t/ti700
+++ b/lib/terminfo/t/ti700
Binary files differ
diff --git a/lib/terminfo/t/ti703 b/lib/terminfo/t/ti703
new file mode 100644
index 0000000..8c37f2f
--- /dev/null
+++ b/lib/terminfo/t/ti703
Binary files differ
diff --git a/lib/terminfo/t/ti703-w b/lib/terminfo/t/ti703-w
new file mode 100644
index 0000000..6532549
--- /dev/null
+++ b/lib/terminfo/t/ti703-w
Binary files differ
diff --git a/lib/terminfo/t/ti707 b/lib/terminfo/t/ti707
new file mode 100644
index 0000000..8c37f2f
--- /dev/null
+++ b/lib/terminfo/t/ti707
Binary files differ
diff --git a/lib/terminfo/t/ti707-w b/lib/terminfo/t/ti707-w
new file mode 100644
index 0000000..6532549
--- /dev/null
+++ b/lib/terminfo/t/ti707-w
Binary files differ
diff --git a/lib/terminfo/t/ti733 b/lib/terminfo/t/ti733
deleted file mode 120000
index e1630e4..0000000
--- a/lib/terminfo/t/ti733
+++ /dev/null
@@ -1 +0,0 @@
-ti700
\ No newline at end of file
diff --git a/lib/terminfo/t/ti733 b/lib/terminfo/t/ti733
new file mode 100644
index 0000000..2eb177b
--- /dev/null
+++ b/lib/terminfo/t/ti733
Binary files differ
diff --git a/lib/terminfo/t/ti735 b/lib/terminfo/t/ti735
deleted file mode 120000
index e1630e4..0000000
--- a/lib/terminfo/t/ti735
+++ /dev/null
@@ -1 +0,0 @@
-ti700
\ No newline at end of file
diff --git a/lib/terminfo/t/ti735 b/lib/terminfo/t/ti735
new file mode 100644
index 0000000..2eb177b
--- /dev/null
+++ b/lib/terminfo/t/ti735
Binary files differ
diff --git a/lib/terminfo/t/ti745 b/lib/terminfo/t/ti745
deleted file mode 120000
index e1630e4..0000000
--- a/lib/terminfo/t/ti745
+++ /dev/null
@@ -1 +0,0 @@
-ti700
\ No newline at end of file
diff --git a/lib/terminfo/t/ti745 b/lib/terminfo/t/ti745
new file mode 100644
index 0000000..2eb177b
--- /dev/null
+++ b/lib/terminfo/t/ti745
Binary files differ
diff --git a/lib/terminfo/t/ti800 b/lib/terminfo/t/ti800
deleted file mode 120000
index e1630e4..0000000
--- a/lib/terminfo/t/ti800
+++ /dev/null
@@ -1 +0,0 @@
-ti700
\ No newline at end of file
diff --git a/lib/terminfo/t/ti800 b/lib/terminfo/t/ti800
new file mode 100644
index 0000000..2eb177b
--- /dev/null
+++ b/lib/terminfo/t/ti800
Binary files differ
diff --git a/lib/terminfo/t/ti916 b/lib/terminfo/t/ti916
index 10c2be3..89774c8 100644
--- a/lib/terminfo/t/ti916
+++ b/lib/terminfo/t/ti916
Binary files differ
diff --git a/lib/terminfo/t/ti916-132 b/lib/terminfo/t/ti916-132
index e4b067d..9422350 100644
--- a/lib/terminfo/t/ti916-132
+++ b/lib/terminfo/t/ti916-132
Binary files differ
diff --git a/lib/terminfo/t/ti916-220-7 b/lib/terminfo/t/ti916-220-7
deleted file mode 120000
index 52e7f0b..0000000
--- a/lib/terminfo/t/ti916-220-7
+++ /dev/null
@@ -1 +0,0 @@
-ti916
\ No newline at end of file
diff --git a/lib/terminfo/t/ti916-220-7 b/lib/terminfo/t/ti916-220-7
new file mode 100644
index 0000000..89774c8
--- /dev/null
+++ b/lib/terminfo/t/ti916-220-7
Binary files differ
diff --git a/lib/terminfo/t/ti916-220-8 b/lib/terminfo/t/ti916-220-8
deleted file mode 120000
index 9f9628e..0000000
--- a/lib/terminfo/t/ti916-220-8
+++ /dev/null
@@ -1 +0,0 @@
-ti916-8
\ No newline at end of file
diff --git a/lib/terminfo/t/ti916-220-8 b/lib/terminfo/t/ti916-220-8
new file mode 100644
index 0000000..e715303
--- /dev/null
+++ b/lib/terminfo/t/ti916-220-8
Binary files differ
diff --git a/lib/terminfo/t/ti916-8 b/lib/terminfo/t/ti916-8
index f1288bb..e715303 100644
--- a/lib/terminfo/t/ti916-8
+++ b/lib/terminfo/t/ti916-8
Binary files differ
diff --git a/lib/terminfo/t/ti916-8-132 b/lib/terminfo/t/ti916-8-132
index 0d000c5..a149162 100644
--- a/lib/terminfo/t/ti916-8-132
+++ b/lib/terminfo/t/ti916-8-132
Binary files differ
diff --git a/lib/terminfo/t/tkterm b/lib/terminfo/t/tkterm
deleted file mode 120000
index d55f4d3..0000000
--- a/lib/terminfo/t/tkterm
+++ /dev/null
@@ -1 +0,0 @@
-tt
\ No newline at end of file
diff --git a/lib/terminfo/t/tkterm b/lib/terminfo/t/tkterm
new file mode 100644
index 0000000..15ae411
--- /dev/null
+++ b/lib/terminfo/t/tkterm
Binary files differ
diff --git a/lib/terminfo/t/tmux b/lib/terminfo/t/tmux
index 69425dd..cb376de 100644
--- a/lib/terminfo/t/tmux
+++ b/lib/terminfo/t/tmux
Binary files differ
diff --git a/lib/terminfo/t/tmux-256color b/lib/terminfo/t/tmux-256color
index 3861316..6f348b2 100644
--- a/lib/terminfo/t/tmux-256color
+++ b/lib/terminfo/t/tmux-256color
Binary files differ
diff --git a/lib/terminfo/t/tmux-direct b/lib/terminfo/t/tmux-direct
new file mode 100644
index 0000000..85967d2
--- /dev/null
+++ b/lib/terminfo/t/tmux-direct
Binary files differ
diff --git a/lib/terminfo/t/tn1200 b/lib/terminfo/t/tn1200
deleted file mode 120000
index 1bc028b..0000000
--- a/lib/terminfo/t/tn1200
+++ /dev/null
@@ -1 +0,0 @@
-terminet1200
\ No newline at end of file
diff --git a/lib/terminfo/t/tn1200 b/lib/terminfo/t/tn1200
new file mode 100644
index 0000000..87c639c
--- /dev/null
+++ b/lib/terminfo/t/tn1200
Binary files differ
diff --git a/lib/terminfo/t/tn300 b/lib/terminfo/t/tn300
deleted file mode 120000
index 1bc028b..0000000
--- a/lib/terminfo/t/tn300
+++ /dev/null
@@ -1 +0,0 @@
-terminet1200
\ No newline at end of file
diff --git a/lib/terminfo/t/tn300 b/lib/terminfo/t/tn300
new file mode 100644
index 0000000..87c639c
--- /dev/null
+++ b/lib/terminfo/t/tn300
Binary files differ
diff --git a/lib/terminfo/t/trs80II b/lib/terminfo/t/trs80II
deleted file mode 120000
index ff09e43..0000000
--- a/lib/terminfo/t/trs80II
+++ /dev/null
@@ -1 +0,0 @@
-trs2
\ No newline at end of file
diff --git a/lib/terminfo/t/trs80II b/lib/terminfo/t/trs80II
new file mode 100644
index 0000000..5d34043
--- /dev/null
+++ b/lib/terminfo/t/trs80II
Binary files differ
diff --git a/lib/terminfo/t/trsII b/lib/terminfo/t/trsII
deleted file mode 120000
index ff09e43..0000000
--- a/lib/terminfo/t/trsII
+++ /dev/null
@@ -1 +0,0 @@
-trs2
\ No newline at end of file
diff --git a/lib/terminfo/t/trsII b/lib/terminfo/t/trsII
new file mode 100644
index 0000000..5d34043
--- /dev/null
+++ b/lib/terminfo/t/trsII
Binary files differ
diff --git a/lib/terminfo/t/ts-1 b/lib/terminfo/t/ts-1
deleted file mode 120000
index 45e5dee..0000000
--- a/lib/terminfo/t/ts-1
+++ /dev/null
@@ -1 +0,0 @@
-../f/falco
\ No newline at end of file
diff --git a/lib/terminfo/t/ts-1 b/lib/terminfo/t/ts-1
new file mode 100644
index 0000000..c927125
--- /dev/null
+++ b/lib/terminfo/t/ts-1
Binary files differ
diff --git a/lib/terminfo/t/ts-1p b/lib/terminfo/t/ts-1p
deleted file mode 120000
index 09ca7ed..0000000
--- a/lib/terminfo/t/ts-1p
+++ /dev/null
@@ -1 +0,0 @@
-../f/falco-p
\ No newline at end of file
diff --git a/lib/terminfo/t/ts-1p b/lib/terminfo/t/ts-1p
new file mode 100644
index 0000000..e4b59d2
--- /dev/null
+++ b/lib/terminfo/t/ts-1p
Binary files differ
diff --git a/lib/terminfo/t/ts1 b/lib/terminfo/t/ts1
deleted file mode 120000
index 45e5dee..0000000
--- a/lib/terminfo/t/ts1
+++ /dev/null
@@ -1 +0,0 @@
-../f/falco
\ No newline at end of file
diff --git a/lib/terminfo/t/ts1 b/lib/terminfo/t/ts1
new file mode 100644
index 0000000..c927125
--- /dev/null
+++ b/lib/terminfo/t/ts1
Binary files differ
diff --git a/lib/terminfo/t/ts100 b/lib/terminfo/t/ts100
index 81f805f..0128a88 100644
--- a/lib/terminfo/t/ts100
+++ b/lib/terminfo/t/ts100
Binary files differ
diff --git a/lib/terminfo/t/ts100-ctxt b/lib/terminfo/t/ts100-ctxt
index c9a1873..744ed59 100644
--- a/lib/terminfo/t/ts100-ctxt
+++ b/lib/terminfo/t/ts100-ctxt
Binary files differ
diff --git a/lib/terminfo/t/ts100-sp b/lib/terminfo/t/ts100-sp
deleted file mode 120000
index c5a3d8d..0000000
--- a/lib/terminfo/t/ts100-sp
+++ /dev/null
@@ -1 +0,0 @@
-ts100
\ No newline at end of file
diff --git a/lib/terminfo/t/ts100-sp b/lib/terminfo/t/ts100-sp
new file mode 100644
index 0000000..0128a88
--- /dev/null
+++ b/lib/terminfo/t/ts100-sp
Binary files differ
diff --git a/lib/terminfo/t/ts1p b/lib/terminfo/t/ts1p
deleted file mode 120000
index 09ca7ed..0000000
--- a/lib/terminfo/t/ts1p
+++ /dev/null
@@ -1 +0,0 @@
-../f/falco-p
\ No newline at end of file
diff --git a/lib/terminfo/t/ts1p b/lib/terminfo/t/ts1p
new file mode 100644
index 0000000..e4b59d2
--- /dev/null
+++ b/lib/terminfo/t/ts1p
Binary files differ
diff --git a/lib/terminfo/t/tt505-22 b/lib/terminfo/t/tt505-22
deleted file mode 100644
index e452c35..0000000
--- a/lib/terminfo/t/tt505-22
+++ /dev/null
Binary files differ
diff --git a/lib/terminfo/t/tty35 b/lib/terminfo/t/tty35
deleted file mode 120000
index c51fc5b..0000000
--- a/lib/terminfo/t/tty35
+++ /dev/null
@@ -1 +0,0 @@
-tty33
\ No newline at end of file
diff --git a/lib/terminfo/t/tty35 b/lib/terminfo/t/tty35
new file mode 100644
index 0000000..8f719a1
--- /dev/null
+++ b/lib/terminfo/t/tty35
Binary files differ
diff --git a/lib/terminfo/t/tty40 b/lib/terminfo/t/tty40
index c75c35b..c9cf50f 100644
--- a/lib/terminfo/t/tty40
+++ b/lib/terminfo/t/tty40
Binary files differ
diff --git a/lib/terminfo/t/tty4420 b/lib/terminfo/t/tty4420
deleted file mode 120000
index 47c7982..0000000
--- a/lib/terminfo/t/tty4420
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4420
\ No newline at end of file
diff --git a/lib/terminfo/t/tty4420 b/lib/terminfo/t/tty4420
new file mode 100644
index 0000000..8187d8a
--- /dev/null
+++ b/lib/terminfo/t/tty4420
Binary files differ
diff --git a/lib/terminfo/t/tty4424 b/lib/terminfo/t/tty4424
deleted file mode 120000
index b0da515..0000000
--- a/lib/terminfo/t/tty4424
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4424
\ No newline at end of file
diff --git a/lib/terminfo/t/tty4424 b/lib/terminfo/t/tty4424
new file mode 100644
index 0000000..41b83bf
--- /dev/null
+++ b/lib/terminfo/t/tty4424
Binary files differ
diff --git a/lib/terminfo/t/tty4424-1 b/lib/terminfo/t/tty4424-1
deleted file mode 120000
index 04e79dd..0000000
--- a/lib/terminfo/t/tty4424-1
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4424-1
\ No newline at end of file
diff --git a/lib/terminfo/t/tty4424-1 b/lib/terminfo/t/tty4424-1
new file mode 100644
index 0000000..860c736
--- /dev/null
+++ b/lib/terminfo/t/tty4424-1
Binary files differ
diff --git a/lib/terminfo/t/tty4424m b/lib/terminfo/t/tty4424m
deleted file mode 120000
index 6e12598..0000000
--- a/lib/terminfo/t/tty4424m
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4424m
\ No newline at end of file
diff --git a/lib/terminfo/t/tty4424m b/lib/terminfo/t/tty4424m
new file mode 100644
index 0000000..88e6769
--- /dev/null
+++ b/lib/terminfo/t/tty4424m
Binary files differ
diff --git a/lib/terminfo/t/tty4426 b/lib/terminfo/t/tty4426
deleted file mode 120000
index 024151f..0000000
--- a/lib/terminfo/t/tty4426
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4426
\ No newline at end of file
diff --git a/lib/terminfo/t/tty4426 b/lib/terminfo/t/tty4426
new file mode 100644
index 0000000..510154a
--- /dev/null
+++ b/lib/terminfo/t/tty4426
Binary files differ
diff --git a/lib/terminfo/t/tty5410 b/lib/terminfo/t/tty5410
deleted file mode 120000
index a3324f5..0000000
--- a/lib/terminfo/t/tty5410
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4410
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5410 b/lib/terminfo/t/tty5410
new file mode 100644
index 0000000..41072d6
--- /dev/null
+++ b/lib/terminfo/t/tty5410
Binary files differ
diff --git a/lib/terminfo/t/tty5410-w b/lib/terminfo/t/tty5410-w
deleted file mode 120000
index b30658d..0000000
--- a/lib/terminfo/t/tty5410-w
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5410-w
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5410-w b/lib/terminfo/t/tty5410-w
new file mode 100644
index 0000000..78d1777
--- /dev/null
+++ b/lib/terminfo/t/tty5410-w
Binary files differ
diff --git a/lib/terminfo/t/tty5410v1 b/lib/terminfo/t/tty5410v1
deleted file mode 120000
index 7eca78c..0000000
--- a/lib/terminfo/t/tty5410v1
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5410v1
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5410v1 b/lib/terminfo/t/tty5410v1
new file mode 100644
index 0000000..d7d7336
--- /dev/null
+++ b/lib/terminfo/t/tty5410v1
Binary files differ
diff --git a/lib/terminfo/t/tty5410v1-w b/lib/terminfo/t/tty5410v1-w
deleted file mode 120000
index 68f1630..0000000
--- a/lib/terminfo/t/tty5410v1-w
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4410v1-w
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5410v1-w b/lib/terminfo/t/tty5410v1-w
new file mode 100644
index 0000000..96225b8
--- /dev/null
+++ b/lib/terminfo/t/tty5410v1-w
Binary files differ
diff --git a/lib/terminfo/t/tty5420 b/lib/terminfo/t/tty5420
deleted file mode 120000
index de2a3b1..0000000
--- a/lib/terminfo/t/tty5420
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4415
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420 b/lib/terminfo/t/tty5420
new file mode 100644
index 0000000..c1ff8e5
--- /dev/null
+++ b/lib/terminfo/t/tty5420
Binary files differ
diff --git a/lib/terminfo/t/tty5420+nl b/lib/terminfo/t/tty5420+nl
deleted file mode 120000
index 9fc3d57..0000000
--- a/lib/terminfo/t/tty5420+nl
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4415+nl
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420+nl b/lib/terminfo/t/tty5420+nl
new file mode 100644
index 0000000..b9a8de8
--- /dev/null
+++ b/lib/terminfo/t/tty5420+nl
Binary files differ
diff --git a/lib/terminfo/t/tty5420-nl b/lib/terminfo/t/tty5420-nl
deleted file mode 120000
index 00b1d8d..0000000
--- a/lib/terminfo/t/tty5420-nl
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4415-nl
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-nl b/lib/terminfo/t/tty5420-nl
new file mode 100644
index 0000000..d2713da
--- /dev/null
+++ b/lib/terminfo/t/tty5420-nl
Binary files differ
diff --git a/lib/terminfo/t/tty5420-rv b/lib/terminfo/t/tty5420-rv
deleted file mode 120000
index 50eb715..0000000
--- a/lib/terminfo/t/tty5420-rv
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4415-rv
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-rv b/lib/terminfo/t/tty5420-rv
new file mode 100644
index 0000000..e729264
--- /dev/null
+++ b/lib/terminfo/t/tty5420-rv
Binary files differ
diff --git a/lib/terminfo/t/tty5420-rv-nl b/lib/terminfo/t/tty5420-rv-nl
deleted file mode 120000
index 5dd4c87..0000000
--- a/lib/terminfo/t/tty5420-rv-nl
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4415-rv-nl
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-rv-nl b/lib/terminfo/t/tty5420-rv-nl
new file mode 100644
index 0000000..e6dff51
--- /dev/null
+++ b/lib/terminfo/t/tty5420-rv-nl
Binary files differ
diff --git a/lib/terminfo/t/tty5420-w b/lib/terminfo/t/tty5420-w
deleted file mode 120000
index 2ac76fd..0000000
--- a/lib/terminfo/t/tty5420-w
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4415-w
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-w b/lib/terminfo/t/tty5420-w
new file mode 100644
index 0000000..dbed57e
--- /dev/null
+++ b/lib/terminfo/t/tty5420-w
Binary files differ
diff --git a/lib/terminfo/t/tty5420-w-nl b/lib/terminfo/t/tty5420-w-nl
deleted file mode 120000
index 29edf61..0000000
--- a/lib/terminfo/t/tty5420-w-nl
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4415-w-nl
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-w-nl b/lib/terminfo/t/tty5420-w-nl
new file mode 100644
index 0000000..e045eca
--- /dev/null
+++ b/lib/terminfo/t/tty5420-w-nl
Binary files differ
diff --git a/lib/terminfo/t/tty5420-w-rv b/lib/terminfo/t/tty5420-w-rv
deleted file mode 120000
index 696a617..0000000
--- a/lib/terminfo/t/tty5420-w-rv
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4415-w-rv
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-w-rv b/lib/terminfo/t/tty5420-w-rv
new file mode 100644
index 0000000..dde6ba9
--- /dev/null
+++ b/lib/terminfo/t/tty5420-w-rv
Binary files differ
diff --git a/lib/terminfo/t/tty5420-w-rv-n b/lib/terminfo/t/tty5420-w-rv-n
deleted file mode 120000
index 4da9821..0000000
--- a/lib/terminfo/t/tty5420-w-rv-n
+++ /dev/null
@@ -1 +0,0 @@
-../a/att4415-w-rv-n
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5420-w-rv-n b/lib/terminfo/t/tty5420-w-rv-n
new file mode 100644
index 0000000..3d13a44
--- /dev/null
+++ b/lib/terminfo/t/tty5420-w-rv-n
Binary files differ
diff --git a/lib/terminfo/t/tty5425 b/lib/terminfo/t/tty5425
deleted file mode 120000
index 6d747f6..0000000
--- a/lib/terminfo/t/tty5425
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5425
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5425 b/lib/terminfo/t/tty5425
new file mode 100644
index 0000000..ff37158
--- /dev/null
+++ b/lib/terminfo/t/tty5425
Binary files differ
diff --git a/lib/terminfo/t/tty5425-nl b/lib/terminfo/t/tty5425-nl
deleted file mode 120000
index c93fc04..0000000
--- a/lib/terminfo/t/tty5425-nl
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5425-nl
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5425-nl b/lib/terminfo/t/tty5425-nl
new file mode 100644
index 0000000..86c8672
--- /dev/null
+++ b/lib/terminfo/t/tty5425-nl
Binary files differ
diff --git a/lib/terminfo/t/tty5425-w b/lib/terminfo/t/tty5425-w
deleted file mode 120000
index bc50014..0000000
--- a/lib/terminfo/t/tty5425-w
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5425-w
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5425-w b/lib/terminfo/t/tty5425-w
new file mode 100644
index 0000000..e9ffd49
--- /dev/null
+++ b/lib/terminfo/t/tty5425-w
Binary files differ
diff --git a/lib/terminfo/t/tty5620 b/lib/terminfo/t/tty5620
deleted file mode 120000
index f27fa37..0000000
--- a/lib/terminfo/t/tty5620
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5620 b/lib/terminfo/t/tty5620
new file mode 100644
index 0000000..1bb4071
--- /dev/null
+++ b/lib/terminfo/t/tty5620
Binary files differ
diff --git a/lib/terminfo/t/tty5620-1 b/lib/terminfo/t/tty5620-1
deleted file mode 120000
index bec551f..0000000
--- a/lib/terminfo/t/tty5620-1
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620-1
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5620-1 b/lib/terminfo/t/tty5620-1
new file mode 100644
index 0000000..7212c7a
--- /dev/null
+++ b/lib/terminfo/t/tty5620-1
Binary files differ
diff --git a/lib/terminfo/t/tty5620-24 b/lib/terminfo/t/tty5620-24
deleted file mode 120000
index 871ad7e..0000000
--- a/lib/terminfo/t/tty5620-24
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620-24
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5620-24 b/lib/terminfo/t/tty5620-24
new file mode 100644
index 0000000..14c3431
--- /dev/null
+++ b/lib/terminfo/t/tty5620-24
Binary files differ
diff --git a/lib/terminfo/t/tty5620-34 b/lib/terminfo/t/tty5620-34
deleted file mode 120000
index 804c08a..0000000
--- a/lib/terminfo/t/tty5620-34
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620-34
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5620-34 b/lib/terminfo/t/tty5620-34
new file mode 100644
index 0000000..a23f838
--- /dev/null
+++ b/lib/terminfo/t/tty5620-34
Binary files differ
diff --git a/lib/terminfo/t/tty5620-s b/lib/terminfo/t/tty5620-s
deleted file mode 120000
index 8bca378..0000000
--- a/lib/terminfo/t/tty5620-s
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620-s
\ No newline at end of file
diff --git a/lib/terminfo/t/tty5620-s b/lib/terminfo/t/tty5620-s
new file mode 100644
index 0000000..56d4b55
--- /dev/null
+++ b/lib/terminfo/t/tty5620-s
Binary files differ
diff --git a/lib/terminfo/t/ttydmd b/lib/terminfo/t/ttydmd
deleted file mode 120000
index f27fa37..0000000
--- a/lib/terminfo/t/ttydmd
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620
\ No newline at end of file
diff --git a/lib/terminfo/t/ttydmd b/lib/terminfo/t/ttydmd
new file mode 100644
index 0000000..1bb4071
--- /dev/null
+++ b/lib/terminfo/t/ttydmd
Binary files differ
diff --git a/lib/terminfo/t/tvi803 b/lib/terminfo/t/tvi803
index f9c88fb..e170ba3 100644
--- a/lib/terminfo/t/tvi803
+++ b/lib/terminfo/t/tvi803
Binary files differ
diff --git a/lib/terminfo/t/tvi9065 b/lib/terminfo/t/tvi9065
index 4c42247..e049d71 100644
--- a/lib/terminfo/t/tvi9065
+++ b/lib/terminfo/t/tvi9065
Binary files differ
diff --git a/lib/terminfo/t/tvi910 b/lib/terminfo/t/tvi910
index 5fd138c..4f57579 100644
--- a/lib/terminfo/t/tvi910
+++ b/lib/terminfo/t/tvi910
Binary files differ
diff --git a/lib/terminfo/t/tvi910+ b/lib/terminfo/t/tvi910+
index ef3b5f9..a23fc30 100644
--- a/lib/terminfo/t/tvi910+
+++ b/lib/terminfo/t/tvi910+
Binary files differ
diff --git a/lib/terminfo/t/tvi912 b/lib/terminfo/t/tvi912
index f399372..996b3bd 100644
--- a/lib/terminfo/t/tvi912
+++ b/lib/terminfo/t/tvi912
Binary files differ
diff --git a/lib/terminfo/t/tvi912b b/lib/terminfo/t/tvi912b
index cd71918..997e031 100644
--- a/lib/terminfo/t/tvi912b
+++ b/lib/terminfo/t/tvi912b
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-2p b/lib/terminfo/t/tvi912b-2p
index 796e781..e5ae712 100644
--- a/lib/terminfo/t/tvi912b-2p
+++ b/lib/terminfo/t/tvi912b-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-2p-mc b/lib/terminfo/t/tvi912b-2p-mc
index 6dfcf78..a351a0b 100644
--- a/lib/terminfo/t/tvi912b-2p-mc
+++ b/lib/terminfo/t/tvi912b-2p-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-2p-p b/lib/terminfo/t/tvi912b-2p-p
index 1e215e7..2efb0f7 100644
--- a/lib/terminfo/t/tvi912b-2p-p
+++ b/lib/terminfo/t/tvi912b-2p-p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-2p-unk b/lib/terminfo/t/tvi912b-2p-unk
index 862464d..5b19261 100644
--- a/lib/terminfo/t/tvi912b-2p-unk
+++ b/lib/terminfo/t/tvi912b-2p-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-mc b/lib/terminfo/t/tvi912b-mc
index 768a732..c31df7c 100644
--- a/lib/terminfo/t/tvi912b-mc
+++ b/lib/terminfo/t/tvi912b-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-mc-2p b/lib/terminfo/t/tvi912b-mc-2p
deleted file mode 120000
index f468eac..0000000
--- a/lib/terminfo/t/tvi912b-mc-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-mc-2p b/lib/terminfo/t/tvi912b-mc-2p
new file mode 100644
index 0000000..a351a0b
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-mc-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-mc-vb b/lib/terminfo/t/tvi912b-mc-vb
deleted file mode 120000
index f41c4f0..0000000
--- a/lib/terminfo/t/tvi912b-mc-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-mc-vb b/lib/terminfo/t/tvi912b-mc-vb
new file mode 100644
index 0000000..e52eee5
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-mc-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-p b/lib/terminfo/t/tvi912b-p
index 3cd1e82..b0315e0 100644
--- a/lib/terminfo/t/tvi912b-p
+++ b/lib/terminfo/t/tvi912b-p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-p-2p b/lib/terminfo/t/tvi912b-p-2p
deleted file mode 120000
index 07604c1..0000000
--- a/lib/terminfo/t/tvi912b-p-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-p-2p b/lib/terminfo/t/tvi912b-p-2p
new file mode 100644
index 0000000..2efb0f7
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-p-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-p-vb b/lib/terminfo/t/tvi912b-p-vb
deleted file mode 120000
index fa923a5..0000000
--- a/lib/terminfo/t/tvi912b-p-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-p-vb b/lib/terminfo/t/tvi912b-p-vb
new file mode 100644
index 0000000..d885289
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-p-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-unk b/lib/terminfo/t/tvi912b-unk
index b1df3c6..8cf2896 100644
--- a/lib/terminfo/t/tvi912b-unk
+++ b/lib/terminfo/t/tvi912b-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-unk-2p b/lib/terminfo/t/tvi912b-unk-2p
deleted file mode 120000
index 1572b43..0000000
--- a/lib/terminfo/t/tvi912b-unk-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-unk-2p b/lib/terminfo/t/tvi912b-unk-2p
new file mode 100644
index 0000000..5b19261
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-unk-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-unk-vb b/lib/terminfo/t/tvi912b-unk-vb
deleted file mode 120000
index 2c4b646..0000000
--- a/lib/terminfo/t/tvi912b-unk-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912b-unk-vb b/lib/terminfo/t/tvi912b-unk-vb
new file mode 100644
index 0000000..cc5ba8f
--- /dev/null
+++ b/lib/terminfo/t/tvi912b-unk-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-vb b/lib/terminfo/t/tvi912b-vb
index 6d10512..4f28f6a 100644
--- a/lib/terminfo/t/tvi912b-vb
+++ b/lib/terminfo/t/tvi912b-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-vb-mc b/lib/terminfo/t/tvi912b-vb-mc
index 3561338..e52eee5 100644
--- a/lib/terminfo/t/tvi912b-vb-mc
+++ b/lib/terminfo/t/tvi912b-vb-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-vb-p b/lib/terminfo/t/tvi912b-vb-p
index 3966cae..d885289 100644
--- a/lib/terminfo/t/tvi912b-vb-p
+++ b/lib/terminfo/t/tvi912b-vb-p
Binary files differ
diff --git a/lib/terminfo/t/tvi912b-vb-unk b/lib/terminfo/t/tvi912b-vb-unk
index 04a986d..cc5ba8f 100644
--- a/lib/terminfo/t/tvi912b-vb-unk
+++ b/lib/terminfo/t/tvi912b-vb-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi912c b/lib/terminfo/t/tvi912c
deleted file mode 120000
index 4f5c3a2..0000000
--- a/lib/terminfo/t/tvi912c
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c b/lib/terminfo/t/tvi912c
new file mode 100644
index 0000000..997e031
--- /dev/null
+++ b/lib/terminfo/t/tvi912c
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-2p b/lib/terminfo/t/tvi912c-2p
deleted file mode 120000
index ef4572d..0000000
--- a/lib/terminfo/t/tvi912c-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-2p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-2p b/lib/terminfo/t/tvi912c-2p
new file mode 100644
index 0000000..e5ae712
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-2p-mc b/lib/terminfo/t/tvi912c-2p-mc
deleted file mode 120000
index f468eac..0000000
--- a/lib/terminfo/t/tvi912c-2p-mc
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-2p-mc b/lib/terminfo/t/tvi912c-2p-mc
new file mode 100644
index 0000000..a351a0b
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-2p-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-2p-p b/lib/terminfo/t/tvi912c-2p-p
deleted file mode 120000
index 07604c1..0000000
--- a/lib/terminfo/t/tvi912c-2p-p
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-2p-p b/lib/terminfo/t/tvi912c-2p-p
new file mode 100644
index 0000000..2efb0f7
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-2p-p
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-2p-unk b/lib/terminfo/t/tvi912c-2p-unk
deleted file mode 120000
index 1572b43..0000000
--- a/lib/terminfo/t/tvi912c-2p-unk
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-2p-unk b/lib/terminfo/t/tvi912c-2p-unk
new file mode 100644
index 0000000..5b19261
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-2p-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-mc b/lib/terminfo/t/tvi912c-mc
deleted file mode 120000
index 39b48e5..0000000
--- a/lib/terminfo/t/tvi912c-mc
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-mc b/lib/terminfo/t/tvi912c-mc
new file mode 100644
index 0000000..c31df7c
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-mc-2p b/lib/terminfo/t/tvi912c-mc-2p
deleted file mode 120000
index f468eac..0000000
--- a/lib/terminfo/t/tvi912c-mc-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-mc-2p b/lib/terminfo/t/tvi912c-mc-2p
new file mode 100644
index 0000000..a351a0b
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-mc-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-mc-vb b/lib/terminfo/t/tvi912c-mc-vb
deleted file mode 120000
index f41c4f0..0000000
--- a/lib/terminfo/t/tvi912c-mc-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-mc-vb b/lib/terminfo/t/tvi912c-mc-vb
new file mode 100644
index 0000000..e52eee5
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-mc-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-p b/lib/terminfo/t/tvi912c-p
deleted file mode 120000
index 7b91406..0000000
--- a/lib/terminfo/t/tvi912c-p
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-p b/lib/terminfo/t/tvi912c-p
new file mode 100644
index 0000000..b0315e0
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-p
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-p-2p b/lib/terminfo/t/tvi912c-p-2p
deleted file mode 120000
index 07604c1..0000000
--- a/lib/terminfo/t/tvi912c-p-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-p-2p b/lib/terminfo/t/tvi912c-p-2p
new file mode 100644
index 0000000..2efb0f7
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-p-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-p-vb b/lib/terminfo/t/tvi912c-p-vb
deleted file mode 120000
index fa923a5..0000000
--- a/lib/terminfo/t/tvi912c-p-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-p-vb b/lib/terminfo/t/tvi912c-p-vb
new file mode 100644
index 0000000..d885289
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-p-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-unk b/lib/terminfo/t/tvi912c-unk
deleted file mode 120000
index cbc8561..0000000
--- a/lib/terminfo/t/tvi912c-unk
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-unk b/lib/terminfo/t/tvi912c-unk
new file mode 100644
index 0000000..8cf2896
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-unk-2p b/lib/terminfo/t/tvi912c-unk-2p
deleted file mode 120000
index 1572b43..0000000
--- a/lib/terminfo/t/tvi912c-unk-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-unk-2p b/lib/terminfo/t/tvi912c-unk-2p
new file mode 100644
index 0000000..5b19261
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-unk-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-unk-vb b/lib/terminfo/t/tvi912c-unk-vb
deleted file mode 120000
index 2c4b646..0000000
--- a/lib/terminfo/t/tvi912c-unk-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-unk-vb b/lib/terminfo/t/tvi912c-unk-vb
new file mode 100644
index 0000000..cc5ba8f
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-unk-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-vb b/lib/terminfo/t/tvi912c-vb
deleted file mode 120000
index e0083ab..0000000
--- a/lib/terminfo/t/tvi912c-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-vb
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-vb b/lib/terminfo/t/tvi912c-vb
new file mode 100644
index 0000000..4f28f6a
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-vb-mc b/lib/terminfo/t/tvi912c-vb-mc
deleted file mode 120000
index f41c4f0..0000000
--- a/lib/terminfo/t/tvi912c-vb-mc
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-vb-mc b/lib/terminfo/t/tvi912c-vb-mc
new file mode 100644
index 0000000..e52eee5
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-vb-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-vb-p b/lib/terminfo/t/tvi912c-vb-p
deleted file mode 120000
index fa923a5..0000000
--- a/lib/terminfo/t/tvi912c-vb-p
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-vb-p b/lib/terminfo/t/tvi912c-vb-p
new file mode 100644
index 0000000..d885289
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-vb-p
Binary files differ
diff --git a/lib/terminfo/t/tvi912c-vb-unk b/lib/terminfo/t/tvi912c-vb-unk
deleted file mode 120000
index 2c4b646..0000000
--- a/lib/terminfo/t/tvi912c-vb-unk
+++ /dev/null
@@ -1 +0,0 @@
-tvi912b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi912c-vb-unk b/lib/terminfo/t/tvi912c-vb-unk
new file mode 100644
index 0000000..cc5ba8f
--- /dev/null
+++ b/lib/terminfo/t/tvi912c-vb-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi912cc b/lib/terminfo/t/tvi912cc
index 6e3139e..9f07849 100644
--- a/lib/terminfo/t/tvi912cc
+++ b/lib/terminfo/t/tvi912cc
Binary files differ
diff --git a/lib/terminfo/t/tvi914 b/lib/terminfo/t/tvi914
deleted file mode 120000
index 885daf8..0000000
--- a/lib/terminfo/t/tvi914
+++ /dev/null
@@ -1 +0,0 @@
-tvi912
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi914 b/lib/terminfo/t/tvi914
new file mode 100644
index 0000000..996b3bd
--- /dev/null
+++ b/lib/terminfo/t/tvi914
Binary files differ
diff --git a/lib/terminfo/t/tvi920 b/lib/terminfo/t/tvi920
deleted file mode 120000
index 885daf8..0000000
--- a/lib/terminfo/t/tvi920
+++ /dev/null
@@ -1 +0,0 @@
-tvi912
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920 b/lib/terminfo/t/tvi920
new file mode 100644
index 0000000..996b3bd
--- /dev/null
+++ b/lib/terminfo/t/tvi920
Binary files differ
diff --git a/lib/terminfo/t/tvi920b b/lib/terminfo/t/tvi920b
index bc8ad89..228dd01 100644
--- a/lib/terminfo/t/tvi920b
+++ b/lib/terminfo/t/tvi920b
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-2p b/lib/terminfo/t/tvi920b-2p
index 0ae281f..263fdf4 100644
--- a/lib/terminfo/t/tvi920b-2p
+++ b/lib/terminfo/t/tvi920b-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-2p-mc b/lib/terminfo/t/tvi920b-2p-mc
index 84cc351..7b0de79 100644
--- a/lib/terminfo/t/tvi920b-2p-mc
+++ b/lib/terminfo/t/tvi920b-2p-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-2p-p b/lib/terminfo/t/tvi920b-2p-p
index a2df9c0..fca5308 100644
--- a/lib/terminfo/t/tvi920b-2p-p
+++ b/lib/terminfo/t/tvi920b-2p-p
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-2p-unk b/lib/terminfo/t/tvi920b-2p-unk
index 32dcaa6..641deae 100644
--- a/lib/terminfo/t/tvi920b-2p-unk
+++ b/lib/terminfo/t/tvi920b-2p-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-mc b/lib/terminfo/t/tvi920b-mc
index 9ab3f01..046f80f 100644
--- a/lib/terminfo/t/tvi920b-mc
+++ b/lib/terminfo/t/tvi920b-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-mc-2p b/lib/terminfo/t/tvi920b-mc-2p
deleted file mode 120000
index 80eaa22..0000000
--- a/lib/terminfo/t/tvi920b-mc-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-mc-2p b/lib/terminfo/t/tvi920b-mc-2p
new file mode 100644
index 0000000..7b0de79
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-mc-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-mc-vb b/lib/terminfo/t/tvi920b-mc-vb
deleted file mode 120000
index 47f0d13..0000000
--- a/lib/terminfo/t/tvi920b-mc-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-mc-vb b/lib/terminfo/t/tvi920b-mc-vb
new file mode 100644
index 0000000..3ed007f
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-mc-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-p b/lib/terminfo/t/tvi920b-p
index 1441195..1ee871c 100644
--- a/lib/terminfo/t/tvi920b-p
+++ b/lib/terminfo/t/tvi920b-p
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-p-2p b/lib/terminfo/t/tvi920b-p-2p
deleted file mode 120000
index 26f9478..0000000
--- a/lib/terminfo/t/tvi920b-p-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-p-2p b/lib/terminfo/t/tvi920b-p-2p
new file mode 100644
index 0000000..fca5308
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-p-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-p-vb b/lib/terminfo/t/tvi920b-p-vb
deleted file mode 120000
index 0495dfd..0000000
--- a/lib/terminfo/t/tvi920b-p-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-p-vb b/lib/terminfo/t/tvi920b-p-vb
new file mode 100644
index 0000000..47bed6b
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-p-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-unk b/lib/terminfo/t/tvi920b-unk
index 89658b6..5efdd7b 100644
--- a/lib/terminfo/t/tvi920b-unk
+++ b/lib/terminfo/t/tvi920b-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-unk-2p b/lib/terminfo/t/tvi920b-unk-2p
deleted file mode 120000
index 533ebdb..0000000
--- a/lib/terminfo/t/tvi920b-unk-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-unk-2p b/lib/terminfo/t/tvi920b-unk-2p
new file mode 100644
index 0000000..641deae
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-unk-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-unk-vb b/lib/terminfo/t/tvi920b-unk-vb
deleted file mode 120000
index 96877d7..0000000
--- a/lib/terminfo/t/tvi920b-unk-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920b-unk-vb b/lib/terminfo/t/tvi920b-unk-vb
new file mode 100644
index 0000000..e75a80c
--- /dev/null
+++ b/lib/terminfo/t/tvi920b-unk-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-vb b/lib/terminfo/t/tvi920b-vb
index 9390b9a..6626e45 100644
--- a/lib/terminfo/t/tvi920b-vb
+++ b/lib/terminfo/t/tvi920b-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-vb-mc b/lib/terminfo/t/tvi920b-vb-mc
index 5cbdcc1..3ed007f 100644
--- a/lib/terminfo/t/tvi920b-vb-mc
+++ b/lib/terminfo/t/tvi920b-vb-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-vb-p b/lib/terminfo/t/tvi920b-vb-p
index 555ca8b..47bed6b 100644
--- a/lib/terminfo/t/tvi920b-vb-p
+++ b/lib/terminfo/t/tvi920b-vb-p
Binary files differ
diff --git a/lib/terminfo/t/tvi920b-vb-unk b/lib/terminfo/t/tvi920b-vb-unk
index 5446426..e75a80c 100644
--- a/lib/terminfo/t/tvi920b-vb-unk
+++ b/lib/terminfo/t/tvi920b-vb-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi920c b/lib/terminfo/t/tvi920c
deleted file mode 120000
index ebe1537..0000000
--- a/lib/terminfo/t/tvi920c
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c b/lib/terminfo/t/tvi920c
new file mode 100644
index 0000000..228dd01
--- /dev/null
+++ b/lib/terminfo/t/tvi920c
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-2p b/lib/terminfo/t/tvi920c-2p
deleted file mode 120000
index de3d34d..0000000
--- a/lib/terminfo/t/tvi920c-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-2p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-2p b/lib/terminfo/t/tvi920c-2p
new file mode 100644
index 0000000..263fdf4
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-2p-mc b/lib/terminfo/t/tvi920c-2p-mc
deleted file mode 120000
index 80eaa22..0000000
--- a/lib/terminfo/t/tvi920c-2p-mc
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-2p-mc b/lib/terminfo/t/tvi920c-2p-mc
new file mode 100644
index 0000000..7b0de79
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-2p-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-2p-p b/lib/terminfo/t/tvi920c-2p-p
deleted file mode 120000
index 26f9478..0000000
--- a/lib/terminfo/t/tvi920c-2p-p
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-2p-p b/lib/terminfo/t/tvi920c-2p-p
new file mode 100644
index 0000000..fca5308
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-2p-p
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-2p-unk b/lib/terminfo/t/tvi920c-2p-unk
deleted file mode 120000
index 533ebdb..0000000
--- a/lib/terminfo/t/tvi920c-2p-unk
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-2p-unk b/lib/terminfo/t/tvi920c-2p-unk
new file mode 100644
index 0000000..641deae
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-2p-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-mc b/lib/terminfo/t/tvi920c-mc
deleted file mode 120000
index 68704c8..0000000
--- a/lib/terminfo/t/tvi920c-mc
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-mc b/lib/terminfo/t/tvi920c-mc
new file mode 100644
index 0000000..046f80f
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-mc-2p b/lib/terminfo/t/tvi920c-mc-2p
deleted file mode 120000
index 80eaa22..0000000
--- a/lib/terminfo/t/tvi920c-mc-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-2p-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-mc-2p b/lib/terminfo/t/tvi920c-mc-2p
new file mode 100644
index 0000000..7b0de79
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-mc-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-mc-vb b/lib/terminfo/t/tvi920c-mc-vb
deleted file mode 120000
index 47f0d13..0000000
--- a/lib/terminfo/t/tvi920c-mc-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-mc-vb b/lib/terminfo/t/tvi920c-mc-vb
new file mode 100644
index 0000000..3ed007f
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-mc-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-p b/lib/terminfo/t/tvi920c-p
deleted file mode 120000
index 7d3b09a..0000000
--- a/lib/terminfo/t/tvi920c-p
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-p b/lib/terminfo/t/tvi920c-p
new file mode 100644
index 0000000..1ee871c
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-p
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-p-2p b/lib/terminfo/t/tvi920c-p-2p
deleted file mode 120000
index 26f9478..0000000
--- a/lib/terminfo/t/tvi920c-p-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-2p-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-p-2p b/lib/terminfo/t/tvi920c-p-2p
new file mode 100644
index 0000000..fca5308
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-p-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-p-vb b/lib/terminfo/t/tvi920c-p-vb
deleted file mode 120000
index 0495dfd..0000000
--- a/lib/terminfo/t/tvi920c-p-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-p-vb b/lib/terminfo/t/tvi920c-p-vb
new file mode 100644
index 0000000..47bed6b
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-p-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-unk b/lib/terminfo/t/tvi920c-unk
deleted file mode 120000
index 1f62049..0000000
--- a/lib/terminfo/t/tvi920c-unk
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-unk b/lib/terminfo/t/tvi920c-unk
new file mode 100644
index 0000000..5efdd7b
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-unk-2p b/lib/terminfo/t/tvi920c-unk-2p
deleted file mode 120000
index 533ebdb..0000000
--- a/lib/terminfo/t/tvi920c-unk-2p
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-2p-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-unk-2p b/lib/terminfo/t/tvi920c-unk-2p
new file mode 100644
index 0000000..641deae
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-unk-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-unk-vb b/lib/terminfo/t/tvi920c-unk-vb
deleted file mode 120000
index 96877d7..0000000
--- a/lib/terminfo/t/tvi920c-unk-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-unk-vb b/lib/terminfo/t/tvi920c-unk-vb
new file mode 100644
index 0000000..e75a80c
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-unk-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-vb b/lib/terminfo/t/tvi920c-vb
deleted file mode 120000
index 5206d26..0000000
--- a/lib/terminfo/t/tvi920c-vb
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-vb
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-vb b/lib/terminfo/t/tvi920c-vb
new file mode 100644
index 0000000..6626e45
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-vb
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-vb-mc b/lib/terminfo/t/tvi920c-vb-mc
deleted file mode 120000
index 47f0d13..0000000
--- a/lib/terminfo/t/tvi920c-vb-mc
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-vb-mc
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-vb-mc b/lib/terminfo/t/tvi920c-vb-mc
new file mode 100644
index 0000000..3ed007f
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-vb-mc
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-vb-p b/lib/terminfo/t/tvi920c-vb-p
deleted file mode 120000
index 0495dfd..0000000
--- a/lib/terminfo/t/tvi920c-vb-p
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-vb-p
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-vb-p b/lib/terminfo/t/tvi920c-vb-p
new file mode 100644
index 0000000..47bed6b
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-vb-p
Binary files differ
diff --git a/lib/terminfo/t/tvi920c-vb-unk b/lib/terminfo/t/tvi920c-vb-unk
deleted file mode 120000
index 96877d7..0000000
--- a/lib/terminfo/t/tvi920c-vb-unk
+++ /dev/null
@@ -1 +0,0 @@
-tvi920b-vb-unk
\ No newline at end of file
diff --git a/lib/terminfo/t/tvi920c-vb-unk b/lib/terminfo/t/tvi920c-vb-unk
new file mode 100644
index 0000000..e75a80c
--- /dev/null
+++ b/lib/terminfo/t/tvi920c-vb-unk
Binary files differ
diff --git a/lib/terminfo/t/tvi921 b/lib/terminfo/t/tvi921
index 09402d3..04d3310 100644
--- a/lib/terminfo/t/tvi921
+++ b/lib/terminfo/t/tvi921
Binary files differ
diff --git a/lib/terminfo/t/tvi924 b/lib/terminfo/t/tvi924
index a8cd8b6..84cb45f 100644
--- a/lib/terminfo/t/tvi924
+++ b/lib/terminfo/t/tvi924
Binary files differ
diff --git a/lib/terminfo/t/tvi925 b/lib/terminfo/t/tvi925
index d3d06c8..085892f 100644
--- a/lib/terminfo/t/tvi925
+++ b/lib/terminfo/t/tvi925
Binary files differ
diff --git a/lib/terminfo/t/tvi92B b/lib/terminfo/t/tvi92B
index e0684a2..034197c 100644
--- a/lib/terminfo/t/tvi92B
+++ b/lib/terminfo/t/tvi92B
Binary files differ
diff --git a/lib/terminfo/t/tvi92D b/lib/terminfo/t/tvi92D
index 29cd3f3..1916df5 100644
--- a/lib/terminfo/t/tvi92D
+++ b/lib/terminfo/t/tvi92D
Binary files differ
diff --git a/lib/terminfo/t/tvi950 b/lib/terminfo/t/tvi950
index 7e0eae9..54b1501 100644
--- a/lib/terminfo/t/tvi950
+++ b/lib/terminfo/t/tvi950
Binary files differ
diff --git a/lib/terminfo/t/tvi950-2p b/lib/terminfo/t/tvi950-2p
index 003ba33..98bed94 100644
--- a/lib/terminfo/t/tvi950-2p
+++ b/lib/terminfo/t/tvi950-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi950-4p b/lib/terminfo/t/tvi950-4p
index 3f8fd7a..d00c5c5 100644
--- a/lib/terminfo/t/tvi950-4p
+++ b/lib/terminfo/t/tvi950-4p
Binary files differ
diff --git a/lib/terminfo/t/tvi950-rv b/lib/terminfo/t/tvi950-rv
index 5c16c45..38c0c98 100644
--- a/lib/terminfo/t/tvi950-rv
+++ b/lib/terminfo/t/tvi950-rv
Binary files differ
diff --git a/lib/terminfo/t/tvi950-rv-2p b/lib/terminfo/t/tvi950-rv-2p
index 8d1c869..250c520 100644
--- a/lib/terminfo/t/tvi950-rv-2p
+++ b/lib/terminfo/t/tvi950-rv-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi950-rv-4p b/lib/terminfo/t/tvi950-rv-4p
index 3dab08c..8f664ef 100644
--- a/lib/terminfo/t/tvi950-rv-4p
+++ b/lib/terminfo/t/tvi950-rv-4p
Binary files differ
diff --git a/lib/terminfo/t/tvi955 b/lib/terminfo/t/tvi955
index b4bc2af..d6e599d 100644
--- a/lib/terminfo/t/tvi955
+++ b/lib/terminfo/t/tvi955
Binary files differ
diff --git a/lib/terminfo/t/tvi955-hb b/lib/terminfo/t/tvi955-hb
index 1a6ab87..dfe4c1f 100644
--- a/lib/terminfo/t/tvi955-hb
+++ b/lib/terminfo/t/tvi955-hb
Binary files differ
diff --git a/lib/terminfo/t/tvi955-w b/lib/terminfo/t/tvi955-w
index a4da667..437f5ce 100644
--- a/lib/terminfo/t/tvi955-w
+++ b/lib/terminfo/t/tvi955-w
Binary files differ
diff --git a/lib/terminfo/t/tvi970 b/lib/terminfo/t/tvi970
index 23a1055..ea93bd6 100644
--- a/lib/terminfo/t/tvi970
+++ b/lib/terminfo/t/tvi970
Binary files differ
diff --git a/lib/terminfo/t/tvi970-2p b/lib/terminfo/t/tvi970-2p
index e6f5836..c1aa0da 100644
--- a/lib/terminfo/t/tvi970-2p
+++ b/lib/terminfo/t/tvi970-2p
Binary files differ
diff --git a/lib/terminfo/t/tvi970-vb b/lib/terminfo/t/tvi970-vb
index d6f0a6b..b2eee46 100644
--- a/lib/terminfo/t/tvi970-vb
+++ b/lib/terminfo/t/tvi970-vb
Binary files differ
diff --git a/lib/terminfo/t/tvipt b/lib/terminfo/t/tvipt
index 2bbf35b..c65f9a7 100644
--- a/lib/terminfo/t/tvipt
+++ b/lib/terminfo/t/tvipt
Binary files differ
diff --git a/lib/terminfo/t/tw100 b/lib/terminfo/t/tw100
index 24a7bbe..2a11195 100644
--- a/lib/terminfo/t/tw100
+++ b/lib/terminfo/t/tw100
Binary files differ
diff --git a/lib/terminfo/t/tw52-color b/lib/terminfo/t/tw52-color
deleted file mode 120000
index a49f5f8..0000000
--- a/lib/terminfo/t/tw52-color
+++ /dev/null
@@ -1 +0,0 @@
-tw52
\ No newline at end of file
diff --git a/lib/terminfo/t/tw52-color b/lib/terminfo/t/tw52-color
new file mode 100644
index 0000000..c5552ba
--- /dev/null
+++ b/lib/terminfo/t/tw52-color
Binary files differ
diff --git a/lib/terminfo/t/tws2102-sna b/lib/terminfo/t/tws2102-sna
index 3ee63b0..6147bfb 100644
--- a/lib/terminfo/t/tws2102-sna
+++ b/lib/terminfo/t/tws2102-sna
Binary files differ
diff --git a/lib/terminfo/t/tws2103 b/lib/terminfo/t/tws2103
index 16feea0..213d40f 100644
--- a/lib/terminfo/t/tws2103
+++ b/lib/terminfo/t/tws2103
Binary files differ
diff --git a/lib/terminfo/t/tws2103-sna b/lib/terminfo/t/tws2103-sna
index 0c781d3..17cfc91 100644
--- a/lib/terminfo/t/tws2103-sna
+++ b/lib/terminfo/t/tws2103-sna
Binary files differ
diff --git a/lib/terminfo/u/ultima2 b/lib/terminfo/u/ultima2
deleted file mode 120000
index e7a716e..0000000
--- a/lib/terminfo/u/ultima2
+++ /dev/null
@@ -1 +0,0 @@
-../i/ims-ansi
\ No newline at end of file
diff --git a/lib/terminfo/u/ultima2 b/lib/terminfo/u/ultima2
new file mode 100644
index 0000000..62f000f
--- /dev/null
+++ b/lib/terminfo/u/ultima2
Binary files differ
diff --git a/lib/terminfo/u/ultimaII b/lib/terminfo/u/ultimaII
deleted file mode 120000
index e7a716e..0000000
--- a/lib/terminfo/u/ultimaII
+++ /dev/null
@@ -1 +0,0 @@
-../i/ims-ansi
\ No newline at end of file
diff --git a/lib/terminfo/u/ultimaII b/lib/terminfo/u/ultimaII
new file mode 100644
index 0000000..62f000f
--- /dev/null
+++ b/lib/terminfo/u/ultimaII
Binary files differ
diff --git a/lib/terminfo/u/uniterm b/lib/terminfo/u/uniterm
index 0b825bd..5139dba 100644
--- a/lib/terminfo/u/uniterm
+++ b/lib/terminfo/u/uniterm
Binary files differ
diff --git a/lib/terminfo/u/uniterm49 b/lib/terminfo/u/uniterm49
deleted file mode 120000
index 2cbfe07..0000000
--- a/lib/terminfo/u/uniterm49
+++ /dev/null
@@ -1 +0,0 @@
-uniterm
\ No newline at end of file
diff --git a/lib/terminfo/u/uniterm49 b/lib/terminfo/u/uniterm49
new file mode 100644
index 0000000..5139dba
--- /dev/null
+++ b/lib/terminfo/u/uniterm49
Binary files differ
diff --git a/lib/terminfo/u/unixpc b/lib/terminfo/u/unixpc
deleted file mode 120000
index baaa9ad..0000000
--- a/lib/terminfo/u/unixpc
+++ /dev/null
@@ -1 +0,0 @@
-../a/att7300
\ No newline at end of file
diff --git a/lib/terminfo/u/unixpc b/lib/terminfo/u/unixpc
new file mode 100644
index 0000000..b41843d
--- /dev/null
+++ b/lib/terminfo/u/unixpc
Binary files differ
diff --git a/lib/terminfo/u/uts30 b/lib/terminfo/u/uts30
index 9274320..9306ce3 100644
--- a/lib/terminfo/u/uts30
+++ b/lib/terminfo/u/uts30
Binary files differ
diff --git a/lib/terminfo/v/v200-nam b/lib/terminfo/v/v200-nam
deleted file mode 120000
index dec9d85..0000000
--- a/lib/terminfo/v/v200-nam
+++ /dev/null
@@ -1 +0,0 @@
-vt220-nam
\ No newline at end of file
diff --git a/lib/terminfo/v/v200-nam b/lib/terminfo/v/v200-nam
new file mode 100644
index 0000000..adf00b2
--- /dev/null
+++ b/lib/terminfo/v/v200-nam
Binary files differ
diff --git a/lib/terminfo/v/v320n b/lib/terminfo/v/v320n
deleted file mode 120000
index dfe7f02..0000000
--- a/lib/terminfo/v/v320n
+++ /dev/null
@@ -1 +0,0 @@
-vt320nam
\ No newline at end of file
diff --git a/lib/terminfo/v/v320n b/lib/terminfo/v/v320n
new file mode 100644
index 0000000..d11541d
--- /dev/null
+++ b/lib/terminfo/v/v320n
Binary files differ
diff --git a/lib/terminfo/v/v5410 b/lib/terminfo/v/v5410
index 386e102..996e2eb 100644
--- a/lib/terminfo/v/v5410
+++ b/lib/terminfo/v/v5410
Binary files differ
diff --git a/lib/terminfo/v/vapple b/lib/terminfo/v/vapple
deleted file mode 120000
index f872dfe..0000000
--- a/lib/terminfo/v/vapple
+++ /dev/null
@@ -1 +0,0 @@
-../a/apple-videx3
\ No newline at end of file
diff --git a/lib/terminfo/v/vapple b/lib/terminfo/v/vapple
new file mode 100644
index 0000000..4d99501
--- /dev/null
+++ b/lib/terminfo/v/vapple
Binary files differ
diff --git a/lib/terminfo/v/vc103 b/lib/terminfo/v/vc103
deleted file mode 120000
index 939cd9a..0000000
--- a/lib/terminfo/v/vc103
+++ /dev/null
@@ -1 +0,0 @@
-vc303
\ No newline at end of file
diff --git a/lib/terminfo/v/vc103 b/lib/terminfo/v/vc103
new file mode 100644
index 0000000..915744e
--- /dev/null
+++ b/lib/terminfo/v/vc103
Binary files differ
diff --git a/lib/terminfo/v/vc203 b/lib/terminfo/v/vc203
deleted file mode 120000
index 939cd9a..0000000
--- a/lib/terminfo/v/vc203
+++ /dev/null
@@ -1 +0,0 @@
-vc303
\ No newline at end of file
diff --git a/lib/terminfo/v/vc203 b/lib/terminfo/v/vc203
new file mode 100644
index 0000000..915744e
--- /dev/null
+++ b/lib/terminfo/v/vc203
Binary files differ
diff --git a/lib/terminfo/v/vc303 b/lib/terminfo/v/vc303
index f1978fa..915744e 100644
--- a/lib/terminfo/v/vc303
+++ b/lib/terminfo/v/vc303
Binary files differ
diff --git a/lib/terminfo/v/vc303a b/lib/terminfo/v/vc303a
index cee4c66..c41964b 100644
--- a/lib/terminfo/v/vc303a
+++ b/lib/terminfo/v/vc303a
Binary files differ
diff --git a/lib/terminfo/v/vc403a b/lib/terminfo/v/vc403a
deleted file mode 120000
index 4bdbe00..0000000
--- a/lib/terminfo/v/vc403a
+++ /dev/null
@@ -1 +0,0 @@
-vc303a
\ No newline at end of file
diff --git a/lib/terminfo/v/vc403a b/lib/terminfo/v/vc403a
new file mode 100644
index 0000000..c41964b
--- /dev/null
+++ b/lib/terminfo/v/vc403a
Binary files differ
diff --git a/lib/terminfo/v/vc404 b/lib/terminfo/v/vc404
index 73f89f7..651ee7c 100644
--- a/lib/terminfo/v/vc404
+++ b/lib/terminfo/v/vc404
Binary files differ
diff --git a/lib/terminfo/v/vc404-s b/lib/terminfo/v/vc404-s
index 75e2559..920d624 100644
--- a/lib/terminfo/v/vc404-s
+++ b/lib/terminfo/v/vc404-s
Binary files differ
diff --git a/lib/terminfo/v/vc414h b/lib/terminfo/v/vc414h
deleted file mode 120000
index 61b0b52..0000000
--- a/lib/terminfo/v/vc414h
+++ /dev/null
@@ -1 +0,0 @@
-vc414
\ No newline at end of file
diff --git a/lib/terminfo/v/vc414h b/lib/terminfo/v/vc414h
new file mode 100644
index 0000000..22a073f
--- /dev/null
+++ b/lib/terminfo/v/vc414h
Binary files differ
diff --git a/lib/terminfo/v/vc415 b/lib/terminfo/v/vc415
index fcdc81f..924e0ab 100644
--- a/lib/terminfo/v/vc415
+++ b/lib/terminfo/v/vc415
Binary files differ
diff --git a/lib/terminfo/v/venix b/lib/terminfo/v/venix
deleted file mode 120000
index add5c9c..0000000
--- a/lib/terminfo/v/venix
+++ /dev/null
@@ -1 +0,0 @@
-../p/pc-venix
\ No newline at end of file
diff --git a/lib/terminfo/v/venix b/lib/terminfo/v/venix
new file mode 100644
index 0000000..32a7ec0
--- /dev/null
+++ b/lib/terminfo/v/venix
Binary files differ
diff --git a/lib/terminfo/v/versaterm b/lib/terminfo/v/versaterm
index 9276c30..947c101 100644
--- a/lib/terminfo/v/versaterm
+++ b/lib/terminfo/v/versaterm
Binary files differ
diff --git a/lib/terminfo/v/vi200 b/lib/terminfo/v/vi200
index 1895213..71f185d 100644
--- a/lib/terminfo/v/vi200
+++ b/lib/terminfo/v/vi200
Binary files differ
diff --git a/lib/terminfo/v/vi200-f b/lib/terminfo/v/vi200-f
index bda3aa6..a156051 100644
--- a/lib/terminfo/v/vi200-f
+++ b/lib/terminfo/v/vi200-f
Binary files differ
diff --git a/lib/terminfo/v/vi200-rv b/lib/terminfo/v/vi200-rv
index 95fe922..b8971a3 100644
--- a/lib/terminfo/v/vi200-rv
+++ b/lib/terminfo/v/vi200-rv
Binary files differ
diff --git a/lib/terminfo/v/vi300 b/lib/terminfo/v/vi300
index 26cfcf7..25daa30 100644
--- a/lib/terminfo/v/vi300
+++ b/lib/terminfo/v/vi300
Binary files differ
diff --git a/lib/terminfo/v/vi300-old b/lib/terminfo/v/vi300-old
index ada51c3..10b3cdb 100644
--- a/lib/terminfo/v/vi300-old
+++ b/lib/terminfo/v/vi300-old
Binary files differ
diff --git a/lib/terminfo/v/vi50 b/lib/terminfo/v/vi50
index c42dbd2..dcac0f0 100644
--- a/lib/terminfo/v/vi50
+++ b/lib/terminfo/v/vi50
Binary files differ
diff --git a/lib/terminfo/v/vi500 b/lib/terminfo/v/vi500
index 4597335..4f30cec 100644
--- a/lib/terminfo/v/vi500
+++ b/lib/terminfo/v/vi500
Binary files differ
diff --git a/lib/terminfo/v/vi50adm b/lib/terminfo/v/vi50adm
index 47d290d..52057ae 100644
--- a/lib/terminfo/v/vi50adm
+++ b/lib/terminfo/v/vi50adm
Binary files differ
diff --git a/lib/terminfo/v/vi550 b/lib/terminfo/v/vi550
index f5e4f7e..1323536 100644
--- a/lib/terminfo/v/vi550
+++ b/lib/terminfo/v/vi550
Binary files differ
diff --git a/lib/terminfo/v/vi603 b/lib/terminfo/v/vi603
index 07e162a..f6ec9ad 100644
--- a/lib/terminfo/v/vi603
+++ b/lib/terminfo/v/vi603
Binary files differ
diff --git a/lib/terminfo/v/viewdata b/lib/terminfo/v/viewdata
new file mode 100644
index 0000000..d0197a4
--- /dev/null
+++ b/lib/terminfo/v/viewdata
Binary files differ
diff --git a/lib/terminfo/v/viewdata-o b/lib/terminfo/v/viewdata-o
new file mode 100644
index 0000000..739a853
--- /dev/null
+++ b/lib/terminfo/v/viewdata-o
Binary files differ
diff --git a/lib/terminfo/v/viewdata-rv b/lib/terminfo/v/viewdata-rv
new file mode 100644
index 0000000..b5c10cd
--- /dev/null
+++ b/lib/terminfo/v/viewdata-rv
Binary files differ
diff --git a/lib/terminfo/v/viewpoint b/lib/terminfo/v/viewpoint
index 46b5a90..0efc7fb 100644
--- a/lib/terminfo/v/viewpoint
+++ b/lib/terminfo/v/viewpoint
Binary files differ
diff --git a/lib/terminfo/v/viewpoint3a+ b/lib/terminfo/v/viewpoint3a+
deleted file mode 120000
index bceb6da..0000000
--- a/lib/terminfo/v/viewpoint3a+
+++ /dev/null
@@ -1 +0,0 @@
-vp3a+
\ No newline at end of file
diff --git a/lib/terminfo/v/viewpoint3a+ b/lib/terminfo/v/viewpoint3a+
new file mode 100644
index 0000000..4f18884
--- /dev/null
+++ b/lib/terminfo/v/viewpoint3a+
Binary files differ
diff --git a/lib/terminfo/v/viewpoint60 b/lib/terminfo/v/viewpoint60
deleted file mode 120000
index d001a63..0000000
--- a/lib/terminfo/v/viewpoint60
+++ /dev/null
@@ -1 +0,0 @@
-vp60
\ No newline at end of file
diff --git a/lib/terminfo/v/viewpoint60 b/lib/terminfo/v/viewpoint60
new file mode 100644
index 0000000..3c28adf
--- /dev/null
+++ b/lib/terminfo/v/viewpoint60
Binary files differ
diff --git a/lib/terminfo/v/viewpoint90 b/lib/terminfo/v/viewpoint90
deleted file mode 120000
index a0ef386..0000000
--- a/lib/terminfo/v/viewpoint90
+++ /dev/null
@@ -1 +0,0 @@
-vp90
\ No newline at end of file
diff --git a/lib/terminfo/v/viewpoint90 b/lib/terminfo/v/viewpoint90
new file mode 100644
index 0000000..6241733
--- /dev/null
+++ b/lib/terminfo/v/viewpoint90
Binary files differ
diff --git a/lib/terminfo/v/vip7800-H b/lib/terminfo/v/vip7800-H
deleted file mode 120000
index 4901cd4..0000000
--- a/lib/terminfo/v/vip7800-H
+++ /dev/null
@@ -1 +0,0 @@
-vip-H
\ No newline at end of file
diff --git a/lib/terminfo/v/vip7800-H b/lib/terminfo/v/vip7800-H
new file mode 100644
index 0000000..8cf4e92
--- /dev/null
+++ b/lib/terminfo/v/vip7800-H
Binary files differ
diff --git a/lib/terminfo/v/vip7800-Hw b/lib/terminfo/v/vip7800-Hw
deleted file mode 120000
index 51091d4..0000000
--- a/lib/terminfo/v/vip7800-Hw
+++ /dev/null
@@ -1 +0,0 @@
-vip-Hw
\ No newline at end of file
diff --git a/lib/terminfo/v/vip7800-Hw b/lib/terminfo/v/vip7800-Hw
new file mode 100644
index 0000000..4b09f03
--- /dev/null
+++ b/lib/terminfo/v/vip7800-Hw
Binary files differ
diff --git a/lib/terminfo/v/vip7800-w b/lib/terminfo/v/vip7800-w
deleted file mode 120000
index ab4ff36..0000000
--- a/lib/terminfo/v/vip7800-w
+++ /dev/null
@@ -1 +0,0 @@
-vip-w
\ No newline at end of file
diff --git a/lib/terminfo/v/vip7800-w b/lib/terminfo/v/vip7800-w
new file mode 100644
index 0000000..b710a2a
--- /dev/null
+++ b/lib/terminfo/v/vip7800-w
Binary files differ
diff --git a/lib/terminfo/v/visa50 b/lib/terminfo/v/visa50
index 2a31eb7..22b3bf9 100644
--- a/lib/terminfo/v/visa50
+++ b/lib/terminfo/v/visa50
Binary files differ
diff --git a/lib/terminfo/v/visual603 b/lib/terminfo/v/visual603
deleted file mode 120000
index 5614cdc..0000000
--- a/lib/terminfo/v/visual603
+++ /dev/null
@@ -1 +0,0 @@
-vi603
\ No newline at end of file
diff --git a/lib/terminfo/v/visual603 b/lib/terminfo/v/visual603
new file mode 100644
index 0000000..f6ec9ad
--- /dev/null
+++ b/lib/terminfo/v/visual603
Binary files differ
diff --git a/lib/terminfo/v/vitty b/lib/terminfo/v/vitty
deleted file mode 120000
index 8bca378..0000000
--- a/lib/terminfo/v/vitty
+++ /dev/null
@@ -1 +0,0 @@
-../a/att5620-s
\ No newline at end of file
diff --git a/lib/terminfo/v/vitty b/lib/terminfo/v/vitty
new file mode 100644
index 0000000..56d4b55
--- /dev/null
+++ b/lib/terminfo/v/vitty
Binary files differ
diff --git a/lib/terminfo/v/vk100 b/lib/terminfo/v/vk100
deleted file mode 120000
index c505fdc..0000000
--- a/lib/terminfo/v/vk100
+++ /dev/null
@@ -1 +0,0 @@
-../g/gigi
\ No newline at end of file
diff --git a/lib/terminfo/v/vk100 b/lib/terminfo/v/vk100
new file mode 100644
index 0000000..94340a8
--- /dev/null
+++ b/lib/terminfo/v/vk100
Binary files differ
diff --git a/lib/terminfo/v/vp3a+ b/lib/terminfo/v/vp3a+
index 4f0f82c..4f18884 100644
--- a/lib/terminfo/v/vp3a+
+++ b/lib/terminfo/v/vp3a+
Binary files differ
diff --git a/lib/terminfo/v/vp60 b/lib/terminfo/v/vp60
index 030858d..3c28adf 100644
--- a/lib/terminfo/v/vp60
+++ b/lib/terminfo/v/vp60
Binary files differ
diff --git a/lib/terminfo/v/vp90 b/lib/terminfo/v/vp90
index 81cbbf5..6241733 100644
--- a/lib/terminfo/v/vp90
+++ b/lib/terminfo/v/vp90
Binary files differ
diff --git a/lib/terminfo/v/vs100 b/lib/terminfo/v/vs100
deleted file mode 120000
index ba254e1..0000000
--- a/lib/terminfo/v/vs100
+++ /dev/null
@@ -1 +0,0 @@
-../x/xterm-24
\ No newline at end of file
diff --git a/lib/terminfo/v/vs100 b/lib/terminfo/v/vs100
new file mode 100644
index 0000000..879072b
--- /dev/null
+++ b/lib/terminfo/v/vs100
Binary files differ
diff --git a/lib/terminfo/v/vs100-x10 b/lib/terminfo/v/vs100-x10
deleted file mode 120000
index 9077cc2..0000000
--- a/lib/terminfo/v/vs100-x10
+++ /dev/null
@@ -1 +0,0 @@
-../x/x10term
\ No newline at end of file
diff --git a/lib/terminfo/v/vs100-x10 b/lib/terminfo/v/vs100-x10
new file mode 100644
index 0000000..92abb2f
--- /dev/null
+++ b/lib/terminfo/v/vs100-x10
Binary files differ
diff --git a/lib/terminfo/v/vscode b/lib/terminfo/v/vscode
new file mode 100644
index 0000000..11cfdfa
--- /dev/null
+++ b/lib/terminfo/v/vscode
Binary files differ
diff --git a/lib/terminfo/v/vscode-direct b/lib/terminfo/v/vscode-direct
new file mode 100644
index 0000000..6545dbc
--- /dev/null
+++ b/lib/terminfo/v/vscode-direct
Binary files differ
diff --git a/lib/terminfo/v/vt-61 b/lib/terminfo/v/vt-61
deleted file mode 120000
index f2b43eb..0000000
--- a/lib/terminfo/v/vt-61
+++ /dev/null
@@ -1 +0,0 @@
-vt61
\ No newline at end of file
diff --git a/lib/terminfo/v/vt-61 b/lib/terminfo/v/vt-61
new file mode 100644
index 0000000..820ce7d
--- /dev/null
+++ b/lib/terminfo/v/vt-61
Binary files differ
diff --git a/lib/terminfo/v/vt-utf8 b/lib/terminfo/v/vt-utf8
deleted file mode 120000
index 3237507..0000000
--- a/lib/terminfo/v/vt-utf8
+++ /dev/null
@@ -1 +0,0 @@
-../m/ms-vt-utf8
\ No newline at end of file
diff --git a/lib/terminfo/v/vt-utf8 b/lib/terminfo/v/vt-utf8
new file mode 100644
index 0000000..61a7752
--- /dev/null
+++ b/lib/terminfo/v/vt-utf8
Binary files differ
diff --git a/lib/terminfo/v/vt100 b/lib/terminfo/v/vt100
index 1a7176d..b4ee9b0 100644
--- a/lib/terminfo/v/vt100
+++ b/lib/terminfo/v/vt100
Binary files differ
diff --git a/lib/terminfo/v/vt100+ b/lib/terminfo/v/vt100+
deleted file mode 120000
index 43bd925..0000000
--- a/lib/terminfo/v/vt100+
+++ /dev/null
@@ -1 +0,0 @@
-../m/ms-vt100+
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100+ b/lib/terminfo/v/vt100+
new file mode 100644
index 0000000..ee4cf0c
--- /dev/null
+++ b/lib/terminfo/v/vt100+
Binary files differ
diff --git a/lib/terminfo/v/vt100+4bsd b/lib/terminfo/v/vt100+4bsd
new file mode 100644
index 0000000..ac983eb
--- /dev/null
+++ b/lib/terminfo/v/vt100+4bsd
Binary files differ
diff --git a/lib/terminfo/v/vt100+enq b/lib/terminfo/v/vt100+enq
index 9205621..3a9a348 100644
--- a/lib/terminfo/v/vt100+enq
+++ b/lib/terminfo/v/vt100+enq
Binary files differ
diff --git a/lib/terminfo/v/vt100+fnkeys b/lib/terminfo/v/vt100+fnkeys
index 58dc0f3..3ac813f 100644
--- a/lib/terminfo/v/vt100+fnkeys
+++ b/lib/terminfo/v/vt100+fnkeys
Binary files differ
diff --git a/lib/terminfo/v/vt100+keypad b/lib/terminfo/v/vt100+keypad
index 8f9e6f7..bf8eebc 100644
--- a/lib/terminfo/v/vt100+keypad
+++ b/lib/terminfo/v/vt100+keypad
Binary files differ
diff --git a/lib/terminfo/v/vt100+noapp b/lib/terminfo/v/vt100+noapp
new file mode 100644
index 0000000..75ad748
--- /dev/null
+++ b/lib/terminfo/v/vt100+noapp
Binary files differ
diff --git a/lib/terminfo/v/vt100+noapp+pc b/lib/terminfo/v/vt100+noapp+pc
new file mode 100644
index 0000000..de49799
--- /dev/null
+++ b/lib/terminfo/v/vt100+noapp+pc
Binary files differ
diff --git a/lib/terminfo/v/vt100+pfkeys b/lib/terminfo/v/vt100+pfkeys
index c19ceee..6eaea92 100644
--- a/lib/terminfo/v/vt100+pfkeys
+++ b/lib/terminfo/v/vt100+pfkeys
Binary files differ
diff --git a/lib/terminfo/v/vt100-am b/lib/terminfo/v/vt100-am
deleted file mode 120000
index 22e8c4d..0000000
--- a/lib/terminfo/v/vt100-am
+++ /dev/null
@@ -1 +0,0 @@
-vt100
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-am b/lib/terminfo/v/vt100-am
new file mode 100644
index 0000000..b4ee9b0
--- /dev/null
+++ b/lib/terminfo/v/vt100-am
Binary files differ
diff --git a/lib/terminfo/v/vt100-bm b/lib/terminfo/v/vt100-bm
deleted file mode 120000
index b39a86a..0000000
--- a/lib/terminfo/v/vt100-bm
+++ /dev/null
@@ -1 +0,0 @@
-../n/nwp512
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-bm b/lib/terminfo/v/vt100-bm
new file mode 100644
index 0000000..5cc7df3
--- /dev/null
+++ b/lib/terminfo/v/vt100-bm
Binary files differ
diff --git a/lib/terminfo/v/vt100-bm-o b/lib/terminfo/v/vt100-bm-o
deleted file mode 120000
index 1810933..0000000
--- a/lib/terminfo/v/vt100-bm-o
+++ /dev/null
@@ -1 +0,0 @@
-../n/nwp512-o
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-bm-o b/lib/terminfo/v/vt100-bm-o
new file mode 100644
index 0000000..5cc7df3
--- /dev/null
+++ b/lib/terminfo/v/vt100-bm-o
Binary files differ
diff --git a/lib/terminfo/v/vt100-bot-s b/lib/terminfo/v/vt100-bot-s
deleted file mode 120000
index e4ce995..0000000
--- a/lib/terminfo/v/vt100-bot-s
+++ /dev/null
@@ -1 +0,0 @@
-vt100-s-bot
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-bot-s b/lib/terminfo/v/vt100-bot-s
new file mode 100644
index 0000000..8f420c0
--- /dev/null
+++ b/lib/terminfo/v/vt100-bot-s
Binary files differ
diff --git a/lib/terminfo/v/vt100-nam b/lib/terminfo/v/vt100-nam
deleted file mode 120000
index 14d893e..0000000
--- a/lib/terminfo/v/vt100-nam
+++ /dev/null
@@ -1 +0,0 @@
-vt100nam
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-nam b/lib/terminfo/v/vt100-nam
new file mode 100644
index 0000000..6cf9e3c
--- /dev/null
+++ b/lib/terminfo/v/vt100-nam
Binary files differ
diff --git a/lib/terminfo/v/vt100-nam-w b/lib/terminfo/v/vt100-nam-w
deleted file mode 120000
index a96452a..0000000
--- a/lib/terminfo/v/vt100-nam-w
+++ /dev/null
@@ -1 +0,0 @@
-vt100-w-nam
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-nam-w b/lib/terminfo/v/vt100-nam-w
new file mode 100644
index 0000000..27a4027
--- /dev/null
+++ b/lib/terminfo/v/vt100-nam-w
Binary files differ
diff --git a/lib/terminfo/v/vt100-nav b/lib/terminfo/v/vt100-nav
index 9727f02..4a37659 100644
--- a/lib/terminfo/v/vt100-nav
+++ b/lib/terminfo/v/vt100-nav
Binary files differ
diff --git a/lib/terminfo/v/vt100-nav-w b/lib/terminfo/v/vt100-nav-w
index 851d0a9..9f064a5 100644
--- a/lib/terminfo/v/vt100-nav-w
+++ b/lib/terminfo/v/vt100-nav-w
Binary files differ
diff --git a/lib/terminfo/v/vt100-putty b/lib/terminfo/v/vt100-putty
index 0119c4d..3a977f1 100644
--- a/lib/terminfo/v/vt100-putty
+++ b/lib/terminfo/v/vt100-putty
Binary files differ
diff --git a/lib/terminfo/v/vt100-s b/lib/terminfo/v/vt100-s
index 125b7d6..14bbdd1 100644
--- a/lib/terminfo/v/vt100-s
+++ b/lib/terminfo/v/vt100-s
Binary files differ
diff --git a/lib/terminfo/v/vt100-s-bot b/lib/terminfo/v/vt100-s-bot
index 28940f8..8f420c0 100644
--- a/lib/terminfo/v/vt100-s-bot
+++ b/lib/terminfo/v/vt100-s-bot
Binary files differ
diff --git a/lib/terminfo/v/vt100-s-top b/lib/terminfo/v/vt100-s-top
deleted file mode 120000
index aeb2e27..0000000
--- a/lib/terminfo/v/vt100-s-top
+++ /dev/null
@@ -1 +0,0 @@
-vt100-s
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-s-top b/lib/terminfo/v/vt100-s-top
new file mode 100644
index 0000000..14bbdd1
--- /dev/null
+++ b/lib/terminfo/v/vt100-s-top
Binary files differ
diff --git a/lib/terminfo/v/vt100-top-s b/lib/terminfo/v/vt100-top-s
deleted file mode 120000
index aeb2e27..0000000
--- a/lib/terminfo/v/vt100-top-s
+++ /dev/null
@@ -1 +0,0 @@
-vt100-s
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-top-s b/lib/terminfo/v/vt100-top-s
new file mode 100644
index 0000000..14bbdd1
--- /dev/null
+++ b/lib/terminfo/v/vt100-top-s
Binary files differ
diff --git a/lib/terminfo/v/vt100-vb b/lib/terminfo/v/vt100-vb
index 2ce1694..9e669df 100644
--- a/lib/terminfo/v/vt100-vb
+++ b/lib/terminfo/v/vt100-vb
Binary files differ
diff --git a/lib/terminfo/v/vt100-w b/lib/terminfo/v/vt100-w
index 3096fd0..1a41c3e 100644
--- a/lib/terminfo/v/vt100-w
+++ b/lib/terminfo/v/vt100-w
Binary files differ
diff --git a/lib/terminfo/v/vt100-w-am b/lib/terminfo/v/vt100-w-am
deleted file mode 120000
index 74d35ee..0000000
--- a/lib/terminfo/v/vt100-w-am
+++ /dev/null
@@ -1 +0,0 @@
-vt100-w
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-w-am b/lib/terminfo/v/vt100-w-am
new file mode 100644
index 0000000..1a41c3e
--- /dev/null
+++ b/lib/terminfo/v/vt100-w-am
Binary files differ
diff --git a/lib/terminfo/v/vt100-w-nam b/lib/terminfo/v/vt100-w-nam
index baab94c..27a4027 100644
--- a/lib/terminfo/v/vt100-w-nam
+++ b/lib/terminfo/v/vt100-w-nam
Binary files differ
diff --git a/lib/terminfo/v/vt100-w-nav b/lib/terminfo/v/vt100-w-nav
deleted file mode 120000
index 936e6e1..0000000
--- a/lib/terminfo/v/vt100-w-nav
+++ /dev/null
@@ -1 +0,0 @@
-vt100-nav-w
\ No newline at end of file
diff --git a/lib/terminfo/v/vt100-w-nav b/lib/terminfo/v/vt100-w-nav
new file mode 100644
index 0000000..9f064a5
--- /dev/null
+++ b/lib/terminfo/v/vt100-w-nav
Binary files differ
diff --git a/lib/terminfo/v/vt100nam b/lib/terminfo/v/vt100nam
index 5436528..6cf9e3c 100644
--- a/lib/terminfo/v/vt100nam
+++ b/lib/terminfo/v/vt100nam
Binary files differ
diff --git a/lib/terminfo/v/vt102 b/lib/terminfo/v/vt102
index b9a393c..8b6f13c 100644
--- a/lib/terminfo/v/vt102
+++ b/lib/terminfo/v/vt102
Binary files differ
diff --git a/lib/terminfo/v/vt102+enq b/lib/terminfo/v/vt102+enq
index be5d59d..7b8ac17 100644
--- a/lib/terminfo/v/vt102+enq
+++ b/lib/terminfo/v/vt102+enq
Binary files differ
diff --git a/lib/terminfo/v/vt102-nsgr b/lib/terminfo/v/vt102-nsgr
index 38191d2..212a246 100644
--- a/lib/terminfo/v/vt102-nsgr
+++ b/lib/terminfo/v/vt102-nsgr
Binary files differ
diff --git a/lib/terminfo/v/vt102-w b/lib/terminfo/v/vt102-w
index 687c666..18d8d1b 100644
--- a/lib/terminfo/v/vt102-w
+++ b/lib/terminfo/v/vt102-w
Binary files differ
diff --git a/lib/terminfo/v/vt125 b/lib/terminfo/v/vt125
index 607b5b8..0d3ea75 100644
--- a/lib/terminfo/v/vt125
+++ b/lib/terminfo/v/vt125
Binary files differ
diff --git a/lib/terminfo/v/vt131 b/lib/terminfo/v/vt131
index bfbb4b1..0cedd38 100644
--- a/lib/terminfo/v/vt131
+++ b/lib/terminfo/v/vt131
Binary files differ
diff --git a/lib/terminfo/v/vt132 b/lib/terminfo/v/vt132
index 22e55ef..387ddc1 100644
--- a/lib/terminfo/v/vt132
+++ b/lib/terminfo/v/vt132
Binary files differ
diff --git a/lib/terminfo/v/vt200 b/lib/terminfo/v/vt200
deleted file mode 120000
index a041752..0000000
--- a/lib/terminfo/v/vt200
+++ /dev/null
@@ -1 +0,0 @@
-vt220
\ No newline at end of file
diff --git a/lib/terminfo/v/vt200 b/lib/terminfo/v/vt200
new file mode 100644
index 0000000..dc815fa
--- /dev/null
+++ b/lib/terminfo/v/vt200
Binary files differ
diff --git a/lib/terminfo/v/vt200-8 b/lib/terminfo/v/vt200-8
deleted file mode 120000
index a863ccc..0000000
--- a/lib/terminfo/v/vt200-8
+++ /dev/null
@@ -1 +0,0 @@
-vt220-8bit
\ No newline at end of file
diff --git a/lib/terminfo/v/vt200-8 b/lib/terminfo/v/vt200-8
new file mode 100644
index 0000000..9416803
--- /dev/null
+++ b/lib/terminfo/v/vt200-8
Binary files differ
diff --git a/lib/terminfo/v/vt200-8bit b/lib/terminfo/v/vt200-8bit
deleted file mode 120000
index a863ccc..0000000
--- a/lib/terminfo/v/vt200-8bit
+++ /dev/null
@@ -1 +0,0 @@
-vt220-8bit
\ No newline at end of file
diff --git a/lib/terminfo/v/vt200-8bit b/lib/terminfo/v/vt200-8bit
new file mode 100644
index 0000000..9416803
--- /dev/null
+++ b/lib/terminfo/v/vt200-8bit
Binary files differ
diff --git a/lib/terminfo/v/vt200-js b/lib/terminfo/v/vt200-js
index d4bfca2..94414cc 100644
--- a/lib/terminfo/v/vt200-js
+++ b/lib/terminfo/v/vt200-js
Binary files differ
diff --git a/lib/terminfo/v/vt200-old b/lib/terminfo/v/vt200-old
deleted file mode 120000
index fc66eec..0000000
--- a/lib/terminfo/v/vt200-old
+++ /dev/null
@@ -1 +0,0 @@
-vt220-old
\ No newline at end of file
diff --git a/lib/terminfo/v/vt200-old b/lib/terminfo/v/vt200-old
new file mode 100644
index 0000000..d5c8145
--- /dev/null
+++ b/lib/terminfo/v/vt200-old
Binary files differ
diff --git a/lib/terminfo/v/vt200-w b/lib/terminfo/v/vt200-w
deleted file mode 120000
index 03ec35b..0000000
--- a/lib/terminfo/v/vt200-w
+++ /dev/null
@@ -1 +0,0 @@
-vt220-w
\ No newline at end of file
diff --git a/lib/terminfo/v/vt200-w b/lib/terminfo/v/vt200-w
new file mode 100644
index 0000000..57e1c50
--- /dev/null
+++ b/lib/terminfo/v/vt200-w
Binary files differ
diff --git a/lib/terminfo/v/vt220 b/lib/terminfo/v/vt220
index 36a6e2f..dc815fa 100644
--- a/lib/terminfo/v/vt220
+++ b/lib/terminfo/v/vt220
Binary files differ
diff --git a/lib/terminfo/v/vt220+cvis b/lib/terminfo/v/vt220+cvis
new file mode 100644
index 0000000..05756c2
--- /dev/null
+++ b/lib/terminfo/v/vt220+cvis
Binary files differ
diff --git a/lib/terminfo/v/vt220+cvis8 b/lib/terminfo/v/vt220+cvis8
new file mode 100644
index 0000000..9cd7b40
--- /dev/null
+++ b/lib/terminfo/v/vt220+cvis8
Binary files differ
diff --git a/lib/terminfo/v/vt220+keypad b/lib/terminfo/v/vt220+keypad
index 5bca90a..9505b19 100644
--- a/lib/terminfo/v/vt220+keypad
+++ b/lib/terminfo/v/vt220+keypad
Binary files differ
diff --git a/lib/terminfo/v/vt220+pcedit b/lib/terminfo/v/vt220+pcedit
new file mode 100644
index 0000000..bd0d1c3
--- /dev/null
+++ b/lib/terminfo/v/vt220+pcedit
Binary files differ
diff --git a/lib/terminfo/v/vt220+vtedit b/lib/terminfo/v/vt220+vtedit
new file mode 100644
index 0000000..047924c
--- /dev/null
+++ b/lib/terminfo/v/vt220+vtedit
Binary files differ
diff --git a/lib/terminfo/v/vt220-8 b/lib/terminfo/v/vt220-8
deleted file mode 120000
index a863ccc..0000000
--- a/lib/terminfo/v/vt220-8
+++ /dev/null
@@ -1 +0,0 @@
-vt220-8bit
\ No newline at end of file
diff --git a/lib/terminfo/v/vt220-8 b/lib/terminfo/v/vt220-8
new file mode 100644
index 0000000..9416803
--- /dev/null
+++ b/lib/terminfo/v/vt220-8
Binary files differ
diff --git a/lib/terminfo/v/vt220-8bit b/lib/terminfo/v/vt220-8bit
index 677d81f..9416803 100644
--- a/lib/terminfo/v/vt220-8bit
+++ b/lib/terminfo/v/vt220-8bit
Binary files differ
diff --git a/lib/terminfo/v/vt220-base b/lib/terminfo/v/vt220-base
new file mode 100644
index 0000000..3228262
--- /dev/null
+++ b/lib/terminfo/v/vt220-base
Binary files differ
diff --git a/lib/terminfo/v/vt220-js b/lib/terminfo/v/vt220-js
deleted file mode 120000
index 664941c..0000000
--- a/lib/terminfo/v/vt220-js
+++ /dev/null
@@ -1 +0,0 @@
-vt200-js
\ No newline at end of file
diff --git a/lib/terminfo/v/vt220-js b/lib/terminfo/v/vt220-js
new file mode 100644
index 0000000..94414cc
--- /dev/null
+++ b/lib/terminfo/v/vt220-js
Binary files differ
diff --git a/lib/terminfo/v/vt220-nam b/lib/terminfo/v/vt220-nam
index 43c95fa..adf00b2 100644
--- a/lib/terminfo/v/vt220-nam
+++ b/lib/terminfo/v/vt220-nam
Binary files differ
diff --git a/lib/terminfo/v/vt220-old b/lib/terminfo/v/vt220-old
index f9edb26..d5c8145 100644
--- a/lib/terminfo/v/vt220-old
+++ b/lib/terminfo/v/vt220-old
Binary files differ
diff --git a/lib/terminfo/v/vt220-w b/lib/terminfo/v/vt220-w
index 3dafb2d..57e1c50 100644
--- a/lib/terminfo/v/vt220-w
+++ b/lib/terminfo/v/vt220-w
Binary files differ
diff --git a/lib/terminfo/v/vt220d b/lib/terminfo/v/vt220d
index 55f8bc6..fefb77a 100644
--- a/lib/terminfo/v/vt220d
+++ b/lib/terminfo/v/vt220d
Binary files differ
diff --git a/lib/terminfo/v/vt300 b/lib/terminfo/v/vt300
deleted file mode 120000
index ef0f8ad..0000000
--- a/lib/terminfo/v/vt300
+++ /dev/null
@@ -1 +0,0 @@
-vt320
\ No newline at end of file
diff --git a/lib/terminfo/v/vt300 b/lib/terminfo/v/vt300
new file mode 100644
index 0000000..55e7f36
--- /dev/null
+++ b/lib/terminfo/v/vt300
Binary files differ
diff --git a/lib/terminfo/v/vt300-nam b/lib/terminfo/v/vt300-nam
deleted file mode 120000
index 7bd72ad..0000000
--- a/lib/terminfo/v/vt300-nam
+++ /dev/null
@@ -1 +0,0 @@
-vt320-nam
\ No newline at end of file
diff --git a/lib/terminfo/v/vt300-nam b/lib/terminfo/v/vt300-nam
new file mode 100644
index 0000000..1242f5d
--- /dev/null
+++ b/lib/terminfo/v/vt300-nam
Binary files differ
diff --git a/lib/terminfo/v/vt300-w b/lib/terminfo/v/vt300-w
deleted file mode 120000
index 422e8ee..0000000
--- a/lib/terminfo/v/vt300-w
+++ /dev/null
@@ -1 +0,0 @@
-vt320-w
\ No newline at end of file
diff --git a/lib/terminfo/v/vt300-w b/lib/terminfo/v/vt300-w
new file mode 100644
index 0000000..f743f65
--- /dev/null
+++ b/lib/terminfo/v/vt300-w
Binary files differ
diff --git a/lib/terminfo/v/vt300-w-nam b/lib/terminfo/v/vt300-w-nam
deleted file mode 120000
index 5ff5b6d..0000000
--- a/lib/terminfo/v/vt300-w-nam
+++ /dev/null
@@ -1 +0,0 @@
-vt320-w-nam
\ No newline at end of file
diff --git a/lib/terminfo/v/vt300-w-nam b/lib/terminfo/v/vt300-w-nam
new file mode 100644
index 0000000..014973b
--- /dev/null
+++ b/lib/terminfo/v/vt300-w-nam
Binary files differ
diff --git a/lib/terminfo/v/vt320 b/lib/terminfo/v/vt320
index 0d13b2e..55e7f36 100644
--- a/lib/terminfo/v/vt320
+++ b/lib/terminfo/v/vt320
Binary files differ
diff --git a/lib/terminfo/v/vt320-k3 b/lib/terminfo/v/vt320-k3
index aef0d8b..84baf10 100644
--- a/lib/terminfo/v/vt320-k3
+++ b/lib/terminfo/v/vt320-k3
Binary files differ
diff --git a/lib/terminfo/v/vt320-k311 b/lib/terminfo/v/vt320-k311
index cf8d67e..0633f4d 100644
--- a/lib/terminfo/v/vt320-k311
+++ b/lib/terminfo/v/vt320-k311
Binary files differ
diff --git a/lib/terminfo/v/vt320-nam b/lib/terminfo/v/vt320-nam
index df58c23..1242f5d 100644
--- a/lib/terminfo/v/vt320-nam
+++ b/lib/terminfo/v/vt320-nam
Binary files differ
diff --git a/lib/terminfo/v/vt320-w b/lib/terminfo/v/vt320-w
index f023269..f743f65 100644
--- a/lib/terminfo/v/vt320-w
+++ b/lib/terminfo/v/vt320-w
Binary files differ
diff --git a/lib/terminfo/v/vt320-w-nam b/lib/terminfo/v/vt320-w-nam
index 0bf1d4a..014973b 100644
--- a/lib/terminfo/v/vt320-w-nam
+++ b/lib/terminfo/v/vt320-w-nam
Binary files differ
diff --git a/lib/terminfo/v/vt320nam b/lib/terminfo/v/vt320nam
index 37bfb77..d11541d 100644
--- a/lib/terminfo/v/vt320nam
+++ b/lib/terminfo/v/vt320nam
Binary files differ
diff --git a/lib/terminfo/v/vt330 b/lib/terminfo/v/vt330
deleted file mode 120000
index 7e22a18..0000000
--- a/lib/terminfo/v/vt330
+++ /dev/null
@@ -1 +0,0 @@
-vt340
\ No newline at end of file
diff --git a/lib/terminfo/v/vt330 b/lib/terminfo/v/vt330
new file mode 100644
index 0000000..32b9542
--- /dev/null
+++ b/lib/terminfo/v/vt330
Binary files differ
diff --git a/lib/terminfo/v/vt340 b/lib/terminfo/v/vt340
index 001d48e..32b9542 100644
--- a/lib/terminfo/v/vt340
+++ b/lib/terminfo/v/vt340
Binary files differ
diff --git a/lib/terminfo/v/vt400 b/lib/terminfo/v/vt400
index 0923142..888453e 100644
--- a/lib/terminfo/v/vt400
+++ b/lib/terminfo/v/vt400
Binary files differ
diff --git a/lib/terminfo/v/vt400-24 b/lib/terminfo/v/vt400-24
deleted file mode 120000
index ece3c79..0000000
--- a/lib/terminfo/v/vt400-24
+++ /dev/null
@@ -1 +0,0 @@
-vt400
\ No newline at end of file
diff --git a/lib/terminfo/v/vt400-24 b/lib/terminfo/v/vt400-24
new file mode 100644
index 0000000..888453e
--- /dev/null
+++ b/lib/terminfo/v/vt400-24
Binary files differ
diff --git a/lib/terminfo/v/vt420 b/lib/terminfo/v/vt420
index 8cda48e..b62b28d 100644
--- a/lib/terminfo/v/vt420
+++ b/lib/terminfo/v/vt420
Binary files differ
diff --git a/lib/terminfo/v/vt420+lrmm b/lib/terminfo/v/vt420+lrmm
new file mode 100644
index 0000000..3ed9d34
--- /dev/null
+++ b/lib/terminfo/v/vt420+lrmm
Binary files differ
diff --git a/lib/terminfo/v/vt420f b/lib/terminfo/v/vt420f
index 8b3e569..238b551 100644
--- a/lib/terminfo/v/vt420f
+++ b/lib/terminfo/v/vt420f
Binary files differ
diff --git a/lib/terminfo/v/vt420pc b/lib/terminfo/v/vt420pc
index 519693d..befee0f 100644
--- a/lib/terminfo/v/vt420pc
+++ b/lib/terminfo/v/vt420pc
Binary files differ
diff --git a/lib/terminfo/v/vt420pcdos b/lib/terminfo/v/vt420pcdos
index 43e8d9f..e86f23e 100644
--- a/lib/terminfo/v/vt420pcdos
+++ b/lib/terminfo/v/vt420pcdos
Binary files differ
diff --git a/lib/terminfo/v/vt50 b/lib/terminfo/v/vt50
index 957dad1..65ef645 100644
--- a/lib/terminfo/v/vt50
+++ b/lib/terminfo/v/vt50
Binary files differ
diff --git a/lib/terminfo/v/vt50h b/lib/terminfo/v/vt50h
index b9bb9a2..e85ea38 100644
--- a/lib/terminfo/v/vt50h
+++ b/lib/terminfo/v/vt50h
Binary files differ
diff --git a/lib/terminfo/v/vt510 b/lib/terminfo/v/vt510
index 170b67b..f42d459 100644
--- a/lib/terminfo/v/vt510
+++ b/lib/terminfo/v/vt510
Binary files differ
diff --git a/lib/terminfo/v/vt510pc b/lib/terminfo/v/vt510pc
index 1e3a747..7ac6358 100644
--- a/lib/terminfo/v/vt510pc
+++ b/lib/terminfo/v/vt510pc
Binary files differ
diff --git a/lib/terminfo/v/vt510pcdos b/lib/terminfo/v/vt510pcdos
index e392728..7047b42 100644
--- a/lib/terminfo/v/vt510pcdos
+++ b/lib/terminfo/v/vt510pcdos
Binary files differ
diff --git a/lib/terminfo/v/vt52 b/lib/terminfo/v/vt52
index 8137caf..83f3797 100644
--- a/lib/terminfo/v/vt52
+++ b/lib/terminfo/v/vt52
Binary files differ
diff --git a/lib/terminfo/v/vt52+arrows b/lib/terminfo/v/vt52+arrows
new file mode 100644
index 0000000..93ba6d3
--- /dev/null
+++ b/lib/terminfo/v/vt52+arrows
Binary files differ
diff --git a/lib/terminfo/v/vt52+keypad b/lib/terminfo/v/vt52+keypad
new file mode 100644
index 0000000..7f4779e
--- /dev/null
+++ b/lib/terminfo/v/vt52+keypad
Binary files differ
diff --git a/lib/terminfo/v/vt52-basic b/lib/terminfo/v/vt52-basic
new file mode 100644
index 0000000..06d5cb6
--- /dev/null
+++ b/lib/terminfo/v/vt52-basic
Binary files differ
diff --git a/lib/terminfo/v/vt520 b/lib/terminfo/v/vt520
index 4884a2e..2fdf64a 100644
--- a/lib/terminfo/v/vt520
+++ b/lib/terminfo/v/vt520
Binary files differ
diff --git a/lib/terminfo/v/vt520ansi b/lib/terminfo/v/vt520ansi
index e91261a..aec7ebd 100644
--- a/lib/terminfo/v/vt520ansi
+++ b/lib/terminfo/v/vt520ansi
Binary files differ
diff --git a/lib/terminfo/v/vt525 b/lib/terminfo/v/vt525
index 872f841..3a9d52d 100644
--- a/lib/terminfo/v/vt525
+++ b/lib/terminfo/v/vt525
Binary files differ
diff --git a/lib/terminfo/v/vt61 b/lib/terminfo/v/vt61
index 24b60b3..820ce7d 100644
--- a/lib/terminfo/v/vt61
+++ b/lib/terminfo/v/vt61
Binary files differ
diff --git a/lib/terminfo/v/vt61.5 b/lib/terminfo/v/vt61.5
deleted file mode 120000
index f2b43eb..0000000
--- a/lib/terminfo/v/vt61.5
+++ /dev/null
@@ -1 +0,0 @@
-vt61
\ No newline at end of file
diff --git a/lib/terminfo/v/vt61.5 b/lib/terminfo/v/vt61.5
new file mode 100644
index 0000000..820ce7d
--- /dev/null
+++ b/lib/terminfo/v/vt61.5
Binary files differ
diff --git a/lib/terminfo/v/vte b/lib/terminfo/v/vte
index c2881cb..512f511 100644
--- a/lib/terminfo/v/vte
+++ b/lib/terminfo/v/vte
Binary files differ
diff --git a/lib/terminfo/v/vte+pcfkeys b/lib/terminfo/v/vte+pcfkeys
index c87fd34..b95257a 100644
--- a/lib/terminfo/v/vte+pcfkeys
+++ b/lib/terminfo/v/vte+pcfkeys
Binary files differ
diff --git a/lib/terminfo/v/vte-2007 b/lib/terminfo/v/vte-2007
index 845dd7d..40b7c76 100644
--- a/lib/terminfo/v/vte-2007
+++ b/lib/terminfo/v/vte-2007
Binary files differ
diff --git a/lib/terminfo/v/vte-2008 b/lib/terminfo/v/vte-2008
index f88aa40..d7b9011 100644
--- a/lib/terminfo/v/vte-2008
+++ b/lib/terminfo/v/vte-2008
Binary files differ
diff --git a/lib/terminfo/v/vte-2012 b/lib/terminfo/v/vte-2012
index c758145..a71384b 100644
--- a/lib/terminfo/v/vte-2012
+++ b/lib/terminfo/v/vte-2012
Binary files differ
diff --git a/lib/terminfo/v/vte-2014 b/lib/terminfo/v/vte-2014
index 7ab3c0c..30d5442 100644
--- a/lib/terminfo/v/vte-2014
+++ b/lib/terminfo/v/vte-2014
Binary files differ
diff --git a/lib/terminfo/v/vte-2017 b/lib/terminfo/v/vte-2017
new file mode 100644
index 0000000..a87d28c
--- /dev/null
+++ b/lib/terminfo/v/vte-2017
Binary files differ
diff --git a/lib/terminfo/v/vte-2018 b/lib/terminfo/v/vte-2018
new file mode 100644
index 0000000..898de8c
--- /dev/null
+++ b/lib/terminfo/v/vte-2018
Binary files differ
diff --git a/lib/terminfo/v/vte-256color b/lib/terminfo/v/vte-256color
index d092a93..b252b8c 100644
--- a/lib/terminfo/v/vte-256color
+++ b/lib/terminfo/v/vte-256color
Binary files differ
diff --git a/lib/terminfo/v/vte-direct b/lib/terminfo/v/vte-direct
new file mode 100644
index 0000000..4f3dbd4
--- /dev/null
+++ b/lib/terminfo/v/vte-direct
Binary files differ
diff --git a/lib/terminfo/v/vtnt b/lib/terminfo/v/vtnt
deleted file mode 120000
index 2dab102..0000000
--- a/lib/terminfo/v/vtnt
+++ /dev/null
@@ -1 +0,0 @@
-../m/ms-vt100-color
\ No newline at end of file
diff --git a/lib/terminfo/v/vtnt b/lib/terminfo/v/vtnt
new file mode 100644
index 0000000..da37677
--- /dev/null
+++ b/lib/terminfo/v/vtnt
Binary files differ
diff --git a/lib/terminfo/v/vv100 b/lib/terminfo/v/vv100
deleted file mode 120000
index 7c3ab24..0000000
--- a/lib/terminfo/v/vv100
+++ /dev/null
@@ -1 +0,0 @@
-../m/mvterm
\ No newline at end of file
diff --git a/lib/terminfo/v/vv100 b/lib/terminfo/v/vv100
new file mode 100644
index 0000000..60f5cde
--- /dev/null
+++ b/lib/terminfo/v/vv100
Binary files differ
diff --git a/lib/terminfo/v/vwmterm b/lib/terminfo/v/vwmterm
index 72e2195..1800896 100644
--- a/lib/terminfo/v/vwmterm
+++ b/lib/terminfo/v/vwmterm
Binary files differ
diff --git a/lib/terminfo/w/wezterm b/lib/terminfo/w/wezterm
new file mode 100644
index 0000000..dc0e78a
--- /dev/null
+++ b/lib/terminfo/w/wezterm
Binary files differ
diff --git a/lib/terminfo/w/winconsole b/lib/terminfo/w/winconsole
new file mode 100644
index 0000000..3fdf926
--- /dev/null
+++ b/lib/terminfo/w/winconsole
Binary files differ
diff --git a/lib/terminfo/w/wren b/lib/terminfo/w/wren
deleted file mode 120000
index 88bd37a..0000000
--- a/lib/terminfo/w/wren
+++ /dev/null
@@ -1 +0,0 @@
-../p/pt100
\ No newline at end of file
diff --git a/lib/terminfo/w/wren b/lib/terminfo/w/wren
new file mode 100644
index 0000000..cf224e6
--- /dev/null
+++ b/lib/terminfo/w/wren
Binary files differ
diff --git a/lib/terminfo/w/wrenw b/lib/terminfo/w/wrenw
deleted file mode 120000
index 98d0f71..0000000
--- a/lib/terminfo/w/wrenw
+++ /dev/null
@@ -1 +0,0 @@
-../p/pt100w
\ No newline at end of file
diff --git a/lib/terminfo/w/wrenw b/lib/terminfo/w/wrenw
new file mode 100644
index 0000000..1f73e34
--- /dev/null
+++ b/lib/terminfo/w/wrenw
Binary files differ
diff --git a/lib/terminfo/w/wsiris b/lib/terminfo/w/wsiris
index b9f798e..f9aeabd 100644
--- a/lib/terminfo/w/wsiris
+++ b/lib/terminfo/w/wsiris
Binary files differ
diff --git a/lib/terminfo/w/wsvt25 b/lib/terminfo/w/wsvt25
index 29a825e..41af920 100644
--- a/lib/terminfo/w/wsvt25
+++ b/lib/terminfo/w/wsvt25
Binary files differ
diff --git a/lib/terminfo/w/wsvt25m b/lib/terminfo/w/wsvt25m
index d95ae91..f34cef6 100644
--- a/lib/terminfo/w/wsvt25m
+++ b/lib/terminfo/w/wsvt25m
Binary files differ
diff --git a/lib/terminfo/w/wy-75ap b/lib/terminfo/w/wy-75ap
deleted file mode 120000
index a4f90e3..0000000
--- a/lib/terminfo/w/wy-75ap
+++ /dev/null
@@ -1 +0,0 @@
-wy75ap
\ No newline at end of file
diff --git a/lib/terminfo/w/wy-75ap b/lib/terminfo/w/wy-75ap
new file mode 100644
index 0000000..9c893d7
--- /dev/null
+++ b/lib/terminfo/w/wy-75ap
Binary files differ
diff --git a/lib/terminfo/w/wy-99fgt b/lib/terminfo/w/wy-99fgt
deleted file mode 120000
index 0108c25..0000000
--- a/lib/terminfo/w/wy-99fgt
+++ /dev/null
@@ -1 +0,0 @@
-wy99f
\ No newline at end of file
diff --git a/lib/terminfo/w/wy-99fgt b/lib/terminfo/w/wy-99fgt
new file mode 100644
index 0000000..77f435a
--- /dev/null
+++ b/lib/terminfo/w/wy-99fgt
Binary files differ
diff --git a/lib/terminfo/w/wy-99fgta b/lib/terminfo/w/wy-99fgta
deleted file mode 120000
index 084a0f1..0000000
--- a/lib/terminfo/w/wy-99fgta
+++ /dev/null
@@ -1 +0,0 @@
-wy99fa
\ No newline at end of file
diff --git a/lib/terminfo/w/wy-99fgta b/lib/terminfo/w/wy-99fgta
new file mode 100644
index 0000000..6cf0920
--- /dev/null
+++ b/lib/terminfo/w/wy-99fgta
Binary files differ
diff --git a/lib/terminfo/w/wy100 b/lib/terminfo/w/wy100
index b88dc59..ffea5e1 100644
--- a/lib/terminfo/w/wy100
+++ b/lib/terminfo/w/wy100
Binary files differ
diff --git a/lib/terminfo/w/wy120-25 b/lib/terminfo/w/wy120-25
index 596a572..fec1a36 100644
--- a/lib/terminfo/w/wy120-25
+++ b/lib/terminfo/w/wy120-25
Binary files differ
diff --git a/lib/terminfo/w/wy120-25-w b/lib/terminfo/w/wy120-25-w
index 2b0d92c..c6a2ca4 100644
--- a/lib/terminfo/w/wy120-25-w
+++ b/lib/terminfo/w/wy120-25-w
Binary files differ
diff --git a/lib/terminfo/w/wy120-w b/lib/terminfo/w/wy120-w
index 193658e..386bc55 100644
--- a/lib/terminfo/w/wy120-w
+++ b/lib/terminfo/w/wy120-w
Binary files differ
diff --git a/lib/terminfo/w/wy120-wvb b/lib/terminfo/w/wy120-wvb
deleted file mode 120000
index cf1e87c..0000000
--- a/lib/terminfo/w/wy120-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy120-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy120-wvb b/lib/terminfo/w/wy120-wvb
new file mode 100644
index 0000000..c763cf0
--- /dev/null
+++ b/lib/terminfo/w/wy120-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy150 b/lib/terminfo/w/wy150
deleted file mode 120000
index 4d10bdd..0000000
--- a/lib/terminfo/w/wy150
+++ /dev/null
@@ -1 +0,0 @@
-wy120
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150 b/lib/terminfo/w/wy150
new file mode 100644
index 0000000..9fae306
--- /dev/null
+++ b/lib/terminfo/w/wy150
Binary files differ
diff --git a/lib/terminfo/w/wy150-25 b/lib/terminfo/w/wy150-25
deleted file mode 120000
index 2689084..0000000
--- a/lib/terminfo/w/wy150-25
+++ /dev/null
@@ -1 +0,0 @@
-wy120-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150-25 b/lib/terminfo/w/wy150-25
new file mode 100644
index 0000000..fec1a36
--- /dev/null
+++ b/lib/terminfo/w/wy150-25
Binary files differ
diff --git a/lib/terminfo/w/wy150-25-w b/lib/terminfo/w/wy150-25-w
deleted file mode 120000
index a5a5e5b..0000000
--- a/lib/terminfo/w/wy150-25-w
+++ /dev/null
@@ -1 +0,0 @@
-wy120-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150-25-w b/lib/terminfo/w/wy150-25-w
new file mode 100644
index 0000000..c6a2ca4
--- /dev/null
+++ b/lib/terminfo/w/wy150-25-w
Binary files differ
diff --git a/lib/terminfo/w/wy150-vb b/lib/terminfo/w/wy150-vb
deleted file mode 120000
index 2911c5a..0000000
--- a/lib/terminfo/w/wy150-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy120-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150-vb b/lib/terminfo/w/wy150-vb
new file mode 100644
index 0000000..a1f3f0f
--- /dev/null
+++ b/lib/terminfo/w/wy150-vb
Binary files differ
diff --git a/lib/terminfo/w/wy150-w b/lib/terminfo/w/wy150-w
deleted file mode 120000
index ba988d3..0000000
--- a/lib/terminfo/w/wy150-w
+++ /dev/null
@@ -1 +0,0 @@
-wy120-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150-w b/lib/terminfo/w/wy150-w
new file mode 100644
index 0000000..386bc55
--- /dev/null
+++ b/lib/terminfo/w/wy150-w
Binary files differ
diff --git a/lib/terminfo/w/wy150-w-vb b/lib/terminfo/w/wy150-w-vb
deleted file mode 120000
index cf1e87c..0000000
--- a/lib/terminfo/w/wy150-w-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy120-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy150-w-vb b/lib/terminfo/w/wy150-w-vb
new file mode 100644
index 0000000..c763cf0
--- /dev/null
+++ b/lib/terminfo/w/wy150-w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy160-25 b/lib/terminfo/w/wy160-25
index ded7c5b..a23506c 100644
--- a/lib/terminfo/w/wy160-25
+++ b/lib/terminfo/w/wy160-25
Binary files differ
diff --git a/lib/terminfo/w/wy160-25-w b/lib/terminfo/w/wy160-25-w
index 9c1792b..a2ba401 100644
--- a/lib/terminfo/w/wy160-25-w
+++ b/lib/terminfo/w/wy160-25-w
Binary files differ
diff --git a/lib/terminfo/w/wy160-42 b/lib/terminfo/w/wy160-42
index 4addf2b..3a43719 100644
--- a/lib/terminfo/w/wy160-42
+++ b/lib/terminfo/w/wy160-42
Binary files differ
diff --git a/lib/terminfo/w/wy160-42-w b/lib/terminfo/w/wy160-42-w
index 8501091..337e845 100644
--- a/lib/terminfo/w/wy160-42-w
+++ b/lib/terminfo/w/wy160-42-w
Binary files differ
diff --git a/lib/terminfo/w/wy160-43 b/lib/terminfo/w/wy160-43
index a4b34a5..fda295a 100644
--- a/lib/terminfo/w/wy160-43
+++ b/lib/terminfo/w/wy160-43
Binary files differ
diff --git a/lib/terminfo/w/wy160-43-w b/lib/terminfo/w/wy160-43-w
index b7f2996..2e9bc4e 100644
--- a/lib/terminfo/w/wy160-43-w
+++ b/lib/terminfo/w/wy160-43-w
Binary files differ
diff --git a/lib/terminfo/w/wy160-w b/lib/terminfo/w/wy160-w
index b732b0e..dc73488 100644
--- a/lib/terminfo/w/wy160-w
+++ b/lib/terminfo/w/wy160-w
Binary files differ
diff --git a/lib/terminfo/w/wy160-wvb b/lib/terminfo/w/wy160-wvb
deleted file mode 120000
index 9fe7041..0000000
--- a/lib/terminfo/w/wy160-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy160-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy160-wvb b/lib/terminfo/w/wy160-wvb
new file mode 100644
index 0000000..89f7faf
--- /dev/null
+++ b/lib/terminfo/w/wy160-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy185 b/lib/terminfo/w/wy185
index 026458a..42001ac 100644
--- a/lib/terminfo/w/wy185
+++ b/lib/terminfo/w/wy185
Binary files differ
diff --git a/lib/terminfo/w/wy185-24 b/lib/terminfo/w/wy185-24
index a0c57cf..fb87997 100644
--- a/lib/terminfo/w/wy185-24
+++ b/lib/terminfo/w/wy185-24
Binary files differ
diff --git a/lib/terminfo/w/wy185-vb b/lib/terminfo/w/wy185-vb
index 76a09a4..452a68a 100644
--- a/lib/terminfo/w/wy185-vb
+++ b/lib/terminfo/w/wy185-vb
Binary files differ
diff --git a/lib/terminfo/w/wy185-w b/lib/terminfo/w/wy185-w
index a948678..b3b9882 100644
--- a/lib/terminfo/w/wy185-w
+++ b/lib/terminfo/w/wy185-w
Binary files differ
diff --git a/lib/terminfo/w/wy185-wvb b/lib/terminfo/w/wy185-wvb
index c97f093..d7bd0b4 100644
--- a/lib/terminfo/w/wy185-wvb
+++ b/lib/terminfo/w/wy185-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy30-mc b/lib/terminfo/w/wy30-mc
index 33e4bd1..cdf6b65 100644
--- a/lib/terminfo/w/wy30-mc
+++ b/lib/terminfo/w/wy30-mc
Binary files differ
diff --git a/lib/terminfo/w/wy30-vb b/lib/terminfo/w/wy30-vb
index 5d92a35..164cf07 100644
--- a/lib/terminfo/w/wy30-vb
+++ b/lib/terminfo/w/wy30-vb
Binary files differ
diff --git a/lib/terminfo/w/wy325-25 b/lib/terminfo/w/wy325-25
index 33ad854..834faf3 100644
--- a/lib/terminfo/w/wy325-25
+++ b/lib/terminfo/w/wy325-25
Binary files differ
diff --git a/lib/terminfo/w/wy325-25w b/lib/terminfo/w/wy325-25w
index a0feea7..03b3fa9 100644
--- a/lib/terminfo/w/wy325-25w
+++ b/lib/terminfo/w/wy325-25w
Binary files differ
diff --git a/lib/terminfo/w/wy325-42 b/lib/terminfo/w/wy325-42
index 02f6733..7e043b6 100644
--- a/lib/terminfo/w/wy325-42
+++ b/lib/terminfo/w/wy325-42
Binary files differ
diff --git a/lib/terminfo/w/wy325-42w b/lib/terminfo/w/wy325-42w
index 1a0a594..0ae7c77 100644
--- a/lib/terminfo/w/wy325-42w
+++ b/lib/terminfo/w/wy325-42w
Binary files differ
diff --git a/lib/terminfo/w/wy325-42w-vb b/lib/terminfo/w/wy325-42w-vb
index 58a7fda..0c86933 100644
--- a/lib/terminfo/w/wy325-42w-vb
+++ b/lib/terminfo/w/wy325-42w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy325-42wvb b/lib/terminfo/w/wy325-42wvb
deleted file mode 120000
index 98ce4b7..0000000
--- a/lib/terminfo/w/wy325-42wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy325-42w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy325-42wvb b/lib/terminfo/w/wy325-42wvb
new file mode 100644
index 0000000..0c86933
--- /dev/null
+++ b/lib/terminfo/w/wy325-42wvb
Binary files differ
diff --git a/lib/terminfo/w/wy325-43 b/lib/terminfo/w/wy325-43
index 9bacd73..d1cfdeb 100644
--- a/lib/terminfo/w/wy325-43
+++ b/lib/terminfo/w/wy325-43
Binary files differ
diff --git a/lib/terminfo/w/wy325-43w b/lib/terminfo/w/wy325-43w
index fb404ed..f66668b 100644
--- a/lib/terminfo/w/wy325-43w
+++ b/lib/terminfo/w/wy325-43w
Binary files differ
diff --git a/lib/terminfo/w/wy325-43w-vb b/lib/terminfo/w/wy325-43w-vb
index 28271d9..c3d564f 100644
--- a/lib/terminfo/w/wy325-43w-vb
+++ b/lib/terminfo/w/wy325-43w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy325-43wvb b/lib/terminfo/w/wy325-43wvb
deleted file mode 120000
index a5e9ed2..0000000
--- a/lib/terminfo/w/wy325-43wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy325-43w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy325-43wvb b/lib/terminfo/w/wy325-43wvb
new file mode 100644
index 0000000..c3d564f
--- /dev/null
+++ b/lib/terminfo/w/wy325-43wvb
Binary files differ
diff --git a/lib/terminfo/w/wy325-80 b/lib/terminfo/w/wy325-80
deleted file mode 120000
index 3e704d8..0000000
--- a/lib/terminfo/w/wy325-80
+++ /dev/null
@@ -1 +0,0 @@
-wy325-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wy325-80 b/lib/terminfo/w/wy325-80
new file mode 100644
index 0000000..834faf3
--- /dev/null
+++ b/lib/terminfo/w/wy325-80
Binary files differ
diff --git a/lib/terminfo/w/wy325-vb b/lib/terminfo/w/wy325-vb
index 9d8e96a..009b8cd 100644
--- a/lib/terminfo/w/wy325-vb
+++ b/lib/terminfo/w/wy325-vb
Binary files differ
diff --git a/lib/terminfo/w/wy325-w b/lib/terminfo/w/wy325-w
index ca9467e..0092078 100644
--- a/lib/terminfo/w/wy325-w
+++ b/lib/terminfo/w/wy325-w
Binary files differ
diff --git a/lib/terminfo/w/wy325-w-vb b/lib/terminfo/w/wy325-w-vb
index a6bc0f2..77a7a60 100644
--- a/lib/terminfo/w/wy325-w-vb
+++ b/lib/terminfo/w/wy325-w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy325-wvb b/lib/terminfo/w/wy325-wvb
deleted file mode 120000
index ca3febb..0000000
--- a/lib/terminfo/w/wy325-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy325-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy325-wvb b/lib/terminfo/w/wy325-wvb
new file mode 100644
index 0000000..77a7a60
--- /dev/null
+++ b/lib/terminfo/w/wy325-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy325w-24 b/lib/terminfo/w/wy325w-24
deleted file mode 120000
index f2946cd..0000000
--- a/lib/terminfo/w/wy325w-24
+++ /dev/null
@@ -1 +0,0 @@
-wy325-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wy325w-24 b/lib/terminfo/w/wy325w-24
new file mode 100644
index 0000000..0092078
--- /dev/null
+++ b/lib/terminfo/w/wy325w-24
Binary files differ
diff --git a/lib/terminfo/w/wy350-vb b/lib/terminfo/w/wy350-vb
index 2e92bb6..893e2cd 100644
--- a/lib/terminfo/w/wy350-vb
+++ b/lib/terminfo/w/wy350-vb
Binary files differ
diff --git a/lib/terminfo/w/wy350-w b/lib/terminfo/w/wy350-w
index e18c20a..a3cf4b8 100644
--- a/lib/terminfo/w/wy350-w
+++ b/lib/terminfo/w/wy350-w
Binary files differ
diff --git a/lib/terminfo/w/wy350-wvb b/lib/terminfo/w/wy350-wvb
index 9a1270a..42e5c98 100644
--- a/lib/terminfo/w/wy350-wvb
+++ b/lib/terminfo/w/wy350-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy370 b/lib/terminfo/w/wy370
index eedf0a9..e06fdc1 100644
--- a/lib/terminfo/w/wy370
+++ b/lib/terminfo/w/wy370
Binary files differ
diff --git a/lib/terminfo/w/wy370-101k b/lib/terminfo/w/wy370-101k
deleted file mode 120000
index 6d86067..0000000
--- a/lib/terminfo/w/wy370-101k
+++ /dev/null
@@ -1 +0,0 @@
-wy370
\ No newline at end of file
diff --git a/lib/terminfo/w/wy370-101k b/lib/terminfo/w/wy370-101k
new file mode 100644
index 0000000..e06fdc1
--- /dev/null
+++ b/lib/terminfo/w/wy370-101k
Binary files differ
diff --git a/lib/terminfo/w/wy370-105k b/lib/terminfo/w/wy370-105k
index 1d5c95b..a187e71 100644
--- a/lib/terminfo/w/wy370-105k
+++ b/lib/terminfo/w/wy370-105k
Binary files differ
diff --git a/lib/terminfo/w/wy370-EPC b/lib/terminfo/w/wy370-EPC
index 6f0f3f8..06febe4 100644
--- a/lib/terminfo/w/wy370-EPC
+++ b/lib/terminfo/w/wy370-EPC
Binary files differ
diff --git a/lib/terminfo/w/wy370-nk b/lib/terminfo/w/wy370-nk
index 91c85ea..c5ca323 100644
--- a/lib/terminfo/w/wy370-nk
+++ b/lib/terminfo/w/wy370-nk
Binary files differ
diff --git a/lib/terminfo/w/wy370-rv b/lib/terminfo/w/wy370-rv
index 08f3b23..7a25216 100644
--- a/lib/terminfo/w/wy370-rv
+++ b/lib/terminfo/w/wy370-rv
Binary files differ
diff --git a/lib/terminfo/w/wy370-vb b/lib/terminfo/w/wy370-vb
index 03acd55..4482e8c 100644
--- a/lib/terminfo/w/wy370-vb
+++ b/lib/terminfo/w/wy370-vb
Binary files differ
diff --git a/lib/terminfo/w/wy370-w b/lib/terminfo/w/wy370-w
index 77754f8..2e1b993 100644
--- a/lib/terminfo/w/wy370-w
+++ b/lib/terminfo/w/wy370-w
Binary files differ
diff --git a/lib/terminfo/w/wy370-wvb b/lib/terminfo/w/wy370-wvb
index df89806..f203e5d 100644
--- a/lib/terminfo/w/wy370-wvb
+++ b/lib/terminfo/w/wy370-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy50 b/lib/terminfo/w/wy50
index afd1bd7..7c72366 100644
--- a/lib/terminfo/w/wy50
+++ b/lib/terminfo/w/wy50
Binary files differ
diff --git a/lib/terminfo/w/wy50-mc b/lib/terminfo/w/wy50-mc
index dbdc54c..4a863d1 100644
--- a/lib/terminfo/w/wy50-mc
+++ b/lib/terminfo/w/wy50-mc
Binary files differ
diff --git a/lib/terminfo/w/wy50-vb b/lib/terminfo/w/wy50-vb
index ba38e0b..ae60620 100644
--- a/lib/terminfo/w/wy50-vb
+++ b/lib/terminfo/w/wy50-vb
Binary files differ
diff --git a/lib/terminfo/w/wy50-w b/lib/terminfo/w/wy50-w
index 4f95911..85e8dd3 100644
--- a/lib/terminfo/w/wy50-w
+++ b/lib/terminfo/w/wy50-w
Binary files differ
diff --git a/lib/terminfo/w/wy50-wvb b/lib/terminfo/w/wy50-wvb
index ebcdc9b..eb00142 100644
--- a/lib/terminfo/w/wy50-wvb
+++ b/lib/terminfo/w/wy50-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy520 b/lib/terminfo/w/wy520
index 66c142b..c822d41 100644
--- a/lib/terminfo/w/wy520
+++ b/lib/terminfo/w/wy520
Binary files differ
diff --git a/lib/terminfo/w/wy520-24 b/lib/terminfo/w/wy520-24
index 7fd0cc6..9bfbec7 100644
--- a/lib/terminfo/w/wy520-24
+++ b/lib/terminfo/w/wy520-24
Binary files differ
diff --git a/lib/terminfo/w/wy520-36 b/lib/terminfo/w/wy520-36
index e215d8b..ed93432 100644
--- a/lib/terminfo/w/wy520-36
+++ b/lib/terminfo/w/wy520-36
Binary files differ
diff --git a/lib/terminfo/w/wy520-36pc b/lib/terminfo/w/wy520-36pc
index 601644b..5048dfe 100644
--- a/lib/terminfo/w/wy520-36pc
+++ b/lib/terminfo/w/wy520-36pc
Binary files differ
diff --git a/lib/terminfo/w/wy520-36w b/lib/terminfo/w/wy520-36w
index c07dcb0..6581a45 100644
--- a/lib/terminfo/w/wy520-36w
+++ b/lib/terminfo/w/wy520-36w
Binary files differ
diff --git a/lib/terminfo/w/wy520-36wpc b/lib/terminfo/w/wy520-36wpc
index 04b59d7..fffaa92 100644
--- a/lib/terminfo/w/wy520-36wpc
+++ b/lib/terminfo/w/wy520-36wpc
Binary files differ
diff --git a/lib/terminfo/w/wy520-48 b/lib/terminfo/w/wy520-48
index a068d00..dc5c947 100644
--- a/lib/terminfo/w/wy520-48
+++ b/lib/terminfo/w/wy520-48
Binary files differ
diff --git a/lib/terminfo/w/wy520-48pc b/lib/terminfo/w/wy520-48pc
index ab2a687..48c0ddb 100644
--- a/lib/terminfo/w/wy520-48pc
+++ b/lib/terminfo/w/wy520-48pc
Binary files differ
diff --git a/lib/terminfo/w/wy520-48w b/lib/terminfo/w/wy520-48w
index 926e1e5..41cf569 100644
--- a/lib/terminfo/w/wy520-48w
+++ b/lib/terminfo/w/wy520-48w
Binary files differ
diff --git a/lib/terminfo/w/wy520-48wpc b/lib/terminfo/w/wy520-48wpc
index d589a6c..74c787b 100644
--- a/lib/terminfo/w/wy520-48wpc
+++ b/lib/terminfo/w/wy520-48wpc
Binary files differ
diff --git a/lib/terminfo/w/wy520-epc b/lib/terminfo/w/wy520-epc
index b773952..8dc1ae3 100644
--- a/lib/terminfo/w/wy520-epc
+++ b/lib/terminfo/w/wy520-epc
Binary files differ
diff --git a/lib/terminfo/w/wy520-epc-24 b/lib/terminfo/w/wy520-epc-24
index f060b08..f9f2a93 100644
--- a/lib/terminfo/w/wy520-epc-24
+++ b/lib/terminfo/w/wy520-epc-24
Binary files differ
diff --git a/lib/terminfo/w/wy520-epc-vb b/lib/terminfo/w/wy520-epc-vb
index 182ce80..a3cc019 100644
--- a/lib/terminfo/w/wy520-epc-vb
+++ b/lib/terminfo/w/wy520-epc-vb
Binary files differ
diff --git a/lib/terminfo/w/wy520-epc-w b/lib/terminfo/w/wy520-epc-w
index 5b64119..665d6d6 100644
--- a/lib/terminfo/w/wy520-epc-w
+++ b/lib/terminfo/w/wy520-epc-w
Binary files differ
diff --git a/lib/terminfo/w/wy520-epc-wvb b/lib/terminfo/w/wy520-epc-wvb
index e026af7..24bc463 100644
--- a/lib/terminfo/w/wy520-epc-wvb
+++ b/lib/terminfo/w/wy520-epc-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy520-vb b/lib/terminfo/w/wy520-vb
index 8d08083..a537f02 100644
--- a/lib/terminfo/w/wy520-vb
+++ b/lib/terminfo/w/wy520-vb
Binary files differ
diff --git a/lib/terminfo/w/wy520-w b/lib/terminfo/w/wy520-w
index 26cf2f8..71f85e2 100644
--- a/lib/terminfo/w/wy520-w
+++ b/lib/terminfo/w/wy520-w
Binary files differ
diff --git a/lib/terminfo/w/wy520-wvb b/lib/terminfo/w/wy520-wvb
index bb0b673..cbb555c 100644
--- a/lib/terminfo/w/wy520-wvb
+++ b/lib/terminfo/w/wy520-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy60 b/lib/terminfo/w/wy60
index ea2501c..7f0b761 100644
--- a/lib/terminfo/w/wy60
+++ b/lib/terminfo/w/wy60
Binary files differ
diff --git a/lib/terminfo/w/wy60-25 b/lib/terminfo/w/wy60-25
index d5578c4..d8e256e 100644
--- a/lib/terminfo/w/wy60-25
+++ b/lib/terminfo/w/wy60-25
Binary files differ
diff --git a/lib/terminfo/w/wy60-25-w b/lib/terminfo/w/wy60-25-w
index de4a382..f5f8461 100644
--- a/lib/terminfo/w/wy60-25-w
+++ b/lib/terminfo/w/wy60-25-w
Binary files differ
diff --git a/lib/terminfo/w/wy60-316X b/lib/terminfo/w/wy60-316X
deleted file mode 120000
index 8077c2d..0000000
--- a/lib/terminfo/w/wy60-316X
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibm3161
\ No newline at end of file
diff --git a/lib/terminfo/w/wy60-316X b/lib/terminfo/w/wy60-316X
new file mode 100644
index 0000000..dad679d
--- /dev/null
+++ b/lib/terminfo/w/wy60-316X
Binary files differ
diff --git a/lib/terminfo/w/wy60-42 b/lib/terminfo/w/wy60-42
index 69f5679..6b2b9c4 100644
--- a/lib/terminfo/w/wy60-42
+++ b/lib/terminfo/w/wy60-42
Binary files differ
diff --git a/lib/terminfo/w/wy60-42-w b/lib/terminfo/w/wy60-42-w
index a63a005..d06a50a 100644
--- a/lib/terminfo/w/wy60-42-w
+++ b/lib/terminfo/w/wy60-42-w
Binary files differ
diff --git a/lib/terminfo/w/wy60-43 b/lib/terminfo/w/wy60-43
index 149a5fb..75d9467 100644
--- a/lib/terminfo/w/wy60-43
+++ b/lib/terminfo/w/wy60-43
Binary files differ
diff --git a/lib/terminfo/w/wy60-43-w b/lib/terminfo/w/wy60-43-w
index c2bd2b8..ef1d7e4 100644
--- a/lib/terminfo/w/wy60-43-w
+++ b/lib/terminfo/w/wy60-43-w
Binary files differ
diff --git a/lib/terminfo/w/wy60-AT b/lib/terminfo/w/wy60-AT
deleted file mode 120000
index 7a8ce94..0000000
--- a/lib/terminfo/w/wy60-AT
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibm5151
\ No newline at end of file
diff --git a/lib/terminfo/w/wy60-AT b/lib/terminfo/w/wy60-AT
new file mode 100644
index 0000000..377b3a0
--- /dev/null
+++ b/lib/terminfo/w/wy60-AT
Binary files differ
diff --git a/lib/terminfo/w/wy60-PC b/lib/terminfo/w/wy60-PC
deleted file mode 120000
index 8486f2f..0000000
--- a/lib/terminfo/w/wy60-PC
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibmpc
\ No newline at end of file
diff --git a/lib/terminfo/w/wy60-PC b/lib/terminfo/w/wy60-PC
new file mode 100644
index 0000000..492a68a
--- /dev/null
+++ b/lib/terminfo/w/wy60-PC
Binary files differ
diff --git a/lib/terminfo/w/wy60-vb b/lib/terminfo/w/wy60-vb
index 3d22196..cb70b61 100644
--- a/lib/terminfo/w/wy60-vb
+++ b/lib/terminfo/w/wy60-vb
Binary files differ
diff --git a/lib/terminfo/w/wy60-w b/lib/terminfo/w/wy60-w
index 06b86ba..a7a4359 100644
--- a/lib/terminfo/w/wy60-w
+++ b/lib/terminfo/w/wy60-w
Binary files differ
diff --git a/lib/terminfo/w/wy60-w-vb b/lib/terminfo/w/wy60-w-vb
index 92450a2..b8632fd 100644
--- a/lib/terminfo/w/wy60-w-vb
+++ b/lib/terminfo/w/wy60-w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy60-wvb b/lib/terminfo/w/wy60-wvb
deleted file mode 120000
index adedab8..0000000
--- a/lib/terminfo/w/wy60-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy60-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy60-wvb b/lib/terminfo/w/wy60-wvb
new file mode 100644
index 0000000..b8632fd
--- /dev/null
+++ b/lib/terminfo/w/wy60-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy75 b/lib/terminfo/w/wy75
index 2bd4296..e499b1f 100644
--- a/lib/terminfo/w/wy75
+++ b/lib/terminfo/w/wy75
Binary files differ
diff --git a/lib/terminfo/w/wy75-mc b/lib/terminfo/w/wy75-mc
index 2faf71d..fb76e93 100644
--- a/lib/terminfo/w/wy75-mc
+++ b/lib/terminfo/w/wy75-mc
Binary files differ
diff --git a/lib/terminfo/w/wy75-vb b/lib/terminfo/w/wy75-vb
index 02cab39..764d030 100644
--- a/lib/terminfo/w/wy75-vb
+++ b/lib/terminfo/w/wy75-vb
Binary files differ
diff --git a/lib/terminfo/w/wy75-w b/lib/terminfo/w/wy75-w
index 849c665..25abe7e 100644
--- a/lib/terminfo/w/wy75-w
+++ b/lib/terminfo/w/wy75-w
Binary files differ
diff --git a/lib/terminfo/w/wy75-wvb b/lib/terminfo/w/wy75-wvb
index 50ca2a3..66e6d19 100644
--- a/lib/terminfo/w/wy75-wvb
+++ b/lib/terminfo/w/wy75-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy75ap b/lib/terminfo/w/wy75ap
index 1d35e26..9c893d7 100644
--- a/lib/terminfo/w/wy75ap
+++ b/lib/terminfo/w/wy75ap
Binary files differ
diff --git a/lib/terminfo/w/wy85 b/lib/terminfo/w/wy85
index 2e3628c..04c4883 100644
--- a/lib/terminfo/w/wy85
+++ b/lib/terminfo/w/wy85
Binary files differ
diff --git a/lib/terminfo/w/wy85-8bit b/lib/terminfo/w/wy85-8bit
index 7c8673d..e2069d1 100644
--- a/lib/terminfo/w/wy85-8bit
+++ b/lib/terminfo/w/wy85-8bit
Binary files differ
diff --git a/lib/terminfo/w/wy85-vb b/lib/terminfo/w/wy85-vb
index 54660d6..5f91df9 100644
--- a/lib/terminfo/w/wy85-vb
+++ b/lib/terminfo/w/wy85-vb
Binary files differ
diff --git a/lib/terminfo/w/wy85-w b/lib/terminfo/w/wy85-w
index 4c994b0..4a17128 100644
--- a/lib/terminfo/w/wy85-w
+++ b/lib/terminfo/w/wy85-w
Binary files differ
diff --git a/lib/terminfo/w/wy85-wvb b/lib/terminfo/w/wy85-wvb
index 8cd48cd..a18a7ee 100644
--- a/lib/terminfo/w/wy85-wvb
+++ b/lib/terminfo/w/wy85-wvb
Binary files differ
diff --git a/lib/terminfo/w/wy99-ansi b/lib/terminfo/w/wy99-ansi
index ed8b9ea..7d8be3e 100644
--- a/lib/terminfo/w/wy99-ansi
+++ b/lib/terminfo/w/wy99-ansi
Binary files differ
diff --git a/lib/terminfo/w/wy99a-ansi b/lib/terminfo/w/wy99a-ansi
index 43c0dcc..dc753fc 100644
--- a/lib/terminfo/w/wy99a-ansi
+++ b/lib/terminfo/w/wy99a-ansi
Binary files differ
diff --git a/lib/terminfo/w/wy99f b/lib/terminfo/w/wy99f
index 5a696bc..77f435a 100644
--- a/lib/terminfo/w/wy99f
+++ b/lib/terminfo/w/wy99f
Binary files differ
diff --git a/lib/terminfo/w/wy99fa b/lib/terminfo/w/wy99fa
index 256b0c8..6cf0920 100644
--- a/lib/terminfo/w/wy99fa
+++ b/lib/terminfo/w/wy99fa
Binary files differ
diff --git a/lib/terminfo/w/wy99fgt b/lib/terminfo/w/wy99fgt
deleted file mode 120000
index 0108c25..0000000
--- a/lib/terminfo/w/wy99fgt
+++ /dev/null
@@ -1 +0,0 @@
-wy99f
\ No newline at end of file
diff --git a/lib/terminfo/w/wy99fgt b/lib/terminfo/w/wy99fgt
new file mode 100644
index 0000000..77f435a
--- /dev/null
+++ b/lib/terminfo/w/wy99fgt
Binary files differ
diff --git a/lib/terminfo/w/wy99fgta b/lib/terminfo/w/wy99fgta
deleted file mode 120000
index 084a0f1..0000000
--- a/lib/terminfo/w/wy99fgta
+++ /dev/null
@@ -1 +0,0 @@
-wy99fa
\ No newline at end of file
diff --git a/lib/terminfo/w/wy99fgta b/lib/terminfo/w/wy99fgta
new file mode 100644
index 0000000..6cf0920
--- /dev/null
+++ b/lib/terminfo/w/wy99fgta
Binary files differ
diff --git a/lib/terminfo/w/wy99gt b/lib/terminfo/w/wy99gt
index 50f4855..5bcb660 100644
--- a/lib/terminfo/w/wy99gt
+++ b/lib/terminfo/w/wy99gt
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-25 b/lib/terminfo/w/wy99gt-25
index 514632f..41d58c4 100644
--- a/lib/terminfo/w/wy99gt-25
+++ b/lib/terminfo/w/wy99gt-25
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-25-w b/lib/terminfo/w/wy99gt-25-w
index 60b133b..71fb497 100644
--- a/lib/terminfo/w/wy99gt-25-w
+++ b/lib/terminfo/w/wy99gt-25-w
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-vb b/lib/terminfo/w/wy99gt-vb
index 824372f..8ce9af0 100644
--- a/lib/terminfo/w/wy99gt-vb
+++ b/lib/terminfo/w/wy99gt-vb
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-w b/lib/terminfo/w/wy99gt-w
index e4d8898..410780a 100644
--- a/lib/terminfo/w/wy99gt-w
+++ b/lib/terminfo/w/wy99gt-w
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-w-vb b/lib/terminfo/w/wy99gt-w-vb
index 77733a7..17c79a3 100644
--- a/lib/terminfo/w/wy99gt-w-vb
+++ b/lib/terminfo/w/wy99gt-w-vb
Binary files differ
diff --git a/lib/terminfo/w/wy99gt-wvb b/lib/terminfo/w/wy99gt-wvb
deleted file mode 120000
index cd63081..0000000
--- a/lib/terminfo/w/wy99gt-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy99gt-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wy99gt-wvb b/lib/terminfo/w/wy99gt-wvb
new file mode 100644
index 0000000..17c79a3
--- /dev/null
+++ b/lib/terminfo/w/wy99gt-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse+sl b/lib/terminfo/w/wyse+sl
new file mode 100644
index 0000000..222be51
--- /dev/null
+++ b/lib/terminfo/w/wyse+sl
Binary files differ
diff --git a/lib/terminfo/w/wyse-325 b/lib/terminfo/w/wyse-325
deleted file mode 120000
index 3e704d8..0000000
--- a/lib/terminfo/w/wyse-325
+++ /dev/null
@@ -1 +0,0 @@
-wy325-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse-325 b/lib/terminfo/w/wyse-325
new file mode 100644
index 0000000..834faf3
--- /dev/null
+++ b/lib/terminfo/w/wyse-325
Binary files differ
diff --git a/lib/terminfo/w/wyse-75ap b/lib/terminfo/w/wyse-75ap
deleted file mode 120000
index a4f90e3..0000000
--- a/lib/terminfo/w/wyse-75ap
+++ /dev/null
@@ -1 +0,0 @@
-wy75ap
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse-75ap b/lib/terminfo/w/wyse-75ap
new file mode 100644
index 0000000..9c893d7
--- /dev/null
+++ b/lib/terminfo/w/wyse-75ap
Binary files differ
diff --git a/lib/terminfo/w/wyse120 b/lib/terminfo/w/wyse120
deleted file mode 120000
index 4d10bdd..0000000
--- a/lib/terminfo/w/wyse120
+++ /dev/null
@@ -1 +0,0 @@
-wy120
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse120 b/lib/terminfo/w/wyse120
new file mode 100644
index 0000000..9fae306
--- /dev/null
+++ b/lib/terminfo/w/wyse120
Binary files differ
diff --git a/lib/terminfo/w/wyse120-25 b/lib/terminfo/w/wyse120-25
deleted file mode 120000
index 2689084..0000000
--- a/lib/terminfo/w/wyse120-25
+++ /dev/null
@@ -1 +0,0 @@
-wy120-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse120-25 b/lib/terminfo/w/wyse120-25
new file mode 100644
index 0000000..fec1a36
--- /dev/null
+++ b/lib/terminfo/w/wyse120-25
Binary files differ
diff --git a/lib/terminfo/w/wyse120-25-w b/lib/terminfo/w/wyse120-25-w
deleted file mode 120000
index a5a5e5b..0000000
--- a/lib/terminfo/w/wyse120-25-w
+++ /dev/null
@@ -1 +0,0 @@
-wy120-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse120-25-w b/lib/terminfo/w/wyse120-25-w
new file mode 100644
index 0000000..c6a2ca4
--- /dev/null
+++ b/lib/terminfo/w/wyse120-25-w
Binary files differ
diff --git a/lib/terminfo/w/wyse120-vb b/lib/terminfo/w/wyse120-vb
deleted file mode 120000
index 2911c5a..0000000
--- a/lib/terminfo/w/wyse120-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy120-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse120-vb b/lib/terminfo/w/wyse120-vb
new file mode 100644
index 0000000..a1f3f0f
--- /dev/null
+++ b/lib/terminfo/w/wyse120-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse120-w b/lib/terminfo/w/wyse120-w
deleted file mode 120000
index ba988d3..0000000
--- a/lib/terminfo/w/wyse120-w
+++ /dev/null
@@ -1 +0,0 @@
-wy120-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse120-w b/lib/terminfo/w/wyse120-w
new file mode 100644
index 0000000..386bc55
--- /dev/null
+++ b/lib/terminfo/w/wyse120-w
Binary files differ
diff --git a/lib/terminfo/w/wyse120-wvb b/lib/terminfo/w/wyse120-wvb
deleted file mode 120000
index cf1e87c..0000000
--- a/lib/terminfo/w/wyse120-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy120-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse120-wvb b/lib/terminfo/w/wyse120-wvb
new file mode 100644
index 0000000..c763cf0
--- /dev/null
+++ b/lib/terminfo/w/wyse120-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse150 b/lib/terminfo/w/wyse150
deleted file mode 120000
index 4d10bdd..0000000
--- a/lib/terminfo/w/wyse150
+++ /dev/null
@@ -1 +0,0 @@
-wy120
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150 b/lib/terminfo/w/wyse150
new file mode 100644
index 0000000..9fae306
--- /dev/null
+++ b/lib/terminfo/w/wyse150
Binary files differ
diff --git a/lib/terminfo/w/wyse150-25 b/lib/terminfo/w/wyse150-25
deleted file mode 120000
index 2689084..0000000
--- a/lib/terminfo/w/wyse150-25
+++ /dev/null
@@ -1 +0,0 @@
-wy120-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150-25 b/lib/terminfo/w/wyse150-25
new file mode 100644
index 0000000..fec1a36
--- /dev/null
+++ b/lib/terminfo/w/wyse150-25
Binary files differ
diff --git a/lib/terminfo/w/wyse150-25-w b/lib/terminfo/w/wyse150-25-w
deleted file mode 120000
index a5a5e5b..0000000
--- a/lib/terminfo/w/wyse150-25-w
+++ /dev/null
@@ -1 +0,0 @@
-wy120-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150-25-w b/lib/terminfo/w/wyse150-25-w
new file mode 100644
index 0000000..c6a2ca4
--- /dev/null
+++ b/lib/terminfo/w/wyse150-25-w
Binary files differ
diff --git a/lib/terminfo/w/wyse150-vb b/lib/terminfo/w/wyse150-vb
deleted file mode 120000
index 2911c5a..0000000
--- a/lib/terminfo/w/wyse150-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy120-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150-vb b/lib/terminfo/w/wyse150-vb
new file mode 100644
index 0000000..a1f3f0f
--- /dev/null
+++ b/lib/terminfo/w/wyse150-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse150-w b/lib/terminfo/w/wyse150-w
deleted file mode 120000
index ba988d3..0000000
--- a/lib/terminfo/w/wyse150-w
+++ /dev/null
@@ -1 +0,0 @@
-wy120-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150-w b/lib/terminfo/w/wyse150-w
new file mode 100644
index 0000000..386bc55
--- /dev/null
+++ b/lib/terminfo/w/wyse150-w
Binary files differ
diff --git a/lib/terminfo/w/wyse150-w-vb b/lib/terminfo/w/wyse150-w-vb
deleted file mode 120000
index cf1e87c..0000000
--- a/lib/terminfo/w/wyse150-w-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy120-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse150-w-vb b/lib/terminfo/w/wyse150-w-vb
new file mode 100644
index 0000000..c763cf0
--- /dev/null
+++ b/lib/terminfo/w/wyse150-w-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse160 b/lib/terminfo/w/wyse160
deleted file mode 120000
index 1fd33be..0000000
--- a/lib/terminfo/w/wyse160
+++ /dev/null
@@ -1 +0,0 @@
-wy160
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160 b/lib/terminfo/w/wyse160
new file mode 100644
index 0000000..d124cd1
--- /dev/null
+++ b/lib/terminfo/w/wyse160
Binary files differ
diff --git a/lib/terminfo/w/wyse160-25 b/lib/terminfo/w/wyse160-25
deleted file mode 120000
index 9c0a53c..0000000
--- a/lib/terminfo/w/wyse160-25
+++ /dev/null
@@ -1 +0,0 @@
-wy160-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-25 b/lib/terminfo/w/wyse160-25
new file mode 100644
index 0000000..a23506c
--- /dev/null
+++ b/lib/terminfo/w/wyse160-25
Binary files differ
diff --git a/lib/terminfo/w/wyse160-25-w b/lib/terminfo/w/wyse160-25-w
deleted file mode 120000
index 19ec8a5..0000000
--- a/lib/terminfo/w/wyse160-25-w
+++ /dev/null
@@ -1 +0,0 @@
-wy160-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-25-w b/lib/terminfo/w/wyse160-25-w
new file mode 100644
index 0000000..a2ba401
--- /dev/null
+++ b/lib/terminfo/w/wyse160-25-w
Binary files differ
diff --git a/lib/terminfo/w/wyse160-42 b/lib/terminfo/w/wyse160-42
deleted file mode 120000
index 104101a..0000000
--- a/lib/terminfo/w/wyse160-42
+++ /dev/null
@@ -1 +0,0 @@
-wy160-42
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-42 b/lib/terminfo/w/wyse160-42
new file mode 100644
index 0000000..3a43719
--- /dev/null
+++ b/lib/terminfo/w/wyse160-42
Binary files differ
diff --git a/lib/terminfo/w/wyse160-42-w b/lib/terminfo/w/wyse160-42-w
deleted file mode 120000
index 47f6e05..0000000
--- a/lib/terminfo/w/wyse160-42-w
+++ /dev/null
@@ -1 +0,0 @@
-wy160-42-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-42-w b/lib/terminfo/w/wyse160-42-w
new file mode 100644
index 0000000..337e845
--- /dev/null
+++ b/lib/terminfo/w/wyse160-42-w
Binary files differ
diff --git a/lib/terminfo/w/wyse160-43 b/lib/terminfo/w/wyse160-43
deleted file mode 120000
index dca3ec6..0000000
--- a/lib/terminfo/w/wyse160-43
+++ /dev/null
@@ -1 +0,0 @@
-wy160-43
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-43 b/lib/terminfo/w/wyse160-43
new file mode 100644
index 0000000..fda295a
--- /dev/null
+++ b/lib/terminfo/w/wyse160-43
Binary files differ
diff --git a/lib/terminfo/w/wyse160-43-w b/lib/terminfo/w/wyse160-43-w
deleted file mode 120000
index 5cfbb2d..0000000
--- a/lib/terminfo/w/wyse160-43-w
+++ /dev/null
@@ -1 +0,0 @@
-wy160-43-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-43-w b/lib/terminfo/w/wyse160-43-w
new file mode 100644
index 0000000..2e9bc4e
--- /dev/null
+++ b/lib/terminfo/w/wyse160-43-w
Binary files differ
diff --git a/lib/terminfo/w/wyse160-vb b/lib/terminfo/w/wyse160-vb
deleted file mode 120000
index 4d6944a..0000000
--- a/lib/terminfo/w/wyse160-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy160-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-vb b/lib/terminfo/w/wyse160-vb
new file mode 100644
index 0000000..01788a4
--- /dev/null
+++ b/lib/terminfo/w/wyse160-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse160-w b/lib/terminfo/w/wyse160-w
deleted file mode 120000
index fe8f66b..0000000
--- a/lib/terminfo/w/wyse160-w
+++ /dev/null
@@ -1 +0,0 @@
-wy160-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-w b/lib/terminfo/w/wyse160-w
new file mode 100644
index 0000000..dc73488
--- /dev/null
+++ b/lib/terminfo/w/wyse160-w
Binary files differ
diff --git a/lib/terminfo/w/wyse160-wvb b/lib/terminfo/w/wyse160-wvb
deleted file mode 120000
index 9fe7041..0000000
--- a/lib/terminfo/w/wyse160-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy160-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse160-wvb b/lib/terminfo/w/wyse160-wvb
new file mode 100644
index 0000000..89f7faf
--- /dev/null
+++ b/lib/terminfo/w/wyse160-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse185 b/lib/terminfo/w/wyse185
deleted file mode 120000
index 379402e..0000000
--- a/lib/terminfo/w/wyse185
+++ /dev/null
@@ -1 +0,0 @@
-wy185
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse185 b/lib/terminfo/w/wyse185
new file mode 100644
index 0000000..42001ac
--- /dev/null
+++ b/lib/terminfo/w/wyse185
Binary files differ
diff --git a/lib/terminfo/w/wyse185-24 b/lib/terminfo/w/wyse185-24
deleted file mode 120000
index ebb8300..0000000
--- a/lib/terminfo/w/wyse185-24
+++ /dev/null
@@ -1 +0,0 @@
-wy185-24
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse185-24 b/lib/terminfo/w/wyse185-24
new file mode 100644
index 0000000..fb87997
--- /dev/null
+++ b/lib/terminfo/w/wyse185-24
Binary files differ
diff --git a/lib/terminfo/w/wyse185-vb b/lib/terminfo/w/wyse185-vb
deleted file mode 120000
index cc82839..0000000
--- a/lib/terminfo/w/wyse185-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy185-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse185-vb b/lib/terminfo/w/wyse185-vb
new file mode 100644
index 0000000..452a68a
--- /dev/null
+++ b/lib/terminfo/w/wyse185-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse185-w b/lib/terminfo/w/wyse185-w
deleted file mode 120000
index acf82a2..0000000
--- a/lib/terminfo/w/wyse185-w
+++ /dev/null
@@ -1 +0,0 @@
-wy185-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse185-w b/lib/terminfo/w/wyse185-w
new file mode 100644
index 0000000..b3b9882
--- /dev/null
+++ b/lib/terminfo/w/wyse185-w
Binary files differ
diff --git a/lib/terminfo/w/wyse185-wvb b/lib/terminfo/w/wyse185-wvb
deleted file mode 120000
index a53f284..0000000
--- a/lib/terminfo/w/wyse185-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy185-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse185-wvb b/lib/terminfo/w/wyse185-wvb
new file mode 100644
index 0000000..d7bd0b4
--- /dev/null
+++ b/lib/terminfo/w/wyse185-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse30 b/lib/terminfo/w/wyse30
deleted file mode 120000
index 0c8a886..0000000
--- a/lib/terminfo/w/wyse30
+++ /dev/null
@@ -1 +0,0 @@
-wy30
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse30 b/lib/terminfo/w/wyse30
new file mode 100644
index 0000000..759c6d6
--- /dev/null
+++ b/lib/terminfo/w/wyse30
Binary files differ
diff --git a/lib/terminfo/w/wyse30-mc b/lib/terminfo/w/wyse30-mc
deleted file mode 120000
index 9155e76..0000000
--- a/lib/terminfo/w/wyse30-mc
+++ /dev/null
@@ -1 +0,0 @@
-wy30-mc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse30-mc b/lib/terminfo/w/wyse30-mc
new file mode 100644
index 0000000..cdf6b65
--- /dev/null
+++ b/lib/terminfo/w/wyse30-mc
Binary files differ
diff --git a/lib/terminfo/w/wyse30-vb b/lib/terminfo/w/wyse30-vb
deleted file mode 120000
index 74668d5..0000000
--- a/lib/terminfo/w/wyse30-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy30-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse30-vb b/lib/terminfo/w/wyse30-vb
new file mode 100644
index 0000000..164cf07
--- /dev/null
+++ b/lib/terminfo/w/wyse30-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse325 b/lib/terminfo/w/wyse325
deleted file mode 120000
index 851e071..0000000
--- a/lib/terminfo/w/wyse325
+++ /dev/null
@@ -1 +0,0 @@
-wy325
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325 b/lib/terminfo/w/wyse325
new file mode 100644
index 0000000..03ef7f7
--- /dev/null
+++ b/lib/terminfo/w/wyse325
Binary files differ
diff --git a/lib/terminfo/w/wyse325-25 b/lib/terminfo/w/wyse325-25
deleted file mode 120000
index 3e704d8..0000000
--- a/lib/terminfo/w/wyse325-25
+++ /dev/null
@@ -1 +0,0 @@
-wy325-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-25 b/lib/terminfo/w/wyse325-25
new file mode 100644
index 0000000..834faf3
--- /dev/null
+++ b/lib/terminfo/w/wyse325-25
Binary files differ
diff --git a/lib/terminfo/w/wyse325-25w b/lib/terminfo/w/wyse325-25w
deleted file mode 120000
index bfade40..0000000
--- a/lib/terminfo/w/wyse325-25w
+++ /dev/null
@@ -1 +0,0 @@
-wy325-25w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-25w b/lib/terminfo/w/wyse325-25w
new file mode 100644
index 0000000..03b3fa9
--- /dev/null
+++ b/lib/terminfo/w/wyse325-25w
Binary files differ
diff --git a/lib/terminfo/w/wyse325-42 b/lib/terminfo/w/wyse325-42
deleted file mode 120000
index 08eecf0..0000000
--- a/lib/terminfo/w/wyse325-42
+++ /dev/null
@@ -1 +0,0 @@
-wy325-42
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-42 b/lib/terminfo/w/wyse325-42
new file mode 100644
index 0000000..7e043b6
--- /dev/null
+++ b/lib/terminfo/w/wyse325-42
Binary files differ
diff --git a/lib/terminfo/w/wyse325-42w b/lib/terminfo/w/wyse325-42w
deleted file mode 120000
index aaac515..0000000
--- a/lib/terminfo/w/wyse325-42w
+++ /dev/null
@@ -1 +0,0 @@
-wy325-42w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-42w b/lib/terminfo/w/wyse325-42w
new file mode 100644
index 0000000..0ae7c77
--- /dev/null
+++ b/lib/terminfo/w/wyse325-42w
Binary files differ
diff --git a/lib/terminfo/w/wyse325-43 b/lib/terminfo/w/wyse325-43
deleted file mode 120000
index 7efc971..0000000
--- a/lib/terminfo/w/wyse325-43
+++ /dev/null
@@ -1 +0,0 @@
-wy325-43
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-43 b/lib/terminfo/w/wyse325-43
new file mode 100644
index 0000000..d1cfdeb
--- /dev/null
+++ b/lib/terminfo/w/wyse325-43
Binary files differ
diff --git a/lib/terminfo/w/wyse325-43w b/lib/terminfo/w/wyse325-43w
deleted file mode 120000
index cf9e2c6..0000000
--- a/lib/terminfo/w/wyse325-43w
+++ /dev/null
@@ -1 +0,0 @@
-wy325-43w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-43w b/lib/terminfo/w/wyse325-43w
new file mode 100644
index 0000000..f66668b
--- /dev/null
+++ b/lib/terminfo/w/wyse325-43w
Binary files differ
diff --git a/lib/terminfo/w/wyse325-vb b/lib/terminfo/w/wyse325-vb
deleted file mode 120000
index 364e8ad..0000000
--- a/lib/terminfo/w/wyse325-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy325-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-vb b/lib/terminfo/w/wyse325-vb
new file mode 100644
index 0000000..009b8cd
--- /dev/null
+++ b/lib/terminfo/w/wyse325-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse325-w b/lib/terminfo/w/wyse325-w
deleted file mode 120000
index f2946cd..0000000
--- a/lib/terminfo/w/wyse325-w
+++ /dev/null
@@ -1 +0,0 @@
-wy325-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-w b/lib/terminfo/w/wyse325-w
new file mode 100644
index 0000000..0092078
--- /dev/null
+++ b/lib/terminfo/w/wyse325-w
Binary files differ
diff --git a/lib/terminfo/w/wyse325-wvb b/lib/terminfo/w/wyse325-wvb
deleted file mode 120000
index ca3febb..0000000
--- a/lib/terminfo/w/wyse325-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy325-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse325-wvb b/lib/terminfo/w/wyse325-wvb
new file mode 100644
index 0000000..77a7a60
--- /dev/null
+++ b/lib/terminfo/w/wyse325-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse350 b/lib/terminfo/w/wyse350
deleted file mode 120000
index 04c13f3..0000000
--- a/lib/terminfo/w/wyse350
+++ /dev/null
@@ -1 +0,0 @@
-wy350
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse350 b/lib/terminfo/w/wyse350
new file mode 100644
index 0000000..d7a41c6
--- /dev/null
+++ b/lib/terminfo/w/wyse350
Binary files differ
diff --git a/lib/terminfo/w/wyse350-vb b/lib/terminfo/w/wyse350-vb
deleted file mode 120000
index 87f0dc4..0000000
--- a/lib/terminfo/w/wyse350-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy350-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse350-vb b/lib/terminfo/w/wyse350-vb
new file mode 100644
index 0000000..893e2cd
--- /dev/null
+++ b/lib/terminfo/w/wyse350-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse350-w b/lib/terminfo/w/wyse350-w
deleted file mode 120000
index 264c100..0000000
--- a/lib/terminfo/w/wyse350-w
+++ /dev/null
@@ -1 +0,0 @@
-wy350-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse350-w b/lib/terminfo/w/wyse350-w
new file mode 100644
index 0000000..a3cf4b8
--- /dev/null
+++ b/lib/terminfo/w/wyse350-w
Binary files differ
diff --git a/lib/terminfo/w/wyse350-wvb b/lib/terminfo/w/wyse350-wvb
deleted file mode 120000
index e03acae..0000000
--- a/lib/terminfo/w/wyse350-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy350-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse350-wvb b/lib/terminfo/w/wyse350-wvb
new file mode 100644
index 0000000..42e5c98
--- /dev/null
+++ b/lib/terminfo/w/wyse350-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse370 b/lib/terminfo/w/wyse370
deleted file mode 120000
index 6d86067..0000000
--- a/lib/terminfo/w/wyse370
+++ /dev/null
@@ -1 +0,0 @@
-wy370
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse370 b/lib/terminfo/w/wyse370
new file mode 100644
index 0000000..e06fdc1
--- /dev/null
+++ b/lib/terminfo/w/wyse370
Binary files differ
diff --git a/lib/terminfo/w/wyse50 b/lib/terminfo/w/wyse50
deleted file mode 120000
index 1388b90..0000000
--- a/lib/terminfo/w/wyse50
+++ /dev/null
@@ -1 +0,0 @@
-wy50
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse50 b/lib/terminfo/w/wyse50
new file mode 100644
index 0000000..7c72366
--- /dev/null
+++ b/lib/terminfo/w/wyse50
Binary files differ
diff --git a/lib/terminfo/w/wyse50-mc b/lib/terminfo/w/wyse50-mc
deleted file mode 120000
index f9d14a1..0000000
--- a/lib/terminfo/w/wyse50-mc
+++ /dev/null
@@ -1 +0,0 @@
-wy50-mc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse50-mc b/lib/terminfo/w/wyse50-mc
new file mode 100644
index 0000000..4a863d1
--- /dev/null
+++ b/lib/terminfo/w/wyse50-mc
Binary files differ
diff --git a/lib/terminfo/w/wyse50-vb b/lib/terminfo/w/wyse50-vb
deleted file mode 120000
index a24edfb..0000000
--- a/lib/terminfo/w/wyse50-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy50-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse50-vb b/lib/terminfo/w/wyse50-vb
new file mode 100644
index 0000000..ae60620
--- /dev/null
+++ b/lib/terminfo/w/wyse50-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse50-w b/lib/terminfo/w/wyse50-w
deleted file mode 120000
index 54a21a8..0000000
--- a/lib/terminfo/w/wyse50-w
+++ /dev/null
@@ -1 +0,0 @@
-wy50-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse50-w b/lib/terminfo/w/wyse50-w
new file mode 100644
index 0000000..85e8dd3
--- /dev/null
+++ b/lib/terminfo/w/wyse50-w
Binary files differ
diff --git a/lib/terminfo/w/wyse50-wvb b/lib/terminfo/w/wyse50-wvb
deleted file mode 120000
index 0da8a0b..0000000
--- a/lib/terminfo/w/wyse50-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy50-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse50-wvb b/lib/terminfo/w/wyse50-wvb
new file mode 100644
index 0000000..eb00142
--- /dev/null
+++ b/lib/terminfo/w/wyse50-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse520 b/lib/terminfo/w/wyse520
deleted file mode 120000
index e90ffd9..0000000
--- a/lib/terminfo/w/wyse520
+++ /dev/null
@@ -1 +0,0 @@
-wy520
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520 b/lib/terminfo/w/wyse520
new file mode 100644
index 0000000..c822d41
--- /dev/null
+++ b/lib/terminfo/w/wyse520
Binary files differ
diff --git a/lib/terminfo/w/wyse520-24 b/lib/terminfo/w/wyse520-24
deleted file mode 120000
index 40b62d7..0000000
--- a/lib/terminfo/w/wyse520-24
+++ /dev/null
@@ -1 +0,0 @@
-wy520-24
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-24 b/lib/terminfo/w/wyse520-24
new file mode 100644
index 0000000..9bfbec7
--- /dev/null
+++ b/lib/terminfo/w/wyse520-24
Binary files differ
diff --git a/lib/terminfo/w/wyse520-36 b/lib/terminfo/w/wyse520-36
deleted file mode 120000
index edc00e7..0000000
--- a/lib/terminfo/w/wyse520-36
+++ /dev/null
@@ -1 +0,0 @@
-wy520-36
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-36 b/lib/terminfo/w/wyse520-36
new file mode 100644
index 0000000..ed93432
--- /dev/null
+++ b/lib/terminfo/w/wyse520-36
Binary files differ
diff --git a/lib/terminfo/w/wyse520-36pc b/lib/terminfo/w/wyse520-36pc
deleted file mode 120000
index 6e3b87c..0000000
--- a/lib/terminfo/w/wyse520-36pc
+++ /dev/null
@@ -1 +0,0 @@
-wy520-36pc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-36pc b/lib/terminfo/w/wyse520-36pc
new file mode 100644
index 0000000..5048dfe
--- /dev/null
+++ b/lib/terminfo/w/wyse520-36pc
Binary files differ
diff --git a/lib/terminfo/w/wyse520-36w b/lib/terminfo/w/wyse520-36w
deleted file mode 120000
index d1b8d57..0000000
--- a/lib/terminfo/w/wyse520-36w
+++ /dev/null
@@ -1 +0,0 @@
-wy520-36w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-36w b/lib/terminfo/w/wyse520-36w
new file mode 100644
index 0000000..6581a45
--- /dev/null
+++ b/lib/terminfo/w/wyse520-36w
Binary files differ
diff --git a/lib/terminfo/w/wyse520-36wpc b/lib/terminfo/w/wyse520-36wpc
deleted file mode 120000
index 68b548b..0000000
--- a/lib/terminfo/w/wyse520-36wpc
+++ /dev/null
@@ -1 +0,0 @@
-wy520-36wpc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-36wpc b/lib/terminfo/w/wyse520-36wpc
new file mode 100644
index 0000000..fffaa92
--- /dev/null
+++ b/lib/terminfo/w/wyse520-36wpc
Binary files differ
diff --git a/lib/terminfo/w/wyse520-48 b/lib/terminfo/w/wyse520-48
deleted file mode 120000
index c55f038..0000000
--- a/lib/terminfo/w/wyse520-48
+++ /dev/null
@@ -1 +0,0 @@
-wy520-48
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-48 b/lib/terminfo/w/wyse520-48
new file mode 100644
index 0000000..dc5c947
--- /dev/null
+++ b/lib/terminfo/w/wyse520-48
Binary files differ
diff --git a/lib/terminfo/w/wyse520-48pc b/lib/terminfo/w/wyse520-48pc
deleted file mode 120000
index 75ac96c..0000000
--- a/lib/terminfo/w/wyse520-48pc
+++ /dev/null
@@ -1 +0,0 @@
-wy520-48pc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-48pc b/lib/terminfo/w/wyse520-48pc
new file mode 100644
index 0000000..48c0ddb
--- /dev/null
+++ b/lib/terminfo/w/wyse520-48pc
Binary files differ
diff --git a/lib/terminfo/w/wyse520-48w b/lib/terminfo/w/wyse520-48w
deleted file mode 120000
index 6263cb5..0000000
--- a/lib/terminfo/w/wyse520-48w
+++ /dev/null
@@ -1 +0,0 @@
-wy520-48w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-48w b/lib/terminfo/w/wyse520-48w
new file mode 100644
index 0000000..41cf569
--- /dev/null
+++ b/lib/terminfo/w/wyse520-48w
Binary files differ
diff --git a/lib/terminfo/w/wyse520-48wpc b/lib/terminfo/w/wyse520-48wpc
deleted file mode 120000
index 2114492..0000000
--- a/lib/terminfo/w/wyse520-48wpc
+++ /dev/null
@@ -1 +0,0 @@
-wy520-48wpc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-48wpc b/lib/terminfo/w/wyse520-48wpc
new file mode 100644
index 0000000..74c787b
--- /dev/null
+++ b/lib/terminfo/w/wyse520-48wpc
Binary files differ
diff --git a/lib/terminfo/w/wyse520-epc b/lib/terminfo/w/wyse520-epc
deleted file mode 120000
index dbb2b00..0000000
--- a/lib/terminfo/w/wyse520-epc
+++ /dev/null
@@ -1 +0,0 @@
-wy520-epc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-epc b/lib/terminfo/w/wyse520-epc
new file mode 100644
index 0000000..8dc1ae3
--- /dev/null
+++ b/lib/terminfo/w/wyse520-epc
Binary files differ
diff --git a/lib/terminfo/w/wyse520-epc-w b/lib/terminfo/w/wyse520-epc-w
deleted file mode 120000
index f9fd697..0000000
--- a/lib/terminfo/w/wyse520-epc-w
+++ /dev/null
@@ -1 +0,0 @@
-wy520-epc-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-epc-w b/lib/terminfo/w/wyse520-epc-w
new file mode 100644
index 0000000..665d6d6
--- /dev/null
+++ b/lib/terminfo/w/wyse520-epc-w
Binary files differ
diff --git a/lib/terminfo/w/wyse520-p-wvb b/lib/terminfo/w/wyse520-p-wvb
deleted file mode 120000
index 43f8a29..0000000
--- a/lib/terminfo/w/wyse520-p-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy520-epc-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-p-wvb b/lib/terminfo/w/wyse520-p-wvb
new file mode 100644
index 0000000..24bc463
--- /dev/null
+++ b/lib/terminfo/w/wyse520-p-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse520-pc-24 b/lib/terminfo/w/wyse520-pc-24
deleted file mode 120000
index 68f30e4..0000000
--- a/lib/terminfo/w/wyse520-pc-24
+++ /dev/null
@@ -1 +0,0 @@
-wy520-epc-24
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-pc-24 b/lib/terminfo/w/wyse520-pc-24
new file mode 100644
index 0000000..f9f2a93
--- /dev/null
+++ b/lib/terminfo/w/wyse520-pc-24
Binary files differ
diff --git a/lib/terminfo/w/wyse520-pc-vb b/lib/terminfo/w/wyse520-pc-vb
deleted file mode 120000
index d7ebca9..0000000
--- a/lib/terminfo/w/wyse520-pc-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy520-epc-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-pc-vb b/lib/terminfo/w/wyse520-pc-vb
new file mode 100644
index 0000000..a3cc019
--- /dev/null
+++ b/lib/terminfo/w/wyse520-pc-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse520-vb b/lib/terminfo/w/wyse520-vb
deleted file mode 120000
index fc04105..0000000
--- a/lib/terminfo/w/wyse520-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy520-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-vb b/lib/terminfo/w/wyse520-vb
new file mode 100644
index 0000000..a537f02
--- /dev/null
+++ b/lib/terminfo/w/wyse520-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse520-w b/lib/terminfo/w/wyse520-w
deleted file mode 120000
index 7f414bc..0000000
--- a/lib/terminfo/w/wyse520-w
+++ /dev/null
@@ -1 +0,0 @@
-wy520-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-w b/lib/terminfo/w/wyse520-w
new file mode 100644
index 0000000..71f85e2
--- /dev/null
+++ b/lib/terminfo/w/wyse520-w
Binary files differ
diff --git a/lib/terminfo/w/wyse520-wvb b/lib/terminfo/w/wyse520-wvb
deleted file mode 120000
index b1d1732..0000000
--- a/lib/terminfo/w/wyse520-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy520-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse520-wvb b/lib/terminfo/w/wyse520-wvb
new file mode 100644
index 0000000..cbb555c
--- /dev/null
+++ b/lib/terminfo/w/wyse520-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse60 b/lib/terminfo/w/wyse60
deleted file mode 120000
index 9da9496..0000000
--- a/lib/terminfo/w/wyse60
+++ /dev/null
@@ -1 +0,0 @@
-wy60
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60 b/lib/terminfo/w/wyse60
new file mode 100644
index 0000000..7f0b761
--- /dev/null
+++ b/lib/terminfo/w/wyse60
Binary files differ
diff --git a/lib/terminfo/w/wyse60-25 b/lib/terminfo/w/wyse60-25
deleted file mode 120000
index 200b809..0000000
--- a/lib/terminfo/w/wyse60-25
+++ /dev/null
@@ -1 +0,0 @@
-wy60-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-25 b/lib/terminfo/w/wyse60-25
new file mode 100644
index 0000000..d8e256e
--- /dev/null
+++ b/lib/terminfo/w/wyse60-25
Binary files differ
diff --git a/lib/terminfo/w/wyse60-25-w b/lib/terminfo/w/wyse60-25-w
deleted file mode 120000
index a4cc95e..0000000
--- a/lib/terminfo/w/wyse60-25-w
+++ /dev/null
@@ -1 +0,0 @@
-wy60-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-25-w b/lib/terminfo/w/wyse60-25-w
new file mode 100644
index 0000000..f5f8461
--- /dev/null
+++ b/lib/terminfo/w/wyse60-25-w
Binary files differ
diff --git a/lib/terminfo/w/wyse60-316X b/lib/terminfo/w/wyse60-316X
deleted file mode 120000
index 8077c2d..0000000
--- a/lib/terminfo/w/wyse60-316X
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibm3161
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-316X b/lib/terminfo/w/wyse60-316X
new file mode 100644
index 0000000..dad679d
--- /dev/null
+++ b/lib/terminfo/w/wyse60-316X
Binary files differ
diff --git a/lib/terminfo/w/wyse60-42 b/lib/terminfo/w/wyse60-42
deleted file mode 120000
index c82ba0f..0000000
--- a/lib/terminfo/w/wyse60-42
+++ /dev/null
@@ -1 +0,0 @@
-wy60-42
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-42 b/lib/terminfo/w/wyse60-42
new file mode 100644
index 0000000..6b2b9c4
--- /dev/null
+++ b/lib/terminfo/w/wyse60-42
Binary files differ
diff --git a/lib/terminfo/w/wyse60-42-w b/lib/terminfo/w/wyse60-42-w
deleted file mode 120000
index c815291..0000000
--- a/lib/terminfo/w/wyse60-42-w
+++ /dev/null
@@ -1 +0,0 @@
-wy60-42-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-42-w b/lib/terminfo/w/wyse60-42-w
new file mode 100644
index 0000000..d06a50a
--- /dev/null
+++ b/lib/terminfo/w/wyse60-42-w
Binary files differ
diff --git a/lib/terminfo/w/wyse60-43 b/lib/terminfo/w/wyse60-43
deleted file mode 120000
index 757d163..0000000
--- a/lib/terminfo/w/wyse60-43
+++ /dev/null
@@ -1 +0,0 @@
-wy60-43
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-43 b/lib/terminfo/w/wyse60-43
new file mode 100644
index 0000000..75d9467
--- /dev/null
+++ b/lib/terminfo/w/wyse60-43
Binary files differ
diff --git a/lib/terminfo/w/wyse60-43-w b/lib/terminfo/w/wyse60-43-w
deleted file mode 120000
index 0858359..0000000
--- a/lib/terminfo/w/wyse60-43-w
+++ /dev/null
@@ -1 +0,0 @@
-wy60-43-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-43-w b/lib/terminfo/w/wyse60-43-w
new file mode 100644
index 0000000..ef1d7e4
--- /dev/null
+++ b/lib/terminfo/w/wyse60-43-w
Binary files differ
diff --git a/lib/terminfo/w/wyse60-AT b/lib/terminfo/w/wyse60-AT
deleted file mode 120000
index 7a8ce94..0000000
--- a/lib/terminfo/w/wyse60-AT
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibm5151
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-AT b/lib/terminfo/w/wyse60-AT
new file mode 100644
index 0000000..377b3a0
--- /dev/null
+++ b/lib/terminfo/w/wyse60-AT
Binary files differ
diff --git a/lib/terminfo/w/wyse60-PC b/lib/terminfo/w/wyse60-PC
deleted file mode 120000
index 8486f2f..0000000
--- a/lib/terminfo/w/wyse60-PC
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibmpc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-PC b/lib/terminfo/w/wyse60-PC
new file mode 100644
index 0000000..492a68a
--- /dev/null
+++ b/lib/terminfo/w/wyse60-PC
Binary files differ
diff --git a/lib/terminfo/w/wyse60-vb b/lib/terminfo/w/wyse60-vb
deleted file mode 120000
index e5ca2b7..0000000
--- a/lib/terminfo/w/wyse60-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy60-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-vb b/lib/terminfo/w/wyse60-vb
new file mode 100644
index 0000000..cb70b61
--- /dev/null
+++ b/lib/terminfo/w/wyse60-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse60-w b/lib/terminfo/w/wyse60-w
deleted file mode 120000
index e3709d9..0000000
--- a/lib/terminfo/w/wyse60-w
+++ /dev/null
@@ -1 +0,0 @@
-wy60-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-w b/lib/terminfo/w/wyse60-w
new file mode 100644
index 0000000..a7a4359
--- /dev/null
+++ b/lib/terminfo/w/wyse60-w
Binary files differ
diff --git a/lib/terminfo/w/wyse60-wvb b/lib/terminfo/w/wyse60-wvb
deleted file mode 120000
index adedab8..0000000
--- a/lib/terminfo/w/wyse60-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy60-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse60-wvb b/lib/terminfo/w/wyse60-wvb
new file mode 100644
index 0000000..b8632fd
--- /dev/null
+++ b/lib/terminfo/w/wyse60-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse75 b/lib/terminfo/w/wyse75
deleted file mode 120000
index 3a3eb97..0000000
--- a/lib/terminfo/w/wyse75
+++ /dev/null
@@ -1 +0,0 @@
-wy75
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75 b/lib/terminfo/w/wyse75
new file mode 100644
index 0000000..e499b1f
--- /dev/null
+++ b/lib/terminfo/w/wyse75
Binary files differ
diff --git a/lib/terminfo/w/wyse75-mc b/lib/terminfo/w/wyse75-mc
deleted file mode 120000
index 0252da8..0000000
--- a/lib/terminfo/w/wyse75-mc
+++ /dev/null
@@ -1 +0,0 @@
-wy75-mc
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75-mc b/lib/terminfo/w/wyse75-mc
new file mode 100644
index 0000000..fb76e93
--- /dev/null
+++ b/lib/terminfo/w/wyse75-mc
Binary files differ
diff --git a/lib/terminfo/w/wyse75-vb b/lib/terminfo/w/wyse75-vb
deleted file mode 120000
index ef42599..0000000
--- a/lib/terminfo/w/wyse75-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy75-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75-vb b/lib/terminfo/w/wyse75-vb
new file mode 100644
index 0000000..764d030
--- /dev/null
+++ b/lib/terminfo/w/wyse75-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse75-w b/lib/terminfo/w/wyse75-w
deleted file mode 120000
index 10cd695..0000000
--- a/lib/terminfo/w/wyse75-w
+++ /dev/null
@@ -1 +0,0 @@
-wy75-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75-w b/lib/terminfo/w/wyse75-w
new file mode 100644
index 0000000..25abe7e
--- /dev/null
+++ b/lib/terminfo/w/wyse75-w
Binary files differ
diff --git a/lib/terminfo/w/wyse75-wvb b/lib/terminfo/w/wyse75-wvb
deleted file mode 120000
index 950f494..0000000
--- a/lib/terminfo/w/wyse75-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy75-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75-wvb b/lib/terminfo/w/wyse75-wvb
new file mode 100644
index 0000000..66e6d19
--- /dev/null
+++ b/lib/terminfo/w/wyse75-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse75ap b/lib/terminfo/w/wyse75ap
deleted file mode 120000
index a4f90e3..0000000
--- a/lib/terminfo/w/wyse75ap
+++ /dev/null
@@ -1 +0,0 @@
-wy75ap
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse75ap b/lib/terminfo/w/wyse75ap
new file mode 100644
index 0000000..9c893d7
--- /dev/null
+++ b/lib/terminfo/w/wyse75ap
Binary files differ
diff --git a/lib/terminfo/w/wyse85 b/lib/terminfo/w/wyse85
deleted file mode 120000
index d1a952c..0000000
--- a/lib/terminfo/w/wyse85
+++ /dev/null
@@ -1 +0,0 @@
-wy85
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse85 b/lib/terminfo/w/wyse85
new file mode 100644
index 0000000..04c4883
--- /dev/null
+++ b/lib/terminfo/w/wyse85
Binary files differ
diff --git a/lib/terminfo/w/wyse85-8bit b/lib/terminfo/w/wyse85-8bit
deleted file mode 120000
index 2b17708..0000000
--- a/lib/terminfo/w/wyse85-8bit
+++ /dev/null
@@ -1 +0,0 @@
-wy85-8bit
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse85-8bit b/lib/terminfo/w/wyse85-8bit
new file mode 100644
index 0000000..e2069d1
--- /dev/null
+++ b/lib/terminfo/w/wyse85-8bit
Binary files differ
diff --git a/lib/terminfo/w/wyse85-vb b/lib/terminfo/w/wyse85-vb
deleted file mode 120000
index 0f8a346..0000000
--- a/lib/terminfo/w/wyse85-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy85-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse85-vb b/lib/terminfo/w/wyse85-vb
new file mode 100644
index 0000000..5f91df9
--- /dev/null
+++ b/lib/terminfo/w/wyse85-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse85-w b/lib/terminfo/w/wyse85-w
deleted file mode 120000
index 6ba1456..0000000
--- a/lib/terminfo/w/wyse85-w
+++ /dev/null
@@ -1 +0,0 @@
-wy85-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse85-w b/lib/terminfo/w/wyse85-w
new file mode 100644
index 0000000..4a17128
--- /dev/null
+++ b/lib/terminfo/w/wyse85-w
Binary files differ
diff --git a/lib/terminfo/w/wyse85-wvb b/lib/terminfo/w/wyse85-wvb
deleted file mode 120000
index 2552ffe..0000000
--- a/lib/terminfo/w/wyse85-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy85-wvb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse85-wvb b/lib/terminfo/w/wyse85-wvb
new file mode 100644
index 0000000..a18a7ee
--- /dev/null
+++ b/lib/terminfo/w/wyse85-wvb
Binary files differ
diff --git a/lib/terminfo/w/wyse99gt b/lib/terminfo/w/wyse99gt
deleted file mode 120000
index 0af617e..0000000
--- a/lib/terminfo/w/wyse99gt
+++ /dev/null
@@ -1 +0,0 @@
-wy99gt
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt b/lib/terminfo/w/wyse99gt
new file mode 100644
index 0000000..5bcb660
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt
Binary files differ
diff --git a/lib/terminfo/w/wyse99gt-25 b/lib/terminfo/w/wyse99gt-25
deleted file mode 120000
index 4ebd592..0000000
--- a/lib/terminfo/w/wyse99gt-25
+++ /dev/null
@@ -1 +0,0 @@
-wy99gt-25
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt-25 b/lib/terminfo/w/wyse99gt-25
new file mode 100644
index 0000000..41d58c4
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt-25
Binary files differ
diff --git a/lib/terminfo/w/wyse99gt-25-w b/lib/terminfo/w/wyse99gt-25-w
deleted file mode 120000
index 9031ef0..0000000
--- a/lib/terminfo/w/wyse99gt-25-w
+++ /dev/null
@@ -1 +0,0 @@
-wy99gt-25-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt-25-w b/lib/terminfo/w/wyse99gt-25-w
new file mode 100644
index 0000000..71fb497
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt-25-w
Binary files differ
diff --git a/lib/terminfo/w/wyse99gt-vb b/lib/terminfo/w/wyse99gt-vb
deleted file mode 120000
index 29f1062..0000000
--- a/lib/terminfo/w/wyse99gt-vb
+++ /dev/null
@@ -1 +0,0 @@
-wy99gt-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt-vb b/lib/terminfo/w/wyse99gt-vb
new file mode 100644
index 0000000..8ce9af0
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt-vb
Binary files differ
diff --git a/lib/terminfo/w/wyse99gt-w b/lib/terminfo/w/wyse99gt-w
deleted file mode 120000
index 6f0979d..0000000
--- a/lib/terminfo/w/wyse99gt-w
+++ /dev/null
@@ -1 +0,0 @@
-wy99gt-w
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt-w b/lib/terminfo/w/wyse99gt-w
new file mode 100644
index 0000000..410780a
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt-w
Binary files differ
diff --git a/lib/terminfo/w/wyse99gt-wvb b/lib/terminfo/w/wyse99gt-wvb
deleted file mode 120000
index cd63081..0000000
--- a/lib/terminfo/w/wyse99gt-wvb
+++ /dev/null
@@ -1 +0,0 @@
-wy99gt-w-vb
\ No newline at end of file
diff --git a/lib/terminfo/w/wyse99gt-wvb b/lib/terminfo/w/wyse99gt-wvb
new file mode 100644
index 0000000..17c79a3
--- /dev/null
+++ b/lib/terminfo/w/wyse99gt-wvb
Binary files differ
diff --git a/lib/terminfo/x/x10term+sl b/lib/terminfo/x/x10term+sl
new file mode 100644
index 0000000..8530098
--- /dev/null
+++ b/lib/terminfo/x/x10term+sl
Binary files differ
diff --git a/lib/terminfo/x/x1700 b/lib/terminfo/x/x1700
deleted file mode 120000
index 8c31260..0000000
--- a/lib/terminfo/x/x1700
+++ /dev/null
@@ -1 +0,0 @@
-../d/diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/x/x1700 b/lib/terminfo/x/x1700
new file mode 100644
index 0000000..6d9b14d
--- /dev/null
+++ b/lib/terminfo/x/x1700
Binary files differ
diff --git a/lib/terminfo/x/x1700-lm b/lib/terminfo/x/x1700-lm
deleted file mode 120000
index 81ac7e1..0000000
--- a/lib/terminfo/x/x1700-lm
+++ /dev/null
@@ -1 +0,0 @@
-../d/diablo1740-lm
\ No newline at end of file
diff --git a/lib/terminfo/x/x1700-lm b/lib/terminfo/x/x1700-lm
new file mode 100644
index 0000000..4aeeb98
--- /dev/null
+++ b/lib/terminfo/x/x1700-lm
Binary files differ
diff --git a/lib/terminfo/x/x1720 b/lib/terminfo/x/x1720
deleted file mode 120000
index c713863..0000000
--- a/lib/terminfo/x/x1720
+++ /dev/null
@@ -1 +0,0 @@
-xerox1720
\ No newline at end of file
diff --git a/lib/terminfo/x/x1720 b/lib/terminfo/x/x1720
new file mode 100644
index 0000000..02a23f5
--- /dev/null
+++ b/lib/terminfo/x/x1720
Binary files differ
diff --git a/lib/terminfo/x/x1750 b/lib/terminfo/x/x1750
deleted file mode 120000
index c713863..0000000
--- a/lib/terminfo/x/x1750
+++ /dev/null
@@ -1 +0,0 @@
-xerox1720
\ No newline at end of file
diff --git a/lib/terminfo/x/x1750 b/lib/terminfo/x/x1750
new file mode 100644
index 0000000..02a23f5
--- /dev/null
+++ b/lib/terminfo/x/x1750
Binary files differ
diff --git a/lib/terminfo/x/x68k b/lib/terminfo/x/x68k
index 7b9e13f..6a3a73a 100644
--- a/lib/terminfo/x/x68k
+++ b/lib/terminfo/x/x68k
Binary files differ
diff --git a/lib/terminfo/x/x68k-ite b/lib/terminfo/x/x68k-ite
deleted file mode 120000
index c1bbafb..0000000
--- a/lib/terminfo/x/x68k-ite
+++ /dev/null
@@ -1 +0,0 @@
-x68k
\ No newline at end of file
diff --git a/lib/terminfo/x/x68k-ite b/lib/terminfo/x/x68k-ite
new file mode 100644
index 0000000..6a3a73a
--- /dev/null
+++ b/lib/terminfo/x/x68k-ite
Binary files differ
diff --git a/lib/terminfo/x/x820 b/lib/terminfo/x/x820
deleted file mode 120000
index e3b1cca..0000000
--- a/lib/terminfo/x/x820
+++ /dev/null
@@ -1 +0,0 @@
-xerox820
\ No newline at end of file
diff --git a/lib/terminfo/x/x820 b/lib/terminfo/x/x820
new file mode 100644
index 0000000..24d1d64
--- /dev/null
+++ b/lib/terminfo/x/x820
Binary files differ
diff --git a/lib/terminfo/x/xdku b/lib/terminfo/x/xdku
deleted file mode 120000
index 1392595..0000000
--- a/lib/terminfo/x/xdku
+++ /dev/null
@@ -1 +0,0 @@
-../t/tws2103
\ No newline at end of file
diff --git a/lib/terminfo/x/xdku b/lib/terminfo/x/xdku
new file mode 100644
index 0000000..213d40f
--- /dev/null
+++ b/lib/terminfo/x/xdku
Binary files differ
diff --git a/lib/terminfo/x/xenix b/lib/terminfo/x/xenix
deleted file mode 120000
index 2311fdf..0000000
--- a/lib/terminfo/x/xenix
+++ /dev/null
@@ -1 +0,0 @@
-../i/ibmpcx
\ No newline at end of file
diff --git a/lib/terminfo/x/xenix b/lib/terminfo/x/xenix
new file mode 100644
index 0000000..86e3056
--- /dev/null
+++ b/lib/terminfo/x/xenix
Binary files differ
diff --git a/lib/terminfo/x/xerox b/lib/terminfo/x/xerox
deleted file mode 120000
index 8c31260..0000000
--- a/lib/terminfo/x/xerox
+++ /dev/null
@@ -1 +0,0 @@
-../d/diablo1640
\ No newline at end of file
diff --git a/lib/terminfo/x/xerox b/lib/terminfo/x/xerox
new file mode 100644
index 0000000..6d9b14d
--- /dev/null
+++ b/lib/terminfo/x/xerox
Binary files differ
diff --git a/lib/terminfo/x/xerox-lm b/lib/terminfo/x/xerox-lm
deleted file mode 120000
index 314effd..0000000
--- a/lib/terminfo/x/xerox-lm
+++ /dev/null
@@ -1 +0,0 @@
-../d/diablo1640-lm
\ No newline at end of file
diff --git a/lib/terminfo/x/xerox-lm b/lib/terminfo/x/xerox-lm
new file mode 100644
index 0000000..ce7f55e
--- /dev/null
+++ b/lib/terminfo/x/xerox-lm
Binary files differ
diff --git a/lib/terminfo/x/xerox1720 b/lib/terminfo/x/xerox1720
index 68b8097..02a23f5 100644
--- a/lib/terminfo/x/xerox1720
+++ b/lib/terminfo/x/xerox1720
Binary files differ
diff --git a/lib/terminfo/x/xfce b/lib/terminfo/x/xfce
index 0e4bc42..4adf6d4 100644
--- a/lib/terminfo/x/xfce
+++ b/lib/terminfo/x/xfce
Binary files differ
diff --git a/lib/terminfo/x/xgterm b/lib/terminfo/x/xgterm
new file mode 100644
index 0000000..716a3e6
--- /dev/null
+++ b/lib/terminfo/x/xgterm
Binary files differ
diff --git a/lib/terminfo/x/xiterm b/lib/terminfo/x/xiterm
index 438f6ba..5b9a7a9 100644
--- a/lib/terminfo/x/xiterm
+++ b/lib/terminfo/x/xiterm
Binary files differ
diff --git a/lib/terminfo/x/xl83 b/lib/terminfo/x/xl83
deleted file mode 120000
index 5d7029b..0000000
--- a/lib/terminfo/x/xl83
+++ /dev/null
@@ -1 +0,0 @@
-../c/cyb83
\ No newline at end of file
diff --git a/lib/terminfo/x/xl83 b/lib/terminfo/x/xl83
new file mode 100644
index 0000000..b64c620
--- /dev/null
+++ b/lib/terminfo/x/xl83
Binary files differ
diff --git a/lib/terminfo/x/xnuppc b/lib/terminfo/x/xnuppc
index 3dad6c8..accbc11 100644
--- a/lib/terminfo/x/xnuppc
+++ b/lib/terminfo/x/xnuppc
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+100x37 b/lib/terminfo/x/xnuppc+100x37
index 68f180e..6ef6bad 100644
--- a/lib/terminfo/x/xnuppc+100x37
+++ b/lib/terminfo/x/xnuppc+100x37
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+112x37 b/lib/terminfo/x/xnuppc+112x37
index 2277326..dc8a7f3 100644
--- a/lib/terminfo/x/xnuppc+112x37
+++ b/lib/terminfo/x/xnuppc+112x37
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+128x40 b/lib/terminfo/x/xnuppc+128x40
index 0d70274..f17ea5b 100644
--- a/lib/terminfo/x/xnuppc+128x40
+++ b/lib/terminfo/x/xnuppc+128x40
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+128x48 b/lib/terminfo/x/xnuppc+128x48
index ce8091a..ceefda0 100644
--- a/lib/terminfo/x/xnuppc+128x48
+++ b/lib/terminfo/x/xnuppc+128x48
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+144x48 b/lib/terminfo/x/xnuppc+144x48
index 17bf93d..c75551b 100644
--- a/lib/terminfo/x/xnuppc+144x48
+++ b/lib/terminfo/x/xnuppc+144x48
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+160x64 b/lib/terminfo/x/xnuppc+160x64
index 2974c09..21c1dbd 100644
--- a/lib/terminfo/x/xnuppc+160x64
+++ b/lib/terminfo/x/xnuppc+160x64
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+200x64 b/lib/terminfo/x/xnuppc+200x64
index fcbdaa0..51bbc55 100644
--- a/lib/terminfo/x/xnuppc+200x64
+++ b/lib/terminfo/x/xnuppc+200x64
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+200x75 b/lib/terminfo/x/xnuppc+200x75
index e0d8252..d8354c7 100644
--- a/lib/terminfo/x/xnuppc+200x75
+++ b/lib/terminfo/x/xnuppc+200x75
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+256x96 b/lib/terminfo/x/xnuppc+256x96
index 1395d40..a68cefc 100644
--- a/lib/terminfo/x/xnuppc+256x96
+++ b/lib/terminfo/x/xnuppc+256x96
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+80x25 b/lib/terminfo/x/xnuppc+80x25
index 6548421..b70c340 100644
--- a/lib/terminfo/x/xnuppc+80x25
+++ b/lib/terminfo/x/xnuppc+80x25
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+80x30 b/lib/terminfo/x/xnuppc+80x30
index 95cfb81..52c54f5 100644
--- a/lib/terminfo/x/xnuppc+80x30
+++ b/lib/terminfo/x/xnuppc+80x30
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+90x30 b/lib/terminfo/x/xnuppc+90x30
index 13513c8..aeea15c 100644
--- a/lib/terminfo/x/xnuppc+90x30
+++ b/lib/terminfo/x/xnuppc+90x30
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+b b/lib/terminfo/x/xnuppc+b
index 15d20b4..7525bbd 100644
--- a/lib/terminfo/x/xnuppc+b
+++ b/lib/terminfo/x/xnuppc+b
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+basic b/lib/terminfo/x/xnuppc+basic
index 186d206..c4fc0da 100644
--- a/lib/terminfo/x/xnuppc+basic
+++ b/lib/terminfo/x/xnuppc+basic
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+c b/lib/terminfo/x/xnuppc+c
index 515da8d..bba151a 100644
--- a/lib/terminfo/x/xnuppc+c
+++ b/lib/terminfo/x/xnuppc+c
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+f b/lib/terminfo/x/xnuppc+f
index f878a74..344ec77 100644
--- a/lib/terminfo/x/xnuppc+f
+++ b/lib/terminfo/x/xnuppc+f
Binary files differ
diff --git a/lib/terminfo/x/xnuppc+f2 b/lib/terminfo/x/xnuppc+f2
index fe34ddb..b08ee9b 100644
--- a/lib/terminfo/x/xnuppc+f2
+++ b/lib/terminfo/x/xnuppc+f2
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-100x37 b/lib/terminfo/x/xnuppc-100x37
index aaee560..f443578 100644
--- a/lib/terminfo/x/xnuppc-100x37
+++ b/lib/terminfo/x/xnuppc-100x37
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-100x37-m b/lib/terminfo/x/xnuppc-100x37-m
index 4bc6904..d1d76a4 100644
--- a/lib/terminfo/x/xnuppc-100x37-m
+++ b/lib/terminfo/x/xnuppc-100x37-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-112x37 b/lib/terminfo/x/xnuppc-112x37
index baa9cbb..73712ad 100644
--- a/lib/terminfo/x/xnuppc-112x37
+++ b/lib/terminfo/x/xnuppc-112x37
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-112x37-m b/lib/terminfo/x/xnuppc-112x37-m
index 6715a56..0384596 100644
--- a/lib/terminfo/x/xnuppc-112x37-m
+++ b/lib/terminfo/x/xnuppc-112x37-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-128x40 b/lib/terminfo/x/xnuppc-128x40
index 7b4562a..236e846 100644
--- a/lib/terminfo/x/xnuppc-128x40
+++ b/lib/terminfo/x/xnuppc-128x40
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-128x40-m b/lib/terminfo/x/xnuppc-128x40-m
index ec46a1f..7276a97 100644
--- a/lib/terminfo/x/xnuppc-128x40-m
+++ b/lib/terminfo/x/xnuppc-128x40-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-128x48 b/lib/terminfo/x/xnuppc-128x48
index 004ebfc..844e2c9 100644
--- a/lib/terminfo/x/xnuppc-128x48
+++ b/lib/terminfo/x/xnuppc-128x48
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-128x48-m b/lib/terminfo/x/xnuppc-128x48-m
index 80ceb59..4087dcc 100644
--- a/lib/terminfo/x/xnuppc-128x48-m
+++ b/lib/terminfo/x/xnuppc-128x48-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-144x48 b/lib/terminfo/x/xnuppc-144x48
index 6378324..4791612 100644
--- a/lib/terminfo/x/xnuppc-144x48
+++ b/lib/terminfo/x/xnuppc-144x48
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-144x48-m b/lib/terminfo/x/xnuppc-144x48-m
index 2643fce..a489ec6 100644
--- a/lib/terminfo/x/xnuppc-144x48-m
+++ b/lib/terminfo/x/xnuppc-144x48-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-160x64 b/lib/terminfo/x/xnuppc-160x64
index 8fdeddc..18692d7 100644
--- a/lib/terminfo/x/xnuppc-160x64
+++ b/lib/terminfo/x/xnuppc-160x64
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-160x64-m b/lib/terminfo/x/xnuppc-160x64-m
index b93353d..ad1c89c 100644
--- a/lib/terminfo/x/xnuppc-160x64-m
+++ b/lib/terminfo/x/xnuppc-160x64-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-200x64 b/lib/terminfo/x/xnuppc-200x64
index 0d9f752..c3f13da 100644
--- a/lib/terminfo/x/xnuppc-200x64
+++ b/lib/terminfo/x/xnuppc-200x64
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-200x64-m b/lib/terminfo/x/xnuppc-200x64-m
index 3ff2640..e962810 100644
--- a/lib/terminfo/x/xnuppc-200x64-m
+++ b/lib/terminfo/x/xnuppc-200x64-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-200x75 b/lib/terminfo/x/xnuppc-200x75
index 2a7ee27..3c06990 100644
--- a/lib/terminfo/x/xnuppc-200x75
+++ b/lib/terminfo/x/xnuppc-200x75
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-200x75-m b/lib/terminfo/x/xnuppc-200x75-m
index 07ecf50..e5896a8 100644
--- a/lib/terminfo/x/xnuppc-200x75-m
+++ b/lib/terminfo/x/xnuppc-200x75-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-256x96 b/lib/terminfo/x/xnuppc-256x96
index 345b648..d7eb887 100644
--- a/lib/terminfo/x/xnuppc-256x96
+++ b/lib/terminfo/x/xnuppc-256x96
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-256x96-m b/lib/terminfo/x/xnuppc-256x96-m
index e0c2222..2c7281a 100644
--- a/lib/terminfo/x/xnuppc-256x96-m
+++ b/lib/terminfo/x/xnuppc-256x96-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-80x25 b/lib/terminfo/x/xnuppc-80x25
index 3e96764..504cd3f 100644
--- a/lib/terminfo/x/xnuppc-80x25
+++ b/lib/terminfo/x/xnuppc-80x25
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-80x25-m b/lib/terminfo/x/xnuppc-80x25-m
index 1f5e92d..50c3f5e 100644
--- a/lib/terminfo/x/xnuppc-80x25-m
+++ b/lib/terminfo/x/xnuppc-80x25-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-80x30 b/lib/terminfo/x/xnuppc-80x30
index c6dfbd1..4f2ec6f 100644
--- a/lib/terminfo/x/xnuppc-80x30
+++ b/lib/terminfo/x/xnuppc-80x30
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-80x30-m b/lib/terminfo/x/xnuppc-80x30-m
index cbe4439..60f5b1b 100644
--- a/lib/terminfo/x/xnuppc-80x30-m
+++ b/lib/terminfo/x/xnuppc-80x30-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-90x30 b/lib/terminfo/x/xnuppc-90x30
index 0cf94e6..68cbee6 100644
--- a/lib/terminfo/x/xnuppc-90x30
+++ b/lib/terminfo/x/xnuppc-90x30
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-90x30-m b/lib/terminfo/x/xnuppc-90x30-m
index 433586c..95e5e68 100644
--- a/lib/terminfo/x/xnuppc-90x30-m
+++ b/lib/terminfo/x/xnuppc-90x30-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-b b/lib/terminfo/x/xnuppc-b
index b5a4b5c..d0fd621 100644
--- a/lib/terminfo/x/xnuppc-b
+++ b/lib/terminfo/x/xnuppc-b
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-f b/lib/terminfo/x/xnuppc-f
index 6c83bae..835c991 100644
--- a/lib/terminfo/x/xnuppc-f
+++ b/lib/terminfo/x/xnuppc-f
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-f2 b/lib/terminfo/x/xnuppc-f2
index 38b1970..1400c3a 100644
--- a/lib/terminfo/x/xnuppc-f2
+++ b/lib/terminfo/x/xnuppc-f2
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-m b/lib/terminfo/x/xnuppc-m
index 4d8a88c..cc096a4 100644
--- a/lib/terminfo/x/xnuppc-m
+++ b/lib/terminfo/x/xnuppc-m
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-m-b b/lib/terminfo/x/xnuppc-m-b
index b5c1d63..fa4c977 100644
--- a/lib/terminfo/x/xnuppc-m-b
+++ b/lib/terminfo/x/xnuppc-m-b
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-m-f b/lib/terminfo/x/xnuppc-m-f
index cb5c1f0..09b00e7 100644
--- a/lib/terminfo/x/xnuppc-m-f
+++ b/lib/terminfo/x/xnuppc-m-f
Binary files differ
diff --git a/lib/terminfo/x/xnuppc-m-f2 b/lib/terminfo/x/xnuppc-m-f2
index 2a8ab88..7818790 100644
--- a/lib/terminfo/x/xnuppc-m-f2
+++ b/lib/terminfo/x/xnuppc-m-f2
Binary files differ
diff --git a/lib/terminfo/x/xterm b/lib/terminfo/x/xterm
index 12ad5b3..b51a85c 100644
--- a/lib/terminfo/x/xterm
+++ b/lib/terminfo/x/xterm
Binary files differ
diff --git a/lib/terminfo/x/xterm+256color b/lib/terminfo/x/xterm+256color
index a058522..a173456 100644
--- a/lib/terminfo/x/xterm+256color
+++ b/lib/terminfo/x/xterm+256color
Binary files differ
diff --git a/lib/terminfo/x/xterm+256color2 b/lib/terminfo/x/xterm+256color2
new file mode 100644
index 0000000..d71cead
--- /dev/null
+++ b/lib/terminfo/x/xterm+256color2
Binary files differ
diff --git a/lib/terminfo/x/xterm+256setaf b/lib/terminfo/x/xterm+256setaf
index 9967fa7..12785d4 100644
--- a/lib/terminfo/x/xterm+256setaf
+++ b/lib/terminfo/x/xterm+256setaf
Binary files differ
diff --git a/lib/terminfo/x/xterm+88color b/lib/terminfo/x/xterm+88color
index 8173ec8..4e3b92e 100644
--- a/lib/terminfo/x/xterm+88color
+++ b/lib/terminfo/x/xterm+88color
Binary files differ
diff --git a/lib/terminfo/x/xterm+88color2 b/lib/terminfo/x/xterm+88color2
new file mode 100644
index 0000000..5bd479d
--- /dev/null
+++ b/lib/terminfo/x/xterm+88color2
Binary files differ
diff --git a/lib/terminfo/x/xterm+acs b/lib/terminfo/x/xterm+acs
new file mode 100644
index 0000000..10be243
--- /dev/null
+++ b/lib/terminfo/x/xterm+acs
Binary files differ
diff --git a/lib/terminfo/x/xterm+alt+title b/lib/terminfo/x/xterm+alt+title
new file mode 100644
index 0000000..c3a2a19
--- /dev/null
+++ b/lib/terminfo/x/xterm+alt+title
Binary files differ
diff --git a/lib/terminfo/x/xterm+alt1049 b/lib/terminfo/x/xterm+alt1049
new file mode 100644
index 0000000..a3912c1
--- /dev/null
+++ b/lib/terminfo/x/xterm+alt1049
Binary files differ
diff --git a/lib/terminfo/x/xterm+alt47 b/lib/terminfo/x/xterm+alt47
new file mode 100644
index 0000000..9b82dee
--- /dev/null
+++ b/lib/terminfo/x/xterm+alt47
Binary files differ
diff --git a/lib/terminfo/x/xterm+app+pc b/lib/terminfo/x/xterm+app+pc
new file mode 100644
index 0000000..970e20d
--- /dev/null
+++ b/lib/terminfo/x/xterm+app+pc
Binary files differ
diff --git a/lib/terminfo/x/xterm+decedit b/lib/terminfo/x/xterm+decedit
new file mode 100644
index 0000000..a3fa820
--- /dev/null
+++ b/lib/terminfo/x/xterm+decedit
Binary files differ
diff --git a/lib/terminfo/x/xterm+direct b/lib/terminfo/x/xterm+direct
new file mode 100644
index 0000000..3f00ab2
--- /dev/null
+++ b/lib/terminfo/x/xterm+direct
Binary files differ
diff --git a/lib/terminfo/x/xterm+direct16 b/lib/terminfo/x/xterm+direct16
new file mode 100644
index 0000000..90783be
--- /dev/null
+++ b/lib/terminfo/x/xterm+direct16
Binary files differ
diff --git a/lib/terminfo/x/xterm+direct2 b/lib/terminfo/x/xterm+direct2
new file mode 100644
index 0000000..8a5e08f
--- /dev/null
+++ b/lib/terminfo/x/xterm+direct2
Binary files differ
diff --git a/lib/terminfo/x/xterm+direct256 b/lib/terminfo/x/xterm+direct256
new file mode 100644
index 0000000..fff2321
--- /dev/null
+++ b/lib/terminfo/x/xterm+direct256
Binary files differ
diff --git a/lib/terminfo/x/xterm+focus b/lib/terminfo/x/xterm+focus
new file mode 100644
index 0000000..3c36cd0
--- /dev/null
+++ b/lib/terminfo/x/xterm+focus
Binary files differ
diff --git a/lib/terminfo/x/xterm+indirect b/lib/terminfo/x/xterm+indirect
new file mode 100644
index 0000000..6f6931b
--- /dev/null
+++ b/lib/terminfo/x/xterm+indirect
Binary files differ
diff --git a/lib/terminfo/x/xterm+keypad b/lib/terminfo/x/xterm+keypad
new file mode 100644
index 0000000..65ef9e6
--- /dev/null
+++ b/lib/terminfo/x/xterm+keypad
Binary files differ
diff --git a/lib/terminfo/x/xterm+meta b/lib/terminfo/x/xterm+meta
new file mode 100644
index 0000000..9864a0c
--- /dev/null
+++ b/lib/terminfo/x/xterm+meta
Binary files differ
diff --git a/lib/terminfo/x/xterm+noalt b/lib/terminfo/x/xterm+noalt
new file mode 100644
index 0000000..edd97e6
--- /dev/null
+++ b/lib/terminfo/x/xterm+noalt
Binary files differ
diff --git a/lib/terminfo/x/xterm+nofkeys b/lib/terminfo/x/xterm+nofkeys
new file mode 100644
index 0000000..9810e7a
--- /dev/null
+++ b/lib/terminfo/x/xterm+nofkeys
Binary files differ
diff --git a/lib/terminfo/x/xterm+nopcfkeys b/lib/terminfo/x/xterm+nopcfkeys
new file mode 100644
index 0000000..6101cae
--- /dev/null
+++ b/lib/terminfo/x/xterm+nopcfkeys
Binary files differ
diff --git a/lib/terminfo/x/xterm+osc104 b/lib/terminfo/x/xterm+osc104
new file mode 100644
index 0000000..97132d9
--- /dev/null
+++ b/lib/terminfo/x/xterm+osc104
Binary files differ
diff --git a/lib/terminfo/x/xterm+pcc0 b/lib/terminfo/x/xterm+pcc0
index 1896b3b..ad2b3c9 100644
--- a/lib/terminfo/x/xterm+pcc0
+++ b/lib/terminfo/x/xterm+pcc0
Binary files differ
diff --git a/lib/terminfo/x/xterm+pcc2 b/lib/terminfo/x/xterm+pcc2
index ef0486a..0765697 100644
--- a/lib/terminfo/x/xterm+pcc2
+++ b/lib/terminfo/x/xterm+pcc2
Binary files differ
diff --git a/lib/terminfo/x/xterm+pce2 b/lib/terminfo/x/xterm+pce2
index b77338a..50e6a88 100644
--- a/lib/terminfo/x/xterm+pce2
+++ b/lib/terminfo/x/xterm+pce2
Binary files differ
diff --git a/lib/terminfo/x/xterm+pcfkeys b/lib/terminfo/x/xterm+pcfkeys
index dd11697..2938bc0 100644
--- a/lib/terminfo/x/xterm+pcfkeys
+++ b/lib/terminfo/x/xterm+pcfkeys
Binary files differ
diff --git a/lib/terminfo/x/xterm+sl b/lib/terminfo/x/xterm+sl
index 4d0f685..080146e 100644
--- a/lib/terminfo/x/xterm+sl
+++ b/lib/terminfo/x/xterm+sl
Binary files differ
diff --git a/lib/terminfo/x/xterm+sl-alt b/lib/terminfo/x/xterm+sl-alt
new file mode 100644
index 0000000..b5fe486
--- /dev/null
+++ b/lib/terminfo/x/xterm+sl-alt
Binary files differ
diff --git a/lib/terminfo/x/xterm+sm+1002 b/lib/terminfo/x/xterm+sm+1002
index 0dda5dc..7cb0931 100644
--- a/lib/terminfo/x/xterm+sm+1002
+++ b/lib/terminfo/x/xterm+sm+1002
Binary files differ
diff --git a/lib/terminfo/x/xterm+sm+1003 b/lib/terminfo/x/xterm+sm+1003
index da1b4e7..995040b 100644
--- a/lib/terminfo/x/xterm+sm+1003
+++ b/lib/terminfo/x/xterm+sm+1003
Binary files differ
diff --git a/lib/terminfo/x/xterm+sm+1005 b/lib/terminfo/x/xterm+sm+1005
index e55a22d..76f7a5b 100644
--- a/lib/terminfo/x/xterm+sm+1005
+++ b/lib/terminfo/x/xterm+sm+1005
Binary files differ
diff --git a/lib/terminfo/x/xterm+sm+1006 b/lib/terminfo/x/xterm+sm+1006
index 8a551db..846985c 100644
--- a/lib/terminfo/x/xterm+sm+1006
+++ b/lib/terminfo/x/xterm+sm+1006
Binary files differ
diff --git a/lib/terminfo/x/xterm+titlestack b/lib/terminfo/x/xterm+titlestack
new file mode 100644
index 0000000..0d2111f
--- /dev/null
+++ b/lib/terminfo/x/xterm+titlestack
Binary files differ
diff --git a/lib/terminfo/x/xterm+tmux b/lib/terminfo/x/xterm+tmux
index b602a89..6c6cfa6 100644
--- a/lib/terminfo/x/xterm+tmux
+++ b/lib/terminfo/x/xterm+tmux
Binary files differ
diff --git a/lib/terminfo/x/xterm+tmux2 b/lib/terminfo/x/xterm+tmux2
new file mode 100644
index 0000000..fff7553
--- /dev/null
+++ b/lib/terminfo/x/xterm+tmux2
Binary files differ
diff --git a/lib/terminfo/x/xterm+vt+edit b/lib/terminfo/x/xterm+vt+edit
index a435cb8..dd5960c 100644
--- a/lib/terminfo/x/xterm+vt+edit
+++ b/lib/terminfo/x/xterm+vt+edit
Binary files differ
diff --git a/lib/terminfo/x/xterm+x10mouse b/lib/terminfo/x/xterm+x10mouse
index a18b881..2c7e613 100644
--- a/lib/terminfo/x/xterm+x10mouse
+++ b/lib/terminfo/x/xterm+x10mouse
Binary files differ
diff --git a/lib/terminfo/x/xterm+x11hilite b/lib/terminfo/x/xterm+x11hilite
index 97484e0..305a247 100644
--- a/lib/terminfo/x/xterm+x11hilite
+++ b/lib/terminfo/x/xterm+x11hilite
Binary files differ
diff --git a/lib/terminfo/x/xterm+x11mouse b/lib/terminfo/x/xterm+x11mouse
index c97e557..05e4e86 100644
--- a/lib/terminfo/x/xterm+x11mouse
+++ b/lib/terminfo/x/xterm+x11mouse
Binary files differ
diff --git a/lib/terminfo/x/xterm-1002 b/lib/terminfo/x/xterm-1002
index be276d8..1f33eef 100644
--- a/lib/terminfo/x/xterm-1002
+++ b/lib/terminfo/x/xterm-1002
Binary files differ
diff --git a/lib/terminfo/x/xterm-1003 b/lib/terminfo/x/xterm-1003
index fb7731f..08ca1e5 100644
--- a/lib/terminfo/x/xterm-1003
+++ b/lib/terminfo/x/xterm-1003
Binary files differ
diff --git a/lib/terminfo/x/xterm-1005 b/lib/terminfo/x/xterm-1005
index 3377adf..9d7c954 100644
--- a/lib/terminfo/x/xterm-1005
+++ b/lib/terminfo/x/xterm-1005
Binary files differ
diff --git a/lib/terminfo/x/xterm-1006 b/lib/terminfo/x/xterm-1006
index b7408ea..89661fc 100644
--- a/lib/terminfo/x/xterm-1006
+++ b/lib/terminfo/x/xterm-1006
Binary files differ
diff --git a/lib/terminfo/x/xterm-16color b/lib/terminfo/x/xterm-16color
index 4f44a84..7c176e3 100644
--- a/lib/terminfo/x/xterm-16color
+++ b/lib/terminfo/x/xterm-16color
Binary files differ
diff --git a/lib/terminfo/x/xterm-24 b/lib/terminfo/x/xterm-24
index 5349f6d..879072b 100644
--- a/lib/terminfo/x/xterm-24
+++ b/lib/terminfo/x/xterm-24
Binary files differ
diff --git a/lib/terminfo/x/xterm-256color b/lib/terminfo/x/xterm-256color
index 80f0a34..97d44cc 100644
--- a/lib/terminfo/x/xterm-256color
+++ b/lib/terminfo/x/xterm-256color
Binary files differ
diff --git a/lib/terminfo/x/xterm-88color b/lib/terminfo/x/xterm-88color
index 4d74119..7a6a0e9 100644
--- a/lib/terminfo/x/xterm-88color
+++ b/lib/terminfo/x/xterm-88color
Binary files differ
diff --git a/lib/terminfo/x/xterm-8bit b/lib/terminfo/x/xterm-8bit
index e3b9930..5835108 100644
--- a/lib/terminfo/x/xterm-8bit
+++ b/lib/terminfo/x/xterm-8bit
Binary files differ
diff --git a/lib/terminfo/x/xterm-basic b/lib/terminfo/x/xterm-basic
index fcdc95c..5184d01 100644
--- a/lib/terminfo/x/xterm-basic
+++ b/lib/terminfo/x/xterm-basic
Binary files differ
diff --git a/lib/terminfo/x/xterm-direct b/lib/terminfo/x/xterm-direct
new file mode 100644
index 0000000..5494cbd
--- /dev/null
+++ b/lib/terminfo/x/xterm-direct
Binary files differ
diff --git a/lib/terminfo/x/xterm-direct16 b/lib/terminfo/x/xterm-direct16
new file mode 100644
index 0000000..08185b1
--- /dev/null
+++ b/lib/terminfo/x/xterm-direct16
Binary files differ
diff --git a/lib/terminfo/x/xterm-direct2 b/lib/terminfo/x/xterm-direct2
new file mode 100644
index 0000000..b094ef1
--- /dev/null
+++ b/lib/terminfo/x/xterm-direct2
Binary files differ
diff --git a/lib/terminfo/x/xterm-direct256 b/lib/terminfo/x/xterm-direct256
new file mode 100644
index 0000000..ff14315
--- /dev/null
+++ b/lib/terminfo/x/xterm-direct256
Binary files differ
diff --git a/lib/terminfo/x/xterm-hp b/lib/terminfo/x/xterm-hp
index 282db34..bec3fcb 100644
--- a/lib/terminfo/x/xterm-hp
+++ b/lib/terminfo/x/xterm-hp
Binary files differ
diff --git a/lib/terminfo/x/xterm-mono b/lib/terminfo/x/xterm-mono
new file mode 100644
index 0000000..df66b3e
--- /dev/null
+++ b/lib/terminfo/x/xterm-mono
Binary files differ
diff --git a/lib/terminfo/x/xterm-new b/lib/terminfo/x/xterm-new
index 596809e..f217f64 100644
--- a/lib/terminfo/x/xterm-new
+++ b/lib/terminfo/x/xterm-new
Binary files differ
diff --git a/lib/terminfo/x/xterm-nic b/lib/terminfo/x/xterm-nic
index 1e28ad4..bd6d47a 100644
--- a/lib/terminfo/x/xterm-nic
+++ b/lib/terminfo/x/xterm-nic
Binary files differ
diff --git a/lib/terminfo/x/xterm-noapp b/lib/terminfo/x/xterm-noapp
index 163445b..081f9c6 100644
--- a/lib/terminfo/x/xterm-noapp
+++ b/lib/terminfo/x/xterm-noapp
Binary files differ
diff --git a/lib/terminfo/x/xterm-p370 b/lib/terminfo/x/xterm-p370
new file mode 100644
index 0000000..e0c541c
--- /dev/null
+++ b/lib/terminfo/x/xterm-p370
Binary files differ
diff --git a/lib/terminfo/x/xterm-p371 b/lib/terminfo/x/xterm-p371
new file mode 100644
index 0000000..48dc003
--- /dev/null
+++ b/lib/terminfo/x/xterm-p371
Binary files differ
diff --git a/lib/terminfo/x/xterm-pcolor b/lib/terminfo/x/xterm-pcolor
index e8fb515..af19a92 100644
--- a/lib/terminfo/x/xterm-pcolor
+++ b/lib/terminfo/x/xterm-pcolor
Binary files differ
diff --git a/lib/terminfo/x/xterm-sco b/lib/terminfo/x/xterm-sco
index d838189..93ca43f 100644
--- a/lib/terminfo/x/xterm-sco
+++ b/lib/terminfo/x/xterm-sco
Binary files differ
diff --git a/lib/terminfo/x/xterm-sun b/lib/terminfo/x/xterm-sun
index 4b04128..4d6f0f1 100644
--- a/lib/terminfo/x/xterm-sun
+++ b/lib/terminfo/x/xterm-sun
Binary files differ
diff --git a/lib/terminfo/x/xterm-utf8 b/lib/terminfo/x/xterm-utf8
index 6443691..f1dce09 100644
--- a/lib/terminfo/x/xterm-utf8
+++ b/lib/terminfo/x/xterm-utf8
Binary files differ
diff --git a/lib/terminfo/x/xterm-vt220 b/lib/terminfo/x/xterm-vt220
index f7abb32..f5853fd 100644
--- a/lib/terminfo/x/xterm-vt220
+++ b/lib/terminfo/x/xterm-vt220
Binary files differ
diff --git a/lib/terminfo/x/xterm-vt52 b/lib/terminfo/x/xterm-vt52
index c088f9a..25633cf 100644
--- a/lib/terminfo/x/xterm-vt52
+++ b/lib/terminfo/x/xterm-vt52
Binary files differ
diff --git a/lib/terminfo/x/xterm-x10mouse b/lib/terminfo/x/xterm-x10mouse
index d46d61f..03d8d3f 100644
--- a/lib/terminfo/x/xterm-x10mouse
+++ b/lib/terminfo/x/xterm-x10mouse
Binary files differ
diff --git a/lib/terminfo/x/xterm-x11hilite b/lib/terminfo/x/xterm-x11hilite
index a26c583..1ff85c6 100644
--- a/lib/terminfo/x/xterm-x11hilite
+++ b/lib/terminfo/x/xterm-x11hilite
Binary files differ
diff --git a/lib/terminfo/x/xterm-x11mouse b/lib/terminfo/x/xterm-x11mouse
index 49f97c1..1ac7b44 100644
--- a/lib/terminfo/x/xterm-x11mouse
+++ b/lib/terminfo/x/xterm-x11mouse
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v32 b/lib/terminfo/x/xterm-xf86-v32
index ec4c264..0ae81a8 100644
--- a/lib/terminfo/x/xterm-xf86-v32
+++ b/lib/terminfo/x/xterm-xf86-v32
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v33 b/lib/terminfo/x/xterm-xf86-v33
index 1d447df..cd63624 100644
--- a/lib/terminfo/x/xterm-xf86-v33
+++ b/lib/terminfo/x/xterm-xf86-v33
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v333 b/lib/terminfo/x/xterm-xf86-v333
index ef6045b..1178372 100644
--- a/lib/terminfo/x/xterm-xf86-v333
+++ b/lib/terminfo/x/xterm-xf86-v333
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v40 b/lib/terminfo/x/xterm-xf86-v40
index 520868d..8b02203 100644
--- a/lib/terminfo/x/xterm-xf86-v40
+++ b/lib/terminfo/x/xterm-xf86-v40
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v43 b/lib/terminfo/x/xterm-xf86-v43
index f74b0c9..416ebe9 100644
--- a/lib/terminfo/x/xterm-xf86-v43
+++ b/lib/terminfo/x/xterm-xf86-v43
Binary files differ
diff --git a/lib/terminfo/x/xterm-xf86-v44 b/lib/terminfo/x/xterm-xf86-v44
index 6bf51a7..d607c25 100644
--- a/lib/terminfo/x/xterm-xf86-v44
+++ b/lib/terminfo/x/xterm-xf86-v44
Binary files differ
diff --git a/lib/terminfo/x/xterm-xfree86 b/lib/terminfo/x/xterm-xfree86
index 0b72f45..38ff566 100644
--- a/lib/terminfo/x/xterm-xfree86
+++ b/lib/terminfo/x/xterm-xfree86
Binary files differ
diff --git a/lib/terminfo/x/xterm-xi b/lib/terminfo/x/xterm-xi
index 071c827..81c2f78 100644
--- a/lib/terminfo/x/xterm-xi
+++ b/lib/terminfo/x/xterm-xi
Binary files differ
diff --git a/lib/terminfo/x/xterm.js b/lib/terminfo/x/xterm.js
new file mode 100644
index 0000000..11cfdfa
--- /dev/null
+++ b/lib/terminfo/x/xterm.js
Binary files differ
diff --git a/lib/terminfo/x/xterm1 b/lib/terminfo/x/xterm1
index f406930..0881455 100644
--- a/lib/terminfo/x/xterm1
+++ b/lib/terminfo/x/xterm1
Binary files differ
diff --git a/lib/terminfo/x/xtermc b/lib/terminfo/x/xtermc
index 0af01da..f885424 100644
--- a/lib/terminfo/x/xtermc
+++ b/lib/terminfo/x/xtermc
Binary files differ
diff --git a/lib/terminfo/x/xtermm b/lib/terminfo/x/xtermm
index c47dd78..988f421 100644
--- a/lib/terminfo/x/xtermm
+++ b/lib/terminfo/x/xtermm
Binary files differ
diff --git a/lib/terminfo/x/xterms b/lib/terminfo/x/xterms
deleted file mode 120000
index f72cf93..0000000
--- a/lib/terminfo/x/xterms
+++ /dev/null
@@ -1 +0,0 @@
-xterm-24
\ No newline at end of file
diff --git a/lib/terminfo/x/xterms b/lib/terminfo/x/xterms
new file mode 100644
index 0000000..879072b
--- /dev/null
+++ b/lib/terminfo/x/xterms
Binary files differ
diff --git a/lib/terminfo/x/xterms-sun b/lib/terminfo/x/xterms-sun
index 33bfc90..d54338a 100644
--- a/lib/terminfo/x/xterms-sun
+++ b/lib/terminfo/x/xterms-sun
Binary files differ
diff --git a/lib/terminfo/x/xwsh b/lib/terminfo/x/xwsh
deleted file mode 120000
index e952f2f..0000000
--- a/lib/terminfo/x/xwsh
+++ /dev/null
@@ -1 +0,0 @@
-../i/iris-color
\ No newline at end of file
diff --git a/lib/terminfo/x/xwsh b/lib/terminfo/x/xwsh
new file mode 100644
index 0000000..166c601
--- /dev/null
+++ b/lib/terminfo/x/xwsh
Binary files differ
diff --git a/lib/terminfo/z/z-100 b/lib/terminfo/z/z-100
deleted file mode 120000
index eaeecd4..0000000
--- a/lib/terminfo/z/z-100
+++ /dev/null
@@ -1 +0,0 @@
-z100
\ No newline at end of file
diff --git a/lib/terminfo/z/z-100 b/lib/terminfo/z/z-100
new file mode 100644
index 0000000..0d0311b
--- /dev/null
+++ b/lib/terminfo/z/z-100
Binary files differ
diff --git a/lib/terminfo/z/z-100bw b/lib/terminfo/z/z-100bw
deleted file mode 120000
index 34ef512..0000000
--- a/lib/terminfo/z/z-100bw
+++ /dev/null
@@ -1 +0,0 @@
-z100bw
\ No newline at end of file
diff --git a/lib/terminfo/z/z-100bw b/lib/terminfo/z/z-100bw
new file mode 100644
index 0000000..1900380
--- /dev/null
+++ b/lib/terminfo/z/z-100bw
Binary files differ
diff --git a/lib/terminfo/z/z100 b/lib/terminfo/z/z100
index 2dab927..0d0311b 100644
--- a/lib/terminfo/z/z100
+++ b/lib/terminfo/z/z100
Binary files differ
diff --git a/lib/terminfo/z/z100bw b/lib/terminfo/z/z100bw
index a2b51de..1900380 100644
--- a/lib/terminfo/z/z100bw
+++ b/lib/terminfo/z/z100bw
Binary files differ
diff --git a/lib/terminfo/z/z110 b/lib/terminfo/z/z110
deleted file mode 120000
index eaeecd4..0000000
--- a/lib/terminfo/z/z110
+++ /dev/null
@@ -1 +0,0 @@
-z100
\ No newline at end of file
diff --git a/lib/terminfo/z/z110 b/lib/terminfo/z/z110
new file mode 100644
index 0000000..0d0311b
--- /dev/null
+++ b/lib/terminfo/z/z110
Binary files differ
diff --git a/lib/terminfo/z/z110bw b/lib/terminfo/z/z110bw
deleted file mode 120000
index 34ef512..0000000
--- a/lib/terminfo/z/z110bw
+++ /dev/null
@@ -1 +0,0 @@
-z100bw
\ No newline at end of file
diff --git a/lib/terminfo/z/z110bw b/lib/terminfo/z/z110bw
new file mode 100644
index 0000000..1900380
--- /dev/null
+++ b/lib/terminfo/z/z110bw
Binary files differ
diff --git a/lib/terminfo/z/z19 b/lib/terminfo/z/z19
deleted file mode 120000
index 3ed95e0..0000000
--- a/lib/terminfo/z/z19
+++ /dev/null
@@ -1 +0,0 @@
-../h/h19
\ No newline at end of file
diff --git a/lib/terminfo/z/z19 b/lib/terminfo/z/z19
new file mode 100644
index 0000000..63b3b31
--- /dev/null
+++ b/lib/terminfo/z/z19
Binary files differ
diff --git a/lib/terminfo/z/z29 b/lib/terminfo/z/z29
index 2c8a1fc..15e7e8a 100644
--- a/lib/terminfo/z/z29
+++ b/lib/terminfo/z/z29
Binary files differ
diff --git a/lib/terminfo/z/z29a b/lib/terminfo/z/z29a
index 56d6baa..0fd6403 100644
--- a/lib/terminfo/z/z29a
+++ b/lib/terminfo/z/z29a
Binary files differ
diff --git a/lib/terminfo/z/z29a-kc-bc b/lib/terminfo/z/z29a-kc-bc
deleted file mode 120000
index efc5693..0000000
--- a/lib/terminfo/z/z29a-kc-bc
+++ /dev/null
@@ -1 +0,0 @@
-z29a
\ No newline at end of file
diff --git a/lib/terminfo/z/z29a-kc-bc b/lib/terminfo/z/z29a-kc-bc
new file mode 100644
index 0000000..0fd6403
--- /dev/null
+++ b/lib/terminfo/z/z29a-kc-bc
Binary files differ
diff --git a/lib/terminfo/z/z29a-kc-uc b/lib/terminfo/z/z29a-kc-uc
index 431b549..768270a 100644
--- a/lib/terminfo/z/z29a-kc-uc
+++ b/lib/terminfo/z/z29a-kc-uc
Binary files differ
diff --git a/lib/terminfo/z/z29a-nkc-bc b/lib/terminfo/z/z29a-nkc-bc
index 6d13a74..863c34a 100644
--- a/lib/terminfo/z/z29a-nkc-bc
+++ b/lib/terminfo/z/z29a-nkc-bc
Binary files differ
diff --git a/lib/terminfo/z/z29a-nkc-uc b/lib/terminfo/z/z29a-nkc-uc
index a12f915..b985159 100644
--- a/lib/terminfo/z/z29a-nkc-uc
+++ b/lib/terminfo/z/z29a-nkc-uc
Binary files differ
diff --git a/lib/terminfo/z/z29b b/lib/terminfo/z/z29b
deleted file mode 120000
index 9e067cc..0000000
--- a/lib/terminfo/z/z29b
+++ /dev/null
@@ -1 +0,0 @@
-z29
\ No newline at end of file
diff --git a/lib/terminfo/z/z29b b/lib/terminfo/z/z29b
new file mode 100644
index 0000000..15e7e8a
--- /dev/null
+++ b/lib/terminfo/z/z29b
Binary files differ
diff --git a/lib/terminfo/z/z30 b/lib/terminfo/z/z30
deleted file mode 120000
index 7364c4d..0000000
--- a/lib/terminfo/z/z30
+++ /dev/null
@@ -1 +0,0 @@
-zen30
\ No newline at end of file
diff --git a/lib/terminfo/z/z30 b/lib/terminfo/z/z30
new file mode 100644
index 0000000..686f806
--- /dev/null
+++ b/lib/terminfo/z/z30
Binary files differ
diff --git a/lib/terminfo/z/z340 b/lib/terminfo/z/z340
index 0ae5a4b..bd20aa0 100644
--- a/lib/terminfo/z/z340
+++ b/lib/terminfo/z/z340
Binary files differ
diff --git a/lib/terminfo/z/z340-nam b/lib/terminfo/z/z340-nam
index 2c2e2b3..5d4f945 100644
--- a/lib/terminfo/z/z340-nam
+++ b/lib/terminfo/z/z340-nam
Binary files differ
diff --git a/lib/terminfo/z/z39a b/lib/terminfo/z/z39a
deleted file mode 120000
index 77c36a1..0000000
--- a/lib/terminfo/z/z39a
+++ /dev/null
@@ -1 +0,0 @@
-z39-a
\ No newline at end of file
diff --git a/lib/terminfo/z/z39a b/lib/terminfo/z/z39a
new file mode 100644
index 0000000..d934401
--- /dev/null
+++ b/lib/terminfo/z/z39a
Binary files differ
diff --git a/lib/terminfo/z/z50 b/lib/terminfo/z/z50
deleted file mode 120000
index 01db52e..0000000
--- a/lib/terminfo/z/z50
+++ /dev/null
@@ -1 +0,0 @@
-zen50
\ No newline at end of file
diff --git a/lib/terminfo/z/z50 b/lib/terminfo/z/z50
new file mode 100644
index 0000000..5c66627
--- /dev/null
+++ b/lib/terminfo/z/z50
Binary files differ
diff --git a/lib/terminfo/z/z8001 b/lib/terminfo/z/z8001
deleted file mode 120000
index 6961ff6..0000000
--- a/lib/terminfo/z/z8001
+++ /dev/null
@@ -1 +0,0 @@
-../c/cci
\ No newline at end of file
diff --git a/lib/terminfo/z/z8001 b/lib/terminfo/z/z8001
new file mode 100644
index 0000000..c99e7b0
--- /dev/null
+++ b/lib/terminfo/z/z8001
Binary files differ
diff --git a/lib/terminfo/z/zen30 b/lib/terminfo/z/zen30
index e2253ba..686f806 100644
--- a/lib/terminfo/z/zen30
+++ b/lib/terminfo/z/zen30
Binary files differ
diff --git a/lib/terminfo/z/zen50 b/lib/terminfo/z/zen50
index a946642..5c66627 100644
--- a/lib/terminfo/z/zen50
+++ b/lib/terminfo/z/zen50
Binary files differ
diff --git a/lib/terminfo/z/zen8001 b/lib/terminfo/z/zen8001
deleted file mode 120000
index 6961ff6..0000000
--- a/lib/terminfo/z/zen8001
+++ /dev/null
@@ -1 +0,0 @@
-../c/cci
\ No newline at end of file
diff --git a/lib/terminfo/z/zen8001 b/lib/terminfo/z/zen8001
new file mode 100644
index 0000000..c99e7b0
--- /dev/null
+++ b/lib/terminfo/z/zen8001
Binary files differ
diff --git a/lib/terminfo/z/zenith b/lib/terminfo/z/zenith
deleted file mode 120000
index 3ed95e0..0000000
--- a/lib/terminfo/z/zenith
+++ /dev/null
@@ -1 +0,0 @@
-../h/h19
\ No newline at end of file
diff --git a/lib/terminfo/z/zenith b/lib/terminfo/z/zenith
new file mode 100644
index 0000000..63b3b31
--- /dev/null
+++ b/lib/terminfo/z/zenith
Binary files differ
diff --git a/lib/terminfo/z/zenith29 b/lib/terminfo/z/zenith29
deleted file mode 120000
index 9e067cc..0000000
--- a/lib/terminfo/z/zenith29
+++ /dev/null
@@ -1 +0,0 @@
-z29
\ No newline at end of file
diff --git a/lib/terminfo/z/zenith29 b/lib/terminfo/z/zenith29
new file mode 100644
index 0000000..15e7e8a
--- /dev/null
+++ b/lib/terminfo/z/zenith29
Binary files differ
diff --git a/lib/terminfo/z/zenith39-a b/lib/terminfo/z/zenith39-a
deleted file mode 120000
index 77c36a1..0000000
--- a/lib/terminfo/z/zenith39-a
+++ /dev/null
@@ -1 +0,0 @@
-z39-a
\ No newline at end of file
diff --git a/lib/terminfo/z/zenith39-a b/lib/terminfo/z/zenith39-a
new file mode 100644
index 0000000..d934401
--- /dev/null
+++ b/lib/terminfo/z/zenith39-a
Binary files differ
diff --git a/lib/terminfo/z/zenith39-ansi b/lib/terminfo/z/zenith39-ansi
deleted file mode 120000
index 77c36a1..0000000
--- a/lib/terminfo/z/zenith39-ansi
+++ /dev/null
@@ -1 +0,0 @@
-z39-a
\ No newline at end of file
diff --git a/lib/terminfo/z/zenith39-ansi b/lib/terminfo/z/zenith39-ansi
new file mode 100644
index 0000000..d934401
--- /dev/null
+++ b/lib/terminfo/z/zenith39-ansi
Binary files differ
diff --git a/lib/terminfo/z/zt-1 b/lib/terminfo/z/zt-1
deleted file mode 120000
index 92bc237..0000000
--- a/lib/terminfo/z/zt-1
+++ /dev/null
@@ -1 +0,0 @@
-ztx
\ No newline at end of file
diff --git a/lib/terminfo/z/zt-1 b/lib/terminfo/z/zt-1
new file mode 100644
index 0000000..91424b2
--- /dev/null
+++ b/lib/terminfo/z/zt-1
Binary files differ
diff --git a/lib/terminfo/z/ztx b/lib/terminfo/z/ztx
index 9e65d8d..91424b2 100644
--- a/lib/terminfo/z/ztx
+++ b/lib/terminfo/z/ztx
Binary files differ
diff --git a/lib/terminfo/z/ztx-1-a b/lib/terminfo/z/ztx-1-a
deleted file mode 120000
index 92bc237..0000000
--- a/lib/terminfo/z/ztx-1-a
+++ /dev/null
@@ -1 +0,0 @@
-ztx
\ No newline at end of file
diff --git a/lib/terminfo/z/ztx-1-a b/lib/terminfo/z/ztx-1-a
new file mode 100644
index 0000000..91424b2
--- /dev/null
+++ b/lib/terminfo/z/ztx-1-a
Binary files differ
diff --git a/lib/terminfo/z/ztx11 b/lib/terminfo/z/ztx11
deleted file mode 120000
index 92bc237..0000000
--- a/lib/terminfo/z/ztx11
+++ /dev/null
@@ -1 +0,0 @@
-ztx
\ No newline at end of file
diff --git a/lib/terminfo/z/ztx11 b/lib/terminfo/z/ztx11
new file mode 100644
index 0000000..91424b2
--- /dev/null
+++ b/lib/terminfo/z/ztx11
Binary files differ
diff --git a/man/Makefile b/man/Makefile
new file mode 100644
index 0000000..3e14609
--- /dev/null
+++ b/man/Makefile
@@ -0,0 +1,106 @@
+# $Id: Makefile.in,v 1.54 2022/10/22 16:36:40 tom Exp $
+##############################################################################
+# Copyright 2019-2021,2022 Thomas E. Dickey                                  #
+# Copyright 1998-2013,2015 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996,1997
+#
+# Makefile for ncurses manual pages.
+#
+# NOTE: When you add or rename a man page, make sure you update both
+# the top-level MANIFEST and any man/*.renames files!
+
+SHELL		= /bin/sh
+
+
+DESTDIR		= 
+srcdir		= .
+prefix		= /usr
+exec_prefix	= ${prefix}
+datarootdir	= ${prefix}/share
+datadir		= ${datarootdir}
+mandir		= ${datarootdir}/man
+includesubdir	= 
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+INSTALL		= /usr/bin/install -c
+INSTALL_DATA	= ${INSTALL} -m 644
+
+################################################################################
+
+.PHONY :	all
+.PHONY :	clean
+.PHONY :	depend
+.PHONY :	distclean
+.PHONY :	install
+.PHONY :	install.man
+.PHONY :	libs
+.PHONY :	mostlyclean
+.PHONY :	realclean
+.PHONY :	sources
+.PHONY :	uninstall
+.PHONY :	uninstall.man
+
+all \
+sources :	terminfo.5
+depend :
+tags :
+
+$(DESTDIR)$(mandir) :
+	mkdir -p $@
+
+EDITARGS = $(DESTDIR)$(mandir) $(srcdir) terminfo.5 *-config.1 $(srcdir)/*.[0-9]*
+
+install install.man : terminfo.5 $(DESTDIR)$(mandir)
+	$(SHELL) ../edit_man.sh normal installing $(EDITARGS)
+
+uninstall uninstall.man :
+	-$(SHELL) ../edit_man.sh normal removing $(EDITARGS)
+
+# We compose terminfo.5 from the real sources...
+CAPLIST	= \
+	$(srcdir)/../include/Caps \
+	$(srcdir)/../include/Caps-ncurses
+terminfo.5: $(srcdir)/terminfo.head \
+		$(CAPLIST) \
+		$(srcdir)/terminfo.tail \
+		Makefile $(srcdir)/MKterminfo.sh
+	$(SHELL) $(srcdir)/MKterminfo.sh $(srcdir)/terminfo.head $(CAPLIST) $(srcdir)/terminfo.tail >terminfo.5
+
+mostlyclean :
+	-rm -f core tags TAGS *~ *.bak *.ln *.atac trace
+
+clean:	mostlyclean
+	rm -f terminfo.5
+
+../edit_man.sed : make_sed.sh
+	$(SHELL) $(srcdir)/make_sed.sh /home/micky387/Omni/external/libncurses/man/man_db.renames >../edit_man.sed
+
+distclean realclean: clean
+	-rm -f Makefile *-config.1 ../edit_man.* ../man_alias.* man_db.renames
diff --git a/man/man_db.renames b/man/man_db.renames
new file mode 100644
index 0000000..2f553e5
--- /dev/null
+++ b/man/man_db.renames
@@ -0,0 +1,303 @@
+##############################################################################
+# Copyright 2019-2023,2024 Thomas E. Dickey                                  #
+# Copyright 1998-2015,2017 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+# $Id: man_db.renames.in,v 1.73 2024/04/13 23:39:11 tom Exp $
+# Manual-page renamings for the man_db program
+#
+# Files:
+captoinfo.1m			captoinfo.1
+clear.1				clear.1
+curs_add_wch.3x			add_wch.3ncurses
+curs_add_wchstr.3x		add_wchstr.3ncurses
+curs_addch.3x			addch.3ncurses
+curs_addchstr.3x		addchstr.3ncurses
+curs_addstr.3x			addstr.3ncurses
+curs_addwstr.3x			addwstr.3ncurses
+curs_attr.3x			attr.3ncurses
+curs_beep.3x			beep.3ncurses
+curs_bkgd.3x			bkgd.3ncurses
+curs_bkgrnd.3x			bkgrnd.3ncurses
+curs_border.3x			border.3ncurses
+curs_border_set.3x		border_set.3ncurses
+curs_clear.3x			clear.3ncurses
+curs_color.3x			color.3ncurses
+curs_delch.3x			delch.3ncurses
+curs_deleteln.3x		deleteln.3ncurses
+curs_extend.3x			extensions.3ncurses
+curs_get_wch.3x			get_wch.3ncurses
+curs_get_wstr.3x		get_wstr.3ncurses
+curs_getcchar.3x		getcchar.3ncurses
+curs_getch.3x			getch.3ncurses
+curs_getstr.3x			getstr.3ncurses
+curs_getyx.3x			getyx.3ncurses
+curs_in_wch.3x			in_wch.3ncurses
+curs_in_wchstr.3x		in_wchstr.3ncurses
+curs_inch.3x			inch.3ncurses
+curs_inchstr.3x			inchstr.3ncurses
+curs_initscr.3x			initscr.3ncurses
+curs_inopts.3x			inopts.3ncurses
+curs_ins_wch.3x			ins_wch.3ncurses
+curs_ins_wstr.3x		ins_wstr.3ncurses
+curs_insch.3x			insch.3ncurses
+curs_insstr.3x			insstr.3ncurses
+curs_instr.3x			instr.3ncurses
+curs_inwstr.3x			inwstr.3ncurses
+curs_kernel.3x			kernel.3ncurses
+curs_legacy.3x			legacy.3ncurses
+curs_memleaks.3x		memleaks.3ncurses
+curs_mouse.3x			mouse.3ncurses
+curs_move.3x			move.3ncurses
+curs_opaque.3x			opaque.3ncurses
+curs_outopts.3x			outopts.3ncurses
+curs_overlay.3x			overlay.3ncurses
+curs_pad.3x			pad.3ncurses
+curs_print.3x			print.3ncurses
+curs_printw.3x			printw.3ncurses
+curs_refresh.3x			refresh.3ncurses
+curs_scanw.3x			scanw.3ncurses
+curs_scr_dump.3x		scr_dump.3ncurses
+curs_scroll.3x			scroll.3ncurses
+curs_slk.3x			slk.3ncurses
+curs_sp_funcs.3x		sp_funcs.3ncurses
+curs_termattrs.3x		termattrs.3ncurses
+curs_termcap.3x			termcap.3ncurses
+curs_terminfo.3x		terminfo.3ncurses
+curs_threads.3x			threads.3ncurses
+curs_touch.3x			touch.3ncurses
+curs_trace.3x			trace.3ncurses
+curs_util.3x			util.3ncurses
+curs_variables.3x		curses_variables.3ncurses
+curs_window.3x			window.3ncurses
+curses.3x			ncurses.3ncurses
+default_colors.3x		default_colors.3ncurses
+define_key.3x			define_key.3ncurses
+form.3x				form.3form
+form_cursor.3x			cursor.3form
+form_data.3x			data.3form
+form_driver.3x			driver.3form
+form_field.3x			field.3form
+form_field_attributes.3x	field_attributes.3form
+form_field_buffer.3x		field_buffer.3form
+form_field_info.3x		field_info.3form
+form_field_just.3x		field_just.3form
+form_field_new.3x		field_new.3form
+form_field_opts.3x		field_opts.3form
+form_field_userptr.3x		field_userptr.3form
+form_field_validation.3x	field_validation.3form
+form_fieldtype.3x		fieldtype.3form
+form_hook.3x			hook.3form
+form_new.3x			new.3form
+form_new_page.3x		new_page.3form
+form_opts.3x			opts.3form
+form_page.3x			page.3form
+form_post.3x			post.3form
+form_requestname.3x		requestname.3form
+form_userptr.3x			userptr.3form
+form_variables.3x		form_variables.3form
+form_win.3x			win.3form
+infocmp.1m			infocmp.1
+infotocap.1m			infotocap.1
+key_defined.3x			key_defined.3ncurses
+keybound.3x			keybound.3ncurses
+keyok.3x			keyok.3ncurses
+legacy_coding.3x		legacy_coding.3ncurses
+menu.3x				menu.3menu
+menu_attributes.3x		attributes.3menu
+menu_cursor.3x			cursor.3menu
+menu_driver.3x			driver.3menu
+menu_format.3x			format.3menu
+menu_hook.3x			hook.3menu
+menu_items.3x			items.3menu
+menu_mark.3x			mark.3menu
+menu_new.3x			new.3menu
+menu_opts.3x			opts.3menu
+menu_pattern.3x			pattern.3menu
+menu_post.3x			post.3menu
+menu_requestname.3x		requestname.3menu
+menu_spacing.3x			spacing.3menu
+menu_userptr.3x			userptr.3menu
+menu_win.3x			win.3menu
+mitem_current.3x		menu_current.3menu
+mitem_name.3x			menu_name.3menu
+mitem_new.3x			menu_new.3menu
+mitem_opts.3x			menu_opts.3menu
+mitem_userptr.3x		menu_userptr.3menu
+mitem_value.3x			menu_value.3menu
+mitem_visible.3x		menu_visible.3menu
+ncurses.3x			ncurses.3ncurses
+new_pair.3x			new_pair.3ncurses
+panel.3x			panel.3ncurses
+printf.3s			printf.3
+putc.3s 			putc.3
+resizeterm.3x			resizeterm.3ncurses
+scanf.3s			scanf.3
+scr_dump.5			scr_dump.5
+system.3s			system.3
+tabs.1				tabs.1
+term.5				term.5
+term.7				term.7
+term_variables.3x		terminfo_variables.3ncurses
+terminfo.5			terminfo.5
+tic.1m				tic.1
+toe.1m				toe.1
+tput.1				tput.1
+tset.1				tset.1
+user_caps.5			user_caps.5
+wresize.3x			wresize.3ncurses
+#
+# Supplementary topics in the foregoing pages:
+add_wch.3x			add_wch.3ncurses
+addch.3x			addch.3ncurses
+assume_default_colors.3x	assume_default_colors.3ncurses
+attr_get.3x			attr_get.3ncurses
+attr_on.3x			attr_on.3ncurses
+attron.3x			attron.3ncurses
+baudrate.3x			baudrate.3ncurses
+bkgd.3x				bkgd.3ncurses
+bkgrnd.3x			bkgrnd.3ncurses
+cbreak.3x			cbreak.3ncurses
+clearok.3x			clearok.3ncurses
+clrtoeol.3x			clrtoeol.3ncurses
+curs_set.3x			curs_set.3ncurses
+curscr.3x			curscr.3ncurses
+curses_trace.3x			curses_trace.3ncurses
+def_prog_mode.3x		def_prog_mode.3ncurses
+def_shell_mode.3x		def_shell_mode.3ncurses
+del_curterm.3x			del_curterm.3ncurses
+delay_output.3x			delay_output.3ncurses
+delscreen.3x			delscreen.3ncurses
+derwin.3x			derwin.3ncurses
+doupdate.3x			doupdate.3ncurses
+echo.3x				echo.3ncurses
+endwin.3x			endwin.3ncurses
+extended_slk_color.3x		extended_slk_color.3ncurses
+filter.3x			filter.3ncurses
+flushinp.3x			flushinp.3ncurses
+get_wch.3x			get_wch.3ncurses
+getattr.3x			getattr.3ncurses
+getcchar.3x			getcchar.3ncurses
+getch.3x			getch.3ncurses
+getwin.3x			getwin.3ncurses
+halfdelay.3x			halfdelay.3ncurses
+has_key.3x			has_key.3ncurses
+idcok.3x			idcok.3ncurses
+idlok.3x			idlok.3ncurses
+immedok.3x			immedok.3ncurses
+in_wch.3x			in_wch.3ncurses
+inch.3x				inch.3ncurses
+initscr.3x			initscr.3ncurses
+is_scrollok.3x			is_scrollok.3ncurses
+keyname.3x			keyname.3ncurses
+keypad.3x			keypad.3ncurses
+leaveok.3x			leaveok.3ncurses
+longname.3x			longname.3ncurses
+meta.3x				meta.3ncurses
+move.3x				move.3ncurses
+mvcur.3x			mvcur.3ncurses
+mvwin.3x			mvwin.3ncurses
+newpad.3x			newpad.3ncurses
+newterm.3x			newterm.3ncurses
+newwin.3x			newwin.3ncurses
+nl.3x				nl.3ncurses
+nocbreak.3x			nocbreak.3ncurses
+nodelay.3x			nodelay.3ncurses
+nonl.3x				nonl.3ncurses
+notimeout.3x			notimeout.3ncurses
+pnoutrefresh.3x			pnoutrefresh.3ncurses
+prefresh.3x			prefresh.3ncurses
+printw.3x			printw.3ncurses
+putp.3x			putp.3ncurses
+putwin.3x			putwin.3ncurses
+raw.3x				raw.3ncurses
+refresh.3x			refresh.3ncurses
+reset_shell_mode.3x		reset_shell_mode.3ncurses
+restartterm.3x			restartterm.3ncurses
+ripoffline.3x			ripoffline.3ncurses
+scrollok.3x			scrollok.3ncurses
+set_curterm.3x			set_curterm.3ncurses
+set_term.3x			set_term.3nses
+setcchar.3x			setcchar.3ncurses
+setupterm.3x			setupterm.3ncurses
+slk_attr.3x			slk_attr.3ncurses
+slk_color.3x			slk_color.3ncurses
+slk_init.3x			slk_init.3ncurses
+slk_touch.3x			slk_touch.3ncurses
+start_color.3x			start_color.3ncurses
+subwin.3x			subwin.3ncurses
+syncok.3x			syncok.3ncurses
+terminfo.3x			terminfo.3ncurses
+tigetstr.3x			tigetstr.3ncurses
+touchline.3x			touchline.3ncurses
+touchwin.3x			touchwin.3ncurses
+tparm.3x			tparm.3ncurses
+tputs.3x			tputs.3ncurses
+trace.3x			trace.3ncurses
+unctrl.3x			unctrl.3ncurses
+use_default_colors.3x		use_default_colors.3ncurses
+use_env.3x			use_env.3ncurses
+use_extended_names.3x		use_extended_names.3ncurses
+use_legacy_coding.3x		use_legacy_coding.3ncurses
+use_tioctl.3x			use_tioctl.3ncurses
+vidputs.3x			vidputs.3ncurses
+wadd_wch.3x			wadd_wch.3ncurses
+waddch.3x			waddch.3ncurses
+waddstr.3x			waddstr.3ncurses
+waddwstr.3x			waddwstr.3ncurses
+wattr_set.3x			wattr_set.3ncurses
+wattrset.3x			wattrset.3ncurses
+wbkgdset.3x			wbkgdset.3ncurses
+wbkgrndset.3x			wbkgrndset.3ncurses
+wdelch.3x			wdelch.3ncurses
+wecho_wchar.3x			wecho_wchar.3ncurses
+wechochar.3x			wechochar.3ncurses
+wget_wch.3x			wget_wch.3ncurses
+wgetch.3x			wgetch.3ncurses
+wgetstr.3x			wgetstr.3ncurses
+winch.3x			winch.3ncurses
+wins_wch.3x			wins_wch.3ncurses
+winsch.3x			winsch.3ncurses
+wmove.3x			wmove.3ncurses
+wnoutrefresh.3x			wnoutrefresh.3ncurses
+wrefresh.3x			wrefresh.3ncurses
+wsetscrreg.3x			wsetscrreg.3ncurses
+wtimeout.3x			wtimeout.3ncurses
+#
+# Other:
+getty.8				getty.8
+scanf.3				scanf.3
+ttys.5				ttys.4
+system.3			system.3
+regcomp.3x			regcomp.3
+regexec.3x			regexec.3
+vprintf.3			vprintf.3
+#
+# The following are pages which may be generated depending on configuration:
+adacursesw6-config.1	adacursesw6-config.1
+ncursesw6-config.1	ncursesw6-config.1
+#
+# vile:cfgmode
diff --git a/man/ncursesw6-config.1 b/man/ncursesw6-config.1
new file mode 100644
index 0000000..b0a9025
--- /dev/null
+++ b/man/ncursesw6-config.1
@@ -0,0 +1,104 @@
+.\"***************************************************************************
+.\" Copyright 2020-2023,2024 Thomas E. Dickey                                *
+.\" Copyright 2010 Free Software Foundation, Inc.                            *
+.\"                                                                          *
+.\" Permission is hereby granted, free of charge, to any person obtaining a  *
+.\" copy of this software and associated documentation files (the            *
+.\" "Software"), to deal in the Software without restriction, including      *
+.\" without limitation the rights to use, copy, modify, merge, publish,      *
+.\" distribute, distribute with modifications, sublicense, and/or sell       *
+.\" copies of the Software, and to permit persons to whom the Software is    *
+.\" furnished to do so, subject to the following conditions:                 *
+.\"                                                                          *
+.\" The above copyright notice and this permission notice shall be included  *
+.\" in all copies or substantial portions of the Software.                   *
+.\"                                                                          *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+.\"                                                                          *
+.\" Except as contained in this notice, the name(s) of the above copyright   *
+.\" holders shall not be used in advertising or otherwise to promote the     *
+.\" sale, use or other dealings in this Software without prior written       *
+.\" authorization.                                                           *
+.\"***************************************************************************
+.\"
+.\" $Id: MKncu_config.in,v 1.24 2024/04/20 21:13:38 tom Exp $
+.TH ncursesw6-config 1 2024-04-20 "ncurses 6.5" "User commands"
+.SH NAME
+\fB\%ncursesw6-config\fP \-
+configuration helper for \fI\%ncurses\fP libraries
+.SH SYNOPSIS
+.B ncursesw6-config
+.I option
+\&.\|.\|.
+.PP
+.B "ncursesw6-config \-\-version"
+.PP
+.B "ncursesw6-config \-\-help"
+.SH DESCRIPTION
+This program development aid simplifies the process of configuring
+applications against a particular set of \fI\%ncurses\fP libraries.
+.SH OPTIONS
+.TP 18 \" "--mouse-version" + 2n + adjustment for PDF
+\fB\-\-prefix\fP
+reports the package prefix of \fI\%ncurses\fP.
+.TP
+\fB\-\-exec\-prefix\fP
+reports the executable prefix of \fI\%ncurses\fP.
+.TP
+\fB\-\-cflags\fP
+reports the C compiler flags needed to compile with \fI\%ncurses\fP.
+.TP
+\fB\-\-libs\fP
+reports the libraries needed to link with \fI\%ncurses\fP.
+.TP
+\fB\-\-abi\-version\fP
+reports the ABI version of \fI\%ncurses\fP.
+.TP
+\fB\-\-mouse\-version\fP
+reports the mouse\-interface version of \fI\%ncurses\fP.
+.TP
+\fB\-\-bindir\fP
+reports the directory containing \fI\%ncurses\fP programs.
+.TP
+\fB\-\-datadir\fP
+reports the directory containing \fI\%ncurses\fP data.
+.TP
+\fB\-\-includedir\fP
+reports the directory containing \fI\%ncurses\fP header files.
+.TP
+\fB\-\-libdir\fP
+reports the directory containing \fI\%ncurses\fP libraries.
+.TP
+\fB\-\-mandir\fP
+reports the directory containing \fI\%ncurses\fP man pages.
+.TP
+\fB\-\-terminfo\fP
+reports the \fI\%TERMINFO\fP \fIterminfo\fP database path,
+for example \fI\%/system_ext/etc/terminfo\fP.
+.TP
+\fB\-\-terminfo\-dirs\fP
+reports the \fI\%TERMINFO_DIRS\fP supplemental search path for the
+\fIterminfo\fP database,
+for example \fI\%/system_ext/etc/terminfo\fP.
+.TP
+\fB\-\-termpath\fP
+reports the \fI\%TERMPATH\fP supplemental search path for the
+\fItermcap\fP database,
+if support for \fItermcap\fP is configured.
+.PP
+The following options cause all others to be ignored.
+.TP 11 .\" "--version" + 2n
+\fB\-\-help\fP
+issues a usage message and exits successfully.
+.TP
+\fB\-\-version\fP
+issues the release and patch date information of \fI\%ncurses\fP and
+exits successfully.
+.SH "SEE ALSO"
+\fB\%curses\fP(3X)
diff --git a/man/terminfo.5 b/man/terminfo.5
new file mode 100644
index 0000000..1c34010
--- /dev/null
+++ b/man/terminfo.5
@@ -0,0 +1,4388 @@
+'\" t
+.\" DO NOT EDIT THIS FILE BY HAND!
+.\" It is generated from terminfo.head,  ./../include/Caps ./../include/Caps-ncurses, and terminfo.tail.
+.\"
+.\" Note: this must be run through tbl before nroff.
+.\" The magic cookie on the first line triggers this under some man programs.
+.\"***************************************************************************
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
+.\" Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
+.\"                                                                          *
+.\" Permission is hereby granted, free of charge, to any person obtaining a  *
+.\" copy of this software and associated documentation files (the            *
+.\" "Software"), to deal in the Software without restriction, including      *
+.\" without limitation the rights to use, copy, modify, merge, publish,      *
+.\" distribute, distribute with modifications, sublicense, and/or sell       *
+.\" copies of the Software, and to permit persons to whom the Software is    *
+.\" furnished to do so, subject to the following conditions:                 *
+.\"                                                                          *
+.\" The above copyright notice and this permission notice shall be included  *
+.\" in all copies or substantial portions of the Software.                   *
+.\"                                                                          *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+.\"                                                                          *
+.\" Except as contained in this notice, the name(s) of the above copyright   *
+.\" holders shall not be used in advertising or otherwise to promote the     *
+.\" sale, use or other dealings in this Software without prior written       *
+.\" authorization.                                                           *
+.\"***************************************************************************
+.\"
+.\" $Id: terminfo.head,v 1.65 2024/04/20 21:14:00 tom Exp $
+.TH terminfo 5 2024-04-20 "ncurses @NCURSES_MAJOR@.@NCURSES_MINOR@" "File formats"
+.ie \n(.g \{\
+.ds `` \(lq
+.ds '' \(rq
+.ds '  \(aq
+.ds ^  \(ha
+.ds ~  \(ti
+.\}
+.el \{\
+.ie t .ds `` ``
+.el   .ds `` ""
+.ie t .ds '' ''
+.el   .ds '' ""
+.ds       '  '
+.ds       ^  ^
+.ds       ~  ~
+.\}
+.
+.de bP
+.ie n  .IP \(bu 4
+.el    .IP \(bu 2
+..
+.
+.ds d @TERMINFO@
+.SH NAME
+\fB\%terminfo\fP \-
+terminal capability database
+.SH SYNOPSIS
+\*d/*/*
+.SH DESCRIPTION
+.I Terminfo
+is a database describing terminals,
+used by screen-oriented programs such as
+\fBnvi\fP(1),
+\fBlynx\fP(1),
+\fBmutt\fP(1),
+and other curses applications,
+using high-level calls to libraries such as \fBcurses\fP(3X).
+It is also used via low-level calls by non-curses applications
+which may be screen-oriented (such as \fB@CLEAR@\fP(1))
+or non-screen (such as \fB@TABS@\fP(1)).
+.PP
+.I Terminfo
+describes terminals by giving a set of capabilities which they
+have, by specifying how to perform screen operations, and by
+specifying padding requirements and initialization sequences.
+.PP
+This document describes
+.I \%ncurses
+version @NCURSES_MAJOR@.@NCURSES_MINOR@
+(patch @NCURSES_PATCH@).
+.SS "\fIterminfo\fP Entry Syntax"
+Entries in
+.I terminfo
+consist of a sequence of fields:
+.bP
+Each field ends with a comma \*(``,\*(''
+(embedded commas may be
+escaped with a backslash or written as \*(``\e054\*('').
+.bP
+White space between fields is ignored.
+.bP
+The first field in a \fIterminfo\fP entry begins in the first column.
+.bP
+Newlines and leading whitespace (spaces or tabs)
+may be used for formatting entries for readability.
+These are removed from parsed entries.
+.IP
+The \fB@INFOCMP@\fP \fB\-f\fP and \fB\-W\fP options rely on this to
+format if-then-else expressions,
+or to enforce maximum line-width.
+The resulting formatted terminal description can be read by \fB@TIC@\fP.
+.bP
+The first field for each terminal gives the names which are known for the
+terminal, separated by \*(``|\*('' characters.
+.IP
+The first name given is the most common abbreviation for the terminal
+(its primary name),
+the last name given should be a long name fully identifying the terminal
+(see \fBlongname\fP(3X)),
+and all others are treated as synonyms (aliases) for the primary terminal name.
+.IP
+X/Open Curses advises that all names but the last should be in lower case
+and contain no blanks;
+the last name may well contain upper case and blanks for readability.
+.IP
+This implementation is not so strict;
+it allows mixed case in the primary name and aliases.
+If the last name has no embedded blanks,
+it allows that to be both an alias and a verbose name
+(but will warn about this ambiguity).
+.bP
+Lines beginning with a \*(``#\*('' in the first column are treated as comments.
+.IP
+While comment lines are valid at any point, the output of \fB@CAPTOINFO@\fP
+and \fB@INFOTOCAP@\fP (aliases for \fB@TIC@\fP)
+will move comments so they occur only between entries.
+.PP
+Terminal names (except for the last, verbose entry) should
+be chosen using the following conventions.
+The particular piece of hardware making up the terminal should
+have a root name, thus \*(``hp2621\*(''.
+This name should not contain hyphens.
+Modes that the hardware can be in, or user preferences, should
+be indicated by appending a hyphen and a mode suffix.
+Thus, a vt100 in 132-column mode would be vt100\-w.
+The following suffixes should be used where possible:
+.PP
+.TS
+center;
+Lb Lb Lb
+L  L  Lx.
+Suffix	Example	Meaning
+_
+\-\fInn\fP	aaa\-60	Number of lines on the screen
+\-\fIn\fPp	c100\-4p	Number of pages of memory
+\-am	vt100\-am	With automargins (usually the default)
+\-m	ansi\-m	Mono mode; suppress color
+\-mc	wy30\-mc	Magic cookie; spaces when highlighting
+\-na	c100\-na	No arrow keys (leave them in local)
+\-nam	vt100\-nam	Without automatic margins
+\-nl	hp2621\-nl	No status line
+\-ns	hp2626\-ns	No status line
+\-rv	c100\-rv	Reverse video
+\-s	vt100\-s	Enable status line
+\-vb	wy370\-vb	Use visible bell instead of beep
+\-w	vt100\-w	Wide mode (> 80 columns, usually 132)
+.TE
+.PP
+For more on terminal naming conventions, see the \fBterm\fP(7) manual page.
+.SS "\fIterminfo\fP Capabilities Syntax"
+The terminfo entry consists of several \fIcapabilities\fP,
+i.e., features that the terminal has,
+or methods for exercising the terminal's features.
+.PP
+After the first field (giving the name(s) of the terminal entry),
+there should be one or more \fIcapability\fP fields.
+These are Boolean, numeric or string names with corresponding values:
+.bP
+Boolean capabilities are true when present, false when absent.
+There is no explicit value for Boolean capabilities.
+.bP
+Numeric capabilities have a \*(``#\*('' following the name,
+then an unsigned decimal integer value.
+.bP
+String capabilities have a \*(``=\*('' following the name,
+then an string of characters making up the capability value.
+.IP
+String capabilities can be split into multiple lines,
+just as the fields comprising a terminal entry can be
+split into multiple lines.
+While blanks between fields are ignored,
+blanks embedded within a string value are retained,
+except for leading blanks on a line.
+.PP
+Any capability can be \fIcanceled\fP,
+i.e., suppressed from the terminal entry,
+by following its name with \*(``@\*(''
+rather than a capability value.
+.SS "Similar Terminals"
+If there are two very similar terminals, one (the variant) can be defined as
+being just like the other (the base) with certain exceptions.
+In the
+definition of the variant, the string capability \fBuse\fP can be given with
+the name of the base terminal:
+.bP
+The capabilities given before
+.B use
+override those in the base type named by
+.BR use .
+.bP
+If there are multiple \fBuse\fP capabilities, they are merged in reverse order.
+That is, the rightmost \fBuse\fP reference is processed first, then the one to
+its left, and so forth.
+.bP
+Capabilities given explicitly in the entry override
+those brought in by \fBuse\fP references.
+.PP
+A capability can be canceled by placing \fBxx@\fP to the left of the
+use reference that imports it, where \fIxx\fP is the capability.
+For example, the entry
+.RS
+.PP
+2621\-nl, smkx@, rmkx@, use=2621,
+.RE
+.PP
+defines a 2621\-nl that does not have the \fBsmkx\fP or \fBrmkx\fP capabilities,
+and hence does not turn on the function key labels when in visual mode.
+This is useful for different modes for a terminal, or for different
+user preferences.
+.PP
+An entry included via \fBuse\fP can contain canceled capabilities,
+which have the same effect as if those cancels were inline in the
+using terminal entry.
+.SS "Predefined Capabilities"
+.\" Head of terminfo man page ends here
+.ps -1
+Tables of capabilities
+.I \%ncurses
+recognizes in a
+.I \%term\%info
+terminal type description and available to
+.IR \%term\%info -using
+code follow.
+.bP
+The capability name identifies the symbol by which the programmer
+using the
+.I \%term\%info
+API accesses the capability.
+.bP
+The TI
+.RI ( \%term\%info )
+code is the short name used by a person composing or updating a
+terminal type entry.
+.IP
+Whenever possible,
+these codes are the same as or similar to those of the ANSI X3.64-1979
+standard
+(now superseded by ECMA-48,
+which uses identical or very similar names).
+Semantics are also intended to match those of the specification.
+.IP
+.I \%term\%info
+codes have no hard length limit,
+but
+.I \%ncurses
+maintains an informal one of 5 characters to keep them short and to
+allow the tabs in the source file
+.I Caps
+to line up nicely.
+(Some standard codes exceed this limit regardless.)
+.bP
+The TC
+.RI ( termcap )
+code is that used by the corresponding API of
+.IR \%ncurses .
+(Some capabilities are new,
+and have names that BSD
+.I termcap
+did not originate.)
+.bP
+The description field attempts to convey the capability's semantics.
+.PP
+The description field employs a handful of notations.
+.TP
+.B (P)
+indicates that padding may be specified.
+.TP
+.B (P*)
+indicates that padding may vary in proportion to the number of output
+lines affected.
+.TP
+.BI # i
+indicates the
+.IR i th
+parameter of a string capability;
+the programmer should pass the string to \fB\%tparm\fP(3X) with the
+parameters listed.
+.IP
+If the description lists no parameters,
+passing the string to \fB\%tparm\fP(3X) may produce unexpected
+behavior,
+for instance if the string contains percent signs.
+.
+.PP
+.TS
+center;
+Lb        Cb       S   Lb
+Lb        Lb       Lb  Lb
+Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+\&	Code	\&
+Boolean Capability Name	TI	TC	Description
+_
+auto_left_margin	bw	bw	T{
+.ad l
+cub1 wraps from column 0 to last column
+T}
+auto_right_margin	am	am	T{
+.ad l
+terminal has automatic margins
+T}
+no_esc_ctlc	xsb	xb	T{
+.ad l
+beehive (f1=escape, f2=ctrl C)
+T}
+ceol_standout_glitch	xhp	xs	T{
+.ad l
+standout not erased by overwriting (hp)
+T}
+eat_newline_glitch	xenl	xn	T{
+.ad l
+newline ignored after 80 cols (concept)
+T}
+erase_overstrike	eo	eo	T{
+.ad l
+can erase overstrikes with a blank
+T}
+generic_type	gn	gn	T{
+.ad l
+generic line type
+T}
+hard_copy	hc	hc	T{
+.ad l
+hardcopy terminal
+T}
+has_meta_key	km	km	T{
+.ad l
+Has a meta key (i.e., sets 8th-bit)
+T}
+has_status_line	hs	hs	T{
+.ad l
+has extra status line
+T}
+insert_null_glitch	in	in	T{
+.ad l
+insert mode distinguishes nulls
+T}
+memory_above	da	da	T{
+.ad l
+display may be retained above the screen
+T}
+memory_below	db	db	T{
+.ad l
+display may be retained below the screen
+T}
+move_insert_mode	mir	mi	T{
+.ad l
+safe to move while in insert mode
+T}
+move_standout_mode	msgr	ms	T{
+.ad l
+safe to move while in standout mode
+T}
+over_strike	os	os	T{
+.ad l
+terminal can overstrike
+T}
+status_line_esc_ok	eslok	es	T{
+.ad l
+escape can be used on the status line
+T}
+dest_tabs_magic_smso	xt	xt	T{
+.ad l
+tabs destructive, magic so char (t1061)
+T}
+tilde_glitch	hz	hz	T{
+.ad l
+cannot print ~'s (Hazeltine)
+T}
+transparent_underline	ul	ul	T{
+.ad l
+underline character overstrikes
+T}
+xon_xoff	xon	xo	T{
+.ad l
+terminal uses xon/xoff handshaking
+T}
+needs_xon_xoff	nxon	nx	T{
+.ad l
+padding will not work, xon/xoff required
+T}
+prtr_silent	mc5i	5i	T{
+.ad l
+printer will not echo on screen
+T}
+hard_cursor	chts	HC	T{
+.ad l
+cursor is hard to see
+T}
+non_rev_rmcup	nrrmc	NR	T{
+.ad l
+smcup does not reverse rmcup
+T}
+no_pad_char	npc	NP	T{
+.ad l
+pad character does not exist
+T}
+non_dest_scroll_region	ndscr	ND	T{
+.ad l
+scrolling region is non-destructive
+T}
+can_change	ccc	cc	T{
+.ad l
+terminal can re-define existing colors
+T}
+back_color_erase	bce	ut	T{
+.ad l
+screen erased with background color
+T}
+hue_lightness_saturation	hls	hl	T{
+.ad l
+terminal uses only HLS color notation (Tektronix)
+T}
+col_addr_glitch	xhpa	YA	T{
+.ad l
+only positive motion for hpa/mhpa caps
+T}
+cr_cancels_micro_mode	crxm	YB	T{
+.ad l
+using cr turns off micro mode
+T}
+has_print_wheel	daisy	YC	T{
+.ad l
+printer needs operator to change character set
+T}
+row_addr_glitch	xvpa	YD	T{
+.ad l
+only positive motion for vpa/mvpa caps
+T}
+semi_auto_right_margin	sam	YE	T{
+.ad l
+printing in last column causes cr
+T}
+cpi_changes_res	cpix	YF	T{
+.ad l
+changing character pitch changes resolution
+T}
+lpi_changes_res	lpix	YG	T{
+.ad l
+changing line pitch changes resolution
+T}
+.TE
+.PP
+.
+.TS
+center;
+Lb        Cb       S   Lb
+Lb        Lb       Lb  Lb
+Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+\&	Code	\&
+Numeric Capability Name	TI	TC	Description
+_
+columns	cols	co	T{
+.ad l
+number of columns in a line
+T}
+init_tabs	it	it	T{
+.ad l
+tabs initially every # spaces
+T}
+lines	lines	li	T{
+.ad l
+number of lines on screen or page
+T}
+lines_of_memory	lm	lm	T{
+.ad l
+lines of memory if > line. 0 means varies
+T}
+magic_cookie_glitch	xmc	sg	T{
+.ad l
+number of blank characters left by smso or rmso
+T}
+padding_baud_rate	pb	pb	T{
+.ad l
+lowest baud rate where padding needed
+T}
+virtual_terminal	vt	vt	T{
+.ad l
+virtual terminal number (CB/unix)
+T}
+width_status_line	wsl	ws	T{
+.ad l
+number of columns in status line
+T}
+num_labels	nlab	Nl	T{
+.ad l
+number of labels on screen
+T}
+label_height	lh	lh	T{
+.ad l
+rows in each label
+T}
+label_width	lw	lw	T{
+.ad l
+columns in each label
+T}
+max_attributes	ma	ma	T{
+.ad l
+maximum combined attributes terminal can handle
+T}
+maximum_windows	wnum	MW	T{
+.ad l
+maximum number of definable windows
+T}
+max_colors	colors	Co	T{
+.ad l
+maximum number of colors on screen
+T}
+max_pairs	pairs	pa	T{
+.ad l
+maximum number of color-pairs on the screen
+T}
+no_color_video	ncv	NC	T{
+.ad l
+video attributes that cannot be used with colors
+T}
+.TE
+.PP
+.
+The following numeric capabilities are present in the SVr4.0 term structure,
+but are not yet documented in the man page.
+They came in with SVr4's printer support.
+.
+.PP
+.TS
+center;
+Lb        Cb       S   Lb
+Lb        Lb       Lb  Lb
+Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+\&	Code	\&
+Numeric Capability Name	TI	TC	Description
+_
+buffer_capacity	bufsz	Ya	T{
+.ad l
+numbers of bytes buffered before printing
+T}
+dot_vert_spacing	spinv	Yb	T{
+.ad l
+spacing of pins vertically in pins per inch
+T}
+dot_horz_spacing	spinh	Yc	T{
+.ad l
+spacing of dots horizontally in dots per inch
+T}
+max_micro_address	maddr	Yd	T{
+.ad l
+maximum value in micro_..._address
+T}
+max_micro_jump	mjump	Ye	T{
+.ad l
+maximum value in parm_..._micro
+T}
+micro_col_size	mcs	Yf	T{
+.ad l
+character step size when in micro mode
+T}
+micro_line_size	mls	Yg	T{
+.ad l
+line step size when in micro mode
+T}
+number_of_pins	npins	Yh	T{
+.ad l
+numbers of pins in print-head
+T}
+output_res_char	orc	Yi	T{
+.ad l
+horizontal resolution in units per line
+T}
+output_res_line	orl	Yj	T{
+.ad l
+vertical resolution in units per line
+T}
+output_res_horz_inch	orhi	Yk	T{
+.ad l
+horizontal resolution in units per inch
+T}
+output_res_vert_inch	orvi	Yl	T{
+.ad l
+vertical resolution in units per inch
+T}
+print_rate	cps	Ym	T{
+.ad l
+print rate in characters per second
+T}
+wide_char_size	widcs	Yn	T{
+.ad l
+character step size when in double wide mode
+T}
+buttons	btns	BT	T{
+.ad l
+number of buttons on mouse
+T}
+bit_image_entwining	bitwin	Yo	T{
+.ad l
+number of passes for each bit-image row
+T}
+bit_image_type	bitype	Yp	T{
+.ad l
+type of bit-image device
+T}
+.TE
+.PP
+.
+.TS
+center;
+Lb        Cb       S   Lb
+Lb        Lb       Lb  Lb
+Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+\&	Code	\&
+String Capability Name	TI	TC	Description
+_
+back_tab	cbt	bt	T{
+.ad l
+back tab (P)
+T}
+bell	bel	bl	T{
+.ad l
+audible signal (bell) (P)
+T}
+carriage_return	cr	cr	T{
+.ad l
+carriage return (P*) (P*)
+T}
+change_scroll_region	csr	cs	T{
+.ad l
+change region to line #1 to line #2 (P)
+T}
+clear_all_tabs	tbc	ct	T{
+.ad l
+clear all tab stops (P)
+T}
+clear_screen	clear	cl	T{
+.ad l
+clear screen and home cursor (P*)
+T}
+clr_eol	el	ce	T{
+.ad l
+clear to end of line (P)
+T}
+clr_eos	ed	cd	T{
+.ad l
+clear to end of screen (P*)
+T}
+column_address	hpa	ch	T{
+.ad l
+horizontal position #1, absolute (P)
+T}
+command_character	cmdch	CC	T{
+.ad l
+terminal settable cmd character in prototype !?
+T}
+cursor_address	cup	cm	T{
+.ad l
+move to row #1 columns #2
+T}
+cursor_down	cud1	do	T{
+.ad l
+down one line
+T}
+cursor_home	home	ho	T{
+.ad l
+home cursor (if no cup)
+T}
+cursor_invisible	civis	vi	T{
+.ad l
+make cursor invisible
+T}
+cursor_left	cub1	le	T{
+.ad l
+move left one space
+T}
+cursor_mem_address	mrcup	CM	T{
+.ad l
+memory relative cursor addressing, move to row #1 columns #2
+T}
+cursor_normal	cnorm	ve	T{
+.ad l
+make cursor appear normal (undo civis/cvvis)
+T}
+cursor_right	cuf1	nd	T{
+.ad l
+non-destructive space (move right one space)
+T}
+cursor_to_ll	ll	ll	T{
+.ad l
+last line, first column (if no cup)
+T}
+cursor_up	cuu1	up	T{
+.ad l
+up one line
+T}
+cursor_visible	cvvis	vs	T{
+.ad l
+make cursor very visible
+T}
+delete_character	dch1	dc	T{
+.ad l
+delete character (P*)
+T}
+delete_line	dl1	dl	T{
+.ad l
+delete line (P*)
+T}
+dis_status_line	dsl	ds	T{
+.ad l
+disable status line
+T}
+down_half_line	hd	hd	T{
+.ad l
+half a line down
+T}
+enter_alt_charset_mode	smacs	as	T{
+.ad l
+start alternate character set (P)
+T}
+enter_blink_mode	blink	mb	T{
+.ad l
+turn on blinking
+T}
+enter_bold_mode	bold	md	T{
+.ad l
+turn on bold (extra bright) mode
+T}
+enter_ca_mode	smcup	ti	T{
+.ad l
+string to start programs using cup
+T}
+enter_delete_mode	smdc	dm	T{
+.ad l
+enter delete mode
+T}
+enter_dim_mode	dim	mh	T{
+.ad l
+turn on half-bright mode
+T}
+enter_insert_mode	smir	im	T{
+.ad l
+enter insert mode
+T}
+enter_secure_mode	invis	mk	T{
+.ad l
+turn on blank mode (characters invisible)
+T}
+enter_protected_mode	prot	mp	T{
+.ad l
+turn on protected mode
+T}
+enter_reverse_mode	rev	mr	T{
+.ad l
+turn on reverse video mode
+T}
+enter_standout_mode	smso	so	T{
+.ad l
+begin standout mode
+T}
+enter_underline_mode	smul	us	T{
+.ad l
+begin underline mode
+T}
+erase_chars	ech	ec	T{
+.ad l
+erase #1 characters (P)
+T}
+exit_alt_charset_mode	rmacs	ae	T{
+.ad l
+end alternate character set (P)
+T}
+exit_attribute_mode	sgr0	me	T{
+.ad l
+turn off all attributes
+T}
+exit_ca_mode	rmcup	te	T{
+.ad l
+strings to end programs using cup
+T}
+exit_delete_mode	rmdc	ed	T{
+.ad l
+end delete mode
+T}
+exit_insert_mode	rmir	ei	T{
+.ad l
+exit insert mode
+T}
+exit_standout_mode	rmso	se	T{
+.ad l
+exit standout mode
+T}
+exit_underline_mode	rmul	ue	T{
+.ad l
+exit underline mode
+T}
+flash_screen	flash	vb	T{
+.ad l
+visible bell (may not move cursor)
+T}
+form_feed	ff	ff	T{
+.ad l
+hardcopy terminal page eject (P*)
+T}
+from_status_line	fsl	fs	T{
+.ad l
+return from status line
+T}
+init_1string	is1	i1	T{
+.ad l
+initialization string
+T}
+init_2string	is2	is	T{
+.ad l
+initialization string
+T}
+init_3string	is3	i3	T{
+.ad l
+initialization string
+T}
+init_file	if	if	T{
+.ad l
+name of initialization file
+T}
+insert_character	ich1	ic	T{
+.ad l
+insert character (P)
+T}
+insert_line	il1	al	T{
+.ad l
+insert line (P*)
+T}
+insert_padding	ip	ip	T{
+.ad l
+insert padding after inserted character
+T}
+key_backspace	kbs	kb	T{
+.ad l
+backspace key
+T}
+key_catab	ktbc	ka	T{
+.ad l
+clear-all-tabs key
+T}
+key_clear	kclr	kC	T{
+.ad l
+clear-screen or erase key
+T}
+key_ctab	kctab	kt	T{
+.ad l
+clear-tab key
+T}
+key_dc	kdch1	kD	T{
+.ad l
+delete-character key
+T}
+key_dl	kdl1	kL	T{
+.ad l
+delete-line key
+T}
+key_down	kcud1	kd	T{
+.ad l
+down-arrow key
+T}
+.TE
+.TS
+center;
+Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+key_eic	krmir	kM	T{
+.ad l
+sent by rmir or smir in insert mode
+T}
+key_eol	kel	kE	T{
+.ad l
+clear-to-end-of-line key
+T}
+key_eos	ked	kS	T{
+.ad l
+clear-to-end-of-screen key
+T}
+key_f0	kf0	k0	T{
+.ad l
+F0 function key
+T}
+key_f1	kf1	k1	T{
+.ad l
+F1 function key
+T}
+key_f10	kf10	k;	T{
+.ad l
+F10 function key
+T}
+key_f2	kf2	k2	T{
+.ad l
+F2 function key
+T}
+key_f3	kf3	k3	T{
+.ad l
+F3 function key
+T}
+key_f4	kf4	k4	T{
+.ad l
+F4 function key
+T}
+key_f5	kf5	k5	T{
+.ad l
+F5 function key
+T}
+key_f6	kf6	k6	T{
+.ad l
+F6 function key
+T}
+key_f7	kf7	k7	T{
+.ad l
+F7 function key
+T}
+key_f8	kf8	k8	T{
+.ad l
+F8 function key
+T}
+key_f9	kf9	k9	T{
+.ad l
+F9 function key
+T}
+key_home	khome	kh	T{
+.ad l
+home key
+T}
+key_ic	kich1	kI	T{
+.ad l
+insert-character key
+T}
+key_il	kil1	kA	T{
+.ad l
+insert-line key
+T}
+key_left	kcub1	kl	T{
+.ad l
+left-arrow key
+T}
+key_ll	kll	kH	T{
+.ad l
+lower-left key (home down)
+T}
+key_npage	knp	kN	T{
+.ad l
+next-page key
+T}
+key_ppage	kpp	kP	T{
+.ad l
+previous-page key
+T}
+key_right	kcuf1	kr	T{
+.ad l
+right-arrow key
+T}
+key_sf	kind	kF	T{
+.ad l
+scroll-forward key
+T}
+key_sr	kri	kR	T{
+.ad l
+scroll-backward key
+T}
+key_stab	khts	kT	T{
+.ad l
+set-tab key
+T}
+key_up	kcuu1	ku	T{
+.ad l
+up-arrow key
+T}
+keypad_local	rmkx	ke	T{
+.ad l
+leave keyboard transmit mode
+T}
+keypad_xmit	smkx	ks	T{
+.ad l
+enter keyboard transmit mode
+T}
+lab_f0	lf0	l0	T{
+.ad l
+label on function key f0 if not f0
+T}
+lab_f1	lf1	l1	T{
+.ad l
+label on function key f1 if not f1
+T}
+lab_f10	lf10	la	T{
+.ad l
+label on function key f10 if not f10
+T}
+lab_f2	lf2	l2	T{
+.ad l
+label on function key f2 if not f2
+T}
+lab_f3	lf3	l3	T{
+.ad l
+label on function key f3 if not f3
+T}
+lab_f4	lf4	l4	T{
+.ad l
+label on function key f4 if not f4
+T}
+lab_f5	lf5	l5	T{
+.ad l
+label on function key f5 if not f5
+T}
+lab_f6	lf6	l6	T{
+.ad l
+label on function key f6 if not f6
+T}
+lab_f7	lf7	l7	T{
+.ad l
+label on function key f7 if not f7
+T}
+lab_f8	lf8	l8	T{
+.ad l
+label on function key f8 if not f8
+T}
+lab_f9	lf9	l9	T{
+.ad l
+label on function key f9 if not f9
+T}
+meta_off	rmm	mo	T{
+.ad l
+turn off meta mode
+T}
+meta_on	smm	mm	T{
+.ad l
+turn on meta mode (8th-bit on)
+T}
+newline	nel	nw	T{
+.ad l
+newline (behave like cr followed by lf)
+T}
+pad_char	pad	pc	T{
+.ad l
+padding char (instead of null)
+T}
+parm_dch	dch	DC	T{
+.ad l
+delete #1 characters (P*)
+T}
+parm_delete_line	dl	DL	T{
+.ad l
+delete #1 lines (P*)
+T}
+parm_down_cursor	cud	DO	T{
+.ad l
+down #1 lines (P*)
+T}
+parm_ich	ich	IC	T{
+.ad l
+insert #1 characters (P*)
+T}
+parm_index	indn	SF	T{
+.ad l
+scroll forward #1 lines (P)
+T}
+parm_insert_line	il	AL	T{
+.ad l
+insert #1 lines (P*)
+T}
+parm_left_cursor	cub	LE	T{
+.ad l
+move #1 characters to the left (P)
+T}
+parm_right_cursor	cuf	RI	T{
+.ad l
+move #1 characters to the right (P*)
+T}
+parm_rindex	rin	SR	T{
+.ad l
+scroll back #1 lines (P)
+T}
+parm_up_cursor	cuu	UP	T{
+.ad l
+up #1 lines (P*)
+T}
+pkey_key	pfkey	pk	T{
+.ad l
+program function key #1 to type string #2
+T}
+pkey_local	pfloc	pl	T{
+.ad l
+program function key #1 to execute string #2
+T}
+pkey_xmit	pfx	px	T{
+.ad l
+program function key #1 to transmit string #2
+T}
+print_screen	mc0	ps	T{
+.ad l
+print contents of screen
+T}
+prtr_off	mc4	pf	T{
+.ad l
+turn off printer
+T}
+prtr_on	mc5	po	T{
+.ad l
+turn on printer
+T}
+repeat_char	rep	rp	T{
+.ad l
+repeat char #1 #2 times (P*)
+T}
+reset_1string	rs1	r1	T{
+.ad l
+reset string
+T}
+reset_2string	rs2	r2	T{
+.ad l
+reset string
+T}
+.TE
+.TS
+center;
+Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+reset_3string	rs3	r3	T{
+.ad l
+reset string
+T}
+reset_file	rf	rf	T{
+.ad l
+name of reset file
+T}
+restore_cursor	rc	rc	T{
+.ad l
+restore cursor to position of last save_cursor
+T}
+row_address	vpa	cv	T{
+.ad l
+vertical position #1 absolute (P)
+T}
+save_cursor	sc	sc	T{
+.ad l
+save current cursor position (P)
+T}
+scroll_forward	ind	sf	T{
+.ad l
+scroll text up (P)
+T}
+scroll_reverse	ri	sr	T{
+.ad l
+scroll text down (P)
+T}
+set_attributes	sgr	sa	T{
+.ad l
+define video attributes #1-#9 (PG9)
+T}
+set_tab	hts	st	T{
+.ad l
+set a tab in every row, current columns
+T}
+set_window	wind	wi	T{
+.ad l
+current window is lines #1-#2 cols #3-#4
+T}
+tab	ht	ta	T{
+.ad l
+tab to next 8-space hardware tab stop
+T}
+to_status_line	tsl	ts	T{
+.ad l
+move to status line, column #1
+T}
+underline_char	uc	uc	T{
+.ad l
+underline char and move past it
+T}
+up_half_line	hu	hu	T{
+.ad l
+half a line up
+T}
+init_prog	iprog	iP	T{
+.ad l
+path name of program for initialization
+T}
+key_a1	ka1	K1	T{
+.ad l
+upper left of keypad
+T}
+key_a3	ka3	K3	T{
+.ad l
+upper right of keypad
+T}
+key_b2	kb2	K2	T{
+.ad l
+center of keypad
+T}
+key_c1	kc1	K4	T{
+.ad l
+lower left of keypad
+T}
+key_c3	kc3	K5	T{
+.ad l
+lower right of keypad
+T}
+prtr_non	mc5p	pO	T{
+.ad l
+turn on printer for #1 bytes
+T}
+char_padding	rmp	rP	T{
+.ad l
+like ip but when in insert mode
+T}
+acs_chars	acsc	ac	T{
+.ad l
+graphics charset pairs, based on vt100
+T}
+plab_norm	pln	pn	T{
+.ad l
+program label #1 to show string #2
+T}
+key_btab	kcbt	kB	T{
+.ad l
+back-tab key
+T}
+enter_xon_mode	smxon	SX	T{
+.ad l
+turn on xon/xoff handshaking
+T}
+exit_xon_mode	rmxon	RX	T{
+.ad l
+turn off xon/xoff handshaking
+T}
+enter_am_mode	smam	SA	T{
+.ad l
+turn on automatic margins
+T}
+exit_am_mode	rmam	RA	T{
+.ad l
+turn off automatic margins
+T}
+xon_character	xonc	XN	T{
+.ad l
+XON character
+T}
+xoff_character	xoffc	XF	T{
+.ad l
+XOFF character
+T}
+ena_acs	enacs	eA	T{
+.ad l
+enable alternate char set
+T}
+label_on	smln	LO	T{
+.ad l
+turn on soft labels
+T}
+label_off	rmln	LF	T{
+.ad l
+turn off soft labels
+T}
+key_beg	kbeg	@1	T{
+.ad l
+begin key
+T}
+key_cancel	kcan	@2	T{
+.ad l
+cancel key
+T}
+key_close	kclo	@3	T{
+.ad l
+close key
+T}
+key_command	kcmd	@4	T{
+.ad l
+command key
+T}
+key_copy	kcpy	@5	T{
+.ad l
+copy key
+T}
+key_create	kcrt	@6	T{
+.ad l
+create key
+T}
+key_end	kend	@7	T{
+.ad l
+end key
+T}
+key_enter	kent	@8	T{
+.ad l
+enter/send key
+T}
+key_exit	kext	@9	T{
+.ad l
+exit key
+T}
+key_find	kfnd	@0	T{
+.ad l
+find key
+T}
+key_help	khlp	%1	T{
+.ad l
+help key
+T}
+key_mark	kmrk	%2	T{
+.ad l
+mark key
+T}
+key_message	kmsg	%3	T{
+.ad l
+message key
+T}
+key_move	kmov	%4	T{
+.ad l
+move key
+T}
+key_next	knxt	%5	T{
+.ad l
+next key
+T}
+key_open	kopn	%6	T{
+.ad l
+open key
+T}
+key_options	kopt	%7	T{
+.ad l
+options key
+T}
+key_previous	kprv	%8	T{
+.ad l
+previous key
+T}
+key_print	kprt	%9	T{
+.ad l
+print key
+T}
+key_redo	krdo	%0	T{
+.ad l
+redo key
+T}
+key_reference	kref	&1	T{
+.ad l
+reference key
+T}
+key_refresh	krfr	&2	T{
+.ad l
+refresh key
+T}
+key_replace	krpl	&3	T{
+.ad l
+replace key
+T}
+key_restart	krst	&4	T{
+.ad l
+restart key
+T}
+key_resume	kres	&5	T{
+.ad l
+resume key
+T}
+key_save	ksav	&6	T{
+.ad l
+save key
+T}
+key_suspend	kspd	&7	T{
+.ad l
+suspend key
+T}
+key_undo	kund	&8	T{
+.ad l
+undo key
+T}
+.TE
+.TS
+center;
+Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+key_sbeg	kBEG	&9	T{
+.ad l
+shifted begin key
+T}
+key_scancel	kCAN	&0	T{
+.ad l
+shifted cancel key
+T}
+key_scommand	kCMD	*1	T{
+.ad l
+shifted command key
+T}
+key_scopy	kCPY	*2	T{
+.ad l
+shifted copy key
+T}
+key_screate	kCRT	*3	T{
+.ad l
+shifted create key
+T}
+key_sdc	kDC	*4	T{
+.ad l
+shifted delete-character key
+T}
+key_sdl	kDL	*5	T{
+.ad l
+shifted delete-line key
+T}
+key_select	kslt	*6	T{
+.ad l
+select key
+T}
+key_send	kEND	*7	T{
+.ad l
+shifted end key
+T}
+key_seol	kEOL	*8	T{
+.ad l
+shifted clear-to-end-of-line key
+T}
+key_sexit	kEXT	*9	T{
+.ad l
+shifted exit key
+T}
+key_sfind	kFND	*0	T{
+.ad l
+shifted find key
+T}
+key_shelp	kHLP	#1	T{
+.ad l
+shifted help key
+T}
+key_shome	kHOM	#2	T{
+.ad l
+shifted home key
+T}
+key_sic	kIC	#3	T{
+.ad l
+shifted insert-character key
+T}
+key_sleft	kLFT	#4	T{
+.ad l
+shifted left-arrow key
+T}
+key_smessage	kMSG	%a	T{
+.ad l
+shifted message key
+T}
+key_smove	kMOV	%b	T{
+.ad l
+shifted move key
+T}
+key_snext	kNXT	%c	T{
+.ad l
+shifted next key
+T}
+key_soptions	kOPT	%d	T{
+.ad l
+shifted options key
+T}
+key_sprevious	kPRV	%e	T{
+.ad l
+shifted previous key
+T}
+key_sprint	kPRT	%f	T{
+.ad l
+shifted print key
+T}
+key_sredo	kRDO	%g	T{
+.ad l
+shifted redo key
+T}
+key_sreplace	kRPL	%h	T{
+.ad l
+shifted replace key
+T}
+key_sright	kRIT	%i	T{
+.ad l
+shifted right-arrow key
+T}
+key_srsume	kRES	%j	T{
+.ad l
+shifted resume key
+T}
+key_ssave	kSAV	!1	T{
+.ad l
+shifted save key
+T}
+key_ssuspend	kSPD	!2	T{
+.ad l
+shifted suspend key
+T}
+key_sundo	kUND	!3	T{
+.ad l
+shifted undo key
+T}
+req_for_input	rfi	RF	T{
+.ad l
+send next input char (for ptys)
+T}
+key_f11	kf11	F1	T{
+.ad l
+F11 function key
+T}
+key_f12	kf12	F2	T{
+.ad l
+F12 function key
+T}
+key_f13	kf13	F3	T{
+.ad l
+F13 function key
+T}
+key_f14	kf14	F4	T{
+.ad l
+F14 function key
+T}
+key_f15	kf15	F5	T{
+.ad l
+F15 function key
+T}
+key_f16	kf16	F6	T{
+.ad l
+F16 function key
+T}
+key_f17	kf17	F7	T{
+.ad l
+F17 function key
+T}
+key_f18	kf18	F8	T{
+.ad l
+F18 function key
+T}
+key_f19	kf19	F9	T{
+.ad l
+F19 function key
+T}
+key_f20	kf20	FA	T{
+.ad l
+F20 function key
+T}
+key_f21	kf21	FB	T{
+.ad l
+F21 function key
+T}
+key_f22	kf22	FC	T{
+.ad l
+F22 function key
+T}
+key_f23	kf23	FD	T{
+.ad l
+F23 function key
+T}
+key_f24	kf24	FE	T{
+.ad l
+F24 function key
+T}
+key_f25	kf25	FF	T{
+.ad l
+F25 function key
+T}
+key_f26	kf26	FG	T{
+.ad l
+F26 function key
+T}
+key_f27	kf27	FH	T{
+.ad l
+F27 function key
+T}
+key_f28	kf28	FI	T{
+.ad l
+F28 function key
+T}
+key_f29	kf29	FJ	T{
+.ad l
+F29 function key
+T}
+key_f30	kf30	FK	T{
+.ad l
+F30 function key
+T}
+key_f31	kf31	FL	T{
+.ad l
+F31 function key
+T}
+key_f32	kf32	FM	T{
+.ad l
+F32 function key
+T}
+key_f33	kf33	FN	T{
+.ad l
+F33 function key
+T}
+key_f34	kf34	FO	T{
+.ad l
+F34 function key
+T}
+key_f35	kf35	FP	T{
+.ad l
+F35 function key
+T}
+key_f36	kf36	FQ	T{
+.ad l
+F36 function key
+T}
+key_f37	kf37	FR	T{
+.ad l
+F37 function key
+T}
+key_f38	kf38	FS	T{
+.ad l
+F38 function key
+T}
+key_f39	kf39	FT	T{
+.ad l
+F39 function key
+T}
+key_f40	kf40	FU	T{
+.ad l
+F40 function key
+T}
+key_f41	kf41	FV	T{
+.ad l
+F41 function key
+T}
+key_f42	kf42	FW	T{
+.ad l
+F42 function key
+T}
+.TE
+.TS
+center;
+Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+key_f43	kf43	FX	T{
+.ad l
+F43 function key
+T}
+key_f44	kf44	FY	T{
+.ad l
+F44 function key
+T}
+key_f45	kf45	FZ	T{
+.ad l
+F45 function key
+T}
+key_f46	kf46	Fa	T{
+.ad l
+F46 function key
+T}
+key_f47	kf47	Fb	T{
+.ad l
+F47 function key
+T}
+key_f48	kf48	Fc	T{
+.ad l
+F48 function key
+T}
+key_f49	kf49	Fd	T{
+.ad l
+F49 function key
+T}
+key_f50	kf50	Fe	T{
+.ad l
+F50 function key
+T}
+key_f51	kf51	Ff	T{
+.ad l
+F51 function key
+T}
+key_f52	kf52	Fg	T{
+.ad l
+F52 function key
+T}
+key_f53	kf53	Fh	T{
+.ad l
+F53 function key
+T}
+key_f54	kf54	Fi	T{
+.ad l
+F54 function key
+T}
+key_f55	kf55	Fj	T{
+.ad l
+F55 function key
+T}
+key_f56	kf56	Fk	T{
+.ad l
+F56 function key
+T}
+key_f57	kf57	Fl	T{
+.ad l
+F57 function key
+T}
+key_f58	kf58	Fm	T{
+.ad l
+F58 function key
+T}
+key_f59	kf59	Fn	T{
+.ad l
+F59 function key
+T}
+key_f60	kf60	Fo	T{
+.ad l
+F60 function key
+T}
+key_f61	kf61	Fp	T{
+.ad l
+F61 function key
+T}
+key_f62	kf62	Fq	T{
+.ad l
+F62 function key
+T}
+key_f63	kf63	Fr	T{
+.ad l
+F63 function key
+T}
+clr_bol	el1	cb	T{
+.ad l
+Clear to beginning of line
+T}
+clear_margins	mgc	MC	T{
+.ad l
+clear right and left soft margins
+T}
+set_left_margin	smgl	ML	T{
+.ad l
+set left soft margin at current column (not in BSD \fItermcap\fP)
+T}
+set_right_margin	smgr	MR	T{
+.ad l
+set right soft margin at current column
+T}
+label_format	fln	Lf	T{
+.ad l
+label format
+T}
+set_clock	sclk	SC	T{
+.ad l
+set clock, #1 hrs #2 mins #3 secs
+T}
+display_clock	dclk	DK	T{
+.ad l
+display clock
+T}
+remove_clock	rmclk	RC	T{
+.ad l
+remove clock
+T}
+create_window	cwin	CW	T{
+.ad l
+define a window #1 from #2,#3 to #4,#5
+T}
+goto_window	wingo	WG	T{
+.ad l
+go to window #1
+T}
+hangup	hup	HU	T{
+.ad l
+hang-up phone
+T}
+dial_phone	dial	DI	T{
+.ad l
+dial number #1
+T}
+quick_dial	qdial	QD	T{
+.ad l
+dial number #1 without checking
+T}
+tone	tone	TO	T{
+.ad l
+select touch tone dialing
+T}
+pulse	pulse	PU	T{
+.ad l
+select pulse dialing
+T}
+flash_hook	hook	fh	T{
+.ad l
+flash switch hook
+T}
+fixed_pause	pause	PA	T{
+.ad l
+pause for 2-3 seconds
+T}
+wait_tone	wait	WA	T{
+.ad l
+wait for dial-tone
+T}
+user0	u0	u0	T{
+.ad l
+User string #0
+T}
+user1	u1	u1	T{
+.ad l
+User string #1
+T}
+user2	u2	u2	T{
+.ad l
+User string #2
+T}
+user3	u3	u3	T{
+.ad l
+User string #3
+T}
+user4	u4	u4	T{
+.ad l
+User string #4
+T}
+user5	u5	u5	T{
+.ad l
+User string #5
+T}
+user6	u6	u6	T{
+.ad l
+User string #6
+T}
+user7	u7	u7	T{
+.ad l
+User string #7
+T}
+user8	u8	u8	T{
+.ad l
+User string #8
+T}
+user9	u9	u9	T{
+.ad l
+User string #9
+T}
+orig_pair	op	op	T{
+.ad l
+Set default pair to its original value
+T}
+orig_colors	oc	oc	T{
+.ad l
+Set all color pairs to the original ones
+T}
+initialize_color	initc	Ic	T{
+.ad l
+initialize color #1 to (#2,#3,#4)
+T}
+initialize_pair	initp	Ip	T{
+.ad l
+Initialize color pair #1 to fg=(#2,#3,#4), bg=(#5,#6,#7)
+T}
+set_color_pair	scp	sp	T{
+.ad l
+Set current color pair to #1
+T}
+set_foreground	setf	Sf	T{
+.ad l
+Set foreground color #1
+T}
+set_background	setb	Sb	T{
+.ad l
+Set background color #1
+T}
+change_char_pitch	cpi	ZA	T{
+.ad l
+Change number of characters per inch to #1
+T}
+change_line_pitch	lpi	ZB	T{
+.ad l
+Change number of lines per inch to #1
+T}
+change_res_horz	chr	ZC	T{
+.ad l
+Change horizontal resolution to #1
+T}
+change_res_vert	cvr	ZD	T{
+.ad l
+Change vertical resolution to #1
+T}
+define_char	defc	ZE	T{
+.ad l
+Define a character #1, #2 dots wide, descender #3
+T}
+enter_doublewide_mode	swidm	ZF	T{
+.ad l
+Enter double-wide mode
+T}
+.TE
+.TS
+center;
+Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+enter_draft_quality	sdrfq	ZG	T{
+.ad l
+Enter draft-quality mode
+T}
+enter_italics_mode	sitm	ZH	T{
+.ad l
+Enter italic mode
+T}
+enter_leftward_mode	slm	ZI	T{
+.ad l
+Start leftward carriage motion
+T}
+enter_micro_mode	smicm	ZJ	T{
+.ad l
+Start micro-motion mode
+T}
+enter_near_letter_quality	snlq	ZK	T{
+.ad l
+Enter NLQ mode
+T}
+enter_normal_quality	snrmq	ZL	T{
+.ad l
+Enter normal-quality mode
+T}
+enter_shadow_mode	sshm	ZM	T{
+.ad l
+Enter shadow-print mode
+T}
+enter_subscript_mode	ssubm	ZN	T{
+.ad l
+Enter subscript mode
+T}
+enter_superscript_mode	ssupm	ZO	T{
+.ad l
+Enter superscript mode
+T}
+enter_upward_mode	sum	ZP	T{
+.ad l
+Start upward carriage motion
+T}
+exit_doublewide_mode	rwidm	ZQ	T{
+.ad l
+End double-wide mode
+T}
+exit_italics_mode	ritm	ZR	T{
+.ad l
+End italic mode
+T}
+exit_leftward_mode	rlm	ZS	T{
+.ad l
+End left-motion mode
+T}
+exit_micro_mode	rmicm	ZT	T{
+.ad l
+End micro-motion mode
+T}
+exit_shadow_mode	rshm	ZU	T{
+.ad l
+End shadow-print mode
+T}
+exit_subscript_mode	rsubm	ZV	T{
+.ad l
+End subscript mode
+T}
+exit_superscript_mode	rsupm	ZW	T{
+.ad l
+End superscript mode
+T}
+exit_upward_mode	rum	ZX	T{
+.ad l
+End reverse character motion
+T}
+micro_column_address	mhpa	ZY	T{
+.ad l
+Like column_address in micro mode
+T}
+micro_down	mcud1	ZZ	T{
+.ad l
+Like cursor_down in micro mode
+T}
+micro_left	mcub1	Za	T{
+.ad l
+Like cursor_left in micro mode
+T}
+micro_right	mcuf1	Zb	T{
+.ad l
+Like cursor_right in micro mode
+T}
+micro_row_address	mvpa	Zc	T{
+.ad l
+Like row_address #1 in micro mode
+T}
+micro_up	mcuu1	Zd	T{
+.ad l
+Like cursor_up in micro mode
+T}
+order_of_pins	porder	Ze	T{
+.ad l
+Match software bits to print-head pins
+T}
+parm_down_micro	mcud	Zf	T{
+.ad l
+Like parm_down_cursor in micro mode
+T}
+parm_left_micro	mcub	Zg	T{
+.ad l
+Like parm_left_cursor in micro mode
+T}
+parm_right_micro	mcuf	Zh	T{
+.ad l
+Like parm_right_cursor in micro mode
+T}
+parm_up_micro	mcuu	Zi	T{
+.ad l
+Like parm_up_cursor in micro mode
+T}
+select_char_set	scs	Zj	T{
+.ad l
+Select character set, #1
+T}
+set_bottom_margin	smgb	Zk	T{
+.ad l
+Set bottom margin at current line
+T}
+set_bottom_margin_parm	smgbp	Zl	T{
+.ad l
+Set bottom margin at line #1 or (if smgtp is not given) #2 lines from bottom
+T}
+set_left_margin_parm	smglp	Zm	T{
+.ad l
+Set left (right) margin at column #1
+T}
+set_right_margin_parm	smgrp	Zn	T{
+.ad l
+Set right margin at column #1
+T}
+set_top_margin	smgt	Zo	T{
+.ad l
+Set top margin at current line
+T}
+set_top_margin_parm	smgtp	Zp	T{
+.ad l
+Set top (bottom) margin at row #1
+T}
+start_bit_image	sbim	Zq	T{
+.ad l
+Start printing bit image graphics
+T}
+start_char_set_def	scsd	Zr	T{
+.ad l
+Start character set definition #1, with #2 characters in the set
+T}
+stop_bit_image	rbim	Zs	T{
+.ad l
+Stop printing bit image graphics
+T}
+stop_char_set_def	rcsd	Zt	T{
+.ad l
+End definition of character set #1
+T}
+subscript_characters	subcs	Zu	T{
+.ad l
+List of subscriptable characters
+T}
+superscript_characters	supcs	Zv	T{
+.ad l
+List of superscriptable characters
+T}
+these_cause_cr	docr	Zw	T{
+.ad l
+Printing any of these characters causes CR
+T}
+zero_motion	zerom	Zx	T{
+.ad l
+No motion for subsequent character
+T}
+.TE
+.PP
+.
+The following string capabilities are present in the SVr4.0 term structure,
+but were originally not documented in the man page.
+.
+.PP
+.TS
+center;
+Lb        Cb       S   Lb
+Lb        Lb       Lb  Lb
+Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+\&	Code	\&
+String Capability Name	TI	TC	Description
+_
+char_set_names	csnm	Zy	T{
+.ad l
+Produce #1'th item from list of character set names
+T}
+key_mouse	kmous	Km	T{
+.ad l
+Mouse event has occurred
+T}
+mouse_info	minfo	Mi	T{
+.ad l
+Mouse status information
+T}
+req_mouse_pos	reqmp	RQ	T{
+.ad l
+Request mouse position
+T}
+get_mouse	getm	Gm	T{
+.ad l
+Curses should get button events, parameter #1 not documented.
+T}
+set_a_foreground	setaf	AF	T{
+.ad l
+Set foreground color to #1, using ANSI escape
+T}
+set_a_background	setab	AB	T{
+.ad l
+Set background color to #1, using ANSI escape
+T}
+pkey_plab	pfxl	xl	T{
+.ad l
+Program function key #1 to type string #2 and show string #3
+T}
+device_type	devt	dv	T{
+.ad l
+Indicate language, codeset support
+T}
+code_set_init	csin	ci	T{
+.ad l
+Init sequence for multiple codesets
+T}
+set0_des_seq	s0ds	s0	T{
+.ad l
+Shift to codeset 0 (EUC set 0, ASCII)
+T}
+set1_des_seq	s1ds	s1	T{
+.ad l
+Shift to codeset 1
+T}
+set2_des_seq	s2ds	s2	T{
+.ad l
+Shift to codeset 2
+T}
+set3_des_seq	s3ds	s3	T{
+.ad l
+Shift to codeset 3
+T}
+set_lr_margin	smglr	ML	T{
+.ad l
+Set both left and right margins to #1, #2.  (ML is not in BSD termcap).
+T}
+set_tb_margin	smgtb	MT	T{
+.ad l
+Sets both top and bottom margins to #1, #2
+T}
+bit_image_repeat	birep	Xy	T{
+.ad l
+Repeat bit image cell #1 #2 times
+T}
+bit_image_newline	binel	Zz	T{
+.ad l
+Move to next row of the bit image
+T}
+bit_image_carriage_return	bicr	Yv	T{
+.ad l
+Move to beginning of same row
+T}
+color_names	colornm	Yw	T{
+.ad l
+Give name for color #1
+T}
+define_bit_image_region	defbi	Yx	T{
+.ad l
+Define rectangular bit image region
+T}
+end_bit_image_region	endbi	Yy	T{
+.ad l
+End a bit-image region
+T}
+set_color_band	setcolor	Yz	T{
+.ad l
+Change to ribbon color #1
+T}
+set_page_length	slines	YZ	T{
+.ad l
+Set page length to #1 lines
+T}
+display_pc_char	dispc	S1	T{
+.ad l
+Display PC character #1
+T}
+enter_pc_charset_mode	smpch	S2	T{
+.ad l
+Enter PC character display mode
+T}
+exit_pc_charset_mode	rmpch	S3	T{
+.ad l
+Exit PC character display mode
+T}
+enter_scancode_mode	smsc	S4	T{
+.ad l
+Enter PC scancode mode
+T}
+exit_scancode_mode	rmsc	S5	T{
+.ad l
+Exit PC scancode mode
+T}
+pc_term_options	pctrm	S6	T{
+.ad l
+PC terminal options
+T}
+scancode_escape	scesc	S7	T{
+.ad l
+Escape for scancode emulation
+T}
+alt_scancode_esc	scesa	S8	T{
+.ad l
+Alternate escape for scancode emulation
+T}
+.TE
+.PP
+.
+The XSI Curses standard added these hardcopy capabilities.
+They were used in some post-4.1 versions of System V curses,
+e.g., Solaris 2.5 and IRIX 6.x.
+Except for \fBYI\fP, the \fBncurses\fR termcap names for them are invented.
+According to the XSI Curses standard, they have no termcap names.
+If your compiled terminfo entries use these,
+they may not be binary-compatible with System V terminfo
+entries after SVr4.1; beware!
+.
+.PP
+.TS
+center;
+Lb        Cb       S   Lb
+Lb        Lb       Lb  Lb
+Lbw(25n)2 Lbw(8n)2 Lb2 Lx.
+\&	Code	\&
+String Capability Name	TI	TC	Description
+_
+enter_horizontal_hl_mode	ehhlm	Xh	T{
+.ad l
+Enter horizontal highlight mode
+T}
+enter_left_hl_mode	elhlm	Xl	T{
+.ad l
+Enter left highlight mode
+T}
+enter_low_hl_mode	elohlm	Xo	T{
+.ad l
+Enter low highlight mode
+T}
+enter_right_hl_mode	erhlm	Xr	T{
+.ad l
+Enter right highlight mode
+T}
+enter_top_hl_mode	ethlm	Xt	T{
+.ad l
+Enter top highlight mode
+T}
+enter_vertical_hl_mode	evhlm	Xv	T{
+.ad l
+Enter vertical highlight mode
+T}
+set_a_attributes	sgr1	sA	T{
+.ad l
+Define second set of video attributes #1-#6
+T}
+set_pglen_inch	slength	YI	T{
+.ad l
+Set page length to #1 hundredth of an inch (some implementations use sL for termcap).
+T}
+.TE
+.\"***************************************************************************
+.\" Copyright 2018-2023,2024 Thomas E. Dickey                                *
+.\" Copyright 1998-2016,2017 Free Software Foundation, Inc.                  *
+.\"                                                                          *
+.\" Permission is hereby granted, free of charge, to any person obtaining a  *
+.\" copy of this software and associated documentation files (the            *
+.\" "Software"), to deal in the Software without restriction, including      *
+.\" without limitation the rights to use, copy, modify, merge, publish,      *
+.\" distribute, distribute with modifications, sublicense, and/or sell       *
+.\" copies of the Software, and to permit persons to whom the Software is    *
+.\" furnished to do so, subject to the following conditions:                 *
+.\"                                                                          *
+.\" The above copyright notice and this permission notice shall be included  *
+.\" in all copies or substantial portions of the Software.                   *
+.\"                                                                          *
+.\" THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS  *
+.\" OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF               *
+.\" MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.   *
+.\" IN NO EVENT SHALL THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM,   *
+.\" DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR    *
+.\" OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR    *
+.\" THE USE OR OTHER DEALINGS IN THE SOFTWARE.                               *
+.\"                                                                          *
+.\" Except as contained in this notice, the name(s) of the above copyright   *
+.\" holders shall not be used in advertising or otherwise to promote the     *
+.\" sale, use or other dealings in this Software without prior written       *
+.\" authorization.                                                           *
+.\"***************************************************************************
+.\"
+.\" $Id: terminfo.tail,v 1.148 2024/04/20 21:24:19 tom Exp $
+.ps +1
+.SS "User-Defined Capabilities"
+.
+The preceding section listed the \fIpredefined\fP capabilities.
+They deal with some special features for terminals no longer
+(or possibly never) produced.
+Occasionally there are special features of newer terminals which
+are awkward or impossible to represent by reusing the predefined
+capabilities.
+.PP
+\fI\%ncurses\fP addresses this limitation by allowing user-defined
+capabilities.
+The \fB@TIC@\fP and \fB@INFOCMP@\fP programs provide
+the \fB\-x\fP option for this purpose.
+When \fB\-x\fP is set,
+\fB@TIC@\fP treats unknown capabilities as user-defined.
+That is, if \fB@TIC@\fP encounters a capability name
+which it does not recognize,
+it infers its type (Boolean, number or string) from the syntax
+and makes an extended table entry for that capability.
+The \fBuse_extended_names\fP(3X) function makes this information
+conditionally available to applications.
+The \fI\%ncurses\fP library provides the data leaving most of the
+behavior to applications:
+.bP
+User-defined capability strings whose name begins
+with \*(``k\*('' are treated as function keys.
+.bP
+The types (Boolean, number, string) determined by \fB@TIC@\fP
+can be inferred by successful calls on \fBtigetflag\fP, etc.
+.bP
+If the capability name happens to be two characters,
+the capability is also available through the termcap interface.
+.PP
+While termcap is said to be extensible because it does not use a predefined set
+of capabilities,
+in practice it has been limited to the capabilities defined by
+terminfo implementations.
+As a rule,
+user-defined capabilities intended for use by termcap applications should
+be limited to Booleans and numbers to avoid running past the 1023 byte
+limit assumed by termcap implementations and their applications.
+In particular, providing extended sets of function keys (past the 60
+numbered keys and the handful of special named keys) is best done using
+the longer names available using terminfo.
+.PP
+The \fI\%ncurses\fP library uses a few of these user-defined
+capabilities,
+as described in \fBuser_caps\fR(5).
+Other user-defined capabilities (including function keys) are
+described in the terminal database, in the section on
+.I "NCURSES USER-DEFINABLE CAPABILITIES"
+.
+.SS "A Sample Entry"
+.
+The following entry, describing an ANSI-standard terminal, is representative
+of what a \fBterminfo\fP entry for a modern terminal typically looks like.
+.PP
+.EX
+\s-2ansi|ansi/pc\-term compatible with color,
+        am, mc5i, mir, msgr,
+        colors#8, cols#80, it#8, lines#24, ncv#3, pairs#64,
+        acsc=+\e020\e,\e021\-\e030.\*^Y0\e333\(ga\e004a\e261f\e370g\e361h\e260
+             j\e331k\e277l\e332m\e300n\e305o\*~p\e304q\e304r\e304s_t\e303
+             u\e264v\e301w\e302x\e263y\e363z\e362{\e343|\e330}\e234\*~\e376,
+        bel=\*^G, blink=\eE[5m, bold=\eE[1m, cbt=\eE[Z, clear=\eE[H\eE[J,
+        cr=\*^M, cub=\eE[%p1%dD, cub1=\eE[D, cud=\eE[%p1%dB, cud1=\eE[B,
+        cuf=\eE[%p1%dC, cuf1=\eE[C, cup=\eE[%i%p1%d;%p2%dH,
+        cuu=\eE[%p1%dA, cuu1=\eE[A, dch=\eE[%p1%dP, dch1=\eE[P,
+        dl=\eE[%p1%dM, dl1=\eE[M, ech=\eE[%p1%dX, ed=\eE[J, el=\eE[K,
+        el1=\eE[1K, home=\eE[H, hpa=\eE[%i%p1%dG, ht=\eE[I, hts=\eEH,
+        ich=\eE[%p1%d@, il=\eE[%p1%dL, il1=\eE[L, ind=\*^J,
+        indn=\eE[%p1%dS, invis=\eE[8m, kbs=\*^H, kcbt=\eE[Z, kcub1=\eE[D,
+        kcud1=\eE[B, kcuf1=\eE[C, kcuu1=\eE[A, khome=\eE[H, kich1=\eE[L,
+        mc4=\eE[4i, mc5=\eE[5i, nel=\er\eE[S, op=\eE[39;49m,
+        rep=%p1%c\eE[%p2%{1}%\-%db, rev=\eE[7m, rin=\eE[%p1%dT,
+        rmacs=\eE[10m, rmpch=\eE[10m, rmso=\eE[m, rmul=\eE[m,
+        s0ds=\eE(B, s1ds=\eE)B, s2ds=\eE*B, s3ds=\eE+B,
+        setab=\eE[4%p1%dm, setaf=\eE[3%p1%dm,
+        sgr=\eE[0;10%?%p1%t;7%;
+                   %?%p2%t;4%;
+                   %?%p3%t;7%;
+                   %?%p4%t;5%;
+                   %?%p6%t;1%;
+                   %?%p7%t;8%;
+                   %?%p9%t;11%;m,
+        sgr0=\eE[0;10m, smacs=\eE[11m, smpch=\eE[11m, smso=\eE[7m,
+        smul=\eE[4m, tbc=\eE[3g, u6=\eE[%i%d;%dR, u7=\eE[6n,
+        u8=\eE[?%[;0123456789]c, u9=\eE[c, vpa=\eE[%i%p1%dd,
+.EE
+.PP
+Entries may continue onto multiple lines by placing white space at
+the beginning of each line except the first.
+Comments may be included on lines beginning with \*(``#\*(''.
+Capabilities in
+.I terminfo
+are of three types:
+.bP
+Boolean capabilities which indicate that the terminal has
+some particular feature,
+.bP
+numeric capabilities giving the size of the terminal
+or the size of particular delays, and
+.bP
+string
+capabilities, which give a sequence which can be used to perform particular
+terminal operations.
+.SS "Types of Capabilities"
+All capabilities have names.
+For instance, the fact that
+ANSI-standard terminals have
+.I "automatic margins"
+(i.e., an automatic return and line-feed
+when the end of a line is reached) is indicated by the capability \fBam\fP.
+Hence the description of ansi includes \fBam\fP.
+Numeric capabilities are followed by the character \*(``#\*(''
+and then a positive value.
+Thus \fBcols\fP, which indicates the number of columns the terminal has,
+gives the value \*(``80\*('' for ansi.
+Values for numeric capabilities may be specified in
+decimal,
+octal, or
+hexadecimal,
+using the C programming language conventions
+(e.g., 255, 0377 and 0xff or 0xFF).
+.PP
+Finally, string valued capabilities,
+such as \fBel\fP (clear to end of line sequence)
+are given by the two-character code,
+an \*(``=\*('', and then
+a string ending at the next following \*(``,\*(''.
+.PP
+A number of escape sequences are provided in the string valued capabilities
+for easy encoding of characters there:
+.bP
+Both \fB\eE\fP and \fB\ee\fP
+map to an \s-1ESCAPE\s0 character,
+.bP
+\fB\*^\f(BIx\fR maps to a control-\fIx\fP for any appropriate \fIx\fP,
+and
+.bP
+the sequences
+.RS 6
+.PP
+\fB\en\fP, \fB\el\fP, \fB\er\fP, \fB\et\fP, \fB\eb\fP, \fB\ef\fP, and \fB\es\fP
+.RE
+.IP
+produce
+.RS 6
+.PP
+\fInewline\fP, \fIline-feed\fP, \fIreturn\fP, \fItab\fP, \fIbackspace\fP, \fIform-feed\fP, and \fIspace\fP,
+.RE
+.IP
+respectively.
+.PP
+X/Open Curses does not say what \*(``appropriate \fIx\fP\*('' might be.
+In practice, that is a printable ASCII graphic character.
+The special case \*(``\*^?\*('' is interpreted as DEL (127).
+In all other cases, the character value is AND'd with 0x1f,
+mapping to ASCII control codes in the range 0 through 31.
+.PP
+Other escapes include
+.bP
+\fB\e\*^\fP for \fB\*^\fP,
+.bP
+\fB\e\e\fP for \fB\e\fP,
+.bP
+\fB\e\fP, for comma,
+.bP
+\fB\e:\fP for \fB:\fP,
+.bP
+and \fB\e0\fP for null.
+.IP
+\fB\e0\fP will produce \e200, which does not terminate a string but behaves
+as a null character on most terminals, providing CS7 is specified.
+See \fBstty\fP(1).
+.IP
+The reason for this quirk is to maintain binary compatibility of the
+compiled terminfo files with other implementations,
+e.g., the SVr4 systems, which document this.
+Compiled terminfo files use null-terminated strings, with no lengths.
+Modifying this would require a new binary format,
+which would not work with other implementations.
+.PP
+Finally, characters may be given as three octal digits after a \fB\e\fP.
+.PP
+A delay in milliseconds may appear anywhere in a string capability, enclosed in
+$<..> brackets, as in \fBel\fP=\eEK$<5>,
+and padding characters are supplied by \fBtputs\fP(3X)
+to provide this delay.
+.bP
+The delay must be a number with at most one decimal
+place of precision;
+it may be followed by suffixes \*(``*\*('' or \*(``/\*('' or both.
+.bP
+A \*(``*\*(''
+indicates that the padding required is proportional to the number of lines
+affected by the operation, and the amount given is the per-affected-unit
+padding required.
+(In the case of insert character, the factor is still the
+number of \fIlines\fP affected.)
+.IP
+Normally, padding is advisory if the device has the \fBxon\fP
+capability; it is used for cost computation but does not trigger delays.
+.bP
+A \*(``/\*(''
+suffix indicates that the padding is mandatory and forces a delay of the given
+number of milliseconds even on devices for which \fBxon\fP is present to
+indicate flow control.
+.PP
+Sometimes individual capabilities must be commented out.
+To do this, put a period before the capability name.
+For example, see the second
+.B ind
+in the example above.
+.br
+.ne 5
+.SS "Fetching Compiled Descriptions"
+Terminal descriptions in \fI\%ncurses\fP are stored in terminal
+databases.
+These databases, which are found by their pathname,
+may be configured either as directory trees or hashed databases
+(see \fBterm\fR(5)),
+.PP
+The library uses a compiled-in list of pathnames,
+which can be overridden by environment variables.
+Before starting to search,
+\fI\%ncurses\fP checks the search list,
+eliminating duplicates and pathnames where no terminal database is found.
+The \fI\%ncurses\fP library reads the first description
+which passes its consistency checks.
+.bP
+The environment variable \fBTERMINFO\fR is checked first, for
+a terminal database containing the terminal description.
+.bP
+Next,
+\fI\%ncurses\fP looks in \fI$HOME/.terminfo\fP
+for a compiled description.
+.IP
+This is an optional feature which may be omitted entirely from
+the library, or limited to prevent accidental use by privileged applications.
+.bP
+Next,
+if the environment variable \fI\%TERMINFO_DIRS\fP is set,
+\fI\%ncurses\fP interprets the contents of that variable
+as a list of colon-separated pathnames of terminal databases to be searched.
+.IP
+An empty pathname (i.e., if the variable begins or ends
+with a colon, or contains adjacent colons)
+is interpreted as the system location \fI\*d\fP.
+.bP
+Finally, \fI\%ncurses\fP searches these compiled-in locations:
+.RS
+.bP
+a list of directories (@TERMINFO_DIRS@), and
+.bP
+the system terminfo directory, \fI\*d\fP
+.RE
+.PP
+The \fBTERMINFO\fP variable can contain a terminal description instead
+of the pathname of a terminal database.
+If this variable begins with \*(``hex:\*('' or \*(``b64:\*(''
+then \fI\%ncurses\fP reads a terminal description from
+hexadecimal- or base64-encoded data,
+and if that description matches the name sought, will use that.
+This encoded data can be set using the \*(``\-Q\*('' option of
+\fB@TIC@\fR or \fB@INFOCMP@\fR.
+.PP
+The preceding addresses the usual configuration of \fI\%ncurses\fP,
+which uses terminal descriptions prepared in \fIterminfo\fP format.
+While \fItermcap\fP is less expressive,
+\fI\%ncurses\fP can also be configured to read \fItermcap\fP
+descriptions.
+In that configuration,
+it checks the \fI\%TERMCAP\fP and \fI\%TERMPATH\fP variables
+(for content and search path,
+respectively)
+after the system terminal database.
+.SS "Preparing Descriptions"
+We now outline how to prepare descriptions of terminals.
+The most effective way to prepare a terminal description is by imitating
+the description of a similar terminal in
+.I terminfo
+and to build up a description gradually, using partial descriptions
+with
+.I vi
+or some other screen-oriented program to check that they are correct.
+Be aware that a very unusual terminal may expose deficiencies in
+the ability of the
+.I terminfo
+file to describe it
+or bugs in the screen-handling code of the test program.
+.PP
+To get the padding for insert line right (if the terminal manufacturer
+did not document it) a severe test is to edit a large file at 9600 baud,
+delete 16 or so lines from the middle of the screen, then hit the \*(``u\*(''
+key several times quickly.
+If the terminal messes up, more padding is usually needed.
+A similar test can be used for insert character.
+.SS "Basic Capabilities"
+The number of columns on each line for the terminal is given by the
+\fBcols\fP numeric capability.
+If the terminal is a \s-1CRT\s0, then the
+number of lines on the screen is given by the \fBlines\fP capability.
+If the terminal wraps around to the beginning of the next line when
+it reaches the right margin, then it should have the \fBam\fP capability.
+If the terminal can clear its screen, leaving the cursor in the home
+position, then this is given by the \fBclear\fP string capability.
+If the terminal overstrikes
+(rather than clearing a position when a character is struck over)
+then it should have the \fBos\fP capability.
+If the terminal is a printing terminal, with no soft copy unit,
+give it both
+.B hc
+and
+.BR os .
+.RB ( os
+applies to storage scope terminals, such as \s-1TEKTRONIX\s+1 4010
+series, as well as hard copy and APL terminals.)
+If there is a code to move the cursor to the left edge of the current
+row, give this as
+.BR cr .
+(Normally this will be carriage return, control/M.)
+If there is a code to produce an audible signal (bell, beep, etc)
+give this as
+.BR bel .
+.PP
+If there is a code to move the cursor one position to the left
+(such as backspace) that capability should be given as
+.BR cub1 .
+Similarly, codes to move to the right, up, and down should be
+given as
+.BR cuf1 ,
+.BR cuu1 ,
+and
+.BR cud1 .
+These local cursor motions should not alter the text they pass over,
+for example, you would not normally use \*(``\fBcuf1\fP=\ \*('' because the
+space would erase the character moved over.
+.PP
+A very important point here is that the local cursor motions encoded
+in
+.I terminfo
+are undefined at the left and top edges of a \s-1CRT\s0 terminal.
+Programs should never attempt to backspace around the left edge,
+unless
+.B bw
+is given,
+and never attempt to go up locally off the top.
+In order to scroll text up, a program will go to the bottom left corner
+of the screen and send the
+.B ind
+(index) string.
+.PP
+To scroll text down, a program goes to the top left corner
+of the screen and sends the
+.B ri
+(reverse index) string.
+The strings
+.B ind
+and
+.B ri
+are undefined when not on their respective corners of the screen.
+.PP
+Parameterized versions of the scrolling sequences are
+.B indn
+and
+.B rin
+which have the same semantics as
+.B ind
+and
+.B ri
+except that they take one parameter, and scroll that many lines.
+They are also undefined except at the appropriate edge of the screen.
+.PP
+The \fBam\fP capability tells whether the cursor sticks at the right
+edge of the screen when text is output, but this does not necessarily
+apply to a
+.B cuf1
+from the last column.
+The only local motion which is defined from the left edge is if
+.B bw
+is given, then a
+.B cub1
+from the left edge will move to the right edge of the previous row.
+If
+.B bw
+is not given, the effect is undefined.
+This is useful for drawing a box around the edge of the screen, for example.
+If the terminal has switch selectable automatic margins,
+the
+.I terminfo
+file usually assumes that this is on; i.e., \fBam\fP.
+If the terminal has a command which moves to the first column of the next
+line, that command can be given as
+.B nel
+(newline).
+It does not matter if the command clears the remainder of the current line,
+so if the terminal has no
+.B cr
+and
+.B lf
+it may still be possible to craft a working
+.B nel
+out of one or both of them.
+.PP
+These capabilities suffice to describe
+hard-copy and \*(``glass-tty\*('' terminals.
+Thus the model 33 teletype is described as
+.PP
+.EX
+.\".in -2
+\s-133\||\|tty33\||\|tty\||\|model 33 teletype,
+        bel=\*^G, cols#72, cr=\*^M, cud1=\*^J, hc, ind=\*^J, os,\s+1
+.\".in +2
+.EE
+.PP
+while the Lear Siegler \s-1ADM-3\s0 is described as
+.PP
+.EX
+.\".in -2
+\s-1adm3\||\|3\||\|lsi adm3,
+        am, bel=\*^G, clear=\*^Z, cols#80, cr=\*^M, cub1=\*^H, cud1=\*^J,
+        ind=\*^J, lines#24,\s+1
+.\".in +2
+.EE
+.SS "Parameterized Strings"
+Cursor addressing and other strings requiring parameters
+in the terminal are described by a
+parameterized string capability,
+with \fIprintf\fP-like escapes such as \fI%x\fP in it.
+For example, to address the cursor, the
+.B cup
+capability is given, using two parameters:
+the row and column to address to.
+(Rows and columns are numbered from zero and refer to the
+physical screen visible to the user, not to any unseen memory.)
+If the terminal has memory relative cursor addressing,
+that can be indicated by
+.BR mrcup .
+.PP
+The parameter mechanism uses a stack and special \fB%\fP codes
+to manipulate it.
+Typically a sequence will push one of the
+parameters onto the stack and then print it in some format.
+Print (e.g., \*(``%d\*('') is a special case.
+Other operations, including \*(``%t\*('' pop their operand from the stack.
+It is noted that more complex operations are often necessary,
+e.g., in the \fBsgr\fP string.
+.PP
+The \fB%\fP encodings have the following meanings:
+.TP 5
+\fB%%\fP
+outputs \*(``%\*(''
+.TP
+\fB%\fI[[\fR:\fI]flags][width[.precision]][\fBdoxXs\fI]\fR
+as in \fBprintf\fP(3), flags are \fI[\-+#]\fP and \fIspace\fP.
+Use a \*(``:\*('' to allow the next character to be a \*(``\-\*('' flag,
+avoiding interpreting \*(``%\-\*('' as an operator.
+.TP
+\fB%c\fP
+print \fIpop()\fP like %c in \fBprintf\fP
+.TP
+\fB%s\fP
+print \fIpop()\fP like %s in \fBprintf\fP
+.TP
+\fB%p\fI[1\-9]\fR
+push \fIi\fP'th parameter
+.TP
+\fB%P\fI[a\-z]\fR
+set dynamic variable \fI[a\-z]\fP to \fIpop()\fP
+.TP
+\fB%g\fI[a\-z]\fR
+get dynamic variable \fI[a\-z]\fP and push it
+.TP
+\fB%P\fI[A\-Z]\fR
+set static variable \fI[a\-z]\fP to \fIpop()\fP
+.TP
+\fB%g\fI[A\-Z]\fR
+get static variable \fI[a\-z]\fP and push it
+.IP
+The terms \*(``static\*('' and \*(``dynamic\*('' are misleading.
+Historically, these are simply two different sets of variables,
+whose values are not reset between calls to \fBtparm\fP(3X).
+However, that fact is not documented in other implementations.
+Relying on it will adversely impact portability to other implementations:
+.RS
+.bP
+SVr2 curses supported \fIdynamic\fP variables.
+Those are set only by a \fB%P\fP operator.
+A \fB%g\fP for a given variable without first setting it with \fB%P\fP
+will give unpredictable results, because dynamic variables are
+an uninitialized local array on the stack in the \fBtparm\fP function.
+.bP
+SVr3.2 curses supported \fIstatic\fP variables.
+Those are an array in the \fI\%TERMINAL\fP
+structure (declared in \fBterm.h\fP),
+and are zeroed automatically when the \fBsetupterm\fP function
+allocates the data.
+.bP
+SVr4 curses made no further improvements
+to the \fIdynamic/static\fP variable feature.
+.bP
+Solaris XPG4 curses does not distinguish between \fIdynamic\fP and
+\fIstatic\fP variables.
+They are the same.
+Like SVr4 curses, XPG4 curses does not initialize these explicitly.
+.bP
+Before version 6.3,
+\fI\%ncurses\fP stores both \fIdynamic\fP and \fIstatic\fP
+variables in persistent storage, initialized to zeros.
+.bP
+Beginning with version 6.3,
+\fI\%ncurses\fP stores \fIstatic\fP and \fIdynamic\fP
+variables in the same manner as SVr4.
+.RS
+.bP
+Unlike other implementations, \fI\%ncurses\fP zeros dynamic variables
+before the first \fB%g\fP or \fB%P\fP operator.
+.bP
+Like SVr2,
+the scope of dynamic variables in \fI\%ncurses\fP
+is within the current call to
+\fBtparm\fP.
+Use static variables if persistent storage is needed.
+.RE
+.RE
+.TP
+\fB%\*'\fIc\fB\*'\fR
+char constant \fIc\fP
+.TP
+\fB%{\fInn\fB}\fR
+integer constant \fInn\fP
+.TP
+\fB%l\fP
+push strlen(pop)
+.TP
+\fB%+\fP, \fB%\-\fP, \fB%*\fP, \fB%/\fP, \fB%m\fP
+arithmetic (%m is \fImod\fP): \fIpush(pop() op pop())\fP
+.TP
+\fB%&\fP, \fB%|\fP, \fB%\*^\fP
+bit operations (AND, OR and exclusive-OR): \fIpush(pop() op pop())\fP
+.TP
+\fB%=\fP, \fB%>\fP, \fB%<\fP
+logical operations: \fIpush(pop() op pop())\fP
+.TP
+\fB%A\fP, \fB%O\fP
+logical AND and OR operations (for conditionals)
+.TP
+\fB%!\fP, \fB%\*~\fP
+unary operations (logical and bit complement): \fIpush(op pop())\fP
+.TP
+\fB%i\fP
+add 1 to first two parameters (for ANSI terminals)
+.TP
+\fB%?\fP \fIexpr\fP \fB%t\fP \fIthenpart\fP \fB%e\fP \fIelsepart\fP \fB%;\fP
+This forms an if-then-else.
+The \fB%e\fP \fIelsepart\fP is optional.
+Usually the \fB%?\fP \fIexpr\fP part pushes a value onto the stack,
+and \fB%t\fP pops it from the stack, testing if it is nonzero (true).
+If it is zero (false), control passes to the \fB%e\fP (else) part.
+.IP
+It is possible to form else-if's a la Algol 68:
+.RS
+\fB%?\fP c\d1\u \fB%t\fP b\d1\u \fB%e\fP c\d2\u \fB%t\fP b\d2\u \fB%e\fP c\d3\u \fB%t\fP b\d3\u \fB%e\fP c\d4\u \fB%t\fP b\d4\u \fB%e\fP \fB%;\fP
+.RE
+.IP
+where c\di\u are conditions, b\di\u are bodies.
+.IP
+Use the \fB\-f\fP option of \fB@TIC@\fP or \fB@INFOCMP@\fP to see
+the structure of if-then-else's.
+Some strings, e.g., \fBsgr\fP can be very complicated when written
+on one line.
+The \fB\-f\fP option splits the string into lines with the parts indented.
+.PP
+Binary operations are in postfix form with the operands in the usual order.
+That is, to get x\-5 one would use \*(``%gx%{5}%\-\*(''.
+\fB%P\fP and \fB%g\fP variables are
+persistent across escape-string evaluations.
+.PP
+Consider the HP2645, which, to get to row 3 and column 12, needs
+to be sent \eE&a12c03Y padded for 6 milliseconds.
+The order of the rows and columns is inverted here,
+and the row and column are printed as two digits.
+The corresponding terminal description is expressed thus:
+.RS
+cup=\eE&a%p2%dc%p1%dY$<6>,
+.RE
+.PP
+The Microterm \s-1ACT-IV\s0 needs the current row and column sent
+preceded by a \fB\*^T\fP, with the row and column simply encoded in binary,
+.RS
+cup=\*^T%p1%c%p2%c
+.RE
+.PP
+Terminals which use \*(``%c\*('' need to be able to
+backspace the cursor (\fBcub1\fP),
+and to move the cursor up one line on the screen (\fBcuu1\fP).
+This is necessary because it is not always safe to transmit \fB\en\fP
+\fB\*^D\fP and \fB\er\fP, as the system may change or discard them.
+(The library routines dealing with terminfo set tty modes so that
+tabs are never expanded, so \et is safe to send.
+This turns out to be essential for the Ann Arbor 4080.)
+.PP
+A final example is the \s-1LSI ADM\s0-3a, which uses row and column
+offset by a blank character, thus
+.RS
+cup=\eE=%p1%\*' \*'%+%c%p2%\*' \*'%+%c
+.RE
+.PP
+After sending \*(``\eE=\*('', this pushes the first parameter, pushes the
+ASCII value for a space (32), adds them (pushing the sum on the stack
+in place of the two previous values) and outputs that value as a character.
+Then the same is done for the second parameter.
+More complex arithmetic is possible using the stack.
+.SS "Cursor Motions"
+If the terminal has a fast way to home the cursor
+(to very upper left corner of screen) then this can be given as
+\fBhome\fP; similarly a fast way of getting to the lower left-hand corner
+can be given as \fBll\fP; this may involve going up with \fBcuu1\fP
+from the home position,
+but a program should never do this itself (unless \fBll\fP does) because it
+can make no assumption about the effect of moving up from the home position.
+Note that the home position is the same as addressing to (0,0):
+to the top left corner of the screen, not of memory.
+(Thus, the \eEH sequence on HP terminals cannot be used for
+.BR home .)
+.PP
+If the terminal has row or column absolute cursor addressing,
+these can be given as single parameter capabilities
+.B hpa
+(horizontal position absolute)
+and
+.B vpa
+(vertical position absolute).
+Sometimes these are shorter than the more general two parameter
+sequence (as with the hp2645) and can be used in preference to
+.BR cup .
+If there are parameterized local motions (e.g., move
+.I n
+spaces to the right) these can be given as
+.BR cud ,
+.BR cub ,
+.BR cuf ,
+and
+.B cuu
+with a single parameter indicating how many spaces to move.
+These are primarily useful if the terminal does not have
+.BR cup ,
+such as the \s-1TEKTRONIX\s+1 4025.
+.PP
+If the terminal needs to be in a special mode when running
+a program that uses these capabilities,
+the codes to enter and exit this mode can be given
+as \fBsmcup\fP and \fBrmcup\fP.
+This arises, for example, from terminals like the Concept with more than
+one page of memory.
+If the terminal has only memory relative cursor addressing and not screen
+relative cursor addressing, a one screen-sized window must be fixed into
+the terminal for cursor addressing to work properly.
+This is also used for the \s-1TEKTRONIX\s+1 4025,
+where
+.B smcup
+sets the command character to be the one used by terminfo.
+If the \fBsmcup\fP sequence will not restore the screen after an
+\fBrmcup\fP sequence is output (to the state prior to outputting
+\fBrmcup\fP), specify \fBnrrmc\fP.
+.SS Margins
+SVr4 (and X/Open Curses)
+list several string capabilities for setting margins.
+Two were intended for use with terminals,
+and another six were intended for use with printers.
+.bP
+The two terminal capabilities assume that the terminal may have
+the capability of setting the left and/or right margin at the current
+cursor column position.
+.bP
+The printer capabilities assume that the printer may have
+two types of capability:
+.RS
+.bP
+the ability to set a top and/or bottom margin using the current
+line position, and
+.bP
+parameterized capabilities for setting the top, bottom, left, right margins
+given the number of rows or columns.
+.RE
+.PP
+In practice, the categorization into \*(``terminal\*('' and \*(``printer\*(''
+is not suitable:
+.bP
+The AT&T SVr4 terminal database uses \fBsmgl\fP four times,
+for AT&T hardware.
+.IP
+Three of the four are printers.
+They lack the ability to set left/right margins by specifying the column.
+.bP
+Other (non-AT&T) terminals may support margins
+but using different assumptions from AT&T.
+.IP
+For instance, the DEC VT420 supports left/right margins,
+but only using a column parameter.
+As an added complication, the VT420 uses two settings to fully enable
+left/right margins (left/right margin mode, and origin mode).
+The former enables the margins, which causes printed text
+to wrap within margins, but the latter is needed to prevent
+cursor-addressing outside those margins.
+.bP
+Both DEC VT420 left/right margins are set with a single control sequence.
+If either is omitted, the corresponding margin is set to the left or
+right edge of the display (rather than leaving the margin unmodified).
+.PP
+These are the margin-related capabilities:
+.PP
+.TS
+center;
+lb lb
+lb l .
+Name	Description
+_
+smgl	Set left margin at current column
+smgr	Set right margin at current column
+smgb	Set bottom margin at current line
+smgt	Set top margin at current line
+smgbp	Set bottom margin at line \fIN\fP
+smglp	Set left margin at column \fIN\fP
+smgrp	Set right margin at column \fIN\fP
+smgtp	Set top margin at line \fIN\fP
+smglr	Set both left and right margins to \fIL\fP and \fIR\fP
+smgtb	Set both top and bottom margins to \fIT\fP and \fIB\fP
+.TE
+.PP
+When writing an application that
+uses these string capabilities,
+the pairs should be first checked to see
+if each capability in the pair is set or only one is set:
+.bP
+If both \fBsmglp\fP and \fBsmgrp\fP are set,
+each is used with a single argument, \fIN\fP,
+that gives the column number of the left and right margin, respectively.
+.bP
+If both \fBsmgtp\fP and \fBsmgbp\fP are set,
+each is used to set the top and bottom margin,
+respectively:
+.RS 4
+.bP
+\fBsmgtp\fP is used with a single argument, \fIN\fP,
+the line number of the top margin.
+.bP
+\fBsmgbp\fP is used with two arguments, \fIN\fP and \fIM\fP,
+that give the line number of the bottom margin,
+the first counting from the top of the
+page and the second counting from the bottom.
+This accommodates the two styles of specifying
+the bottom margin in different manufacturers' printers.
+.RE
+.IP
+When designing a terminfo entry for a
+printer that has a settable bottom margin,
+only the first or second argument should be used, depending on the printer.
+When developing an application that uses \fBsmgbp\fP to set the bottom margin,
+both arguments must be given.
+.PP
+Conversely, when only one capability in the pair is set:
+.bP
+If only one of \fBsmglp\fP and \fBsmgrp\fP is set,
+then it is used with two arguments,
+the column number of the left and right margins, in that order.
+.bP
+Likewise, if only one of \fBsmgtp\fP and \fBsmgbp\fP is set, then it
+is used with two arguments that give the top and bottom margins,
+in that order, counting from the top of the page.
+.IP
+When designing a terminfo entry for a printer that requires setting both
+left and right or top and bottom margins simultaneously,
+only one capability in the pairs
+\fBsmglp\fP and \fBsmgrp\fP or
+\fBsmgtp\fP and \fBsmgbp\fP should be defined,
+leaving the other unset.
+.PP
+Except for very old terminal descriptions, e.g., those developed for SVr4,
+the scheme just described should be considered obsolete.
+An improved set of capabilities was added late in the SVr4 releases
+(\fBsmglr\fP and \fBsmgtb\fP),
+which explicitly use two parameters for setting the left/right or top/bottom
+margins.
+.PP
+When setting margins, the line- and column-values are zero-based.
+.PP
+The \fBmgc\fP string capability should be defined.
+Applications such as \fBtabs\fP(1) rely upon this to reset all margins.
+.\"
+.SS "Area Clears"
+If the terminal can clear from the current position to the end of the
+line, leaving the cursor where it is, this should be given as \fBel\fP.
+If the terminal can clear from the beginning of the line to the current
+position inclusive, leaving
+the cursor where it is, this should be given as \fBel1\fP.
+If the terminal can clear from the current position to the end of the
+display, then this should be given as \fBed\fP.
+\fBEd\fP is only defined from the first column of a line.
+(Thus, it can be simulated by a request to delete a large number of lines,
+if a true
+.B ed
+is not available.)
+.\"
+.SS "Insert/Delete Line and Vertical Motions"
+If the terminal can open a new blank line before the line where the cursor
+is, this should be given as \fBil1\fP; this is done only from the first
+position of a line.
+The cursor must then appear on the newly blank line.
+If the terminal can delete the line which the cursor is on, then this
+should be given as \fBdl1\fP; this is done only from the first position on
+the line to be deleted.
+Versions of
+.B il1
+and
+.B dl1
+which take a single parameter and insert or delete that many lines can
+be given as
+.B il
+and
+.BR dl .
+.PP
+If the terminal has a settable scrolling region (like the vt100)
+the command to set this can be described with the
+.B csr
+capability, which takes two parameters:
+the top and bottom lines of the scrolling region.
+The cursor position is, alas, undefined after using this command.
+.PP
+It is possible to get the effect of insert or delete line using
+.B csr
+on a properly chosen region; the
+.B sc
+and
+.B rc
+(save and restore cursor) commands may be useful for ensuring that
+your synthesized insert/delete string does not move the cursor.
+(Note that the \fB\%ncurses\fP(3X) library does this synthesis
+automatically, so you need not compose insert/delete strings for
+an entry with \fBcsr\fP).
+.PP
+Yet another way to construct insert and delete might be to use a combination of
+index with the memory-lock feature found on some terminals (like the HP-700/90
+series, which however also has insert/delete).
+.PP
+Inserting lines at the top or bottom of the screen can also be
+done using
+.B ri
+or
+.B ind
+on many terminals without a true insert/delete line,
+and is often faster even on terminals with those features.
+.PP
+The Boolean \fBnon_dest_scroll_region\fP should be set if each scrolling
+window is effectively a view port on a screen-sized canvas.
+To test for
+this capability, create a scrolling region in the middle of the screen,
+write something to the bottom line, move the cursor to the top of the region,
+and do \fBri\fP followed by \fBdl1\fP or \fBind\fP.
+If the data scrolled
+off the bottom of the region by the \fBri\fP re-appears, then scrolling
+is non-destructive.
+System V and X/Open Curses expect that \fBind\fP, \fBri\fP,
+\fBindn\fP, and \fBrin\fP will simulate destructive scrolling; their
+documentation cautions you not to define \fBcsr\fP unless this is true.
+This \fBcurses\fP implementation is more liberal and will do explicit erases
+after scrolling if \fBndsrc\fP is defined.
+.PP
+If the terminal has the ability to define a window as part of
+memory, which all commands affect,
+it should be given as the parameterized string
+.BR wind .
+The four parameters are the starting and ending lines in memory
+and the starting and ending columns in memory, in that order.
+.PP
+If the terminal can retain display memory above, then the
+\fBda\fP capability should be given; if display memory can be retained
+below, then \fBdb\fP should be given.
+These indicate
+that deleting a line or scrolling may bring non-blank lines up from below
+or that scrolling back with \fBri\fP may bring down non-blank lines.
+.SS "Insert/Delete Character"
+There are two basic kinds of intelligent terminals with respect to
+insert/delete character which can be described using
+.IR terminfo .
+The most common insert/delete character operations affect only the characters
+on the current line and shift characters off the end of the line rigidly.
+Other terminals, such as the Concept 100 and the Perkin Elmer Owl, make
+a distinction between typed and untyped blanks on the screen, shifting
+upon an insert or delete only to an untyped blank on the screen which is
+either eliminated, or expanded to two untyped blanks.
+.PP
+You can determine the
+kind of terminal you have by clearing the screen and then typing
+text separated by cursor motions.
+Type \*(``abc\ \ \ \ def\*('' using local
+cursor motions (not spaces) between the \*(``abc\*('' and the \*(``def\*(''.
+Then position the cursor before the \*(``abc\*('' and put the terminal in insert
+mode.
+If typing characters causes the rest of the line to shift
+rigidly and characters to fall off the end, then your terminal does
+not distinguish between blanks and untyped positions.
+If the \*(``abc\*(''
+shifts over to the \*(``def\*('' which then move together around the end of the
+current line and onto the next as you insert, you have the second type of
+terminal, and should give the capability \fBin\fP, which stands for
+\*(``insert null\*(''.
+.PP
+While these are two logically separate attributes (one line versus multi-line
+insert mode, and special treatment of untyped spaces) we have seen no
+terminals whose insert mode cannot be described with the single attribute.
+.PP
+Terminfo can describe both terminals which have an insert mode, and terminals
+which send a simple sequence to open a blank position on the current line.
+Give as \fBsmir\fP the sequence to get into insert mode.
+Give as \fBrmir\fP the sequence to leave insert mode.
+Now give as \fBich1\fP any sequence needed to be sent just before sending
+the character to be inserted.
+Most terminals with a true insert mode
+will not give \fBich1\fP; terminals which send a sequence to open a screen
+position should give it here.
+.PP
+If your terminal has both, insert mode is usually preferable to \fBich1\fP.
+Technically, you should not give both unless the terminal actually requires
+both to be used in combination.
+Accordingly, some non-curses applications get
+confused if both are present; the symptom is doubled characters in an update
+using insert.
+This requirement is now rare; most \fBich\fP sequences do not
+require previous smir, and most smir insert modes do not require \fBich1\fP
+before each character.
+Therefore, the new \fBcurses\fP actually assumes this
+is the case and uses either \fBrmir\fP/\fBsmir\fP or \fBich\fP/\fBich1\fP as
+appropriate (but not both).
+If you have to write an entry to be used under
+new curses for a terminal old enough to need both, include the
+\fBrmir\fP/\fBsmir\fP sequences in \fBich1\fP.
+.PP
+If post insert padding is needed, give this as a number of milliseconds
+in \fBip\fP (a string option).
+Any other sequence which may need to be
+sent after an insert of a single character may also be given in \fBip\fP.
+If your terminal needs both to be placed into an \*(``insert mode\*('' and
+a special code to precede each inserted character, then both
+.BR smir / rmir
+and
+.B ich1
+can be given, and both will be used.
+The
+.B ich
+capability, with one parameter,
+.IR n ,
+will repeat the effects of
+.B ich1
+.I n
+times.
+.PP
+If padding is necessary between characters typed while not
+in insert mode, give this as a number of milliseconds padding in \fBrmp\fP.
+.PP
+It is occasionally necessary to move around while in insert mode
+to delete characters on the same line (e.g., if there is a tab after
+the insertion position).
+If your terminal allows motion while in
+insert mode you can give the capability \fBmir\fP to speed up inserting
+in this case.
+Omitting \fBmir\fP will affect only speed.
+Some terminals
+(notably Datamedia's) must not have \fBmir\fP because of the way their
+insert mode works.
+.PP
+Finally, you can specify
+.B dch1
+to delete a single character,
+.B dch
+with one parameter,
+.IR n ,
+to delete
+.IR n "characters,"
+and delete mode by giving \fBsmdc\fP and \fBrmdc\fP
+to enter and exit delete mode (any mode the terminal needs to be placed
+in for
+.B dch1
+to work).
+.PP
+A command to erase
+.I n
+characters (equivalent to outputting
+.I n
+blanks without moving the cursor)
+can be given as
+.B ech
+with one parameter.
+.SS "Highlighting, Underlining, and Visible Bells"
+If your terminal has one or more kinds of display attributes,
+these can be represented in a number of different ways.
+You should choose one display form as
+\f2standout mode\fP,
+representing a good, high contrast, easy-on-the-eyes,
+format for highlighting error messages and other attention getters.
+(If you have a choice, reverse video plus half-bright is good,
+or reverse video alone.)
+The sequences to enter and exit standout mode
+are given as \fBsmso\fP and \fBrmso\fP, respectively.
+If the code to change into or out of standout
+mode leaves one or even two blank spaces on the screen,
+as the TVI 912 and Teleray 1061 do,
+then \fBxmc\fP should be given to tell how many spaces are left.
+.PP
+Codes to begin underlining and end underlining can be given as \fBsmul\fP
+and \fBrmul\fP respectively.
+If the terminal has a code to underline the current character and move
+the cursor one space to the right,
+such as the Microterm Mime,
+this can be given as \fBuc\fP.
+.PP
+Other capabilities to enter various highlighting modes include
+.B blink
+(blinking)
+.B bold
+(bold or extra bright)
+.B dim
+(dim or half-bright)
+.B invis
+(blanking or invisible text)
+.B prot
+(protected)
+.B rev
+(reverse video)
+.B sgr0
+(turn off
+.I all
+attribute modes)
+.B smacs
+(enter alternate character set mode)
+and
+.B rmacs
+(exit alternate character set mode).
+Turning on any of these modes singly may or may not turn off other modes.
+.PP
+If there is a sequence to set arbitrary combinations of modes,
+this should be given as
+.B sgr
+(set attributes),
+taking 9 parameters.
+Each parameter is either zero (0) or nonzero,
+as the corresponding attribute is on or off.
+The 9 parameters are, in order:
+standout, underline, reverse, blink, dim, bold, blank, protect, alternate
+character set.
+Not all modes need be supported by
+.BR sgr ,
+only those for which corresponding separate attribute commands exist.
+.PP
+For example, the DEC vt220 supports most of the modes:
+.PP
+.TS
+center;
+lb lb lb
+l  l  l .
+tparm Parameter	Attribute	Escape Sequence
+_
+none	none	\eE[0m
+p1	standout	\eE[0;1;7m
+p2	underline	\eE[0;4m
+p3	reverse	\eE[0;7m
+p4	blink	\eE[0;5m
+p5	dim	not available
+p6	bold	\eE[0;1m
+p7	invis	\eE[0;8m
+p8	protect	not used
+p9	altcharset	\*^O (off) \*^N (on)
+.TE
+.PP
+We begin each escape sequence by turning off any existing modes, since
+there is no quick way to determine whether they are active.
+Standout is set up to be the combination of reverse and bold.
+The vt220 terminal has a protect mode,
+though it is not commonly used in sgr
+because it protects characters on the screen from the host's erasures.
+The altcharset mode also is different in that it is either \*^O or \*^N,
+depending on whether it is off or on.
+If all modes are turned on, the resulting sequence is \eE[0;1;4;5;7;8m\*^N.
+.PP
+Some sequences are common to different modes.
+For example, ;7 is output when either p1 or p3 is true, that is, if
+either standout or reverse modes are turned on.
+.PP
+Writing out the above sequences, along with their dependencies yields
+.PP
+.ne 11
+.TS
+center;
+lb lb lb
+l  l  l .
+Sequence	When to Output	terminfo Translation
+_
+\eE[0	always	\eE[0
+;1	if p1 or p6	%?%p1%p6%|%t;1%;
+;4	if p2	%?%p2%|%t;4%;
+;5	if p4	%?%p4%|%t;5%;
+;7	if p1 or p3	%?%p1%p3%|%t;7%;
+;8	if p7	%?%p7%|%t;8%;
+m	always	m
+\*^N or \*^O	if p9 \*^N, else \*^O	%?%p9%t\*^N%e\*^O%;
+.TE
+.PP
+Putting this all together into the sgr sequence gives:
+.PP
+.EX
+    sgr=\eE[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p4%t;5%;
+        %?%p1%p3%|%t;7%;%?%p7%t;8%;m%?%p9%t\e016%e\e017%;,
+.EE
+.PP
+Remember that if you specify sgr, you must also specify sgr0.
+Also, some implementations rely on sgr being given if sgr0 is,
+Not all terminfo entries necessarily have an sgr string, however.
+Many terminfo entries are derived from termcap entries
+which have no sgr string.
+The only drawback to adding an sgr string is that termcap also
+assumes that sgr0 does not exit alternate character set mode.
+.PP
+Terminals with the \*(``magic cookie\*('' glitch
+.RB ( xmc )
+deposit special \*(``cookies\*('' when they receive mode-setting sequences,
+which affect the display algorithm rather than having extra bits for
+each character.
+Some terminals, such as the HP 2621, automatically leave standout
+mode when they move to a new line or the cursor is addressed.
+Programs using standout mode should exit standout mode before
+moving the cursor or sending a newline,
+unless the
+.B msgr
+capability, asserting that it is safe to move in standout mode, is present.
+.PP
+If the terminal has
+a way of flashing the screen to indicate an error quietly (a bell replacement)
+then this can be given as \fBflash\fP; it must not move the cursor.
+.PP
+If the cursor needs to be made more visible than normal when it is
+not on the bottom line (to make, for example, a non-blinking underline into an
+easier to find block or blinking underline)
+give this sequence as
+.BR cvvis .
+If there is a way to make the cursor completely invisible, give that as
+.BR civis .
+The capability
+.B cnorm
+should be given which undoes the effects of both of these modes.
+.PP
+If your terminal correctly generates underlined characters
+(with no special codes needed)
+even though it does not overstrike,
+then you should give the capability \fBul\fP.
+If a character overstriking another leaves both characters on the screen,
+specify the capability \fBos\fP.
+If overstrikes are erasable with a blank,
+then this should be indicated by giving \fBeo\fP.
+.SS "Keypad and Function Keys"
+If the terminal has a keypad that transmits codes when the keys are pressed,
+this information can be given.
+Note that it is not possible to handle
+terminals where the keypad only works in local (this applies, for example,
+to the unshifted HP 2621 keys).
+If the keypad can be set to transmit or not transmit,
+give these codes as \fBsmkx\fP and \fBrmkx\fP.
+Otherwise the keypad is assumed to always transmit.
+.PP
+The codes sent by the left arrow, right arrow, up arrow, down arrow,
+and home keys can be given as
+\fBkcub1, kcuf1, kcuu1, kcud1, \fRand\fB khome\fP respectively.
+If there are function keys such as f0, f1, ..., f10, the codes they send
+can be given as \fBkf0, kf1, ..., kf10\fP.
+If these keys have labels other than the default f0 through f10, the labels
+can be given as \fBlf0, lf1, ..., lf10\fP.
+.PP
+The codes transmitted by certain other special keys can be given:
+.bP
+.B kll
+(home down),
+.bP
+.B kbs
+(backspace),
+.bP
+.B ktbc
+(clear all tabs),
+.bP
+.B kctab
+(clear the tab stop in this column),
+.bP
+.B kclr
+(clear screen or erase key),
+.bP
+.B kdch1
+(delete character),
+.bP
+.B kdl1
+(delete line),
+.bP
+.B krmir
+(exit insert mode),
+.bP
+.B kel
+(clear to end of line),
+.bP
+.B ked
+(clear to end of screen),
+.bP
+.B kich1
+(insert character or enter insert mode),
+.bP
+.B kil1
+(insert line),
+.bP
+.B knp
+(next page),
+.bP
+.B kpp
+(previous page),
+.bP
+.B kind
+(scroll forward/down),
+.bP
+.B kri
+(scroll backward/up),
+.bP
+.B khts
+(set a tab stop in this column).
+.PP
+In addition, if the keypad has a 3 by 3 array of keys including the four
+arrow keys, the other five keys can be given as
+.BR ka1 ,
+.BR ka3 ,
+.BR kb2 ,
+.BR kc1 ,
+and
+.BR kc3 .
+These keys are useful when the effects of a 3 by 3 directional pad are needed.
+.PP
+Strings to program function keys can be given as
+.BR pfkey ,
+.BR pfloc ,
+and
+.BR pfx .
+A string to program screen labels should be specified as \fBpln\fP.
+Each of these strings takes two parameters: the function key number to
+program (from 0 to 10) and the string to program it with.
+Function key numbers out of this range may program undefined keys in
+a terminal dependent manner.
+The difference between the capabilities is that
+.B pfkey
+causes pressing the given key to be the same as the user typing the
+given string;
+.B pfloc
+causes the string to be executed by the terminal in local; and
+.B pfx
+causes the string to be transmitted to the computer.
+.PP
+The capabilities \fBnlab\fP, \fBlw\fP and \fBlh\fP
+define the number of programmable
+screen labels and their width and height.
+If there are commands to turn the labels on and off,
+give them in \fBsmln\fP and \fBrmln\fP.
+\fBsmln\fP is normally output after one or more pln
+sequences to make sure that the change becomes visible.
+.SS "Tabs and Initialization"
+A few capabilities are used only for tabs:
+.bP
+If the terminal has hardware tabs, the command to advance to the next
+tab stop can be given as
+.B ht
+(usually control/I).
+.bP
+A \*(``back-tab\*('' command which moves leftward to the preceding tab stop can
+be given as
+.BR cbt .
+.IP
+By convention, if the teletype modes indicate that tabs are being
+expanded by the computer rather than being sent to the terminal,
+programs should not use
+.B ht
+or
+.B cbt
+even if they are present, since the user may not have the tab stops
+properly set.
+.bP
+If the terminal has hardware tabs which are initially set every
+.I n
+spaces when the terminal is powered up,
+the numeric parameter
+.B it
+is given, showing the number of spaces the tabs are set to.
+.IP
+The \fBit\fP capability is normally used by the \fB@TSET@\fP
+command to determine whether to set the mode for hardware tab expansion,
+and whether to set the tab stops.
+If the terminal has tab stops that can be saved in non-volatile memory,
+the terminfo description can assume that they are properly set.
+.PP
+Other capabilities
+include
+.bP
+.BR is1 ,
+.BR is2 ,
+and
+.BR is3 ,
+initialization strings for the terminal,
+.bP
+.BR iprog ,
+the path name of a program to be run to initialize the terminal,
+.bP
+and \fBif\fP, the name of a file containing long initialization strings.
+.PP
+These strings are expected to set the terminal into modes consistent
+with the rest of the terminfo description.
+They are normally sent to the terminal, by the
+.I init
+option of the \fB@TPUT@\fP program, each time the user logs in.
+They will be printed in the following order:
+.RS
+.TP
+run the program
+.B iprog
+.TP
+output
+.br
+\fBis1\fP and
+.br
+\fBis2\fP
+.TP
+set the margins using
+\fBmgc\fP or
+.br
+\fBsmglp\fP and \fBsmgrp\fP or
+.br
+\fBsmgl\fP and \fBsmgr\fP
+.TP
+set tabs using
+.B tbc
+and
+.B hts
+.TP
+print the file
+\fBif\fP
+.TP
+and finally output
+\fBis3\fP.
+.RE
+.PP
+Most initialization is done with
+.BR is2 .
+Special terminal modes can be set up without duplicating strings
+by putting the common sequences in
+.B is2
+and special cases in
+.B is1
+and
+.BR is3 .
+.PP
+A set of sequences that does a harder reset from a totally unknown state
+can be given as
+.BR rs1 ,
+.BR rs2 ,
+.B rf
+and
+.BR rs3 ,
+analogous to
+.B is1 ,
+.B is2 ,
+.B if
+and
+.B is3
+respectively.
+These strings are output
+by \fIreset\fP option of \fB@TPUT@\fP,
+or by the \fB@RESET@\fP program
+(an alias of \fB@TSET@\fP),
+which is used when the terminal gets into a wedged state.
+Commands are normally placed in
+.BR rs1 ,
+.B rs2
+.B rs3
+and
+.B rf
+only if they produce annoying effects on the screen and are not
+necessary when logging in.
+For example, the command to set the vt100 into 80-column mode would
+normally be part of
+.BR is2 ,
+but it causes an annoying glitch of the screen and is not normally
+needed since the terminal is usually already in 80-column mode.
+.PP
+The \fB@RESET@\fP program writes strings including
+.BR iprog ,
+etc., in the same order as the
+.I init
+program, using
+.BR rs1 ,
+etc., instead of
+.BR is1 ,
+etc.
+If any of
+.BR rs1 ,
+.BR rs2 ,
+.BR rs3 ,
+or
+.B rf
+reset capability strings are missing,
+the \fB@RESET@\fP program
+falls back upon the corresponding initialization capability string.
+.PP
+If there are commands to set and clear tab stops, they can be given as
+.B tbc
+(clear all tab stops)
+and
+.B hts
+(set a tab stop in the current column of every row).
+If a more complex sequence is needed to set the tabs than can be
+described by this, the sequence can be placed in
+.B is2
+or
+.BR if .
+.PP
+The \fB@TPUT@ reset\fP command uses the same capability strings
+as the \fB@RESET@\fP command,
+although the two programs (\fB@TPUT@\fP and \fB@RESET@\fP)
+provide different command-line options.
+.PP
+In practice, these terminfo capabilities are not often used in
+initialization of tabs
+(though they are required for the \fB@TABS@\fP program):
+.bP
+Almost all hardware terminals (at least those which supported tabs)
+initialized those to every \fIeight\fP columns:
+.IP
+The only exception was the AT&T 2300 series,
+which set tabs to every \fIfive\fP columns.
+.bP
+In particular, developers of the hardware terminals which are commonly used
+as models for modern terminal emulators provided documentation demonstrating
+that \fIeight\fP columns were the standard.
+.bP
+Because of this, the terminal initialization programs
+\fB@TPUT@\fP and \fB@TSET@\fP
+use the
+\fBtbc\fP (\fBclear_all_tabs\fP) and
+\fBhts\fP (\fBset_tab\fP) capabilities directly
+only when the \fBit\fP (\fBinit_tabs\fP) capability
+is set to a value other than \fIeight\fP.
+.SS "Delays and Padding"
+Many older and slower terminals do not support either XON/XOFF or DTR
+handshaking, including hard copy terminals and some very archaic CRTs
+(including, for example, DEC VT100s).
+These may require padding characters
+after certain cursor motions and screen changes.
+.PP
+If the terminal uses xon/xoff handshaking for flow control (that is,
+it automatically emits \*^S back to the host when its input buffers are
+close to full), set
+.BR xon .
+This capability suppresses the emission of padding.
+You can also set it
+for memory-mapped console devices effectively that do not have a speed limit.
+Padding information should still be included so that routines can
+make better decisions about relative costs, but actual pad characters will
+not be transmitted.
+.PP
+If \fBpb\fP (padding baud rate) is given, padding is suppressed at baud rates
+below the value of \fBpb\fP.
+If the entry has no padding baud rate, then
+whether padding is emitted or not is completely controlled by \fBxon\fP.
+.PP
+If the terminal requires other than a null (zero) character as a pad,
+then this can be given as \fBpad\fP.
+Only the first character of the
+.B pad
+string is used.
+.SS "Status Lines"
+Some terminals have an extra \*(``status line\*('' which is not normally used by
+software (and thus not counted in the terminal's \fBlines\fP capability).
+.PP
+The simplest case is a status line which is cursor-addressable but not
+part of the main scrolling region on the screen; the Heathkit H19 has
+a status line of this kind, as would a 24-line VT100 with a 23-line
+scrolling region set up on initialization.
+This situation is indicated
+by the \fBhs\fP capability.
+.PP
+Some terminals with status lines need special sequences to access the
+status line.
+These may be expressed as a string with single parameter
+\fBtsl\fP which takes the cursor to a given zero-origin column on the
+status line.
+The capability \fBfsl\fP must return to the main-screen
+cursor positions before the last \fBtsl\fP.
+You may need to embed the
+string values of \fBsc\fP (save cursor) and \fBrc\fP (restore cursor)
+in \fBtsl\fP and \fBfsl\fP to accomplish this.
+.PP
+The status line is normally assumed to be the same width as the width
+of the terminal.
+If this is untrue, you can specify it with the numeric
+capability \fBwsl\fP.
+.PP
+A command to erase or blank the status line may be specified as \fBdsl\fP.
+.PP
+The Boolean capability \fBeslok\fP specifies that escape sequences, tabs,
+etc., work ordinarily in the status line.
+.PP
+The \fI\%ncurses\fP implementation does not yet use any of these
+capabilities.
+They are documented here in case they ever become important.
+.SS "Line Graphics"
+Many terminals have alternate character sets useful for forms-drawing.
+Terminfo and \fBcurses\fP have built-in support
+for most of the drawing characters
+supported by the VT100, with some characters from the AT&T 4410v1 added.
+This alternate character set may be specified by the \fBacsc\fP capability.
+.PP
+.TS
+center;
+Lb  Cb  S  L   Lb
+Lb2 Lb2 Lb Lb1 S
+Lb  L   C  Lb  Lx.
+\&	acsc	\&	\&
+ACS Name	Value	Symbol	ASCII Fallback / Glyph Name
+_
+ACS_RARROW	0x2b	+	>	arrow pointing right
+ACS_LARROW	0x2c	,	<	arrow pointing left
+ACS_UARROW	0x2d	\-	\*^	arrow pointing up
+ACS_DARROW	0x2e	.	v	arrow pointing down
+ACS_BLOCK	0x30	0	#	solid square block
+ACS_DIAMOND	0x60	\(ga	+	diamond
+ACS_CKBOARD	0x61	a	:	checker board (stipple)
+ACS_DEGREE	0x66	f	\e	degree symbol
+ACS_PLMINUS	0x67	g	#	plus/minus
+ACS_BOARD	0x68	h	#	board of squares
+ACS_LANTERN	0x69	i	#	lantern symbol
+ACS_LRCORNER	0x6a	j	+	lower right corner
+ACS_URCORNER	0x6b	k	+	upper right corner
+ACS_ULCORNER	0x6c	l	+	upper left corner
+ACS_LLCORNER	0x6d	m	+	lower left corner
+ACS_PLUS	0x6e	n	+	large plus or crossover
+ACS_S1	0x6f	o	\*~	scan line 1
+ACS_S3	0x70	p	\-	scan line 3
+ACS_HLINE	0x71	q	\-	horizontal line
+ACS_S7	0x72	r	\-	scan line 7
+ACS_S9	0x73	s	\&_	scan line 9
+ACS_LTEE	0x74	t	+	tee pointing right
+ACS_RTEE	0x75	u	+	tee pointing left
+ACS_BTEE	0x76	v	+	tee pointing up
+ACS_TTEE	0x77	w	+	tee pointing down
+ACS_VLINE	0x78	x	|	vertical line
+ACS_LEQUAL	0x79	y	<	less-than-or-equal-to
+ACS_GEQUAL	0x7a	z	>	greater-than-or-equal-to
+ACS_PI	0x7b	{	*	greek pi
+ACS_NEQUAL	0x7c	|	!	not-equal
+ACS_STERLING	0x7d	}	f	UK pound sign
+ACS_BULLET	0x7e	\*~	o	bullet
+.TE
+.PP
+A few notes apply to the table itself:
+.bP
+X/Open Curses incorrectly states that the mapping for \fIlantern\fP is
+uppercase \*(``I\*('' although Unix implementations use the
+lowercase \*(``i\*('' mapping.
+.bP
+The DEC VT100 implemented graphics using the alternate character set
+feature, temporarily switching \fImodes\fP and sending characters
+in the range 0x60 (96) to 0x7e (126)
+(the \fBacsc Value\fP column in the table).
+.bP
+The AT&T terminal added graphics characters outside that range.
+.IP
+Some of the characters within the range do not match the VT100;
+presumably they were used in the AT&T terminal:
+\fIboard of squares\fP replaces the VT100 \fInewline\fP symbol, while
+\fIlantern symbol\fP replaces the VT100 \fIvertical tab\fP symbol.
+The other VT100 symbols for control characters (\fIhorizontal tab\fP,
+\fIcarriage return\fP and \fIline-feed\fP) are not (re)used in curses.
+.PP
+The best way to define a new device's graphics set is to add a column
+to a copy of this table for your terminal, giving the character which
+(when emitted between \fBsmacs\fP/\fBrmacs\fP switches) will be rendered
+as the corresponding graphic.
+Then read off the VT100/your terminal
+character pairs right to left in sequence; these become the ACSC string.
+.SS "Color Handling"
+The curses library functions \fBinit_pair\fP and \fBinit_color\fP
+manipulate the \fIcolor pairs\fP and \fIcolor values\fP discussed in this
+section
+(see \fBcurs_color\fP(3X) for details on these and related functions).
+.PP
+Most color terminals are either \*(``Tektronix-like\*('' or \*(``HP-like\*('':
+.bP
+Tektronix-like
+terminals have a predefined set of \fIN\fP colors
+(where \fIN\fP is usually 8),
+and can set
+character-cell foreground and background characters independently, mixing them
+into \fIN\fP\ *\ \fIN\fP color pairs.
+.bP
+On HP-like terminals, the user must set each color
+pair up separately (foreground and background are not independently settable).
+Up to \fIM\fP color pairs may be set up from 2*\fIM\fP different colors.
+ANSI-compatible terminals are Tektronix-like.
+.PP
+Some basic color capabilities are independent of the color method.
+The numeric
+capabilities \fBcolors\fP and \fBpairs\fP specify the maximum numbers of colors
+and color pairs that can be displayed simultaneously.
+The \fBop\fP (original
+pair) string resets foreground and background colors to their default values
+for the terminal.
+The \fBoc\fP string resets all colors or color pairs to
+their default values for the terminal.
+Some terminals (including many PC
+terminal emulators) erase screen areas with the current background color rather
+than the power-up default background; these should have the Boolean capability
+\fBbce\fP.
+.PP
+While the curses library works with \fIcolor pairs\fP
+(reflecting the inability of some devices to set foreground
+and background colors independently),
+there are separate capabilities for setting these features:
+.bP
+To change the current foreground or background color on a Tektronix-type
+terminal, use \fBsetaf\fP (set ANSI foreground) and \fBsetab\fP (set ANSI
+background) or \fBsetf\fP (set foreground) and \fBsetb\fP (set background).
+These take one parameter, the color number.
+The SVr4 documentation describes
+only \fBsetaf\fP/\fBsetab\fP; the XPG4 draft says that "If the terminal
+supports ANSI escape sequences to set background and foreground, they should
+be coded as \fBsetaf\fP and \fBsetab\fP, respectively.
+.bP
+If the terminal
+supports other escape sequences to set background and foreground, they should
+be coded as \fBsetf\fP and \fBsetb\fP, respectively.
+The \fBvidputs\fP and the \fBrefresh\fP(3X) functions
+use the \fBsetaf\fP and \fBsetab\fP capabilities if they are defined.
+.PP
+The \fBsetaf\fP/\fBsetab\fP and \fBsetf\fP/\fBsetb\fP capabilities take a
+single numeric argument each.
+Argument values 0-7 of \fBsetaf\fP/\fBsetab\fP are portably defined as
+follows (the middle column is the symbolic #define available in the header for
+the \fBcurses\fP or \fI\%ncurses\fP libraries).
+The terminal hardware is free to
+map these as it likes, but the RGB values indicate normal locations in color
+space.
+.PP
+.TS
+center;
+cb cb cb cb s  s
+l  lb c  l1 l1 l .
+Color	#define 	Value	RGB
+_
+black	COLOR_BLACK	0	0,	0,	0
+red	COLOR_RED	1	max,	0,	0
+green	COLOR_GREEN	2	0,	max,	0
+yellow	COLOR_YELLOW	3	max,	max,	0
+blue	COLOR_BLUE	4	0,	0,	max
+magenta	COLOR_MAGENTA	5	max,	0,	max
+cyan	COLOR_CYAN	6	0,	max,	max
+white	COLOR_WHITE	7	max,	max,	max
+.TE
+.br
+.if t .ne 6v
+.PP
+The argument values of \fBsetf\fP/\fBsetb\fP historically correspond to
+a different mapping, i.e.,
+.PP
+.TS
+center;
+cb cb cb cb s  s
+l  lb c  l1 l1 l .
+Color	#define 	Value	RGB
+_
+black	COLOR_BLACK	0	0,	0,	0
+blue	COLOR_BLUE	1	0,	0,	max
+green	COLOR_GREEN	2	0,	max,	0
+cyan	COLOR_CYAN	3	0,	max,	max
+red	COLOR_RED	4	max,	0,	0
+magenta	COLOR_MAGENTA	5	max,	0,	max
+yellow	COLOR_YELLOW	6	max,	max,	0
+white	COLOR_WHITE	7	max,	max,	max
+.TE
+.PP
+It is important to not confuse the two sets of color capabilities;
+otherwise red/blue will be interchanged on the display.
+.PP
+On an HP-like terminal, use \fBscp\fP with a color pair number parameter to set
+which color pair is current.
+.PP
+Some terminals allow the \fIcolor values\fP to be modified:
+.bP
+On a Tektronix-like terminal, the capability \fBccc\fP may be present to
+indicate that colors can be modified.
+If so, the \fBinitc\fP capability will
+take a color number (0 to \fBcolors\fP \- 1)and three more parameters which
+describe the color.
+These three parameters default to being interpreted as RGB
+(Red, Green, Blue) values.
+If the Boolean capability \fBhls\fP is present,
+they are instead as HLS (Hue, Lightness, Saturation) indices.
+The ranges are
+terminal-dependent.
+.bP
+On an HP-like terminal, \fBinitp\fP may give a capability for changing a
+color pair value.
+It will take seven parameters; a color pair number (0 to
+\fBmax_pairs\fP \- 1), and two triples describing first background and then
+foreground colors.
+These parameters must be (Red, Green, Blue) or
+(Hue, Lightness, Saturation) depending on \fBhls\fP.
+.PP
+On some color terminals, colors collide with highlights.
+You can register
+these collisions with the \fBncv\fP capability.
+This is a bit mask of
+attributes not to be used when colors are enabled.
+The correspondence with the
+attributes understood by \fBcurses\fP is as follows:
+.PP
+.TS
+center;
+cb cb cb cb
+lb n  n  lb.
+Attribute	Bit	Decimal	Set by
+_
+A_STANDOUT	0	1	sgr
+A_UNDERLINE	1	2	sgr
+A_REVERSE	2	4	sgr
+A_BLINK	3	8	sgr
+A_DIM	4	16	sgr
+A_BOLD	5	32	sgr
+A_INVIS	6	64	sgr
+A_PROTECT	7	128	sgr
+A_ALTCHARSET	8	256	sgr
+A_HORIZONTAL	9	512	sgr1
+A_LEFT	10	1024	sgr1
+A_LOW	11	2048	sgr1
+A_RIGHT	12	4096	sgr1
+A_TOP	13	8192	sgr1
+A_VERTICAL	14	16384	sgr1
+A_ITALIC	15	32768	sitm
+.TE
+.PP
+For example, on many IBM PC consoles, the underline attribute collides with the
+foreground color blue and is not available in color mode.
+These should have
+an \fBncv\fP capability of 2.
+.PP
+SVr4 curses does nothing with \fBncv\fP,
+\fI\%ncurses\fP recognizes it and optimizes
+the output in favor of colors.
+.SS Miscellaneous
+If the terminal requires other than a null (zero) character as a pad, then this
+can be given as pad.
+Only the first character of the pad string is used.
+If the terminal does not have a pad character, specify npc.
+Note that \fI\%ncurses\fP implements the termcap-compatible \fBPC\fP
+variable;
+though the application may set this value to something other than
+a null,
+\fI\%ncurses\fP will test \fBnpc\fP first and use napms if the terminal
+has no pad character.
+.PP
+If the terminal can move up or down half a line,
+this can be indicated with
+.B hu
+(half-line up)
+and
+.B hd
+(half-line down).
+This is primarily useful for superscripts and subscripts on hard-copy terminals.
+If a hard-copy terminal can eject to the next page (form feed), give this as
+.B ff
+(usually control/L).
+.PP
+If there is a command to repeat a given character a given number of
+times (to save time transmitting a large number of identical characters)
+this can be indicated with the parameterized string
+.BR rep .
+The first parameter is the character to be repeated and the second
+is the number of times to repeat it.
+Thus, tparm(repeat_char, \*'x\*', 10) is the same as \*(``xxxxxxxxxx\*(''.
+.PP
+If the terminal has a settable command character,
+such as the \s-1TEKTRONIX\s+1 4025,
+this can be indicated with
+.BR cmdch .
+A prototype command character is chosen which is used in all capabilities.
+This character is given in the
+.B cmdch
+capability to identify it.
+The following convention is supported on some Unix systems:
+The environment is to be searched for a
+.B CC
+variable, and if found, all
+occurrences of the prototype character are replaced with the character
+in the environment variable.
+.PP
+Terminal descriptions that do not represent a specific kind of known
+terminal, such as
+.IR switch ,
+.IR dialup ,
+.IR patch ,
+and
+.IR network ,
+should include the
+.B gn
+(generic) capability so that programs can complain that they do not know
+how to talk to the terminal.
+(This capability does not apply to
+.I virtual
+terminal descriptions for which the escape sequences are known.)
+.PP
+If the terminal has a \*(``meta key\*('' which acts as a shift key,
+setting the 8th bit of any character transmitted, this fact can
+be indicated with
+.BR km .
+Otherwise, software will assume that the 8th bit is parity and it
+will usually be cleared.
+If strings exist to turn this \*(``meta mode\*('' on and off, they
+can be given as
+.B smm
+and
+.BR rmm .
+.PP
+If the terminal has more lines of memory than will fit on the screen
+at once, the number of lines of memory can be indicated with
+.BR lm .
+A value of
+.BR lm #0
+indicates that the number of lines is not fixed,
+but that there is still more memory than fits on the screen.
+.PP
+If the terminal is one of those supported by the Unix virtual
+terminal protocol, the terminal number can be given as
+.BR vt .
+.PP
+Media copy
+strings which control an auxiliary printer connected to the terminal
+can be given as
+.BR mc0 :
+print the contents of the screen,
+.BR mc4 :
+turn off the printer, and
+.BR mc5 :
+turn on the printer.
+When the printer is on, all text sent to the terminal will be sent
+to the printer.
+It is undefined whether the text is also displayed on the terminal screen
+when the printer is on.
+A variation
+.B mc5p
+takes one parameter, and leaves the printer on for as many characters
+as the value of the parameter, then turns the printer off.
+The parameter should not exceed 255.
+All text, including
+.BR mc4 ,
+is transparently passed to the printer while an
+.B mc5p
+is in effect.
+.SS "Glitches and Brain Damage"
+Hazeltine terminals,
+which do not allow \*(``\*~\*('' characters to be displayed should
+indicate \fBhz\fP.
+.PP
+Terminals which ignore a line-feed immediately after an \fBam\fP wrap,
+such as the Concept and vt100,
+should indicate \fBxenl\fP.
+.PP
+If
+.B el
+is required to get rid of standout
+(instead of merely writing normal text on top of it),
+\fBxhp\fP should be given.
+.PP
+Teleray terminals, where tabs turn all characters moved over to blanks,
+should indicate \fBxt\fP (destructive tabs).
+Note: the variable indicating this is now \*(``dest_tabs_magic_smso\*(''; in
+older versions, it was teleray_glitch.
+This glitch is also taken to mean that it is not possible to position
+the cursor on top of a \*(``magic cookie\*('',
+that to erase standout mode it is instead necessary to use
+delete and insert line.
+The \fI\%ncurses\fP implementation ignores this glitch.
+.PP
+The Beehive Superbee, which is unable to correctly transmit the escape
+or control/C characters, has
+.BR xsb ,
+indicating that the f1 key is used for escape and f2 for control/C.
+(Only certain Superbees have this problem, depending on the ROM.)
+Note that in older terminfo versions, this capability was called
+\*(``beehive_glitch\*(''; it is now \*(``no_esc_ctl_c\*(''.
+.PP
+Other specific terminal problems may be corrected by adding more
+capabilities of the form \fBx\fIx\fR.
+.SS "Pitfalls of Long Entries"
+Long terminfo entries are unlikely to be a problem; to date, no entry has even
+approached terminfo's 4096-byte string-table maximum.
+Unfortunately, the termcap
+translations are much more strictly limited (to 1023 bytes),
+thus termcap translations of long terminfo entries can cause problems.
+.PP
+The man pages for 4.3BSD
+and older versions of \fBtgetent\fP instruct the user to
+allocate a 1024-byte buffer for the termcap entry.
+The entry gets null-terminated by
+the termcap library, so that makes the maximum safe length for a termcap entry
+1k\-1 (1023) bytes.
+Depending on what the application and the termcap library being used does,
+and where in the termcap file the terminal type that \fBtgetent\fP
+is searching for is, several bad things can happen:
+.bP
+some termcap libraries print a warning message,
+.bP
+some exit if they find an entry that's longer than 1023 bytes,
+.bP
+some neither exit nor warn, doing nothing useful, and
+.bP
+some simply truncate the entries to 1023 bytes.
+.PP
+Some application programs allocate more than
+the recommended 1K for the termcap entry; others do not.
+.PP
+Each termcap entry has two important sizes associated with it: before
+\*(``tc\*('' expansion, and after \*(``tc\*('' expansion.
+\*(``tc\*('' is the capability that
+tacks on another termcap entry to the end of the current one, to add
+on its capabilities.
+If a termcap entry does not use the \*(``tc\*(''
+capability, then of course the two lengths are the same.
+.PP
+The \*(``before tc expansion\*('' length is the most important one, because it
+affects more than just users of that particular terminal.
+This is the
+length of the entry as it exists in /etc/termcap, minus the
+backslash-newline pairs, which \fBtgetent\fP strips out while reading it.
+Some termcap libraries strip off the final newline, too (GNU termcap does not).
+Now suppose:
+.bP
+a termcap entry before expansion is more than 1023 bytes long,
+.bP
+and the application has only allocated a 1k buffer,
+.bP
+and the termcap library (like the one in BSD/OS 1.1 and GNU) reads
+the whole entry into the buffer, no matter what its length, to see
+if it is the entry it wants,
+.bP
+and \fBtgetent\fP is searching for a terminal type that either is the
+long entry, appears in the termcap file after the long entry, or
+does not appear in the file at all (so that \fBtgetent\fP has to search
+the whole termcap file).
+.PP
+Then \fBtgetent\fP will overwrite memory,
+perhaps its stack,
+and probably core dump the program.
+Programs like telnet are particularly vulnerable; modern telnets
+pass along values like the terminal type automatically.
+The results are almost
+as undesirable with a termcap library, like SunOS 4.1.3 and Ultrix 4.4, that
+prints warning messages when it reads an overly long termcap entry.
+If a
+termcap library truncates long entries, like OSF/1 3.0, it is immune to dying
+here but will return incorrect data for the terminal.
+.PP
+The \*(``after tc expansion\*('' length will have a similar effect to the
+above, but only for people who actually set \fITERM\fP to that terminal
+type, since \fBtgetent\fP only does \*(``tc\*('' expansion once it is found the
+terminal type it was looking for, not while searching.
+.PP
+In summary, a termcap entry that is longer than 1023 bytes can cause,
+on various combinations of termcap libraries and applications, a core
+dump, warnings, or incorrect operation.
+If it is too long even before
+\*(``tc\*('' expansion, it will have this effect even for users of some other
+terminal types and users whose \fITERM\fP variable does not have a termcap
+entry.
+.PP
+When in \-C (translate to termcap) mode,
+the \fI\%ncurses\fP implementation of
+\fB@TIC@\fP(1M) issues warning messages when the pre-tc length of a termcap
+translation is too long.
+The \-c (check) option also checks resolved (after tc
+expansion) lengths.
+.SH FILES
+.TP
+.I \*d
+compiled terminal description database directory
+.SH EXTENSIONS
+Searching for terminal descriptions in
+\fI$HOME/.terminfo\fP and \fI\%TERMINFO_DIRS\fP
+is not supported by older implementations.
+.PP
+Some SVr4 \fBcurses\fP implementations, and all previous to SVr4, do not
+interpret the %A and %O operators in parameter strings.
+.PP
+SVr4/XPG4 do not specify whether \fBmsgr\fP licenses movement while in
+an alternate-character-set mode (such modes may, among other things, map
+CR and NL to characters that do not trigger local motions).
+The \fI\%ncurses\fP implementation ignores \fBmsgr\fP in
+\fBALTCHARSET\fP mode.
+This raises the possibility that an XPG4
+implementation making the opposite interpretation may need terminfo
+entries made for \fI\%ncurses\fP to have \fBmsgr\fP turned off.
+.PP
+The \fI\%ncurses\fP library handles insert-character and
+insert-character modes in a slightly non-standard way to get better
+update efficiency.
+See
+the \fBInsert/Delete Character\fP subsection above.
+.PP
+The parameter substitutions for \fBset_clock\fP and \fBdisplay_clock\fP are
+not documented in SVr4 or X/Open Curses.
+They are deduced from the
+documentation for the AT&T 505 terminal.
+.PP
+Be careful assigning the \fBkmous\fP capability.
+The \fI\%ncurses\fP library wants to interpret it as \fBKEY_MOUSE\fP,
+for use by terminals and emulators like xterm
+that can return mouse-tracking information in the keyboard-input stream.
+.PP
+X/Open Curses does not mention italics.
+Portable applications must assume that numeric capabilities are
+signed 16-bit values.
+This includes the \fIno_color_video\fP (\fBncv\fP) capability.
+The 32768 mask value used for italics with \fBncv\fP can be confused with
+an absent or cancelled \fBncv\fP.
+If italics should work with colors,
+then the \fBncv\fP value must be specified, even if it is zero.
+.PP
+Different commercial ports of \fI\%terminfo\fP and \fIcurses\fP support
+different subsets of X/Open Curses and
+(in some cases)
+different extensions.
+Here is a summary,
+accurate as of October 1995,
+after which the commercial Unix market contracted and lost diversity.
+.bP
+SVr4,
+Solaris,
+and \fI\%ncurses\fP support all SVr4 capabilities.
+.bP
+IRIX supports the SVr4 set and adds one undocumented extended string
+capability (\fB\%set_pglen\fP).
+.bP
+SVr1 and Ultrix support a restricted subset of \fI\%terminfo\fP
+capabilities.
+The Booleans end with \fB\%xon_xoff\fP;
+the numerics with \fB\%width_status_line\fP;
+and the strings with \fB\%prtr_non\fP.
+.bP
+HP/UX supports the SVr1 subset,
+plus the SVr[234] numerics
+\fB\%num_labels\fP,
+\fB\%label_height\fP,
+\fB\%label_width\fP,
+plus function keys 11 through 63,
+plus
+\fB\%plab_norm\fP,
+\fB\%label_on\fP,
+and
+\fB\%label_off\fP,
+plus a number of incompatible string table extensions.
+.bP
+AIX supports the SVr1 subset,
+plus function keys 11 through 63,
+plus a number of incompatible string table extensions.
+.bP
+OSF/1 supports both the SVr4 set and the AIX extensions.
+.SH PORTABILITY
+Do not count on compiled (binary) \fI\%terminfo\fP entries being
+portable between commercial Unix systems.
+At least two implementations of \fI\%terminfo\fP
+(those of HP-UX and AIX)
+diverged from those of other System V Unices after SVr1,
+adding extension capabilities to the string table that
+(in the binary format)
+collide with subsequent System V and X/Open Curses extensions.
+.SH AUTHORS
+Zeyd M. Ben-Halim, Eric S. Raymond, Thomas E. Dickey.
+Based on \fIpcurses\fP by Pavel Curtis.
+.SH SEE ALSO
+\fB\%@INFOCMP@\fP(1M),
+\fB\%@TABS@\fP(1),
+\fB\%@TIC@\fP(1M),
+\fB\%curses\fP(3X),
+\fB\%curs_color\fP(3X),
+\fB\%curs_terminfo\fP(3X),
+\fB\%curs_variables\fP(3X),
+\fB\%printf\fP(3),
+\fB\%term_variables\fP(3X),
+\fB\%term\fP(5),
+\fB\%user_caps\fP(5)
diff --git a/menu/Makefile b/menu/Makefile
new file mode 100644
index 0000000..e72fd66
--- /dev/null
+++ b/menu/Makefile
@@ -0,0 +1,731 @@
+# $Id: Makefile.in,v 1.71 2021/07/03 15:45:33 tom Exp $
+##############################################################################
+# Copyright 2020,2021 Thomas E. Dickey                                       #
+# Copyright 1998-2015,2018 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for menu source code.
+#
+# This makes the following:
+#	libraries (normal/debug/profile/shared)
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+x		= 
+o		= .o
+
+MODEL		= normal
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /usr
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+includesubdir	= 
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncursesw
+
+LIBTOOL		= 
+LIBTOOL_OPTS	=  
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+LIBTOOL_INSTALL	= 
+LIBTOOL_UNINSTALL = 
+LT_UNDEF	= 
+
+INSTALL		= /usr/bin/install -c
+INSTALL_LIB	= /usr/bin/install -c -m 644 -p
+INSTALL_PROG	= ${INSTALL} -s
+INSTALL_DATA	= ${INSTALL} -m 644
+
+AR		= ar
+ARFLAGS		= -curvU
+AWK		= mawk
+LD		= ld
+LN_S		= ln -s -f
+
+CTAGS		= ctags
+ETAGS		= etags
+
+CC		= gcc
+CPP		= gcc -E
+CFLAGS		= -O2 --param max-inline-insns-single=1200 
+
+INCDIR		= $(top_srcdir)/include
+BASE_DIR 	= $(top_srcdir)/ncurses
+CPPFLAGS	= -I$(BASE_DIR) -DHAVE_CONFIG_H -DBUILDING_MENU -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS) -DNCURSES_STATIC
+CFLAGS_DEBUG	= $(CCFLAGS) -DNCURSES_STATIC -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -DNCURSES_STATIC -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+LINK		= $(LIBTOOL_LINK)
+LDFLAGS		=   
+
+SHLIB_DIRS	= -L../lib
+SHLIB_LIST	= $(SHLIB_DIRS) -lncursesw 
+
+RPATH_LIST	= ${libdir}
+RESULTING_SYMS	= 
+VERSIONED_SYMS	= 
+MK_SHARED_LIB	= ${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,`basename $@ .${REL_VERSION}`.${ABI_VERSION},-stats,-lc -o $@
+
+NCURSES_MAJOR	= 6
+NCURSES_MINOR	= 5
+REL_VERSION	= 6.5
+ABI_VERSION	= 6
+
+RANLIB		= ranlib
+
+LIBRARIES	=  ../lib/libmenuw.a ../lib/libmenuw_g.a
+
+LINT		= 
+LINT_OPTS	= 
+LINT_LIBS	= -lmenu -lncurses 
+
+AUTO_SRC	= \
+		../include/menu.h \
+		../include/eti.h \
+		../include/mf_common.h
+
+################################################################################
+
+.PHONY :	all
+.PHONY :	clean
+.PHONY :	distclean
+.PHONY :	install
+.PHONY :	install.libs
+.PHONY :	libs
+.PHONY :	mostlyclean
+.PHONY :	realclean
+.PHONY :	sources
+.PHONY :	uninstall
+.PHONY :	uninstall.libs
+
+all \
+libs \
+install ::	$(AUTO_SRC) $(LIBRARIES)
+
+sources :	$(AUTO_SRC)
+
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(libdir) :
+	mkdir -p $@
+
+# make copies to simplify include-paths while still keeping menu's include
+# file in this directory.
+../include/menu.h : $(srcdir)/menu.h
+	-rm -f $@
+	cp $(srcdir)/menu.h $@
+../include/eti.h : $(srcdir)/eti.h
+	-rm -f $@
+	cp $(srcdir)/eti.h $@
+../include/mf_common.h : $(srcdir)/mf_common.h
+	-rm -f $@
+	cp $(srcdir)/mf_common.h $@
+
+HEADER_DEPS = \
+	../include/curses.h \
+	../include/ncurses_cfg.h \
+	../include/ncurses_def.h \
+	../include/ncurses_dll.h \
+	../include/term.h \
+	../include/unctrl.h \
+	$(BASE_DIR)/curses.priv.h \
+	$(BASE_DIR)/new_pair.h \
+	$(INCDIR)/nc_alloc.h \
+	$(INCDIR)/nc_panel.h \
+	$(INCDIR)/nc_string.h \
+	$(INCDIR)/nc_termios.h \
+	$(INCDIR)/nc_tparm.h \
+	$(INCDIR)/term_entry.h \
+	$(srcdir)/menu.priv.h \
+	$(AUTO_SRC)
+
+tags:
+	$(CTAGS) *.[ch]
+
+TAGS:
+	$(ETAGS) *.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-rm -f $(AUTO_SRC)
+	-rm -rf .libs *.dSYM
+
+distclean :: clean
+	-rm -f Makefile
+
+realclean :: distclean
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	mawk 'BEGIN { skip = 1; last=""; } /deprecated in ABI6/ { next; }{ sub("NCURSES([WT]+)?", "&6"); } { if ( last != "" && ( skip == 0 || $$0 !~ /}/ ) ) { print last; } skip = 0; last = $$0; } END { print last; }' < "" >$@
+
+distclean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    menuw
+#   subsets:    ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(srcdir)/m_attribs.c \
+	$(srcdir)/m_cursor.c \
+	$(srcdir)/m_driver.c \
+	$(srcdir)/m_format.c \
+	$(srcdir)/m_global.c \
+	$(srcdir)/m_hook.c \
+	$(srcdir)/m_item_cur.c \
+	$(srcdir)/m_item_nam.c \
+	$(srcdir)/m_item_new.c \
+	$(srcdir)/m_item_opt.c \
+	$(srcdir)/m_item_top.c \
+	$(srcdir)/m_item_use.c \
+	$(srcdir)/m_item_val.c \
+	$(srcdir)/m_item_vis.c \
+	$(srcdir)/m_items.c \
+	$(srcdir)/m_new.c \
+	$(srcdir)/m_opts.c \
+	$(srcdir)/m_pad.c \
+	$(srcdir)/m_pattern.c \
+	$(srcdir)/m_post.c \
+	$(srcdir)/m_req_name.c \
+	$(srcdir)/m_scale.c \
+	$(srcdir)/m_spacing.c \
+	$(srcdir)/m_sub.c \
+	$(srcdir)/m_trace.c \
+	$(srcdir)/m_userptr.c \
+	$(srcdir)/m_win.c
+
+# Producing llib-lmenuw is time-consuming, so there's no direct-dependency for
+# it in the lintlib rule.  We'll only remove in the cleanest setup.
+
+MENUW_SRC = \
+	$(srcdir)/m_attribs.c \
+	$(srcdir)/m_cursor.c \
+	$(srcdir)/m_driver.c \
+	$(srcdir)/m_format.c \
+	$(srcdir)/m_global.c \
+	$(srcdir)/m_hook.c \
+	$(srcdir)/m_item_cur.c \
+	$(srcdir)/m_item_nam.c \
+	$(srcdir)/m_item_new.c \
+	$(srcdir)/m_item_opt.c \
+	$(srcdir)/m_item_top.c \
+	$(srcdir)/m_item_use.c \
+	$(srcdir)/m_item_val.c \
+	$(srcdir)/m_item_vis.c \
+	$(srcdir)/m_items.c \
+	$(srcdir)/m_new.c \
+	$(srcdir)/m_opts.c \
+	$(srcdir)/m_pad.c \
+	$(srcdir)/m_pattern.c \
+	$(srcdir)/m_post.c \
+	$(srcdir)/m_req_name.c \
+	$(srcdir)/m_scale.c \
+	$(srcdir)/m_spacing.c \
+	$(srcdir)/m_sub.c \
+	$(srcdir)/m_trace.c \
+	$(srcdir)/m_userptr.c \
+	$(srcdir)/m_win.c
+
+clean ::
+	rm -f llib-lmenuw.*
+
+realclean ::
+	rm -f llib-lmenuw
+
+llib-lmenuw : $(MENUW_SRC)
+	cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(MENUW_SRC) >$@
+
+lintlib ::
+	sh $(srcdir)/../misc/makellib menuw $(CPPFLAGS)
+
+lint ::
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(MENUW_SRC) $(LINT_LIBS)
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            menuw
+#  traces:          DEBUG
+#  MODEL:           NORMAL
+#  CXX_MODEL:       NORMAL
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           objects
+#  prefix:          lib
+#  suffix:          .a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./menu.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+NORMAL_OBJS = \
+	../objects/m_attribs$o \
+	../objects/m_cursor$o \
+	../objects/m_driver$o \
+	../objects/m_format$o \
+	../objects/m_global$o \
+	../objects/m_hook$o \
+	../objects/m_item_cur$o \
+	../objects/m_item_nam$o \
+	../objects/m_item_new$o \
+	../objects/m_item_opt$o \
+	../objects/m_item_top$o \
+	../objects/m_item_use$o \
+	../objects/m_item_val$o \
+	../objects/m_item_vis$o \
+	../objects/m_items$o \
+	../objects/m_new$o \
+	../objects/m_opts$o \
+	../objects/m_pad$o \
+	../objects/m_pattern$o \
+	../objects/m_post$o \
+	../objects/m_req_name$o \
+	../objects/m_scale$o \
+	../objects/m_spacing$o \
+	../objects/m_sub$o \
+	../objects/m_userptr$o \
+	../objects/m_win$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./menu.priv.h
+
+../lib/libmenuw.a : $(NORMAL_OBJS)
+	@sleep 1
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.menuw :: $(DESTDIR)$(libdir) ../lib/libmenuw.a
+	@echo installing ../lib/libmenuw.a as $(DESTDIR)$(libdir)/libmenuw.a
+	$(INSTALL_DATA) ../lib/libmenuw.a $(DESTDIR)$(libdir)/libmenuw.a
+
+uninstall \
+uninstall.libs \
+uninstall.menuw ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libmenuw.a
+	-@rm -f $(DESTDIR)$(libdir)/libmenuw.a
+
+clean ::
+	-rm -f ../lib/libmenuw.a
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/m_attribs$o :	$(srcdir)/m_attribs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_attribs.c -o ../objects/m_attribs$o
+
+../objects/m_cursor$o :	$(srcdir)/m_cursor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_cursor.c -o ../objects/m_cursor$o
+
+../objects/m_driver$o :	$(srcdir)/m_driver.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_driver.c -o ../objects/m_driver$o
+
+../objects/m_format$o :	$(srcdir)/m_format.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_format.c -o ../objects/m_format$o
+
+../objects/m_global$o :	$(srcdir)/m_global.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_global.c -o ../objects/m_global$o
+
+../objects/m_hook$o :	$(srcdir)/m_hook.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_hook.c -o ../objects/m_hook$o
+
+../objects/m_item_cur$o :	$(srcdir)/m_item_cur.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_cur.c -o ../objects/m_item_cur$o
+
+../objects/m_item_nam$o :	$(srcdir)/m_item_nam.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_nam.c -o ../objects/m_item_nam$o
+
+../objects/m_item_new$o :	$(srcdir)/m_item_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_new.c -o ../objects/m_item_new$o
+
+../objects/m_item_opt$o :	$(srcdir)/m_item_opt.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_opt.c -o ../objects/m_item_opt$o
+
+../objects/m_item_top$o :	$(srcdir)/m_item_top.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_top.c -o ../objects/m_item_top$o
+
+../objects/m_item_use$o :	$(srcdir)/m_item_use.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_use.c -o ../objects/m_item_use$o
+
+../objects/m_item_val$o :	$(srcdir)/m_item_val.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_val.c -o ../objects/m_item_val$o
+
+../objects/m_item_vis$o :	$(srcdir)/m_item_vis.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_item_vis.c -o ../objects/m_item_vis$o
+
+../objects/m_items$o :	$(srcdir)/m_items.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_items.c -o ../objects/m_items$o
+
+../objects/m_new$o :	$(srcdir)/m_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_new.c -o ../objects/m_new$o
+
+../objects/m_opts$o :	$(srcdir)/m_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_opts.c -o ../objects/m_opts$o
+
+../objects/m_pad$o :	$(srcdir)/m_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_pad.c -o ../objects/m_pad$o
+
+../objects/m_pattern$o :	$(srcdir)/m_pattern.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_pattern.c -o ../objects/m_pattern$o
+
+../objects/m_post$o :	$(srcdir)/m_post.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_post.c -o ../objects/m_post$o
+
+../objects/m_req_name$o :	$(srcdir)/m_req_name.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_req_name.c -o ../objects/m_req_name$o
+
+../objects/m_scale$o :	$(srcdir)/m_scale.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_scale.c -o ../objects/m_scale$o
+
+../objects/m_spacing$o :	$(srcdir)/m_spacing.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_spacing.c -o ../objects/m_spacing$o
+
+../objects/m_sub$o :	$(srcdir)/m_sub.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_sub.c -o ../objects/m_sub$o
+
+../objects/m_userptr$o :	$(srcdir)/m_userptr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_userptr.c -o ../objects/m_userptr$o
+
+../objects/m_win$o :	$(srcdir)/m_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../menu/m_win.c -o ../objects/m_win$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            menuw
+#  traces:          DEBUG
+#  MODEL:           DEBUG
+#  CXX_MODEL:       DEBUG
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           obj_g
+#  prefix:          lib
+#  suffix:          _g.a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./menu.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+DEBUG_OBJS = \
+	../obj_g/m_attribs$o \
+	../obj_g/m_cursor$o \
+	../obj_g/m_driver$o \
+	../obj_g/m_format$o \
+	../obj_g/m_global$o \
+	../obj_g/m_hook$o \
+	../obj_g/m_item_cur$o \
+	../obj_g/m_item_nam$o \
+	../obj_g/m_item_new$o \
+	../obj_g/m_item_opt$o \
+	../obj_g/m_item_top$o \
+	../obj_g/m_item_use$o \
+	../obj_g/m_item_val$o \
+	../obj_g/m_item_vis$o \
+	../obj_g/m_items$o \
+	../obj_g/m_new$o \
+	../obj_g/m_opts$o \
+	../obj_g/m_pad$o \
+	../obj_g/m_pattern$o \
+	../obj_g/m_post$o \
+	../obj_g/m_req_name$o \
+	../obj_g/m_scale$o \
+	../obj_g/m_spacing$o \
+	../obj_g/m_sub$o \
+	../obj_g/m_trace$o \
+	../obj_g/m_userptr$o \
+	../obj_g/m_win$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./menu.priv.h
+
+../lib/libmenuw_g.a : $(DEBUG_OBJS)
+	@sleep 1
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.menuw :: $(DESTDIR)$(libdir) ../lib/libmenuw_g.a
+	@echo installing ../lib/libmenuw_g.a as $(DESTDIR)$(libdir)/libmenuw_g.a
+	$(INSTALL_DATA) ../lib/libmenuw_g.a $(DESTDIR)$(libdir)/libmenuw_g.a
+
+uninstall \
+uninstall.libs \
+uninstall.menuw ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libmenuw_g.a
+	-@rm -f $(DESTDIR)$(libdir)/libmenuw_g.a
+
+clean ::
+	-rm -f ../lib/libmenuw_g.a
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/m_attribs$o :	$(srcdir)/m_attribs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_attribs.c -o ../obj_g/m_attribs$o
+
+../obj_g/m_cursor$o :	$(srcdir)/m_cursor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_cursor.c -o ../obj_g/m_cursor$o
+
+../obj_g/m_driver$o :	$(srcdir)/m_driver.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_driver.c -o ../obj_g/m_driver$o
+
+../obj_g/m_format$o :	$(srcdir)/m_format.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_format.c -o ../obj_g/m_format$o
+
+../obj_g/m_global$o :	$(srcdir)/m_global.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_global.c -o ../obj_g/m_global$o
+
+../obj_g/m_hook$o :	$(srcdir)/m_hook.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_hook.c -o ../obj_g/m_hook$o
+
+../obj_g/m_item_cur$o :	$(srcdir)/m_item_cur.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_cur.c -o ../obj_g/m_item_cur$o
+
+../obj_g/m_item_nam$o :	$(srcdir)/m_item_nam.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_nam.c -o ../obj_g/m_item_nam$o
+
+../obj_g/m_item_new$o :	$(srcdir)/m_item_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_new.c -o ../obj_g/m_item_new$o
+
+../obj_g/m_item_opt$o :	$(srcdir)/m_item_opt.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_opt.c -o ../obj_g/m_item_opt$o
+
+../obj_g/m_item_top$o :	$(srcdir)/m_item_top.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_top.c -o ../obj_g/m_item_top$o
+
+../obj_g/m_item_use$o :	$(srcdir)/m_item_use.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_use.c -o ../obj_g/m_item_use$o
+
+../obj_g/m_item_val$o :	$(srcdir)/m_item_val.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_val.c -o ../obj_g/m_item_val$o
+
+../obj_g/m_item_vis$o :	$(srcdir)/m_item_vis.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_item_vis.c -o ../obj_g/m_item_vis$o
+
+../obj_g/m_items$o :	$(srcdir)/m_items.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_items.c -o ../obj_g/m_items$o
+
+../obj_g/m_new$o :	$(srcdir)/m_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_new.c -o ../obj_g/m_new$o
+
+../obj_g/m_opts$o :	$(srcdir)/m_opts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_opts.c -o ../obj_g/m_opts$o
+
+../obj_g/m_pad$o :	$(srcdir)/m_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_pad.c -o ../obj_g/m_pad$o
+
+../obj_g/m_pattern$o :	$(srcdir)/m_pattern.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_pattern.c -o ../obj_g/m_pattern$o
+
+../obj_g/m_post$o :	$(srcdir)/m_post.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_post.c -o ../obj_g/m_post$o
+
+../obj_g/m_req_name$o :	$(srcdir)/m_req_name.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_req_name.c -o ../obj_g/m_req_name$o
+
+../obj_g/m_scale$o :	$(srcdir)/m_scale.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_scale.c -o ../obj_g/m_scale$o
+
+../obj_g/m_spacing$o :	$(srcdir)/m_spacing.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_spacing.c -o ../obj_g/m_spacing$o
+
+../obj_g/m_sub$o :	$(srcdir)/m_sub.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_sub.c -o ../obj_g/m_sub$o
+
+../obj_g/m_trace$o :	$(srcdir)/m_trace.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_trace.c -o ../obj_g/m_trace$o
+
+../obj_g/m_userptr$o :	$(srcdir)/m_userptr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_userptr.c -o ../obj_g/m_userptr$o
+
+../obj_g/m_win$o :	$(srcdir)/m_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../menu/m_win.c -o ../obj_g/m_win$o
+
+
+# generated by mk-hdr.awk
+#  subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  compat:     yes
+
+${INCLUDEDIR} :
+	mkdir -p $@
+
+install \
+install.libs \
+install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \
+		$(srcdir)/eti.h \
+		$(srcdir)/menu.h
+	@ (cd ${INCLUDEDIR} && rm -f eti.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/eti.h
+	@ (cd ${INCLUDEDIR} && rm -f menu.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/menu.h
+
+uninstall \
+uninstall.libs \
+uninstall.includes ::
+	-@ (cd ${INCLUDEDIR} && rm -f eti.h)
+	-@ (cd ${INCLUDEDIR} && rm -f menu.h)
+
+.PHONY :	depend
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/misc/Makefile b/misc/Makefile
new file mode 100644
index 0000000..ef2854e
--- /dev/null
+++ b/misc/Makefile
@@ -0,0 +1,225 @@
+# $Id: Makefile.in,v 1.79 2021/11/06 23:36:12 tom Exp $
+##############################################################################
+# Copyright 2018-2020,2021 Thomas E. Dickey                                  #
+# Copyright 1998-2016,2017 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for ncurses miscellany directory
+#
+# This makes/installs the terminfo database
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+# and the programs with the configured default model.
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES :
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+CF_MFLAGS 	= 
+
+
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /usr
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+datarootdir	= ${prefix}/share
+datadir		= ${datarootdir}
+includesubdir	= 
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+tabsetdir	= $(datadir)/tabset
+ticdir		= /system_ext/etc/terminfo
+ticfile		= $(ticdir).db
+source		= ${top_srcdir}/misc/terminfo.src
+
+INSTALL		= /usr/bin/install -c
+INSTALL_PROGRAM	= ${INSTALL}
+INSTALL_SCRIPT	= ${INSTALL}
+INSTALL_DATA	= ${INSTALL} -m 644
+
+PKG_CONFIG_LIBDIR = /usr/local/lib/pkgconfig
+
+################################################################################
+
+.PHONY :	all
+.PHONY :	check
+.PHONY :	clean
+.PHONY :	depend
+.PHONY :	distclean
+.PHONY :	install
+.PHONY :	install.data
+.PHONY :	install.libs
+.PHONY :	libs
+.PHONY :	mostlyclean
+.PHONY :	realclean
+.PHONY :	sources
+.PHONY :	uninstall
+.PHONY :	uninstall.data
+.PHONY :	uninstall.libs
+
+all \
+depend \
+sources ::
+
+all \
+sources :: terminfo.tmp
+
+install :: install.data
+
+install.data ::	terminfo.tmp \
+		$(DESTDIR)$(libdir) \
+		$(DESTDIR)$(datadir) \
+		$(DESTDIR)$(tabsetdir)
+	DESTDIR=${DESTDIR} \
+	prefix=${prefix} \
+	exec_prefix=${exec_prefix} \
+	bindir=${bindir} \
+	top_srcdir=${top_srcdir} \
+	srcdir=${srcdir} \
+	datadir=${datadir} \
+	ticdir=${ticdir} \
+	source=terminfo.tmp \
+	cross_compiling=no \
+	$(SHELL) ./run_tic.sh
+	@( cd $(srcdir)/tabset && \
+		$(SHELL) -c 'for i in * ; do \
+			if test -f $$i ; then \
+			echo installing $$i; \
+			$(INSTALL_DATA) $$i $(DESTDIR)$(tabsetdir)/$$i; \
+			fi; done' )
+install.data ::
+	@echo "finished $@"
+
+NCURSES_CONFIG	= ncursesw6-config
+
+install \
+install.libs :: $(DESTDIR)$(bindir) ncurses-config
+	$(INSTALL_SCRIPT) ncurses-config $(DESTDIR)$(bindir)/$(NCURSES_CONFIG)
+
+# Make a list of the files that gen-pkgconfig might create:
+#PC_FILES = \
+#	ncursesw.pc \
+#	ncursesw.pc \
+#	ticw.pc \
+#	panelw.pc \
+#	menuw.pc \
+#	formw.pc \
+#	ncurses++w.pc
+
+# some packagers prefer to be able to construct pc-files on servers where
+# pkg-config is not installed.  Work around that by creating the library
+# directory during this rule:
+#install \
+#install.libs :: pc-files
+#	@$(SHELL) -c 'case "x$(PKG_CONFIG_LIBDIR)" in \
+#		x/*) \
+#			mkdir -p $(DESTDIR)$(PKG_CONFIG_LIBDIR); \
+#			for name in $(PC_FILES); do \
+#				test -f $$name || continue; \
+#				echo installing $$name; \
+#				$(INSTALL_DATA) $$name $(DESTDIR)$(PKG_CONFIG_LIBDIR)/$$name; \
+#			done \
+#			;; \
+#		*) \
+#			echo "...skip actual install: no destination was given" ; \
+#			;; \
+#		esac'
+
+#all \
+#sources :: pc-files
+#pc-files :
+#	$(SHELL) ./gen-pkgconfig
+#	-touch $@
+
+terminfo.tmp : run_tic.sed $(source)
+	echo '** adjusting tabset paths'
+	sed -f run_tic.sed $(source) >terminfo.tmp
+
+run_tic.sed :
+	WHICH_XTERM=xterm-new \
+	XTERM_KBS=DEL \
+	datadir=${datadir} \
+	$(SHELL) $(srcdir)/gen_edit.sh >$@
+
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(libdir) \
+$(DESTDIR)$(datadir) \
+$(DESTDIR)$(tabsetdir) :
+	mkdir -p $@
+
+uninstall : uninstall.data uninstall.libs
+
+uninstall.data :
+	-test -d $(DESTDIR)$(tabsetdir) && rm -rf $(DESTDIR)$(tabsetdir)
+	-test -d $(DESTDIR)$(ticdir) && rm -rf $(DESTDIR)$(ticdir)
+	-test -f $(DESTDIR)$(ticfile) && rm -f $(DESTDIR)$(ticfile)
+
+uninstall.libs :
+	-rm -f $(DESTDIR)$(bindir)/$(NCURSES_CONFIG)
+#	@$(SHELL) -c 'case x$(DESTDIR)$(PKG_CONFIG_LIBDIR) in \
+#	x/*) \
+#		for name in $(PC_FILES); do \
+#			test -f $$name || continue; \
+#			echo uninstalling $$name; \
+#			rm -f $(DESTDIR)$(PKG_CONFIG_LIBDIR)/$$name; \
+#		done \
+#		;; \
+#	esac'
+
+tags :
+
+TAGS :
+
+mostlyclean :
+	-rm -f terminfo.tmp
+	-rm -f run_tic.sed
+#	-rm -f pc-files $(PC_FILES)
+	-rm -f core tags TAGS *~ *.bak *.ln *.atac trace
+
+clean :: mostlyclean
+
+distclean : clean
+#	-rm -f gen-pkgconfig
+	-rm -f Makefile run_tic.sh ncurses-config
+
+realclean : distclean
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
diff --git a/misc/ncurses-config b/misc/ncurses-config
new file mode 100644
index 0000000..7bbd33b
--- /dev/null
+++ b/misc/ncurses-config
@@ -0,0 +1,331 @@
+#!/bin/sh
+# $Id: ncurses-config.in,v 1.52 2022/07/26 21:36:28 tom Exp $
+##############################################################################
+# Copyright 2018-2021,2022 Thomas E. Dickey                                  #
+# Copyright 2006-2015,2017 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey, 2006-on
+
+LANG=C;		export LANG
+LANGUAGE=C;	export LANGUAGE
+LC_ALL=C;	export LC_ALL
+LC_CTYPE=C;	export LC_CTYPE
+
+prefix="/usr"
+exec_prefix="${prefix}"
+
+bindir="${exec_prefix}/bin"
+includedir="${prefix}/include"
+libdir="${exec_prefix}/lib"
+datarootdir="${prefix}/share"
+datadir="${datarootdir}"
+mandir="${datarootdir}/man"
+
+THIS="ncursesw"
+TINFO_LIB="ncursesw"
+RPATH_LIST="${libdir}"
+
+includesubdir="${prefix}/include/${THIS}"
+
+# Ensure that RPATH_LIST contains only absolute pathnames, if it is nonempty.
+# We cannot filter it out within the build-process since the variable is used
+# in some special cases of installation using a relative path.
+if [ -n "$RPATH_LIST" ]
+then
+	save_IFS="$IFS"
+	IFS=':'
+	filtered=
+	for item in $RPATH_LIST
+	do
+		case "$item" in
+		./*|../*|*/..|*/../*)
+			;;
+		*)
+			[ -n "$filtered" ] && filtered="${filtered}:"
+			filtered="${filtered}${item}"
+			;;
+		esac
+	done
+	IFS="$save_IFS"
+	# if the result is empty, there is little we can do to fix it
+	RPATH_LIST="$filtered"
+fi
+
+# with --disable-overwrite, we installed into a subdirectory, but transformed
+# the headers to include like this:
+#	<ncursesw/curses.h>
+if [ xyes = xno ]; then
+	case $includedir in
+	$prefix/include/ncursesw)
+		includedir=`echo "$includedir" | sed -e 's,/[^/]*$,,'`
+		;;
+	esac
+fi
+
+LIBS=""
+if [ "ncurses" = "ncurses" ]; then
+	LIBS="-l${THIS} $LIBS"
+else
+	LIBS="-l${THIS} -l${TINFO_LIB} $LIBS"
+fi
+
+# Ignore -L options which do not correspond to an actual directory, or which
+# are standard library directories (i.e., the linker is supposed to search
+# those directories).
+#
+# There is no portable way to find the list of standard library directories.
+# Require a POSIX shell anyway, to keep this simple.
+lib_flags=
+for opt in -L$libdir   $LIBS
+do
+	case $opt in
+	-specs*) # ignore linker specs-files which were used to build library
+		continue
+		;;
+	-Wl,-z,*) # ignore flags used to manipulate shared image
+		continue
+		;;
+	-Wl,--dynamic-linker*) # ignore ELF interpreter
+		continue
+		;;
+	-Wl,--as-needed|-Wl,--build-id=*|-Wl,-dT,*|-Wl,-T,*)
+		continue
+		;;
+	-L*)
+		lib_check=`echo "x$opt" | sed -e 's/^.-L//'`
+		[ -d "$lib_check" ] || continue
+		case "$lib_check" in
+		/lib/x86_64-linux-gnu|/usr/lib/x86_64-linux-gnu|/lib64|/usr/lib64|/usr/local/lib|/lib|/usr/lib) # skip standard libdir
+			if [ "$lib_check" = "$libdir" ]
+			then
+				lib_first=yes
+				IFS_save="$IFS"
+				IFS='|'
+				LIBDIRS="/lib/x86_64-linux-gnu|/usr/lib/x86_64-linux-gnu|/lib64|/usr/lib64|/usr/local/lib|/lib|/usr/lib"
+				for lib_check in $LIBDIRS
+				do
+					if [ -d "$lib_check" ]
+					then
+						if [ "$lib_check" != "$libdir" ]
+						then
+							lib_first=no
+						fi
+						break
+					fi
+				done
+				IFS="$IFS_save"
+				[ $lib_first = yes ] && continue
+				found=no
+				for check in $lib_flags
+				do
+					if [ "x$check" = "x$opt" ]
+					then
+						found=yes
+						break
+					fi
+				done
+				[ $found = yes ] && continue
+				:
+			else
+				continue
+			fi
+			;;
+		*)
+			found=no
+			for check in $lib_flags
+			do
+				if [ "x$check" = "x$opt" ]
+				then
+					found=yes
+					break
+				fi
+			done
+			[ $found = yes ] && continue
+			;;
+		esac
+		;;
+	esac
+	lib_flags="$lib_flags $opt"
+done
+
+[ $# = 0 ] && exec /bin/sh "$0" --error
+
+while [ $# -gt 0 ]; do
+	case "$1" in
+	# basic configuration
+	--prefix)
+		echo "$prefix"
+		;;
+	--exec-prefix)
+		echo "$exec_prefix"
+		;;
+	# compile/link
+	--cflags)
+		INCS=" -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600"
+		if [ "xyes" = xno ]; then
+			INCS="$INCS -I${includesubdir}"
+		fi
+		if [ "${includedir}" != /usr/include ]; then
+			INCS="$INCS -I${includedir}"
+		fi
+		sed -e 's,^[ ]*,,' -e 's, [ ]*, ,g' -e 's,[ ]*$,,' <<-ENDECHO
+			$INCS
+ENDECHO
+		;;
+	--libs)
+		OPTS=
+		for opt in $lib_flags
+		do
+			[ -n "$OPTS" ] && OPTS="$OPTS "
+			OPTS="${OPTS}${opt}"
+		done
+		printf '%s\n' "$OPTS"
+		;;
+	--libs-only-L)
+		OPTS=
+		for opt in $lib_flags
+		do
+			case "x$opt" in
+			x-L*)
+				[ -n "$OPTS" ] && OPTS="$OPTS "
+				OPTS="${OPTS}${opt}"
+				;;
+			esac
+		done
+		printf '%s\n' "$OPTS"
+		;;
+	--libs-only-l)
+		OPTS=
+		for opt in $lib_flags
+		do
+			case "x$opt" in
+			x-l*)
+				[ -n "$OPTS" ] && OPTS="$OPTS "
+				OPTS="${OPTS}${opt}"
+				;;
+			esac
+		done
+		printf '%s\n' "$OPTS"
+		;;
+	--libs-only-other)
+		OPTS=
+		for opt in $lib_flags
+		do
+			case "x$opt" in
+			x-[lL]*)
+				;;
+			*)
+				[ -n "$OPTS" ] && OPTS="$OPTS "
+				OPTS="${OPTS}${opt}"
+				;;
+			esac
+		done
+		printf '%s\n' "$OPTS"
+		;;
+	# identification
+	--version)
+		echo "6.5.20240427"
+		;;
+	--abi-version)
+		echo "6"
+		;;
+	--mouse-version)
+		echo "2"
+		;;
+	# locations
+	--bindir)
+		echo "${bindir}"
+		;;
+	--datadir)
+		echo "${datadir}"
+		;;
+	--includedir)
+		INCS=
+		if [ "xyes" = xno ]; then
+			INCS="${includesubdir}"
+		elif [ "${includedir}" != /usr/include ]; then
+			INCS="${includedir}"
+		fi
+		echo "$INCS"
+		;;
+	--libdir)
+		echo "${libdir}"
+		;;
+	--mandir)
+		echo "${mandir}"
+		;;
+	--terminfo)
+		echo "/system_ext/etc/terminfo"
+		;;
+	--terminfo-dirs)
+		echo "/system_ext/etc/terminfo"
+		;;
+	--termpath)
+		echo ""
+		;;
+	# general info
+	--help)
+		cat <<ENDHELP
+Usage: `basename "$0"` [options]
+
+Options:
+  --prefix           echos the package-prefix of ${THIS}
+  --exec-prefix      echos the executable-prefix of ${THIS}
+
+  --cflags           echos the C compiler flags needed to compile with ${THIS}
+  --libs             echos the libraries needed to link with ${THIS}
+
+  --libs-only-L      echos -L linker options (search path) for ${THIS}
+  --libs-only-l      echos -l linker options (libraries) for ${THIS}
+  --libs-only-other  echos linker options other than -L/-l
+
+  --version          echos the release+patchdate version of ${THIS}
+  --abi-version      echos the ABI version of ${THIS}
+  --mouse-version    echos the mouse-interface version of ${THIS}
+
+  --bindir           echos the directory containing ${THIS} programs
+  --datadir          echos the directory containing ${THIS} data
+  --includedir       echos the directory containing ${THIS} header files
+  --libdir           echos the directory containing ${THIS} libraries
+  --mandir           echos the directory containing ${THIS} manpages
+  --terminfo         echos the \$TERMINFO terminfo database path
+  --terminfo-dirs    echos the \$TERMINFO_DIRS directory list
+  --termpath         echos the \$TERMPATH termcap list
+
+  --help             prints this message
+ENDHELP
+		;;
+	--error|*)
+		/bin/sh "$0" --help 1>&2
+		exit 1
+		;;
+	esac
+	shift
+done
+# vi:ts=4 sw=4
+# vile:shmode
diff --git a/misc/run_tic.sed b/misc/run_tic.sed
new file mode 100644
index 0000000..76a60a3
--- /dev/null
+++ b/misc/run_tic.sed
@@ -0,0 +1,3 @@
+/^xterm+kbs|fragment for backspace key/,/^#/{
+	s/kbs=^H,/kbs=^?,/
+}
diff --git a/misc/run_tic.sh b/misc/run_tic.sh
new file mode 100644
index 0000000..8ce42d4
--- /dev/null
+++ b/misc/run_tic.sh
@@ -0,0 +1,210 @@
+#!/bin/sh
+# $Id: run_tic.in,v 1.40 2022/07/16 19:37:03 tom Exp $
+##############################################################################
+# Copyright 2019-2020,2022 Thomas E. Dickey                                  #
+# Copyright 2000-2012,2017 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# This script is used to install terminfo.src using tic.  We use a script
+# because the path checking is too awkward to do in a makefile.
+#
+# Assumes:
+#	The leaf directory names (lib, tabset, terminfo)
+#
+echo "** Building terminfo database, please wait..."
+#
+# The script is designed to be run from the misc/Makefile as
+#	make install.data
+
+: "${suffix:=}"
+: "${DESTDIR:=}"
+: "${prefix:=/usr}"
+: "${exec_prefix:=${prefix}}"
+: "${bindir:=${exec_prefix}/bin}"
+: "${top_srcdir:=..}"
+: "${srcdir:=.}"
+: "${datarootdir:=${prefix}/share}"
+: "${datadir:=${datarootdir}}"
+: "${TIC_PATH:=tic}"
+: "${ticdir:=/system_ext/etc/terminfo}"
+: "${source:=${top_srcdir}/misc/terminfo.src}"
+: "${cross_compiling:=no}"
+: "${ext_funcs:=1}"
+
+test -z "${DESTDIR}" && DESTDIR=
+
+# Allow tic to run either from the install-path, or from the build-directory.
+# Do not do this if we appear to be cross-compiling.  In that case, we rely
+# on the host's copy of tic to compile the terminfo database.
+if test "x$cross_compiling" = "xno"
+then
+	if test -f ../progs/tic$suffix
+	then
+		case "$PATH" in
+		\:*)
+			PATH="../progs:../lib:${DESTDIR}$bindir$PATH"
+			;;
+		*)
+			PATH="../progs:../lib:${DESTDIR}$bindir:$PATH"
+			;;
+		esac
+		export PATH
+		if test normal = shared
+		then
+			SHLIB="sh $srcdir/shlib"
+			TIC_PATH="$SHLIB tic"
+		else
+			TIC_PATH="tic"
+		fi
+	elif test "$TIC_PATH" = unknown
+	then
+		echo "? no tic program found"
+		exit 1
+	fi
+else
+	# Cross-compiling, so don't set PATH or run shlib.
+	SHLIB=
+	# reset $suffix, since it applies to the target, not the build platform.
+	suffix=
+fi
+
+
+# set another env var that doesn't get reset when `shlib' runs, so `shlib' uses
+# the PATH we just set.
+SHLIB_PATH=$PATH
+export SHLIB_PATH
+
+# set a variable to simplify environment update in shlib
+SHLIB_HOST=linux-gnu
+export SHLIB_HOST
+
+# don't use user's TERMINFO variable
+unset TERMINFO_DIRS
+TERMINFO="${DESTDIR}$ticdir" ; export TERMINFO
+umask 022
+
+# Construct the name of the old (obsolete) pathname, e.g., /usr/lib/terminfo.
+TICDIR=`echo "$TERMINFO" | sed -e 's%/share/\([^/]*\)$%/lib/\1%'`
+
+# Parent directory may not exist, which would confuse the install for hashed
+# database.  Fix.
+PARENT=`echo "$TERMINFO" | sed -e 's%/[^/]*$%%'`
+if test -n "$PARENT"
+then
+	mkdir -p "$PARENT"
+fi
+
+# Remove the old terminfo stuff; we don't care if it existed before, and it
+# would generate a lot of confusing error messages if we tried to overwrite it.
+# We explicitly remove its contents rather than the directory itself, in case
+# the directory is actually a symbolic link.
+if test -d "$TERMINFO"
+then
+	( cd "$TERMINFO" && rm -fr ./? 2>/dev/null )
+elif test -f "$TERMINFO.db"
+then
+	( rm -f "$TERMINFO.db" 2>/dev/null )
+fi
+
+if test "$ext_funcs" = 1 ; then
+cat <<EOF
+Running $TIC_PATH to install $TERMINFO ...
+
+	You may see messages regarding extended capabilities, e.g., AX.
+	These are extended terminal capabilities which are compiled
+	using
+		tic -x
+	If you have ncurses 4.2 applications, you should read the INSTALL
+	document, and install the terminfo without the -x option.
+
+EOF
+$TIC_PATH -V
+if ( $TIC_PATH -x -s -o "$TERMINFO" $source )
+then
+	echo "** built new $TERMINFO"
+else
+	echo "? tic could not build $TERMINFO"
+	exit 1
+fi
+else
+cat <<EOF
+Running $TIC_PATH to install $TERMINFO ...
+
+	You may see messages regarding unknown capabilities, e.g., AX.
+	These are extended terminal capabilities which may be compiled
+	using
+		tic -x
+	If you have ncurses 4.2 applications, you should read the INSTALL
+	document, and install the terminfo without the -x option.
+
+EOF
+$TIC_PATH -V
+if ( $TIC_PATH -s -o "$TERMINFO" $source )
+then
+	echo "** built new $TERMINFO"
+else
+	echo "? tic could not build $TERMINFO"
+	exit 1
+fi
+fi
+
+# Make a symbolic link to provide compatibility with applications that expect
+# to find terminfo under /usr/lib.  That is, we'll _try_ to do that.  Not
+# all systems support symbolic links, and those that do provide a variety
+# of options for 'test'.
+if test "$TICDIR" != "$TERMINFO" ; then
+	( rm -f "$TICDIR" 2>/dev/null )
+	if ( cd "$TICDIR" 2>/dev/null )
+	then
+		cd "$TICDIR" || exit
+		TICDIR=`pwd`
+		if test "$TICDIR " != "$TERMINFO "; then
+			# Well, we tried.  Some systems lie to us, so the
+			# installer will have to double-check.
+			echo "Verify if $TICDIR and $TERMINFO are the same."
+			echo "The new terminfo is in $TERMINFO; the other should be a link to it."
+			echo "Otherwise, remove $TICDIR and link it to $TERMINFO."
+		fi
+	else
+		cd ${DESTDIR}$prefix || exit
+		# Construct a symbolic link that only assumes $ticdir has the
+		# same $prefix as the other installed directories.
+		RELATIVE=`echo $ticdir|sed -e 's%^'$prefix'/%%'`
+		if test "$RELATIVE" != "$ticdir" ; then
+			RELATIVE=../`echo $ticdir|sed -e 's%^'$prefix'/%%' -e 's%^/%%'`
+		fi
+		if ( ln -s -f "$RELATIVE" "$TICDIR" )
+		then
+			echo "** sym-linked $TICDIR for compatibility"
+		else
+			echo "** could not sym-link $TICDIR for compatibility"
+		fi
+	fi
+fi
+# vile:shmode
diff --git a/misc/terminfo.tmp b/misc/terminfo.tmp
new file mode 100644
index 0000000..b714670
--- /dev/null
+++ b/misc/terminfo.tmp
@@ -0,0 +1,27513 @@
+######## TERMINAL TYPE DESCRIPTIONS SOURCE FILE
+#
+# This version of terminfo.src is distributed with ncurses and is maintained
+# by Thomas E. Dickey (TD).
+#
+# Report bugs and new terminal descriptions to
+#	bug-ncurses@gnu.org
+#
+#	$Revision: 1.1143 $
+#	$Date: 2024/03/09 20:01:40 $
+#
+# The original header is preserved below for reference.  It is noted that there
+# is a "newer" version which differs in some cosmetic details (but actually
+# stopped updates several years ago); we have decided to not change the header
+# unless there is also a change in content.
+#
+# To further muddy the waters, it is noted that changes to this file as part of
+# maintenance of ncurses (since 1996) are generally conceded to be copyright
+# under the ncurses MIT-style license.  That was the effect of the agreement
+# which the principal authors of ncurses made in 1998.  However, since much of
+# the file itself is of unknown authorship (and the disclaimer below makes it
+# obvious that Raymond cannot or will not convey rights over those parts),
+# there is no explicit copyright notice on the file itself.
+#
+# It would also be a nuisance to split the file into unknown/known authorship
+# and move pieces as they are maintained, since many of the maintenance changes
+# have been small corrections to Raymond's translations to/from termcap format,
+# correcting the data but not the accompanying annotations.
+#
+# In any case, note that almost half of this file is not data but annotations
+# which reflect creative effort.  Furthermore, the structure of entries to
+# reuse common chunks also is creative (and subject to copyright).  Finally,
+# some portions of the data are derivative work under a compatible MIT-style
+# license from xterm.
+#
+#------------------------------------------------------------------------------
+# https://invisible-island.net/ncurses/ncurses.faq.html#terminfo_copying
+# https://invisible-island.net/personal/copyrights.html#removing_notes
+#------------------------------------------------------------------------------
+#
+#	Version 10.2.1
+#	terminfo syntax
+#
+#	Eric S. Raymond		(current maintainer)
+#	John Kunze, Berkeley
+#	Craig Leres, Berkeley
+#
+# Please e-mail changes to terminfo@thyrsus.com; the old termcap@berkeley.edu
+# address is no longer valid.  The latest version can always be found at
+# <http://www.tuxedo.org/terminfo>.
+#
+# PURPOSE OF THIS FILE:
+#
+# This file describes the capabilities of various character-cell terminals,
+# as needed by software such as screen-oriented editors.
+#
+# Other terminfo and termcap files exist, supported by various OS vendors
+# or as relics of various older versions of UNIX.  This one is the longest
+# and most comprehensive one in existence.  It subsumes not only the entirety
+# of the historical 4.4BSD, GNU, System V and SCO termcap files and the BRL
+# termcap file, but also large numbers of vendor-maintained termcap and
+# terminfo entries more complete and carefully tested than those in historical
+# termcap/terminfo versions.
+#
+# Pointers to related resources (including the ncurses distribution) may
+# be found at <http://www.tuxedo.org/terminfo>.
+#
+# INTERNATIONALIZATION:
+#
+# This file uses only the US-ASCII character set (no ISO8859 characters).
+#
+# This file assumes a US-ASCII character set. If you need to fix this, start
+# by global-replacing \E(B and \E)B with the appropriate ISO 6429 enablers
+# for your character set.  \E(A and \E)A enables the British character set
+# with the pound sign at position 2/3.
+#
+# In a Japanese-processing environment using EUC/Japanese or Shift-JIS,
+# C1 characters are considered the first-byte set of the Japanese encodings,
+# so \E)0 should be avoided in <enacs> and initialization strings.
+#
+# FILE FORMAT:
+#
+# The version you are looking at may be in any of three formats: master
+# (terminfo with OT capabilities), stock terminfo, or termcap.  You can tell
+# which by the format given in the header above.
+#
+# The master format is accepted and generated by the terminfo tools in the
+# ncurses suite; it differs from stock (System V-compatible) terminfo only
+# in that it admits a group of capabilities (prefixed `OT') equivalent to
+# various obsolete termcap capabilities.  You can, thus, convert from master
+# to stock terminfo simply by filtering with `sed "/OT[^,]*,/s///"'; but if
+# you have ncurses `tic -I' is nicer (among other things, it automatically
+# outputs entries in a canonical form).
+#
+# The termcap version is generated automatically from the master version
+# using tic -C.  This filtering leaves in the OT capabilities under their
+# original termcap names.  All translated entries fit within the 1023-byte
+# string-table limit of archaic termcap libraries except where explicitly
+# noted below.  Note that the termcap translation assumes that your termcap
+# library can handle multiple tc capabilities in an entry. 4.4BSD has this
+# capability.  Older versions of GNU termcap, through 1.3, do not.
+#
+# For details on these formats, see terminfo(5) in the ncurses distribution,
+# and termcap(5) in the 4.4BSD Unix Programmer's Manual.  Be aware that 4.4BSD
+# curses has been declared obsolete by the caretakers of the 4.4BSD sources
+# as of June 1995; they are encouraging everyone to migrate to ncurses.
+#
+# Note: unlike some other distributed terminfo files (Novell Unix & SCO's),
+# no entry in this file has embedded comments.  This is so source translation
+# to termcap only has to carry over leading comments.  Also, no name field
+# contains embedded whitespace (such whitespace confuses rdist).
+#
+# Further note: older versions of this file were often installed with an editor
+# script (reorder) that moved the most common terminal types to the front of
+# the file.  This should no longer be necessary, as the file is now ordered
+# roughly by type frequency with ANSI/VT100 and other common types up front.
+#
+# Some information has been merged in from terminfo files distributed by
+# USL and SCO (see COPYRIGHTS AND OTHER DELUSIONS below).  Much information
+# comes from vendors who maintain official terminfos for their hardware
+# (notably DEC and Wyse).
+#
+# A detailed change history is included at the end of this file.
+#
+# FILE ORGANIZATION:
+#
+# Comments in this file begin with # - they cannot appear in the middle
+# of a terminfo/termcap entry (this feature had to be sacrificed in order
+# to allow standard terminfo and termcap syntax to be generated cleanly from
+# the master format).  Individual capabilities are commented out by
+# placing a period between the colon and the capability name.
+#
+# The file is divided up into major sections (headed by lines beginning with
+# the string "########") and minor sections (beginning with "####"); do
+#
+#	grep "^####" <file> | more
+#
+# to see a listing of section headings.  The intent of the divisions is
+# (a) to make it easier to find things, and (b) to order the database so
+# that important and frequently-encountered terminal types are near the
+# front (so that you'll get reasonable search efficiency from a linear
+# search of the termcap form even if you don't use reorder).  Minor sections
+# usually correspond to manufacturers or standard terminal classes.
+# Parenthesized words following manufacturer names are type prefixes or
+# product line names used by that manufacturers.
+#
+# HOW TO READ THE ENTRIES:
+#
+# The first name in an entry is the canonical name for the model or
+# type, last entry is a verbose description.  Others are mnemonic synonyms for
+# the terminal.
+#
+# Terminal names look like <manufacturer> <model> - <modes/options>
+# The part to the left of the dash, if a dash is present, describes the
+# particular hardware of the terminal.  The part to the right may be used
+# for flags indicating special ROMs, extra memory, particular terminal modes,
+# or user preferences.
+#
+# All names should be in lower case, for consistency in typing.
+#
+# The following are conventionally used suffixes:
+#	-2p	Has two pages of memory.  Likewise 4p, 8p, etc.
+#	-am	Enable auto-margin.
+#	-m	Monochrome.  Suppress color support
+#	-mc	Magic-cookie.  Some terminals (notably older Wyses) can
+#		only support one attribute without magic-cookie lossage.
+#		Their base entry is usually paired with another that
+#		uses magic cookies to support multiple attributes.
+#	-nam	No auto-margin - suppress <am> capability
+#	-nl	No labels - suppress soft labels
+#	-ns	No status line - suppress status line
+#	-rv	Terminal in reverse video mode (black on white)
+#	-s	Enable status line.
+#	-vb	Use visible bell (<flash>) rather than <bel>.
+#	-w	Wide - in 132 column mode.
+# If a name has multiple suffixes and one is a line height, that one should
+# go first.  Thus `aaa-30-s-rv' is recommended over `aaa-s-rv-30'.
+#
+# Entries with embedded plus signs are designed to be included through use/tc
+# capabilities, not used as standalone entries.
+#
+# To avoid search clashes, some older all-numeric names for terminals have
+# been removed (i.e., "33" for the Model 33 Teletype, "2621" for the HP2621).
+# All primary names of terminals now have alphanumeric prefixes.
+#
+# Comments marked "esr" are mostly results of applying the termcap-compiler
+# code packaged with ncurses and contemplating the resulting error messages.
+# In many cases, these indicated obvious fixes to syntax garbled by the
+# composers.  In a few cases, I was able to deduce corrected forms for garbled
+# capabilities by looking at context.  All the information in the original
+# entries is preserved in the comments.
+#
+# In the comments, terminfo capability names are bracketed with <> (angle
+# brackets).  Termcap capability names are bracketed with :: (colons).
+#
+# INTERPRETATION OF USER CAPABILITIES
+#
+# The System V Release 4 and XPG4 terminfo format defines ten string
+# capabilities for use by applications, <u0>...<u9>.   In this file, we use
+# certain of these capabilities to describe functions which are not covered
+# by terminfo.  The mapping is as follows:
+#
+#	u9	terminal enquire string (equiv. to ANSI/ECMA-48 DA)
+#	u8	terminal answerback description
+#	u7	cursor position request (equiv. to VT100/ANSI/ECMA-48 DSR 6)
+#	u6	cursor position report (equiv. to ANSI/ECMA-48 CPR)
+#
+# The terminal enquire string <u9> should elicit an answerback response
+# from the terminal.  Common values for <u9> will be ^E (on older ASCII
+# terminals) or \E[c (on newer VT100/ANSI/ECMA-48-compatible terminals).
+#
+# The cursor position request (<u7>) string should elicit a cursor position
+# report.  A typical value (for VT100 terminals) is \E[6n.
+#
+# The terminal answerback description (u8) must consist of an expected
+# answerback string.  The string may contain the following scanf(3)-like
+# escapes:
+#
+#	%c	Accept any character
+#	%[...]	Accept any number of characters in the given set
+#
+# The cursor position report (<u6>) string must contain two scanf(3)-style
+# %d format elements.  The first of these must correspond to the Y coordinate
+# and the second to the %d.  If the string contains the sequence %i, it is
+# taken as an instruction to decrement each value after reading it (this is
+# the inverse sense from the cup string).  The typical CPR value is
+# \E[%i%d;%dR (on VT100/ANSI/ECMA-48-compatible terminals).
+#
+# These capabilities are used by tack(1m), the terminfo action checker
+# (distributed with ncurses 5.0).
+#
+# TABSET FILES
+#
+# All the entries in this file have been edited to assume that the tabset
+# files directory is /usr/share/tabset, in conformance with the File Hierarchy
+# Standard for Linux and open-source BSD systems.  Some vendors (notably Sun)
+# use /usr/lib/tabset or (more recently) /usr/share/lib/tabset.
+#
+# No curses package we know of actually uses these files.  If their location
+# is an issue, you will have to hand-patch the file locations before compiling
+# this file.
+#
+# REQUEST FOR CONTACT INFORMATION AND HISTORICAL MATERIAL
+#
+# As the ANSI/ECMA-48 standard and variants take firmer hold, and as
+# character-cell terminals are increasingly replaced by X displays, much of
+# this file is becoming a historical document (this is part of the reason for
+# the new organization, which puts ANSI types, xterm, Unix consoles,
+# and vt100 up front in confidence that this will catch 95% of new hardware).
+#
+# For the terminal types still alive, I'd like to have manufacturer's
+# contact data (Internet address and/or snail-mail + phone).
+#
+# I'm also interested in enriching the comments so that the latter portions of
+# the file do in fact become a potted history of VDT technology as seen by
+# UNIX hackers.  Ideally, I'd like the headers for each manufacturer to
+# include its live/dead/out-of-the-business status, and for as many
+# terminal types as possible to be tagged with information like years
+# of heaviest use, popularity, and interesting features.
+#
+# I'm especially interested in identifying the obscure entries listed under
+# `Miscellaneous obsolete terminals, manufacturers unknown' before the tribal
+# wisdom about them gets lost.  If you know a lot about obscure old terminals,
+# please go to the terminfo resource page, grab the UFO file (ufo.ti), and
+# eyeball it for things you can identify and describe.
+#
+# If you have been around long enough to contribute, please read the file
+# with this in mind and send me your annotations.
+#
+# COPYRIGHTS AND OTHER DELUSIONS
+#
+# The BSD ancestor of this file had a standard Regents of the University of
+# California copyright with dates from 1980 to 1993.
+#
+# Some information has been merged in from a terminfo file SCO distributes.
+# It has an obnoxious boilerplate copyright which I'm ignoring because they
+# took so much of the content from the ancestral BSD versions of this file
+# and didn't attribute it, thereby violating the BSD Regents' copyright.
+#
+# Not that anyone should care.  However many valid functions copyrights may
+# serve, putting one on a termcap/terminfo file with hundreds of anonymous
+# contributors makes about as much sense as copyrighting a wall-full of
+# graffiti -- it's legally dubious, ethically bogus, and patently ridiculous.
+#
+# This file deliberately has no copyright.  It belongs to no one and everyone.
+# If you claim you own it, you will merely succeed in looking like a fool.
+# Use it as you like.  Use it at your own risk.  Copy and redistribute freely.
+# There are no guarantees anywhere.  Svaha!
+#
+
+######## ANSI, UNIX CONSOLE, AND SPECIAL TYPES
+#
+# This section describes terminal classes and brands that are still
+# quite common.
+#
+
+#### Specials
+#
+# Special "terminals".  These are used to label tty lines when you don't
+# know what kind of terminal is on it.  The characteristics of an unknown
+# terminal are the lowest common denominator - they look about like a ti 700.
+#
+
+dumb|80-column dumb tty,
+	am,
+	cols#80,
+	bel=^G, cr=\r, cud1=\n, ind=\n,
+unknown|unknown terminal type,
+	gn, use=dumb,
+lpr|printer|line printer,
+	OTbs, hc, os,
+	cols#132, lines#66,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, ff=^L, ind=\n,
+glasstty|classic glass tty interpreting ASCII control characters,
+	OTbs, am,
+	cols#80,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, ht=^I, kcub1=^H,
+	kcud1=\n, nel=\r\n, .kbs=^H,
+
+vanilla|dumb tty,
+	OTbs,
+	bel=^G, cr=\r, cud1=\n, ind=\n,
+
+# This is almost the same as "dumb", but with no prespecified width.
+# DEL and ^C are hardcoded to act as kill characters.
+# ^D acts as a line break (just like newline).
+# It also interprets
+#      \033];xxx\007
+# for compatibility with xterm -TD
+9term|Plan9 terminal emulator for X,
+	am,
+	OTnl=\n, bel=^G, cud1=\n,
+
+#### ANSI.SYS/ISO 6429/ECMA-48 Capabilities
+#
+# See the end-of-file comment for more on these.
+#
+
+# ANSI capabilities are broken up into pieces, so that a terminal
+# implementing some ANSI subset can use many of them.
+ansi+local1|ANSI normal-mode cursor-keys,
+	cub1=\E[D, cud1=\E[B, cuf1=\E[C, cuu1=\E[A,
+ansi+local|ANSI normal-mode parameterized cursor-keys,
+	cub=\E[%p1%dD, cud=\E[%p1%dB, cuf=\E[%p1%dC,
+	cuu=\E[%p1%dA, use=ansi+local1,
+ansi+tabs|ANSI tab-stops,
+	cbt=\E[Z, ht=^I, hts=\EH, tbc=\E[3g,
+ansi+inittabs|ANSI initial tab-stops,
+	it#8, use=ansi+tabs,
+ansi+erase|ANSI clear screen/line,
+	clear=\E[H\E[J, ed=\E[J, el=\E[K,
+ansi+rca|ANSI relative cursor-addressing (1-based),
+	hpa=\E[%p1%{1}%+%dG, vpa=\E[%p1%{1}%+%dd,
+ansi+rca2|ANSI relative cursor-addressing,
+	hpa=\E[%i%p1%dG, vpa=\E[%i%p1%dd,
+ansi+cup|ANSI absolute cursor-addressing,
+	cup=\E[%i%p1%d;%p2%dH, home=\E[H,
+ansi+rep|ANSI repeat-character,
+	rep=%p1%c\E[%p2%{1}%-%db,
+ansi+idl1|ANSI insert/delete one line,
+	dl1=\E[M, il1=\E[L,
+ansi+idl|ANSI insert/delete lines,
+	dl=\E[%p1%dM, il=\E[%p1%dL, use=ansi+idl1,
+ansi+idc1|ANSI insert/delete one character,
+	dch1=\E[P, ich1=\E[@, rmir=\E[4l, smir=\E[4h,
+ansi+idc|ANSI insert/delete characters,
+	dch=\E[%p1%dP, ich=\E[%p1%d@, use=ansi+idc1,
+ansi+arrows|ANSI normal-mode home and cursor-keys,
+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	khome=\E[H,
+ansi+apparrows|ANSI application-mode home and cursor-keys,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, khome=\EOH,
+	use=ansi+arrows,
+ansi+sgr|ANSI graphic renditions,
+	blink=\E[5m, invis=\E[8m, rev=\E[7m,
+	sgr=\E[0%?%p3%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+	sgr0=\E[0m,
+ansi+sgrso|ANSI standout only,
+	rmso=\E[m, smso=\E[7m,
+ansi+sgrul|ANSI underline only,
+	rmul=\E[m, smul=\E[4m,
+ansi+sgrbold|ANSI graphic renditions; assuming terminal has bold; not dim,
+	bold=\E[1m,
+	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;
+	    %;%?%p7%t8;%;m,
+	use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
+ansi+sgrdim|ANSI graphic renditions; assuming terminal has dim; not bold,
+	dim=\E[2m,
+	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p5%t2;
+	    %;%?%p7%t8;%;m,
+	use=ansi+sgr, use=ansi+sgrso, use=ansi+sgrul,
+
+# ECMA-48 does not specify scroll-regions, but most people consider it to be
+# "ANSI" because it is widely-supported.  See ecma+index for the standard form.
+ansi+csr|ANSI scroll-region plus cursor save & restore,
+	csr=\E[%i%p1%d;%p2%dr, rc=\E8, sc=\E7,
+
+# The normal (ANSI) flavor of "media copy" building block asserts that
+# characters sent to the printer do not echo on the screen. DEC terminals
+# can also be put into autoprinter mode, where each line is sent to the
+# printer as you move off that line, e.g., by a carriage return.
+ansi+pp|ANSI printer port,
+	mc5i,
+	mc0=\E[i, mc4=\E[4i, mc5=\E[5i,
+dec+pp|DEC autoprinter mode,
+	mc0=\E[i, mc4=\E[?4i, mc5=\E[?5i,
+
+# The IBM PC alternate character set.  Plug this into any Intel console entry.
+# We use \E[11m for rmacs rather than \E[12m so the <acsc> string can use the
+# ROM graphics for control characters such as the diamond, up- and down-arrow.
+# This works with the System V, Linux, and BSDI consoles.  It's a safe bet this
+# will work with any Intel console, they all seem to have inherited \E[11m
+# from the ANSI.SYS de-facto standard.
+klone+acs|alternate character set for ansi.sys displays,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j
+	     \331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v
+	     \301w\302x\263y\363z\362{\343|\330}\234~\376,
+	rmacs=\E[10m, smacs=\E[11m,
+
+# Highlight controls corresponding to the ANSI.SYS standard.  Most
+# console drivers for Intel boxes obey these.  Makes the same assumption
+# about \E[11m as klone+acs.  True ANSI/ECMA-48 would have <rmso=\E[27m>,
+# <rmul=\E[24m>, but this isn't a documented feature of ANSI.SYS.
+klone+sgr|attribute control for ansi.sys displays,
+	blink=\E[5m, bold=\E[1m, rev=\E[7m, rmpch=\E[10m,
+	rmso=\E[m, rmul=\E[m,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6
+	    %t;1%;%?%p9%t;11%;m,
+	sgr0=\E[0;10m, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
+	use=klone+acs,
+
+# Most Intel boxes do not treat "invis" (invisible) text.
+klone+sgr8|attribute control for ansi.sys displays with invis,
+	invis=\E[8m,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6
+	    %t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+	use=klone+sgr,
+
+# Highlight controls corresponding to the ANSI.SYS standard.  *All*
+# console drivers for Intel boxes obey these.  Does not assume \E[11m will
+# work; uses \E[12m instead, which is pretty bulletproof but loses you the ACS
+# diamond and arrow characters under curses.
+klone+sgr-dumb|attribute control for ansi.sys displays (no ESC [ 11 m),
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6
+	    %t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
+	sgr0=\E[0;10m, smacs=\E[12m, use=ansi+sgrbold,
+	use=klone+acs,
+
+# KOI8-R (RFC1489) acs (alternate character set)
+# From: Qing Long <qinglong@Bolizm.ihep.su>, 24 Feb 1996.
+klone+koi8acs|alternate character set for ansi.sys displays with KOI8 charset,
+	acsc=+\020\,\021-\036.^_0\215`\004a\237f\234g\232h\222i
+	     \220j\205k\203l\202m\204n\212o\213p\216q\0r\217s\214t
+	     \206u\207v\210w\211x\201y\230z\231{\267|\274}L~
+	     \225,
+	rmacs=\E[10m, smacs=\E[11m,
+
+# ANSI.SYS color control.  The setab/setaf caps depend on the coincidence
+# between SVr4/XPG4's color numbers and ANSI.SYS attributes.  Here are longer
+# but equivalent strings that don't rely on that coincidence:
+# setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+# setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}%=%t3%e%p1%d%;m,
+# The DOS 5 manual asserts that these sequences meet the ISO 6429 standard.
+# They match a subset of ECMA-48.
+klone+color|color control for ansi.sys and ISO6429-compatible displays,
+	colors#8, ncv#3, pairs#64,
+	op=\E[37;40m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+
+# This is better than klone+color, it doesn't assume white-on-black as the
+# default color pair,  but many `ANSI' terminals don't grok the <op> cap.
+ecma+color|color control for ECMA-48-compatible terminals,
+	AX,
+	op=\E[39;49m, use=klone+color,
+
+ecma+italics|ECMA-48 italics,
+	ritm=\E[23m, sitm=\E[3m,
+
+# Attribute control for ECMA-48-compatible terminals
+ecma+sgr|attribute capabilities for true ECMA-48 terminals,
+	rmso=\E[27m, rmul=\E[24m, use=klone+sgr8,
+
+ecma+strikeout|ECMA-48 strikeout/crossed-out,
+	rmxx=\E[29m, smxx=\E[9m,
+
+# ECMA-48 does not include the VT100 indexing and scroll-margins.  It has its
+# own variation.
+ecma+index|ECMA-48 scroll up/down,
+	indn=\E[%p1%dS, rin=\E[%p1%dT,
+
+# For comparison, here are all the capabilities implied by the Intel
+# Binary Compatibility Standard (level 2) that fit within terminfo.
+# For more detail on this rather pathetic standard, see the comments
+# near the end of this file.
+ibcs2|Intel Binary Compatibility Standard prescriptions,
+	cbt=\E[Z, clear=\Ec, cub1=\E[1D, cud1=\E[1B, cuf1=\E[1C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch=\E[%p1%dP,
+	dispc=\E=%p1%dg, ech=\E[%p1%dX, hpa=\E[%i%p1%dG, hts=\EH,
+	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, rc=\E7,
+	rmam=\E[?7l, sc=\E7, smam=\E[?7h, tbc=\E[g,
+	vpa=\E[%i%p1%dd, use=ansi+local, use=ecma+index,
+
+#### ANSI/ECMA-48 terminals and terminal emulators
+#
+# See near the end of this file for details on ANSI conformance.
+# Don't mess with these entries!  Lots of other entries depend on them!
+#
+# This section lists entries in a least-capable to most-capable order.
+# if you're in doubt about what `ANSI' matches yours, try them in that
+# order and back off from the first that breaks.
+
+# ansi-mr is for ANSI terminals with ONLY relative cursor addressing
+# and more than one page of memory.  It uses local motions instead of
+# direct cursor addressing, and makes almost no assumptions. It does
+# assume auto margins, no padding and/or xon/xoff, and a 24x80 screen.
+ansi-mr|mem rel cup ANSI,
+	am, xon,
+	cols#80, lines#24, use=vanilla, use=ansi+erase,
+	use=ansi+local1,
+
+# ansi-mini is a bare minimum ANSI terminal. This should work on anything, but
+# beware of screen size problems and memory relative cursor addressing.
+ansi-mini|any ANSI terminal with pessimistic assumptions,
+	am, xon,
+	cols#80, lines#24, use=vanilla, use=ansi+cup,
+	use=ansi+erase,
+
+# ansi-mtabs adds relative addressing and minimal tab support
+ansi-mtabs|any ANSI terminal with pessimistic assumptions (relative addressing),
+	it#8,
+	ht=^I, use=ansi-mini, use=ansi+local1,
+
+# ANSI X3.64 from emory!mlhhh (Hugh Hansard) via BRL
+#
+# The following is an entry for the full ANSI 3.64 (1977).  It lacks
+# padding, but most terminals using the standard are "fast" enough
+# not to require any -- even at 9600 bps.  If you encounter problems,
+# try including the padding specifications.
+#
+# Note: the :as: and :ae: specifications are not implemented here, for
+# the available termcap documentation does not make clear WHICH alternate
+# character set to specify.  ANSI 3.64 seems to make allowances for several.
+# Please make the appropriate adjustments to fit your needs -- that is
+# if you will be using alternate character sets.
+#
+# There are very few terminals running the full ANSI 3.64 standard,
+# so I could only test this entry on one verified terminal (Visual 102).
+# I would appreciate the results on other terminals sent to me.
+#
+# Please report comments, changes, and problems to:
+#
+# U.S. MAIL:   Hugh Hansard
+#              Box: 22830
+#              Emory University
+#              Atlanta, GA. 30322.
+#
+# USENET {akgua,msdc,sb1,sb6,gatech}!emory!mlhhh.
+#
+# (Added vt100 <rc>,<sc> to quiet a tic warning --esr)
+ansi77|ANSI 3.64 standard 1977 version,
+	OTbs, am, mir,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\E[;H\E[2J, cr=\r, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M$<5*/>,
+	ed=\E[J, el=\E[K, home=\E[H, ht=^I, il1=\E[L$<5*/>, ind=\ED,
+	kf1=\EOP, kf2=\EOR, kf4=\EOS, nel=\r\ED, ri=\EM, rmir=\E[4l,
+	rmso=\E[m, rmul=\E[m, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+	use=ansi+arrows, use=ansi+csr, use=ansi+local1,
+
+# Procomm and some other ANSI emulations don't recognize all of the ANSI-
+# standard capabilities.  This entry deletes <cuu>, <cuf>, <cud>, <cub>, and
+# <vpa>/<hpa> capabilities, forcing curses to use repetitions of <cuu1>,
+# <cuf1>, <cud1> and <cub1>.  Also deleted <ich> and <ich1>, as QModem up to
+# 5.03 doesn't recognize these.  Finally, we delete <rep> and <ri>, which seem
+# to confuse many emulators.  On the other hand, we can count on these programs
+# doing <rmacs>/<smacs>/<sgr>. Older versions of this entry featured
+# <invis=\E[9m>, but <invis=\E[8m> now seems to be more common under
+# ANSI.SYS influence.
+# From: Eric S. Raymond <esr@snark.thyrsus.com> Oct 30 1995
+pcansi-m|pcansi-mono|ibm-pc terminal programs claiming to be ANSI (mono mode),
+	OTbs, am, mir, msgr,
+	cols#80, lines#24,
+	bel=^G, cr=\r, cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M,
+	home=\E[H, ht=^I, il1=\E[L, ind=\n, use=ansi+arrows,
+	use=ansi+erase, use=ansi+inittabs, use=ansi+local1,
+	use=klone+sgr-dumb,
+
+pcansi-25-m|pcansi25m|ibm-pc terminal programs with 25 lines (mono mode),
+	lines#25, use=pcansi-m,
+pcansi-33-m|pcansi33m|ibm-pc terminal programs with 33 lines (mono mode),
+	lines#33, use=pcansi-m,
+pcansi-43-m|ansi43m|ibm-pc terminal programs with 43 lines (mono mode),
+	lines#43, use=pcansi-m,
+# The color versions.  All PC emulators do color...
+pcansi|ibm-pc terminal programs claiming to be ANSI,
+	use=klone+color, use=pcansi-m,
+pcansi-25|pcansi25|ibm-pc terminal programs with 25 lines,
+	lines#25, use=pcansi,
+pcansi-33|pcansi33|ibm-pc terminal programs with 33 lines,
+	lines#33, use=pcansi,
+pcansi-43|pcansi43|ibm-pc terminal programs with 43 lines,
+	lines#43, use=pcansi,
+
+# ansi-m -- full ANSI X3.64 with ANSI.SYS-compatible attributes, no color.
+# If you want pound signs rather than dollars, replace `B' with `A'
+# in the <s0ds>, <s1ds>, <s2ds>, and <s3ds> capabilities.
+# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
+ansi-m|ansi-mono|ANSI X3.64-1979 terminal with ANSI.SYS compatible attributes,
+	mc5i,
+	dch=\E[%p1%dP, dl=\E[%p1%dM, ech=\E[%p1%dX, el1=\E[1K,
+	hpa=\E[%i%p1%dG, ht=\E[I, ich=\E[%p1%d@, il=\E[%p1%dL,
+	kcbt=\E[Z, kich1=\E[L, mc4=\E[4i, mc5=\E[5i, nel=\r\E[S,
+	rep=%p1%c\E[%p2%{1}%-%db, s0ds=\E(B, s1ds=\E)B,
+	s2ds=\E*B, s3ds=\E+B, vpa=\E[%i%p1%dd, use=ansi+local,
+	use=ecma+index, use=pcansi-m,
+
+# ECMA-48 addresses three of the four capabilities here:
+#
+# u6 -
+#	8.3.14 CPR - ACTIVE POSITION REPORT
+#	Notation: (Pn1;Pn2) Representation: CSI Pn1;Pn2 05/02
+#	Parameter default values: Pn1 = 1; Pn2 = 1
+#
+# u7
+#	8.3.35 DSR - DEVICE ST A TUS REPORT
+#	Notation: (Ps) Representation: CSI Ps 06/14
+#	Parameter default value: Ps = 0
+#	DSR is used either to report the status of the sending device or to
+#	request a status report from the receiving device, depending on the
+#	parameter values:
+#	6 a report of the active presentation position or of the active data
+#	  position in the form of ACTIVE POSITION REPORT (CPR) is requested
+#
+# u9 -
+#	8.3.24 DA - DEVICE ATTRIBUTES
+#	Notation: (Ps) Representation: CSI Ps 06/03
+#	Parameter default value: Ps = 0
+#	With a parameter value not equal to 0, DA is used to identify the
+#	device which sends the DA.  The parameter value is a device type
+#	identification code according to a register which is to be established. 
+#	If the parameter value is 0, DA is used to request an identifying DA
+#	from a device.
+#
+# DEC (and most "ANSI") terminals reply with a private-mode ("?") sequence,
+# but that register "which is to be" in ECMA-48 was never established.
+# For terminals that support DA1, a more specific u8 capability is preferred,
+# except for those (such as xterm) which can be configured to return different
+# responses.
+ansi+cpr|ncurses extension for ANSI CPR,
+	u6=\E[%i%d;%dR, u7=\E[6n,
+ansi+enq|ncurses extension for ANSI ENQ,
+	u8=\E[?%[;0123456789]c, u9=\E[c, use=ansi+cpr,
+# DEC terminals provided DECID, subsumed into DA1:
+decid+cpr|ncurses extension for DECID,
+	u8=\E[?%[;0123456789]c, u9=\EZ, use=ansi+cpr,
+
+# ansi -- this terminfo expresses the largest subset of X3.64 that will fit in
+# standard terminfo.  Assumes ANSI.SYS-compatible attributes and color.
+# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 6 1995
+ansi|ansi/pc-term compatible with color,
+	use=ansi+enq, use=ecma+color, use=klone+sgr8, use=ansi-m,
+
+# ansi-generic is a vanilla ANSI terminal. This is assumed to implement
+# all the normal ANSI stuff with no extensions. It assumes
+# insert/delete line/char is there, so it won't work with
+# VT100 clones. It assumes video attributes for bold, blink,
+# underline, and reverse, which won't matter much if the terminal
+# can't do some of those. Padding is assumed to be zero, which
+# shouldn't hurt since xon/xoff is assumed.
+ansi-generic|ansiterm|generic ANSI standard terminal,
+	am, xon,
+	cols#80, lines#24, use=vanilla, use=ansi+csr, use=ansi+cup,
+	use=ansi+rca, use=ansi+erase, use=ansi+tabs,
+	use=ansi+local, use=ansi+idc, use=ansi+idl, use=ansi+rep,
+	use=ansi+sgrbold, use=ansi+arrows,
+
+#### DOS ANSI.SYS variants
+#
+# This completely describes the sequences specified in the DOS 2.1 ANSI.SYS
+# documentation (except for the keyboard key reassignment feature, which
+# doesn't fit the <pfkey> model well).  The klone+acs sequences were valid
+# though undocumented.  The <pfkey> capability is untested but should work for
+# keys F1-F10 (%p1 values outside this range will yield unpredictable results).
+# From: Eric S. Raymond <esr@snark.thyrsus.com> Nov 7 1995
+#
+# DOS 2.0 (January 1983) documented these features in
+# Chapter 13, "Using Extended Screen and Keyboard Control" -TD
+ansi.sys-old|ANSI.SYS under PC-DOS 2.0,
+	OTbs, am, mir, msgr, xon,
+	cols#80, lines#25,
+	clear=\E[2J, cub1=^H, cup=\E[%i%p1%d;%p2%dH, el=\E[k,
+	home=\E[H, is2=\E[m\E[?7h, kcub1=^H, kcud1=\n, kcuf1=^L,
+	kcuu1=^K, khome=^^, pfkey=\E[0;%p1%{58}%+%d;%p2"%s"p,
+	rc=\E[u, rmam=\E[?7l, sc=\E[s, smam=\E[?7h, use=ansi+cpr,
+	use=ansi+local1, use=klone+color, use=klone+sgr8,
+
+# Keypad:	Home=\0G	Up=\0H	PrPag=\0I
+#		ka1,kh		kcuu1		kpp,ka3
+#
+#		Left=\0K	5=\0L		Right=\0M
+#		kcub1		kb2		kcuf1
+#
+#		End=\0O		Down=\0P	NxPag=\0Q
+#		kc1,kend	kcud1		kc3,knp
+#
+#		Ins=\0R		Del=\0S
+#		kich1		kdch1
+#
+# On keyboard with 12 function keys,
+#	shifted f-keys: F13-F24
+#	control f-keys: F25-F36
+#	alt f-keys:     F37-F48
+# The shift/control/alt keys do not modify each other, but alt overrides both,
+# and control overrides shift.
+#
+# <pfkey> capability for F1-F48 -TD
+ansi.sys|ANSI.SYS 3.1 and later versions,
+	el=\E[K, ka1=\0G, ka3=\0I, kb2=\0L, kc1=\0O, kc3=\0Q,
+	kcbt=\0^O, kcub1=\0K, kcud1=\0P, kcuf1=\0M, kcuu1=\0H,
+	kdch1=\0S, kend=\0O, kf1=\0;, kf10=\0D, kf11=\0\205,
+	kf12=\0\206, kf13=\0T, kf14=\0U, kf15=\0V, kf16=\0W,
+	kf17=\0X, kf18=\0Y, kf19=\0Z, kf2=\0<, kf20=\0[, kf21=\0\\,
+	kf22=\0], kf23=\0\207, kf24=\0\210, kf25=\0\^, kf26=\0_,
+	kf27=\0`, kf28=\0a, kf29=\0b, kf3=\0=, kf30=\0c, kf31=\0d,
+	kf32=\0e, kf33=\0f, kf34=\0g, kf35=\0\211, kf36=\0\212,
+	kf37=\0h, kf38=\0i, kf39=\0j, kf4=\0>, kf40=\0k, kf41=\0l,
+	kf42=\0m, kf43=\0n, kf44=\0o, kf45=\0p, kf46=\0q,
+	kf47=\0\213, kf48=\0\214, kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B,
+	kf9=\0C, khome=\0G, kich1=\0R, knp=\0Q, kpp=\0I,
+	pfkey=\E[0;%?%p1%{11}%<%t%':'%e%p1%{13}%<%t%'z'%e%p1%{23}%<
+	      %t%'G'%e%p1%{25}%<%t%'p'%e%p1%'#'%<%t%'E'%e%p1%'%'%<%t
+	      %'f'%e%p1%'/'%<%t%'C'%e%{92}%;%p1%+%d;%p2"%s"p,
+	use=ansi+arrows, use=ansi.sys-old,
+
+#
+# Define IBM PC keypad keys for vi as per MS-Kermit while using ANSI.SYS.
+# This should only be used when the terminal emulator cannot redefine the keys.
+# Since redefining keys with ansi.sys also affects PC-DOS programs, the key
+# definitions must be restored.  If the terminal emulator is quit while in vi
+# or others using <smkx>/<rmkx>, the keypad will not be defined as per PC-DOS.
+# The PgUp and PgDn are prefixed with ESC so that tn3270 can be used on Unix
+# (^U and ^D are already defined for tn3270).  The ESC is safe for vi but it
+# does "beep".  ESC ESC i is used for Ins to avoid tn3270 ESC i for coltab.
+# Note that <kcub1> is always BS, because PC-dos can tolerate this change.
+# Caution: vi is limited to 256 string bytes, longer crashes or weirds out vi.
+# Consequently the End keypad key could not be set (it is relatively safe and
+# actually useful because it sends ^@ O, which beeps and opens a line above).
+ansi.sysk|ansisysk|PC-DOS 3.1 ANSI.SYS with keypad redefined for vi,
+	is2=U2\sPC-DOS\s3.1\sANSI.SYS\swith\skeypad\sredefined\sfor
+	    \svi\s9-29-86\n\E[;75;8p,
+	rmkx=\E[;71;0;71p\E[;72;0;72p\E[;73;0;73p\E[;77;0;77p\E[;80;
+	     0;80p\E[;81;0;81p\E[;82;0;82p\E[;83;0;83p,
+	smkx=\E[;71;30p\E[;72;11p\E[;73;27;21p\E[;77;12p\E[;80;10p
+	     \E[;81;27;4p\E[;82;27;27;105p\E[;83;127p,
+	use=ansi.sys,
+#
+# Adds ins/del line/character, hence vi reverse scrolls/inserts/deletes nicer.
+nansi.sys|nansisys|PC-DOS Public Domain NANSI.SYS,
+	dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L,
+	is2=U3 PC-DOS Public Domain NANSI.SYS 9-23-86\n,
+	use=ansi.sys,
+#
+# See ansi.sysk and nansi.sys above.
+nansi.sysk|nansisysk|PC-DOS Public Domain NANSI.SYS with keypad redefined for vi,
+	dch1=\E[1P, dl1=\E[1M, ich1=\E[1@, il1=\E[1L,
+	is2=U4\sPC-DOS\sPublic\sDomain\sNANSI.SYS\swith\skeypad
+	    \sredefined\sfor\svi\s9-29-86\n\E[;75;8p,
+	use=ansi.sysk,
+
+#### Atari ST terminals
+
+# From Guido Flohr <gufl0000@stud.uni-sb.de>.
+#
+tw52|tw52-color|Toswin window manager with color,
+	bce,
+	colors#16, pairs#0x100,
+	oc=\Eb?\Ec0, op=\Eb?\Ec0,
+	setab=\Ec%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1
+	      %{48}%+%c,
+	setaf=\Eb%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1
+	      %{48}%+%c,
+	setb=\Ec%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1
+	     %{48}%+%c,
+	setf=\Eb%?%p1%{0}%=%t?%e%p1%{7}%=%t0%e%p1%{15}%=%t7%e%p1
+	     %{48}%+%c,
+	use=tw52-m,
+tw52-m|Toswin window manager monochrome,
+	ul,
+	ma#999,
+	bold=\Eya, dch1=\Ea, dim=\EyB,
+	is2=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0, rev=\EyP, rmso=\EzQ,
+	rmul=\EzH, rs2=\Ev\Eq\Ez_\Ee\Ei\Eb?\Ec0, sgr0=\Ez_,
+	smso=\EyQ, smul=\EyH, use=at-m,
+tt52|Atari TT medium and high resolution,
+	lines#30, use=at-color,
+st52-color|at-color|atari-color|atari_st-color|Atari ST with color,
+	bce,
+	colors#16, pairs#0x100,
+	is2=\Ev\Eq\Ee\Eb1\Ec0, rs2=\Ev\Eq\Ee\Eb1\Ec0,
+	setab=\Ec%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}
+	      %=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1
+	      %{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t:%e
+	      %p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}
+	      %=%t6%e?,
+	setaf=\Eb%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}
+	      %=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1
+	      %{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t:%e
+	      %p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}
+	      %=%t6%e?,
+	setb=\Ec%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}
+	     %=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1
+	     %{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t:%e
+	     %p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=
+	     %t6%e?,
+	setf=\Eb%?%p1%{0}%=%t1%e%p1%{1}%=%t2%e%p1%{2}%=%t3%e%p1%{3}
+	     %=%t>%e%p1%{4}%=%t4%e%p1%{5}%=%t7%e%p1%{6}%=%t5%e%p1
+	     %{7}%=%t0%e%p1%{8}%=%t8%e%p1%{9}%=%t9%e%p1%{10}%=%t:%e
+	     %p1%{11}%=%t;%e%p1%{12}%=%t<%e%p1%{13}%=%t=%e%p1%{14}%=
+	     %t6%e?,
+	use=st52,
+st52|st52-m|at|at-m|atari|atari-m|atari_st|atarist-m|Atari ST,
+	am, eo, mir, npc,
+	civis=\Ef, clear=\EE, cnorm=\Ee, dl1=\EM, el1=\Eo, il1=\EL,
+	is2=\Ev\Eq\Ee, kLFT=\Ed, kRIT=\Ec, kdch1=^?, kf1=\EP,
+	kf10=\EY, kf11=\Ep, kf12=\Eq, kf13=\Er, kf14=\Es, kf15=\Et,
+	kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex, kf2=\EQ, kf20=\Ey,
+	kf3=\ER, kf4=\ES, kf5=\ET, kf6=\EU, kf7=\EV, kf8=\EW, kf9=\EX,
+	khlp=\EH, khome=\EE, kich1=\EI, knp=\Eb, kpp=\Ea, kund=\EK,
+	rc=\Ek, rev=\Ep, rmso=\Eq, rs2=\Ev\Eq\Ee, sc=\Ej, sgr0=\Eq,
+	smso=\Ep, use=vt52-basic,
+tw100|Toswin VT100 window manager,
+	eo, mir, msgr, xon,
+	colors#8, cols#80, it#8, lines#24, pairs#64, vt#3,
+	acsc=++\,\,--..00II``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxy
+	     yzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\Ef,
+	clear=\E[2J\E[H, cnorm=\Ee, cr=\r, cub1=^H, cud1=\EB,
+	cuf1=\EC, cup=\E[%i%p1%d;%p2%dH, cuu1=\EA, dch1=\Ea,
+	dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M, ed=\E[J, el=\E[K,
+	el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, il1=\EL,
+	ind=\n, is2=\E<\E)0, kdch1=^?, kf1=\EOP, kf10=\EOY, kf11=\Ep,
+	kf12=\Eq, kf13=\Er, kf14=\Es, kf15=\Et, kf16=\Eu, kf17=\Ev,
+	kf18=\Ew, kf19=\Ex, kf2=\EOQ, kf20=\Ey, kf3=\EOR, kf4=\EOS,
+	kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, khlp=\EH,
+	khome=\E\EE, kich1=\EI, knp=\Eb, kpp=\E\Ea, kund=\EK,
+	ll=\E[24H, nel=\EE, oc=\E[30;47m, op=\E[30;47m, rev=\E[7m,
+	ri=\EM, rmacs=^O, rmcup=\E[?7h, rmir=\Ei, rmkx=\E[?1l\E>,
+	rmso=\E[m, rmul=\E[m,
+	rs1=\E<\E[20l\E[?3;6;9l\E[r\Eq\E(B\017\E)0\E>,
+	setb=\E[4%p1%'0'%+%Pa%?%ga%'0'%=%t0%e%ga%'1'%=%t4%e%ga%'2'%=
+	     %t2%e%ga%'3'%=%t6%e%ga%'4'%=%t1%e%ga%'5'%=%t5%e%ga%'6'
+	     %=%t3%e7%;m,
+	setf=\E[3%p1%'0'%+%Pa%?%ga%'0'%=%t0%e%ga%'1'%=%t4%e%ga%'2'%=
+	     %t2%e%ga%'3'%=%t6%e%ga%'4'%=%t1%e%ga%'5'%=%t5%e%ga%'6'
+	     %=%t3%e7%;m,
+	sgr0=\E[m, smacs=^N, smcup=\E[?7l, smir=\Eh,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	use=ansi+apparrows, use=ansi+csr, use=ansi+local,
+
+# The entries for stv52 and stv52pc probably need a revision.
+stv52|MiNT virtual console,
+	am, msgr,
+	lines#30,
+	blink=\Er, bold=\EyA, civis=\Ef, clear=\EE, cnorm=\E. \Ee,
+	cub1=^H, cvvis=\E.", dim=\Em, dl1=\EM, il1=\EL, ind=\n$<2*/>,
+	kdch1=^?, kf1=\EP, kf10=\EY, kf11=\Ep, kf12=\Eq, kf13=\Er,
+	kf14=\Es, kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex,
+	kf2=\EQ, kf20=\Ey, kf3=\ER, kf4=\ES, kf5=\ET, kf6=\EU, kf7=\EV,
+	kf8=\EW, kf9=\EX, khlp=\EH, khome=\EE, kich1=\EI, knp=\Eb,
+	kpp=\Ea, kund=\EK, nel=\r\n$<2*/>, op=\Eb@\EcO, rev=\Ep,
+	ri=\EI$<2*/>, rmcup=\Ev\E. \Ee\Ez_, rmso=\Eq, rmul=\EzH,
+	rs1=\Ez_\Eb@\EcA, sgr0=\Ez_, smcup=\Ev\Ee\Ez_, smso=\Ep,
+	smul=\EyH, use=vt52-basic,
+stv52pc|MiNT virtual console with PC charset,
+	am, msgr,
+	lines#30,
+	acsc=+\257\,\256-\^.v0\333I\374`\177a\260f\370g\361h\261j
+	     \331k\277l\332m\300n\305o\377p-q\304r-s_t+u+v+w+x\263y
+	     \363z\362{\343|\366}\234~\371,
+	blink=\Er, bold=\EyA, civis=\Ef, clear=\EE, cnorm=\E. \Ee,
+	cub1=^H, cvvis=\E.", dim=\Em, dl1=\EM, il1=\EL, ind=\n$<2*/>,
+	kdch1=^?, kf1=\EP, kf10=\EY, kf11=\Ep, kf12=\Eq, kf13=\Er,
+	kf14=\Es, kf15=\Et, kf16=\Eu, kf17=\Ev, kf18=\Ew, kf19=\Ex,
+	kf2=\EQ, kf20=\Ey, kf3=\ER, kf4=\ES, kf5=\ET, kf6=\EU, kf7=\EV,
+	kf8=\EW, kf9=\EX, khlp=\EH, khome=\EE, kich1=\EI, knp=\Eb,
+	kpp=\Ea, kund=\EK, nel=\r\n$<2*/>, rev=\Ep, ri=\EI$<2*/>,
+	rmcup=\Ev\E. \Ee\Ez_, rmso=\Eq, rmul=\EzH,
+	rs1=\Ez_\Eb@\EcA, sgr0=\Ez_, smcup=\Ev\Ee\Ez_, smso=\Ep,
+	smul=\EyH, use=vt52-basic,
+
+# From: Simson L. Garfinkel <simsong@media-lab.mit.edu>
+atari-old|Atari st,
+	OTbs, am,
+	cols#80, it#8, lines#25,
+	clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM,
+	ed=\EJ, el=\EK, ht=^I, il1=\EL, ri=\EI, rmso=\Eq, sgr0=\Eq,
+	smso=\Ep, use=vt52+arrows,
+# UniTerm terminal program for the Atari ST:  49-line VT220 emulation mode
+# From: Paul M. Aoki <aoki@ucbvax.berkeley.edu>
+uniterm|uniterm49|UniTerm VT220 emulator with 49 lines,
+	lines#49,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;49r\E[49;1H, use=vt220-base,
+# MiNT VT52 emulation. 80 columns, 25 rows.
+# MiNT is Now TOS, the operating system which comes with all Ataris now
+# (mainly Atari Falcon). This termcap is for the VT52 emulation you get
+# under tcsh/zsh/bash/sh/ksh/ash/csh when you run MiNT in `console' mode
+# From: Per Persson <pp@gnu.ai.mit.edu>, 27 Feb 1996
+st52-old|Atari ST with VT52 emulation,
+	am, km,
+	cols#80, lines#25,
+	bel=^G, civis=\Ef, clear=\EH\EJ, cnorm=\Ee, cr=\r, cub1=\ED,
+	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, il1=\EL,
+	ind=\n, ka1=\E#7, ka3=\E#5, kb2=\E#9, kbs=^H, kc1=\E#1,
+	kc3=\E#3, kclr=\E#7, kcub1=\E#K, kcud1=\E#P, kcuf1=\E#M,
+	kcuu1=\E#H, kf0=\E#D, kf1=\E#;, kf2=\E#<, kf3=\E#=, kf4=\E#>,
+	kf5=\E#?, kf6=\E#@, kf7=\E#A, kf8=\E#B, kf9=\E#C, khome=\E#G,
+	kil1=\E#R, kind=\E#2, kri=\E#8, lf0=f10, nel=\r\n, rc=\Ek,
+	ri=\EI, rmcup=, rmso=\Eq, rs1=\Ez_\Eb@\EcA, sc=\Ej, sgr0=\Eq,
+	smcup=\Ee, smso=\Ep,
+
+#### BeOS
+#
+# BeOS entry for Terminal program Seems to be almost ANSI
+beterm|BeOS Terminal,
+	am, eo, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#25, ncv#5,
+	bel=^G, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, ech=\E[%p1%dX, el1=\E[1K,
+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ind=\n,
+	kf1=\E[11~, kf10=\E[20~, kf11=\E[21~, kf12=\E[22~,
+	kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[16~,
+	kf7=\E[17~, kf8=\E[18~, kf9=\E[19~, khome=\E[1~, kspd=^Z,
+	nel=\r\n, op=\E[m, rev=\E[7m, ri=\EM, rmkx=\E[?4l, rmso=\E[m,
+	rmul=\E[24m, rs1=\Ec, setb=\E[%p1%{40}%+%cm,
+	setf=\E[%p1%{30}%+%cm, sgr0=\E[0;10m, smkx=\E[?4h,
+	smso=\E[7m, smul=\E[4m, u6=\E[%i%p1%d;%p2%dR, u7=\E[6n,
+	vpa=\E[%i%p1%dd, use=ansi+arrows, use=ansi+csr,
+	use=ansi+erase, use=ansi+idc, use=ansi+idl,
+	use=ansi+local, use=klone+color, use=vt220+pcedit,
+
+#### Linux consoles
+#
+
+# release 1.2.13: 1995/03
+#
+# This entry is good for the 1.2.13 or later version of the Linux console.
+#
+# ***************************************************************************
+# *                                                                         *
+# *                           WARNING:                                      *
+# * Linuxes come with a default keyboard mapping kcbt=^I.  This entry, in   *
+# * response to user requests, assumes kcbt=\E[Z, the ANSI/ECMA reverse-tab *
+# * character. Here are the keymap replacement lines that will set this up: *
+# *                                                                         *
+#	keycode  15 = Tab             Tab
+#		alt     keycode  15 = Meta_Tab
+#		shift	keycode  15 = F26
+#	string F26 ="\033[Z"
+# *                                                                         *
+# * This has to use a key slot which is unfortunate (any unused one will    *
+# * do, F26 is the higher-numbered one).  The change ought to be built      *
+# * into the kernel tables.                                                 *
+# *                                                                         *
+# ***************************************************************************
+#
+# All linux kernels since 1.2.13 (at least) set the screen size
+# themselves; this entry assumes that capability.
+#
+linux-basic|Linux console (basic),
+	am, bce, eo, mir, msgr, xenl, xon,
+	it#8, ncv#18, U8#1,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
+	     \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
+	     \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+	dim=\E[2m, ech=\E[%p1%dX, el1=\E[1K,
+	flash=\E[?5h$<200/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+	ht=^I, hts=\EH, ind=\n, kb2=\E[G, kbs=^?, kcbt=\E[Z, kf1=\E[[A,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\E[[B,
+	kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kmous=\E[M, kspd=^Z,
+	nel=\r\n, ri=\EM, rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m,
+	rs1=\Ec\E]R,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+	    %t;2%;%?%p6%t;1%;%?%p9%t;11%;m,
+	smam=\E[?7h, tbc=\E[3g, vpa=\E[%i%p1%dd, use=ansi+arrows,
+	use=ansi+csr, use=ansi+erase, use=ansi+idc, use=ansi+idl,
+	use=ansi+local, use=vt220+pcedit, use=vt102+enq,
+	use=klone+sgr, use=ecma+color, use=linux+sfkeys,
+
+linux+decid|ncurses extension for Linux console DECID,
+	u8=\E[?6c, use=decid+cpr,
+
+linux+sfkeys|shifted function-keys for Linux console,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
+
+linux-m|Linux console no color,
+	colors@, pairs@,
+	setab@, setaf@, setb@, setf@, use=linux,
+
+# release 1.3: 1995/06
+#
+# The 1.3.x kernels add color-change capabilities; if yours doesn't have this
+# and it matters, turn off <ccc>.  The %02x escape used to implement this is
+# not supposedly back-portable to older SV curses (although it has worked fine
+# on Solaris for several years) and not supported in ncurses versions before
+# 1.9.9.
+linux-c-nc|Linux console with color-change,
+	ccc,
+	initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/
+	      %02x%p4%{255}%*%{1000}%/%02x,
+	oc=\E]R, use=linux-basic,
+# From: Dennis Henriksen <opus@osrl.dk>, 9 July 1996
+linux-c|Linux console 1.3.6+ for older ncurses,
+	ccc,
+	initc=\E]P%?%p1%{9}%>%t%p1%{10}%-%'a'%+%c%e%p1%d%;%p2%{255}
+	      %*%{1000}%/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'
+	      %+%c%e%gx%d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'
+	      %+%c%e%gx%d%;%p3%{255}%*%{1000}%/%Pr%gr%{16}%/%Px%?%gx
+	      %{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%gr%{15}%&%Px%?%gx
+	      %{9}%>%t%gx%{10}%-%'a'%+%c%e%gx%d%;%p4%{255}%*%{1000}
+	      %/%Pr%gr%{16}%/%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx
+	      %d%;%gr%{15}%&%Px%?%gx%{9}%>%t%gx%{10}%-%'a'%+%c%e%gx
+	      %d%;,
+	oc=\E]R, use=linux-basic,
+
+# release 2.2: 1999/01
+#
+# The 2.2.x kernels add a private mode that sets the cursor type; use that to
+# get a block cursor for cvvis.
+# reported by Frank Heckenbach <frank@g-n-u.de>.
+linux2.2|Linux 2.2.x console,
+	civis=\E[?25l\E[?1c, cnorm=\E[?25h\E[?0c,
+	cvvis=\E[?25h\E[?8c, use=linux-c-nc,
+
+# release 2.6: 2003/12 - 2004/12
+#
+# Linux 2.6.x has a fix for SI/SO to work with UTF-8 encoding added here:
+#	http://lkml.iu.edu/hypermail/linux/kernel/0602.2/0738.html
+# Although the kernel has mappings for these, they were not in the default
+# font (tested with Debian and Fedora):
+#	'`' diamond
+#	'~' scan line 1
+#	'p' scan line 3
+#	'r' scan line 7
+#	'_' scan line 9
+#
+# The fix for SI/SO is part of a configurable (i.e., "optional") kernel feature
+# misleadingly called CONFIG_CONSOLE_TRANSLATIONS.  Disabling that not only
+# omits the line-drawing using SI/SO, but also part/all of the Unicode feature:
+#
+#    https://cateee.net/lkddb/web-lkddb/CONSOLE_TRANSLATIONS.html
+#	"This enables support for font mapping and Unicode translation on virtual consoles."
+#
+# This mailing list thread in July 2008 illustrates:
+#
+#    https://marc.info/?t=121734656700005&r=1&w=4
+#	"commit a29ccf6f823a84d89e1c7aaaf221cf7282022024 break console on slackware 12.1"
+#
+# The change which made it configurable was to reduce the size for use in
+# embedded systems.  Some background is found in
+#
+#    https://lwn.net/Articles/284767/
+#	"An interview with the new embedded maintainers"
+linux2.6|Linux 2.6.x console,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+	     yzz{{||}}~~,
+	enacs=\E)0, rmacs=^O,
+	sgr=\E[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%;,
+	sgr0=\E[m\017, smacs=^N, use=linux2.2,
+
+# The 3.0 kernel adds support for clearing scrollback buffer (capability E3).
+# It is the same as xterm's erase-saved-lines feature.
+#
+# Linux 3.0 was released in July 2011.  The keyboard utilities (kbd) are
+# used for configuring its keyboard mappings.
+#
+# kbd 1.14 was released before that (January 2008), but due to its placement
+# late in the Linux 2.6.x series had no immediate effect for most users.  That
+# provided a default mapping for shift-tab to the (misnamed) Meta_Tab, i.e.,
+# the same as Alt-Tab.
+#
+# The suggested mapping for the conventional \E[Z is provided in this entry as
+# an extended key to lessen user surprise -TD
+linux3.0|Linux 3.0 kernels,
+	kcbt=\E^I, E3=\E[3J, kcbt2=\E[Z, use=linux2.6,
+
+# This is Linux console for ncurses.
+linux|Linux console,
+	use=linux3.0,
+
+# Subject: linux 2.6.26 vt back_color_erase
+# Changes to the Linux console driver broke bce model as reported in
+#	https://bugzilla.novell.com/show_bug.cgi?id=418613
+# apparently from
+#	http://lkml.org/lkml/2008/4/26/305
+#	http://lkml.org/lkml/2008/10/3/66
+linux2.6.26|Linux console w/o bce,
+	bce@, use=linux2.6,
+
+# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
+linux-nic|Linux with ich/ich1 suppressed for non-curses programs,
+	ich@, ich1@, use=linux,
+
+# This assumes you have used setfont(8) to load one of the Linux koi8-r fonts.
+# acsc entry from Pavel Roskin" <pavel@absolute.spb.su>, 29 Sep 1997.
+linux-koi8|Linux with koi8 alternate character set,
+	acsc=+\020\,\021-\030.^Y0\215`\004a\221f\234g\237h\220i
+	     \276j\205k\203l\202m\204n\212o~p\0q\0r\0s_t\206u\207v
+	     \211w\210x\201y\230z\231{\267|\274~\224,
+	use=linux, use=klone+koi8acs,
+
+# Another entry for KOI8-r with Qing Long's acsc.
+# (which one better complies with the standard?)
+linux-koi8r|Linux with koi8-r alternate character set,
+	use=linux, use=klone+koi8acs,
+
+# Entry for the latin1 and latin2 fonts
+linux-lat|Linux with latin1 or latin2 alternate character set,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\013f\370g\361h\260i
+	     \316j\211k\214l\206m\203n\305o~p\304q\212r\304s_t\207u
+	     \215v\301w\302x\205y\363z\362{\343|\330}\234~\376,
+	use=linux,
+
+# This uses graphics from VT codeset instead of from cp437.
+# reason: cp437 (aka "straight to font") is not functional under luit.
+# from: Andrey V Lukyanov <land@long.yar.ru>.
+linux-vt|Linux console using VT codes for graphics,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+	     yzz~~,
+	rmacs=\E(K, rmpch@, sgr@, sgr0=\E[0m\E(K\017, smacs=\E(0,
+	smpch@, use=linux,
+
+# release: 0.3.9b 1997/01 to 2000/05
+#
+# This is based on the Linux console (relies on the console to perform some
+# of the functionality), but does not recognize as many control sequences.
+# The program comes bundled with an old (circa 1998) copy of the Linux
+# console terminfo.  It recognizes some non-ANSI/VT100 sequences such as
+#	\E*	move cursor to home, as as \E[H
+#	\E,X	same as \E(X
+#	\EE	move cursor to beginning of row
+#	\E[y,xf	same as \E[y,xH
+#
+# Note: The status-line support is buggy (dsl does not work).
+kon|kon2|Kanji ON Linux console,
+	am, bce, ccc, eo, eslok, hs, mir, msgr, xenl, xon,
+	it#8, ncv#18,
+	bel=^G, civis=\E[?25l, cnorm=\E[?25h, cr=\r, cub1=^H,
+	cud1=\n, cup=\E[%i%p1%d;%p2%dH, dim=\E[2m,
+	dsl=\E[?H\E[?E, el1=\E[1K, fsl=\E[?F, home=\E[H,
+	hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ind=\n,
+	initc=\E]P%p1%x%p2%02x%p3%02x%p4%02x, kb2=\E[G, kbs=^?,
+	kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[[B,
+	kf20=\E[34~, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kspd=^Z,
+	nel=\r\n, op=\E[37;40m, ri=\EM, rmso=\E[27m, rmul=\E[24m,
+	rs1=\Ec,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+	    %t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+	sgr0=\E[0;10m, tbc=\E[3g, tsl=\E[?T, u8=\E[?6c,
+	vpa=\E[%i%p1%dd, use=ansi+arrows, use=ansi+csr,
+	use=ansi+enq, use=ansi+erase, use=ansi+idc, use=ansi+idl,
+	use=ansi+local, use=ansi+sgrbold, use=ecma+sgr,
+	use=klone+color, use=vt220+pcedit,
+
+# release: 0.4.7 2005/05
+#
+jfbterm|japanese framebuffer terminal,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+	     yzz{{||}}~~,
+	sgr0=\E[0m, use=kon,
+
+# FbTerm
+# Another variant.  There are two parts (src, src/lib) with the latter
+# comprising the escape-sequence parsing.  The copyright notice on that
+# says it is based on GTerm by Timothy Miller.
+#
+# The original developer "dragchan" has left, but as of March 2017 there is
+# (still dead) code from May 2015 here:
+#	https://github.com/izmntuk/fbterm
+#
+# The acsc string may be incorrect.
+#
+# Not used here, the program recognizes escapes for italic, underline and
+# dim, rendering those as green, cyan and gray respectively.
+fbterm|FbTerm for Linux with framebuffer,
+	colors#0x100, pairs#0x10000,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
+	     \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
+	     \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	initc=\E[3;%p1%d;%p2%d;%p3%d;%p4%d}, rmacs=\E[10m,
+	setab=\E[2;%p1%d}, setaf=\E[1;%p1%d},
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+	    %t;2%;%?%p6%t;1%;%?%p9%t;11%;m,
+	sgr0=\E[0;10m, smacs=\E[11m, use=linux,
+
+# 16-color linux console entry; this works with a 256-character
+# console font but bright background colors turn into dim ones when
+# you use a 512-character console font. This uses bold for bright
+# foreground colors and blink for bright background colors.
+#
+# Interestingly, the original version of this entry in 2009 used a documented
+# (but nonstandard) SGR 21, which was supported in the Linux console since 1992
+# as an equivalent for SGR 22.  Long after (early 2018), someone modified the
+# console driver to make it ignore SGR 21 because the ECMA-48 standard
+# suggested a different use for that particular code:
+#
+# https://github.com/torvalds/linux/commit/65d9982d7e523a1a8e7c9af012da0d166f72fc56#diff-7da3c215d12c9f6b88e1a37d38b116f0
+#
+# Two years later, someone (unfamiliar with ECMA-48 this time) documented it:
+#
+# https://git.kernel.org/pub/scm/docs/man-pages/man-pages.git/commit/man4/console_codes.4?id=a133a6bc03d751a424fe0a4adea2198757599615
+#
+# For background, refer to the report on bug-ncurses:
+#
+# https://lists.gnu.org/archive/html/bug-ncurses/2019-10/msg00059.html
+linux-16color|Linux console with 16 colors,
+	colors#16, ncv#42, pairs#0x100,
+	setab=\E[4%p1%{8}%m%d%?%p1%{7}%>%t;5%e;25%;m,
+	setaf=\E[3%p1%{8}%m%d%?%p1%{7}%>%t;1%e;22%;m,
+	use=linux,
+
+# bterm (bogl 0.1.18)
+# Implementation is in bogl-term.c
+# Key capabilities from linux terminfo entry
+#
+# Notes:
+# bterm only supports acs using wide-characters, has case for these: qjxamlkut
+# bterm does not support sgr, since it only processes one parameter -TD
+bterm|bogl virtual terminal,
+	am, bce,
+	colors#8, cols#80, lines#24, pairs#64,
+	acsc=aajjkkllmmqqttuuxx, bold=\E[1m, clear=\E[H\E[2J,
+	cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, ed=\E[J,
+	el=\E[K, home=\E[H, ind=\n, kb2=\E[G, kbs=^?, kcbt=\E[Z,
+	kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[[B,
+	kf20=\E[34~, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~,
+	kmous=\E[M, kspd=^Z, nel=\r\n, op=\E[49m\E[39m, rev=\E[7m,
+	ri=\EM, rmacs=^O, rmso=\E[27m, rmul=\E[24m,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0m, smacs=^N,
+	smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+	use=vt220+pcedit, use=vt220+cvis,
+
+#### Mach
+#
+
+# From: Matthew Vernon <mcv21@pick.sel.cam.ac.uk>
+mach|Mach console,
+	am, km, NQ,
+	cols#80, it#8, lines#25,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\Ec, cr=\r, cub1=^H,
+	cud1=\n, cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K,
+	home=\E[H, ht=^I, ind=\n, kbs=^?, kdch1=\E[9, kend=\E[Y,
+	kf1=\EOP, kf10=\EOY, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT,
+	kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, kich1=\E[@, kll=\E[F,
+	knp=\E[U, kpp=\E[V, rev=\E[7m, rmso=\E[0m, rmul=\E[24m,
+	sgr0=\E[0m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+	use=ansi+idl, use=ansi+local,
+
+mach-bold|Mach console with bold instead of underline,
+	rmul=\E[0m, smul=\E[1m, use=mach,
+mach-color|Mach console with ANSI color,
+	colors#8, pairs#64,
+	dim=\E[2m, invis=\E[8m, op=\E[37;40m, rmso=\E[27m,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=mach,
+
+# From: Samuel Thibault
+# Source: git://git.sv.gnu.org/hurd/gnumach.git
+# Files: i386/i386at/kd.c
+#
+# Added nel, hpa, sgr and removed rmacs, smacs based on source -TD
+mach-gnu|GNU Mach,
+	acsc=+>\,<-\^.v0\333`+a\261f\370g\361h\260i#j\331k\277l
+	     \332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w\302x
+	     \263y\363z\362{\343|\330}\234~\376,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
+	el1=\E[1K, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ich1=\E[@,
+	invis=\E[8m, nel=\EE,
+	sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;
+	    2%;%?%p6%t;1%;%?%p7%t;8%;m,
+	use=ecma+index, use=mach,
+
+mach-gnu-color|GNU Mach console with ANSI color,
+	colors#8, pairs#64,
+	op=\E[37;40m, rmso=\E[27m, setab=\E[4%p1%dm,
+	setaf=\E[3%p1%dm, use=mach-gnu,
+
+# From: Marcus Brinkmann
+# http://git.savannah.gnu.org/cgit/hurd/hurd.git/log/console/
+#
+# Comments in the original are summarized here:
+#
+# hurd uses 8-bit characters (km).
+#
+# Although it doesn't do XON/XOFF, we don't want padding characters (xon).
+#
+# Regarding compatibility to vt100:  hurd doesn't specify <xenl>, as we don't
+# have the eat_newline_glitch.  It doesn't support setting or removing tab
+# stops (hts/tbc).
+#
+# hurd uses ^H instead of \E[D for cub1, as only ^H implements <bw> and it is
+# one byte instead three.
+#
+# <ich1> is not included because hurd has insert mode.
+#
+# hurd doesn't use ^J for scrolling, because this could put things into the
+# scrollback buffer.
+#
+# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode.
+# This is a GNU extension.
+#
+# The original has commented-out ncv, but is restored here.
+#
+# Reading the source, RIS resets cnorm, but not xmous.
+hurd|The GNU Hurd console server,
+	am, bce, bw, eo, km, mir, msgr, xenl, xon, NQ,
+	it#8, ncv#18,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+	     yzz{{||}}~~,
+	bel=^G, cbt=\E[Z, clear=\Ec, cr=\r, cub1=^H, cvvis=\E[34l,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
+	el1=\E[1K, flash=\Eg, ht=^I, ich=\E[%p1%d@, ind=\E[S,
+	kb2=\E[G, kbs=^?, kcbt=\E[Z, kf1=\EOP, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kmous=\E[M, kspd=^Z, nel=\r\n, op=\E[39;49m,
+	ri=\E[T, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+	rs1=\EM\E[?1000l,
+	sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;
+	    2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+	smir=\E[4h, grbom=\E[>1l, gsbom=\E[>1h,
+	use=ansi+apparrows, use=ansi+csr, use=ansi+cup,
+	use=ansi+erase, use=ansi+idl, use=ansi+local,
+	use=ansi+rca2, use=ansi+sgrbold, use=vt220+pcedit,
+	use=ecma+index, use=ecma+italics, use=klone+acs,
+	use=klone+color, use=vt220+cvis,
+
+#### QNX
+#
+
+# QNX 4.0 Console
+# Michael's original version of this entry had <am@>, <smcup=\Ei>,
+# <rmcup=\Eh\ER>; this was so terminfo applications could write the lower
+# right corner without triggering a scroll.  The ncurses terminfo library can
+# handle this case with the <ich1> capability, and prefers <am> for better
+# optimization.  Bug: The <op> capability resets attributes.
+# From: Michael Hunter <mphunter@qnx.com> 30 Jul 1996
+# (removed: <sgr=%?%p1%t\E<%;%p2%t\E[%;%p3%t\E(%;%p4%t\E{%;%p6%t\E<%;,>)
+qnx|qnx4|QNX console,
+	daisy, km, mir, msgr, xhpa, xt,
+	colors#8, cols#80, it#4, lines#25, ncv#3, pairs#8,
+	acsc=O\333a\261j\331k\277l\332m\300n\305o\337q\304s\334t
+	     \303u\264v\301w\302x\263,
+	bel=^G, blink=\E{, bold=\E<, civis=\Ey0, clear=\EH\EJ,
+	cnorm=\Ey1, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ey2,
+	dch1=\Ef, dl1=\EF, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\Ee,
+	il1=\EE, ind=\n, kBEG=\377\356, kCAN=\377\263,
+	kCMD=\377\267, kCPY=\377\363, kCRT=\377\364,
+	kDL=\377\366, kEND=\377\301, kEOL=\377\311,
+	kEXT=\377\367, kFND=\377\370, kHLP=\377\371,
+	kHOM=\377\260, kIC=\377\340, kLFT=\377\264,
+	kMOV=\377\306, kMSG=\377\304, kNXT=\377\272,
+	kOPT=\377\372, kPRT=\377\275, kPRV=\377\262,
+	kRDO=\377\315, kRES=\377\374, kRIT=\377\266,
+	kRPL=\377\373, kSAV=\377\307, kSPD=\377\303,
+	kUND=\377\337, kbeg=\377\300, kcan=\377\243, kcbt=\377\0,
+	kclo=\377\343, kclr=\377\341, kcmd=\377\245,
+	kcpy=\377\265, kcrt=\377\305, kctab=\377\237,
+	kcub1=\377\244, kcud1=\377\251, kcuf1=\377\246,
+	kcuu1=\377\241, kdch1=\377\254, kdl1=\377\274,
+	ked=\377\314, kel=\377\310, kend=\377\250, kent=\377\320,
+	kext=\377\270, kf1=\377\201, kf10=\377\212,
+	kf11=\377\256, kf12=\377\257, kf13=\377\213,
+	kf14=\377\214, kf15=\377\215, kf16=\377\216,
+	kf17=\377\217, kf18=\377\220, kf19=\377\221,
+	kf2=\377\202, kf20=\377\222, kf21=\377\223,
+	kf22=\377\224, kf23=\377\333, kf24=\377\334,
+	kf25=\377\225, kf26=\377\226, kf27=\377\227,
+	kf28=\377\230, kf29=\377\231, kf3=\377\203,
+	kf30=\377\232, kf31=\377\233, kf32=\377\234,
+	kf33=\377\235, kf34=\377\236, kf35=\377\276,
+	kf36=\377\277, kf37=\377\321, kf38=\377\322,
+	kf39=\377\323, kf4=\377\204, kf40=\377\324,
+	kf41=\377\325, kf42=\377\326, kf43=\377\327,
+	kf44=\377\330, kf45=\377\331, kf46=\377\332,
+	kf47=\377\316, kf48=\377\317, kf5=\377\205, kf6=\377\206,
+	kf7=\377\207, kf8=\377\210, kf9=\377\211, kfnd=\377\346,
+	khlp=\377\350, khome=\377\240, khts=\377\342,
+	kich1=\377\253, kil1=\377\273, kind=\377\261,
+	kmov=\377\351, kmrk=\377\355, kmsg=\377\345,
+	knp=\377\252, knxt=\377\312, kopn=\377\357,
+	kopt=\377\353, kpp=\377\242, kprt=\377\255,
+	kprv=\377\302, krdo=\377\336, kref=\377\354,
+	kres=\377\360, krfr=\377\347, kri=\377\271,
+	krmir=\377\313, krpl=\377\362, krst=\377\352,
+	ksav=\377\361, kslt=\377\247, kspd=\377\335,
+	ktbc=\377\344, kund=\377\365, mvpa=\E!%p1%02d, op=\ER,
+	rep=\Eg%p2%{32}%+%c%p1%c, rev=\E(, ri=\EI, rmcup=\Eh\ER,
+	rmso=\E), rmul=\E], rs1=\ER, setb=\E@%p1%Pb%gb%gf%d%d,
+	setf=\E@%p1%Pf%gb%gf%d%d, sgr0=\E}\E]\E>\E), smcup=\Ei,
+	smso=\E(, smul=\E[,
+#
+#
+qnxt|qnxt4|QNX4 terminal,
+	crxm, use=qnx4,
+#
+qnxm|QNX4 with mouse events,
+	maddr#1,
+	chr=\E/, cvr=\E", is1=\E/0t, mcub=\E/>1h, mcub1=\E/>7h,
+	mcud=\E/>1h, mcud1=\E/>1l\E/>9h, mcuf=\E/>1h\E/>9l,
+	mcuf1=\E/>7l, mcuu=\E/>6h, mcuu1=\E/>6l, rmicm=\E/>2l,
+	smicm=\E/>2h, use=qnx4,
+#
+qnxw|QNX4 windows,
+	xvpa, use=qnxm,
+#
+#	Monochrome QNX4 terminal or console. Setting this terminal type will
+#	allow an application running on a color console to behave as if it
+#	were a monochrome terminal. Output will be through stdout instead of
+#	console writes because the term routines will recognize that the
+#	terminal name starts with 'qnxt'.
+#
+qnxtmono|Monochrome QNX4 terminal or console,
+	colors@, pairs@,
+	scp@, use=qnx4,
+
+# From: Federico Bianchi <bianchi@pc-arte2.arte.unipi.it>, 1 Jul 1998
+# (esr: commented out <scp> and <rmcup> to avoid warnings.)
+# (TD: derive from original qnx4 entry)
+qnxt2|QNX 2.15 serial terminal,
+	am,
+	civis@, cnorm@, cvvis@, dch1@, ich1@, kRES@, kRPL@, kUND@, kspd@,
+	rep@, rmcup@, rmso=\E>, setb@, setf@, smcup@, smso=\E<, use=qnx4,
+
+# QNX ANSI terminal definition
+qansi-g|QNX ANSI,
+	am, eslok, hs, xon,
+	colors#8, cols#80, lines#25, ncv#19, pairs#64, wsl#80,
+	acsc=Oa``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, clear=\E[2J\E[H, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+	cup=\E[%i%p1%d;%p2%dH$<5>, cvvis=\E[?12;25h,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM,
+	dl1=\E[1M, dsl=\E[r, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+	el1=\E[1K\E[X, flash=\E[?5h$<200>\E[?5l, fsl=\E[?6h\E8,
+	home=\E[H, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ich1=\E[1@,
+	il=\E[%p1%dL, il1=\E[1L, ind=\E[S, invis=\E[9m,
+	is2=\E>\E[?1l\E[?7h\E[0;10;39;49m, is3=\E(B\E)0,
+	kBEG=\ENn, kCAN=\E[s, kCMD=\E[t, kCPY=\ENs, kCRT=\ENt,
+	kDL=\ENv, kEXT=\ENw, kFND=\ENx, kHLP=\ENy, kHOM=\E[h,
+	kLFT=\E[d, kNXT=\E[u, kOPT=\ENz, kPRV=\E[v, kRIT=\E[c,
+	kcan=\E[S, kcbt=\E[Z, kclo=\ENc, kclr=\ENa, kcmd=\E[G,
+	kcpy=\E[g, kctab=\E[z, kdch1=\E[P, kdl1=\E[p, kend=\E[Y,
+	kext=\E[y, kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EOA,
+	kf13=\EOp, kf14=\EOq, kf15=\EOr, kf16=\EOs, kf17=\EOt,
+	kf18=\EOu, kf19=\EOv, kf2=\EOQ, kf20=\EOw, kf21=\EOx,
+	kf22=\EOy, kf23=\EOz, kf24=\EOa, kf25=\E[1~, kf26=\E[2~,
+	kf27=\E[3~, kf28=\E[4~, kf29=\E[5~, kf3=\EOR, kf30=\E[6~,
+	kf31=\E[7~, kf32=\E[8~, kf33=\E[9~, kf34=\E[10~,
+	kf35=\E[11~, kf36=\E[12~, kf37=\E[17~, kf38=\E[18~,
+	kf39=\E[19~, kf4=\EOS, kf40=\E[20~, kf41=\E[21~,
+	kf42=\E[22~, kf43=\E[23~, kf44=\E[24~, kf45=\E[25~,
+	kf46=\E[26~, kf47=\E[27~, kf48=\E[28~, kf5=\EOT, kf6=\EOU,
+	kf7=\EOV, kf8=\EOW, kf9=\EOX, kfnd=\ENf, khlp=\ENh,
+	khts=\ENb, kich1=\E[@, kil1=\E[`, kind=\E[a, kmov=\ENi,
+	kmrk=\ENm, kmsg=\ENe, knp=\E[U, kopn=\ENo, kopt=\ENk,
+	kpp=\E[V, kref=\ENl, kres=\ENp, krfr=\ENg, kri=\E[b,
+	krpl=\ENr, krst=\ENj, ksav=\ENq, kslt=\E[T, ktbc=\ENd,
+	kund=\ENu, ll=\E[99H, nel=\EE, op=\E[39;49m, ri=\E[T,
+	rmacs=^O, rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m,
+	rs1=\017\E[?7h\E[0;39;49m$<2>\E>\E[?1l,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
+	    %|%t;7%;%?%p7%t;9%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h,
+	tsl=\E7\E1;24r\E[?6l\E[25;%i%p1%dH, use=ansi+arrows,
+	use=ansi+local, use=ansi+rep, use=ansi+inittabs,
+	use=ansi+sgrbold, use=att610+cvis0, use=decid+cpr,
+	use=ecma+index,
+#
+qansi|QNX ANSI with console writes,
+	daisy, xhpa, use=qansi-g,
+#
+qansi-t|QNX ANSI without console writes,
+	crxm, use=qansi,
+#
+qansi-m|QNX ANSI with mouse,
+	maddr#1,
+	chr=\E[, cvr=\E], is1=\E[0t, mcub=\E[>1h, mcub1=\E[>7h,
+	mcud=\E[>1h, mcud1=\E[>1l\E[>9h, mcuf=\E[>1h\E[>9l,
+	mcuf1=\E[>7l, mcuu=\E[>6h, mcuu1=\E[>6l, rmicm=\E[>2l,
+	smicm=\E[>2h, use=qansi,
+#
+qansi-w|QNX ANSI for windows,
+	xvpa, use=qansi-m,
+
+#### SCO consoles
+
+# SCO console and SOS-Syscons console for 386bsd
+# (scoansi: had unknown capabilities
+#	:Gc=N:Gd=K:Gh=M:Gl=L:Gu=J:Gv=\072:\
+#	:GC=E:GD=B:GH=D:GL=\64:GU=A:GV=\63:GR=C:
+#	:G1=?:G2=Z:G3=@:G4=Y:G5=;:G6=I:G7=H:G8=<:\
+#	:CW=\E[M:NU=\E[N:RF=\E[O:RC=\E[P:\
+#	:WL=\E[S:WR=\E[T:CL=\E[U:CR=\E[V:\
+# I renamed GS/GE/HM/EN/PU/PD/RT and added klone+sgr-dumb, based
+# on the <smacs>=\E[12m  -- esr)
+#
+# klone+sgr-dumb is an error since the acsc does not match -TD
+#
+# In this description based on SCO's keyboard(HW) manpage list of default
+# function key values:
+#	F13-F24 are shifted F1-F12
+#	F25-F36 are control F1-F12
+#	F37-F48 are shift+control F1-F12
+#
+# hpa/vpa work in the console, but not in scoterm:
+#	hpa=\E[%p1%dG,
+#	vpa=\E[%p1%dd,
+#
+# SCO's terminfo uses
+#	kLFT=\E[d,
+#	kRIT=\E[c,
+# which do not work (console or scoterm).
+#
+# Console documents only 3 attributes can be set with SGR (so we don't use sgr).
+scoansi-old|SCO Extended ANSI standard crt (5.0.5),
+	OTbs, am, bce, eo, xon, NQ,
+	colors#8, cols#80, it#8, lines#25, pairs#64,
+	acsc=+/\,.-\230.\2310[5566778899::;;<<==>>FFGGHHIIJJKKLLMMNN
+	     OOPPQQRRSSTTUUVVWWXX`\204a0fxgqh2jYk?lZm@nEqDtCu4vAwBx3
+	     yszr{c}\034~\207,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z,
+	civis=\E[=14;12C, clear=\E[H\E[2J, cnorm=\E[=10;12C,
+	cub1=^H, cup=\E[%i%p1%d;%p2%dH, cvvis=\E[=0;12C,
+	dch=\E[%p1%dP, dch1=\E[P, dispc=\E[=%p1%dg, ed=\E[m\E[J,
+	el=\E[m\E[K, el1=\E[1K, home=\E[H, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, ich1=\E[@, ind=\E[S, invis=\E[8m, kbeg=\E[E,
+	kcbt=\E[Z, kdch1=^?, kend=\E[F, kf1=\E[M, kf10=\E[V,
+	kf11=\E[W, kf12=\E[X, kf13=\E[Y, kf15=\E[a, kf16=\E[b,
+	kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f,
+	kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k,
+	kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O,
+	kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t,
+	kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y,
+	kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
+	kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
+	kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, kich1=\E[L,
+	knp=\E[G, kpp=\E[I, op=\E[0;37;40m, rc=\E8, rev=\E[7m,
+	ri=\E[T, rmacs=\E[10m, rmam=\E[?7l, rmso=\E[m, rmul=\E[m,
+	sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr0=\E[0;10m, smacs=\E[12m, smam=\E[?7h, smso=\E[7m,
+	smul=\E[4m, use=ansi+arrows, use=ansi+idl,
+	use=ansi+local, use=ecma+index,
+
+scoansi-new|SCO Extended ANSI standard crt (5.0.6),
+	km,
+	civis=\E[=0c, cnorm=\E[=1c, csr=\E[%i%p1%d;%p2%dr,
+	cvvis=\E[=2c, mgc=\E[=r, oc=\E[51m, op=\E[50m,
+	rep=\E[%p1%d;%p2%db, rmm=\E[=11L,
+	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?
+	    %p7%t;8%;%?%p9%t;12%e;10%;m,
+	smgb=\E[=1;0m, smgbp=\E[=1;%i%p1%dm,
+	smglp=\E[=2;%i%p1%dm, smgr=\E[=3;0m,
+	smgrp=\E[=3;%i%p1%dm, smgt=\E[=0;0m,
+	smgtp=\E[=0;%i%p1%dm, smm=\E[=10L,
+	wind=\E[%i%p1%d;%p2%d;%i%p3%d;%p4%dr,
+	use=scoansi-old,
+# make this easy to change...
+scoansi|SCO Extended ANSI standard crt,
+	use=scoansi-old,
+
+#### SGI consoles
+
+# Sent by Stefan Stapelberg <stefan@rent-a-guru.de>, 24 Feb 1997, this is
+# from SGI's terminfo database.  SGI's entry shows F9-F12 with the codes
+# for the application keypad mode.  We have added iris-ansi-ap rather than
+# change the original to keypad mode.
+#
+# (iris-ansi: added rmam/smam based on init string -- esr)
+#
+# This entry, and those derived from it, is used in xwsh (also known as
+# winterm).  Some capabilities that do not fit into the terminfo model
+# include the shift- and control-functionkeys:
+#
+# F1-F12 generate different codes when shift or control modifiers are used.
+# For example:
+#	F1		\E[001q
+#	shift F1	\E[013q
+#	control-F1	\E[025q
+#
+# In application keypad mode, F9-F12 generate codes like vt100 PF1-PF4, i.e.,
+# \EOP to \EOS.  The shifted and control modifiers still do the same thing.
+#
+# The cursor keys also have different codes:
+#	control-up	\E[162q
+#	control-down	\E[165q
+#	control-left	\E[159q
+#	control-right	\E[168q
+#
+#	shift-up	\E[161q
+#	shift-down	\E[164q
+#	shift-left	\E[158q
+#	shift-right	\E[167q
+#
+#	control-tab	\[072q
+#
+iris-ansi|iris-ansi-net|IRIS emulating 40 line ANSI terminal (almost VT100),
+	am,
+	cols#80, it#8, lines#40,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J,
+	cnorm=\E[9/y\E[12/y\E[=6l, cr=\r, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH,
+	cvvis=\E[10/y\E[=1h\E[=2l\E[=6h, ed=\E[J, el=\E[K,
+	el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=\ED,
+	is2=\E[?1l\E>\E[?7h\E[100g\E[0m\E7\E[r\E8, kDC=\E[P,
+	kEND=\E[147q, kHOM=\E[143q, kLFT=\E[158q, kPRT=\E[210q,
+	kRIT=\E[167q, kSPD=\E[218q, kcbt=\E[Z, kdch1=^?,
+	kend=\E[146q, kent=\r, kf1=\E[001q, kf10=\E[010q,
+	kf11=\E[011q, kf12=\E[012q, kf2=\E[002q, kf3=\E[003q,
+	kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q,
+	kf8=\E[008q, kf9=\E[009q, kich1=\E[139q, knp=\E[154q,
+	kpp=\E[150q, kprt=\E[209q, krmir=\E[146q, kspd=\E[217q,
+	nel=\EE, pfkey=\EP101;%p1%d.y%p2%s\E\\, rc=\E8,
+	rev=\E[7m, ri=\EM, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sc=\E7,
+	sgr0=\E[m, smam=\E[?7h, smso=\E[1;7m, smul=\E[4m,
+	tbc=\E[3g, use=ansi+arrows, use=ansi+idl, use=ansi+local,
+
+iris-ansi-ap|IRIS ANSI in application-keypad mode,
+	is2=\E[?1l\E=\E[?7h, kent=\EOM, use=iris-ansi,
+
+# From the man-page, this is a quasi-vt100 emulator that runs on SGI's IRIX
+# (T.Dickey 98/1/24)
+iris-color|xwsh|IRIX ANSI with color,
+	ncv#33,
+	csr=\E[%i%p1%d;%p2%dr, dch=\E[%p1%dP, dim=\E[2m,
+	ech=\E[%p1%dX, ich=\E[%p1%d@, rmul=\E[24m, rs1=\Ec,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	use=ecma+italics, use=vt100+enq, use=klone+color,
+	use=iris-ansi-ap,
+
+#### OpenBSD consoles
+#
+# From: Alexei Malinin <Alexei.Malinin@mail.ru>; October, 2011.
+#
+# The following terminal descriptions for the  AMD/Intel PC console
+# were prepared  based on information contained in  the OpenBSD-4.9
+# termtypes.master and wscons(4) & vga(4) manuals (2010, November).
+#
+# Added bce based on testing with tack -TD
+# Added several capabilities to pccon+base, reading wsemul_vt100_subr.c -TD
+# Changed kbs to DEL and removed keys that duplicate stty settings -TD
+#
+# Notes from testing with vttest:
+#	fails wrapping test
+#	no 8-bit controls
+#	identifies as vt200 with selective erase, but does not implement DECSCA
+#	no vt52 mode
+#	also lacks these:
+#		ESC # 8	  DEC Screen Alignment Test (DECALN).
+#		CSI ? 5 h Reverse Video (DECSCNM).
+#
+pccon+keys|OpenBSD PC keyboard keys,
+	kbs=^?, kend=\E[8~, kent=\r, kf1=\E[11~, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf21=\E[35~,
+	kf22=\E[36~, kf23=\E[37~, kf24=\E[38~, kf3=\E[13~,
+	kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+	kf9=\E[20~, khome=\E[7~, krfr=^R, use=ansi+arrows,
+	use=vt220+pcedit,
+pccon+sgr+acs0|sgr and simple ASCII pseudographics for OpenBSD PC console,
+	acsc=+>\,<-\^.v0#`+a:f\\h#i#j+k+l+m+n+o~p-q-r-s_t+u+v+w+x|y#
+	     z#{*|!}#~o,
+	bold=\E[1m, rev=\E[7m, rmso=\E[27m,
+	sgr=\E[0%?%p1%p3%|%t;7%;%?%p6%t;1%;%?%p2%t;4%;m,
+	sgr0=\E[m, smso=\E[7m,
+pccon+sgr+acs|sgr and default ASCII pseudographics for OpenBSD PC console,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bold=\E[1m, enacs=\E)0, rev=\E[7m, rmacs=\E(B, rmso=\E[27m,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e
+	    \E(B%;,
+	sgr0=\E[m\E(B, smacs=\E(0, smso=\E[7m,
+# underline renders as color
+pccon+colors|ANSI colors for OpenBSD PC console,
+	bce,
+	ncv#2,
+	op=\E[49;39m, use=klone+color,
+# OpenBSD uses wscons,
+# + which does not implement DECSCNM or anything comparable, so it does not
+#   support flash.
+# + it renders underline using color.
+pccon+base|base capabilities for OpenBSD PC console,
+	am, km, mc5i, msgr, npc, nxon, xenl, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+	dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX, el1=\E[1K,
+	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ind=\ED, nel=\EE,
+	ri=\EM, rmam=\E[?7l, rmul=\E[24m, rs2=\Ec, smam=\E[?7h,
+	smul=\E[4m, tbc=\E[3g, use=ansi+cpr, use=ansi+csr,
+	use=ansi+erase, use=ansi+idl, use=ansi+local,
+
+pccon0-m|OpenBSD PC console without colors & with simple ASCII pseudographics,
+	use=pccon+sgr+acs0, use=pccon+base, use=pccon+keys,
+pccon0|OpenBSD PC console with simple ASCII pseudographics,
+	use=pccon0-m, use=pccon+colors,
+pccon-m|OpenBSD PC console without colors,
+	use=pccon+base, use=pccon+sgr+acs, use=pccon+keys,
+	use=ansi+enq, use=vt220+cvis,
+pccon|OpenBSD PC console,
+	use=pccon-m, use=pccon+colors,
+
+#### NetBSD consoles
+#
+# pcvt termcap database entries (corresponding to release 3.31)
+# Author's last edit-date: [Fri Sep 15 20:29:10 1995]
+#
+# (For the terminfo master file, I translated these into terminfo syntax.
+# Then I dropped all the pseudo-HP entries. we don't want and can't use
+# the :Xs: flag. Then I split :is: into a size-independent <is1> and a
+# size-dependent <is2>.  Finally, I added <rmam>/<smam> -- esr)
+
+# NOTE: <ich1> has been taken out of this entry. for reference, it should
+# be <ich1=\E[@>.  For discussion, see ICH/ICH1 VERSUS RMIR/SMIR below.
+# (esr: added <civis> and <cnorm> to resolve NetBSD Problem Report #4583)
+pcvtXX|pcvt VT200 emulator (DEC VT220),
+	am, km, mir, msgr, xenl,
+	it#8, vt#3,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+	     yzz~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ind=\ED,
+	is1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kbs=^?,
+	kdch1=\E[3~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~,
+	kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~,
+	khome=\E[1~, kich1=\E[2~, kll=\E[4~, knp=\E[6~, kpp=\E[5~,
+	nel=\EE, rev=\E[7m, rf=/usr/share/tabset/vt100, ri=\EM,
+	rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
+	rmso=\E[27m, rmul=\E[24m,
+	rs1=\Ec\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr0=\E[m,
+	smacs=\E(0, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+apparrows,
+	use=ansi+csr, use=ansi+erase, use=ansi+idl,
+	use=ansi+local, use=decid+cpr, use=ecma+index,
+	use=vt220+cvis,
+
+#	NetBSD/FreeBSD VT220 terminal emulator console (pc keyboard & monitor)
+#	termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and
+#	50 lines entries; 80 columns
+pcvt25|DEC VT220 emulation with 25 lines,
+	cols#80, lines#25,
+	is2=\E[1;25r\E[25;1H, use=pcvtXX,
+pcvt28|DEC VT220 emulation with 28 lines,
+	cols#80, lines#28,
+	is2=\E[1;28r\E[28;1H, use=pcvtXX,
+pcvt35|DEC VT220 emulation with 35 lines,
+	cols#80, lines#35,
+	is2=\E[1;35r\E[35;1H, use=pcvtXX,
+pcvt40|DEC VT220 emulation with 40 lines,
+	cols#80, lines#40,
+	is2=\E[1;40r\E[40;1H, use=pcvtXX,
+pcvt43|DEC VT220 emulation with 43 lines,
+	cols#80, lines#43,
+	is2=\E[1;43r\E[43;1H, use=pcvtXX,
+pcvt50|DEC VT220 emulation with 50 lines,
+	cols#80, lines#50,
+	is2=\E[1;50r\E[50;1H, use=pcvtXX,
+
+#	NetBSD/FreeBSD VT220 terminal emulator console (pc keyboard & monitor)
+#	termcap entries for pure VT220-Emulation and 25, 28, 35, 40, 43 and
+#	50 lines entries; 132 columns
+pcvt25w|DEC VT220 emulation with 25 lines and 132 cols,
+	cols#132, lines#25,
+	is2=\E[1;25r\E[25;1H, use=pcvtXX,
+pcvt28w|DEC VT220 emulation with 28 lines and 132 cols,
+	cols#132, lines#28,
+	is2=\E[1;28r\E[28;1H, use=pcvtXX,
+pcvt35w|DEC VT220 emulation with 35 lines and 132 cols,
+	cols#132, lines#35,
+	is2=\E[1;35r\E[35;1H, use=pcvtXX,
+pcvt40w|DEC VT220 emulation with 40 lines and 132 cols,
+	cols#132, lines#40,
+	is2=\E[1;40r\E[40;1H, use=pcvtXX,
+pcvt43w|DEC VT220 emulation with 43 lines and 132 cols,
+	cols#132, lines#43,
+	is2=\E[1;43r\E[43;1H, use=pcvtXX,
+pcvt50w|DEC VT220 emulation with 50 lines and 132 cols,
+	cols#132, lines#50,
+	is2=\E[1;50r\E[50;1H, use=pcvtXX,
+
+#	OpenBSD implements a color variation
+pcvt25-color|DEC VT220 emulation with 25 lines and color,
+	cols#80, lines#25,
+	is2=\E[1;25r\E[25;1H, kf1=\EOP, kf10=\E[29~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf5=\E[17~,
+	kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~, use=pcvtXX,
+	use=ecma+color,
+
+# Terminfo entries to enable the use of the ncurses library in colour on a
+# NetBSD-arm32 console (only tested on a RiscPC).
+# Created by Dave Millen <dmill@globalnet.co.uk> 22.07.98
+# modified codes for setf/setb to setaf/setab, then to klone+color, corrected
+# typo in invis - TD
+arm100|arm100-am|Arm(RiscPC) ncurses compatible (for 640x480),
+	bce, xenl, xon,
+	lines#30,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	blink=\E[5m$<2>, bold=\E[1m$<2>, cub1=^H, cud1=\n,
+	cuf1=\E[C$<2>, cuu1=\E[A$<2>, invis=\E[8m$<2>, ka1=\E[q,
+	ka3=\E[s, kb2=\E[r, kc1=\E[p, kc3=\E[n, kent=\E[M, kf0=\E[y,
+	kf1=\E[P, kf10=\E[x, kf2=\E[Q, kf3=\E[R, kf4=\E[S, kf5=\E[t,
+	kf6=\E[u, kf7=\E[v, kf8=\E[l, kf9=\E[w, rev=\E[7m$<2>,
+	rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m$<2>,
+	rmul=\E[m$<2>,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<2>,
+	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[7m$<2>, smul=\E[4m$<2>, use=ansi+csr,
+	use=ansi+local, use=ecma+sgr, use=vt100+4bsd,
+	use=klone+color,
+
+arm100-w|arm100-wam|Arm(RiscPC) ncurses compatible (for 1024x768),
+	cols#132, lines#50, use=arm100,
+
+# NetBSD/x68k console VT200 emulator. This port runs on a 68K machine
+# manufactured by Sharp for the Japanese market.
+# From Minoura Makoto <minoura@netlaputa.or.jp>, 12 May 1996
+x68k|x68k-ite|NetBSD/x68k ITE,
+	cols#96, lines#32,
+	kbs=^?, kclr=\E[9~, khlp=\E[28~, use=vt220-base,
+
+# <tv@pobox.com>:
+# Entry for the DNARD OpenFirmware console, close to ANSI but not quite.
+#
+# (still unfinished, but good enough so far.)
+ofcons|DNARD OpenFirmware console,
+	bw,
+	cols#80, lines#30,
+	bel=^G, blink=\2335m, bold=\2331m, clear=^L, cr=\r,
+	cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B,
+	cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH,
+	cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P,
+	dim=\2332m, dl=\233%p1%dM, dl1=\233M, ed=\233J, el=\233K,
+	flash=^G, ht=^I, ich=\233%p1%d@, ich1=\233@, il=\233%p1%dL,
+	il1=\233L, ind=\n, invis=\2338m, kbs=^H, kcub1=\233D,
+	kcud1=\233B, kcuf1=\233C, kcuu1=\233A, kdch1=\233P,
+	kf1=\2330P, kf10=\2330M, kf2=\2330Q, kf3=\2330W,
+	kf4=\2330x, kf5=\2330t, kf6=\2330u, kf7=\2330q, kf8=\2330r,
+	kf9=\2330p, knp=\233/, kpp=\233?, nel=\r\n, rev=\2337m,
+	rmso=\2330m, rmul=\2330m,
+	sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t2%;%?%p7%t8
+	    %;%?%p1%p3%|%t;7%;m,
+	sgr0=\2330m, smso=\2337m, smul=\2334m,
+
+# NetBSD "wscons" emulator in VT220 mode.
+# This entry is based on the NetBSD termcap entry.  The emulator renders
+# underlined text in red.  Colors are otherwise usable.  NetBSD developers
+# prefer to not specify the corresponding ncv value.
+#
+# Testing the emulator and reading the source code (NetBSD 2.0), it appears
+# that "vt220" is inaccurate.  There are a few VT220-features, but most of the
+# VT220 screens in vttest do not work with this emulator.  For instance, it
+# identifies itself (primary DA response) as a VT220 with selective erase.  But
+# the selective erase feature does not work.  The secondary response is copied
+# from Kermit's emulation of VT220, does not correspond to actual VT220.  At
+# the level of detail in a termcap, it is a passable emulator, since ECH does
+# work.  Don't use it on a VMS system -TD
+wsvt25|NetBSD wscons in 25 line DEC VT220 mode,
+	bce,
+	colors#8, lines#25, pairs#64,
+	is2=\E[r\E[25;1H, kdch1=\E[3~, kend=\E[8~, kf1=\E[11~,
+	kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+	khome=\E[7~, op=\E[m, rs1=\Ec, setab=\E[4%p1%dm,
+	setaf=\E[3%p1%dm, use=vt220,
+
+wsvt25m|NetBSD wscons in 25 line DEC VT220 mode with Meta,
+	km, use=wsvt25,
+
+# NetBSD 6.x still uses wscons, with minor changes (2014/02/22) -TD
+#
+# TERM is by default vt100 for the console, wsvt25 for other ttys.
+# Initial testing set TERM=xterm, based on comments by developers, found too
+# many differences to continue in that path.  However, test-results may be
+# useful to people curious about compatibility with xterm.
+#
+# Testing with tack:
+# -----------------
+# Failed: cbt, bel, flash, cvvis, smul (color), blink, invis
+# There is color-bleeding in the color-pairs screen.
+# Attributes do not work with color
+# Failed: vpa/hpa
+# Failed: kf1-kf4, kf13-kf48, khome, kend
+#	(effectively xterm-r6 for function-keys)
+# None of the function or cursor key-modifiers are encoded.
+# Console hangs in the smm/rmm test if TERM=xterm, does not show test
+#
+# Testing with vttest:
+# -------------------
+# Identifies as VT220 with selective erase
+#	(however, selective erase refers to DECSCA, SPA)
+# Does not implement VT52
+# Uses spaces to simulate double-size characters
+# Does not support 8-bit controls
+# Does not support VT220 reports
+# Does not support send/receive mode
+# Supports ECH (like rxvt)
+# Does not support DECSCA
+# Does not support any of the ISO-6429 cursor-movement
+# Does not support any of the ISO-6429 miscellaneous tests
+#	(SL/SR also leave unexpected char on screen too)
+# Background does not change in menu 11.6.9 (SGR 22-27)
+# None of the xterm special features tests work
+netbsd6|NetBSD wscons in 25 line DEC VT100 mode,
+	kbs=^?, use=wsvt25,
+
+# `rasterconsole' provided by 4.4BSD, NetBSD and OpenBSD on SPARC, and
+# DECstation/pmax.
+rcons|BSD rasterconsole,
+	use=sun-il,
+# Color version of above. Color currently only provided by NetBSD.
+rcons-color|BSD rasterconsole with ANSI color,
+	bce,
+	colors#8, pairs#64,
+	op=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=rcons,
+
+# mgterm -- MGL/MGL2, MobileGear Graphic Library
+# for PocketBSD,PocketLinux,NetBSD/{hpcmips,mac68k}
+# -- the setf/setb are probably incorrect, more likely setaf/setab -TD
+# -- compare with cons25w
+mgterm|MGL/MGL2 MobileGear Graphic Library,
+	OTbs, OTpt, am, bce, bw, eo, km, msgr, npc,
+	colors#8, cols#80, it#8, lines#18, pairs#64,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, cr=\r, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[30;1m, ech=\E[%p1%dX, el1=\E[1K, home=\E[H,
+	hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@, ich1=\E[@, ind=\E[S,
+	kb2=\E[E, kcbt=\E[Z, kdch1=^?, kend=\E[F, kf1=\E[M,
+	kf10=\E[V, kf11=\E[W, kf12=\E[X, kf2=\E[N, kf3=\E[O,
+	kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U,
+	kich1=\E[L, knp=\E[G, kpp=\E[I, nel=\E[E, op=\E[x, rev=\E[7m,
+	ri=\E[T, rmso=\E[m, rs2=\E[x\E[m\Ec, setb=\E[4%p1%dm,
+	setf=\E[3%p1%dm, sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd,
+	use=ansi+arrows, use=ansi+csr, use=ansi+erase,
+	use=ansi+idl, use=ansi+local, use=ecma+index,
+
+#### FreeBSD console entries
+
+# Originally from termcap:
+#
+# From: Andrey Chernov <ache@astral.msk.su> 29 Mar 1996
+# Andrey Chernov maintains the FreeBSD termcap distributions.
+#
+# Note: Users of FreeBSD 2.1.0 and older versions must either upgrade
+# or comment out the :cb: capability in the console entry.
+#
+# Alexander Lukyanov reports:
+# I have seen FreeBSD-2.1.5R... The old el1 bug changed, but it is still there.
+# Now el1 clears not only to the line beginning, but also a large chunk
+# of previous line. But there is another bug - ech does not work at all.
+
+# syscons, sc - the console driver
+#
+# for syscons
+# common entry without semigraphics
+# Bug: The <op> capability resets attributes.
+# Bug? The ech and el1 attributes appear to move the cursor in some cases; for
+# instance el1 does if the cursor is moved to the right margin first.  Removed
+# by T.Dickey 97/5/3 (ech=\E[%p1%dX, el1=\E[1K)
+#
+# Setting colors turns off reverse; we cannot guarantee order, so use ncv.
+# Note that this disables standout with color.
+#
+# The emulator sends different strings based on shift- and control-keys,
+# like scoansi:
+#	F13-F24 are shifted F1-F12
+#	F25-F36 are control F1-F12
+#	F37-F48 are shift+control F1-F12
+cons25w|ansiw|ansi80x25-raw|FreeBSD console (25-line raw mode),
+	am, bce, bw, eo, msgr, npc,
+	cols#80, it#8, lines#25, ncv#21,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, cnorm=\E[=0C,
+	cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH, cvvis=\E[=1C,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[30;1m, ech=\E[%p1%dX,
+	home=\E[H, hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@,
+	ich1=\E[@, ind=\E[S, kb2=\E[E, kcbt=\E[Z, kdch1=^?,
+	kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W, kf12=\E[X,
+	kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b, kf17=\E[c,
+	kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f, kf21=\E[g,
+	kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k, kf26=\E[l,
+	kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O, kf30=\E[p,
+	kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t, kf35=\E[u,
+	kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y, kf4=\E[P,
+	kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\, kf44=\E[],
+	kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{, kf5=\E[Q,
+	kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, kich1=\E[L, knp=\E[G,
+	kpp=\E[I, nel=\E[E, op=\E[x, rc=\E8, rev=\E[7m, ri=\E[T,
+	rmso=\E[m, rs2=\E[x\E[m\Ec, sc=\E7,
+	sgr=\E[0%?%p1%t;2;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;30;1%;%?
+	    %p6%t;1%;m,
+	sgr0=\E[m, smso=\E[7m, vpa=\E[%i%p1%dd, use=ansi+arrows,
+	use=ansi+erase, use=ansi+idl, use=ansi+local,
+	use=ecma+index, use=klone+color,
+
+cons25|ansis|ansi80x25|FreeBSD console (25-line ANSI mode),
+	acsc=-\030.^Y0\333`\004a\260f\370g\361h\261i\025j\331k\277l
+	     \332m\300n\305q\304t\303u\264v\301w\302x\263y\363z\362~
+	     \371,
+	use=cons25w,
+cons25-debian|FreeBSD console with debian backspace (25-line ANSI mode),
+	kbs=^?, kdch1=\E[3~, use=cons25,
+cons25-m|ansis-mono|ansi80x25-mono|FreeBSD console (25-line mono ANSI mode),
+	colors@, pairs@,
+	bold@, dim@, op@, rmul=\E[m, setab@, setaf@,
+	sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m,
+	smul=\E[4m, use=cons25,
+cons30|ansi80x30|FreeBSD console (30-line ANSI mode),
+	lines#30, use=cons25,
+cons30-m|ansi80x30-mono|FreeBSD console (30-line mono ANSI mode),
+	lines#30, use=cons25-m,
+cons43|ansi80x43|FreeBSD console (43-line ANSI mode),
+	lines#43, use=cons25,
+cons43-m|ansi80x43-mono|FreeBSD console (43-line mono ANSI mode),
+	lines#43, use=cons25-m,
+cons50|ansil|ansi80x50|FreeBSD console (50-line ANSI mode),
+	lines#50, use=cons25,
+cons50-m|ansil-mono|ansi80x50-mono|FreeBSD console (50-line mono ANSI mode),
+	lines#50, use=cons25-m,
+cons60|ansi80x60|FreeBSD console (60-line ANSI mode),
+	lines#60, use=cons25,
+cons60-m|ansi80x60-mono|FreeBSD console (60-line mono ANSI mode),
+	lines#60, use=cons25-m,
+cons25r|pc3r|ibmpc3r|cons25-koi8-r|FreeBSD console w/koi8-r cyrillic,
+	acsc=-\030.^Y0\215`\004a\220f\234h\221i\025j\205k\203l\202m
+	     \204n\212q\0t\206u\207v\211w\210x\201y\230z\231~
+	     \225,
+	use=cons25w,
+cons25r-m|pc3r-m|ibmpc3r-mono|cons25-koi8r-m|FreeBSD console w/koi8-r cyrillic (mono),
+	colors@, pairs@,
+	op@, rmul=\E[m, setab@, setaf@,
+	sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+	    %t;30;1%;%?%p6%t;1%;m,
+	smul=\E[4m, use=cons25r,
+cons50r|cons50-koi8r|FreeBSD console w/koi8-r cyrillic (50 lines),
+	lines#50, use=cons25r,
+cons50r-m|cons50-koi8r-m|FreeBSD console w/koi8-r cyrillic (50-line mono),
+	lines#50, use=cons25r-m,
+cons60r|cons60-koi8r|FreeBSD console w/koi8-r cyrillic (60 lines),
+	lines#60, use=cons25r,
+cons60r-m|cons60-koi8r-m|FreeBSD console w/koi8-r cyrillic (60-line mono),
+	lines#60, use=cons25r-m,
+# ISO 8859-1 FreeBSD console
+cons25l1|cons25-iso8859|FreeBSD console w/iso 8859-1 chars,
+	acsc=+\253\,\273-\030.\031`\201a\202f\207g\210i\247j\213k
+	     \214l\215m\216n\217o\220p\221q\222r\223s\224t\225u
+	     \226v\227w\230x\231y\232z\233~\237,
+	use=cons25w,
+cons25l1-m|cons25-iso-m|FreeBSD console w/iso 8859-1 chars (mono),
+	colors@, pairs@,
+	bold@, dim@, op@, rmul=\E[m, setab@, setaf@,
+	sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;m,
+	smul=\E[4m, use=cons25l1,
+cons50l1|cons50-iso8859|FreeBSD console w/iso 8859-1 chars (50 lines),
+	lines#50, use=cons25l1,
+cons50l1-m|cons50-iso-m|FreeBSD console w/iso 8859-1 chars (50-line mono),
+	lines#50, use=cons25l1-m,
+cons60l1|cons60-iso|FreeBSD console w/iso 8859-1 chars (60 lines),
+	lines#60, use=cons25l1,
+cons60l1-m|cons60-iso-m|FreeBSD console w/iso 8859-1 chars (60-line mono),
+	lines#60, use=cons25l1-m,
+
+# vt - virtual terminal console driver
+#
+# Starting with FreeBSD 8, an alternative configuration for syscons is provided,
+# which is intended to be xterm-compatible.  See for example
+#	http://svnweb.freebsd.org/base/stable/8/sys/dev/syscons/
+# in particular scterm-teken.c
+#
+# Some of the documentation refers to this as "vt"; its proper name is "teken".
+#
+# The sc(4) manual page states that it is possible to switch between the two
+# by editing /boot/loader.conf, adding
+#	kern.vty=sc
+# Doing that does not change the default TERM variable.  That is hard-coded in
+# /etc/ttys, rather than deriving it from the kernel state.
+#
+# For FreeBSD 12 and 13:
+# ---------------------
+# In newer releases, it is no longer possible to boot into a configuration that
+# works with syscons.  According to efi(4),
+# "The vt(4) system console is automatically selected when booting via UEFI."
+# See FreeBSD #264226.
+#
+# FreeBSD 13 supports 64-bit machines which boot with UEFI:
+#	https://www.freebsd.org/platforms/
+# The i386 platform does not use UEFI (and modifying the loader configuration
+# does load sysconf); however because no updates (fixes) are available, most
+# developers will regard that as unsupported.
+#
+# With FreeBSD 13, even when syscons is loaded (e.g., with the i386 platform),
+# its function-keys are not configured.  Using
+#	vidcontrol -T cons25
+# repairs this.
+#
+# When teken is loaded, vidcontrol can switch at runtime between the
+# teken/cons25 function keys:
+#	vidcontrol -T cons25
+#	vidcontrol -T xterm
+# However due to a limitation in the implementation, only the first 12 function
+# keys are available.  The real syscons supports 48 function keys (using the
+# shift and control modifiers), while xterm supports more than twice as many.
+#
+# vidcontrol does not change the emulation. As a result, the quarter (17/73) of
+# non-function key capabilities which differ between syscons and teken are
+# unsupported in the UEFI-based configurations.
+#
+# tack:
+#	VT100 line-drawing does not work (UTF-8 equivalents do).
+#	Shift/control modifiers have no effect on special keys.
+#	Meta does not work.
+# vttest:
+#	supports REP (repeat).
+#	still does not support left/right margins
+#	SU/SD work, but not SL/SR
+#	alternate screen does not work
+#	ENQ/DA1 is unimplemented (the terminal does not identify itself)
+#	CPR, XCPR are unimplemented (i.e., vttest and resize are broken)
+#	implements X11 (original) xterm-mouse.
+# ncurses:
+#	UTF-8 line-drawing works, including some double/thick lines
+#
+# For FreeBSD 9 and 10:
+# --------------------
+# The /etc/ttys entries for console and other ttys are all configured to set
+# TERM=xterm.
+#
+# Testing with tack:
+# There is no VT100 line-drawing (uses +'s and -'s)
+# Shifted f1-f12 give cons25 codes, rather than xterm function-keys
+#
+# Testing with vttest:
+# Menu 2 diamonds don't work, blink ditto, light background ditto
+# The terminal identifies itself as VT100 with AVO
+# There is no VT52 support
+# There is no doublesize character support
+# The terminal supports ECH (like rxvt)
+# The terminal does not support send/receive mode
+# The terminal supports all of the ISO-6429 cursor-movement
+# The terminal supports some of the ISO-6429 miscellaneous tests
+#	(SL/SR also leave unexpected char on screen too)
+#
+# Considering cons25 as a base, the line-drawing mostly works, but is missing
+# the cells which happen to have ASCII control-character values:
+#	-    ^X    arrow pointing up
+#	.    ^Y    arrow pointing down
+#	i    ^Y    lantern
+#	`    ^D    diamond
+#
+# Those are removed from this entry's acsc string to avoid confusion.
+# The resulting description provides correct line-drawing and function-keys -TD
+teken-2018|teken as of 2018,
+	bw@, mir, xenl, NQ,
+	acsc=0\333a\260f\370g\361h\261j\331k\277l\332m\300n\305q
+	     \304t\303u\264v\301w\302x\263y\363z\362~\371,
+	cvvis@, hpa=\E[%i%p1%dG, hts=\EH, kdch1=\E[3~, kent=\r,
+	kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	rmir=\E[4l, smir=\E[4h, tbc=\E[3g, use=vt220+cvis,
+	use=cons25,
+
+teken-2022|teken as of 2022,
+	am, bce, eo, mir, msgr, npc, NQ,
+	cols#80, it#8, lines#25, ncv#21, U8#1,
+	bold=\E[1m, cr=\r, cub1=^H, dim=\E[30;1m, ech=\E[%p1%dX,
+	ind=\E[S, kent=\r, nel=\E[E, op=\E[x, rev=\E[7m, ri=\E[T,
+	rmso=\E[27m, rs2=\E[x\E[m\Ec,
+	sgr=\E[0%?%p1%t;2;7%;%?%p3%t;7%;%?%p5%t;30;1%;%?%p6%t;1%;m,
+	sgr0=\E[m, use=vt220+cvis, use=ecma+index,
+	use=ansi+arrows, use=ansi+csr, use=ansi+cup,
+	use=ansi+erase, use=ansi+idc, use=ansi+idl,
+	use=ansi+local, use=ansi+rca2, use=ansi+sgrso,
+	use=ansi+tabs, use=klone+color,
+
+teken-vt+fkeys|teken's xterm special keys,
+	kend=\E[F, kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+	use=vt220+pcedit,
+
+teken-sc+fkeys|teken's syscons special keys,
+	kdch1=^?, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
+	kf12=\E[X, kf2=\E[N, kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R,
+	kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H, kich1=\E[L,
+	knp=\E[G, kpp=\E[I,
+
+teken-sc|teken imitating syscons,
+	use=teken-sc+fkeys, use=teken-2022,
+
+teken|teken-vt|teken imitating xterm,
+	xenl, use=teken-vt+fkeys, use=xterm+x11mouse,
+	use=teken-2022,
+
+teken-16color|teken using 16 colors,
+	use=ibm+16color, use=teken,
+
+#### 386BSD and BSD/OS Consoles
+#
+
+# This was the original 386BSD console entry (I think).
+# Some places it's named oldpc3|oldibmpc3.
+# From: Alex R.N. Wetmore <aw2t@andrew.cmu.edu>
+origpc3|origibmpc3|IBM PC 386BSD console,
+	OTbs, am, bw, eo, xon,
+	cols#80, lines#25,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
+	     \263,
+	bold=\E[7m, clear=\Ec, cub1=^H, cup=\E[%i%p1%2d;%p2%2dH,
+	ed=\E[J, el=\E[K, home=\E[H, ind=\E[S, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[Y, ri=\E[T,
+	rmso=\E[1;0x\E[2;7x, rmul=\E[1;0x\E[2;7x,
+	sgr0=\E[m\E[1;0x\E[2;7x, smso=\E[1;7x\E[2;0x,
+	smul=\E[1;7x\E[2;0x, use=ansi+local1,
+
+# description of BSD/386 console emulator in version 1.0 (supplied by BSDI)
+oldpc3|oldibmpc3|old IBM PC BSD/386 console,
+	OTbs, km,
+	lines#25,
+	bel=^G, bold=\E[=15F, cr=\r, cud1=\n, dim=\E[=8F, dl1=\E[M,
+	ht=^I, il1=\E[L, ind=\n, kich1=\E[L, kll=\E[F, knp=\E[G,
+	kpp=\E[I, nel=\r\n, sgr0=\E[=R, use=ansi+arrows,
+
+# Description of BSD/OS console emulator in version 1.1, 2.0, 2.1
+# Note, the emulator supports many of the additional console features
+# listed in the iBCS2 (e.g. character-set selection) though not all
+# are described here.  This entry really ought to be upgraded.
+# Also note, the console will also work with fewer lines after doing
+# "stty rows NN", e.g. to use 24 lines.
+# (Color support from Kevin Rosenberg <kevin@cyberport.com>, 2 May 1996)
+# Bug: The <op> capability resets attributes.
+bsdos-pc|IBM PC BSD/OS console,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;1%;%?%p3%t;7%;%?%p4%t;5%;%?%p6
+	    %t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+	use=bsdos-pc-nobold,
+
+bsdos-pc-nobold|BSD/OS PC console w/o bold,
+	use=klone+color, use=bsdos-pc-m,
+
+bsdos-pc-m|bsdos-pc-mono|BSD/OS PC console mono,
+	OTbs, am, eo, km, xon,
+	cols#80, it#8, lines#25,
+	bel=^G, clear=\Ec, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	ind=\n, kich1=\E[L, kll=\E[F, knp=\E[G, kpp=\E[I, nel=\r\n,
+	rc=\E8, sc=\E7,
+	sgr=\E[0;10%?%p1%t;7%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1%;%?%p7
+	    %t;8%;%?%p9%t;11%;m%?%p5%t\E[=8F%;,
+	use=ansi+arrows, use=ansi+idl, use=ansi+local,
+	use=klone+sgr8,
+
+# Old names for BSD/OS PC console used in releases before 4.1.
+pc3|BSD/OS on the PC console,
+	use=bsdos-pc-nobold,
+ibmpc3|pc3-bold|BSD/OS on the PC console with bold instead of underline,
+	use=bsdos-pc,
+
+# BSD/OS on the SPARC
+bsdos-sparc|Sun SPARC BSD/OS console,
+	use=sun,
+
+# BSD/OS on the PowerPC
+bsdos-ppc|PowerPC BSD/OS console,
+	use=bsdos-pc,
+
+
+#### DEC VT52
+# (<acsc>/<rmacs>/<smacs> capabilities aren't in DEC's official entry -- esr)
+#
+# Actually (TD pointed this out at the time the acsc string was added):
+# VT52 shouldn't define full acsc since most of the cells don't match.
+# see VT100 manual page A-31.  This is the list that does match:
+#	f degree
+#	g plus/minus
+#	h right-arrow
+#	k down-arrow
+#	m scan-1
+#	o scan-3
+#	q scan-5
+#	s scan-7
+# The line-drawing happens to work in several terminal emulators, but should
+# not be used as a guide to the capabilities of the VT52.  Note in particular
+# that VT52 does not support line-drawing characters (the scan-X values refer
+# to a crude plotting feature) -TD
+vt52|DEC VT52,
+	lines#24,
+	acsc=+h.k0affggolpnqprrss, rmacs=\EG, rmkx=\E>,
+	smacs=\EF, smkx=\E=, u8=\E/[KL], use=vt50h, use=vt52-basic,
+
+# This is more likely the "vt52" that you would see in emulation, i.e., no
+# keypad, no graphics.
+vt52-basic|VT52 for emulators,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\EH\EJ, cr=\r, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%' '%+%c%p2%' '%+%c, cuu1=\EA, ed=\EJ, el=\EK,
+	home=\EH, ht=^I, ind=\n, kbs=^H, nel=\r\n, ri=\EI,
+	use=vt52+arrows,
+
+vt52+arrows|cursor keys for VT52,
+	kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA,
+
+#### DEC VT100 and compatibles
+#
+# DEC terminals from the VT100 forward are collected here. Older DEC terminals
+# and micro consoles can be found in the `obsolete' section.  More details on
+# the relationship between the VT100 and ANSI X3.64/ISO 6429/ECMA-48 may be
+# found near the end of this file.
+#
+# Except where noted, these entries are DEC's official terminfos.
+# Contact Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support
+# Engineering for more information.  Updated terminfos and termcaps
+# are kept available at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
+#
+# In October 1995 DEC sold its terminals business, including the VT and Dorio
+# line and trademark, to SunRiver Data Systems.  SunRiver has since changed
+# its name to Boundless Technologies; see http://www.boundless.com.
+#
+
+# NOTE:  Any VT100 emulation, whether in hardware or software, almost
+# certainly includes what DEC called the `Level 1 editing extension' codes;
+# only the very oldest VT100s lacked these and there probably aren't any of
+# those left alive.  To capture these, use one of the VT102 entries.
+#
+# Note that the <xenl> glitch in vt100 is not quite the same as on the Concept,
+# since the cursor is left in a different position while in the
+# weird state (concept at beginning of next line, vt100 at end
+# of this line) so all versions of vi before 3.7 don't handle
+# <xenl> right on vt100. The correct way to handle <xenl> is when
+# you output the char in column 80, immediately output CR LF
+# and then assume you are in column 1 of the next line. If <xenl>
+# is on, am should be on too.
+#
+# I assume you have smooth scroll off or are at a slow enough baud
+# rate that it doesn't matter (1200? or less). Also this assumes
+# that you set auto-nl to "on", if you set it off use vt100-nam
+# below.
+#
+# The padding requirements listed here are guesses. It is strongly
+# recommended that xon/xoff be enabled, as this is assumed here.
+#
+# The vt100 uses <rs2> and <rf> rather than <is2>/<tbc>/<hts> because the
+# tab settings are in non-volatile memory and don't need to be
+# reset upon login. Also setting the number of columns glitches
+# the screen annoyingly. You can type "reset" to get them set.
+#
+# The VT100 series terminals have cursor ("arrows") keys which can operate
+# in two different modes: Cursor Mode and Application Mode.  Cursor Mode
+# is the reset state, and is assumed to be the normal state.  Application
+# Mode is the "set" state.  In Cursor Mode, the cursor keys transmit
+# "Esc [ {code}" sequences, conforming to ANSI standards.  In Application
+# Mode, the cursor keys transmit "Esc O <code>" sequences.  Application Mode
+# was provided primarily as an aid to the porting of VT52 applications.  It is
+# assumed that the cursor keys are normally in Cursor Mode, and expected that
+# applications such as vi will always transmit the <smkx> string.  Therefore,
+# the definitions for the cursor keys are made to match what the terminal
+# transmits after the <smkx> string is transmitted.  If the <smkx> string
+# is a null string or is not defined, then cursor keys are assumed to be in
+# "Cursor Mode", and the cursor keys definitions should match that assumption,
+# else the application may fail.  It is also expected that applications will
+# always transmit the <rmkx> string to the terminal before they exit.
+#
+# The VT100 series terminals have an auxiliary keypad, commonly referred to as
+# the "Numeric Keypad", because it is a cluster of numeric and function keys.
+# The Numeric Keypad which can operate in two different modes: Numeric Mode and
+# Application Mode.  Numeric Mode is the reset state, and is assumed to be
+# the normal state.  Application Mode is the "set" state.  In Numeric Mode,
+# the numeric and punctuation keys transmit ASCII 7-bit characters, and the
+# Enter key transmits the same as the Return key (Note: the Return key
+# can be configured to send either LF (\015) or CR LF).  In Application Mode,
+# all the keypad keys transmit "Esc O {code}" sequences.  The PF1 - PF4 keys
+# always send the same "Esc O {code}" sequences.  It is assumed that the keypad
+# is normally in Numeric Mode.  If an application requires that the keypad be
+# in Application Mode then it is expected that the user, or the application,
+# will set the TERM environment variable to point to a terminfo entry which has
+# defined the <smkx> string to include the codes that switch the keypad into
+# Application Mode, and the terminfo entry will also define function key
+# fields to match the Application Mode control codes.  If the <smkx> string
+# is a null string or is not defined, then the keypad is assumed to be in
+# Numeric Mode.  If the <smkx> string switches the keypad into Application
+# Mode, it is expected that the <rmkx> string will contain the control codes
+# necessary to reset the keypad to "Normal" mode, and it is also expected that
+# applications which transmit the <smkx> string will also always transmit the
+# <rmkx> string to the terminal before they exit.
+#
+# Here's a diagram of the VT100 keypad keys with their bindings.
+# The top line is the name of the key (some DEC keyboards have the keys
+# labelled somewhat differently, like GOLD instead of PF1, but this is
+# the most "official" name).  The second line is the escape sequence it
+# generates in Application Keypad mode (where "$" means the ESC
+# character).  The third line contains two items, first the mapping of
+# the key in terminfo, and then in termcap.
+#   _______________________________________
+#  |   PF1   |   PF2   |   PF3   |   PF4   |
+#  |   $OP   |   $OQ   |   $OR   |   $OS   |
+#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
+#  |    7         8         9         -    |
+#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
+#  |_kf9__k9_|_kf10_k;_|_kf0__k0_|_________|
+#  |    4    |    5    |    6    |    ,    |
+#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
+#  |_kf5__k5_|_kf6__k6_|_kf7__k7_|_kf8__k8_|
+#  |    1    |    2    |    3    |         |
+#  |   $Oq   |   $Or   |   $Os   |  enter  |
+#  |_ka1__K1_|_kb2__K2_|_ka3__K3_|  $OM    |
+#  |         0         |   .     |         |
+#  |        $Op        |  $On    |         |
+#  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
+#
+# Note however, that the arrangement of the 5-key ka1-kc3 do not follow the
+# terminfo guidelines.  That is a compromise used to assign the remaining
+# keys on the keypad to kf5-kf0, used on older systems with legacy termcap
+# support:
+vt100+keypad|DEC VT100 numeric keypad no fkeys,
+	ka1=\EOq, ka3=\EOs, kb2=\EOr, kc1=\EOp, kc3=\EOn,
+vt100+pfkeys|DEC VT100 numeric keypad (kf1-kf4),
+	kent=\EOM, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	use=vt100+keypad,
+vt100+fnkeys|DEC VT100 numeric keypad (kf0-kf10),
+	kf0=\EOy, kf10=\EOx, kf5=\EOt, kf6=\EOu, kf7=\EOv, kf8=\EOl,
+	kf9=\EOw, use=vt100+pfkeys,
+#
+# A better adaptation to modern keyboards such as the PC's, which have a dozen
+# function keys and the keypad 2,4,6,8 keys are labeled with arrows keys, is to
+# use the 5-key arrangement to model the arrow keys as suggested in the
+# terminfo guidelines:
+#   _______________________________________
+#  |   PF1   |   PF2   |   PF3   |   PF4   |
+#  |   $OP   |   $OQ   |   $OR   |   $OS   |
+#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|_kf4__k4_|
+#  |    7         8         9         -    |
+#  |   $Ow   |   $Ox   |   $Oy   |   $Om   |
+#  |_ka1__K1_|_________|_ka3__K3_|_________|
+#  |    4    |    5    |    6    |    ,    |
+#  |   $Ot   |   $Ou   |   $Ov   |   $Ol   |
+#  |_________|_kb2__K2_|_________|_________|
+#  |    1    |    2    |    3    |         |
+#  |   $Oq   |   $Or   |   $Os   |  enter  |
+#  |_kc1__K4_|_________|_kc3__K5_|  $OM    |
+#  |         0         |   .     |         |
+#  |        $Op        |  $On    |         |
+#  |___________________|_________|_kent_@8_|
+#
+vt220+keypad|DEC VT220 numeric keypad,
+	ka1=\EOw, ka3=\EOy, kb2=\EOu, kc1=\EOq, kc3=\EOs, ka2=\EOx,
+	kb1=\EOt, kb3=\EOv, kc2=\EOr, use=vt100+pfkeys,
+#
+vt100+enq|ncurses extension for VT100-style ENQ,
+	u8=\E[?1;2c, use=ansi+enq,
+vt102+enq|ncurses extension for VT102-style ENQ,
+	u8=\E[?6c, use=ansi+enq,
+#
+# And here, for those of you with orphaned VT100s lacking documentation, is
+# a description of the soft switches invoked when you do `Set Up'.
+#
+#  Scroll 0-Jump               Shifted 3   0-#
+#  |      1-Smooth             |           1-British pound sign
+#  | Autorepeat 0-Off          | Wrap Around 0-Off
+#  | |          1-On           | |           1-On
+#  | | Screen 0-Dark Bkg       | | New Line 0-Off
+#  | | |      1-Light Bkg      | | |        1-On
+#  | | | Cursor 0-Underline    | | | Interlace 0-Off
+#  | | | |      1-Block        | | | |         1-On
+#  | | | |                     | | | |
+#  1 1 0 1       1 1 1 1       0 1 0 0       0 0 1 0       <--Standard Settings
+#                | | | |                     | | | |
+#                | | | Auto XON/XOFF 0-Off   | | | Power 0-60 Hz
+#                | | |               1-On    | | |       1-50 Hz
+#                | | ANSI/VT52 0-VT52        | | Bits Per Char. 0-7 Bits
+#                | |           1-ANSI        | |                1-8 Bits
+#                | Keyclick 0-Off            | Parity 0-Off
+#                |          1-On             |        1-On
+#                Margin Bell 0-Off           Parity Sense 0-Odd
+#                            1-On                         1-Even
+#
+# The following SET-UP modes are assumed for normal operation:
+#	ANSI_MODE	AUTO_XON/XOFF_ON	NEWLINE_OFF	80_COLUMNS
+#	WRAP_AROUND_ON  JUMP_SCROLL_OFF
+# Other SET-UP modes may be set for operator convenience or communication
+# requirements; I recommend
+#	AUTOREPEAT_ON	BLOCK_CURSOR	MARGIN_BELL_OFF    SHIFTED_3_#
+# Unless you have a graphics add-on such as Digital Engineering's VT640
+# (and even then, whenever it can be arranged!) you should set
+#	INTERLACE_OFF
+#
+# (vt100: I added <rmam>/<smam> based on the init string, also <OTbs>. -- esr)
+vt100|vt100-am|DEC VT100 (w/advanced video),
+	OTbs, xenl, xon,
+	vt#3,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, lf1=pf1,
+	lf2=pf2, lf3=pf3, lf4=pf4, mc0=\E[0i, rmam=\E[?7l,
+	rmkx=\E[?1l\E>, rs2=\E<\E>\E[?3;4;5l\E[?7;8h\E[r,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;m%?%p9%t\016%e\017%;$<2>,
+	smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m$<2>,
+	use=ansi+csr, use=ansi+pp, use=decid+cpr, use=vt100+4bsd,
+	use=vt100+fnkeys,
+
+vt100+4bsd|DEC VT100 from 4.0BSD,
+	am, msgr,
+	cols#80, it#8, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+	clear=\E[H\E[J$<50>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
+	cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K$<3>,
+	enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH, ind=\n, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmso=\E[m$<2>,
+	rmul=\E[m$<2>, rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;m%?%p9%t\016%e\017%;$<2>,
+	sgr0=\E[m\017$<2>, smacs=^N, smso=\E[1;7m$<2>,
+	smul=\E[4m$<2>, tbc=\E[3g, use=ansi+local,
+
+vt100nam|vt100-nam|VT100 no automargins,
+	am@, xenl@,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt100-am,
+vt100-vb|DEC VT100 (w/advanced video) & no beep,
+	bel@, flash=\E[?5h$<100/>\E[?5l, use=vt100,
+
+# Ordinary VT100 in 132 column ("wide") mode.
+vt100-w|vt100-w-am|DEC VT100 132 cols (w/advanced video),
+	cols#132, lines#24,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-am,
+vt100-w-nam|vt100-nam-w|DEC VT100 132 cols (w/advanced video no automargin),
+	cols#132, lines#14, vt@,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=vt100-nam,
+
+# VT100 with no advanced video.
+vt100-nav|VT100 without advanced video option,
+	xmc#1,
+	blink@, bold@, rev@, rmso=\E[m, rmul@, sgr@, sgr0@, smso=\E[7m,
+	smul@, use=vt100,
+vt100-nav-w|vt100-w-nav|DEC VT100 132 cols 14 lines (no advanced video option),
+	cols#132, lines#14, use=vt100-nav,
+
+# VT100 with one of the 24 lines used as a status line.
+# We put the status line on the top.
+vt100-s|vt100-s-top|vt100-top-s|VT100 for use with top sysline,
+	eslok, hs,
+	lines#23,
+	clear=\E[2;1H\E[J$<50>, csr=\E[%i%i%p1%d;%p2%dr,
+	cup=\E[%i%p1%{1}%+%d;%p2%dH$<5>, dsl=\E7\E[1;24r\E8,
+	fsl=\E8, home=\E[2;1H, is2=\E7\E[2;24r\E8,
+	tsl=\E7\E[1;%p1%dH\E[1K, use=vt100-am,
+
+# Status line at bottom.
+# Clearing the screen will clobber status line.
+vt100-s-bot|vt100-bot-s|VT100 for use with bottom sysline,
+	eslok, hs,
+	lines#23,
+	dsl=\E7\E[1;24r\E8, fsl=\E8, is2=\E[1;23r\E[23;1H,
+	tsl=\E7\E[24;%p1%dH\E[1K, use=vt100-am,
+
+# Most of the `vt100' emulators out there actually emulate a VT102
+# This entry (or vt102-nsgr) is probably the right thing to use for
+# these.
+vt102|DEC VT102,
+	dch1=\E[P, dl1=\E[M, il1=\E[L, rmir=\E[4l, smir=\E[4h,
+	use=vt100,
+vt102-w|DEC VT102 in wide mode,
+	cols#132,
+	rs3=\E[?3h, use=vt102,
+
+# Many brain-dead PC comm programs that pretend to be `vt100-compatible'
+# fail to interpret the ^O and ^N escapes properly.  Symptom: the <sgr0>
+# string in the canonical vt100 entry above leaves the screen littered
+# with little  snowflake or star characters (IBM PC ROM character \017 = ^O)
+# after highlight turnoffs.  This entry should fix that, and even leave
+# ACS support working, at the cost of making multiple-highlight changes
+# slightly more expensive.
+# From: Eric S. Raymond <esr@snark.thyrsus.com> July 22 1995
+vt102-nsgr|VT102 no sgr (use if you see snowflakes after highlight changes),
+	sgr@, sgr0=\E[m, use=vt102,
+
+# VT125 Graphics CRT.  Clear screen also erases graphics
+# Some VT125's came configured with VT102 support.
+vt125|VT125 graphics terminal,
+	mir,
+	clear=\E[H\E[2J\EPpS(E)\E\\$<50>, use=vt100,
+
+# This isn't a DEC entry, it came from University of Wisconsin.
+# (vt131: I added <rmam>/<smam> based on the init string, also <OTbs> -- esr)
+vt131|DEC VT131,
+	OTbs, am, xenl,
+	cols#80, it#8, lines#24, vt#3,
+	bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>,
+	clear=\E[;H\E[2J$<50/>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\E[C$<2/>, cup=\E[%i%p1%d;%p2%dH$<5/>,
+	cuu1=\E[A$<2/>, ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H,
+	ht=^I, is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, nel=\r\n, rev=\E[7m$<2/>, ri=\EM$<5/>,
+	rmam=\E[?7h, rmkx=\E[?1l\E>, rmso=\E[m$<2/>,
+	rmul=\E[m$<2/>,
+	rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sgr0=\E[m$<2/>, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[7m$<2/>, smul=\E[4m$<2/>, use=ansi+csr,
+
+# vt132 - like vt100 but slower and has ins/del line and such.
+# I'm told that <smir>/<rmir> are backwards in the terminal from the
+# manual and from the ANSI standard, this describes the actual
+# terminal. I've never actually used a vt132 myself, so this
+# is untested.
+#
+vt132|DEC VT132,
+	xenl,
+	dch1=\E[P$<7>, dl1=\E[M$<99>, il1=\E[L$<99>, ind=\n$<30>,
+	ip=$<7>, rmir=\E[4h, smir=\E[4l, use=vt100,
+
+# This vt220 description maps F5--F9 to the second block of function keys
+# at the top of the keyboard.  The "DO" key is used as F10 to avoid conflict
+# with the key marked (ESC) on the vt220.  See vt220d for an alternate mapping.
+# PF1--PF4 are used as F1--F4.
+#
+# added msgr -TD
+vt220-old|vt200-old|DEC VT220 in VT100 emulation mode,
+	OTbs, OTpt, am, mir, msgr, xenl, xon,
+	cols#80, lines#24, vt#3,
+	OTnl=\n,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+	clear=\E[H\E[2J$<50>, cr=\r, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH$<10>, dch1=\E[P, ed=\E[J$<50>,
+	el=\E[K$<3>, home=\E[H, ht=^I,
+	if=/usr/share/tabset/vt100, ind=\ED$<20/>,
+	is2=\E[1;24r\E[24;1H, kf1=\EOP, kf10=\E[29~, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~,
+	kf8=\E[20~, kf9=\E[21~, khome=\E[1~, kich1=\E[2~,
+	rev=\E[7m$<2>, rf=/usr/share/tabset/vt100,
+	ri=\EM$<14/>, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l,
+	rmso=\E[27m, rmul=\E[24m,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+	    %p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m$<2>, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+	smso=\E[7m, smul=\E[4m, use=ansi+arrows, use=ansi+csr,
+	use=ansi+idl1, use=ansi+local1, use=vt220+pcedit,
+	use=vt220+cvis,
+
+# Here's a picture of the Sun/PC editing keypad:
+#	+--------+--------+--------+
+#	| Insert | Home   | PageUp |
+#	+--------+--------+--------+
+#	| Delete | End    | PageDn |
+#	+--------+--------+--------+
+#
+# VT220 emulators such as xterm, using PC-keyboards use a different layout than
+# the VT220 keyboard:
+#	VT220		PC
+#	-----		--
+#	Prev		PageUp
+#	Next		PageDn
+#	Insert		Insert
+#	Remove		Delete
+#	Find		Home
+#	Select		End
+vt220+pcedit|editing-keypad for VT220 using PC keyboard,
+	kdch1=\E[3~, kend=\E[4~, khome=\E[1~, kich1=\E[2~,
+	knp=\E[6~, kpp=\E[5~,
+vt220+vtedit|editing-keypad for VT220 using DEC keyboard,
+	kdch1=\E[3~, kfnd=\E[1~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	kslt=\E[4~,
+
+# A much better description of the VT200/220; used to be vt220-8
+# changed rmacs/smacs from shift-in/shift-out to vt200-old's explicit G0/G1
+# designation to accommodate bug in pcvt -TD
+#
+# Here's a picture of the VT220 editing keypad:
+#	+--------+--------+--------+
+#	| Find   | Insert | Remove |
+#	+--------+--------+--------+
+#	| Select | Prev   | Next   |
+#	+--------+--------+--------+
+#
+# Still, this is a "base" entry.  Software emulators commonly leave out the
+# DECTCEM feature -TD
+vt220-base|DEC VT220 as emulated,
+	OTbs, am, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+	dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX, el1=\E[1K,
+	enacs=\E)0, flash=\E[?5h$<200/>\E[?5l, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, if=/usr/share/tabset/vt100, ind=\ED,
+	is2=\E[?7h\E[>\E[?1l\E F\E[?4l, kbs=^H, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ,
+	kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khlp=\E[28~, krdo=\E[29~, lf1=pf1,
+	lf2=pf2, lf3=pf3, lf4=pf4, nel=\EE, rev=\E[7m, ri=\EM,
+	rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmso=\E[27m,
+	rmul=\E[24m, rs1=\E[?3l,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+	    %p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m\E(B, smacs=\E(0$<2>, smam=\E[?7h, smir=\E[4h,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+csr,
+	use=ansi+cup, use=ansi+pp, use=ansi+enq, use=ansi+erase,
+	use=ansi+idl, use=ansi+local, use=vt220+vtedit,
+
+vt220|vt200|DEC VT220,
+	use=vt220+cvis, use=vt220-base,
+vt220-w|vt200-w|DEC VT220 in wide mode,
+	cols#132,
+	rs3=\E[?3h, use=vt220,
+vt220-8bit|vt220-8|vt200-8bit|vt200-8|DEC VT220/200 in 8-bit mode,
+	OTbs, am, mc5i, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\2335m, bold=\2331m, clear=\233H\233J, cr=\r,
+	csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=^H,
+	cud=\233%p1%dB, cud1=\n, cuf=\233%p1%dC, cuf1=\233C,
+	cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\233A,
+	dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M,
+	ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K, enacs=\E)0,
+	flash=\233?5h$<200/>\233?5l, home=\233H, ht=^I, hts=\EH,
+	ich=\233%p1%d@, if=/usr/share/tabset/vt100,
+	il=\233%p1%dL, il1=\233L, ind=\ED,
+	is2=\233?7h\233>\233?1l\E F\233?4l, kbs=^H,
+	kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A,
+	kdch1=\2333~, kf1=\EOP, kf10=\23321~, kf11=\23323~,
+	kf12=\23324~, kf13=\23325~, kf14=\23326~, kf17=\23331~,
+	kf18=\23332~, kf19=\23333~, kf2=\EOQ, kf20=\23334~,
+	kf3=\EOR, kf4=\EOS, kf6=\23317~, kf7=\23318~, kf8=\23319~,
+	kf9=\23320~, kfnd=\2331~, khlp=\23328~, khome=\233H,
+	kich1=\2332~, knp=\2336~, kpp=\2335~, krdo=\23329~,
+	kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4, mc0=\233i,
+	mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8, rev=\2337m, ri=\EM,
+	rmacs=\E(B, rmam=\233?7l, rmir=\2334l, rmso=\23327m,
+	rmul=\23324m, rs1=\233?3l, sc=\E7,
+	sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m
+	    %?%p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h, smir=\2334h,
+	smso=\2337m, smul=\2334m, tbc=\2333g, use=vt220+cvis8,
+
+# vt220d:
+# This VT220 description regards F6--F10 as the second block of function keys
+# at the top of the keyboard.  This mapping follows the description given
+# in the VT220 Programmer Reference Manual and agrees with the labeling
+# on some terminals that emulate the VT220.  There is no support for an F5.
+# See vt220 for an alternate mapping.
+#
+vt220d|DEC VT220 in VT100 mode with DEC function key labeling,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, kf5@, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, use=vt220-old,
+
+vt220-nam|v200-nam|VT220 in VT100 mode with no auto margins,
+	am@,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h, use=vt220,
+
+# vt220 termcap written Tue Oct 25 20:41:10 1988 by Alex Latzko
+# (not an official DEC entry!)
+# The problem with real VT220 terminals is they don't send escapes when in
+# in VT220 mode.  This can be gotten around two ways.  1> don't send
+# escapes or 2> put the VT220 into VT100 mode and use all the nifty
+# features of VT100 advanced video which it then has.
+#
+# This entry takes the view of putting a VT220 into VT100 mode so
+# you can use the escape key in emacs and everything else which needs it.
+#
+# You probably don't want to use this on a VMS machine since VMS will think
+# it has a VT220 and will get fouled up coming out of emacs
+#
+# From: Alexander Latzko <latzko@marsenius.rutgers.edu>, 30 Dec 1996
+# (Added vt100 <rc>,<sc> to quiet a tic warning -- esr)
+# added msgr -TD
+vt200-js|vt220-js|DEC VT200 series with jump scroll,
+	am, msgr,
+	cols#80,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	home=\E[H, ht=^I, il1=\E[L, ind=\ED,
+	is2=\E[61"p\E[H\E[?3l\E[?4l\E[?1h\E[?5l\E[?6l\E[?7h\E[?8h\E[
+	    ?25h\E>\E[m,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\r\ED,
+	rf=/usr/share/tabset/vt100, ri=\EM, rmdc=, rmir=\E[4l,
+	rmkx=\E[?1l\E>, rmso=\E[27m$<5/>, rmul=\E[24m,
+	rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, smdc=,
+	smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m$<5/>, smul=\E[4m,
+	use=ansi+csr, use=ansi+erase, use=vt220+cvis,
+
+# This was DEC's VT320.  Use the purpose-built one below instead
+#vt320|DEC VT320 in VT100 emulation mode,
+#	use=vt220,
+
+# Use v320n for SCO's LYRIX.  Otherwise, use Adam Thompson's vt320-nam.
+#
+vt320nam|v320n|DEC VT320 in VT100 emul. mode with NO AUTO WRAP mode,
+	am@,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h,
+	use=vt220-base,
+
+# These entries are not DEC's official ones, they were purpose-built for the
+# VT320.  Here are the designer's notes:
+# <kel> is end on a PC kbd.  Actually 'select' on a VT.  Mapped to
+# 'Erase to End of Field'... since nothing seems to use 'end' anyways...
+# khome is Home on a PC kbd.  Actually 'FIND' on a VT.
+# Things that use <knxt> usually use tab anyways... and things that don't use
+# tab usually use <knxt> instead...
+# kprv is same as tab - Backtab is useless...
+# I left out <sgr> because of its RIDICULOUS complexity,
+# and the resulting fact that it causes the termcap translation of the entry
+# to SMASH the 1k-barrier...
+# From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
+# (vt320: uncommented <fsl> --esr)
+vt320|vt300|DEC VT320 7 bit terminal,
+	am, mir, msgr, xenl,
+	cols#80, lines#24, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
+	cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP,
+	dch1=\E[P, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+	home=\E[H, ht=^I, hts=\EH, ich=\E[%p1%d@, ind=\ED,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+	kbs=^?, kdch1=\E[3~, kel=\E[4~, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+	kf9=\E[20~, khome=\E[1~, kich1=\E[2~, knp=\E[6~, knxt=^I,
+	kpp=\E[5~, kprv=\E[Z, kslt=\E[4~, nel=\EE, rev=\E[7m,
+	rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m,
+	rmul=\E[m,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+	    %p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	use=ansi+apparrows, use=ansi+csr, use=ansi+enq,
+	use=ansi+idl, use=ansi+local, use=dec+pp, use=vt220+cvis,
+	use=vt220+keypad, use=dec+sl,
+
+vt320-nam|vt300-nam|DEC VT320 7 bit terminal with no am to make SAS happy,
+	am@,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, use=vt320,
+# We have to init 132-col mode, not 80-col mode.
+vt320-w|vt300-w|DEC VT320 wide 7 bit terminal,
+	cols#132, wsl#132,
+	is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H, use=vt320,
+vt320-w-nam|vt300-w-nam|DEC VT320 wide 7 bit terminal with no am,
+	am@,
+	is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;24r\E[24;1H, use=vt320-w,
+
+# VT330 and VT340 -- These are ReGIS and SIXEL graphics terminals
+#   which are pretty much a superset of the VT320.  They have the
+#   host writable status line, yet another different DRCS matrix size,
+#   and such, but they add the DEC Technical character set, Multiple text
+#   pages, selectable length pages, and the like.  The difference between
+#   the VT330 and VT340 is that the former has only 2 planes and a monochrome
+#   monitor, the latter has 4 planes and a color monitor.  These terminals
+#   support VT131 and ANSI block mode, but as with much of these things,
+#   termcap/terminfo doesn't deal with these features.
+#
+# Note that this entry is are set up in what was the standard way for GNU
+# Emacs v18 terminal modes to deal with the cursor keys in that the arrow
+# keys were switched into application mode at the same time the numeric pad
+# is switched into application mode.  This changes the definitions of the
+# arrow keys.  Emacs v19 is smarter and mines its keys directly out of
+# your termcap or terminfo entry,
+#
+# From: Daniel Glasser <dag@persoft.persoft.com>, 13 Oct 1993
+# (vt340: string capability "sb=\E[M" corrected to "sr";
+# also, added <rmam>/<smam> based on the init string -- esr)
+vt340|dec-vt340|vt330|dec-vt330|DEC VT340 graphics terminal with 24 line page,
+	am, eslok, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	dsl=\E[2$~\r\E[1$}\E[K\E[$},
+	flash=\E[?5h$<200/>\E[?5l, fsl=\E[$}, home=\E[H, ht=^I,
+	hts=\EH, ich=\E[%p1%d@, ind=\ED,
+	is2=\E<\E\sF\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r
+	    \E[24;1H,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2,
+	lf3=pf3, lf4=pf4, nel=\r\ED, rev=\E[7m,
+	rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+	rmul=\E[24m, rs1=\E[?3l,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+	    %p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E[2$~\E[1$}\E[1;%dH, use=ansi+csr, use=ansi+erase,
+	use=ansi+idl, use=ansi+local, use=vt220+cvis,
+
+# Left/right margins are supported in xterm since patch #279 (2012/05/10)
+vt420+lrmm|VT420 left/right margins,
+	mgc=\E[?69l, smglp=\E[?69h\E[%i%p1%ds,
+	smglr=\E[?69h\E[%i%p1%d;%p2%ds,
+	smgrp=\E[?69h\E[%i;%p1%ds,
+
+# DEC doesn't supply a VT400 description, so we add Daniel Glasser's
+# (originally written with VT420 as its primary name, and usable for it).
+#
+# VT400/420 -- This terminal is a superset of the VT320.  It adds the multiple
+#    text pages and long text pages with selectable length of the VT340, along
+#    with left and right margins, rectangular area text copy, fill, and erase
+#    operations, selected region character attribute change operations,
+#    page memory and rectangle checksums, insert/delete column, reception
+#    macros, and other features too numerous to remember right now.  TERMCAP
+#    can only take advantage of a few of these added features.
+#
+# Note that this entry is set up in what was the standard way for GNU
+# Emacs v18 terminal modes to deal with the cursor keys in that the arrow
+# keys were switched into application mode at the same time the numeric pad
+# is switched into application mode.  This changes the definitions of the
+# arrow keys.  Emacs v19 is smarter and mines its keys directly out of
+# your termcap entry,
+#
+# From: Daniel Glasser <dag@persoft.persoft.com>, 13 Oct 1993
+# (vt400: string capability ":sb=\E[M:" corrected to ":sr=\E[M:";
+# also, added <rmam>/<smam> based on the init string -- esr)
+vt400|vt400-24|dec-vt400|DEC VT400 24x80 column autowrap,
+	am, eslok, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	blink=\E[5m, bold=\E[1m, clear=\E[H\E[J$<10/>, cr=\r,
+	cub1=^H, cud1=\n, dsl=\E[2$~\r\E[1$}\E[K\E[$},
+	ed=\E[J$<10/>, el=\E[K$<4/>, flash=\E[?5h$<200/>\E[?5l,
+	fsl=\E[$}, ht=^I, hts=\EH, ind=\ED,
+	is2=\E<\E\sF\E>\E[?1h\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r
+	    \E[24;1H,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2,
+	lf3=pf3, lf4=pf4, nel=\r\ED, rev=\E[7m,
+	rf=/usr/share/tabset/vt300, ri=\EM, rmacs=\E(B,
+	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+	rs1=\E<\E[?3l\E[!p\E[?7h,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+	    %p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E[2$~\E[1$}\E[1;%dH, use=ansi+csr, use=ansi+cup,
+	use=ansi+idc, use=ansi+idl, use=ansi+local, use=dec+sl,
+	use=vt220+cvis,
+
+# (vt420: I removed <kf0>, it collided with <kf10>.  I also restored
+# a missing <sc> -- esr)
+# add msgr and other capabilities from vt220 -TD
+vt420|DEC VT420,
+	am, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+	clear=\E[H\E[2J$<50>, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH$<10>, dch=\E[%p1%dP, dch1=\E[P,
+	ech=\E[%p1%dX, ed=\E[J$<50>, el=\E[K$<3>, el1=\E[1K,
+	enacs=\E)0, flash=\E[?5h$<200/>\E[?5l, home=\E[H, ht=^I,
+	hts=\EH, ich=\E[%p1%d@, if=/usr/share/tabset/vt300,
+	ind=\ED, is2=\E[1;24r\E[24;1H, is3=\E[?67h\E[64;1"p,
+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\EOP, kf10=\E[29~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~, kf9=\E[21~,
+	nel=\EE, rev=\E[7m$<2>, rf=/usr/share/tabset/vt300,
+	ri=\EM, rmacs=\E(B$<4>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
+	rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	rmso=\E[27m, rmul=\E[24m, rs3=\E[?67h\E[64;1"p,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+	    %p9%t\E(0%e\E(B%;$<2>,
+	sgr0=\E[m\E(B$<2>, smacs=\E(0$<2>, smam=\E[?7h,
+	smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	use=ansi+csr, use=ansi+enq, use=ansi+idl, use=ansi+pp,
+	use=ansi+local, use=dec+sl, use=vt220+cvis,
+	use=vt420+lrmm, use=vt220+vtedit,
+
+# DEC VT220 and up support DECUDK (user-defined keys).  DECUDK (i.e., pfx)
+# takes two parameters, the key and the string.  Translating the key is
+# straightforward (keys 1-5 are not defined on real terminals, though some
+# emulators define these):
+#
+#               if (key < 16) then  value = key;
+#               else if (key < 21) then value = key + 1;
+#               else if (key < 25) then value = key + 2;
+#               else if (key < 27) then value = key + 3;
+#               else if (key < 30) then value = key + 4;
+#               else value = key + 5;
+#
+# The string must be the hexadecimal equivalent, e.g., "5052494E" for "PRINT".
+# There's no provision in terminfo for emitting a string in this format, so the
+# application has to know it.
+#
+vt420pc|DEC VT420 w/PC keyboard,
+	kdch1=^?, kend=\E[4~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[11;2~, kf14=\E[12;2~, kf15=\E[13;2~,
+	kf16=\E[14;2~, kf17=\E[15;2~, kf18=\E[17;2~,
+	kf19=\E[18;2~, kf2=\E[12~, kf20=\E[19;2~, kf21=\E[20;2~,
+	kf22=\E[21;2~, kf23=\E[23;2~, kf24=\E[24;2~, kf25=\E[23~,
+	kf26=\E[24~, kf27=\E[25~, kf28=\E[26~, kf29=\E[28~,
+	kf3=\E[13~, kf30=\E[29~, kf31=\E[31~, kf32=\E[32~,
+	kf33=\E[33~, kf34=\E[34~, kf35=\E[35~, kf36=\E[36~,
+	kf37=\E[23;2~, kf38=\E[24;2~, kf39=\E[25;2~, kf4=\E[14~,
+	kf40=\E[26;2~, kf41=\E[28;2~, kf42=\E[29;2~,
+	kf43=\E[31;2~, kf44=\E[32;2~, kf45=\E[33;2~,
+	kf46=\E[34;2~, kf47=\E[35;2~, kf48=\E[36;2~, kf5=\E[15~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+	pctrm=USR_TERM:vt420pcdos:,
+	pfx=\EP1;1|%?%{16}%p1%>%t%{0}%e%{21}%p1%>%t%{1}%e%{25}%p1%>
+	    %t%{2}%e%{27}%p1%>%t%{3}%e%{30}%p1%>%t%{4}%e%{5}%;%p1%+
+	    %d/%p2%s\E\\,
+	use=vt420,
+
+vt420pcdos|DEC VT420 w/PC for DOS Merge,
+	lines#25,
+	dispc=%?%p1%{19}%=%t\E\023\021%e%p1%{32}%<%t\E%p1%c%e%p1
+	      %{127}%=%t\E\177%e%p1%c%;,
+	pctrm@,
+	rmsc=\E[?0;0r\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr@,
+	sgr0=\E[m, smsc=\E[?1;2r\E[34h, use=vt420pc,
+
+vt420f|DEC VT420 with VT kbd; VT400 mode; F1-F5 used as Fkeys,
+	kdch1=^?, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf2=\E[12~, kf20=\E[34~, kf3=\E[13~, kf4=\E[14~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[H, lf1=\EOP, lf2=\EOQ, lf3=\EOR, lf4=\EOS,
+	use=vt420,
+
+vt510|DEC VT510,
+	use=vt420,
+vt510pc|DEC VT510 w/PC keyboard,
+	use=vt420pc,
+vt510pcdos|DEC VT510 w/PC for DOS Merge,
+	use=vt420pcdos,
+
+# VT520/VT525
+#
+# The VT520 is a monochrome text terminal capable of managing up to
+# four independent sessions in the terminal.  It has multiple ANSI
+# emulations (VT520, VT420, VT320, VT220, VT100, VT PCTerm, SCO Console)
+# and ASCII emulations (WY160/60, PCTerm, 50/50+, 150/120, TVI 950,
+# 925 910+, ADDS A2).  This terminfo data is for the ANSI emulations only.
+#
+# Terminal Set-Up is entered by pressing [F3], [Caps Lock]/[F3] or
+# [Alt]/[Print Screen] depending upon which keyboard and which
+# terminal mode is being used.  If Set-Up has been disabled or
+# assigned to an unknown key, Set-Up may be entered by pressing
+# [F3] as the first key after power up, regardless of keyboard type.
+vt520|DEC VT520,
+	use=ansi+rca, use=vt420, use=ansi+tabs,
+
+vt525|DEC VT525,
+	use=vt520,
+
+# I just got a brand new Boundless VT520 with that company's "ANSI 2011"
+# Keyboard, which replaces the old LK41R-AA keyboard.
+#
+# In trying to get the function keys to work, I had to cobble my own
+# terminfo.src entry, since the existing vt520 entry doesn't include most of
+# the function keys.  If I blend the entries for "vt420f" and "vt220+keypad"
+# I seem to get them all -Mike Gran
+vt520ansi|Boundless VT520 ANSI,
+	use=ansi+rca, use=vt420f, use=vt220+keypad,
+	use=ansi+tabs,
+
+#### VT100 emulations
+
+# John Hawkinson <jhawk@MIT.EDU> tells us that the EWAN telnet for Windows
+# (the best Windows telnet as of September 1995) presents the name `dec-vt100'
+# to telnetd.   Michael Deutschmann <ldeutsch@mail.netshop.net> informs us
+# that this works best with a stock vt100 entry.
+dec-vt100|EWAN telnet's vt100 emulation,
+	use=vt100,
+
+# From: Adrian Garside <94ajg2@eng.cam.ac.uk>, 19 Nov 1996
+dec-vt220|DOS tnvt200 terminal emulator,
+	am@, use=vt220,
+
+# Zstem340 is an (IMHO) excellent VT emulator for PC's.  I recommend it to
+# anyone who needs PC VT340 emulation. (or anything below that level, for
+# that matter -- DEC's ALL-in-1 seems happy with it, as does INFOPLUS's
+# RDBM systems, it includes ReGIS and Sixel support!  I'm impressed...
+# I can send the address if requested.
+# (z340: changed garbled \E[5?l to \E[?5l, DEC smooth scroll off -- esr)
+# From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
+z340|ZSTEM VT340 terminal emulator 132col 42line,
+	lines#42,
+	is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h\E[1;42r\E[42;1H, use=vt320-w,
+z340-nam|ZSTEM VT340 terminal emulator 132col 42line (no automatic margins),
+	am@,
+	is2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7l\E[?8h\E[1;42r\E[42;1H, use=z340,
+
+# expect-5.44.1.15/example/tkterm
+# a minimal subset of a VT100 (compare with "news-unk).
+#
+# The missing "=" in smkx is not a typo (here), but an error in tkterm.
+tt|tkterm|Don Libes' tk text widget terminal emulator,
+	clear=\E[H\E[J, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%p1%d;%p2%dH, cuu1=\E[A, ind=\n, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+	kf9=\EOX, rmkx=\E[?1l\E>, rmso=\E[m, smkx=\E[?1h\E,
+	smso=\E[7m,
+
+######## APPLE
+
+#### Terminal.app
+
+# nsterm*|Apple_Terminal - AppKit Terminal.app
+#
+# Terminal.app is a Terminal emulator bundled with NeXT's NeXTSTEP and
+# OPENSTEP/Mach operating systems, and with Apple's Rhapsody, Mac OS X
+# Server and Mac OS X operating systems. There is also a
+# "terminal.app" in GNUstep, but I believe it to be an unrelated
+# codebase and I have not attempted to describe it here.
+#
+# For NeXTSTEP, OPENSTEP/Mach, Rhapsody and Mac OS X Server 1.0, you
+# are pretty much on your own. Use "nsterm-7-m" and hope for the best.
+# You might also try "nsterm-7" and "nsterm-old" if you suspect your
+# version supports color.
+#
+# To determine the version of Terminal.app you're using by running:
+#
+#     echo "$TERM_PROGRAM" "$TERM_PROGRAM_VERSION"
+#
+# For Apple_Terminal v309+, use "nsterm-256color" (or "nsterm-bce")
+#
+# For Apple_Terminal v200+, use "nsterm-16color" (a.k.a. "nsterm")
+#
+# For Apple_Terminal v71+/v100+, use "nsterm-bce".
+#
+# For Apple_Terminal v51+, use "nsterm-7-c" or "nsterm-7-c-s".
+#
+# For Apple_Terminal v41+, use "nsterm-old", or "nsterm-s".
+#
+# For all earlier versions (Apple_Terminal), try "nsterm-7-m"
+# (monochrome) or "nsterm-7" (color); "nsterm-7-m-s" and "nsterm-7-s"
+# might work too, but really you're on your own here since these
+# systems are very obsolete and I can't test them. I do welcome
+# patches, though :).
+
+# Other Terminals:
+#
+# For GNUstep_Terminal, you're probably best off using "linux" or
+# writing your own terminfo.
+
+# For MacTelnet, you're on your own. It's a different codebase, and
+# seems to be somewhere between "vt102", "ncsa" and "xterm-color".
+
+# For iTerm.app, see "iterm".
+
+#
+# The AppKit Terminal.app descriptions all have names beginning with
+# "nsterm". Note that the statusline (-s) versions use the window
+# titlebar as a phony status line, and may produce warnings during
+# compilation as a result ("tsl uses 0 parameters, expected 1".)
+# Ignore these warnings, or even ignore these entries entirely. Apps
+# which need to position the cursor or do other fancy stuff inside the
+# status line won't work with these entries. They're primarily useful
+# for programs like Pine which provide simple notifications in the
+# status line. Please note that non-ASCII characters don't work right
+# in the status line, since Terminal.app incorrectly interprets their
+# Unicode codepoints as MacRoman codepoints (in earlier Mac OS X
+# versions) or only accepts status lines consisting entirely of
+# characters from the first 256 Unicode positions (including C1 but
+# not C0 or DEL.)
+#
+# The Mythology* of AppKit Terminal.app:
+#
+# In the days of NeXTSTEP 0.x and 1.x there were two incompatible
+# bundled terminal emulators, Shell and Terminal. Scott Hess wrote a
+# shareware replacement for Terminal called "Stuart" which NeXT bought
+# and used as the basis for the Terminal.app in NeXTSTEP 2+,
+# OPENSTEP/Mach, Apple Rhapsody, Mac OS X Server 1.0, and Mac OS X. I
+# don't know the TERM_PROGRAM and TERM_PROGRAM_VERSION settings or
+# capabilities for the early versions, but I believe that the
+# TERM_PROGRAM_VERSION may have been reset at some point.
+#
+# The early versions were tailored to the NeXT character set. Sometime
+# after the Apple acquisition the encoding was switched to MacRoman
+# (initially with serious altcharset bugs due to incomplete conversion
+# of the old NeXT code,) and then later to UTF-8. Also sometime during
+# or just prior to the early days of Mac OS X, the Terminal grew ANSI
+# 8-color support (initially buggy when combined with attributes, but
+# that was later fixed.) More recently, around Mac OS X version 10.3
+# or so (Terminal.app v100+) xterm-like 16-color support was added. In
+# some versions (for instance 133-1 which shipped with Mac OS X
+# version 10.4) this suffered from the <bce> bug, but that seems to
+# have been fixed in Mac OS X version 10.5 (Terminal.app v240.2+).
+#
+# In the early days of Mac OS X the terminal was fairly buggy and
+# would routinely crash under load. Many of these bugs seem to have
+# been fixed around Mac OS X version 10.3 (Terminal.app v100+) but
+# some may still remain. This change seems to correspond to
+# Terminal.app reporting "xterm-color" as $TERM rather than "vt100" as
+# it did previously.
+#
+# * This may correspond with what actually happened, but I don't
+#   know. It is based on guesswork, hearsay, private correspondence,
+#   my faulty memory, and the following online sources and references:
+#
+# [1] "Three Scotts and a Duane" by Simson L. Garfinkel
+# http://www.nextcomputers.org/NeXTfiles/Articles/NeXTWORLD/93.8/93.8.Dec.Community1.html
+#
+# [2] NeXTSTEP entry from Wikipedia, the free encyclopedia
+# https://secure.wikimedia.org/wikipedia/en/wiki/Nextstep
+#
+# * Renamed the AppKit Terminal.app entry from "Apple_Terminal" to
+#   "nsterm" to comply with the name length and case conventions and
+#   limitations of various software packages [notably Solaris terminfo
+#   and UNIX.] A single Apple_Terminal alias is retained for
+#   backwards-compatibility.
+#
+# * Added function key support (F1-F4). These only work in Terminal.app
+#   version 51, hopefully the capabilities won't cause problems for people
+#   using version 41.
+#
+# * Added "full color" (-c) entries which support the 16-color mode in
+#   version 51.
+#
+# * By default, version 51 uses UTF-8 encoding with broken altcharset
+#   support, so "ASCII" (-7) entries without altcharset support were
+#   added.
+
+# nsterm - AppKit Terminal.app
+#
+# Apple's Mac OS X includes a Terminal.app derived from the old NeXT
+# Terminal.app. It is a partial VT100 emulation with some xterm-like
+# extensions. This terminfo was written to describe versions 41
+# (shipped with Mac OS X version 10.0) and 51 (shipped with Mac OS X
+# version 10.1) of Terminal.app.
+#
+# Terminal.app runs under the Mac OS X Quartz windowing system (and
+# other AppKit-supported windowing systems.)  On the Mac OS X machine I
+# use, the executable for Terminal.app is:
+# /Applications/Utilities/Terminal.app/Contents/MacOS/Terminal
+#
+# If you're looking for a description of the full-screen system
+# console which runs under Apple's Darwin operating system on PowerPC
+# platforms, see the "xnuppc" entry instead.
+#
+# There were no function keys in version 41. In version 51, there are
+# four working function keys (F1, F2, F3 and F4.) The function keys
+# are included in all of these entries.
+#
+# It does not support mouse pointer position reporting. Under some
+# circumstances the cursor can be positioned using option-click; this
+# works by comparing the cursor position and the selected position,
+# and simulating enough cursor-key presses to move the cursor to the
+# selected position. This technique fails in all but the simplest
+# applications.
+#
+# It provides partial ANSI color support (background colors interacted
+# badly with bold in version 41, though, as reflected in :ncv:.) The
+# monochrome (-m) entries are useful if you've disabled color support
+# or use a monochrome monitor. The full color (-c) entries are useful
+# in version 51, which doesn't exhibit the background color bug. They
+# also enable an xterm-compatible 16-color mode.
+#
+# The configurable titlebar is set using xterm-compatible sequences;
+# it is used as a status bar in the statusline (-s) entries. Its width
+# depends on font sizes and window sizes, but 50 characters seems to
+# be the default for an 80x24 window.
+#
+# The MacRoman character encoding is used for some of the alternate
+# characters in the "MacRoman" entries; the "ASCII" (-7) entries
+# disable alternate character set support entirely, and the "VT100"
+# (-acs) entries rely instead on Terminal.app's own buggy VT100
+# graphics emulation, which seems to think the character encoding is
+# the old NeXT charset instead of MacRoman. The "ASCII" (-7) entries
+# are useful in Terminal.app version 51, which supports UTF-8 and
+# other ASCII-compatible character encodings but does not correctly
+# implement VT100 graphics; once VT100 graphics are correctly
+# implemented in Terminal.app, the "VT100" (-acs) entries should be
+# usable in any ASCII-compatible character encoding [except perhaps
+# in UTF-8, where some experts argue for disallowing alternate
+# characters entirely.]
+#
+# Terminal.app reports "vt100" as the terminal type, but exports
+# several environment variables which may aid detection in a shell
+# profile (i.e. .profile or .login):
+#
+# TERM=vt100
+# TERM_PROGRAM=Apple_Terminal
+# TERM_PROGRAM_VERSION=41      # in Terminal.app version 41
+# TERM_PROGRAM_VERSION=51      # in Terminal.app version 51
+#
+# For example, the following Bourne shell script would detect the
+# correct terminal type:
+#
+# if [ :"$TERM" = :"vt100" -a :"$TERM_PROGRAM" = :"Apple_Terminal" ]
+# then
+#     export TERM
+#     if [ :"$TERM_PROGRAM_VERSION" = :41 ]
+#     then
+#         TERM="nsterm-old"
+#     else
+#         TERM="nsterm-c-7"
+#     fi
+# fi
+#
+# In a C shell derivative, this would be accomplished by:
+#
+# if ( $?TERM && $?TERM_PROGRAM && $?TERM_PROGRAM_VERSION) then
+#     if ( :"$TERM" == :"vt100" && :"$TERM_PROGRAM" == :"Apple_Terminal" ) then
+#          if ( :"$TERM_PROGRAM_VERSION" == :41 ) then
+#              setenv TERM "nsterm-old"
+#          else
+#              setenv TERM "nsterm-c-7"
+#          endif
+#     endif
+# endif
+
+# The '+' entries are building blocks
+nsterm+7|AppKit Terminal.app v41+ basic capabilities w/ASCII charset,
+	am, bw, msgr, xenl, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, dim=\E[2m, el1=\E[1K, ht=^I,
+	hts=\EH, ind=\n, kbs=^?, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, kent=\EOM, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+	    %p5%t;2%;%?%p7%t;8%;m,
+	sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, tbc=\E[3g,
+	use=ansi+csr, use=ansi+cup, use=ansi+erase, use=ansi+idl,
+	use=ansi+local, use=ansi+sgrbold, use=vt100+enq,
+	use=vt100+pfkeys,
+
+nsterm+acs|AppKit Terminal.app v41+ basic capabilities w/VT100 alternate-charset,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+	    %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, use=nsterm+7, use=vt100+4bsd,
+
+nsterm+mac|AppKit Terminal.app v41+ basic capabilities w/MacRoman alternate-charset,
+	acsc=+\335\,\334-\366.\3770#`\327a:f\241g\261h#i
+	     \360jjkkllmmnno\370p\370q\321rrssttuuvvwwxxy\262z\263{
+	     \271|\255}\243~\245,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+	    %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, use=nsterm+7, use=vt100+4bsd,
+
+# compare with xterm+sl-twm
+nsterm+s|AppKit Terminal.app v41+ status-line (window titlebar) support,
+	wsl#50, use=xterm+sl-twm,
+
+nsterm+c|AppKit Terminal.app v51+ full color support (including 16 colors),
+	op=\E[0m, use=ibm+16color,
+
+nsterm+c41|AppKit Terminal.app v41 color support,
+	ncv#37,
+	op=\E[0m, use=klone+color,
+
+# These are different combinations of the building blocks
+
+# ASCII charset (-7)
+nsterm-m-7|nsterm-7-m|AppKit Terminal.app v41+ w/ASCII charset (monochrome),
+	use=nsterm+7,
+
+nsterm-m-s-7|nsterm-7-m-s|AppKit Terminal.app v41+ w/ASCII charset (monochrome w/statusline),
+	use=nsterm+s, use=nsterm+7,
+
+nsterm-7|AppKit Terminal.app v41+ w/ASCII charset (color),
+	use=nsterm+c41, use=nsterm+7,
+
+nsterm-7-c|nsterm-c-7|AppKit Terminal.app v51+ w/ASCII charset (full color),
+	use=nsterm+c, use=nsterm+7,
+
+nsterm-s-7|nsterm-7-s|AppKit Terminal.app v41+ w/ASCII charset (color w/statusline),
+	use=nsterm+s, use=nsterm+c41, use=nsterm+7,
+
+nsterm-c-s-7|nsterm-7-c-s|AppKit Terminal.app v51+ w/ASCII charset (full color w/statusline),
+	use=nsterm+s, use=nsterm+c, use=nsterm+7,
+
+# VT100 alternate-charset (-acs)
+nsterm-m-acs|nsterm-acs-m|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome),
+	use=nsterm+acs,
+
+nsterm-m-s-acs|nsterm-acs-m-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (monochrome w/statusline),
+	use=nsterm+s, use=nsterm+acs,
+
+nsterm-acs|AppKit Terminal.app v41+ w/VT100 alternate-charset (color),
+	use=nsterm+c41, use=nsterm+acs,
+
+nsterm-c-acs|nsterm-acs-c|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color),
+	use=nsterm+c, use=nsterm+acs,
+
+nsterm-s-acs|nsterm-acs-s|AppKit Terminal.app v41+ w/VT100 alternate-charset (color w/statusline),
+	use=nsterm+s, use=nsterm+c41, use=nsterm+acs,
+
+nsterm-c-s-acs|nsterm-acs-c-s|AppKit Terminal.app v51+ w/VT100 alternate-charset (full color w/statusline),
+	use=nsterm+s, use=nsterm+c, use=nsterm+acs,
+
+# MacRoman charset
+nsterm-m|AppKit Terminal.app v41+ w/MacRoman charset (monochrome),
+	use=nsterm+mac,
+
+nsterm-m-s|AppKit Terminal.app v41+ w/MacRoman charset (monochrome w/statusline),
+	use=nsterm+s, use=nsterm+mac,
+
+nsterm-old|AppKit Terminal.app v41+ w/MacRoman charset (color),
+	use=nsterm+c41, use=nsterm+mac,
+
+nsterm-c|AppKit Terminal.app v51+ w/MacRoman charset (full color),
+	use=nsterm+c, use=nsterm+mac,
+
+nsterm-s|AppKit Terminal.app v41+ w/MacRoman charset (color w/statusline),
+	use=nsterm+s, use=nsterm+c41, use=nsterm+mac,
+
+nsterm-c-s|AppKit Terminal.app v51+ w/MacRoman charset (full color w/statusline),
+	use=nsterm+s, use=nsterm+c, use=nsterm+mac,
+
+# In Mac OS X version 10.5 the format of the preferences has changed
+# and a new, more complex technique is needed, e.g.,
+#
+#       python -c 'import sys,objc;NSUserDefaults=objc.lookUpClass(
+#       "NSUserDefaults");ud=NSUserDefaults.alloc();
+#       ud.init();prefs=ud.persistentDomainForName_(
+#       "com.apple.Terminal");prefs["Window Settings"][
+#       prefs["Default Window Settings"]]["TerminalType"
+#       ]=sys.argv[1];ud.setPersistentDomain_forName_(prefs,
+#       "com.apple.Terminal")' nsterm-16color
+#
+# and it is still not settable from the preferences dialog. This is
+# tracked under rdar://problem/7365108 and rdar://problem/7365134
+# in Apple's bug reporter.
+#
+# In OS X 10.5 (Leopard) the TERM which can be set in the preferences dialog
+# defaults to xterm-color.  Alternative selections are ansi, dtterm, rxvt,
+# vt52, vt100, vt102 and xterm.
+nsterm-16color|AppKit Terminal.app v240.2+ with Mac OS X version 10.5,
+	bw@, mir, npc,
+	flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG,
+	kdch1=\E[3~, kend=\E[F, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[22~, kf19=\E[33~,
+	kf20=\E[34~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khome=\E[H, knp=\E[6~, kpp=\E[5~,
+	vpa=\E[%i%p1%dd, kLFT5=\E[5D, kRIT5=\E[5C, use=ansi+idc,
+	use=xterm+alt47, use=nsterm-c-s-acs, use=vt220+cvis,
+
+# The versions of Terminal.app in Mac OS X version 10.3.x seem to have
+# the background color erase feature. The newer version 240.2 in Mac OS X
+# version 10.5 does not.
+#
+# This entry is based on newsgroup comments by Alain Bench, Christian Ebert,
+# and D P Schreber comparing to nsterm-c-s-acs.
+#
+# In Mac OS X version 10.4 and earlier, D P Schreber notes that $TERM
+# can be set in Terminal.app, e.g.,
+#
+#	defaults write com.apple.Terminal TermCapString nsterm-bce
+#
+# and that it is not set in Terminal's preferences dialog.
+#
+# Modified for OS X 10.8, omitting bw based on testing with tack -TD
+#
+# Notes:
+# * The terminal description matches the default settings.
+# * The keyboard is configurable via a dialog.
+# * By default khome, kend, knext and kprev are honored only with a
+#   shift-modifier.
+# * There are bindings for control left/right arrow (but not up/down).
+#   Added those to nsterm-16color, which is the version used for OS X 10.6
+# * "Allow VT100 application keypage mode" is by default disabled.
+#   There is no way to press keypad-comma unless application mode is enabled
+#   and used.
+# * 132-column mode stopped working during vttest's tests.  Consider it broken.
+# * CHT, REP, SU, SD are buggy.
+# * ECH works (also in Leopard), but is not used here for compatibility.
+# * The terminal preferences dialog replaces xterm-color by xterm-16color and
+#   xterm-256color.  However, it adds "nsterm", so it is possible to use the
+#   nsterm entry from this file to override the MacPorts (20110404) or
+#   system (20081102) copy of this file.
+# + In OS X 10.8 (Mountain Lion) the TERM which can be set in the preferences
+#   dialog defaults to xterm-256color.  Alternative selections are ansi,
+#   dtterm, rxvt, vt52, vt100, vt102, xterm and xterm-16color.  However,
+#   the menu says "Declare terminal as" without promising to actually emulate
+#   the corresponding terminals.  Indeed, changing TERM does not affect the
+#   emulation itself.  This means that
+#   + the function-keys do not match for dtterm for kf1-kf4 as well as
+#     khome/kend
+#   + the color model is the same for each setting of TERM (does not match
+#     ansi or dtterm).
+#   + the shift/control/meta key modifiers from rxvt and xterm variants are not
+#     recognised except for a few special cases, i.e., kRIT5 and kLFT5.
+#   + the VT52 emulation does not give a usable shell because screen-clearing
+#     does not work as expected.
+#   + selecting "xterm" or "xterm-16color" sets TERM to "xterm-256color".
+# + OSX 10.9 (Yosemite) added more extended keys in the default configuration
+#   as well as unmasking F10 (which had been used in the window manager). Those
+#   keys are listed in this entry.
+nsterm-bce|AppKit Terminal.app v71+/v100.1.8+ with Mac OS X version 10.3/10.4 (bce),
+	bce, use=nsterm-16color,
+
+# This is tested with OS X 10.8 (Mountain Lion), 2012/08/11
+#	TERM_PROGRAM_VERSION=309
+# Earlier reports state that these differences also apply to OS X 10.7 (Lion),
+#	TERM_PROGRAM_VERSION=303
+nsterm-build309|Terminal.app in OS X 10.8,
+	use=xterm+256setaf, use=nsterm-bce,
+
+# removed bogus kDC7 -TD
+nsterm-build326|Terminal.app in OS X 10.9,
+	kDC=\E[3;2~, kLFT=\E[1;2D, kRIT=\E[1;2C, kcbt=\E[Z,
+	kf18=\E[32~, kDC5=\E[3;5~, kLFT3=\Eb, kLFT5=\E[1;5D,
+	kRIT3=\Ef, kRIT5=\E[1;5C, use=nsterm-build309,
+
+# actually "343.7"
+nsterm-build343|Terminal.app in OS X 10.10,
+	kend=\EOF, khome=\EOH, use=nsterm-build326,
+
+# reviewed Terminal.app in El Capitan (version 2.6 build 361) -TD
+# Using vttest:
+# + no VT52 mode for cursor keys, though VT52 screen works in vttest
+# + f1-f4 map to pf1-pf4
+# + no VT220 support aside from DECTCEM and ECH
+# + there are no protected areas.  Forget about anything above VT220.
+# + in ECMA-48 cursor movement, VPR and HPR fail.  Others work.
+# + vttest color 11.6.4 and 11.6.5 (bce for ED/EL and ECH/indexing) are bce
+# + but bce fails for 11.6.7.2 (test repeat).
+# + SD (11.6.7.3) also fails, but SL/SR/SU work.
+# + 11.6.6 (test insert/delete char/line with bce) has several failures.
+# + normal (not X10 or Highlight tracking) mouse now works.
+# + mouse any-event works
+# + mouse button-event works
+# + in alternate screen:
+#   mode 47/48 work
+#   mode 1047 fails to restore cursor position (do not use)
+#   mode 1049 fails to restore screen contents (do not use)
+# + dtterm window-modify operations work (some messages are not printed)
+# + dtterm window-report gives size of window in characters/pixels as
+#   well as state of window.
+# Using tack:
+# + there is no difference between cnorm/cvvis
+# + has dim/invis/blink (no protect of course)
+# + most function keys with shift/control modifiers give beep
+#   (user can configure, but out-of-the-box is what I record)
+# + shift-F5 is \E[25~ through shift-F12 is \E[34~ (skips \E[30~ between
+#   F8 and F9).
+# + kLFT5/kRIT5 work, but not up/down with control-modifier
+# + kLFT/kRIT work, but not up/down with shift-modifier
+# + there are a few predefined bindings with Alt, but no clear pattern.
+# + uses alt-key as UTF-8 "meta" something like xterm altSendsEscape
+# Using ncurses test-program with xterm-new:
+# + no italics
+# Using xterm's scripts:
+# + palette for 256-colors is hardcoded.
+# + no support for "dynamic colors"
+# + no support for tcap-query.
+nsterm-build361|Terminal.app in OS X 10.11,
+	XT,
+	kmous=\E[M, use=nsterm-build343,
+
+# reviewed Terminal.app in High Sierra (version 2.8 build 400) -TD
+# Comparing with build361, little has changed, except that italics work.
+# Direct-color is not supported, by the way.
+#
+# Improved rmso/rmul -TD
+nsterm-build400|Terminal.app in OS X 10.13,
+	rmso=\E[27m, rmul=\E[24m, use=xterm+sm+1006,
+	use=ecma+italics, use=nsterm-build361,
+
+nsterm-build440|Terminal.app in MacOS 11.6.8,
+	use=xterm+alt1049, use=nsterm-build400,
+
+# This is an alias which should always point to the "current" version
+nsterm|nsterm-256color|Apple_Terminal|AppKit Terminal.app,
+	use=nsterm-build440,
+
+#### iTerm, iTerm2
+
+# iTerm 0.10
+#
+# iTerm.app from http://iterm.sourceforge.net/ is an alternative (and more
+# featureful) terminal emulator for Mac OS X.  It is similar enough in
+# capabilities to nsterm-16color that I have derived this description from that
+# one, but as far as I know they share no code.  Many of the features are
+# user-configurable, but I attempt only to describe the default configuration
+# (B. Sittler).
+#
+# According to its documentation, iTerm uses terminfo to obtain function key
+# definitions.  For example, if it is started with TERM=xterm, it uses key
+# definitions from that terminal description from the local OSX machine.  Those
+# $TERM settings may be augmented using the bookmark and profile dialogs.
+# However, the behavior seen with tack does not agree with either the terminfo
+# description or the function keys in its "xterm" profile.
+#
+# NOTES:
+# with vttest:
+#	reports primary DA as VT100 with AVO: \E[?1;2c
+#	reports secondary DA as "\E[>0;95;c"
+#	supports blink and underline
+#	displays bold text as red
+#	recognizes all dtterm controls for modifying/querying window
+#	resizing via escape sequence is very slow
+#	supports X11R5 mouse (no X10) and XFree86 mouse (button- and event-tracking)
+#	supports X11R5 alternate screen and XFree86 1049 (no 1047/1048)
+#	supports CHA, VPA, VPR, but no other ECMA-48 cursor movement such as HPA
+# with tack:
+#	.
+# with ncurses test-program:
+#	ncurses 'k' has problem in second screen; light background does not fill
+# with xterm scripts
+#	can display/alter xterm-256color cube
+#	can display/alter xterm-88color cube
+iTerm.app|iterm|iTerm.app terminal emulator for Mac OS X,
+	bce, mir, npc, xenl, xon,
+	wsl#50,
+	blink=\E[5m, bold=\E[1m, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, el1=\E[1K,
+	flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG,
+	kLFT=\E[1;2D, kRIT=\E[1;2C, kbs=^?, kcbt=\E[Z, kdch1=\E[3~,
+	kend=\EOF, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	knp=\E[6~, kpp=\E[5~, op=\E[0m, rev=\E[7m, ri=\EM,
+	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?
+	    %p9%t\016%e\017%;,
+	sgr0=\E[m\017, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
+	smul=\E[4m, vpa=\E[%i%p1%dd, kEND5=\E[1;5F,
+	kHOM5=\E[1;5H, use=ansi+apparrows, use=ansi+csr,
+	use=ansi+enq, use=ansi+erase, use=ansi+idc, use=ansi+idl,
+	use=ansi+local, use=vt100+4bsd, use=vt100+keypad,
+	use=vt100+pfkeys, use=xterm+alt47, use=xterm+sl-twm,
+	use=xterm+x11mouse, use=xterm+256setaf, use=vt220+cvis,
+
+# iTerm2 3.0.15
+#
+# https://iterm2.com/
+# https://github.com/gnachman/iTerm2
+# ~/Library/Preferences/com.googlecode.iterm2.plist
+# "iTerm" stalled in 2009.  A different set of developers began "iTerm2".
+#
+# NOTES:
+# with vttest:
+#	reports primary DA as VT100 with AVO: \E[?1;2c
+#	reports secondary DA as "\E[>0;95;0c"
+#	numeric keypad application mode does not work
+#	by default, dtterm window-modifications are ignored
+#	by default, dtterm window-reports return, but icon as "L", window as "l"
+#	supports SD/SU, no REP, SL, SR
+#	supports CBT, CHA, VPA, CNL, CPL, VPR (no HPA, CHT, HPR)
+#	no improvement to XFree86 1047/1048 modes
+# with tack:
+#	in meta-mode, imitates xterm, sending UTF-8
+#	special-key modifiers based on xterm use incompatible default for alt/meta
+# with ncurses test-program:
+#	no italics
+#	no improvement to ncurses 'k'
+# with xterm scripts:
+#	acolors.sh works
+#
+# Italic text did not work initially, apparently because upgrading did not
+# add/change that preference (set in Preferences, Profiles, Text).  A new
+# install of iTerm 3.0.15 provides italics by default (blinking text is an
+# option in the preferences dialog).
+#
+# 2018/01/21: found xterm+sm+1006 did not work with version 3.1.5
+# 2018/05/19: xterm+sm+1006 seems to work with 3.1.6beta -TD
+iTerm2.app|iterm2|terminal emulator for Mac OS X,
+	cbt=\E[Z, dim=\E[2m, kEND=\E[1;2F, kHOM=\E[1;2H, ka1@, ka3@,
+	kb2@, kc1@, kc3@, kent@, kf13=\E[1;2P, kf14=\E[1;2Q,
+	kf15=\E[1;2R, kf16=\E[1;2S, kf17=\E[15;2~, kf18=\E[17;2~,
+	kf19=\E[18;2~, kf20=\E[19;2~, kf21=\E[20;2~,
+	kf22=\E[21;2~, kf23=\E[23;2~, kf24=\E[24;2~,
+	kind=\E[1;2B, kri=\E[1;2A, nel=\EE, op=\E[39;49m,
+	rmso=\E[27m, rmul=\E[24m,
+	rs2=\E[!p\E[?3;4l\E[4l\E>\E[?1000l,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+	    %p5%t;2%;m%?%p9%t\016%e\017%;,
+	kDN3=\E\E[B, kDN4=\E[1;10B, kDN5=\E[1;5B, kDN6=\E[1;6B,
+	kEND3=\E[1;9F, kEND4=\E[1;10F, kEND6=\E[1;6F,
+	kEND7=\E[1;13F, kEND8=\E[1;14F, kHOM3=\E[1;9H,
+	kHOM4=\E[1;10H, kHOM6=\E[1;6H, kHOM7=\E[1;13H,
+	kHOM8=\E[1;14H, kLFT3=\E\E[D, kLFT4=\E[1;10D,
+	kLFT5=\E[1;5D, kLFT6=\E[1;6D, kNXT3=\E\E[6~,
+	kPRV3=\E\E[5~, kRIT3=\E\E[C, kRIT4=\E[1;10C,
+	kRIT5=\E[1;5C, kRIT6=\E[1;6C, kUP3=\E\E[A, kUP4=\E[1;10A,
+	kUP5=\E[1;5A, kUP6=\E[1;6A, use=ecma+index,
+	use=xterm+alt+title, use=ecma+italics, use=iterm,
+	use=bracketed+paste,
+
+# xnuppc - Darwin PowerPC Console (a.k.a. "darwin")
+#
+# On PowerPC platforms, Apple's Darwin operating system uses a
+# full-screen system console derived from a NetBSD framebuffer
+# console. It is an ANSI-style terminal, and is not really VT-100
+# compatible.
+#
+# Under Mac OS X, this is the system console driver used while in
+# single-user mode [reachable by holding down Command-S during the
+# boot process] and when logged in using console mode [reachable by
+# typing ">console" at the graphical login prompt.]
+#
+# If you're looking for a description of the Terminal.app terminal
+# emulator which runs under the Mac OS X Quartz windowing system (and
+# other AppKit-supported windowing systems,) see the "nsterm"
+# entry instead.
+#
+# NOTE: Under Mac OS X version 10.1, the default login window does not
+# prompt for user name, instead requiring an icon to be selected from
+# a list of known users. Since the special ">console" login is not in
+# this list, you must make one of two changes in the Login Window
+# panel of the Login section of System Prefs to make the special
+# ">console" login accessible. The first option is to enable 'Show
+# "Other User" in list for network users', which will add a special
+# "Other..." icon to the graphical login panel. Selecting "Other..."
+# will present the regular graphical login prompt. The second option
+# is to change the 'Display Login Window as:' setting to 'Name and
+# password entry fields', which replaces the login panel with a
+# graphical login prompt.
+#
+# There are no function keys, at least not in Darwin 1.3.
+#
+# It has no mouse support.
+#
+# It has full ANSI color support, and color combines correctly with
+# all three supported attributes: bold, inverse-video and underline.
+# However, bold colored text is almost unreadable (bolding is
+# accomplished using shifting and or-ing, and looks smeared) so bold
+# has been excluded from the list of color-compatible attributes
+# [using (ncv)]. The monochrome entry (-m) is useful if you use a
+# monochrome monitor.
+#
+# There is one serious bug with this terminal emulation's color
+# support: repositioning the cursor onto a cell with non-matching
+# colors obliterates that cell's contents, replacing it with a blank
+# and displaying a colored cursor in the "current" colors. There is
+# no complete workaround at present [other than using the monochrome
+# (-m) entries,] but removing the (msgr) capability seemed to help.
+#
+# The "standout" chosen was simple reverse-video, although a colorful
+# standout might be more aesthetically pleasing. Similarly, the bold
+# chosen is the terminal's own smeared bold, although a simple
+# color-change might be more readable. The color-bold (-b) entries
+# uses magenta colored text for bolding instead. The fancy color (-f
+# and -f2) entries use color for bold, standout and underlined text
+# (underlined text is still underlined, though.)
+#
+# Apparently the terminal emulator does support a VT-100-style
+# alternate character set, but all the alternate character set
+# positions have been left blank in the font. For this reason, no
+# alternate character set capabilities have been included in this
+# description. The console driver appears to be ASCII-only, so (enacs)
+# has been excluded [although the VT-100 sequence does work.]
+#
+# The default Mac OS X and Darwin installation reports "vt100" as the
+# terminal type, and exports no helpful environment variables. To fix
+# this, change the "console" entry in /etc/ttys from "vt100" to
+# "xnuppc-WxH", where W and H are the character dimensions of your
+# console (see below.)
+#
+# The font used by the terminal emulator is apparently one originally
+# drawn by Ka-Ping Yee, and uses 8x16-pixel characters. This
+# file includes descriptions for the following geometries:
+#
+#     Pixels        Characters   Entry Name (append -m for monochrome)
+#    -------------------------------------------------------------------
+#     640x400       80x25        xnuppc-80x25
+#     640x480       80x30        xnuppc-80x30
+#     720x480       90x30        xnuppc-90x30
+#     800x600       100x37       xnuppc-100x37
+#     896x600       112x37       xnuppc-112x37
+#     1024x640      128x40       xnuppc-128x40
+#     1024x768      128x48       xnuppc-128x48
+#     1152x768      144x48       xnuppc-144x48
+#     1280x1024     160x64       xnuppc-160x64
+#     1600x1024     200x64       xnuppc-200x64
+#     1600x1200     200x75       xnuppc-200x75
+#     2048x1536     256x96       xnuppc-256x96
+#
+# The basic "xnuppc" entry includes no size information, and the
+# emulator includes no reporting capability, so you'll be at the mercy
+# of the TTY device (which reports incorrectly on my hardware.) The
+# color-bold entries do not include size information.
+
+# The '+' entries are building blocks
+xnuppc+basic|Darwin PowerPC console basic capabilities,
+	am, bce, mir, xenl, NQ,
+	it#8,
+	bold=\E[1m, cr=\r, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	dsl=\E]2;\007, el1=\E[1K, home=\E[H, ht=^I, hts=\EH, ind=\n,
+	kbs=^?, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	rev=\E[7m, ri=\EM, rmam=\E[?7l, rmkx=\E[?1l\E>,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+	sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, tbc=\E[3g,
+	use=ansi+csr, use=ansi+erase, use=ansi+local,
+	use=ansi+sgrso, use=ansi+sgrul, use=vt100+keypad,
+
+xnuppc+c|Darwin PowerPC console ANSI color support,
+	ncv#32, use=klone+color,
+
+xnuppc+b|Darwin PowerPC console color-bold support,
+	ncv#32,
+	bold=\E[35m,
+	sgr=\E[0%?%p6%t;35%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m,
+	use=xnuppc+basic,
+
+xnuppc+f|Darwin PowerPC console fancy color support,
+	ncv#35,
+	sgr=\E[0%?%p6%t;35%;%?%p2%t;36;4%;%?%p1%t;33;44%;%?%p3%t;7%;
+	    m,
+	smso=\E[33;44m, smul=\E[36;4m, use=xnuppc+b,
+
+xnuppc+f2|Darwin PowerPC console alternate fancy color support,
+	ncv#35,
+	bold=\E[33m,
+	sgr=\E[0%?%p6%t;33%;%?%p2%t;34%;%?%p1%t;31;47%;%?%p3%t;7%;m,
+	smso=\E[31;47m, smul=\E[34m, use=xnuppc+basic,
+
+# Building blocks for specific screen sizes
+xnuppc+80x25|Darwin PowerPC console 80x25 support (640x400 pixels),
+	cols#80, lines#25,
+
+xnuppc+80x30|Darwin PowerPC console 80x30 support (640x480 pixels),
+	cols#80, lines#30,
+
+xnuppc+90x30|Darwin PowerPC console 90x30 support (720x480 pixels),
+	cols#90, lines#30,
+
+xnuppc+100x37|Darwin PowerPC console 100x37 support (800x600 pixels),
+	cols#100, lines#37,
+
+xnuppc+112x37|Darwin PowerPC console 112x37 support (896x600 pixels),
+	cols#112, lines#37,
+
+xnuppc+128x40|Darwin PowerPC console 128x40 support (1024x640 pixels),
+	cols#128, lines#40,
+
+xnuppc+128x48|Darwin PowerPC console 128x48 support (1024x768 pixels),
+	cols#128, lines#48,
+
+xnuppc+144x48|Darwin PowerPC console 144x48 support (1152x768 pixels),
+	cols#144, lines#48,
+
+xnuppc+160x64|Darwin PowerPC console 160x64 support (1280x1024 pixels),
+	cols#160, lines#64,
+
+xnuppc+200x64|Darwin PowerPC console 200x64 support (1600x1024 pixels),
+	cols#200, lines#64,
+
+xnuppc+200x75|Darwin PowerPC console 200x75 support (1600x1200 pixels),
+	cols#200, lines#75,
+
+xnuppc+256x96|Darwin PowerPC console 256x96 support (2048x1536 pixels),
+	cols#0x100, lines#96,
+
+# These are different combinations of the building blocks
+
+xnuppc-m|darwin-m|Darwin PowerPC console (monochrome),
+	use=xnuppc+basic,
+
+xnuppc|darwin|Darwin PowerPC console (color),
+	use=xnuppc+c, use=xnuppc+basic,
+
+xnuppc-m-b|darwin-m-b|Darwin PowerPC console (monochrome w/color-bold),
+	use=xnuppc+b,
+
+xnuppc-b|darwin-b|Darwin PowerPC console (color w/color-bold),
+	use=xnuppc+b, use=xnuppc+c,
+
+xnuppc-m-f|darwin-m-f|Darwin PowerPC console (fancy monochrome),
+	use=xnuppc+f,
+
+xnuppc-f|darwin-f|Darwin PowerPC console (fancy color),
+	use=xnuppc+f, use=xnuppc+c,
+
+xnuppc-m-f2|darwin-m-f2|Darwin PowerPC console (alternate fancy monochrome),
+	use=xnuppc+f2,
+
+xnuppc-f2|darwin-f2|Darwin PowerPC console (alternate fancy color),
+	use=xnuppc+f2, use=xnuppc+c,
+
+# Combinations for specific screen sizes
+xnuppc-80x25-m|darwin-80x25-m|Darwin PowerPC console (monochrome) 80x25,
+	use=xnuppc+80x25, use=xnuppc+basic,
+
+xnuppc-80x25|darwin-80x25|Darwin PowerPC console (color) 80x25,
+	use=xnuppc+c, use=xnuppc+80x25, use=xnuppc+basic,
+
+xnuppc-80x30-m|darwin-80x30-m|Darwin PowerPC console (monochrome) 80x30,
+	use=xnuppc+80x30, use=xnuppc+basic,
+
+xnuppc-80x30|darwin-80x30|Darwin PowerPC console (color) 80x30,
+	use=xnuppc+c, use=xnuppc+80x30, use=xnuppc+basic,
+
+xnuppc-90x30-m|darwin-90x30-m|Darwin PowerPC console (monochrome) 90x30,
+	use=xnuppc+90x30, use=xnuppc+basic,
+
+xnuppc-90x30|darwin-90x30|Darwin PowerPC console (color) 90x30,
+	use=xnuppc+c, use=xnuppc+90x30, use=xnuppc+basic,
+
+xnuppc-100x37-m|darwin-100x37-m|Darwin PowerPC console (monochrome) 100x37,
+	use=xnuppc+100x37, use=xnuppc+basic,
+
+xnuppc-100x37|darwin-100x37|Darwin PowerPC console (color) 100x37,
+	use=xnuppc+c, use=xnuppc+100x37, use=xnuppc+basic,
+
+xnuppc-112x37-m|darwin-112x37-m|Darwin PowerPC console (monochrome) 112x37,
+	use=xnuppc+112x37, use=xnuppc+basic,
+
+xnuppc-112x37|darwin-112x37|Darwin PowerPC console (color) 112x37,
+	use=xnuppc+c, use=xnuppc+112x37, use=xnuppc+basic,
+
+xnuppc-128x40-m|darwin-128x40-m|Darwin PowerPC console (monochrome) 128x40,
+	use=xnuppc+128x40, use=xnuppc+basic,
+
+xnuppc-128x40|darwin-128x40|Darwin PowerPC console (color) 128x40,
+	use=xnuppc+c, use=xnuppc+128x40, use=xnuppc+basic,
+
+xnuppc-128x48-m|darwin-128x48-m|Darwin PowerPC console (monochrome) 128x48,
+	use=xnuppc+128x48, use=xnuppc+basic,
+
+xnuppc-128x48|darwin-128x48|Darwin PowerPC console (color) 128x48,
+	use=xnuppc+c, use=xnuppc+128x48, use=xnuppc+basic,
+
+xnuppc-144x48-m|darwin-144x48-m|Darwin PowerPC console (monochrome) 144x48,
+	use=xnuppc+144x48, use=xnuppc+basic,
+
+xnuppc-144x48|darwin-144x48|Darwin PowerPC console (color) 144x48,
+	use=xnuppc+c, use=xnuppc+144x48, use=xnuppc+basic,
+
+xnuppc-160x64-m|darwin-160x64-m|Darwin PowerPC console (monochrome) 160x64,
+	use=xnuppc+160x64, use=xnuppc+basic,
+
+xnuppc-160x64|darwin-160x64|Darwin PowerPC console (color) 160x64,
+	use=xnuppc+c, use=xnuppc+160x64, use=xnuppc+basic,
+
+xnuppc-200x64-m|darwin-200x64-m|Darwin PowerPC console (monochrome) 200x64,
+	use=xnuppc+200x64, use=xnuppc+basic,
+
+xnuppc-200x64|darwin-200x64|Darwin PowerPC console (color) 200x64,
+	use=xnuppc+c, use=xnuppc+200x64, use=xnuppc+basic,
+
+xnuppc-200x75-m|darwin-200x75-m|Darwin PowerPC console (monochrome) 200x75,
+	use=xnuppc+200x75, use=xnuppc+basic,
+
+xnuppc-200x75|darwin-200x75|Darwin PowerPC console (color) 200x75,
+	use=xnuppc+c, use=xnuppc+200x75, use=xnuppc+basic,
+
+xnuppc-256x96-m|darwin-256x96-m|Darwin PowerPC console (monochrome) 256x96,
+	use=xnuppc+256x96, use=xnuppc+basic,
+
+xnuppc-256x96|darwin-256x96|Darwin PowerPC console (color) 256x96,
+	use=xnuppc+c, use=xnuppc+256x96, use=xnuppc+basic,
+
+######## DOS/WINDOWS
+# CRT is shareware.  It implements some xterm features, including mouse.
+crt|crt-vt220|CRT 2.3 emulating VT220,
+	bce,
+	ncv@, use=vt100+enq, use=vt220-base, use=ecma+color,
+
+# SecureCRT 8.7.3.2279
+# 8.7.3 was released 2020/08/11
+# (eval 2021/02/05)
+# VanDyke Software, Inc.
+#
+# Advertised features:
+#	Xterm 24-bit color
+#	Xterm 256-color
+#	Double-size characters
+#	Xterm extensions for mouse support and changing title bar
+#	Emulates VT100, VT102, VT220, VT320, Linux console, SCO ANSI,
+#	TN3270, TVI910, TVI925, Wyse 50/60, and ANSI.
+# Changes:
+#	Added ANSI sc/rc and REP in 2019/12/17
+#	Added TVI910/ TVI925 in 2019/11/20	
+#
+# Default:
+#	Emulate "Xterm", using "ANSI with 256color"
+#	TERM=xterm-256color
+#
+# vttest:
+#	DA1 \E[?62;1;2;6;7;8;9c (vt220 with DRCS and NRCS)
+#	DA2 \E[>1;136;0c
+#	double-sized characters do not work
+#	Menu-1 fails (window resizes to 132-columns, but does not repaint)
+#	NRCS fails (tried French, but none of the replacements worked)
+#	VT100 line-drawing works, except the C/R, etc., are an hline.
+#	VT52 works except for S8C1T bug.
+#	RIS hangs the terminal.
+#	Local SRM does not echo.
+#	Some of the VT320/VT220 status reports work, not locator or DECXCPR
+#	DECUDK works if I press shift.
+#	Fails CHT, CNL, CPL
+#	Does not honor bce with ECH
+#	ERM/SPA does not work
+#	REP has 11 +'s except for final 2 +'s, like PuTTY.
+#	Fails SL/SR
+#	DECRPM does not respond.
+#	dtterm modify/report operations do not work
+#	Alternate screen works.
+#	Mouse:
+#		highlight tracking does not work.
+#		any event tracking does not work, but
+#		button event tracking does work.
+#		DEC locator does not work.
+#		SGR coordinates does not work.
+# ncurses:
+#	reset6 does reset to 80-columns
+#	ncurses RGB edit does not work.
+#	direct colors don't work, probably needs semicolons.
+# tack:
+#	blink works, but not dim or invis
+#	no italics or crossed-out
+# scripts:
+#	256color handles "-r" option (but test/ncurses menu d does not alter)
+#	dynamic colors queries do not work, though it seems some can be set.
+#	resize.pl gets no reply, resize.sh needs fix for no reply.
+scrt|securecrt|SecureCRT emulating xterm-256color,
+	bce@, km@, npc,
+	bel@, cvvis@, kcbt=\E[Z, use=vt220+pcedit,
+	use=xterm+256setaf, use=ecma+index, use=ansi+rep,
+	use=xterm+keypad, use=xterm+pcfkeys, use=xterm-basic,
+
+# Absolute Telnet
+# (eval 2021/02/20)
+# 11.24 was released 2020/08/13
+# Celestial Software
+#
+# Advertised features:
+#	Emacs compatibility mode (Meta Keys can be enabled for left/right ALT)
+#	Double-size characters
+#	Xterm extensions for mouse support
+#	Emulates VT52, VT100, VT220, VT320, ansi, xterm, qnx, scoansi,
+#	ANSIBBS, WYSE60, TeleVideo 950.
+#
+# Default:
+#	TERM=xterm
+#
+# vttest:
+#	DA1: \E[?62;1;2;6;7;8;9;15;22c (VT200 with DRCS, UDK, NRCS) 
+#	DA2: \E[>1;10;0c 
+#	However:
+#	+ NRCS tests do not work
+#	+ DECUDK test fails
+#	+ VT100 double-sized characters work
+#	menu-1 autowrap does not work
+#	supports blinking text
+#	VT220 DECSCA last screen (ignoring ECH, etc), leaves fill on top/left
+#	VT220 device status reports fail, except operating status
+#	8-bit controls work
+#	xterm alternate screen recognized, but cursor restored incorrectly
+#	xterm mouse (normal, any event, button event) works
+#	xterm highlight-mouse does not work properly, confused with any-event
+#	does not recognize SGR-mouse mode
+#	supports xterm window-modifiny/reporting controls
+#	supports ECMA-48 cursor movement except HPR
+#	supports REP and SD, but not ECMA-48 SL, SR, SU
+# tack:
+#	italics and crossed-out do not work
+#	supports xterm-style modified function-keys, using X11R6 F1-F4.
+#	does not support modified cursor-keys or editing-keys
+#	uses VT220-style Home/End
+#	if alt-keys are enabled,
+#		meta-mode sends escape rather than shifting, in 7-bit mode
+#		meta-mode does the expected shifting in 8-bit mode
+# scripts:
+#	supports 256-colors, including changing palette (ncurses menu d works)
+#	supports UTF-8, but honors VT100 line-drawing
+absolute|Absolute Telnet emulating xterm,
+	kcbt=\E[Z, use=ecma+index, use=linux+kbs, use=ansi+rep,
+	use=vt220+pcedit, use=xterm+keypad, use=xterm+app,
+	use=xterm+pcf0, use=xterm+256color, use=xterm+x11mouse,
+	use=xterm-basic,
+
+#### PuTTY
+# http://www.chiark.greenend.org.uk/~sgtatham/putty/
+#
+# PuTTY 0.78 (September 2020, tested 12 August 2023)
+# Testing with tack:
+#	implements cross-out text (shortly after 0.74)
+#	restore kLFT as kLFT5, etc. (mentioned in October 2021)
+#	does not support direct-colors (mentioned in July 2021)
+#
+# PuTTY 0.74 (27 June 2020)
+#	(unchanged)
+#
+# PuTTY 0.73 (September 2019)
+# Testing with tack:
+#	does not implement italics
+#	does not implement cross-out text
+#	its settings dialog allows some of the VT100 line-drawing tests to pass
+#	(not the padding test, though)
+# Testing with vttest:
+#	xterm mouse modes are incomplete: X10, highlight, any-event, and focus in/out modes are not implemented.
+#	does not implement protected areas
+#	does not implement SL/SR
+#
+# PuTTY 0.71 (March 2019) provided a workable "rep" capability.  It also
+# changed longstanding keypad assignments, so that these no longer apply:
+#	kLFT=\E[D, kRIT=\E[C, kb2=\E[G,
+#
+# PuTTY recognized xterm's 1006 mouse mode in late 2015; subsequent release was
+# in 2017 (0.70) -TD
+#
+# Comparing with 0.51, vttest is much better (only a few problems with the
+# cursor position reports and wrapping).
+#
+# PuTTY 0.51 (14 December 2000)
+#
+# This emulates VT100 + VT52 (plus a few VT220 features:  ech, SRM, DECTCEM, as
+# well as SCO and Atari, color palettes from Linux console).  Reading the code,
+# it is intended to be VT102 plus selected features.  By default, it sets $TERM
+# to xterm, which is incorrect, since several features are misimplemented:
+#
+#	Alt+key always sends ESC+key, so 'km' capability is removed.
+#
+#	Control responses, wrapping and tabs are buggy, failing a couple of
+#	screens in vttest.
+#
+#	xterm mouse support is not implemented (unreleased version may).
+#
+# Several features such as backspace/delete are optional; this entry documents
+# the default behavior.  None of the combinations of keyboard settings match
+# those used for xterm -TD
+#
+# PuTTY recognizes xterm's 1049 mode for switching to/from alternate screen,
+# but implements it incorrectly as mentioned here:
+#	http://stackoverflow.com/questions/24613237/terminal-retains-bg-color-after-closing-vim-using-color-scheme-and-putty-256co/37869114#37869114
+putty|PuTTY terminal emulator,
+	am, bce, bw, ccc, mir, msgr, xenl, xon, XT,
+	it#8, ncv#22, U8#1,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, cr=\r, cub1=^H, cud1=\ED, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\EM, dch=\E[%p1%dP, dch1=\E[P,
+	dispc=%?%p1%{8}%=%t\E%%G\342\227\230\E%%@%e%p1%{10}%=%t\E%%G
+	      \342\227\231\E%%@%e%p1%{12}%=%t\E%%G\342\231\0\E%%@%e
+	      %p1%{13}%=%t\E%%G\342\231\252\E%%@%e%p1%{14}%=%t\E%%G
+	      \342\231\253\E%%@%e%p1%{15}%=%t\E%%G\342\230\274\E%%@
+	      %e%p1%{27}%=%t\E%%G\342\206\220\E%%@%e%p1%{155}%=%t\E
+	      %%G\340\202\242\E%%@%e%p1%c%;,
+	ech=\E[%p1%dX, el1=\E[1K, enacs=\E(B\E)0,
+	flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+	ind=\n,
+	initc=\E]P%p1%x%p2%{255}%*%{1000}%/%02x%p3%{255}%*%{1000}%/
+	      %02x%p4%{255}%*%{1000}%/%02x,
+	is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>\E]R,
+	kbs=^?, kcbt=\E[Z, khome=\E[1~, kind=\E[B, kri=\E[A, kspd=^Z,
+	nel=\r\n, oc=\E]R, op=\E[39;49m, ri=\EM, rmacs=^O,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+	rmul=\E[24m,
+	rs2=\E<\E["p\E[50;6"p\Ec\E[?3l\E]R\E[?1000l,
+	s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, vpa=\E[%i%p1%dd, E3=\E[3J,
+	use=ansi+apparrows, use=ansi+csr, use=ansi+erase,
+	use=ansi+idl, use=ansi+local, use=ansi+tabs,
+	use=ansi+rep, use=bracketed+paste, use=ecma+index,
+	use=ecma+strikeout, use=klone+color, use=klone+sgr,
+	use=putty+cursor, use=putty+fnkeys, use=vt220+pcedit,
+	use=xterm+alt1049, use=vt102+enq, use=xterm+sm+1006,
+	use=xterm+sl, use=vt100+fnkeys, use=putty+keypad,
+	use=vt220+cvis,
+
+# older versions (e.g., before 0.71) of PuTTY used a shift-modifier to toggle
+# between normal- and application-mode for the cursor-keys.  That was dropped,
+# and a few years later (after 0.74) restored as the control-modifier.
+putty+cursor|PuTTY modified cursor-keys,
+	kDN5=\E[B, kLFT5=\E[D, kRIT5=\E[C, kUP5=\E[A,
+putty+keypad|PuTTY numeric keypad,
+	kp1=\EOq, kp2=\EOr, kp3=\EOs, kp4=\EOt, kp5=\EOu, kp6=\EOv,
+	kp7=\EOw, kp8=\EOx, kp9=\EOy, kpADD=\EOl, kpDIV=\EOQ,
+	kpDOT=\EOn, kpMUL=\EOR, kpNUM=\EOP, kpSUB=\EOS, kpZRO=\EOp,
+
+vt100-putty|Reset PuTTY to pure VT100,
+	rs2=\E<\E["p\Ec\E[?3l\E]R\E[40"p\E[61"p\E[50;1;2"p,
+	use=vt100,
+putty-256color|PuTTY 0.58 with xterm 256-colors,
+	use=xterm+256setaf, use=putty,
+putty-noapp|putty with cursor keys in normal mode,
+	kLFT=\EOD, kRIT=\EOC, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kind=\EOB, kri=\EOA, rmkx=\E>, smkx=\E=,
+	use=putty,
+
+# One of the keyboard selections is "VT100+".
+# pterm (the X11 port) uses shifted F1-F10 as F11-F20
+putty-vt100|VT100+ keyboard layout,
+	use=putty+fnkeys+vt100, use=putty,
+
+putty-sco|putty with SCO function keys,
+	use=putty+fnkeys+sco, use=putty,
+
+# PuTTY has more than one section in its Keyboard configuration:
+# a) backspace/delete, which we ignore since that choice largely depends on
+#    whether one matches Unix and BSD or Linux.
+# b) home/end keys, also ignored because the "rxvt" setting sends keys which
+#    are unrelated to rxvt's actual settings.
+# c) function keys and keypad - this is the interesting part.  None of the
+#    selections match any of their respective namesakes, but they are shown
+#    here to help users who expect that the selections do what is implied.
+#
+# This is the default setting for PuTTY
+putty+fnkeys|fn-keys for PuTTY,
+	use=putty+fnkeys+esc,
+
+putty+fnkeys+esc|ESC[n~ fn-keys for PuTTY,
+	kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
+	kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+
+putty+fnkeys+linux|Linux fn-keys for PuTTY,
+	kf1=\E[[A, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+	use=putty+fnkeys+esc,
+
+putty+fnkeys+xterm|Xterm R6 fn-keys for PuTTY,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	use=putty+fnkeys+esc,
+
+putty+fnkeys+vt400|VT400 fn-keys for PuTTY,
+	use=putty+fnkeys+esc,
+
+# Shifted F1 is F11.  F13-F20 inherit from the defaults, and the last distinct
+# key is F20.
+putty+fnkeys+vt100|VT100+ fn-keys for PuTTY,
+	kf1=\EOP, kf10=\EOY, kf11=\EOZ, kf12=\EO[, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+	kf9=\EOX, use=putty+fnkeys+esc,
+
+# Unlike xterm-sco, this leaves kmous ambiguous with kf1.
+#
+# Use modifiers to obtain function keys past 12:
+# F1-F12 - normal
+# F13-F24 - shift
+# F25-F36 - control/alt
+# F37-F48 - control/shift
+#
+putty+fnkeys+sco|SCO fn-keys for PuTTY,
+	kbeg=\E[E, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=^?, kend=\E[F, kf1=\E[M, kf10=\E[V, kf11=\E[W,
+	kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a, kf16=\E[b,
+	kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N, kf20=\E[f,
+	kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j, kf25=\E[k,
+	kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o, kf3=\E[O,
+	kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s, kf34=\E[t,
+	kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x, kf39=\E[y,
+	kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[, kf43=\E[\\,
+	kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`, kf48=\E[{,
+	kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, khome=\E[H,
+	kich1=\E[L, knp=\E[G, kpp=\E[I,
+
+#### mintty
+# https://github.com/mintty/mintty
+#
+# Originally a fork (and reduction) of PuTTY, this has grown from 15ksloc in
+# 2013 to 41ksloc in 2020.  That is still smaller than PuTTY (160ksloc), but
+# larger than rxvt (31ksloc) and slightly smaller than rxvt-unicode (42ksloc).
+#
+# Version 3.0 responds to DA as a VT400, however it does not implement the
+# application keypad.  The assignment of cursor-keys versus modifiers differs
+# from xterm (alt-left and alt-right send modifier 7, i.e., alt+control).
+#
+# Thomas Wolff suggested these extensions:
+#	blink2   turn on rapid blinking
+#	blink0   turn off blinking
+#	norm     turn off bold and half-bright mode
+#	opaq     turn off blank mode
+#	smul2    begin double underline mode
+#	smol     begin overline mode
+#	rmol     exit overline mode
+#	Font0    use default font
+#	Font1    use alternative font 1
+#	...
+#	Font10   use alternative font 10
+#	setal    set (under)line color
+#	ol       set default (under)line color
+#	overs    overstrike (print characters over each other)
+#
+# but see vte-2018 (use Smol/Rmol rather than smol/rmol).
+mintty|Cygwin Terminal,
+	setal=\E[5%p1%dm, use=xterm+256color,
+	use=mintty+common,
+mintty-direct|Cygwin Terminal direct-color,
+	use=kitty+setal, use=xterm+direct, use=mintty+common,
+mintty+common|shared capabilities for mintty,
+	km@, npc,
+	kcbt=\E[Z, kent=\EOM, rmm@, rmpch=\E[10m,
+	rs1=\Ec\E]104\007, rshm=\E[22m, rsubm=\E[75m,
+	rsupm=\E[75m, smm@, smpch=\E[11m, sshm=\E[1:2m,
+	ssubm=\E[74m, ssupm=\E[73m, Rmol=\E[55m, Smol=\E[53m,
+	Smulx=\E[4:%p1%dm, blink2=\E[6m, norm=\E[22m,
+	opaq=\E[28m, smul2=\E[21m, use=linux+kbs, use=ansi+rep,
+	use=ecma+strikeout, use=ecma+index, use=vt420+lrmm,
+	use=xterm+focus, use=xterm+sm+1006, use=xterm+pcfkeys,
+	use=xterm+tmux, use=ecma+italics, use=xterm-basic,
+	use=bracketed+paste, use=report+version,
+# 2019-06-09: These capabilities are commented-out for compatibility with
+# existing releases 5.9-6.1, and may be considered for inclusion after the
+# release of ncurses 6.2:
+#	Font0=\E[10m,
+#	Font1=\E[11m,
+#	Font2=\E[12m,
+#	Font3=\E[13m,
+#	Font4=\E[14m,
+#	Font5=\E[15m,
+#	Font6=\E[16m,
+#	Font7=\E[17m,
+#	Font8=\E[18m,
+#	Font9=\E[19m,
+#	Font10=\E[20m,
+#	blink0=\E[25m,
+#	ol=\E[59m,
+#	overs=\E[8\:7m,
+
+#### TeraTerm
+
+# This entry is for Tera Term Pro version 2.3, for MS-Windows 95/NT written by
+# T. Teranishi dated Mar 10, 1998.  It is a free software terminal emulator
+# (communication program) which supports:
+#
+#	- Serial port connections.
+#	- TCP/IP (telnet) connections.
+#	- VT100 emulation, and selected VT200/300 emulation.
+#	- TEK4010 emulation.
+#	- File transfer protocols (Kermit, XMODEM, ZMODEM, B-PLUS and
+#	  Quick-VAN).
+#	- Scripts using the "Tera Term Language".
+#	- Japanese and Russian character sets.
+#
+# The program does not come with terminfo or termcap entries.  However, the
+# emulation (testing with vttest and ncurses) is reasonably close to VT100 (no
+# VT52 or doublesize character support; blinking is done with color).  Besides
+# the HPA, VPA extensions it also implements CPL and CNL.
+#
+# All of the function keys can be remapped.  This description shows the default
+# mapping, as installed.  Both VT100 PF1-PF4 keys and quasi-vt220 F1-F4 keys
+# are supported.  F13-F20 are obtained by shifting F3-F10.  The editing keypad
+# is laid out like VT220, rather than the face codes on the PC keyboard, i.e,
+#	kfnd	Insert
+#	kslt	Delete
+#	kich1	Home
+#	kdch1	PageUp
+#	kpp	End
+#	knp	PageDown
+#
+# ANSI colors are implemented, but cannot be combined with video attributes
+# except for reverse.
+#
+# No fonts are supplied with the program, so the acsc string is chosen to
+# correspond with the default Microsoft terminal font.
+#
+# Tera Term recognizes some xterm sequences, including those for setting and
+# retrieving the window title, and for setting the window size (i.e., using
+# "resize -s"), though it does not pass SIGWINCH to the application if the
+# user resizes the window with the mouse.
+teraterm2.3|Tera Term Pro 2.3,
+	km,
+	ncv#43, vt@,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
+	     \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
+	     \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	blink=\E[5m, bold=\E[1m, clear=\E[H\E[J, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
+	dch1=\E[P, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+	flash=\E[?5h$<200/>\E[?5l, hpa=\E[%i%p1%dG, kf1=\E[11~,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~,
+	kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, op=\E[100m, rev=\E[7m, ri=\EM,
+	rmso=\E[27m, rmul=\E[24m, sgr0=\E[0m\017, smso=\E[7m,
+	smul=\E[4m, vpa=\E[%i%p1%dd, use=ansi+idl,
+	use=vt220+vtedit, use=vt100+enq, use=klone+color,
+	use=vt100, use=vt220+cvis,
+
+# Version 4.59 has regular VT100 line-drawing (so it is no longer necessary
+# to choose a Windows OEM font).
+#
+# Testing with tack:
+#	- it does not have xenl (suppress that)
+#	- underline seems to work with color (modify ncv).
+# Testing with vttest:
+#	- wrapping differs from VT100 (menu 1).
+#	- it recognizes xterm's X10 and normal mouse tracking, but none of the
+#	  other flavors.
+#	- it recognizes the dtterm window controls for reporting size in
+#	  characters and pixels.
+#	- it passes SIGWINCH.
+teraterm4.59|Tera Term Pro 4.59,
+	bce, xenl@,
+	ncv#41,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	kmous=\E[M, use=teraterm2.3,
+
+# Version 4.97
+#
+# Testing with tack:
+#	- no bell (flash works)
+#	- bold is yellow, blink is red.
+#	- default keyboard sends ^? for Delete, can be configured for kdch1
+#	- no meta mode
+# Testing with vttest:
+#	+ autowrap has problems...
+#	+ color-tests for bce feature match xterm's behavior
+#	+ handles most of xterm's mouse-controls other than highlight-tracking.
+#	  xterm's SGR 1006 works.
+#	+ partial support for DEC locator-events
+#	+ implements ECMA-48 SD/SU, but not REP, SL/SR.
+#	+ has a "Tek" window, but does not work with vttest's examples
+#	+ supports the dtterm window modify/report controls
+#	+ responds to DECRQM and DECRQSS controls, but not consistent with DSR
+#	  e.g., for VT220
+#	+ VT220 screen-display tests are ok
+#	+ no VT52 support
+# Other tests:
+#	+ recognizes xterm's original direct-colors sequences, but result is
+#	  poor.
+#	+ no UTF-8 apparent when UTF-8 is set, with font Lucida Control
+teraterm4.97|Tera Term Pro 4.97,
+	XT, use=ecma+color, use=xterm+sm+1006, use=teraterm4.59,
+teraterm-256color|TeraTerm with xterm 256-colors,
+	use=xterm+256setaf, use=teraterm,
+
+teraterm|Tera Term,
+	use=teraterm4.97,
+
+#### Command prompt
+
+# Tested with WinNT 4.0, the telnet application assumes the screensize is
+# 25x80.  This entry uses the 'Terminal' font, to get line-drawing characters.
+#
+# Other notes:
+# a) Fails tack's cup (cursor-addressing) test, though cup works well enough
+#    for casual (occasional) use.  Also fails several of the vttest screens,
+#    but that is not unusual for VT100 "emulators".
+# b) Does not implement VT100 keypad
+# c) Recognizes a subset of VT52 controls.
+ms-vt100|MS telnet imitating DEC VT100,
+	lines#25,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
+	     \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
+	     \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	ka1@, ka3@, kb2@, kc1@, kc3@, kent@, kf0@, kf1@, kf10@, kf2@, kf3@, kf4@,
+	kf5@, kf6@, kf7@, kf8@, kf9@, tbc@, use=vt102+enq, use=vt100,
+
+# Tested with Windows 2000, the telnet application runs in a console window,
+# also using 'Terminal' font.
+#
+# Other notes:
+# a) This version has no function keys or numeric keypad.  Unlike the older
+#    version, the numeric keypad is entirely ignored.
+# b) The program sets $TERM to "ansi", which of course is inaccurate.
+ms-vt100-color|vtnt|windows 2000 ANSI (sic),
+	bce,
+	dch=\E[%p1%dP, ich=\E[%p1%d@, use=ecma+color,
+	use=ms-vt100,
+
+# Based on comments from Federico Bianchi:
+#
+#	vt100+ is basically a VT102-noSGR with ANSI.SYS colors and a different
+#	scheme for PF keys.
+#
+# and PuTTY wishlist:
+#
+#	The modifiers are represented as the codes listed above, prefixed to
+#	the normal sequences.  If the modifier is pressed alone, its sequence
+#	is transmitted twice in succession.  If multiple modifiers apply,
+#	they're transmitted in the order shift, control, alt.
+#
+#	Shift	\E^S
+#	Alt	\E^A,
+#	Ctrl	\E^C,
+ms-vt100+|vt100+|windows XP VT100+ (sic),
+	kdch1=\E-, kend=\Ek, kf1=\E1, kf10=\E0, kf11=\E!, kf12=\E@,
+	kf13=\E\023\E1, kf14=\E\023\E2, kf15=\E\023\E3,
+	kf16=\E\023\E4, kf17=\E\023\E5, kf18=\E\023\E6,
+	kf19=\E\023\E7, kf2=\E2, kf20=\E\023\E8, kf21=\E\023\E9,
+	kf22=\E\023\E0, kf23=\E\023\E!, kf24=\E\023\E@,
+	kf25=\E\003\E1, kf26=\E\003\E2, kf27=\E\003\E3,
+	kf28=\E\003\E4, kf29=\E\003\E5, kf3=\E3, kf30=\E\003\E6,
+	kf31=\E\003\E7, kf32=\E\003\E8, kf33=\E\003\E9,
+	kf34=\E\003\E0, kf35=\E\003\E!, kf36=\E\003\E@,
+	kf37=\E\001\E1, kf38=\E\001\E2, kf39=\E\001\E3, kf4=\E4,
+	kf40=\E\001\E4, kf41=\E\001\E5, kf42=\E\001\E6,
+	kf43=\E\001\E7, kf44=\E\001\E8, kf45=\E\001\E9,
+	kf46=\E\001\E0, kf47=\E\001\E!, kf48=\E\001\E@, kf5=\E5,
+	kf6=\E6, kf7=\E7, kf8=\E8, kf9=\E9, khome=\Eh, kich1=\E+,
+	knp=\E/, kpp=\E?, use=ms-vt100-color,
+
+ms-vt-utf8|vt-utf8|UTF-8 flavor of VT100+,
+	use=ms-vt100+,
+
+# VT-UTF-8 and VT100+ Protocols
+# https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-vuvp/969416c0-ccd6-4a75-a9b3-597d7713845b
+#
+# This Microsoft "protocol" adapted the aixterm 16-color feature from xterm's
+# documentation in 2015, as seen in successive revisions:
+#
+# 2013/07/22 has 8 colors
+# 2015/10/16 has 16 colors using SGR 90-97, 100-107 as well as SGR 24 and 27,
+#            adds "informative" reference to xterm's ctlseqs
+#
+# The cnorm/civis definitions added in 2015 are unrelated to any standard.
+ms-vt100-16color|VT-UTF-8 and VT100+,
+	civis=\E[?h, cnorm=\E[?l, rmso=\E[27m, rmul=\E[24m,
+	use=ibm+16color, use=ms-vt100+,
+
+# Based on
+# https://docs.microsoft.com/en-us/windows/console/console-virtual-terminal-sequences
+# We use this scheme to map function keys
+#       terminfo        modifier        code    keys
+#       kf13-kf24       shift           2       F1 to F12
+#       kf25-kf36       alt             3       F1 to F12
+#       kf37-kf48       control         4       F1 to F12
+#       kf49-kf60       ctrl-alt        7       F1 to F12
+#
+# Unclear: smam and rmam implemented?
+# Unclear: rmkx, smkx, rmir, smir - irrelevant?
+#
+# TD:
+# +	According to tack, tbc and cbt fail.
+# +	The line-drawing (acsc) does not work in telnet or ssh.  I added the
+#	U8 extension to tell ncurses to use UTF-8 for line-drawing (when the
+#	locale uses UTF-8).  That won't work for telnet (which uses ASCII),
+#	but seems to work for OpenSSH's ssh.  I set the codepage to 65001,
+#	of course.
+# +	Function keys... do not work consistently in telnet and ssh.  With
+#	telnet, kf1-kf4 are \EOP to \EOS, and kf5-kf12 match the terminfo.
+#	But with ssh, it's entirely different (reminds me of rxvt).
+winconsole|Windows 10 new console,
+	am, km, mir, msgr, xenl,
+	ncv@, U8#1,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+	     yzz~~,
+	bel=^G, blink@, cr=\r, ech=\E[%p1%dX, el1=\E[0K, ich1@, ind=\n,
+	invis@, is1=\E[!p, kf13=\E[11;2~, kf14=\E[12;2~,
+	kf15=\E[13;2~, kf16=\E[14;2~, kf17=\E[15;2~,
+	kf18=\E[17;2~, kf19=\E[18;2~, kf20=\E[19;2~,
+	kf21=\E[20;2~, kf22=\E[21;2~, kf23=\E[24;2~,
+	kf24=\E[25;2~, kf25=\E[11;3~, kf26=\E[12;3~,
+	kf27=\E[13;3~, kf28=\E[14;3~, kf29=\E[15;3~,
+	kf30=\E[17;3~, kf31=\E[18;3~, kf32=\E[19;3~,
+	kf33=\E[20;3~, kf34=\E[21;3~, kf35=\E[24;3~,
+	kf36=\E[25;3~, kf37=\E[11;4~, kf38=\E[12;4~,
+	kf39=\E[13;4~, kf40=\E[14;4~, kf41=\E[15;4~,
+	kf42=\E[17;4~, kf43=\E[18;4~, kf44=\E[19;4~,
+	kf45=\E[20;4~, kf46=\E[21;4~, kf47=\E[24;4~,
+	kf48=\E[25;4~, kf49=\E[11;7~, kf50=\E[12;7~,
+	kf51=\E[13;7~, kf52=\E[14;7~, kf53=\E[15;7~,
+	kf54=\E[17;7~, kf55=\E[18;7~, kf56=\E[19;7~,
+	kf57=\E[20;7~, kf58=\E[21;7~, kf59=\E[24;7~,
+	kf60=\E[25;7~, khome=\E[1~, nel=\r\n, ri=\E[T, rmacs=\E(B,
+	rmir@, rmpch@, rs1=\E[!p,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t
+	    \E(0%e\E(B%;,
+	sgr0=\E[0m\E(B, smacs=\E(0, smir@, smpch@, use=ansi+arrows,
+	use=ansi+csr, use=ansi+cup, use=ansi+erase, use=ansi+idc,
+	use=ansi+idl, use=ecma+index, use=ansi+inittabs,
+	use=ansi+local, use=ecma+sgr, use=ecma+color,
+	use=vt220+cvis, use=vt220+pcedit, use=xterm+nopcfkeys,
+
+# Windows Terminal (Preview)
+# https://github.com/microsoft/terminal
+#
+# Windows 10 22H2 (also Windows 11)
+# Version 1.16.10261.0
+#
+# - Windows Terminal #1553: "Feature Request:  Mouse/Touch/Pointer Bindings
+#   (like middle-click paste, right-click context menu, etc.)", compare to
+#   https://learn.microsoft.com/en-us/windows/console/mouse-event-record-str
+#   This appears to be related to a problem with its implementation of the
+#   Console API; the mouse does not work in a "Command Window" (e.g., as used
+#   in the ncurses MinGW driver), although escape sequences work.
+#
+# Windows 10 21H1
+# Version 1.9.1942.0
+#
+# This has longstanding issues with CR/LF mapping, e.g.,
+# - first reported by Juergen Pfeifer August 13, 2020, with workaround
+# - Windows Terminal #8303 "Updates to ms-terminal terminal type in terminfo to
+#   1.4 from 0.2"
+# - Windows Terminal #6733 "Midnight Commander (mc) output is screwed when
+#   using the 'ms-terminal' as $TERM"
+#
+# still seen in testing during May-July 2021.  As a workaround, this terminal
+# description sets cud1 to an escape sequence rather than just \r.
+#
+# Using TERM=xterm-256color shows a number of problems.
+# A few are seen only in the WSL2 environment.
+#
+# tack:
+# - flash does not work.
+# - video attribute blink does not work.
+# - video attribute invis does not work in WSL2.
+# - italics sitm/ritm do not work in WSL2.
+# - crossed-out smxx/rmxx do not work in WSL2.
+# - reloading colors via initp interchanges red/blue.
+# - does not implement OSC 104, which is used for resetting colors in xterm.
+# - does not support numeric keypad application mode.
+# - control-modifier (without alt/shift) does not work for special keys.
+# - meta-key sends escape character rather than acting as a meta key.
+#
+# vttest:
+# - identifies itself as a VT100.
+# - cursor movement (menu 1) does not work properly, e.g., for wrapping.
+# - does not support 8-bit controls.
+# - does not support VT420 rectangles.
+# - does not support VT420 left/right margins.
+# - ECMA-48 cursor-movement works.
+# - does not support X10 mouse, or mouse highlight tracking.
+# - SGR mouse mode 1006 works.
+# - any-event mouse mode shows no focus-in/focus-out events.
+# - alternate screen 47/48 modes do not work, nor do 1047/1048.
+# - alternate screen 1049 mode works.
+# - none of the window report/modify operations work.
+# - none of the DECRPM/DECRQM reporting operations work.
+#
+# xterm:
+# - 256colors2.pl -r, -i and -q options work.
+# - dynamic colors do not work.
+# - paste64.pl does not work, i.e., bracketed-paste.
+# - tcapquery.pl does not work.
+#
+# Windows 10 1903
+# Version 0.2.1831.0
+#
+# The task manager shows this as "OpenConsole.exe", which differs
+# from the "Windows Command Processor" used for the command-prompt.
+#
+# The settings dialog does not work (unless the end user expects to open
+# profiles.json in Visual Studio).  There is no documentation, of course.
+#
+# Testing via an ssh connection, using openssh:
+# - the program sets TERM to cygwin if the tab is set to PowerShell,
+#   and to xterm-256color if "Legacy".  However, in the latter, more tests
+#   fail in vttest, which does not pay attention to TERM.
+# vttest:
+# - menu 1 (tests for cursor movement) misbehaves like command-prompt
+# - primary DA says this is a vanilla VT100
+# - does not flush response to primary DA, leaving a ^M on the end when
+#   the PowerShell tab is used.  Both the "Legacy" tab and the command-prompt
+#   work properly in this test.
+# - in the generic VT100 tests, there are problems with character sets
+#   (diamond shows as a double-width character, DEL as two replacement-chars).
+# - outside of the generic VT100 tests, the program does poorly because most
+#   of the features are missing.
+# - ECH does not work properly
+# - a few generic xterm features are supported (set window title), but
+#   others are missing (such as the mouse).
+# - the cursor visible/invisible works in the PowerShell tab, not in "Legacy"
+# tack:
+# - blink, dim, bold, invis, protect do not work
+# - bce works (but per vttest, with ED, EL, not ECH)
+# - does not support keypad application mode
+# - implements most of the xterm modified keys; sometimes modifiers are ignored
+#   or simply incorrect
+# - sends escape+key rather than implementing meta mode
+# other:
+# - color palette can be altered, but OSC 104 for resetting does not work
+# - crashed with a script used for testing NRCS.
+# - does not recognize either xterm+direct or xterm+indirect escapes.
+ms-terminal|Windows10 terminal,
+	npc,
+	cud1=\E[B, kcbt=\E[Z, rmkx=\E[?1l, rmm@, smkx=\E[?1h, smm@,
+	Cr@, Ms@, use=linux+kbs, use=xterm+256color,
+	use=xterm+pcfkeys, use=ansi+rep, use=xterm+sm+1006,
+	use=ecma+index, use=ecma+italics, use=ecma+strikeout,
+	use=xterm-basic, use=xterm+tmux,
+
+#### Visual Studio
+# Visual Studio Code 1.45.0 uses xterm.js 12.8.1 (see https://xtermjs.org/).
+#
+# vttest:
+# - fixes menu 1 problem with wrapping
+# - supports DECALN
+# - fixes menu 8 problem with delete-character
+# - REP, SL/SL work
+# - keypad application mode still does not work; PF1-PF4 are not assigned.
+# - DECRQM/DECRPM do not work
+# - xterm mouse features:
+#   - SGR coordinates work; the other modes do not (see vscode #96058)
+#   - focus-events are not sent
+#   - mouse highlight tracking does not send button event
+# tack/other:
+# - little or no change since previous review
+#
+# Visual Studio Code 1.35.1 uses xterm.js (see https://xtermjs.org/).
+# https://code.visualstudio.com/docs/editor/integrated-terminal
+#
+# This sets TERM to xterm-256color, which is a little more successful than
+# Windows Terminal.
+#
+# vttest:
+# - menu 1 (cursor movement) has problems with wrapping
+# - claims to be a VT100 with AVO, but copies xterm #276's secondary response
+# - menu 8 (insert/delete char/line) has problem with delete-character
+# - like Windows Terminal, fails the ECH test: neither supports DECALN
+#   However, the bce test with ECH works.
+# - does not support keypad application mode
+# - supports most xterm mode controls (except DEC Locator Events)
+# - REP, SL/SL do not work, but SD/SU work.
+# - the alternate-screen tests fail because it does not support DECALN
+# - window modify/report is not supported
+# - supports some VT320 presentation reports
+# tack:
+# - does not support blinking text
+# - implements most of the xterm modified keys, with some exceptions:
+#   - pageup/pagedown do not send escapes
+#   - alt cursor left/right send escape-b and escape-f
+# - sends UTF-8 like xterm for meta mode
+# other:
+# - mouse mode is not reset by reset-sequence
+# - supports italics and dim, but not cross-out or double-underline
+# - color-palette cannot be changed
+vscode|xterm.js|Visual Studio Code terminal using xterm.js,
+	npc,
+	kcbt=\E[Z, rmkx=\E[?1l, smkx=\E[?1h, use=linux+kbs,
+	use=xterm+256setaf, use=ecma+index, use=xterm+focus,
+	use=xterm+sm+1006, use=xterm+pcfkeys, use=ecma+italics,
+	use=xterm-basic, use=bracketed+paste,
+vscode-direct|Visual Studio Code with direct-colors,
+	use=xterm+indirect, use=vscode,
+
+######## X TERMINAL EMULATORS
+#### XTERM
+#
+# You can add the following line to your .Xdefaults to change the terminal type
+# set by the xterms you start up to my-xterm:
+#
+# *termName:  my-xterm
+#
+# System administrators can change the default entry for xterm instances
+# by adding a similar line to /usr/X11/lib/X11/app-defaults/XTerm.  In either
+# case, xterm will detect and reject an invalid terminal type, falling back
+# to the default of xterm.
+#
+
+# X10/6.6	11/7/86, minus alternate screen, plus (csr)
+# (xterm: ":MT:" changed to ":km:"; added <smam>/<rmam> based on init string;
+# removed (hs, eslok, tsl=\E[?E\E[?%i%dT, fsl=\E[?F, dsl=\E[?E)
+# as these seem not to work -- esr)
+x10term|vs100-x10|xterm terminal emulator (X10 window system),
+	OTbs, am, km, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#65,
+	bold=\E[1m, clear=\E[H\E[2J, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud1=\n, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[A, dch=\E[%p1%dP, dch1=\E[P, ed=\E[J, el=\E[K,
+	home=\E[H, ht=^I, ind=\n, is2=\E\E[m\E[?7h\E[?1;4l, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, rev=\E[7m, ri=\EM, rmam=\E[?7l,
+	rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=,
+	smso=\E[7m, smul=\E[4m, use=ansi+idl,
+
+# csl is extension which clears the status line
+x10term+sl|status-line for X10 xterm,
+	eslok, hs,
+	dsl=\E[?H, fsl=\E[?F, tsl=\E[?E\E[?%i%p1%dT, csl=\E[?E,
+
+# Compatible with the R5 xterm
+# (from the XFree86 3.2 distribution, <blink=@> removed)
+# added khome/kend, rmir/smir, rmul/smul, hts based on the R5 xterm code - TD
+# corrected typos in rs2 string - TD
+# added u6-u9 -TD
+xterm-r5|xterm R5 version,
+	OTbs, am, km, msgr, xenl,
+	cols#80, it#8, lines#24,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	hts=\EH, ind=\n, kdl1=\E[31~, kel=\E[8~, kf0=\EOq,
+	kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~,
+	kil1=\E[30~, kmous=\E[M, rev=\E[7m, ri=\EM, rmkx=\E[?1l\E>,
+	rmso=\E[m, rmul=\E[m,
+	rs2=\E>\E[?1;3;4;5;6l\E[4l\E[?7h\E[m\E[r\E[2J\E[H,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1
+	    %;m,
+	sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, use=xterm+kbs, use=ansi+apparrows,
+	use=ansi+csr, use=ansi+idc, use=ansi+idl, use=ansi+local,
+	use=vt220+pcedit, use=vt100+enq,
+
+# Compatible with the R6 xterm
+# (from XFree86 3.2 distribution, <acsc> and <it> added, <blink@> removed)
+# added khome/kend, hts based on the R6 xterm code - TD
+# (khome/kend do not actually work in X11R5 or X11R6, but many people use this
+# for compatibility with other emulators).
+xterm-r6|xterm X11R6 version,
+	OTbs, am, km, mir, msgr, xenl,
+	cols#80, it#8, lines#24,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
+	dch1=\E[P, ed=\E[J, el=\E[K, enacs=\E)0, home=\E[H, ht=^I,
+	hts=\EH, ind=\n,
+	is2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\E[11~,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~,
+	kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, kmous=\E[M, meml=\El, memu=\Em,
+	rev=\E[7m, ri=\EM, rmacs=^O, rmir=\E[4l, rmkx=\E[?1l\E>,
+	rs2=\E[m\E[?7h\E[4l\E>\E7\E[r\E[?1;3;4;6l\E8,
+	sgr0=\E[m, smacs=^N, smir=\E[4h, smkx=\E[?1h\E=, tbc=\E[3g,
+	use=xterm+alt47, use=ansi+csr, use=ansi+idl,
+	use=ansi+local, use=ansi+sgrso, use=ansi+sgrul,
+	use=vt220+vtedit, use=xterm+kbs, use=vt100+enq,
+
+xterm-old|antique xterm version,
+	use=xterm-r6,
+# The monochrome version began as a copy of "xtermm" (from Solaris), and was
+# initially part of the xterm sources (in XFree86).  But "xterm" continued to
+# grow, while "xterm-mono" had none of the newer features.  Additionally,
+# inheriting from "xtermm" runs into several problems, including different
+# function keys as well as the fact that the mouse support is not compatible.
+# This entry restores the original intent, intentionally not an alias to
+# simplify maintenance -TD
+xterm-mono|monochrome xterm,
+	use=xterm-r6,
+# This is the base xterm entry for the xterm supplied with XFree86 3.2 & up.
+# The name has been changed and some aliases have been removed.
+xterm-xf86-v32|xterm terminal emulator (XFree86 3.2 Window System),
+	OTbs, am, bce, km, mir, msgr, xenl, XT,
+	cols#80, lines#24, ncv@,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+	el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h$<100/>\E[?5l,
+	home=\E[H, hpa=\E[%i%p1%dG, ind=\n,
+	is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>,
+	kbeg=\EOE, kbs=^?, kdch1=^?, kend=\EOF, kf1=\E[11~,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf2=\E[12~, kf20=\E[34~,
+	kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~, kmous=\E[M, kslt=\E[4~,
+	meml=\El, memu=\Em, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l,
+	rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=^O,
+	rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd,
+	use=ansi+apparrows, use=ansi+csr, use=ansi+idc,
+	use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+	use=xterm+alt47, use=xterm+kbs, use=vt100+enq,
+	use=ecma+color, use=vt220+cvis, use=vt220+keypad,
+	use=vt220+pcedit,
+
+# This is the stock xterm entry supplied with XFree86 3.3, which uses VT100
+# codes for F1-F4 except while in VT220 mode.
+xterm-xf86-v33|xterm terminal emulator (XFree86 3.3 Window System),
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=xterm-xf86-v32,
+
+# This version was released in XFree86 3.3.3 (November 1998).
+# Besides providing printer support, it exploits a new feature that allows
+# xterm to use terminfo-based descriptions with the titeInhibit resource.
+# -- the distribution contained incorrect khome/kend values -TD
+xterm-xf86-v333|xterm terminal emulator (XFree86 3.3.3 Window System),
+	blink=\E[5m, ich1@, invis=\E[8m,
+	is2=\E[!p\E[?3;4l\E[4l\E>, kdch1=\E[3~, kfnd@, kslt@,
+	rmcup=\E[?1047l\E[?1048l, rs1=\Ec,
+	rs2=\E[!p\E[?3;4l\E[4l\E>,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	smcup=\E[?1048h\E[?1047h, use=ansi+pp,
+	use=xterm-xf86-v33,
+
+# This version was released in XFree86 4.0.
+xterm-xf86-v40|xterm terminal emulator (XFree86 4.0 Window System),
+	npc,
+	kDC=\E[3;5~, kEND=\EO5F, kHOM=\EO5H, kIC=\E[2;5~,
+	kLFT=\EO5D, kNXT=\E[6;5~, kPRV=\E[5;5~, kRIT=\EO5C, ka1@,
+	ka3@, kb2=\EOE, kc1@, kc3@, kcbt=\E[Z, kf13=\EO2P, kf14=\EO2Q,
+	kf15=\EO2R, kf16=\EO2S, kf17=\E[15;2~, kf18=\E[17;2~,
+	kf19=\E[18;2~, kf20=\E[19;2~, kf21=\E[20;2~,
+	kf22=\E[21;2~, kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P,
+	kf26=\EO5Q, kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~,
+	kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~,
+	kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~,
+	kf36=\E[24;5~, kf37=\EO6P, kf38=\EO6Q, kf39=\EO6R,
+	kf40=\EO6S, kf41=\E[15;6~, kf42=\E[17;6~, kf43=\E[18;6~,
+	kf44=\E[19;6~, kf45=\E[20;6~, kf46=\E[21;6~,
+	kf47=\E[23;6~, kf48=\E[24;6~,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?
+	    %p9%t\016%e\017%;,
+	use=xterm+alt1049, use=xterm-xf86-v333,
+
+# This version was released in XFree86 4.3.
+xterm-xf86-v43|xterm terminal emulator (XFree86 4.3 Window System),
+	kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~,
+	kLFT=\E[1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C,
+	kbeg@,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+	    %p7%t;8%;m%?%p9%t\016%e\017%;,
+	use=xterm-xf86-v40,
+
+# Controlling the cursor-visibility is not a "new" feature, but was generally
+# neglected in terminal emulators until the mid-1990s.  These would work for
+# the hardware terminals, or for more recent emulators, e.g., xterm.
+vt220+cvis|DECTCEM VT220 cursor-visibility,
+	civis=\E[?25l, cnorm=\E[?25h,
+vt220+cvis8|8-bit DECTCEM VT220 cursor-visibility,
+	civis=\233?25l, cnorm=\233?25h,
+# The first block is for terminals which did not support blinking cursor.
+att610+cvis0|AT&T 610 cursor-visibility,
+	civis=\E[?25l, cnorm=\E[?12l\E[?25h,
+att610+cvis|AT&T 610 cursor-visibility with blink,
+	civis=\E[?25l, cnorm=\E[?12l\E[?25h, cvvis=\E[?12;25h,
+
+# This version was released in XFree86 4.4.
+xterm-xf86-v44|xterm terminal emulator (XFree86 4.4 Window System),
+	use=att610+cvis, use=ecma+index, use=xterm-xf86-v43,
+
+xterm-xfree86|xterm terminal emulator (XFree86),
+	use=xterm-xf86-v44,
+
+xterm+nofkeys|building block for xterm fkey-variants,
+	npc,
+	kcbt=\E[Z, nel=\EE, use=ecma+index, use=ansi+rep,
+	use=ecma+strikeout, use=vt420+lrmm, use=xterm+focus,
+	use=xterm+sm+1006, use=xterm+tmux, use=ecma+italics,
+	use=xterm+keypad, use=xterm-basic,
+
+xterm-p370|xterm patch #370,
+	rv=\E\\[41;[1-6][0-9][0-9];0c,
+	xr=\EP>\\|XTerm\\([1-9][0-9]+\\)\E\\\\,
+	use=ecma+index, use=ansi+rep, use=ecma+strikeout,
+	use=xterm+pcfkeys, use=xterm+nofkeys,
+	use=bracketed+paste, use=report+version,
+	use=xterm+focus,
+
+xterm-p371|xterm patch #371,
+	use=dec+sl, use=xterm-p370,
+
+# This version reflects the current xterm features.
+xterm-new|modern xterm terminal emulator,
+	use=xterm-p370,
+
+# This fragment is for people who cannot agree on what the backspace key
+# should send.  The ncurses configure script option "--with-xterm-kbs" can
+# set it to BS (standard) or DEL (Linux's notion of "vt220").  xterm provides
+# either, depending on how the pseudoterminals are configured.
+xterm+kbs|fragment for backspace key,
+	kbs=^?,
+
+# Use this fragment for terminals that always use DEL for "backspace".
+linux+kbs|fragment for "backspace" key,
+	kbs=^?,
+#
+# This fragment describes as much of XFree86 xterm's "pc-style" function
+# keys as will fit into terminfo's 60 function keys.
+# From ctlseqs.ms:
+#    Code     Modifiers
+#  ---------------------------------
+#     2       Shift
+#     3       Alt
+#     4       Shift + Alt
+#     5       Control
+#     6       Shift + Control
+#     7       Alt + Control
+#     8       Shift + Alt + Control
+#  ---------------------------------
+# The meta key may also be used as a modifier in this scheme, adding another
+# bit to the parameter.
+xterm+pcfkeys|xterm fragment for PC-style fkeys,
+	use=xterm+app, use=xterm+pcf2, use=xterm+pcc2,
+	use=xterm+pce2,
+
+# The xterm ctrlFKeys resource defaults to 10, so without the "pc-style"
+# feature, e.g., setting the modifyCursorKeys and modifyFunctionKeys resources
+# to -1 to disable them, one gets 42 function-keys on a 12-function-key
+# keyboard, e.g.,
+# kf1                   = \E[11~
+# kf11 shift f1         = \E[23~
+# kf21 control f1       = \E[42~
+# kf31 shift control f1 = \E[52~
+xterm+nopcfkeys|fragment without PC-style fkeys,
+	kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
+	kf20=\E[34~, kf21=\E[42~, kf22=\E[43~, kf23=\E[44~,
+	kf24=\E[45~, kf25=\E[46~, kf26=\E[47~, kf27=\E[48~,
+	kf28=\E[49~, kf29=\E[50~, kf3=\E[13~, kf30=\E[51~,
+	kf31=\E[52~, kf32=\E[53~, kf33=\E[54~, kf34=\E[55~,
+	kf35=\E[56~, kf36=\E[57~, kf37=\E[58~, kf38=\E[59~,
+	kf39=\E[60~, kf4=\E[14~, kf40=\E[61~, kf41=\E[62~,
+	kf42=\E[63~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~,
+
+vt100+noapp|fragment with cursor keys in normal mode,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	use=vt100+noapp+pc,
+
+xterm+noapp|fragment with cursor keys in normal mode,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[F,
+	khome=\E[H,
+
+xterm+app|fragment with cursor keys in application mode,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	use=xterm+app+pc,
+
+vt100+noapp+pc|fragment for noapp pc-style home/end,
+	kend=\E[F, khome=\E[H,
+
+xterm+app+pc|fragment for app pc-style home/end,
+	kend=\EOF, khome=\EOH,
+#
+# The "PC-style" modifier scheme was introduced in xterm patch #94 (1999/3/27)
+# and revised in xterm patch #167 (2002/8/24).  Some other terminal emulators
+# copied the earlier scheme, as noted in the "use=" clauses in this file.
+#
+# The original assignments from patch #94 for cursor-keys had some technical
+# issues:
+#
+#	A parameter for a function-key to represent a modifier is just more
+#	bits.  But for a cursor-key it may change the behavior of the
+#	application.  For instance, emacs decodes the first parameter of a
+#	cursor-key as a repeat count.
+#
+#	A parameterized string should (really) not begin with SS3 (\EO).
+#	Rather, CSI (\E[) should be used.
+#
+# For these reasons, the original assignments were deprecated.  For
+# compatibility reasons, they are still available as a setting of xterm's
+# modifyCursorKeys resource.  These fragments list the modified cursor-keys
+# that might apply to xterm+pcfkeys with different values of that resource.
+#
+# These entries will have warnings when checking with tic because the kri/kind
+# capabilities duplicate the kUP/kDN extensions.  This is intentional, though
+# not part of the original plan.  The changes for xterm patch #206 (2005/11/3)
+# show that kri/kind were seen much later as part of a set including kLFT/kRIT:
+#
+#   * modify  xterm-new  terminfo  entry to use capabilities for shifted
+#     scroll forward/reverse as shifted cursor up/down.
+#
+# In the 1980s when terminfo was defined, the developers made more of
+# a distinction between shifted up/down versus shifted left/right since most
+# terminals can index (scroll up/down), while few can scroll left/right.
+xterm+pcc3|fragment with modifyCursorKeys:3,
+	kLFT=\E[>1;2D, kRIT=\E[>1;2C, kind=\E[>1;2B,
+	kri=\E[>1;2A, kDN=\E[>1;2B, kDN3=\E[>1;3B, kDN4=\E[>1;4B,
+	kDN5=\E[>1;5B, kDN6=\E[>1;6B, kDN7=\E[>1;7B,
+	kLFT3=\E[>1;3D, kLFT4=\E[>1;4D, kLFT5=\E[>1;5D,
+	kLFT6=\E[>1;6D, kLFT7=\E[>1;7D, kRIT3=\E[>1;3C,
+	kRIT4=\E[>1;4C, kRIT5=\E[>1;5C, kRIT6=\E[>1;6C,
+	kRIT7=\E[>1;7C, kUP=\E[>1;2A, kUP3=\E[>1;3A,
+	kUP4=\E[>1;4A, kUP5=\E[>1;5A, kUP6=\E[>1;6A,
+	kUP7=\E[>1;7A,
+
+xterm+pcc2|fragment with modifyCursorKeys:2,
+	kLFT=\E[1;2D, kRIT=\E[1;2C, kind=\E[1;2B, kri=\E[1;2A,
+	kDN=\E[1;2B, kDN3=\E[1;3B, kDN4=\E[1;4B, kDN5=\E[1;5B,
+	kDN6=\E[1;6B, kDN7=\E[1;7B, kLFT3=\E[1;3D, kLFT4=\E[1;4D,
+	kLFT5=\E[1;5D, kLFT6=\E[1;6D, kLFT7=\E[1;7D,
+	kRIT3=\E[1;3C, kRIT4=\E[1;4C, kRIT5=\E[1;5C,
+	kRIT6=\E[1;6C, kRIT7=\E[1;7C, kUP=\E[1;2A, kUP3=\E[1;3A,
+	kUP4=\E[1;4A, kUP5=\E[1;5A, kUP6=\E[1;6A, kUP7=\E[1;7A,
+
+xterm+pcc1|fragment with modifyCursorKeys:1,
+	kLFT=\E[2D, kRIT=\E[2C, kind=\E[2B, kri=\E[2A, kDN=\E[2B,
+	kDN3=\E[3B, kDN4=\E[4B, kDN5=\E[5B, kDN6=\E[6B, kDN7=\E[7B,
+	kLFT3=\E[3D, kLFT4=\E[4D, kLFT5=\E[5D, kLFT6=\E[6D,
+	kLFT7=\E[7D, kRIT3=\E[3C, kRIT4=\E[4C, kRIT5=\E[5C,
+	kRIT6=\E[6C, kRIT7=\E[7C, kUP=\E[2A, kUP3=\E[3A,
+	kUP4=\E[4A, kUP5=\E[5A, kUP6=\E[6A, kUP7=\E[7A,
+
+xterm+pcc0|fragment with modifyCursorKeys:0,
+	kLFT=\EO2D, kRIT=\EO2C, kind=\EO2B, kri=\EO2A, kDN=\EO2B,
+	kDN3=\EO3B, kDN4=\EO4B, kDN5=\EO5B, kDN6=\EO6B, kDN7=\EO7B,
+	kLFT3=\EO3D, kLFT4=\EO4D, kLFT5=\EO5D, kLFT6=\EO6D,
+	kLFT7=\EO7D, kRIT3=\EO3C, kRIT4=\EO4C, kRIT5=\EO5C,
+	kRIT6=\EO6C, kRIT7=\EO7C, kUP=\EO2A, kUP3=\EO3A,
+	kUP4=\EO4A, kUP5=\EO5A, kUP6=\EO6A, kUP7=\EO7A,
+
+#
+# Here are corresponding fragments from xterm patch #216:
+#
+xterm+pcf0|fragment with modifyFunctionKeys:0,
+	kf1=\EOP, kf13=\EO2P, kf14=\EO2Q, kf15=\EO2R, kf16=\EO2S,
+	kf17=\E[15;2~, kf18=\E[17;2~, kf19=\E[18;2~, kf2=\EOQ,
+	kf20=\E[19;2~, kf21=\E[20;2~, kf22=\E[21;2~,
+	kf23=\E[23;2~, kf24=\E[24;2~, kf25=\EO5P, kf26=\EO5Q,
+	kf27=\EO5R, kf28=\EO5S, kf29=\E[15;5~, kf3=\EOR,
+	kf30=\E[17;5~, kf31=\E[18;5~, kf32=\E[19;5~,
+	kf33=\E[20;5~, kf34=\E[21;5~, kf35=\E[23;5~,
+	kf36=\E[24;5~, kf37=\EO6P, kf38=\EO6Q, kf39=\EO6R,
+	kf4=\EOS, kf40=\EO6S, kf41=\E[15;6~, kf42=\E[17;6~,
+	kf43=\E[18;6~, kf44=\E[19;6~, kf45=\E[20;6~,
+	kf46=\E[21;6~, kf47=\E[23;6~, kf48=\E[24;6~, kf49=\EO3P,
+	kf50=\EO3Q, kf51=\EO3R, kf52=\EO3S, kf53=\E[15;3~,
+	kf54=\E[17;3~, kf55=\E[18;3~, kf56=\E[19;3~,
+	kf57=\E[20;3~, kf58=\E[21;3~, kf59=\E[23;3~,
+	kf60=\E[24;3~, kf61=\EO4P, kf62=\EO4Q, kf63=\EO4R,
+	use=xterm+nopcfkeys,
+#
+xterm+pcf2|fragment with modifyFunctionKeys:2,
+	kf1=\EOP, kf13=\E[1;2P, kf14=\E[1;2Q, kf15=\E[1;2R,
+	kf16=\E[1;2S, kf17=\E[15;2~, kf18=\E[17;2~,
+	kf19=\E[18;2~, kf2=\EOQ, kf20=\E[19;2~, kf21=\E[20;2~,
+	kf22=\E[21;2~, kf23=\E[23;2~, kf24=\E[24;2~,
+	kf25=\E[1;5P, kf26=\E[1;5Q, kf27=\E[1;5R, kf28=\E[1;5S,
+	kf29=\E[15;5~, kf3=\EOR, kf30=\E[17;5~, kf31=\E[18;5~,
+	kf32=\E[19;5~, kf33=\E[20;5~, kf34=\E[21;5~,
+	kf35=\E[23;5~, kf36=\E[24;5~, kf37=\E[1;6P, kf38=\E[1;6Q,
+	kf39=\E[1;6R, kf4=\EOS, kf40=\E[1;6S, kf41=\E[15;6~,
+	kf42=\E[17;6~, kf43=\E[18;6~, kf44=\E[19;6~,
+	kf45=\E[20;6~, kf46=\E[21;6~, kf47=\E[23;6~,
+	kf48=\E[24;6~, kf49=\E[1;3P, kf50=\E[1;3Q, kf51=\E[1;3R,
+	kf52=\E[1;3S, kf53=\E[15;3~, kf54=\E[17;3~,
+	kf55=\E[18;3~, kf56=\E[19;3~, kf57=\E[20;3~,
+	kf58=\E[21;3~, kf59=\E[23;3~, kf60=\E[24;3~,
+	kf61=\E[1;4P, kf62=\E[1;4Q, kf63=\E[1;4R,
+	use=xterm+nopcfkeys,
+#
+# Chunks from xterm #230:
+xterm+pce2|fragment with modifyCursorKeys:2 editing-keys,
+	kDC=\E[3;2~, kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~,
+	kNXT=\E[6;2~, kPRV=\E[5;2~, kDC3=\E[3;3~, kDC4=\E[3;4~,
+	kDC5=\E[3;5~, kDC6=\E[3;6~, kDC7=\E[3;7~, kEND3=\E[1;3F,
+	kEND4=\E[1;4F, kEND5=\E[1;5F, kEND6=\E[1;6F,
+	kEND7=\E[1;7F, kHOM3=\E[1;3H, kHOM4=\E[1;4H,
+	kHOM5=\E[1;5H, kHOM6=\E[1;6H, kHOM7=\E[1;7H,
+	kIC3=\E[2;3~, kIC4=\E[2;4~, kIC5=\E[2;5~, kIC6=\E[2;6~,
+	kIC7=\E[2;7~, kNXT3=\E[6;3~, kNXT4=\E[6;4~,
+	kNXT5=\E[6;5~, kNXT6=\E[6;6~, kNXT7=\E[6;7~,
+	kPRV3=\E[5;3~, kPRV4=\E[5;4~, kPRV5=\E[5;5~,
+	kPRV6=\E[5;6~, kPRV7=\E[5;7~, use=xterm+edit,
+
+xterm+edit|fragment for 6-key editing-keypad,
+	use=xterm+pc+edit, use=vt220+pcedit,
+
+xterm+decedit|fragment for vt220 6-key editing-keypad,
+	kdch1=\E[3~, kich1=\E[2~, knp=\E[6~, kpp=\E[5~,
+	use=xterm+vt+edit,
+
+xterm+pc+edit|fragment for pc-style editing keypad,
+	kend=\E[4~, khome=\E[1~,
+
+xterm+vt+edit|fragment for VT220-style editing keypad,
+	kfnd=\E[1~, kslt=\E[4~,
+
+# These variations for alternate-screen and title-stacking were introduced by
+# xterm patch #331:
+xterm+noalt|xterm without altscreen,
+	rmcup@, smcup@,
+
+xterm+alt47|X11R4 alternate-screen,
+	rmcup=\E[2J\E[?47l\E8, smcup=\E7\E[?47h,
+
+xterm+alt1049|xterm 90 feature,
+	rmcup=\E[?1049l, smcup=\E[?1049h,
+
+xterm+titlestack|xterm 251 feature,
+	rmcup=\E[23;0;0t, smcup=\E[22;0;0t,
+
+xterm+alt+title|xterm 90 and 251 features combined,
+	rmcup=\E[?1049l\E[23;0;0t, smcup=\E[?1049h\E[22;0;0t,
+
+# https://invisible-island.net/xterm/xterm.faq.html#xterm_keypad
+#
+# Xterm's emulation of the VT100 numeric keypad on a PC-keyboard runs into the
+# problem that the keypad layout is different, and that the natural choice for
+# PF1 is NumLock (which happens to be reserved for other use).  To work around
+# that, PF1-PF4 are emulated via F1-F4, which leaves the "/", "*" and "+" not
+# directly related to VT100.
+#
+# With the VT220 keypad block that uses the 1-9 keys as suggested in
+# terminfo(5), the other keys can be handled with user-defined capabilities:
+#
+#   _______________________________________
+#  | NumLock |    /    |    *    |    -    |
+#  |         |   $Oo   |   $Oj   |   $OS   |
+#  |_________|__kpDIV__|__kpMUL__|__kpSUB__|
+#  |    7         8         9    |    +    |
+#  |   $Ow   |   $Ox   |   $Oy   |   $Ok   |
+#  |_ka1__K1_|_________|_ka3__K3_|  kpADD  |
+#  |    4    |    5    |    6    |         |
+#  |   $Ot   |   $Ou   |   $Ov   |         |
+#  |_________|_kb2__K2_|_________|_________|
+#  |    1    |    2    |    3    |         |
+#  |   $Oq   |   $Or   |   $Os   |         |
+#  |_kc1__K4_|_________|_kc3__K5_|  enter  |
+#  |         0         |    .    |   $OM   |
+#  |        $Op        |   $On   |         |
+#  |_______kpZRO_______|__kpDOT__|_kent_@8_|
+#
+# ka2, kb1, kb3 and kc2 are extensions, as are the mixed-case names.
+# There are no termcap equivalents for these extensions.
+#
+# kpCMA (comma) is used here for the VT100 keypad, which xterm emulates with
+# shifted-keypad-plus, though normally that invokes a font-size change.
+#
+# Old versions of xterm, e.g., xterm-xfree86, documented \EOE as kb2, which
+# does not fit into this layout.  The extension kp5 fits, but is not visible
+# to termcap applications.  As an alternative, kbeg (which does have a termcap
+# equivalent) is provided.
+#
+xterm+keypad|xterm emulating VT100/VT220 numeric keypad,
+	kbeg=\EOE, kp5=\EOE, kpADD=\EOk, kpCMA=\EOl, kpDIV=\EOo,
+	kpDOT=\EOn, kpMUL=\EOj, kpSUB=\EOm, kpZRO=\EOp,
+	use=vt220+keypad,
+#
+# Those chunks use the new-style (the xterm oldFunctionKeys resource is false).
+# Alternatively, the same scheme with old-style function keys as in xterm-r6
+# is shown here (because that is used in mrxvt and mlterm):
+xterm+r6f2|xterm with oldFunctionKeys and modifyFunctionKeys:2,
+	kf1=\E[11~, kf13=\E[11;2~, kf14=\E[12;2~, kf15=\E[13;2~,
+	kf16=\E[14;2~, kf2=\E[12~, kf25=\E[11;5~, kf26=\E[12;5~,
+	kf27=\E[13;5~, kf28=\E[14;5~, kf3=\E[13~, kf37=\E[11;6~,
+	kf38=\E[12;6~, kf39=\E[13;6~, kf4=\E[14~, kf40=\E[14;6~,
+	kf49=\E[11;3~, kf50=\E[12;3~, kf51=\E[13;3~,
+	kf52=\E[14;3~, kf61=\E[11;4~, kf62=\E[12;4~,
+	kf63=\E[13;4~, use=xterm+pcf2,
+#
+xterm+acs|ISO-2022 alternate character-switching for xterm,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	enacs@, rmacs=\E(B, smacs=\E(0,
+
+# This chunk is used for building the VT220/Sun/PC keyboard variants.
+xterm-basic|modern xterm terminal emulator - common,
+	OTbs, am, bce, mir, msgr, xenl, AX, XT,
+	colors#8, cols#80, lines#24, pairs#64,
+	bel=^G, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[2m, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+	flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+	ich=\E[%p1%d@, ind=\n, is2=\E[!p\E[?3;4l\E[4l\E>,
+	kmous=\E[M, meml=\El, memu=\Em, op=\E[39;49m, ri=\EM,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+	rmul=\E[24m, rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
+	    %?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+	sgr0=\E(B\E[m, smam=\E[?7h, smir=\E[4h, smkx=\E[?1h\E=,
+	vpa=\E[%i%p1%dd, E3=\E[3J, use=ansi+csr, use=ansi+enq,
+	use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+	use=ansi+pp, use=ansi+sgrbold, use=xterm+kbs,
+	use=xterm+alt+title, use=att610+cvis, use=xterm+acs,
+	use=xterm+meta,
+
+xterm+meta|meta mode for xterm,
+	km,
+	rmm=\E[?1034l, smm=\E[?1034h,
+
+# From: David J. MacKenzie <djm@va.pubnix.com>, 14 Nov 1997
+# In retrospect, something like xterm-r6 was intended here -TD
+xterm-xi|xterm on XI Graphics Accelerated X under BSD/OS 3.1,
+	rmso=\E[m, rmul=\E[m, use=xterm-xf86-v33,
+
+#### XTERM Colors
+
+# 16-colors is one of the variants of XFree86 3.3 xterm, updated for 4.0
+# (T.Dickey)
+#
+# If configured to support 88- or 256-colors (which is fairly common in 2009),
+# xterm also recognizes the control sequences for initc -TD
+xterm-16color|xterm with 16 colors like aixterm,
+	ccc,
+	initc=\E]4;%p1%d;rgb:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
+	      %{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
+	use=xterm+osc104, use=ibm+16color, use=xterm-new,
+
+# 256-colors is a compile-time feature of XFree86 xterm beginning with
+# xterm patch #111 (1999/7/10) -TD
+xterm+256color|original xterm 256-color feature,
+	ccc,
+	colors#0x100, pairs#0x10000,
+	initc=\E]4;%p1%d;rgb:%p2%{255}%*%{1000}%/%2.2X/%p3%{255}%*
+	      %{1000}%/%2.2X/%p4%{255}%*%{1000}%/%2.2X\E\\,
+	oc=\E]104\007,
+	setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;
+	      5;%p1%d%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5
+	      ;%p1%d%;m,
+	setb@, setf@,
+
+# The semicolon separator used in xterm+256color does not follow the ECMA-48
+# standard.  Since patch #282 (in 2012), xterm has supported both the legacy
+# subparameter separator (semicolon) and the standard (colon).
+#
+# The xterm FAQ gives some of the history:
+#	https://invisible-island.net/xterm/xterm.faq.html#color_by_number
+xterm+256color2|xterm 256-color feature,
+	setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48:
+	      5:%p1%d%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38:5
+	      :%p1%d%;m,
+	use=xterm+256color,
+
+# xterm OSC 104 resets the color palette.  Using it as part of xterm+256color
+# has the drawback that some of the xterm-alikes which use that building block
+# require a different approach to rs1 -TD
+xterm+osc104|reset color palette,
+	oc=\E]104\007, rs1=\Ec\E]104\007,
+
+# palette is hardcoded...
+xterm+256setaf|xterm 256-color (set-only),
+	ccc@,
+	colors#0x100, pairs#0x10000,
+	initc@, op=\E[39;49m,
+	setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;
+	      5;%p1%d%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5
+	      ;%p1%d%;m,
+	setb@, setf@,
+
+# 88-colors is a compile-time feature of XFree86 xterm beginning with
+# xterm patch #115 (1999/9/18) -TD
+#
+# Note that the escape sequences used are the same as for 256-colors - xterm
+# has a different table of default color resource values.  If built for
+# 256-colors, it can still handle an 88-color palette by using the initc
+# capability.
+#
+# At this time (2007/7/14), except for rxvt 2.7.x, none of the other terminals
+# which support the xterm+256color feature support the associated initc
+# capability.  So it is cancelled in the entries which use this and/or the
+# xterm+256color block.
+#
+# The default color palette for the 256- and 88-colors are different.  A
+# given executable will have one palette (perhaps compiled-in).  If the program
+# supports xterm's control sequence, it can be programmed using initc.
+xterm+88color|original xterm 88-color feature,
+	colors#88, pairs#7744, use=xterm+256color,
+
+xterm+88color2|xterm 88-color feature,
+	colors#88, pairs#7744, use=xterm+256color2,
+
+# These variants of XFree86 3.9.16 xterm are built as a configure option.
+xterm-256color|xterm with 256 colors,
+	use=xterm+osc104, use=xterm+256color, use=xterm-new,
+xterm-88color|xterm with 88 colors,
+	use=xterm+osc104, use=xterm+88color,
+	use=xterm-256color,
+
+# Emacs 26.1 and later support direct color mode in terminals, using a
+# combination of user-defined capabilities and ncurses-dependent function
+# calls.  We will not include that here.
+#
+# Here is a first revision, which (disregarding the reuse of colors 1-7 which
+# is of interest only to the numerically illiterate), is compatible with other
+# terminal descriptions written for curses.  It relies upon the extended range
+# for numeric capabilities provided in ncurses 6.1:
+xterm+direct2|xterm with direct-color indexing (old building-block),
+	RGB,
+	colors#0x1000000, pairs#0x10000, CO#8,
+	initc@, op=\E[39;49m,
+	setab=\E[%?%p1%{8}%<%t4%p1%d%e48:2:%p1%{65536}%/%d:%p1%{256}
+	      %/%{255}%&%d:%p1%{255}%&%d%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%d%e38:2:%p1%{65536}%/%d:%p1%{256}
+	      %/%{255}%&%d:%p1%{255}%&%d%;m,
+	setb@, setf@,
+xterm-direct2|xterm with direct-color indexing (old),
+	use=xterm+direct2, use=xterm+titlestack, use=xterm,
+
+# That in turn had a problem: in the original patch submitted for KDE konsole
+# in 2006, the submitter and the developer alike overlooked a "color space
+# identifier" parameter.  This version provides for that parameter:
+xterm+direct|xterm with direct-color indexing (building-block),
+	RGB,
+	colors#0x1000000, pairs#0x10000, CO#8,
+	initc@, op=\E[39;49m,
+	setab=\E[%?%p1%{8}%<%t4%p1%d%e48:2::%p1%{65536}%/%d:%p1
+	      %{256}%/%{255}%&%d:%p1%{255}%&%d%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%d%e38:2::%p1%{65536}%/%d:%p1
+	      %{256}%/%{255}%&%d:%p1%{255}%&%d%;m,
+	setb@, setf@,
+xterm-direct|xterm with direct-color indexing,
+	use=xterm+direct, use=xterm,
+
+# Here are corresponding flavors for terminals which could use the feature:
+iterm2-direct|iTerm2 with direct-color indexing,
+	use=xterm+direct, use=iterm2,
+mlterm-direct|mlterm with direct-color indexing,
+	use=xterm+direct, use=mlterm,
+
+# Meanwhile, in KDE #107487, the patch submitter and the developer both saw
+# that xterm's original implementation should have used colons for the
+# subparameter separators, but chose not to correct this in konsole.  As of
+# late 2017, konsole still accepts only the nonstandard semicolon delimiters.
+xterm+indirect|xterm with direct-color indexing (old legacy building-block),
+	RGB,
+	colors#0x1000000, pairs#0x10000,
+	initc@, op=\E[39;49m,
+	setab=\E[%?%p1%{8}%<%t4%p1%d%e48;2;%p1%{65536}%/%d;%p1%{256}
+	      %/%{255}%&%d;%p1%{255}%&%d%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%d%e38;2;%p1%{65536}%/%d;%p1%{256}
+	      %/%{255}%&%d;%p1%{255}%&%d%;m,
+	setb@, setf@,
+konsole-direct|konsole with direct-color indexing,
+	use=xterm+indirect, use=konsole,
+st-direct|simpleterm with direct-color indexing,
+	use=xterm+indirect, use=st,
+vte-direct|VTE with direct-color indexing,
+	use=xterm+indirect, use=vte,
+# reportedly in Apple's Mohave (fall 2018), but untested -TD
+nsterm-direct|nsterm with direct-color indexing,
+	use=xterm+indirect, use=nsterm,
+
+# As for others (commenting at the time of release for ncurses 6.1):
+# + Apple's Terminal.app does not recognize either form of the direct-color
+#   sequences.
+# + Cygwin's mintty recognizes xterm's original implementation, does okay with
+#   the colors.  Like vte, it is a subset of xterm, although different
+#   omissions/reservations of modified-keys are seen in testing.
+# + PuTTY 0.70 seems to recognize xterm's original implementation but does
+#   nothing useful with the colors.
+# + Teraterm 4.97, like PuTTY (no good).
+# + terminology 0.91 recognizes xterm's original implementation, but does
+#   nothing useful with it.
+
+# Reviewing after ncurses 6.2:
+# + Apple's Terminal.app is unchanged, has no support for direct color:
+#	Catalina 10.15.5 Terminal.app 2.10 (433)
+#	Mohave 10.14.6 - Terminal.app 2.9.5 (421.2)
+# + Cygwin's mintty 3.1.7 works with colon/semicolon
+# + PuTTY 0.73 works with semicolon
+# + Teraterm 4.105 works with semicolon
+# + terminology 1.7.0 works with colon/semicolon.
+
+# Other variants are possible, e.g., by using more of xterm's indexed color
+# palette, though the intrusion of indexed colors on the direct-color space
+# would be more noticeable.
+
+xterm+direct16|xterm with direct-color indexing (16-color building-block),
+	CO#16,
+	setab=\E[%?%p1%{8}%<%t4%p1%d%e%?%p1%{16}%<%t%p1%{92}%+%d%e48
+	      :2::%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&
+	      %d%;%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%d%e%?%p1%{16}%<%t%p1%'R'%+%d%e38:
+	      2::%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1%{255}%&%d
+	      %;%;m,
+	setb@, setf@, use=xterm+direct,
+
+xterm-direct16|xterm with direct-colors and 16 indexed colors,
+	use=xterm+direct16, use=xterm,
+
+xterm+direct256|xterm with direct-color indexing (256-color building-block),
+	CO#0x100,
+	setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e%?
+	      %p1%{256}%<%t48;5;%p1%d%e48:2::%p1%{65536}%/%d:%p1
+	      %{256}%/%{255}%&%d:%p1%{255}%&%d%;%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e%?
+	      %p1%{256}%<%t38;5;%p1%d%e38:2::%p1%{65536}%/%d:%p1
+	      %{256}%/%{255}%&%d:%p1%{255}%&%d%;%;m,
+	setb@, setf@, use=xterm+direct,
+
+xterm-direct256|xterm with direct-colors and 256 indexed colors,
+	use=xterm+direct256, use=xterm,
+
+#### XTERM Features
+
+# This chunk is based on suggestions by Ailin Nemui and Nicholas Marriott, who
+# asked for some of xterm's advanced features to be added to its terminfo
+# entry.  It defines extended capabilities not found in standard terminfo or
+# termcap.  These are useful in tmux, for instance, hence the name.
+#
+# One caveat in adding extended capabilities in ncurses is that if the names
+# are longer than two characters, then they will not be visible through the
+# termcap interface.
+#
+# Ms modifies the selection/clipboard.  Its parameters are
+#	p1 = the storage unit (clipboard, selection or cut buffer)
+#	p2 = the base64-encoded clipboard content.
+#
+# Ss is used to set the cursor style as described by the DECSCUSR
+#	function to a block or underline.
+# Se resets the cursor style to the terminal power-on default.
+#
+# Cs and Cr set and reset the cursor colour.
+xterm+tmux|advanced xterm features used in tmux (cursor style 2),
+	Cr=\E]112\007, Cs=\E]12;%p1%s\007,
+	Ms=\E]52;%p1%s;%p2%s\007, Se=\E[2 q, Ss=\E[%p1%d q,
+xterm+tmux2|advanced xterm features used in tmux,
+	Cr=\E]112\E\\, Cs=\E]12;%p1%s\E\\,
+	Ms=\E]52;%p1%s;%p2%s\E\\, Se=\E[ q, Ss=\E[%p1%d q,
+
+# This is another variant, for XFree86 4.0 xterm (T.Dickey)
+# This is an 8-bit version of xterm, which emulates DEC VT220 with ANSI color.
+# To use it, your decTerminalID resource must be set to 200 or above.
+#
+#	HTS	\E H	\210
+#	RI	\E M	\215
+#	SS3	\E O	\217
+#	CSI	\E [	\233
+#
+xterm-8bit|xterm terminal emulator 8-bit controls (X Window System),
+	OTbs, am, bce, km, mc5i, mir, msgr, npc, xenl, AX,
+	colors#8, cols#80, it#8, lines#24, pairs#64,
+	bel=^G, blink=\2335m, bold=\2331m, cbt=\233Z,
+	civis=\233?25l, clear=\233H\2332J,
+	cnorm=\233?25l\233?25h, cr=\r, csr=\233%i%p1%d;%p2%dr,
+	cub=\233%p1%dD, cub1=^H, cud=\233%p1%dB, cud1=\n,
+	cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH,
+	cuu=\233%p1%dA, cuu1=\233A, cvvis=\233?12;25h,
+	dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M,
+	ech=\233%p1%dX, ed=\233J, el=\233K, el1=\2331K,
+	flash=\233?5h$<100/>\233?5l, home=\233H,
+	hpa=\233%i%p1%dG, ht=^I, hts=\210, ich=\233%p1%d@,
+	il=\233%p1%dL, il1=\233L, ind=\n, invis=\2338m,
+	is2=\E[62"p\E\sG\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r
+	    \E8,
+	ka1=\217w, ka3=\217u, kb2=\217y, kbeg=\217E, kc1=\217q,
+	kc3=\217s, kcbt=\233Z, kcub1=\217D, kcud1=\217B,
+	kcuf1=\217C, kcuu1=\217A, kdch1=\2333~, kend=\2334~,
+	kent=\217M, kf1=\23311~, kf10=\23321~, kf11=\23323~,
+	kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~,
+	kf16=\23329~, kf17=\23331~, kf18=\23332~, kf19=\23333~,
+	kf2=\23312~, kf20=\23334~, kf3=\23313~, kf4=\23314~,
+	kf5=\23315~, kf6=\23317~, kf7=\23318~, kf8=\23319~,
+	kf9=\23320~, khome=\2331~, kich1=\2332~, kmous=\233M,
+	knp=\2336~, kpp=\2335~, mc0=\233i, mc4=\2334i, mc5=\2335i,
+	meml=\El, memu=\Em, op=\23339;49m, rc=\E8, rev=\2337m,
+	ri=\215, rmam=\233?7l, rmcup=\233?1049l, rmir=\2334l,
+	rmkx=\233?1l\E>, rmso=\23327m, rmul=\23324m, rs1=\Ec,
+	rs2=\E[62"p\E\sG\233m\233?7h\E>\E7\233?1;3;4;6l\2334l\233r
+	    \E8,
+	sc=\E7, setab=\2334%p1%dm, setaf=\2333%p1%dm,
+	setb=\2334%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1
+	     %{6}%=%t3%e%p1%d%;m,
+	setf=\2333%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1
+	     %{6}%=%t3%e%p1%d%;m,
+	sgr=\2330%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+	    %p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\2330m\E(B, smam=\233?7h, smcup=\233?1049h,
+	smir=\2334h, smkx=\233?1h\E=, smso=\2337m, smul=\2334m,
+	tbc=\2333g, u6=\233[%i%d;%dR, u8=\233[?%[;0123456789]c,
+	vpa=\233%i%p1%dd, use=ansi+enq, use=xterm+acs,
+	use=xterm+kbs,
+
+# Note: normally xterm supports modified function-keys as described in
+#	XTerm - "Other" modified keys
+#	https://invisible-island.net/xterm/modified-keys.html
+#
+# However, xterm-hp, xterm-sco and xterm-sun assume no modifiers.  Here is
+# a simple script which demonstrates these descriptions:
+#	#!/bin/sh
+#	export TERM=xterm-$1
+#	xterm \
+#		-kt $1 \
+#		-fs 16 -fa mono \
+#		-title $TERM \
+#		-tn $TERM \
+#		-xrm '*modifyCursorKeys:-1' \
+#		-xrm '*modifyFunctionKeys:-1' \
+#		-e tack
+# e.g., "foo sun" if the script is named "foo" -TD
+xterm-hp|xterm with hpterm function keys,
+	kclr=\EJ, kdch1=\EP, kend=\EF, khome=\Eh, kich1=\EQ, knp=\ES,
+	kpp=\ET, use=hp+pfk-cr, use=vt52+arrows,
+	use=xterm+nofkeys, use=xterm+nopcfkeys,
+
+xterm-sco|xterm with SCO function keys,
+	kbeg=\E[E, kbs=^?, kdch1=^?, kend=\E[F, kf1=\E[M, kf10=\E[V,
+	kf11=\E[W, kf12=\E[X, kf13=\E[Y, kf14=\E[Z, kf15=\E[a,
+	kf16=\E[b, kf17=\E[c, kf18=\E[d, kf19=\E[e, kf2=\E[N,
+	kf20=\E[f, kf21=\E[g, kf22=\E[h, kf23=\E[i, kf24=\E[j,
+	kf25=\E[k, kf26=\E[l, kf27=\E[m, kf28=\E[n, kf29=\E[o,
+	kf3=\E[O, kf30=\E[p, kf31=\E[q, kf32=\E[r, kf33=\E[s,
+	kf34=\E[t, kf35=\E[u, kf36=\E[v, kf37=\E[w, kf38=\E[x,
+	kf39=\E[y, kf4=\E[P, kf40=\E[z, kf41=\E[@, kf42=\E[[,
+	kf43=\E[\\, kf44=\E[], kf45=\E[\^, kf46=\E[_, kf47=\E[`,
+	kf48=\E[{, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U,
+	kich1=\E[L, kmous=\E[>M, knp=\E[G, kpp=\E[I,
+	use=ansi+arrows, use=xterm+nofkeys,
+
+# The xterm-new description has all of the features, but is not completely
+# compatible with VT220.  If you are using a Sun or PC keyboard, set the
+# sunKeyboard resource to true:
+#	+ maps the editing keypad
+#	+ interprets control-function-key as a second array of keys, so a
+#	  12-fkey keyboard can support VT220's 20-fkeys.
+#	+ maps numeric keypad "+" to ",".
+#	+ uses DEC-style control sequences for the application keypad.
+#
+xterm-vt220|xterm emulating VT220,
+	npc,
+	kcbt=\E[Z, kend=\E[4~, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf20=\E[34~, kf5=\E[15~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kmous=\E[M, nel=\EE,
+	use=xterm+app, use=xterm+edit, use=vt220+keypad,
+	use=ecma+italics, use=ecma+index, use=ansi+rep,
+	use=ecma+strikeout, use=xterm+focus, use=xterm+sm+1006,
+	use=xterm+tmux, use=xterm+keypad, use=xterm-basic,
+
+xterm-vt52|xterm emulating DEC VT52,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	clear=\EH\EJ, rmacs=\EG, smacs=\EF, use=xterm+kbs,
+	use=vt52+keypad, use=vt52-basic,
+
+xterm-noapp|xterm with cursor keys in normal mode,
+	rmcup@, rmkx=\E>, smcup@, smkx=\E=, use=xterm+noapp,
+	use=xterm,
+
+xterm-24|vs100|xterms|xterm terminal emulator 24-line (X Window System),
+	lines#24, use=xterm-old,
+
+# This is xterm for ncurses.
+xterm|xterm terminal emulator (X Window System),
+	use=xterm-new,
+
+# This entry assumes that xterm's handling of VT100 SI/SO is disabled by
+# setting the vt100Graphics resource to false.
+xterm-utf8|xterm with no VT100 line-drawing in UTF-8 mode,
+	U8#1, use=xterm,
+
+# These building-blocks allow access to the X titlebar and icon name as a
+# status line.  There are a few problems in using them in entries:
+#
+# a) tsl should have a parameter to denote the column on which to transfer to
+#    the status line.
+# b) the "0" code for xterm updates both icon-title and window title.  Some
+#    window managers such as twm (and possibly window managers descended from
+#    it such as tvtwm, ctwm, and vtwm) track windows by icon-name. Thus, you
+#    don't want to mess with icon-name when using those window managers.
+# c) fsl ends the escape sequence begun by tsl.  Printable characters between
+#    those (probably) will appear in the window title.  Nonprintable characters
+#    may cause the escape sequence to end with an error.
+# d) the BEL (^G or \007) used in the original title-as-statusline came from 
+#    David J. MacKenzie's "pseudo-color" entry in 20 Apr 1995.  At that time
+#    xterm used BEL as the string-terminator rather than ST (\E\\).  Either
+#    BEL or ST has worked since xterm patch #28 in 1996, but most uses of
+#    this feature have been embedded in shell scripts.
+#
+# But that issue regarding the parameter for tsl means that applications may
+# not rely on it.  The SVr4 documentation says tsl will "move to status line,
+# column #1".  At the point in time when ESR added DJM's "pseudo-color" entry
+# with the split-up escape sequence for tsl/fsl, there were 65 entries using
+# tsl:
+#    32 used a parameter, matching the documentation (including x10term).
+#    21 used a parameterless control, exiting from the status line on ^M.
+#     6 used parameterless controls for tsl and fsl
+#     6 used a split-up escape sequence, e.g., the same approach.
+#
+# The extension "TS" is preferable, because it does not accept a parameter.
+# However, if you are using a non-extended terminfo, "TS" is not visible.
+xterm+sl|access X title line and icon name,
+	hs,
+	dsl=\E]0;\007, fsl=^G, tsl=\E]0;, TS=\E]0;,
+xterm+sl-twm|access X title line (pacify twm-descended window managers),
+	hs,
+	dsl=\E]2;\007, fsl=^G, tsl=\E]2;, TS=\E]2;,
+xterm+sl-alt|alternate access X title line,
+	hs,
+	dsl=\E]2;\E\\, fsl=\E\\, tsl=\E]2;, TS=\E]2;,
+
+# In contrast, this block can be used for a DEC VT320 and up.  There are two
+# controls used.
+#
+# DECSASD (select active status display)
+#	\E[0$}	Main display
+#	\E[1$}	Status line
+#
+# DECSSDT (select status line type)
+#	\E[0$~	No status line
+#	\E[1$~	Indicator status line
+#	\E[2$~	Host-writable status line
+#
+# The building block assumes that the terminal always shows something at the
+# status line (either the indicator, or status line).  That is because if no
+# status line is used, then the terminal makes that line part of the user
+# window, changing its size without notice.
+#
+# Because there is no "esl" (enable status line) capability, the "tsl"
+# capability ensures that the status line is host-writable.  A DEC terminal
+# will clear the status line when changing from indicator to host-writable
+# mode.
+#
+# Once on the status line, the row part of cursor addressing is ignored.  Since
+# tsl expects a parameter (to specify the column), the shortest addressing that
+# can be used for this purpose is HPA, e.g., \E[5d to go to column 5.
+#
+dec+sl|DEC VTxx status line,
+	eslok, hs,
+	dsl=\E[0$~, fsl=\E[0$}, tsl=\E[2$~\E[1$}\E[%i%p1%d`,
+
+#
+# The following xterm variants don't depend on your base version
+#
+# xterm with bold instead of underline
+xterm-bold|xterm terminal emulator (X11R6 Window System) standout w/bold,
+	sgr=%?%p9%t\016%e\017%;B\E[0%?%p6%t;1%;%?%p2%t;1%;%?%p1%p3%|
+	    %t;7%;m,
+	smso=\E[7m, smul=\E[1m, use=xterm-old,
+
+# See the note on ICH/ICH1 VERSUS RMIR/SMIR near the end of file
+xterm-nic|xterm with ich/ich1 suppressed for non-curses programs,
+	ich@, ich1@, use=xterm,
+# From: Mark Sheppard <kimble@mistral.co.uk>, 4 May 1996
+xterm1|xterm terminal emulator ignoring the alternate screen buffer,
+	rmcup@, smcup@, use=xterm,
+
+# https://invisible-island.net/xterm/xterm-paste64.html
+#
+# Bracketed paste was introduced by xterm patch #203 in May 2005, as part of a
+# larger feature for manipulating the clipboard selection.  Few terminals aside
+# from xterm fully implement the clipboard feature, but several copy this
+# detail.  The names for the extended capabilities here were introduced by vim
+# in January 2017, but used internally.  In 2023, vim patch 9.0.1117 is needed
+# to work with this change.
+bracketed+paste|xterm bracketed paste,
+	BD=\E[?2004l, BE=\E[?2004h, PE=\E[201~, PS=\E[200~,
+
+# https://invisible-island.net/xterm/xterm.log.html#xterm_354
+#
+# The response is a DSR sequence identifying the version: DCS > | text ST
+# For example:
+#	^[P>|XTerm(354)^[\
+report+version|Report xterm name and version (XTVERSION),
+	XR=\E[>0q, xr=\EP>\\|[ -~]+\E\\\\, use=report+da2,
+
+# Vim uses RV to denote the secondary device attributes.  Xterm documents the
+# - first parameter as the terminal type (extending it to VT100),
+# - the second as the patch number for xterm, and
+# - the third parameter as zero.
+# Other terminals may provide useful responses, though few are documented.
+report+da2|report secondary device attributes (DA2),
+	RV=\E[>c, rv=\E\\[[0-9]+;[0-9]+;[0-9]+c,
+
+#### XTERM Mouse
+# The xterm mouse protocol is used by other terminal emulators.
+# In this section, two extended capabilities are used to illustrate the mouse
+# protocol: XM and xm.  The "XM" capability is recognized by ncurses to allow
+# enabling/disabling other mouse protocols.  The "xm" capability describes the
+# mouse response; currently there is no interpreter which would use this
+# information to make the mouse support completely data-driven.
+
+# Here is the "original" xterm mouse protocol.
+#
+# First seen in X10.3, February 1986, this likely dates from 1985 based on the
+# copyright dates in the sources.  A comment in charproc.c notes "MIT bogus
+# sequence", referring to the fact that it does not correspond to a "real"
+# terminal.  The mouse responses for the X10 protocol are sent only for
+# button-presses.
+xterm+x10mouse|X10 xterm mouse protocol,
+	kmous=\E[M, XM=\E[?9%?%p1%{1}%=%th%el%;,
+	xm=\E[M%p3%' '%+%c%p2%'!'%+%c%p1%'!'%+%c,
+xterm-x10mouse|X10 xterm mouse,
+	use=xterm+x10mouse, use=xterm,
+
+# Here is the conventional xterm mouse protocol, introduced with X11R1 in
+# September 1987.
+#
+# The mouse responses for the X11 protocol covered button releases, as well as
+# modifiers:
+#  shift    4
+#  alt/meta 8 (technically the "mod1" mask, because X11 has no such keys)
+#  control 16
+#
+# The modifiers are not reflected in this description because as used in xterm
+# they are normally inaccessible because the translations resources assign
+# shift and control to other features.  However, they are important because
+# they take up space in the first byte of the response.  The other bits of this
+# byte are used to encode the button number for both presses and releases.
+# In the X11 protocol, any button-release is encoded with "3" (the lowest 2
+# bits in the byte).  Later work on XFree86 xterm used the remaining 3 bits to
+# provide additional features, e.g., wheel mouse.
+#
+# X11R1's xterm also supported an "emacs" mouse protocol, with final character
+# "t" or "T", which was activated by double-clicking.  The "t" response was
+# used when the starting/ending positions were the same.
+#
+# X11R3 (February 1988) added the highlight/tracking mode.
+#
+# X11R4 (December 1989) added the control sequences document, listing the
+# control sequences for the X10/X11 protocols without descriptions.  It also
+# mentioned the "emacs" ("T") response.  Comments in button.c referred to the
+# X11 protocol as "DEC VT200 compatible", although DEC offered no such terminal.
+#
+# X11R5 (November 1993) gave a description of the mouse protocol.
+#
+# X11R6 (January 1995) moved the control sequences document out of the xterm
+# source-directory to xc/doc/specs/xterm, polishing the formatting but adding
+# no new information.
+xterm+x11mouse|X11 xterm mouse protocol,
+	kmous=\E[M, XM=\E[?1000%?%p1%{1}%=%th%el%;,
+	xm=\E[M%?%p4%t%p3%e%{3}%;%'\s'%+%c%p2%'!'%+%c%p1%'!'%+%c,
+xterm-x11mouse|X11 mouse,
+	use=xterm+x11mouse, use=xterm,
+
+# Here is a suggested description of the xterm highlighting protocol.
+# A more complicated example could be constructed to account for the "t"
+# response.
+xterm+x11hilite|X11 xterm mouse protocol with highlight,
+	kmous=\E[M, XM=\E[?1001%?%p1%{1}%=%th%el%;,
+	xm=\E[%p6%'!'%+%p5%'!'%+%c%p8%'!'%+%c%p7%'!'%+%c%p2%'!'%+%c
+	   %p1%'!'%+%cT,
+xterm-x11hilite|X11 mouse with highlight,
+	use=xterm+x11mouse, use=xterm,
+
+# The preceding were the sources from X Consortium.  Other sources (or patches)
+# were available.  Starting in mid-1995, XFree86 developers collected some of
+# those changes and began improvements, e.g., to support color.  This was, by
+# the way, around the same time that rxvt developers began implementing color,
+# though dates (and attributions) are not well documented.  I became interested
+# in xterm in late 1995, and involved in early 1996.  To complete the picture,
+# CDE's dtterm was introduced around the same time, with no mouse protocol -TD
+
+# xterm patch #83 (1998/10/7), added Jason Bacon's changes to provide an
+# "any-event" mouse mode.
+#
+# These building blocks incorporate later features as well:
+# xterm patch #224 (2007/2/11) added private mode 1004, for enabling/disabling
+# focus in/out event reporting.
+# xterm patch #277 (2012/01/07) added private mode 1006
+
+xterm+sm+1002|xterm any-button mouse,
+	kmous=\E[<, XM=\E[?1006;1004;1002%?%p1%{1}%=%th%el%;,
+	xm=\E[<%i%p3%d;%p1%d;%p2%d;%?%p4%tM%em%;,
+	use=xterm+focus,
+xterm-1002|example of xterm any-button mouse,
+	use=xterm+sm+1002, use=xterm,
+
+xterm+sm+1003|xterm any-event mouse,
+	XM=\E[?1006;1004;1003%?%p1%{1}%=%th%el%;,
+	use=xterm+sm+1002,
+xterm-1003|example of xterm any-event mouse,
+	use=xterm+sm+1003, use=xterm,
+
+# Some terminal emulators implement xterm focus in/out, but do it incorrectly,
+# interfering with user applications.
+# https://lists.gnu.org/archive/html/bug-ncurses/2023-10/msg00087.html
+xterm+focus|xterm focus-in/out event "keys",
+	XF,
+	fd=\E[?1004l, fe=\E[?1004h, kxIN=\E[I, kxOUT=\E[O,
+
+# xterm patch #116 (1999/9/25) added Stephen P Wall's changes to support DEC
+# locator mode.
+
+# xterm patch #120 (1999/10/28) added my change to support wheel mouse, by
+# dropping support for the X11 mouse protocol's shift-modifier and using
+# available bits in the first byte of the response to encode buttons 4 and 5.
+# xterm patch #126 (2000/2/8) amended that change to avoid conflicting with
+# older configurations which might have used the obsolete modifiers.
+
+# xterm patch #262 (2010/8/30) added Ryan Johnson's changes to provide a mode
+# where the coordinates in the mouse response would be encoded in UTF-8,
+# thereby extending the range of coordinates past 222=(255-33).  This is the
+# "1005" mouse mode.
+xterm+sm+1005|xterm UTF-8 mouse (building block),
+	kmous=\E[M, XM=\E[?1005;1000%?%p1%{1}%=%th%el%;,
+	xm=\E[M%?%p4%t3%e%p3%'\s'%+%c%;%p2%'!'%+%u%p1%'!'%+%u,
+xterm-1005|xterm UTF-8 mouse,
+	use=xterm+sm+1005, use=xterm,
+
+# xterm patch #277 (2012/1/7) provides a mode where the mouse response uses
+# SGR-style parameters.
+#
+# Someone stated that the 1005 mouse mode would not be handled properly in luit.
+# (By the way, this is a problem with the X11 protocol).  A more plausible
+# criticism is that the responses provided by the 1005 mode are not distinct
+# from the non-1005 responses.
+#
+# As an alternative (and fixing the longstanding limitation of X11 mouse
+# protocol regarding button-releases), I provided the 1006 mode, referring
+# to it as "SGR 1006" since the replies resemble the SGR control string:
+xterm+sm+1006|xterm SGR-mouse (building block),
+	kmous=\E[<, XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,
+	xm=\E[<%i%p3%d;%p1%d;%p2%d;%?%p4%tM%em%;,
+xterm-1006|xterm SGR-mouse,
+	use=xterm+sm+1006, use=xterm,
+
+# Some terminal emulators implement xterm focus in/out, but do it incorrectly,
+# interfering with user applications.
+# https://lists.gnu.org/archive/html/bug-ncurses/2023-10/msg00087.html
+oldxterm+sm+1006|xterm SGR-mouse (building block),
+	kmous=\E[<, XM=\E[?1006;1000%?%p1%{1}%=%th%el%;,
+	xm=\E[<%i%p3%d;%p1%d;%p2%d;%?%p4%tM%em%;,
+
+#### KTERM
+# (kterm: this had extension capabilities ":KJ:TY=ascii:" -- esr)
+# (kterm should not invoke DEC Graphics as the alternate character set
+#  -- Kenji Rikitake)
+# (proper setting of enacs, smacs, rmacs makes kterm to use DEC Graphics
+#  -- MATSUMOTO Shoji)
+# kterm implements acsc via built-in table of X Drawable's
+kterm|kterm kanji terminal emulator (X window system),
+	XT,
+	ncv@,
+	acsc=``aajjkkllmmnnooppqqrrssttuuvvwwxx~~, enacs=,
+	rmacs=\E(B, rmam=\E[?7l,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e
+	    \E(B%;,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, use=x10term+sl,
+	use=xterm-r6, use=ecma+color,
+kterm-color|kterm-co|kterm with ANSI colors,
+	ncv@, use=kterm, use=ecma+color,
+
+#### Other XTERM
+
+# These (xtermc and xtermm) are distributed with Solaris.  They refer to a
+# variant of xterm which is apparently no longer supported, but are interesting
+# because they illustrate SVr4 curses mouse controls - T.Dickey
+xtermm|xterm terminal emulator (monochrome),
+	OTbs, am, km, mir, msgr, xenl,
+	btns#3, cols#80, it#8, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink@, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cud1=\n,
+	dch=\E[%p1%dP, dch1=\E[P, el1=\E[1K$<3>, enacs=\E(B\E)0,
+	getm=\E[%p1%dY, ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@,
+	ind=\n, kend=\E[Y, kf0=\EOy, kf10=\EOY, kf11=\EOZ, kf12=\EOA,
+	kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX, khome=\E[H,
+	kmous=\E[^_, knp=\E[U, kpp=\E[V, reqmp=\E[492Z, rev=\E[7m,
+	ri=\EM, rmacs=^O, rmcup=\E@0\E[?4r,
+	rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smcup=\E@0\E[?4s\E[?4h\E@1,
+	tbc=\E[3g, use=ansi+apparrows, use=ansi+csr,
+	use=ansi+cup, use=ansi+erase, use=ansi+idl,
+	use=ansi+local, use=ansi+sgrso, use=decid+cpr,
+	use=vt100+fnkeys,
+
+xtermc|xterm terminal emulator (color),
+	ncv#7,
+	op=\E[100m,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	use=xtermm, use=klone+color,
+
+# From: David J. MacKenzie <djm@va.pubnix.com> 20 Apr 1995
+# Here's a termcap entry I've been using for xterm_color, which comes
+# with BSD/OS 2.0, and the X11R6 contrib tape too I think.  Besides the
+# color stuff, I also have a status line defined as the window manager
+# title bar. [I have translated it to terminfo -- ESR]
+xterm-pcolor|xterm with color used for highlights and status line,
+	wsl#40,
+	bold=\E[1;43m, rev=\E[7;34m,
+	sgr=%?%p9%t\016%e\017%;\E[0%?%p6%t;1;43%;%?%p2%t;4;42%;%?%p1
+	    %t;7;31%;%?%p3%t;7;34%;m,
+	smso=\E[7;31m, smul=\E[4;42m, use=xterm+sl, use=xterm-r6,
+
+# This was mentioned
+#	http://unix.stackexchange.com/questions/119/colors-in-man-pages
+# pointing to
+#	http://nion.modprobe.de/blog/archives/569-colored-manpages.html
+#	(blog posting by Nico Golde, June 24 2007)
+# archive:
+#	https://web-beta.archive.org/web/20070921042430/http://nion.modprobe.de/mostlike.txt
+# The comment hints where it started, but there are differences:
+#	Reconstructed via infocmp from file: /usr/share/terminfo/x/xterm-pcolor
+mostlike|manpages with color looking like most,
+	OTbs@,
+	bold=\E[1m\E[31m,
+	is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^H,
+	meml@, memu@, rev=\E[7m\E[34m,
+	rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>, sgr@,
+	smso=\E[1;30m\E[47m, smul=\E[32m, TS@, use=xterm-pcolor,
+
+# This describes the capabilities of color_xterm, an xterm variant from
+# before ECMA-48 color support was folded into the main-line xterm release.
+# This entry is straight from color_xterm's maintainer.
+# From: Jacob Mandelson <jlm@ugcs.caltech.edu>, 09 Nov 1996
+# The README's with the distribution also say that it supports SGR 21, 24, 25
+# and 27, but they are not present in the terminfo or termcap.
+color_xterm|cx|cx100|color_xterm color terminal emulator for X,
+	OTbs, am, km, mir, msgr, xenl, XT,
+	cols#80, it#8, lines#65, ncv@,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P, ed=\E[J,
+	el=\E[K, el1=\E[1K, enacs=\E(B\E)0, home=\E[H, ht=^I,
+	ich=\E[%p1%d@, ind=\n, is1=\E[r\E[m\E[?7h\E[?4;6l\E[4l,
+	kend=\E[8~, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[7~, kich1=\E[2~, kmous=\E[M, knp=\E[6~, kpp=\E[5~,
+	rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l,
+	rmcup=\E>\E[?41;1r, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+	rs1=\E(B\017\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E<,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;m%?%p9%t\016%e\017%;,
+	sgr0=\E[0m\017, smacs=^N, smam=\E[?7h,
+	smcup=\E[?1;41s\E[?1;41h\E=, smir=\E[4h, smso=\E[7m,
+	smul=\E[4m, use=ansi+apparrows, use=ansi+csr,
+	use=ansi+idl, use=ansi+local, use=decid+cpr,
+	use=ecma+color, use=vt220+keypad,
+
+# The IRAF source has a terminfo using "xterm-r5", but line-drawing does not
+# work in that case.  This entry uses xterm+acs, to work around that problem.
+#
+# Home/end keys do not work, due to a bug in the X Consortium xterm on which
+# this is based:
+#
+#	https://invisible-island.net/xterm/xterm.faq.html#bug_xterm_r6
+#
+# Comparing to the X11R5 source, xgterm has dynamic and ANSI colors (probably
+# not bce).  It interchanges mouse buttons 2/3 for menus.
+#
+# It also has a few features found in later versions of xterm:
+# - vi-button and dired-button,
+# - i18n stuff like X11R6.
+# - colorBD, colorUL
+# - scrollBarRight
+#
+# Debian provides a package for xgterm (and iraf).  Although the source for
+# xgterm implements the control-sequences for ANSI color, the packaged xgterm
+# does nothing with those, even after installing the app-defaults file which
+# was overlooked by the Debian packager.
+xgterm|graphic terminal for IRAF,
+	enacs=\E(B\E)0, rmacs=^O,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t
+	    \016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, use=xterm+acs, use=xterm-r5,
+	use=xterm+keypad,
+
+# The 'nxterm' distributed with Redhat Linux 5.2 is a slight rehack of
+# xterm-sb_right-ansi-3d, which implements ANSI colors, but does not support
+# SGR 39 or 49.  SGR 0 does reset colors (along with everything else).  This
+# description is "compatible" with color_xterm, rxvt and XFree86 xterm, except
+# that each of those implements the home, end, delete keys differently.
+#
+# Redhat Linux 6.x distributes XFree86 xterm as "nxterm", which uses bce
+# colors; note that this is not compatible with the 5.2 version.
+# csw (2002-05-15): make xterm-color primary instead of nxterm, to
+#   match XFree86's xterm.terminfo usage and prevent circular links
+xterm-color|nxterm|generic color xterm,
+	ncv@,
+	op=\E[m, use=xterm-r6, use=klone+color,
+
+# This entry describes an xterm with Sun-style function keys enabled
+# via the X resource setting "xterm*sunFunctionKeys:true"
+# To understand <kf11>/<kf12> note that L1,L2 and F11,F12 are the same.
+# The <kf13>...<kf20> keys are L3-L10.  We don't set <kf16=\E[197z>
+# because we want it to be seen as <kcpy>.
+# The <kf31>...<kf45> keys are R1-R15.  We treat some of these in accordance
+# with their Sun keyboard labels instead.
+# From: Simon J. Gerraty <sjg@zen.void.oz.au> 10 Jan 1996
+xterm-sun|xterm with sunFunctionKeys true,
+	kb2=\E[218z, kcpy=\E[197z, kdch1=\E[3z, kend=\E[220z,
+	kent=\EOM, kf1=\E[224z, kf10=\E[233z, kf11=\E[192z,
+	kf12=\E[193z, kf13=\E[194z, kf14=\E[195z, kf15=\E[196z,
+	kf17=\E[198z, kf18=\E[199z, kf19=\E[200z, kf2=\E[225z,
+	kf20=\E[201z, kf3=\E[226z, kf31=\E[208z, kf32=\E[209z,
+	kf33=\E[210z, kf34=\E[211z, kf35=\E[212z, kf36=\E[213z,
+	kf38=\E[215z, kf4=\E[227z, kf40=\E[217z, kf42=\E[219z,
+	kf44=\E[221z, kf45=\E[222z, kf46=\E[234z, kf47=\E[235z,
+	kf5=\E[228z, kf6=\E[229z, kf7=\E[230z, kf8=\E[231z,
+	kf9=\E[232z, kfnd=\E[200z, khlp=\E[196z, khome=\E[214z,
+	kich1=\E[2z, knp=\E[222z, kpp=\E[216z, kund=\E[195z,
+	use=xterm+kbs, use=ansi+apparrows, use=xterm+nofkeys,
+	use=xterm+nopcfkeys,
+
+xterms-sun|small (80x24) xterm with sunFunctionKeys true,
+	use=xterm-sun,
+
+#### GNOME (VTE)
+# this describes the alpha-version of GNOME terminal shipped with Redhat 6.0
+gnome-rh62|GNOME terminal,
+	bce,
+	kdch1=^?, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	use=linux+kbs, use=xterm-color,
+
+# GNOME Terminal 1.4.0.4 (Redhat 7.2)
+#
+# This implements a subset of VT102 with a random selection of features from
+# other terminals such as color and function-keys.
+#
+# shift-f1 to shift-f10 are f11 to f20
+#
+# NumLock changes the application keypad to approximate VT100 keypad, except
+# that there is no escape sequence matching comma (,).
+#
+# Other defects observed:
+#	vt100 LNM mode is not implemented.
+#	vt100 80/132 column mode is not implemented.
+#	vt100 DECALN is not implemented.
+#	vt100 DECSCNM mode is not implemented, so flash does not work.
+#	vt100 TBC (tab reset) is not implemented.
+#	xterm alternate screen controls do not restore cursor position properly
+#	it hangs in tack after running function-keys test.
+gnome-rh72|GNOME Terminal in RedHat 7,
+	bce, km@,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rmam=\E[?7l,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\016%e
+	    \017%;,
+	sgr0=\E[0m\017, smam=\E[?7h, tbc@, use=vt220+cvis,
+	use=linux+kbs, use=xterm-color,
+
+# GNOME Terminal 2.0.1 (Redhat 8.0)
+#
+# Documentation now claims it implements VT220 (which is demonstrably false).
+# However, it does implement ECH, which is a VT220 feature.  And there are
+# workable VT100 LNM, DECALN, DECSNM modes, making it possible to display
+# more of its bugs using vttest.
+#
+# However, note that bce and msgr are broken in this release.  Tabs (tbc and
+# hts) are broken as well.  Sometimes flash (as in xterm-new) works.
+#
+# kf1 and kf10 are not tested since they're assigned (hardcoded?) to menu
+# operations.  Shift-tab generates a distinct sequence so it can be argued
+# that it implements kcbt.
+gnome-rh80|GNOME Terminal in RedHat 8,
+	bce@, msgr@,
+	ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l, kcbt=\E^I,
+	op=\E[39;49m, use=gnome-rh72,
+
+# GNOME Terminal 2.2.1 (Redhat 9.0)
+#
+# bce and msgr are repaired.
+gnome-rh90|GNOME Terminal in RedHat 9,
+	bce, msgr, XT,
+	hpa=\E[%i%p1%dG, kLFT=\EO2D, kRIT=\EO2C, kb2=\E[E,
+	kcbt=\E[Z, tbc=\E[3g, vpa=\E[%i%p1%dd, use=xterm+pcf0,
+	use=xterm+pcfkeys, use=gnome-rh80,
+
+# GNOME Terminal 2.14.2 (Fedora Core 5)
+# Ed Catmur notes that gnome-terminal has recognized soft-reset since May 2002.
+gnome-fc5|GNOME Terminal in Fedora Core 5,
+	rs1=\Ec,
+	rs2=\E7\E[r\E8\E[m\E[?7h\E[!p\E[?1;3;4;6l\E[4l\E>\E[?1000l
+	    \E[?25h,
+	use=ansi+enq, use=xterm+pcc0, use=gnome-rh90,
+
+# GNOME Terminal 2.18.1 (2007 snapshot)
+#
+# For any "recent" version of gnome-terminal, it is futile to attempt to
+# support modifiers on cursor- and keypad keys because the program usually
+# is hardcoded to set $TERM to "xterm", and on startup, it builds a subset
+# of the keys (which more/less correspond to the termcap values), and will
+# interpret those according to the $TERM value, but others not in the
+# terminfo according to some constantly changing set of hacker guidelines -TD
+vte-2007|VTE in GNOME Terminal snapshot 2.18.1,
+	use=xterm+pcc2, use=vt220+cvis, use=gnome-fc5,
+gnome-2007|GNOME Terminal snapshot 2.18.1,
+	use=vte-2007,
+
+# GNOME Terminal 2.22.3 (2008 snapshot)
+#
+# In vttest, it claims to be a VT220 with national replacement character-sets,
+# but aside from the identifier string, implements only a small fraction of
+# VT220's behavior, which will make it less usable on a VMS system (unclear
+# what the intent of the developer is, since the NRC feature exposed in vttest
+# by this change does not work).
+vte-2008|VTE in GNOME Terminal snapshot 2.22.3,
+	use=vte+pcfkeys, use=vte-2007,
+gnome-2008|GNOME Terminal snapshot 2.22.3,
+	use=vte-2008,
+
+# GNOME Terminal 3.6.0 (2012)
+# VTE 0.34.1 was marked in git 2012-10-15 (three days after patch was applied
+# in ncurses).  It inherited from gnome-fc5, which broke the modified forms
+# of f1-f4 -TD
+#
+# Testing with tack shows that flash does not/has not worked -TD
+vte-2012|VTE 0.34.1,
+	ncv#16,
+	dim=\E[2m, flash@, invis=\E[8m, rmso=\E[27m, rmul=\E[24m,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p5%t;2%;%?%p7%t;8%;%?%p1%p3
+	    %|%t;7%;m%?%p9%t\016%e\017%;,
+	use=ecma+italics, use=vte-2008,
+# Version 3.6.1 sets TERM to xterm-256color (still hardcoded), which has
+# 61 differences from a correct entry for gnome terminal.
+gnome-2012|GNOME Terminal 3.6.0,
+	use=vte-2012,
+
+# Before 2008, GNOME terminal could automatically use the contents of the
+# "xterm" terminfo to supply key information which is not built into the
+# program.  With 2.22.3, this list was built into the program (which addressed
+# the inadvertent use of random terminfo data, though using a set of values
+# which did not correspond to any that xterm produced - still not solving the
+# problem that GNOME terminal hardcoded the $TERM variable as "xterm").
+#
+#	terminfo	modifier	code	keys
+#	kf13-kf24	shift		2	F1 to F12
+#	kf25-kf36	control		5	F1 to F12
+#	kf37-kf48	shift/control	6	F1 to F12
+#	kf49-kf60	alt		3	F1 to F12
+#	kf61-kf63	shift-alt	4	F1 to F3
+#
+# The parameters with \EO (SS3) are technically an error, since SS3 should have
+# no parameters.  This appears to be rote copying based on xterm+pcc0.
+vte+pcfkeys|VTE's variation on xterm+pcfkeys (building block),
+	kf13=\EO1;2P, kf14=\EO1;2Q, kf15=\EO1;2R, kf16=\EO1;2S,
+	kf25=\EO1;5P, kf26=\EO1;5Q, kf27=\EO1;5R, kf28=\EO1;5S,
+	kf37=\EO1;6P, kf38=\EO1;6Q, kf39=\EO1;6R, kf40=\EO1;6S,
+	kf49=\EO1;3P, kf50=\EO1;3Q, kf51=\EO1;3R, kf52=\EO1;3S,
+	kf61=\EO1;4P, kf62=\EO1;4Q, kf63=\EO1;4R,
+	use=xterm+pcfkeys,
+gnome+pcfkeys|GHOME Terminal's variation on xterm+pcfkeys (building block),
+	use=vte+pcfkeys,
+
+# deprecated - use "vte" for newer versions
+gnome|GNOME Terminal,
+	use=vte-2012,
+gnome-256color|GNOME Terminal with xterm 256-colors,
+	use=xterm+256color, use=gnome,
+
+# relevant changes were made in January 2014, and later.
+#
+# Originally VTE was promoted as a library able to emulate any terminal by
+# reading its terminal description.  In practice, that never got beyond the
+# ability to read definitions of special keys (function-, editing-, cursor).
+#
+# Before 2014, VTE had a termcap reader (originally pointing to a private copy
+# of a termcap file derived from xterm).  That was incomplete because it did
+# not have any of the modifier-key information used for xterm's function-,
+# editing-, and cursor-keys.  Having its own reader was unnecessary since
+# ncurses provides that information; used since xterm patch #225 in 2007.
+#
+# During April/May 2014, a few bug reports (e.g., gnome #169295, gnome #728900,
+# gnome #730137) dealt with attempts to recast that termcap reader as library
+# calls, then attempting to adapt a chunk of code from ncurses (src/vteti.c),
+# abandoning that and finally constructing a table to match xterm's default
+# behavior, e.g., for "xterm+pcfkeys".
+vte-2014|VTE 0.35.1,
+	ncv@,
+	cbt=\E[Z, el1=\E[1K, flash=\E[?5h$<100/>\E[?5l,
+	ich=\E[%p1%d@, kent=\EOM, use=ecma+index,
+	use=oldxterm+sm+1006, use=xterm+pcfkeys, use=vte-2012,
+	use=bracketed+paste,
+
+# As of January 2018, this was the  most recent release,
+# e.g., with gnome-terminal 3.26.2
+vte-2017|VTE 0.50.2,
+	E3=\E[3J, use=ecma+strikeout, use=vte-2014,
+
+# VTE 0.51.2 and gnome-terminal 3.28.2 copied a feature from KovId's TTY
+# late in 2017 for changing the appearance of underlines, which was
+# incorporated into Debian and Fedora testing-packages in February and March
+# 2018, respectively. Overline (Smol/Rmol) has been supported since December
+# 2017.
+vte-2018|VTE 0.51.2,
+	AX,
+	blink=\E[5m, enacs=\E(B\E)0, nel=\EE,
+	rep=%p1%c\E[%p2%{1}%-%db,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;
+	    8%;%?%p1%p3%|%t;7%;m%?%p9%t\016%e\017%;,
+	Rmol=\E[55m, Se=\E[1 q, Smol=\E[53m, Smulx=\E[4:%p1%dm,
+	use=xterm+alt+title, use=xterm+tmux, use=kitty+setal,
+	use=vte-2017,
+
+# Summarizing as of March 2022, these terminfo-capabilities of xterm are
+# absent from VTE:
+# - DEC application keypad mode
+# - DEC-compatible status-line
+# - DEC left/right margin support
+# - DEC printer controls
+# - AT&T cursor-blinking
+# - meta mode, as documented in terminfo(5)
+# - xterm's extension to clear scrollback
+vte|VTE aka GNOME Terminal,
+	use=vte-2018,
+
+vte-256color|VTE with xterm 256-colors,
+	use=xterm+256color, use=vte,
+
+# XFCE Terminal 0.2.5.4beta2
+#
+# This is based on some of the same source code, e.g., the VTE library, as
+# gnome-terminal, but has fewer features, fails more screens in vttest.
+# Since most of the terminfo-related behavior is due to the VTE library,
+# the terminfo is the same as gnome-terminal.
+xfce|Xfce Terminal,
+	use=vte-2008,
+
+# HTERM
+#
+# https://hterm.org
+#
+# A terminal written in JavaScript, which can provide xterm-like terminal
+# emulation in a browser such as Google Chrome, or in Chome OS.
+#
+# https://chromium.googlesource.com/apps/libapps/+/master/nassh/doc/FAQ.md
+#
+# Tested with Secure Shell App version 0.39 in Chrome 89.0.4389.90, found that
+# the numeric keypad escapes are missing -TD
+hterm|Chromium hterm,
+	npc,
+	U8#1,
+	kcbt=\E[Z, kent=\EOM, nel=\EE, use=linux+kbs,
+	use=xterm+osc104, use=ecma+index, use=ansi+rep,
+	use=ecma+strikeout, use=vt420+lrmm, use=xterm+focus,
+	use=xterm+sm+1006, use=xterm+tmux, use=ecma+italics,
+	use=xterm+pcfkeys, use=xterm-basic,
+	use=bracketed+paste,
+hterm-256color|Chromium hterm with xterm 256-colors,
+	use=xterm+256color2, use=hterm,
+
+# TERMITE
+#
+# https://github.com/thestinger/termite
+#
+# A review requires install of Arch Linux since Fedora and Debian don't have
+# this program.  It uses "vte3-ng" (a conflicting package), which is here:
+#	https://github.com/thestinger/vte-ng
+# which (based on the default branch setting) seems to be a fork of vte
+# 0.48.2, and is noted as such in Arch:
+#	https://aur.archlinux.org/packages/vte3-ng/
+# It won't be merged:
+#	https://bugzilla.gnome.org/show_bug.cgi?id=679658#c10
+#	https://bugzilla.gnome.org/show_bug.cgi?id=78291
+# but perhaps made obsolete.
+#
+# The entry as given was mislabeled "xterm-termite" (it is not xterm), and
+# was mostly cut/paste from xterm-256color, but since VTE does not actually
+# implement several of the features in that terminal description, this one is
+# trimmed to eliminate those.  Also, since it is a slightly older version of
+# VTE, it lacks a few more features (again, trimmed).
+termite|VTE-based terminal,
+	am, km, mir, msgr, npc, xenl,
+	cols#80, lines#24, ncv@,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+	     yzz{{||}}~~,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, ech=\E[%p1%dX, ed=\E[J, el=\E[K,
+	el1=\E[1K, flash=\E[?5h$<100/>\E[?5l, home=\E[H,
+	hpa=\E[%i%p1%dG, ind=\n, invis=\E[8m,
+	is2=\E[!p\E[?3;4l\E[4l\E>, kb2=\EOE, kbs=^?, kcbt=\E[Z,
+	kent=\EOM, kmous=\E[M, rev=\E[7m, ri=\EM, rmacs=\E(B,
+	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+	rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+	    %t;7%;%?%p7%t;8%;m,
+	sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd, use=ansi+csr,
+	use=ansi+enq, use=ansi+idc, use=ansi+idl,
+	use=ansi+inittabs, use=ecma+index, use=ecma+italics,
+	use=ansi+local, use=xterm+alt1049, use=xterm+256color,
+	use=ecma+color, use=vt220+cvis, use=xterm+pcfkeys,
+	use=xterm+sl-twm,
+
+#### Other GNOME
+# Multi-GNOME-Terminal 1.6.2
+#
+# This does not use VTE, and does have different behavior (compare xfce and
+# gnome).
+mgt|Multi GNOME Terminal,
+	use=ecma+index, use=xterm-xf86-v333,
+
+#### KDE
+# This is kvt 0-18.7, shipped with Redhat 6.0 (though whether it supports bce
+# or not is debatable).
+kvt|KDE terminal,
+	bce, km@,
+	kdch1=^?, kend=\E[F, khome=\E[H, use=linux+kbs,
+	use=xterm-color,
+
+# Konsole 1.0.1 (2001/11/25)
+# (formerly known as kvt)
+#
+# This program hardcodes $TERM to 'xterm', which is not accurate.  However, to
+# simplify this entry (and point out why konsole isn't xterm), we base this on
+# xterm-r6.  The default keyboard appears to be 'linux'.
+#
+# Notes:
+# a) konsole implements several features from XFree86 xterm, though none of
+#    that is documented - except of course in its source code - apparently
+#    because its implementors are unaccustomed to reading documentation - as
+#    evidenced by the sparse and poorly edited documentation distributed with
+#    konsole.  Some features such as the 1049 private mode are recognized but
+#    incorrectly implemented as a duplicate of the 47 private mode.
+# b) even with the "vt100 (historical)" keyboard setting, the numeric keypad
+#    sends PC-style escapes rather than VT100.
+# c) fails vttest menu 3 (Test of character sets) because it does not properly
+#    parse some control sequences.  Also fails vttest Primary Device Attributes
+#    by sending a bogus code (in the source it says it's supposed to be a
+#    VT220, which is doubly incorrect because it does not implement VT220
+#    control sequences except for a few special cases).  Treat it as a
+#    mildly-broken VT102.
+#
+# Update for konsole 1.3.2:
+#    The 1049 private mode works (but see the other xterm screens in vttest).
+#    Primary Device Attributes now returns the code for a VT100 with advanced
+#    video option.  Perhaps that's intended to be a "mildly-broken Vt102".
+#
+# Updated for konsole 1.6.4:
+#    add konsole-solaris
+#
+# Updated for konsole 1.6.6:
+#    add control-key modifiers for function-keys, etc.
+#
+# Updated for konsole 2.3 (October 2008):
+#    vttest menu 1 shows that both konsole and gnome terminal do wrapping
+#    different from xterm (and VT100's).  They have the same behavior in
+#    this detail, but it is unclear which copies the other.
+#
+# Deferred update for konsole 2.10 (late 2012):
+#    add SGR 1006 mouse
+#
+# Updated for konsole 2.12.4 (late 2013):
+#    add sitm/ritm
+#
+# Updated for konsole 16.07 (mid 2016):
+#    add dim, invis, strikeout
+#    (also overline, which is too rarely used to provide as an extension)
+#
+# Updated for konsole 17.12.0 (late 2017):
+#
+# Re-enable "bel", since it is latent in the source-code even though KDE config
+# often hides the feature (2020/5/30)
+konsole-base|KDE console window (common),
+	bce, km@, npc, XT,
+	ncv@,
+	ech=\E[%p1%dX, flash=\E[?5h$<100/>\E[?5l,
+	hpa=\E[%i%p1%dG, kend=\E[4~, kf1@, kf10@, kf11@, kf12@, kf13@,
+	kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, kf2@, kf20@, kf3@, kf4@,
+	kf5@, kf6@, kf7@, kf8@, kf9@, kfnd@, khome=\E[1~, kslt@,
+	rmam=\E[?7l, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
+	rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?25h,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+	    %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[0m\017, smam=\E[?7h, vpa=\E[%i%p1%dd,
+	use=ansi+sgrdim, use=ecma+index, use=xterm+focus,
+	use=xterm+sm+1006, use=ecma+strikeout,
+	use=ecma+italics, use=ecma+color, use=xterm-r6,
+	use=vt220+cvis, use=bracketed+paste,
+	use=report+version,
+
+# The keytab feature was introduced in 0.9.12 (February 2000) with "linux" and
+# "vt100" key-table files along with a compiled-in default key-table.
+#
+# The main difference between the two keytabs was that the developer equated
+# "vt100" with xterm, and noticed that the Linux console's F1-F5 differed from
+# that.  For the same reason, the home/end keys differ.  A VT100 had none of
+# that.  The otherwise identical keytabs have definitions to model the VT52
+# cursor-keys and the VT100 cursor-keys with application versus normal modes.
+#
+# An "x11r5" keytab (displayed in the menu as "X11 R5") was added in January
+# 2001, and shortly after retitled to "XFree 3.x.x".  Both it and "vt100" were
+# dropped from the install in June 2008.
+#
+# The default keytab added in January 2000 was originally titled "X11 R6",
+# and likewise retitled to "XFree 4".
+#
+# A "solaris" keytab was added in Febrary 2005, copying the "vt100" keytab
+# and changing backspace to ^H, removing that keytab's attempt to model the
+# VT100 keypad and VT52 (KDE #20459).
+#
+# The developers made changes to the default and linux keytabs.  Comparing
+# the original and 2018 versions using diffstat:
+#	default: 119 added, 147 deleted, 28 unchanged
+#	linux:   47 added, 28 deleted, 104 unchanged
+#
+# Most of the change for the default keytab was to make konsole act more like
+# xterm.  That was a feature named AnyMod which came in May 2005 for KDE #92749
+# (see also Redhat #122815).  Later, in June 2007 the compiled-in keytab was
+# made an external file (like "linux" and "solaris"), and some further
+# refinement made.  But there are still flaws in the scheme.
+#
+# Essentially AnyMod maps the xterm "PC-style" modifier codes such as 2 for
+# Shift into a placeholder in the table entries.  That works well if all of the
+# modified keys are modified in the same way.  But xterm does not do that.  The
+# first 4 function keys are used in xterm to support the VT100 PF1-PF4 keypad
+# keys.  For example, F2 sends \EOQ in both terminals because of this feature.
+# But a shifted F2 (F14=F2+12) differs like this, in infocmp's listing:
+#	kf14: '\E[1;2Q', '\EO2Q'.
+#
+# In effect, a quarter of konsole's function-keys are different from xterm.
+#
+# It is not a simple blunder:
+# a) xterm patch #121 (November 1999), providing the first version of the
+#    PC-style modifiers would send \EO2Q
+# b) xterm patch #216 (July 2006) amended this and other details, provided
+#    better documentation for the modifiers and made the behavior configurable,
+#    e.g., using the modifyFunctionKeys resource.  The reason why it sends
+#    \E[1;2Q is that \E[O2Q is not a legal ECMA-48 control sequence.  The
+#    changelog points this out as "avoid sending SS3 with parameters".
+# c) That came after AnyMod was introduced, but still early enough that one
+#    might expect konsole's developers to followup.  Twelve years later that
+#    has yet to happen.
+#
+# As of 2018, konsole still provides 3 keyboard profiles ("XFree 4", "linux",
+# "solaris").
+konsole-linux|KDE console window with Linux keyboard,
+	kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13@,
+	kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E[[B, kf20@,
+	kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, use=konsole-base,
+konsole-solaris|KDE console window with Solaris keyboard,
+	kbs=^H, kend=\E[4~, khome=\E[1~, use=konsole-vt100,
+
+# Obsolete: x11r5.keymap
+# KDE's "XFree86 3.x.x" keyboard was obviously based on reading the xterm
+# terminfo at the time rather than testing the code.
+konsole-xf3x|KDE console window with keyboard for XFree86 3.x xterm,
+	kend=\E[4~, khome=\E[1~, use=konsole-vt100,
+
+# The value for kbs (see konsole-vt100) reflects local customization rather
+# than the settings used for XFree86 xterm.
+konsole-xf4x|KDE console window with keyboard for XFree86 4.x xterm,
+	kend=\EOF, khome=\EOH, use=konsole+pcfkeys,
+	use=konsole-vt100,
+
+konsole+pcfkeys|konsole subset of xterm+pcfkeys,
+	kcbt=\E[Z, use=xterm+pcc2, use=xterm+pcf0,
+	use=xterm+pce2,
+
+# Obsolete: vt100.keymap
+# KDE's "vt100" keyboard has no relationship to any terminal that DEC made, but
+# it is still useful for deriving the other entries, since the developer
+# provided function-keys based on xterm.
+konsole-vt100|KDE console window with VT100 (sic) keyboard,
+	kend=\E[F, kf1=\E[11~, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13@, kf14@, kf15@, kf16@, kf17@, kf18@, kf19@,
+	kf2=\E[12~, kf20@, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+	use=konsole-base,
+
+# Obsolete: vt420pc.keytab was added in June 2000, dropped from the install in
+# September 2008 and removed in June 2016.  The developer who removed it stated
+# that it was never installed.
+konsole-vt420pc|KDE console window with VT420 PC keyboard,
+	kbs=^H, kdch1=^?, use=konsole-vt100,
+
+# make a default entry for konsole
+konsole|KDE console window,
+	use=konsole-xf4x,
+
+# These were written for ncurses:
+konsole-16color|klone of xterm-16color,
+	ncv#32, use=ibm+16color, use=konsole,
+konsole-256color|KDE console window with xterm 256-colors,
+	use=xterm+256setaf, use=konsole,
+
+#### MLTERM
+# https://github.com/arakiken/mlterm
+
+mlterm|multi lingual terminal emulator,
+	use=mlterm3,
+
+# Tested mlterm 3.9.0 (2020/09/19):
+# ncurses:
+# - has blinking text
+# - has italics
+# - has invisible-text
+# tack:
+# - has crossed-out text
+# - does not support palette reset with OSC 104
+# - testing the function-keys is difficult because the terminal is
+#   preconfigured to set many of the modified keys to special functions, e.g.,
+#   - shift-F1 and shift-F2 are bound to a split-screen feature
+#   - control-F1 and control-F2 is bound to a new-terminal feature
+# vttest:
+# - primary response says it is a VT340 (ReGIS and Sixel).
+# - has partial support for double-size characters.
+# - character-set tests do not work.
+# - DEC locator works.
+# - 1006-mouse works.
+# - focus-events do not work reliably.
+# - numeric keypad escapes do not work.
+# - back-color erase works
+# other:
+# - title-stack works.
+# - doesn't respond to 8-bit controls.
+# - 256-color palette initializing works.
+# - DECSTR soft-reset is documented.
+#
+# Tested mlterm 3.3.8 (2018/01/21):
+# found xterm+sm+1006 did not work with version 3.3.8
+# soft-reset DECSTR is in sources since 2017/09/19.
+#
+# Tested mlterm 3.2.2 (2014/03/22):
+# mlterm 3.x made further changes, but they were not reflected in the included
+# mlterm.ti (which was dropped in 2015).  This entry has been based on testing
+# with ncurses, tack and vttest -TD
+mlterm3|multi lingual terminal emulator 3.x,
+	bce, AX,
+	blink=\E[5m, flash=\E[?5h$<100/>\E[?5l, invis=\E[8m,
+	is2=\E[!p\E[?3;4l\E>, rs2=\E[!p\E[?3;4l\E>,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;%?
+	    %p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
+	use=ansi+enq, use=ansi+rep, use=ecma+italics,
+	use=ecma+strikeout, use=xterm+app, use=xterm+pcf2,
+	use=xterm+pcc2, use=xterm+pce2, use=xterm+meta,
+	use=xterm+alt+title, use=xterm+sm+1006,
+	use=vt100+pfkeys, use=bracketed+paste, use=mlterm2,
+	use=report+version,
+
+# This is mlterm 2.9.3's mlterm.ti, with some additions/corrections -TD
+#
+# It is nominally a VT102 emulator, with features borrowed from rxvt and
+# xterm.
+#
+# The function keys are numbered based on shift/control/alt modifiers, except
+# that the control-modifier itself is used to spawn a new copy of mlterm (the
+# "-P" option).  So control/F1 to control/F12 may not be usable, depending on
+# how it is configured.
+#
+#				kf1 to kf12	\E[11~   to \E[24~
+#	shift			kf1 to kf12	\E[11;2~ to \E[24;2~
+#	alt			kf1 to kf12	\E[11;3~ to \E[24;3~
+#	shift/alt		kf1 to kf12	\E[11;4~ to \E[24;4~
+#	control			kf1 to kf12	\E[11;5~ to \E[24;5~ (maybe)
+#	control/shift		kf1 to kf12	\E[11;6~ to \E[24;6~
+#	control/alt		kf1 to kf12	\E[11;7~ to \E[24;7~
+#	control/shift/alt	kf1 to kf12	\E[11;8~ to \E[24;8~
+#
+mlterm2|multi lingual terminal emulator 2.x,
+	am, eslok, km, mc5i, mir, msgr, npc, xenl, XT,
+	colors#8, cols#80, lines#24, pairs#64,
+	acsc=00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=,
+	home=\E[H, hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ind=\n,
+	is2=\E7\E[r\E[m\E[?7h\E[?1;3;4;6l\E[4l\E8\E>, kbs=^?,
+	kcbt=\E[Z, kend=\EOF, kent=\EOM, kind=\EO1;2B, kmous=\E[M,
+	kri=\EO1;2A, mc0=\E[i, nel=\EE, op=\E[39;49m, rev=\E[7m,
+	ri=\EM, rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l,
+	rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
+	rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;m%?%p9%t\E(0%e
+	    \E(B%;,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, u8=\E[?1;2c,
+	vpa=\E[%i%p1%dd, use=ansi+apparrows, use=ansi+csr,
+	use=ansi+enq, use=ansi+idl, use=ansi+inittabs,
+	use=ansi+local, use=vt220+vtedit, use=xterm+alt1049,
+	use=ecma+index, use=mlterm+pcfkeys, use=vt220+cvis,
+	use=xterm+r6f2,
+
+# The insert/delete/home/end keys do not respond to modifiers because mlterm
+# looks in its termcap to decide which string to send.  If it used terminfo
+# (when available), it could use the extended names introduced for xterm.
+mlterm+pcfkeys|mlterm fragment for PC-style fkeys,
+	kLFT=\EO1;2D, kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\EO1;2C,
+	kDN=\EO1;2B, kDN3=\EO1;3B, kDN4=\EO1;4B, kDN5=\EO1;5B,
+	kDN6=\EO1;6B, kDN7=\EO1;7B, kIC5=\E[2;5~, kIC6=\E[2;6~,
+	kLFT3=\EO1;3D, kLFT4=\EO1;4D, kLFT5=\EO1;5D,
+	kLFT6=\EO1;6D, kLFT7=\EO1;7D, kNXT5=\E[6;5~,
+	kNXT6=\E[6;6~, kPRV5=\E[5;5~, kPRV6=\E[5;6~,
+	kRIT3=\EO1;3C, kRIT4=\EO1;4C, kRIT5=\EO1;5C,
+	kRIT6=\EO1;6C, kRIT7=\EO1;7C, kUP=\EO1;2A, kUP3=\EO1;3A,
+	kUP4=\EO1;4A, kUP5=\EO1;5A, kUP6=\EO1;6A, kUP7=\EO1;7A,
+
+mlterm-256color|mlterm 3.0 with xterm 256-colors,
+	use=xterm+256color, use=mlterm,
+
+#### RXVT
+# From: Thomas Dickey <dickey@clark.net> 04 Oct 1997
+# Updated: Oezguer Kesim <kesim@math.fu-berlin.de> 02 Nov 1997
+# Notes:
+# rxvt 2.21b uses
+#	smacs=\E(B\E)U^N, rmacs=\E(B\E)0^O,
+# but some applications don't work with that.
+# It also has an AIX extension
+#	box2=lqkxjmwuvtn,
+# and
+#	ech=\E[%p1%dX,
+# but the latter does not work correctly.
+#
+# The distributed terminfo says it implements hpa and vpa, but they are not
+# implemented correctly, using relative rather than absolute positioning.
+#
+# rxvt is normally configured to look for "xterm" or "xterm-color" as $TERM.
+# Since rxvt is not really compatible with xterm, it should be configured as
+# "rxvt" or "rxvt-color".
+#
+# removed dch/dch1 because they are inconsistent with bce/ech -TD
+# remove km as per tack test -TD
+rxvt-basic|rxvt terminal base (X Window System),
+	OTbs, bce, eo, mir, xenl, xon, XT,
+	blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, el1=\E[1K,
+	flash=\E[?5h$<100/>\E[?5l, ich=\E[%p1%d@,
+	is1=\E[?47l\E=\E[?1l,
+	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
+	kcbt=\E[Z, kmous=\E[M, rev=\E[7m, ri=\EM, rmir=\E[4l,
+	rmkx=\E>, rmso=\E[27m, rmul=\E[24m,
+	rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+	rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?
+	    25h,
+	s0ds=\E(B, s1ds=\E(0,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?
+	    %p9%t\016%e\017%;,
+	sgr0=\E[0m\017, smir=\E[4h, smkx=\E=, smso=\E[7m,
+	smul=\E[4m, use=ansi+csr, use=ansi+idl, use=ansi+local,
+	use=xterm+alt47, use=vt100+enq, use=vt100+4bsd,
+	use=rxvt+pcfkeys, use=vt220+cvis, use=vt220+keypad,
+
+# Key Codes from rxvt reference:
+#
+# Note: Shift + F1-F10 generates F11-F20
+#
+# For the keypad, use Shift to temporarily override Application-Keypad
+# setting use Num_Lock to toggle Application-Keypad setting if Num_Lock
+# is off, escape sequences toggle Application-Keypad setting.
+# Also note that values of Home, End, Delete may have been compiled
+# differently on your system.
+#
+#                   Normal       Shift        Control      Ctrl+Shift
+#  Tab              ^I           ESC [ Z      ^I           ESC [ Z
+#  BackSpace        ^H           ^?           ^?           ^?
+#  Find             ESC [ 1 ~    ESC [ 1 $    ESC [ 1 ^    ESC [ 1 @
+#  Insert           ESC [ 2 ~    paste        ESC [ 2 ^    ESC [ 2 @
+#  Execute          ESC [ 3 ~    ESC [ 3 $    ESC [ 3 ^    ESC [ 3 @
+#  Select           ESC [ 4 ~    ESC [ 4 $    ESC [ 4 ^    ESC [ 4 @
+#  Prior            ESC [ 5 ~    scroll-up    ESC [ 5 ^    ESC [ 5 @
+#  Next             ESC [ 6 ~    scroll-down  ESC [ 6 ^    ESC [ 6 @
+#  Home             ESC [ 7 ~    ESC [ 7 $    ESC [ 7 ^    ESC [ 7 @
+#  End              ESC [ 8 ~    ESC [ 8 $    ESC [ 8 ^    ESC [ 8 @
+#  Delete           ESC [ 3 ~    ESC [ 3 $    ESC [ 3 ^    ESC [ 3 @
+#  F1               ESC [ 11 ~   ESC [ 23 ~   ESC [ 11 ^   ESC [ 23 ^
+#  F2               ESC [ 12 ~   ESC [ 24 ~   ESC [ 12 ^   ESC [ 24 ^
+#  F3               ESC [ 13 ~   ESC [ 25 ~   ESC [ 13 ^   ESC [ 25 ^
+#  F4               ESC [ 14 ~   ESC [ 26 ~   ESC [ 14 ^   ESC [ 26 ^
+#  F5               ESC [ 15 ~   ESC [ 28 ~   ESC [ 15 ^   ESC [ 28 ^
+#  F6               ESC [ 17 ~   ESC [ 29 ~   ESC [ 17 ^   ESC [ 29 ^
+#  F7               ESC [ 18 ~   ESC [ 31 ~   ESC [ 18 ^   ESC [ 31 ^
+#  F8               ESC [ 19 ~   ESC [ 32 ~   ESC [ 19 ^   ESC [ 32 ^
+#  F9               ESC [ 20 ~   ESC [ 33 ~   ESC [ 20 ^   ESC [ 33 ^
+#  F10              ESC [ 21 ~   ESC [ 34 ~   ESC [ 21 ^   ESC [ 34 ^
+#  F11              ESC [ 23 ~   ESC [ 23 $   ESC [ 23 ^   ESC [ 23 @
+#  F12              ESC [ 24 ~   ESC [ 24 $   ESC [ 24 ^   ESC [ 24 @
+#  F13              ESC [ 25 ~   ESC [ 25 $   ESC [ 25 ^   ESC [ 25 @
+#  F14              ESC [ 26 ~   ESC [ 26 $   ESC [ 26 ^   ESC [ 26 @
+#  F15 (Help)       ESC [ 28 ~   ESC [ 28 $   ESC [ 28 ^   ESC [ 28 @
+#  F16 (Menu)       ESC [ 29 ~   ESC [ 29 $   ESC [ 29 ^   ESC [ 29 @
+#  F17              ESC [ 31 ~   ESC [ 31 $   ESC [ 31 ^   ESC [ 31 @
+#  F18              ESC [ 32 ~   ESC [ 32 $   ESC [ 32 ^   ESC [ 32 @
+#  F19              ESC [ 33 ~   ESC [ 33 $   ESC [ 33 ^   ESC [ 33 @
+#  F20              ESC [ 34 ~   ESC [ 34 $   ESC [ 34 ^   ESC [ 34 @
+#
+#                                                          Application
+#  Up               ESC [ A      ESC [ a      ESC O a      ESC O A
+#  Down             ESC [ B      ESC [ b      ESC O b      ESC O B
+#  Right            ESC [ C      ESC [ c      ESC O c      ESC O C
+#  Left             ESC [ D      ESC [ d      ESC O d      ESC O D
+#  KP_Enter         ^M                                     ESC O M
+#  KP_F1            ESC O P                                ESC O P
+#  KP_F2            ESC O Q                                ESC O Q
+#  KP_F3            ESC O R                                ESC O R
+#  KP_F4            ESC O S                                ESC O S
+#  XK_KP_Multiply   *                                      ESC O j
+#  XK_KP_Add        +                                      ESC O k
+#  XK_KP_Separator  ,                                      ESC O l
+#  XK_KP_Subtract   -                                      ESC O m
+#  XK_KP_Decimal    .                                      ESC O n
+#  XK_KP_Divide     /                                      ESC O o
+#  XK_KP_0          0                                      ESC O p
+#  XK_KP_1          1                                      ESC O q
+#  XK_KP_2          2                                      ESC O r
+#  XK_KP_3          3                                      ESC O s
+#  XK_KP_4          4                                      ESC O t
+#  XK_KP_5          5                                      ESC O u
+#  XK_KP_6          6                                      ESC O v
+#  XK_KP_7          7                                      ESC O w
+#  XK_KP_8          8                                      ESC O x
+#  XK_KP_9          9                                      ESC O y
+#
+# The source-code for rxvt actually defines mappings for F21-F35, using
+# "ESC [ 35 ~" to "ESC [  49 ~".  Keyboards with more than 12 function keys
+# are rare, so this entry uses the shift- and control-modifiers as in
+# xterm+pcfkeys to define keys past F12.
+#
+# kIC is normally not used, since rxvt performs a paste for that (shifted
+# insert), unless private mode 35 is set.
+#
+# kDN, kDN5, kDN6, etc are extensions based on the names from xterm+pcfkeys -TD
+# Removed kDN6, etc (control+shift) since rxvt does not implement this -TD
+rxvt+pcfkeys|rxvt fragment for PC-style fkeys,
+	kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d,
+	kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kel=\E[8\^, kend=\E[8~,
+	kf21=\E[23$, kf22=\E[24$, kf23=\E[11\^, kf24=\E[12\^,
+	kf25=\E[13\^, kf26=\E[14\^, kf27=\E[15\^, kf28=\E[17\^,
+	kf29=\E[18\^, kf30=\E[19\^, kf31=\E[20\^, kf32=\E[21\^,
+	kf33=\E[23\^, kf34=\E[24\^, kf35=\E[25\^, kf36=\E[26\^,
+	kf37=\E[28\^, kf38=\E[29\^, kf39=\E[31\^, kf40=\E[32\^,
+	kf41=\E[33\^, kf42=\E[34\^, kf43=\E[23@, kf44=\E[24@,
+	khome=\E[7~, kind=\E[a, kri=\E[b, kDC5=\E[3\^, kDC6=\E[3@,
+	kDN=\E[b, kDN5=\EOb, kEND5=\E[8\^, kEND6=\E[8@,
+	kHOM5=\E[7\^, kHOM6=\E[7@, kIC5=\E[2\^, kIC6=\E[2@,
+	kLFT5=\EOd, kNXT5=\E[6\^, kNXT6=\E[6@, kPRV5=\E[5\^,
+	kPRV6=\E[5@, kRIT5=\EOc, kUP=\E[a, kUP5=\EOa,
+	use=vt220+vtedit, use=xterm+nopcfkeys,
+
+# rxvt was originally "xvt", first announced in April 1993:
+#	http://www.krsaborio.net/linux-desktops/research/1993/0416.html
+#------------------------------------------------------------------------------
+# Article: 567 of comp.os.linux.announce
+# Path: pavo.csi.cam.ac.uk!warwick!uknet!pipex!uunet!zaphod.mps.ohio-state.edu!
+# caen!batcomputer!theory.TC.Cornell.EDU!mdw
+# From: nation@rocket.sanders.com (Robert Nation)
+# Newsgroups: comp.os.linux.announce
+# Subject: xvt upload
+# Date: 16 Apr 1993 18:13:07 GMT
+# Organization: Cornell Theory Center
+# Lines: 13
+# Approved: linux-announce@tc.cornell.edu (Matt Welsh)
+# Message-ID: <1qmsvj$pvj@fitz.TC.Cornell.EDU>
+# NNTP-Posting-Host: theory.tc.cornell.edu
+# Keywords: xvt, xterm, Xwindows
+# Originator: mdw@theory.TC.Cornell.EDU
+#
+# Rxvt has been uploaded to /pub/Linux/Incoming/rxvt.tar.z and
+# rxvt.README on sunsite.unc.edu.
+#
+# Xvt is an xterm replacement which uses a little less memory, and is
+# suitable for use on machines with small memories. Tek4010 support
+# is removed.
+#
+# Modifications were made by Rob Nation (nation@rocket.sanders.lockheed.com)
+# to make it a little more compact, and to add and remove certain features.
+#
+#
+# --
+# Send submissions for comp.os.linux.announce to: linux-announce@tc.cornell.edu
+#------------------------------------------------------------------------------
+#
+# Though its change-log does not mention this, John Davis has stated that he
+# was the author of the changes to use the bce ("new color model") which was
+# incorporated into rxvt 2.11 (June 15, 1995).  The change-log does not give
+# dates, nor give developer's names.  Initial color support was added for rxvt
+# "2.0", which was sometime in 1994.
+#
+# rxvt had usable color support with 2.16 (April 2, 1996), with some help by my
+# work on vttest, as well as bug reports to Mark Olesen.  For instance, the fix
+# mentioned here
+#	https://web.archive.org/web/20141016124430/http://web.archiveorange.com/archive/v/6ETvLb5wHtbbzCaS4S9J
+# was from one of my bug-reports -TD
+#
+# While the color model both for xterm and rxvt was based on Linux console,
+# Olesen (or possibly Davis) diverged in one respect from Linux's bce color
+# behavior: inserting/deleting characters does not fill the newly empty cell
+# with the default background color.
+rxvt|rxvt-color|rxvt terminal emulator (X Window System),
+	ncv@,
+	hpa=\E[%i%p1%dG, kf0=\E[21~, sgr0=\E[m\017,
+	vpa=\E[%i%p1%dd, use=rxvt-basic, use=ecma+color,
+rxvt-256color|rxvt 2.7.9 with xterm 256-colors,
+	use=xterm+256color, use=rxvt,
+rxvt-88color|rxvt 2.7.9 with xterm 88-colors,
+	use=xterm+88color, use=rxvt,
+rxvt-xpm|rxvt terminal emulator (X Window System with xpm),
+	use=rxvt,
+rxvt-cygwin|rxvt terminal emulator (X Window System) on cygwin,
+	acsc=+\257\,\256-\^0\333`\004a\261f\370g\361h\260j\331k
+	     \277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w
+	     \302x\263y\363z\362{\343|\330}\234~\376,
+	use=rxvt,
+rxvt-cygwin-native|rxvt terminal emulator (native MS Window System port) on cygwin,
+	acsc=+\257\,\256-\^0\333`\004a\261f\370g\361h\260j\331k
+	     \277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v\301w
+	     \302x\263y\363z\362{\343|\330~\376,
+	use=rxvt-cygwin,
+
+# This variant is supposed to work with rxvt 2.7.7 when compiled with
+# NO_BRIGHTCOLOR defined.  rxvt needs more work...
+rxvt-16color|rxvt with 16 colors like aixterm,
+	ncv#32, use=ibm+16color, use=rxvt,
+
+#### MRXVT
+# mrxvt 0.5.4
+#
+# mrxvt is based on rxvt 2.7.11, but has by default XTERM_FKEYS defined, which
+# makes its function-keys different from other flavors of rxvt -TD
+#
+# Testing with tack:
+# +	made custom description (below) to work, though it sets TERM=xterm.
+#
+# Testing with vttest:
+# +	While "based on" rxvt, some of the basic functionality is broken.  The
+#	window collapses to a single line when running several of the screens
+#	in vttest, e.g., the tests for cursor movement, screen features,
+#	double-sized characters.
+# +	The VT52 test works properly, but this is an exception.  Due to the
+#	other bug(s) most of vttest is untestable.
+# +	the color test using ECH shows a gap in the bce model, like rxvt.
+#
+# Testing with xterm "vttest" scripts:
+# +	resize.pl does not work because mrxvt does implement CSI 18 t
+#	(not in rxvt, but not documented by mrxvt) but not CSI 19 t.
+# +	none of the "dynamic colors" (OSC colors) scripts work.
+mrxvt|multitabbed rxvt,
+	kEND=\E[8;2~, kHOM=\E[7;2~, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kend=\E[8~, khome=\E[7~,
+	kEND3=\E[8;3~, kEND4=\E[8;4~, kEND5=\E[8;5~,
+	kEND6=\E[8;6~, kEND7=\E[8;7~, kHOM3=\E[7;3~,
+	kHOM4=\E[7;4~, kHOM5=\E[7;5~, kHOM6=\E[7;6~,
+	kHOM7=\E[7;7~, use=xterm+r6f2, use=xterm+pcfkeys,
+	use=rxvt,
+
+mrxvt-256color|multitabbed rxvt with 256 colors,
+	use=xterm+256color, use=mrxvt,
+
+#### ETERM
+# From: Michael Jennings <mej@valinux.com>
+#
+# Eterm 0.9.3
+#
+# removed kf0 which conflicts with kf10 -TD
+# remove cvvis which conflicts with cnorm -TD
+# Eterm does not implement control/shift cursor keys such as kDN6, or kPRV/kNXT
+# but does otherwise follow the rxvt+pcfkeys model -TD
+# remove nonworking flash -TD
+# remove km as per tack test -TD
+Eterm|Eterm-color|Eterm with xterm-style color support (X Window System),
+	bce, bw, eo, mc5i, mir, xenl, xon, XT,
+	btns#5, lm#0, ncv@,
+	blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+	hpa=\E[%i%p1%dG, ich=\E[%p1%d@, is1=\E[?47l\E>\E[?1l,
+	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kNXT@,
+	kPRV@, ka1=\E[7~, ka3=\E[5~, kb2=\EOu, kbeg=\EOu, kc1=\E[8~,
+	kc3=\E[6~, kent=\EOM, khlp=\E[28~, kmous=\E[M, mc4=\E[4i,
+	mc5=\E[5i, rev=\E[7m, ri=\EM, rmam=\E[?7l, rmir=\E[4l, rmkx=,
+	rmso=\E[27m, rmul=\E[24m,
+	rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+	rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?
+	    25h,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smam=\E[?7h, smir=\E[4h, smkx=, smso=\E[7m,
+	smul=\E[4m, vpa=\E[%i%p1%dd, use=ansi+csr, use=ansi+idl,
+	use=ansi+local, use=xterm+alt47, use=vt100+enq,
+	use=rxvt+pcfkeys, use=ecma+color, use=vt100+4bsd,
+	use=vt220+cvis,
+
+Eterm-256color|Eterm with xterm 256-colors,
+	use=xterm+256color, use=Eterm,
+
+Eterm-88color|Eterm with 88 colors,
+	use=xterm+88color, use=Eterm,
+
+#### ATERM
+# Based on rxvt 2.4.8, it has a few differences in key bindings
+aterm|AfterStep terminal,
+	XT,
+	kbs=^?, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, use=rxvt,
+
+#### XITERM
+# xiterm  0.5-5.2
+# This is not based on xterm's source...
+# vttest shows several problems with keyboard, cursor-movements.
+# see also https://invisible-island.net/xterm/xterm.faq.html#bug_xiterm
+xiterm|internationalized terminal emulator for X,
+	km@, use=klone+color, use=xterm-r6,
+
+
+#### HPTERM
+# HP ships this (HPUX 9 and 10), except for the pb#9600 which was merged in
+# from BSD termcap.  (hpterm:  added empty <acsc>, we have no idea what ACS
+# chars look like --esr)
+hpterm|X-hpterm|HP X11 terminal emulator (old),
+	am, da, db, mir, xhp, xon,
+	cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, pb#9600, xmc#0,
+	acsc=, bel=^G, bold=\E&dB, cbt=\Ei, clear=\E&a0y0C\EJ, cr=\r,
+	cub1=^H, cud1=\EB, cuf1=\EC, cup=\E&a%p1%dy%p2%dC,
+	cuu1=\EA, dch1=\EP, dim=\E&dH, dl1=\EM, ed=\EJ$<1>, el=\EK,
+	hpa=\E&a%p1%dC, ht=^I, hts=\E1, il1=\EL, ind=\n, kbs=^H,
+	kclr=\EJ, kctab=\E2, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK,
+	khts=\E1, kich1=\EQ, kil1=\EL, knp=\EU, kpp=\EV, krmir=\ER,
+	ktbc=\E3, meml=\El, memu=\Em,
+	pfkey=\E&f%p1%dk%p2%l%dL%p2%s,
+	pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s,
+	pfx=\E&f2a%p1%dk%p2%l%dL%p2%s,
+	pln=\E&f%p1%dk%p2%l%dd0L%p2%s, rev=\E&dB, ri=\ET,
+	rmacs=^O, rmir=\ER, rmkx=\E&s0A, rmln=\E&j@, rmso=\E&d@,
+	rmul=\E&d@,
+	sgr=\E&d%?%p7%t%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+
+	    %p5%{8}%*%+%{64}%+%c%?%p9%t%'\016'%c%e%'\017'%c%;,
+	sgr0=\E&d@\017, smacs=^N, smir=\EQ, smkx=\E&s1A,
+	smln=\E&jB, smso=\E&dJ, smul=\E&dD, tbc=\E3,
+	vpa=\E&a%p1%dY, use=hp+pfk-cr, use=hp+arrows,
+# HPUX 11 provides a color version.
+hpterm-color|HP X11 terminal emulator with color,
+	ccc,
+	colors#64, pairs#8,
+	home=\E&a0y0C,
+	initp=\E&v%p2%da%p3%db%p4%dc%p5%dx%p6%dy%p7%dz%p1%dI,
+	op=\E&v0S, scp=\E&v%p1%dS, use=hpterm,
+
+# http://bitsavers.trailing-edge.com/pdf/hp/9000_hpux/1986/97089-90081_198611_Facilities_for_Series_200_300_and_500.pdf
+# http://bitsavers.trailing-edge.com/pdf/hp/9000_hpux/1987/97089-90081_198709_Facilities_for_Series_200_300_and_500_HP-UX_Concepts_and_Tutorials.pdf
+#
+# This article does not cover the HP 46020A keyboard that is used by the Model
+# 217 and 237 computers.  For information on this keyboard read the article,
+# "The Series 300 ITE as System Console" found in the manual, HP-UX Concepts
+# and Tutorials, Vol.  7. 
+#
+# Possibly:
+# http://bitsavers.trailing-edge.com/pdf/hp/9000_hpux/1986/97089-90042_198608_HP-UX_Concepts_and_Tutorials.pdf
+#
+# HP300_Series_ITE.pdf
+#
+# This version, which came from Martin Trusler, was tested with lynx using
+# ncurses 5.4
+hpterm-color2|X-hpterm-color2|HP X11 terminal emulator with color (new),
+	OTbs, am, ccc, da, db, km, mir, xhp,
+	colors#8, cols#80, it#8, lh#2, lines#24, lm#0, lw#8, nlab#8,
+	pairs#8, xmc#0,
+	acsc=+>\,<-\^.v0\374``a\374f\372g\376h\374j+k+l+m+n+o-q-s-t+
+	     u+v+w+x|y<z>{*|!}\273~\362,
+	bel=^G, bold=\E&dD, cbt=\Ei, clear=\EH\EJ, cr=\r, cub1=^H,
+	cud1=\EB, cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA,
+	dch1=\EP, dim=\E&dH, dl1=\EM, ed=\EJ$<1>, el=\EK,
+	home=\E&a0y0C, hpa=\E&a%p1%dC, ht=^I, hts=\E1, il1=\EL,
+	ind=\ES,
+	initp=\E&v0m%?%p2%{1000}%=%t1%e.%p2%d%;a%?%p3%{1000}%=%t1%e.
+	      %p3%d%;b%?%p4%{1000}%=%t1%e.%p4%d%;c%?%p5%{1000}%=%t1
+	      %e.%p5%d%;x%?%p6%{1000}%=%t1%e.%p6%d%;y%?%p7%{1000}%=
+	      %t1%e.%p7%d%;z%p1%dI,
+	is1=\EH\EJ, kbs=^H, kctab=\E2, kdch1=\EP, kdl1=\EM, ked=\EJ,
+	kel=\EK, khts=\E1, kich1=\EQ, kil1=\EL, knp=\EU, kpp=\EV,
+	krmir=\ER, ktbc=\E3, meml=\El, memu=\Em,
+	oc=\E&v0m1a1b1c0I\E&v1a1I\E&v1b2I\E&v1a1b3I\E&v1c4I\E&v1a1c5
+	   I\E&v1b1c6I\E&v1x1y7I,
+	op=\E&v0S, pfkey=\E&f%p1%dk%p2%l%dL%p2%s,
+	pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s,
+	pfx=\E&f2a%p1%dk%p2%l%dL%p2%s,
+	pln=\E&f%p1%dk%p2%l%dd0L%p2%s, rev=\E&dB, ri=\ET,
+	rmacs=^O, rmam=\E&s1C, rmcup=\E&s0A, rmir=\ER, rmkx=\E&s0A,
+	rmln=\E&j@, rmm=\E&k0I, rmso=\E&d@, rmul=\E&d@, rs1=\EE,
+	scp=\E&v%p1%dS,
+	sgr=\E&d%p1%p3%|%{2}%*%p2%p6%|%{4}%*%+%p5%{8}%*%+%{64}%+%c%?
+	    %p9%t%'\016'%c%e%'\017'%c%;,
+	sgr0=\E&d@\017, smacs=^N, smam=\E&s0C, smcup=\E&s1A,
+	smir=\EQ, smkx=\E&s1A, smln=\E&jB, smm=\E&k1I, smso=\E&dB,
+	smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, use=hp+pfk-cr,
+	use=hp+arrows,
+#### EMU
+# This is for the extensible terminal emulator on the X11R6 contrib tape.
+# It corresponds to emu's internal emulation:
+#	emu -term emu
+# emu's default sets TERM to "xterm", but that doesn't work well -TD
+# fixes: remove bogus rmacs/smacs, change oc to op, add bce, am -TD
+# fixes: add civis, cnorm, sgr -TD
+emu|emu native mode,
+	am, bce, mir, msgr, xon,
+	colors#15, cols#80, it#8, lines#24, pairs#64, vt#200,
+	acsc=61a\202f\260g2j\213k\214l\215m\216n\217o\220q\222s
+	     \224t\225u\226v\227w\230x\231~\244,
+	bel=^G, blink=\EW, bold=\EU, civis=\EZ, clear=\EP\EE0;0;,
+	cnorm=\Ea, cr=\r, csr=\Ek%p1%d;%p2%d;, cub=\Eq-%p1%d;,
+	cub1=^H, cud=\Ep%p1%d;, cud1=\EB, cuf=\Eq%p1%d;, cuf1=\EC,
+	cup=\EE%p1%d;%p2%d;, cuu=\Ep-%p1%d;, cuu1=\EA,
+	dch=\EI%p1%d;, dch1=\EI1;, dl=\ER%p1%d;, dl1=\ER1;,
+	ech=\Ej%p1%d;, ed=\EN, el=\EK, el1=\EL, home=\EE0;0;, ht=^I,
+	hts=\Eh, il=\EQ%p1%d;, il1=\EQ1;, ind=\EG,
+	is2=\ES\Er0;\Es0;, kbs=^H, kcub1=\EC, kcud1=\EB, kcuf1=\ED,
+	kcuu1=\EA, kdch1=^?, kent=\r, kf0=\EF00, kf1=\EF01,
+	kf10=\EF10, kf11=\EF11, kf12=\EF12, kf13=\EF13, kf14=\EF14,
+	kf15=\EF15, kf16=\EF16, kf17=\EF17, kf18=\EF18, kf19=\EF19,
+	kf2=\EF02, kf20=\EF20, kf3=\EF03, kf4=\EF04, kf5=\EF05,
+	kf6=\EF06, kf7=\EF07, kf8=\EF08, kf9=\EF09, kfnd=\Efind,
+	kich1=\Eins, knp=\Enext, kpp=\Eprior, kslt=\Esel,
+	op=\Es0;\Er0;, rev=\ET, ri=\EF, rmir=\EX, rmso=\ES, rmul=\ES,
+	rs2=\ES\Es0;\Er0;, setab=\Es%i%p1%d;,
+	setaf=\Er%i%p1%d;,
+	sgr=\ES%?%p1%t\ET%;%?%p2%t\EV%;%?%p3%t\ET%;%?%p4%t\EW%;%?%p6
+	    %t\EU%;,
+	sgr0=\ES, smir=\EY, smso=\ET, smul=\EV, tbc=\Ej,
+
+# VT220 terminfo entry for the Emu emulation, corresponds to
+#	emu -term vt220
+# with NumLock set (to make the keypad transmit kf0-kf9).
+# fixes: add am, xenl, corrected sgr0 -TD
+emu-220|Emu-220 (vt200-7bit mode),
+	am, xenl, xon,
+	cols#80, it#8, lines#24, vt#200,
+	acsc=aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	blink=\E[0;5m, bold=\E[0;1m, clear=\E[2J\E[H, cr=\r,
+	cub1=\E[1D, cud1=\E[1B, cuf1=\E[1C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch=\E[%p1%dP,
+	dch1=\E[1P, dl=\E[%p1%dM, dl1=\E[1M, ed=\E[0J, el=\E[0K,
+	el1=\E[1K, enacs=\E)0, home=\E[H, ht=^I, hts=\EH,
+	if=/usr/share/tabset/vt300, il=\E[%p1%dL, il1=\E[1L,
+	ind=\ED, is2=\E>\E[?1l\E[?3l\E[4l\E[?7h, kbs=^H,
+	kcmd=\E[29~, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kent=\EOM, kf0=\EOp, kf1=\EOq, kf10=\EOl,
+	kf11=\EOm, kf12=\EOn, kf13=\EOP, kf14=\EOQ, kf15=\EOR,
+	kf16=\EOS, kf2=\EOr, kf26=\E[17~, kf27=\E[18~, kf28=\E[19~,
+	kf29=\E[20~, kf3=\EOs, kf30=\E[21~, kf34=\E[26~,
+	kf37=\E[31~, kf38=\E[32~, kf39=\E[33~, kf4=\EOt,
+	kf40=\E[34~, kf5=\EOu, kf6=\EOv, kf7=\EOw, kf8=\EOx,
+	kf9=\EOy, khlp=\E[28~, rev=\E[0;7m, ri=\EM, rmacs=^O,
+	rmcup=\E>, rmkx=\E>, rmso=\E[m, rmul=\E[m,
+	rs2=\E[4l\E[34l\E[?1l\E[?3l\E[?5l\E[?7h,
+	sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;
+	    2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smcup=\E[?1l\E=, smkx=\E=,
+	smso=\E[0;7m, smul=\E[0;4m, tbc=\E[3g, use=ansi+csr,
+	use=ansi+local, use=vt220+vtedit, use=vt220+cvis,
+
+#### MVTERM
+# A commercial product, Reportedly a version of Xterm with an OPEN LOOK UI,
+# print interface, ANSI X3.64 colour escape sequences, etc.  Newsgroup postings
+# indicate that it emulates more than one terminal, but incompletely.
+#
+# This is adapted from a FreeBSD bug-report by Daniel Rudy <dcrudy@pacbell.net>
+# It is based on vt102's entry, with some subtle differences, but also
+#	has status line
+#	supports ANSI colors (except for 'op' string)
+#	apparently implements alternate screen like xterm
+#	does not use padding, of course.
+mvterm|vv100|SwitchTerm aka mvTERM,
+	km, mir, xenl, xon,
+	colors#8, pairs#64,
+	blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P, ed=\E[J,
+	el=\E[K, ich=\E[%p1%d@, ich1=\E[@, kcub1=\EOD, kcud1=\EOB,
+	kcuf1=\EOC, kcuu1=\EOA, op=\E[100m, rev=\E[7m, ri=\EM,
+	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs2=\E>\E[1;3;4;5;6l\E[?7h\E[100m\E[m\E[r\E[2J\E[H,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	use=ansi+csr, use=ansi+idl, use=ansi+local,
+	use=xterm+alt47, use=vt100+fnkeys, use=vt100+4bsd,
+	use=x10term+sl,
+
+#### MTERM
+#
+# This application is available by email from <mouse@Rodents.Montreal.QC.CA>.
+#
+# "mterm -type ansi" sets $TERM to "ansi"
+mterm-ansi|ANSI emulation,
+	am, bw, mir, msgr,
+	it#8,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, cr=\r, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP,
+	dim=\E[2m, ech=\E[%p1%dX, home=\E[H, hpa=\E[%i%p1%d`,
+	ht=^I, ich1=, ind=\E[S, is2=\E)0\017, kbs=^H, nel=\EE, ri=\E[T,
+	rmacs=^O, rmso=\E[27m, rmul=\E[24m,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+	    %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, vpa=\E[%i%p1%dd, use=ansi+erase,
+	use=ansi+idc1, use=ansi+idl, use=ansi+local,
+	use=ansi+sgrbold, use=ecma+index,
+
+# mterm normally sets $TERM to "mterm"
+mterm|mouse-sun|Der Mouse term,
+	am, bw, mir,
+	it#8,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=^N, cuf1=^S,
+	cup=\006%p1%d.%p2%d., cuu1=^X, dch1=^Y, dl1=^K, ed=^B, el=^C,
+	home=^P, ht=^I, il1=^A, ind=^U, kbs=^H, ll=^R, nel=\r^U, ri=^W,
+	rmir=^O, rmso=^T, smir=^Q, smso=^V,
+# "mterm -type decansi" sets $TERM to "decansi"
+#
+# note: kdch1, kfnd, kslt are in the source code, but do not work -TD
+decansi|ANSI emulation with DEC compatibility hacks,
+	am, mir, msgr, xenl,
+	colors#8, it#8, pairs#64,
+	acsc=``aaffggiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, cr=\r, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP,
+	dim=\E[2m, ech=\E[%p1%dX, enacs=\E(B\E)0, home=\E[H,
+	hpa=\E[%i%p1%d`, ht=^I, ich1=, ind=\E[S, is2=\E)0\E[r\017,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
+	kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, nel=\EE,
+	op=\E[0m, ri=\E[T, rmacs=^O, rmam=\E[?7l, rmkx=\E[?1l\E>,
+	rmso=\E[27m, rmul=\E[24m, setab=\E[4%p1%dm,
+	setaf=\E[3%p1%dm,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+	    %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+	vpa=\E[%i%p1%dd, use=ansi+cpr, use=ansi+csr,
+	use=ansi+erase, use=ansi+idc1, use=ansi+idl,
+	use=ansi+local, use=ansi+sgrbold, use=vt220+vtedit,
+	use=ecma+index, use=vt220+cvis,
+
+#### VWM
+# http://vwm.sourceforge.net/
+#
+# VWM 2.0.2 (2009-05-01)
+# vwmterm is a terminal emulator written for the VWM console window manager.
+# This version is obsolete, replaced by libvterm in 2.1.0 (2009-10-23).
+vwmterm|VWM terminal,
+	am, bce, ccc, mir, msgr, npc, xenl, xon,
+	colors#8, pairs#64,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[1m, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+	cvvis=\E[?25h, dim=\E[2m, home=\E[H, il1=\E[L, ind=\n,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kdch1=\E[3~, kend=\E[4~, kf1=\E[[A, kf10=\E[21~,
+	kf11=\E[22~, kf12=\E[23~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D,
+	kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, knp=\E[6~, kpp=\E[5~, rmacs=\E[10m,
+	rmam=\E[?7l, rs1=\E[H\E[J\E[m\Ec, setab=\E[4%p1%dm,
+	setaf=\E[3%p1%dm,
+	sgr=\E[0;10%?%p1%t;3%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+	    %t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;11%;m,
+	sgr0=\E[0;10m, smacs=\E[11m, smam=\E[?7h, smso=\E[3m,
+	smul=\E[4m, use=ansi+erase, use=ansi+local, use=ansi+sgr,
+	use=vt220+cvis, use=xterm+alt1049,
+
+#### MGR
+#
+# MGR is a Bell Labs window system lighter-weight than X.
+# These entries describe MGR's xterm-equivalent.
+# They are courtesy of Vincent Broman <broman@nosc.mil> 14 Jan 1997
+#
+
+mgr|Bellcore MGR (non X) window system terminal emulation,
+	am, km, xon,
+	bel=^G, bold=\E2n, civis=\E9h, clear=^L, cnorm=\Eh, cr=\r,
+	csr=\E%p1%d;%p2%dt, cub1=^H, cud1=\Ef, cuf1=\Er,
+	cup=\E%p2%d;%p1%dM, cuu1=\Eu, cvvis=\E0h,
+	dch=\E%p1%dE$<5>, dch1=\EE, dl=\E%p1%dd$<3*>,
+	dl1=\Ed$<3>, ed=\EC, el=\Ec, hd=\E1;2f, ht=^I, hu=\E1;2u,
+	ich=\E%p1%dA$<5>, ich1=\EA, il=\E%p1%da$<3*>,
+	il1=\Ea$<3>, ind=\n, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, nel=\r\n, rev=\E1n, rmam=\E5S,
+	rmso=\E0n, rmul=\E0n, sgr0=\E0n, smam=\E5s, smso=\E1n,
+	smul=\E4n,
+mgr-sun|Mgr window with Sun keyboard,
+	ka1=\E[214z, ka3=\E[216z, kb2=\E[218z, kc1=\E[220z,
+	kc3=\E[222z, kcpy=\E[197z, kend=\E[220z, kent=\E[250z,
+	kf1=\E[224z, kf10=\E[233z, kf11=\E[234z, kf12=\E[235z,
+	kf2=\E[225z, kf3=\E[226z, kf4=\E[227z, kf5=\E[228z,
+	kf6=\E[229z, kf7=\E[230z, kf8=\E[231z, kf9=\E[232z,
+	kfnd=\E[200z, khlp=\E[207z, khome=\E[214z, knp=\E[222z,
+	kopn=\E[198z, kpp=\E[216z, kund=\E[195z, use=mgr,
+mgr-linux|Mgr window with Linux keyboard,
+	ka1=\E[H, ka3=\E[5~, kb2=\E[G, kc1=\E[Y, kc3=\E[6~,
+	kdch1=\E[3~, kend=\E[4~, kf0=\E[[J, kf1=\E[[A, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D,
+	kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, knp=\E[6~, kpp=\E[5~, use=mgr,
+
+#### SIMPLETERM
+# st.suckless.org
+
+st|stterm|aka simpleterm,
+	use=st-0.8,
+
+# Reviewed 0.8.2:
+# In tack,
+#	there is some problem turning off line-drawing
+#	shift+control function-keys do nothing; shift+control cursor keys work
+#	the padding tests make the terminal non-functional.
+# In vttest,
+#	SD/SU work
+#	SL/SR/REP do not work
+#	ECMA-48 cursor movement works, e.g., CHA, CBT, etc.
+#
+# This entry discards the ccc/initc capabilities from st-0.7 because they
+# belong in st-256color.
+st-0.8|simpleterm 0.8,
+	kcbt@, kent@, oc=\E]104\007, Ms=\E]52;%p1%s;%p2%s\007,
+	kDN3=\E[1;3B, kDN5=\E[1;5B, kLFT3=\E[1;3D, kLFT5=\E[1;5D,
+	kNXT3=\E[6;3~, kNXT5=\E[6;5~, kPRV3=\E[5;3~,
+	kPRV5=\E[5;5~, kRIT3=\E[1;3C, kRIT5=\E[1;5C,
+	kUP3=\E[1;3A, kUP5=\E[1;5A, use=ecma+strikeout,
+	use=st-0.6,
+
+# Reviewed 0.7:
+#	dim is intermittent, sometimes works, sometimes does not
+#	italics may show up with yellow color
+#	has control cursor-keys, alt cursor-keys, still no combinations
+#	has control pageup/down
+# tmux extensions, see TERMINFO EXTENSIONS in tmux(1)
+#	Se and Ss are implemented in the source-code, but the terminfo
+#	provided with the source is incorrect, since Se/Ss are mis-coded
+#	as booleans rather than strings.
+st-0.7|simpleterm 0.7,
+	kcbt@, kent@, Ms=\E]52;%p1%s;%p2%s\007, kDN3=\E[1;3B,
+	kDN5=\E[1;5B, kLFT3=\E[1;3D, kLFT5=\E[1;5D,
+	kNXT3=\E[6;3~, kNXT5=\E[6;5~, kPRV3=\E[5;3~,
+	kPRV5=\E[5;5~, kRIT3=\E[1;3C, kRIT5=\E[1;5C,
+	kUP3=\E[1;3A, kUP5=\E[1;5A, use=ecma+strikeout,
+	use=st-0.6, use=xterm+256color,
+
+# st-0.4.1
+#
+# This version uses a table which supports a single modifier (a subset of
+# xterm's keys, using the same scheme).  Because it supports only a single
+# modifier in this table, function keys f36-f48 are normally unavailable
+# because they are assigned to modifier-4.
+#
+# The program assigns TERM to match the program name (the upstream source says
+# "st", but Debian renames it to "stterm").
+#
+# The source includes two entries which are not useful here:
+#	st-meta| simpleterm with meta key,
+#	st-meta-256color| simpleterm with meta key and 256 colors,
+# because st's notion of "meta" does not correspond to the terminfo definition.
+# Rather, it acts like xterm - when the meta feature is disabled.
+#
+# Removed invis -TD
+# Added eo, removed ul -TD
+#
+# Reviewed st 0.5:
+# implements control-modifier, but not control-shift for special keys
+# implements alt-modifier, but not alt-shift for special keys
+#
+# Reviewed st 0.6:
+#	http://git.suckless.org/st/log/st.info
+# Tmux unofficial extensions, see TERMINFO EXTENSIONS in tmux(1)
+# still has no function keys past kf36 (no combinations of modifiers)
+# no application keypad mode, e.g, kent.
+st-0.6|simpleterm 0.6,
+	bce, mir, npc, xenl, XT,
+	colors#8, pairs#64,
+	acsc=+C\,D-A.B0E``aaffgghFiGjjkkllmmnnooppqqrrssttuuvvwwxxyy
+	     zz{{||}}~~,
+	clear=\E[H\E[2J, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
+	ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+	flash=\E[?5h$<100/>\E[?5l, hpa=\E[%i%p1%dG,
+	ich=\E[%p1%d@, is2=\E[4l\E>\E[?1034l, kDC=\E[3;2~,
+	kEND=\E[1;2F, kHOM=\E[1;2H, kIC=\E[2;2~, kLFT=\E[1;2D,
+	kNXT=\E[6;2~, kPRV=\E[5;2~, kRIT=\E[1;2C, ka1=\E[1~,
+	ka3=\E[5~, kb2=\EOu, kbs=^?, kc1=\E[4~, kc3=\E[6~, kcbt=\E[Z,
+	kclr=\E[3;5~, kdl1=\E[3;2~, ked=\E[1;5F, kel=\E[1;2F,
+	khome=\E[1~, kil1=\E[2;5~, kind=\E[1;2B, kmous=\E[M,
+	kri=\E[1;2A, krmir=\E[2;2~, mc0=\E[i, mc4=\E[4i, mc5=\E[5i,
+	op=\E[39;49m, ri=\EM, rmacs=\E(B, rmir=\E[4l,
+	rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m, rs1=\Ec,
+	rs2=\E[4l\E>\E[?1034l, setab=\E[4%p1%dm,
+	setaf=\E[3%p1%dm,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+	    %t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m,
+	smacs=\E(0, smir=\E[4h, smkx=\E[?1h\E=, u8=\E[?1;2c,
+	vpa=\E[%i%p1%dd, Se=\E[2 q, Ss=\E[%p1%d q,
+	use=ansi+apparrows, use=ansi+csr, use=ansi+enq,
+	use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+	use=ansi+sgrbold, use=vt100+4bsd, use=vt100+pfkeys,
+	use=vt220+pcedit, use=ecma+index, use=xterm+alt1049,
+	use=vt220+cvis, use=xterm+sl, use=ecma+italics,
+	use=ecma+strikeout, use=bracketed+paste,
+	use=xterm+pcf2,
+#
+# st-0.1.1
+#
+# Note:  the original terminfo description uses leading blank to persuade
+# ncurses to use "st" as its name.  Proper fix for that is to use "st" as an
+# alias.
+#
+# Reading the code shows it should work for aixterm 16-colors
+# - added st-16color
+#
+# Using tack:
+# - set eo (erase-overstrike)
+# - set xenl
+# - tbc doesn't work
+# - hts works
+# - cbt doesn't work
+# - shifted cursor-keys send sequences like rxvt
+# - sgr referred to unimplemented "invis" mode.
+# Fixes: add eo and xenl per tack, remove nonworking cbt, hts and tbc, invis
+simpleterm|old-st|simpleterm 0.1.1,
+	am, eo, mir, msgr, ul, xenl,
+	cols#80, it#8, lines#24,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H,
+	cud=\E[%p1%dB, cud1=\n, cuf=\E[%p1%dC, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\E[A,
+	dch1=\E[P, ed=\E[J, el=\E[K, home=\E[H, hpa=\E[%i%p1%dG,
+	ht=^I, ich=\E[%p1%d@, ind=\n, kbs=^?, kdch1=\E[3~,
+	kend=\E[4~, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, knp=\E[6~, kpp=\E[5~, rev=\E[7m, rmso=\E[m,
+	rmul=\E[m,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+	    %t;7%;m,
+	sgr0=\E[0m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+	use=ansi+csr, use=ansi+idl, use=vt220+cvis,
+	use=ecma+index, use=klone+color, use=xterm+acs,
+
+st-16color|stterm-16color|simpleterm with 16-colors,
+	use=ibm+16color, use=st,
+# Tested with st 0.8.2
+# The issue with the titlebar is fixed, though st is very slow.
+# In st 0.7, 256 colors "works", but when running xterm's test-scripts, some
+# garbage is shown in the titlebar.
+#
+# terminal wants to use TERM=stterm-256color, but that is longer than 14
+# characters, making the choice nonportable.
+st-256color|stterm-256color|simpleterm with 256 colors,
+	use=xterm+256color, use=st,
+
+#### TERMINATOR
+# https://github.com/software-jessies-org/jessies/wiki/Terminator
+#
+# Tested using the Debian package org.jessies.terminator 6.104.3256 on 64-bit
+# Debian/current -TD (2011/8/20)
+#
+# There were some packaging problems:
+# a) using Java, the program starts off using 50Mb, and climbs from there,
+#    up to 114Mb after testing (no scrollback).
+# b) it insists on reinstalling its terminal description in $HOME/.terminfo
+#    (two copies, just in case the host happens to be Mac OS X).
+#    I deleted this after testing with tack.
+#
+# Issues/features found with tack:
+# a) tbc does not work (implying that hts also is broken).
+#    Comparing with the tabs utility shows a problem with the last tabstop on
+#    a line.
+# b) has xterm-style shifted function-key strings
+#    meta also is used, but control is ignored.
+# c) has xterm-style modifiers for cursor keys (shift, control, shift+control,
+#    meta)
+# d) some combinations of shift/control send xterm-style sequences for
+#    insert/delete/home/end.
+# e) numeric keypad sends only numbers (compare with vttest).
+# f) meta mode (km) is not implemented.
+#
+# Issues found with ncurses test-program:
+# a) bce is inconsistently implemented
+# b) widths of Unicode values above 256 do not always agree with wcwidth.
+#
+# Checked with vttest, found low degree of compatibility there.
+#
+# Checked with xterm's scripts, found that the 256-color palette is fixed.
+#
+# Fixes:
+# a) add sgr string
+# b) corrected sgr0 to reset alternate character set
+# c) modified smacs/rmacs to use SCS rather than SI/SO
+# d) removed bce
+# e) removed km
+#
+# Revisiting in May 2019, the Debian package was no longer available, and a
+# developer-provided ".deb" does not work.  However, a usable Windows ".msi"
+# (which relies upon Cygwin) can be tested.  The developers provide a terminfo,
+# but some of the features it lists do not work reliably (bce, italics, invis).
+#
+# tack:
+#	tbc fails
+#	invis attribute fails
+#	key-definitions could be expanded, with some work:
+#	+ supports xterm-style cursor key-modifiers for shift
+#	+ supports xterm-style function key-modifiers for shift,control,alt
+#	+ supports xterm-style editing key-modifiers for shift,control,alt
+#	(kbs=^?)
+# ncurses test-program:
+#	"C" menu shows that bce implementation is incomplete
+#	italics did not work
+#	dim worked once in tack, but not in ncurses test-program
+#	"F" thick-line characters do not display
+# vttest:
+#	terminal does not respond to 80/132-column switching
+#	wrapping at the right margin is erratic
+#	there are several problems in the cursor-movements and screen-features
+#	no VT52, no double-sized characters
+#	Device attributes response says it is a vanilla VT100
+#	does not respond to xterm mouse controls
+#	alternate screen tests do not fill the screen, return wrong position
+#	window modify/report operations do not work
+#	miscellaneous ISO-6429 tests, e.g., REP, do not work
+#	CBT, CHT, HPR, CNL,CPL, VPR do not work
+#
+# removed the cancel for "hs", removed cbt, invis, corrected sgr -TD
+# use xterm+256setaf, etc -TD
+terminator|Terminator no line wrap,
+	bce, eo, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, lm#0,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[2m, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E(B\E)0,
+	flash=^G, home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ind=\n,
+	is1=\E[?47l\E=\E[?1l,
+	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l, kbs=^?,
+	kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, rev=\E[7m,
+	ri=\EM, rmacs=\E(B, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+	rs1=\Ec, rs2=\E[!p\E[?3;4l\E[4l\E>, s0ds=\E(B, s1ds=\E(0,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p5%t;2%;%?%p1%p3%|%t;7
+	    %;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\E[m\E(B, smacs=\E(0, smir=\E[4h, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd, use=ansi+arrows,
+	use=ansi+csr, use=ansi+enq, use=ansi+idl, use=ansi+local,
+	use=vt220+pcedit, use=ecma+italics, use=ecma+index,
+	use=xterm+256setaf, use=xterm+sl-twm,
+	use=xterm+alt1049, use=vt220+cvis, use=bracketed+paste,
+
+#### TERMINOLOGY
+# https://www.enlightenment.org/about-terminology
+# https://github.com/borisfaure/terminology
+#
+# 2014/10/14:
+# Tested terminology-0.3.0, 0.6.1, using tack and vttest.  This is not a VT100
+# emulator, nor is it compatible with xterm, but it uses a few features from
+# both -TD
+#
+# General comments:
+#	cursor does not fill on focus
+#	there are pervasive problems with clearing/erasing parts of the screen
+#	resizing the window causes it to stop listening to the keyboard
+# tack -
+#	doesn't understand VT100 CPR needed for resize
+#	no CBT
+#	no cvvis
+#	has invis
+#	no blink
+#	uses bce model for colors, but (see below) fails the vttest screens
+#	has partial support for 256color feature.
+#	tack function-keys (a subset of xterm+pcf0), and
+#	tack cursor-keys (a subset of xterm+pce2):
+#			ctrl+shift (ignored)
+#		2	shift
+#			shift-alt modifier -> shift (2)
+#		3	alt
+#		4
+#		5	ctrl
+#	tack modifiers did not work for fkeys in 0.3.0; subset works in 0.6.1
+#	ctrl + khome/kend works - none of the other modifiers do
+# vttest -
+#	spits lots of messages from termptyesc.c especially in vttest.
+#	no 132-column mode
+#	fails menu 1, 2 (definitely not VT100-compatible)
+#	primary (claims VT420 with several options, apparently none work) and
+#	secondary report says (perhaps... VT420): \E[>41;285;0c
+#	CHA, HPR, VPA, CNL, CPL work
+#	BCE with ED/EL - fail
+#	BCE with ECH/indexing - fail
+#	SD/SU work
+#	unlike teken, background light/dark works
+#	can set title
+#	X10 and Normal mouse work
+#	Any-event mouse works
+#	Mouse button-event works
+#
+# This description uses xterm+pcf0, which is misleading because the program
+# does not handle combinations of modifiers - but listing them all would
+# involve more effort than its developers spent -TD
+terminology-0.6.1|EFL-based terminal emulator (0.6.1),
+	mc5i@,
+	blink@, ed@, el@, el1@, invis=\E[8m, kLFT=\E[1;2D,
+	kRIT=\E[1;2C, kind=\E[1;2B, kri=\E[1;2A,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p7%t;8
+	    %;m%?%p9%t\016%e\017%;$<2>,
+	vpa=\E[%i%p1%dd, kDC3=\E[3;3~, kDC4=\E[3;4~,
+	kDC5=\E[3;5~, kDC6=\E[3;6~, kDC7=\E[3;7~, kDN=\E[1;2B,
+	kDN3=\E[1;3B, kDN4=\E[1;4B, kDN5=\E[1;5B, kDN6=\E[1;6B,
+	kDN7=\E[1;7B, kEND5=\E[1;5F, kHOM5=\E[1;5H,
+	kLFT3=\E[1;3D, kLFT4=\E[1;4D, kLFT5=\E[1;5D,
+	kLFT6=\E[1;6D, kLFT7=\E[1;7D, kRIT3=\E[1;3C,
+	kRIT4=\E[1;4C, kRIT5=\E[1;5C, kRIT6=\E[1;6C,
+	kRIT7=\E[1;7C, kUP=\E[1;2A, use=ansi+enq, use=xterm+pcf0,
+	use=vt100, use=xterm+256setaf,
+
+# 2017-11-11:
+# Tested terminology 1.0.0
+#
+# tack -
+#	Shifted cursor-keys send nothing, but xterm modifiers for control+shift
+#	and control+alt were added like xterm+pcc2
+#	Editing keys have some features from xterm+pce2
+#	Changed from xterm+pcf0 to xterm+pcf2
+#
+# vttest -
+#	REP, SL, SR fail
+#
+# Aside from the partial fixes for function/cursor/editing keys, no improvement
+# in other tests versus 0.6.1
+terminology-1.0.0|EFL-based terminal emulator (1.0.0),
+	dim=\E[2m, flash=\E[?5h$<100/>\E[?5l, kend=\E[OF,
+	khome=\E[OH, rmacs=\E(B,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
+	    %?%p1%p3%|%t;7%;%?%p7%t;8%;m$<2>,
+	sgr0=\E(B\E[m, smacs=\E(0, use=ecma+italics,
+	use=vt220+cvis, use=xterm+x11mouse, use=xterm+pce2,
+	use=xterm+pcf2, use=xterm+pcc2, use=bracketed+paste,
+	use=terminology-0.6.1,
+
+# 2020/12/26:
+# Tested terminology 1.8.1 using tack and vttest.
+# tack -
+#	flash does not work
+#	italics and crossed-out text work
+#	no meta mode
+# vttest -
+#	DA1 says this is a VT420 with with 132 columns, NRCS, horizontal scrolling
+#	DA2 says this is a VT510, version 33.7
+#	NRCS does not work, program hangs in the locking shift test.
+#	some of the VT420 rectangle operations work
+#	left/right margins do not work
+#	most of DECSCUSR works
+#	most problems with bce are fixed.
+terminology-1.8.1|EFL-based terminal emulator (1.8.1),
+	km@,
+	cvvis@, flash@, initc@, kcbt=\E[Z, rmm@, smm@, Ms@,
+	use=linux+kbs, use=ecma+index, use=xterm+256setaf,
+	use=ansi+rep, use=ecma+strikeout, use=xterm+focus,
+	use=xterm+sm+1006, use=xterm+pcfkeys, use=xterm+tmux,
+	use=vt220+cvis, use=ecma+italics, use=xterm-basic,
+	use=report+version,
+
+terminology|EFL-based terminal emulator,
+	use=terminology-1.8.1,
+
+######## OPENGL CLIENTS
+
+#### Alacritty
+# https://github.com/jwilm/alacritty
+# Version 0.6.0 (2020/11/25)
+# Version 0.4.0 (2019/11/25)
+# Version 0.3.3 (2019/08/03)
+# Version 0.2.1 (2018/10/03)
+# Project started in 2016/02, uses Rust and OpenGL, and in contrast to (most X
+# terminal programs) is not designed to run with a remote server.
+#
+# Packaged in Arch Linux -
+# vttest:
+#	initial screensize 24x80
+#	no DECCOLM (does not switch between 80/132 columns)
+#	otherwise, passes wrapping test
+#	no DECSCNM
+#	identifies as a VT102
+#	numeric keypad does not send expected codes (seen in 0.4.0)
+#	passes bce test
+#	vt220:
+#		ECH works in 0.3.3 (0.2.1 left text on right margin)
+#		no SRM, DECSCA
+#	vt320:
+#		fails DECXCPR
+#		does not implement any of the DECRQM/DECRPM controls
+#		does not implement any of the DECRQSS controls
+#	vt420:
+#		no DECLRMM
+#		no DECBI, DECFI
+#	other:
+#		fails CHT, otherwise ECMA-48 cursor movement ok
+#		fails ERM/SPA, SL, SR, passes REP, SD, SU
+#	xterm:
+#		no X10 mouse
+#		has normal and highlight mouse
+#		has any-event and button-event mouse
+#		+ does support SGR-mouse
+#		+ does not correctly support focus in/out events (seen in 0.4.0)
+#		cursor-position wrong after alternate-screen (fixed in 0.4.0)
+#		none of the dtterm controls work
+# tack:
+#	bell and flash do not work
+#	blink does not work
+#	italics and crossed-out work (latter did not work in 0.2.1)
+#	function-keys work up (tested combinations which window manager allows)
+#	treats meta as escape-prefix
+#
+# The program sources include "alacritty" and "alacritty-direct", which are
+# copied from "xterm-256color" and "xterm-direct" (but using semicolon for
+# subparameter delimiter).  Refactored here to use ncurses building blocks -TD
+alacritty|alacritty terminal emulator,
+	rs1=\Ec\E]104\007, use=xterm+256color,
+	use=alacritty+common,
+
+alacritty-direct|alacritty with direct color indexing,
+	use=xterm+indirect, use=alacritty+common,
+
+# cancel km, since it is not actually meta mode -TD
+# added ecma+strikeout in 0.3.3 -TD
+# added xterm+sl-twm in 0.3.3 -TD
+alacritty+common|base fragment for alacritty,
+	km@, npc,
+	kb2=\EOE, kcbt=\E[Z, kent=\EOM, Se=\E[0 q,
+	Smulx=\E[4:%p1%dm, use=ecma+index, use=xterm+focus,
+	use=xterm+sm+1006, use=xterm-basic, use=xterm+app,
+	use=ansi+rep, use=xterm+tmux, use=ecma+strikeout,
+	use=xterm+sl-twm, use=ecma+italics, use=xterm+pce2,
+	use=xterm+pcc2, use=xterm+pcf2, use=bracketed+paste,
+
+# https://github.com/raphamorim/rio
+# derived from alacritty
+rio|fork of alacritty,
+	use=alacritty,
+rio-direct|fork of alacritty,
+	use=alacritty-direct,
+
+#### Kitty
+# https://github.com/kovidgoyal/kitty
+# Project started in 2016/10 (see alacritty), but is a Python script rather
+# than Rust, using OpenGL.  The same caveats regarding remote connections
+# apply.  This is not an X terminal, though (like alacritty), it copies
+# features from xterm.
+#
+# Regarding the name "kitty", that is a pun, reflected in the description.
+# But see
+#	http://www.9bis.net/kitty/
+#	https://github.com/kovidgoyal/kitty/issues/9
+#	https://github.com/kovidgoyal/kitty/issues/1025
+# and
+#	http://lists.gnu.org/archive/html/bug-ncurses/2018-09/msg00005.html
+#	https://github.com/kovidgoyal/kitty/issues/879
+#
+# Version 0.21.2 (June 28, 2021)
+# changes since 0.19.1
+# Notes:
+#	Repeatable tests with tack and vttest assume a standard screensize --
+#	measured in characters.  However, kitty uses pixel-measurements and
+#	does not readily use characters.
+#	Resizing with twm shows only pixel-based hint rather than characters
+#	manual page states that it is possible to override initial window size,
+#	but configuration file has no effect on initial window size.
+#	The same problem with XFCE4, but editing the cached json file works
+#	for setting the window size (the "c" suffix for cells does not):
+#		{"window-size": [720, 440]}
+#	though the values depend upon the font in use.
+# vttest
+# tack
+#	flash works
+#	invisible text still does not work
+#	function/special key modifiers finally work
+#
+# Version 0.19.1 (October 6, 2020)
+# changes since 0.13.3:
+# vttest
+#	ISO-6429
+#		REP works, though using unspecified behavior
+#	xterm
+#		xterm's SGR-mouse mode is recognized.
+#		does recognize original alternate-screen
+#		bug: mouse focus in/out does not work.
+#		bug: X10 mouse mode responds like any-event
+#		bug: highlight-tracking does not work; terminal hangs.
+#
+# tack
+#	rs1 adds an empty string for resetting title- and other OSC-strings.
+#	italics work
+#
+# Version 0.13.3 (January 19, 2019)
+# Notes:
+#	initial screensize 71x22
+#	does not respond to "resize -s"
+#	resizing with window manager gives no clues
+# vttest
+#	does not switch between 80/132 columns
+#	fails wrapping test, copying vte/rxvt
+#	no reverse-background, no blink
+#	claims to be VT200:
+#		primary \E[?62;c
+#		secondary \E[>1;4000;12c
+#	however -
+#		no GR in the locking-shifts screen
+#		no NRCS or ISO-2022, anyway
+#	no VT52
+#	VT220:
+#		has DECTCEM, ECH, but no SRM and DECSCA
+#		has operating condition report, none of the others
+#	VT320:
+#		has SU/SD
+#		DECRQSS ok for DECSTBM, SGR, none of the others
+#		no status-line
+#	VT420:
+#		DECXCPR device status works, none of the others
+#		no left/right margins
+#		has DECCARA, but not DECERA, DECFRA, DECRARA, DECSERA
+#		inside of DECCARA is uncolored
+#		line-drawing with DECCARA does not work
+#		aside from left/right margins, editing sequences look ok
+#		no DECFI, DECBI
+#	color:
+#		fails ECH test for bce
+#	ISO-6429
+#		fails REP, SL, SL, but other cursor-movement ok
+#	xterm:
+#		does not recognize original alternate-screen
+#		cursor-position wrong after alternate-screen
+#		has normal mouse, any-event, any-button, but
+#			no X10 mouse
+#			no mouse-highlight tracking
+#			no DEC locator
+#		dtterm - only supports report-size chars/pixels
+#		recognizes tcap-query
+# tack:
+#	flash doesn't work
+#	italics do not work
+#	bce should be set (but see vttest)
+#*	developer's terminfo stopped at kf25, but the program continues,
+#	copying xterm for the rest of the control+fkey sequence
+#	(but only one modifier is supported, like iTerm2).
+#*	it omitted shifted pageup/down
+#*	control+editing keys work
+#	In contrast to function-keys, some additional modifier combinations
+#	act like xterm for the editing/cursor-keys, e.g., alt+shift.  While
+#	the implementation is incomplete, the building-blocks are consistent
+#	with what has been implemented -TD
+#	DECKPAM does not work -TD
+#*	ka1, ka3, kc1, kc3 were bogus (removed)
+#*	meta sends escape (removed kmm) -TD
+#*	cvvis does not make cursor "more visible" -TD
+kitty|KovId's TTY,
+	use=xterm+256color, use=kitty+common,
+kitty-direct|KovId's TTY using direct colors,
+	oc=\E]104\007, use=xterm+direct2, use=kitty+common,
+kitty+common|KovId's TTY common properties,
+	am, mc5i, mir, msgr, npc, xenl,
+	cols#80, lines#24,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+	     yzz{{||}}~~,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[2m, ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+	flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+	ich=\E[%p1%d@, ind=\n, kBEG=\E[1;2E, kbeg=\EOE, kbs=^?,
+	kcbt=\E[Z, op=\E[39;49m, rev=\E[7m, ri=\EM, rmacs=\E(B,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l, rmso=\E[27m,
+	rmul=\E[24m, rs1=\E]\E\\\Ec,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
+	    %?%p1%p3%|%t;7%;m,
+	sgr0=\E(B\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd,
+	Smulx=\E[4:%p1%dm, use=ansi+csr, use=ansi+enq,
+	use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+	use=ansi+rep, use=xterm+focus, use=xterm+sm+1006,
+	use=ecma+index, use=xterm+pcfkeys, use=xterm+sl-twm,
+	use=ecma+strikeout, use=ecma+italics,
+	use=xterm+alt1049, use=att610+cvis, use=xterm+tmux,
+	use=bracketed+paste, use=report+version,
+
+kitty+setal|set underline colors (nonstandard),
+	setal=\E[58:2::%p1%{65536}%/%d:%p1%{256}%/%{255}%&%d:%p1
+	      %{255}%&%dm,
+
+######## WAYLAND CLIENTS
+
+#### Foot
+# https://codeberg.org/dnkl/foot/
+# Version 1.8.2
+#
+# This identifies as a VT220 with 4=sixel and 22=color, however:
+# tack:
+#	bell does not work
+#	status-line does not work because foot does not set the window title
+#	sends escape when meta key is used, whether or not smm/rmm enabled
+# vttest:
+#	wrap-test fails
+#	no application-mode for numeric keypad (unless private mode 1035 is set)
+#	no NRCS
+#	no VT52
+#	no SRM
+#	protected areas do not work
+#	SU/SD work, SL/SR do not
+#	DECRPM responds, but not the corresponding ANSI reports.
+#	otherwise few reports, except cursor-position and mouse and some dtterm
+#	VT520 cursor-movement works, except for left/right margins
+#	supports xterm/DECSCUSR, though default case in vttest does not blink
+#		Send: <27> [ 0 <32> q 
+#		Text: The cursor should be a blinking rectangle
+#	partial support for xterm mouse any-event mode and button-event mode:
+#	+ does not report focus-in/focus-out
+#	+ does not report buttons 6/7
+#	alternate-screen works
+foot|foot terminal emulator,
+	oc=\E]104\E\\, use=xterm+256color2, use=foot+base,
+
+foot-direct|foot with direct color indexing,
+	use=xterm+direct, use=foot+base,
+
+foot+base|foot base fragment,
+	am, bce, bw, mir, msgr, npc, xenl, AX, XT,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n, dim=\E[2m,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K,
+	flash=\E]555\E\\, ind=\n, is2=\E[!p\E[4l\E>, kbs=^?,
+	kcbt=\E[Z, oc=\E]104\E\\, op=\E[39;49m, ri=\EM,
+	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[27m, rmul=\E[24m,
+	rs1=\Ec, rs2=\E[!p\E[4l\E>,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;
+	    %?%p1%p3%|%t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+	sgr0=\E(B\E[m, smam=\E[?7h, smkx=\E[?1h\E=, E3=\E[3J,
+	use=att610+cvis, use=ansi+csr, use=ansi+cup,
+	use=ansi+enq, use=ansi+local, use=ansi+idc, use=ansi+idl,
+	use=ansi+rca2, use=ansi+rep, use=ansi+tabs,
+	use=ansi+sgrbold, use=ecma+index, use=ecma+italics,
+	use=ecma+strikeout, use=xterm+acs, use=xterm+alt+title,
+	use=xterm+pcfkeys, use=xterm+sm+1006, use=xterm+tmux2,
+	use=xterm+sl-alt, use=bracketed+paste,
+	use=report+version, use=xterm+focus,
+
+######## WEB CLIENTS
+
+#### DomTerm
+# https://domterm.org
+#
+# Quoting its webpage:
+#	The domterm command runs a server that manages sessions (usually shell
+#	processes).  The user interface and terminal emulation is handled by a
+#	JavaScript library that can run in a regular web browser or an embedded
+#	browser such as Electron, using Web Sockets to talk to the server.
+#
+# it can connect to, and display in, a web browser, or as a standalone Qt
+# application.  Either way, it displays in the current desktop session.
+#
+# Testing current code (2019/07/06) with Fedora 30:
+# tack
+#	no flash
+#	no beep
+#	no dim
+#	no blink
+#	no invis
+#	no italics
+#	ok smxx/rmxx
+#	bce screen shows diagonal lines...
+#	kf6 sends nothing
+#	kf11 toggles maximize
+#	cursor-key application mode works
+#	numeric keypad application does not work; keys always send face-codes
+#	sends utf-8 for meta, like xterm
+# vttest
+#	has problems with menu #1 (wrapping)
+#	DA = VT200 with 132 columns, color
+#	DA2 = 990, 100300 ("\E[>990;100300;0c")
+#	no VT52, no double-size characters
+#	vt220 ECH test works, SRM, DECSCA do not
+#	S7C1T/S8C1t does not work
+#	DECUDK does not work
+#	CNL does not work; the other ECMA-48 cursor-movement tests work
+#	REP sort-of works (does not match xterm)
+#	SD/SU work, but not SL/SR
+#	window reporting: works for size in chars/pixels, but not other tests
+#	X10 mouse clicks work -- but return 4 rather than 1 for codes
+#	any-event mouse mode acts like any-button mode
+#	implements SGR mouse-mode
+# other:
+#	does not implement initc
+#	does accept either colons or semicolon in 38/48 SGR.
+domterm|DomTerm web client,
+	npc,
+	bel@, blink@, dim@, invis@, kcbt=\E[Z, ritm@, rmkx=\E[?1l,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+	    %t;7%;m,
+	sitm@, smkx=\E[?1h, use=linux+kbs, use=xterm+256setaf,
+	use=ecma+index, use=xterm+focus, use=xterm+sm+1006,
+	use=xterm+pcfkeys, use=xterm-basic,
+	use=bracketed+paste,
+
+######## Miscellaneous
+
+#### WezTerm
+# https://wezfurlong.org/wezterm/
+# https://github.com/wez/wezterm
+#
+# which says:
+# "wezterm is a terminal emulator with support for modern features
+#  such as fonts with ligatures, hyperlinks, tabs and multiple windows."
+#
+# wezterm-20230712_072601_f4abf8fd-1.fedora38.x86_64
+# tested with MacOS and Fedora 38/39.
+#
+# General:
+# + written in Rust.
+# + initial screensize is odd, i.e., 81x24
+#   provides no visual feedback on resize
+#   ignores "resize -s"
+#   manual resize and then running resize got off-by-one adjustment
+# + leaves debris (unerased cells) when switching between normal/alternate
+#   screens.
+# + sets TERM=xterm-256color
+# tack:
+# + misplaced message in "am" screen
+# + fails xenl (should be false)
+# + cvvis is same as cnorm, block
+# + has blink and dim
+# + in bce test, blue isn't really blue but some pale purple
+# + modified keys mostly work, but its tab control interferes with some
+# + rmm/smm don't work (always uses escape-prefix)
+# wraptest:
+# + poor (doesn't copy anyone, most of the results are wrong)
+# vttest:
+# + DA is VT5xx with sixel, selective erase, user windows, color
+# + DA2 is VT220 version 277
+# + only the VT100 character set works, contrary to DA/DA2.
+# + no NRCS, either
+# + double-sized character work, with some debris
+# + doesn't switch between 80/132 columns.
+# + numeric keypad ANSI application mode escapes don't work.
+# + numeric keypad ANSI mode misses "0", ".", ","
+# + uses PC-style editing keypad \E[H and \E[F for Find and Select
+# + no VT52
+# + DECSED selective erase doesn't work
+# + SRM doesn't work
+# + 8-bit controls don't work
+# + DECNCSM doesn't work
+# + most DECRQSS do not work (DECSCL, DECSTBM, DECSLRM respond)
+# + DECRQM/DECRPM don't work (most reply permanently reset)
+# + DECLRMM responds to DECRPM, but VT420 rectangle tests do not work.
+#   Some of the left/right margin tests work with the cursor-movement screen,
+#   but DECFI/DECBI do not work.  The other cursor-movement tests are buggy.
+# + implements ECMA-48 cursor movement, but not SL/SR or protected area
+# + implements xterm normal, any-event and button-event mouse, none of the rest
+# + reports window size, none of the other window reports
+wezterm|Wez's Terminal Emulator,
+	km@, xenl@,
+	cvvis@, rmkx=\E[?1l, rmm@, smkx=\E[?1h, smm@,
+	use=xterm-256color,
+
+#### Contour
+# https://github.com/contour-terminal/contour
+#
+# "Modern C++ Terminal Emulator"
+# Contour is a modern and actually fast, modal, virtual terminal emulator,
+# for everyday use. It is aiming for power users with a modern feature mindset.
+#
+# That is three occurrences of "modern" too many -TD
+#
+# MacOS
+# - cannot run, because the package is not signed.
+#
+# Fedora rawhide
+# contour-terminal-0.3.12.262-6.fc39.x86_64
+# - dumps core, cannot test
+#
+# Fedora 39
+# contour-terminal-0.4.0.6245-1.fc38.x86_64
+# - starts but doesn't display
+#
+# Fedora 38
+# contour-terminal-0.4.0.6245-1.fc38.x86_64
+# - starts but doesn't display
+# contour-terminal-0.3.12.262-1.fc38.x86_64
+# + testable (see below)
+# + initial screensize 62x23, no visual feedback on resize, no "resize -s"
+#
+# Sets TERM=contour (which is preferable to xterm).
+#
+# tack:
+# + cvvis is same as cnorm, "|"
+# + sitm/ritm don't work
+# + rmm/smm don't work (always uses escape, but terminfo defines km)
+# + initp interchanges red/blue (bug in tack?)
+# + modified F1-F4 are wrong, sending SS3 with modifier numbers
+# + shifted editing-keypad doesn't send anything
+# + meta key doesn't work
+# + status-line works (based on xterm, including window-resizing)
+# + dots don't line up for home test
+#
+# wraptest:
+# + poor 7/25 differences from xterm (perhaps copying iTerm2)
+#
+# vttest:
+# + hangs in menu 1, etc., when it tries to resize
+#
+# infocmp vs xterm-256color
+# + missing XM/xm
+# + rmcup/smcup doesn't use title-stack (but is implemented)
+# + doesn't use SGR mouse (but is implemented)
+# + sgr doesn't define dim, but dim capability is in terminfo (implemented)
+#
+# Developer's terminfo (compiled-in) uses some extensions.
+contour|contour-latest|Contour Terminal Emulator,
+	am, bce, eslok, hs, km, mc5i, mir, msgr, npc, xenl, xvpa,
+	cols#80, lines#24, pairs#0x7fff,
+	bel=^G, bold=\E[1m, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+	dim=\E[2m, dsl=\E[$~, ech=\E[%p1%dX, el1=\E[1K,
+	flash=\E[?5h$<100/>\E[?5l, fsl=\E[$}, hpa=\E[%i%p1%dG,
+	ind=\n, indn=\E[%p1%dS, invis=\E[8m, ka1=, ka3=, kbs=^?, kc1=,
+	kc3=, kcbt=\E[Z, kend=\EOF, khlp=, kmous=\E[M, kund=,
+	oc=\E]104\E\\, op=\E[39;49m, rev=\E[7m, ri=\EM,
+	rin=\E[%p1%dT, rmam=\E[?7l, rmkx=\E[?1l, rmso=\E[27m,
+	rmul=\E[24m, rs1=\E]\E\\\Ec,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+	    %t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+	sgr0=\E(B\E[m, smam=\E[?7h, smkx=\E[?1h, smso=\E[7m,
+	smul=\E[4m, tsl=\E[2$~\E[1$}\E[H\E[2J, vpa=\E[%i%p1%dd,
+	Cs=\E]12;%p1%s\E\\, E3=\E[3J, Rmol=\E[55m, Se=\E[ q,
+	Smol=\E[53m, Smulx=\E[4:%p1%dm, Ss=\E[%p1%d q,
+	use=ansi+apparrows, use=ansi+cup, use=ansi+csr,
+	use=ansi+erase, use=ansi+idc, use=ansi+idl,
+	use=ansi+inittabs, use=ansi+local, use=ansi+rep,
+	use=att610+cvis, use=ecma+italics, use=ecma+strikeout,
+	use=xterm+256color, use=xterm+acs, use=xterm+alt1049,
+	use=xterm+pcc2, use=xterm+pce2, use=xterm+pcf2,
+
+contour-direct|Contour terminal with direct colors,
+	use=xterm+direct, use=contour,
+
+######## UNIX VIRTUAL TERMINALS, VIRTUAL CONSOLES, AND TELNET CLIENTS
+#
+
+# Columbus UNIX virtual terminal. This terminal also appears in
+# UNIX 4.0 and successors as line discipline 1 (?), but is
+# undocumented and does not really work quite right.
+cbunix|cb unix virtual terminal,
+	OTbs, am, da, db,
+	cols#80, lines#24, lm#0,
+	bel=^G, clear=\EL, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EG%p2%c%p1%c, cuu1=\EA, dch1=\EM, dl1=\EN, ed=\EL,
+	el=\EK, ich1=\EO, il1=\EP, ind=\n, khome=\EE, rmso=\Eb^D,
+	rmul=\Eb^A, smso=\Ea^D, smul=\Ea^A, use=vt52+arrows,
+# (vremote: removed obsolete ":nl@:" -- esr)
+vremote|virtual remote terminal,
+	am@,
+	cols#79, use=cbunix,
+
+pty|4bsd pseudo teletype,
+	cup=\EG%p1%{32}%+%c%p2%{32}%+%c, rmso=\Eb$, rmul=\Eb!,
+	smso=\Ea$, smul=\Ea!, use=cbunix,
+
+#### Emacs
+
+# https://www.emacswiki.org/emacs/AnsiTerm
+# https://github.com/emacs-mirror/emacs/blob/master/lisp/term.el
+#
+# The codes supported by the term.el terminal emulation in GNU Emacs 19.30
+eterm|GNU Emacs term.el terminal emulation,
+	am, mir, xenl,
+	cols#80, lines#24,
+	bel=^G, bold=\E[1m, cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H,
+	cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	el1=\E[1K, home=\E[H, ht=^I, ich=\E[%p1%d@, ind=\n,
+	rev=\E[7m, rmir=\E[4l, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smir=\E[4h, smso=\E[7m, smul=\E[4m, use=ansi+cpr,
+	use=ansi+erase, use=ansi+idl, use=ansi+local,
+	use=xterm+alt47,
+
+# The codes supported by the term.el terminal emulation in GNU Emacs 22.2
+eterm-color|Emacs term.el terminal emulator term-protocol-version 0.96,
+	msgr,
+	colors#8, pairs#64,
+	kbs=^?, khome=\E[1~, op=\E[39;49m, ri=\EM, rmso=\E[27m,
+	rmul=\E[24m, rs1=\Ec, setab=\E[%p1%'('%+%dm,
+	setaf=\E[%p1%{30}%+%dm,
+	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;%?
+	    %p7%t;8%;m,
+	sgr0=\E[m, use=ansi+apparrows, use=ansi+csr,
+	use=ansi+sgr, use=vt220+pcedit, use=eterm,
+
+# shell.el can "do" color, though not nearly as well.
+#
+# seen here:
+# http://unix.stackexchange.com/questions/237943/changing-colors-used-by-ls-does-not-work-in-emacs-shell-mode
+#
+# and
+# https://lists.gnu.org/archive/html/bug-gnu-emacs/2012-08/msg00481.html
+# https://github.com/emacs-mirror/emacs/blob/master/lisp/shell.el
+# https://github.com/emacs-mirror/emacs/blob/master/lisp/ansi-color.el
+#
+# however, as tested with Emacs 24.5.1, the result is buggy, losing overlays
+# frequently.  The contemporaneous term.el aka ansi-term does not "support"
+# italics but does not lose the color information -TD 2017/01/28.
+dumb-emacs-ansi|Emacs dumb terminal with ANSI color codes,
+	am, hc,
+	it#8, ncv#13,
+	bold=\E[1m, cud1=\n, ht=^I, ind=\n, op=\E[39;49m,
+	rmul=\E[24m, sgr0=\E[m, smul=\E[4m, use=ecma+italics,
+	use=klone+color,
+
+#### Screen
+
+# Entries for use by the `screen' program by Juergen Weigert,
+# Michael Schroeder, Oliver Laumann.  The screen and
+# screen-w entries came with version 3.7.1.  The screen2 and screen3 entries
+# come from University of Wisconsin and may be older.
+# (screen: added <cnorm> on ANSI model -- esr)
+#
+# 'screen' defines extensions to termcap.  Some are used in its terminal
+# description:
+#      G0   (bool)  Terminal can deal with ISO 2022  font  selection sequences.
+#      AX   (bool)  Does  understand ANSI set default fg/bg color
+#                   (\E[39m / \E[49m).
+#      S0   (str)   Switch charset 'G0' to the specified charset.
+#      E0   (str)   Switch charset 'G0' back to standard charset.
+#
+# Initially tested with screen 3.09.08
+#
+# According to its manual page
+#
+#      Screen is a full-screen window manager that multiplexes a physical
+#      terminal between several processes (typically interactive shells).  Each
+#      virtual terminal provides the functions of a DEC VT100 terminal and, in
+#      addition, several control functions from the ISO 6429 (ECMA 48, ANSI
+#      X3.64) and ISO 2022 standards (e.g.  insert/delete line and support for
+#      multiple character sets).
+#
+# However, there is a design error in its support for video highlights.  The
+# program uses a table (rendlist) which equates the SGR codes to terminal
+# capabilities.  That, and color-decoding are hardcoded in screen; its behavior
+# is modified only by the presence or absence of the corresponding capabilities.
+# Not by their values.
+#
+# If screen sets the TERMCAP variable, it uses hardcoded strings which
+# correspond to the rendlist table.
+#
+# The table gives this information:
+#
+#	SGR	capability
+#	---	---------
+#	1	bold
+#	2	dim
+#	3	standout
+#	4	underline
+#	5	blink
+#	-	(unused 6)
+#	7	reverse
+#	-	(unused 8-21)
+#	22	reset bold, standout and dim
+#	23	reset standout
+#	24	reset underline
+#	25	reset blink
+#	-	(unused 26)
+#	27	reset reverse
+#
+# ECMA-48 differs from this: 3 and 23 set and reset italics, respectively.
+# ECMA-48 does not define "standout" - that is a termcap/terminfo abstraction.
+# Without some redesign of screen, it is not possible to extend the set of
+# capabilities.  Substitution would be possible, e.g., sending italics in
+# place of underline.
+#
+# Because screen uses hard-coded parsing, it does not check if two capabilities
+# use the same value.  For example, changing standout to be the same as any of
+# the other capabilities will confuse screen.  Curses applications which use
+# sgr are not impacted (because that usually resets all capabilities before
+# setting any), but termcap applications do not use sgr -TD
+#
+# The "screen" entry should use ecma+index rather than just indn, but tmux
+# defaults to using "screen".  For background, screen supported ecma+index
+# since 1994 (i.e., screen 3.0.5), stating that it was an obscure code used by
+# the (Siemens Nixdorf) 97801 terminal.  It was not shown in the termcap or
+# terminfo entries (which list about 60% of the control sequences).
+screen-base|VT 100/ANSI X3.64 virtual terminal (base),
+	OTbs, OTpt, km, mir, xenl, G0,
+	ncv@, U8#1,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+	     yzz{{||}}~~,
+	blink=\E[5m, bold=\E[1m, civis=\E[?25l,
+	cnorm=\E[34h\E[?25h, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, cvvis=\E[34l,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, el1=\E[1K, flash=\Eg,
+	hpa=\E[%i%p1%dG, ich=\E[%p1%d@, indn=\E[%p1%dS, is2=\E)0,
+	kbs=^?, kcbt=\E[Z, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\E[15~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kmous=\E[M, nel=\EE, rev=\E[7m, ri=\EM,
+	rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[23m, rmul=\E[24m,
+	rs2=\Ec\E[?1000l\E[?25h,
+	sgr=\E[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%;,
+	sgr0=\E[m\017, smir=\E[4h, smkx=\E[?1h\E=, smso=\E[3m,
+	smul=\E[4m, vpa=\E[%i%p1%dd, E0=\E(B, S0=\E(%p1%c,
+	use=ansi+apparrows, use=ansi+csr, use=ansi+erase,
+	use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+	use=xterm+kbs, use=vt220+pcedit, use=xterm+alt1049,
+	use=ecma+color, use=vt100+enq, use=vt100+4bsd,
+
+screen|VT 100/ANSI X3.64 virtual terminal,
+	use=screen4,
+
+no+brackets|cancel bracketed paste,
+	BD@, BE@, PE@, PS@,
+
+# The bce and status-line entries are from screen 3.9.13 (and require some
+# changes to .screenrc).
+screen-bce|VT 100/ANSI X3.64 virtual terminal with bce,
+	bce,
+	ech@, use=screen,
+screen-s|VT 100/ANSI X3.64 virtual terminal with hardstatus line,
+	dsl=\E_\E\\, fsl=\E\\, tsl=\E_, use=screen,
+
+# ======================================================================
+# Entries for GNU Screen with 16 colors.
+# Those variations permit to benefit from 16 colors palette, and from
+# bold font and blink attribute separated from bright colors. But they
+# are less portable than the generic "screen" 8 color entries: Their
+# usage makes real sense only if the terminals you attach and reattach
+# do all support 16 color palette.
+
+screen-16color|GNU Screen with 16 colors,
+	use=ibm+16color, use=screen,
+
+screen-16color-s|GNU Screen with 16 colors and status line,
+	use=ibm+16color, use=screen-s,
+
+screen-16color-bce|GNU Screen with 16 colors and BCE,
+	use=ibm+16color, use=screen-bce,
+
+screen-16color-bce-s|GNU Screen with 16 colors using BCE and status line,
+	bce, use=ibm+16color, use=screen-s,
+
+# ======================================================================
+# Entries for GNU Screen 4.02 with --enable-colors256.
+
+screen-256color|GNU Screen with 256 colors,
+	use=xterm+256setaf, use=screen,
+
+screen-256color-s|GNU Screen with 256 colors and status line,
+	use=xterm+256setaf, use=screen-s,
+
+screen-256color-bce|GNU Screen with 256 colors and BCE,
+	use=xterm+256setaf, use=screen-bce,
+
+screen-256color-bce-s|GNU Screen with 256 colors using BCE and status line,
+	bce, use=xterm+256setaf, use=screen-s,
+
+screen.xterm-256color|GNU Screen with xterm using 256 colors,
+	use=xterm+256setaf, use=screen.xterm-new,
+
+screen.konsole-256color|GNU Screen with konsole using 256 colors,
+	XR@, use=xterm+256setaf, use=screen.konsole,
+
+screen.vte-256color|GNU Screen with vte using 256 colors,
+	use=xterm+256setaf, use=screen.vte,
+
+screen.putty-256color|GNU Screen with putty using 256 colors,
+	use=xterm+256setaf, use=screen.putty,
+
+screen.mlterm-256color|GNU Screen with mlterm using 256 colors,
+	XR@, use=xterm+256setaf, use=screen.mlterm,
+
+# ======================================================================
+
+# Read the fine manpage:
+#       When  screen  tries  to  figure  out  a  terminal name for
+#       itself, it first looks for an entry named "screen.<term>",
+#       where  <term>  is the contents of your $TERM variable.  If
+#       no such entry exists, screen tries "screen" (or "screen-w"
+#       if the terminal is wide (132 cols or more)).  If even this
+#       entry cannot be found, "vt100" is used as a substitute.
+#
+# Notwithstanding the manpage, screen uses its own notion of the termcap
+# and some keys from "screen.<term>" are ignored.  Here is an entry which
+# covers those (tested with screen 4.00.02) -TD
+screen+fkeys|function-keys according to screen,
+	kend=\E[4~, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kfnd@,
+	khome=\E[1~, kslt@,
+
+# See explanation before "screen" entry.  Cancel italics so that applications
+# do not assume screen supports the feature.  Add this tweak to entries which
+# extend screen for terminals which do support italics.
+screen+italics|screen cannot support italics,
+	ritm@, sitm@,
+#
+# Here are a few customized entries which are useful -TD
+#
+# Notes:
+# (a)	screen does not support invis.
+# (b)	screen's implementation of bw is incorrect according to tack.
+# (c)	screen appears to hardcode the strings for khome/kend, making it
+#	necessary to override the "use=" clause's values (screen+fkeys).
+# (d)	screen sets $TERMCAP to a termcap-formatted copy of the 'screen' entry,
+#	which is NOT the same as the terminfo screen.<term>.
+# (e)	when screen finds one of these customized entries, it sets $TERM to
+#	match.  Hence, no "screen.xterm" entry is provided, since that would
+#	create heartburn for people running remote xterm's.
+# (f)   screen does not support rep.
+# (g)	the xterm-new compatibility does not include bracketed paste.
+#
+#	xterm (-xfree86 or -r6) does not normally support kIC, kNXT and kPRV
+#	since the default translations override the built-in keycode
+#	translation.  They are suppressed here to show what is tested by tack.
+screen.xterm-xfree86|screen.xterm-new|screen customized for modern xterm,
+	bce@, bw,
+	invis@, kIC@, kNXT@, kPRV@, meml@, memu@, rep@,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+	    %t;7%;%?%p4%t;5%;%?%p5%t;2%;m,
+	E3@, use=screen+italics, use=screen+fkeys,
+	use=xterm+x11mouse, use=ecma+index, use=ansi+rep,
+	use=ecma+strikeout, use=xterm+pcfkeys,
+	use=xterm+nofkeys,
+
+# Don't use this, because not everyone has "screen.xterm-new":
+#:screen.xterm|screen for modern xterm,
+#:	use=screen.xterm-new,
+
+# xterm-r6 does not really support khome/kend unless it is propped up by
+# the translations resource.
+screen.xterm-r6|screen customized for X11R6 xterm,
+	bw, use=xterm+x11mouse, use=screen+fkeys, use=xterm-r6,
+# Color applications running in screen and TeraTerm do not play well together
+# on Solaris because Sun's curses implementation gets confused.
+screen.teraterm|disable ncv in teraterm,
+	ncv#127,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
+	     \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
+	     \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	use=screen+fkeys, use=xterm+x11mouse, use=screen,
+# Other terminals
+screen.rxvt|screen in rxvt,
+	bw, XT,
+	cvvis@, flash@, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, use=screen+fkeys, use=vt100+enq,
+	use=rxvt+pcfkeys, use=xterm+x11mouse, use=vt220+keypad,
+	use=screen,
+screen.Eterm|screen in Eterm,
+	use=xterm+x11mouse, use=screen+fkeys, use=Eterm,
+screen.mrxvt|screen in mrxvt,
+	use=xterm+x11mouse, use=screen+fkeys, use=mrxvt,
+screen.vte|screen in any VTE-based terminal,
+	use=xterm+x11mouse, use=screen+italics,
+	use=screen+fkeys, use=no+brackets, use=vte,
+screen.gnome|screen in GNOME Terminal,
+	use=xterm+x11mouse, use=screen+italics,
+	use=screen+fkeys, use=no+brackets, use=gnome,
+screen.konsole|screen in KDE console window,
+	XR@, use=xterm+x11mouse, use=screen+italics,
+	use=screen+fkeys, use=no+brackets, use=konsole,
+# fix the backspace key
+screen.linux|screen.linux-s|screen in Linux console,
+	bw,
+	kcbt@, use=linux+sfkeys, use=xterm+x11mouse,
+	use=screen+fkeys, use=screen,
+screen.mlterm|screen in mlterm,
+	XR@, use=xterm+x11mouse, use=screen+fkeys,
+	use=no+brackets, use=mlterm,
+screen.putty|screen in putty,
+	use=xterm+x11mouse, use=screen+fkeys, use=no+brackets,
+	use=putty,
+
+# The default "screen" entry is reasonably portable, but not optimal for the
+# most widely-used terminal emulators.  The "bce" capability is supported in
+# screen since 3.9.13, and when used, will require fewer characters to be sent
+# to the terminal for updates.
+#
+# If you are using only terminals which support bce, then you can use this
+# feature in your screen configuration.
+#
+# Adding these lines to your ".screenrc" file will allow using these customized
+# entries:
+#	term screen-bce
+#	bce on
+#	defbce on
+screen-bce.xterm-new|screen optimized for modern xterm,
+	bce,
+	ech@, use=screen+italics, use=screen.xterm-new,
+screen-bce.rxvt|screen optimized for rxvt,
+	bce,
+	ech@, use=screen.rxvt,
+screen-bce.Eterm|screen optimized for Eterm,
+	bce,
+	ech@, use=screen.Eterm,
+screen-bce.mrxvt|screen optimized for mrxvt,
+	bce,
+	ech@, use=screen.mrxvt,
+screen-bce.gnome|screen optimized for GNOME-Terminal,
+	ech@, use=screen+italics, use=screen.gnome,
+screen-bce.konsole|screen optimized for KDE console window,
+	ech@, use=screen+italics, use=screen.konsole,
+screen-bce.linux|screen optimized for Linux console,
+	bce,
+	ech@, use=screen.linux,
+
+screen-w|VT 100/ANSI X3.64 virtual terminal with 132 cols,
+	cols#132, use=screen,
+
+screen2|VT 100/ANSI X3.64 virtual terminal (old 2.x),
+	cols#80, lines#24,
+	clear=\E[2J\E[H, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+	ed=\E[J, el=\E[K, ich1=, ind=\n, kbs=^H, kf0=\E~, kf1=\ES,
+	kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER,
+	kf9=\E0I, khome=\EH, nel=\r\n, rc=\E8, ri=\EM, rmso=\E[23m,
+	rmul=\E[24m, rs1=\Ec, sc=\E7, sgr0=\E[m, smso=\E[3m,
+	smul=\E[4m, use=ansi+idc, use=ansi+idl,
+	use=ansi+inittabs, use=ansi+local, use=vt52+arrows,
+
+# (screen3: removed unknown ":xv:LP:G0:" -- esr)
+screen3|VT 100/ANSI X3.64 virtual terminal (old 3.x),
+	km, mir, msgr,
+	cols#80, lines#24,
+	bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, dch=\E[%p1%dP,
+	dch1=\E[P, home=\E[H, ich=\E[%p1%d@, ind=\n, is2=\E)0,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\EE, rev=\E[7m,
+	ri=\EM, rmir=\E[4l, rmkx=\E>, rmso=\E[23m, rmul=\E[24m,
+	rs1=\Ec, sgr0=\E[m, smir=\E[4h, smkx=\E=, smso=\E[3m,
+	smul=\E[4m, use=ansi+csr, use=ansi+erase, use=ansi+idl,
+	use=ansi+inittabs, use=ansi+local,
+
+# screen 4.0 was released 2003-07-21, and as of March 2019, its terminfo file
+# was last updated in 2009 to include 256-color support.  The most recent
+# release is 4.6.2 (October 2017).
+screen4|VT 100/ANSI X3.64 virtual terminal (4.x),
+	use=ecma+index, use=screen-base,
+
+# As of December 2022, screen 5.0 has not been released.
+#
+# However,
+#
+#	https://savannah.gnu.org/bugs/?36676
+#
+# mentions a change to implement italics which should be in a version 5,
+# (implemented 2016-11-05, but merged 2017-07-09).  That does away with the
+# longstanding use of SGR 3 for standout, and interprets it as italics.
+#
+# The same development branch has some support for direct-colors, but none
+# of this has been documented.
+screen5|VT 100/ANSI X3.64 virtual terminal (someday),
+	rmso=\E[27m,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+	    %p5%t;2%;m%?%p9%t\016%e\017%;,
+	smso=\E[7m, use=ecma+italics, use=ecma+index,
+	use=screen-base,
+
+#### Tmux
+
+# tmux is mostly compatible with screen, but has support for italics, and some
+# of the xterm cursor bits.
+#
+# However, unlike screen, tmux has no provision for using derived terminal
+# descriptions.  When screen starts, it looks for a suitable "inner" terminal
+# such as "screen.$TERM" to correspond to the outer terminal's quirks.  The
+# various entries such as screen.xterm-new provide a way to more closely
+# match the terminal.
+tmux|tmux terminal multiplexer,
+	invis=\E[8m, rmso=\E[27m,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;%?
+	    %p5%t;2%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	smso=\E[7m, E3=\E[3J, Smulx=\E[4:%p1%dm,
+	use=ecma+italics, use=ecma+strikeout, use=xterm+edit,
+	use=xterm+pcfkeys, use=xterm+sl, use=xterm+tmux,
+	use=screen, use=bracketed+paste, use=report+version,
+	use=xterm+focus,
+
+tmux-256color|tmux with 256 colors,
+	use=xterm+256setaf, use=tmux,
+
+tmux-direct|tmux with direct-color indexing,
+	use=kitty+setal, use=xterm+direct, use=tmux,
+
+#### Mosh
+# https://mosh.org/
+# mosh 1.3.2
+#
+# mosh's DA1 identifies it as a VT220, but sets $TERM to "xterm" or
+# "xterm-256color" (hard-coded), which in its pretense that it is xterm, is
+# several years out of date.
+#
+# There is little documentation; the existing manpages amount to a quarter of
+# the length of mosh.org's heavily promotional website.  This entry is based
+# on testing, and reading the source-code.  For the latter, analysis is aided
+# by the developer's extensive use of hard-coded strings.
+#
+# The website has an example "Tricky unicode", which shows a shell command
+# with a typo (i.e., assuming that a byte in octal uses 4 digits) and suggests
+# that mosh and OS X Terminal "gets it right".
+#
+# The example as shown would not work.  Correcting the typo, xterm gives the
+# result expected by the mosh developer.
+#
+# The other examples follow in a similar vein.
+#
+# It does not support these xterm features:
+#	use=ansi+rep (xterm patch #36, 1997)
+#	use=ecma+strikeout (xterm patch #305, 2014)
+#	use=vt420+lrmm (xterm patch #279, 2012)
+#	titlestack in smcup/rmcup has no effect (xterm patch #251, 2009)
+#	does not support "dim" (xterm patch #305, 2014)
+# In tack
+#	rmkx/smkx has no effect on numeric keypad
+#	acs stuff has no effect, is included here for ease of comparison
+#
+# Unlike screen and tmux, mosh has only limited awareness of a terminal
+# description.  It assumes that the underlying terminal is xterm, and would
+# not work well with terminals using other key-definitions, such as urxvt.
+mosh|mobile shell,
+	U8#1,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|
+	    %t;7%;%?%p4%t;5%;%?%p7%t;8%;m,
+	sgr0=\E(B\E[m, use=ansi+enq, use=xterm+meta,
+	use=ecma+italics, use=ecma+index, use=xterm+acs,
+	use=xterm+focus, use=xterm+sm+1006, use=xterm+pcfkeys,
+	use=xterm-xfree86, use=bracketed+paste,
+
+mosh-256color|mosh using 256-colors,
+	use=xterm+256color, use=mosh,
+
+#### Dvtm
+
+# dvtwm 0.15
+# http://www.brain-dump.org/projects/dvtm/
+#
+# + This uses ncurses to manage the display, including support for italics and
+#   default-colors.
+# + However, default-colors are incomplete: do not set bce.
+# + It does not implement flash (since no \e[?5h)
+# + Do not set XT: dvtm knows about OSC 0 and 2, but not 1.
+#   Oddly enough, if $TERM contains "linux", it attempts to set the title.
+# + Some of the program is cut/paste from rxvt-unicode, e.g., the ACS table.
+# + The built-in table of function-keys (based on rxvt) is incomplete (ends
+#   with kf22).
+# + It also omits the shifted cursor- and editing-keypad keys.
+#   However, it is confused by xterm's shifted cursor- and editing-keypad keys
+#   (and passes those through without interpretation)
+#   and may simply pass-through rxvt's, making it appear to work.
+#   In other cases such as kf23 and up, no pass-through is done.
+# + Most of the mode-settings in the initialization/reset strings are not
+#   implemented; dvtm copies its description from rxvt.
+dvtm|dynamic virtual terminal manager,
+	eo, mir, xenl,
+	ncv@,
+	blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, el1=\E[1K,
+	hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ich1=\E[@,
+	is1=\E[?47l\E=\E[?1l,
+	is2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l,
+	kDC=\E[3$, kEND=\E[8$, kHOM=\E[7$, kIC=\E[2$, kLFT=\E[d,
+	kNXT=\E[6$, kPRV=\E[5$, kRIT=\E[c, ka1=\EOw, ka3=\EOy,
+	kb2=\EOu, kbs=^?, kc1=\EOq, kc3=\EOs, kcbt=\E[Z, kel=\E[8\^,
+	kend=\E[8~, kent=\EOM, kf0=\E[21~, kf1=\E[11~, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf2=\E[12~, kf20=\E[34~, kf21=\E[23$,
+	kf22=\E[24$, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[7~, kind=\E[a, kmous=\E[M, kri=\E[b, rev=\E[7m,
+	ri=\EM, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+	rs1=\E>\E[1;3;4;5;6l\E[?7h\E[m\E[r\E[2J\E[H,
+	rs2=\E[r\E[m\E[2J\E[H\E[?7h\E[?1;3;4;6l\E[4l\E>\E[?1000l\E[?
+	    25h,
+	s0ds=\E(B, s1ds=\E(0,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5%;m%?
+	    %p9%t\016%e\017%;,
+	sgr0=\E[m\017, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+	vpa=\E[%i%p1%dd, use=ansi+arrows, use=ansi+csr,
+	use=ansi+idl, use=ansi+local, use=xterm+alt47,
+	use=vt220+vtedit, use=vt220+cvis, use=ecma+color,
+	use=ecma+italics, use=vt100+4bsd,
+
+dvtm-256color|dynamic virtual terminal manager with 256 colors,
+	colors#0x100, pairs#0x10000,
+	setab=\E[%?%p1%{8}%<%t4%p1%d%e%p1%{16}%<%t10%p1%{8}%-%d%e48;
+	      5;%p1%d%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%d%e%p1%{16}%<%t9%p1%{8}%-%d%e38;5
+	      ;%p1%d%;m,
+	use=dvtm,
+
+#### NCSA Telnet
+
+# Francesco Potorti <F.Potorti@cnuce.cnr.it>:
+# NCSA telnet is one of the most used telnet clients for the Macintosh.  It has
+# been maintained until recently by the National Center for Supercomputer
+# Applications, and it is feature rich, stable and free.  It can be downloaded
+# from www.ncsa.edu.  This terminfo description file is based on xterm-vt220,
+# xterm+sl, and the docs at NCSA.  It works well.
+#
+# NCSA Telnet 2.6 for Macintosh in VT220 8-bit emulation mode
+# The terminal options should be set as follows:
+#         Xterm sequences ON
+#         use VT wrap mode ON
+#         use Emacs arrow keys OFF
+#         CTRL-COMND is Emacs meta ON
+#         8 bit mode ON
+#         answerback string: "ncsa-vt220-8"
+#         setup keys: all disabled
+#
+# Application mode is not used.
+#
+# Other special mappings:
+#	Apple		VT220
+#	HELP		Find
+#	HOME		Insert here
+#	PAGEUP		Remove
+#	DEL		Select
+#	END		Prev Screen
+#	PAGEDOWN	Next Screen
+#
+# Though it supports ANSI color, NCSA Telnet uses color to represent blinking
+# text.
+#
+# The status-line manipulation is a mapping of the xterm-compatible control
+# sequences for setting the window-title.  So you must use tsl and fsl in
+# pairs, since the latter ends the string that is loaded to the window-title.
+ncsa-m|ncsa-vt220-8|NCSA Telnet 2.6 for Macintosh in VT220-8 mode,
+	am, km, mir, msgr, xenl,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
+	cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP,
+	dch1=\E[P, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+	flash=\E[?5h$<100/>\E[?5l, home=\E[H, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, if=/usr/share/tabset/vt100,
+	ind=\n$<150*>,
+	is2=\E7\E[r\E[m\E[?7h\E[?1;4;6l\E[4l\E8\E>,
+	kdch1=\E[4~, kend=\E[5~, kf1=\E[17~, kf10=\E[28~,
+	kf11=\E[29~, kf12=\E[31~, kf13=\E[32~, kf14=\E[33~,
+	kf15=\E[34~, kf2=\E[18, kf3=\E[19~, kf4=\E[20~, kf5=\E[21~,
+	kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, kf9=\E[26~, khlp=\E[1~,
+	khome=\E[2~, knp=\E[6~, kpp=\E[3~, mc4=\E[4i, mc5=\E[5i,
+	rev=\E[7m, rf=/usr/share/tabset/vt100, ri=\EM,
+	rmam=\E[?7l, rmcup=\E[2J\E8, rmir=\E[4l, rmso=\E[27m,
+	rmul=\E[24m,
+	rs2=\E7\E[r\E8\E[m\E[?7h\E[?1;4;6l\E[4l\E>,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%t;7%;m%?
+	    %p9%t\E(0%e\E(B%;,
+	sgr0=\E[m\E(B, smam=\E[?7h, smcup=\E7, smir=\E[4h,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g, u8=\E[?62;1;6c,
+	use=ansi+arrows, use=ansi+csr, use=ansi+idl,
+	use=ansi+local, use=vt220+cvis, use=xterm+acs,
+	use=xterm+sl, use=ansi+enq,
+
+ncsa|NCSA Telnet 2.7 for Macintosh in VT220-8 mode (color),
+	use=ncsa-m, use=klone+color,
+ncsa-ns|NCSA Telnet 2.7 for Macintosh in VT220-8 mode (color w/o status line),
+	hs@,
+	dsl@, fsl@, tsl@, use=ncsa,
+ncsa-m-ns|NCSA Telnet 2.6 for Macintosh in VT220-8 mode (no status line),
+	hs@,
+	dsl@, fsl@, tsl@, use=ncsa-m,
+# alternate -TD:
+# The documented function-key mapping refers to the Apple Extended Keyboard
+# (e.g., NCSA Telnet's F1 corresponds to a VT220 F6).  We use the VT220-style
+# codes, however, since the numeric keypad (VT100) PF1-PF4 are available on
+# some keyboards and many applications require these as F1-F4.
+#
+ncsa-vt220|NCSA Telnet using VT220-compatible function keys,
+	kf1=\EOP, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\EOQ,
+	kf20=\E[34~, kf3=\EOR, kf4=\EOS, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, use=ncsa,
+
+#### Pilot Pro Palm-Top
+#
+# Termcap for Top Gun Telnet and SSH on the Palm Pilot.
+# https://web.archive.org/web/20051103015726/http://www.ai/~iang/TGssh/
+pilot|tgtelnet|Top Gun Telnet on the Palm Pilot Professional,
+	OTbs, am, xenl,
+	cols#39, lines#16,
+	bel=^G, clear=\Ec, cr=\r, cub1=^H, cud1=\n,
+	cup=\Em%p1%{32}%+%c%p2%{32}%+%c, home=\Em\s\s, ht=^I,
+	ind=\n, kbs=^H, kcub1=^H, kcud1=\n, knp=^L, kpp=^K, nel=\Em~\s,
+	rmso=\EB, smso=\Eb,
+
+# From: Federico Bianchi <bianchi@www.arte.unipi.it>
+# These entries are for the Embeddable Linux Kernel System (ELKS)
+# project - an heavily stripped down Linux to be run on 16 bit
+# boxes or, eventually, to be used in embedded systems - and have been
+# adapted from the stock ELKS termcap. The project itself looks stalled,
+# and the latest improvements I know of date back to March 2000.
+#
+# To cope with the ELKS dumb console I added an "elks-glasstty" entry;
+# as an added bonus, this deals with all the capabilities common to
+# both VT52 and ANSI (or, eventually, "special") modes.
+
+elks-glasstty|ELKS glass-TTY capabilities,
+	OTbs, am,
+	cols#80, it#8, lines#25,
+	bel=^G, cr=\r, ht=^I, ind=\n, kbs=^H, kcub1=^H, kcud1=\n,
+	nel=\r\n,
+
+elks-vt52|ELKS VT52 console,
+	clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, el=\EK,
+	home=\EH, use=elks-glasstty,
+
+elks-ansi|ELKS ANSI console,
+	clear=\E[H\E[2J, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	el=\E[K, home=\E[H, use=ansi+local1, use=ansi+sgrso,
+	use=elks-glasstty,
+
+# As a matter of fact, ELKS 0.0.83 on PCs defaults to ANSI emulation
+# instead of VT52, but the "elks" entry still refers to the latter.
+
+elks|default ELKS console,
+	use=elks-vt52,
+
+# Project SIBO (for Psion 3 palmtops) console is identical to the ELKS
+# one but in screen size
+
+sibo|ELKS SIBO console,
+	cols#61, it#8, lines#20, use=elks-vt52,
+
+######## COMMERCIAL WORKSTATION CONSOLES
+#
+
+#### Alpha consoles
+#
+
+# This is from the OSF/1 Release 1.0 termcap file
+pccons|pcconsole|ANSI (mostly) Alpha PC console terminal emulation,
+	am, xon,
+	cols#80, lines#25,
+	bel=^G, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, nel=\r\n,
+	rev=\E[7m, rmso=\E[m, sgr0=\E[m, smso=\E[7m,
+	use=ansi+arrows,
+
+#### Sun consoles
+#
+
+# :is1: resets scrolling region in case a previous user had used "tset VT100"
+oldsun|Sun Microsystems Workstation console,
+	OTbs, am, km, mir, msgr,
+	cols#80, it#8, lines#34,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+	dch=\E[%p1%dP, dch1=\E[P, ed=\E[J, el=\E[K, ht=^I,
+	ich=\E[%p1%d@, ich1=\E[@, ind=\n, is1=\E[1r, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, khome=\E[H, rmso=\E[m, sgr0=\E[m,
+	smso=\E[7m, use=ansi+idl, use=ansi+local1,
+
+# From: Alexander Lukyanov <lav@video.yars.free.net>, 14 Nov 1995
+# <lines> capability later corrected by J.T. Conklin <jtc@cygnus.com>
+# SGR 1, 4 aren't supported - removed bold/underline (T.Dickey 17 Jan 1998)
+sun-il|Sun Microsystems console with working insert-line,
+	am, km, msgr,
+	cols#80, lines#34,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch=\E[%p1%dP,
+	dch1=\E[P, ed=\E[J, el=\E[K, ht=^I, ich=\E[%p1%d@, ich1=\E[@,
+	ind=\n, kb2=\E[218z, kdch1=^?, kend=\E[220z, kf1=\E[224z,
+	kf10=\E[233z, kf11=\E[234z, kf12=\E[235z, kf2=\E[225z,
+	kf3=\E[226z, kf4=\E[227z, kf5=\E[228z, kf6=\E[229z,
+	kf7=\E[230z, kf8=\E[231z, kf9=\E[232z, khome=\E[214z,
+	kich1=\E[247z, knp=\E[222z, kopt=\E[194z, kpp=\E[216z,
+	kres=\E[193z, kund=\E[195z, rev=\E[7m, rmso=\E[m, rmul@,
+	rs2=\E[s, sgr=\E[0%?%p1%p3%|%t;7%;m, sgr0=\E[m,
+	smso=\E[7m, u8=\E[1t, u9=\E[11t, use=ansi+arrows,
+	use=ansi+idl,
+
+# On some versions of CGSIX framebuffer firmware (SparcStation 5), <il1>/<il>
+# flake out on the last line.  Unfortunately, without them the terminal has no
+# way to scroll.
+sun-cgsix|sun-ss5|Sun SparcStation 5 console,
+	il@, il1@, use=sun-il,
+
+# The Sun console was documented in the wscons manual page (apparently
+# unrelated to the "wscons" used by some of the BSDs).
+#
+#    https://illumos.org/man/4D/wscons
+#    https://www.bitsavers.org/pdf/sun/sun1/800-0345_Sun-1_System_Reference_Manual_Jul82.pdf
+#
+# The early cmdtool and shelltool programs in Sun's NeWS were based on this.
+# After NeWS was discontinued, XView provided a similar shelltool, with an
+# incomplete manual page.  Presumably the intent was to document features of
+# shelltool not in wscons:
+#
+#    https://manpages.ubuntu.com/manpages/bionic/en/man1/shelltool.1.html
+#    https://manpages.ubuntu.com/manpages/bionic/en/man1/cmdtool.1.html
+#
+# The wscons manual page and the XView source show that it had no feature that
+# could be used in ncurses u6/u7/u8/u9 extensions.  Interesting, the XView
+# source shows that its shelltool could tell the host what a particular mode
+# was set to.  But neither that nor its CSI..t controls support u6/u7/u8/u9.
+#
+# If you are using an SS5, change the sun definition to use sun-ss5.
+sun|sun1|sun2|Sun Microsystems Inc. workstation console,
+	use=sun-il,
+
+sun+sl|Sun Workstation window status line,
+	hs,
+	dsl=\E]l\E\\, fsl=\E\\, tsl=\E]l,
+
+# From: <john@ucbrenoir>  Tue Sep 24 13:14:44 1985
+sun-s|Sun Microsystems Workstation window with status line,
+	use=sun+sl, use=sun,
+sun-e-s|sun-s-e|Sun Microsystems Workstation with status hacked for emacs,
+	use=sun+sl, use=sun-e,
+sun-48|Sun 48-line window,
+	cols#80, lines#48, use=sun,
+sun-34|Sun 34-line window,
+	use=sun,
+sun-24|Sun 24-line window,
+	cols#80, lines#24, use=sun,
+sun-17|Sun 17-line window,
+	cols#80, lines#17, use=sun,
+sun-12|Sun 12-line window,
+	cols#80, lines#12, use=sun,
+sun-1|Sun 1-line window for sysline,
+	eslok, hs,
+	cols#80, lines#1,
+	dsl=^L, fsl=\E[K, tsl=\r, use=sun,
+sun-e|sun-nic|sune|Sun Microsystems Workstation without insert character,
+	ich1@, rmir@, smir@, use=sun,
+sun-c|sun-cmd|Sun Microsystems Workstation console with scrollable history,
+	lines#35,
+	rmcup=\E[>4h, smcup=\E[>4l, use=sun,
+sun-type4|Sun Workstation console with type 4 keyboard,
+	kcub1=\E[217z, kcud1=\E[221z, kcuf1=\E[219z,
+	kcuu1=\E[215z, use=sun-il,
+
+# Most of the current references to sun-color are from users wondering why this
+# is the default on install.  Details from reading the wscons manpage, adding
+# cub, etc., here (rather than in the base sun-il entry) since it is not clear
+# when those were added -TD (2005-05-28)
+#
+# According to wscons manpage, color is supported only on IA systems.
+# Sun's terminfo entry documents bold and smul/rmul capabilities, but wscons
+# does not list these.  It also sets ncv#3, however that corresponds to
+# underline and standout.
+#
+# Since the documentation and terminfo do not agree, see also current code at
+# https://web.archive.org/web/20091231042744/http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/io/tem_safe.c
+#
+# That (actually a different driver which "supports" sun-color) also supports
+# these features:
+#	vpa=\E[%i%p1%dd
+#	hpa=\E[%i%p1%d`
+#	cbt=\E[Z
+#	dim=\E[2m
+#	blink=\E[5m
+# It supports bold, but not underline -TD (2009-09-19)
+sun-color|Sun Microsystems Workstation console with color support (IA systems),
+	bold=\E[1m, cub1=^H, cud1=\n, home=\E[H, op=\E[0m,
+	setb=\E[4%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	setf=\E[3%?%p1%{1}%=%t4%e%p1%{3}%=%t6%e%p1%{4}%=%t1%e%p1%{6}
+	     %=%t3%e%p1%d%;m,
+	sgr=\E[0%?%p6%t;1%;%?%p1%p3%|%t;7%;m, use=ansi+local,
+	use=sun, use=klone+color,
+
+#### Iris consoles
+#
+
+# (wsiris: this had extension capabilities
+#	:HS=\E7F2:HE=\E7F7:\
+#	:CT#2:CZ=*Bblack,red,green,yellow,blue,magenta,cyan,*Fwhite:
+# See the note on Iris extensions near the end of this file.
+# Finally, removed suboptimal <clear>=\EH\EJ and added <cud1> &
+# <flash> from BRL -- esr)
+wsiris|iris40|IRIS emulating a 40 line Visual 50 (approximately),
+	OTbs, OTnc, OTpt, am,
+	OTkn#3, cols#80, it#8, lines#40,
+	OTnl=\EB, bel=^G, clear=\Ev, cnorm=\E>, cub1=^H, cud1=\EB,
+	cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
+	cvvis=\E;, dim=\E7F2, dl1=\EM, ed=\EJ, el=\EK,
+	flash=\E7F4\E7B1\013\E7F7\E7B0, home=\EH, ht=^I, il1=\EL,
+	ind=\n, is2=\E7B0\E7F7\E7C2\E7R3, kf0=\E0, kf1=\E1,
+	kf2=\E2, kf3=\E3, kf4=\E4, kf5=\E5, kf6=\E6, kf7=\E7, kf8=\E8,
+	kf9=\E9, ri=\EI, rmso=\E0@, rmul=\E7R3\E0@, sgr0=\E7F7,
+	smso=\E9P, smul=\E7R2\E9P, use=vt52+arrows,
+
+#### NeWS consoles
+#
+# Console terminal windows under the NeWS (Sun's Display Postscript windowing
+# environment).   Note: these have nothing to do with Sony's News workstation
+# line.
+#
+
+# Entry for NeWS's psterm from Eric Messick & Hugh Daniel
+# (psterm: unknown ":sl=\EOl:el=\ENl:" removed -- esr)
+psterm|psterm-basic|NeWS psterm-80x34,
+	OTbs, am, hs, km, ul,
+	cols#80, it#8, lines#34,
+	blink=\EOb, bold=\EOd, clear=^L, csr=\EE%p1%d;%p2%d;,
+	cub1=\ET, cud1=\EP, cuf1=\EV, cup=\E%p1%d;%p2%d;, cuu1=\EY,
+	dch1=\EF, dl1=\EK, ed=\EB, el=\EC, flash=\EZ, fsl=\ENl,
+	home=\ER, ht=^I, il1=\EA, ind=\EW, is1=\EN*, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, ll=\EU, rc=^\, rev=\EOr,
+	ri=\EX, rmcup=\ENt, rmir=\ENi, rmso=\ENo, rmul=\ENu, sc=^],
+	sgr0=\EN*, smcup=\EOt, smir=\EOi, smso=\EOo, smul=\EOu,
+	tsl=\EOl,
+psterm-96x48|NeWS psterm 96x48,
+	cols#96, lines#48, use=psterm,
+psterm-90x28|NeWS psterm 90x28,
+	cols#90, lines#28, use=psterm,
+psterm-80x24|NeWS psterm 80x24,
+	cols#80, lines#24, use=psterm,
+# This is a faster termcap for psterm.  Warning:  if you use this termcap,
+# some control characters you type will do strange things to the screen.
+# (psterm-fast: unknown ":sl=^Ol:el=^Nl:" -- esr)
+psterm-fast|NeWS psterm fast version (flaky ctrl chars),
+	OTbs, am, hs, km, ul,
+	cols#80, it#8, lines#34,
+	blink=^Ob, bold=^Od, clear=^L, csr=\005%p1%d;%p2%d;,
+	cub1=^T, cud1=^P, cuf1=^V, cup=\004%p1%d;%p2%d;, cuu1=^Y,
+	dch1=^F, dl1=^K, ed=^B, el=^C, flash=^Z, fsl=^Nl, home=^R, ht=^I,
+	il1=^A, ind=^W, is1=^N*, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, ll=^U, rc=^\, rev=^Or, ri=^X, rmcup=^Nt, rmir=^Ni,
+	rmso=^No, rmul=^Nu, sc=^], sgr0=^N*, smcup=^Ot, smir=^Oi,
+	smso=^Oo, smul=^Ou, tsl=^Ol,
+
+#### NeXT consoles
+#
+# Use `glasstty' for the Workspace application
+#
+
+# From: Dave Wetzel <dave@turbocat.snafu.de> 22 Dec 1995
+next|NeXT console,
+	am, xt,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H,
+	ht=^I, ind=\n, kbs=^H, kcub1=^H, kcud1=\n, nel=\r\n,
+	rmso=\E[4;1m, sgr0=\E[m, smso=\E[4;2m,
+nextshell|NeXT Shell application,
+	am,
+	cols#80,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, ht=^I, kbs=^H, kcub1=^H,
+	kcud1=\n, nel=\r\n,
+
+#### Sony NEWS workstations
+#
+
+# (news-unk: this had :KB=news: -- esr)
+news-unk|Sony NEWS VT100 emulator common entry,
+	OTbs, OTpt, am, xenl,
+	cols#80,
+	OTnl=\n, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J,
+	cr=\r, cub1=^H, cud1=\n, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[A, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	if=/usr/share/tabset/vt100,
+	is2=\E[?7h\E[?1h\E[?3l\E7\E8, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOY, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
+	kf8=\EOW, kf9=\EOX, rev=\E[7m, ri=\EM, rmkx=\E[?1l\E>,
+	rmso=\E[m, rmul=\E[m,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[r, sgr0=\E[m,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, use=ansi+csr,
+	use=ansi+idl,
+#
+# (news-29: this had :TY=ascii: --esr)
+news-29|Sony NEWS VT100 emulator with 29 lines,
+	lines#29, use=news-unk,
+# (news-29-euc: this had :TY=euc: --esr)
+news-29-euc|Sony NEWS VT100 emulator with 29 lines and EUC,
+	use=news-29,
+# (news-29-sjis: this had :TY=sjis: --esr)
+news-29-sjis|Sony NEWS VT100 emulator with 29 lines and SJIS,
+	use=news-29,
+#
+# (news-33: this had :TY=ascii: --esr)
+news-33|Sony NEWS VT100 with 33 lines,
+	lines#33, use=news-unk,
+# (news-33-euc: this had :TY=euc: --esr)
+news-33-euc|Sony NEWS VT100 with 33 lines and EUC,
+	use=news-33,
+# (news-33-sjis: this had :TY=sjis: --esr)
+news-33-sjis|Sony NEWS VT100 with 33 lines and SJIS,
+	use=news-33,
+#
+# (news-42: this had :TY=ascii: --esr)
+news-42|Sony NEWS VT100 with 42 lines,
+	lines#42, use=news-unk,
+# (news-42-euc: this had :TY=euc: --esr)
+news-42-euc|Sony NEWS VT100 with 42 lines and EUC,
+	use=news-42,
+# (news-42-sjis: this had :TY=sjis: --esr)
+news-42-sjis|Sony NEWS VT100 with 42 lines and SJIS,
+	use=news-42,
+#
+#	NEWS-OS old termcap entry
+#
+# (news-old-unk: this had :KB=news:TY=sjis: --esr)
+news-old-unk|old Sony NEWS VT100 emulator common entry,
+	OTbs, OTpt, am, xenl,
+	cols#80, vt#3,
+	OTnl=\n, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J,
+	cr=\r, cub1=^H, cud1=\n, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[A, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	if=/usr/share/tabset/vt100, kbs=^H, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, rev=\E[7m, ri=\EM, rmkx=\E[?1l\E>,
+	rmso=\E[m, rmul=\E[m,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr0=\E[m,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, use=ansi+csr,
+#
+# (nwp512: this had :DE=^H:, which I think means <OTbs> --esr)
+nwp512|news|nwp514|news40|vt100-bm|nwp512-o|nwp514-o|news-o|news40-o|vt100-bm-o|old Sony VT100 emulator 40 lines,
+	OTbs,
+	lines#40,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;40
+	    r\E8,
+	use=news-old-unk,
+#
+# (nwp512-a: this had :TY=ascii: and the alias vt100-bm --esr)
+nwp512-a|nwp514-a|news-a|news42|news40-a|old Sony VT100 emulator 42 line,
+	lines#42,
+	is2=\E[?7h\E[?1l\E[?3l\E7\E[1;42r\E8,
+	use=news-old-unk,
+#
+# (nwp513: this had :DE=^H: and the alias vt100-bm --esr)
+nwp513|nwp518|nwe501|newscbm|news31|nwp513-o|nwp518-o|nwe501-o|nwp251-o|newscbm-o|news31-o|old Sony VT100 emulator 31 lines,
+	OTbs,
+	lines#31,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;31
+	    r\E8,
+	use=news-old-unk,
+#
+# (nwp513-a: this had :TY=ascii: and :DE=^H:, which I interpret as <OTbs>; --esr)
+# also the alias vt100-bm.
+nwp513-a|nwp518-a|nwe501-a|nwp251-a|newscbm-a|news31-a|newscbm33|news33|old Sony VT100 emulator 33 lines,
+	OTbs,
+	lines#33,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;33
+	    r\E8,
+	use=news-old-unk,
+#
+# (news28: this had :DE=^H:, I think that's <OTbs>, and :KB=nws1200: --esr)
+news28|old Sony VT100 emulator 28 lines,
+	OTbs,
+	lines#28,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;28
+	    r\E8,
+	use=news-old-unk,
+#
+# (news29: this had :TY=ascii:KB=nws1200:\ --esr)
+news29|news28-a|old Sony VT100 emulator 29 lines,
+	lines#29,
+	is2=\E7\E[r\E8\EE\EE\EE\EM\EM\EM\E[?7h\E[?1l\E[?3l\E7\E[1;29
+	    r\E8,
+	use=news-old-unk,
+#
+# (news511: this had :TY=sjis: --esr)
+nwp511|nwp-511|nwp-511 VT100,
+	OTbs, OTpt, am, xenl,
+	cols#80, lines#24,
+	clear=\E[;H\E[2J$<20/>, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[A$<2/>, dl1=\E[M, ed=\E[J$<30/>, el=\E[K$<3/>,
+	flash=\E[?5h\0\0\0\0\0\0\0\0\0\0\0\0\0\E[?5l,
+	il1=\E[L, is2=\E[?5l\E[?1l\E>\E[?7h\E[?8h, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\E#W, khome=\E[H,
+	ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>,
+	rs2=\E7\E[r\E8\E[?5l\E[?1l\E>\E[?7h\E[?8h,
+	smso=\E[7m$<2/>, smul=\E[4m$<2/>, use=ansi+local1,
+# (news517: this had :TY=sjis:. --esr)
+nwp517|nwp-517|nwp-517 VT200 80 cols 30 rows,
+	cols#80, lines#30,
+	OTi2=\E[2$~\n, dsl=\E[1$~,
+	is2=\E7\E[r\E8\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	tsl=\E[1$}\E[;%df, use=dec+sl, use=vt220-base,
+# (news517-w: this had :TY=sjis:. --esr)
+nwp517-w|nwp-517-w|nwp-517 VT200 132 cols 50 rows,
+	eslok, hs,
+	cols#132, lines#50,
+	OTi2=\E[2$~\n, dsl=\E[1$~, fsl=\E[0$},
+	is2=\E7\E[r\E8\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h,
+	tsl=\E[1$}\E[;%df, use=vt220-base,
+
+#### Common Desktop Environment
+#
+
+# This ships with Sun's CDE in Solaris 2.5
+# Corrected Sun Aug 9 1998 by Alexander V. Lukyanov <lav@video.yars.free.net>
+dtterm|CDE desktop terminal,
+	am, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, lm#0, ncv@,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[2m, ech=\E[%p1%dX, el1=\E[1K, enacs=\E(B\E)0,
+	flash=\E[?5h$<200>\E[?5l, home=\E[H, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, ind=\ED, is2=\E F\E>\E[?1l\E[?7h\E[?45l,
+	kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\E[11~, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[12~,
+	kf20=\E[34~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khlp=\E[28~, nel=\EE, ri=\EM, rmacs=^O, rmam=\E[?7l,
+	rmir=\E[4l, rmso=\E[22;27m, rmul=\E[24m,
+	sgr=\E[0%?%p1%t;2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+	    %t;2%;%?%p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smso=\E[2;7m, smul=\E[4m, tbc=\E[3g, use=ansi+csr,
+	use=ansi+erase, use=ansi+idl, use=ansi+local,
+	use=ansi+sgr, use=decid+cpr, use=vt220+vtedit,
+	use=vt220+cvis, use=ecma+color,
+
+######## Non-Unix Consoles
+#
+
+#### EMX termcap.dat compatibility modes
+#
+# Also (possibly only EMX, so we don't put it in ansi.sys, etc): set the
+# no_color_video to inform the application that standout(1), underline(2)
+# reverse(4) and invisible(64) don't work with color.
+emx-base|DOS special keys,
+	bce, bw,
+	it#8, ncv#71,
+	bel=^G, use=ansi.sys,
+
+# Except for the "-emx" suffixes, these are as distributed with EMX 0.9b,
+# a Unix-style environment used on OS/2.  (Note that the suffix makes some
+# names longer than 14 characters, the nominal maximum).
+#
+# Removed: rmacs=\E[10m, smacs=\E[11m, because OS/2 does not implement acs.
+ansi-emx|ANSI.SYS color,
+	eo,
+	clear=\E[1;33;44m\E[H\E[J, cr=\r, cud1=\n, dch=\E[%p1%dp,
+	ed=\E[J, flash=\E[?5h$<100/>\E[?5l, ht=^I, hts=\EH,
+	ich=\E[%p1%d@, ich1=\E[@, ind=\n, kb2=\E[G, kf0=\0D, kll=\0O,
+	kspd=^Z, nel=\r\n, rev=\E[5;37;41m, rmir=\E[4l,
+	rmso=\E[0;44m\E[1;33m, rmul=\E[0;44m\E[1;33m, rs1=\Ec,
+	sgr0=\E[0m\E[1;33;44m, smir=\E[4h, smso=\E[0;31;47m,
+	smul=\E[1;31;44m, tbc=\E[3g, u8=\E[?6c, u9=\E[c,
+	use=vt220+cvis, use=emx-base,
+# nice colors for Emacs (white on blue, mode line white on cyan)
+ansi-color-2-emx|ANSI.SYS color 2,
+	clear=\E[0;37;44m\E[H\E[J, rev=\E[1;37;46m,
+	rmso=\E[0;37;44m, rmul=\E[0;37;44m, sgr0=\E[0;37;44m,
+	smso=\E[1;37;46m, smul=\E[1;36;44m, use=ansi-emx,
+# nice colors for Emacs (white on black, mode line black on cyan)
+ansi-color-3-emx|ANSI.SYS color 3,
+	clear=\E[0;37;40m\E[H\E[J, rev=\E[1;37;46m,
+	rmso=\E[0;37;40m, rmul=\E[0;37;40m, sgr0=\E[0;10m,
+	smso=\E[1;37;46m, smul=\E[0;36;40m, use=ansi-emx,
+mono-emx|stupid monochrome ANSI terminal with only one kind of emphasis,
+	am,
+	cols#80, it#8, lines#24,
+	clear=\E[H\E[2J$<50>, cup=\E[%i%p1%d;%p2%dH, el=\E[K,
+	home=\E[H, ht=^I, kb2=\E[G, kbs=^H, kcub1=\0K, kcud1=\0P,
+	kcuf1=\0M, kcuu1=\0H, kf0=\0D, kf1=\0;, kf2=\0<, kf3=\0=,
+	kf4=\0>, kf5=\0?, kf6=\0@, kf7=\0A, kf8=\0B, kf9=\0C,
+	khome=\0G, kich1=\0R, kll=\0O, knp=\0Q, kpp=\0I, nel=\r\n,
+	rev=\E[7m, sgr0=\E[0m, use=ansi+local1,
+
+#### Cygwin
+
+# Use this for cygwin32 (tested with beta 19.1)
+# underline is colored bright magenta
+# shifted kf1-kf12 are kf11-kf22
+cygwinB19|ANSI emulation for cygwin32,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\E[[A,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf2=\E[[B, kf20=\E[34~,
+	kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, rmam@, smam@, use=vt220+pcedit,
+	use=ansi.sys,
+
+# Use this for cygwin (tested with version 1.1.0).
+# I've combined pcansi and linux.  Some values of course were different and
+# I've indicated which of these were and which I used.
+# Cheers, earnie_boyd@yahoo.com
+# several changes based on running with tack and comparing with older entry -TD
+# more changes from csw:
+#   add    cbt   [backtab]
+#   remove eo    [erase overstrike with blank]
+#   change clear was \E[H\E[J  now \E[2J  (faster?)
+#   remove cols
+#   remove lines
+#   remove ncv#3 [colors collide with highlights, bitmask] not applicable
+#                to MSDOS box?
+#   add    cub   [cursor back param]
+#   add    cuf   [cursor forward param]
+#   add    cuu   [cursor up param]
+#   add    cud   [cursor down param]
+#   add    hs    [has status line]
+#   add    fsl   [return from status line]
+#   add    tsl   [go to status line]
+#   add    smacs [Start alt charset] (not sure if this works)
+#   add    rmacs [End alt charset]   (ditto)
+#   add    smcup [enter_ca_mode] (save console; thanks Corinna)
+#   add    rmcup [exit_ca_mode]  (restore console; thanks Corinna)
+#   add    kb2   [center of keypad]
+#   add    u8    [user string 8] \E[?6c
+#   add    el    [clear to end of line] \E[K
+# Notes:
+#   cnorm [make cursor normal] not implemented
+#   flash [flash] not implemented
+#   blink [blink] not implemented very usefully in cygwin? \E[5m
+#   dim   [dim] not implemented very usefully in cygwin? \E[2m
+#   cub1  [cursor back 1] typically \E[D, but ^H is faster?
+#   kNXT  [shifted next key] not implemented
+#   kPRV  [shifted prev key] not implemented
+#   khome [home key] really is \E[1~ NOT \E[H
+#   tbc   [clear tab stops] not implemented
+#   xenl  [newline ignored after 80 cols] messes up last line? Ehud Karni
+#   smpch [Start PC charset] is \E[11m, same as smacs
+#   rmpch [End PC charset] is \E[10m, same as rmacs
+#   mir   [move in insert mode] fails in tack?
+#   bce   [back color erase] causes problems with change background color?
+#   cvvis [make cursor very visible] causes a stackdump when testing with
+#         testcurs using the output option? \E[?25h\E[?8c
+#   civis [make cursor invisible] causes everything to stackdump? \E[?25l\E[?1c
+#   ech   [erase characters param] broken \E[%p1%dX
+#   kcbt  [back-tab key] not implemented in cygwin?  \E[Z
+#
+# 2005/11/12 -TD
+#	Remove cbt since it does not work in current cygwin
+#	Add 'mir' and 'in' flags based on tack
+cygwin|ANSI emulation for Cygwin,
+	am, hs, mir, msgr, xon,
+	colors#8, it#8, pairs#64,
+	bel=^G, bold=\E[1m, cr=\r, cub=\E[%p1%dD, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, el1=\E[1K, fsl=^G, home=\E[H, ht=^I,
+	ind=\n, invis=\E[8m, kb2=\E[G, kf1=\E[[A, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D,
+	kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kspd=^Z, nel=\r\n, op=\E[39;49m, rc=\E8,
+	rev=\E[7m, ri=\EM, rmpch=\E[10m, rmso=\E[27m, rmul=\E[24m,
+	rs1=\Ec\E]R, sc=\E7, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7
+	    %t;8%;%?%p9%t;11%;m,
+	sgr0=\E[0;10m, smpch=\E[11m, smso=\E[7m, smul=\E[4m,
+	tsl=\E];, use=ansi+arrows, use=ansi+erase, use=ansi+idc,
+	use=ansi+idl, use=ansi+local, use=ansi+rca2,
+	use=vt220+pcedit, use=vt102+enq, use=klone+acs,
+	use=xterm+alt47,
+
+# I've supplied this so that you can help test new values and add other
+# features.  Cheers, earnie_boyd@yahoo.com.
+#
+# Some features are from pcansi.  The op value is from linux.  Function-keys
+# are from linux.  These have been tested not to cause problems.  xenl was in
+# this list, but DOES cause problems so it has been removed
+cygwinDBG|Debug Version for Cygwin,
+	am, eo, mir, msgr, xon,
+	cols#80, lines#24, ncv#3,
+	bel=^G, cr=\r, cup=\E[%i%p1%d;%p2%dH, dim=\E[2m, el1=\E[1K,
+	flash=\E[?5h$<200/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+	ind=\n, kNXT=\E[6$, kPRV=\E[5$, kb2=\E[G, kcbt=\E[Z,
+	kf1=\E[[A, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[[B,
+	kf20=\E[34~, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[1~, kspd=^Z,
+	nel=\r\n, op=\E[39;49m, rc=\E8, ri=\EM, rs1=\Ec\E]R, sc=\E7,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5
+	    %t;2%;%?%p6%t;1%;%?%p7%t;8%;%?%p9%t;12%;m,
+	sgr0=\E[0;10m, vpa=\E[%i%p1%dd, use=ansi+arrows,
+	use=ansi+erase, use=ansi+idc, use=ansi+idl,
+	use=ansi+inittabs, use=ansi+local, use=ansi+sgrbold,
+	use=klone+acs, use=klone+color, use=vt220+pcedit,
+	use=vt220+cvis, use=vt102+enq,
+
+#### DJGPP
+
+# Key definitions:
+# The encodings for unshifted arrow keys, F1-F12, Home, Insert, etc.  match the
+# encodings used by other x86 environments.  All others are invented for DJGPP.
+# Oddly enough, while several combinations of modifiers are tabulated, there is
+# none for shifted cursor keys.
+#
+#	F1			\E[[A
+#	F2			\E[[B
+#	F3			\E[[C
+#	F4			\E[[D
+#	F5			\E[[E
+#	F6			\E[17~
+#	F7			\E[18~
+#	F8			\E[19~
+#	F9			\E[20~
+#	F10			\E[21~
+#	F11			\E[23~
+#	F12			\E[24~
+#
+#	Delete			\E[3~
+#	Down Arrow		\E[B
+#	End			\E[4~
+#	Home			\E[1~
+#	Insert			\E[2~
+#	Left Arrow		\E[D
+#	Page Down		\E[6~
+#	Page Up			\E[5~
+#	Right Arrow		\E[C
+#	Up Arrow		\E[A
+#
+#	Shift-F1		\E[25~
+#	Shift-F2		\E[26~
+#	Shift-F3		\E[27~
+#	Shift-F4		\E[28~
+#	Shift-F5		\E[29~
+#	Shift-F6		\E[30~
+#	Shift-F7		\E[31~
+#	Shift-F8		\E[32~
+#	Shift-F9		\E[33~
+#	Shift-F10		\E[34~
+#	Shift-F11		\E[35~
+#	Shift-F12		\E[36~
+#
+#	Ctrl-F1			\E[47~
+#	Ctrl-F2			\E[48~
+#	Ctrl-F3			\E[49~
+#	Ctrl-F4			\E[50~
+#	Ctrl-F5			\E[51~
+#	Ctrl-F6			\E[52~
+#	Ctrl-F7			\E[53~
+#	Ctrl-F8			\E[54~
+#	Ctrl-F9			\E[55~
+#	Ctrl-F10		\E[56~
+#	Ctrl-F11		\E[57~
+#	Ctrl-F12		\E[58~
+#
+#	Ctrl-Delete		\E[43~
+#	Ctrl-Down Arrow		\E[38~
+#	Ctrl-End		\E[44~
+#	Ctrl-Home		\E[41~
+#	Ctrl-Insert		\E[42~
+#	Ctrl-Left Arrow		\E[39~
+#	Ctrl-Page Down		\E[46~
+#	Ctrl-Page Up		\E[45~
+#	Ctrl-Right Arrow	\E[40~
+#	Ctrl-Up Arrow		\E[37~
+#
+#	Alt-F1			\E[59~
+#	Alt-F2			\E[60~
+#	Alt-F3			\E[61~
+#	Alt-F4			\E[62~
+#	Alt-F5			\E[63~
+#	Alt-F6			\E[64~
+#	Alt-F7			\E[65~
+#	Alt-F8			\E[66~
+#	Alt-F9			\E[67~
+#	Alt-F10			\E[68~
+#	Alt-F11			\E[79~
+#	Alt-F12			\E[80~
+#
+#	Alt-Delete		\E[65~
+#	Alt-Down Arrow		\E[60~
+#	Alt-End			\E[66~
+#	Alt-Home		\E[41~
+#	Alt-Insert		\E[64~
+#	Alt-Left Arrow		\E[61~
+#	Alt-Page Down		\E[68~
+#	Alt-Page Up		\E[67~
+#	Alt-Right Arrow		\E[62~
+#	Alt-Up Arrow		\E[59~
+#
+# Also:
+#	Alt-A			\E[82~
+#	Alt-B			\E[82~
+#	Alt-C			\E[83~
+#	Alt-D			\E[84~
+#	Alt-E			\E[85~
+#	Alt-F			\E[86~
+#	Alt-G			\E[87~
+#	Alt-H			\E[88~
+#	Alt-I			\E[89~
+#	Alt-J			\E[90~
+#	Alt-K			\E[91~
+#	Alt-L			\E[92~
+#	Alt-M			\E[93~
+#	Alt-N			\E[94~
+#	Alt-O			\E[95~
+#	Alt-P			\E[96~
+#	Alt-Q			\E[97~
+#	Alt-R			\E[98~
+#	Alt-S			\E[99~
+#	Alt-T			\E[100~
+#	Alt-U			\E[101~
+#	Alt-V			\E[102~
+#	Alt-W			\E[103~
+#	Alt-X			\E[104~
+#	Alt-Y			\E[105~
+#	Alt-Z			\E[106~
+djgpp|ANSI emulation for DJGPP alpha,
+	am, bce, msgr, xhp, xon, xt,
+	colors#8, it#8, pairs#64,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j
+	     \331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v
+	     \301w\302x\263y\363z\362{\343|\330}\234~\376,
+	bel=^G, bold=\E[1m, cbt=\E[Z, civis=\E[1v, cnorm=\E[v, cr=\r,
+	cub1=^H, cup=\E[%i%p1%d;%p2%dH, cvvis=\E[2v,
+	dch=\E[%p1%dP, dch1=\E[P, ech=\E[%p1%dX, el1=\E[1K,
+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, ich=\E[%p1%d@,
+	ich1=\E[@, ind=\E[S, kf1=\E[[A, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf2=\E[[B, kf3=\E[[C, kf4=\E[[D, kf5=\E[[E,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, nel=\r\n, op=\E[37;40m, ri=\E[T, rmso=\E[m,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%e;25%;%?
+	    %p6%t;1%;%?%p7%t;8%;m,
+	sgr0=\E[m, smso=\E[7m, smul=\E[4m, vpa=\E[%i%p1%dd,
+	use=ansi+arrows, use=ansi+erase, use=ansi+idl,
+	use=ansi+local, use=ansi+sgr, use=vt220+pcedit,
+	use=ecma+index,
+
+djgpp203|entry for DJGPP 2.03,
+	OTbs, am,
+	cols#80, it#8, lines#25,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, ht=^I, ind=\n, kbs=^H, kcub1=^H,
+	kcud1=\n, nel=\r\n,
+
+djgpp204|entry for DJGPP 2.04,
+	OTbs, am, AX,
+	colors#8, cols#80, it#8, lines#25, ncv#3, pairs#64,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, civis=\E[1v,
+	clear=\E[H\E[2J, cnorm=\E[v, cr=\r,
+	cup=\E[%i%p1%d;%p2%dH, cvvis=\E[2v, dch=\E[%p1%dP,
+	dch1=\E[P, ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	ich=\E[%p1%d@, ich1=\E[@, ind=\E[S, invis=\E[8m,
+	kf0=\E[21~, kf1=\E[[A, kf10=\E[21~, kf2=\E[[B, kf3=\E[[C,
+	kf4=\E[[D, kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+	kf9=\E[20~, khome=\E[1~, kll=\E[4~, nel=\r\n, rev=\E[7m,
+	ri=\E[T, rmso=\E[m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	sgr0=\E[m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+	use=ansi+idl, use=ansi+local, use=vt220+pcedit,
+	use=ecma+index,
+
+#### U/Win
+
+# This is tested using U/Win's telnet.  Scrolling is omitted because it is
+# buggy.  Another odd bug appears when displaying "~" in alternate character
+# set (the emulator spits out error messages).  Compare with att6386 -TD
+uwin|U/Win 3.2 console,
+	am, eo, in, msgr, xenl, xon,
+	it#8, ncv#58,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260i
+	     \316j\331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u
+	     \264v\301w\302x\263y\363z\362{\343|\330}\234~\376,
+	bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dim=\E[2m,
+	ech=\E[%p1%dX, el1=\E[1K, home=\E[H, ht=^I, hts=\EH,
+	kdch1=^?, kend=\E[Y, kf1=\EOP, kf10=\EOY, kf11=\EOZ,
+	kf12=\EOA, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU,
+	kf7=\EOV, kf8=\EOW, kf9=\EOX, kich1=\E[@, nel=\r\n,
+	op=\E[39;49m, rc=\E8, rev=\E[7m, rmacs=\E[10m,
+	rmpch=\E[10m, rmso=\E[27m, rmul=\E[m, rs1=\Ec\E]R, sc=\E7,
+	sgr0=\E[0;10m, smacs=\E[11m, smpch=\E[11m, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, use=ansi+arrows, use=ansi+cpr,
+	use=ansi+erase, use=ansi+idc, use=klone+color,
+	use=vt220+cvis,
+
+#### Microsoft (miscellaneous)
+
+# This entry fits the Windows NT console when the _POSIX_TERM environment
+# variable is set to 'on'.  While the Windows NT POSIX console is seldom used,
+# the Telnet client supplied with both the Windows for WorkGroup 3.11 TCP/IP
+# stack and the Win32 (i.e., Windows 95 and Windows NT 3.1 or later) operating
+# systems is not, and (surprise!) they match very well.
+#
+# See:  MS Knowledge Base item Q108581, dated 13-MAY-1997, titled "Setting Up
+# VI POSIX Editor for Windows NT 3.1".  True to Microsoft form, not only
+# are the installation instructions a pile of mind-numbing bureaucratese,
+# but the termcap entry is actually broken and unusable as given; the :do:
+# capability is misspelled "d".
+#
+# To use this, you need to a bunch of environment variables:
+#
+# SET _POSIX_TERM=on
+# SET TERM=ansi
+# SET TERMCAP=location of termcap file in POSIX file format
+# which is case-sensitive.
+# e.g. SET TERMCAP=//D/RESKIT35/posix/termcap
+# SET TMP=//C/TEMP
+#
+# Important note: setting the TMP environment variable in POSIX style renders
+# it incompatible with a lot of other applications, including Visual C++. So
+# you should have a separate command window just for vi. All the other
+# variables may be permanently set in the Control Panel\System applet.
+#
+# You can find out more about the restrictions of this facility at
+# <https://jeffpar.github.io/kbarchive/kb/108/Q108581/>
+#
+# From: Federico Bianchi <bianchi@magna.cisid.unipi.it>, 15 Jan 1997
+ansi-nt|psx_ansi|Microsoft Windows NT console POSIX ANSI mode,
+	am, bw, msgr,
+	cols#80, it#8, lines#25,
+	bel=^G, clear=\E[2J, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, ed=\E[J, el=\E[K,
+	home=\E[H, ht=^I, ind=\E[S, kbs=^H, kcub1=\E[D, kcud1=\E[V,
+	kcuf1=\E[C, kcuu1=\E[A, nel=\r\E[S, rc=\E[u, rev=\E[7m,
+	ri=\E[T, rmso=\E[m, sc=\E[s, sgr0=\E[0m, smso=\E[7m,
+# From: jew@venus.sunquest.com
+# Date: 19 Feb 93 23:41:07 GMT
+# Here's  a  combination of  ansi and  vt100 termcap
+# entries   that  works  nearly   perfectly  for  me
+# (Gateway 2000 Handbook and Microsoft Works 3.0):
+pcmw|PC running Microsoft Works,
+	am, xenl,
+	cols#80, it#8, lines#24, vt#3,
+	bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>,
+	clear=\E[;H\E[2J$<50/>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\E[C$<2/>, cup=\E[%i%p1%d;%p2%dH$<5/>,
+	cuu1=\E[A$<2/>, ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H,
+	ht=^I, hts=\EH$<2/>, ind=\ED$<5/>, is2=\E[1;24r\E[24;1H,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\r\ED$<5/>,
+	rc=\E8, rev=\E[7m$<2/>, rf=/usr/share/tabset/vt100,
+	ri=\EM$<5/>, rmso=\E[m$<2/>, rmul=\E[m$<2/>,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\E7,
+	sgr0=\E[m$<2/>, smso=\E[7m$<2/>, smul=\E[4m$<2/>,
+	tbc=\E[3g$<2/>,
+
+# From: Federico Bianchi
+# This is the entry for the OpenNT terminal.
+# The ntconsole name is for backward compatibility.
+# This is for OpenNT 2.0 and later.
+# Later OpenNT was renamed to Interix.
+#
+# Presently it is distributed by Microsoft as Services For Unix (SFU).
+# The 3.5 beta contained ncurses 4.2 (that is header files and executables,
+# the documentation dated from 1.9.9e) -TD
+#
+# For a US keyboard, with 12 function-kecbt=\E[Z, ys,
+#	kf1-kf12 are unmodifiedcbt=\E[Z, cbt=\E[Z,
+#	kf13-kf24 use the shift-key
+#	kf25-kf36 use the left alt-key
+#	kf37-kf38 use the control-key
+#	kf49-kf60 use the shift- and control-keys
+# The shifted cursor keys send the sequences originally used for kf61-kf64:
+#	down=\EF+	(kf61)
+#	up=\EF-		(kf62)
+#	left=\EF^	(unassigned)
+#	right=\EF$	(kf64)
+
+interix|opennt|opennt-25|ntconsole|ntconsole-25|OpenNT-term compatible with color,
+	am, bce, msgr,
+	cols#80, it#8, lines#25,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j
+	     \331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v
+	     \301w\302x\263y\363z\362{\343|\330}\234~\376,
+	bel=^G, bold=\E[1m, clear=\E[2J, cr=\r, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	ind=\E[S, kLFT=\EF\^, kRIT=\EF$, kcbt=\E[Z, kdch1=^?,
+	kend=\E[U, kf0=\EFA, kf1=\EF1, kf10=\EFA, kf11=\EFB,
+	kf12=\EFC, kf13=\EFD, kf14=\EFE, kf15=\EFF, kf16=\EFG,
+	kf17=\EFH, kf18=\EFI, kf19=\EFJ, kf2=\EF2, kf20=\EFK,
+	kf21=\EFL, kf22=\EFM, kf23=\EFN, kf24=\EFO, kf25=\EFP,
+	kf26=\EFQ, kf27=\EFR, kf28=\EFS, kf29=\EFT, kf3=\EF3,
+	kf30=\EFU, kf31=\EFV, kf32=\EFW, kf33=\EFX, kf34=\EFY,
+	kf35=\EFZ, kf36=\EFa, kf37=\EFb, kf38=\EFc, kf39=\EFd,
+	kf4=\EF4, kf40=\EFe, kf41=\EFf, kf42=\EFg, kf43=\EFh,
+	kf44=\EFi, kf45=\EFj, kf46=\EFk, kf47=\EFm, kf48=\EFn,
+	kf49=\EFo, kf5=\EF5, kf50=\EFp, kf51=\EFq, kf52=\EFr,
+	kf53=\EFs, kf54=\EFt, kf55=\EFu, kf56=\EFv, kf57=\EFw,
+	kf58=\EFx, kf59=\EFy, kf6=\EF6, kf60=\EFz, kf7=\EF7,
+	kf8=\EF8, kf9=\EF9, kich1=\E[L, kind=\EF+, kll=\E[U,
+	knp=\E[T, kpp=\E[S, kri=\EF-, ll=\E[U, nel=\r\n, op=\E[m,
+	rc=\E[u, rev=\E[7m, ri=\E[T, rmcup=\E[2b\E[u\r\E[K,
+	rmso=\E[m, rmul=\E[m, rs1=\Ec, sc=\E[s, sgr0=\E[0m,
+	smcup=\E[s\E[1b, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+	use=ansi+idl, use=ansi+local, use=ecma+index,
+	use=klone+color,
+
+opennt-35|ntconsole-35|OpenNT-term35 compatible with color,
+	lines#35, use=opennt,
+
+opennt-50|ntconsole-50|OpenNT-term50 compatible with color,
+	lines#50, use=opennt,
+
+opennt-60|ntconsole-60|OpenNT-term60 compatible with color,
+	lines#60, use=opennt,
+
+opennt-100|ntconsole-100|OpenNT-term100 compatible with color,
+	lines#100, use=opennt,
+
+# OpenNT wide terminals
+opennt-w|opennt-25-w|ntconsole-w|ntconsole-25-w|OpenNT-term-w compat with color,
+	cols#125, use=opennt,
+
+opennt-35-w|ntconsole-35-w|OpenNT-term35-w compatible with color,
+	lines#35, use=opennt-w,
+
+opennt-50-w|ntconsole-50-w|OpenNT-term50-w compatible with color,
+	lines#50, use=opennt-w,
+
+opennt-60-w|ntconsole-60-w|OpenNT-term60-w compatible with color,
+	lines#60, use=opennt-w,
+
+opennt-w-vt|opennt-25-w-vt|ntconsole-w-vt|ntconsole-25-w-vt|OpenNT-term-w-vt compat with color,
+	cols#132, use=opennt,
+
+# OpenNT terminals with no smcup/rmcup (names match termcap entries)
+interix-nti|opennt-nti|opennt-25-nti|ntconsole-25-nti|OpenNT-nti compatible with color,
+	rmcup@, smcup@, use=opennt,
+
+opennt-35-nti|ntconsole-35-nti|OpenNT-term35-nti compatible with color,
+	lines#35, use=opennt-nti,
+
+opennt-50-nti|ntconsole-50-nti|OpenNT-term50-nti compatible with color,
+	lines#50, use=opennt-nti,
+
+opennt-60-nti|ntconsole-60-nti|OpenNT-term60-nti compatible with color,
+	lines#60, use=opennt-nti,
+
+opennt-100-nti|ntconsole-100-nti|OpenNT-term100-nti compatible with color,
+	lines#100, use=opennt-nti,
+
+######## COMMON TERMINAL TYPES
+#
+# This section describes terminal classes and maker brands that are still
+# quite common, but have proprietary command sets not blessed by ANSI.
+#
+
+#### Altos
+#
+# Altos made a moderately successful line of UNIX boxes.  In 1990 they were
+# bought out by Acer, a major Taiwanese manufacturer of PC-clones.
+# Acer has a web site at http://www.acer.com.
+#
+# Altos descriptions from Ted Mittelstaedt <tedm@agora.rain.com> 4 Sep 1993
+# His comments suggest they were shipped with the system.
+#
+
+# (altos2: had extension capabilities
+#	:c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\
+#	:c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\
+#	:c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\
+#	:cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r:
+#	:XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\
+#	:YU=^AQ\r:YD=^AR\r:YR=^AS\r:YL=^AT\r:\
+#	:HL=^AP\r:SP=\E[i:\
+#	:IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:\
+#	:LO=\E[0q:LC=\E[5q:LL=\E[6q:\
+# Comparison with the k* capabilities makes it obvious that the c* things are
+# shift keys.  I have renamed them to keys 32 and up accordingly.  Also,
+# :sr: was given as a boolean-- esr)
+altos2|alt2|altos-2|Altos II,
+	cols#80, it#8, lines#24, xmc#0,
+	clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\E[1B, cuf1=\E[1C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[1A, dch1=\E[P, dl1=\E[M,
+	ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@,
+	if=/usr/share/tabset/vt100, il1=\E[L, ind=\n,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kDL=^Am\r,
+	kEOL=^An\r, kcbt=^AK\r, kclr=^AL\r, kdch1=^AM\r, kel=^AN\r,
+	kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf32=^A`\r,
+	kf33=^Aa\r, kf34=^Ab\r, kf35=^Ac\r, kf36=^Ad\r, kf37=^Ae\r,
+	kf38=^Af\r, kf39=^Ag\r, kf4=^AC\r, kf40=^Ah\r, kf41=^Ai\r,
+	kf42=^Aj\r, kf43=^Ak\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=\E[f, kil1=^AJ\r, kind=^AO\r,
+	nel=\r\n, rmam=\E[?7l, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smam=\E[?7h, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+
+# (altos3: had extension capabilities
+#	:c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\
+#	:c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\
+#	:c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\
+#	:cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r:
+#	:XU=^Aq\r:XD=^Ar\r:XR=^As\r:XL=^At\r:\
+#	:HL=^AP\r:SP=\E[i:\
+#	:IS=\E[@:DE=\E[P:IL=\E[L:NS=\E[S:PS=\E[T:
+altos3|altos5|alt3|alt5|altos-3|altos-5|Altos III or V,
+	blink=\E[5p, ri=\EM, sgr0=\E[p, use=altos2,
+altos4|alt4|altos-4|Altos IV,
+	use=wy50,
+# (altos7: had extension capabilities:
+#	:GG#0:GI=\EH8:GF=\EH7:\
+#	:c0=^A`\r:c1=^Aa\r:c2=^Ab\r:c3=^Ac\r:\
+#	:c4=^Ad\r:c5=^Ae\r:c6=^Af\r:c7=^Ag\r:\
+#	:c8=^Ah\r:c9=^Ai\r:cA=^Aj\r:cB=^Ak\r:\
+#	:cC=^Al\r:cD=^Am\r:cE=^An\r:cF=^Ao\r:
+# Comparison with the k* capabilities makes it obvious that the c* things are
+# shift keys.  I have renamed them to keys 32 and up accordingly.  I have
+# also made this entry relative to adm12 in order to give it an <sgr>. The
+# <invis> imported by use=adm+sgr may work, let me know. -- esr)
+altos7|alt7|Altos VII,
+	am, mir,
+	cols#80, lines#24, xmc#0,
+	acsc=j5k3l2m1n8q:t4u9v=w0x6, blink=\EG2, bold=\EGt,
+	clear=\E+^^, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dim=\EGp, dl1=\ER, ed=\EY, el=\ET, home=^^, ht=^I, il1=\EE,
+	ind=\n, invis=\EG1,
+	is2=\E`:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Eu\E~2, kDL=^Am\r,
+	kEOL=^An\r, kbs=^H, kcbt=^AK\r, kclr=^AL\r, kcub1=^H,
+	kcud1=\n, kcuf1=^L, kcuu1=^K, kdch1=^AM\r, kel=^AN\r,
+	kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf32=^A`\r,
+	kf33=^Aa\r, kf34=^Ab\r, kf35=^Ac\r, kf36=^Ad\r, kf37=^Ae\r,
+	kf38=^Af\r, kf39=^Ag\r, kf4=^AC\r, kf40=^Ah\r, kf41=^Ai\r,
+	kf42=^Aj\r, kf43=^Ak\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^^, kil1=^AJ\r, kind=^AO\r,
+	knp=\EK, kpp=\EJ, mc4=\EJ, mc5=\Ed#, nel=\r\n, ri=\Ej,
+	rmir=\Er, smir=\Eq, use=adm+sgr,
+altos7pc|alt7pc|Altos PC VII,
+	kend=\ET, use=altos7,
+
+#### Hewlett-Packard (hp)
+#
+#	Hewlett-Packard
+#	8000 Foothills Blvd
+#	Roseville, CA 95747
+#	Vox: 1-(916)-785-4363	(Technical response line for VDTs)
+#	     1-(800)-633-3600	(General customer support)
+#
+#
+# As of March 1998, HP no longer has any terminals in production.
+# The 700 series (22, 32, 41, 44, 92, 94, 96, 98) is still being
+# supported (they still have parts). So are the 2392a and 2394a.
+# See the WORKSTATION CONSOLES section for the 700s.
+#
+
+# Generic HP terminal - this should (hopefully) work on any HP terminal.
+hpgeneric|hp|Hewlett-Packard generic terminal,
+	OTbs, OTpt, am, da, db, mir, xhp,
+	cols#80, lines#24, lm#0, vt#6,
+	bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\E&a%p2%dc%p1%dY$<6>, cuu1=\EA, dch1=\EP, dl1=\EM,
+	ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1, il1=\EL,
+	ind=\n, kbs=^H, kcbt=\Ei, rmir=\ER, rmso=\E&d@, rmul=\E&d@,
+	sgr0=\E&d@, smir=\EQ, smso=\E&dJ, smul=\E&dD, tbc=\E3,
+	vpa=\E&a%p1%dY,
+
+hp110|Hewlett-Packard model 110 portable,
+	lines#16, use=hpgeneric,
+
+hp+pfk+cr|HP function keys with CR,
+	kf1=\Ep\r, kf2=\Eq\r, kf3=\Er\r, kf4=\Es\r, kf5=\Et\r,
+	kf6=\Eu\r, kf7=\Ev\r, kf8=\Ew\r,
+
+hp+pfk-cr|HP function keys w/o CR,
+	kf1=\Ep, kf2=\Eq, kf3=\Er, kf4=\Es, kf5=\Et, kf6=\Eu, kf7=\Ev,
+	kf8=\Ew,
+
+# The hp2621s use the same keys for the arrows and function keys,
+# but not separate escape sequences. These definitions allow the
+# user to use those keys as arrow keys rather than as function
+# keys.
+hp+pfk+arrows|HP alternate arrow definitions,
+	kcub1=\Eu\r, kcud1=\Ew\r, kcuf1=\Ev\r, kcuu1=\Et\r, kf1@,
+	kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, khome=\Ep\r, kind=\Er\r,
+	kll=\Eq\r, kri=\Es\r,
+
+hp+arrows|HP arrow definitions,
+	khome=\Eh, kind=\ES, kll=\EF, kri=\ET, use=vt52+arrows,
+
+# Generic stuff from the HP 262x series
+#
+hp262x|HP 262x terminals,
+	xhp,
+	blink=\E&dA, dch1=\EP$<2>, ed=\EJ, ht=\011$<2>, ind=\ES,
+	invis=\E&dS, ip=$<2>, kdch1=\EP, kdl1=\EM, ked=\EJ, kel=\EK,
+	khome=\Eh, kich1=\EQ, kil1=\EL, kind=\ES, knp=\EU, kpp=\EV,
+	kri=\ET, krmir=\ER, rev=\E&dB, rmkx=\E&s0A, rmso=\E&d@,
+	rmul=\E&d@,
+	sgr=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|
+	    %;%?%p4%t%{65}%|%;%c,
+	sgr0=\E&d@, smkx=\E&s1A, smso=\E&dB, smul=\E&dD,
+	use=vt52+arrows,
+
+# Note: no <home> on HPs since that homes to top of memory, not screen.
+# Due to severe 2621 braindamage, the only way to get the arrow keys to
+# transmit anything at all is to turn on the function key labels
+# with <smkx>, and even then the user has to hold down shift!
+# The default 2621 turns off the labels except when it has to to
+# enable the function keys. If your installation prefers labels
+# on all the time, or off all the time (at the "expense" of the
+# function keys), use 2621-nl or 2621-wl.
+#
+# Note: there are newer ROMs for 2621's that allow you to set
+# strap A so the regular arrow keys xmit \EA, etc, as with the
+# 2645. However, even with this strap set, the terminal stops
+# xmitting if you reset it, until you unset and reset the strap!
+# Since there is no way to set/unset the strap with an escape
+# sequence, we don't use it in the default.
+# If you like, you can use 2621-ba (brain-damaged arrow keys).
+hp2621-ba|HP 2621 w/new rom and strap A set,
+	rmkx@, smkx@, use=hp+arrows, use=hp2621,
+
+# hp2621 with function labels. Most of the time they are off,
+# but inside vi, the function key labels appear. You have to
+# hold down shift to get them to xmit.
+hp2621|hp2621a|hp2621A|2621|2621a|2621A|hp2621-wl|2621-wl|HP 2621 w/labels,
+	is2=\E&jA\r, rmkx=\E&jA, use=hp2621-fl,
+hp2621-fl|HP 2621,
+	xhp@, xon,
+	pb#19200,
+	cbt=\Ei, cup=\E&a%p2%dc%p1%dY, dch1=\EP$<2>, ht=\011$<2>,
+	ip=$<2>, is2=\E&j@\r, rmkx=\E&j@, smkx=\E&jB, smso=\E&dD,
+	use=hp+pfk+cr, use=hpgeneric,
+
+# To use hp2621p printer, setenv TERM=2621p, PRINTER=2612p
+hp2621p|HP 2621 with printer,
+	mc4=\E&p13C, mc5=\E&p11C, use=hp2621,
+
+hp2621p-a|HP 2621p with fn as arrows,
+	use=hp+pfk+arrows, use=hp2621p,
+
+# hp2621 with k45 keyboard
+hp2621-k45|hp2621k45|k45|HP 2621 with 45 keyboard,
+	kbs=^H, khome=\Eh, rmkx=\E&s0A, smkx=\E&s1A, use=hp2621,
+	use=vt52+arrows,
+
+# 2621 using all 48 lines of memory, only 24 visible at any time.
+hp2621-48|HP 48 line 2621,
+	lines#48,
+	cup=\E&a%p2%dc%p1%dR, home=\EH, vpa=\E&a%p1%dR,
+	use=hp2621,
+
+# 2621 with no labels ever. Also prevents vi delays on escape.
+hp2621-nl|HP 2621 with no labels,
+	kcub1@, kcud1@, kcuf1@, kcuu1@, khome@, rmkx@, smkx@,
+	use=hp2621-fl,
+
+# Needed for UCB ARPAVAX console, since lsi-11 expands tabs
+# (wrong).
+#
+hp2621-nt|HP 2621 w/no tabs,
+	ht@, use=hp2621,
+
+# Hp 2624 B with 4 or 10 pages of memory.
+#
+# Some assumptions are made with this entry. These settings are
+# NOT set up by the initialization strings.
+#
+# Port Configuration
+#	RecvPace=Xon/Xoff
+#	XmitPace=Xon/Xoff
+#	StripNulDel=Yes
+#
+# Terminal Configuration
+#	InhHndShk=Yes
+#	InhDC2=Yes
+#	XmitFnctn(A)=No
+#	InhEolWrp=No
+#
+# Note: the 2624 DOES have a true <home>, believe it or not!
+#
+# The 2624 has an "error line" to which messages can be sent.
+# This is CLOSE to what is expected for a "status line". However,
+# after a message is sent to the "error line", the next carriage
+# return is EATEN and the "error line" is turned back off again!
+# So I guess we can't define <hs>, <eslok>, <wsl>, <dsl>, <fsl>, <tsl>.
+#
+# This entry supports emacs (and any other program that uses raw
+# mode) at 4800 baud and less. I couldn't get the padding right
+# for 9600.
+#
+# (hp2624: replaced NUL sequences in flash with mandatory pauses -- esr)
+hp2624|hp2624a|hp2624b|hp2624b-4p|Hewlett Packard 2624 B,
+	da, db,
+	lm#96,
+	flash=\E&w13F$<66/>\E&w12F$<66/>\E&w13F$<66/>\E&w12F, use=hp+labels, use=scrhp,
+
+# This hp2626 entry does not use any of the fancy windowing stuff
+# of the 2626.
+#
+# Indeed, terminfo does not yet handle such stuff. Since changing
+# any window clears memory, it is probably not possible to use
+# this for screen opt.
+#
+# ed is incredibly slow most of the time - I am guessing at the
+# exact padding. Since the terminal uses xoff/xon this is intended
+# only for cost computation, so that the terminal will prefer el
+# or even dl1 which is probably faster!
+#
+# \ED\EJ\EC hack for ed from Ed Bradford - apparently ed is only
+# extra slow on the last line of the window.
+#
+# The padding probably should be changed.
+#
+hp2626|hp2626a|hp2626p|HP 2626,
+	da, db,
+	lm#0, pb#19200,
+	ed=\ED\EJ$<500>\EC, indn=\E&r%p1%dD, ip=$<4>,
+	is2=\E&j@\r, rin=\E&r%p1%dU, use=hp+pfk-cr,
+	use=hp+labels, use=scrhp,
+
+# This entry is for sysline. It allocates a 23 line window with
+# a 115 line workspace for regular use, and a 1 line window for
+# the status line.
+#
+# This assumes port 2 is being used.
+# Turn off horizontal line, Create ws #1 with 115 lines,
+# Create ws #2 with 1 line, Create window #1 lines 1-23,
+# Create window #2 lines 24-24, Attach cursor to workspace #1.
+# Note that this clears the tabs so it must be done by tset before
+# it sets the tabs.
+#
+hp2626-s|HP 2626 using only 23 lines,
+	eslok, hs,
+	lines#23,
+	fsl=\E&d@\E&w7f2p1I\E&w4f1I,
+	is1=\E&q3t0{0H\s\E&w0f115n1I\s\E&w0f1n2I\s\E&w2f1i0d0u22l0S
+	    \s\E&w2f2i0d23u23l0S\s\E&w7f2p1I\s\r,
+	tsl=\E&w7f2p2I\E&w4f2I\r\EK\E&a%p1%dC, use=hp2626,
+# Force terminal back to 24 lines after being 23.
+hp2626-ns|HP 2626 using all 24 lines,
+	is1=\E&q3t0{0H\s\E&w0f118n1I\s\E&w0f1n2I\s\E&w2f1i0d0u23l0S
+	    \s\E&w3f2I\s\E&w7f2p1I\s\r,
+	use=hp2626,
+# Various entries useful for small windows on 2626.
+hp2626-12|Hewlett-Packard 2626 12 lines,
+	lines#12, use=hp2626,
+hp2626-12x40|Hewlett-Packard 2626 12 lines 40 columns,
+	cols#40, lines#12, use=hp2626,
+hp2626-x40|Hewlett-Packard 2626 40 columns,
+	cols#40, use=hp2626,
+hp2626-12-s|Hewlett-Packard 2626 11 lines plus status,
+	lines#11, use=hp2626-s,
+
+#
+# hp2627 color tubes from University of Wisconsin
+#
+hp2627a-rev|HP 2627 with reverse video colors,
+	ht=^I,
+	is2=\E&v0m1a0b0c1x1y1z1i0a0b1c1x1y1z0i0S\E&j@\r\E3
+	    \r,
+	kcub1=^H, kcud1=\n, nel=\r\n, rmul=\E&v0S\E&d@,
+	smul=\E&dD\E&v1S, use=hp2621-nl,
+hp2627a|HP 2627 color terminal with no labels,
+	ht=^I,
+	is2=\E&v0m1a1b0c1i0a1b1c2i1a0b0c0i0S\E&j@\r\E3\r,
+	kcub1=^H, kcud1=\n, nel=\r\n, rmso=\E&v0S,
+	rmul=\E&v0S\E&d@, smso=\E&v2S, smul=\E&dD\E&v1S,
+	use=hp2621-nl,
+hp2627c|HP 2627 color (cyan) terminal with no labels,
+	is2=\E&v0m1a0b0c2i1a1b0c1i0a1b1c0i0S\E&j@\r\E3\r,
+	use=hp2627a,
+
+# hp2640a doesn't have the Y cursor addressing feature, and C is
+# memory relative instead of screen relative, as we need.
+#
+hp2640a|HP 2640a,
+	cup@, rmkx@, smkx@, use=hp2645,
+
+hp2640b|hp2644a|HP 264x series,
+	rmkx@, smkx@, use=hp2645,
+
+# (hp2641a: removed unknown :gu: -- esr)
+hp2641a|hp2645a|hp2647a|HP 264?A series BRL entry,
+	am, da, db, mir, xhp,
+	cols#80, lines#24,
+	bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\E&a%p2%2dc%p1%2dY, cuu1=\EA, dch1=\EP, dl1=\EM,
+	ed=\EJ, el=\EK, hpa=\E&a%p1%2dC, ht=^I,
+	if=/usr/share/tabset/std, il1=\EL, ind=\n,
+	is2=\EE$<500/>, kbs=^H, kcub1=^H, kcud1=\n, nel=\r\n,
+	rmir=\ER, rmso=\E&d@, smir=\EQ, smso=\E&dB,
+	vpa=\E&a%p1%2dY,
+
+# This terminal should be used at 4800 baud or less. It needs padding for
+# plain characters at 9600, I guessed at an appropriate cr delay.  It really
+# wants ^E/^F handshaking, but that doesn't work well even if you write
+# software to support it.
+hp2645|hp45|HP 2645 series,
+	pb#9600,
+	blink=\E&dA, cr=\r$<20>, dim=\E&dH, kctab=\E2, kdch1=\EP,
+	kdl1=\EM, ked=\EJ, kel=\EK, khome=\Eh, khts=\E1, kich1=\EQ,
+	kil1=\EL, kind=\ES, knp=\EU, kpp=\EV, kri=\ET, krmir=\ER,
+	rev=\E&dB, rmkx=\E&s0A,
+	sgr=\E&d%{64}%?%p1%t%{66}%|%;%?%p2%t%{68}%|%;%?%p3%t%{66}%|
+	    %;%?%p4%t%{65}%|%;%?%p5%t%{72}%|%;%?%p6%t%{66}%|%;%c,
+	sgr0=\E&d@, smkx=\E&s1A, use=hpgeneric, use=vt52+arrows,
+# You should use this terminal at 4800 baud or less.
+hp2648|hp2648a|HP 2648a graphics terminal,
+	clear=\EH\EJ$<50>, cup=\E&a%p2%dc%p1%dY$<20>,
+	dch1=\EP$<7>, ip=$<5>, use=hp2645,
+
+# The HP 150 terminal is a fairly vanilla HP terminal, with the
+# clreol standout problem. It also has graphics capabilities and
+# a touch screen, which we don't describe here.
+hp150|Hewlett Packard Model 150,
+	OTbs, use=hp2622,
+
+# HP 2382a terminals, "the little ones." They don't have any
+# alternate character set support and sending out ^N/^O will
+# leave the screen blank.
+hp2382a|hp2382|Hewlett Packard 2382a,
+	da, db,
+	lh#1, lm#48,
+	acsc@,
+	pln=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t\s%;%p2
+	    %s,
+	rmacs@,
+	sgr=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga
+	    %+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+
+	    %Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}
+	    %+%e%{64}%;%;%c,
+	sgr0=\E&d@, smacs@, use=hp+labels, use=scrhp,
+
+hp2621-a|hp2621a-a|hp2621 with fn as arrows,
+	use=hp+pfk+arrows, use=hp2621-fl,
+
+# newer hewlett packard terminals
+
+newhpkeyboard|generic entry for HP extended keyboard,
+	kbs=^H, kcbt=\Ei, kclr=\EJ, kdch1=\EP, kdl1=\EM, ked=\EJ,
+	kel=\EK, khome=\Eh, kich1=\EQ, kil1=\EL, kind=\ET, kll=\EF,
+	knp=\EU, kpp=\EV, kri=\ES, krmir=\ER, rmkx=\E&s0A,
+	smkx=\E&s1A, use=hp+pfk-cr, use=vt52+arrows,
+
+newhp|generic entry for new Hewlett Packard terminals,
+	am, bw, mir, xhp, xon,
+	cols#80, lines#24, pb#4800,
+	acsc=2[3@4>5I9(:'JSKWLQMAO#P$Q;R!S"T1U2V4W3X:Y+Z*dHjGkTlRmFn
+	     /q\,t5u6v8w7x.,
+	bel=^G, blink=\E&dA, bold=\E&dF, cbt=\Ei, cr=\r, cub1=^H,
+	cud1=\n, cuf1=\EC, cuu1=\EA, dch1=\EP$<2>, dim=\E&dH,
+	dl1=\EM, ed=\EJ, el=\EK, ht=\011$<2>, hts=\E1, il1=\EL, ind=\n,
+	invis=\E&dS, ip=$<2>, is1=\E&jB$<8>, nel=\r\n,
+	pfkey=\E&f0a%p1%dk0d%p2%l%dL%p2%s,
+	pfloc=\E&f1a%p1%dk0d%p2%l%dL%p2%s,
+	pfx=\E&f2a%p1%dk0d%p2%l%dL%p2%s, rev=\E&dB, ri=\ET,
+	rmacs=^O, rmir=\ER, rmso=\E&d@, rmul=\E&d@, rs1=\Eg,
+	sgr=\E&d%{0}%Pa%?%p4%t%{1}%ga%+%Pa%;%?%p1%p3%|%p6%|%t%{2}%ga
+	    %+%Pa%;%?%p2%p6%|%t%{4}%ga%+%Pa%;%?%p1%p5%|%t%{8}%ga%+
+	    %Pa%;%?%p7%t%?%ga%ts%ga%{64}%+%e%{83}%;%e%?%ga%t%ga%{64}
+	    %+%e%{64}%;%;%c%?%p9%t\016%e\017%;,
+	sgr0=\E&d@\017, smacs=^N, smir=\EQ, smso=\E&dJ, smul=\E&dD,
+	tbc=\E3, use=newhpkeyboard,
+
+memhp|memory relative addressing for new HP ttys,
+	vt#6,
+	clear=\EH\EJ$<40>, cub=\E&a-%p1%dC, cud=\E&a+%p1%dR,
+	cuf=\E&a+%p1%dC, cup=\E&a%p1%dr%p2%dC, cuu=\E&a-%p1%dR,
+	home=\EH, hpa=\E&a%p1%dC, ll=\E&a23R\r,
+	mrcup=\E&a%p1%dr%p2%dC, vpa=\E&a%p1%dR, use=newhp,
+
+scrhp|screen relative addressing for new HP ttys,
+	clear=\E&a0c0Y\EJ$<40>, cub=\E&a-%p1%dC,
+	cud=\E&a+%p1%dR, cuf=\E&a+%p1%dC,
+	cup=\E&a%p1%dy%p2%dC$<10>, cuu=\E&a-%p1%dR,
+	home=\E&a0y0C, hpa=\E&a%p1%dC, ll=\E&a0y0C\EA,
+	mrcup=\E&a%p1%dr%p2%dC, vpa=\E&a%p1%dY, use=newhp,
+
+# (hp+labels: added label values from a BRL termcap -- esr)
+hp+labels|"standard" label info for new HP ttys,
+	lh#2, lw#8, nlab#8,
+	lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8,
+	pln=\E&f2a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d0L%?%ga%!%t\s%;%p2
+	    %s,
+	rmln=\E&j@, smln=\E&jB,
+
+hp+printer|"standard" printer info for HP ttys,
+	ff=\E&p4u0C, mc0=\EH\E&p4dF, mc4=\E&p13C, mc5=\E&p11C,
+
+
+# The new hp2621b is kind of a cross between the old 2621 and the
+# new 262x series of machines. It has dip-switched options.
+# The firmware has a bug in it such that if you give it a null
+# length label, the following character is eaten!
+hp2621b|HP 2621b with old style keyboard,
+	lh#1, lm#48, lw#8, nlab#8,
+	khome=\Eh, kind=\ET, kll=\EF, kri=\ES,
+	pln=\E&f0a%p1%dk%p2%l%Pa%?%ga%t%ga%d%e1%;d3L%?%ga%!%t%{32}%c
+	    %;%p2%s\E%{111}%p1%+%c\r,
+	smln=\E&jB, use=hp2621, use=vt52+arrows,
+
+hp2621b-p|HP 2621b with printer,
+	use=hp+printer, use=hp2621b,
+
+# hp2621b - new 2621b with new extended keyboard
+# these are closer to the new 26xx series than the other 2621b
+hp2621b-kx|HP 2621b with extended keyboard,
+	use=newhpkeyboard, use=hp2621b,
+
+hp2621b-kx-p|HP 2621b with new keyboard & printer,
+	use=hp+printer, use=hp2621b-kx,
+
+# Some assumptions are made in the following entries.
+# These settings are NOT set up by the initialization strings.
+#
+#    Port Configuration
+# RecvPace=Xon/Xoff	XmitPace=Xon/Xoff	StripNulDel=Yes
+#
+#    Terminal Configuration
+# InhHndShk(G)=Yes	InhDC2(H)=Yes
+# XmitFnctn(A)=No		InhEolWrp=No
+#
+#
+# Hp 2622a & hp2623a display and graphics terminals
+#
+hp2622|hp2622a|HP 2622,
+	da, db,
+	lm#0, pb#19200,
+	is2=\E&dj@\r, use=hp+pfk-cr, use=hp+labels, use=scrhp,
+
+# The 2623 is a 2622 with extra graphics hardware.
+hp2623|hp2623a|HP 2623,
+	use=hp2622,
+
+hp2624b-p|hp2624b-4p-p|Hewlett Packard 2624 B with printer,
+	use=hp+printer, use=hp2624,
+
+# The hewlett packard B can have an optional extra 6 pages of memory.
+hp2624-10p|hp2624a-10p|hp2624b-10p|Hewlett Packard 2624 B w/ 10 pages of memory,
+	lm#240, use=hp2624,
+
+hp2624b-10p-p|Hewlett Packard 2624 B w/ extra memory & printer,
+	lm#240, use=hp2624b-p,
+
+# Color manipulations for HP terminals
+hp+color|HP with colors,
+	ccc,
+	colors#16, ncv#17, pairs#7,
+	initp=\E&v%?%p2%{1000}%=%t1%e.%p2%d%;a%?%p3%{1000}%=%t1%e.
+	      %p3%d%;b%?%p4%{1000}%=%t1%e.%p4%d%;c%?%p5%{1000}%=%t1
+	      %e.%p5%d%;x%?%p6%{1000}%=%t1%e.%p6%d%;y%?%p7%{1000}%=
+	      %t1%e.%p7%d%;z%p1%dI,
+	oc=\E&v0m1a1b1c0I\E&v1a1I\E&v1b2I\E&v1a1b3I\E&v1c4I\E&v1a1c5
+	   I\E&v1b1c6I\E&v1x1y7I,
+	op=\E&v0S, scp=\E&v%p1%dS,
+
+# <is2> sets the screen to be 80 columns wide
+hp2397a|hp2397|Hewlett Packard 2397A color terminal,
+	is2=\E&w6f80X, use=memhp, use=hp+labels, use=hp+color,
+
+#  HP 700/44 Setup parameters:
+# Terminal Mode		HP-PCterm
+# Inhibit Auto Wrap	NO
+# Status Line		Host Writable
+# PC Character Set	YES
+# Twenty-Five Line Mode	YES
+# XON/XOFF		@128 or 64 (sc)
+# Keycode Mode		NO   or YES (sc)
+# Backspace Key		BS or BS/DEL
+#
+# <is2>		sets pcterm; autowrap; 25 lines; pc char set; prog DEL key;
+# \E\\? does not turn off keycode mode
+# <smsc>	sets alternate start/stop; keycode on
+hpansi|hp700|Hewlett Packard 700/44 in HP-PCterm mode,
+	am, eo, xenl, xon,
+	cols#80, lines#25,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
+	     \263,
+	bel=^G, cbt=\E[Z, clear=\E[2J\E[H, cr=\r,
+	cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, ed=\E[J,
+	el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, ind=\n,
+	is2=\E[44"p\E[?7h\E[>10h\E[>12h\EP1;1|3/7F\E\\,
+	kcbt=\E[Z, kend=\E[4~, kf1=\E[17~, kf10=\E[28~, kf2=\E[18~,
+	kf3=\E[19~, kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~,
+	kf8=\E[25~, kf9=\E[26~, khome=\E[1~, knp=\E[6~, kpp=\E[5~,
+	rmam=\E[?7l, rmsc=\E[>11l\EP1**x0/11;1/13\E[m\E\\,
+	rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h,
+	smsc=\E[>11h\EPO**x0/65;1/67\E\\$<250>, smso=\E[7m,
+	smul=\E[4m, xoffc=g, xonc=e, use=ansi+arrows,
+	use=ansi+local1, use=vt220+cvis,
+#
+# (hp2392: copied <rmir> here from hpex -- esr)
+hp2392|239x series,
+	cols#80,
+	cbt=\Ei, cup=\E&a%p1%dy%p2%dC, khome=\Eh, kind=\EU,
+	knp=\Eu, kpp=\Ev, kri=\EV, rmir=\ER, rmul=\E&d@, smir=\EQ,
+	smul=\E&dD, vpa=\E&a%p1%dY, use=hpsub, use=hp+pfk+cr,
+
+hpsub|HP terminals -- capability subset,
+	am, da, db, mir, xhp, xon,
+	lines#24,
+	bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\EB, cuf1=\EC,
+	cuu1=\EA, dch1=\EP, dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC,
+	ht=^I, if=/usr/share/tabset/stdcrt, il1=\EL, ind=\n,
+	is2=\E&s1A\E<\E&k0\\, kbs=^H, khome=\Eh, rmkx=\E&s0A,
+	rmso=\E&d@, sgr0=\E&d@, smkx=\E&s1A, smso=\E&dB,
+	use=vt52+arrows,
+
+# hpex:
+#	May be used for most 24 x 80 hp terminals,
+# but has no padding added, so may allow runover in some terminals at high
+# baud rates.  Will not work for hp2640a or hp2640b terminals, hp98x6 and
+# hp98x5 terminal emulators or hp98x6 consoles.
+#	Adds xy-cursor addressing, vertical cursor addressing, home,
+# last line, and underline capabilities.
+#
+# (hpex: removed memory-lock capabilities ":ml=\El:mu=\Em:",
+# moved <rmir> here from hpsub -- esr)
+hpex|HP extended capabilities,
+	cud1=\n, cup=\E&a%p1%dy%p2%dC, kcub1=^H, kcud1=\n,
+	nel=\r\n, rmir=\ER, rmul=\E&d@, smir=\EQ, smul=\E&dD,
+	vpa=\E&a%p1%dY, use=hpsub,
+
+# From: Ville Sulko <Ville.Sulko@bip.atk.tpo.fi>, 05 Aug 1996
+hp2|hpex2|Hewlett-Packard extended capabilities newer version,
+	am, da, db, mir, xhp,
+	cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8, xmc#0,
+	bel=^G, clear=\E&a0y0C\EJ, cr=\r, cub1=^H, cud1=\EB,
+	cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP,
+	dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1,
+	il1=\EL, ind=\n, kbs=^H, kclr=\EJ, kctab=\E2, kdch1=\EP,
+	kdl1=\EM, ked=\EJ, kel=\EK, khts=\E1, kich1=\EQ, kil1=\EL,
+	knp=\EU, kpp=\EV, krmir=\ER, ktbc=\E3, meml=\El, memu=\Em,
+	pfkey=\E&f%p1%dk%p2%l%dL%p2%s,
+	pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s,
+	pfx=\E&f2a%p1%dk%p2%l%dL%p2%s,
+	pln=\E&f%p1%dk%p2%l%dd0L%p2%s, rmir=\ER, rmkx=\E&s0A,
+	rmln=\E&j@, rmso=\E&d@, rmul=\E&d@,
+	sgr=\E&d%?%p7%t%{115}%c%;%p1%p3%|%p6%|%{2}%*%p2%{4}%*%+%p4%+
+	    %p5%{8}%*%+%{64}%+%c%?%p9%t%'\016'%c%e%'\017'%c%;,
+	sgr0=\E&d@\017, smir=\EQ, smkx=\E&s1A, smln=\E&jB,
+	smso=\E&dB, smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY,
+	use=hp+pfk-cr, use=hp+arrows,
+
+# HP 236 console
+# From: <ddavis@ic.berkeley.edu>
+hp236|hp236 internal terminal emulator,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=\EF, cnorm=\EDE, cub1=^H,
+	cup=\EE%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, cvvis=\EDB,
+	dch1=\EJ, dl1=\EH, el=\EK, ich1=\EI, il1=\EG, rmso=\ECI,
+	sgr0=\ECI, smso=\EBI,
+
+# This works on a hp300 console running Utah 4.3 BSD
+# From: Craig Leres <leres@okeeffe.berkeley.edu>
+hp300h|HP Catseye console,
+	OTbs, am, da, db, mir, xhp,
+	cols#128, lines#51, lm#0, xmc#0,
+	bel=^G, cbt=\Ei, clear=\E&a0y0C\EJ, cr=\r, cub1=^H, cud1=\EB,
+	cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP,
+	dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I,
+	if=/usr/share/tabset/stdcrt, il1=\EL, ind=\n, kbs=^H,
+	khome=\Eh, rmir=\ER, rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@,
+	sgr0=\E&d@, smir=\EQ, smkx=\E&s1A, smso=\E&dB, smul=\E&dD,
+	tbc=\E3, vpa=\E&a%p1%dY, use=vt52+arrows,
+# From: Greg Couch <gregc@ernie.berkeley.edu>
+hp9837|hp98720|hp98721|HP 9000/300 workstations,
+	OTbs, am, da, db, mir, xhp,
+	cols#128, it#8, lines#46, lm#0,
+	bel=^G, cbt=\Ei, clear=\E&a0y0C\EJ, cub1=^H, cud1=\EB,
+	cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP,
+	dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=^I, hts=\E1,
+	il1=\EL, ind=\n, is2=\E&v0m1b0i&j@, kbs=^H, kdch1=\EP,
+	kdl1=\EM, ked=\EJ, kel=\EK, khome=\Eh, kich1=\EQ, kil1=\EL,
+	knp=\EU, kpp=\EV, rmir=\ER, rmkx=\E&s0A, rmso=\E&v0S,
+	rmul=\E&d@, sgr0=\E&d@, smir=\EQ, smkx=\E&s1A, smso=\E&v5S,
+	smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY, use=vt52+arrows,
+# HP 9845 desktop computer from BRL
+# (hp9845: removed unknown capability :gu: -- esr)
+hp9845|HP 9845,
+	OTbs, am, da, db, eo, mir, xhp,
+	cols#80, lines#21,
+	OTbc=\ED, clear=\EH\EJ, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\E&a%p2%2dc%p1%2dY, cuu1=\EA, dch1=\EP, dl1=\EM,
+	ed=\EJ, el=\EK, if=/usr/share/tabset/std, il1=\EL,
+	rmir=\ER, rmso=\E&d@, smir=\EQ, smso=\E&dB,
+# From: Charles A. Finnell of MITRE <finnell@mitre.org>, developed 07SEP90
+# (hp98550: replaced /usr/share/tabset/9837 with std because <it#8>,<hts=\E1>;
+# added empty <acsc> to avoid warnings re <smacs>/<rmacs> --esr)
+hp98550|hp98550a|HP 9000 Series 300 color console,
+	OTbs, am, da, db, mir, xhp,
+	cols#128, lines#49, lm#0,
+	acsc=, bel=^G, blink=\E&dA, bold=\E&dJ, cbt=\Ei, civis=\E*dR,
+	clear=\EH\EJ, cnorm=\E*dQ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\E&a%p1%dy%p2%dC, cuu1=\EA, dch1=\EP, dim=\E&dH,
+	dl1=\EM, ed=\EJ, el=\EK, hpa=\E&a%p1%dC, hts=\E1,
+	if=/usr/share/tabset/std, il1=\EL, ind=\n, invis=\E&ds,
+	kbs=^H, kclr=\EJ, kctab=\E2, kdch1=\EP, kdl1=\EM, ked=\EJ,
+	kel=\EK, khts=\E1, kich1=\EQ, kil1=\EL, kll=\EF, knp=\EU,
+	kpp=\EV, krmir=\ER, ktbc=\E3, rev=\E&dJ, rmacs=^O, rmir=\ER,
+	rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, sgr0=\E&d@, smacs=^N,
+	smir=\EQ, smkx=\E&s1A, smso=\E&dJ, smul=\E&dD, tbc=\E3,
+	vpa=\E&a%p1%dY, use=hp+pfk-cr, use=ansi+inittabs,
+	use=hp+arrows,
+
+# From: Martin Trusler
+hp98550-color|hp98550a-color|HP 9000 Series 300 color console (Trusler),
+	OTbs, am, ccc, da, db, km, mir, xhp,
+	colors#8, cols#128, lh#2, lines#49, lm#0, lw#8, nlab#8, pairs#8,
+	xmc#0,
+	acsc=+>\,<-\^.v0\374``a\374f\372g\376h\374j+k+l+m+n+o-q-s-t+
+	     u+v+w+x|y<z>{*|!}\273~\362,
+	bel=^G, bold=\E&dD, cbt=\Ei, clear=\EH\EJ, cr=\r, cub1=^H,
+	cud1=\EB, cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA,
+	dch1=\EP, dl1=\EM, ed=\EJ, el=\EK, home=\E&a0y0C,
+	hpa=\E&a%p1%dC, hts=\E1, il1=\EL, ind=\ES,
+	initp=\E&v0m%?%p2%{1000}%=%t1%e.%p2%d%;a%?%p3%{1000}%=%t1%e.
+	      %p3%d%;b%?%p4%{1000}%=%t1%e.%p4%d%;c%?%p5%{1000}%=%t1
+	      %e.%p5%d%;x%?%p6%{1000}%=%t1%e.%p6%d%;y%?%p7%{1000}%=
+	      %t1%e.%p7%d%;z%p1%dI,
+	is1=\EH\EJ, kbs=^H, kctab=\E2, kdch1=\EP, kdl1=\EM, ked=\EJ,
+	kel=\EK, khts=\E1, kich1=\EQ, kil1=\EL, kll=\EF, knp=\EU,
+	kpp=\EV, krmir=\ER, ktbc=\E3, meml=\El, memu=\Em,
+	oc=\E&v0m1a1b1c0I\E&v1a1I\E&v1b2I\E&v1a1b3I\E&v1c4I\E&v1a1c5
+	   I\E&v1b1c6I\E&v1x1y7I,
+	op=\E&v0S, pfkey=\E&f%p1%dk%p2%l%dL%p2%s,
+	pfloc=\E&f1a%p1%dk%p2%l%dL%p2%s,
+	pfx=\E&f2a%p1%dk%p2%l%dL%p2%s,
+	pln=\E&f%p1%dk%p2%l%dd0L%p2%s, rev=\E&dB, ri=\ET,
+	rmacs=^O, rmam=\E&s1C, rmcup=\E&s0A, rmir=\ER, rmkx=\E&s0A,
+	rmln=\E&j@, rmm=\E&k0I, rmso=\E&d@, rmul=\E&d@, rs1=\EE,
+	scp=\E&v%p1%dS,
+	sgr=\E&d%p1%p3%|%{2}%*%p2%p6%|%{4}%*%+%{64}%+%c%?%p9%t%'
+	    \016'%c%e%'\017'%c%;,
+	sgr0=\E&d@\017, smacs=^N, smam=\E&s0C, smcup=\E&s1A,
+	smir=\EQ, smkx=\E&s1A, smln=\E&jB, smm=\E&k1I, smso=\E&dB,
+	smul=\E&dD, tbc=\E3, u6=\Ea%dc%dR\r, u7=\Ea,
+	u8=\E%[0123456789/], u9=\E*s1\^, vpa=\E&a%p1%dY,
+	use=hp+pfk-cr, use=ansi+inittabs, use=hp+arrows,
+
+# From: Victor Duchovni <vic@fine.princeton.edu>
+# (hp700-wy: removed obsolete ":nl=^J:";
+# replaced /usr/share/tabset/hp700-wy with std because <it#8>,<hts=\E1> -- esr)
+hp700-wy|HP 700/41 emulating Wyse30,
+	OTbs, am, bw, mir, msgr,
+	cols#80, it#8, lines#24, xmc#1,
+	cbt=\EI, clear=^Z, cr=\r, cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET$<10/>, home=^^, ht=^I, hts=\E1,
+	if=/usr/share/tabset/stdcrt, il1=\EE$<0.7*/>,
+	is1=\E~"\EC\Er\E(\EG0\003\E`9\E`1, kbs=^?, kcbt=\EI,
+	kclr=^Z, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, ked=\EY,
+	kel=\ET, khome=^^, khts=\EI, kich1=\Eq, krmir=\Er, ll=^^^K,
+	ri=\Ej, rmir=\Er, rmso=\EG0$<10/>, rmul=\EG0$<10/>,
+	sgr0=\EG0$<10/>, smir=\Eq, smso=\EG4$<10/>,
+	smul=\EG8$<10/>, tbc=\E0, vpa=\E[%p1%{32}%+%c,
+hp70092|hp70092a|hp70092A|HP 700/92,
+	am, da, db, xhp,
+	cols#80, lh#2, lines#24, lm#0, lw#8, nlab#8,
+	acsc=0cjgktlrmfn/q\,t5u6v8w7x., bel=^G, blink=\E&dA,
+	bold=\E&dB, cbt=\Ei, clear=\E&a0y0C\EJ, cr=\r, cub1=^H,
+	cud1=\EB, cuf1=\EC, cup=\E&a%p1%dy%p2%dC, cuu1=\EA,
+	dch1=\EP, dim=\E&dH, dl1=\EM, el=\EK, hpa=\E&a%p1%dC, ht=^I,
+	hts=\E1, il1=\EL, kbs=^H, kclr=\EJ, kctab=\E2, kdch1=\EP,
+	kdl1=\EM, ked=\EJ, kel=\EK, khts=\E1, kich1=\EQ, kil1=\EL,
+	kll=\EF, knp=\EU, kpp=\EV, krmir=\ER, ktbc=\E3, rev=\E&dB,
+	ri=\ET, rmacs=^O, rmir=\ER, rmkx=\E&s0A, rmln=\E&j@,
+	rmso=\E&d@, rmul=\E&d@, sgr0=\E&d@, smacs=^N, smir=\EQ,
+	smkx=\E&s1A, smln=\E&jB, smso=\E&dJ, smul=\E&dD, tbc=\E3,
+	vpa=\E&a%p1%dY, use=hp+pfk-cr, use=hp+arrows,
+
+bobcat|sbobcat|HP 9000 model 300 console,
+	am, da, db, mir, xhp,
+	cols#128, it#8, lines#47, xmc#0,
+	cbt=\Ei, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\E&a%p1%dy%p2%dC$<6/>, cuu1=\EA, dch1=\EP,
+	dl1=\EM$<10*/>, ed=\EJ, el=\EK, hpa=\E&a%p1%dC$<6/>, ht=^I,
+	il1=\EL$<10*/>, ind=\n, kbs=^H, khome=\Eh, nel=\r\n,
+	rmir=\ER, rmkx=\E&s0A, rmso=\E&d@, rmul=\E&d@, sgr0=\E&d@,
+	smir=\EQ, smkx=\E&s1A, smso=\E&dB, smul=\E&dD,
+	vpa=\E&a%p1%dY$<6/>, use=vt52+arrows,
+gator-t|HP 9000 model 237 emulating extra-tall AAA,
+	lines#94, use=gator,
+gator|HP 9000 model 237 emulating AAA,
+	bw, km, mir, ul,
+	cols#128, it#8, lines#47,
+	bel=^G, cbt=\E[Z, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, dch=\E[%p1%dP$<4/>,
+	dch1=\E[P, dl=\E[%p1%dM$<1*/>, dl1=\E[M, home=\E[H,
+	hpa=\E[%i%p1%d`, ht=^I, ich=\E[%p1%d@$<4/>, ich1=\E[@,
+	il=\E[%p1%dL$<1*/>, il1=\E[L, kbs=^H, kcub1=^H, kcud1=\n,
+	nel=\r\n, rep=%p1%c\E[%p2%db$<1*/>, rev=\E[7m, rmso=\E[m,
+	rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+	use=ansi+erase,
+
+gator-52|HP 9000 model 237 emulating VT52,
+	cols#128, lines#47, use=vt52-basic,
+gator-52t|HP 9000 model 237 emulating extra-tall VT52,
+	lines#94, use=gator-52,
+
+#### Honeywell-Bull
+#
+# From: Michael Haardt <michael@gandalf.moria> 11 Jan 93
+#
+
+# Honeywell Bull terminal.  Its cursor and function keys send single
+# control characters and it has standout/underline glitch.  Most programs
+# do not like these features/bugs.  Visual bell is realized by flashing the
+# "keyboard locked" LED.
+dku7003-dumb|Honeywell Bull DKU 7003 dumb mode,
+	cols#80, lines#25,
+	clear=^]^_, cr=\r, cub1=^Y, cud1=^K, cuf1=^X,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, ed=^_, el=\E[K,
+	flash=\E[2h\E[2l, home=^], ht=^I, ind=\n, kbs=^H, kcub1=^Y,
+	kcud1=^K, kcuf1=^X, kcuu1=^Z, khome=^], nel=\r\n,
+dku7003|Honeywell Bull DKU 7003 all features described,
+	msgr,
+	xmc#1,
+	blink=\E[5m, bold=\E[7m, dim=\E[2m, rev=\E[7m, rmso=\E[m,
+	rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+	use=dku7003-dumb,
+
+#### Lear-Siegler (LSI adm)
+#
+# These guys are long since out of the terminals business, but
+# in 1995 many current terminals still have an adm type as one of their
+# emulations (usually their stupidest, and usually labeled adm3, though
+# these `adm3' emulations normally have adm3a+ capabilities).
+#
+# WARNING: Some early ADM terminals (including the ADM3 and ADM5) had a
+# `diagnostic feature' that sending them a ^G while pin 22 (`Ring Indicator')
+# was being held to ground would trigger a send of the top line on the screen.
+# A quick fix might be to drop back to a cheesy 4-wire cable with pin 22
+# hanging in the air. (Thanks to Eric Fischer, <eric@fudge.uchicago.edu>,
+# for clearing up this point.)
+
+adm1a|adm1|LSI adm1a,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\E;$<1>, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, home=^^,
+	ind=\n,
+adm2|LSI adm2,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\E;, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, ich1=\EQ, il1=\EE, ind=\n,
+	kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, khome=^^,
+# (adm3: removed obsolete ":ma=^K^P:" -- esr)
+adm3|LSI adm3,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^Z, cr=\r, cub1=^H, cud1=\n, ind=\n,
+# The following ADM-3A switch settings are assumed for normal operation:
+#	SPACE		U/L_DISP	CLR_SCRN	24_LINE
+#	CUR_CTL		LC_EN		AUTO_NL		FDX
+# Other switches may be set for operator convenience or communication
+# requirements.  I recommend
+#	DISABLE_KB_LOCK	LOCAL_OFF	103		202_OFF
+#	ETX_OFF		EOT_OFF
+# Most of these terminals required an option ROM to support lower case display.
+# Open the case and look at the motherboard; if you see an open 24-pin DIP
+# socket, you may be out of luck.
+#
+# (adm3a: some capabilities merged in from BRl entry -- esr)
+adm3a|LSI adm3a,
+	OTbs, am,
+	cols#80, lines#24,
+	OTma=^K^P, OTnl=\n, bel=^G, clear=\032$<1/>, cr=\r, cub1=^H,
+	cud1=\n, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, home=^^, ind=\n, kcub1=^H, kcud1=\n, kcuf1=^L,
+	kcuu1=^K, rs2=^N,
+adm3a+|adm3a plus,
+	kbs=^H, use=adm3a,
+# (adm5: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" & duplicate ":do=^J:" -- esr)
+adm5|LSI adm5,
+	xmc#1,
+	ed=\EY, el=\ET, khome=^^, rmso=\EG, smso=\EG, use=adm3a+,
+# A lot of terminals other than adm11s use these.  Wherever you see
+# use=adm+sgr with some of its capabilities disabled, try the
+# disabled ones.  They may well work but not have been documented or
+# expressed in the using entry.  We'd like to cook up an <sgr> but the
+# <rmacs>/<smacs> sequences of the using entries vary too much.
+adm+sgr|adm style highlight capabilities,
+	invis=\EG1, rev=\EG4, rmso=\EG0, rmul=\EG0, sgr0=\EG0,
+	smso=\EG4, smul=\EG8,
+# LSI ADM-11 from George William Hartwig, Jr. <geo@BRL-TGR.ARPA> via BRL
+# Status line additions from Stephen J. Muir <stephen%comp.lancs.ac.uk@ucl-cs>
+# <khome> from <stephen%comp.lancs.ac.uk@ucl-cs.arpa>.  <clear> could also
+# be ^Z, according to his entry.
+# (adm11: <smul>=\EG4 was obviously erroneous because it also said
+# <rev>=\EG4.  Looking at other ADMs confirms this -- esr)
+adm11|LSI ADM-11,
+	OTbs, am, hs,
+	OTkn#8, cols#80, lines#24,
+	OTnl=\n, bel=^G, blink=\EG2, clear=\E*, cr=\r, cub1=^H,
+	cud1=\n, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, dsl=\Eh, ed=\EY, el=\ET, fsl=\E(\r, home=^^, ht=^I,
+	kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, kf1=^A@\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, khome=^^, nel=\r\n, tsl=\EF\E),
+	use=adm+sgr,
+# From: Andrew Scott Beals <bandy@lll-crg.ARPA>
+# Corrected by Olaf Siebert <rhialto@polder.ubc.kun.nl>, 11 May 1995
+# Supervisor mode info by Ari Wuolle, <awuolle@delta.hut.fi>, 27 Aug 1996
+# (adm12: removed obsolete ":kn:ma=j^Jk^P^K^Pl ^R^L^L :".  This formerly had
+# <is2>=\Eq but that looked wrong; this <is2> is from Dave Yost <esquire!yost>
+# via BRL.  That entry asserted <xmc#1>, but I've left that out because
+# neither earlier nor later ADMSs have it -- esr)
+#
+# You will need to get into the supervisor setup before you can set
+# baudrate etc. for your ADM-12+. Press Shift-Ctrl-Setup and you should
+# see a lot more setup options.
+#
+# While in supervisor setup you can also use following codes:
+#
+# Ctrl-P Personality character selections (configure for example what
+#        arrow keys send, if I recall correctly)
+# Ctrl-T tabs 1-80   use left&right to move and up to set and
+# Ctrl-V tabs 81-158 down to clear tab. Shift-Ctrl-M sets right margin at cursor
+# Ctrl-B Binary setup (probably not needed. I think that everything can
+#        be set using normal setup)
+# Ctrl-A Answerback mode (enter answerback message)
+# Ctrl-U User friendly mode (normal setup)
+# Ctrl-D Defaults entire setup and function keys from EPROM tables
+# Ctrl-S Save both setup and functions keys. Takes from 6 to 10 seconds.
+# Ctrl-R Reads both setup and functions keys from NVM.
+# Shift-Ctrl-X Unlock keyboard and cancel received X-OFF status
+#
+# ADM-12+ supports hardware handshaking, but it is DTR/CTS as opposed to
+# RTS/CTS used nowadays with virtually every modem and computer. 19200
+# bps works fine with hardware flow control.
+#
+# The following null-modem cable should fix this and enable you to use
+# RTS/CTS handshaking (which Linux supports, use CRTSCTS setting). Also
+# set ADM-12+ for DTR handshaking from supervisor setup.
+#
+# PC Serial   ADM-12+
+#  --------   -------
+#         2 - 3
+#         3 - 2
+#         4 - 5
+#         5 - 20
+#       6,8 - 4
+#         7 - 7
+#        20 - 6,8
+#
+adm12|LSI adm12,
+	OTbs, OTpt, am, mir,
+	OTug#1, cols#80, it#8, lines#24,
+	bel=^G, clear=^Z, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, hts=\E1, ich1=\EQ, il1=\EE,
+	is2=\E0\s\s\s\s\s\s\s\s\E1\s\s\s\s\s\s\s\s\E1\s\s\s\s\s\s\s
+	    \s\E1\s\s\s\s\s\s\s\s\E1\s\s\s\s\s\s\s\s\E1\s\s\s\s\s\s
+	    \s\s\E1\s\s\s\s\s\s\s\s\E1\s\s\s\s\s\s\s\s\E1,
+	kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r,
+	kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r,
+	kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, rmir=\Er, smir=\Eq, tbc=\E0,
+	use=adm+sgr,
+# (adm20: removed obsolete ":kn#7:" -- esr)
+adm20|Lear Siegler adm20,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	bel=^G, cbt=\EI, clear=^Z, cr=\r, cub1=^H, cuf1=^L,
+	cup=\E=%i%p2%{31}%+%c%p1%{31}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, ht=^I, ich1=\EQ, il1=\EE,
+	kf1=^A, kf2=^B, kf3=^W, kf4=^D, kf5=^E, kf6=^X, kf7=^Z, rmso=\E(,
+	sgr0=\E(, smso=\E),
+adm21|Lear Siegler adm21,
+	xmc#1,
+	dch1=\EW, dl1=\ER$<30*>, ed=\EY, el=\ET, ich1=\EQ,
+	il1=\EE$<30*>, invis@, kbs=^H, khome=^^, use=adm+sgr,
+	use=adm3a,
+# (adm22: ":em=:" was an obvious typo for ":ei=:"; also,
+# removed obsolete ":kn#7:ma=j^Jk^P^K^Pl ^R^L^L :";
+# removed bogus-looking \200 from before <cup>. -- esr)
+adm22|LSI adm22,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, cbt=\EI, clear=\E+, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\Ey, el=\Et, home=^^, ht=\Ei, ich1=\EQ, il1=\EE,
+	is2=\E%\014\014\014\016\003\0\003\002\003\002\0\0\0\0\0\0\0
+	    \0\0\0\0,
+	kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, kf1=^A@\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, khome=^^, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5,
+	lf6=F6, lf7=F7, rmso=\E(, sgr0=\E(, smso=\E),
+# ADM 31 DIP Switches
+#
+# This information comes from two versions of the manual for the
+# Lear-Siegler ADM 31.
+#
+# Main board:
+#                  rear of case
+#   +-||||-------------------------------------+
+#   + S1S2                              ||S    +
+#   +                                   ||3    +
+#   +                                          +
+#   +                                ||S       +
+#   +                                ||4       +
+#   +                                          +
+#   +                                          +
+#   +                                          +
+#   +                                          +
+#   +                                          +
+# +-+                                          +-+
+# +                                              +
+# +                               S5 S6 S7       +
+# +                               == == ==       +
+# +----------------------------------------------+
+#            front of case (keyboard)
+#
+#  S1 - Data Rate - Modem
+#  S2 - Data Rate - Printer
+# ------------------------
+# Data Rate   Setting
+# -------------------
+# 50          0 0 0 0
+# 75          1 0 0 0
+# 110         0 1 0 0
+# 134.5       1 1 0 0
+# 150         0 0 1 0
+# 300         1 0 1 0
+# 600         0 1 1 0
+# 1200        1 1 1 0
+# 1800        0 0 0 1
+# 2000        1 0 0 1
+# 2400        0 1 0 1
+# 3600        1 1 0 1
+# 4800        0 0 1 1
+# 7200        1 0 1 1
+# 9600        0 1 1 1
+# x           1 1 1 1
+#
+# S3 - Interface/Printer/Attributes
+# ---------------------------------
+# Printer Busy Control
+# sw1   sw2   sw3
+# ---------------
+# off   off   off   Busy not active, CD disabled
+# off   off   on    Busy not active, CD enabled
+# off   on    off   Busy active on J5-20, CD disabled
+# on    off   off   Busy active on J5-19, CD disabled - Factory Set.
+# on    off   on    Busy active on J5-19, CD enabled
+#
+# sw4   Used in conjunction with S4 for comm interface control - Fact 0
+#
+# sw5   Secondary Channel Control (Hardware implementation only) - Fact 0
+#
+# sw6   ON enables printer BUSY active LOW - Factory Setting
+#       OFF enables printer BUSY active HIGH - If set to this, ADM31 senses
+#
+# sw7   ON - steady cursor - Factory Setting
+#       OFF - blinking cursor
+#
+# sw8   ON causes selected attribute character to be displayed
+#       OFF causes SPACE to be displayed instead - Factory Setting
+#
+# S4 - Interface
+# --------------
+# Modem Interface
+# S3    S4    S4    S4    S4
+# sw4   sw1   sw2   sw3   sw4
+# ---------------------------
+# OFF   ON    OFF   ON    OFF   Enable RS-232C interface, Direct Connect and
+#                               Current Loop disabled - Factory Setting
+# ON    ON    OFF   ON    OFF   Enable Current Loop interface, Direct Connect
+#                               disabled
+# OFF   OFF   ON    OFF   ON    Enable Direct Connect interface, RS-232C and
+#                               Current Loop Disabled
+#
+# sw5   ON disables dot stretching mode - Factory Setting
+#       OFF enables dot stretching mode
+# sw6   ON enables blanking function
+#       OFF enables underline function - Factory Setting
+# sw7   ON causes NULLS to be displayed as NULLS
+#       OFF causes NULLS to be displayed as SPACES - Factory Setting
+#
+# S5 - Word Structure
+# -------------------
+# sw1   ON enables BREAK key - Factory Setting
+#       OFF disables BREAK key
+# sw2   ON selects 50Hz monitor refresh rate
+#       OFF selects 60Hz monitor refresh rate - Factory Setting
+#
+# Modem Port Selection
+# sw3   sw4   sw5
+# ---------------
+# ON    ON    ON    Selects 7 DATA bits, even parity, 2 STOP bits
+# OFF   ON    ON    Selects 7 DATA bits, odd  parity, 2 STOP bits
+# ON    OFF   ON    Selects 7 DATA bits, even parity, 1 STOP bit - Factory Set.
+# OFF   OFF   ON    Selects 7 DATA bits, odd  parity, 1 STOP bit
+# ON    ON    OFF   Selects 8 DATA bits, no   parity, 2 STOP bits
+# OFF   ON    OFF   Selects 8 DATA bits, no   parity, 1 STOP bit
+# ON    OFF   OFF   Selects 8 DATA bits, even parity, 1 STOP bit
+# OFF   OFF   OFF   Selects 8 DATA bits, odd  parity, 1 STOP bit
+#
+# sw6   ON  sends bit 8 a 1 (mark)
+#       OFF sends bit 8 as 0 (space) - Factory Setting
+# sw7   ON  selects Block Mode
+#       OFF selects Conversation Mode - Factory Setting
+# sw8   ON  selects Full Duplex operation
+#       OFF selects Half Duplex operation - Factory Setting
+#
+# S6 - Printer
+# ------------
+# sw1, sw2, sw6, sw7   Reserved - Factory 0
+#
+# Printer Port Selection
+# same as Modem above, bit 8 (when 8 DATA bits) is always = 0
+#
+# sw8   ON   enables Printer Port
+#       OFF disables Printer Port - Factory Setting
+#
+# S7 - Polling Address
+# --------------------
+# sw1-7 Establish ASCII character which designates terminal polling address
+#       ON  = logic 0
+#       OFF = logic 1 - Factory Setting
+# sw8   ON   enables Polling Option
+#       OFF disables Polling Option - Factory Setting
+#
+#
+# On some older adm31s, S4 does not exist, and S5-sw6 is not defined.
+#
+# This adm31 entry uses underline as the standout mode.
+# If the adm31 gives you trouble with standout mode, check the DIP switch in
+# position 6, bank @c11, 25% from back end of the circuit board.  Should be
+# OFF.  If there is no such switch, you have an old adm31 and must use oadm31.
+# (adm31: removed obsolete ":ma=j^Jk^P^K^Pl ^R^L^L :" -- esr)
+adm31|LSI adm31 with sw6 set for underline mode,
+	OTbs, am, mir,
+	cols#80, lines#24,
+	bel=^G, clear=\E*, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, il1=\EE, ind=\n, is2=\Eu\E0,
+	kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r,
+	kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r,
+	kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, rmir=\Er, rmso=\EG0,
+	rmul=\EG0, sgr0=\EG0, smir=\Eq, smso=\EG1, smul=\EG1,
+adm31-old|o31|old adm31,
+	rmul@, smso=\EG4, smul@, use=adm31,
+# LSI ADM-36 from Col. George L. Sicherman <gloria!colonel> via BRL
+adm36|LSI ADM36,
+	OTbs, OTpt,
+	OTkn#4,
+	if=/usr/share/tabset/vt100,
+	is2=\E<\E>\E[6;?2;?7;?8h\E[4;20;?1;?3;?4;?5;?6;?18;?19l, use=vt100+4bsd,
+# (adm42: removed obsolete ":ma=^K^P:" -- esr)
+adm42|LSI adm42,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, cbt=\EI, clear=\E;, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	cvvis=\EC\E3 \E3(, dch1=\EW, dl1=\ER, ed=\EY, el=\ET, ht=^I,
+	il1=\EE$<270>, ind=\n, invis@, ip=$<6*>, kcub1=^H, kcud1=\n,
+	kcuf1=^L, kcuu1=^K, khome=^^, pad=^?, rmir=\Er, rmul@,
+	smir=\Eq, smul@, use=adm+sgr,
+# The following termcap for the Lear Siegler ADM-42 leaves the
+# "system line" at the bottom of the screen blank (for those who
+# find it distracting otherwise)
+adm42-ns|LSI adm-42 with no system line,
+	cbt=\EI\EF \011, clear=\E;\EF \011,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<6>\EF \011,
+	dch1=\EW\EF \011, dl1=\ER\EF \011, ed=\EY\EF \011,
+	el=\ET\EF \011, il1=\EE\EF \011, rmir=\Er\EF \011,
+	smir=\Eq\EF \011, use=adm42,
+# ADM 1178 terminal -- rather like an ADM-42.  Manual is dated March 1 1985.
+# The insert mode of this terminal is commented out because it's broken for our
+# purposes in that it will shift the position of every character on the page,
+# not just the cursor line!
+# From: Michael Driscoll <fenris@lightspeed.net> 10 July 1996
+adm1178|1178|LSI adm1178,
+	am,
+	cols#80, lines#24, xmc#1,
+	bel=^G, bold=\E(, cbt=\EI, clear=\E+, cr=\r, cub1=^H, cud1=\n,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	cvvis=\EC\E3 \E3(, dch1=\EW, dl1=\ER, ed=\EY, el=\ET,
+	home=^^, ht=^I, il1=\EE, ind=\n, ip=$<6*/>, kbs=^H, kcub1=^H,
+	kcud1=\n, nel=\r\n, pad=^?, rev=\EG4, rmso=\EG0, rmul=\EG0,
+	sgr0=\E), smso=\EG4, smul=\EG1,
+
+#### Prime
+#
+# Yes, Prime made terminals.  These entries were posted by Kevin J. Cummings
+# <cummings@primerd.prime.com> on 14 Dec 1992 and lightly edited by esr.
+# Prime merged with ComputerVision in the late 1980s; you can reach them at:
+#
+#	ComputerVision Services
+#	500 Old Connecticut Path
+#	Framingham, Mass.
+#
+
+# Standout mode is dim reverse-video.
+pt100|pt200|wren|fenix|Prime pt100/pt200,
+	am, bw, mir, msgr,
+	cols#80, it#8, lines#24,
+	cbt=\E[Z, clear=\E?, cr=\r, cub1=^H, cud1=\ED,
+	cup=\E0%p1%{33}%+%c%p2%{33}%+%c, cuu1=\EM,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, dl1=\E[M, ed=\E[J\E[r,
+	el=\E[K\E[t, flash=\E$$<200/>\E$P, home=\E$B, ht=^I,
+	il1=\E[L\E[t, ind=\n, khome=\E$A, nel=\r\n, rmcup=,
+	rmir=\E[4l, rmkx=\E[>13l, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smcup=\E[>1l\E[>2l\E[>16l\E[4l\E[>9l\E[20l\E[>3l\E[>7h\E[>12
+	      l\E[1Q,
+	smir=\E[4h, smkx=\E[>13h, smso=\E[2;7m, smul=\E[4m,
+	use=ansi+arrows, use=ansi+local,
+
+pt100w|pt200w|wrenw|fenixw|Prime pt100/pt200 in 132-column mode,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH, use=pt100,
+pt250|Prime PT250,
+	rmso@, smso@, use=pt100,
+pt250w|Prime PT250 in 132-column mode,
+	rmso@, smso@, use=pt100w,
+
+#### Qume (qvt)
+#
+#	Qume, Inc.
+#	3475-A North 1st Street
+#	San Jose CA 95134
+#	Vox: (800)-457-4447
+#	Fax: (408)-473-1510
+#	Net: josed@techsupp.wyse.com (Jose D'Oliveira)
+#
+# Qume was bought by Wyse, but still (as of early 1995) has its own support
+# group and production division.
+#
+# Discontinued Qume models:
+#
+# The qvt101 and qvt102 listed here are long obsolete; so is the qvt101+
+# built to replace them, and a qvt119+ which was a 101+ with available wide
+# mode (132 columns).  There was a qvt103 which added VT100/VT131 emulations
+# and an ANSI-compatible qvt203 that replaced it.  Qume started producing
+# ANSI-compatible terminals with the qvt323 and qvt61.
+#
+# Current Qume models (as of February 1995):
+#
+# All current Qume terminals have ANSI-compatible operation modes.
+# Qume is still producing the qvt62, which features emulations for other
+# popular lines such as ADDS, and dual-host capabilities.  The qvt82 is
+# designed for use as a SCO ANSI terminal.  The qvt70 is a color terminal
+# with many emulations including Wyse370, Wyse 325, etc.  Their newest
+# model is the qvt520, which is VT420-compatible.
+#
+# There are some ancient printing Qume terminals under `Daisy Wheel Printers'
+#
+# If you inherit a Qume without docs, try Ctrl-Shift-Setup to enter its
+# setup mode.  Shift-s should be a configuration save to NVRAM.
+
+qvt101|qvt108|Qume qvt 101 and QVT 108,
+	xmc#1, use=qvt101+,
+
+# This used to have <cvvis=\E.2> but no <cnorm> or <civis>.  The BSD termcap
+# file had <cvvis=\EM4 \200\200\200>.  I've done the safe thing and yanked
+# both. The <rev> is from BSD, which also claimed bold=\E( and dim=\E).
+# What seems to be going on here is that this entry was designed so that
+# the normal highlight is bold and standout is dim plus something else
+# (reverse-video maybe?  But then, are there two <rev> sequences?)
+#
+# Added kdch1, kil1, kdl1 based on screenshot -TD:
+#	http://www.vintagecomputer.net/qume/qvt-108/qume_qvt-108_keyboard.jpg
+qvt101+|qvt101p|Qume qvt 101 PLUS product,
+	am, bw, hs, ul,
+	cols#80, lines#24, xmc#0,
+	bel=^G, cbt=\EI, clear=^Z, cnorm=\E.4, cr=\r, cub1=^H, cud1=\n,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\EY, el=\ET,
+	flash=\Eb$<200>\Ed, fsl=\r, home=^^, ht=^I, hts=\E1,
+	ich1=\EQ, il1=\EE, ind=\n, invis@, kbs=^H, kcbt=\EI, kcub1=^H,
+	kcud1=\n, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r, kf3=^AB\r,
+	kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r,
+	kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, mc4=\EA, mc5=\E@,
+	rmso=\E(, smso=\E0P\E), tbc=\E3, tsl=\Eg\Ef, use=adm+sgr,
+qvt102|Qume qvt 102,
+	cnorm=\E., use=qvt101,
+# (qvt103: added <rmam>/<smam> based on init string -- esr)
+qvt103|Qume qvt 103,
+	am, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+	clear=\E[H\E[2J$<50>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
+	cuu1=\E[A$<2>, ed=\E[J$<50>, el=\E[K$<3>, home=\E[H, ht=^I,
+	hts=\EH, ind=\n, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	rev=\E[7m$<2>, ri=\EM$<5>, rmam=\E[?7l, rmkx=\E[?1l\E>,
+	rmso=\E[m$<2>, rmul=\E[m$<2>,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1
+	    %;m$<2>,
+	sgr0=\E[m$<2>, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[7m$<2>, smul=\E[4m$<2>, tbc=\E[3g, use=ansi+csr,
+	use=ansi+local,
+
+qvt103-w|Qume qvt103 132 cols,
+	cols#132, lines#24,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=qvt103,
+qvt119+|qvt119p|qvt119|Qume qvt 119 and 119PLUS terminals,
+	am, hs, mir, msgr,
+	cols#80, lines#24, xmc#0,
+	bel=^G, cbt=\EI, clear=\E*1, cnorm=\E.4, cr=\r, cub1=^H,
+	cud1=\n, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, cvvis=\E.2, dch1=\EW, dl1=\ER, dsl=\Eg\Ef\r, ed=\Ey,
+	el=\Et, flash=\En0$<200>\En1, fsl=\r, home=^^, ht=^I,
+	hts=\E1, il1=\EE, ind=\n, is2=\EDF\EC\EG0\Er\E(\E%EX,
+	kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, kf0=^AI\r,
+	kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	mc4=\EA, mc5=\E@, ri=\EJ, rmir=\Er, smir=\Eq, smul=\EG8,
+	tbc=\E3, tsl=\Eg\Ef, use=adm+sgr,
+qvt119+-25|qvt119p-25|QVT 119 PLUS with 25 data lines,
+	lines#25, use=qvt119+,
+qvt119+-w|qvt119p-w|qvt119-w|QVT 119 and 119 PLUS in 132 column mode,
+	cols#132,
+	is2=\EDF\EC\EG0\Er\E(\E%\EX\En4, use=qvt119+,
+qvt119+-25-w|qvt119p-25-w|qvt119-25-w|QVT 119 and 119 PLUS 132 by 25,
+	lines#25, use=qvt119+,
+qvt203|qvt203+|Qume qvt 203 Plus,
+	dch1=\E[P$<7>, dl1=\E[M$<99>, il1=\E[L$<99>, ind=\n$<30>,
+	ip=$<7>, kf0=\E[29~, kf1=\E[17~, kf2=\E[18~, kf3=\E[19~,
+	kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~,
+	kf9=\E[28~, rmir=\E[4l, smir=\E[4h, use=qvt103,
+qvt203-w|qvt203-w-am|Qume qvt 203 PLUS in 132 cols (w/advanced video),
+	cols#132, lines#24,
+	rs2=\E>\E[?3h\E[?4l\E[?5l\E[?8h, use=qvt203,
+#
+#	Since a command is present for enabling 25 data lines,
+#	a specific terminfo entry may be generated for the 203.
+#	If one is desired for the QVT 119 PLUS then 25 lines must
+#	be selected in the status line (setup line 9).
+#
+qvt203-25|QVT 203 PLUS with 25 by 80 column mode,
+	cols#80, lines#25,
+	is2=\E[=40h\E[?3l, use=qvt203,
+qvt203-25-w|QVT 203 PLUS with 25 by 132 columns,
+	cols#132, lines#25,
+	rs2=\E[?3h\E[=40h, use=qvt203,
+
+#### TeleVideo (tvi)
+#
+#	TeleVideo
+#	550 East Brokaw Road
+#	PO Box 49048    95161
+#	San Jose CA 95112
+#	Vox: (408)-954-8333
+#	Fax: (408)-954-0623
+#
+#
+# These require incredible amounts of padding.
+#
+# All of these terminals (912 to 970 and the tvipt) are discontinued.  Newer
+# TeleVideo terminals are ANSI and PC-ANSI compatible.
+
+tvi803|TeleVideo 803,
+	clear=\E*$<10>, use=tvi950,
+
+# Vanilla tvi910 -- W. Gish <cswarren@violet> 10/29/86
+# Switch settings are:
+#
+# S1  1 2 3 4
+#     D D D D  9600
+#     D D D U    50
+#     D D U D    75
+#     D D U U   110
+#     D U D D   135
+#     D U D U   150
+#     D U U D   300
+#     D U U U   600
+#     U D D D  1200
+#     U D D U  1800
+#     U D U D  2400
+#     U D U U  3600
+#     U U D D  4800
+#     U U D U  7200
+#     U U U D  9600
+#     U U U U 19200
+#
+# S1  5 6 7 8
+#     U D X D  7N1 (data bits, parity, stop bits) (X means ignored)
+#     U D X U  7N2
+#     U U D D  7O1
+#     U U D U  7O2
+#     U U U D  7E1
+#     U U U U  7E2
+#     D D X D  8N1
+#     D D X U  8N2
+#     D U D D  8O1
+#     D U U U  8E2
+#
+# S1  9  Autowrap
+#     U  on
+#     D  off
+#
+# S1 10  CR/LF
+#     U  do CR/LF when CR received
+#     D  do CR when CR received
+#
+# S2  1  Mode
+#     U  block
+#     D  conversational
+#
+# S2  2  Duplex
+#     U  half
+#     D  full
+#
+# S2  3  Hertz
+#     U  50
+#     D  60
+#
+# S2  4  Edit mode
+#     U  local
+#     D  duplex
+#
+# S2  5  Cursor type
+#     U  underline
+#     D  block
+#
+# S2  6  Cursor down key
+#     U  send ^J
+#     D  send ^V
+#
+# S2  7  Screen colour
+#     U  green on black
+#     D  black on green
+#
+# S2  8  DSR status (pin 6)
+#     U  disconnected
+#     D  connected
+#
+# S2  9  DCD status (pin 8)
+#     U  disconnected
+#     D  duplex
+#
+# S2 10  DTR status (pin 20)
+#     U  disconnected
+#     D  duplex
+# (tvi910: removed obsolete ":ma=^Kk^Ll^R^L:"; added <khome>, <cub1>, <cud1>,
+# <ind>, <hpa>, <vpa>, <am>, <msgr> from SCO entry -- esr)
+tvi910|TeleVideo model 910,
+	OTbs, am, msgr,
+	cols#80, it#8, lines#24, xmc#1,
+	bel=^G, cbt=\EI, clear=^Z, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EY, el=\ET,
+	home=\E=^A^A, hpa=\E]%p1%{32}%+%c, ht=^I,
+	if=/usr/share/tabset/stdcrt, ind=\n, invis@, kbs=^H,
+	kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, kf0=^AI\r, kf1=^A@\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	vpa=\E[%p1%{32}%+%c, use=adm+sgr,
+# From: Alan R. Rogers <rogers%albany@csnet-relay>
+# as subsequently hacked over by someone at SCO
+# (tvi910+: removed obsolete ":ma=^K^P^L :" -- esr)
+#
+# Here are the 910+'s DIP switches (U = up, D = down, X = don't care):
+#
+# S1  1 2 3 4:
+#     D D D D  9600     D D D U    50     D D U D    75     D D U U   110
+#     D U D D   135     D U D U   150     D U U D   300     D U U U   600
+#     U D D D  1200     U D D U  1800     U D U D  2400     U D U U  3600
+#     U U D D  4800     U U D U  7200     U U U D  9600     U U U U 19200
+#
+# S1  5 6 7 8:
+#     U D X D  7N1     U D X U  7N2     U U D D  7O1     U U D U  7O2
+#     U U U D  7E1     U U U U  7E2     D D X D  8N1     D D X U  8N2
+#     D U D D  8O1     D U U U  8E2
+#
+# S1  9  Autowrap            (U = on, D = off)
+# S1 10  CR/LF               (U = CR/LF on CR received, D = CR on CR received)
+# S2  1  Mode                (U = block, D = conversational)
+# S2  2  Duplex              (U =  half, D = full)
+# S2  3  Hertz               (U = 50, D = 60)
+# S2  4  Edit mode           (U = local, D = duplex)
+# S2  5  Cursor type         (U = underline, D = block)
+# S2  6  Cursor down key     (U = send ^J, D = send ^V)
+# S2  7  Screen colour       (U = green on black, D = black on green)
+# S2  8  DSR status (pin 6)  (U = disconnected, D = connected)
+# S2  9  DCD status (pin 8)  (U = disconnected, D = connected)
+# S2 10  DTR status (pin 20) (U = disconnected, D = connected)
+#
+tvi910+|TeleVideo 910+,
+	dch1=\EW, dl1=\ER$<33*>, home=^^, ich1=\EQ, il1=\EE$<33*>,
+	kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r, kf4=^AD\r,
+	kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, kf9=^AI\r,
+	ll=\E=7\s, use=tvi910,
+
+# (tvi912: removed obsolete ":ma=^K^P^L :", added  <flash> and
+# <khome> from BRL entry -- esr)
+tvi912|tvi914|tvi920|TeleVideo 912/914/920 (old),
+	OTbs, OTpt, am, msgr,
+	cols#80, it#8, lines#24, xmc#1,
+	bel=^G, clear=^Z, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER$<33*>, ed=\Ey, el=\ET, flash=\Eb$<50/>\Ed, home=^^,
+	ht=^I, hts=\E1, ich1=\EQ, if=/usr/share/tabset/stdcrt,
+	il1=\EE$<33*>, ind=\n, kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^L,
+	kcuu1=^K, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r,
+	kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r,
+	kf9=^AH\r, khome=^^, rmso=\Ek, rmul=\Em, smso=\Ej, smul=\El,
+	tbc=\E3,
+# We got some new tvi912c terminals that act really weird on the regular
+# termcap, so one of our gurus worked this up. Seems that cursor
+# addressing is broken.
+tvi912cc|tvi912 at Cowell College,
+	cup@, use=tvi912c,
+
+# tvi{912,920}[bc] - TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C
+# From: Benjamin C. W. Sittler
+#
+# Someone has put a scanned copy of the manual online at:
+#     http://vt100.net/televideo/912b-om/
+#     (https://vt100.net/manx/details/6,5484)
+#
+# These terminals were produced ca. 1979, and had a 12" monochrome
+# screen, supported 75-9600 baud (no handshaking), monochrome, 7-bit
+# ASCII, and were generally similar to adm3a but with attributes
+# (including some with magic cookies), fancy half-duplex mode, and
+# different bugs.
+#
+# Some operations require truly incredible amounts of padding. The
+# insert_line (<il1>) and delete_line (<dl1>) operations in particular
+# are so slow as to be nearly unusable.
+#
+# There may or may not have been a separate, earlier series of 912/920
+# terminals (without the "B" and "C" suffix); I have never seen one,
+# and the manual only describes the "B" and "C" series. The 912 and 920
+# are quite distinct from the 914 and 924, which were much nicer non-
+# magic-cookie terminals similar to the 950.
+#
+# This is a new description for the following TeleVideo terminals,
+# distinguished chiefly by their keyboards:
+#
+#   TVI-912B - very odd layout, no function keys (84 keys)
+#   TVI-920B - typewriter layout, no function keys (103 keys)
+#   TVI-912C - very odd layout, function keys F1-F11 (82 keys)
+#   TVI-920C - typewriter layout, function keys F1-F11 (101 keys)
+#
+# To choose a setting for the TERM variable, start with the model:
+#
+#    Model  || base name
+# ----------||-----------
+#  TVI-912B || tvi912b
+#  TVI-912C || tvi912c
+#  TVI-920B || tvi920b
+#  TVI-920C || tvi920c
+#
+# Then add a suffix from the following table describing installed options
+# and how you'd like to use the terminal:
+#
+#   Use Video | Second | Visual |  Magic  |  Page || feature
+#  Attributes |  Page  |  Bell  | Cookies | Print || suffix
+# ------------|--------|--------|---------|-------||---------
+#      No     |   No   |  N/A   |   N/A   |   No  || -unk
+#      No     |   No   |  N/A   |   N/A   |  Yes  || -p
+#      No     |  Yes   |   No   |   N/A   |   No  || -2p-unk
+#      No     |  Yes   |   No   |   N/A   |  Yes  || -2p-p
+#      No     |  Yes   |  Yes   |   N/A   |   No  || -vb-unk
+#      No     |  Yes   |  Yes   |   N/A   |  Yes  || -vb-p
+#     Yes     |   No   |  N/A   |    No   |  N/A  ||
+#     Yes     |   No   |  N/A   |   Yes   |  N/A  || -mc
+#     Yes     |  Yes   |   No   |    No   |  N/A  || -2p
+#     Yes     |  Yes   |   No   |   Yes   |  N/A  || -2p-mc
+#     Yes     |  Yes   |  Yes   |    No   |  N/A  || -vb
+#     Yes     |  Yes   |  Yes   |   Yes   |  N/A  || -vb-mc
+#
+# So e.g. a model 920 C with second page memory option, visual bell
+# and no magic cookies would be tvi920c-vb; a model 912 B without the
+# second page memory option and using magic cookies would be
+# tvi912b-mc
+#
+# PADDING
+#
+# At 9600 baud, the terminal is prone to overflow its input buffer
+# during complex operations (insert/delete
+# character/line/screen/page), and it does not signal this over the
+# RS232 cable. The typical symptom of an overrun is that the terminal
+# starts beeping, and output becomes garbled.
+#
+# The padding delays in this terminfo were derived using tack(1)
+# running on a Linux box connected to a TVI-920C with a later-model
+# (A49C1-style) ROM running at 9600 baud, so your mileage may
+# vary. The numbers below seem to give the terminal enough time so
+# that it doesn't overflow its input buffer and start losing
+# characters.
+#
+# KEYS
+#
+# If you want to use the FUNCT key on a tvi912[bc], use the
+# corresponding tvi920[bc] terminfo with FUNCT + ... equivalents from
+# the following table (these also work on the 920 series):
+#
+# Unshifted Function Keys:
+#
+#  Key | capname|| Equivalent
+# -----|--------||------------
+#   F1 |  <kf1> || FUNCT + @
+#   F2 |  <kf2> || FUNCT + A
+#   F3 |  <kf3> || FUNCT + B
+#   F4 |  <kf4> || FUNCT + C
+#   F5 |  <kf5> || FUNCT + D
+#   F6 |  <kf6> || FUNCT + E
+#   F7 |  <kf7> || FUNCT + F
+#   F8 |  <kf8> || FUNCT + G
+#   F9 |  <kf9> || FUNCT + H
+#  F10 | <kf10> || FUNCT + I
+#  F11 | <kf11> || FUNCT + J
+#
+# Shifted Function Keys:
+#
+#  SHIFT + Key | capname|| Equivalent
+# -------------|--------||------------
+#   SHIFT + F1 | <kf12> || FUNCT + `
+#   SHIFT + F2 | <kf13> || FUNCT + a
+#   SHIFT + F3 | <kf14> || FUNCT + b
+#   SHIFT + F4 | <kf15> || FUNCT + c
+#   SHIFT + F5 | <kf16> || FUNCT + d
+#   SHIFT + F6 | <kf17> || FUNCT + e
+#   SHIFT + F7 | <kf18> || FUNCT + f
+#   SHIFT + F8 | <kf19> || FUNCT + g
+#   SHIFT + F9 | <kf20> || FUNCT + h
+#  SHIFT + F10 | <kf21> || FUNCT + i
+#  SHIFT + F11 | <kf22> || FUNCT + j
+#
+# PORTS AND SWITCH SETTINGS
+#
+# Here are the switch settings for the TVI-912B/TVI-920B and
+# TVI-912C/TVI-920C:
+#
+# S1 (Line), and S3 (Printer) baud rates -- put one, and only one, switch down:
+# 2: 9600	3: 4800		4: 2400		5: 1200
+# 6:  600	7:  300		8:  150		9:   75
+# 10: 110
+#
+# S2 UART/Terminal options:
+#		Up			Down
+# 1:		Not used		Not allowed
+# 2:	Alternate character set	  Standard character set
+# 3:	    Full duplex		    Half duplex
+# 4:	    50 Hz refresh	    60 Hz refresh
+# 5:	      No parity		     Send parity
+# 6:	     2 stop bits	     1 stop bit
+# 7:	     8 data bits	     7 data bits
+# 8:		Not used		Not allowed on Rev E or lower
+# 9:	     Even parity	     Odd parity
+# 10:	    Steady cursor	    Blinking cursor
+#	(On Rev E or lower, use W25 instead of switch 10.)
+#
+# S5 UART/Terminal options:
+#		Open			Closed
+# 1:	P3-6 Not connected	DSR received on P3-6
+# 2:	P3-8 Not connected	DCD received on P3-8
+#
+# 3 Open, 4 Open:		P3-20 Not connected
+# 3 Open, 4 Closed:	DTR on when terminal is on
+# 3 Closed, 4 Open:	DTR is connected to RTS
+# 3 Closed, 4 Closed:	Not allowed
+#
+# 5 Closed:	HDX printer (hardware control) Rev. K with extension port off,
+#		all data transmitted out of the modem port (P3) will also be
+#		transmitted out of the printer port (P4).
+#
+# 6 Open, 7 Open:		Not allowed
+# 6 Open, 7 Closed:	20ma current loop input
+# 6 Closed, 7 Open:	RS232 input
+# 6 Closed, 7 Closed:	Not allowed
+#
+# Jumper options:
+# If the jumper is installed, the effect will occur (the next time the terminal
+# is switched on).
+#
+# S4/W31:	Enables automatic LF upon receipt of CR from
+#		remote or keyboard.
+# S4/W32:	Enables transmission of EOT at the end of Send.  If not
+#		installed, a carriage return is sent.
+# S4/W33:	Disables automatic carriage return in column 80.
+# S4/W34:	Selects Page Print Mode as initial condition.  If not
+#		installed, Extension Mode is selected.
+#
+# NON-STANDARD CAPABILITIES
+#
+# Sending <u9> or <u7> returns a cursor position report in the format
+# YX\r, where Y and X are as in <cup>. This format is described in
+# <u8> and <u6>, but it's not clear how one should write an
+# appropriate scanf string, since we need to subtract %' ' from the
+# character after reading it. The <u9> capability is used by tack(1)
+# to synchronize during padding tests, and seems to work for that
+# purpose.
+#
+# This description also includes the obsolete termcap capabilities
+# has_hardware_tabs (<OTpt>) and backspaces_with_bs (<OTbs>).
+#
+# FEATURES NOT YET DESCRIBED IN THIS TERMINFO
+#
+# The FUNCT modifier actually works with every normal key by sending
+# ^AX\r, where X is the sequence normally sent by that key. This is a
+# sort of meta key not currently describable in terminfo.
+#
+# There are quite a few other keys (especially on the 920 models,) but
+# they are for the most part only useful in block mode.
+#
+# These terminals have lots of forms manipulation features, mainly
+# useful in block mode, including "clear X to nulls" (vs. "clear X to
+# spaces"; nulls are sentinels for "send X" operations); "send X"
+# operations for uploading all or part of the screen; and block-mode
+# editing keys (they don't send escape sequences, but manipulate video
+# memory directly). Block mode is used for local editing, and protect
+# mode (in conjunction with the "write protect" attribute,
+# a.k.a. half-intensity outside of protect mode) is used to control
+# which parts of the screen are edited/sent/printed (by <mc0>).
+#
+# There are at least two major families of ROM, "early" and
+# A49B1/A49C1; the major difference seems to be that the latter ROMs
+# support a few extra escape sequences for manipulating the off-screen
+# memory page, and for sending whole pages back to the host (mainly
+# useful in block mode.) The descriptions in this file don't use any
+# of those sequences: set cursor position including page (\E-PYX,
+# where P is \s for page 0 and ! for page 1 [actually only the LSB of
+# P is taken into account, so e.g. 0 and 1 work too,] and Y and X are
+# as in <cup>); read cursor position (\E/), which is analogous to <u9>
+# and returns PYX\r, where P is \s for page 0 or ! for page 1, and YX
+# are as in <cup>, and some "send page" features mainly useful for
+# forms manipulation.
+#
+# The keyboard enable (\E") and disable (\E#) sequences are unused,
+# except that a terminal reset (<is2>) enables the keyboard.
+#
+# Auto-flip mode (\Ev) is likely faster than the scrolling mode (\Ew)
+# enabled in <is2>, but auto-flip is very jarring so we don't use it.
+#
+# BUGS
+#
+# At least up to the A49B1 and A49C1 ROMs, there are no \Eb and \Ed
+# sequences (I infer that in some TeleVideo terminal they may invert
+# and uninvert the display) so the <flash> sequence given here is a
+# cheesy page-flip instead.
+#
+# The back_tab (<cbt>) sequence (\EI) doesn't work according to
+# tack(1), so it is not included in the descriptions below.
+#
+# It's not clear whether auto_left_margin (<bw>) flag should be set
+# for these terminals; tack says yes, so it is set here, but this
+# differs from other descriptions I've seen.
+#
+# Extension print mode (<mc5>) echoes all characters to the printer
+# port [in addition to displaying them] except for the page print mode
+# sequence (<mc4>); this is a slight violation of the terminfo
+# definition for <mc5> but I don't expect it to cause problems.  We
+# reset to page print mode in <rs1> since it may have been enabled
+# accidentally.
+#
+# The descriptions with plus signs (+) are building blocks.
+
+tvi912b-unk|tvi912c-unk|TeleVideo TVI-912B or TVI-912C (no attributes),
+	OTbs, OTpt, am, bw,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\032$<50>, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%' '%+%c%p2%' '%+%c, cuu1=^K, dch1=\EW$<30>,
+	dl1=\ER$<1*>$<100>, ed=\Ey$<2*>$<10>, el=\ET$<15>,
+	home=^^, ht=^I, hts=\E1, ich1=\EQ$<30>,
+	if=/usr/share/tabset/stdcrt, il1=\EE$<1*>$<100>,
+	ind=\n$<10>, is2=\Ew\EA\E'\E"\E(, kcub1=^H, kcud1=\n,
+	kcuf1=^L, kcuu1=^K, kdch1=^?, kent=\r, khome=^^, mc4=\EA,
+	mc5=\E@, rs1=\Ek\010\Em\010\Eq\032, tbc=\E3, u6=%c%c\r,
+	u7=\E?, u8=%c%c\r, u9=\E?,
+
+# This isn't included in the basic capabilities because it is
+# typically unusable in combination with the full range of video
+# attributes, since the magic cookie attributes turn into ASCII
+# control characters, and the half-intensity ("protected") attribute
+# converts all affected characters to spaces.
+
+tvi912b+printer|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C page print support,
+	mc0=\EP,
+
+# This uses half-intensity mode (<dim>) for standout (<smso>), and
+# exposes no other attributes (half-intensity is the only attribute
+# that does not generate a magic cookie.)
+
+tvi912b+dim|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C half-intensity attribute support,
+	msgr,
+	dim=\E), rmso=\E(, sgr=\E%?%p1%p5%|%t)%e(%;, sgr0=\E(,
+	smso=\E),
+
+# Full magic-cookie attribute support, with half-intensity reverse
+# video for standout. Note that we add a space in the <dim> sequence
+# to give a consistent magic-cookie count. Also note that <sgr> uses
+# backspacing (in the TVI-supported order) to apply all requested
+# attributes with only a single magic cookie.
+
+tvi912b+mc|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C full magic-cookie attribute support,
+	xmc#1,
+	blink=\E\^, dim=\E)\s, invis=\E_, rev=\Ej, rmso=\E(\Ek,
+	rmul=\Em,
+	sgr=\E%?%p1%p5%|%t)%e(%;\s\010\E%?%p1%p3%|%tj%ek%;\010\E%?
+	    %p2%tl%em%;\010\E%?%p7%t_%e%?%p4%t\^%eq%;%;,
+	sgr0=\E(\Ek\010\Em\010\Eq, smso=\E)\Ej, smul=\El,
+
+# This uses the second page memory option to save & restore screen
+# contents. If your terminal is missing the option, this description
+# should still work, but that has not been tested.
+
+tvi912b+2p|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option support,
+	flash=\EK$<100>\EK, rmcup=\032$<50>\EK\E=7\s,
+	smcup=\EK\032$<50>\E(\Ek\010\Em\010\Eq\032$<50>,
+
+# This simulates flashing by briefly toggling to the other page
+# (kludge!)
+
+tvi912b+vb|TeleVideo TVI-912B/TVI-920B and TVI-912C/TVI-920C second page memory option "visible bell" support,
+	bel=\EK$<100>\EK, use=tvi912b+2p,
+
+# Function keys (<kf12> .. <kf22> are shifted <kf1> .. <kf11>)
+
+tvi920b+fn|TeleVideo TVI-920B and TVI-920C function key support,
+	kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^A`\r, kf13=^Aa\r,
+	kf14=^Ab\r, kf15=^Ac\r, kf16=^Ad\r, kf17=^Ae\r, kf18=^Af\r,
+	kf19=^Ag\r, kf2=^AA\r, kf20=^Ah\r, kf21=^Ai\r, kf22=^Aj\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r,
+
+# Combinations of the basic building blocks
+
+tvi912b-2p-unk|tvi912c-2p-unk|tvi912b-unk-2p|tvi912c-unk-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes),
+	use=tvi912b+2p, use=tvi912b-unk,
+
+tvi912b-vb-unk|tvi912c-vb-unk|tvi912b-unk-vb|tvi912c-unk-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes),
+	use=tvi912b+vb, use=tvi912b-unk,
+
+tvi912b-p|tvi912c-p|TeleVideo TVI-912B or TVI-912C (no attributes; page print),
+	use=tvi912b+printer, use=tvi912b-unk,
+
+tvi912b-2p-p|tvi912c-2p-p|tvi912b-p-2p|tvi912c-p-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; no attributes; page print),
+	use=tvi912b+2p, use=tvi912b+printer, use=tvi912b-unk,
+
+tvi912b-vb-p|tvi912c-vb-p|tvi912b-p-vb|tvi912c-p-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; no attributes; page print),
+	use=tvi912b+vb, use=tvi912b+printer, use=tvi912b-unk,
+
+tvi912b-2p|tvi912c-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; half-intensity attribute),
+	use=tvi912b+2p, use=tvi912b+dim, use=tvi912b-unk,
+
+tvi912b-2p-mc|tvi912c-2p-mc|tvi912b-mc-2p|tvi912c-mc-2p|TeleVideo TVI-912B or TVI-912C (second page memory option; magic cookies),
+	use=tvi912b+2p, use=tvi912b+mc, use=tvi912b-unk,
+
+tvi912b-vb|tvi912c-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; half-intensity attribute),
+	use=tvi912b+vb, use=tvi912b+dim, use=tvi912b-unk,
+
+tvi912b-vb-mc|tvi912c-vb-mc|tvi912b-mc-vb|tvi912c-mc-vb|TeleVideo TVI-912B or TVI-912C (second page memory option "visible bell"; magic cookies),
+	use=tvi912b+vb, use=tvi912b+mc, use=tvi912b-unk,
+
+tvi912b|tvi912c|TeleVideo TVI-912B or TVI-912C (half-intensity attribute),
+	use=tvi912b+dim, use=tvi912b-unk,
+
+tvi912b-mc|tvi912c-mc|TeleVideo TVI-912B or TVI-912C (magic cookies),
+	use=tvi912b+mc, use=tvi912b-unk,
+
+tvi920b-unk|tvi920c-unk|TeleVideo TVI-920B or TVI-920C (no attributes),
+	use=tvi920b+fn, use=tvi912b-unk,
+
+tvi920b-2p-unk|tvi920c-2p-unk|tvi920b-unk-2p|tvi920c-unk-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes),
+	use=tvi920b+fn, use=tvi912b+2p, use=tvi912b-unk,
+
+tvi920b-vb-unk|tvi920c-vb-unk|tvi920b-unk-vb|tvi920c-unk-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes),
+	use=tvi920b+fn, use=tvi912b+vb, use=tvi912b-unk,
+
+tvi920b-p|tvi920c-p|TeleVideo TVI-920B or TVI-920C (no attributes; page print),
+	use=tvi920b+fn, use=tvi912b+printer, use=tvi912b-unk,
+
+tvi920b-2p-p|tvi920c-2p-p|tvi920b-p-2p|tvi920c-p-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; no attributes; page print),
+	use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+printer,
+	use=tvi912b-unk,
+
+tvi920b-vb-p|tvi920c-vb-p|tvi920b-p-vb|tvi920c-p-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; no attributes; page print),
+	use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+printer,
+	use=tvi912b-unk,
+
+tvi920b-2p|tvi920c-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; half-intensity attribute),
+	use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+dim,
+	use=tvi912b-unk,
+
+tvi920b-2p-mc|tvi920c-2p-mc|tvi920b-mc-2p|tvi920c-mc-2p|TeleVideo TVI-920B or TVI-920C (second page memory option; magic cookies),
+	use=tvi920b+fn, use=tvi912b+2p, use=tvi912b+mc,
+	use=tvi912b-unk,
+
+tvi920b-vb|tvi920c-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; half-intensity attribute),
+	use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+dim,
+	use=tvi912b-unk,
+
+tvi920b-vb-mc|tvi920c-vb-mc|tvi920b-mc-vb|tvi920c-mc-vb|TeleVideo TVI-920B or TVI-920C (second page memory option "visible bell"; magic cookies),
+	use=tvi920b+fn, use=tvi912b+vb, use=tvi912b+mc,
+	use=tvi912b-unk,
+
+tvi920b|tvi920c|TeleVideo TVI-920B or TVI-920C (half-intensity attribute),
+	use=tvi920b+fn, use=tvi912b+dim, use=tvi912b-unk,
+
+tvi920b-mc|tvi920c-mc|TeleVideo TVI-920B or TVI-920C (magic cookies),
+	use=tvi920b+fn, use=tvi912b+mc, use=tvi912b-unk,
+
+# TeleVideo 921 and variants
+# From: Tim Theisen <tim@cs.wisc.edu> 22 Sept 1995
+# (tvi921: removed :ko=bt: before translation, I see no backtab cap;
+# also added empty <acsc> to suppress tic warning -- esr)
+tvi921|TeleVideo model 921 with sysline same as page & real vi function,
+	OTbs, OTpt, am, hs, xenl, xhp,
+	cols#80, lines#24, xmc#0,
+	acsc=, clear=^Z, cnorm=\E.3, cr=\r, cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<3/>, cuu1=^K,
+	cvvis=\E.2, dch1=\EW, dl1=\ER$<1*/>, dsl=\Ef\r\Eg, ed=\EY,
+	el=\ET, fsl=\Eg, home=^^, ht=^I, ich1=\EQ,
+	if=/usr/share/tabset/stdcrt, il1=\EE, ind=\n, invis@,
+	is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z, kcub1=^H,
+	kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER$<1*/>,
+	ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE, nel=\r\n, rmacs=\E%%,
+	rmir=, smacs=\E$, smir=, tsl=\Ef\EG0, use=adm+sgr,
+# without the beeper
+# (tvi92B: removed :ko=bt: before translation, I see no backtab cap;
+# also added empty <acsc> to suppress tic warning -- esr)
+tvi92B|TeleVideo model 921 with sysline same as page & real vi function & no beeper,
+	am, hs, xenl, xhp,
+	cols#80, lines#24, xmc#0,
+	acsc=, clear=^Z, cnorm=\E.3, cr=\r, cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<3/>, cuu1=^K,
+	cvvis=\E.2, dch1=\EW, dl1=\ER$<1*/>, dsl=\Ef\r\Eg, ed=\EY,
+	el=\ET, flash=\Eb$<200/>\Ed, fsl=\Eg, home=^^, ht=^I,
+	ich1=\EQ, if=/usr/share/tabset/stdcrt, il1=\EE, ind=\n,
+	invis@, is2=\El\E"\EF1\E.3\017\EA\E<, kbs=^H, kclr=^Z,
+	kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW,
+	kdl1=\ER$<1*/>, ked=\EY, kel=\ET, kich1=\EQ, kil1=\EE,
+	nel=\r\n, rmacs=\E%%, smacs=\E$, tsl=\Ef\EG0, use=adm+sgr,
+# (tvi92D: removed :ko=bt: before translation, I see no backtab cap -- esr)
+tvi92D|tvi92B with DTR instead of XON/XOFF & better padding,
+	dl1=\ER$<2*/>, il1=\EE$<2*/>,
+	is2=\El\E"\EF1\E.3\016\EA\E<, kdl1=\ER$<2*/>,
+	kil1=\EE$<2*/>, use=tvi92B,
+
+# (tvi924: This used to have <dsl=\Es0>, <fsl=\031>.  I put the new strings
+# in from a BSD termcap file because it looks like they do something the
+# old ones skip -- esr)
+tvi924|TeleVideo tvi924,
+	am, bw, hs, in, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, wsl#80, xmc#0,
+	bel=^G, blink=\EG2, cbt=\EI, civis=\E.0, clear=\E*0,
+	cnorm=\E.3, cr=\r, csr=\E_%p1%{32}%+%c%p2%{32}%+%c,
+	cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, cvvis=\E.1,
+	dch1=\EW, dl1=\ER, dsl=\Es0\Ef\031, ed=\Ey, el=\Et,
+	flash=\Eb$<200>\Ed, fsl=\031\Es1, home=^^, ht=^I, hts=\E1,
+	ich1=\EQ, if=/usr/share/tabset/stdcrt, il1=\EE, ind=\n,
+	invis@, is1=\017\E%\E'\E(\EDF\EC\EG0\EN0\Es0\Ev0,
+	kbs=^H, kclr=\E*0, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K,
+	kdch1=\EW, kdl1=\ER, ked=\Ey, kel=\Et, kf0=^A@\r, kf1=^AA\r,
+	kf10=^AJ\r, kf11=^AK\r, kf12=^AL\r, kf13=^AM\r, kf14=^AN\r,
+	kf15=^AO\r, kf2=^AB\r, kf3=^AC\r, kf4=^AD\r, kf5=^AE\r,
+	kf6=^AF\r, kf7=^AG\r, kf8=^AH\r, kf9=^AI\r, khome=^^,
+	kich1=\EQ, kil1=\EE, lf0=F1, lf1=F2, lf10=F11, lf2=F3, lf3=F4,
+	lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9, lf9=F10,
+	pfkey=\E|%p1%{49}%+%c%p2%s\031, ri=\Ej, tbc=\E3, tsl=\Ef,
+	use=adm+sgr,
+
+# TVI925 DIP switches.  In each of these, D = Down and U = Up,
+#
+# Here are the settings for the external (baud) switches (S1):
+#
+#             Position		Baud
+# 7	8	9	10		[Printer]
+# 1	2	3	4		[Main RS232]
+# -----------------------------------------------------
+# D	D	D	D	9600
+# D	D	D	U	  50
+# D	D	U	D	  75
+# D	D	U	U	 110
+# D	U	D	D	 135
+# D	U	D	U	 150
+# D	U	U	D	 300
+# D	U	U	U	 600
+# U	D	D	D	1200
+# U	D	D	U	1800
+# U	D	U	D	2400
+# U	D	U	U	3600
+# U	U	D	D	4800
+# U	U	D	U	7200
+# U	U	U	D	9600
+# U	U	U	U	19200
+#
+#
+# Settings for word length and stop-bits (S1)
+#
+#  Position	Description
+# 5	6
+# ---------------------------
+# U	-	7-bit word
+# D	-	8-bit word
+# -	U	2 stop bits
+# -	D	1 stop bit
+#
+#
+# S2 (external) settings
+#
+# Position	Up	Dn	Description
+# --------------------------------------------
+# 1		X		Local edit
+#			X	Duplex edit (transmit editing keys)
+# --------------------------------------------
+# 2		X		912/920 emulation
+#			X	925
+# --------------------------------------------
+# 3			X
+# 4			X	No parity
+# 5			X
+# --------------------------------------------
+# 3			X
+# 4			X	Odd parity
+# 5		X
+# --------------------------------------------
+# 3			X
+# 4		X		Even parity
+# 5		X
+# --------------------------------------------
+# 3		X
+# 4			X	Mark parity
+# 5		X
+# --------------------------------------------
+# 3		X
+# 4		X		Space parity
+# 5		X
+# --------------------------------------------
+# 6		X		White on black display
+#			X	Black on white display
+# --------------------------------------------
+# 7			X	Half Duplex
+# 8			X
+# --------------------------------------------
+# 7		X		Full Duplex
+# 8			X
+# --------------------------------------------
+# 7			X	Block mode
+# 8		X
+# --------------------------------------------
+# 9			X	50 Hz
+#		X		60 Hz
+# --------------------------------------------
+# 10		X		CR/LF (Auto LF)
+#			X	CR only
+#
+# S3 (internal switch) settings:
+#
+# Position	Up	Dn	Description
+# --------------------------------------------
+# 1		X		Keyclick off
+#			X	Keyclick on
+# --------------------------------------------
+# 2			X	English
+# 3			X
+# --------------------------------------------
+# 2			X	German
+# 3		X
+# --------------------------------------------
+# 2		X		French
+# 3			X
+# --------------------------------------------
+# 2		X		Spanish
+# 3		X
+# --------------------------------------------
+# 4			X	Blinking block cursor
+# 5			X
+# --------------------------------------------
+# 4			X	Blinking underline cursor
+# 5		X
+# --------------------------------------------
+# 4		X		Steady block cursor
+# 5			X
+# --------------------------------------------
+# 4		X		Steady underline cursor
+# 5		X
+# --------------------------------------------
+# 6		X		Screen blanking timer (ON)
+#			X	Screen blanking timer (OFF)
+# --------------------------------------------
+# 7		X		Page attributes
+#			X	Line attributes
+# --------------------------------------------
+# 8		X		DCD disconnected
+#			X	DCD connected
+# --------------------------------------------
+# 9		X		DSR disconnected
+#			X	DSR connected
+# --------------------------------------------
+# 10		X		DTR Disconnected
+#			X	DTR connected
+# --------------------------------------------
+#
+# (tvi925: BSD has <clear=\E*>.  I got <is2> and <ri> from there -- esr)
+tvi925|TeleVideo 925,
+	OTbs, am, bw, hs, ul,
+	cols#80, lines#24, xmc#1,
+	bel=^G, cbt=\EI, clear=^Z, cnorm=\E.4, cr=\r, cub1=^H, cud1=^V,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	cvvis=\E.2, dch1=\EW, dl1=\ER, dsl=\Eh, ed=\EY, el=\ET,
+	flash=\Eb$<200>\Ed, fsl=\r\Eg, home=^^, ht=^I, hts=\E1,
+	ich1=\EQ, il1=\EE, ind=\n, invis@, is2=\El\E", kbs=^H, kclr=^Z,
+	kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER,
+	ked=\EY, kel=\ET, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r,
+	kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r,
+	kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, ri=\Ej, tbc=\E3,
+	tsl=\Eh\Ef, use=adm+sgr,
+# TeleVideo 925 from Mitch Bradley <sun!wmb> via BRL
+# to avoid "magic cookie" standout glitch:
+tvi925-hi|TeleVideo Model 925 with half intensity standout mode,
+	xmc@,
+	kcud1=\n, rmso=\E(, smso=\E), use=tvi925,
+
+# From: Todd Litwin <litwin@litwin.jpl.nasa.gov> 28 May 1993
+# Originally Tim Curry, Univ. of Central Fla., <duke!ucf-cs!tim> 5/21/82
+# for additional capabilities,
+# The following tvi descriptions from B:pjphar and virus!mike
+# is for all 950s.  It sets the following attributes:
+# full duplex (\EDF)		write protect off (\E()
+# conversation mode (\EC)	graphics mode off (\E%)
+# white on black (\Ed)		auto page flip off (\Ew)
+# turn off status line (\Eg)	clear status line (\Ef\r)
+# normal video (\E0)		monitor mode off (\EX or \Eu)
+# edit mode (\Er)		load blank char to space (\Ee\040)
+# line edit mode (\EO)		enable buffer control (^O)
+# protect mode off (\E\047)	duplex edit keys (\El)
+# program unshifted send key to send line all (\E016)
+# program shifted send key to send line unprotected (\E004)
+# set the following to nulls:
+#	field delimiter (\Ex0\200\200)
+#	line delimiter (\Ex1\200\200)
+#	start-protected field delimiter (\Ex2\200\200)
+#	end-protected field delimiter (\Ex3\200\200)
+# set end of text delimiter to carriage return/null (\Ex4\r\200)
+#
+#                     TVI 950 Switch Setting Reference Charts
+#
+#                                     TABLE 1:
+#
+#      S1     1     2     3     4     5     6     7     8     9    10
+#          +-----------------------+-----+-----+-----------------------+
+#          | Computer Baud Rate    |Data |Stop | Printer Baud Rate     |
+#          |                       |Bits |Bits |                       |
+#   +------+-----------------------+-----+-----+-----------------------+
+#   |  Up  |        See            |  7  |  2  |        See            |
+#   +------+-----------------------+-----+-----+-----------------------+
+#   | Down |      TABLE 2          |  8  |  1  |      TABLE 2          |
+#   +------+-----------------------+-----+-----+-----------------------+
+#
+#
+#      S2     1     2     3     4     5     6     7     8     9    10
+#          +-----+-----+-----------------+-----+-----------+-----+-----+
+#          |Edit |Cursr|    Parity       |Video|Transmiss'n| Hz  |Click|
+#   +------+-----+-----+-----------------+-----+-----------+-----+-----+
+#   |  Up  | Dplx|Blink|      See        |GonBk|   See     | 60  | Off |
+#   +------+-----+-----+-----------------+-----+-----------+-----+-----+
+#   | Down |Local|St'dy|    TABLE 3      |BkonG|  CHART    | 50  | On  |
+#   +------+-----+-----+-----------------+-----+-----------+-----+-----+
+#
+#                                    TABLE 2:
+#
+#             +-----------+-----+-----+-----+-----+-----------+
+#             | Display   |  1  |  2  |  3  |  4  |   Baud    |
+#             +-----------+-----+-----+-----+-----+           |
+#             | Printer   |  7  |  8  |  9  | 10  |   Rate    |
+#             +-----------+-----+-----+-----+-----+-----------+
+#                         |  D  |  D  |  D  |  D  |   9600    |
+#                         |  U  |  D  |  D  |  D  |     50    |
+#                         |  D  |  U  |  D  |  D  |     75    |
+#                         |  U  |  U  |  D  |  D  |    110    |
+#                         |  D  |  D  |  U  |  D  |    135    |
+#                         |  U  |  D  |  U  |  D  |    150    |
+#                         |  D  |  U  |  U  |  D  |    300    |
+#                         |  U  |  U  |  U  |  D  |    600    |
+#                         |  D  |  D  |  D  |  U  |   1200    |
+#                         |  U  |  D  |  D  |  U  |   1800    |
+#                         |  D  |  U  |  D  |  U  |   2400    |
+#                         |  U  |  U  |  D  |  U  |   3600    |
+#                         |  D  |  D  |  U  |  U  |   4800    |
+#                         |  U  |  D  |  U  |  U  |   7200    |
+#                         |  D  |  U  |  U  |  U  |   9600    |
+#                         |  U  |  U  |  U  |  U  |  19200    |
+#                         +-----+-----+-----+-----+-----------+
+#
+#                                    TABLE 3:
+#                         +-----+-----+-----+-----------+
+#                         |  3  |  4  |  5  |   Parity  |
+#                         +-----+-----+-----+-----------+
+#                         |  X  |  X  |  D  |    None   |
+#                         |  D  |  D  |  U  |     Odd   |
+#                         |  D  |  U  |  U  |    Even   |
+#                         |  U  |  D  |  U  |    Mark   |
+#                         |  U  |  U  |  U  |   Space   |
+#                         +-----+-----+-----+-----------+
+#                                 X = don't care
+#
+#                                     CHART:
+#                         +-----+-----+-----------------+
+#                         |  7  |  8  | Communication   |
+#                         +-----+-----+-----------------+
+#                         |  D  |  D  |  Half Duplex    |
+#                         |  D  |  U  |  Full Duplex    |
+#                         |  U  |  D  |     Block       |
+#                         |  U  |  U  |     Local       |
+#                         +-----+-----+-----------------+
+#
+# (tvi950: early versions had obsolete ":ma=^Vj^Kk^Hh^Ll^^H:".
+# I also inserted <ich1> and <kich1>; the :ko: string indicated that <ich>
+# should be present and all tvi native modes use the same string for this.
+# Finally, note that BSD has cud1=^V. -- esr)
+#
+# TVI 950 has 11 function-keys -TD
+tvi950|TeleVideo 950,
+	OTbs, am, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, xmc#1,
+	acsc=jHkGlFmEnIqKtMuLvOwNxJ, bel=^G, cbt=\EI, clear=\E*,
+	cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, dsl=\Eg\Ef\r, ed=\Ey, el=\Et, flash=\Eb$<200/>\Ed,
+	fsl=\r, home=^^, ht=^I, hts=\E1, ich1=\EQ, il1=\EE, ind=\n,
+	invis@,
+	is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee\s\017\011\El
+	    \E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0
+	    \Ef\r,
+	kbs=^H, kcbt=\EI, kclr=\E*, kcub1=^H, kcud1=^V, kcuf1=^L,
+	kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\Ey, kel=\Et, kf1=^A@\r,
+	kf10=^AI\r, kf11=^AJ\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r,
+	kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r,
+	khome=^^, kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`, ri=\Ej,
+	rmacs=\E%%, rmir=\Er, smacs=\E$, smir=\Eq, tbc=\E3,
+	tsl=\Eg\Ef, kF1=^A`\r, kF10=^Ai\r, kF11=^Aj\r, kF2=^Aa\r,
+	kF3=^Ab\r, kF4=^Ac\r, kF5=^Ad\r, kF6=^Ae\r, kF7=^Af\r,
+	kF8=^Ag\r, kF9=^Ah\r, use=adm+sgr,
+#
+# is for 950 with two pages adds the following:
+#	set 48 line page (\E\\2)
+#	place cursor at page 0, line 24, column 1 (\E-07 )
+#	set local (no send) edit keys (\Ek)
+#
+# two page 950 adds the following:
+#	when entering ex, set 24 line page (\E\\1)
+#	when exiting ex, reset 48 line page (\E\\2)
+#			 place cursor at 0,24,1 (\E-07 )
+#	set duplex (send) edit keys (\El) when entering vi
+#	set local (no send) edit keys (\Ek) when exiting vi
+#
+tvi950-2p|TeleVideo 950 w/2 pages,
+	is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee\s\017\011\Ek
+	    \E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0
+	    \E\\2\E-07\s\011,
+	rmcup=\E\\2\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s,
+	smkx=\El, use=tvi950,
+#
+# is for 950 with four pages adds the following:
+#	set 96 line page (\E\\3)
+#	place cursor at page 0, line 24, column 1 (\E-07 )
+#
+# four page 950 adds the following:
+#	when entering ex, set 24 line page (\E\\1)
+#	when exiting ex, reset 96 line page (\E\\3)
+#			 place cursor at 0,24,1 (\E-07 )
+#
+tvi950-4p|TeleVideo 950 w/4 pages,
+	is2=\EDF\EC\Ed\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee\s\017\011\Ek
+	    \E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0
+	    \E\\3\E-07\s\011,
+	rmcup=\E\\3\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s,
+	smkx=\El, use=tvi950,
+#
+# <is2> for reverse video 950 changes the following:
+#	set reverse video (\Ed)
+#
+# set vb accordingly (\Ed ...delay... \Eb)
+#
+tvi950-rv|TeleVideo 950 rev video,
+	flash=\Ed$<200/>\Eb,
+	is2=\EDF\EC\Eb\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee\s\017\011\El
+	    \E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r
+	    \0,
+	use=tvi950,
+
+# tvi950-rv-2p uses the appropriate entries from 950-2p and 950-rv
+tvi950-rv-2p|TeleVideo 950 rev video w/2 pages,
+	flash=\Ed$<200/>\Eb,
+	is2=\EDF\EC\Eb\EG0\Eg\Er\EO\E'\E(\E%\Ew\EX\Ee\s\017\011\Ek
+	    \E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0
+	    \E\\2\E-07\s,
+	rmcup=\E\\2\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s,
+	smkx=\El, use=tvi950,
+
+# tvi950-rv uses the appropriate entries from 950-4p and 950-rv
+tvi950-rv-4p|TeleVideo 950 rev video w/4 pages,
+	flash=\Ed$<200/>\Eb,
+	is2=\EDF\EC\Eb\EG0\Er\EO\E'\E(\E%\Ew\EX\Ee\s\017\011\Ek
+	    \E016\E004\Ex0\0\0\Ex1\0\0\Ex2\0\0\011\Ex3\0\0\Ex4\r\0
+	    \E\\3\E-07\s,
+	rmcup=\E\\3\E-07\s, rmkx=\Ek, smcup=\E\\1\E-07\s,
+	smkx=\El, use=tvi950,
+# From: Andreas Stolcke <stolcke@icsi.berkeley.edu>
+# (tvi955: removed obsolete ":ma:=^Vj^Kk^Hh^Ll^^H";
+# removed incorrect (and overridden) ":do=^J:"; fixed broken continuations in
+# the :rs: string, inserted the <ich> implied by the termcap :ko: string.  Note
+# the :ko: string had :cl: in it, which means that one of the original
+# <clear=\E*>, <kclr=\EY> had to be wrong; set <kclr=\E*> because that's what
+# the 950 has.   Finally, corrected the <kel> string to match the 950 and what
+# ko implies -- esr)
+# If the BSD termcap file was right, <cup=\E=%p1%{32}%+%c%p2%{32}%+%c> would
+# also work.
+tvi955|TeleVideo 955,
+	mc5i, msgr@,
+	xmc@,
+	acsc=0_`RjHkGlFmEnIoPqKsQtMuLvOwNxJ, blink=\EG2,
+	civis=\E.0, cnorm=\E.2, cud1=^V, cup=\E[%i%p1%d;%p2%dH,
+	cvvis=\E.1, dim=\E[=5h, ind@, invis=\EG1,
+	is2=\E[=3l\EF1\Ed\EG0\E[=5l\E%\El, kctab=\E2, khts=\E1,
+	knp=\EK, kpp=\EJ, krmir=\EQ, ktbc=\E3, mc0=\EP, rmacs=\E%,
+	rmam=\E[=7l, rmxon=^N,
+	rs1=\EDF\EC\Eg\Er\EO\E'\E(\Ew\EX\Ee\s\017\E0P\E6\0\E0p\E4\0
+	    \Ef\r,
+	sgr0=\EG0\E[=5l, smam=\E[=7h, smxon=^O, use=tvi950,
+tvi955-w|955-w|TeleVideo 955 w/132 cols,
+	cols#132,
+	is2=\E[=3h\EF1\Ed\EG0\E[=5l\E%\El, use=tvi955,
+# use half-intensity as normal mode, full intensity as <bold>
+tvi955-hb|955-hb|TeleVideo 955 half-bright,
+	bold=\E[=5l, dim@, is2=\E[=3l\EF1\Ed\EG0\E[=5h\E%\El,
+	sgr0=\EG0\E[=5h, use=tvi955,
+# From: Humberto Appleton <beto@cs.utexas.edu>, 880521 UT Austin
+# (tvi970: removed ":sg#0:"; removed <rmso>=\E[m, <rmul>=\E[m;
+# added <am>/<csr>/<home>/<hpa>/<vpa>/<smcup>/<rmcup> from BRL.
+# According to BRL we could have <rmkx>=\E>, <smkx>=\E= but I'm not sure what
+# it does to the function keys.  I deduced <rmam>/<smam>.
+# also added empty <acsc> to suppress tic warning,  -- esr)
+tvi970|TeleVideo 970,
+	OTbs, OTpt, am, da, db, mir, msgr,
+	cols#80, it#8, lines#24,
+	acsc=, cbt=\E[Z, clear=\E[H\E[2J, csr=\E[%i%p1%d;%p2%dr,
+	cub1=^H, cud1=\ED, cuf1=\E[C, cup=\E[%i%p1%d;%p2%df,
+	cuu1=\EM, cvvis=\E[1Q, dch1=\E[P, dl1=\E[M, dsl=\Eg\Ef\r,
+	ed=\E[J, el=\E[K, flash=\E[5m$<200/>\E[m, home=\E[H,
+	hpa=\E[%i%p1%dG, ht=^I, il1=\E[L,
+	is2=\E<\E[?21l\E[19h\E[1Q\E[10l\E[7l\E[H\E[2J,
+	kf1=\E?a, kf2=\E?b, kf3=\E?c, kf4=\E?d, kf5=\E?e, kf6=\E?f,
+	kf7=\E?g, kf8=\E?h, kf9=\E?i, ri=\EM, rmacs=\E(B,
+	rmam=\E[?7h, rmcup=, rmir=\E[4l, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smacs=\E(B, smam=\E[?7l,
+	smcup=\E[?20l\E[?7h\E[1Q, smir=\E[4h, smso=\E[7m,
+	smul=\E[4m, vpa=\E[%i%p1%dd, use=ansi+arrows,
+
+tvi970-vb|TeleVideo 970 with visual bell,
+	flash=\E[?5h\0\0\0\0\0\0\0\0\0\0\0\0\0\E[?5l,
+	use=tvi970,
+tvi970-2p|TeleVideo 970 with using 2 pages of memory,
+	rmcup=\E[H\E[J\E[V, smcup=\E[U\E[?20l\E[?7h\E[1Q,
+	use=tvi970,
+# Works with vi and rogue.  NOTE: Esc v sets autowrap on, Esc u sets 80 chars
+# per line (rather than 40), Esc K chooses the normal character set.  Not sure
+# padding is needed, but adapted from the tvi920c termcap.  The <smso> and
+# <smul> strings are klutzy, but at least use no screen space.
+# (tvipt: removed obsolete ":ma=^Kk^Ll^R^L:".  I wish we knew <rmam>,
+# its absence means <smam>=\Ev isn't safe to use. -- esr)
+# From: Gene Rochlin <armsis@amber.berkeley.edu> 9/19/84.
+# The <ed>/<kf0>/<kf1>/<khome>/<mc4>, and <mc5> caps are from BRL, which says:
+# F1 and F2 should be programmed as ^A and ^B; required for UNIFY.
+tvipt|TeleVideo personal terminal,
+	OTbs, am,
+	cols#80, lines#24,
+	cbt=\EI, clear=^Z, cub1=^H, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\ER$<5*>,
+	ed=\EY, el=\ET, home=^^, if=/usr/share/tabset/stdcrt,
+	il1=\EE$<5*>, is2=\Ev\Eu\EK, kbs=^H, kcub1=^H, kcud1=\n,
+	kcuf1=^L, kcuu1=^K, kf0=^A, kf1=^B, khome=^^, mc4=^T, mc5=^R,
+	rmso=\EF, rmul=\EF, smso=\EG1@A\EH, smul=\EG1B@\EH,
+# From: Nathan Peterson <nathan@sco.com>, 03 Sep 1996
+tvi9065|TeleVideo 9065,
+	am, bw, chts, hs, mc5i, mir, msgr, xenl, xon,
+	cols#80, it#8, lh#1, lines#25, lm#0, lw#9, ma#4, nlab#8, vt#0,
+	wnum#0, wsl#30,
+	acsc='r0_jhkglfmeniopqksqtmulvownxj, bel=^G,
+	blink=\EG2, bold=\EG\,, cbt=\EI, civis=\E.0, clear=^Z,
+	cnorm=\E.3, cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=^V,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	cvvis=\E.2, dch=\E[%p1%dP, dch1=\EW, dim=\EGp,
+	dl=\E[%p1%dM, dl1=\ER, dsl=\E_30\r, ech=\E[%p1%d@, ed=\EY,
+	el=\ET, flash=\Eb$<15>\Ed, fsl=\r, home=^^, ht=^I, hts=\E1,
+	ich=\E[%p1%d@, if=/usr/share/tabset/stdcrt,
+	il=\E[%p1%dL, il1=\EE, ind=\n, invis=\EG1, ip=$<3>,
+	is1=\E"\E%\E'\E(\EG@\EO\EX\E[=5l\E[=6l\E[=7h\Ed\Er,
+	is2=\EF2\EG0\E\\L, is3=\E<\E[=4l\E[=8h, kHOM=\E\s\s\s,
+	kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K,
+	kdch1=\EW, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^AK\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, ll=\E[25;1H,
+	mc0=\E[0;0i, mc4=\Ea, mc5=\E`, nel=\r\n,
+	pfkey=\E|%p1%{48}%+%c3%p2%s\031,
+	pfloc=\E|%p1%{48}%+%c2%p2%s\031,
+	pfx=\E|%p1%{48}%+%c1%p2%s\031,
+	pln=\E_%p1%{63}%+%c%p2%s\r, prot=\E&,
+	rep=\E[%p2%db%p1%c, rev=\EG4,
+	rf=/usr/share/tabset/stdcrt, ri=\Ej, rmacs=\E%%,
+	rmam=\E[=7l, rmcup=\E.3\Er\E[1;25r\E[25;0H, rmdc=\0,
+	rmir=\Er, rmln=\E[4;1v, rmso=\EG0, rmul=\EG0, rmxon=^N,
+	rs1=\EC\EDF\E[0;0v\E[8;1v\E[=65l,
+	rs2=\E.b\E[10;20v\E[14;1v\E[3;0v\E[7;0v\E[=11.h\E[=12.h\E[=1
+	    3.h\E[=14.h\E[=15l\E[=20h\E[=60l\E[=61h\E[=9l\E[=10l\E[=
+	    21l\E[=23l\E[=3l\E_40\E_50\En\Ew\Ee\s\Ex0\0\0\Ex1\0\0
+	    \Ex2\0\0\Ex3\0\0\Ex4\0\0\E1,
+	rs3=\E[=19h\E.3\E9\E0O\0\0\0\0\0\E0o\0\0\0\0\0\E0J\177\0\0
+	    \0\0,
+	sgr=\EG0%?%p1%t\EGt%;%?%p2%t\EG8%;%?%p3%t\EG4%;%?%p4%t\EG2%;
+	    %?%p5%t\EGp%;%?%p6%t\EG\,%;%?%p7%t\EG1%;%?%p8%t\E&%;%?
+	    %p9%t\E$%e\E%%%;,
+	sgr0=\EG0\E%, smacs=\E$, smam=\E=7h, smcup=\E.2, smdc=\Er,
+	smir=\Eq, smln=\E[4;2v, smso=\EGt, smul=\EG8, smxon=^O,
+	tbc=\E3, tsl=\E[4;1v\E_30, uc=\EG8\EG0, use=ansi+local,
+	use=ecma+index,
+
+#### Visual (vi)
+#
+# In September 1993, Visual Technology of Westboro, Massachusetts,
+# merged with White Pine Software of Nashua, New Hampshire.
+#
+# White Pine Software may be contacted at +1 603/886-9050.
+# Or visit White Pine on the World Wide Web at URL http://www.wpine.com.
+#
+
+# Visual 50 from Beau Shekita, BTL-Whippany <whuxlb!ejs>
+# Recently I hacked together the following termcap for Visual
+# Technology's Visual 50 terminal. It's a slight modification of
+# the VT52 termcap.
+# It's intended to run when the Visual 50 is in VT52 emulation mode
+# (I know what you're thinking; if it's emulating a VT52, then why
+# another termcap? Well, it turns out that the Visual 50 can handle
+# <dl1> and db(?) among other things, which the VT52 can't)
+# The termcap works OK for the most part. The only problem is on
+# character inserts. The whole line gets painfully redrawn for each
+# character typed. Any suggestions?
+# Beau's entry is combined with the vi50 entry from University of Wisconsin.
+# Note especially the <il1> function.  <kf4>-<kf6> are really l4-l6 in
+# disguise; <kf7>-<kf9> are really l1-l3.
+vi50|Visual 50,
+	OTbs, OTpt, am, da, db, msgr,
+	OTnl=\n, cbt=\Ez$<4/>, cub1=^H, dl1=\EM$<3*/>,
+	el=\EK$<16/>, il1=\EL, kf1=\EP, kf2=\EQ, kf3=\ER, kf4=\EV,
+	kf5=\EE, kf6=\E], kf7=\EL, kf8=\Ev, kf9=\EM, khome=\EH,
+	rmso=\ET, rmul=\EW, smso=\EU, smul=\ES, use=vt52-basic,
+# this one was BSD & SCO's vi50
+vi50adm|Visual 50 in adm3a mode,
+	am, msgr,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^Z, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\EM,
+	ed=\Ek, el=\EK, home=\EH, ht=^I, il1=\EL, ind=\n, kbs=^H,
+	khome=\EH, rmso=\ET, smso=\EU, use=vt52+arrows,
+# From: Jeff Siegal <jbs@quiotix.com>
+vi55|Visual 55,
+	OTbs, am, mir, msgr,
+	cols#80, it#8, lines#24,
+	clear=\Ev, csr=\E_%p1%{65}%+%c%p2%{65}%+%c, cub1=^H,
+	cud1=\n, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dch1=\Ew, dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I,
+	il1=\EL, is2=\Ev\E_AX\Eb\EW\E9P\ET, kbs=^H, ri=\EI,
+	rmir=\Eb, rmso=\ET, smir=\Ea, smso=\EU, use=vt52+arrows,
+
+# Visual 200 from BRL
+# The following switch settings are assumed for normal operation:
+#	FULL_DUPLEX		SCROLL			CR
+#	AUTO_NEW_LINE_ON	VISUAL_200_EMULATION_MODE
+# Other switches may be set for operator convenience or communication
+# requirements.
+# Character insertion is kludged in order to get around the "beep" misfeature.
+# (This cap is commented out because <smir>/<rmir> is more efficient -- esr)
+# Supposedly "4*" delays should be used for <il1>, <ed>, <clear>, <dch1>,
+# and <dl1> strings, but we seem to get along fine without them.
+vi200|Visual 200,
+	OTbs, OTpt, am, mir, msgr,
+	OTkn#10, cols#80, it#8, lines#24,
+	acsc=+h.kffggjmkllsmenbq`tnuovcwdxa}r, bel=^G, cbt=\Ez,
+	clear=\Ev, cnorm=\Ec, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ed,
+	dch1=\EO, dim=\E4, dl1=\EM, ed=\Ey, el=\Ex, home=\EH, ht=^I,
+	hts=\E1, il1=\EL, ind=\n, invis=\Ea, kbs=^H, kclr=\Ev,
+	kctab=\E2, kdch1=\EO, kdl1=\EM, ked=\EJ, kel=\Et, kf0=\E?p,
+	kf1=\E?q, kf2=\E?r, kf3=\E?s, kf4=\E?t, kf5=\E?u, kf6=\E?v,
+	kf7=\E?w, kf8=\E?x, kf9=\E?y, khome=\EH, khts=\E1, kich1=\Ei,
+	kil1=\EL, krmir=\Ej, mc0=\EH\E], mc4=\EX, mc5=\EW, ri=\EI,
+	rmacs=\EG, rmkx=\E>, rmso=\E3,
+	rs1=\E3\Eb\Ej\E\El\EG\Ec\Ek\EX, sgr0=\E3\Eb, smacs=\EF,
+	smkx=\E=, smso=\E4, tbc=\Eg, use=vt52+arrows,
+# The older Visuals didn't come with function keys. This entry uses
+# <smkx> and <rmkx> so that the keypad keys can be used as function keys.
+# If your version of vi doesn't support function keys you may want
+# to use vi200-f.
+vi200-f|Visual 200 no function keys,
+	is2=\E3\Eb\Ej\E\\\El\EG\Ed\Ek, rmso@, smso@, use=vi200,
+vi200-rv|Visual 200 reverse video,
+	cnorm@, cvvis@, ri@, use=vi200,
+
+# the function keys are programmable but we don't reprogram them to their
+# default values with <is2> because programming them is very verbose. maybe
+# an initialization file should be made for the 300 and they could be stuck
+# in it.
+# (vi300: added <rmam>/<smam> based on init string -- esr)
+vi300|Visual 300 ANSI x3.64,
+	am, bw, mir, xenl,
+	cols#80, lines#24,
+	bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=\r, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, dch1=\E[P$<40>, dl1=\E[M, ed=\E[J,
+	el=\E[K, home=\E[H, ht=^I, il1=\E[L, ind=\n,
+	is2=\E[7s\E[2;3;4;20;?5;?6l\E[12;?7h\E[1Q\E[0;1(D\E[8s,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\E_A\E\\, kf2=\E_B\E\\, kf3=\E_C\E\\, kf4=\E_D\E\\,
+	kf5=\E_E\E\\, kf6=\E_F\E\\, kf7=\E_G\E\\, kf8=\E_H\E\\,
+	kf9=\E_I\E\\, khome=\E[H, ri=\EM, rmam=\E[?7l, rmir=\E[4l,
+	rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h, smir=\E[4h,
+	smso=\E[1m, smul=\E[4m, use=ansi+local1,
+
+# some of the vi300s have older firmware that has the command
+# sequence for setting editing extent reversed.
+vi300-old|Visual 300 with old firmware (set edit extent reversed),
+	is2=\E[7s\E[2;3;4;20;?5;?6l\E[12;?7h\E[2Q\E[0;1(D\E[8s, use=vi300,
+
+# Visual 500 prototype entry from University of Wisconsin.
+# The best place to look for the escape sequences is page A1-1 of the
+# Visual 500 manual.  The initialization sequence given here may be
+# overkill, but it does leave out some of the initializations which can
+# be done with the menus in set-up mode.
+# The :xp: line below is so that emacs can understand the padding requirements
+# of this slow terminal.  :xp: is 10 time the padding factor.
+# (vi500: removed unknown :xp#4: termcap;
+# also added empty <acsc> to suppress tic warning -- esr)
+vi500|Visual 500,
+	am, mir, msgr,
+	cols#80, it#8, lines#33,
+	acsc=, cbt=\Ez$<4/>, clear=\Ev$<6*/>, cr=\r,
+	csr=\E(%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=\EB,
+	cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
+	dch1=\EO$<3*/>, dl1=\EM$<3*/>, ed=\Ey$<3*/>,
+	el=\Ex$<16/>, home=\EH, ht=\011$<8/>, il1=\EL\Ex$<3*/>,
+	ind=\n,
+	is2=\E3\E\001\E\007\E\003\Ek\EG\Ed\EX\El\E>\Eb\E\\,
+	kbs=^H, khome=\EH, nel=\r\n, rmacs=^O, rmir=\Ej, rmso=\E^G,
+	rmul=\E^C, smacs=^N, smir=\Ei, smso=\E^H, smul=\E^D,
+	use=vt52+arrows,
+
+# The visual 550 is a visual 300 with Tektronix graphics,
+# and with 33 lines. clear screen is modified here to
+# also clear the graphics.
+vi550|Visual 550 ANSI x3.64,
+	lines#33,
+	clear=\030\E[H\E[2J, use=vi300,
+
+vi603|visual603|Visual 603,
+	hs, mir,
+	blink=\E[5m, bold=\E[1m, clear=\E[H\E[J,
+	csr=\E[%i%p1%d;%p2%dr, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P,
+	dsl=\EP2;1~\E\\, ed=\E[J, el=\E[K, fsl=\E\\, ind=\ED,
+	is1=\E>\E[?3l\E[?4l\E[?7h\E[?8h\E[1;24r, rev=\E[7m,
+	ri=\EM, rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+	sgr0=\E[m\017$<2>, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+	tsl=\EP2~, use=ansi+idl1, use=decid+cpr, use=vt100+4bsd,
+
+#### Wyse (wy)
+#
+#	Wyse Technology
+#	3471 North First Street
+#	San Jose, CA 95134
+#	Vox: (408)-473-1200
+#	Fax: (408) 473-1222
+#	Web: http://www.wyse.com
+#
+# Wyse sales can be reached by phone at 1-800-GET-WYSE.  Tech support is at
+# (800)-800-WYSE (option 5 gets you a human).  There's a Web page at the
+# obvious address, <http://www.wyse.com>.  They keep terminfo entries at
+# https://web.archive.org/web/19970712022641/http://www.wyse.co.uk/support/appnotes/idxappnt.htm
+#
+#
+# Wyse bought out Link Technology, Inc. in 1990 and closed it down in 1995.
+# They now own the Qume and Amdek brands, too.  So these are the people to
+# talk with about all Link, Qume, and Amdek terminals.
+#
+# These entries include a few small fixes.
+# I canceled the bel capacities in the vb entries.
+# I made two trivial syntax fixes in the wyse30 entry.
+# I made some entries relative to adm+sgr.
+#
+#
+# Note: The wyse75, wyse85, and wyse99 have been discontinued.
+
+#	   Although the Wyse 30 can support more than one attribute
+#	it requires magic cookies to do so.  Many applications do not
+#	function well with magic cookies.  The following terminfo uses
+#	the protect mode to support one attribute (dim) without cookies.
+#	If more than one attribute is needed then the wy30-mc terminfo
+#	should be used.
+#
+wy30|wyse30|Wyse 30,
+	am, bw, mc5i, mir, msgr, xon,
+	cols#80, lh#1, lines#24, lw#8, ma#1, nlab#8,
+	acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, cbt=\EI,
+	civis=\E`0, clear=\E+$<80>, cnorm=\E`1, cr=\r, cub1=^H,
+	cud1=\n, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, dch1=\EW$<10>, dim=\E`7\E), dl1=\ER$<1>,
+	ed=\EY$<80>, el=\ET, flash=\E`8$<100/>\E`9, home=^^,
+	ht=\011$<1>, hts=\E1, il1=\EE$<2>, ind=\n$<2>, ip=$<2>,
+	is2=\E'\E(\E\^3\E`9\016\024, kHOM=\E{, kbs=^H, kcbt=\EI,
+	kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER,
+	ked=\EY, kel=\ET, kent=\E7, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r,
+	kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r,
+	khome=^^, kich1=\EQ, kil1=\EE, knp=\EK, kpp=\EJ, krpl=\Er,
+	ll=^^^K, mc0=\EP, mc4=^T, mc5=^X, nel=\r\n,
+	pfx=\Ez%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E`7\E), ri=\Ej$<3>,
+	rmacs=\EH^C, rmir=\Er, rmln=\EA11, rmso=\E(,
+	sgr=%?%p1%p5%p8%|%|%t\E`7\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;,
+	sgr0=\E(\EH\003, smacs=\EH^B, smir=\Eq, smln=\EA10,
+	smso=\E`7\E), tbc=\E0, use=wyse+sl,
+#
+#	This terminal description uses the non-hidden attribute mode
+#	(with magic cookie).
+#
+# (wy30-mc: added <smcup> to suppress tic warning --esr)
+wy30-mc|wyse30-mc|Wyse 30 with magic cookies,
+	msgr@,
+	ma@, xmc#1,
+	blink=\EG2, dim=\EGp, prot=\EG0\E), rmacs=\EG0\EH\003,
+	rmcup=\EG0, rmso=\EG0,
+	sgr=\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?
+	    %p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c%?%p8
+	    %t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;,
+	sgr0=\EG0\E(\EH\003, smacs=\EG0\EH\002, smcup=,
+	smso=\EG4, use=wy30, use=adm+sgr,
+#	The mandatory pause used by <flash> does not work with
+#	older versions of terminfo.  If you see this effect then
+#	unset xon and delete the / from the delay.
+#	i.e. change $<100/> to $<100>
+wy30-vb|wyse30-vb|Wyse 30 visible bell,
+	bel@, use=wy30,
+#
+#	   The Wyse 50 can support one attribute (e.g. Dim, Inverse,
+#	Normal) without magic cookies by using the protect mode.
+#	The following description uses this feature, but when more
+#	than one attribute is put on the screen at once, all attributes
+#	will be changed to be the same as the last attribute given.
+#	   The Wyse 50 can support more attributes when used with magic
+#	cookies.  The wy50-mc terminal description uses magic cookies
+#	to correctly handle multiple attributes on a screen.
+#
+wy50|wyse50|Wyse 50,
+	am, bw, mc5i, mir, msgr, xon,
+	cols#80, lh#1, lines#24, lw#8, ma#1, nlab#8,
+	acsc=a;j5k3l2m1n8q:t4u9v=w0x6, bel=^G, cbt=\EI,
+	civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=\r, cub1=^H,
+	cud1=\n, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, dch1=\EW$<1>, dim=\E`7\E), dl1=\ER, ed=\EY$<20>,
+	el=\ET, flash=\E`8$<100/>\E`9, home=^^, ht=^I, hts=\E1,
+	il1=\EE, ind=\n$<2>, ip=$<1>, is1=\E`:\E`9$<30>,
+	is2=\016\024\E'\E(, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H,
+	kcud1=\n, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ,
+	kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=^^^K,
+	mc0=\EP, mc4=^T, mc5=^X, nel=\r\n,
+	pfx=\Ez%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E`7\E), rev=\E`6\E),
+	ri=\Ej, rmacs=\EH^C, rmir=\Er, rmln=\EA11, rmso=\E(,
+	sgr=%?%p1%p3%|%t\E`6\E)%e%p5%p8%|%t\E`7\E)%e\E(%;%?%p9%t\EH
+	    \002%e\EH\003%;,
+	sgr0=\E(\EH\003, smacs=\EH^B, smir=\Eq, smln=\EA10,
+	smso=\E`6\E), tbc=\E0, kF1=^A`\r, kF10=^Ai\r, kF11=^Aj\r,
+	kF12=^Ak\r, kF13=^Al\r, kF14=^Am\r, kF15=^An\r, kF16=^Ao\r,
+	kF2=^Aa\r, kF3=^Ab\r, kF4=^Ac\r, kF5=^Ad\r, kF6=^Ae\r,
+	kF7=^Af\r, kF8=^Ag\r, kF9=^Ah\r, use=wyse+sl,
+wyse+sl|status line for Wyse terminals,
+	hs,
+	wsl#45,
+	dsl=\EF\r, fsl=\r, tsl=\EF,
+#
+#	This terminal description uses the non-hidden attribute mode
+#	(with magic cookie).
+#
+#	The mandatory pause used by flash does not work with some
+#	older versions of terminfo.  If you see this effect then
+#	unset <xon> and delete the / from the delay.
+#	i.e. change $<100/> to $<100>
+# (wy50-mc: added <smcup> to suppress tic warning --esr)
+wy50-mc|wyse50-mc|Wyse 50 with magic cookies,
+	msgr@,
+	ma@, xmc#1,
+	blink=\EG2, dim=\EGp, prot=\EG0\E), rev=\EG4,
+	rmacs=\EG0\EH\003, rmcup=\EG0, rmso=\EG0,
+	sgr=\EG%{48}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?
+	    %p4%t%{2}%|%;%?%p1%p5%|%t%{64}%|%;%?%p7%t%{1}%|%;%c%?%p8
+	    %t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;,
+	sgr0=\EG0\E(\EH\003, smacs=\EG0\EH\002, smcup=,
+	smso=\EGt, use=wy50, use=adm+sgr,
+wy50-vb|wyse50-vb|Wyse 50 visible bell,
+	bel@, use=wy50,
+wy50-w|wyse50-w|Wyse 50 132-column,
+	cols#132, lw#7, nlab#16, wsl#97,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<2>, is1=\E`;\E`9$<30>,
+	use=wy50,
+wy50-wvb|wyse50-wvb|Wyse 50 132-column visible bell,
+	bel@, use=wy50-w,
+
+#
+#	The Wyse 350 is a Wyse 50 with color.
+#	Unfortunately this means that it has magic cookies.
+#	The color attributes are designed to overlap the reverse, dim and
+#	underline attributes.  This is nice for monochrome applications
+#	because you can make underline stuff green (or any other color)
+#	but for true color applications it's not so hot because you cannot
+#	mix color with reverse, dim or underline.
+#	    To further complicate things one of the attributes must be
+#	black (either the foreground or the background).  In reverse video
+#	the background changes color with black letters.  In normal video
+#	the foreground changes colors on a black background.
+#	    This terminfo uses some of the more advanced features of curses
+#	to display both color and blink.  In the final analysis I am not
+#	sure that the wy350 runs better with this terminfo than it does
+#	with the wy50 terminfo (with user adjusted colors).
+#
+#	The mandatory pause used by flash does not work with
+#	older versions of terminfo.  If you see this effect then
+#	unset xon and delete the / from the delay.
+#	i.e. change $<100/> to $<100>
+#
+# Bug: The <op> capability resets attributes.
+wy350|wyse350|Wyse 350,
+	am, bw, mc5i, mir, xon,
+	colors#8, cols#80, lh#1, lines#24, lw#8, ncv#55, nlab#8, pairs#8,
+	xmc#1,
+	acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2,
+	cbt=\EI, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=\r,
+	cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<1>,
+	dim=\EGp, dl1=\ER, ed=\EY$<20>, el=\ET,
+	flash=\E`8$<100/>\E`9, home=^^, ht=^I, hts=\E1, il1=\EE,
+	ind=\n$<2>, ip=$<1>, is1=\E`:\E`9$<30>,
+	is2=\016\024\E'\E(, is3=\E%?, kHOM=\E{, kbs=^H, kcbt=\EI,
+	kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER,
+	ked=\EY, kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r,
+	kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r,
+	kf16=^AO\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	kich1=\EQ, kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er,
+	ll=^^^K, mc0=\EP, mc4=^T, mc5=^X, nel=\r\n, oc=\E%?, op=\EG0,
+	pfx=\Ez%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\EG0\E), ri=\Ej,
+	rmacs=\EG0\EH\003, rmir=\Er, rmln=\EA11, setb=,
+	setf=%?%p1%{0}%=%t%{76}%e%p1%{1}%=%t%{64}%e%p1%{2}%=%t%{8}%e
+	     %p1%{3}%=%t%{72}%e%p1%{4}%=%t%{4}%e%p1%{5}%=%t%{68}%e
+	     %p1%{6}%=%t%{12}%e%p1%{7}%=%t%{0}%;%PC\EG%gC%gA%+%{48}
+	     %+%c,
+	sgr=%{0}%?%p4%t%{2}%|%;%?%p7%t%{1}%|%;%PA\EG%?%gC%t%gC%e%{0}
+	    %?%p1%t%{4}%|%;%?%p2%t%{8}%|%;%?%p3%t%{4}%|%;%?%p5%t
+	    %{64}%|%;%;%gA%+%{48}%+%c%?%p8%t\E)%e\E(%;%?%p9%t\EH
+	    \002%e\EH\003%;,
+	sgr0=\EG0\E(\EH\003%{0}%PA%{0}%PC, smacs=\EG0\EH\002,
+	smir=\Eq, smln=\EA10, tbc=\E0, use=adm+sgr, use=wyse+sl,
+wy350-vb|wyse350-vb|Wyse 350 visible bell,
+	bel@, use=wy350,
+wy350-w|wyse350-w|Wyse 350 132-column,
+	cols#132, lw#7, nlab#16, wsl#97,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<2>, is1=\E`;\E`9$<30>,
+	use=wy350,
+wy350-wvb|wyse350-wvb|Wyse 350 132-column visible bell,
+	bel@, use=wy350-w,
+#
+#	This terminfo description is untested.
+#	The wyse100 emulates an adm31, so the adm31 entry should work.
+#
+wy100|Wyse 100,
+	hs, mir,
+	cols#80, lines#24, xmc#1,
+	bel=^G, clear=\E;, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, dsl=\EA31, ed=\EY, el=\ET, fsl=\r, il1=\EE, ind=\n,
+	invis@, is2=\Eu\E0, kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^L,
+	kcuu1=^K, kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r,
+	kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, khome=\E{,
+	rmir=\Er, smir=\Eq, tsl=\EF, use=adm+sgr,
+#
+#	The Wyse 120/150 has most of the features of the Wyse 60.
+#	This terminal does not need padding up to 9600 baud!
+#	<msgr> should be set but the clear screen fails when in
+#	alt-charset mode.  Try \EcE\s\s\E+\s if the screen is really clear
+#	then set <msgr>.
+#
+wy120|wyse120|wy150|wyse150|Wyse 120/150,
+	am, bw, km, mc5i, mir, msgr, xon,
+	cols#80, it#8, lh#1, lines#24, lw#8, nlab#8, pb#9601,
+	acsc=+/\,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~,
+	bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<50>,
+	cnorm=\E`1, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<7>,
+	dim=\EGp, dl1=\ER$<3>, ed=\EY$<50>, el=\ET$<4>,
+	flash=\E`8$<100/>\E`9, home=^^, ht=\011$<1>, hts=\E1,
+	il1=\EE$<3>, ind=\n$<3>, ip=$<2>, is1=\EcB0\EcC1,
+	is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016
+	    \024\El,
+	is3=\EwJ\Ew1$<150>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H,
+	kcud1=\n, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ,
+	kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=^^^K,
+	mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<3>,
+	pfloc=\EZ2%p1%{63}%+%c%p2%s\177,
+	pfx=\EZ1%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<2>,
+	rmacs=\EcD, rmam=\Ed., rmcup=\Ew1, rmir=\Er, rmln=\EA11,
+	rmxon=\Ec20, rs1=\E~!\E~4$<30>, rs2=\EeF\E`:$<70>,
+	rs3=\EwG\Ee($<100>,
+	sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}
+	    %|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t
+	    %{64}%|%;%?%p7%t%{1}%|%;%c,
+	sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/,
+	smcup=\Ew0, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21,
+	tbc=\E0, use=adm+sgr, use=wyse+sl,
+#
+wy120-w|wyse120-w|wy150-w|wyse150-w|Wyse 120/150 132-column,
+	cols#132, lw#7, nlab#16, wsl#97,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<12>, ip=$<4>,
+	rs2=\E`;$<70>, use=wy120,
+#
+wy120-25|wyse120-25|wy150-25|wyse150-25|Wyse 120/150 80-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy120,
+#
+wy120-25-w|wyse120-25-w|wy150-25-w|wyse150-25-w|Wyse 120/150 132-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy120-w,
+#
+wy120-vb|wyse120-vb|wy150-vb|wyse150-vb|Wyse 120/150 visible bell,
+	bel@, use=wy120,
+#
+wy120-w-vb|wy120-wvb|wyse120-wvb|wy150-w-vb|wyse150-w-vb|Wyse 120/150 132-column visible bell,
+	bel@, use=wy120-w,
+#
+#	The Wyse 60 is like the Wyse 50 but with more padding.
+#	The reset strings are slow and the pad times very depending
+#	on other parameters such as font loading.  I have tried
+#	to follow the following outline:
+#
+#		<rs1> -> set personality
+#		<rs2> -> set number of columns
+#		<rs3> -> set number of lines
+#		<is1> -> select the proper font
+#		<is2> -> do the initialization
+#		<is3> -> set up display memory (2 pages)
+#
+#	The Wyse 60's that have VT100 emulation are slower than the
+#	older Wyse 60's.  This change happened mid-1987.
+#	The capabilities effected are <dch1> <dl1> <il1> <ind> <ri>
+#
+#	The meta key is only half right.  This terminal will return the
+#	high order bit set when you hit CTRL-function_key
+#
+#	It may be useful to assign two function keys with the
+#	values  \E=(\s  look at old data in page 1
+#	        \E=W,   look at bottom of page 1
+#	where \s is a space ( ).
+#
+#	Note:
+#	   The Wyse 60 runs faster when the XON/XOFF
+#	   handshake is turned off.
+#
+# (wy60: we use \E{ rather than ^^ for home (both are documented) to avoid
+# a bug reported by Robert Dunn, <rcdii@inlink.com> -- esr)
+wy60|wyse60|Wyse 60,
+	am, bw, km, mc5i, mir, msgr,
+	cols#80, lh#1, lines#24, lw#8, nlab#8,
+	acsc=+/\,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~,
+	bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<100>,
+	cnorm=\E`1, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW$<11>, dclk=\E`b, dim=\EGp, dl1=\ER$<5>,
+	ed=\EY$<100>, el=\ET, flash=\E`8$<100/>\E`9, home=\E{,
+	ht=\011$<1>, hts=\E1, il1=\EE$<4>, ind=\n$<5>, ip=$<3>,
+	is1=\EcB0\EcC1,
+	is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016
+	    \024\El,
+	is3=\EwJ\Ew1$<150>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H,
+	kcud1=\n, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ,
+	kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=\E{^K,
+	mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<3>,
+	pfloc=\EZ2%p1%{63}%+%c%p2%s\177,
+	pfx=\EZ1%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<7>,
+	rmacs=\EcD, rmam=\Ed., rmclk=\E`c, rmcup=\Ew1, rmir=\Er,
+	rmln=\EA11, rmxon=\Ec20, rs1=\E~!\E~4$<150>,
+	rs2=\EeG$<150>, rs3=\EwG\Ee($<200>,
+	sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}
+	    %|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t
+	    %{64}%|%;%?%p7%t%{1}%|%;%c,
+	sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/,
+	smcup=\Ew0, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21,
+	tbc=\E0, kF1=^A`\r, kF10=^Ai\r, kF11=^Aj\r, kF12=^Ak\r,
+	kF13=^Al\r, kF14=^Am\r, kF15=^An\r, kF16=^Ao\r, kF2=^Aa\r,
+	kF3=^Ab\r, kF4=^Ac\r, kF5=^Ad\r, kF6=^Ae\r, kF7=^Af\r,
+	kF8=^Ag\r, kF9=^Ah\r, use=adm+sgr, use=wyse+sl,
+#
+wy60-w|wyse60-w|Wyse 60 132-column,
+	cols#132, lw#7, nlab#16, wsl#97,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<16>, ip=$<5>,
+	rs2=\EeF$<150>\E`;$<150>, use=wy60,
+#
+wy60-25|wyse60-25|Wyse 60 80-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<200>, use=wy60,
+wy60-25-w|wyse60-25-w|Wyse 60 132-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<200>, use=wy60-w,
+#
+wy60-42|wyse60-42|Wyse 60 80-column 42-lines,
+	lines#42,
+	clear=\E+$<260>, cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<2>,
+	dch1=\EW$<16>, dl1=\ER$<11>, ed=\Ey$<260>, il1=\EE$<11>,
+	ind=\n$<9>, ip=$<5>, is1=\EcB2\EcC3, nel=\r\n$<6>,
+	ri=\Ej$<10>, rs3=\Ee*$<150>, use=wy60,
+wy60-42-w|wyse60-42-w|Wyse 60 132-column 42-lines,
+	cols#132, lw#7, nlab#16, wsl#97,
+	cup=\Ea%i%p1%dR%p2%dC$<2>, dch1=\EW$<19>,
+	home=\036$<2>, ip=$<6>, nel=\r\n$<11>,
+	rs2=\EeF$<150>\E`;$<150>, use=wy60-42,
+#
+wy60-43|wyse60-43|Wyse 60 80-column 43-lines,
+	lh@, lines#43, lw@, nlab@,
+	pln@, rs3=\Ee+$<150>, use=wy60-42,
+wy60-43-w|wyse60-43-w|Wyse 60 132-column 43-lines,
+	lh@, lines#43, lw@, nlab@,
+	pln@, rs3=\Ee+$<150>, use=wy60-42-w,
+#
+wy60-vb|wyse60-vb|Wyse 60 visible bell,
+	bel@, use=wy60,
+wy60-w-vb|wy60-wvb|wyse60-wvb|Wyse 60 132-column visible bell,
+	bel@, use=wy60-w,
+
+#	The Wyse-99GT looks at lot like the Wyse 60 except that it
+#	does not have the 42/43 line mode.  In the Wyse-60 the "lines"
+#	setup parameter controls the number of lines on the screen.
+#	For the Wyse 99GT the "lines" setup parameter controls the
+#	number of lines in a page.  The screen can display 25 lines max.
+#	    The Wyse-99GT also has personalities for the VT220 and
+#	Tektronix 4014.  But this has no bearing on the native mode.
+#
+#	(msgr) should be set but the clear screen fails when in
+#	alt-charset mode.  Try \EcE\s\s\E+\s if the screen is really clear
+#	then set msgr, else use msgr@.
+#
+#	u0 -> enter Tektronix mode
+#	u1 -> exit Tektronix mode
+#
+wy99gt|wyse99gt|Wyse 99gt,
+	msgr@,
+	clear=\E+$<130>, dch1=\EW$<7>, dl1=\ER$<4>, ed=\Ey$<130>,
+	el=\Et$<5>, ind=\n$<4>, ip=$<2>, is3=\Ew0$<20>, nel@,
+	ri=\Ej$<3>, rmcup=\Ew0, rs2=\E`:$<150>, smcup=\Ew1,
+	u0=\E~>\E8, u1=\E[42h, use=wy60,
+#
+wy99gt-w|wyse99gt-w|Wyse 99gt 132-column,
+	cols#132, lw#7, nlab#16, wsl#97,
+	clear=\E+$<160>, cup=\Ea%i%p1%dR%p2%dC$<2>,
+	dch1=\EW$<9>, ed=\Ey$<160>, ip=$<4>, rs2=\E`;$<150>,
+	use=wy99gt,
+#
+wy99gt-25|wyse99gt-25|Wyse 99gt 80-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<200>, use=wy99gt,
+#
+wy99gt-25-w|wyse99gt-25-w|Wyse 99gt 132-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs2=\E`;$<150>, use=wy99gt-w,
+#
+wy99gt-vb|wyse99gt-vb|Wyse 99gt visible bell,
+	bel@, use=wy99gt,
+#
+wy99gt-w-vb|wy99gt-wvb|wyse99gt-wvb|Wyse 99gt 132-column visible bell,
+	bel@, use=wy99gt-w,
+
+# Can't set tabs! Other bugs (ANSI mode only):
+# - can't redefine function keys (anyway, key redefinition in ANSI mode
+#   is too much complex to be described);
+# - meta key can't be described (the terminal forgets it when reset);
+# The xon-xoff handshaking can't be disabled while in ANSI personality, so
+# emacs can't work at speed greater than 9600 baud.  No padding is needed at
+# this speed.
+#   dch1 has been commented out because it causes annoying glittering when
+# vi deletes one character at the beginning of a line with tabs in it.
+#   dch makes sysgen(1M) have a horrible behaviour when deleting
+# a screen and makes screen(1) behave badly, so it is disabled too. The nice
+# thing is that vi goes crazy if smir-rmir are present and both dch-dch1 are
+# not, so smir and rmir are commented out as well.
+# From: Francesco Potorti` <F.Potorti@cnuce.cnr.it>, 24 Aug 1998
+wy99-ansi|Wyse WY-99GT in ANSI mode (int'l PC keyboard),
+	am, km, mir, msgr, xenl,
+	cols#80, it#8, lines#25, vt#3,
+	acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx{{||}}~~,
+	bel=^G, cbt=\E[Z, civis=\E[?25l, clear=\E[H\E[J$<200>,
+	cnorm=\E[34h\E[?25h, cr=\r, cub=\E[%p1%dD$<1>,
+	cub1=\010$<1>, cud=\E[%p1%dB, cud1=\ED,
+	cuf=\E[%p1%dC$<1>, cuf1=\E[C$<1>,
+	cup=\E[%i%p1%d;%p2%dH, cuu=\E[%p1%dA, cuu1=\EM,
+	cvvis=\E[34l\E[?25h, dim=\E[2m, ech=\E[%p1%dX,
+	ed=\E[J$<8*>, el=\E[K$<1>, el1=\E[1K$<1>, enacs=\E)0,
+	flash=\E[?5h$<30/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+	ht=^I, ich=\E[%p1%d@, ind=\n$<1>,
+	is2=\E7\E[1r\E8\E[2;3;4;13;20;34;39;36l\E[12;16;34h\E[?1;3;4
+	    ;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[4i,
+	kbs=^H, kcbt=\E[z, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, kf1=\EOP, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf17=\E[K, kf18=\E[31~, kf19=\E[32~, kf2=\EOQ,
+	kf20=\E[33~, kf21=\E[34~, kf22=\E[35~, kf23=\E[1~,
+	kf24=\E[2~, kf3=\EOR, kf4=\EOS, kf5=\E[M, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, ll=\E[24E, mc0=\E[?19h,
+	nel=\EE, prot=\E[1"q, ri=\EM, rmacs=^O, rmam=\E[?7l,
+	rmir=\E[4l, rmkx=\E[?1l, rmso=\E[27m, rmul=\E[24m,
+	rs2=\E[61"p\E[40h\E[?6l\E[1r\E[2;3;4;13;20;34;39;36l\E[12;16
+	    ;34h\E[?1;3;4;5;10;18l\E[?7;8;25h\E>\E[?5W\E(B\017\E[24E
+	    \E[4i,
+	sgr=\E[0%?%p6%t;1%;%?%p2%t;4%;%?%p1%p3%O%t;7%;%?%p4%t;5%;%?
+	    %p5%t;2%;%?%p7%t;8%;m\E[%?%p8%t1%;"q%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017\E["q, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h, vpa=\E[%i%p1%dd, use=ansi+csr, use=ansi+idl,
+	use=ansi+pp, use=ansi+sgrbold,
+
+#   This is the american terminal. Here tabs work fine.
+# From: Francesco Potorti` <F.Potorti@cnuce.cnr.it>, 24 Aug 1998
+wy99a-ansi|Wyse WY-99GT in ANSI mode (US PC keyboard),
+	hts=\EH, is3=\E[?5l, rs3=\E[?5l, tbc=\E[3g, use=wy99-ansi,
+
+# This terminal (firmware version 02) has a lot of bugs:
+# - can't set tabs;
+# - other bugs in ANSI modes (see above).
+# This description disables handshaking when using cup. This is because
+# GNU emacs doesn't like Xon-Xoff handshaking. This means the terminal
+# cannot be used at speeds greater than 9600 baud, because at greater
+# speeds handshaking is needed even for character sending. If you use
+# DTR handshaking, you can use even greater speeds.
+# From: Francesco Potorti` <F.Potorti@cnuce.cnr.it>, 24 Aug 1998
+wy99f|wy99fgt|wy-99fgt|Wyse WY-99GT (int'l PC keyboard),
+	am, bw, km, mc5i, mir, msgr, xon,
+	cols#80, it#8, lines#25,
+	acsc='x+y.w_vi~j(k'l&m%n)o9q*s8t-u.v\,w+x=, bel=^G,
+	blink=\EG2, cbt=\EI, civis=\E`0, clear=\E'\E(\032,
+	cnorm=\E`4\E`1, cr=\r, cub1=^H, cud1=\Ej, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	cvvis=\E`2\E`1, dch1=\EW, dim=\EGp, dl1=\ER, ed=\EY$<8*>,
+	el=\ET$<8>, enacs=\Ec@1J$<2000>,
+	flash=\E\^1$<30/>\E\^0, home=^^, ht=^I, il1=\EE, ind=\n,
+	invis=\EG3,
+	is2=\Eu\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`9\E
+	    \^0\E`1\E`4\Ee.\E`:\Ee1\EG0\E(\Ed/\Ee4\Ed*\EO\E`I\Er\Ee"
+	    \EcD\024,
+	ka1=^^, ka3=\EJ, kbs=^H, kc1=\ET, kc3=\EK, kcbt=\EI, kcub1=^H,
+	kcud1=\n, kcuf1=^L, kcuu1=^K, kf1=^A@\r, kf10=^AI\r,
+	kf11=^AJ\r, kf12=^AK\r, kf13=^A`\r, kf14=^Aa\r, kf15=^Ab\r,
+	kf16=^Ac\r, kf17=^Ad\r, kf18=^Ae\r, kf19=^Af\r, kf2=^AA\r,
+	kf20=^Ag\r, kf21=^Ah\r, kf22=^Ai\r, kf23=^Aj\r, kf24=^Ak\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, kprt=\EP, mc0=\EP, mc4=^T, mc5=\Ed#,
+	nel=^_, prot=\E), rev=\EG4, ri=\Ej, rmacs=\EcD, rmam=\Ed.,
+	rmcup=\Ec21\Ec31, rmir=\Er, rmso=\EG0, rmxon=\Ec20\Ec30,
+	rs2=\Eu\E~4\Ee6\EC\EDF\Ec21\Ec31\Ec62\Ec72\Ee;\016\E'\EeL\E`
+	    9\E\^0\E`1\E`4\Ee.\E`:\Ee)\Ew\EwG\Ew0\Ee1\EG0\E(\Ed/
+	    \Ee4\Ed*\EO\E`I\Er\Ee"\Ec@0B\EcD\024,
+	sgr=\E(\EG%{48}%?%p1%p3%O%t%{4}%+%;%?%p2%t%{8}%+%;%?%p4%t
+	    %{2}%+%;%?%p5%t%{64}%+%;%?%p7%t%{1}%+%;%c%?%p8%t\E)%;%?
+	    %p9%t\EcE%e\EcD%;,
+	sgr0=\E(\EG0, smacs=\EcE, smam=\Ed/, smcup=\Ec20\Ec30,
+	smir=\Eq, smso=\EG4, smxon=\Ec21\Ec31, use=wyse+sl,
+
+# This is the american terminal. Here tabs work.
+# From: Francesco Potorti` <F.Potorti@cnuce.cnr.it>, 24 Aug 1998
+wy99fa|wy99fgta|wy-99fgta|Wyse WY-99GT (US PC keyboard),
+	hts=\E1, tbc=\E0, use=wy99f,
+
+#
+#	The Wyse 160 is combination of the WY-60 and the WY-99gt.
+#	The reset strings are slow and the pad times very depending
+#	on other parameters such as font loading.  I have tried
+#	to follow the following outline:
+#
+#		<rs1> -> set personality
+#		<rs2> -> set number of columns
+#		<rs3> -> set number of lines
+#		<is1> -> select the proper font
+#		<is2> -> do the initialization
+#		<is3> -> set up display memory (2 pages)
+#
+#	The display memory may be used for either text or graphics.
+#	When "Display Memory = Shared" the terminal will have more pages
+#	but garbage may be left on the screen when you switch from
+#	graphics to text.  If "Display Memory = Unshared" then the
+#	text area will be only one page long.
+#
+# (wy160: we use \E{ rather than ^^ for home (both are documented) to avoid
+# a bug reported by Robert Dunn, <rcdii@inlink.com> -- esr)
+wy160|wyse160|Wyse 160,
+	am, bw, km, mc5i, mir, msgr,
+	cols#80, lh#1, lines#24, lw#8, nlab#8, wsl#38,
+	acsc=+/\,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~,
+	bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<30>,
+	cnorm=\E`1, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<5>,
+	dclk=\E`b, dim=\EGp, dl1=\ER$<1>, ed=\EY$<30>, el=\ET$<5>,
+	flash=\E`8$<100/>\E`9, home=\E{, ht=^I, hts=\E1,
+	il1=\EE$<1>, ind=\n$<1>, ip=$<2>, is1=\EcB0\EcC1,
+	is2=\Ed$\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016
+	    \024\El,
+	is3=\Ew0$<100>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H,
+	kcud1=\n, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ,
+	kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=\E{^K,
+	mc0=\EP, mc4=^T, mc5=\Ed#, nel=\r\n$<1>,
+	pfloc=\EZ2%p1%{63}%+%c%p2%s\177,
+	pfx=\EZ1%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<1>,
+	rmacs=\EcD, rmam=\Ed., rmclk=\E`c, rmcup=\Ew0, rmir=\Er,
+	rmln=\EA11, rmxon=\Ec20, rs1=\E~!\E~4$<70>,
+	rs2=\E`:$<100>, rs3=\EwG\Ee($<140>,
+	sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}
+	    %|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t
+	    %{64}%|%;%?%p7%t%{1}%|%;%c,
+	sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/,
+	smcup=\Ew1, smir=\Eq, smln=\EA10, smso=\EGt, smxon=\Ec21,
+	tbc=\E0, use=adm+sgr, use=wyse+sl,
+#
+wy160-w|wyse160-w|Wyse 160 132-column,
+	cols#132, lw#7, nlab#16, wsl#90,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<9>,
+	rs2=\EeF$<150>\E`;$<150>, use=wy160,
+#
+wy160-25|wyse160-25|Wyse 160 80-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<200>, use=wy160,
+wy160-25-w|wyse160-25-w|Wyse 160 132-column 25-lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<200>, use=wy160-w,
+#
+wy160-42|wyse160-42|Wyse 160 80-column 42-lines,
+	lines#42,
+	clear=\E+$<50>, dl1=\ER$<2>, ed=\Ey$<50>, il1=\EE$<2>,
+	ind=\n$<2>, is1=\EcB2\EcC3, nel=\r\n$<2>, ri=\Ej$<2>,
+	rs3=\Ee*$<150>, use=wy160,
+wy160-42-w|wyse160-42-w|Wyse 160 132-column 42-lines,
+	cols#132, lw#7, nlab#16, wsl#90,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<8>, ip=$<3>,
+	rs2=\EeF$<150>\E`;$<150>, use=wy160-42,
+#
+wy160-43|wyse160-43|Wyse 160 80-column 43-lines,
+	lh@, lines#43, lw@, nlab@,
+	pln@, rs3=\Ee+$<150>, use=wy160-42,
+wy160-43-w|wyse160-43-w|Wyse 160 132-column 43-lines,
+	lh@, lines#43, lw@, nlab@,
+	pln@, rs3=\Ee+$<150>, use=wy160-42-w,
+#
+wy160-vb|wyse160-vb|Wyse 160 visible bell,
+	bel@, use=wy160,
+wy160-w-vb|wy160-wvb|wyse160-wvb|Wyse 160 132-column visible bell,
+	bel@, use=wy160-w,
+#
+#	The Wyse 75 is a VT100 lookalike without advanced video.
+#
+#	   The Wyse 75 can support one attribute (e.g. Dim, Inverse,
+#	Underline) without magic cookies.  The following description
+#	uses this capability, but when more than one attribute is
+#	put on the screen at once, all attributes will be changed
+#	to be the same as the last attribute given.
+#	   The Wyse 75 can support more attributes when used with magic
+#	cookies.  The wy75-mc terminal description uses magic cookies
+#	to correctly handle multiple attributes on a screen.
+#
+wy75|wyse75|Wyse 75,
+	am, hs, mir, msgr, xenl, xon,
+	cols#80, lines#24, ma#1, pb#1201, wsl#78,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, clear=\E[H\E[J$<30>, cr=\r,
+	csr=\E[%i%p1%d;%p2%dr$<2>, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP$<3*>,
+	dch1=\E[P$<3>, dim=\E[0t\E[2m, dl=\E[%p1%dM$<1*>,
+	dl1=\E[M, dsl=\E[>\,\001\001\E[>-\001\001,
+	ech=\E[%p1%dX, ed=\E[J$<30>, el=\E[K$<3>, el1=\E[1K$<3>,
+	enacs=\E)0, flash=\E[30h\E\,$<250/>\E[30l, fsl=^A,
+	home=\E[H, hpa=\E[%i%p1%dG, ich=\E[%p1%d@$<1*>,
+	il=\E[%p1%dL$<2*>, il1=\E[L$<2>, ind=\n$<2>, ip=$<1>,
+	is1=\E[2;4;20;30l\E[?1;10l\E[12h\E[?7;8;25h,
+	is2=\E>\E(B\E)0\017, is3=\E[m, kdl1=\E[M, kel=\E[K,
+	kf1=\E[?5i, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf2=\E[?3i,
+	kf20=\E[34~, kf21=\E[35~, kf3=\E[2i, kf4=\E[@, kf5=\E[M,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+	khlp=\E[28~, kich1=\E[@, kil1=\E[L, knp=\E[6~, kpp=\E[5~,
+	kprt=\E[?5i, kslt=\E[4~, mc0=\E[0i, rc=\E8, rev=\E[1t\E[7m,
+	ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmkx=\E>,
+	rmso=\E[m, rmul=\E[m, rs1=\E[13l\E[3l\E!p,
+	rs2=\E[35h\E[?3l$<80>, rs3=\E[?5l, sc=\E7,
+	sgr=%?%p5%t\E[0t%;%?%p3%p1%|%t\E[1t%;%?%p2%t\E[2t%;%?%p4%t
+	    \E[3t%;%?%p1%p2%p3%p4%p5%|%|%|%|%t\E[7m%e\E[m%;%?%p9%t
+	    \016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1l\E[?7h\E=, smso=\E[1t\E[7m, smul=\E[2t\E[4m,
+	tsl=\E[>\,\001, use=ansi+arrows, use=ansi+local,
+	use=ansi+pp, use=ansi+tabs, use=decid+cpr,
+	use=vt220+cvis, use=vt220+keypad,
+#
+#	This terminal description uses the non-hidden attribute mode
+#	(with magic cookie).
+#
+wy75-mc|wyse75-mc|Wyse 75 with magic cookies,
+	msgr@,
+	ma@, xmc#1,
+	blink=\E[2p, dim=\E[1p, invis=\E[4p, is3=\E[m\E[p,
+	rev=\E[16p, rmacs=\E[0p\017, rmso=\E[0p, rmul=\E[0p,
+	sgr=\E[%{0}%?%p2%p6%|%t%{8}%|%;%?%p1%p3%|%p6%|%t%{16}%|%;%?
+	    %p4%t%{2}%|%;%?%p1%p5%|%t%{1}%|%;%?%p7%t%{4}%|%;%dp%?%p9
+	    %t\016%e\017%;,
+	sgr0=\E[0p\017, smacs=\E[0p\016, smso=\E[17p, smul=\E[8p,
+	use=wy75,
+wy75-vb|wyse75-vb|Wyse 75 with visible bell,
+	pb@,
+	bel@, use=wy75,
+wy75-w|wyse75-w|Wyse 75 in 132 column mode,
+	cols#132, wsl#130,
+	rs2=\E[35h\E[?3h$<80>, use=wy75,
+wy75-wvb|wyse75-wvb|Wyse 75 with visible bell 132 columns,
+	pb@,
+	bel@, use=wy75-w,
+#
+#	Wyse 85 emulating a VT220 7 bit mode.
+#		24 line screen with status line.
+#
+#	The VT220 mode permits more function keys but it wipes out
+#	the escape key.  I strongly recommend that <f11> be set to
+#	escape (esc).
+#	The terminal may have to be set for 8 data bits and 2 stop
+#	bits for the arrow keys to work.
+#	The Wyse 85 runs faster with XON/XOFF enabled.  Also the
+#	<dch> and <ich> work best when XON/XOFF is set.  <ich> and
+#	<dch> leave trash on the screen when used without XON/XOFF.
+#
+wy85|wyse85|Wyse 85,
+	hs, mir, xenl, xon,
+	wsl#80,
+	clear=\E[H\E[J$<110>, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH$<1>, dch=\E[%p1%dP$<3*>,
+	dch1=\E[P$<3>, dim=\E[2m, dl=\E[%p1%dM$<3*>,
+	dl1=\E[M$<3>, dsl=\E[40l, ech=\E[%p1%dX, ed=\E[J$<110>,
+	el=\E[K$<1>, el1=\E[1K, enacs=\E)0,
+	flash=\E[30h\E\,$<300/>\E[30l, fsl=\E[1;24r\E8,
+	ht=\011$<1>, ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>,
+	il1=\E[L$<5>, ind=\n$<3>, ip=$<3>, is1=\E[62;1"p\E[?5W,
+	is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>,
+	is3=\E>\E(B\E)0\017\E[m, kf10=\E[21~, kf11=\E[23~,
+	kf12=\E[24~, kf13=\E[25~, kf14=\E[26~, kf15=\E[28~,
+	kf16=\E[29~, kf17=\E[31~, kf18=\E[32~, kf19=\E[33~,
+	kf20=\E[34~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~,
+	kf9=\E[20~, khlp=\E[28~, khome=\E[26~, lf1=PF1, lf2=PF2,
+	lf3=PF3, lf4=PF4, mc0=\E[0i, ri=\EM$<3>, rmam=\E[?7l,
+	rmir=\E[4l, rmkx=\E>, rs1=\E[13l\E[3l\E!p,
+	rs2=\E[35h\E[?3l$<70>, rs3=\E[?5l,
+	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?
+	    %p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smam=\E[?7h, smir=\E[4h, smkx=\E[?1l\E=,
+	tsl=\E[40h\E7\E[25;%i%p1%dH, use=ansi+arrows,
+	use=ansi+csr, use=ansi+inittabs, use=ansi+local,
+	use=ansi+pp, use=ansi+sgrbold, use=decid+cpr,
+	use=vt100+4bsd, use=vt220+vtedit, use=vt220+cvis,
+	use=vt220+keypad,
+#
+#	Wyse 85 with visual bell.
+wy85-vb|wyse85-vb|Wyse 85 with visible bell,
+	bel@, flash=\E[30h\E\,$<300/>\E[30l, use=wy85,
+#
+#	Wyse 85 in 132-column mode.
+wy85-w|wyse85-w|Wyse 85 in 132-column mode,
+	cols#132, wsl#132,
+	rs2=\E[35h$<70/>\E[?3h, use=wy85,
+#
+#	Wyse 85 in 132-column mode with visual bell.
+wy85-wvb|wyse85-wvb|Wyse 85 with visible bell 132-columns,
+	bel@, use=wy85-w,
+
+# From: Kevin Turner <kevint@aracnet.com>, 12 Jul 1998
+# This copes with an apparent firmware bug in the wy85.  He writes:
+# "What I did was change leave the terminal cursor keys set to Normal
+# (instead of application), and change \E[ to \233 for all the keys in
+# terminfo. At one point, I found some reference indicating that this
+# terminal bug (not sending \E[) was acknowledged by Wyse (so it's not just
+# me), but I can't find that and the server under my bookmark to "Wyse
+# Technical" isn't responding.  So there's the question of whether the wy85
+# terminfo should reflect the manufacturer's intended behaviour of the terminal
+# or the actual."
+wy85-8bit|wyse85-8bit|Wyse 85 in 8-bit mode,
+	hs, mir, xenl, xon,
+	wsl#80,
+	clear=\E[H\E[J$<110>, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH$<1>, dch=\E[%p1%dP$<3*>,
+	dch1=\E[P$<3>, dim=\E[2m, dl=\E[%p1%dM$<3*>,
+	dl1=\E[M$<3>, dsl=\E[40l, ech=\E[%p1%dX, ed=\E[J$<110>,
+	el=\E[K$<1>, el1=\E[1K, enacs=\E)0,
+	flash=\E[30h\E\,$<300/>\E[30l, fsl=\E[1;24r\E8,
+	ht=\011$<1>, ich=\E[%p1%d@$<4*>, il=\E[%p1%dL$<5*>,
+	il1=\E[L$<5>, ind=\n$<3>, ip=$<3>, is1=\E[62;1"p\E[?5W,
+	is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h$<16>,
+	is3=\E>\E(B\E)0\017\E[m, ka1=\EOw, ka3=\EOy, kb2=\EOu,
+	kc1=\EOq, kc3=\EOs, kcub1=\233D, kcud1=\233B, kcuf1=\233C,
+	kcuu1=\233A, kdch1=\2333~, kf10=\23321~, kf11=\23323~,
+	kf12=\23324~, kf13=\23325~, kf14=\23326~, kf15=\23328~,
+	kf16=\23329~, kf17=\23331~, kf18=\23332~, kf19=\23333~,
+	kf20=\23334~, kf6=\23317~, kf7=\23318~, kf8=\23319~,
+	kf9=\23320~, kfnd=\2331~, khlp=\23328~, khome=\23326~,
+	kich1=\2332~, knp=\2336~, kpp=\2335~, kslt=\2334~, lf1=PF1,
+	lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, ri=\EM$<3>,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rs1=\E[13l\E[3l\E!p,
+	rs2=\E[35h\E[?3l$<70>, rs3=\E[?5l,
+	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?
+	    %p6%t;1%;%?%p7%t;8%;+m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smam=\E[?7h, smir=\E[4h, smkx=\E[?1l\E=,
+	tsl=\E[40h\E7\E[25;%i%p1%dH, use=ansi+csr,
+	use=ansi+inittabs, use=ansi+local, use=ansi+pp,
+	use=ansi+sgrbold, use=decid+cpr, use=vt100+4bsd,
+	use=vt100+pfkeys, use=vt220+cvis,
+#
+#	Wyse 185 emulating a VT320 7 bit mode.
+#
+#	This terminal always displays 25 lines.  These lines may be used
+#	as 24 data lines and a terminal status line (top or bottom) or
+#	25 data lines.  The 48 and 50 line modes change the page size
+#	and not the number of lines on the screen.
+#
+#	The Compose Character key can be used as a meta key if changed
+#	by set-up.
+#
+wy185|wyse185|Wyse 185,
+	hs, km, mir, xenl, xon,
+	wsl#80,
+	civis=\E[?25l, clear=\E[H\E[J$<40>,
+	cnorm=\E[34h\E[?25h, csr=\E[%i%p1%d;%p2%dr$<20>,
+	cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+	cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<3>, dch1=\E[P$<3>,
+	dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>,
+	dsl=\E7\E[99;0H\E[K\E8, ech=\E[%p1%dX, ed=\E[J$<40>,
+	el=\E[K, el1=\E[1K, enacs=\E)0,
+	flash=\E[30h\E\,$<100/>\E[30l, fsl=\E[1;24r\E8,
+	hpa=\E[%i%p1%d`, ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>,
+	il1=\E[L$<3>, ind=\n$<2>, ip=$<4>, is1=\E[?5W,
+	is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25h,
+	is3=\E>\E(B\E)0\017\E[m, kcbt=\E[Z, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf20=\E[34~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khlp=\E[28~, khome=\E[26~, lf1=PF1,
+	lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i, rc=\E8, ri=\EM$<2>,
+	rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l, rmkx=\E>,
+	rmso=\E[27m, rmul=\E[24m,
+	rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p, rs2=\E[35h\E[?3l,
+	rs3=\E[?5l\E[47h\E[40l\E[r, sc=\E7,
+	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?
+	    %p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smam=\E[?7h, smcup=\E[ Q, smir=\E[4h,
+	smkx=\E[?1l\E=, tsl=\E7\E[99;%i%p1%dH, vpa=\E[%i%p1%dd,
+	use=ansi+arrows, use=ansi+inittabs, use=ansi+local,
+	use=ansi+pp, use=ansi+sgrbold, use=decid+cpr,
+	use=vt100+4bsd, use=vt220+vtedit, use=vt220+keypad,
+#
+#	Wyse 185 with 24 data lines and top status (terminal status)
+wy185-24|wyse185-24|Wyse 185 with 24 data lines,
+	hs@,
+	dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@,
+	use=wy185,
+#
+#	Wyse 185 with visual bell.
+wy185-vb|wyse185-vb|Wyse 185+flash,
+	bel@, use=wy185,
+#
+#	Wyse 185 in 132-column mode.
+wy185-w|wyse185-w|Wyse 185 in 132-column mode,
+	cols#132, wsl#132,
+	dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>,
+	ip=$<7>, rs2=\E[35h\E[?3h, use=wy185,
+#
+#	Wyse 185 in 132-column mode with visual bell.
+wy185-wvb|wyse185-wvb|Wyse 185+flash+132 cols,
+	bel@, use=wy185-w,
+
+# wy325 terminfo entries
+# Done by Joe H. Davis        3-9-92
+
+# lines 25  columns 80
+#
+wy325|wyse325|Wyse epc,
+	am, bw, mc5i, mir,
+	cols#80, lh#1, lines#24, lw#8, nlab#8, pb#9601,
+	acsc=+/\,.0[a2fxgqh1ihjYk?lZm@nEqDtCu4vAwBx3yszr{c~~,
+	bel=^G, blink=\EG2, cbt=\EI, civis=\E`0, clear=\E+$<50>,
+	cnorm=\E`1, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW$<7>,
+	dim=\EGp, dl1=\ER$<3>, ed=\EY$<50>, el=\ET$<4>,
+	flash=\E`8$<100/>\E`9, home=^^, ht=^I, hts=\E1,
+	il1=\EE$<3>, ind=\n$<3>, ip=$<2>, is1=\EcB0\EcC1,
+	is2=\EcD\E'\Er\EH\003\Ed/\EO\Ee1\Ed*\E`@\E`9\E`1\016\024
+	    \El,
+	is3=\Ew0$<16>, kHOM=\E{, kbs=^H, kcbt=\EI, kcub1=^H,
+	kcud1=\n, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY,
+	kel=\ET, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\Eq,
+	kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, ll=^^^K,
+	mc0=\EP, mc4=^T, mc5=\Ed#,
+	pfloc=\EZ2%p1%{63}%+%c%p2%s\177,
+	pfx=\EZ1%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<2>,
+	rmacs=\EcD, rmam=\Ed., rmcup=\Ew0, rmir=\Er, rmln=\EA11,
+	rs1=\E~!\E~4$<30>, rs2=\EeF\E`:$<70>,
+	rs3=\EwG\Ee($<100>,
+	sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EcE%e\EcD%;\EG%{48}%?%p2%t%{8}
+	    %|%;%?%p1%p3%|%p6%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|%t
+	    %{64}%|%;%?%p7%t%{1}%|%;%c,
+	sgr0=\E(\EH\003\EG0\EcD, smacs=\EcE, smam=\Ed/,
+	smcup=\Ew1, smir=\Eq, smln=\EA10, smso=\EGt, tbc=\E0,
+	use=adm+sgr, use=wyse+sl,
+
+#
+# lines 24  columns 80  vb
+#
+wy325-vb|wyse325-vb|Wyse-325 with visual bell,
+	bel@, use=wy325,
+
+#
+# lines 24  columns 132
+#
+wy325-w|wyse325-w|wy325w-24|Wyse-325 in wide mode,
+	cols#132, lw#7, nlab#16, wsl#97,
+	cup=\Ea%i%p1%dR%p2%dC, dch1=\EW$<12>, ip=$<4>,
+	rs2=\E`;$<70>, use=wy325,
+#
+# lines 25  columns 80
+#
+wy325-25|wyse325-25|wy325-80|wyse-325|Wyse-325 25 lines,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy325,
+#
+# lines 25  columns 132
+#
+wy325-25w|wyse325-25w|Wyse-325 132 columns,
+	lh@, lines#25, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy325-w,
+#
+# lines 25  columns 132  vb
+#
+wy325-w-vb|wy325-wvb|wyse325-wvb|Wyse-325 wide mode reverse video,
+	bel@, use=wy325-w,
+
+#
+# lines 42  columns 80
+#
+wy325-42|wyse325-42|Wyse-325 42 lines,
+	lh@, lines#42, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy325,
+#
+# lines 42  columns 132
+#
+wy325-42w|wyse325-42w|Wyse-325 42 lines wide mode,
+	lh@, lines#42, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy325-w,
+#
+# lines 42  columns 132  vb
+#
+wy325-42w-vb|wy325-42wvb|Wyse-325 42 lines wide mode visual bell,
+	bel@, use=wy325-w,
+#
+# lines 43  columns 80
+#
+wy325-43|wyse325-43|Wyse-325 43 lines,
+	lh@, lines#43, lw@, nlab@,
+	pln@, use=wy325,
+#
+# lines 43  columns 132
+#
+wy325-43w|wyse325-43w|Wyse-325 43 lines wide mode,
+	lh@, lines#43, lw@, nlab@,
+	pln@, rs3=\EwG\Ee)$<100>, use=wy325-w,
+#
+# lines 43  columns 132  vb
+#
+wy325-43w-vb|wy325-43wvb|Wyse-325 43 lines wide mode visual bell,
+	bel@, use=wy325-w,
+
+#	Wyse 370 -- 24 line screen with status line.
+#
+#	The terminal may have to be set for 8 data bits and 2 stop
+#	bits for the arrow keys to work.
+#
+#	If you change keyboards the terminal will send different
+#	escape sequences.
+#	The following definition is for the basic terminal without
+#	function keys.
+#
+#	<u0> -> enter Tektronix 4010/4014 mode
+#	<u1> -> exit  Tektronix 4010/4014 mode
+#	<u2> -> enter ASCII mode (from any ANSI mode)
+#	<u3> -> exit  ASCII mode (goto native ANSI mode)
+#	<u4> -> enter Tek 4207 ANSI mode (from any ANSI mode)
+#	<u5> -> exit  Tek 4207 mode (goto native ANSI mode)
+#
+# Bug: The <op> capability resets attributes.
+wy370-nk|Wyse 370 without function keys,
+	am, ccc, hs, mir, msgr, xenl, xon,
+	colors#64, cols#80, lines#24, ncv#48, pairs#64, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, civis=\E[?25l, clear=\E[H\E[J$<40>,
+	cnorm=\E[34h\E[?25h, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH$<1>, cvvis=\E[?25h\E[34l,
+	dch=\E[%p1%dP$<1*>, dch1=\E[P$<1>, dclk=\E[31h,
+	dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>, dsl=\E[40l,
+	ech=\E[%p1%dX$<.1*>, ed=\E[J$<40>, el=\E[K$<10>,
+	el1=\E[1K$<12>, enacs=\E)0,
+	flash=\E[30h\E\,$<300/>\E[30l, fsl=\E[1;24r\E8,
+	home=\E[H, hpa=\E[%i%p1%d`, ht=\011$<1>,
+	ich=\E[%p1%d@$<1*>, il=\E[%p1%dL$<2*>, il1=\E[L$<2>,
+	ind=\n$<2>,
+	initc=\E[66;%p1%d;%?%p2%{250}%<%t%{0}%e%p2%{500}%<%t%{16}%e
+	      %p2%{750}%<%t%{32}%e%{48}%;%?%p3%{250}%<%t%{0}%e%p3
+	      %{500}%<%t%{4}%e%p3%{750}%<%t%{8}%e%{12}%;%?%p4%{250}
+	      %<%t%{0}%e%p4%{500}%<%t%{1}%e%p4%{750}%<%t%{2}%e%{3}%;
+	      %{1}%+%+%+%dw,
+	ip=$<1>, is1=\E[90;1"p\E[?5W$<6>,
+	is2=\E[2;4;20;30;40l\E[?1;10;16l\E[12h\E[?7;8;25h,
+	is3=\E>\017\E)0\E(B\E[63;0w\E[m, mc0=\E[0i,
+	oc=\E[60w\E[63;0w\E[66;1;4w\E[66;2;13w\E[66;3;16w\E[66;4;49w
+	   \E[66;5;51w\E[66;6;61w\E[66;7;64w,
+	op=\E[m, ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmclk=\E[31l,
+	rmcup=\E[ R, rmir=\E[4l, rmkx=\E>, rmso=\E[27m,
+	rmul=\E[24m, rs1=\E[13l\E[3l\E!p\E[?4i,
+	rs2=\E[35h\E[?3l$<8>, rs3=\E[?5l, setb=\E[62;%p1%dw,
+	setf=\E[61;%p1%dw,
+	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?
+	    %p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smcup=\E[ Q,
+	smir=\E[4h, smkx=\E[?1l\E=,
+	tsl=\E[40l\E[40h\E7\E[99;%i%p1%dH, u0=\E[?38h\E8,
+	u1=\E[?38l\E)0, u2=\E[92;52"p, u3=\E~B, u4=\E[92;76"p,
+	u5=\E%!1\E[90;1"p, vpa=\E[%i%p1%dd, use=ansi+csr,
+	use=ansi+inittabs, use=ansi+local, use=ansi+pp,
+	use=ansi+sgrbold, use=decid+cpr,
+#
+#	Function key set for the ASCII (wy-50 compatible) keyboard
+#	This is the default 370.
+#
+wy370|wyse370|wy370-101k|Wyse 370 with 101 key keyboard,
+	kcbt=\E[Z, kdch1=\EOQ, kdl1=\EOQ, kent=\EOM, kf1=\E[?4i,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf2=\E[?3i,
+	kf3=\E[2i, kf4=\E[@, kf5=\E[M, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, kich1=\EOP, kil1=\EOP, knp=\E[U,
+	kpp=\E[V, use=ansi+arrows, use=wy370-nk,
+#
+#	Function key set for the VT-320 (and wy85) compatible keyboard
+#
+wy370-105k|Wyse 370 with 105 key keyboard,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, kfnd=\E[1~,
+	khlp=\E[28~, khome=\E[26~, lf1=PF1, lf2=PF2, lf3=PF3,
+	lf4=PF4, use=ansi+arrows, use=vt220+vtedit, use=wy370-nk,
+	use=vt220+keypad,
+#
+#	Function key set for the PC compatible keyboard
+#
+wy370-EPC|Wyse 370 with 102 key keyboard,
+	kcbt=\E[Z, kend=\E[1~, kent=\EOM, kf1=\EOP, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	kf5=\E[M, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	kich1=\E[2~, knp=\E[U, kpp=\E[V, use=ansi+arrows,
+	use=wy370-nk,
+#
+#	Wyse 370 with visual bell.
+wy370-vb|Wyse 370 with visible bell,
+	bel@, use=wy370,
+#
+#	Wyse 370 in 132-column mode.
+wy370-w|Wyse 370 in 132-column mode,
+	cols#132, wsl#132,
+	rs2=\E[35h\E[?3h$<70>, use=wy370,
+#
+#	Wyse 370 in 132-column mode with visual bell.
+wy370-wvb|Wyse 370 with visible bell 132-columns,
+	flash=\E[30h\E\,$<300/>\E[30l, use=wy370-w,
+wy370-rv|Wyse 370 reverse video,
+	rs3=\E[32h\E[?5h, use=wy370,
+#
+#	Wyse 99gt Tektronix 4010/4014 emulator,
+#
+wy99gt-tek|Wyse 99gt Tektronix 4010/4014 emulator,
+	am, os,
+	cols#74, lines#35,
+	bel=^G, clear=\E^L, cr=\r, cub1=^H, cud1=\n, cuf1=\s,
+	cup=\035%{3040}%{89}%p1%*%-%Py%p2%{55}%*%Px%gy%{128}%/%{31}
+	    %&%{32}%+%c%gy%{3}%&%{4}%*%gx%{3}%&%+%{96}%+%c%gy%{004}
+	    %/%{31}%&%{96}%+%c%gx%{128}%/%{31}%&%{32}%+%c%gx%{004}%/
+	    %{31}%&%{64}%+%c\037,
+	cuu1=^K, ff=^L,
+	hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+	   \037,
+	home=^]7`x @\037,
+	hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+	   \037,
+	is2=\E8, nel=\r\n, u0=\E~>\E8, u1=\E[42h,
+#
+#	Wyse 160 Tektronix 4010/4014 emulator,
+#
+wy160-tek|Wyse 160 Tektronix 4010/4014 emulator,
+	cup=\035%{3103}%{91}%p1%*%-%Py%p2%{55}%*%Px%gy%{128}%/%{31}
+	    %&%{32}%+%c%gy%{3}%&%{4}%*%gx%{3}%&%+%{96}%+%c%gy%{004}
+	    %/%{31}%&%{96}%+%c%gx%{128}%/%{31}%&%{32}%+%c%gx%{004}%/
+	    %{31}%&%{64}%+%c\037,
+	home=^]8`g @\037, use=wy99gt-tek,
+#
+#	Wyse 370 Tektronix 4010/4014 emulator,
+#
+wy370-tek|Wyse 370 Tektronix 4010/4014 emulator,
+	am, os,
+	cols#80, lines#36,
+	bel=^G, clear=\E^L, cr=\r, cub1=^H, cud1=\n, cuf1=\s,
+	cup=\035%{775}%{108}%p1%*%{5}%/%-%Py%p2%{64}%*%{4}%+%{5}%/
+	    %Px%gy%{32}%/%{31}%&%{32}%+%c%gy%{31}%&%{96}%+%c%gx%{32}
+	    %/%{31}%&%{32}%+%c%gx%{31}%&%{64}%+%c\037,
+	cuu1=^K, ff=^L,
+	hd=\036HHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHHH
+	   \037,
+	home=^]8g @\037,
+	hu=\036DDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDDD
+	   \037,
+	is2=\E8, kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^I, kcuu1=^K,
+	nel=\r\n, u0=\E[?38h\E8, u1=\E[?38l\E)0,
+
+# Vendor-supplied Wyse entries end here.
+
+#
+#TITLE:  TERMINFO ENTRY WY520
+#DATE:   8/5/93
+# The WY520 terminfo is based on the WY285 entry published on the WYSE
+# BBS with the addition of more function keys and special keys.
+#
+#               rs1 -> set personality
+#               rs2 -> set number of columns
+#               rs3 -> set number of lines
+#               is1 -> select the proper font
+#               is2 -> do the initialization
+#               is3 -> If this string is empty then rs3 gets sent.
+#
+#       Wyse 520 emulating a VT420 7 bit mode with default ANSI keyboard
+#       - The BS key is programmed to generate BS in smcup since
+#         is2 doesn't seem to work.
+#       - Remove and shift/Remove: delete a character
+#       - Insert : enter insert mode
+#       - Find   : delete to end of file
+#       - Select : clear a line
+#       - F11, F12, F13: send default sequences (not ESC, BS, LF)
+#       - F14 : Home key
+#       - Bottom status line (host writable line) is used.
+#       - smkx,rmkx are removed because this would put the numeric
+#         keypad in Dec application mode which doesn't seem to work
+#         with SCO applications.
+#
+wy520|wyse520|Wyse 520,
+	am, hs, km, mir, xenl, xon,
+	cols#80, it#8, lines#24, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, civis=\E[?25l, clear=\E[H\E[J$<40>,
+	cnorm=\E[34h\E[?25h, cr=\r, csr=\E[%i%p1%d;%p2%dr$<20>,
+	cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+	cvvis=\E[?25h\E[34l, dch=\E[%p1%dP$<3>, dch1=\E[P$<30>,
+	dim=\E[2m, dl=\E[%p1%dM$<2*>, dl1=\E[M$<2>, dsl=\E[0$~,
+	ech=\E[%p1%dX, ed=\E[J$<40>, el=\E[K, el1=\E[1K,
+	enacs=\E)0, fsl=\E[0$}, home=\E[H, hpa=\E[%i%p1%d`,
+	ich=\E[%p1%d@$<2>, il=\E[%p1%dL$<3*>, il1=\E[L$<3>,
+	ind=\n$<2>, ip=$<4>, is1=\E[?5W,
+	is2=\E[2;4;20;30l\E[?1;4;10;16l\E[12h\E[?7;8;25;67h,
+	is3=\E>\E(B\E)0\017\E[m, kcbt=\E[Z, ked=\E[1~, kel=\E[4~,
+	kf10=\E[21~, kf11=\E[23~, kf12=\E[24~, kf13=\E[25~,
+	kf14=\E[26~, kf15=\E[28~, kf16=\E[29~, kf17=\E[31~,
+	kf18=\E[32~, kf19=\E[33~, kf20=\E[34~, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khlp=\E[28~,
+	khome=\E[26~, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4, mc0=\E[0i,
+	ri=\EM$<2>, rmacs=^O, rmam=\E[?7l, rmcup=\E[ R, rmir=\E[4l,
+	rmul=\E[24m, rs1=\E[13l\E[3l\E\\\E[63;1"p\E[!p,
+	rs2=\E[35h\E[?3l, rs3=\E[?5l\E[47h\E[40l\E[r,
+	sgr=\E[0%?%p2%t;4%;%?%p3%p1%|%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?
+	    %p6%t;1%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h,
+	smcup=\E[ Q\E[?67;8h, smir=\E[4h,
+	tsl=\E[2$~\E[1$}\E[%i%p1%d`, vpa=\E[%i%p1%dd,
+	use=ansi+arrows, use=ansi+csr, use=ansi+local,
+	use=ansi+pp, use=ansi+sgrbold, use=ansi+tabs,
+	use=decid+cpr, use=vt220+vtedit, use=vt220+keypad,
+#
+#       Wyse 520 with 24 data lines and status (terminal status)
+wy520-24|wyse520-24|Wyse 520 with 24 data lines,
+	hs@,
+	dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@,
+	use=wy520,
+#
+#       Wyse 520 with visual bell.
+wy520-vb|wyse520-vb|Wyse 520 with visible bell,
+	flash=\E[30h\E\,$<100/>\E[30l, use=wy520,
+#
+#       Wyse 520 in 132-column mode.
+wy520-w|wyse520-w|Wyse 520 in 132-column mode,
+	cols#132, wsl#132,
+	dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>,
+	ip=$<7>, rs2=\E[35h\E[?3h, use=wy520,
+#
+#       Wyse 520 in 132-column mode with visual bell.
+wy520-wvb|wyse520-wvb|Wyse 520 with visible bell 132-columns,
+	flash=\E[30h\E\,$<100/>\E[30l, use=wy520-w,
+#
+#
+#       Wyse 520 emulating a VT420 7 bit mode.
+#       The DEL key is programmed to generate BS in is2.
+#       With EPC keyboard.
+#       - 'End' key will clear till end of line on EPC keyboard
+#       - Shift/End : ignored.
+#       - Insert : enter insert mode.
+#       - Delete : delete a character (have to change interrupt character
+#                  to CTRL-C: stty intr '^c') for it to work since the
+#                  Delete key sends 7FH.
+wy520-epc|wyse520-epc|Wyse 520 with EPC keyboard,
+	kdch1=^?, kel=\E[4~, kend=\E[4~, kf0=\E[21~, kf1=\E[11~,
+	kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, khome=\E[H,
+	use=wy520,
+#
+#       Wyse 520 with 24 data lines and status (terminal status)
+#       with EPC keyboard.
+wy520-epc-24|wyse520-pc-24|Wyse 520 with 24 data lines and EPC keyboard,
+	hs@,
+	dsl@, fsl@, rs3=\E[?5l\E[47h\E[40l\E[1;24r, tsl@,
+	use=wy520-epc,
+#
+#       Wyse 520 with visual bell.
+wy520-epc-vb|wyse520-pc-vb|Wyse 520 with visible bell and EPC keyboard,
+	flash=\E[30h\E\,$<100/>\E[30l, use=wy520-epc,
+#
+#       Wyse 520 in 132-column mode.
+wy520-epc-w|wyse520-epc-w|Wyse 520 in 132-column mode with EPC keyboard,
+	cols#132, wsl#132,
+	dch=\E[%p1%dP$<7>, dch1=\E[P$<7>, ich=\E[%p1%d@$<7>,
+	ip=$<7>, rs2=\E[35h\E[?3h, use=wy520-epc,
+#
+#       Wyse 520 in 132-column mode with visual bell.
+wy520-epc-wvb|wyse520-p-wvb|Wyse 520 with visible bell 132-columns and EPC keyboard,
+	flash=\E[30h\E\,$<100/>\E[30l, use=wy520-epc-w,
+#
+#       Wyse 520 in 80-column, 36 lines
+wy520-36|wyse520-36|Wyse 520 with 36 data lines,
+	hs@,
+	lines#36,
+	dsl@, fsl@, rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r, tsl@,
+	use=wy520,
+#
+#       Wyse 520 in 80-column, 48 lines
+wy520-48|wyse520-48|Wyse 520 with 48 data lines,
+	hs@,
+	lines#48,
+	dsl@, fsl@, rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r, tsl@,
+	use=wy520,
+#
+#       Wyse 520 in 132-column, 36 lines
+wy520-36w|wyse520-36w|Wyse 520 with 132 columns and 36 data lines,
+	cols#132, wsl#132,
+	rs2=\E[?3h,
+	rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r\E[132$|,
+	use=wy520-36,
+#
+#       Wyse 520 in 132-column, 48 lines
+wy520-48w|wyse520-48w|Wyse 520 with 48 data lines (132 column),
+	cols#132, wsl#132,
+	rs2=\E[?3h,
+	rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r\E[132$|,
+	use=wy520-48,
+#
+#
+#       Wyse 520 in 80-column, 36 lines with EPC keyboard
+wy520-36pc|wyse520-36pc|Wyse 520 with 36 data lines and EPC keyboard,
+	hs@,
+	lines#36,
+	dsl@, fsl@, rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r, tsl@,
+	use=wy520-epc,
+#
+#       Wyse 520 in 80-column, 48 lines with EPC keyboard
+wy520-48pc|wyse520-48pc|Wyse 520 with 48 data lines and EPC keyboard,
+	hs@,
+	lines#48,
+	dsl@, fsl@, rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r, tsl@,
+	use=wy520-epc,
+#
+#       Wyse 520 in 132-column, 36 lines with EPC keyboard
+wy520-36wpc|wyse520-36wpc|Wyse 520 with 36 data lines and EPC keyboard (132 column),
+	cols#132, wsl#132,
+	rs2=\E[?3h,
+	rs3=\E[?5l\E[36*|\E[36t\E[40l\E[1;36r\E[132$|,
+	use=wy520-36pc,
+#
+#       Wyse 520 in 132-column, 48 lines with EPC keyboard
+wy520-48wpc|wyse520-48wpc|Wyse 520 with 48 data lines and EPC keyboard (132 column),
+	cols#132, wsl#132,
+	rs2=\E[?3h,
+	rs3=\E[?5l\E[48*|\E[48t\E[40l\E[1;48r\E[132$|,
+	use=wy520-48pc,
+
+# From: John Gilmore <hoptoad!gnu@lll-crg.arpa>
+# (wyse-vp: removed <if=/usr/share/tabset/wyse-adds>, there's no such
+# file and we don't know what <hts> is -- esr)
+wyse-vp|Wyse 50 in ADDS Viewpoint emulation mode with "enhance" on,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=^F,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dch1=\EW,
+	dl1=\El, ed=\Ek, el=\EK, home=^A, ht=^I, il1=\EM, ind=\n,
+	is2=\E`:\E`9\017\Er, kbs=^H, kcub1=^U, kcud1=\n, kcuf1=^F,
+	kcuu1=^Z, khome=^A, ll=^A^Z, nel=\r\n, rmir=\Er, rmso=^O,
+	rmul=^O, rs1=\E`:\E`9\017\Er, sgr0=^O, smir=\Eq, smso=^N,
+	smul=^N,
+
+wy75ap|wyse75ap|wy-75ap|wyse-75ap|Wyse WY-75 Applications and Cursor keypad,
+	is2=\E[1;24r\E[?10;3l\E[?1;25h\E[4l\E[m\E(B\E=,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	khome=\EOH, rmkx=\E[?1l\E>$<10/>, smkx=\E[?1h\E=$<10/>,
+	use=wy75,
+
+# From: Eric Freudenthal <freudent@eric.ultra.nyu.edu>
+wy100q|Wyse 100 for Quotron,
+	OTbs,
+	cols#80, lines#24, xmc#1,
+	cbt=\EI, clear=^Z, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, il1=\EE, invis@,
+	is2=\E`:\0\EC\EDF\E0\E'\E(\EA21, kcub1=^H, kcud1=\n,
+	kcuf1=^L, kcuu1=^K, ri=\Ej, rmir=\Er, smir=\Eq, use=adm+sgr,
+
+#### Kermit terminal emulations
+#
+# Obsolete Kermit versions may be listed in the section describing obsolete
+# non-ANSI terminal emulators later in the file.
+#
+
+# KERMIT standard all versions.
+# Straight ascii keyboard. :sr=\EI: not avail. many versions + bug prone in vi.
+# (kermit: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" -- esr)
+# From: greg small <gts@populi.berkeley.edu> 9-25-84
+kermit|standard kermit,
+	OTbs,
+	cols#80, lines#24,
+	clear=\EE, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EK, home=\EH, is2=K0 Standard Kermit  9-25-84\n,
+	kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, khome=^^,
+kermit-am|standard kermit plus auto-margin,
+	am,
+	is2=K1 Standard Kermit plus Automatic Margins\n,
+	use=kermit,
+# IBMPC Kermit 1.2.
+# Bugs: <ed>, <el>: do not work except at beginning of line!  <clear> does
+# not work, but fake with :cl=\EH\EJ (since :cd=\EJ: works at beginning of
+# line).
+# From: greg small <gts@populi.berkeley.edu> 8-30-84
+pckermit|pckermit12|UCB IBMPC Kermit 1.2,
+	am,
+	lines#25,
+	clear=\EH\EJ, ed@, el@,
+	is2=K2 UCB IBMPC Kermit 1.2  8-30-84\n, use=kermit,
+# IBMPC Kermit 1.20
+# Cannot use line 25, now acts funny like ANSI special scrolling region.
+# Initialization must escape from that region by cursor position to line 24.
+# Cannot use character insert because 1.20 goes crazy if insert at col 80.
+# Does not use :am: because autowrap is lost when kermit dropped and restarted.
+# From: greg small <gts@populi.berkeley.edu> 12-19-84
+pckermit120|UCB IBMPC Kermit 1.20,
+	it#8,
+	cvvis=\EO\Eq\EEK3, dch1=\EN, dl1=\EM, ht=^I, il1=\EL,
+	is2=\EO\Eq\EJ\EY7\sK3\sUCB\sIBMPC\sKermit\s1.20\s\s12-19-84
+	    \n,
+	rmir@, rmso=\Eq, smir@, smso=\Ep, use=kermit,
+# MS-DOS Kermit 2.27 for the IBMPC
+# Straight ascii keyboard. :sr=\EI: not avail. many versions + bug prone in vi.
+# Cannot use line 25, now acts funny like ANSI special scrolling region.
+# Initialization must escape from that region by cursor position to line 24.
+# Does not use am: because autowrap is lost when kermit dropped and restarted.
+# Reverse video for standout like H19.
+# (msk227: removed obsolete ":ma=^Hh^Jj^Kk^Ll^^H:" -- esr)
+# From: greg small <gts@populi.berkeley.edu> 3-17-85
+msk227|mskermit227|MS-DOS Kermit 2.27 for the IBMPC,
+	OTbs, am@,
+	cols#80, it#8, lines#24,
+	clear=\EE, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
+	cvvis=\EO\Eq\EG\EwK4, dch1=\EN, dl1=\EM, ed=\EJ, el=\EK,
+	home=\EH, ht=^I, il1=\EL,
+	is2=\EO\Eq\EG\Ew\EJ\EY7\sK4\sMS\sKermit\s2.27\sfor\sthe
+	    \sIBMPC\s3-17-85\n,
+	kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, khome=^^, rc=\Ek,
+	rmir=\EO, rmso=\Eq, sc=\Ej, smir=\E@, smso=\Ep,
+# MS-DOS Kermit 2.27 with automatic margins
+# From:	greg small <gts@populi.berkeley.edu> 3-17-85
+msk227am|mskermit227am|UCB MS-DOS Kermit 2.27 with automatic margins,
+	am,
+	cvvis=\EO\Eq\EG\EvK5,
+	is2=\EO\Eq\EG\Ev\EJ\EY7\sK5\sMS\sKermit\s2.27\s+automatic
+	    \smargins\s3-17-85\n,
+	use=msk227,
+# MS-DOS Kermit 2.27 UCB 227.14 for the IBM PC
+# Automatic margins now default.  Use ansi <sgr> for highlights.
+# Define function keys.
+# (msk22714: removed obsolete ":kn#10:" -- esr)
+# From: greg small <gts@populi.berkeley.edu> 3-17-85
+msk22714|mskermit22714|UCB MS-DOS Kermit 2.27 UCB 227.14 IBM PC,
+	am,
+	bold=\E[1m, cvvis=\EO\Eq\EG\EvK6,
+	is2=\EO\Eq\EG\Ev\EJ\EY7\sK6\sMS\sKermit\s2.27\sUCB\s227.14
+	    \sIBM\sPC\s3-17-85\n,
+	kf0=\E0, kf1=\E1, kf2=\E2, kf3=\E3, kf4=\E4, kf5=\E5, kf6=\E6,
+	kf7=\E7, kf8=\E8, kf9=\E9, rev=\E[7m, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smso=\E[1m, smul=\E[4m, use=mskermit227,
+# This was designed for a VT320 emulator, but it is probably a good start
+# at support for the VT320 itself.
+# Please send changes with explanations to bug-gnu-emacs@prep.ai.mit.edu.
+# (vt320-k3: I added <rmam>/<smam> based on the init string -- esr)
+vt320-k3|MS-Kermit 3.00's VT320 emulation,
+	am, km, mir, msgr, xenl,
+	cols#80, it#8, lines#49, pb#9600, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cmdch=\E, cr=\r, cub1=^H,
+	cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	ech=\E[%p1%dX,
+	flash=\E[?5h$<100/>\E[?5l\E[?5h$<100/>\E[?5l\E[?5h$<100/>\E[
+	      ?5l,
+	home=\E[H, hpa=\E[%i%p1%dG, ht=^I, hts=\EH, ich=\E[%p1%d@,
+	ind=\n, is2=\E>\E F\E[?1h\E[?7h\E[r\E[2$~, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kdl1=\E[3~,
+	kf0=\E[21~, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	kich1=\E[2~, knp=\E[6~, kpp=\E[5~, mc0=\E[0i, mc4=\E[4i,
+	mc5=\E[5i, nel=\r\n, rev=\E[7m, ri=\EM, rin=\E[%p1%dL,
+	rmacs=\E(B, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
+	rmso=\E[27m, rmul=\E[24m,
+	rs1=\E(B\E)B\E>\E\sF\E[4;20l\E[12h\E[?1;5;6;38;42l\E[?7;25h
+	    \E[4i\E[?4i\E[m\E[r\E[2$~,
+	sgr0=\E[m, smacs=\E(0, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	tsl=\E[1$}\r\E[K, vpa=\E[%i%p1%dd, use=ansi+csr,
+	use=ansi+erase, use=ansi+idl, use=ansi+local, use=dec+sl,
+	use=vt220+cvis,
+
+# From: Joseph Gil <yogi@cs.ubc.ca> 13 Dec 1991
+# ACS capabilities from Philippe De Muyter  <phdm@info.ucl.ac.be> 30 May 1996
+# (I removed a bogus boolean :mo: and added <msgr>, <smam>, <rmam> -- esr)
+vt320-k311|DEC VT320 series as defined by kermit 3.11,
+	am, eslok, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J, cr=\r,
+	cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP,
+	dch1=\E[P, dsl=\E[2$~\r\E[1$}\E[K\E[$}, ed=\E[J, el=\E[K,
+	flash=\E[?5h$<100/>\E[?5l, fsl=\E[$}, home=\E[H, ht=^I,
+	hts=\EH, ich=\E[%p1%d@, il1=\E[L$<3/>, ind=\ED,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r\E[24;1H,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, lf1=pf1, lf2=pf2,
+	lf3=pf3, lf4=pf4, nel=\r\ED, rev=\E[7m,
+	rf=/usr/share/tabset/vt100, ri=\EM, rmacs=^O,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+	rmul=\E[24m, rs1=\E[?3l, sgr0=\E[m, smacs=^N, smam=\E[?7h,
+	smir=\E[4h, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, tsl=\E[2$~\E[1$}\E[1;%dH, use=ansi+csr,
+	use=ansi+idl, use=ansi+local, use=vt220+cvis,
+
+######## NON-ANSI TERMINAL EMULATIONS
+#
+
+#### Avatar
+#
+# These entries attempt to describe Avatar, a terminal emulation used with
+# MS-DOS bulletin-board systems.  It was designed to give ANSI-like
+# capabilities, but with cheaper (shorter) control sequences.  Messy design,
+# excessively dependent on PC idiosyncrasies, but apparently rather popular
+# in the BBS world.
+#
+# No color support.  Avatar doesn't fit either of the Tektronix or HP color
+# models that terminfo knows about.  An Avatar color attribute is the
+# low 7 bits of the IBM-PC display-memory attribute.  Bletch.
+#
+# I wrote these entries while looking at the Avatar spec.  I don't have
+# the facilities to test them.  Let me know if they work, or don't.
+#
+# Avatar escapes not used by these entries (because maybe you're smarter
+# and more motivated than I am and can figure out how to wrap terminfo
+# around some of them, and because they are weird enough to be funny):
+#				level 0:
+# ^L		-- clear window/reset current attribute to default
+# ^V^A%p1%c	-- set current color attribute, parameter decodes as follows:
+#
+#      bit:         6   5   4   3   2   1   0
+#                   |       |   |   |       |
+#                   +---+---+   |   +---+---+
+#                       |       |       |
+#                       |       |  foreground color
+#                       |  foreground intensity
+#                  background color
+#				level 0+:
+# ^V^J%p1%c%p2%c%p3%c%p4%c%p5%c	-- scroll (p2,p3) to (p4,p5) up by p1 lines
+# ^V^K%p1%c%p2%c%p3%c%p4%c%p5%c	-- scroll (p2,p3) to (p4,p5) down by p1 lines
+# ^V^L%p1%c%p2%c%p3%c		-- clear p2 lines and p3 cols w/attr %p1
+# ^V^M%p1%c%p2%c%p3%c%p4%c	-- fill p3 lines & p4 cols w/char p2+attr %p1
+# (^V^L and ^V^M set the current attribute as a side-effect.)
+# ^V ^Y <a> [...] <c>	-- repeat pattern. <a> specifies the number of bytes
+#			   in the pattern, <c> the number of times the pattern
+#			   should be repeated. If either value is 0, no-op.
+#			   The pattern can contain Avatar console codes,
+#			   including other ^V ^Y patterns.
+#				level 1:
+# ^V^O		-- clockwise mode on; turn print direction right each time you
+#		   hit a window edge (yes, really).  Turned off by CR
+# ^V^P		-- no-op
+# ^V^Q%c	-- query the driver
+# ^V^R		-- driver reset
+# ^V^S		-- Sound tone (PC-specific)
+# ^V^T			-- change highlight at current cursor position to %c
+# ^V^U%p1%c%p2%c	-- highlight window <a> with attribute <b>
+# ^V^V%p1%c%p2%c%p3%c%p4%c%p5%c
+#			-- define window
+#
+# From: Eric S. Raymond <esr@snark.thyrsus.com> 1 Nov 1995
+# (The <blink>/<bold>/<rev>/<smacs>/<smul>/<smso> capabilities exist only to
+# tell ncurses that the corresponding highlights exist; it should use <sgr>,
+# which is the only method that will actually work for multiple highlights.)
+#
+# Update by TD - 2004: half of this was inconsistent.  Found documentation
+# and repaired most of the damage.  sgr0 is probably incorrect, but the
+# available documentation gives no clues for a workable string.
+avatar0|avatar terminal emulator level 0,
+	am, bce, msgr,
+	cols#80, it#8, lines#25,
+	blink=^V^B, bold=^V^A^P, cr=\r, cub1=^V^E, cud1=^V^D,
+	cuf1=^V^F, cup=\026\010%p1%c%p2%c, cuu1=^V^C, el=^V^G,
+	ind=\n, invis=^V^A\0, rep=\031%p1%c%p2%c, rev=^V^Ap,
+	rmacs@, rs2=^L,
+	sgr=%?%p1%p2%|%p3%|%p6%|%p7%|%t\026\001%?%p7%t%{128}%e%{0}%?
+	    %p1%t%{112}%|%;%?%p2%t%{1}%|%;%?%p3%t%{112}%|%;%?%p6%t
+	    %{16}%|%;%;%c%;%?%p4%t\026\002%;,
+	sgr0=^V^A^G, smacs@, smso=^V^Ap, smul=^V^A^A,
+	use=klone+acs,
+# From: Eric S. Raymond <esr@snark.thyrsus.com> 1 Nov 1995
+avatar0+|avatar terminal emulator level 0+,
+	dch1=^V^N, rmir=\026\n\0\0\0\0, smir=^V^I, use=avatar0,
+# From: Eric S. Raymond <esr@snark.thyrsus.com> 1 Nov 1995
+avatar|avatar1|avatar terminal emulator level 1,
+	civis=^V'^B, cnorm=^V'^A, cvvis=^V^C, dl1=^V-, il1=^V+,
+	rmam=^V", rmir=^V^P, smam=^V$, use=avatar0+,
+
+#### RBcomm
+#
+# RBComm is a lean and mean terminal emulator written by the Interrupt List
+# maintainer, Ralf Brown. It was fairly popular in the late DOS years (early
+# '90s), especially in the BBS world, and still has some loyal users due to
+# its very small memory footprint and to a cute macro language.
+rbcomm|IBM PC with RBcomm and EMACS keybindings,
+	am, bw, mir, msgr, xenl,
+	cols#80, it#8, lines#25,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=^L, cr=\r,
+	cub1=^H, cud1=^C, cuf1=^B,
+	cup=\037%p2%{32}%+%c%p1%{32}%+%c, cuu1=^^, dch1=^W,
+	dl=\E[%p1%dM, dl1=^Z, ech=\E[%p1%dX, ed=^F5, el=^P^P, ht=^I,
+	il=\E[%p1%dL, il1=^K, ind=\ED, invis=\E[8m,
+	is2=\017\035\E(B\E)0\E[?7h\E[?3l\E[>8g, kbs=^H,
+	kcub1=^B, kcud1=^N, kcuf1=^F, kcuu1=^P, khome=^A, nel=\r\ED,
+	rep=\030%p1%c%p2%c, rev=^R, ri=\EM, rmcup=, rmdc=, rmir=^],
+	rmkx=\E>, rmso=^U, rmul=^U,
+	rs1=\017\E(B\E)0\025\E[?3l\E[>8g, sgr0=\E[m, smcup=,
+	smdc=, smir=^\, smkx=\E=, smso=^R, smul=^T, use=ansi+csr,
+	use=vt220+cvis,
+
+rbcomm-nam|IBM PC with RBcomm without autowrap,
+	am@,
+	cud1=\n, ind=\n,
+	is2=\017\035\E(B\E)0\E[?7l\E[?3l\E[>8g, kcub1=^H,
+	kcud1=\n, nel=\r\n, use=rbcomm,
+rbcomm-w|IBM PC with RBcomm in 132 column mode,
+	cols#132,
+	cud1=\n, ind=\n,
+	is2=\017\035\E(B\E)0\E[?7h\E[?3h\E[>8g, kcub1=^H,
+	kcud1=\n, nel=\r\n, use=rbcomm,
+
+######## LCD DISPLAYS
+#
+
+#### Matrix Orbital
+# from: Eric Z. Ayers  (eric@ale.org)
+#
+# Matrix Orbital 20x4 LCD display
+# Command Character is 0xFE (decimal 254, octal 376)
+#
+# On this device, cursor addressability isn't possible.  The LCD expects:
+#      0xfe G <col> <row>
+#      for cup: %p1 == row and %p2 is column
+#
+# This line:
+#	cup=\376G%p2%c%p1%c
+# LOOKS like it will work, but sometimes only one of the two numbers is sent.
+# See the terminfo (5) manpage commented regarding 'Terminals which use "%c"'.
+#
+# Alas, there is no cursor upline capability on this display.
+#
+# These entries add some 'sanity stuff' to the clear function.  That is, it
+# does a 'clear' and also turns OFF auto scroll, turns ON Auto Line Wrapping,
+# and turns off the cursor blinking and stuff like that.
+#
+# NOTE: calling 'beep' turns on the backlight (bell)
+# NOTE: calling 'flash' turns it on and back off (visual bell)
+#
+MtxOrb|generic Matrix Orbital LCD display,
+	bel=\376B\001, clear=\376X\376C\376R\376K\376T,
+	cnorm=\376K\376T, cub1=\376L, cuf1=\376M,
+	flash=\376B\001$<200>\376F, home=\376H,
+MtxOrb204|20x4 Matrix Orbital LCD display,
+	cols#20, lines#4, use=MtxOrb,
+MtxOrb162|16x2 Matrix Orbital LCD display,
+	cols#16, lines#2, use=MtxOrb,
+# The end
+
+######## OLDER TERMINAL TYPES
+#
+# This section is devoted to older commercial terminal brands that are now
+# discontinued, but known to be still in use or represented by emulations.
+#
+
+#### AT&T (att, tty)
+#
+# This section also includes Teletype-branded VDTs.
+#
+# The AT&T/Teletype terminals group was sold to SunRiver Data Systems (now
+# Boundless Technologies); for details, see the header comment on the ADDS
+# section.
+#
+# These are AT&T's official terminfo entries.  All-caps aliases have been
+# removed.
+#
+att2300|sv80|AT&T 2300 Video Information Terminal 80 column mode,
+	am, eo, mir, msgr, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+	dch=\E[%p1%dP, dch1=\E[P, el1=\E[1K, home=\E[H, ht=^I,
+	ich=\E[%p1%d@, ind=\n, kcbt=\E[Z, kclr=\E[J, kdch1=\E[P,
+	kdl1=\E[M, kf1=\E[1r, kf10=\E[10r, kf11=\E[11r,
+	kf12=\E[12r, kf13=\E[13r, kf14=\E[14r, kf15=\E[15r,
+	kf16=\E[16r, kf2=\E[2r, kf3=\E[3r, kf4=\E[4r, kf5=\E[5r,
+	kf6=\E[6r, kf7=\E[7r, kf8=\E[8r, kf9=\E[9r, kich1=\E[@,
+	kil1=\E[L, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rev=\E[7m,
+	rmir=\E[4l, rmso=\E[m, sgr0=\E[m, smir=\E[4h, smso=\E[7m,
+	use=ansi+arrows, use=ansi+cpr, use=ansi+erase,
+	use=ansi+idl, use=ansi+local,
+
+att2350|AT&T 2350 Video Information Terminal 80 column mode,
+	mc0@, mc4@, mc5@, use=att2300,
+
+# Must setup RETURN KEY - CR, REC'VD LF - INDEX.
+# Seems upward compatible with VT100, plus ins/del line/char.
+# On sgr, the protection parameter is ignored.
+# No check is made to make sure that only 3 parameters are output.
+#	standout= reverse + half-intensity = 3 | 5.
+#	bold= reverse + underline = 2 | 3.
+# note that half-bright blinking doesn't look different from normal blinking.
+# NOTE:you must program the function keys first, label second!
+# (att4410: a BSD entry has been seen with the following capabilities:
+# <is2=\E[?6l>, <kf1=\EOc>, <kf2=\EOd>, <kf3=\EOe>, <kf4=\EOg>,
+# <kf6=\EOh>, <kf7=\EOi>, <kf8=\EOj>, -- esr)
+att5410v1|att4410v1|tty5410v1|AT&T 4410/5410 80 columns - version 1,
+	am, hs, mir, msgr, xon,
+	cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=++\,\,--..00``aaffgghhjjkkllmmnnooppqqrrssttuuvvwwxxyyz
+	     z{{||}}~~,
+	bel=^G, bold=\E[2;7m, cr=\r, cub1=^H, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dim=\E[2m, dl1=\E[M,
+	fsl=\E8, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, ind=\n,
+	is1=\E[?3l\E)0,
+	is3=\E[1;03q\s\s\sf1\s\s\s\s\s\s\s\s\s\s\s\EOP\E[2;03q\s\s
+	    \sf2\s\s\s\s\s\s\s\s\s\s\s\EOQ\E[3;03q\s\s\sf3\s\s\s\s
+	    \s\s\s\s\s\s\s\EOR\E[4;03q\s\s\sf4\s\s\s\s\s\s\s\s\s\s
+	    \s\EOS\E[5;03q\s\s\sf5\s\s\s\s\s\s\s\s\s\s\s\EOT\E[6;03q
+	    \s\s\sf6\s\s\s\s\s\s\s\s\s\s\s\EOU\E[7;03q\s\s\sf7\s\s
+	    \s\s\s\s\s\s\s\s\s\EOV\E[8;03q\s\s\sf8\s\s\s\s\s\s\s\s
+	    \s\s\s\EOW,
+	kclr=\E[2J, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT,
+	kf6=\EOU, kf7=\EOV, kf8=\EOW, kll=\E[24;1H, ll=\E[24H,
+	nel=\r\n,
+	pfx=\E[%p1%1d;%p2%l%2.2dq\s\s\sf%p1%1d\s\s\s\s\s\s\s\s\s\s
+	    \s%p2%s,
+	pln=\E[%p1%d;00q%p2%:-16s, ri=\EM, rmacs=^O,
+	rs2=\Ec\E[?3l\E[2;0y,
+	sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
+	    %|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, tsl=\E7\E[25;%p1%{1}%+%dH,
+	use=ansi+arrows, use=ansi+csr, use=ansi+erase,
+	use=ansi+local1, use=ansi+sgrbold,
+
+att4410v1-w|att5410v1-w|tty5410v1-w|AT&T 4410/5410 132 columns - version 1,
+	cols#132, wsl#132,
+	is1=\E[?3h\E)0, rs2=\Ec\E[?3h\E[2;0y, use=att5410v1,
+
+att4410|att5410|tty5410|AT&T 4410/5410 80 columns - version 2,
+	OTbs,
+	pfx=\E[%p1%d;%p2%l%02dq   f%p1%d           %p2%s,
+	use=att5410v1,
+
+att5410-w|att4410-w|4410-w|tty5410-w|5410-w|AT&T 4410/5410 in 132 column mode,
+	cols#132, wsl#132,
+	is1=\E[?3h\E)0, rs2=\Ec\E[?3h\E[2;0y, use=att4410,
+
+# 5410 in terms of a VT100
+# (v5410: added <rmam>/<smam> based on init string -- esr)
+v5410|att5410 in terms of a VT100,
+	am, mir, msgr, xon,
+	cols#80, it#8, lines#24, vt#3,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>,
+	clear=\E[H\E[J$<50>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
+	cuu1=\E[A$<2>, dch1=\E[P, dl1=\E[M, ed=\E[J$<50>,
+	el=\E[K$<3>, el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H,
+	ht=^I, hts=\EH, ich1=\E[@, il1=\E[L, ind=\n, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	rev=\E[7m$<2>, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
+	rmkx=\E[?1l\E>, rmso=\E[m$<2>, rmul=\E[m$<2>,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;m%?%p9%t\016%e\017%;$<2>,
+	sgr0=\E[m\017$<2>, smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=,
+	smso=\E[1;7m$<2>, smul=\E[4m$<2>, tbc=\E[3g,
+	use=ansi+csr, use=decid+cpr, use=vt100+fnkeys,
+
+#
+# Teletype Model 5420 -- A souped up 5410, with multiple windows,
+# even! the 5420 has three modes: scroll, window or page mode
+# this terminfo should work in scroll or window mode, but doesn't
+# take advantage of any of the differences between them.
+#
+# Has memory below (2 lines!)
+# 3 pages of memory (plus some spare)
+# The 5410 sequences for <cup>, <cvvis>, <dch>, <dl>, <ech>, <flash>, <home>,
+# <hpa>, <hts> would work for these, but these work in both scroll and window
+# mode... Unset insert character so insert mode works
+# <is1> sets 80 column mode,
+# <is2> escape sequence:
+# 1) turn off all fonts
+# 2) function keys off, keyboard lock off, control display off,
+#    insert mode off, erasure mode off,
+# 3) full duplex, monitor mode off, send graphics off, nl on lf off
+# 4) reset origin mode
+# 5) set line wraparound
+# 6) exit erasure mode, positional attribute mode, and erasure extent mode
+# 7) clear margins
+# 8) program ENTER to transmit ^J,
+# We use \212 to program the ^J because a bare ^J will get translated by
+# UNIX into a CR/LF. The enter key is needed for AT&T uOMS.
+#     1      2            3              4     5     6    7  8
+# <is3> set screen color to black,
+# No representation in terminfo for the delete word key: kdw1=\Ed
+# Key capabilities assume the power-up send sequence...
+# This <rmcup> is not strictly necessary, but it helps maximize
+# memory usefulness: <rmcup=\Ez>,
+# Alternate sgr0:	<sgr0=\E[m\EW^O>,
+# Alternate sgr:	<sgr=\E[%?%p1%t2;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p5%t;2%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t^N%e^O%;>,
+# smkx programs the SYS PF keys to send a set sequence.
+# It also sets up labels f1, f2, ..., f8, and sends edit keys.
+# This string causes them to send the strings <kf1>-<kf8>
+# when pressed in SYS PF mode.
+# (att4415: I added <rmam>/<smam> based on the init string -- esr)
+att4415|tty5420|att5420|AT&T 4415/5420 80 cols,
+	db,
+	lm#78, wsl#55,
+	clear=\E[x\E[J, cnorm=\E[11;0j, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dx, cvvis=\E[11;1j,
+	ech=\E[%p1%ds\E[%p1%dD, flash=\E[?5h$<200>\E[?5l,
+	home=\E[x, ich1@, indn=\E[%p1%dE, is1=\E[?3l$<100>,
+	is2=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h
+	    \E[4i\Ex\E[21;1j\212,
+	is3=\E[?5l, kbeg=\Et, kcbt=\E[Z, kdch1=\E[P, kdl1=\E[M,
+	kel=\E[2K, kend=\Ez, kent=\Eent, kf1=\EOc, kf2=\EOd,
+	kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj,
+	kich1=\E[4h, kil1=\E[L, kind=\E[T, kll=\Eu, knp=\E[U,
+	kpp=\E[V, kri=\E[S, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5,
+	lf6=F6, lf7=F7, lf8=F8, ll=\Ew, mc0=\E[?2i, mc4=\E[?9i,
+	mc5=\E[?4i, mrcup=\E[%i%p1%d;%p2%dt,
+	pfx=\E[%p1%d;%p2%l%02dq   F%p1%d           %p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV,
+	rin=\E[%p1%dF, rmam=\E[?7l, rmkx=\E[19;0j\E[21;1j\212,
+	rmln=\E|,
+	sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
+	    %|%p6%|%t;7%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smam=\E[?7h, smkx=\E[19;1j\E[21;4j\Eent,
+	smln=\E~, tsl=\E7\E[25;%p1%{8}%+%dH, use=ansi+idc,
+	use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+	use=ansi+rca, use=att4410,
+
+att4415-w|tty5420-w|att5420-w|AT&T 4415/5420 132 cols,
+	cols#132, lm#54, wsl#97,
+	is1=\E[?3h$<100>, use=att4415,
+
+att4415-rv|tty5420-rv|att5420-rv|AT&T 4415/5420 80 cols/rv,
+	flash=\E[?5l$<200>\E[?5h, is3=\E[?5h, use=att4415,
+
+att4415-w-rv|tty5420-w-rv|att5420-w-rv|AT&T 4415/5420 132 cols/rv,
+	cols#132, lm#54, wsl#97,
+	flash=\E[?5l$<200>\E[?5h, is1=\E[?3h$<100>, is3=\E[?5h,
+	use=att4415,
+
+# Note that this mode permits programming USER PF KEYS and labels
+# However, when you program user pf labels you have to reselect
+# user pf keys to make them appear!
+att4415+nl|tty5420+nl|att5420+nl|generic AT&T 4415/5420 changes for not changing labels,
+	kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@,
+	pfx=\E[%p1%d;%p2%l%02d;0;1q\s\s\sF%p1%d\s\s\s\s\s\s\s\s\s\s
+	    \s%p2%s,
+	pln=\E[%p1%d;0;0;1q%p2%:-16.16s,
+
+att4415-nl|tty5420-nl|att5420-nl|AT&T 4415/5420 without changing labels,
+	kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl,
+	use=att4415,
+
+att4415-rv-nl|tty5420-rv-nl|att5420-rv-nl|AT&T 4415/5420 reverse video without changing labels,
+	kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl,
+	use=att4415-rv,
+
+att4415-w-nl|tty5420-w-nl|att5420-w-nl|AT&T 4415/5420 132 cols without changing labels,
+	kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl,
+	use=att4415-w,
+
+att4415-w-rv-n|tty5420-w-rv-n|att5420-w-rv-n|AT&T 4415/5420 132 cols reverse without changing labels,
+	kf1@, kf2@, kf3@, kf4@, kf5@, kf6@, kf7@, kf8@, use=att4415+nl,
+	use=att4415-w-rv,
+
+att5420_2|AT&T 5420 model 2 80 cols,
+	am, db, hs, mir, msgr, xon,
+	cols#80, lh#2, lines#24, lm#78, lw#8, nlab#8, wsl#55,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	cbt=\E[1Z, clear=\EH\EJ, cnorm=\E[11;0j, cr=\EG, cub1=^H,
+	cud1=\E[1B, cuf1=\E[1C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[1A, cvvis=\E[11;1j, dch=\E[%p1%dP, dch1=\E[P,
+	ech=\E[%p1%ds\E[%p1%dD, ed=\E[0J, el=\E[0K, el1=\E[1K,
+	flash=\E[?5h$<200>\E[?5l, fsl=\E8, home=\E[H,
+	hpa=\E[%p1%{1}%+%dG, ich=\E[%p1%d@, ich1=\E[@, ind=\n,
+	indn=\E[%p1%dE,
+	is1=\E[0;23r\Ex\Ey\E[2;0j\E[3;3j\E[4;0j\E[5;0j\E[6;0j\E[7;0j
+	    \E[8;0j\E[9;1j\E[10;0j\E[15;0j\E[16;1j\E[19;0j\E[20;1j
+	    \E[29;0j\E[1;24r,
+	kbeg=\Et, kcbt=\E[Z, kclr=\E[2J, kdch1=\E[P, kdl1=\E[M,
+	kel=\E[2K, kend=\Ez, kent=\n, kf1=\EOc, kf2=\EOd, kf3=\EOe,
+	kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj,
+	kich1=\E[4h, kil1=\E[L, kind=\E[T, kll=\Eu, knp=\E[U,
+	kpp=\E[V, kri=\E[S, lf1=F1, lf2=F2, lf3=F3, lf4=F4, lf5=F5,
+	lf6=F6, lf7=F7, lf8=F8, ll=\Ew, mc0=\E[?;2i, mc4=\E[4i,
+	mc5=\E[5i, mrcup=\E[%i%p1%d;%p2%dt, nel=\r\n,
+	pfx=\E[%p1%d;%p2%l%02dq\s\s\sF%p1%d\s\s\s\s\s\s\s\s\s\s\s%p2
+	    %s\E~,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s\E~, prot=\EV, ri=\EM,
+	rin=\E[%p1%dF, rmacs=^O, rmkx=\E[19;0j, rmln=\E|,
+	rs2=\Ec\E[?3l\E[2;0y,
+	sgr=\E[0%?%p1%p5%|%t;2%;%?%p2%p6%|%t;4%;%?%p4%t;5%;%?%p3%p1
+	    %|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;%?%p8%t\EV%;,
+	sgr0=\E[m\017, smacs=^N, smkx=\E[19;1j, smln=\E~,
+	tsl=\E7\E[25;%p1%{8}%+%dH, vpa=\E[%p1%{1}%+%dd,
+	use=ansi+arrows, use=ansi+csr, use=ansi+idl,
+	use=ansi+inittabs, use=ansi+local, use=ansi+sgrdim,
+	use=decid+cpr,
+
+att5420_2-w|AT&T 5420 model 2 in 132 column mode,
+	cols#132,
+	is1=\E[0;23r\Ex\Ey\E[2;0j\E[3;3j\E[4;0j\E[5;1j\E[6;0j\E[7;0j
+	    \E[8;0j\E[9;1j\E[10;0j\E[15;0j\E[16;1j\E[19;0j\E[20;1j
+	    \E[29;0j\E[1;24r,
+	use=att5420_2,
+
+att4418|att5418|AT&T 5418 80 cols,
+	am, xon,
+	cols#80, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, clear=\E[H\E[2J, cr=\r,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[1P,
+	dim=\E[2m, ed=\E[0J, el=\E[0K, home=\E[H, ich=\E[%p1%d@,
+	ich1=\E[1@, il1=\E[1L, ind=\n, is1=\E[?3l,
+	is2=\E)0\E?6l\E?5l, kclr=\E[%%, kcub1=\E@, kcud1=\EU,
+	kcuf1=\EA, kcuu1=\ES, kent=\E[, kf1=\E[h, kf10=\E[m,
+	kf11=\E[n, kf12=\E[o, kf13=\E[H, kf14=\E[I, kf15=\E[J,
+	kf18=\E[K, kf19=\E[L, kf2=\E[i, kf20=\E[E, kf21=\E[_,
+	kf22=\E[M, kf23=\E[N, kf24=\E[O, kf3=\E[j, kf6=\E[k,
+	kf7=\E[l, kf8=\E[f, kf9=\E[w, khome=\Ec, rc=\E8, rev=\E[7m,
+	rmacs=^O, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m\017,
+	smacs=^N, smso=\E[7m, smul=\E[4m, use=ansi+idl,
+	use=ansi+local,
+
+att4418-w|att5418-w|AT&T 5418 132 cols,
+	cols#132,
+	is1=\E[?3h, use=att5418,
+
+att4420|tty4420|Teletype 4420,
+	OTbs, da, db, eo, msgr, ul, xon,
+	cols#80, lines#24, lm#72,
+	bel=^G, clear=\EH\EJ, cr=\EG, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EP,
+	dl1=\EM, ed=\EJ, el=\Ez, home=\EH, il1=\EL, ind=\EH\EM\EY7\s,
+	kcbt=\EO, kclr=\EJ, kcub1=^H, kdch1=\EP, kdl1=\EM, kf0=\EU,
+	kf3=\E@, khome=\EH, kich1=\E\^, kil1=\EL, kind=\ES, kri=\ET,
+	lf0=segment advance, lf3=cursor tab, rmdc@, rmso=\E~,
+	rmul=\EZ, smdc@, smso=\E}, smul=\E\\, use=vt52+arrows,
+
+#  The following is a terminfo entry for the Teletype 4424
+#  asynchronous keyboard-display terminal.  It supports
+#  the vi editor.  The terminal must be set up as follows,
+#
+#	HIGHLIGHT DEFINITION	3-TONE
+#	DISPLAY FUNCTION	GROUP III
+#
+#  The second entry below provides limited (a la adm3a)
+#  operation under GROUP II.
+#
+#  This must be used with DISPLAY FUNCTION GROUP I or III
+#	and HIGHLIGHT DEFINITION 3-TONE
+# The terminal has either bold or blink, depending on options
+#
+# (att4424: commented out <smcup>=\E[1m, we don't need bright locked on -- esr)
+att4424|tty4424|Teletype 4424,
+	OTbs, am, xon,
+	cols#80, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E3, bold=\E3, cbt=\EO, clear=\E[H\E[2J, cr=\r,
+	csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\EA, dch=\E[%p1%dP, dch1=\EP,
+	dim=\EW, dl=\E[%p1%dM, dl1=\EM, ed=\EJ, el=\Ez, home=\E[H,
+	ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E\^, il=\E[%p1%dL,
+	il1=\EL, ind=\n, is2=\E[20l\E[?7h, kclr=\EJ, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\EE, rev=\E}, ri=\ET,
+	rmacs=\E(B, rmso=\E~, rmul=\EZ,
+	sgr=\EX\E~\EZ\E4\E(B%?%p1%p3%|%t\E}%;%?%p2%t\E\\%;%?%p4%p6%|
+	    %t\E3%;%?%p5%t\EW%;%?%p9%t\E(0%;,
+	sgr0=\EX\E~\EZ\E4\E(B, smacs=\E(0, smso=\E}, smul=\E\\,
+	tbc=\EF, use=ansi+arrows, use=ansi+local,
+
+att4424-1|tty4424-1|Teletype 4424 in display function group I,
+	kclr@, kcub1=\ED, kcud1=\EB, kcuf1=\EC, kcuu1=\EA, khome@,
+	use=att4424,
+
+# This entry is not one of AT&T's official ones, it was translated from the
+# 4.4BSD termcap file.  The highlight strings are different from att4424.
+# I have no idea why this is -- older firmware version, maybe?
+# The following two lines are the comment originally attached to the entry:
+# This entry appears to avoid the top line - I have no idea why.
+# From: jwb Wed Mar 31 13:25:09 1982 remote from ihuxp
+att4424m|tty4424m|Teletype 4424M,
+	am, da, db, mir,
+	cols#80, it#8, lines#23,
+	bel=^G, clear=\E[2;H\E[J, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%i%p1%2d;%p2%2dH\E[B, cuu1=\E[A, dch1=\EP,
+	dl1=\EM, el=\E[K, ht=^I, ich1=\E\^, il1=\EL, ind=\n, ip=$<2/>,
+	is2=\E[m\E[2;24r, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+	nel=\r\n, ri=\ET, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+
+# The Teletype 5425 is really version 2 of the Teletype 5420. It
+# is quite similar, except for some minor differences. No page
+# mode, for example, so all of the <cup> sequences used above have
+# to change back to what's being used for the 5410. Many of the
+# option settings have changed their numbering as well.
+#
+# This has been tested on a preliminary model.
+#
+# (att5425: added <rmam>/<smam> based on the init string -- esr)
+att5425|tty5425|att4425|AT&T 4425/5425,
+	da, db, hs, mir, xenl, xon,
+	lh#2, lm#78, lw#8, nlab#8, wsl#55,
+	bold=\E[2;7m, cnorm=\E[12;0j, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, cvvis=\E[12;1j, dch=\E[%p1%dP,
+	dch1=\E[P, dim=\E[2m, ech=\E[%p1%ds\E[%p1%dD, el1=\E[1K,
+	flash=\E[?5h$<200>\E[?5l, fsl=\E8, hpa=\E[%p1%{1}%+%dG,
+	ich=\E[%p1%d@, indn=\E[%p1%dE, is1=\E<\E[?3l$<100>,
+	is2=\E[m\017\E[1;2;3;4;6l\E[12;13;14;20l\E[?6;97;99l\E[?7h
+	    \E[4i\Ex\E[25;1j\212,
+	is3=\E[?5l, kbeg=\Et, kcbt=\E[Z, kclr=\E[J, kdch1=\E[P,
+	kdl1=\E[M, kel=\E[2K, kend=\Ez, kent=\Eent, kf1=\EOc,
+	kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi,
+	kf8=\EOj, kich1=\E[4h, kil1=\E[L, kind=\E[T, kri=\E[S,
+	ll=\E[24H, mc0=\E[?2i, mc4=\E[?9i, mc5=\E[?4i, nel=\r\n,
+	pfx=\E[%p1%d;%p2%l%02dq   F%p1%1d           %p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, prot=\EV, ri=\EM,
+	rin=\E[%p1%dF, rmam=\E[?7l, rmir=\E[4l,
+	rmkx=\E[21;0j\E[25;1j\212, rmln=\E|,
+	rs2=\Ec\E[?3l\E[2;0y,
+	sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6
+	    %|%t;7%;%?%p7%t;8%;m%?%p8%t\EV%;%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[21;1j\E[25;4j\Eent\E~, smln=\E~,
+	tsl=\E7\E[25;%p1%{8}%+%dH, vpa=\E[%p1%{1}%+%dd,
+	use=ansi+arrows, use=ansi+csr, use=ansi+erase,
+	use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+	use=ansi+sgrbold, use=decid+cpr, use=vt100+4bsd,
+
+att5425-nl|tty5425-nl|att4425-nl|AT&T 4425/5425 80 columns no labels,
+	smkx=\E[21;1j\E[25;4j\Eent, use=att4425,
+
+att5425-w|att4425-w|tty5425-w|Teletype 4425/5425 in 132 column mode,
+	cols#132, lm#54, wsl#97,
+	is1=\E[?3h$<100>, use=tty5425,
+
+# (att4426: his had bogus capabilities: :ri=\EM:, :ri=\E[1U:.
+# I also added <rmam>/<smam> -- esr)
+att4426|tty4426|Teletype 4426S,
+	am, da, db, xon,
+	cols#80, lines#24, lm#48,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, bold=\E[5m, clear=\E[H\E[2J\E[1U\E[H\E[2J\E[1V,
+	cr=\r, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\EP,
+	ed=\E[J, el=\E[0K, home=\E[H, hpa=\E[%p1%dG, ht=^I, hts=\E1,
+	ich=\E[%p1%d@, ich1=\E\^, il1=\EL, ind=\n, is1=\Ec\E[?7h,
+	is2=\E[m\E[1;24r, kbs=^H, kcbt=\EO, kclr=\E[2J, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV,
+	kf8=\EOW, khome=\E[H, kll=\E[24;1H, ll=\E[24H, nel=\r\n,
+	rc=\E8, rev=\E[7m, ri=\ET, rmacs=\E(B, rmam=\E[?7l,
+	rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l\E[2;0y, sc=\E7,
+	sgr0=\E[m\E(B, smacs=\E(0, smam=\E[?7h, smso=\E[5m,
+	smul=\E[4m, tbc=\E[3g, vpa=\E[%p1%dd, use=ansi+idl,
+	use=ansi+local, use=ecma+index, use=vt52+arrows,
+
+# Terminfo entry for the AT&T 510 A Personal Terminal
+# Function keys 9 - 16 are available only after the
+# screen labeled (soft keys/action blocks) are labeled.  Function key
+# 9 corresponds to the leftmost touch target on the screen,
+# function key 16 corresponds to the rightmost.
+#
+# This entry is based on one done by Ernie Rice at Summit, NJ and
+# changed by Anne Gallup, Skokie, IL, ttrdc!anne
+att510a|bct510a|AT&T 510A Personal Terminal,
+	am, mir, msgr, xenl, xon,
+	cols#80, lh#2, lines#24, lw#7, nlab#8,
+	acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[2;7m, civis=\E[11;0|,
+	clear=\E[H\E[J, cnorm=\E[11;3|, cr=\r, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, cvvis=\E[11;2|, dch=\E[%p1%dP,
+	dch1=\E[P, dim=\E[2m, ed=\E[0J, el=\E[0K, el1=\E[1K,
+	enacs=\E(B\E)1, ff=^L, home=\E[H, ind=\n,
+	is1=\E(B\E)1\E[2l, is3=\E[21;1|\212, kLFT=\E[u,
+	kRIT=\E[v, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kf1=\EOm, kf10=\EOd, kf11=\EOe,
+	kf12=\EOf, kf13=\EOg, kf14=\EOh, kf15=\EOi, kf16=\EOj,
+	kf2=\EOV, kf3=\EOu, kf4=\ENj, kf5=\ENe, kf6=\ENf, kf7=\ENh,
+	kf8=\E[H, kf9=\EOc, kind=\E[S, kri=\E[T, mc0=\E[0i,
+	mc4=\E[?8i, mc5=\E[?4i, nel=\EE, pln=\E[%p1%dp%p2%:-16s,
+	rc=\E8, rev=\E[7m, ri=\EM, rmacs=^O, rmkx=\E[19;0|,
+	rmso=\E[m, rmul=\E[m, sc=\E7,
+	sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6
+	    %|%t;7%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smkx=\E[19;1|, smso=\E[7m,
+	smul=\E[4m, use=ansi+cpr, use=ansi+idl, use=ansi+local,
+	use=ansi+tabs,
+
+# Terminfo entry for the AT&T 510 D Personal Terminal
+# Function keys 9 through 16 are accessed by bringing up the
+# system blocks.
+# Function key 9 corresponds to the leftmost touch target on the screen,
+# function key 16 corresponds to the rightmost.
+#
+# There are problems with soft key labeling.  These are due to
+# strangenesses in the native terminal that are impossible to
+# describe in a terminfo.
+att510d|bct510d|AT&T 510D Personal Terminal,
+	am, da, db, mir, msgr, xenl, xon,
+	cols#80, lh#2, lines#24, lm#48, lw#7, nlab#8,
+	acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~,
+	bel=^G, bold=\E[2;7m, clear=\E[H\E[J, cnorm=\E[11;3|,
+	cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH, cvvis=\E[11;2|,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ed=\E[0J, el=\E[0K,
+	el1=\E[1K, enacs=\E(B\E)1, ff=^L, home=\E[H,
+	hpa=\E[%p1%{1}%+%dG, ich=\E[%p1%d@, ind=\n,
+	is1=\E(B\E)1\E[5;0|, is3=\E[21;1|\212, kLFT=\E[u,
+	kRIT=\E[v, kbs=^H, kcbt=\E[Z, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kf1=\EOm, kf10=\EOd, kf11=\EOe,
+	kf12=\EOf, kf13=\EOg, kf14=\EOh, kf15=\EOi, kf16=\EOj,
+	kf2=\EOV, kf3=\EOu, kf4=\ENj, kf5=\ENe, kf6=\ENf, kf7=\ENh,
+	kf8=\E[H, kf9=\EOc, kind=\E[S, kri=\E[T, ll=\E#2, mc0=\E[0i,
+	mc4=\E[?8i, mc5=\E[?4i, mgc=\E:, nel=\EE,
+	pln=\E[%p1%dp%p2%:-16s, rc=\E8, ri=\EM, rmacs=^O,
+	rmir=\E[4l, rmkx=\E[19;0|, rmln=\E<, rmxon=\E[29;1|,
+	rs2=\E[5;0|, sc=\E7,
+	sgr=\E[0%?%p5%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1%|%p6
+	    %|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smgl=\E4, smgr=\E5, smir=\E[4h,
+	smkx=\E[19;1|, smln=\E?, smxon=\E[29;0|,
+	vpa=\E[%p1%{1}%+%dd, use=ansi+cpr, use=ansi+idl,
+	use=ansi+local, use=ansi+rep, use=ansi+sgrbold,
+	use=ansi+tabs, use=ecma+index,
+
+# (att500: I merged this with the att513 entry, att500 just used att513 -- esr)
+att500|att513|AT&T 513 using page mode,
+	am, chts, mir, msgr, xenl, xon,
+	cols#80, lh#2, lines#24, lw#8, nlab#8,
+	acsc=+g\,h-f.e`bhrisjjkkllmmnnqqttuuvvwwxx{{||}}~~,
+	bel=^G, bold=\E[2;7m, cnorm=\E[11;0|, cr=\r,
+	csr=%i\E[%p1%d;%p2%dr, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, cvvis=\E[11;1|, dch=\E[%p1%dP,
+	dch1=\E[P$<1>, dim=\E[2m, el1=\E[1K, enacs=\E(B\E)1,
+	home=\E[H, hpa=\E[%p1%{1}%+%dG, ich=\E[%p1%d@, ind=\n,
+	indn=\E[%p1%dE,
+	is1=\E?\E[3;3|\E[10;0|\E[21;1|\212\E[6;1|\E[1{\E[?99l,
+	kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON,
+	kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK,
+	kFND=\EOX, kHLP=\EOM, kHOM=\ENM, kIC=\ENJ, kLFT=\ENK,
+	kMOV=\ENC, kMSG=\EOL, kNXT=\ENH, kOPT=\EOR, kPRT=\EOZ,
+	kPRV=\ENG, kRDO=\EOT, kRES=\EOQ, kRIT=\ENL, kRPL=\EOY,
+	kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9, kcan=\EOw,
+	kcbt=\E[Z, kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd,
+	kcrt=\EOn, kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0,
+	kent=\Eent, kext=\EOk, kf1=\EOc, kf2=\EOd, kf3=\EOe,
+	kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kfnd=\EOx,
+	khlp=\EOm, kich1=\ENj, kind=\E[S, kmov=\ENc, kmrk=\ENi,
+	kmsg=\EOl, knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr,
+	kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb,
+	kres=\EOq, krfr=\ENa, kri=\E[T, krpl=\EOy, krst=\EOB,
+	ksav=\EOo, kslt=\ENI, kspd=\EOp, kund=\EOs, ll=\E#2,
+	mc0=\E[?98l\E[0i, mc4=\E[?98l\E[?8i, mc5=\E[?98l\E[?4i,
+	nel=\EE,
+	pfkey=\E[%p1%d;%p2%l%d;3;0p\s\s\sF%p1%d\s\s\s\s\s\s\s\s\s\s
+	      \s%p2%s,
+	pfloc=\E[%p1%d;%p2%l%d;2;0p\s\s\sF%p1%d\s\s\s\s\s\s\s\s\s\s
+	      \s%p2%s,
+	pfx=\E[%p1%d;%p2%l%d;1;0p   F%p1%d           %p2%s,
+	pln=\E[%p1%dp%p2%:-16s, rc=\E8, ri=\EM, rin=\E[%p1%dF,
+	rmacs=^O, rmir=\E[4l, rmkx=\E[19;0|\E[21;1|\212,
+	rmln=\E<,
+	rs1=\E?\E[3;3|\E[10;0|\E[21;1|\212\E[6;1|\E[1{\E[?99l\E[2;0|
+	    \E[6;1|\E[8;0|\E[19;0|\E[1{\E[?99l,
+	rs2=\E[5;0|, sc=\E7,
+	sgr=\E[0%?%p1%p5%|%p6%|%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
+	    %|%p6%|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smir=\E[4h,
+	smkx=\E[19;1|\E[21;4|\Eent, smln=\E?,
+	vpa=\E[%p1%{1}%+%dd, use=ansi+arrows, use=ansi+erase,
+	use=ansi+idl, use=ansi+local, use=ansi+rep,
+	use=ansi+sgrbold, use=ansi+tabs, use=decid+cpr,
+
+# 01-07-88:
+# printer must be set to EMUL ANSI to accept ESC codes
+# <cuu1> stops at top margin
+# <is1> sets cpi 10,lpi 6,form 66,left 1,right 132,top 1,bottom 66,font
+#	and alt font ascii,wrap on,tabs cleared
+# <is2> disables newline on LF,Emphasized off
+# The <u0> capability sets form length
+att5310|att5320|AT&T Model 53210 or 5320 matrix printer,
+	xhpa, xvpa,
+	bufsz#0x2000, cols#132, cps#120, it#8, lines#66, orc#10,
+	orhi#100, orl#12, orvi#72,
+	cpi=%?%p1%{10}%=%t\E[w%e%p1%{12}%=%t\E[2w%e%p1%{5}%=%t\E[5w
+	    %e%p1%{13}%=%p1%{14}%=%O%t\E[3w%e%p1%{16}%=%p1%{17}%=%O
+	    %t\E[4w%e%p1%{6}%=%t\E[6w%e%p1%{7}%=%t\E[7w%e%p1%{8}%=%t
+	    \E[8w%;,
+	cr=\r,
+	csnm=%?%p1%{0}%=%tusascii%e%p1%{1}%=%tenglish%e%p1%{2}%=%tfi
+	     nnish%e%p1%{3}%=%tjapanese%e%p1%{4}%=%tnorwegian%e%p1
+	     %{5}%=%tswedish%e%p1%{6}%=%tgermanic%e%p1%{7}%=%tfrench
+	     %e%p1%{8}%=%tcanadian_french%e%p1%{9}%=%titalian%e%p1
+	     %{10}%=%tspanish%e%p1%{11}%=%tline%e%p1%{12}%=%tsecurit
+	     y%e%p1%{13}%=%tebcdic%e%p1%{14}%=%tapl%e%p1%{15}%=%tmos
+	     aic%;,
+	cud=\E[%p1%de, cud1=\n, cuf=\E[%p1%da, cuf1=\s, cuu1=\EM,
+	ff=^L, hpa=\E[%p1%d`, ht=^I, is1=\Ec, is2=\E[20l\r,
+	lpi=%?%p1%{2}%=%t\E[4z%e%p1%{3}%=%t\E[5z%e%p1%{4}%=%t\E[6z%e
+	    %p1%{6}%=%t\E[z%e%p1%{8}%=%t\E[2z%e%p1%{12}%=%t\E[3z%;,
+	rshm=\E[m,
+	scs=%?%p1%{0}%=%t\E(B%e%p1%{1}%=%t\E(A%e%p1%{2}%=%t\E(C%e%p1
+	    %{3}%=%t\E(D%e%p1%{4}%=%t\E(E%e%p1%{5}%=%t\E(H%e%p1%{6}
+	    %=%t\E(K%e%p1%{7}%=%t\E(R%e%p1%{8}%=%t\E(Q%e%p1%{9}%=%t
+	    \E(Y%e%p1%{10}%=%t\E(Z%e%p1%{11}%=%t\E(0%e%p1%{12}%=%t
+	    \E(1%e%p1%{13}%=%t\E(3%e%p1%{14}%=%t\E(8%e%p1%{15}%=%t
+	    \E(}%;,
+	smgbp=\E[;%p1%dr, smglp=\E[%{1}%p1%+%ds,
+	smgrp=\E[;%{1}%p1%+%ds, smgtp=\E[%p1%dr, sshm=\E[5m,
+	u0=\E[%p1%dt, vpa=\E[%p1%dd,
+
+# Teletype 5620, firmware version 1.1 (8;7;3) or earlier from BRL
+# The following SET-UP modes are assumed for normal operation:
+#	CR_DEF=CR	NL_DEF=INDEX	DUPLEX=FULL
+# Other SET-UP modes may be set for operator convenience or communication
+# requirements.  This termcap description is for the Resident Terminal Mode.
+# No delays specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# The BRL entry also said: UNSAFE :ll=\E[70H:
+att5620-1|tty5620-1|dmd1|Teletype 5620 with old ROMs,
+	am, xon,
+	cols#88, it#8, lines#70, vt#3,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+	dch=\E[%p1%dP, dch1=\E[P, home=\E[H, ht=^I, ich=\E[%p1%d@,
+	ich1=\E[@, ind=\n, kclr=\E[2J, kll=\E[70;1H, nel=\r\n,
+	rc=\E8, ri=\E[T, rs1=\Ec, sc=\E7, use=ansi+arrows,
+	use=ansi+erase, use=ansi+idl, use=ansi+local1,
+	use=ecma+index,
+
+# 5620 terminfo  (2.0 or later ROMS with char attributes)
+# The following SET-UP modes are assumed for normal operation:
+#	DUPLEX=FULL	GEN_FLOW=ON	NEWLINE=INDEX	RETURN=CR
+# Other SET-UP modes may be set for operator convenience or communication
+# requirements.  This termcap description is for Resident Terminal Mode.  No
+# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# assumptions: <ind> (scroll forward one line) is only done at screen bottom
+# Be aware that older versions of the dmd have a firmware bug that affects
+# parameter defaulting; for this terminal, the 0 in \E[0m is not optional.
+# <msgr> is from an otherwise inferior BRL for this terminal.  That entry
+# also has <ll>=\E[70H commented out and marked unsafe.
+# For more, see the 5620 FAQ maintained by David Breneman <daveb@dgtl.com>.
+att5620|dmd|tty5620|ttydmd|5620|AT&T 5620 terminal 88 columns,
+	OTbs, am, msgr, npc, xon,
+	cols#88, it#8, lines#70,
+	bel=^G, bold=\E[2m, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, home=\E[H, ht=^I,
+	ich=\E[%p1%d@, ich1=\E[@, ind=\E[S, kclr=\E[2J,
+	kll=\E[70;1H, nel=\n, pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8,
+	rev=\E[7m, ri=\E[T, rmso=\E[0m, rmul=\E[0m, rs1=\Ec, sc=\E7,
+	sgr0=\E[0m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+	use=ansi+erase, use=ansi+idl, use=ansi+local1,
+	use=ecma+index,
+
+att5620-24|tty5620-24|dmd-24|Teletype dmd 5620 in a 24x80 layer,
+	lines#24, use=att5620,
+att5620-34|tty5620-34|dmd-34|Teletype dmd 5620 in a 34x80 layer,
+	lines#34, use=att5620,
+# 5620 layer running the "S" system's downloaded graphics handler:
+att5620-s|tty5620-s|layer|vitty|AT&T 5620 S layer,
+	OTbs, OTpt, am,
+	cols#80, it#8, lines#72,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n,
+	cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=^K, dl1=\ED,
+	el=\EK, flash=\E^G, ht=^I, il1=\EI, ind=\n, kclr=\E[2J,
+	khome=\E[H, kll=\E[70;1H, use=ansi+arrows,
+
+# Entries for <kf15> thru <kf28> refer to the shifted system pf keys.
+#
+# Entries for <kf29> thru <kf46> refer to the alternate keypad mode
+# keys:  = * / + 7 8 9 - 4 5 6 , 1 2 3 0 . ENTER
+att605|AT&T 605 80 column 102key keyboard,
+	am, eo, xon,
+	cols#80, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, cr=\r, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[M,
+	el1=\E[1K, fsl=\E8, ht=^I, il1=\E[L, ind=\n, invis=\E[8m,
+	is1=\E[8;0|\E[?\E[13;20l\E[?\E[12h, is2=\E[m\017,
+	kLFT=\E[ A, kRIT=\E[ @, kcbt=\E[Z, kclr=\E[2J, kdch1=\E[P,
+	kdl1=\E[M, kend=\E[24;1H, kf1=\EOc, kf10=\ENp, kf11=\ENq,
+	kf12=\ENr, kf13=\ENs, kf14=\ENt, kf15=\EOC, kf16=\EOD,
+	kf17=\EOE, kf18=\EOF, kf19=\EOG, kf2=\EOd, kf20=\EOH,
+	kf21=\EOI, kf22=\EOJ, kf23=\ENO, kf24=\ENP, kf25=\ENQ,
+	kf26=\ENR, kf27=\ENS, kf28=\ENT, kf29=\EOP, kf3=\EOe,
+	kf30=\EOQ, kf31=\EOR, kf32=\EOS, kf33=\EOw, kf34=\EOx,
+	kf35=\EOy, kf36=\EOm, kf37=\EOt, kf38=\EOu, kf39=\EOv,
+	kf4=\EOf, kf40=\EOl, kf41=\EOq, kf42=\EOr, kf43=\EOs,
+	kf44=\EOp, kf45=\EOn, kf46=\EOM, kf5=\EOg, kf6=\EOh,
+	kf7=\EOi, kf8=\EOj, kf9=\ENo, kich1=\E[@, kil1=\E[L,
+	kind=\E[S, knp=\E[U, kpp=\E[V, ll=\E[24H, mc4=\E[?4i,
+	mc5=\E[?5i, nel=\EE,
+	pfx=\E[%p1%d;%p2%l%02dq   F%p1%1d           %p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, rc=\E8, rev=\E[7m,
+	rmacs=^O, rmln=\E[2p, rmso=\E[m, rmul=\E[m, rs2=\Ec\E[?3l,
+	sc=\E7, sgr0=\E[m\017, smacs=\E)0\016, smln=\E[p,
+	smso=\E[7m, smul=\E[4m, tsl=\E7\E[25;%i%p1%dx,
+	use=ansi+arrows, use=ansi+cpr, use=ansi+erase,
+	use=ansi+idc, use=ansi+local1,
+
+att605-pc|AT&T 605 in pc term mode,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
+	     \263,
+	cub1=\E[D, kend=\E[F, kf1=\E[M, kf10=\E[V, kf2=\E[N,
+	kf3=\E[O, kf4=\E[P, kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T,
+	kf9=\E[U, knp=\E[G, kpp=\E[I, rmsc=\E[50;0|$<400>,
+	smsc=\E[?11l\E[50;1|$<250>, xoffc=g, xonc=e, use=att605,
+att605-w|AT&T 605-w 132 column 102 key keyboard,
+	cols#132, wsl#132,
+	is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h\E(B\E)0, use=att605,
+# (att610: I added <rmam>/<smam> based on the init string.  I also
+# added <indn> and <rin> because the BSD file says the att615s have them,
+# and the 615 is like a 610 with a big keyboard, and most of their other
+# smart terminals support the same sequence -- esr)
+att610|AT&T 610; 80 column; 98key keyboard,
+	am, eslok, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, cbt=\E[Z, cr=\r, cub1=^H, cvvis=\E[?12;25h,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, el1=\E[1K,
+	flash=\E[?5h$<200>\E[?5l, fsl=\E8, ht=^I, ich=\E[%p1%d@,
+	ind=\ED,
+	is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)0,
+	is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ @, kRIT=\E[ A,
+	kcbt=\E[Z, kclr=\E[2J, kf1=\EOc, kf10=\ENp, kf11=\ENq,
+	kf12=\ENr, kf13=\ENs, kf14=\ENt, kf2=\EOd, kf3=\EOe,
+	kf4=\EOf, kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo,
+	kind=\E[S, kri=\E[T, ll=\E[24H, mc4=\E[?4i, mc5=\E[?5i,
+	nel=\EE,
+	pfx=\E[%p1%d;%p2%l%02dq   F%p1%1d           %p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, ri=\EM, rmacs=^O,
+	rmam=\E[?7l, rmir=\E[4l, rmln=\E[2p, rs2=\Ec\E[?3l,
+	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
+	    %|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smln=\E[p, tsl=\E7\E[25;%i%p1%dx, use=ansi+arrows,
+	use=ansi+csr, use=ansi+cup, use=ansi+erase, use=ansi+idl,
+	use=ansi+local, use=ansi+sgrbold, use=decid+cpr,
+	use=ecma+index, use=att610+cvis,
+
+att610-w|AT&T 610; 132 column; 98key keyboard,
+	cols#132, wsl#132,
+	is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h,
+	use=att610,
+
+att610-103k|AT&T 610; 80 column; 103key keyboard,
+	kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON,
+	kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK,
+	kFND=\EOX, kHLP=\EOM, kMOV=\ENC, kMSG=\EOL, kNXT=\ENH,
+	kOPT=\EOR, kPRT=\EOZ, kPRV=\ENG, kRDO=\EOT, kRES=\EOQ,
+	kRPL=\EOY, kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9,
+	kcan=\EOw, kclo=\EOV, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn,
+	kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0, kent=\r,
+	kext=\EOk, kf10@, kf11@, kf12@, kf13@, kf14@, kf9@, kfnd=\EOx,
+	khlp=\EOm, kich1=\ENj, kmov=\ENc, kmrk=\ENi, kmsg=\EOl,
+	knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr, kpp=\E[V,
+	kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb, kres=\EOq,
+	krfr=\ENa, krmir=\ENj, krpl=\EOy, krst=\EOB, ksav=\EOo,
+	kslt=\ENI, kspd=\EOp, kund=\EOs, use=att610,
+att610-103k-w|AT&T 610; 132 column; 103key keyboard,
+	cols#132, wsl#132,
+	is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h,
+	use=att610-103k,
+att615|AT&T 615; 80 column; 98key keyboard,
+	kLFT=\E[ A, kRIT=\E[ @, kf15=\EOC, kf16=\EOD, kf17=\EOE,
+	kf18=\EOF, kf19=\EOG, kf20=\EOH, kf21=\EOI, kf22=\EOJ,
+	kf23=\ENO, kf24=\ENP, kf25=\ENQ, kf26=\ENR, kf27=\ENS,
+	kf28=\ENT, kf29=\EOP, kf30=\EOQ, kf31=\EOR, kf32=\EOS,
+	kf33=\EOw, kf34=\EOx, kf35=\EOy, kf36=\EOm, kf37=\EOt,
+	kf38=\EOu, kf39=\EOv, kf40=\EOl, kf41=\EOq, kf42=\EOr,
+	kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM, use=att610,
+att615-w|AT&T 615; 132 column; 98key keyboard,
+	kLFT=\E[ A, kRIT=\E[ @, kf15=\EOC, kf16=\EOD, kf17=\EOE,
+	kf18=\EOF, kf19=\EOG, kf20=\EOH, kf21=\EOI, kf22=\EOJ,
+	kf23=\ENO, kf24=\ENP, kf25=\ENQ, kf26=\ENR, kf27=\ENS,
+	kf28=\ENT, kf29=\EOP, kf30=\EOQ, kf31=\EOR, kf32=\EOS,
+	kf33=\EOw, kf34=\EOx, kf35=\EOy, kf36=\EOm, kf37=\EOt,
+	kf38=\EOu, kf39=\EOv, kf40=\EOl, kf41=\EOq, kf42=\EOr,
+	kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM, use=att610-w,
+att615-103k|AT&T 615; 80 column; 103key keyboard,
+	kLFT=\E[ A, kRIT=\E[ @, use=att610-103k,
+att615-103k-w|AT&T 615; 132 column; 103key keyboard,
+	kLFT=\E[ A, kRIT=\E[ @, use=att610-103k-w,
+# (att620: I added <rmam>/<smam> based on the init string and
+# <rin>/<indn> from a BSD termcap -- esr)
+att620|AT&T 620; 80 column; 98key keyboard,
+	am, eslok, hs, mir, msgr, xenl, xon,
+	cols#80, it#8, lh#2, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, cbt=\E[Z, cr=\r, cub1=^H, cvvis=\E[?12;25h,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, el1=\E[1K,
+	flash=\E[?5h$<200>\E[?5l, fsl=\E8, ht=^I, ich=\E[%p1%d@,
+	ind=\ED,
+	is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h,
+	is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ A, kRIT=\E[ @,
+	kcbt=\E[Z, kclr=\E[2J, kf1=\EOc, kf10=\ENp, kf11=\ENq,
+	kf12=\ENr, kf13=\ENs, kf14=\ENt, kf15=\EOC, kf16=\EOD,
+	kf17=\EOE, kf18=\EOF, kf19=\EOG, kf2=\EOd, kf20=\EOH,
+	kf21=\EOI, kf22=\EOJ, kf23=\ENO, kf24=\ENP, kf25=\ENQ,
+	kf26=\ENR, kf27=\ENS, kf28=\ENT, kf29=\EOP, kf3=\EOe,
+	kf30=\EOQ, kf31=\EOR, kf32=\EOS, kf33=\EOw, kf34=\EOx,
+	kf35=\EOy, kf36=\EOm, kf37=\EOt, kf38=\EOu, kf39=\EOv,
+	kf4=\EOf, kf40=\EOl, kf41=\EOq, kf42=\EOr, kf43=\EOs,
+	kf44=\EOp, kf45=\EOn, kf46=\EOM, kf5=\EOg, kf6=\EOh,
+	kf7=\EOi, kf8=\EOj, kf9=\ENo, kind=\E[S, kri=\E[T, ll=\E[24H,
+	mc4=\E[?4i, mc5=\E[?5i, nel=\EE,
+	pfx=\E[%p1%d;%p2%l%02dq   F%p1%1d           %p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, ri=\EM,
+	rmacs=\E(B\017, rmam=\E[?7l, rmir=\E[4l, rmln=\E[2p,
+	rs2=\Ec\E[?3l,
+	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
+	    %|%t;7%;%?%p7%t;8%;m%?%p9%t\E)0\016%e\E(B\017%;,
+	sgr0=\E[m\E(B\017, smacs=\E)0\016, smam=\E[?7h,
+	smir=\E[4h, smln=\E[p, tsl=\E7\E[25;%i%p1%dx,
+	use=ansi+arrows, use=ansi+csr, use=ansi+cup,
+	use=ansi+erase, use=ansi+idl, use=ansi+local,
+	use=ansi+sgrbold, use=decid+cpr, use=ecma+index,
+	use=att610+cvis,
+
+att620-w|AT&T 620; 132 column; 98key keyboard,
+	cols#132, wsl#132,
+	is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h,
+	use=att620,
+att620-103k|AT&T 620; 80 column; 103key keyboard,
+	kBEG=\ENB, kCAN=\EOW, kCMD=\EOU, kCPY=\END, kCRT=\EON,
+	kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kEXT=\EOK,
+	kFND=\EOX, kHLP=\EOM, kMOV=\ENC, kMSG=\EOL, kNXT=\ENH,
+	kOPT=\EOR, kPRT=\EOZ, kPRV=\ENG, kRDO=\EOT, kRES=\EOQ,
+	kRPL=\EOY, kSAV=\EOO, kSPD=\EOP, kUND=\EOS, kbeg=\E9,
+	kcan=\EOw, kclo=\EOV, kcmd=\EOu, kcpy=\ENd, kcrt=\EOn,
+	kdch1=\ENf, kdl1=\ENe, kel=\EOa, kend=\E0, kent=\r,
+	kext=\EOk, kf10@, kf11@, kf12@, kf13@, kf14@, kf15@, kf16@, kf17@,
+	kf18@, kf19@, kf20@, kf21@, kf22@, kf23@, kf24@, kf25@, kf26@, kf27@,
+	kf28@, kf29@, kf30@, kf31@, kf32@, kf33@, kf34@, kf35@, kf36@, kf37@,
+	kf38@, kf39@, kf40@, kf41@, kf42@, kf43@, kf44@, kf45@, kf46@, kf9@,
+	kfnd=\EOx, khlp=\EOm, kich1=\ENj, kmov=\ENc, kmrk=\ENi,
+	kmsg=\EOl, knp=\E[U, knxt=\ENh, kopn=\EOv, kopt=\EOr,
+	kpp=\E[V, kprt=\EOz, kprv=\ENg, krdo=\EOt, kref=\EOb,
+	kres=\EOq, krfr=\ENa, krmir=\ENj, krpl=\EOy, krst=\EOB,
+	ksav=\EOo, kslt=\ENI, kspd=\EOp, kund=\EOs, use=att620,
+
+att620-103k-w|AT&T 620; 132 column; 103key keyboard,
+	cols#132, wsl#132,
+	is1=\E[8;0|\E[?4;5;13;15l\E[13;20l\E[?3;7h\E[12h,
+	use=att620-103k,
+
+# AT&T (formerly Teletype) 630 Multi-Tasking Graphics terminal
+# The following SETUP modes are assumed for normal operation:
+#	Local_Echo=Off	Gen_Flow=On	Return=CR	Received_Newline=LF
+#	Font_Size=Large		Non-Layers_Window_Cols=80
+#				Non-Layers_Window_Rows=60
+# Other SETUP modes may be set for operator convenience or communication
+# requirements.  Some capabilities assume a printer attached to the Aux EIA
+# port.  This termcap description is for the Fixed Non-Layers Window.  No
+# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# (att630: added <ich1>, <blink> and <dim> from a BSD termcap file -- esr)
+att630|AT&T 630 windowing terminal,
+	OTbs, am, da, db, mir, msgr, npc, xon,
+	cols#80, it#8, lines#60, lm#0,
+	bel=^G, blink=\E[5m, cbt=\E[Z, cr=\r, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, dim=\E[2m, el1=\E[1K, home=\E[H,
+	ht=^I, ind=\ED, is2=\E[m, kcbt=\E[Z, kclr=\E[2J, kdch1=\E[P,
+	kdl1=\E[M, kent=\r, kf10=\ENp, kf11=\ENq, kf12=\ENr,
+	kf13=\ENs, kf14=\ENt, kf15=\ENu, kf16=\ENv, kf17=\ENw,
+	kf18=\ENx, kf19=\ENy, kf20=\ENz, kf21=\EN{, kf22=\EN|,
+	kf23=\EN}, kf24=\EN~, kf9=\ENo, kich1=\E[@, kil1=\E[L,
+	mc4=\E[?4i, mc5=\E[?5i, nel=\r\n,
+	pfx=\E[%p1%d;%p2%l%dq%p2%s, rc=\E8, rev=\E[7m, ri=\EM,
+	rmso=\E[m, rmul=\E[m, rs2=\Ec, sc=\E7,
+	sgr=\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%|%p4%|%t;7
+	    %;m,
+	sgr0=\E[m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+	use=ansi+cpr, use=ansi+erase, use=ansi+idc, use=ansi+idl,
+	use=ansi+local, use=ecma+index,
+
+att630-24|5630-24|5630DMD-24|630MTG-24|AT&T 630 windowing terminal 24 lines,
+	lines#24, use=att630,
+
+# This is the att700 entry for 700 native emulation of the AT&T 700
+# terminal.  Comments are relative to changes from the 605V2 entry and
+# att730 on which the entry is based.  Comments show the terminfo
+# capability name, termcap name, and description.
+#
+# Here is what's going onm in the init string:
+#	ESC [ 50;4|	set 700 native mode (really is 605)
+# x	ESC [ 56;ps|	set lines to 24: ps=0; 40: ps=1 (plus status line)
+#	ESC [ 53;0|	set GenFlow to Xon/Xoff
+#	ESC [ 8 ;0|	set CR on NL
+# x	ESC [ ? 3 l/h	set workspace: 80 col(l); 132 col(h)
+#	ESC [ ? 4 l	jump scroll
+#	ESC [ ? 5 l/h	video: normal (l); reverse (h)
+#	ESC [ ?13 l	Labels on
+#	ESC [ ?15 l	parity check = no
+#	ESC [ 13 l	monitor mode off
+#	ESC [ 20 l	LF on NL (not CRLF on NL)
+#	ESC [ ? 7 h	autowrap on
+#	ESC [ 12 h	local echo off
+#	ESC ( B		GO = ASCII
+#	ESC ) 0		G1 = Special Char & Line Drawing
+#	ESC [ ? 31 l	Set 7 bit controls
+#
+# Note: Most terminals, especially the 600 family use Reverse Video for
+# standout mode.  DEC also uses reverse video.  The VT100 uses bold in addition
+# Assume we should stay with reverse video for 70..  However, the 605V2 exits
+# standout mode with \E[m (all normal attributes).  The 730 entry simply
+# exits reverse video which would leave other current attributes intact.  It
+# was assumed the 730 entry to be more correct so rmso has changed.  The
+# 605V2 has no sequences to turn individual attributes off, thus its setting
+# and the rmso/smso settings from the 730.
+#
+# Note: For the same reason as above in rmso I changed exit under-score mode
+# to specifically turn off underscore, rather than return to all normal
+# attributes
+#
+# Note: The following pkey_xmit is taken from the 605V2 which contained the
+# capability as pfxl.  It was changed here to pfx since pfxl
+# will only compile successfully with Unix 4.0 tic.  Also note that pfx only
+# allows strings to be parameters and label values must be programmed as
+# constant strings.  Supposedly the pfxl of Version 4.0 allows both labels
+# and strings to be parameters.  The 605V2 pfx entry should be examined later
+# in this regard. For reference the 730 pfxl entry is shown here for comparison
+# 730 pfx entry:
+#     pfxl=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}%<%tq\s\s\s
+# SYS\s\s\s\s\sF%p1%:-2d\s\s%e;0;3q%;%p2%s,
+#
+# (for 4.0 tic)
+#     pfxl=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t   F%p1%1d           %;%p2%s,
+#
+# (for <4.0 tic)
+#     pfx=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t   F%p1%1d           %;%p2%s,
+#
+# From the AT&T 705 Multi-tasking terminal user's guide Page 8-8,8-9
+#
+# Port1 Interface
+#
+# modular 10 pin Connector
+# Left side       Right side
+# Pin 1 2 3 4 5 6 7 8 9 10
+#
+#        Key (notch) at bottom
+#
+# Pin    1 DSR
+#        3 DCD
+#        4 DTR
+#        5 Sig Ground
+#        6 RD
+#        7 SD
+#        8 CTS
+#        9 RTS
+#        10 Frame Ground
+#
+# The manual is 189 pages and is loaded with details about the escape codes,
+# etc..... Available from AT&T CIC 800-432-6600...
+# ask for Document number 999-300-660..
+#
+att700|AT&T 700 24x80 column display w/102key keyboard,
+	am, eslok, hs, mir, msgr, xenl, xon,
+	cols#80, lh#2, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+	cvvis=\E[?12;25h, dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m,
+	el1=\E[1K, enacs=\E(B\E)0, flash=\E[?5h$<200>\E[?5l,
+	fln=4\,4, fsl=\E8, home=\E[H, ich=\E[%p1%d@, ind=\ED,
+	is2=\E[50;4|\E[53;0|\E[8;0|\E[?4;13;15l\E[13;20l\E[?7h\E[12h
+	    \E(B\E)0\E[?31l\E[0m\017,
+	is3=\E(B\E)0, kLFT=\E[ A, kRIT=\E[ @, kcbt=\E[Z,
+	kclr=\E[2J, kdch1=\E[P, kdl1=\E[M, kend=\E[24;1H, kf1=\EOc,
+	kf10=\ENp, kf11=\ENq, kf12=\ENr, kf13=\ENs, kf14=\ENt,
+	kf15=\EOC, kf16=\EOD, kf17=\EOE, kf18=\EOF, kf19=\EOG,
+	kf2=\EOd, kf20=\EOH, kf21=\EOI, kf22=\EOJ, kf23=\ENO,
+	kf24=\ENP, kf25=\ENQ, kf26=\ENR, kf27=\ENS, kf28=\ENT,
+	kf29=\EOq, kf3=\EOe, kf30=\EOr, kf31=\EOs, kf32=\EOt,
+	kf33=\EOu, kf34=\EOv, kf35=\EOw, kf36=\EOx, kf37=\EOy,
+	kf38=\EOu, kf39=\EOv, kf4=\EOf, kf40=\EOl, kf41=\EOq,
+	kf42=\EOr, kf43=\EOs, kf44=\EOp, kf45=\EOn, kf46=\EOM,
+	kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo, kich1=\E[@,
+	kil1=\E[L, knp=\E[U, kpp=\E[V, ll=\E[24H, nel=\EE,
+	pfx=\E[%p1%d;%p2%l%02dq%?%p1%{9}%<%t\s\s\sF%p1%1d\s\s\s\s\s
+	    \s\s\s\s\s\s%;%p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, ri=\EM, rmacs=^O,
+	rmir=\E[4l, rmln=\E[2p, rmso=\E[27m, rmul=\E[24m,
+	rmxon=\E[53;3|, rs1=\Ec\E[?3;5l\E[56;0|,
+	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
+	    %|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smir=\E[4h, smln=\E[p,
+	smxon=\E[53;0|, tsl=\E7\E[99;%i%p1%dx, use=ansi+arrows,
+	use=ansi+csr, use=ansi+erase, use=ansi+idl,
+	use=ansi+inittabs, use=ansi+local, use=ansi+rep,
+	use=ansi+sgrbold, use=decid+cpr, use=dec+pp,
+	use=att610+cvis0,
+
+# This entry was modified 3/13/90 by JWE.
+# fixes include additions of <enacs>, correcting <rep>, and modification
+# of <kHOM>.  (See comments below)
+# att730 has status line of 80 chars
+# These were commented out: <indn=\E[%p1%dS>, <rin=\E[%p1%dT>,
+# the <kf25> and up keys are used for shifted system Fkeys
+# NOTE: JWE 3/13/90 The 98 key keyboard translation for shift/HOME is
+# currently the same as <khome> (unshifted HOME or \E[H).  On the 102, 102+1
+# and 122 key keyboards, the 730's translation is \E[2J.  For consistency
+# <kHOM> has been commented out.  The user can uncomment <kHOM> if using the
+# 102, 102+1, or 122 key keyboards
+#       kHOM=\E[2J,
+# (att730: I added <rmam>/<smam> based on the init string -- esr)
+att730|AT&T 730 windowing terminal,
+	am, da, db, eslok, hs, mir, msgr, npc, xenl, xon,
+	cols#80, it#8, lh#2, lines#60, lm#0, lw#8, nlab#24, wsl#80,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, cbt=\E[Z, cr=\r, cub1=^H, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[2m, el1=\E[1K, enacs=\E(B\E)0,
+	flash=\E[?5h$<200>\E[?5l, fsl=\E8, ht=^I, ich=\E[%p1%d@,
+	ind=\ED,
+	is1=\E[8;0|\E[?3;4;5;13;15l\E[13;20l\E[?7h\E[12h\E(B\E)B,
+	is2=\E[m\017, is3=\E(B\E)0, kLFT=\E[ @, kRIT=\E[ A,
+	kcbt=\E[Z, kclr=\E[2J, kf1=\EOc, kf10=\ENp, kf11=\ENq,
+	kf12=\ENr, kf13=\ENs, kf14=\ENt, kf15=\ENu, kf16=\ENv,
+	kf17=\ENw, kf18=\ENx, kf19=\ENy, kf2=\EOd, kf20=\ENz,
+	kf21=\EN{, kf22=\EN|, kf23=\EN}, kf24=\EN~, kf25=\EOC,
+	kf26=\EOD, kf27=\EOE, kf28=\EOF, kf29=\EOG, kf3=\EOe,
+	kf30=\EOH, kf31=\EOI, kf32=\EOJ, kf33=\ENO, kf34=\ENP,
+	kf35=\ENQ, kf36=\ENR, kf37=\ENS, kf38=\ENT, kf39=\EOU,
+	kf4=\EOf, kf40=\EOV, kf41=\EOW, kf42=\EOX, kf43=\EOY,
+	kf44=\EOZ, kf45=\EO[, kf46=\EO\s, kf47=\EO], kf48=\EO\^,
+	kf5=\EOg, kf6=\EOh, kf7=\EOi, kf8=\EOj, kf9=\ENo, kich1=\E[@,
+	kil1=\E[L, kind=\E[S, kri=\E[T, mc0=\E[?19h\E[0i, nel=\EE,
+	pfx=\E[%?%p1%{25}%<%t%p1%e%p1%{24}%-%;%d;%p2%l%02d%?%p1%{25}
+	    %<%tq\s\s\sSYS\s\s\s\s\sF%p1%:-2d\s\s%e;0;3q%;%p2%s,
+	pfxl=\E[%p1%d;%p2%l%02d;0;0q%p3%:-16.16s%p2%s,
+	pln=\E[%p1%d;0;0;0q%p2%:-16.16s, ri=\EM, rmacs=^O,
+	rmam=\E[?7l, rmir=\E[4l, rmln=\E[?13h, rmso=\E[27m,
+	rmul=\E[24m, rmxon=\E[?21l, rs2=\Ec\E[?3l,
+	sgr=\E[0%?%p6%t;1%;%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;%?%p3%p1
+	    %|%t;7%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smln=\E[?13l, smxon=\E[?21h, swidm=\E#6,
+	tsl=\E7\E[;%i%p1%dx, use=ansi+arrows, use=ansi+csr,
+	use=ansi+cup, use=ansi+erase, use=ansi+idl,
+	use=ansi+local, use=ansi+rep, use=ansi+sgrbold,
+	use=decid+cpr, use=dec+pp, use=att610+cvis,
+
+# "MGT" is "Multi-Tasking Graphics Terminal"
+att730-41|730MTG-41|AT&T 730-41 windowing terminal,
+	lines#41, use=att730,
+att730-24|730MTG-24|AT&T 730-24 windowing terminal,
+	lines#24, use=att730,
+att730r|730MTGr|AT&T 730 rev video windowing terminal,
+	flash=\E[?5l$<200>\E[?5h,
+	is1=\E[8;0|\E[?3;4;13;15l\E[?5h\E[13;20l\E[?7h\E[12h\E(B\E)B, use=att730,
+att730r-41|730MTG-41r|AT&T 730r-41 rev video windowing terminal,
+	lines#41, use=att730r,
+att730r-24|730MTGr-24|AT&T 730r-24 rev video windowing terminal,
+	lines#24, use=att730r,
+
+# The following represents the screen layout along with the associated
+# bezel buttons for the 5430/pt505 terminal. The "kf" designations do
+# not appear on the screen but are shown to reference the bezel buttons.
+# The "CMD", "MAIL", and "REDRAW" buttons are shown in their approximate
+# position relative to the screen.
+#
+#
+#
+#      +----------------------------------------------------------------+
+#      |                                                                |
+# XXXX | kf0                                                       kf24 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf1                                                       kf23 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf2                                                       kf22 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf3                                                       kf21 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf4                                                       kf20 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf5                                                       kf19 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX | kf6                                                       kf18 | XXXX
+#      |                                                                |
+#      |                                                                |
+# XXXX |                                                                | XXXX
+#      |                                                                |
+#      |                                                                |
+#      +----------------------------------------------------------------+
+#
+#          XXXX  XXXX  XXXX  XXXX  XXXX  XXXX  XXXX  XXXX  XXXX  XXXX
+#
+# Note: XXXX represents the screen buttons
+#                                                          CMD   REDRAW
+#
+#                                                          MAIL
+#
+# version 1 note:
+#	The character string sent by key 'kf26' may be user programmable
+#       to send either \E[16s, or \E[26s.
+#       The character string sent by key 'krfr' may be user programmable
+#       to send either \E[17s, or \E[27s.
+#
+# Depression of the "CMD" key sends    \E!    (kcmd)
+# Depression of the "MAIL" key sends   \E[26s (kf26)
+# "REDRAW" same as "REFRESH" (krfr)
+#
+# "kf" functions adds carriage return to output string if terminal is in
+# 'new line' mode.
+#
+# The following are functions not covered in the table above:
+#
+#       Set keyboard character (SKC): \EPn1;Pn2w
+#                       Pn1= 0 Back Space key
+#                       Pn1= 1 Break key
+#                       Pn2=   Program char (hex)
+#
+#       Screen Definition (SDF): \E[Pn1;Pn2;Pn3;Pn4;Pn5t
+#                       Pn1=     Window number (1-39)
+#                       Pn2-Pn5= Y;X;Y;X coordinates
+#
+#       Screen Selection (SSL): \E[Pnu
+#                       Pn= Window number
+#
+#       Set Terminal Modes (SM): \E[Pnh
+#                       Pn= 3 Graphics mode
+#                       Pn= > Cursor blink
+#                       Pn= < Enter new line mode
+#                       Pn= = Enter reverse insert/replace mode
+#                       Pn= ? Enter no scroll mode
+#
+#       Reset Terminal Mode (RM): \E[Pnl
+#                       Pn= 3 Exit graphics mode
+#                       Pn= > Exit cursor blink
+#                       Pn= < Exit new line mode
+#                       Pn= = Exit reverse insert/replace mode
+#                       Pn= ? Exit no scroll mode
+#
+#       Screen Status Report (SSR): \E[Pnp
+#                       Pn= 0 Request current window number
+#                       Pn= 1 Request current window dimensions
+#
+#       Device Status Report (DSR): \E[6n    Request cursor position
+#
+#       Call Status Report (CSR): \E[Pnv
+#                       Pn= 0 Call failed
+#                       Pn= 1 Call successful
+#
+#       Transparent Button String (TBS): \E[Pn1;Pn2;Pn3;{string
+#                       Pn1= Button number to be loaded
+#                       Pn2= Character count of "string"
+#                       Pn3= Key mode being loaded:
+#                               0= Unshifted
+#                               1= Shifted
+#                               2= Control
+#                       String= Text string (15 chars max)
+#
+#       Screen Number Report (SNR): \E[Pnp
+#                       Pn= Screen number
+#
+#       Screen Dimension Report (SDR): \E[Pn1;Pn2r
+#                       Pn1= Number of rows available in window
+#                       Pn2= Number of columns available in window
+#
+#       Cursor Position Report (CPR): \E[Pn1;Pn2R
+#                       Pn1= "Y" Position of cursor
+#                       Pn2= "X" Position of cursor
+#
+#       Request Answer Back (RAB): \E[c
+#
+#       Answer Back Response (ABR): \E[?;*;30;VSV
+#                       *=  0 No printer available
+#                       *=  2 Printer available
+#                       V=  Software version number
+#                       SV= Software sub version number
+#	(printer-available field not documented in v1)
+#
+#       Screen Alignment Aid: \En
+#
+#       Bell (lower pitch): \E[x
+#
+#       Dial Phone Number: \EPdstring\
+#                       string= Phone number to be dialed
+#
+#       Set Phone Labels: \EPpstring\
+#                       string= Label for phone buttons
+#
+#       Set Clock: \EPchour;minute;second\
+#
+#       Position Clock: \EPsY;X\
+#                       Y= "Y" coordinate
+#                       X= "X" coordinate
+#
+#       Delete Clock: \Epr\
+#
+#       Programming The Function Buttons: \EPfPn;string\
+#                       Pn= Button number (00-06, 18-24)
+#                                         (kf00-kf06, kf18-kf24)
+#                       string= Text to sent on button depression
+#
+# The following in version 2 only:
+#
+#       Request For Local Directory Data: \EPp12;\
+#
+#       Local Directory Data to host: \EPp11;LOCAL...DIRECTORY...DATA\
+#
+#	Request for Local Directory Data in print format: \EPp13;\
+#
+#	Enable 'Prt on Line' mode: \022 (DC2)
+#
+#	Disable 'Prt on Line' mode: \024 (DC4)
+#
+
+# 05-Aug-86:
+# The following Terminfo entry describes functions which are supported by
+# the AT&T 5430/pt505 terminal software version 2 and later.
+att505|pt505|att5430|gs5430|AT&T Personal Terminal 505 or 5430 GETSET terminal,
+	am, xon,
+	cols#80, it#8, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H,
+	cnorm=\E[>l, cr=\r, cup=\E[%p1%d;%p2%dH, cvvis=\E[>h,
+	dch=\E[%p1%dP, dch1=\E[P, ed=\E[0J, el=\E[0K, el1=\E[2K,
+	home=\E[H, ht=^I, ind=\n,
+	is1=\EPr\\E[0u\E[2J\E[0;0H\E[m\E[3l\E[<l\E[4l\E[>l\E[=l\E[?l,
+	kbs=^H, kcmd=\E!, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kf0=\E[00s, kf1=\E[01s, kf18=\E[18s,
+	kf19=\E[19s, kf2=\E[02s, kf20=\E[20s, kf21=\E[21s,
+	kf22=\E[22s, kf23=\E[23s, kf24=\E[24s, kf26=\E[26s,
+	kf3=\E[03s, kf4=\E[04s, kf5=\E[05s, kf6=\E[06s,
+	krfr=\E[27s, mc4=\E[4i, mc5=\E[5i, rc=\E8, rev=\E[7m,
+	rmacs=\E[10m, rmam=\E[11;1j, rmir=\E[4l, rmso=\E[m,
+	rmul=\E[m, rs1=\Ec, sc=\E7, sgr0=\E[m, smacs=\E[11m,
+	smam=\E[11;0j, smir=\E[4h, smso=\E[1m, smul=\E[4m,
+	use=ansi+cpr, use=ansi+idl, use=ansi+local,
+
+# The following Terminfo entry describes functions which are supported by
+# the AT&T 5430/pt505 terminal software version 1.
+att505-24|pt505-24|gs5430-24|AT&T PT505 or 5430 GETSET version 1 24 lines,
+	lines#24,
+	mc4@, mc5@, rc@, rmam@, sc@, smam@, use=att505,
+att505-22|pt505-22|gs5430-22|AT&T PT505 or 5430 GETSET version 1 22 lines,
+	lines#22, use=att505,
+#
+#### ------------------ TERMINFO FILE CAN BE SPLIT HERE ---------------------
+# This cut mark helps make life less painful for people running ncurses tic
+# on machines with relatively little RAM.  The file can be broken in half here
+# cleanly and compiled in sections -- no `use' references cross this cut
+# going forward.
+#
+
+#### Ampex (Dialogue)
+#
+# Yes, these are the same people who are better-known for making audio- and
+# videotape.  I'm told they are located in Redwood City, CA.
+#
+
+# From: <cbosg!ucbvax!SRC:george> Fri Sep 11 22:38:32 1981
+# (ampex80: some capabilities merged in from SCO's entry -- esr)
+ampex80|a80|d80|dialogue|dialogue80|Ampex dialogue 80,
+	OTbs, am, bw, ul,
+	cols#80, it#8, lines#24,
+	bel=^G, cbt=\EI, clear=\E*$<75>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dl1=\ER$<5*>, ed=\Ey, el=\Et, ht=^I, hts=\E1,
+	ich1=\EQ, il1=\EE$<5*>, ind=\n, is2=\EA, rmso=\Ek, rmul=\Em,
+	smso=\Ej, smul=\El, tbc=\E3,
+# This entry was from somebody anonymous, Tue Aug  9 20:11:37 1983, who wrote:
+ampex175|Ampex d175,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\E+, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\Ey, el=\Et, home=^^, ich1=\EQ, il1=\EE, ind=\n,
+	is2=\EX\EA\EF, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K,
+	kdch1=\EW, kdl1=\ER, khome=^^, kich1=\EQ, kil1=\EE, ll=^^^K,
+	rmcup=\EF, rmso=\Ek, rmul=\Em, smcup=\EN, smso=\Ej, smul=\El,
+# No backspace key in the main QWERTY cluster. Fortunately, it has a
+# NEWLINE/PAGE key just above RETURN that sends a strange single-character
+# code.  Given a suitable Unix (one that lets you set an echo-erase-as-BS-SP-BS
+# mode), this key can be used as the erase key; I find I like this. Because
+# some people and some systems may not, there is another termcap ("ampex175")
+# that suppresses this little eccentricity by omitting the relevant capability.
+ampex175-b|Ampex d175 using left arrow for erase,
+	kbs=^_, use=ampex175,
+# From: Richard Bascove <atd!dsd!rcb@ucbvax.berkeley.edu>
+# (ampex210: removed obsolete ":kn#10:" -- esr)
+ampex210|a210|Ampex a210,
+	OTbs, am, hs, xenl,
+	cols#80, it#8, lines#24, xmc#1,
+	cbt=\EI, clear=\E*, cub1=^H, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\Ey, el=\Et, flash=\EU\EX\EU\EX\EU\EX\EU\EX,
+	fsl=\E.2, home=^^, ht=^I, ich1=\EQ,
+	if=/usr/share/tabset/std, il1=\EE, invis@,
+	is2=\EC\Eu\E'\E(\El\EA\E%\E{\E.2\EG0\Ed\En, kcub1=^H,
+	kcud1=^V, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A1\r,
+	kf2=^A2\r, kf3=^A3\r, kf4=^A4\r, kf5=^A5\r, kf6=^A6\r,
+	kf7=^A7\r, kf8=^A8\r, kf9=^A9\r, khome=^^,
+	tsl=\E.0\Eg\E}\Ef, use=adm+sgr,
+# (ampex219: I added <rmam>/<smam> based on the init string, added <cvvis>
+# from ampex219w, added <cnorm>=\E[?3l, irresistibly suggested by <cvvis>,
+# and moved the padding to be *after* the caps -- esr)
+ampex219|ampex-219|amp219|Ampex with automargins,
+	hs, xenl,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[5m$<2>, bold=\E[1m$<2>, cbt=\E[Z,
+	clear=\E[H\E[2J$<50>, cnorm=\E[?3l, cr=\r,
+	csr=%i\E[%p1%2d;%p2%2dr, cub1=^H, cud1=\E[B,
+	cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
+	cuu1=\E[A$<2>, cvvis=\E[?3h, dim=\E[1m, ed=\E[J$<50>,
+	el=\E[K$<3>, home=\E[H, ht=^I, ind=\n,
+	is2=\E>\E[?1l\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\E[21~,
+	kf1=\E[7~, kf2=\E[8~, kf3=\E[9~, kf4=\E[10~, kf5=\E[11~,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, khome=\E[H,
+	rev=\E[7m, ri=\EM$<5>, rmam=\E[?7l, rmkx=\E>,
+	rmso=\E[m$<2>, rmul=\E[m$<2>, sgr0=\E[m$<2>, smam=\E[?7h,
+	smkx=\E=, smso=\E[7m$<2>, smul=\E[4m$<2>,
+ampex219w|ampex-219w|amp219w|Ampex 132 cols,
+	cols#132,
+	cud1=\n, is2=\E>\E[?3h\E[?4l\E[?5l\E[?7h\E[?8h,
+	use=ampex219,
+# (ampex232: removed <if=/usr/share/tabset/ampex>, no file and no <hts> --esr)
+ampex232|ampex-232|Ampex Model 232,
+	am,
+	cols#80, lines#24, xmc#1,
+	cbt=\EI, civis=\E.0, clear=\E+, cnorm=\E.4, cub1=^H, cud1=^V,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dl1=\ER$<5*/>, ed=\EY, el=\ET,
+	flash=\Eb$<200/>\Ed, ht=^I, ich1=\EQ, il1=\EE$<5*/>,
+	invis@, is2=\Eg\El, kbs=^H, kcub1=^H, kcud1=^V, kcuf1=^L,
+	kcuu1=^K, kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r,
+	kf4=^AD\r, kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r,
+	kf9=^AI\r, khome=^^, use=adm+sgr,
+# (ampex: removed <if=/usr/share/tabset/amp-132>, no file and no <hts> -- esr)
+ampex232w|Ampex Model 232 / 132 columns,
+	cols#132,
+	is2=\E\034Eg\El, use=ampex232,
+
+#### Ann Arbor (aa)
+#
+# Ann Arbor made dream terminals for hackers -- large screen sizes and huge
+# numbers of function keys.  At least some used monitors in portrait mode,
+# allowing up to 76-character screen heights!  They were reachable at:
+#
+#	Ann Arbor Terminals
+#	6175 Jackson Road
+#	Ann Arbor, MI 48103
+#	(313)-663-8000
+#
+# But in 1996 the phone number reaches some kitschy retail shop, and Ann Arbor
+# can't be found on the Web; I fear they're long dead.  R.I.P.
+#
+
+
+# Originally from Mike O'Brien@Rand and Howard Katseff at Bell Labs.
+# Highly modified 6/22 by Mike O'Brien.
+# split out into several for the various screen sizes by dave-yost@rand
+# Modifications made 3/82 by Mark Horton
+# Modified by Tom Quarles at UCB for greater efficiency and more diversity
+# status line moved to top of screen, <flash> removed 5/82
+# Some unknown person at SCO then hacked the init strings to make them more
+# efficient.
+#
+# assumes the following setup:
+#   A menu: 0000 1010  0001 0000
+#   B menu: 9600  0100 1000  0000 0000  1000 0000  17  19
+#   C menu: 56   66   0    0    9600  0110 1100
+#   D menu: 0110 1001   1   0
+#
+#	Briefly, the settings are for the following modes:
+#	   (values are for bit set/clear with * indicating our preference
+#	    and the value used to test these termcaps)
+#	Note that many of these settings are irrelevant to the terminfo
+#	and are just set to the default mode of the terminal as shipped
+#	by the factory.
+#
+# A menu: 0000 1010  0001 0000
+#	Block/underline cursor*
+#	blinking/nonblinking cursor*
+#	key click/no key click*
+#	bell/no bell at column 72*
+#
+#	key pad is cursor control*/key pad is numeric
+#	return and line feed/return for <cr> key *
+#	repeat after .5 sec*/no repeat
+#	repeat at 25/15 chars per sec. *
+#
+#	hold data until pause pressed/process data unless pause pressed*
+#	slow scroll/no slow scroll*
+#	Hold in area/don't hold in area*
+#	functions keys have default*/function keys disabled on powerup
+#
+#	show/don't show position of cursor during page transmit*
+#	unused
+#	unused
+#	unused
+#
+# B menu: 9600  0100 1000  0000 0000  1000 0000  17  19
+#	Baud rate (9600*)
+#
+#	2 bits of parity - 00=odd,01=even*,10=space,11=mark
+#	1 stop bit*/2 stop bits
+#	parity error detection off*/on
+#
+#	keyboard local/on line*
+#	half/full duplex*
+#	disable/do not disable keyboard after data transmission*
+#
+#	transmit entire page/stop transmission at cursor*
+#	transfer/do not transfer protected characters*
+#	transmit all characters/transmit only selected characters*
+#	transmit all selected areas/transmit only 1 selected area*
+#
+#	transmit/do not transmit line separators to host*
+#	transmit/do not transmit page tab stops tabs to host*
+#	transmit/do not transmit column tab stop tabs to host*
+#	transmit/do not transmit graphics control (underline,inverse..)*
+#
+#	enable*/disable auto XON/XOFF control
+#	require/do not require receipt of a DC1 from host after each LF*
+#	pause key acts as a meta key/pause key is pause*
+#	unused
+#
+#	unused
+#	unused
+#	unused
+#	unused
+#
+#	XON character (17*)
+#	XOFF character (19*)
+#
+# C menu: 56   66   0    0    9600  0110 1100
+#	number of lines to print data on (printer) (56*)
+#
+#	number of lines on a sheet of paper (printer) (66*)
+#
+#	left margin (printer) (0*)
+#
+#	number of pad chars on new line to printer (0*)
+#
+#	printer baud rate (9600*)
+#
+#	printer parity: 00=odd,01=even*,10=space,11=mark
+#	printer stop bits: 2*/1
+#	print/do not print guarded areas*
+#
+#	new line is: 01=LF,10=CR,11=CRLF*
+#	unused
+#	unused
+#
+# D menu: 0110 1001   1   0
+#	LF is newline/LF is down one line, same column*
+#	wrap to preceding line if move left from col 1*/don't wrap
+#	wrap to next line if move right from col 80*/don't wrap
+#	backspace is/is not destructive*
+#
+#	display*/ignore DEL character
+#	display will not/will scroll*
+#	page/column tab stops*
+#	erase everything*/erase unprotected only
+#
+#	editing extent: 0=display,1=line*,2=field,3=area
+#
+#	unused
+#
+
+annarbor4080|aa4080|Ann Arbor 4080,
+	OTbs, am,
+	cols#80, lines#40,
+	bel=^G, clear=\014$<2>, cr=\r, cub1=^H, cud1=\n, cuf1=^_,
+	cup=\017%p2%{10}%/%{16}%*%p2%{10}%m%+%c%p1%?%p1%{19}%>%t
+	    %{12}%+%;%{64}%+%c,
+	cuu1=^N, home=^K, ht=^I, hts=^]^P1, ind=\n, kbs=^^, kcub1=^H,
+	kcud1=\n, kcuf1=^_, kcuu1=^N, khome=^K, tbc=^\^P^P,
+
+# Strange Ann Arbor terminal from BRL
+aas1901|Ann Arbor K4080 w/S1901 mod,
+	am,
+	cols#80, lines#40,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=^_, cuu1=^N,
+	home=^K, ht=^I, ind=\n, kbs=^H, kcub1=^H, kcud1=\n, ll=^O\0c,
+	nel=\r\n,
+
+# If you're using the GNU termcap library, add
+#	:cS=\E[%p1%d;%p2%d;%p3%d;%p4%dp:
+# to these capabilities.  This is the nonstandard GNU termcap scrolling
+# capability, arguments are:
+#   1. Total number of lines on the screen.
+#   2. Number of lines above desired scroll region.
+#   3. Number of lines below (outside of) desired scroll region.
+#   4. Total number of lines on the screen, the same as the first parameter.
+# The generic Ann Arbor entry is the only one that uses this.
+aaa+unk|aaa-unk|Ann Arbor Ambassador (internal - don't use this directly),
+	OTbs, am, km, mc5i, mir, xon,
+	cols#80,
+	bel=^G, clear=\E[H\E[J$<156>, cr=\r, cub1=^H, cud1=^K,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P, ed=\E[J,
+	el=\E[K$<5>, home=\E[H, hpa=\E[%p1%{1}%+%dG,
+	ich=\E[%p1%d@$<4*>, ich1=\E[@$<4>, il1=\E[L$<3>, ind=^K,
+	is1=\E[m\E7\E[H\E9\E8,
+	is3=\E[1Q\E[>20;30l\EP`+x~M\E\\, kcbt=\E[Z, kclr=\E[J,
+	kdch1=\E[P, kdl1=\E[M, kf1=\EOA, kf10=\EOJ, kf11=\EOK,
+	kf12=\EOL, kf13=\EOM, kf14=\EON, kf15=\EOO, kf16=\EOP,
+	kf17=\EOQ, kf18=\EOR, kf19=\EOS, kf2=\EOB, kf20=\EOT,
+	kf21=\EOU, kf22=\EOV, kf23=\EOW, kf24=\EOX, kf3=\EOC,
+	kf4=\EOD, kf5=\EOE, kf6=\EOF, kf7=\EOG, kf8=\EOH, kf9=\EOI,
+	kich1=\E[@, kil1=\E[L, krmir=\E6, mc0=\E[0i, mc4=^C,
+	mc5=\E[v, mc5p=\E[%p1%dv, rc=\E8,
+	rmkx=\EP`>y~[[J`8xy~[[A`4xy~[[D`6xy~[[C`2xy~[[B\E
+	     \\,
+	rmm=\E[>52l, sc=\E7,
+	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;
+	    %;%?%p7%t8;%;m,
+	sgr0=\E[m,
+	smkx=\EP`>z~[[J`8xz~[[A`4xz~[[D`6xz~[[C`2xz~[[B\E
+	     \\,
+	smm=\E[>52h, vpa=\E[%p1%{1}%+%dd, use=ansi+arrows,
+	use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+	use=ansi+rep, use=ansi+sgrbold,
+
+aaa+rv|Ann Arbor Ambassador in reverse video,
+	blink=\E[5;7m, bold=\E[1;7m, invis=\E[7;8m,
+	is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m,
+	rs1=\E[H\E[7m\E[J$<156>,
+	sgr=\E[%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p1%p2%|%p3%!%|%t7
+	    ;%;%?%p7%t8;%;m\016,
+	sgr0=\E[7m\016, smso=\E[m, smul=\E[4;7m,
+# Ambassador with the DEC option, for partial VT100 compatibility.
+aaa+dec|Ann Arbor Ambassador in DEC VT100 mode,
+	acsc=aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}},
+	csr=\E[%i%p1%d;%p2%dr, enacs=\E(B\E)0, rmacs=^O,
+	sgr=\E[%?%p2%t4;%;%?%p4%t5;%;%?%p6%t1;%;%?%p1%p3%|%!%t7;%;%?
+	    %p7%t8;%;m%?%p9%t\016%e\017%;,
+	smacs=^N,
+aaa-18|Ann Arbor Ambassador/18 lines,
+	lines#18,
+	is2=\E7\E[60;0;0;18p\E8,
+	rmcup=\E[60;0;0;18p\E[60;1H\E[K, smcup=\E[18;0;0;18p,
+	use=aaa+unk,
+aaa-18-rv|Ann Arbor Ambassador/18 lines+reverse video,
+	use=aaa+rv, use=aaa-18,
+aaa-20|Ann Arbor Ambassador/20 lines,
+	lines#20,
+	is2=\E7\E[60;0;0;20p\E8,
+	rmcup=\E[60;0;0;20p\E[60;1H\E[K, smcup=\E[20;0;0;20p,
+	use=aaa+unk,
+aaa-22|Ann Arbor Ambassador/22 lines,
+	lines#22,
+	is2=\E7\E[60;0;0;22p\E8,
+	rmcup=\E[60;0;0;22p\E[60;1H\E[K, smcup=\E[22;0;0;22p,
+	use=aaa+unk,
+aaa-24|Ann Arbor Ambassador/24 lines,
+	lines#24,
+	is2=\E7\E[60;0;0;24p\E8,
+	rmcup=\E[60;0;0;24p\E[60;1H\E[K, smcup=\E[24;0;0;24p,
+	use=aaa+unk,
+aaa-24-rv|Ann Arbor Ambassador/24 lines+reverse video,
+	use=aaa+rv, use=aaa-24,
+aaa-26|Ann Arbor Ambassador/26 lines,
+	lines#26,
+	is2=\E7\E[60;0;0;26p\E8,
+	rmcup=\E[60;0;0;26p\E[26;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[26;0;0;26p, use=aaa+unk,
+aaa-28|Ann Arbor Ambassador/28 lines,
+	lines#28,
+	is2=\E7\E[60;0;0;28p\E8,
+	rmcup=\E[60;0;0;28p\E[28;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[28;0;0;28p, use=aaa+unk,
+aaa-30-s|aaa-s|Ann Arbor Ambassador/30 lines w/status,
+	eslok, hs,
+	lines#29,
+	dsl=\E7\E[60;0;0;30p\E[1;1H\E[K\E[H\E8\r\n\E[K,
+	fsl=\E[>51l, is2=\r\n\E[A\E7\E[60;1;0;30p\E8,
+	rmcup=\E[60;1;0;30p\E[29;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[30;1;0;30p\E[30;1H\E[K,
+	tsl=\E[>51h\E[1;%p1%dH\E[2K, use=aaa+unk,
+aaa-30-s-rv|aaa-s-rv|Ann Arbor Ambassador/30 lines+status+reverse video,
+	use=aaa+rv, use=aaa-30-s,
+aaa-s-ctxt|aaa-30-s-ctxt|Ann Arbor Ambassador/30 lines+status+save context,
+	rmcup=\E[60;1;0;30p\E[59;1H\E[K,
+	smcup=\E[30;1H\E[K\E[30;1;0;30p, use=aaa-30-s,
+aaa-s-rv-ctxt|aaa-30-s-rv-ct|Ann Arbor Ambassador/30 lines+status+save context+reverse video,
+	rmcup=\E[60;1;0;30p\E[59;1H\E[K,
+	smcup=\E[30;1H\E[K\E[30;1;0;30p, use=aaa-30-s-rv,
+aaa|aaa-30|ambas|ambassador|Ann Arbor Ambassador/30 lines,
+	lines#30,
+	is2=\E7\E[60;0;0;30p\E8,
+	rmcup=\E[60;0;0;30p\E[30;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[30;0;0;30p, use=aaa+unk,
+aaa-30-rv|aaa-rv|Ann Arbor Ambassador/30 lines in reverse video,
+	use=aaa+rv, use=aaa-30,
+aaa-30-ctxt|aaa-ctxt|Ann Arbor Ambassador/30 lines; saving context,
+	rmcup=\E[60;0;0;30p\E[60;1H\E[K, smcup=\E[30;0;0;30p,
+	use=aaa-30,
+aaa-30-rv-ctxt|aaa-rv-ctxt|Ann Arbor Ambassador/30 lines reverse video; saving context,
+	rmcup=\E[60;0;0;30p\E[60;1H\E[K, smcup=\E[30;0;0;30p,
+	use=aaa+rv, use=aaa-30,
+aaa-36|Ann Arbor Ambassador/36 lines,
+	lines#36,
+	is2=\E7\E[60;0;0;36p\E8,
+	rmcup=\E[60;0;0;36p\E[36;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[36;0;0;36p, use=aaa+unk,
+aaa-36-rv|Ann Arbor Ambassador/36 lines+reverse video,
+	use=aaa+rv, use=aaa-36,
+aaa-40|Ann Arbor Ambassador/40 lines,
+	lines#40,
+	is2=\E7\E[60;0;0;40p\E8,
+	rmcup=\E[60;0;0;40p\E[40;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[40;0;0;40p, use=aaa+unk,
+aaa-40-rv|Ann Arbor Ambassador/40 lines+reverse video,
+	use=aaa+rv, use=aaa-40,
+aaa-48|Ann Arbor Ambassador/48 lines,
+	lines#48,
+	is2=\E7\E[60;0;0;48p\E8,
+	rmcup=\E[60;0;0;48p\E[48;1H\E[K,
+	smcup=\E[H\E[J$<156>\E[48;0;0;48p, use=aaa+unk,
+aaa-48-rv|Ann Arbor Ambassador/48 lines+reverse video,
+	use=aaa+rv, use=aaa-48,
+aaa-60-s|Ann Arbor Ambassador/59 lines+status,
+	eslok, hs,
+	lines#59,
+	dsl=\E7\E[60;0;0;60p\E[1;1H\E[K\E[H\E8\r\n\E[K,
+	fsl=\E[>51l, is2=\r\n\E[A\E7\E[60;1;0;60p\E8,
+	tsl=\E[>51h\E[1;%p1%dH\E[2K, use=aaa+unk,
+aaa-60-s-rv|Ann Arbor Ambassador/59 lines+status+reverse video,
+	use=aaa+rv, use=aaa-60-s,
+aaa-60-dec-rv|Ann Arbor Ambassador/DEC mode+59 lines+status+rev video,
+	use=aaa+dec, use=aaa+rv, use=aaa-60-s,
+aaa-60|Ann Arbor Ambassador/60 lines,
+	lines#60,
+	is2=\E7\E[60;0;0;60p\E[1Q\E[m\E[>20;30l\E8,
+	use=aaa+unk,
+aaa-60-rv|Ann Arbor Ambassador/60 lines+reverse video,
+	use=aaa+rv, use=aaa-60,
+aaa-db|Ann Arbor Ambassador 30/destructive backspace,
+	OTbs@,
+	cub1=\E[D, is3=\E[1Q\E[m\E[>20l\E[>30h, use=aaa-30,
+
+guru|guru-33|guru+unk|Ann Arbor guru/33 lines 80 cols,
+	lines#33,
+	flash=\E[>59h$<100>\E[>59l,
+	is2=\E7\E[255;0;0;33;80;80p\E8\E[J, is3=\E[>59l,
+	rmcup=\E[255p\E[255;1H\E[K, smcup=\E[33p, use=aaa+unk,
+guru+rv|guru changes for reverse video,
+	flash=\E[>59l$<100>\E[>59h, is3=\E[>59h,
+guru-rv|guru-33-rv|Ann Arbor guru/33 lines+reverse video,
+	use=guru+rv, use=guru-33,
+guru+s|guru status line,
+	eslok, hs,
+	dsl=\E7\E[;0p\E[1;1H\E[K\E[H\E8\r\n\E[K, fsl=\E[>51l,
+	rmcup=\E[255;1p\E[255;1H\E[K, smcup=,
+	tsl=\E[>51h\E[1;%p1%dH\E[2K,
+guru-nctxt|guru with no saved context,
+	smcup=\E[H\E[J$<156>\E[33p\E[255;1H\E[K, use=guru,
+guru-s|guru-33-s|Ann Arbor guru/33 lines+status,
+	lines#32,
+	is2=\r\n\E[A\E7\E[255;1;0;33;80;80p\E8\E[J,
+	smcup=\E[33;1p\E[255;1H\E[K, use=guru+s, use=guru+unk,
+guru-24|Ann Arbor guru 24 lines,
+	cols#80, lines#24,
+	is2=\E7\E[255;0;0;24;80;80p\E8\E[J, smcup=\E[24p,
+	use=guru+unk,
+guru-44|Ann Arbor guru 44 lines,
+	cols#97, lines#44,
+	is2=\E7\E[255;0;0;44;97;100p\E8\E[J, smcup=\E[44p,
+	use=guru+unk,
+guru-44-s|Ann Arbor guru/44 lines+status,
+	lines#43,
+	is2=\r\n\E[A\E7\E[255;1;0;44;80;80p\E8\E[J,
+	smcup=\E[44;1p\E[255;1H\E[K, use=guru+s, use=guru+unk,
+guru-76|guru with 76 lines by 89 cols,
+	cols#89, lines#76,
+	is2=\E7\E[255;0;0;76;89;100p\E8\E[J, smcup=\E[76p,
+	use=guru+unk,
+guru-76-s|Ann Arbor guru/76 lines+status,
+	cols#89, lines#75,
+	is2=\r\n\E[A\E7\E[255;1;0;76;89;100p\E8\E[J,
+	smcup=\E[76;1p\E[255;1H\E[K, use=guru+s, use=guru+unk,
+guru-76-lp|guru-lp|guru with page bigger than line printer,
+	cols#134, lines#76,
+	is2=\E7\E[255;0;0;76;134;134p\E8\E[J, smcup=\E[76p,
+	use=guru+unk,
+guru-76-w|guru 76 lines by 178 cols,
+	cols#178, lines#76,
+	is2=\E7\E[255;0;0;76;178;178p\E8\E[J, smcup=\E[76p,
+	use=guru+unk,
+guru-76-w-s|Ann Arbor guru/76 lines+status+wide,
+	cols#178, lines#75,
+	is2=\r\n\E[A\E7\E[255;1;0;76;178;178p\E8\E[J,
+	smcup=\E[76;1p\E[255;1H\E[K, use=guru+s, use=guru+unk,
+guru-76-wm|guru 76 lines by 178 cols with 255 cols memory,
+	cols#178, lines#76,
+	is2=\E7\E[255;0;0;76;178;255p\E8\E[J, smcup=\E[76p,
+	use=guru+unk,
+aaa-rv-unk|Ann Arbor unknown type,
+	lh#0, lw#0, nlab#0,
+	blink=\E[5;7m, bold=\E[1;7m, home=\E[H, invis=\E[7;8m,
+	is1=\E[7m\E7\E[H\E9\E8, rev=\E[m, rmso=\E[7m, rmul=\E[7m,
+	rs1=\E[H\E[7m\E[J,
+	sgr=\E[%?%p6%t1;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p1%!%t
+	    7;%;%?%p7%t8;%;m,
+	sgr0=\E[7m, smso=\E[m, smul=\E[4;7m,
+
+#### Applied Digital Data Systems (adds)
+#
+# ADDS itself is long gone.  ADDS was bought by NCR, and the same group made
+# ADDS and NCR terminals.  When AT&T and NCR merged, the engineering for
+# terminals was merged again.  Then AT&T sold the terminal business to
+# SunRiver, which later changed its  name to Boundless Technologies.  The
+# engineers from Teletype, AT&T terminals, ADDS, and NCR (who are still there
+# as of early 1995) are at:
+#
+#	Boundless Technologies
+#	100 Marcus Boulevard
+#	Hauppauge, NY 11788-3762
+#	Vox: (800)-231-5445
+#	Fax: (516)-342-7378
+#	Web: http://boundless.com
+#
+# Their voice mail used to describe the place as "SunRiver (formerly ADDS)".
+# In 1995 Boundless acquired DEC's terminals business.
+#
+
+# Regent: lowest common denominator, works on all regents.
+# (regent: renamed ":bc:" to ":le:" -- esr)
+regent|ADDS Regent Series,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^U, cud1=\n, cuf1=^F, cuu1=^Z,
+	home=\EY\s\s, ind=\n, ll=^A,
+# Regent 100 has a bug where if computer sends escape when user is holding
+# down shift key it gets confused, so we avoid escape.
+regent100|ADDS Regent 100,
+	xmc#1,
+	bel=^G,
+	cup=\013%p1%'\s'%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%c,
+	kf0=^B1\r, kf1=^B2\r, kf2=^B3\r, kf3=^B4\r, kf4=^B5\r,
+	kf5=^B6\r, kf6=^B7\r, kf7=^B8\r, lf0=F1, lf1=F2, lf2=F3,
+	lf3=F4, lf4=F5, lf5=F6, lf6=F7, lf7=F8, rmso=\E0@, rmul=\E0@,
+	sgr0=\E0@, smso=\E0P, smul=\E0`, use=regent,
+regent20|ADDS Regent 20,
+	bel=^G, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, ed=\Ek, el=\EK,
+	use=regent,
+regent25|ADDS Regent 25,
+	bel=^G, kcub1=^U, kcud1=\n, kcuf1=^F, kcuu1=^Z, khome=^A,
+	use=regent20,
+regent40|ADDS Regent 40,
+	xmc#1,
+	bel=^G, dl1=\El$<2*>, il1=\EM$<2*>, kf1=^B1\r, kf2=^B2\r,
+	kf3=^B3\r, kf4=^B4\r, kf5=^B5\r, kf6=^B6\r, kf7=^B7\r,
+	kf8=^B8\r, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, lf5=F6,
+	lf6=F7, lf7=F8, rmso=\E0@, rmul=\E0@, sgr0=\E0@, smso=\E0P,
+	smul=\E0`, use=regent25,
+regent40+|ADDS Regent 40+,
+	is2=\EB, use=regent40,
+# It uses a different code for mapping acs vs dim/blink.
+regent60|regent200|adds200|ADDS Regent 60,
+	acsc=jLkDl@mHnhq`tXuTv\\wPxd, dch1=\EE, ed=\Ek,
+	is2=\EV\EB, kbs=^H, kcbt=\EO, kdch1=\EE, kich1=\EF,
+	krmir=\EF, rmacs=\E2, rmir=\EF, rmso=\ER\E0@\EV, smacs=\E1,
+	smir=\EF, smso=\ER\E0P\EV, kF1=^B!\r, kF2=^B"\r, kF3=^B#\r,
+	kF4=^B$\r, kF5=^B%\r, kF6=^B&\r, kF7=^B'\r, kF8=^B(\r,
+	use=regent40+,
+# From: <edward@onyx.berkeley.edu> Thu Jul  9 09:27:33 1981
+# (viewpoint: added <kcuf1>, function key, and <dl1> capabilities -- esr)
+viewpoint|addsviewpoint|ADDS Viewpoint,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cnorm=\017\E0`, cr=\r, cub1=^H, cud1=\n,
+	cuf1=^F, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z,
+	cvvis=\017\E0P, dl1=\El, ed=\Ek$<16.1*>, el=\EK$<16>,
+	ind=\n, is2=\017\E0`, kcub1=^U, kcud1=\n, kcuf1=^F, kcuu1=^Z,
+	kf0=^B1, kf2=^B2, kf3=^B!, kf4=^B", kf5=^B#, khome=^A, ll=^A,
+	rmso=^O, rmul=^O, sgr0=^O, smso=^N, smul=^N,
+# Some viewpoints have bad ROMs that foo up on ^O
+screwpoint|ADDS Viewpoint with ^O bug,
+	cvvis@, rmso@, rmul@, smso@, smul@, use=viewpoint,
+
+# From: Jay S. Rouman <jsr@dexter.mi.org> 5 Jul 92
+# The <civis>/<cnorm>/<sgr>/<sgr0> strings were added by ESR from specs.
+# Theory; the vp3a+ wants \E0%c to set highlights, where normal=01000000,
+# underline=01100000, rev=01010000, blink=01000010,dim=01000001,
+# invis=01000100 and %c is the logical or of desired attributes.
+# There is also a `tag bit' enabling attributes, set by \E) and unset by \E(.
+#
+# Update by TD - 2004:
+# Adapted from
+#	https://web.archive.org/web/19990922005103/http://www.cs.utk.edu/~shuford/terminal/adds_viewpoint_news.txt
+#
+# COMMANDS                        ASCII CODE
+#
+# Address, Absolute               ESC,=,row,column
+# Beep                            BEL
+# Aux Port Enable                 ESC,@
+# Aux Port Disable                ESC,A
+# Backspace                       BS
+# Cursor back                     BS
+# Cursor down                     LF
+# Cursor forward                  FF
+# Cursor home                     RS
+# Cursor up                       VT
+# Cursor suppress                 ETB
+# Cursor enable                   CAN
+# Erase to end of line            ESC,T
+# Erase to end of page            ESC,Y
+# Erase screen                    SUB
+# Keyboard lock                   SI
+# Keyboard unlock                 SO
+# Read current cursor position    ESC,?
+# Set Attribute                   ESC,0,x  (see below for values of x)
+# Tag bit reset                   ESC,(
+# Tag bit set                     ESC,)
+# Transparent Print on            ESC,3
+# Transparent Print off           ESC,4
+#
+#
+# ATTRIBUTES
+#
+# Normal                          @	0100
+# Half Intensity                  A	0101
+# Blinking                        B	0102
+# Half Intensity Blinking         C	0103
+# Reverse Video                   P	0120
+# Reverse Video Half Intensity    Q	0121
+# Reverse Video Blinking          R	0122
+# Reverse Video Half Intensity
+#    Blinking                     S	0123
+# Underlined                      `	0140
+# Underlined Half Intensity       a	0141
+# Underlined Blinking             b	0142
+# Underlined Half Intensity
+#    Blinking                     c	0143
+# Video suppress                  D	0104
+vp3a+|viewpoint3a+|ADDS Viewpoint 3a+,
+	am, bw,
+	cols#80, it#8, lines#24,
+	blink=\E0B\E), civis=^W, clear=\E*$<80>, cnorm=^X, cr=\r,
+	cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dim=\E0A\E),
+	ed=\EY$<80>, el=\ET, home=^^, ht=^I, ind=\n, invis=\E0D\E),
+	kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, khome=^^,
+	nel=\r\n, rev=\E0P\E), rmso=\E(,
+	sgr=%?%p1%p2%|%p3%|%p4%|%p5%|%p7%|%t\E0%{64}%?%p1%t%{17}%|%;
+	    %?%p2%t%{32}%|%;%?%p3%t%{16}%|%;%?%p4%t%{2}%|%;%?%p5%t
+	    %{1}%|%;%c%?%p7%tD%;\E)%e\E(%;,
+	sgr0=\E(, smso=\E0Q\E), smul=\E0`\E),
+vp60|viewpoint60|addsvp60|ADDS Viewpoint60,
+	use=regent40,
+#
+# adds viewpoint 90 - from cornell
+# Note:  emacs sends ei occasionally to insure the terminal is out of
+#        insert mode. This unfortunately puts the viewpoint90 IN insert
+#        mode.  A hack to get around this is <ich1=\EF\s\EF^U>.  (Also,
+#   -    :ei=:im=: must be present in the termcap translation.)
+#   -    <xhp> indicates glitch that attributes stick to location
+#   -    <msgr> means it's safe to move in standout mode
+#   -    <clear=\EG\Ek>: clears screen and visual attributes without affecting
+#               the status line
+# Function key and label capabilities merged in from SCO.
+vp90|viewpoint90|ADDS Viewpoint 90,
+	OTbs, bw, msgr, xhp,
+	cols#80, lines#24,
+	clear=\EG\Ek, cub1=^H, cud1=\n, cuf1=^F,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dch1=\EE,
+	dl1=\El, ed=\Ek, el=\EK, home=\EY\s\s, ht=^I,
+	ich1=\EF \EF\025, ind=\n, kbs=^H, kcub1=^U, kcud1=\n,
+	kcuf1=^F, kcuu1=^Z, kf0=^B1\r, kf1=^B2\r, kf10=^B;\r,
+	kf2=^B3\r, kf3=^B4\r, kf4=^B5\r, kf5=^B6\r, kf6=^B7\r,
+	kf7=^B8\r, kf8=^B9\r, kf9=^B:\r, khome=^A, lf0=F1, lf1=F2,
+	lf10=F11, lf2=F3, lf3=F4, lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9,
+	lf9=F10, ll=^A, rmso=\ER\E0@\EV, rmul=\ER\E0@\EV,
+	sgr0=\ER\E0@\EV, smso=\ER\E0Q\EV, smul=\ER\E0`\EV,
+# Note: if return acts weird on a980, check internal switch #2
+# on the top chip on the CONTROL pc board.
+adds980|a980|ADDS Consul 980,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<1>\013@, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\E^E01, cup=\013%p1%{64}%+%c\E\005%p2%2d,
+	dl1=\E\017$<13>, il1=\E\016$<13>, ind=\n, kf0=\E0, kf1=\E1,
+	kf2=\E2, kf3=\E3, kf4=\E4, kf5=\E5, kf6=\E6, kf7=\E7, kf8=\E8,
+	kf9=\E9, rmso=^O, sgr0=^O, smso=^Y^^^N,
+
+#### C. Itoh Electronics
+#
+# As of 1995 these people no longer make terminals (they're still in the
+# printer business).  Their terminals were all clones of the DEC VT series.
+# They're located in Orange County, CA.
+#
+
+# CIT 80  - vt-52 emulator, the termcap has been modified to remove
+#           the delay times and do an auto tab set rather than the indirect
+#           file used in vt100.
+cit80|cit-80|citoh 80,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=\E[H\EJ, cr=\r, cub1=^H, cup=\E[%i%p1%2d;%p2%2dH,
+	ed=\EJ, el=\EK, ff=^L, ind=\n, is2=\E>, kcub1=\EOD, kcud1=\EOB,
+	kcuf1=\EOC, kcuu1=\EOA, rmkx=\E[?1l\E>, smkx=\E[?1h\E=,
+	use=ansi+local1,
+
+# From: Tim Wood <mtxinu!sybase!tim> Fri Sep 27 09:39:12 PDT 1985
+# (cit101: added <rmam>/<smam> based on init string, merged this with c101 -- esr)
+cit101|citc|C. Itoh fast VT100,
+	OTbs, am, xenl,
+	cols#80, lines#24,
+	bel=^G, clear=\E[H\E[2J, cnorm=\E[V\E8, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, cvvis=\E7\E[U, dch1=\E[P,
+	dl1=\E[M, ed=\E[J, el=\E[K, flash=\E[?5h$<200/>\E[?5l,
+	ich1=\E[@, il1=\E[L,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[3g\E[>5g,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m,
+	smul=\E[4m, use=ansi+local1,
+
+# CIE Terminals CIT-101e from Geoff Kuenning <callan!geoff> via BRL
+# The following termcap entry was created from the Callan cd100 entry.  The
+# last two lines (with the capabilities in caps) are used by RM-cobol to allow
+# full selection of combinations of reverse video, underline, and blink.
+# (cit101e: removed unknown :f0=\EOp:f1=\EOq:f2=\EOr:f3=\EOs:f4=\EOt:f5=\EOu:\
+# f6=\EOv:f7=\EOw:f8=\EOx:f9=\EOy:AB=\E[0;5m:AL=\E[m:AR=\E[0;7m:AS=\E[0;5;7m:\
+# :NB=\E[0;1;5m:NM=\E[0;1m:NR=\E[0;1;7m:NS=\E[0;1;5;7m: -- esr)
+cit101e|C. Itoh CIT-101e,
+	OTbs, OTpt, am, mir, msgr,
+	cols#80, it#8, lines#24,
+	acsc=, cnorm=, csr=\E[%i%p1%2d;%p2%2dr,
+	cup=\E[%i%p1%2d;%p2%2dH, cvvis=\E[?1l\E[?4l\E[?7h,
+	dch1=\E[P, dl1=\E[M, if=/usr/share/tabset/vt100,
+	il1=\E[L, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf0=\EOT, kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOm,
+	kf6=\EOl, kf7=\EOM, kf8=\EOn, rc=\E8, ri=\EM, rmacs=^O,
+	rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m, sc=\E7, smacs=^N,
+	smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m,
+	use=ansi+erase, use=ansi+local1,
+
+# From: David S. Lawyer, June 1997:
+# The CIT 101-e was made in Japan in 1983-4 and imported by CIE
+# Terminals in Irvine, CA.  It was part of CITOH Electronics.  In the
+# late 1980's CIT Terminals went out of business.
+# There is no need to use the initialization string is=... (by invoking
+# tset or setterm etc.) provided that the terminal has been manually set
+# up (and the setup saved with ^S) to be compatible with this termcap.  To be
+# compatible it should be in ANSI mode (not VT52).   A set-up that
+# works is to set all the manually settable stuff to factory defaults
+# by pressing ^D in set-up mode.  Then increase the brightness with the
+# up-arrow key since the factory default will likely be dim on an old
+# terminal.  Then change any options you want (provided that they are
+# compatible with the termcap).  For my terminal I set: Screen
+# Background: light; Keyclicks: silent; Auto wraparound: on; CRT saver:
+# on.  I also set up mine for parity (but you may not need it).  Then
+# save the setup with ^S.
+# (cit101e-rv: added empty <rmcup> to suppress a tic warning. --esr)
+cit101e-rv|C. Itoh CIT-101e (sets reverse video),
+	am, eo, mir, msgr, xenl, xon,
+	cols#80, lines#24,
+	OTnl=\EM, bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[1v,
+	cnorm=\E[0;3;4v, cr=\r, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+	cvvis=\E[3;5v, flash=\E[?5l$<200/>\E[?5h, home=\E[H,
+	hpa=\E[%i%p1%dG, ind=\n,
+	is2=\E<\E>\E[?1l\E[?3l\E[?4l\E[?5h\E[?7h\E[?8h\E[3g\E[>5g\E(
+	    B\E[m\E[20l\E[1;24r\E[24;1H,
+	kbs=^?, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\EE, rev=\E[7m,
+	ri=\EM, rmcup=, rmso=\E[m, rmul=\E[m, rs1=\Ec\E[?7h\E[>5g,
+	sgr0=\E[m, smcup=\E[>5g\E[?7h\E[?5h, smso=\E[7m,
+	smul=\E[4m, u6=\E[%i%p1%d;%p2%dR, u8=\E[?6c,
+	use=ansi+enq, use=ansi+csr, use=ansi+erase, use=ansi+idc,
+	use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+	use=ecma+index,
+
+cit101e-n|CIT-101e w/o am,
+	am@,
+	cvvis=\E[?1l\E[?4l\E[?7l, kbs=^H, kcub1=^H, kcud1=\n,
+	use=cit101e,
+cit101e-132|CIT-101e with 132 cols,
+	cols#132,
+	kbs=^H, kcub1=^H, kcud1=\n, use=cit101e,
+cit101e-n132|CIT-101e with 132 cols w/o am,
+	am@,
+	cols#132,
+	cvvis=\E[?1l\E[?4l\E[?7l, kbs=^H, kcub1=^H, kcud1=\n,
+	use=cit101e,
+# CIE Terminals CIT-500 from BRL
+# The following SET-UP modes are assumed for normal operation:
+#	GENERATE_XON/XOFF:YES	DUPLEX:FULL		NEWLINE:OFF
+#	AUTOWRAP:ON		MODE:ANSI		SCREEN_LENGTH:64_LINES
+#	DSPLY_CNTRL_CODES?NO	PAGE_WIDTH:80		EDIT_MODE:OFF
+# Other SET-UP modes may be set for operator convenience or communication
+# requirements.
+# Hardware tabs are assumed to be set every 8 columns; they can be set up
+# by the "reset", "tset", or "tabs" utilities.  No delays are specified; use
+# "stty ixon -ixany" to enable DC3/DC1 flow control!
+# (cit500: I added <rmam>/<smam> based on the init string -- esr)
+cit500|CIE Terminals CIT-500,
+	OTbs, OTpt, mir, msgr, xon,
+	OTkn#10, cols#80, lines#64, vt#3,
+	acsc=, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[J,
+	cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM,
+	dch1=\E[P, ed=\EJ, el=\EK, home=\E[H, ind=\n, is2=\E<\E)0,
+	kcbt=\E[Z, kdch1=\E[P, kdl1=\E[M, ked=\EJ, kel=\EK, kf0=\EOP,
+	kf1=\EOQ, kf2=\EOR, kf3=\EOS, kf4=\EOU, kf5=\EOV, kf6=\EOW,
+	kf7=\EOX, kf8=\EOY, kf9=\EOZ, khome=\E[H, kich1=\E[4h,
+	kil1=\E[L, krmir=\E[4l, lf0=PF1, lf1=PF2, lf2=PF3, lf3=PF4,
+	lf4=F15, lf5=F16, lf6=F17, lf7=F18, lf8=F19, lf9=F20,
+	ll=\E[64H, nel=\EE, rev=\E[7m, ri=\EM, rmacs=^O, rmam=\E[?7l,
+	rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs1=\E<\E2\E[20l\E[?6l\E[r\E[m\E[q\E(B\017\E)0\E>,
+	sgr0=\E[m, smacs=^N, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	use=ansi+apparrows, use=ansi+csr, use=ansi+idl,
+	use=ansi+inittabs, use=ansi+local,
+
+# C. Itoh printers begin here
+citoh|ci8510|8510|C. Itoh 8510a,
+	cols#80, it#8,
+	bold=\E!, cub1@,
+	is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073.,
+	rep=\ER%p2%03d%p1%c, ri=\Er, rmul=\EY, sgr0=\E"\EY,
+	smul=\EX, use=lpr,
+citoh-pica|citoh in pica,
+	is1=\EN, use=citoh,
+citoh-elite|citoh in elite,
+	cols#96,
+	is1=\EE,
+	is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073\,081\,089
+	    .,
+	use=citoh,
+citoh-comp|citoh in compressed,
+	cols#136,
+	is1=\EQ,
+	is2=\E(009\,017\,025\,033\,041\,049\,057\,065\,073\,081\,089
+	    \,097\,105\,113\,121\,129.,
+	use=citoh,
+# citoh has infinite cols because we don't want lp ever inserting \n\t**.
+citoh-prop|citoh-ps|ips|citoh in proportional spacing mode,
+	cols#0x7fff,
+	is1=\EP, use=citoh,
+citoh-6lpi|citoh in 6 lines per inch mode,
+	is3=\EA, use=citoh,
+citoh-8lpi|citoh in 8 lines per inch mode,
+	lines#88,
+	is3=\EB, use=citoh,
+
+#### Control Data (cdc)
+#
+
+cdc456|CDC 456 terminal,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^Y^X, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E1%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dl1=\EJ, ed=^X,
+	el=^V, home=^Y, il1=\EL, ind=\n,
+
+# Assorted CDC terminals from BRL (improvements by DAG & Ferd Brundick)
+cdc721|CDC Viking,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=^L, cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c,
+	cuu1=^W, el=^K, home=^Y, kcub1=^H, kcud1=\n, kcuf1=^I,
+	kcuu1=^W, khome=^Y,
+cdc721ll|CDC Viking with long lines,
+	OTbs, am,
+	cols#132, lines#24,
+	clear=^L, cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c,
+	cuu1=^W, el=^K, home=^Y, kcub1=^H, kcud1=\n, kcuf1=^I,
+	kcuu1=^W, khome=^Y,
+# (cdc752: the BRL entry had :ll=\E1  ^Z: commented out
+cdc752|CDC 752,
+	OTbs, am, bw, xhp,
+	cols#80, lines#24,
+	bel=^G, clear=\030\E1\s\s, cr=\r, cub1=^H, cud1=\n, cuf1=^U,
+	cup=\E1%p2%{32}%+%c%p1%{32}%+%c, cuu1=^Z, el=^V,
+	home=\E1\s\s, ind=\n, ll=^Y, rs1=\E1  \030\002\003\017,
+# CDC 756
+# The following switch/key settings are assumed for normal operation:
+#	96 chars	SCROLL		FULL duplex	not BLOCK
+# Other switches may be set according to communication requirements.
+# Insert/delete-character cannot be used, as the whole display is affected.
+# "so" & "se" are commented out until jove handles "sg" correctly.
+cdc756|CDC 756,
+	OTbs, am, bw,
+	OTkn#10, cols#80, lines#24,
+	bel=^G, clear=^Y^X, cr=\r, cub1=^H, cud1=\n, cuf1=^U,
+	cup=\E1%p2%{32}%+%c%p1%{32}%+%c, cuu1=^Z,
+	dl1=\EJ$<6*/>, ed=^X, el=^V, home=^Y, il1=\EL$<6*/>, ind=\n,
+	kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^U, kcuu1=^Z, kdch1=\EI,
+	kdl1=\EL, ked=^X, kel=^V, kf0=\EA, kf1=\EB, kf2=\EC, kf3=\ED,
+	kf4=\EE, kf5=\EF, kf6=\EG, kf7=\EH, kf8=\Ea, kf9=\Eb, khome=^Y,
+	khts=^O, kich1=\EK, kil1=\EL, lf0=F1, lf1=F2, lf2=F3, lf3=F4,
+	lf4=F5, lf5=F6, lf6=F7, lf7=F8, lf8=F9, lf9=F10, ll=^Y^Z,
+	rs1=^Y^X^B^C^O,
+#
+# CDC 721 from Robert Viduya, Ga. Tech. <ihnp4!gatech!gitpyr!robert> via BRL.
+#
+# Part of the long initialization string defines the "DOWN" key to the left
+# of the tab key to send an ESC.  The real ESC key is positioned way out
+# in right field.
+#
+# The termcap won't work in 132 column mode due to the way it it moves the
+# cursor.  Termcap doesn't have the capability (as far as I could tell) to
+# handle the 721 in 132 column mode.
+#
+# (cdc721: changed :ri: to :sr: -- esr)
+cdc721-esc|Control Data 721,
+	OTbs, OTpt, am, bw, msgr, xon,
+	OTkn#10, cols#80, it#8, lines#30,
+	bel=^G, blink=^N, cbt=^^^K, clear=^L, cub1=^H, cud1=^Z,
+	cuf1=^X, cup=\002%p2%{32}%+%c%p1%{32}%+%c, cuu1=^W,
+	dch1=^^N, dim=^\, dl1=^^Q, ed=^^P, el=^K, home=^Y, hts=^^^RW,
+	ich1=^^O, il1=^^R, ind=\036W =\036U, invis=^^^R[,
+	is2=\036\022B\003\036\035\017\022\025\035\036E\036\022H\036
+	    \022J\036\022L\036\022N\036\022P\036\022Q\036\022\036
+	    \022\^\036\022b\036\022i\036W\s=\036\022Z\036\011C1-`\s`
+	    !k/o,
+	kbs=^H, kcub1=^H, kcud1=^Z, kcuf1=^X, kcuu1=^W, kf0=^^q,
+	kf1=^^r, kf2=^^s, kf3=^^t, kf4=^^u, kf5=^^v, kf6=^^w, kf7=^^x,
+	kf8=^^y, kf9=^^z, khome=^Y, ll=^B =, rev=^^D,
+	ri=\036W =\036V, rmir=, rmkx=^^^Rl, rmso=^^E, rmul=^],
+	sgr0=^O^U^]^^E^^^R\\, smir=, smkx=^^^Rk, smso=^^D, smul=^\,
+	tbc=^^^RY,
+
+#### Getronics
+#
+# Getronics is a Dutch electronics company that at one time was called
+# `Geveke' and made async terminals; but (according to the company itself!)
+# they've lost all their documentation on the command set.  The hardware
+# documentation suggests the terminals were actually manufactured by a
+# Taiwanese electronics company named Cal-Comp.  There are known
+# to have been at least two models, the 33 and the 50.
+#
+
+# The 50 seems to be a top end VT220 clone, with the addition of a higher
+# screen resolution, a larger screen, at least 1 page of memory above and
+# below the screen, apparently pages of memory right and left of the screen
+# which can be panned, and about 75 function keys (15 function keys x normal,
+# shift, control, func A, func B). It also has more setup possibilities than
+# the VT220. The monitor case is dated November 1978 and the keyboard case is
+# May 1982.
+#
+# The VT100 emulation works as is.  The entry below describes the rather
+# non-conformant (but more featureful) ANSI mode.
+#
+# From: Stephen Peterson <stv@utrecht.ow.nl>, 27 May 1995
+visa50|Geveke VISA 50 terminal in ANSI 80 character mode,
+	bw, mir, msgr,
+	cols#80, lines#25,
+	acsc=0_aaffggh jjkkllmmnnooqqssttuuvvwwxx, bel=^G,
+	blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[2J, cr=\r,
+	csr=\E[%i%p1%d;%p2%dr, cup=\E[%i%p1%d;%p2%dH,
+	dch=\E[%p1%dX, dch1=\E[X, dim=\E[2m, ed=\E[J, el=\E[K,
+	flash=\E[?5h$<100/>\E[?5l, home=\E[H, hpa=\E[%i%p1%dG,
+	ht=^I, ind=\n, invis=\E[8m,
+	is2=\E0;2m\E[1;25r\E[25;1H\E[?3l\E[?7h\E[?8h,
+	ka1=\E[f, ka3=\EOQ, kb2=\EOP, kc1=\EOR, kc3=\EOS, kdch1=^?,
+	kdl1=\EOS, kf0=\E010, kf1=\E001, kf10=\E011, kf2=\E002,
+	kf3=\E003, kf4=\E004, kf5=\E005, kf6=\E006, kf7=\E007,
+	kf8=\E008, kf9=\E009, khome=\E[f, lf2=A delete char,
+	lf3=A insert line, lf4=A delete line, lf5=A clear,
+	lf6=A ce of/cf gn, lf7=A print, lf8=A on-line,
+	lf9=A funcl0=A send, nel=\r\n, rev=\E[7m, rmacs=\E[3l,
+	rmam=\E[?7l, rmkx=\E>, rmso=\E[0;2m, rmul=\E[0m,
+	sgr0=\E[0;2m, smacs=\E3h, smam=\E?7h, smkx=\E=,
+	smso=\E[2;7m, smul=\E[4m, tbc=\E[3g, vpa=\E[%i%p1%dd,
+	use=ansi+arrows, use=ansi+idc, use=ansi+idl,
+	use=ansi+local,
+
+#### Human Designed Systems (Concept)
+#
+#	Human Designed Systems
+#	400 Fehley Drive
+#	King of Prussia, PA 19406
+#	Vox: (610)-277-8300
+#	Fax: (610)-275-5739
+#	Net: support@hds.com
+#
+# John Martin <john@hds.com> is their termcap expert.  They're mostly out of
+# the character-terminal business now (1995) and making X terminals.  In
+# particular, the whole `Concept' line described here was discontinued long
+# ago.
+#
+
+# From: <vax135!hpk>  Sat Jun 27 07:41:20 1981
+# Extensive changes to c108 by arpavax:eric Feb 1982
+# Some unknown person at SCO then translated it to terminfo.
+#
+# There seem to be a number of different versions of the C108 PROMS
+# (with bug fixes in its Z-80 program).
+#
+# The first one that we had would lock out the keyboard of you
+# sent lots of short lines (like /usr/dict/words) at 9600 baud.
+# Try that on your C108 and see if it sends a ^S when you type it.
+# If so, you have an old version of the PROMs.
+#
+# You should configure the C108 to send ^S/^Q before running this.
+# It is much faster (at 9600 baud) than the c100 because the delays
+# are not fixed.
+# new status line display entries for c108-8p:
+# <is3> - init str #3 - setup term for status display -
+# set programmer mode, select window 2, define window at last
+# line of memory, set bkgnd stat mesg there, select window 0.
+#
+# <tsl> - to status line - select window 2, home cursor, erase to
+# end-of-window, 1/2 bright on, goto(line#0, col#?)
+#
+# <fsl> - from status line - 1/2 bright off, select window 0
+#
+# <dsl> - disable status display - set bkgnd status mesg with
+# illegal window #
+#
+# There are probably more function keys that should be added but
+# I don't know what they are.
+#
+# No delays needed on c108 because of ^S/^Q handshaking
+#
+c108|concept108|c108-8p|concept108-8p|Concept 108 w/8 pages,
+	is3=\EU\E\sz"\Ev\001\177\s!p\E\s;"\E\sz\s\Ev\s\s\001\177p
+	    \Ep\n,
+	rmcup=\Ev  \001\177p\Ep\r\n, use=c108-4p,
+c108-4p|concept108-4p|Concept 108 w/4 pages,
+	eslok, hs, xon,
+	pb@,
+	acsc=jEkTl\\mMqLxU, cnorm=\Ew, cr=\r,
+	cup=\Ea%p1%?%p1%{95}%>%t\001%{96}%-%;%{32}%+%c%p2%?%p2%{95}
+	    %>%t\001%{96}%-%;%{32}%+%c,
+	cvvis=\EW, dch1=\E 1$<16*>, dsl=\E ;\177, fsl=\Ee\E z\s,
+	is1=\EK\E!\E F,
+	is3=\EU\E z"\Ev\177 !p\E ;"\E z \Ev  \001 p\Ep\n,
+	rmacs=\Ej\s, rmcup=\Ev  \001 p\Ep\r\n, smacs=\Ej!,
+	smcup=\EU\Ev  8p\Ep\r\E\025,
+	tsl=\E z"\E?\E\005\EE\Ea %+\s, use=c100,
+c108-rv|c108-rv-8p|Concept 108 w/8 pages in reverse video,
+	rmcup=\Ev  \002 p\Ep\r\n, smcup=\EU\Ev  8p\Ep\r,
+	use=c108-rv-4p,
+c108-rv-4p|concept108rv4p|Concept 108 w/4 pages in reverse video,
+	flash=\EK$<200>\Ek, is1=\Ek, rmso=\Ee, smso=\EE,
+	use=c108-4p,
+c108-w|c108-w-8p|concept108-w-8|concept108-w8p|Concept 108 w/8 pages in wide mode,
+	cols#132,
+	is1=\E F\E", rmcup=\Ev  ^A0\001D\Ep\r\n,
+	smcup=\EU\Ev  8\001D\Ep\r, use=c108-8p,
+
+# Concept 100:
+# These have only window relative cursor addressing, not screen
+# relative. To get it to work right here, smcup/rmcup (which
+# were invented for the concept) lock you into a one page
+# window for screen style programs.
+#
+# To get out of the one page window, we use a clever trick:
+# we set the window size to zero ("\Ev    " in rmcup) which the
+# terminal recognizes as an error and resets the window to all
+# of memory.
+#
+# This trick works on c100 but does not on c108, sigh.
+#
+# Some tty drivers use cr3 for concept, others use nl3, hence
+# the delays on cr and ind below. This padding is only needed at
+# 9600 baud and up.  One or the other is commented out depending on
+# local conventions.
+#
+# 2 ms padding on <rmcup> isn't always enough. 6 works fine. Maybe
+# less than 6 but more than 2 will work.
+#
+# Note: can't use function keys f7-f10 because they are
+# indistinguishable from arrow keys (!), also, del char and
+# clear eol use xon/xoff so they probably won't work very well.
+#
+# Also note that we don't define insrt/del char/delline/eop/send
+# because they don't transmit unless we reset them - I figured
+# it was a bad idea to clobber their definitions.
+#
+# The <mc5> sequence changes the escape character to ^^ so that
+# escapes will be passed through to the printer. Only trouble
+# is that ^^ won't be - ^^ was chosen to be unlikely.
+# Unfortunately, if you're sending raster bits through to be
+# plotted, any character you choose will be likely, so we lose.
+#
+# \EQ"\EY(^W (send anything from printer to host, for xon/xoff)
+# cannot be # in is2 because it will hang a c100 with no printer
+# if sent twice.
+c100|concept100|concept|c104|c100-4p|HDS Concept 100,
+	OTbs, am, eo, mir, ul, xenl,
+	cols#80, lines#24, pb#9600, vt#8,
+	bel=^G, blink=\EC, clear=\E?\E\005$<2*>, cr=$<9>\r,
+	cub1=^H, cud1=\n, cuf1=\E=,
+	cup=\Ea%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E;,
+	dch1=\E\021$<16*>, dim=\EE, dl1=\E\002$<3*>,
+	ed=\E\005$<16*>, el=\E\025$<16>, flash=\Ek$<200>\EK,
+	ht=\011$<8>, il1=\E\022$<3*>, ind=\n, invis=\EH, ip=$<16*>,
+	is1=\EK,
+	is2=\EU\Ef\E7\E5\E8\El\ENH\E\0\Eo&\0\Eo'\E\Eo!\0\E\007!\E
+	    \010A@\s\E4#:"\E:a\E4#;"\E:b\E4#<"\E:c,
+	is3=\Ev    $<6>\Ep\n, kbs=^H, kcbt=\E', kctab=\E_,
+	kcub1=\E>, kcud1=\E<, kcuf1=\E=, kcuu1=\E;, kdch1=\E^Q,
+	kdl1=\E^B, ked=\E^C, kel=\E^S, kf1=\E5, kf2=\E6, kf3=\E7,
+	kf4=\E8, kf5=\E9, kf6=\E:a, kf7=\E:b, kf8=\E:c, khome=\E?,
+	khts=\E], kich1=\E^P, kil1=\E^R, kind=\E[, knp=\E-, kpp=\E.,
+	kri=\E\\, krmir=\E\0, mc4=\036o \E\EQ!\EYP\027,
+	mc5=\EQ"\EY(\027\EYD\Eo \036, prot=\EI,
+	rep=\Er%p1%c%p2%{32}%+%c$<.2*>, rev=\ED,
+	rmcup=\Ev    $<6>\Ep\r\n, rmir=\E\s\s, rmkx=\Ex,
+	rmso=\Ed, rmul=\Eg, sgr0=\EN@,
+	smcup=\EU\Ev  8p\Ep\r\E\025$<16>, smir=\E^P, smkx=\EX,
+	smso=\ED, smul=\EG,
+c100-rv|c100-rv-4p|concept100-rv|Concept 100 reverse video,
+	cnorm@, cvvis@, flash=\EK$<200>\Ek, is1=\Ek, rmso=\Ee,
+	smso=\EE, use=c100,
+oc100|oconcept|c100-1p|old 1-page Concept 100,
+	in,
+	is3@, use=c100,
+
+# From: Walter Skorski <walt@genetics1.JMP.TJU.EDU>, 16-oct-1996.
+# Lots of notes, originally inline, but ncurses doesn't grok that.
+#
+# am:	not available in power on mode, but turned on with \E[=107;207h in
+#	is2=.  Also, \E=124l in is2= could have been used to prevent needing
+#	to specify xenl:, but that would have rendered the last space on the
+#	last line useless.
+# bw:	Not available in power on mode, but turned on with \E[=107;207h in
+#	is2=.
+# clear: Could be done with \E[2J alone, except that vi (and probably most
+#	other programs) assume that this also homes the cursor.
+# dsl:	Go to window 2, go to the beginning of the line, use a line feed to
+#	scroll the window, and go back to window 1.
+# is2:	the string may cause a warning to be issued by tic that it
+#	found a very long line and that it suspects that a comma is missing
+#	somewhere.  This warning can be ignored (unless it comes up more than
+#	once).  The initialization string contains the following commands:
+#
+#	 [Setup mode items changed from factory defaults:]
+#		\E)0			set alternate character set to
+#						graphics
+#		^O			set character set to default
+#	 [In case it wasn't]
+#		\E[m			turn off all attributes
+#	 [In case they weren't off]
+#		\E[=107;		cursor wrap and
+#			207h			character wrap on
+#		\E[90;3u		set Fkey definitions to "transmit"
+#						defaults
+#		\E[92;3u		set cursor key definitions to
+#						"transmit" defaults
+#		\E[43;1u		set shift F13 to transmit...
+#		\177\E$P\177
+#		\E[44;1u		set shift F14 to transmit...
+#			\177\E$Q\177
+#		\E[45;1u		set shift F15 to transmit...
+#			\177\E$R\177
+#		\E[46;1u		set shift F16 to transmit...
+#			\177\E$S\177
+#		\E[200;1u		set shift up to transmit...
+#			\177\E$A\177
+#		\E[201;1u		set shift down to transmit...
+#			\177\E$B\177
+#		\E[202;1u		set shift right to transmit...
+#			\177\E$C\177
+#		\E[203;1u		set shift left to transmit...
+#			\177\E$D\177
+#		\E[204;1u		set shift home to transmit...
+#			\177\E$H\177
+#		\E[212;1u		set backtab to transmit...
+#			\177\E$I\177
+#		\E[213;1u		set shift backspace to transmit...
+#			\177\E$^H\177
+#		\E[214;1u		set shift del to transmit...
+#			"\E$\177"
+#	 [Necessary items not mentioned in setup mode:]
+#		\E[2!w			move to window 2
+#		\E[25;25w		define window as line 25 of memory
+#		\E[!w			move to window 1
+#		\E[2*w			show current line of window 2 as
+#						status line
+#		\E[2+x			set meta key to use high bit
+#		\E[;3+}			move underline to bottom of character
+#
+#	All Fkeys are set to their default transmit definitions with \E[90;3u
+#	in is2=.  IMPORTANT:  to use this terminal definition, the "quit" stty
+#	setting MUST be redefined or deactivated, because the default is
+#	contained in almost all of this terminal's Fkey strings!  If for some
+#	reason "quit" cannot be altered, the Fkeys can, but it would be
+#	necessary to change ^| to ^] in all of these definitions, and add
+#	\E[2;029!t to is2.
+# lines: is set to 24 because this terminal refuses to treat the 25th
+#	line normally.
+# ll:	Not available in power on mode, but turned on with \E[=107;207h in
+#	is2=.
+# lm:	Pointless, given that this definition locks a single screen of
+#	memory into view, but what the hey...
+# rmso: Could use \E[1;7!{ to turn off only bold and reverse (leaving any
+#	other attributes alone), but some programs expect this to turn off
+#	everything.
+# rmul: Could use \E[4!{ to turn off only underline (leaving any other
+#	attributes alone), but some programs expect this to turn off
+#	everything.
+# sgr:	Attributes are set on this terminal with the string \E[ followed by
+#	a list of attribute code numbers (in decimal, separated by
+#	semicolons), followed by the character m.  The attribute code
+#	numbers are:
+#		  1 for bold;
+#		  2 for dim (which is ignored in power on mode);
+#		  4 for underline;
+#		  5 for blinking;
+#		  7 for inverse;
+#		  8 for not displayable; and
+#		=99 for protected (except that there are strange side
+#		effects to protected characters which make them inadvisable).
+#	 The mapping of terminfo parameters to attributes is as follows:
+#		%p1 (standout) = bold and inverse together;
+#		%p2 (underline) = underline;
+#		%p3 (reverse) = inverse;
+#		%p4 (blink) = blinking;
+#		%p5 (dim) is ignored;
+#		%p6 (bold) = bold;
+#		%p7 (invisible) = not displayable;
+#		%p8 (protected) is ignored; and
+#		%p9 (alt char set) = alt char set.
+#	 The code to do this is:
+#		\E[0		OUTPUT	\E[0
+#		%?%p1%p6%O	IF	(standout; bold) OR
+#		%t;1		THEN	OUTPUT	;1
+#		%;		ENDIF
+#		%?%p2		IF	underline
+#		%t;4		THEN	OUTPUT	;4
+#		%;		ENDIF
+#		%?%p4		IF	blink
+#		%t;5		THEN	OUTPUT	;5
+#		%;		ENDIF
+#		%?%p1%p3%O	IF	(standout; reverse) OR
+#		%t;7		THEN	OUTPUT	;7
+#		%;		ENDIF
+#		%?%p7		IF	invisible
+#		%t;8		THEN	OUTPUT	;8
+#		%;		ENDIF
+#		m		OUTPUT	m
+#		%?%p9		IF	altcharset
+#		%t^N		THEN	OUTPUT	^N
+#		%e^O		ELSE	OUTPUT	^O
+#		%;		ENDIF
+# sgr0: Everything is turned off (including alternate character set), since
+#	there is no way of knowing what it is that the program wants turned
+#	off.
+# smul: The "underline" attribute is reconfigurable to an overline or
+#	strike-through, or (as done with \E[;3+} in is2=), to a line at the true
+#	bottom of the character cell.  This was done to allow for more readable
+#	underlined characters, and to be able to distinguish between an
+#	underlined space, an underscore, and an underlined underscore.
+# xenl: Terminal can be configured to not need this, but this "glitch"
+#	behavior is actually preferable with autowrap terminals.
+#
+# Parameters kf31= thru kf53= actually contain the strings sent by the shifted
+# Fkeys.  There are no parameters for shifted Fkeys in terminfo.  The is2
+# string modifies the 'O' in kf43 to kf46 to a '$'.
+#
+# kcbt was originally ^I but redefined in is2=.
+# kHOM was \E[H originally but redefined in is2=, as were a number of
+# other keys.
+# kDC was originally \177 but redefined in is2=.
+#
+# kbs:	Shift was also ^H originally but redefined as \E$^H in is2=.
+# tsl:	Go to window 2, then do an hpa=.
+#
+#------- flash=\E[8;3!}^G\E[3;3!}
+#------- flash=\E[?5h$<100>\E[?5l
+# There are two ways to flash the screen, both of which have their drawbacks.
+# The first is to set the bell mode to video, transmit a bell character, and
+# set the bell mode back - but to what?  There is no way of knowing what the
+# user's old bell setting was before we messed with it.  Worse, the command to
+# set the bell mode also sets the key click volume, and there is no way to say
+# "leave that alone", or to know what it's set to, either.
+# The second way to do a flash is to set the screen to inverse video, pad for a
+# tenth of a second, and set it back - but like before, there's no way to know
+# that the screen wasn't ALREADY in inverse video, or that the user may prefer
+# it that way.  The point is moot anyway, since vi (and probably other
+# programs) assume that by defining flash=, you want the computer to use it
+# INSTEAD of bel=, rather than as a secondary type of signal.
+#
+#------- cvvis=\E[+{
+# The is the power on setting, which is also as visible as the cursor
+# gets.
+#-------  wind=\E[%i%p1%d;%p2%d;%p3%{1}%+%d;%p4%{1}%+%dw
+# Windowing is possible, but not defined here because it is also used to
+# emulate status line functions.  Allowing a program to set a window could
+# clobber the status line or render it unusable.  There is additional memory,
+# but screen scroll functions are destructive and do not make use of it.
+#
+#-------   dim=			Not available in power on mode.
+# You have a choice of defining low intensity characters as "half bright" and
+# high intensity as "normal", or defining low as "normal" and high as "bold".
+# No matter which you choose, only one of either "half bright" or "bold" is
+# available at any time, so taking the time to override the default is
+# pointless.
+#
+#-------  prot=\E[=0;99m
+# Not defined, because it appears to have some strange side effects.
+#------- pfkey=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%du\177%p2%s\177%;
+#------- pfloc=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%du\177%p2%s\177%;
+#-------   pfx=%?%p1%{24}%<%p1%{30}%>%p1%{54}%<%A%O%t\E[%p1%d;1u\177%p2%s\177%;
+#	 Available, but making them available to programs is inadvisable.
+#	 The code to do this is:
+#		%?%p1%{24}%<	IF	((key; 24) <;
+#		%p1%{30}%>		 ((key; 30) >;
+#		%p1%{54}%<		  (key; 54) <
+#		%A			 ) AND
+#		%O			) OR
+#	 [that is, "IF key < 24 OR (key > 30 AND key < 54)",]
+#		%t\E[		THEN	OUTPUT	\E[
+#		%p1%d			OUTPUT	(key) as decimal
+#	 [next line applies to pfx only]
+#		;1			OUTPUT	;1
+#		u			OUTPUT	u
+#		\177			OUTPUT	\177
+#		%p2%s			OUTPUT	(string) as string
+#		\177			OUTPUT	\177
+#	 [DEL chosen as delimiter, but could be any character]
+#	 [implied:		ELSE	do nothing]
+#		%;		ENDIF
+#
+#-------   rs2=
+# Not defined since anything it might do could be done faster and easier with
+# either Meta-Shift-Reset or the main power switch.
+#
+#-------  smkx=\E[1!z
+#-------  rmkx=\E[!z
+# These sequences apply to the cursor and setup keys only, not to the
+# numeric keypad.  But it doesn't matter anyway, since making these
+# available to programs is inadvisable.
+# For the key definitions below, all sequences beginning with \E$ are
+# custom and programmed into the terminal via is2.  \E$ also has no
+# meaning to any other terminal.
+#
+#------- cmdch=\E[;%p1%d!t
+# Available, but making it available to programs is inadvisable.
+#------- smxon=\E[1*q
+# Available, but making it available to programs is inadvisable.
+# Terminal will send XON/XOFF on buffer overflow.
+#------- rmxon=\E[*q
+# Available, but making it available to programs is inadvisable.
+# Terminal will not notify on buffer overflow.
+#-------   smm=\E[2+x
+#-------   rmm=\E[+x
+# Available, but making them available to programs is inadvisable.
+#
+# Printing:
+#	 It's not made clear in the manuals, but based on other ansi/vt type
+#	 terminals, it's a good guess that this terminal is capable of both
+#	 "transparent print" (which doesn't copy data to the screen, and
+#	 therefore needs mc5i: specified to say so) and "auxiliary print"
+#	 (which does duplicate printed data on the screen, in which case mc4=
+#	 and mc5= should use the \E[?4i and \E[?5i strings instead).
+
+hds200|Human Designed Systems HDS200,
+	am, bw, eslok, hs, km, mir, msgr, xenl, xon, NQ,
+	cols#80, lines#24, lm#0,
+	acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	blink=\E[0;5m, bold=\E[0;1m, civis=\E[6+{, cnorm=\E[+{,
+	cr=\r, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	dsl=\E[2!w\r\n\E[!w, el1=\E[1K, fsl=\E[!w, home=\E[H,
+	hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ind=\ED, invis=\E[0;8m,
+	is2=\E)0\017\E[m\E[=107;207h\E[90;3u\E[92;3u\E[43;1u\177\E$P
+	    \177\E[44;1u\177\E$Q\177\E[45;1u\177\E$R\177\E[46;1u
+	    \177\E$S\177\E[200;1u\177\E$A\177\E[201;1u\177\E$B\177
+	    \E[202;1u\177\E$C\177\E[203;1u\177\E$D\177\E[204;1u\177
+	    \E$H\177\E[212;1u\177\E$I\177\E[213;1u\177\E$\010\177\E[
+	    214;1u"\E$\177"\E[2!w\E[25;25w\E[!w\E[2*w\E[2+x\E[;3+},
+	kDC=\E$^?, kHOM=\E$H, kLFT=\E$D, kRIT=\E$C, kcbt=\E$I,
+	kdch1=^?, kent=\r, kf1=^\001\r, kf10=^\010\r, kf11=^\011\r,
+	kf12=^\012\r, kf13=\EOP, kf14=\EOQ, kf15=\EOR, kf16=\EOS,
+	kf17=^\017\r, kf18=^\018\r, kf19=^\019\r, kf2=^\002\r,
+	kf20=^\020\r, kf21=^\021\r, kf22=^\022\r, kf23=^\023\r,
+	kf3=^\003\r, kf31=^\031\r, kf32=^\032\r, kf33=^\033\r,
+	kf34=^\034\r, kf35=^\035\r, kf36=^\036\r, kf37=^\037\r,
+	kf38=^\038\r, kf39=^\039\r, kf4=^\004\r, kf40=^\040\r,
+	kf41=^\041\r, kf42=^\042\r, kf43=\E$P, kf44=\E$Q,
+	kf45=\E$R, kf46=\E$S, kf47=^\047\r, kf48=^\048\r,
+	kf49=^\049\r, kf5=^\005\r, kf50=^\050\r, kf51=^\051\r,
+	kf52=^\052\r, kf53=^\053\r, kf6=^\006\r, kf7=^\007\r,
+	kf8=^\008\r, kf9=^\009\r, kind=\E[T, knp=\E[U, kpp=\E[V,
+	kri=\E[S, ll=\E[H\E[A, nel=\E[E, rev=\E[0;7m, ri=\EM,
+	rmacs=^O, rmir=\E[4l, rmso=\E[m\017, rmul=\E[m\017,
+	sgr=\E[0%?%p1%p6%O%t;1%;%?%p2%t;4%;%?%p4%t;5%;%?%p1%p3%O%t;7
+	    %;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smir=\E[4h, smso=\E[0;1;7m,
+	smul=\E[0;4m, tsl=\E[2!w\E[%i%p1%dG, vpa=\E[%i%p1%dd,
+	use=ansi+arrows, use=ansi+csr, use=ansi+erase,
+	use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+	use=ansi+pp,
+
+# <ht> through <el> included to specify padding needed in raw mode.
+# (avt-ns: added empty <acsc> to suppress a tic warning --esr)
+avt-ns|Concept AVT no status line,
+	OTbs, am, eo, mir, ul, xenl, xon,
+	cols#80, lines#24, lm#192,
+	acsc=, bel=^G, clear=\E[H\E[J$<38>, cnorm=\E[=119l, cr=\r,
+	cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, cvvis=\E[=119h,
+	dim=\E[1!{, dl=\E[%p1%dM$<4*>, dl1=\E[M$<4>,
+	ed=\E[J$<96>, el=\E[K$<6>, home=\E[H,
+	hpa=\E[%p1%{1}%+%dG, ht=\011$<4>, ich=\E[%p1%d@,
+	il=\E[%p1%dL$<4*>, il1=\E[L$<4>, ind=\n$<8>, ip=$<4>,
+	is1=\E[=103l\E[=205l,
+	is2=\E[1*q\E[2!t\E[7!t\E[=4;101;119;122l\E[=107;118;207h\E)1
+	    \E[1Q\EW\E[!y\E[!z\E>\E[0:0:32!r\E[0*w\E[w\E2\r\n\E[2;27
+	    !t,
+	kdch1=\E\002\r, ked=\E\004\r, kf1=\EOP, kf2=\EOQ, kf3=\EOR,
+	kf4=\EOS, kich1=\E\001\r, kil1=\E\003\r, ll=\E[24H,
+	mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
+	pfloc=\E[%p1%d;0u#%p2%s#, pfx=\E[%p1%d;1u#%p2%s#,
+	prot=\E[99m, ri=\EM$<4>, rmacs=\016$<1>,
+	rmcup=\E[w\E2\r\n, rmkx=\E[!z\E[0;2u, rmso=\E[7!{,
+	rmul=\E[4!{,
+	sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1;
+	    %;%?%p7%t8;%;%?%p8%t99;%;m%?%p5%t\E[1!{%;%?%p9%t\017%e
+	    \016%;$<1>,
+	sgr0=\E[m\016$<1>, smacs=\017$<1>,
+	smcup=\E[=4l\E[1;24w\E2\r, smkx=\E[1!z\E[0;3u,
+	vpa=\E[%p1%{1}%+%dd, use=ansi+arrows, use=ansi+csr,
+	use=ansi+idc1, use=ansi+inittabs, use=ansi+local,
+	use=ansi+rep, use=ansi+sgrbold,
+
+avt-rv-ns|Concept AVT in reverse video mode/no status line,
+	flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h,
+	use=avt-ns,
+avt-w-ns|Concept AVT in 132 column mode/no status line,
+	is1=\E[=103h\E[=205l, smcup=\E[H\E[1;24;1;132w,
+	use=avt-ns,
+avt-w-rv-ns|Concept AVT in 132 column mode/no status line/reverse video,
+	flash=\E[=205l$<200>\E[=205h, is1=\E[=103h\E[=205h,
+	smcup=\E[H\E[1;24;1;132w, use=avt-ns,
+
+# Concept AVT with status line. We get the status line using the
+# "Background status line" feature of the terminal. We swipe the
+# first line of memory in window 2 for the status line, keeping
+# 191 lines of memory and 24 screen lines for regular use.
+# The first line is used instead of the last so that this works
+# on both 4 and 8 page AVTs. (Note the lm#191 or 192 - this
+# assumes an 8 page AVT but lm isn't currently used anywhere.)
+#
+avt+s|Concept AVT status line changes,
+	eslok, hs,
+	lm#191,
+	dsl=\E[0*w, fsl=\E[1;1!w,
+	is3=\E[2w\E[2!w\E[1;1;1;80w\E[H\E[2*w\E[1!w\E2\r\n,
+	rmcup=\E[2w\E2\r\n, smcup=\E[2;25w\E2\r,
+	tsl=\E[2;1!w\E[;%p1%dH\E[2K,
+avt|avt-s|concept-avt|Concept AVT w/80 columns,
+	use=avt+s, use=avt-ns,
+avt-rv|avt-rv-s|Concept AVT reverse video w/sl,
+	flash=\E[=205l$<200>\E[=205h, is1=\E[=103l\E[=205h,
+	use=avt+s, use=avt-ns,
+avt-w|avt-w-s|Concept AVT 132 cols+status,
+	is1=\E[=103h\E[=205l, smcup=\E[H\E[1;24;1;132w,
+	use=avt+s, use=avt-ns,
+avt-w-rv|avt-w-rv-s|Concept AVT wide+status+rv,
+	flash=\E[=205l$<200>\E[=205h, is1=\E[=103h\E[=205h,
+	smcup=\E[H\E[1;24;1;132w, use=avt+s, use=avt-ns,
+
+#### Contel Business Systems.
+#
+
+# Contel c300 and c320 terminals.
+contel300|contel320|c300|Contel Business Systems C-300 or C-320,
+	am, in, xon,
+	cols#80, lines#24, xmc#1,
+	bel=^G, clear=\EK, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA,
+	dch1=\EO$<5.5*>, dl1=\EM$<5.5*>, ed=\EJ$<5.5*>,
+	el=\EI$<5.5>, flash=\020\002$<200/>\020\003, home=\EH,
+	hts=\E1, ich1=\EN, il1=\EL$<5.5*>, ind=\n, ip=$<5.5*>,
+	kbs=^H, kf0=\ERJ, kf1=\ERA, kf2=\ERB, kf3=\ERC, kf4=\ERD,
+	kf5=\ERE, kf6=\ERF, kf7=\ERG, kf8=\ERH, kf9=\ERI, ll=\EH\EA,
+	rmso=\E!\0, sgr0=\E!\0, smso=\E!\r, tbc=\E3,
+# Contel c301 and c321 terminals.
+contel301|contel321|c301|c321|Contel Business Systems C-301 or C-321,
+	flash@, ich1@, ip@, rmso=\E!\0$<20>, smso=\E!\r$<20>,
+	use=contel300,
+
+#### Data General (dg)
+#
+# According to James Carlson <carlson@xylogics.com> writing in January 1995,
+# the terminals group at Data General was shut down in 1991; all these
+# terminals have thus been discontinued.
+#
+# DG terminals have function keys that respond to the SHIFT and CTRL keys,
+# e.g., SHIFT-F1 generates a different code from F1.  To number the keys
+# sequentially, first the unmodified key codes are listed as F1 through F15.
+# Then their SHIFT versions are listed as F16 through F30, their CTRL versions
+# are listed as F31 through F45, and their CTRL-SHIFT versions are listed as
+# F46 through F60.  This is done in the private "includes" below whose names
+# start with "dgkeys+".
+#
+# DG terminals generally support 8 bit characters.  For each of these terminals
+# two descriptions are supplied:
+#	1) A default description for 8 bits/character communications, which
+#	   uses the default DG international character set and keyboard codes.
+#	2) A description with suffix "-7b" for 7 bits/character communications.
+#	   This description must use the NON-DEFAULT native keyboard language.
+
+# Unmodified fkeys (kf1-kf11), Shift fkeys (kf12-kf22), Ctrl fkeys (kf23-kf33),
+# Ctrl/Shift fdkeys (kf34-kf44).
+
+dgkeys+8b|Private entry describing DG terminal 8-bit ANSI mode special keys,
+	ka1=\233020z, ka3=\233021z, kc1=\233022z, kc3=\233023z,
+	kclr=\2332J, kcub1=\233D, kcud1=\233B, kcuf1=\233C,
+	kcuu1=\233A, kel=\233K, kf1=\233001z, kf10=\233010z,
+	kf11=\233011z, kf12=\233012z, kf13=\233013z,
+	kf14=\233014z, kf15=\233000z, kf16=\233101z,
+	kf17=\233102z, kf18=\233103z, kf19=\233104z,
+	kf2=\233002z, kf20=\233105z, kf21=\233106z,
+	kf22=\233107z, kf23=\233108z, kf24=\233109z,
+	kf25=\233110z, kf26=\233111z, kf27=\233112z,
+	kf28=\233113z, kf29=\233114z, kf3=\233003z,
+	kf30=\233100z, kf31=\233201z, kf32=\233202z,
+	kf33=\233203z, kf34=\233204z, kf35=\233205z,
+	kf36=\233206z, kf37=\233207z, kf38=\233208z,
+	kf39=\233209z, kf4=\233004z, kf40=\233210z,
+	kf41=\233211z, kf42=\233212z, kf43=\233213z,
+	kf44=\233214z, kf45=\233200z, kf46=\233301z,
+	kf47=\233302z, kf48=\233303z, kf49=\233304z,
+	kf5=\233005z, kf50=\233305z, kf51=\233306z,
+	kf52=\233307z, kf53=\233308z, kf54=\233309z,
+	kf55=\233310z, kf56=\233311z, kf57=\233312z,
+	kf58=\233313z, kf59=\233314z, kf6=\233006z,
+	kf60=\233300z, kf7=\233007z, kf8=\233008z, kf9=\233009z,
+	khome=\233H, kprt=\233i,
+
+dgkeys+7b|Private entry describing DG terminal 7-bit ANSI mode special keys,
+	ka1=\E[020z, ka3=\E[021z, kc1=\E[022z, kc3=\E[023z,
+	kclr=\E[2J, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kel=\E[K, kf1=\E[001z, kf10=\E[010z, kf11=\E[011z,
+	kf12=\E[012z, kf13=\E[013z, kf14=\E[014z, kf15=\E[000z,
+	kf16=\E[101z, kf17=\E[102z, kf18=\E[103z, kf19=\E[104z,
+	kf2=\E[002z, kf20=\E[105z, kf21=\E[106z, kf22=\E[107z,
+	kf23=\E[108z, kf24=\E[109z, kf25=\E[110z, kf26=\E[111z,
+	kf27=\E[112z, kf28=\E[113z, kf29=\E[114z, kf3=\E[003z,
+	kf30=\E[100z, kf31=\E[201z, kf32=\E[202z, kf33=\E[203z,
+	kf34=\E[204z, kf35=\E[205z, kf36=\E[206z, kf37=\E[207z,
+	kf38=\E[208z, kf39=\E[209z, kf4=\E[004z, kf40=\E[210z,
+	kf41=\E[211z, kf42=\E[212z, kf43=\E[213z, kf44=\E[214z,
+	kf45=\E[200z, kf46=\E[301z, kf47=\E[302z, kf48=\E[303z,
+	kf49=\E[304z, kf5=\E[005z, kf50=\E[305z, kf51=\E[306z,
+	kf52=\E[307z, kf53=\E[308z, kf54=\E[309z, kf55=\E[310z,
+	kf56=\E[311z, kf57=\E[312z, kf58=\E[313z, kf59=\E[314z,
+	kf6=\E[006z, kf60=\E[300z, kf7=\E[007z, kf8=\E[008z,
+	kf9=\E[009z, khome=\E[H, kprt=\E[i,
+
+dgkeys+11|Private entry describing 11 minimal-subset DG mode special keys,
+	kclr=^L, kcub1=^Y, kcud1=^Z, kcuf1=^X, kcuu1=^W, kel=^K,
+	kf1=^^q, kf10=^^z, kf11=^^{, kf12=^^a, kf13=^^b, kf14=^^c,
+	kf15=^^d, kf16=^^e, kf17=^^f, kf18=^^g, kf19=^^h, kf2=^^r,
+	kf20=^^i, kf21=^^j, kf22=^^k, kf23=^^1, kf24=^^2, kf25=^^3,
+	kf26=^^4, kf27=^^5, kf28=^^6, kf29=^^7, kf3=^^s, kf30=^^8,
+	kf31=^^9, kf32=^^:, kf33=^^;, kf34=^^!, kf35=^^", kf36=^^#,
+	kf37=^^$, kf38=^^%%, kf39=^^&, kf4=^^t, kf40=^^', kf41=^^(,
+	kf42=^^), kf43=^^*, kf44=^^+, kf5=^^u, kf6=^^v, kf7=^^w,
+	kf8=^^x, kf9=^^y, khome=^H,
+
+dgkeys+15|Private entry describing 15 DG mode special keys,
+	kHOM=^^^H, kLFT=^^^Y, kRIT=^^^X, ka1=^^\\, ka3=^^], kc1=^^\^,
+	kc3=^^_, kf1=^^q, kf10=^^z, kf11=^^{, kf12=^^|, kf13=^^},
+	kf14=^^~, kf15=^^p, kf16=^^a, kf17=^^b, kf18=^^c, kf19=^^d,
+	kf2=^^r, kf20=^^e, kf21=^^f, kf22=^^g, kf23=^^h, kf24=^^i,
+	kf25=^^j, kf26=^^k, kf27=^^l, kf28=^^m, kf29=^^n, kf3=^^s,
+	kf30=^^`, kf31=^^1, kf32=^^2, kf33=^^3, kf34=^^4, kf35=^^5,
+	kf36=^^6, kf37=^^7, kf38=^^8, kf39=^^9, kf4=^^t, kf40=^^:,
+	kf41=^^;, kf42=^^<, kf43=^^=, kf44=^^>, kf45=^^0, kf46=^^!,
+	kf47=^^", kf48=^^#, kf49=^^$, kf5=^^u, kf50=^^%%, kf51=^^&,
+	kf52=^^', kf53=^^(, kf54=^^), kf55=^^*, kf56=^^+, kf57=^^\,,
+	kf58=^^-, kf59=^^., kf6=^^v, kf60=^^\s, kf7=^^w, kf8=^^x,
+	kf9=^^y,
+
+# Data General color terminals use the "Tektronix" color model.  The total
+# number of colors varies with the terminal model, as does support for
+# attributes used in conjunction with color.
+
+# Removed u7, u8 definitions since they conflict with tack:
+#		Preserve user-defined colors in at least some cases.
+#	u7=^^Fh,
+#		Default is ACM mode.
+#	u8=^^F}20^^Fi^^F}21,
+#
+dgunix+fixed|Fixed color info for DG D430C terminals in DG-UNIX mode,
+	ncv#53, use=dgmode+color,
+
+dg+fixed|Fixed color info for DG D430C terminals in DG mode,
+	use=dgunix+fixed,
+
+# Video attributes are coordinated using static variables set by "sgr", then
+# checked by "op", "seta[bf]", and "set[bf]" to refresh the attribute settings.
+# (D=dim, U=underline, B=blink, R=reverse.)
+dg+color8|Color info for Data General D220 and D230C terminals in ANSI mode,
+	bce,
+	colors#8, ncv#16, pairs#64,
+	op=\E[%?%gD%t2;%;%?%gU%t4;%;%?%gB%t5;%;%?%gR%t7;%;m,
+	setab=\E[4%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+	setaf=\E[3%p1%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+	setb=\E[4%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;
+	     %d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+	setf=\E[3%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|%;
+	     %d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;%?%gR%t;7%;m,
+
+dg+color|Color info for Data General D470C terminals in ANSI mode,
+	colors#16, ncv#53, pairs#0x100,
+	setab=\E[%?%p1%{8}%<%t4%p1%e=%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;
+	      %?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t
+	      ;5%;%?%gR%t;7%;m,
+	setaf=\E[%?%p1%{8}%<%t3%p1%e<%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;
+	      %?%p1%{4}%&%t%{1}%|%;%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t
+	      ;5%;%?%gR%t;7%;m,
+	setb=\E[%?%p1%{8}%<%t4%e=%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?
+	     %p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;
+	     %?%gR%t;7%;m,
+	setf=\E[%?%p1%{8}%<%t3%e<%;%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?
+	     %p1%{4}%&%t%{1}%|%;%d%?%gD%t;2%;%?%gU%t;4%;%?%gB%t;5%;
+	     %?%gR%t;7%;m,
+	use=dg+color8,
+
+dgmode+color8|Color info for Data General D220/D230C terminals in DG mode,
+	bce,
+	colors#8, ncv#16, pairs#64,
+	op=\036Ad\036Bd,
+	setab=\036B%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|
+	      %;%{48}%+%c,
+	setaf=\036A%p1%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1%{4}%&%t%{1}%|
+	      %;%{48}%+%c,
+	setb=\036B%p1%{48}%+%c, setf=\036A%p1%{48}%+%c,
+
+dgmode+color|Color info for Data General D470C terminals in DG mode,
+	colors#16, pairs#0x100,
+	setab=\036B%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1
+	      %{4}%&%t%{1}%|%;%;%{48}%+%c,
+	setaf=\036A%p1%?%p1%{8}%<%t%{2}%&%?%p1%{1}%&%t%{4}%|%;%?%p1
+	      %{4}%&%t%{1}%|%;%;%{48}%+%c,
+	use=dgmode+color8,
+
+dgunix+ccc|Configurable color info for DG D430C terminals in DG-UNIX mode,
+	bce, ccc,
+	colors#52, ncv#53, pairs#26,
+	initp=\036RG0%p1%02X%p2%{255}%*%{1000}%/%02X%p3%{255}%*
+	      %{1000}%/%02X%p4%{255}%*%{1000}%/%02X%p5%{255}%*
+	      %{1000}%/%02X%p6%{255}%*%{1000}%/%02X%p7%{255}%*
+	      %{1000}%/%02X,
+	oc=\036RG01A00FF00000000\036RG01B00000000FF00
+	   \036RG01C007F00000000\036RG01D000000007F00,
+	op=\036RF4831A\036RF2E31B\036RF1D31C\036RF3F31D,
+	scp=\036RG2%p1%02X,
+
+# Colors are in the order:  normal, reverse, dim, dim + reverse.
+dg+ccc|Configurable color info for DG D430C terminals in DG mode,
+	bce, ccc,
+	colors#52, ncv#53, pairs#26,
+	initp=\036RG0%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c%p2%{255}
+	      %*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c
+	      %p3%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga%{16}%m
+	      %{48}%+%c%p4%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}%+%c%ga
+	      %{16}%m%{48}%+%c%p5%{255}%*%{1000}%/%Pa%ga%{16}%/%{48}
+	      %+%c%ga%{16}%m%{48}%+%c%p6%{255}%*%{1000}%/%Pa%ga%{16}
+	      %/%{48}%+%c%ga%{16}%m%{48}%+%c%p7%{255}%*%{1000}%/%Pa
+	      %ga%{16}%/%{48}%+%c%ga%{16}%m%{48}%+%c,
+	oc=\036RG01:00??00000000\036RG01;00000000??00\036RG01<007?00
+	   000000\036RG01=000000007?00,
+	op=\036RF4831:\036RF2>31;\036RF1=31<\036RF3?31=,
+	scp=\036RG2%p1%{16}%/%{48}%+%c%p1%{16}%m%{48}%+%c,
+
+# The generic DG terminal type (an 8-bit-clean subset of the 6053)
+# Initialization string 1 sets:
+#	^R		- vertical scrolling enabled
+#	^C		- blinking enabled
+dg-generic|generic Data General terminal in DG mode,
+	am, bw, msgr, xon,
+	cols#80, lines#24,
+	bel=^G, blink=^N, clear=^L, cr=\r, cub1=^Y, cud1=^Z, cuf1=^X,
+	cup=\020%p2%c%p1%c, cuu1=^W, dim=^\, el=^K, ind=\n, is1=^R^C,
+	mc0=^Q, nel=\n, rmso=^], rmul=^U, sgr0=^O^U^], smso=^\,
+	smul=^T, use=dgkeys+11,
+
+# According to the 4.4BSD termcap file, the dg200 <cup> should be the
+# termcap equivalent of \020%p2%{128}%+%c%p1%{128}%+%c (in termcap
+# notation that's "^P%r%+\200%+\200").  Those \200s are suspicious,
+# maybe they were originally nuls (which would fit).
+
+dg200|Data General DASHER 200,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^Y, cud1=^Z, cuf1=^X,
+	cup=\020%p2%c%p1%c, cuu1=^W, el=^K, home=^H, ind=\n,
+	kcub1=^Y, kcud1=^Z, kcuf1=^X, kcuu1=^W, kf0=^^z, kf1=^^q,
+	kf2=^^r, kf3=^^s, kf4=^^t, kf5=^^u, kf6=^^v, kf7=^^w, kf8=^^x,
+	kf9=^^y, khome=^H, lf0=f10, nel=\n, rmso=^^E, rmul=^U,
+	smso=^^D, smul=^T,
+
+# Data General 210/211 (and 410?)	from Lee Pearson (umich!lp) via BRL
+dg210|dg-ansi|Data General 210/211,
+	am,
+	cols#80, lines#24,
+	OTnl=\E[B, clear=\E[2J, cup=\E[%i%p1%d;%p2%dH, ed=\E[J,
+	el=\E[K, home=\E[H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, khome=\E[H, nel=\r\E[H\E[A\n, rmso=\E[0;m,
+	rmul=\E[0;m, smso=\E[7;m, smul=\E[4;m, use=ansi+local1,
+
+# From: Peter N. Wan <ihnp4!gatech!gacsr!wan>
+# courtesy of Carlos Rucalde of Vantage Software, Inc.
+# (dg211: this had <cup=\020%r%.%>., which was an ancient termcap hangover.
+# I suspect the d200 function keys actually work on the dg211, check it out.)
+dg211|Data General d211,
+	cnorm=^L, cvvis=^L^R, ht=^I, ind@, kbs=^Y, kf0@, kf1@, kf2@, kf3@,
+	kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, lf0@, nel=\r^Z, rmcup=^L,
+	rmso=\036E$<0/>, smcup=^L^R, smso=\036D$<5/>, use=dg200,
+
+# dg450 from Cornell (not official)
+dg450|dg6134|Data General 6134,
+	cub1@, cuf1=^X, use=dg200,
+
+# Not official...
+# Note: lesser Dasher terminals will not work with vi because vi insists upon
+# having a command to move straight down from any position on the bottom line
+# and scroll the screen up, or a direct vertical scroll command.  The 460 and
+# above have both, the D210/211, for instance, has neither.  We must use ANSI
+# mode rather than DG mode because standard UNIX tty drivers assume that ^H is
+# backspace on all terminals.  This is not so in DG mode.
+# (dg460-ansi: removed obsolete ":kn#6:"; also removed ":mu=\EW:", on the
+# grounds that there is no matching ":ml:"
+dg460-ansi|Data General Dasher 460 in ANSI-mode,
+	OTbs, am, msgr, ul,
+	cols#80, it#8, lines#24,
+	OTnl=\ED, blink=\E[5m, clear=\E[2J, cub1=^H,
+	cup=\E[%i%p1%2d;%p2%2dH, dch1=\E[P, dim=\E[2m, dl1=\E[M,
+	ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L,
+	ind=\E[S, is2=^^F@, kbs=\E[D, kf0=\E[001z, kf1=\E[002z,
+	kf2=\E[003z, kf3=\E[004z, kf4=\E[005z, kf5=\E[006z,
+	kf6=\E[007z, kf7=\E[008z, kf8=\E[009z, kf9=\E[00:z, lf0=f1,
+	lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf9=f10,
+	mc0=\E[i, rev=\E[7m, ri=\E[T, rmso=\E[m, rmul=\E[05,
+	sgr=%?%p9%t\E(0%e\E(B%;\E[0%?%p5%t;2%;%?%p2%t;4%;%?%p4%t;5%;
+	    %?%p1%p3%|%t;7%;m,
+	sgr0=\E(B\E[m, smso=\E[7m, smul=\E[4m, u8=\E[5n, u9=\E[0n,
+	use=ansi+arrows, use=ansi+cpr, use=ansi+local1,
+
+# From: Wayne Throop <mcnc!rti-sel!rtp47!throopw> (not official)
+# Data General 605x
+# Ought to work for a Model 6242, Type D210 as well as a 605x.
+# Note that the cursor-down key transmits ^Z.  Job control users, beware!
+# This also matches a posted description of something called a `Dasher 100'
+# so there's a dg100 alias here.
+# (dg6053: the 4.4BSD file had <cub1=^H>, <cud1=^J>, <cuf1=^S>. -- esr)
+dg6053-old|dg100|Data General 6053,
+	OTbs, am, bw, ul,
+	cols#80, lines#24,
+	OTbc=^Y, bel=^G, clear=^L, cnorm=^L, cr=\r, cub1=^Y, cud1=^Z,
+	cuf1=^X, cup=\020%p2%c%p1%c, cuu1=^W, cvvis=^L^R, el=^K,
+	home=^H, ht=^I, is2=^R, kbs=^Y, kcub1=^Y, kcud1=^Z, kcuf1=^X,
+	kcuu1=^W, kf0=^^q, kf1=^^r, kf2=^^s, kf3=^^t, kf4=^^u, kf5=^^v,
+	kf6=^^w, kf7=^^x, kf8=^^y, kf9=^^z, khome=^H, rmcup=^L,
+	rmso=\0^^E, rmul=^U, smcup=^L^R, smso=\0\0\0\0\0\036D,
+	smul=^T,
+
+# (Some performance can be gained over the generic DG terminal type)
+dg6053|6053|6053-dg|dg605x|605x|605x-dg|d2|d2-dg|Data General DASHER 6053,
+	xon@,
+	home=\020\0\0, ll=^P\0^W, use=dg-generic,
+
+# Like 6053, but adds reverse video and more keypad and function keys.
+d200|d200-dg|Data General DASHER D200,
+	bold=^^D^T, home@, ll@, rev=^^D, rmso=^^E^],
+	sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4
+	    %t\016%e\017%;%?%p1%p5%|%t\034%e\035%;,
+	sgr0=^O^U^]^^E, smso=^^D^\, use=dgkeys+15, use=dg6053,
+
+# DASHER D210 series terminals in ANSI mode.
+#	Reverse video, no insert/delete character/line, 7 bits/character only.
+#
+# Initialization string 1 sets:
+#	<0		- scrolling enabled
+#	<1		- blink enabled
+#	<4		- print characters regardless of attributes
+d210|d214|Data General DASHER D210 series,
+	am, bw, msgr, xon,
+	cols#80, lines#24,
+	bel=^G, blink=\E[5m, bold=\E[4;7m, clear=\E[2J, cr=\r,
+	cub1=^H, cup=\E[%i%p1%d;%p2%dH, dim=\E[2m, ed=\E[J,
+	el=\E[K, el1=\E[1K, home=\E[H, ind=\n, is1=\E[<0;<1;<4l,
+	ll=\E[H\E[A, nel=\n, rev=\E[7m, rmso=\E[m, rmul=\E[m,
+	sgr=\E[%?%p4%t5;%;%?%p2%p6%|%t4;%;%?%p1%p5%|%t2;%;%?%p1%p3%|
+	    %p6%|%t7;%;m,
+	sgr0=\E[m, smso=\E[2;7m, smul=\E[4m, use=ansi+local,
+	use=dgkeys+7b,
+
+# DASHER D210 series terminals in DG mode.
+# Like D200, but adds clear to end-of-screen and needs XON/XOFF.
+d210-dg|d214-dg|Data General DASHER D210 series in DG mode,
+	xon,
+	ed=^^FF, use=d200-dg,
+
+# DASHER D211 series terminals in ANSI mode.
+# Like the D210, but with 8-bit characters and local printer support.
+#
+# Initialization string 2 sets:
+#	\E[2;1;1;1v
+#		2;1	- 8 bit operations
+#		1;1	- 8 bit (international) keyboard language
+#	\E(B		- default primary character set (U.S. ASCII)
+#	\E)4		- default secondary character set (international)
+#	^O		- primary character set
+#
+d211|d215|Data General DASHER D211 series,
+	km,
+	is2=\E[2;1;1;1v\E(B\E)4\017, mc0=\E[i, use=dgkeys+8b,
+	use=d210,
+
+# Initialization string 2 sets:
+#	\E[2;0;1;0v
+#		2;0	- 7 bit operations
+#		1;0	- 7 bit (native) keyboard language
+#	\E(0		- default character set (the keyboard native language)
+#	^O		- primary character set
+d211-7b|d215-7b|Data General DASHER D211 series in 7 bit mode,
+	km@,
+	is2=\E[2;0;1;0v\E(0\017, use=dgkeys+7b, use=d211,
+
+# Like the D210 series, but adds support for 8-bit characters.
+#
+# Reset string 2 sets:
+#	^^N	- secondary character set
+#	^^FS0>	- 8 bit international character set
+#	^^O	- primary character set
+#	^^FS00	- default character set (matching the native keyboard language)
+#
+d211-dg|d215-dg|Data General DASHER D211 series in DG mode,
+	km,
+	rs2=\036N\036FS0>\036O\036FS00, use=d210-dg,
+
+d216-dg|d216e-dg|d216+dg|d216e+dg|d217-dg|Data General DASHER D216 series in DG mode,
+	use=d211-dg,
+
+# Enhanced DG mode with changes to be more UNIX compatible.
+d216-unix|d216e-unix|d216+|d216e+|Data General DASHER D216+ in DG-UNIX mode,
+	mc5i,
+	it#8,
+	acsc=a\177j$k"l!m#n)q+t'u&v(w%x*, blink=^^PI,
+	clear=^^PH, cub1=^^PD, cud1=^^PB, cuf1=^^PC, cuu1=^^PA,
+	el=^^PE, home=^^PF, hpa=\020%p1%c\177, ht=^I, ind=\n,
+	is1=^R^C^^P@1, is3=^^Fz0, kHOM=^^Pf, kLFT=^^Pd, kPRT=^^P1,
+	kRIT=^^Pc, kclr=^^PH, kcub1=^^PD, kcud1=^^PB, kcuf1=^^PC,
+	kcuu1=^^PA, kel=^^PE, khome=^^PF, kprt=^^P0, mc0=^^F?9,
+	mc4=^^Fa, mc5=^^F`, rmacs=\036FS00,
+	rs2=\036N\036FS0E\036O\036FS00,
+	sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;
+	    \036P%?%p4%tI%eJ%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t1
+	    1%e00%;,
+	sgr0=\036PJ\025\035\036E\036FS00, smacs=\036FS11,
+	vpa=\020\177%p1%c, use=dgkeys+15, use=d216-dg,
+d216-unix-25|d216+25|Data General DASHER D216+ in DG-UNIX mode with 25 lines,
+	lines#25,
+	is3=^^Fz2, use=d216+,
+
+d217-unix|Data General DASHER D217 in DG-UNIX mode,
+	use=d216-unix,
+d217-unix-25|Data General DASHER D217 in DG-UNIX mode with 25 lines,
+	use=d216-unix-25,
+
+# DASHER D220 color terminal in ANSI mode.
+# Like the D470C but with fewer colors and screen editing features.
+#
+# Initialization string 1 sets:
+#	\E[<0;<1;<4l
+#		<0	- scrolling enabled
+#		<1	- blink enabled
+#		<4	- print characters regardless of attributes
+#	\E[m		- all attributes off
+# Reset string 1 sets:
+#	\Ec		- initial mode defaults (RIS)
+#
+d220|Data General DASHER D220,
+	mc5i@,
+	dl@, dl1@, il@, il1@, is1=\E[<0;<1;<4l\E[m, mc4@, mc5@, rs1=\Ec,
+	use=dg+color8, use=d470c,
+
+d220-7b|Data General DASHER D220 in 7 bit mode,
+	mc5i@,
+	dl@, dl1@, il@, il1@, is1=\E[<0;<1;<4l\E[m, mc4@, mc5@, rs1=\Ec,
+	use=dg+color8, use=d470c-7b,
+
+# Initialization string 3 sets:
+#	- default cursor (solid rectangle)
+# Reset string 2 sets:
+#	^^N     - secondary character set
+#	^^FS0>  - 8 bit international character set
+#	^^O     - primary character set
+#       ^^FS00  - default character set (matching the native keyboard language)
+#
+d220-dg|Data General DASHER D220 color terminal in DG mode,
+	mc5i@,
+	dl1@, home@, il1@, is2@, is3=^^FQ2, ll@, mc4@, mc5@, rs1@,
+	rs2=\036N\036FS0>\036O\036FS00, use=dgmode+color8,
+	use=d470c-dg,
+
+# DASHER D230C color terminal in ANSI mode.
+# Like the D220 but with minor ANSI compatibility improvements.
+#
+d230c|d230|Data General DASHER D230C,
+	blink=\E[5;50m, bold=\E[4;7;50m, dim=\E[2;50m, nel=\r\n,
+	rev=\E[7;50m, rmkx=\E[2;1v, rmso=\E[50m, rmul=\E[50m,
+	sgr=\E[%?%p1%p3%|%p6%|%t7;%{1}%e%{0}%;%PR%?%p4%t5;%{1}%e%{0}
+	    %;%PB%?%p2%p6%|%t4;%{1}%e%{0}%;%PU%?%p1%p5%|%t2;%{1}%e
+	    %{0}%;%PD50m\E)%?%p9%t6\016%e4\017%;,
+	sgr0=\E[50m\E)4\017, smkx=\E[2;0v, smso=\E[2;7;50m,
+	smul=\E[4;50m, use=dgkeys+7b, use=d220,
+
+d230c-dg|d230-dg|Data General DASHER D230C in DG mode,
+	use=d220-dg,
+
+# DASHER D400/D450 series terminals.
+# These add intelligent features like insert/delete to the D200 series.
+#
+# Initialization string 2 sets:
+#	^^FQ2		- default cursor (solid rectangle)
+#	^^FW		- character protection disabled
+#	^^FJ		- normal (80 column) mode
+#	^^F\^		- horizontal scrolling enabled (for alignment)
+#	^^FX004?	- margins at columns 0 and 79
+#	^^F]		- horizontal scrolling disabled
+#	^^O		- primary character set
+#	^^FS00		- default character set (the keyboard native language)
+#	- (should reset scrolling regions, but that glitches the screen)
+# Reset string 1 sets:
+#	^^FA		- all terminal defaults except scroll rate
+# Reset string 2 sets:
+#	^^F]		- horizontal scrolling disabled
+#	^^FT0		- jump scrolling
+#
+d400|d400-dg|d450|d450-dg|Data General DASHER D400/D450 series,
+	mc5i,
+	acsc=j$k"l!m#n)q+t'u&v(w%x*, civis=^^FQ0, cnorm=^^FQ2,
+	dch1=^^K, dl1=^^FI, enacs=\036N\036FS11\036O, home=^^FG,
+	hpa=\020%p1%c\177, ich1=^^J, il1=^^FH,
+	is2=\036FQ2\036FW\036FJ\036F\^\036FX004?\036F]\036O
+	    \036FS00,
+	ll=^^FG^W, mc4=^^Fa, mc5=^^F`, ri=^^I, rmacs=^^O, rs1=^^FA,
+	rs2=\036F]\036FT0,
+	sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4
+	    %t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036%?%p9%tN%eO%;,
+	sgr0=^O^U^]^^E^^O, smacs=^^N, vpa=\020\177%p1%c,
+	use=d210-dg,
+
+# DASHER D410/D460 series terminals in ANSI mode.
+# These add a large number of intelligent terminal features.
+#
+# Initialization string 1 sets:
+#	\E[<0;<1;<2;<4l
+#		<0	- scrolling enabled
+#		<1	- blink enabled
+#		<2	- horizontal scrolling enabled (for alignment)
+#		<4	- print characters regardless of attributes
+#	\E[5;0v		- normal (80 column) mode
+#	\E[1;1;80w	- margins at columns 1 and 80
+#	\E[1;6;<2h
+#		1	- print all characters even if protected
+#		6	- character protection disabled
+#		<2	- horizontal scrolling disabled
+#	- (should reset scrolling regions, but that glitches the screen)
+#
+# Initialization string 2 sets:
+#	\E[3;2;2;1;1;1v
+#		3;2	- default cursor (solid rectangle)
+#		2;1	- 8 bit operations
+#		1;1	- international keyboard language
+#	\E(B		- default primary character set (U.S. ASCII)
+#	\E)4		- default secondary character set (international)
+#	^O		- primary character set
+#
+#	Reset string 1 sets:
+#	\Ec		- initial mode defaults (RIS)
+#	\E[<2h		- horizontal scrolling disabled
+#
+# Reset string 2 sets:
+#	\E[4;0;2;1;1;1v
+#		4;0	- jump scrolling
+#		2;1	- 8 bit operations
+#		1;1	- 8 bit (international) keyboard language
+#	\E(B		- default primary character set (U.S. ASCII)
+#	\E)4		- default secondary character set (international)
+#
+d410|d411|d460|d461|Data General DASHER D410/D460 series,
+	acsc=j$k"l!m#n)q+t'u&v(w%x*, civis=\E[3;0v,
+	cnorm=\E[3;2v, dch=\E[%p1%dP, dch1=\E[P, ich=\E[%p1%d@,
+	ich1=\E[@,
+	is1=\E[<0;<1;<2;<4l\E[5;0v\E[1;1;80w\E[1;6;<2h,
+	is2=\E[3;2;2;1;1;1v\E(B\E)4\017, ri=\EM,
+	rmacs=\E)4\017, rs1=\Ec\E[<2h,
+	rs2=\E[4;0;2;1;1;1v\E(B\E)4,
+	sgr=\E[%?%p1%t2;7%;%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p1%p5
+	    %|%t2;%;%?%p6%t4;7;%;m\E)%?%p9%t6\016%e4\017%;,
+	sgr0=\E[m\E)4\017, smacs=\E)6\016, use=d211,
+	use=ansi+idl, use=ansi+pp,
+
+# Initialization string 2 sets:
+#	\E[3;2;2;0;1;0v
+#		3;2	- default cursor (solid rectangle)
+#		2;0	- 7 bit operations
+#		1;0	- 7 bit (native) keyboard language
+#	\E(0		- default character set (the keyboard native language)
+#	^O		- primary character set
+#
+# Reset string 2 sets:
+#	\E[4;0;2;0;1;0v
+#		4;0	- jump scrolling
+#		2;0	- 7 bit operations
+#		1;0	- 7 bit (native) keyboard language
+#	\E(0		- default character set (the keyboard native language)
+#
+d410-7b|d411-7b|d460-7b|d461-7b|Data General DASHER D410/D460 series in 7 bit mode,
+	km@,
+	enacs=\E)6, is2=\E[3;2;2;0;1;0v\E(0\017, rmacs=^O,
+	rs2=\E[4;0;2;0;1;0v\E(0,
+	sgr=\E[%?%p1%p5%|%t2;%;%?%p2%p6%|%t4;%;%?%p1%p3%|%p6%|%t7;%;
+	    %?%p4%t5;%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, use=dgkeys+7b, use=d410,
+
+d410-dg|d460-dg|d411-dg|d461-dg|Data General DASHER D410/D460 series in DG mode,
+	km,
+	enacs@, rmacs=\036FS00,
+	sgr=\036%?%p1%p3%|%p6%|%tD%eE%;%?%p2%p6%|%t\024%e\025%;%?%p4
+	    %t\016%e\017%;%?%p1%p5%|%t\034%e\035%;\036FS%?%p9%t11%e0
+	    0%;,
+	sgr0=\017\025\035\036E\036FS00, smacs=\036FS11,
+	use=d400-dg,
+
+# DASHER D410/D460 series terminals in wide (126 columns) ANSI mode.
+#
+# Initialization string 1 sets:
+#	\E[<0;<1;<2;<4l
+#		<0	- scrolling enabled
+#		<1	- blink enabled
+#		<2	- horizontal scrolling enabled (for alignment)
+#		<4	- print characters regardless of attributes
+#	\E[5;1v		- compressed (135 column) mode
+#	\E[1;1;126	- margins at columns 1 and 126
+#	\E[1;6;<2h
+#		1	- print all characters even if protected
+#		6	- character protection disabled
+#		<2	- horizontal scrolling disabled
+#	- (should reset scrolling regions, but that glitches the screen)
+#
+# Reset string 1 sets:
+#	\Ec		- initial mode defaults (RIS)
+#	\E[5;1v		- compressed (135 column) mode
+#	\E[1;1;126w	- margins at columns 1 and 126
+#	\E[<2h		- horizontal scrolling disabled
+#
+d410-w|d411-w|d460-w|d461-w|Data General DASHER D410/D460 series in wide mode,
+	cols#126,
+	is1=\E[<0;<1;<2;<4l\E[5;1v\E[1;1;126w\E[1;6;<2h,
+	rs1=\Ec\E[5;1v\E[1;1;126w\E[<2h, use=d410,
+
+d410-7b-w|d411-7b-w|d460-7b-w|d461-7b-w|Data General DASHER D410/D460 series in wide 7 bit mode,
+	cols#126,
+	is1=\E[<0;<1;<2;<4l\E[5;1v\E[1;1;126w\E[1;6;<2h,
+	rs1=\Ec\E[5;1v\E[1;1;126w\E[<2h, use=d410-7b,
+
+d412-dg|d462-dg|d462e-dg|d412+dg|d462+dg|d413-dg|d463-dg|Data General DASHER D412/D462 series in DG mode,
+	use=d410-dg,
+
+# These add intelligent features like scrolling regions.
+d412-unix|d462-unix|d412+|d462+|Data General DASHER D412+/D462+ series in Unix mode,
+	civis=^^FQ0, clear=^^FE, cnorm=^^FQ5,
+	cup=\036FP%p2%2.2X%p1%2.2X, dch1=^^K, dl1=^^FI,
+	home=^^FG, hpa=\036FP%p1%2.2XFF, ich1=^^J, il1=^^FH,
+	is2=\036FQ5\036FW\036FJ\036F\^\036FX004F\036O
+	    \036FS00,
+	ll=\036FG\036PA, mc0=^A, rc=\036F}11, ri=^^I,
+	rs1=\036FA\036FT0, rs2=^^P@1, sc=\036F}10,
+	vpa=\036FPFF%p1%2.2X,
+	wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2
+	     %>%t000%;\036FX%p3%2.2X%p4%2.2X,
+	use=d216+,
+d412-unix-w|d462-unix-w|d412+w|d462+w|Data General DASHER D412+/D462+ series in wide Unix mode,
+	cols#132,
+	is2=\036FQ5\036FW\036FK\036F\^\036FX0083\036O
+	    \036FS00,
+	rs2=\036P@1\036FK\036FX0083,
+	wind=\036FB%?%p1%t%p1%2.2X1%;%p2%p1%-%{1}%+%2.2X1%?%{23}%p2
+	     %>%t001%;\036FX%p3%2.2X%p4%2.2X,
+	use=d412-unix,
+d412-unix-25|d462-unix-25|d412+25|d462+25|Data General DASHER D412+/D462+ series in Unix mode with 25 lines,
+	lines#25,
+	is3=^^Fz2,
+	wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{24}%p2
+	     %>%t000%;\036FX%p3%2.2X%p4%2.2X,
+	use=d462+,
+d412-unix-s|d462-unix-s|d412+s|d462+s|Data General DASHER D412+/D462+ in Unix mode with status line,
+	eslok, hs,
+	clear=\036FG\036PH, fsl=\036F}01\022,
+	is3=\036Fz2\036F}00\036FB180000\036F}01, ll@,
+	tsl=\036F}00\036FP%p1%2.2X18\036PG,
+	wind=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2
+	     %>%t%{23}%p2%-%2.2X0%;000\036FX%p3%2.2X%p4%2.2X,
+	use=d462+,
+
+#	Relative cursor motions are confined to the current window,
+#	which is not what the scrolling region specification expects.
+#	Thus, relative vertical cursor positioning must be deleted.
+d412-unix-sr|d462-unix-sr|d412+sr|d462+sr|Data General DASHER D412+/D462+ in Unix mode with scrolling region,
+	csr=\036FB%?%p1%t%p1%2.2X0%;%p2%p1%-%{1}%+%2.2X0%?%{23}%p2%>
+	    %t000%;,
+	cud1@, cuu1@, ll@, use=d462+,
+
+d413-unix|d463-unix|Data General DASHER D413/D463 series in DG-UNIX mode,
+	use=d412-unix,
+d413-unix-w|d463-unix-w|Data General DASHER D413/D463 series in wide DG-UNIX mode,
+	use=d412-unix-w,
+d413-unix-25|d463-unix-25|Data General DASHER D413/D463 series in DG-UNIX mode with 25 lines,
+	use=d412-unix-25,
+d413-unix-s|d463-unix-s|Data General DASHER D413/D463 in DG-UNIX mode with status line,
+	use=d412-unix-s,
+d413-unix-sr|d463-unix-sr|Data General DASHER D413/D463 in DG-UNIX mode with scrolling region,
+	use=d412-unix-sr,
+
+d414-unix|d464-unix|Data General D414/D464 in DG-UNIX mode,
+	use=d413-unix,
+d414-unix-w|d464-unix-w|Data General D414/D464 in wide DG-UNIX mode,
+	use=d413-unix-w,
+d414-unix-25|d464-unix-25|Data General D414/D464 in DG-UNIX mode with 25 lines,
+	use=d413-unix-25,
+d414-unix-s|d464-unix-s|Data General D414/D464 in DG-UNIX mode with status line,
+	use=d413-unix-s,
+d414-unix-sr|d464-unix-sr|Data General D414/D464 in DG-UNIX mode with scrolling region,
+	use=d413-unix-sr,
+
+d430c-dg|d430-dg|Data General D430C in DG mode,
+	use=d413-dg, use=dg+fixed,
+d430c-dg-ccc|d430-dg-ccc|Data General D430C in DG mode with configurable colors,
+	use=d413-dg, use=dg+ccc,
+
+d430c-unix|d430-unix|Data General D430C in DG-UNIX mode,
+	use=d413-unix, use=dgunix+fixed,
+d430c-unix-w|d430-unix-w|Data General D430C in wide DG-UNIX mode,
+	use=d413-unix-w, use=dgunix+fixed,
+d430c-unix-25|d430-unix-25|Data General D430C in DG-UNIX mode with 25 lines,
+	use=d413-unix-25, use=dgunix+fixed,
+d430c-unix-s|d430-unix-s|Data General D430C in DG-UNIX mode with status line,
+	use=d413-unix-s, use=dgunix+fixed,
+d430c-unix-sr|d430-unix-sr|Data General D430C in DG-UNIX mode with scrolling region,
+	use=d413-unix-sr, use=dgunix+fixed,
+d430c-unix-ccc|d430-unix-ccc|Data General D430C in DG-UNIX mode with configurable colors,
+	use=d413-unix, use=dgunix+ccc,
+d430c-unix-w-ccc|d430-unix-w-ccc|Data General D430C in wide DG-UNIX mode with configurable colors,
+	use=d413-unix-w, use=dgunix+ccc,
+d430c-unix-25-ccc|d430-unix-25-ccc|Data General D430C in DG-UNIX mode with 25 lines and configurable colors,
+	use=d413-unix-25, use=dgunix+ccc,
+d430c-unix-s-ccc|d430-unix-s-ccc|Data General D430C in DG-UNIX mode with status line and configurable colors,
+	use=d413-unix-s, use=dgunix+ccc,
+d430c-unix-sr-ccc|d430-unix-sr-ccc|Data General D430C in DG-UNIX mode with scrolling region and configurable colors,
+	use=d413-unix-sr, use=dgunix+ccc,
+
+# DASHER D470C color terminal in ANSI mode.
+# Like the D460 but with 16 colors and without a compressed mode.
+#
+# Initialization string 1 sets:
+#	\E[<0;<1;<2;<4l
+#		<0	- scrolling enabled
+#		<1	- blink enabled
+#		<2	- horizontal scrolling enabled (for alignment)
+#		<4	- print characters regardless of attributes
+#	\E[1;1;80w	- margins at columns 1 and 80
+#	\E[1;6;<2h
+#		1	- print all characters even if protected
+#		6	- character protection disabled
+#		<2	- horizontal scrolling disabled
+#	- (should reset scrolling regions, but that glitches the screen)
+#
+d470c|d470|Data General DASHER D470C,
+	is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h,
+	sgr=\E[%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p6%t4;7;%;%?%p1%t
+	    2;7;%;%?%p5%t2;%;m\E)%?%p9%t6\016%e4\017%;,
+	use=dg+color, use=d460,
+
+d470c-7b|d470-7b|Data General DASHER D470C in 7 bit mode,
+	is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h,
+	sgr=\E[%?%p3%t7;%;%?%p4%t5;%;%?%p2%t4;%;%?%p6%t4;7;%;%?%p1%t
+	    2;7;%;%?%p5%t2;%;m%?%p9%t\016%e\017%;,
+	use=dg+color, use=d460-7b,
+
+# Initialization string 2 sets:
+#	^^FQ2		- default cursor (solid rectangle)
+#	^^FW		- character protection disabled
+#	^^F\^		- horizontal scrolling enabled (for alignment)
+#	^^FX004?	- margins at columns 0 and 79
+#	^^F]		- horizontal scrolling disabled
+#	^^O		- primary character set
+#	^^FS00		- default character set (the keyboard native language)
+#	- (should reset scrolling regions, but that glitches the screen)
+#
+d470c-dg|d470-dg|Data General DASHER D470C in DG mode,
+	is2=\036FQ2\036FW\036F\^\036FX004?\036F]\036O
+	    \036FS00,
+	use=dgmode+color, use=d460-dg,
+
+# DASHER D555 terminal in ANSI mode.
+# Like a D411, but has an integrated phone.
+d555|Data General DASHER D555,
+	use=d411,
+d555-7b|Data General DASHER D555 in 7-bit mode,
+	use=d411-7b,
+d555-w|Data General DASHER D555 in wide mode,
+	use=d411-w,
+d555-7b-w|Data General DASHER D555 in wide 7-bit mode,
+	use=d411-7b-w,
+d555-dg|Data General DASHER D555 series in DG mode,
+	use=d411-dg,
+
+# DASHER D577 terminal in ANSI mode.
+# Like a D411, but acts as a keyboard for serial printers ("KSR" modes).
+d577|Data General DASHER D577,
+	use=d411,
+d577-7b|Data General DASHER D577 in 7-bit mode,
+	use=d411-7b,
+d577-w|Data General DASHER D577 in wide mode,
+	use=d411-w,
+d577-7b-w|Data General DASHER D577 in wide 7-bit mode,
+	use=d411-7b-w,
+
+d577-dg|d578-dg|Data General DASHER D577/D578 series in DG mode,
+	use=d411-dg,
+
+# DASHER D578 terminal.
+# Like a D577, but without compressed mode; like a D470C in this respect.
+#
+# Initialization string 1 sets:
+#	\E[<0;<1;<2;<4l
+#		<0	- scrolling enabled
+#		<1	- blink enabled
+#		<2	- horizontal scrolling enabled (for alignment)
+#		<4	- print characters regardless of attributes
+#	\E[1;1;80w	- margins at columns 1 and 80
+#	\E[1;6;<2h
+#		1	- print all characters even if protected
+#		6	- character protection disabled
+#		<2	- horizontal scrolling disabled
+#	- (should reset scrolling regions, but that glitches the screen)
+#
+d578|Data General DASHER D578,
+	is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, use=d577,
+d578-7b|Data General DASHER D578 in 7-bit mode,
+	is1=\E[<0;<1;<2;<4l\E[1;1;80w\E[1;6;<2h, use=d577-7b,
+
+#### Datamedia (dm)
+#
+# Datamedia was headquartered in Nashua, New Hampshire until it went
+# out of business in 1993, but the ID plates on the terminals referred
+# to the factory in Pennsauken, NJ.  The factory was sold to a PCB board
+# manufacturer which threw out all information about the terminals.
+#
+
+cs10|colorscan|Datamedia Color Scan 10,
+	msgr,
+	cols#80, lines#24,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%i%p1%02d;%p2%02dH, cuu1=\E[A, ind=\n, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smso=\E[7m, smul=\E[4m, use=ansi+erase,
+
+cs10-w|Datamedia Color Scan 10 with 132 columns,
+	cols#132,
+	cup=\E[%i%p1%02d;%p2%03dH, use=cs10,
+
+# (dm1520: removed obsolete ":ma=^\ ^_^P^YH:" -- esr)
+dm1520|dm1521|Datamedia 1520,
+	OTbs, am, xenl,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	home=^Y, ht=^I, ind=\n, kcub1=^H, kcud1=\n, kcuf1=^\, kcuu1=^_,
+	khome=^Y,
+# dm2500: this terminal has both <ich> and <smir>. Applications using
+# termcap/terminfo directly (rather than through ncurses) might be confused.
+dm2500|datamedia2500|Datamedia 2500,
+	OTbs, OTnc,
+	cols#80, lines#24,
+	bel=^G, clear=^^^^^?, cub1=^H, cud1=\n, cuf1=^\,
+	cup=\014%p2%{96}%^%c%p1%{96}%^%c, cuu1=^Z,
+	dch1=\020\010\030\035$<10*>,
+	dl1=\020\032\030\035$<10*>, el=^W, home=^B,
+	ich1=\020\034\030\035$<10*>,
+	il1=\020\n\030\035\030\035$<15>, ind=\n, pad=\377,
+	rmdc=^X^], rmir=\377\377\030\035$<10>, rmso=^X^],
+	smdc=^P, smir=^P, smso=^N,
+# dmchat is like DM2500, but DOES need "all that padding" (jcm 1/31/82)
+# also, has a meta-key.
+# From: <goldberger@su-csli.arpa>
+# (dmchat: ":MT:" changed to ":km:" -- esr)
+dmchat|dmchat version of Datamedia 2500,
+	km,
+	dl1=\020\032\030\035$<2/>,
+	il1=\020\n\030\035\030\035$<1*/>, use=dm2500,
+# (dm3025: ":MT:" changed to ":km:" -- esr)
+dm3025|Datamedia 3025a,
+	OTbs, km,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\EM$<2>, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA,
+	dch1=\010$<6>, dl1=\EP\EA\EQ$<130>, ed=\EJ$<2>, el=\EK,
+	home=\EH, ht=^I, il1=\EP\n\EQ$<130>, ind=\n, ip=$<6>,
+	is2=\EQ\EU\EV, rmdc=\EQ, rmir=\EQ, rmso=\EO0, smdc=\EP,
+	smir=\EP, smso=\EO1,
+dm3045|Datamedia 3045a,
+	am, eo, km@, ul, xenl,
+	dch1=\EB$<6>, dl1@, il1@, is2=\EU\EV, kcuf1=\EC, kcuu1=\EA,
+	kf0=\Ey\r, kf9=\Ex\r, khome=\EH, pad=^?, rmdc@, rmir=\EP,
+	rmso@, smdc@, smso@, use=dm3025, use=hp+pfk+cr,
+# Datamedia DT80 soft switches:
+# 1	0=Jump  1=Smooth
+#	Autorepeat	0=off  1=on
+#	Screen		0=Dark 1=light
+#	Cursor		0=u/l  1=block
+#
+# 2	Margin Bell	0=off  1=on
+#	Keyclick	0=off  1=on
+#	ANSI/VT52	0=VT52 1=ANSI
+#	Xon/Xoff	0=Off  1=On
+#
+# 3	Shift3		0=Hash 1=UK Pound
+#	Wrap		0=Off  1=On
+#	Newline		0=Off  1=On
+#	Interlace	0=Off  1=On
+#
+# 4	Parity		0=Odd  1=Even
+#	Parity		0=Off  1=On
+#	Bits/Char	0=7    1=8
+#	Power		0=60Hz 1=50Hz
+#
+# 5	Line Interface  0=EIA  1=Loop
+#	Aux Interface	0=EIA  1=Loop
+#	Local Copy	0=Off  1=On
+#	Spare
+#
+# 6	Aux Parity	0=Odd  1=Even
+#	Aux Parity	0=Off  1=On
+#	Aux Bits/Char	0=7    1=8
+#	CRT Saver	0=Off  1=On
+# dm80/1 is a VT100 lookalike, but it doesn't seem to need any padding.
+dm80|dmdt80|dt80|Datamedia dt80/1,
+	clear=\E[2J\E[H, cuf1=\E[C, cup=%i\E[%p1%d;%p2%dH,
+	cuu1=\E[A, ed=\E[J, el=\E[K, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i,
+	ri=\EM, rmso=\E[m, rmul=\E[m, sgr0=\E[m\017$<2>,
+	smso=\E[7m, smul=\E[4m, use=vt100+4bsd,
+# except in 132 column mode, where it needs a little padding.
+# This is still less padding than the VT100, and you can always turn on
+# the ^S/^Q handshaking, so you can use VT100 flavors for things like
+# reverse video.
+dm80w|dmdt80w|dt80w|Datamedia dt80/1 in 132 char mode,
+	cols#132,
+	clear=\E[H\E[2J$<50/>, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<5/>,
+	ed=\E[0J$<20/>, el=\E[0K$<20/>, use=dm80,
+# From: Adam Thompson <athompso@pangea.ca> Sept 10 1995
+dt80-sas|Datamedia DT803/DTX for SAS usage,
+	am, bw,
+	cols#80, lines#24,
+	acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~,
+	bel=^G, clear=^L, cr=\r,
+	csr=\E=%p1%{32}%+%c%{32}%c\E#1\E=%p2%{32}%+%c%{32}%c\E#2,
+	cub1=^H, cud1=\EB, cuf1=^\,
+	cup=\E=%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, dl1=\EM, ed=^K,
+	el=^], ff=^L, home=^Y, ht=^I, hts=\E'1, il1=\EL, ind=\EB,
+	is2=\E)0\E<\EP\E'0\E$2, kclr=^L, kcub1=^H, kcud1=\n,
+	kcuf1=^\, kcuu1=^_, ked=^K, kel=^], khome=^Y, mc4=^O, mc5=^N,
+	rev=\E$2\004, ri=\EI, rmacs=\EG, rmso=^X, sgr0=^X, smacs=\EF,
+	smso=\E$2\004, tbc=\E'0,
+
+# Datamedia Excel 62, 64 from Gould/SEL UTX/32 via BRL
+# These aren't end-all Excel termcaps; but do insert/delete char/line
+# and name some of the extra function keys.  (Mike Feldman ccvaxa!feldman)
+# The naming convention has been bent somewhat, with the use of E? (where
+# E is for 'Excel') as # a name.  This was done to distinguish the entries
+# from the other Datamedias in use here, and yet to associate a model of
+# the Excel terminals with the regular datamedia terminals that share
+# major characteristics.
+excel62|excel64|Datamedia Excel 62,
+	dch1=\E[P, kbs=^H, kcub1=^H, kcud1=\n, kf5=\EOu, kf6=\EOv,
+	kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l, smir=\E[4h,
+	use=dt80,
+excel62-w|excel64-w|Datamedia Excel 62 in 132 char mode,
+	dch1=\E[P, kbs=^H, kcub1=^H, kcud1=\n, kf5=\EOu, kf6=\EOv,
+	kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l, smir=\E[4h,
+	use=dt80w,
+excel62-rv|excel64-rv|Datamedia Excel 62 in reverse video mode,
+	dch1=\E[P, flash=\E[?5l\E[?5h, kbs=^H, kcub1=^H, kcud1=\n,
+	kf5=\EOu, kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, rmir=\E[4l,
+	smir=\E[4h, use=dt80,
+
+#### Falco
+#
+#	Falco Data Products
+#	440 Potrero Avenue
+#	Sunnyvale, CA 940864-196
+#	Vox: (800)-325-2648
+#	Fax: (408)-745-7860
+#	Net: techsup@charm.sys.falco.com
+#
+# Current Falco models as of 1995 are generally ANSI-compatible and support
+# emulations of DEC VT-series, Wyse, and TeleVideo types.
+#
+
+# Test version for Falco ts-1. See <arpavax.hickman@ucb> for info
+# This terminal was released around 1983 and was discontinued long ago.
+# The standout and underline highlights are the same.
+falco|ts1|ts-1|Falco ts-1,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\E*, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET\EG0\010, home=^^, ht=^I, il1=\EE,
+	ind=\n, is2=\Eu\E3, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K,
+	kf0=^A0\r, rmir=\Er, rmso=\Eg0, rmul=\Eg0, sgr0=\Eg0,
+	smir=\Eq, smso=\Eg1, smul=\Eg1,
+falco-p|ts1p|ts-1p|Falco ts-1 with paging option,
+	OTbs, am, da, db, mir, msgr, ul,
+	cols#80, it#8, lines#24,
+	bel=^G, cbt=\EI, clear=\E*, cr=\r, cub1=^H,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, dch1=\EW, dl1=\ER,
+	ed=\EY, el=\ET\EG0\010\Eg0, ht=^I, il1=\EE, ind=\n,
+	is2=\EZ\E3\E_c, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, khome=\E[H, rmcup=\E_b, rmir=\Er, rmso=\Eg0,
+	rmul=\Eg0, sgr0=\Eg0, smcup=\E_d, smir=\Eq, smso=\Eg4,
+	smul=\Eg1, use=ansi+local1,
+
+# (ts100: I added <rmam>/<smam> based on the init string -- esr)
+ts100|ts100-sp|Falco ts100-sp,
+	mir, xenl, xon,
+	vt#3,
+	cub1=^H, cud1=\n, cuf1=\E[C$<2>, cuu1=\E[A$<2>, dch1=\E~W,
+	dl1=\E~R, ich1=\E~Q, il1=\E~E, is1=\E~)\E~ea, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rmam=\E[?7l,
+	rmkx=\E[?1l\E>,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, smam=\E[?7h,
+	smkx=\E[?1h\E=, use=ansi+csr, use=ansi+local,
+	use=decid+cpr, use=vt100+4bsd, use=vt100+fnkeys,
+
+ts100-ctxt|Falco ts-100 saving context,
+	rmcup=\E~_b, smcup=\E~_d\E[2J, use=ts100,
+
+#### Florida Computer Graphics
+#
+
+# Florida Computer Graphics Beacon System, using terminal emulator program
+# "host.com", as provided by FCG.  This description is for an early release
+# of the "host" program.  Known bug: <ed> clears the whole screen, so it's
+# commented out.
+
+# From: David Bryant <cbosg!djb> 1/7/83
+beacon|FCG Beacon System,
+	am, da, db,
+	cols#80, lines#32,
+	bel=\ESTART\r\E37\r\EEND\r$<1>,
+	blink=\ESTART\r\E61\,1\r\EEND\r, clear=\EZ$<10>, cr=\r,
+	cub1=^H, cud1=\n, cuf1=\EV,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<20>, cuu1=\EU,
+	dch1=\EW, dl1=\ER, el=\ET, home=\EH$<10>, ich1=\EQ, il1=\EE,
+	ind=\n, rev=\ESTART\r\E59\,1\r\EEND\r, rmcup=,
+	rmso=\ESTART\r\E70\,0\r\EEND\r$<20>,
+	rmul=\ESTART\r\E60\,0\r\EEND\r,
+	sgr0=\ESTART\r\E78\r\E70\,0\r\EEND\r$<20>,
+	smcup=\ESTART\r\E2\,0\r\E12\r\EEND\r$<10>,
+	smso=\ESTART\r\E70\,6\r\EEND\r$<20>,
+	smul=\ESTART\r\E60\,1\r\EEND\r,
+
+#### Fluke
+#
+
+# The f1720a differences from ANSI: no auto margin, destructive
+# tabs, # of lines, funny highlighting and underlining
+f1720|f1720a|fluke 1720A,
+	xt,
+	cols#80, lines#16, xmc#1,
+	bel=^G, clear=\E[H\E[2J, cr=\r, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, ind=\ED,
+	is2=\E[H\E[2J, kcub1=^_, kcud1=^], kcuf1=^^, kcuu1=^\,
+	ri=\EM, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m,
+	smul=\E[4m, use=ansi+local1,
+
+#### Liberty Electronics (Freedom)
+#
+#	Liberty Electronics
+#	48089 Fremont Blvd
+#	Fremont CA 94538
+#	Vox: (510)-623-6000
+#	Fax: (510)-623-7021
+
+# From: <faletti@berkeley.edu>
+# (f100: added empty <acsc> to suppress a tic warning;
+# made this relative to adm+sgr -- note that <invis> isn't
+# known to work for f100 but does on the f110. --esr)
+f100|freedom|freedom100|Liberty Freedom model 100,
+	OTbs, am, bw, hs, mir, msgr, xon,
+	cols#80, lines#24,
+	acsc=, bel=^G, cbt=\EI, clear=^Z, cr=\r, cub1=^H, cud1=\n,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dl1=\ER$<11.5*>, dsl=\Eg\Ef\r, ed=\EY, el=\ET,
+	flash=\Eb$<200>\Ed, fsl=\r, home=^^, hpa=\E]%p1%{32}%+%c,
+	ht=^I, hts=\E1, il1=\EE$<8.5*>, ind=\n, ip=$<6>,
+	is2=\Eg\Ef\r\Ed, kbs=^H, kcbt=\EI, kcub1=^H, kcud1=^V,
+	kcuf1=^L, kcuu1=^K, kf1=^A@\r, kf10=^AI\r, kf2=^AA\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^^, ri=\Ej, rmacs=\E$, rmir=\Er,
+	smacs=\E%%, smir=\Eq, tbc=\E3, tsl=\Eg\Ef,
+	vpa=\E[%p1%{32}%+%c, use=adm+sgr,
+f100-rv|freedom-rv|Liberty Freedom 100 in reverse video,
+	flash=\Ed$<200>\Eb, is2=\Eg\Ef\r\Eb, use=f100,
+# The f110 and f200 have problems with vi(1).  They use the ^V
+# code for the down cursor key. When kcud1 is defined in terminfo
+# as ^V, the Control Character Quoting capability (^V in insert mode)
+# is lost! It cannot be remapped in vi because it is necessary to enter
+# a ^V to to quote the ^V that is being remapped!!!
+#
+# f110/f200 users will have to decide whether
+# to lose the down cursor key or the quoting capability. We will opt
+# initially for leaving the quoting capability out, since use of VI
+# is not generally applicable to most interactive applications
+# (f110: added <ht>, <khome> & <kcbt> from f100 -- esr)
+f110|freedom110|Liberty Freedom 110,
+	bw@, eslok,
+	it#8, wsl#80,
+	blink=\EG2, bold=\EG0, civis=\E.1, cnorm=\E.2, cud1=^V,
+	dim=\EG@, dl1=\ER, dsl=\Ef\r, flash=\Eb$<200/>\Ed, il1=\EE,
+	ip@, is2@, kclr=^^, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET,
+	kf0=^AI\r, kf10@, kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`,
+	ri=\EJ, rmacs=\E%%, rmir=\Er\EO, smacs=\E$, smir=\EO\Eq,
+	smso=\EG<, tsl=\Ef, use=f100,
+f110-14|Liberty Freedom 110 14inch,
+	dch1@, use=f110,
+f110-w|Liberty Freedom 110 - 132 cols,
+	cols#132, use=f110,
+f110-14w|Liberty Freedom 110 14in/132 cols,
+	cols#132,
+	dch1@, use=f110,
+# (f200: added <acsc> to suppress tic warnings re <smacs>/<rmacs> --esr)
+f200|freedom200|Liberty Freedom 200,
+	OTbs, am, eslok, hs, mir, msgr, xon,
+	cols#80, it#8, lines#24, wsl#80,
+	acsc=, bel=^G, blink=\EG2, bold=\EG0, cbt=\EI, civis=\E.0,
+	clear=^Z, cnorm=\E.1, cr=\r,
+	csr=\Em0%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=^V,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dim=\EG@, dl1=\ER, dsl=\Ef\r, ed=\EY, el=\ET,
+	flash=\Eo$<200/>\En, fsl=\r, home=^^,
+	hpa=\E]%p1%{32}%+%c, hts=\E1, il1=\EE, ind=\n, kbs=^H,
+	kclr=^^, kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW,
+	kdl1=\ER, ked=\EY, kel=\ET, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, kich1=\EQ, kil1=\EE, mc4=\Ea, mc5=\E`,
+	ri=\EJ, rmacs=\E%%, rmir=\Er, smacs=\E$, smir=\Eq, smso=\EG<,
+	tbc=\E3, tsl=\Ef, vpa=\E[%p1%{32}%+%c, use=adm+sgr,
+f200-w|Liberty Freedom 200 - 132 cols,
+	cols#132, use=f200,
+# The f200 has the ability to reprogram the down cursor key. The key is
+# reprogrammed to ^J (linefeed). This value is remembered in non-volatile RAM,
+# so powering the terminal off and on will not cause the change to be lost.
+f200vi|Liberty Freedom 200 for vi,
+	flash=\Eb$<200/>\Ed, kcud1=\n, use=f200,
+f200vi-w|Liberty Freedom 200 - 132 cols for vi,
+	cols#132, use=f200vi,
+
+#### GraphOn (go)
+#
+#	Graphon Corporation
+#	544 Division Street
+#	Campbell, CA 95008
+#	Vox: (408)-370-4080
+#	Fax: (408)-370-5047
+#	Net: troy@graphon.com (Troy Morrison)
+#
+#
+# The go140 and go225 have been discontinued.  GraphOn now makes X terminals,
+# including one odd hybrid that starts out life on power-up as a character
+# terminal, than can be switched to X graphics mode (driven over the serial
+# line) by an escape sequence.  No info on this beast yet.
+# (go140: I added <rmam>/<smam> based on the init string -- esr)
+go140|graphon go-140,
+	OTbs,
+	cols#80, it#8, lines#24,
+	clear=\E[H\E[2J$<10/>, cub1=^H,
+	cup=\E[%i%p1%2d;%p2%2dH, dch1=\E[P, dl1=\E[M,
+	ed=\E[J$<10/>, el=\E[K, ht=^I,
+	if=/usr/share/tabset/vt100, il1=\E[L,
+	is2=\E<\E=\E[?3l\E[?7l\E(B\E[J\E7\E[;r\E8\E[m\E[q,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, ri=\EM,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[m,
+	rmul=\E[m, sgr0=\E[m, smam=\E[?7h, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, use=ansi+local1,
+
+go140w|graphon go-140 in 132 column mode,
+	am,
+	cols#132,
+	is2=\E<\E=\E[?3h\E[?7h\E(B\E[J\E7\E[;r\E8\E[m\E[q,
+	use=go140,
+# Hacked up vt200 termcap to handle GO-225/VT220
+# From: <edm@nwnexus.WA.COM>
+# (go225: I added <rmam>/<smam> based on the init string -- esr)
+go225|go-225|Graphon 225,
+	OTbs, am, mir, xenl,
+	cols#80, it#8, lines#25, vt#3,
+	blink=\E[5m, bold=\E[1m, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P, dl1=\E[M,
+	home=\E[H, ht=^I, il1=\E[L, ind=\ED,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, rev=\E[7m,
+	rf=/usr/share/tabset/vt100, ri=\EM, rmam=\E[?7l,
+	rmcup=\E[!p\E[?7h\E[2;1;1#w, rmir=\E[4l, rmkx=\E>,
+	rmso=\E[27m, rmul=\E[24m, rs1=\E[!p\E[?7h\E[2;1;1#w,
+	sgr0=\E[m, smam=\E[?7h, smcup=\E[2;0#w\E[1;25r,
+	smir=\E[4h, smkx=\E=, smso=\E[7m, smul=\E[4m,
+	use=ansi+arrows, use=ansi+csr, use=ansi+erase,
+
+#### Harris (Beehive)
+#
+# Bletch.  These guys shared the Terminal Brain Damage laurels with Hazeltine.
+# Their terminal group is ancient history now (1995) though the parent
+# company is still in business.
+#
+
+# Beehive documentation is undated and marked Preliminary and has no figures
+# so we must have early Superbee2 (Model 600, according to phone conversation
+# with mfr.). It has proved reliable except for some missing padding
+# (notably after \EK and <nl> at bottom of screen).
+#
+# The key idea is that AEP mode is poison for <cup> & that US's in
+# the local memory should be avoided like the plague. That means
+# that the 2048 character local buffer is used as 25 lines of 80
+# characters, period. No scrolling local memory, folks. It also
+# appears that we cannot use naked INS LINE feature since it uses
+# US. The sbi fakes <il1> with an 80-space insert that may be too
+# slow at low speeds; also spaces get converted to \040 which is
+# too long for some programs (not vi).  DEL LINE is ok but slow.
+#
+# The <nl> string is designed for last line of screen ONLY; cup to
+# 25th line corrects the motion inherent in scrolling to Page 1.
+#
+# There is one understood bug. It is that the screen appears to
+# pop to a new (blank) page after a <nel>, or leave a half-line
+# ellipsis to a quad that is the extra 48 memory locations. The
+# data received is dumped into memory but not displayed.  Not to
+# worry if <cup> is being used; the lines not displayed will be,
+# whenever the cursor is moved up there. Since <cup> is addressed
+# relative to MEMORY of window, nothing is lost; but beware of
+# relative cursor motion (<cuu1>,<cud1>,<cuf1>,<cub1>). Recommended,
+# therefore, is setenv MORE -c .
+#
+# WARNING: Not all features tested.
+#
+# Timings are assembled from 3 sources. Some timings may reflect
+# SB2/Model 300 that were used if more conservative.
+# Tested on a Model 600 at 1200 and 9600 bd.
+#
+# The BACKSPACEkb option is cute. The NEWLINE key, so cleverly
+# placed on the keyboard and useless because of AEP, is made
+# into a backspace key. In use ESC must be pressed twice (to send)
+# and sending ^C must be prefixed by ESC to avoid that weird
+# transmit mode associated with ENTER key.
+#
+# IF TERMINAL EVER GOES CATATONIC with the cursor buzzing across
+# the screen, then it has dropped into ENTER mode; hit
+# RESET--ONLINE--!tset.
+#
+# As delivered this machine has a FATAL feature that will throw
+# it into that strange transmit state (SPOW) if the space bar is
+# hit after a CR is received, but before receiving a LF (or a
+# few others).
+#
+# The circuits MUST be modified to eliminate the SPOW latch.
+# This is done by strapping on chip A46 of the I/O board; cut
+# the p.c. connection to Pin 5 and strap Pin 5 to Pin 8 of that
+# chip. This mod has been checked out on a Mod 600 of Superbee II.
+# With this modification absurdly high timings on cr are
+# unnecessary.
+#
+# NOTE WELL that the rear panel switch should be set to CR/LF,
+# not AEP!
+#
+sb1|Beehive SuperBee,
+	OTbs, am, bw, da, db, mir, ul, xsb,
+	cols#80, lines#25, xmc#1,
+	bel=^G, cbt=\E`$<650>, clear=\EH$<1>\EJ$<3>, cr=$<1>\r,
+	cub1=^H, cud1=\n, cuf1=\EC$<3>, cup=\EF%p2%03d%p1%03d,
+	cuu1=\EA$<3>, dch1=\EP$<3>, dl1=\EM$<100>, ed=\EJ$<3>,
+	el=\EK$<3>, home=\EH$<1>, ht=^I, hts=\E1,
+	il1=\EN\EL$<3>\EQ\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+	    \s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+	    \s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s\s
+	    \s\s\s\s\s\EP$<3>\s\EO\ER\EA$<3>,
+	ind=\n, is2=\EE$<3>\EX\EZ\EO\Eb\Eg\ER, kbs=^_, kdl1=\EM,
+	ked=\EJ, kel=\EK, kf0=\E2, kf9=\E1, khome=\EH, kich1=\EQ\EO,
+	krmir=\ER, lf0=TAB CLEAR, lf9=TAB SET, rmcup=, rmir=\ER,
+	rmso=\E_3, rmul=\E_3, sgr0=\E_3, smcup=\EO, smir=\EQ\EO,
+	smso=\E_1, smul=\E_0, tbc=\E3, use=hp+pfk-cr,
+	use=vt52+arrows,
+sbi|superbee|Beehive SuperBee at Indiana U.,
+	xsb,
+	cr=\r$<1>, il1=\EN$<1>\EL$<9>\EQ \EP$<9> \EO\ER\EA,
+	use=sb1,
+# Alternate (older) description of Superbee - f1=escape, f2=^C.
+# Note: there are at least 3 kinds of superbees in the world.  The sb1
+# holds onto escapes and botches ^C's.  The sb2 is the best of the 3.
+# The sb3 puts garbage on the bottom of the screen when you scroll with
+# the switch in the back set to CRLF instead of AEP.  This description
+# is tested on the sb2 but should work on all with either switch setting.
+# The f1/f2 business is for the sb1 and the <xsb> can be taken out for
+# the other two if you want to try to hit that tiny escape key.
+# This description is tricky: being able to use cup depends on there being
+# 2048 bytes of memory and the hairy <nl> string.
+superbee-xsb|Beehive SuperBee (improved),
+	am, da, db, xsb,
+	cols#80, it#8, lines#25,
+	clear=\EH\EJ$<3>, cnorm=\n, cr=\r$<1000>, cub1=^H, cud1=\n,
+	cuf1=\EC, cup=\EF%p2%3d%p1%3d, cuu1=\EA$<3>,
+	dch1=\EP$<3>, dl1=\EM$<100>, ed=\EJ$<3>, el=\EK$<3>,
+	home=\EH, ht=^I, hts=\E1,
+	ind=\n\0\0\0\n\0\0\0\EA\EK\0\0\0\ET\ET, is2=\EH\EJ,
+	khome=\EH, rmso=\E_3, sgr0=\E_3, smso=\E_1, tbc=\E3,
+	use=hp+pfk-cr, use=vt52+arrows,
+# This loses on lines > 80 chars long, use at your own risk
+superbeeic|SuperBee with insert char,
+	ich1=, rmir=\ER, smir=\EQ, use=superbee-xsb,
+sb2|sb3|fixed SuperBee,
+	xsb@, use=superbee,
+
+#### Beehive Medical Electronics
+#
+# Steve Seymour <srseymour@mindspring.com> writes (Wed, 03 Feb 1999):
+# Regarding your question though; Beehive terminals weren't made by Harris.
+# They were made by Beehive Medical Electronics in Utah. They went out of
+# business in the early '80s.
+#
+# (OK, then, I don't know why a couple of these say "Harris Beehive".)
+#
+
+# Reports are that most of these Beehive entries (except superbee) have not
+# been tested and do not work right.  <rmso> is a trouble spot.  Be warned.
+
+# (bee: <ich1> was empty, which is obviously bogus -- esr)
+beehive|bee|Harris Beehive,
+	OTbs, am, mir,
+	cols#80, lines#24,
+	cbt=\E>, clear=\EE, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EF%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EP,
+	dl1=\EM, ed=\EJ, el=\EK, home=\EH, il1=\EL, kbs=^H, kcbt=\E>,
+	kclr=\EE, kdch1=\EP, kdl1=\EM, kel=\EK, khome=\EH, kich1=\EQ,
+	kil1=\EL, krmir=\E@, rmir=\E@, rmso=\Ed@, rmul=\Ed@,
+	sgr0=\Ed@, smir=\EQ, smso=\EdP, smul=\Ed`, use=vt52+arrows,
+# set tab is ^F, clear (one) tab is ^V, no way to clear all tabs.
+# good grief - does this entry make :sg:/:ug: when it doesn't have to?
+# look at those spaces in <rmso>/<smso>.  Seems strange to me...
+# (beehive: <if=/usr/share/tabset/beehive> removed, no such file.  If you
+# really care, cook up one using ^F -- esr)
+beehive3|bh3m|beehiveIIIm|Harris Beehive 3m,
+	OTbs, am,
+	cols#80, it#8, lines#20,
+	bel=^G, clear=^E^R, cr=\r, cub1=^H, cud1=\n, cuf1=^L, cuu1=^K,
+	dl1=\021$<350>, ed=^R, el=^P, home=^E, ht=^I, hts=^F,
+	il1=\023$<160>, ind=\n, ll=^E^K, rmso=\s^_, smso=^]\s,
+beehive4|bh4|Beehive 4,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\EE, cr=\r, cub1=\ED, cud1=\n, cuf1=\EC,
+	cuu1=\EA, ed=\EJ, el=\EK, home=\EH, ind=\n,
+# There was an early Australian kit-built computer called a "Microbee".
+# It's not clear whether this is for one of those or for a relative
+# of the Beehive.
+microb|microbee|Micro Bee series,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\EE, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EF%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EK, ht=^I, ind=\n, kf9=\Ex, khome=\EH, rmso=\Ed@,
+	rmul=\Ed@, sgr0=\Ed@, smso=\s\EdP, smul=\Ed`,
+	use=hp+pfk-cr, use=vt52+arrows,
+
+# 8675, 8686, and bee from Cyrus Rahman
+# (8675: changed k10, k11...k16 to k;, F1...F6 -- esr)
+ha8675|Harris 8675,
+	is2=\ES\E#\E*\Eh\Em\E?\E1\E9\E@\EX\EU, kf1=^F,
+	kf10=\Ed, kf11=^W, kf12=\ER, kf13=\EE, kf14=\EI, kf15=\Ei,
+	kf16=\Eg, kf2=^P, kf3=^N, kf4=^V, kf5=\n, kf6=^T, kf7=^H, kf8=^?,
+	kf9=\Ee, use=bee,
+# (8686: changed k10, k11...k16 to k;, F1...F6; fixed broken continuation
+# in :is: -- esr)
+ha8686|Harris 8686,
+	is2=\ES\E#\E*\Eh\Em\E?\E1\E9\E@\EX\EU\E"*Z01\E"8F35021B7C83#
+	    \E"8F45021B7D83#\E"8F55021B7E83#\E"8F65021B7F83#\E"8F750
+	    21B7383#\E"8F851BD7#\E"8F95021B7083#\E"8FA5021B7183#\E"8
+	    FB5021B7283#,
+	kf1=^B\Ep^C, kf10=\Ej, kf11=\EW, kf12=^B\E{^C,
+	kf13=^B\E|^C, kf14=^B\E}^C, kf15=^B\E~^C, kf16=^B\E^?^C,
+	kf2=^B\Eq^C, kf3=^B\Er^C, kf4=^B\Es^C, kf5=\E3, kf6=\EI,
+	kf7=\ER, kf8=\EJ, kf9=\E(, use=bee,
+
+#### Hazeltine
+#
+# Hazeltine appears to be out of the terminal business as of 1995.  These
+# guys were co-owners of the Terminal Brain Damage Hall Of Fame along with
+# Harris. They have a hazeltine.com domain (but no web page there ) and can
+# be reached at:
+#
+#	Hazeltine
+#	450 East Pulaski Road
+#	Greenlawn, New York 11740
+#
+# As late as 1993, manuals for the terminal product line could still be
+# purchased from:
+#
+#	TRW Customer Service Division
+#	15 Law Drive
+#	P.O. Box 2076
+#	Fairfield, NJ 07007-2078
+#
+# They're now (1998) a subsidiary of General Electric, operating under the
+# marque "GEC-Marconi Hazeltine" and doing military avionics.  Web page
+# at <http://www.gec.com/cpd/1ncpd.htm#1.55>.
+#
+
+# Since <cuf1> is blank, when you want to erase something you
+# are out of luck.  You will have to do ^L's a lot to
+# redraw the screen.  h1000 is untested.  It doesn't work in
+# vi - this terminal is too dumb for even vi.  (The code is
+# there but it isn't debugged for this case.)
+hz1000|Hazeltine 1000,
+	OTbs,
+	cols#80, lines#12,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=\s, home=^K,
+	ind=\n,
+# From: <cbosg!ucbvax!pur-ee!cincy!chris> Thu Aug 20 09:09:18 1981
+hz1420|Hazeltine 1420,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\E^\, cr=\r, cub1=^H, cud1=\n, cuf1=^P,
+	cup=\E\021%p2%c%p1%{32}%+%c, cuu1=\E^L, dl1=\E^S,
+	ed=\E^X, el=\E^O, ht=^N, il1=\E^Z, ind=\n, rmso=\E^Y,
+	smso=\E^_,
+# New "safe" cursor movement (11/87) from <cgs@umd5.umd.edu>.  Prevents
+# freakout with out-of-range args and tn3270.  No hz since it needs to
+# receive tildes.
+hz1500|Hazeltine 1500,
+	OTbs, am, hz,
+	cols#80, lines#24,
+	bel=^G, clear=~^\, cr=\r, cub1=^H, cud1=~^K, cuf1=^P,
+	cup=~\021%p2%p2%?%{30}%>%t%{32}%+%;%{96}%+%c%p1%{96}%+%c,
+	cuu1=~^L, dl1=~\023$<40>, ed=~\030$<10>, el=~^O, home=~^R,
+	il1=~\032$<40>, ind=\n, kcub1=^H, kcud1=\n, kcuf1=^P,
+	kcuu1=~^L, khome=~^R, rmso=~^Y, smso=~^_,
+# h1510 assumed to be in sane escape mode.  Else use h1500.
+# (h1510: early versions of this entry apparently had "<rmso=\E^_>,
+# <smso=\E^Y>, but these caps were commented out in 8.3; also,
+# removed incorrect and overridden ":do=^J:" -- esr)
+hz1510|Hazeltine 1510,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\E^\, cr=\r, cub1=^H, cud1=\E^K, cuf1=^P,
+	cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S, ed=\E^X,
+	el=\E^O, il1=\E^Z, ind=\n,
+# Hazeltine 1520
+# The following switch settings are assumed for normal operation:
+#	FULL		CR		U/L_CASE	ESCAPE
+#	FORMAT_OFF	EOM_A_OFF	EOM_B_OFF	WRAPAROUND_ON
+# Other switches may be set for operator convenience or communication
+# requirements.
+hz1520|Hazeltine 1520,
+	OTbs, am, bw, msgr,
+	cols#80, lines#24,
+	bel=^G, bold=\E^_, clear=\E^\, cr=\r, cub1=^H, cud1=\n,
+	cuf1=^P, cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S,
+	ed=\E^X, el=\E^O, home=\E^R, il1=\E^Z, ind=\n, kbs=^H,
+	kclr=\E^\, kcub1=^H, kcud1=\E^K, kcuf1=^P, kcuu1=\E^L,
+	kdl1=\E^S, ked=\E^X, kel=\E^O, khome=\E^R, kil1=\E^Z,
+	rmso=\E^Y, rs1=\E$\E\005\E?\E\031, sgr0=\E^Y, smso=\E^_,
+# This version works with the escape switch off
+# (h1520: removed incorrect and overridden ":do=^J:" -- esr)
+hz1520-noesc|Hazeltine 1520 (no escape),
+	am, hz,
+	cols#80, lines#24,
+	bel=^G, clear=~^\, cr=\r, cub1=^H, cud1=~^K, cuf1=^P,
+	cup=~\021%p2%c%p1%c$<1>, cuu1=~^L, dl1=~^S, ed=~^X, el=~^O,
+	home=~^R, il1=~^Z, ind=\n, rmso=~^Y, smso=~^_,
+# Note: the h1552 appears to be the first Hazeltine terminal which
+# is not braindamaged.  It has tildes and backprimes and everything!
+# Be sure the auto lf/cr switch is set to cr.
+hz1552|Hazeltine 1552,
+	OTbs,
+	cud1=\n, dl1=\EO, il1=\EE, lf1=blue, lf2=red, lf3=green,
+	use=vt52,
+hz1552-rv|Hazeltine 1552 reverse video,
+	cud1=\n, rmso=\ET, smso=\ES, use=hz1552,
+# Note: h2000 won't work well because of a clash between upper case and ~'s.
+hz2000|Hazeltine 2000,
+	OTbs, OTnc, am,
+	cols#74, lines#27,
+	bel=^G, clear=~\034$<6>, cub1=^H, cud1=\n,
+	cup=~\021%p2%c%p1%c, dl1=~\023$<6>, home=~^R,
+	il1=~\032$<6>, ind=\n, pad=^?,
+# Date: Fri Jul 23 10:27:53 1982.  Some unknown person wrote:
+# I tested this termcap entry for the Hazeltine Esprit with vi. It seems
+# to work ok. There is one problem though if one types a lot of garbage
+# characters very fast vi seems not able to keep up and hangs while trying
+# to insert. That's in insert mode while trying to insert in the middle of
+# a line. It might be because the Esprit doesn't have insert char and delete
+# char as a built in function. Vi has to delete to end of line and then
+# redraw the rest of the line.
+esprit|Hazeltine Esprit I,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	bel=^G, cbt=\E^T, clear=\E^\, cr=\r, cub1=^H, cud1=\E^K,
+	cuf1=^P, cup=\E\021%p2%c%p1%c, cuu1=\E^L, dl1=\E^S,
+	ed=\E^W, el=\E^O, home=\E^R, il1=\E^Z, ind=\n, is2=\E?, kbs=^H,
+	kcub1=^H, kcud1=\E^K, kcuf1=^P, kcuu1=\E^L, kf0=^B0\n,
+	kf1=^B1\n, kf2=^B2\n, kf3=^B3\n, kf4=^B4\n, kf5=^B5\n,
+	kf6=^B6\n, kf7=^B7\n, kf8=^B8\n, kf9=^B9\n, khome=\E^R,
+	lf0=0, lf1=1, lf2=2, lf3=3, lf4=4, lf5=5, lf6=6, lf7=7, lf8=8, lf9=9,
+	rmkx=\E>, rmso=\E^Y, smkx=\E<, smso=\E^_,
+esprit-am|Hazeltine esprit auto-margin,
+	am, use=esprit,
+# Hazeltine Modular-1 from Cliff Shackelton <ittvax!ittral!shackelt> via BRL
+# Vi it seems always wants to send a control J for "do" and it turned out
+# that the terminal would work somewhat if the auto LF/CR was turned off.
+# (hmod1: removed :dn=~^K: -- esr)
+hmod1|Hazeltine Modular 1,
+	OTbs, am, hz,
+	cols#80, lines#24,
+	bel=^G, cbt=~^T, clear=~^\, cr=\r, cub1=^H, cud1=~^K, cuf1=^P,
+	cup=~\021%p2%c%p1%c, cuu1=~^L, dl1=~^S, home=~^R, il1=~^Z,
+	ind=\n, kcub1=^H, kcud1=~^K, kcuf1=^P, kcuu1=~^L, khome=~^R,
+	rc=~^Q, rmso=~^Y, sc=~^E, sgr0=~^Y, smso=~^_,
+#
+# Hazeltine Executive 80 Model 30 (1554?)
+#	from  Will Martin <control@ALMSA-1.ARPA> via BRL
+# Like VT100, except for different "am" behavior.
+hazel|exec80|h80|he80|Hazeltine Executive 80,
+	OTbs, OTpt, am,
+	cols#80, it#8, lines#24, vt#3,
+	OTnl=\n, bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>,
+	clear=\E[;H\E[2J$<50/>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\E[C$<2/>, cup=\E[%i%p1%d;%p2%dH$<5/>,
+	cuu1=\E[A$<2/>, ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H,
+	ht=^I, is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, rev=\E[7m$<2/>,
+	rf=/usr/share/tabset/vt100, ri=\EM$<5/>,
+	rmkx=\E[?1l\E>, rmso=\E[m$<2/>, rmul=\E[m$<2/>,
+	rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sgr0=\E[m$<2/>, smkx=\E[?1h\E=, smso=\E[7m$<2/>,
+	smul=\E[4m$<2/>, use=ansi+csr,
+
+#### IBM
+#
+
+ibm327x|line mode IBM 3270 style,
+	gn,
+	clear=\r\n, el=\r, home=\r,
+
+ibm3101|i3101|IBM 3101-10,
+	OTbs, am, xon,
+	cols#80, lines#24,
+	bel=^G, clear=\EK, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EI, home=\EH, hts=\E0, ind=\n, nel=\r\n, tbc=\EH,
+	use=vt52+arrows,
+ibm3151|IBM 3151 display,
+	is2=\E S, rmacs=\E>B, rs2=\E S,
+	sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;
+	    %?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t
+	    %{80}%|%;%c%?%p9%t\E>A%e\E>B%;,
+	sgr0=\E4@\E>B, smacs=\E>A, use=ibm3162,
+# From: Mark Easter <marke@fsi-ssd.csg.ssd.fsi.com> 29 Oct 1992
+# removed kend, knp, kpp -TD
+#
+# From: Stephen Powell <zlinuxman@wowway.com> 23 Apr 2015
+# Added ich1 (kich1 without ich1 doesn't make sense).
+# Added il1 (kil1 without il1 doesn't make sense).
+# Added xon (terminal uses XON/XOFF flow control).
+#
+ibm3161|ibm3163|wy60-316X|wyse60-316X|IBM 3161/3163 display,
+	OTbs, am, mir, msgr, xon,
+	cols#80, it#8, lines#24,
+	acsc=j\352k\353l\354m\355n\356q\361t\364u\365v\366w\367x
+	     \370,
+	bel=^G, blink=\E4D, bold=\E4H, clear=\EH\EJ, cr=\r, cub1=\ED,
+	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dch1=\EQ, dl1=\EO, ed=\EJ, el=\EI, home=\EH,
+	ich1=\EP \010, il1=\EN, ind=\n, invis=\E4P, kbs=^H, kcbt=\E2,
+	kclr=\EL\r, kctab=\E1, kdch1=\EQ, kdl1=\EO, ked=\EJ, kel=\EI,
+	kf1=\Ea\r, kf10=\Ej\r, kf11=\Ek\r, kf12=\El\r, kf13=\E!a\r,
+	kf14=\E!b\r, kf15=\E!c\r, kf16=\E!d\r, kf17=\E!e\r,
+	kf18=\E!f\r, kf19=\E!g\r, kf2=\Eb\r, kf20=\E!h\r,
+	kf21=\E!i\r, kf22=\E!j\r, kf23=\E!k\r, kf24=\E!l\r,
+	kf3=\Ec\r, kf4=\Ed\r, kf5=\Ee\r, kf6=\Ef\r, kf7=\Eg\r,
+	kf8=\Eh\r, kf9=\Ei\r, khome=\EH, khts=\E0, kich1=\EP \010,
+	kil1=\EN, ktbc=\E 1, mc4=^P^T, mc5=^P^R, rev=\E4A,
+	rmcup=\E>A, rmso=\E4@, rmul=\E4@,
+	sgr=\E4%{64}%?%p1%t%{65}%|%;%?%p2%t%{66}%|%;%?%p3%t%{65}%|%;
+	    %?%p4%t%{68}%|%;%?%p5%t%{64}%|%;%?%p6%t%{72}%|%;%?%p7%t
+	    %{80}%|%;%c%?%p9%t\E>A%e\E<@%;,
+	sgr0=\E4@\E<@, smcup=\E>A, smso=\E4A, smul=\E4B,
+	use=vt52+arrows,
+
+ibm3161-C|IBM 3161-C NLS terminal using cartridge,
+	rmcup=\E>B, s0ds=\E>B, s1ds=\E>A, smcup=\E>B, use=ibm3161,
+#
+# From: Stephen Powell <zlinuxman@wowway.com> 23 Apr 2015
+# Deleted il1.  (il1 will now be inherited from ibm3161-C, which inherits
+# it from ibm3161.
+#
+ibm3162|IBM 3162 display,
+	blink=\E4$a, bold=\E4(a, invis=\E40a, rev=\E4!a,
+	rmso=\E4>b, rmul=\E4=b, sgr0=\E4@, smso=\E4!a, smul=\E4"a,
+	use=ibm3161-C,
+
+# This really should not use setab/setaf, but it is clear that the
+# original terminfo does not toggle red/blue colors as in setb/setf.
+ibm3164|i3164|IBM 3164,
+	msgr,
+	colors#8, pairs#64,
+	op=\E4 "@, rmcup=\E!9(N\E>B, s0ds=\E>B, s1ds=\E>A,
+	setab=\E4  %p1%{64}%+%c,
+	setaf=\E4%?%p1%t %p1%{32}%+%c%e!'%;@,
+	smcup=\E!9/N\E>B, use=ibm3161,
+
+ibm5151|wy60-AT|wyse60-AT|IBM 5151 Monochrome display,
+	am, bw, msgr, xon,
+	cols#80, it#8, lines#25,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
+	     \263,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH,
+	dch1=\E[P, ech=\E[%p1%dX, home=\E[H, hpa=\E[%i%p1%dG,
+	ind=\E[S, is2=\Ec, kcbt=\E[Z, kclr=\E[144q, kdch1=\E[P,
+	ked=\E[148q, kel=\E[142q, kend=\E[146q, kf1=\E[001q,
+	kf10=\E[010q, kf11=\E[011q, kf12=\E[012q, kf13=\E[013q,
+	kf14=\E[014q, kf15=\E[015q, kf16=\E[016q, kf17=\E[017q,
+	kf18=\E[018q, kf19=\E[019q, kf2=\E[002q, kf20=\E[020q,
+	kf21=\E[021q, kf22=\E[022q, kf23=\E[023q, kf24=\E[024q,
+	kf25=\E[025q, kf26=\E[026q, kf27=\E[027q, kf28=\E[028q,
+	kf29=\E[029q, kf3=\E[003q, kf30=\E[030q, kf31=\E[031q,
+	kf32=\E[032q, kf33=\E[033q, kf34=\E[034q, kf35=\E[035q,
+	kf36=\E[036q, kf4=\E[004q, kf5=\E[005q, kf6=\E[006q,
+	kf7=\E[007q, kf8=\E[008q, kf9=\E[009q, kich1=\E[139q,
+	kil1=\E[140q, kind=\E[151q, knp=\E[154q, kpp=\E[150q,
+	kri=\E[155q, krmir=\E[4l, ri=\E[T, rmir=\E[4l, rs2=\Ec,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1
+	    %;%?%p7%t;8%;m,
+	smir=\E[4h, use=ansi+arrows, use=ansi+erase,
+	use=ansi+idl, use=ansi+local, use=ansi+sgrbold,
+	use=ecma+index,
+
+ibmaed|IBM Experimental display,
+	OTbs, am, eo, msgr,
+	cols#80, it#8, lines#52,
+	clear=\EH\EK, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ,
+	dl1=\EO, ed=\EJ, el=\EI, flash=\EG, home=\EH, ht=^I, ich1=\EP,
+	il1=\EN, kbs=^H, rmso=\E0, sgr0=\E0, smso=\E0,
+	use=vt52+arrows,
+ibm-apl|apl|IBM apl terminal simulator,
+	lines#25, use=dm1520,
+# (ibmmono: this had an unknown `sb' boolean, I changed it to `bs'.
+# Also it had ":I0=f10:" which pretty obviously should be "l0=f10" -- esr)
+ibmmono|IBM workstation monochrome,
+	eslok, hs,
+	bold=\EZ, dl1=\EM, dsl=\Ej\EY8 \EI\Ek, fsl=\Ek, il1=\EL,
+	invis=\EF\Ef0;\Eb0;, kbs=^H, kf0=\E<, kf1=\ES, kf2=\ET,
+	kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\EY,
+	khome=\EH, kich1=\0, kind=\EE, knp=\EE, kpp=\Eg, kri=\EG,
+	lf0=f10, rev=\Ep, ri=\EA, rmso=\Ez, rmul=\Ew,
+	sgr0=\Ew\Eq\Ez\EB, smso=\EZ, smul=\EW, tsl=\Ej\EY8%+ \Eo,
+	use=ibm3101,
+ibmega|IBM Enhanced Color Display,
+	ht=^I, kcub1=^H, kcud1=\n, use=ibmmono,
+# This color scheme is assumed in some recent IBM terminal descriptions
+# (green on black, emulated on a 16-color terminal).
+ibm+color|IBM color definitions,
+	colors#8, ncv#3, pairs#64,
+	op=\E[32m\E[40m,
+	setb=\E[%?%p1%{0}%=%t40m%e%p1%{1}%=%t41m%e%p1%{2}%=%t42m%e
+	     %p1%{3}%=%t43m%e%p1%{4}%=%t44m%e%p1%{5}%=%t45m%e%p1%{6}
+	     %=%t46m%e%p1%{7}%=%t107m%;,
+	setf=\E[%?%p1%{0}%=%t30m%e%p1%{1}%=%t31m%e%p1%{2}%=%t32m%e
+	     %p1%{3}%=%t33m%e%p1%{4}%=%t34m%e%p1%{5}%=%t35m%e%p1%{6}
+	     %=%t36m%e%p1%{7}%=%t97m%;,
+ibm+16color|IBM aixterm color definitions,
+	colors#16, pairs#0x100,
+	setab=\E[%?%p1%{8}%<%t%p1%{40}%+%e%p1%{92}%+%;%dm,
+	setaf=\E[%?%p1%{8}%<%t%p1%{30}%+%e%p1%{82}%+%;%dm,
+	setb=%p1%{8}%/%{6}%*%{4}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e
+	     %ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m,
+	setf=%p1%{8}%/%{6}%*%{3}%+\E[%d%p1%{8}%m%Pa%?%ga%{1}%=%t4%e
+	     %ga%{3}%=%t6%e%ga%{4}%=%t1%e%ga%{6}%=%t3%e%ga%d%;m,
+ibm5154|IBM 5154 Color display,
+	ncv@,
+	bold@, setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=ibm5151,
+	use=ibm+color,
+ibmega-c|ibm5154-c|IBM Enhanced Color Display with standout and underline,
+	rmso=\EB, rmul=\EB, smso=\EF\Ef3;, smul=\EF\Ef2;,
+	use=ibmmono,
+ibmvga-c|IBM VGA display color termcap,
+	ht=^I, kcub1=^H, kcud1=\n, use=ibmega-c,
+ibmvga|IBM VGA display,
+	use=ibmega,
+# ibmapa* and ibmmono entries come from ACIS 4.3 distribution
+rtpc|ibmapa16|IBM 6155 Extended Monochrome Graphics Display,
+	lines#32,
+	dsl=\Ej\EY@ \EI\Ek, tsl=\Ej\EY@%+ \Eo, use=ibmmono,
+ibm6155|IBM 6155 Black & White display,
+	blink@, bold@, use=ibm5151,
+# Advanced Monochrome (6153) and Color (6154) Graphics Display:
+ibmapa8c|ibmapa8|IBM 6154 Advanced Graphics Display,
+	lines#31,
+	dsl=\Ej\EY? \EI\Ek, tsl=\Ej\EY?%+ \Eo, use=ibmmono,
+ibmapa8c-c|ibm6154-c|IBM 6154 Advanced Color Graphics Display,
+	lines#31,
+	dim=\EF\Ef7;, dsl=\Ej\EY? \EI\Ek, tsl=\Ej\EY?%+ \Eo,
+	use=ibmega-c,
+ibm6154|IBM 6154 Color displays,
+	blink@, bold=\E[12m, s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p7%t;8%;%?%p6%t;1
+	    2%;m,
+	sgr0=\E[0;10m, use=ibm5154,
+ibm6153|IBM 6153 Black & White display,
+	blink@, bold=\E[12m, s0ds=\E[10m, s1ds=\E[11m, s2ds=\E[12m,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p7%t;8%;%?%p6%t;1
+	    2%;m,
+	sgr0=\E[0;10m, use=ibm5151,
+ibm6153-90|IBM 6153 Black & White display (36-line),
+	cols#90, lines#36,
+	blink@, bold@, use=ibm5151,
+ibm6153-40|IBM 6153 Black & White display (12-line),
+	cols#40, lines#12, use=ibm6153-90,
+ibm8512|ibm8513|IBM color VGA Terminal,
+	mir,
+	cub1=\E[D, is2=\Eb\E[m\017\E[?7h, kf0=\E[010q, rc=\E[u,
+	rmacs=^O, rmam=\E[?7l, rmcup=\E[20h, rmdc=\E[4l,
+	rs1=\Eb\E[m\017\E[?7h\E[H\E[J, sc=\E[s, sgr0=\E[m,
+	smacs=^N, smam=\E[?7h, smcup=\E[20;4l\E[?7h\Eb,
+	smdc=\E[4h, use=ibm8503,
+hft-c|HFT with Color,
+	acsc=jjkkllmmnnqqttuuvvwwxx, s0ds=\E(B, s1ds=\E(0,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[0m\E(B,
+	use=ibm5151, use=ibm+color,
+hft-c-old|HFT with Color PC850,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, use=ibm5151,
+	use=ibm+color,
+hft-old|AIWS High Function Terminal,
+	am, xon,
+	cols#80, lines#25,
+	bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P,
+	dl1=\E[M, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, ind=\n,
+	invis=\E[8m, kf1=\E[001q, kf2=\E[002q, kf3=\E[003q,
+	kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q,
+	kf8=\E[008q, kf9=\E[009q, knp=\E[153q, kpp=\E[159q,
+	ktbc=\E[010q, rev=\E[7m, rmir=\E6, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smir=\E6, smso=\E[7m, smul=\E[4m,
+	use=ansi+arrows, use=ansi+erase, use=ibm+color,
+
+ibm-system1|system1|IBM system/1 computer,
+	am, xt,
+	cols#80, lines#24,
+	bel=^G, clear=^Z, cub1=^H, cuf1=^\,
+	cup=\005%p1%{32}%+%c%p2%{32}%+%c, cuu1=^^, home=^K,
+	ind=\n,
+#       lft-pc850 : IBM Low Function Terminal Device
+#    lft "supports" underline, bold, and blink in the sense that the lft code
+#    sets all the right bits.  HOWEVER, depending upon the adapter, these
+#    attributes may or may not be supported by the device driver.
+lft|lft-pc850|LFT-PC850|IBM LFT PC850 Device,
+	am, bw, msgr, xon,
+	cols#80, it#8, lines#25,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
+	     \263,
+	bel=^G, cbt=\E[Z, clear=\E[H\E[J, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	ech=\E[%p1%dX, ed=\E[2J, el=\E[0K, home=\E[H,
+	hpa=\E[%i%p1%dG, ich=\E[%p1%d@, ind=\ED, is2=\Ec,
+	kcbt=\E[Z, kclr=\E[144q, kdch1=\E[P, ked=\E[148q,
+	kel=\E[142q, kend=\E[146q, kf1=\E[001q, kf10=\E[010q,
+	kf11=\E[011q, kf12=\E[012q, kf13=\E[013q, kf14=\E[014q,
+	kf15=\E[015q, kf16=\E[016q, kf17=\E[017q, kf18=\E[018q,
+	kf19=\E[019q, kf2=\E[002q, kf20=\E[020q, kf21=\E[021q,
+	kf22=\E[022q, kf23=\E[023q, kf24=\E[024q, kf25=\E[025q,
+	kf26=\E[026q, kf27=\E[027q, kf28=\E[028q, kf29=\E[029q,
+	kf3=\E[003q, kf30=\E[030q, kf31=\E[031q, kf32=\E[032q,
+	kf33=\E[033q, kf34=\E[034q, kf35=\E[035q, kf36=\E[036q,
+	kf4=\E[004q, kf5=\E[005q, kf6=\E[006q, kf7=\E[007q,
+	kf8=\E[008q, kf9=\E[009q, kich1=\E[139q, kil1=\E[140q,
+	kind=\E[151q, knp=\E[154q, kpp=\E[150q, kri=\E[155q,
+	krmir=\E[4l, ri=\EL, rmacs=\E(B, rmir=\E[4l, rmso=\E[0m,
+	rmul=\E[0m, rs2=\Ec,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1
+	    %;%?%p7%t;8%;m%?%p9%t\E(0%e\E(B%;,
+	smacs=\E(0, smir=\E[4h, tbc=\E[3g, use=ansi+arrows,
+	use=ansi+idl, use=ansi+local, use=ansi+sgrbold,
+	use=ecma+index,
+
+# "Megapel" refers to the display adapter, which was used with the IBM RT
+# aka IBM 6150.
+ibm5081|hft|IBM Megapel Color display,
+	acsc=jjkkllmmnnqqttuuvvwwxx, blink@, bold@, s0ds=\E(B,
+	s1ds=\E(0, sgr0=\E[0m\E(B, use=ibm5154,
+ibm5081-c|ibmmpel-c|IBM 5081 1024x1024 256/4096 Megapel enhanced color display,
+	lines#33,
+	dsl=\Ej\EYA \EI\Ek, tsl=\Ej\EYA%+ \Eo, use=ibmega-c,
+ibm8503|ibm8507|ibm8604|IBM 8503 B & W VGA display,
+	use=hft-c,
+ibm8514|IBM 8514/a color VGA display,
+	eslok, hs,
+	dsl=\Ej\EYI \EI\Ek, fsl=\Ek, tsl=\Ej\EYI%+ \Eo, use=hft,
+ibm8514-c|IBM 8514 color display with standout and underline,
+	lines#41,
+	dsl=\Ej\EYI \EI\Ek, ht=^I, kcub1=^H, kcud1=\n,
+	tsl=\Ej\EYI%+ \Eo, use=ibmega-c,
+
+#
+# AIX entries.  IBM ships these with AIX 3.2.5.
+# -- added rc, sc based on manpage -TD
+# -- added rmacs, smacs based on manpage -TD
+# Note that we could use ibm+16color, but that is not how IBM defines this one.
+aixterm|IBM Aixterm Terminal Emulator,
+	acsc=jjkkllmmnnqqttuuvvwwxx, bold=\E[1m, rc=\E8, ri@,
+	rmacs=\E(B, s0ds=\E(B, s1ds=\E(0, sc=\E7,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7
+	    %t;8%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\E[0;10m\E(B, smacs=\E(0, use=ibm6154,
+	use=aixterm+sl,
+aixterm+sl|status line for AIXterm,
+	eslok, hs,
+	dsl=\E[?E, fsl=\E[?F, tsl=\E[?%p1%dT,
+
+aixterm-m|IBM AIXterm Monochrome Terminal Emulator,
+	acsc=jjkkllmmnnqqttuuvvwwxx, bold=\E[1m, ri@, s0ds=\E(B,
+	s1ds=\E(0,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7
+	    %t;8%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\E[0;10m\E(B, use=ibm6153, use=aixterm+sl,
+aixterm-m-old|old IBM AIXterm Monochrome Terminal Emulator,
+	bold=\E[1m, ri@,
+	sgr=\E[0;10%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7
+	    %t;8%;m,
+	use=ibm6153, use=aixterm+sl,
+jaixterm|IBM Kanji Aixterm Terminal Eemulator,
+	acsc@, rmacs@,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7%t;8
+	    %;m,
+	sgr0=\E[m, smacs@, use=aixterm,
+jaixterm-m|IBM Kanji AIXterm Monochrome Terminal Emulator,
+	acsc@, rmacs@,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p6%t;1%;%?%p7%t;8
+	    %;m,
+	sgr0=\E[m, smacs@, use=aixterm-m,
+
+# This flavor is adapted from xterm, in turn from aixterm documentation -TD
+aixterm-16color|IBM Aixterm Terminal Emulator with 16 colors,
+	use=ibm+16color, use=aixterm,
+
+#### Infoton/General Terminal Corp.
+#
+
+# gt100 sounds like something DEC would come out with.  Let's hope they don't.
+i100|gt100|gt100a|General Terminal 100A (formerly Infoton 100),
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\Ef%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dl1=\EM,
+	ed=\EJ, el=\EK, flash=\Eb$<200/>\Ea, home=\EH, il1=\EL,
+	ind=\n, rmso=\Ea, smso=\Eb,
+
+i400|Infoton 400,
+	OTbs, am,
+	cols#80, lines#25,
+	bel=^G, clear=\E[2J, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%i%p1%3d;%p2%3dH, cuu1=\E[A,
+	dch1=\E[4h\E[2Q\E[P\E[4l\E[0Q, dl1=\E[M, el=\E[N,
+	il1=\E[L, ind=\n, rmir=\E[4l\E[0Q, smir=\E[4h\E[2Q,
+
+# (addrinfo: removed obsolete ":bc=^Z:" -- esr)
+addrinfo|cursor-addressable Infoton,
+	cup=\037%p1%c%p2%c, home=^H, use=infoton,
+
+# "VISTAR II/HZ Technical Users Manual" (May 1975).
+#
+infoton2|cursor-addressable Infoton VISTAR II,
+	cup=~\021%p2%c%p1%c, home=^H, use=infoton,
+
+# "VISTAR Technical User's Manual" (October 1972).
+#
+# (infoton: used to have the no-ops <lh#0>, <lw#0>, <nlab#0> -- esr)
+infoton|Infoton VISTAR,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^Z, cud1=\n, cuf1=^Y, cuu1=^\,
+	ed=^K, ind=\n, ll=^H^\,
+
+# The ICL6402 was actually the Kokusai Display System 6402.
+# The 6404 was the KDS7372 (color version of the 6402).
+#
+# ICL6404 control codes follow:
+#
+#code            function
+#~~~~~~~~~~~     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+#ctrl-A          set SOM position at cursor position
+#ctrl-G          Bell
+#ctrl-H          Backspace
+#ctrl-I          Horizontal tab
+#ctrl-J          Linefeed
+#ctrl-K          Cursor up
+#ctrl-L          Cursor right
+#ctrl-M          Carriage return
+#ctrl-N          Disable xon/xoff to host
+#ctrl-O          Enable xon/xoff to host
+#ctrl-R          Enable bidirectional mode
+#ctrl-T          Disable bidirectional mode
+#ctrl-V          Cursor down
+#ctrl-Z          Clear unprotected data to insert char
+#ctrl-^          Cursor home
+#ctrl-_          Newline
+#
+#ESC             lead-in char for multiple character command
+#
+#ESC space R     execute power on sequence
+#ESC ! p1 p2     define scroll region:
+#                p1 = scroll top    line:  20h - 37h
+#                p1 = scroll bottom line:  20h - 37h
+#ESC "           unlock keyboard
+#ESC #           lock keyboard
+#ESC $           Semi-graphics mode on
+#ESC %           Semi-graphics mode off
+#ESC &           protect mode on
+#ESC '           protect mode off
+#ESC (           write protect mode off (full intensity)
+#ESC )           write protect mode on (half intensity)
+#
+#ESC *           clear screen
+#ESC +           clear unprotected data to insert char
+#ESC ,           clear unprotected data to half intensity spaces
+#ESC - p1 p2 p3 p4     address cursor to page, row, column:
+#                      p1 = page number  0 - 3
+#                      p2 = row          20h - 7fh
+#                      p3 = column (lo)  20h - 7fh
+#                      p4 = column (hi)  20h - 21h (only 132 col)
+#ESC . p1        set cursor style:
+#                p1 = 0  invisible cursor
+#                p1 = 1  block blinking cursor
+#                p1 = 2  block steady cursor
+#                p1 = 3  underline blinking cursor
+#                p1 = 4  underline steady cursor
+#ESC /           transmit cursor location (page, row, column)
+#ESC 0 p1 p2 p3 p4     program edit key:
+#                      p1 = edit key code: '@'-'S', '`'-'s'
+#                      p2 p3 p4 = program data (3 bytes)
+#
+#ESC 1           set tab
+#ESC 2           clear tab at cursor
+#ESC 3           clear all tabs
+#ESC 4           send unprotect line to cursor
+#ESC 5           send unprotect page to cursor
+#ESC 6           send line to cursor
+#ESC 7           send page to cursor
+#ESC 8 n         set scroll mode:
+#                n = 0   set jump scroll
+#                n = 1   set smooth scroll
+#ESC 9 n         control display:
+#                n = 0   display off
+#                n = 1   display on
+#ESC :           clear unprotected data to null
+#ESC ;           clear unprotected data to insert char
+#
+#ESC <           keyclick on
+#ESC = p1 p2     address cursor to row, column
+#                p1 = row          20h - 7fh
+#                p2 = column (lo)  20h - 7fh
+#                p3 = column (hi)  20h - 21h (only 132 col)
+#ESC >           keyclick off
+#ESC ?           transmit cursor location (row, column)
+#
+#ESC @           copy print mode on
+#ESC A           copy print mode off
+#ESC B           block mode on
+#ESC C           block mode off (conversation mode)
+#ESC D F         set full duplex
+#ESC D H         set half duplex
+#ESC E           line insert
+#ESC F p1 p2     set page colour (p1 = f/grnd, p2 = b/grnd)
+#                0 = black, 1 = red,     2 = green, 3 = yellow
+#                4 = blue,  5 = magenta, 6 = cyan,  7 = white
+#ESC G n         set serial field attribute (n = 30h - 3Fh)
+#ESC H n         full graphics mode:
+#                n = 0  exit full graphics mode
+#                n = 1  enter full graphics mode
+#ESC I           back tab
+#ESC J           back page
+#ESC K           forward page
+#
+#ESC L           unformatted page print
+#ESC M L         move window left  (132 col mode only)
+#ESC M R         move window right (132 col mode only)
+#ESC N           set page edit (clear line edit)
+#ESC O           set line edit (clear page edit)
+#ESC P           formatted page print
+#ESC Q           character insert
+#ESC R           line delete
+#ESC S           send message unprotected only
+#ESC T           erase line to insert char
+#ESC U           set monitor mode   (see ESC X, ESC u)
+#
+#ESC V n         select video attribute mode:
+#                n = 0   serial field attribute mode
+#                n = 1   parallel character attribute mode
+#ESC V 2 n       define line attribute:
+#                n = 0   single width single height
+#                n = 1   single width double height
+#                n = 2   double width single height
+#                n = 3   double width double height
+#ESC V 3 n       select character font:
+#                n = 0   system font
+#                n = 1   user defined font
+#ESC V 4 n       select screen mode:
+#                n = 0   page screen mode
+#                n = 1   virtual screen mode
+#ESC V 5 n       control mouse mode:
+#                n = 0   disable mouse
+#                n = 1   enable sample mode
+#                n = 2   send mouse information
+#                n = 3   enable request mode
+#ESC W           character delete
+#ESC X           clear monitor mode (see ESC U, ESC u)
+#ESC Y           erase page to insert char
+#
+#ESC Z n         send user/status line:
+#                n = 0   send user line
+#                n = 1   send status line
+#                n = 2   send terminal ID
+#ESC [ p1 p2 p3  set character attribute (parallel char mode):
+#                p1: 0 = normal
+#                    1 = blank
+#                    2 = blink
+#                    3 = blink blank (= blank)
+#                    4 = reverse
+#                    5 = reverse blank
+#                    6 = reverse blink
+#                    7 = reverse blink blank (= reverse blank)
+#                    8 = underline
+#                    9 = underline blank
+#                    : = underline blink
+#                    ; = underline blink blank
+#                    < = reverse underline
+#                    = = reverse underline blank
+#                    > = reverse underline blink
+#                    ? = reverse underline blink blank
+#                p2, p3: f/grnd, b/grnd colour
+#                (see ESC F for colours)
+#                use ZZ for mono, eg.
+#                    ESC [ 0 Z Z for normal
+#                    ESC [ 4 Z Z for inverse etc.
+#
+#ESC \ n         set page size:
+#                n = 1   24 lines/page
+#                n = 2   48 lines/page
+#                n = 3   72 lines/page
+#                n = 4   96 lines/page
+#ESC ] n         set Wordstar mode:
+#                n = 0   normal (KDS7372) mode
+#                n = 1   Wordstar mode
+#
+#ESC b           set foreground colour screen
+#
+#ESC c n         enter self-test mode:
+#                n = 0   exit self test mode
+#                n = 1   ROM test
+#                n = 2   RAM test
+#                n = 3   NVRAM test
+#                n = 4   screen display test
+#                n = 5   main/printer port test
+#                n = 6   mouse port test
+#                n = 7   graphics board test
+#                n = 8   graphics memory test
+#                n = 9   display all 'E'
+#                n = :   display all 'H'
+#ESC d           set background colour screen
+#
+#ESC e n         program insert char (n = insert char)
+#ESC f text CR   load user status line with 'text'
+#
+#ESC g           display user status line on 25th line
+#ESC h           display system status line on 25th line
+#ESC i           tab
+#ESC j           reverse linefeed
+#ESC k n         duplex/local edit mode:
+#                n = 0   duplex edit mode
+#                n = 1   local edit mode
+#ESC l n         select virtual screen:
+#                n = 0   screen 1
+#                n = 1   screen 2
+#ESC m           save current config to NVRAM
+#ESC n p1        select display screen:
+#                p1 = 0  screen 1
+#                p1 = 1  screen 2
+#                p1 = 2  screen 3
+#                p1 = 3  screen 4
+#ESC o p1 p2     set characters/line and attribute:
+#                p1 = 0  80 chars/line
+#
+#ESC o p1 p2     set characters/line and attribute:
+#                p1 = 0  80 chars/line
+#                p1 = 1  132 chars/line
+#                p2 = 0  single width single height
+#                p2 = 1  single width double height
+#                p2 = 2  double width single height
+#                p2 = 3  double width double height
+#
+#ESC q           insert mode on
+#ESC r           edit mode on
+#ESC s           send message all
+#ESC t           erase line to null
+#ESC u           clear monitor mode (see ESC U, ESC X)
+#ESC v           autopage mode on
+#ESC w           autopage mode off
+#ESC x p1 p2 p3  define delimiter code...
+#ESC y           erase page to null
+#
+#ESC z 2 p1 p2 p3 p4   draw quadrangle:
+#                      p1 = starting row
+#                      p2 = starting column
+#                      p3 = end row
+#                      p4 = end column
+#
+#ESC { p1 p2 p3 p4     configure main port
+#                      (baud, stop bits, parity, word length)
+#
+#ESC | p1 p2 text Ctrl-Y    program function key with 'text':
+#                        p1 = function key code:
+#                             '1' - ';'  normal f1- f11
+#                             '<' - 'F'  shifted f1 - f11
+#                        p2 = program mode:
+#                             1 = FDX
+#                             2 = LOC
+#                             3 = HDX
+#                        Ctrl-Y = terminator
+#                        (use Ctrl-P to escape ^P, ^Y )
+#
+#ESC } p1 p2 p3 p4     configure printer port
+#                      (baud, stop bits, parity, word length)
+#ESC ~           send system status
+#
+# Codes and info from Peter Disdale <pete@pdlmail.demon.co.uk> 12 May 1997
+#
+# Entry is by esr going solely on above information and is UNTESTED.
+# This actually looks a lot like a TeleVideo 9xx.
+# This entry uses page 0 and is monochrome; I'm not brave enough to try
+# to make color work without a test terminal.  The <am> capability is a guess.
+# The initialization string sets conversation mode, blinking underline cursor,
+# full duplex, parallel attribute mode, display user status line, white
+# foreground, black background, normal highlight.
+#
+icl6404|kds7372|icl6402|kds6402|ICL 6404 aka Kokusai Display Systems 7372,
+	OTbs, am, hs,
+	cols#80, lines#24,
+	bel=^G, blink=\E[2ZZ, cbt=\EI, civis=\E.0, clear=\E*,
+	cnorm=\E.3, cr=\r, csr=\E!%p1%{32}%+%c%p2%{32}%+%c,
+	cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{80}%m%{32}%+%c%p2%{80}%>%{32}%+%c,
+	cuu1=^K, cvvis=\E.1, dch1=\EW, dl1=\ER, home=^^, ht=^I,
+	hts=\E1, il1=\EE, invis=\E[1ZZ,
+	is1=\EC\E.3\EDF\EV1\Eg\E[0ZZ, nel=^_, rev=\E[4ZZ,
+	rmir=\Er, rmso=\E[%gh%{4}%^%Ph%gh%dZZ,
+	rmul=\E[%gh%{8}%^%Ph%gh%dZZ, rs2=\Eo1,
+	sgr=\E[%'0'%?%p1%t%'8'%|%;%?%p2%t%'8'%|%;%?%p3%t%'4'%|%;%?
+	    %p4%t%'2'%|%;%?%p7%t%'1'%|%;%cZZ,
+	sgr0=\E[0ZZ, smir=\Eq, smso=\E[8ZZ, smul=\E[8ZZ, tbc=\E3,
+icl6404-w|kds7372-w|ICL 6404 aka Kokusai Display Systems 7372 132 cols,
+	rs2=\Eo1, use=icl6404,
+
+#### Interactive Systems Corp
+#
+# ISC used to sell OEMed and customized hardware to support ISC UNIX.
+# ISC UNIX still exists in 1995, but ISC itself is no more; they got
+# bought out by Sun.
+#
+
+# From: <cithep!eric>  Wed Sep 16 08:06:44 1981
+# (intext: removed obsolete ":ma=^K^P^R^L^L ::bc=^_:", also the
+# ":le=^_:" later overridden -- esr)
+intext|Interactive Systems Corporation modified owl 1200,
+	OTbs, am,
+	cols#80, it#8, lines#24, xmc#1,
+	bel=^G, cbt=^Y, clear=\014$<132>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=^^, cup=\017%p1%{32}%+%c%p2%{32}%+%c, cuu1=^\,
+	dch1=\022$<5.5*>, dl1=\021$<5.5*>, ed=\026J$<5.5*>,
+	el=^Kp^R, ht=^I, il1=\020$<5.5*>, ind=\n, ip=$<5.5*>, kbs=^H,
+	kcub1=^_, kcud1=\n, kcuf1=^^, kcuu1=^\, kf0=^VJ\r, kf1=^VA\r,
+	kf2=^VB\r, kf3=^VC\r, kf4=^VD\r, kf5=^VE\r, kf6=^VF\r,
+	kf7=^VG\r, kf8=^VH\r, kf9=^VI\r, khome=^Z, rmir=^V<,
+	rmkx=^V9, rmso=^V#\s, smir=^V;, smkx=\036:\264\026%%,
+	smso=^V$\,,
+intext2|intextii|INTERACTIVE modified owl 1251,
+	am, bw, ul,
+	cols#80, lines#24, xmc#0,
+	bel=^G, cbt=\E[Z, clear=\E[H\E[2J, cr=\r,
+	cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, ed=\E[J,
+	el=\E[K,
+	flash=\E[;;;;;;;;;2;;u$<200/>\E[;;;;;;;;;1;;u,
+	hpa=\E[%p1%{1}%+%dG, ht=^I, ich1=\E[@, il1=\E[L, ind=\E[S,
+	kbs=^H, kcub1=\ED\r, kcud1=\EB\r, kcuf1=\EC\r, kcuu1=\EA\r,
+	kf0=\E@\r, kf1=\EP\r, kf2=\EQ\r, kf3=\ES\r, kf4=\ET\r,
+	kf5=\EU\r, kf6=\EV\r, kf7=\EW\r, kf8=\EX\r, kf9=\EY\r,
+	khome=\ER\r, lf0=REFRSH, lf1=DEL CH, lf2=TABSET, lf3=GOTO,
+	lf4=+PAGE, lf5=+SRCH, lf6=-PAGE, lf7=-SRCH, lf8=LEFT,
+	lf9=RIGHT, ri=\E[T, rmso=\E[2 D, rmul=\E[2 D, smso=\E[6 D,
+	smul=\E[18 D, use=ansi+local1,
+
+#### Kimtron (abm, kt)
+#
+# Kimtron seems to be history, but as March 1998 these people are still
+# offering repair services for Kimtron equipment:
+#
+#    Com/Pair Monitor Service
+#    1105 N. Cliff Ave.
+#    Sioux Falls, South Dakota 57103
+#
+#    WATS voice:  1-800/398-4946
+#    POTS   fax: +1 605/338-8709
+#    POTS voice: +1 605/338-9650
+#         Email: <compair@sd.cybernex.net>
+#  Internet/Web: <http://www.com-pair.com>
+#
+# Kimtron entries include (undocumented) codes for: enter dim mode,
+# enter bold mode, enter reverse mode, turn off all attributes.
+#
+
+# Kimtron ABM 85 added by Dual Systems
+# (abm85: removed duplicated ":kd=^J:" -- esr)
+abm85|Kimtron ABM 85,
+	OTbs, am, bw, msgr,
+	cols#80, it#8, lines#24, xmc#1,
+	cbt=\EI, clear=\E*, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\Ey, el=\Et, ht=^I,
+	if=/usr/share/tabset/stdcrt, il1=\EE,
+	is2=\EC\EX\Eg\En\E%\Er\E(\Ek\Em\Eq, kbs=^H, kcub1=^H,
+	kcud1=\n, kcuf1=^L, kcuu1=^K, khome=^^, rmir=\Er, rmso=\Ek,
+	rmul=\Em, smir=\EQ, smso=\Ej, smul=\El,
+# Kimtron ABM 85H added by Dual Systems.
+# Some notes about the abm85h entries:
+# 1) there are several firmware revs of 85H in the world. Use abm85h-old for
+#    firmware revs prior to SP51
+# 2) Make sure to use abm85h entry if the terminal is in 85h mode and the
+#    abm85e entry if it is in tvi920 emulation mode. They are incompatible
+#    in some places and NOT software settable i.e., <is2> can't fix it)
+# 3) In 85h mode, the arrow keys and special functions transmit when
+#    the terminal is in dup-edit, and work only locally in local-edit.
+#    Vi won't swallow `del char' for instance, but <smcup> turns on
+#    dup-edit anyway so that the arrow keys will work right. If the
+#    arrow keys don't work the way you like, change <smcup>, <rmcup>, and
+#    <is2>.  Note that 920E mode does not have software commands to toggle
+#    between dup and local edit, so you get whatever was set last on the
+#    terminal.
+# 4) <flash> attribute is nice, but seems too slow to work correctly
+#    (\Eb<pad>\Ed)
+# 5) Make sure `hidden' attributes are selected. If `embedded' attributes
+#    are selected, the <xmc@> entry should be removed.
+# 6) auto new-line should be on (selectable from setup mode only)
+#
+# From: Erik Fair <fair@ucbarpa>  Sun Oct 27 07:21:05 1985
+abm85h|Kimtron ABM 85H native mode,
+	hs,
+	xmc@,
+	bel=^G, cnorm=\E.4, cvvis=\E.2, dim=\E), dsl=\Ee, flash@,
+	fsl=\r, invis@,
+	is2=\EC\EN\EX\024\016\EA\Ea\E%\E9\Ee\Er\En\E"\E}\E'\E(\Ef\r
+	    \EG0\Ed\E.4\El,
+	kcud1=^V, sgr0=\E(\EG0, smir=\EZ, tsl=\Eg\Ef, use=adm+sgr,
+	use=abm85,
+abm85e|Kimtron ABM 85H in 920E mode,
+	xmc@,
+	bel=^G, dim=\E), flash@,
+	is2=\EC\EX\EA\E%\E9\Ee\Er\En\E"\E}\E'\E(\Ef\r\Ek\Eq
+	    \Em,
+	rev=\Ej, sgr0=\E(\Ek, smir=\EZ, use=abm85,
+abm85h-old|oabm85h|o85h|Kimtron ABM 85H with old firmware rev.,
+	xmc@,
+	bel=^G, dim=\E),
+	is2=\E}\EC\EX\Ee\En\E%\Er\E(\Ek\Em\Eq\Ed\ET\EC\E9
+	    \EF,
+	rev=\Ej, sgr0=\E(\Ek, smir=\EZ, use=abm85,
+# From: <malman@bbn-vax.arpa>
+# (kt7: removed obsolete :ma=^V^J^L :" -- esr)
+kt7|kimtron model kt-7,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	cbt=\EI, clear=^Z, cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, fsl=\Eg, home=^^, ht=^I, ich1=\EQ,
+	if=/usr/share/tabset/stdcrt, il1=\EE, invis@, is2=\El\E",
+	kbs=^H, kcbt=\EI, kclr=^Z, kcub1=^H, kcud1=^V, kcuf1=^L,
+	kcuu1=^K, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET, kf0=^AI\r,
+	kf1=^A@\r, kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	kich1=\EQ, kil1=\EE, tsl=\Ef, use=adm+sgr,
+# Renamed TB=^I to :ta:, BE=^G to :bl:, BS=^H to :kb:, N to :kS: (based on the
+# other kt7 entry and the adjacent key capabilities).  Removed EE which is
+# identical to :mh:.  Removed :ES=\EGD: which is some kind of highlight
+# but we can't figure out what.
+kt7ix|kimtron model kt-7 or 70 in IX mode,
+	am, bw,
+	cols#80, it#8, lines#25,
+	acsc=jYk?lZm@nEqDt4uCvAwBx3, bel=^G, blink=\EG2, cbt=\EI,
+	civis=\E.0, clear=\E*, cnorm=\E.3, cr=\r, cub1=^H, cud1=^V,
+	cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW, dim=\EG@, dl1=\ER, dsl=\Ef\r, ed=\EY, el=\ET, fsl=\r,
+	home=^^, ht=^I, ich1=\EQ, il1=\EE, ind=\n,
+	is2=\EG0\E s\017\E~, kcbt=\EI, kclr=\E*, kdl1=\ER, ked=\EY,
+	kel=\ET, kend=\EY, kf0=^AI\r, kf1=^A@\r, kf2=^AA\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ, kil1=\EE, knp=\EJ,
+	nel=\r\n, pulse=\EK, rmacs=\E%%, rmir=, rmso=\EG0, rmul=\EG0,
+	sgr0=\EG0, smacs=\E$, smir=, smso=\EG4, smul=\EG8, tsl=\Ef,
+	use=ansi+arrows,
+
+#### Microdata/MDIS
+#
+# This was a line of terminals made by McDonnell-Douglas Information Systems.
+# These entries come direct from MDIS documentation.  I have edited them only
+# to move primary names of the form p[0-9] * to aliases, and to comment out
+# <rmacs>/<smacs> in a couple of entries without <acsc> strings.  I have
+# also removed the change history; the last version indicates this is
+# version 4.3 by A.Barkus, September 1990 (earliest entry is October 1989).
+#
+
+# McDonnell Information Systems Terminal Family History
+# =========================================
+#
+# Prism-1, Prism-2 and P99:
+#       Ancient Microdata and CMC terminals, vaguely like ADDS Regent 25.
+#
+# Prism-4 and Prism-5:
+#       Slightly less ancient range of Microdata terminals. Follow-on from
+#       Prism-2, but with many enhancements. P5 has eight display pages.
+#
+# Prism-6:
+#       A special terminal for use with library systems, primarily in Germany.
+#       Limited numbers. Similar functionality to P5 (except attributes?).
+#
+# Prism-7, Prism-8 and Prism-9:
+#       More recent range of MDIS terminals, in which P7 and P8
+#       replace the P4 & P5, with added functionality, and P9 is the flagship.
+#       The P9 has two emulation modes - P8 and ANSI - and includes a
+#       large number of the DEC VT220 control sequences. Both
+#       P8 and P9 support 80c/24ln/8pg and 132cl/24li/4pg formats.
+#
+# Prism-12 and Prism-14:
+#       Latest range, functionally very similar to the P9.  The P14 has a
+#       black-on-white overscanning screen.
+#
+# The terminfo definitions given here are:
+#
+# p2      - Prism-2 (or Prism-1 or P99).
+#
+# p4      - Prism-4 (and older P7s & P8s).
+# p5      - Prism-5 (or Prism-6).
+#
+# p7      - Prism-7.
+# p8      - Prism-8 (in national or multinational mode).
+# p8-w    - 132 column version of p8.
+# p9      - Prism-9 in ANSI mode.
+# p9-w    - 132 column version of p9.
+# p9-8    - Prism-9 in Prism-8 emulation mode.
+# p9-8-w  - As p9-8, but with 132 columns.
+#
+# p12     - Prism-12 in ANSI mode.
+# p12-w   - 132 column version of p12.
+# p12-m   - Prism-12 in MDC emulation mode.
+# p12-m-w - As p12-m, but with 132 columns.
+# p14     - Prism-14 in ANSI mode.
+# p14-w   - 132 column version of p14.
+# p14-m   - Prism-14 in MDC emulation mode.
+# p14-m-w - As p14-m, but with 132 columns.
+#
+# p2: Prism-2
+# -----------
+#
+# Includes Prism-1 and basic P99 without SP or MP loaded.
+# The simplest form of Prism-type terminal.
+# Basic cursor movement and clearing operations only.
+# No video attributes.
+# Notes:
+#  Horizontal cursor qualifiers of NUL, XON and XOFF are mapped to the next
+#  value up, followed by backspace.
+#
+prism2|MDC Prism-2,
+	am, bw, msgr,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<20>, cr=\r, cub1=^H, cud1=\n, cuf1=^F,
+	cup=\013%p1%{32}%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?
+	    %{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c,
+	cuu1=^Z, ed=\EJ, el=\EK, home=^A,
+	hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc
+	    %=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c,
+	ind=\n, kbs=^H, khome=^A, vpa=\013%p1%{32}%+%c,
+
+# p4: Prism-4
+# -----------
+#
+# Includes early versions of P7 & P8.
+# Basic family definition for most Prisms (except P2 and P9 ANSI).
+# Notes:
+#  Horizontal cursor qualifiers of NUL, XON and XOFF are mapped to the next
+#  value up, followed by backspace.
+#  Cursor key definitions removed because they interfere with vi and csh keys.
+#
+prism4|p4|P4|MDC Prism-4,
+	am, bw, hs, mc5i, msgr,
+	cols#80, lines#24, wsl#72, xmc#1,
+	bel=^G, blink=^CB, civis=\035\344, clear=\014$<20>,
+	cnorm=\035\342, cr=\r, cub1=^H, cud1=\n, cuf1=^F,
+	cup=\013%p1%{32}%+%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%Pc%?
+	    %{17}%gc%=%{19}%gc%=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c,
+	cuu1=^Z, dim=^CA, dsl=\035\343\035\345, ed=\EJ, el=\EK,
+	fsl=\035\345, home=^A,
+	hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%Pc%?%{17}%gc%=%{19}%gc
+	    %=%|%gc%!%|%t%{1}%gc%+%c%{8}%e%gc%;%c,
+	ind=\n, invis=^CH, kbs=^H, khome=^A, mc0=\EU, mc4=\ET, mc5=\ER,
+	rev=^CD, rmso=^C\s, rmul=^C\s,
+	sgr=\003%{64}%?%p1%p3%|%t%{4}%+%;%?%p2%t%{16}%+%;%?%p4%t%{2}
+	    %+%;%?%p5%t%{1}%+%;%?%p7%t%{8}%+%;%c%?%p9%t\016%e\017%;,
+	sgr0=^C\s, smso=^CD, smul=^CP, tsl=\035\343,
+	vpa=\013%p1%{32}%+%c,
+
+# p5: Prism-5
+# -----------
+#
+# Same definition as p4. Includes Prism-6 (not tested!).
+# Does not use any multi-page features.
+#
+prism5|p5|P5|MDC Prism-5,
+	use=p4,
+
+# p7: Prism-7
+# -----------
+#
+# Similar definition to p4. Uses ANSI cursor motion to avoid network problems.
+# Notes:
+#  Use p4 for very early models of P7.
+#  Rev-index removed; can't send nulls to terminal in 8-bit modes.
+#
+prism7|p7|P7|MDC Prism-7,
+	cup=\E[%i%p1%d;%p2%dH, hpa@, vpa@, use=p4,
+
+# p8: Prism-8
+# -----------
+#
+# Similar definition to p7. Uses ANSI cursor motion to avoid network problems.
+# Supports national and multinational character sets.
+# Notes:
+#  Alternate char set operations only work in multinational mode.
+#  Use p4 for very early models of P8.
+#  Rev-index removed; can't send nulls to terminal in 8-bit modes.
+# (esr: commented out <smacs>/<rmacs> because there's no <acsc>)
+#
+prism8|p8|P8|MDC Prism-8,
+	cup=\E[%i%p1%d;%p2%dH, hpa=\E[%i%p1%d`, is2=\E[<12h,
+	vpa=\E[%i%p1%dd, use=p4,
+
+# p8-w: Prism-8 in 132 column mode
+# --------------------------------
+#
+# 'Wide' version of p8.
+# Notes:
+#  Rev-index removed; can't send nulls to terminal in 8-bit modes.
+#
+prism8-w|p8-w|P8-W|MDC Prism-8 in 132 column mode,
+	cols#132,
+	is2=\E[<12h\E[<14h, use=p8,
+
+# p9: Prism-9 in ANSI mode
+# -------------------------
+#
+# The "flagship" model of this generation of terminals.
+# ANSI X3.64 (ISO 6429) standard sequences, plus many DEC VT220 ones.
+# Notes:
+#  Tabs only reset by "reset". Otherwise assumes default (8 cols).
+#  Fixes to deal with terminal firmware bugs:
+#  . 'ri' uses insert-line since rev index doesn't always
+#  . 'sgr0' has extra '0' since esc[m fails
+#  . 'fsl' & 'dsl' use illegal char since cr is actioned wrong on line 25
+#  Not covered in the current definition:
+#  . Labels
+#  . Programming Fn keys
+#  . Graphic characters (defaults correctly to vt100)
+#  . Padding values (sets xon)
+# (esr: commented out <smacs>/<rmacs> because there's no <acsc>)
+#
+prism9|p9|P9|MDC Prism-9 in ANSI mode,
+	am, bw, hs, msgr, xenl, xon,
+	cols#80, lines#24, vt#3, wsl#72,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[<4l, clear=^L,
+	cnorm=\E[<4h, cr=\r, csr=\E[%i%p1%d;%p2%d%%v, cub1=^H,
+	cud1=\n, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	dsl=\E[%}\024, ech=\E[%p1%dX, ed=\E[J$<10>, el=\E[K,
+	fsl=^T, home=\E[H, hpa=\E[%i%p1%d`, ind=\n,
+	is2=\E[&p\E[<12l\E F, kclr=^L, kf1=\E[11~, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf2=\E[12~, kf3=\E[13~, kf4=\E[14~, kf5=\E[15~, kf6=\E[17~,
+	kf7=\E[18~, kf8=\E[19~, kf9=\E[20~, nel=\r\n, prot=\E[32%{,
+	rc=\E[%z, rep=\E[%p2%db%p1%c, rev=\E[7m, ri=\E[L,
+	rmir=\E[4l, rmso=\E[27m, rmul=\E[24m,
+	rs2=\E[&p\E[<12l\E\sF\E[3g\E[9;17;25;33;41;49;57;65;73
+	    \sN,
+	sc=\E[%y,
+	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p6%t;1%;m%?
+	    %p8%t\E[32%%{%;%?%p9%t\016%e\017%;,
+	sgr0=\E[0m\017, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+	tsl=\E[%i%p1%d%%}, vpa=\E[%i%p1%dd, use=ansi+arrows,
+	use=ansi+idl, use=ansi+inittabs, use=ansi+local,
+	use=ansi+pp,
+
+# p9-w: Prism-9 in 132 column mode
+# --------------------------------
+#
+# 'Wide' version of p9.
+#
+prism9-w|p9-w|P9-W|MDC Prism-9 in 132 column mode,
+	cols#132,
+	is2=\E[&p\E[<12l\E F\E[<14h,
+	rs2=\E[&p\E[<12l\E F\E[<14h, use=p9,
+
+# p9-8: Prism-9 in P8 mode
+# ------------------------
+#
+# P9 terminal in P8 emulation mode.
+# Similar to p8 definition.
+# Insertion and deletion operations possible.
+#
+prism9-8|p9-8|P9-8|MDC Prism-9 in P8 mode,
+	dch=\E[%p1%dP, dch1=\E[P, ich=\E[%p1%d@, ich1=\E[@,
+	use=ansi+idl, use=p8,
+
+# p9-8-w: Prism-9 in P8 and 132 column modes
+# ------------------------------------------
+#
+# P9 terminal in P8 emulation mode and 132 column mode.
+#
+prism9-8-w|p9-8-w|P9-8-W|MDC Prism-9 in Prism 8 emulation and 132 column mode,
+	dch=\E[%p1%dP, dch1=\E[P, ich=\E[%p1%d@, ich1=\E[@,
+	use=ansi+idl, use=p8-w,
+
+# p12: Prism-12 in ANSI mode
+# ---------------------------
+#
+# See p9 definition.
+#
+prism12|p12|P12|MDC Prism-12 in ANSI mode,
+	use=p9,
+
+# p12-w: Prism-12 in 132 column mode
+# ----------------------------------
+#
+# 'Wide' version of p12.
+#
+prism12-w|p12-w|P12-W|MDC Prism-12 in 132 column mode,
+	use=p9-w,
+
+# p12-m: Prism-12 in MDC emulation mode
+# -------------------------------------
+#
+# P12 terminal in MDC emulation mode.
+# Similar to p8 definition.
+# Insertion and deletion operations possible.
+#
+prism12-m|p12-m|P12-M|MDC Prism-12 in MDC emulation mode,
+	use=p9-8,
+
+# p12-m-w: Prism-12 in MDC emulation and 132 column modes
+# -------------------------------------------------------
+#
+# P12 terminal in MDC emulation mode and 132 column mode.
+#
+prism12-m-w|p12-m-w|P12-M-W|MDC Prism-12 in MDC emulation and 132 column mode,
+	use=p9-8-w,
+
+# p14: Prism-14 in ANSI mode
+# ---------------------------
+#
+# See p9 definition.
+#
+prism14|p14|P14|MDC Prism-14 in ANSI mode,
+	use=p9,
+
+# p14-w: Prism-14 in 132 column mode
+# ----------------------------------
+#
+# 'Wide' version of p14.
+#
+prism14-w|p14-w|P14-W|MDC Prism-14 in 132 column mode,
+	use=p9-w,
+
+# p14-m: Prism-14 in MDC emulation mode
+# -------------------------------------
+#
+# P14 terminal in MDC emulation mode.
+# Similar to p8 definition.
+# Insertion and deletion operations possible.
+#
+prism14-m|p14-m|P14-M|MDC Prism-14 in MDC emulation mode,
+	use=p9-8,
+
+# p14-m-w: Prism-14 in MDC emulation and 132 column modes
+# -------------------------------------------------------
+#
+# P14 terminal in MDC emulation mode and 132 column mode.
+#
+prism14-m-w|p14-m-w|P14-M-W|MDC Prism-14 in MDC emulation and 132 column mode,
+	use=p9-8-w,
+
+# End of McDonnell Information Systems Prism definitions
+
+# These things were popular in the Pick database community at one time
+# From: George Land <georgeland@aol.com> 24 Sep 1996
+p8gl|prism8gl|McDonnell-Douglas Prism-8 alternate definition,
+	am, bw, hs, mir,
+	cols#80, lines#24, ma#1, wsl#78, xmc#1,
+	bel=^G, blink=^CB, clear=^L, cr=\r, cub1=^U, cud1=\n, cuf1=^F,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=^Z, dch1=\s^H, dim=^CA, dl1=^P,
+	ed=\EJ, el=\EK, home=^A, ind=\n, invis=^CH, kbs=^H, kcub1=^U,
+	kcud1=\n, kcuf1=^F, kcuu1=^Z, kdch1=\s^H, kdl1=^P, ked=\EJ,
+	kel=\EK, kf1=^A@\r, kf10=^AI\r, kf12=^AJ\r, kf13=^AK\r,
+	kf14=^AL\r, kf15=^AM\r, kf16=^AN\r, kf17=^AO\r, kf2=^AA\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^A, lf1=F1, lf10=F10, lf2=F2,
+	lf3=F3, lf4=F4, lf5=F5, lf6=F6, lf7=F7, lf8=F8, lf9=F9, nel=\n\r,
+	pad=\0, rev=^CD, rmso=^C\s, rmul=^C\s, sgr0=^C\s, smso=^CE,
+	smul=^C0,
+
+#### Microterm (act, mime)
+#
+# The mime1 entries refer to the Microterm Mime I or Mime II.
+# The default mime is assumed to be in enhanced act iv mode.
+#
+
+# New "safe" cursor movement (5/87) from <reuss@umd5.umd.edu>.  Prevents
+# freakout with out-of-range args on Sytek multiplexors.  No <smso=^N> and
+# <rmso=^N> since  it gets confused and it's too dim anyway.  No <ich1>
+# since Sytek insists ^S means xoff.
+# (act4: found ":ic=2^S:ei=:im=:ip=.1*^V:" commented out in 8.3 -- esr)
+act4|microterm|microterm act iv,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<12/>, cr=\r, cub1=^H, cud1=^K, cuf1=^X,
+	cup=\024%p1%{24}%+%c%p2%p2%?%{47}%>%t%{48}%+%;%{80}%+%c,
+	cuu1=^Z, dch1=\004$<.1*/>, dl1=\027$<2.3*/>,
+	ed=\037$<2.2*/>, el=\036$<.1*/>, home=^],
+	il1=\001<2.3*/>, ind=\n, kcub1=^H, kcud1=^K, kcuf1=^X,
+	kcuu1=^Z,
+# The padding on :sr: and :ta: for act5 and mime is a guess and not final.
+# The act 5 has hardware tabs, but they are in columns 8, 16, 24, 32, 41 (!)...
+# (microterm5: removed obsolete ":ma==^Z^P^Xl^Kj:" -- esr)
+act5|microterm5|microterm act v,
+	ri=\EH$<3>, uc=^H\EA, use=act4,
+# Mimes using brightness for standout.  Half bright is really dim unless
+# you turn up the brightness so far that lines show up on the screen.
+mime-fb|full bright mime1,
+	is2=^S\E, rmso=^S, smso=^Y, use=mime,
+mime-hb|half bright mime1,
+	is2=^Y\E, rmso=^Y, smso=^S, use=mime,
+# (mime: removed obsolete ":ma=^X ^K^J^Z^P:"; removed ":do=^K:" that overrode
+# the more plausible ":do=^J:" -- esr)
+# uc was at one time disabled to get around a curses bug, be wary of it
+mime|mime1|mime2|mimei|mimeii|microterm mime1,
+	OTbs, am,
+	cols#80, it#8, lines#24, vt#9,
+	bel=^G, clear=^]^C, cr=\r, cub1=^H, cud1=\n, cuf1=^X,
+	cup=\024%p1%{24}%+%c%p2%p2%?%{32}%>%t%{48}%+%;%{80}%+%c,
+	cuu1=^Z, dl1=\027$<80>, ed=^_, el=^^, home=^], ht=\011$<2>,
+	il1=\001$<80>, ind=\n, is2=^S\E^Q, kcub1=^H, kcud1=^K,
+	kcuf1=^X, kcuu1=^Z, ri=\022$<3>, uc=^U,
+# These termcaps (for mime2a) put the terminal in low intensity mode
+# since high intensity mode is so obnoxious.
+mime2a-s|microterm mime2a (emulating an enhanced Soroc iq120),
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\EL, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EI, dch1=\ED,
+	dl1=\027$<20*>, ed=\EJ$<20*>, el=\EK, home=^^,
+	il1=\001$<20*>, ind=\n, ip=$<2>, is2=\E), kcub1=^H, kcud1=\n,
+	kcuf1=^L, kcuu1=^K, ri=\EI, rmir=^Z, rmso=\E;, rmul=\E7,
+	smir=\EE, smso=\E:, smul=\E6,
+# This is the preferred mode (but ^X can't be used as a kill character)
+mime2a|mime2a-v|microterm mime2a (emulating an enhanced VT52),
+	OTbs,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=\EL, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=^N,
+	dl1=\027$<20*>, ed=\EQ$<20*>, el=\EP, home=\EH, ht=^I,
+	il1=\001$<20*>, ind=\n, ip=$<2>, is2=^Y, ri=\EA, rmir=^Z,
+	rmso=\E9, rmul=\E5, smir=^O, smso=\E8, smul=\E4,
+	use=vt52+arrows,
+# (mime3a: removed obsolete ":ma=^X ^K^J^Z^P:" -- esr)
+mime3a|mime1 emulating 3a,
+	am@,
+	kcud1=^K, kcuf1=^X, kcuu1=^Z, use=adm3a,
+mime3ax|mime-3ax|mime1 emulating enhanced 3a,
+	it#8,
+	dl1=\027$<80>, ed=^_, el=^X, ht=\011$<3>, il1=\001$<80>,
+	use=mime3a,
+# Wed Mar  9 18:53:21 1983
+# We run our terminals at 2400 baud, so there might be some timing problems at
+# higher speeds. The major improvements in this model are the terminal now
+# scrolls down and insert mode works without redrawing the rest of the line
+# to the right of the cursor. This is done with a bit of a kludge using the
+# exit graphics mode to get out of insert, but it does not appear to hurt
+# anything when using vi at least. If you have some users using act4s with
+# programs that use curses and graphics mode this could be a problem.
+mime314|mm314|mime 314,
+	am,
+	cols#80, lines#24,
+	clear=^L, cub1=^H, cuf1=^X, cup=\024%p1%c%p2%c, cuu1=^Z,
+	dch1=^D, dl1=^W, ed=^_, el=^^, home=^], ht=^I, il1=^A, kcub1=^H,
+	kcud1=^K, kcuf1=^X, kcuu1=^Z, rmir=^V, smir=^S,
+# Microterm mime 340 from University of Wisconsin
+mm340|mime340|mime 340,
+	cols#80, lines#24,
+	clear=\032$<12/>, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\E#$<2.1*/>, dl1=\EV$<49.6/>, ed=\037$<2*/>,
+	el=\EL$<2.1/>, ht=^I, il1=\EU$<46/>, ind=\n, is2=\E\,,
+	kbs=^H, kcub1=^H, kcud1=\n, kcuu1=^K, nel=\r\n,
+# This came from University of Wisconsin marked "astro termcap for jooss".
+# (mt4520-rv: removed obsolete ":kn#4:" and incorrect ":ri=\E[C:";
+# also added <rmam>/<smam> based  on the init string -- esr)
+mt4520-rv|micro-term 4520 reverse video,
+	am, hs, msgr, xenl, xon,
+	cols#80, it#8, lines#24, wsl#80,
+	bel=^G, cnorm=\E[0V\E8, cr=\r, cup=\E[%i%p1%d;%p2%dH,
+	cvvis=\E7\E[0U, dch=\E[%p1%dP, dch1=\E[P,
+	flash=\E[?5l$<200/>\E[?5h, fsl=\E[?5l\E[?5h, home=\E[H,
+	ht=^I, hts=\EH, ich=\E[%p1%d@, ich1=\E[@, ind=\ED,
+	is2=\E(B\E[2l\E>\E[20l\E[?3l\E[?5h\E[?7h\E[1;24r\E[24;1H\E[H
+	    \E[J,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, ll=\E[24;1H, nel=\EE,
+	rf=/usr/share/tabset/vt100, ri=\EM, rmam=\E[?7l,
+	rmso=\E[0m, rmul=\E[24m,
+	rs1=\E(B\E[2l\E>\E[20l\E[?3l\E[?5h\E[?7h\E[H\E[J,
+	sgr0=\E[m, smam=\E[?7h, smso=\E[7m, smul=\E[4m, tbc=\E[g,
+	tsl=\E[25;1H, use=ansi+arrows, use=ansi+csr,
+	use=ansi+erase, use=ansi+idl, use=ansi+local,
+
+# Fri Aug  5 08:11:57 1983
+# This entry works for the ergo 4000 with the following setups:
+# ansi,wraparound,newline disabled, xon/xoff disabled in both
+# setup a & c.
+#
+# WARNING!!! There are multiple versions of ERGO 4000 microcode
+# Be advised that very early versions DO NOT WORK RIGHT !!
+# Microterm does have a ROM exchange program- use it or lose big
+# (ergo400: added <rmam>/<smam> based on the init string -- esr)
+ergo4000|microterm ergo 4000,
+	da, db, msgr,
+	cols#80, lines#66,
+	bel=^G, clear=\E[H\E[2J$<80>, cr=\r, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, dch1=\E[1P$<80>, dl1=\E[1M$<5*>,
+	ed=\E[0J$<15>, el=\E[0K$<13>, ht=^I, il1=\E[1L$<5*>,
+	ind=\ED$<20*>,
+	is2=\E<\E=\E[?1l\E[?4l\E[?5l\E[?7h\E[?8h$<300>,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=pf1, lf2=pf2, lf3=pf3,
+	lf4=pf4, ri=\EM$<20*>, rmam=\E[?7l, rmir=\E[4l,
+	rmkx=\E=$<4>, rmso=\E[m$<20>, sgr0=\E[m$<20>,
+	smam=\E[?7m, smir=\E[4h$<6>, smkx=\E=$<4>,
+	smso=\E[7m$<20>, use=ansi+local1,
+
+#### NCR
+#
+# NCR's terminal group was merged with AT&T's when AT&T bought the company.
+# For what happened to that group, see the ADDS section.
+#
+# There is an NCR4103 terminal that's just a re-badged Wyse-50.
+#
+
+# The following vendor-supplied termcaps were captured from the Boundless
+# Technologies site, 8 March 1998.  I removed all-upper-case names that were
+# identical, except for case, to lower-case ones.  I also uncommented the acsc
+# capabilities.X
+#
+# The Intecolor emulation of the NCR 2900/260C color terminal is basically a
+# DEC VT200/300 with color capabilities added.
+ncr260intan|NCR Intecolor emulation of the 2900/260C with an ANSI keyboard,
+	colors#8, pairs#64,
+	op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	use=decid+cpr, use=ncr260vt300an,
+# The Intecolor emulation of the NCR 2900/260C color terminal is basically a
+# DEC VT200/300 with color capabilities added.
+ncr260intwan|NCR Intecolor emulation of the 2900/260C with an ANSI keyboard (132 column),
+	colors#8, pairs#64,
+	op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	use=decid+cpr, use=ncr260vt300wan,
+# The Intecolor emulation of the NCR 2900/260C color terminal is basically a
+# DEC VT200/300 with color capabilities added.
+ncr260intpp|NCR Intecolor emulation of the 2900/260C with a PC+ keyboard,
+	colors#8, pairs#64,
+	op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	use=ncr260vt300pp,
+# The Intecolor emulation of the NCR 2900/260C color terminal is basically a
+# DEC VT200/300 with color capabilities added.
+ncr260intwpp|NCR Intecolor emulation of the 2900/260C with a PC+ keyboard (132 column),
+	colors#8, pairs#64,
+	op=\E[0m, setab=\E[4%p1%dm, setaf=\E[3%p1%dm,
+	use=ncr260vt300wpp,
+# This definition for ViewPoint supports several attributes.  This means
+# that it has magic cookies (extra spaces where the attributes begin).
+# Some applications do not function well with magic cookies.  The System
+# Administrator's Shell in NCR Unix SVR4 1.03 is one such application.
+# If supporting various attributes is not vital, 'xmc#1' and the extra
+# attributes can be removed.
+# Mapping to ASCII character set ('acsc' capability) can also be
+# restored if needed.
+ncr260vppp|NCR 2900/260 viewpoint,
+	am, bw, km, mc5i, mir, msgr, xon,
+	cols#80, lines#24, nlab#32, xmc#1,
+	acsc=07a?h;j5k3l2m1n8q:t4u9v=w0x6, bel=^G, blink=\EG2,
+	cbt=\EI, civis=\E`0, clear=\014$<40>, cnorm=\E`5,
+	cr=\r$<2>, cub1=\010$<2>, cud1=\n$<2>, cuf1=\006$<2>,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<5>, cuu1=\032$<2>,
+	dch1=\EW$<2>, dim=\EGp, dl1=\El$<2>, ed=\Ek$<2>,
+	el=\EK$<2>, home=\036$<2>, ht=^I, hts=\E1, il1=\EM$<2>,
+	ind=\n$<2>, invis=\EG1,
+	is2=\Ee6\E~%$<100>\E+\E`:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0
+	    \EcC1\Ee7$<100>,
+	kDC=\El, kEND=\Ek, kHOM=^A, kPRT=\E7, kRIT=^F, ka1=^A, ka3=\EJ,
+	kbs=^H, kc1=\ET, kc3=\EJ, kcub1=^U, kcud1=\n, kcuf1=^F,
+	kcuu1=^Z, kdch1=\EW, kend=\EK, kf1=^B1\r, kf10=^B:\r,
+	kf11=^B;\r, kf12=^B<\r, kf13=^B=\r, kf14=^B>\r, kf15=^B?\r,
+	kf16=^B@\r, kf17=^B!\r, kf18=^B"\r, kf19=^B#\r, kf2=^B2\r,
+	kf20=^B$\r, kf21=^B%^M, kf22=^B&\r, kf23=^B'\r, kf24=^B(\r,
+	kf25=^B)\r, kf26=^B*\r, kf27=^B+\r, kf28=\002\,\r,
+	kf29=^B-\r, kf3=^B3\r, kf30=^B.\r, kf31=^B/\r, kf32=^B0\r,
+	kf4=^B4\r, kf5=^B5\r, kf6=^B6\r, kf7=^B7\r, kf8=^B8\r,
+	kf9=^B9\r, khome=^A, kich1=\Eq, knp=\EJ, kpp=\EJ, kprt=\EP,
+	ll=\001$<5>, mc0=\EP$<100>, mc4=^T, mc5=^R,
+	mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<5>,
+	nel=\037$<2>, rev=\EG4, ri=\Ej$<2>, rmacs=\EcB0\EH\003,
+	rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
+	rs2=\Ee6\E~%$<100>\E+\E`:\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0
+	    \EcC1\Ee7$<100>,
+	sgr0=\EG0\EH\003, smacs=\EcB1\EH\002, smir=\Eq,
+	smso=\EG4, smul=\EG8, smxon=\Ec21, use=ncr260vp+sl,
+
+ncr260vp+sl|NCR 2900/260 viewpoint with status-line,
+	hs,
+	dsl=\E`c, fsl=\r, tsl=\EF,
+
+ncr260vpwpp|NCR 2900/260 viewpoint wide mode,
+	cols#132,
+	cup=\Ea%i%p1%dR%p2%dC$<30>,
+	is2=\Ee6\E~%$<100>\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0
+	    \EcC1\Ee7$<100>,
+	rs2=\Ee6\E~%$<100>\E+\E`;\Ed/\E`1\EO\Ee4\Ec@0@\Ec@1A\EcB0
+	    \EcC1\Ee7$<100>,
+	use=ncr260vppp,
+
+ncr260vt100an|NCR 2900/260 VT100 with ANSI keyboard,
+	am, mir, msgr, xenl, xon,
+	cols#80, lines#24, nlab#32,
+	acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	clear=\E[2J\E[1;1H$<20>, cr=\r$<1>, cub=\E[%p1%dD$<5>,
+	cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>,
+	cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>,
+	cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>,
+	cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>,
+	dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, ech=\E[%p1%dX,
+	ed=\E[0J$<5>, el=\E[0K$<3>, el1=\E[1K$<3>, home=\E[H$<1>,
+	hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH, ich=\E[%p1%d@$<5>,
+	il=\E[%p1%dL$<5>, il1=\E[L$<5>, ind=\ED$<5>,
+	indn=\E[%p1%dE$<5>,
+	is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
+	    200>,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	khlp=\E[28~, kich1=\E[2~, krdo=\E[29~, nel=\EE$<5>,
+	ri=\EM$<5>, rmacs=^O, rmir=\E[4l, rmkx=\E[?1l\E>,
+	rmso=\E[0m, rmul=\E[0m,
+	rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
+	    200>,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+	sgr0=\E[0m\017$<20>, smacs=^N, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[1;7m, tbc=\E[3g,
+	vpa=\E[%p1%dd$<40>, use=ansi+csr, use=ansi+sgrbold,
+	use=decid+cpr, use=vt220+vtedit, use=vt220+cvis,
+	use=vt220+keypad, use=ncr260vt+sl,
+
+ncr260vt+sl|NCR 2900/260 VT100 status line,
+	hs,
+	dsl=\E[0$~\E[1$~, fsl=\E[0$}, tsl=\E[2$~\E[1$},
+ncr260vt100wan|NCR 2900/260 VT100 wide mode ANSI keyboard,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
+	    200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
+	    200>,
+	use=ncr260vt100an,
+ncr260vt100pp|NCR 2900/260 VT100 with PC+ keyboard,
+	ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~,
+	kend=\E[5~, khome=\E[2~, kich1=\E[1~, kpp=\E[3~, lf1=pf1,
+	lf2=pf2, lf3=pf3, lf4=pf4, rmkx=\E>, smkx=\E=,
+	use=ncr260vt100an,
+ncr260vt100wpp|NCR 2900/260 VT100 wide mode PC+  keyboard,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
+	    200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
+	    200>,
+	use=ncr260vt100pp,
+ncr260vt200an|NCR 2900/260 VT200 with ANSI keyboard,
+	am, mir, msgr, xenl, xon,
+	cols#80, lines#24, nlab#32,
+	acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	clear=\E[2J\E[1;1H$<20>, cr=\r$<1>,
+	csr=\E[%i%p1%d;%p2%dr$<5>, cub=\E[%p1%dD$<5>,
+	cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>,
+	cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>,
+	cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>,
+	cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>,
+	dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, ech=\E[%p1%dX$<5>,
+	ed=\E[0J, el=\E[0K$<5>, el1=\E[1K$<5>, home=\E[H,
+	hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH, ich=\E[%p1%d@$<5>,
+	il=\E[%p1%dL$<5>, il1=\E[L$<5>, ind=\ED$<5>,
+	indn=\E[%p1%dE$<5>,
+	is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
+	    200>,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf0=\EOy, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
+	kf21=\E[31~, kf22=\E[32~, kf23=\E[33~, kf24=\E[34~,
+	kf25=\E[35~, kf26=\E[1~, kf27=\E[2~, kf28=\E[3~,
+	kf29=\E[4~, kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, kf33=\E[8~,
+	kf34=\E[9~, kf35=\E[10~, kf5=\E[M, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khlp=\E[28~, krdo=\E[29~, mc0=\E[i,
+	mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, ri=\EM$<5>,
+	rmacs=\017$<20>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
+	rmso=\E[27m, rmul=\E[24m,
+	rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
+	    200>,
+	sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+	sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
+	smir=\E[4h, smkx=\E[?1h\E=, tbc=\E[3g,
+	vpa=\E[%p1%dd$<40>, use=ansi+sgrbold, use=decid+cpr,
+	use=vt220+vtedit, use=vt220+cvis, use=vt220+keypad,
+	use=ncr260vt+sl,
+
+ncr260vt200wan|NCR 2900/260 VT200 wide mode ANSI keyboard,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?4l\E(B\E)0\017\E[2J\E[1;1H$<200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?4l\E(B\E)0\017\E[2J\E[1;1H$<200>, use=ncr260vt200an,
+ncr260vt200pp|NCR 2900/260 VT200 with PC+ keyboard,
+	ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~,
+	kend=\E[1~, khome=\E[H, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4,
+	rmkx=\E>, smkx=\E=, use=ncr260vt200an,
+ncr260vt200wpp|NCR 2900/260 VT200 wide mode PC+  keyboard,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
+	    200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E(B\E)0\017\E[2J\E[1;1H\E>$<
+	    200>,
+	use=ncr260vt200pp,
+ncr260vt300an|NCR 2900/260 VT300 with ANSI keyboard,
+	am, mir, msgr, xenl, xon,
+	cols#80, lines#24, nlab#32,
+	acsc=``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	clear=\E[2J\E[1;1H$<20>, cr=\r$<1>,
+	csr=\E[%i%p1%d;%p2%dr$<5>, cub=\E[%p1%dD$<5>,
+	cub1=\E[D$<5>, cud=\E[%p1%dB$<5>, cud1=\E[B$<5>,
+	cuf=\E[%p1%dC$<5>, cuf1=\E[C$<5>,
+	cup=\E[%i%p1%d;%p2%dH$<10>, cuu=\E[%p1%dA$<5>,
+	cuu1=\E[A$<5>, dch=\E[%p1%dP$<5>, dch1=\E[1P$<5>,
+	dl=\E[%p1%dM$<5>, dl1=\E[M$<5>, ech=\E[%p1%dX$<5>,
+	ed=\E[0J, el=\E[0K$<5>, el1=\E[1K$<5>, home=\E[H,
+	hpa=\E[%p1%dG$<40>, ht=^I, hts=\EH, ich=\E[%p1%d@$<5>,
+	il=\E[%p1%dL$<5>, il1=\E[L$<5>, ind=\ED$<5>,
+	indn=\E[%p1%dE$<5>,
+	is2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1
+	    ;1H\E>$<200>,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf0=\EOy, kf10=\E[21~, kf11=\E[23~, kf12=\E[24~,
+	kf13=\E[25~, kf14=\E[26~, kf15=\E[28~, kf16=\E[29~,
+	kf17=\E[31~, kf18=\E[32~, kf19=\E[33~, kf20=\E[34~,
+	kf21=\E[31~, kf22=\E[32~, kf23=\E[33~, kf24=\E[34~,
+	kf25=\E[35~, kf26=\E[1~, kf27=\E[2~, kf28=\E[3~,
+	kf29=\E[4~, kf30=\E[5~, kf31=\E[6~, kf32=\E[7~, kf33=\E[8~,
+	kf34=\E[9~, kf35=\E[10~, kf5=\E[M, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, khlp=\E[28~, krdo=\E[29~, mc0=\E[i,
+	mc4=\E[4i, mc5=\E[5i, nel=\EE, rc=\E8, ri=\EM$<5>,
+	rmacs=\017$<20>, rmam=\E[?7l, rmir=\E[4l, rmkx=\E[?1l\E>,
+	rmso=\E[27m, rmul=\E[24m,
+	rs2=\E[!p\E[?7;19;67h\E[?1;3;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1
+	    ;1H\E>$<200>,
+	sc=\E7,
+	sgr=\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1%p3%|%t;7%;%?%p4%t;5
+	    %;%?%p7%t;8%;m%?%p9%t\016%e\017%;$<20>,
+	sgr0=\E[0m\017$<20>, smacs=\016$<20>, smam=\E[?7h,
+	smir=\E[4h, smkx=\E[?1h\E=, tbc=\E[3g,
+	vpa=\E[%p1%dd$<40>, use=ansi+sgrbold, use=decid+cpr,
+	use=vt220+vtedit, use=vt220+cvis, use=vt220+keypad,
+	use=ncr260vt+sl,
+
+ncr260vt300wan|NCR 2900/260 VT300 wide mode ANSI keyboard,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1
+	    H$<200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?4l\E[1;0%w\E(B\E)0\017\E[2J\E[1;1
+	    H$<200>,
+	use=ncr260vt300an,
+ncr260vt300pp|NCR 2900/260 VT300 with PC+ keyboard,
+	ka1=\E[H, ka3=\EOu, kb2=\E[V, kc3=\E[U, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[4~,
+	kend=\E[1~, khome=\E[H, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4,
+	rmkx=\E>, smkx=\E=, use=ncr260vt300an,
+ncr260vt300wpp|NCR260VT300WPP|NCR 2900/260 VT300 wide mode PC+  keyboard,
+	cols#132,
+	cup=\E[%i%p1%d;%p2%dH$<30>,
+	is2=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1
+	    ;1H\E>$<200>,
+	rs2=\E[!p\E[?3;7;19;67h\E[?1;4l\E[1;0%w\E(B\E)0\017\E[2J\E[1
+	    ;1H\E>$<200>,
+	use=ncr260vt300pp,
+# This terminfo file contains color capabilities for the Wyse325 emulation of
+# the NCR 2900/260C color terminal.  Because of the structure of the command
+# (escape sequence) used to set color attributes, one of the fore/background
+# colors must be preset to a given value. I have set the background color to
+# black.  The user can change this setup by altering the last section of the
+# 'setf' definition.  The escape sequence to set color attributes is
+#		ESC d y <foreground_color> <background_color> 1
+# In addition, the background color can be changed through the desk accessories.
+# The capability 'op' sets colors to green on black (default combination).
+#
+# NOTE:  The NCR Unix System Administrator's Shell will not function properly
+#	    if the 'pairs' capability is defined. Un-Comment the 'pairs'
+#	    capability and recompile if you wish to have it included.
+#
+ncr260wy325pp|NCR 2900/260 Wyse 325,
+	am, bw, km, mc5i, mir, msgr, xon,
+	colors#16, cols#80, lines#24, ncv#33, nlab#32,
+	acsc=07a?h;j5k3l2m1n8q:t4u9v=w0x6, bel=^G, blink=\EG2,
+	cbt=\EI, civis=\E`0, clear=\E*$<10>, cnorm=\E`1, cr=\r,
+	cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<10>, cuu1=\013$<5>,
+	cvvis=\E`5, dch1=\EW$<50>, dl1=\ER$<5>, ed=\Ey$<5>,
+	el=\Et$<5>, home=\036$<5>, ht=^I, hts=\E1, il1=\EE$<5>,
+	ind=\n$<5>, invis=\EG1,
+	is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"\Ee4\Ex@\E`9
+	    \Ee7$<100>,
+	kDC=\ER, kEND=\EY, kHOM=\E{, kNXT=\EK, kPRT=\E7, kPRV=\EJ,
+	kRIT=^L, ka1=^^, kb2=\EJ, kbs=^H, kc1=\ET, kc3=\EK, kcbt=\EI,
+	kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, kdch1=\EW, kend=\ET,
+	kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r,
+	kf14=^AM\r, kf15=^AN\r, kf16=^AO\r, kf17=^A`\r, kf18=^Aa\r,
+	kf19=^Ab\r, kf2=^AA\r, kf20=^Ac\r, kf21=^Ad\r, kf22=^Ae\r,
+	kf23=^Af\r, kf24=^Ag\r, kf25=^Ah\r, kf26=^Ai\r, kf27=^Aj\r,
+	kf28=^Ak\r, kf29=^Al\r, kf3=^AB\r, kf30=^Am\r, kf31=^An\r,
+	kf32=^Ao\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ,
+	kprt=\EP, mc0=\EP, mc4=^T, mc5=^R,
+	mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>,
+	nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH\003\EcB0,
+	rmam=\Ed., rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
+	rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"\Ee4\Ex@\E`9
+	    \Ee7$<100>,
+	setb=\s,
+	setf=%?%p1%{0}%=%t%{49}%e%p1%{1}%=%t%{50}%e%p1%{2}%=%t%{51}
+	     %e%p1%{3}%=%t%{52}%e%p1%{4}%=%t%{53}%e%p1%{5}%=%t%{54}
+	     %e%p1%{6}%=%t%{55}%e%p1%{7}%=%t%{64}%e%p1%{8}%=%t%{57}
+	     %e%p1%{9}%=%t%{58}%e%p1%{10}%=%t%{59}%e%p1%{11}%=%t
+	     %{60}%e%p1%{12}%=%t%{61}%e%p1%{13}%=%t%{62}%e%p1%{14}%=
+	     %t%{63}%e%p1%{15}%=%t%{56}%;\Edy%c11$<100>,
+	sgr0=\EG0\EcB0\EcD$<15>, smacs=\EH\002\EcB1, smam=\Ed/,
+	smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0,
+	use=ncr260vp+sl,
+ncr260wy325wpp|NCR 2900/260 Wyse 325 wide mode,
+	cols#132,
+	cup=\Ea%i%p1%dR%p2%dC$<30>,
+	is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9
+	    \Ee7$<100>,
+	rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9
+	    \Ee7$<100>,
+	use=ncr260wy325pp,
+# This definition for Wyse 350 supports several attributes.  This means
+# that it has magic cookies (extra spaces where the attributes begin).
+# Some applications do not function well with magic cookies.  The System
+# Administrator's Shell in NCR Unix SVR4 1.03 is one such application.
+# If supporting various attributes is not vital, 'xmc#1' and the extra
+# attributes can be removed.
+# Mapping to ASCII character set ('acsc' capability) can also be
+# restored if needed.
+# In addition, color capabilities have been added to this file.  The drawback,
+# however, is that the background color has to be black.  The foreground colors
+# are numbered 0 through 15.
+#
+# NOTE:  The NCR Unix System Administrator's Shell does not function properly
+#	    with the 'pairs' capability defined as below.  If you wish to
+#	    have it included, Un-comment it and recompile (using 'tic').
+#
+ncr260wy350pp|NCR 2900/260 Wyse 350,
+	colors#16, ncv#33, pairs#16,
+	acsc=07a?h;j5k3l2m1n8q:t4u9v=w0x6, cbt=\EI,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<40>, ed=\Ey$<5>,
+	el=\Et$<5>, ht=^I, hts=\E1,
+	is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"\Ee4\Ex@\E`9
+	    \Ee7$<100>,
+	mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<20>,
+	rmacs=\EH\003\EcB0,
+	rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"\Ee4\Ex@\E`9
+	    \Ee7$<100>,
+	setb=\s,
+	setf=%?%p1%{0}%=%t%{49}%e%p1%{1}%=%t%{50}%e%p1%{2}%=%t%{51}
+	     %e%p1%{3}%=%t%{52}%e%p1%{4}%=%t%{53}%e%p1%{5}%=%t%{54}
+	     %e%p1%{6}%=%t%{55}%e%p1%{7}%=%t%{102}%e%p1%{8}%=%t%{97}
+	     %e%p1%{9}%=%t%{98}%e%p1%{10}%=%t%{99}%e%p1%{11}%=%t
+	     %{101}%e%p1%{12}%=%t%{106}%e%p1%{13}%=%t%{110}%e%p1
+	     %{14}%=%t%{111}%e%p1%{15}%=%t%{56}%;\Em0%c$<100>,
+	sgr0=\EG0\EH\003\EcD, smacs=\EH\002\EcB1, tbc=\E0,
+	use=ncr260vp+sl, use=ncr160wy50+pp,
+ncr260wy350wpp|NCR 2900/260 Wyse 350 wide mode,
+	cols#132,
+	cup=\Ea%i%p1%dR%p2%dC$<30>,
+	is2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9
+	    \Ee7$<200>,
+	rs2=\Ee6\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"\Ee4\Ex@\E`9
+	    \Ee7$<200>,
+	use=ncr260wy350pp,
+# This definition for Wyse 50+ supports several attributes.  This means
+# that it has magic cookies (extra spaces where the attributes begin).
+# Some applications do not function well with magic cookies.  The System
+# Administrator's Shell in NCR Unix SVR4 1.03 is one such application.
+# If supporting various attributes is not vital, 'xmc#1' and the extra
+# attributes can be removed.
+# Mapping to ASCII character set ('acsc' capability) can also be
+# restored if needed.
+# (ncr260wy50+pp: originally contained commented-out
+# <acsc=j5k3l2m1n8q:t4u9v=w0x6>, as well as the commented-out one there -- esr)
+ncr260wy50+pp|NCR 2900/260 Wyse 50+,
+	am, bw, km, mc5i, mir, msgr, xon,
+	cols#80, lines#24, nlab#32, xmc#1,
+	acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2,
+	cbt=\EI$<5>, civis=\E`0, clear=\E+$<20>, cnorm=\E`1, cr=\r,
+	cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<30>, cuu1=\013$<5>,
+	cvvis=\E`5, dch1=\EW$<50>, dim=\EGp, dl1=\ER$<5>,
+	ed=\EY$<5>, el=\ET$<5>, home=\036$<10>, ht=\011$<5>,
+	hts=\E1$<5>, il1=\EE$<5>, ind=\n$<5>, invis=\EG1,
+	is2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"
+	    \Ee4\Ex@\E`9\Ee7$<100>,
+	kDC=\ER, kEND=\EY, kHOM=\E{, kPRT=\E7, kRIT=^L, ka1=^^, kbs=^H,
+	kc1=\ET, kc3=\EK, kcbt=\EI, kcub1=^H, kcud1=\n, kcuf1=^L,
+	kcuu1=^K, kdch1=\EW, kend=\ET, kf1=^A@\r, kf10=^AI\r,
+	kf11=^AJ\r, kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r,
+	kf16=^AO\r, kf17=^A`\r, kf18=^Aa\r, kf19=^Ab\r, kf2=^AA\r,
+	kf20=^Ac\r, kf21=^Ad\r, kf22=^Ae\r, kf23=^Af\r, kf24=^Ag\r,
+	kf25=^Ah\r, kf26=^Ai\r, kf27=^Aj\r, kf28=^Ak\r, kf29=^Al\r,
+	kf3=^AB\r, kf30=^Am\r, kf31=^An\r, kf32=^Ao\r, kf4=^AC\r,
+	kf5=^AD\r, kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r,
+	khome=^^, kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP,
+	mc0=\EP$<10>, mc4=^T, mc5=^R,
+	mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<10>,
+	nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed.,
+	rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
+	rs2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"
+	    \Ee4\Ex@\E`9\Ee7$<100>,
+	sgr0=\EG0\EH\003$<15>, smacs=\EH^B, smam=\Ed/, smir=\Eq,
+	smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0$<5>,
+	use=ncr260vp+sl,
+ncr260wy50+wpp|NCR 2900/260 Wyse 50+ wide mode,
+	cols#132,
+	cup=\Ea%i%p1%dR%p2%dC$<30>,
+	is2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"
+	    \Ee4\Ex@\E`9\Ee7$<200>,
+	rs2=\Ee6\E~"$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"
+	    \Ee4\Ex@\E`9\Ee7$<200>,
+	use=ncr260wy50+pp,
+ncr260wy60pp|NCR 2900/260 Wyse 60,
+	am, bw, km, mc5i, mir, msgr, xon,
+	cols#80, lines#24, nlab#32,
+	acsc=07a?h;j5k3l2m1n8q:t4u9v=w0x6, bel=^G, blink=\EG2,
+	cbt=\EI$<15>, civis=\E`0, clear=\E*$<100>, cnorm=\E`1,
+	cr=\r, cub1=\010$<5>, cud1=\n$<5>, cuf1=\014$<5>,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<10>, cuu1=\013$<5>,
+	cvvis=\E`5, dch1=\EW$<50>, dl1=\ER$<5>, ed=\Ey$<5>,
+	el=\Et$<5>, home=\036$<25>, ht=\011$<15>, hts=\E1$<15>,
+	il1=\EE$<5>, ind=\n$<5>, invis=\EG1,
+	is2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"
+	    \Ee4\Ex@\E`9\Ee7$<100>,
+	kDC=\ER, kEND=\EY, kHOM=\E{, kNXT=\EK, kPRT=\E7, kPRV=\EJ,
+	kRIT=^L, ka1=^^, kb2=\EJ, kbs=^H, kc1=\ET, kc3=\EK,
+	kcbt=\EI$<15>, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K,
+	kdch1=\EW, kend=\ET, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf17=^A`\r, kf18=^Aa\r, kf19=^Ab\r, kf2=^AA\r, kf20=^Ac\r,
+	kf21=^Ad\r, kf22=^Ae\r, kf23=^Af\r, kf24=^Ag\r, kf25=^Ah\r,
+	kf26=^Ai\r, kf27=^Aj\r, kf28=^Ak\r, kf29=^Al\r, kf3=^AB\r,
+	kf30=^Am\r, kf31=^An\r, kf32=^Ao\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	kich1=\Eq, knp=\EK, kpp=\EJ, kprt=\EP, mc0=\EP, mc4=^T, mc5=^R,
+	mrcup=\Ew@%p1%{48}%+%c%p2%{32}%+%c%p3%{32}%+%c$<30>,
+	nel=\037$<5>, rev=\EG4, ri=\Ej$<5>, rmacs=\EH^C, rmam=\Ed.,
+	rmir=\Er, rmso=\EG0, rmul=\EG0, rmxon=\Ec20,
+	rs2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`:\E`@\E~!\E"
+	    \Ee4\Ex@\E`9\Ee7$<100>,
+	sgr0=\EG0\EcB0\EcD$<15>, smacs=\EH^B, smam=\Ed/,
+	smir=\Eq, smso=\EGt, smul=\EG8, smxon=\Ec21, tbc=\E0$<15>,
+	use=ncr260vp+sl,
+ncr260wy60wpp|NCR 2900/260 Wyse 60 wide mode,
+	cols#132,
+	cup=\Ea%i%p1%dR%p2%dC$<30>,
+	is2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"
+	    \Ee4\Ex@\E`9\Ee7$<100>,
+	rs2=\Ee6\E~4$<100>\E+\Ed/\Ee1\Ed*\Er\EO\E`1\E`;\E`@\E~!\E"
+	    \Ee4\Ex@\E`9\Ee7$<100>,
+	use=ncr260wy60pp,
+ncr160vppp|NCR 2900/160 viewpoint,
+	use=ncr260vppp,
+ncr160vpwpp|NCR 2900/160 viewpoint wide mode,
+	use=ncr260vpwpp,
+ncr160vt100an|NCR 2900/160 VT100 with ANSI keyboard,
+	use=ncr260vt100an,
+ncr160vt100pp|NCR 2900/160 VT100 with PC+  keyboard,
+	use=ncr260vt100pp,
+ncr160vt100wan|NCR 2900/160 VT100 wide mode ANSI keyboard,
+	use=ncr260vt100wan,
+ncr160vt100wpp|NCR 2900/160 VT100 wide mode PC+  keyboard,
+	use=ncr260vt100wpp,
+ncr160vt200an|NCR 2900/160 VT200 with ANSI keyboard,
+	use=ncr260vt200an,
+ncr160vt200pp|NCR 2900/160 VT200 with PC+  keyboard,
+	use=ncr260vt200pp,
+ncr160vt200wan|NCR 2900/160 VT200 wide mode ANSI keyboard,
+	use=ncr260vt200wan,
+ncr160vt200wpp|NCR 2900/160 VT200 wide mode PC+  keyboard,
+	use=ncr260vt200wpp,
+ncr160vt300an|NCR 2900/160 VT300 with ANSI keyboard,
+	use=ncr260vt300an,
+ncr160vt300pp|NCR 2900/160 VT300 with PC+ keyboard,
+	use=ncr260vt300pp,
+ncr160vt300wan|NCR 2900/160 VT300 wide mode ANSI keyboard,
+	use=ncr260vt300wan,
+ncr160vt300wpp|NCR 2900/160 VT300 wide mode PC+  keyboard,
+	use=ncr260vt300wpp,
+ncr160wy50+pp|NCR 2900/160 Wyse 50+,
+	use=ncr260wy50+pp,
+ncr160wy50+wpp|NCR 2900/160 Wyse 50+ wide mode,
+	use=ncr260wy50+wpp,
+ncr160wy60pp|NCR 2900/160 Wyse 60,
+	use=ncr260wy60pp,
+ncr160wy60wpp|NCR 2900/160 Wyse 60 wide mode,
+	use=ncr260wy60wpp,
+ncrvt100an|ncrvt100pp|NCR VT100 for the 2900 terminal,
+	hs, mc5i, mir, xon,
+	nlab#32,
+	acsc=``aaffgghhiijjkkllmmnnqqttuuvvwwxxyyzz~~,
+	blink=\E[5m$<30>, bold=\E[1m$<30>,
+	clear=\E[2J\E[1;1H$<300>,
+	csr=\E[%i%p1%d;%p2%dr$<100>, cub=\E[%p1%dD$<30>,
+	cub1=\E[D$<2>, cud=\E[%p1%dB$<30>, cud1=\E[B$<2>,
+	cuf=\E[%p1%dC$<30>, cup=\E[%i%p1%d;%p2%dH$<100>,
+	cuu=\E[%p1%dA$<30>, dch=\E[%p1%dP$<40>,
+	dch1=\E[1P$<10>, dl=\E[%p1%dM$<70>, dl1=\E[M$<40>,
+	dsl=\E[31l$<25>, ed=\E[0J$<300>, el=\E[0K$<30>,
+	el1=\E[1K$<30>, enacs=\E(B\E)0$<40>, fsl=1$<10>,
+	home=\E[H$<2>$<80>, il=\E[%p1%dL$<80>,
+	il1=\E[B\E[L$<80>, ind=\ED,
+	is2=\E[12h\E[?10l\E%/0n\E[P\031\E[?3l\E(B\E)0$<200>,
+	kLFT=\E[D, kRIT=\E[C, ka1=\E[H, kent=\r, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, mc0=\E[i$<100>, nel=\EE, rc=\E8,
+	rev=\E[7m$<30>, ri=\EM$<50>, rmacs=\017$<90>,
+	rmir=\E[4l$<80>, rmso=\E[0m$<30>, rmul=\E[0m$<30>,
+	rs2=\Ec\E[12;31h\E[?3;4;5;10l\E[?6;7;19;25h\E[33;34l\E[0m\E(
+	    B\E)0\E%/0n\E[P\031$<200>,
+	sc=\E7,
+	sgr=%?%p9%t\016%e\017%;\E[0%?%p1%p6%|%t;1%;%?%p2%t;4%;%?%p1
+	    %p3%|%t;7%;%?%p4%t;5%;m$<120>,
+	sgr0=\017\E[0m$<120>, smacs=\016$<90>, smir=\E[4h$<80>,
+	smso=\E[7m$<30>, smul=\E[4m$<30>, tbc=\E[3g$<40>,
+	tsl=\E[>+1$<70>, use=decid+cpr, use=vt100+4bsd,
+ncrvt100wan|NCRVT100WPP|ncrvt100wpp|NCR VT100 emulation of the 2900 terminal,
+	cols#132,
+	is2=\E[12h\E[?10l\E%/0n\E[P\031\E[?3h\E(B\E)0$<200>,
+	rs2=\Ec\E[12;31h\E[?4;5;10l\E?3;6;7;19;25h\E[33;34l\E[0m\E(B
+	    \E)0\E%/0n\E[P\031$<200>,
+	use=ncrvt100an,
+#
+# Vendor-supplied NCR termcaps end here
+
+# NCR7900 DIP switches:
+#
+# Switch A:
+# 1-4 - Baud Rate
+# 5   - Parity (Odd/Even)
+# 6   - Don't Send or Do Send Spaces
+# 7   - Parity Enable
+# 8   - Stop Bits (One/Two)
+#
+# Switch B:
+# 1   - Upper/Lower Shift
+# 2   - Typewriter Shift
+# 3   - Half Duplex / Full Duplex
+# 4   - Light/Dark Background
+# 5-6 - Carriage Return Without / With Line Feed
+# 7   - Extended Mode
+# 8   - Suppress Keyboard Display
+#
+# Switch C:
+# 1   - End of line entry disabled/enabled
+# 2   - Conversational mode / (Local?) Mode
+# 3   - Control characters displayed / not displayed
+# 4   - (2-wire?) / 4-wire communications
+# 5   - RTS on and off for each character
+# 6   - (50Hz?) / 60 Hz
+# 7   - Exit after level zero diagnostics
+# 8   - RS-232 interface
+#
+# Switch D:
+# 1   - Reverse Channel (yes / no)
+# 2   - Manual answer (no / yes)
+# 3-4 - Cursor appearance
+# 5   - Communication Rate
+# 6   - Enable / Disable EXT turnoff
+# 7   - Enable / Disable CR turnoff
+# 8   - Enable / Disable backspace
+#
+# Since each attribute parameter is 0 or 1, we shift each attribute (standout,
+# reverse, blink, dim, and underline) the appropriate number of bits (by
+# multiplying the 0 or 1 by a correct factor to shift) so the bias character,
+# '@' is (effectively) "or"ed with each attribute to generate the proper third
+# character in the <ESC>0 sequence.  The <sgr> string implements the following
+# equation:
+#
+# ((((('@' + P5) | (P4 << 1)) | (P3 << 3)) | (P2 << 4)) | (p1 * 17))    =>
+# ((((('@' + P5) + (P4 << 1)) + (P3 << 3)) + (P2 << 4)) + (p1 * 17))
+#
+#	Where:  P1 <==> Standout attribute parameter
+#		P2 <==> Underline attribute parameter
+#		P3 <==> Reverse attribute parameter
+#		P4 <==> Blink attribute parameter
+#		P5 <==> Dim attribute parameter
+# From <root@goliath.un.atlantaga.NCR.COM>, init string hacked by SCO.
+ncr7900i|ncr7900|n7900|NCR 7900 model 1,
+	am, bw, ul,
+	cols#80, lines#24, xmc#1,
+	bel=^G, blink=\E0B, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=^F,
+	cup=\E1%p2%c%p1%c, cuu1=^Z, dim=\E0A, ed=\Ek, el=\EK, ind=\n,
+	is2=\E0@\010\E3\E4\E7, kcub1=^U, kcud1=\n, kcuf1=^F,
+	kcuu1=^Z, khome=^A, ll=^A, mc4=^T, mc5=^R, rev=\E0P, rmso=\E0@,
+	rmul=\E0@,
+	sgr=\E0%p5%{64}%+%p4%{2}%*%+%p3%{16}%*%+%p2%{32}%*%+%p1%{17}
+	    %*%+%c,
+	sgr0=\E0@, smso=\E0Q, smul=\E0`,
+ncr7900iv|NCR 7900 model 4,
+	am, bw, eslok, hs,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n,
+	cup=\013%p1%{64}%+%c\E\005%p2%02d, dl1=\E^O, dsl=\Ey1,
+	fsl=\Ek\Ey5, home=\013@\E^E00, il1=\E^N, ind=\n, kbs=^H,
+	kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ,
+	kf8=\ER, khome=\EH, lf6=blue, lf7=red, lf8=white, nel=\r\n,
+	tsl=\Ej\Ex5\Ex1\EY8%p1%{32}%+%c\Eo, use=vt52+arrows,
+# Warning: This terminal will lock out the keyboard when it receives a CTRL-D.
+#	   The user can enter a CTRL-B to get out of this locked state.
+# In <hpa>, we want to output the character given by the formula:
+#		((col / 10) * 16) + (col % 10)		where "col" is "p1"
+ncr7901|NCR 7901 model,
+	am, bw, ul,
+	cols#80, lines#24,
+	bel=^G, blink=\E0B, civis=^W, clear=^L, cnorm=^X, cr=\r,
+	cub1=^H, cud1=\n, cuf1=^F,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z, dim=\E0A,
+	ed=\Ek, el=\EK,
+	hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%c, ind=\n,
+	is2=\E4^O, kclr=^L, kcub1=^U, kcud1=\n, kcuf1=^F, kcuu1=^Z,
+	khome=^H, ll=^A, mc4=^T, mc5=^R, rev=\E0P, rmso=^O, rmul=^O,
+	sgr=\E0%p5%{64}%+%p4%{2}%*%+%p3%{16}%*%+%p2%{32}%*%+%p1%{17}
+	    %*%+%c\016,
+	sgr0=^O, smso=\E0Q\016, smul=\E0`\016,
+	vpa=\013%p1%{64}%+%c,
+
+# Newbury Data Recording Limited (Newbury Data)
+#
+# Have been manufacturing and reselling  various peripherals for a long time
+# They don't make terminals anymore, but are still in business (in 2007).
+# Their e-mail address is at ndsales@newburydata.co.uk
+# and their post address is:
+#
+# Newbury Data Recording Ltd,
+# Premier Park, Road One,
+# Winsford, Cheshire, CW7 3PT
+#
+# Their technical support is still good, they sent me for free a printed copy
+# of the 9500 user manual and I got it just 1 week after I first contacted them
+# (in 2005)!
+
+# NDR 9500
+# Manufactured in the early/mid eighties, behaves almost the same as a
+# TeleVideo 950.  Take a 950, change its cabinet for a more 80s-ish one (but
+# keep the same keyboard layout), add an optional 25-line mode, replace the DIP
+# switches with a menu and remove the "lock line" feature (ESC !  1 and ESC !
+# 2), here is the NDR 9500.  Even the line-lock, albeit disabled, is
+# recognized:  if you type in "ESC !", the next (third) character is not
+# echoed, showing that the terminal was actually waiting for a parameter!
+ndr9500|nd9500|Newbury Data 9500,
+	am, bw, hs, mc5i, mir, msgr, ul, xon,
+	cols#80, lines#24, wsl#79,
+	acsc=jDkClBmAnIqKtMuLvOwNxJ, bel=^G, cbt=\EI, civis=\E.0,
+	clear=\E;, cnorm=\E.1, cr=\r, cub1=^H, cud1=^V, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dim=\E), dl1=\ER, dsl=\Eh, ed=\EY, el=\ET,
+	flash=\Eb$<50/>\Ed, fsl=\r, home=^^, ht=^I, hts=\E1,
+	ich1=\EQ, il1=\EE, ind=\n, is2=\Ew\E'\EDF\El\Er\EO,
+	kDC=\Er, kDL=\EO, kEOL=\Et, kIC=\Eq, kcbt=\EI, kclr=^Z,
+	kcub1=^H, kcud1=^V, kcuf1=^L, kcuu1=^K, kdch1=\EW, kdl1=\ER,
+	ked=\EY, kel=\ET, kent=\r, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^A`\r, kf13=^Aa\r, kf14=^Ab\r, kf15=^Ac\r, kf16=^Ad\r,
+	kf17=^Ae\r, kf18=^Af\r, kf19=^Ag\r, kf2=^AA\r, kf20=^Ah\r,
+	kf21=^Ai\r, kf22=^Aj\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r,
+	kf6=^AE\r, kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^,
+	kich1=\EQ, kil1=\EE, kprt=\EP, mc4=\Ea, mc5=\E`, nel=^_,
+	pfloc=\E|%{48}%p1%+%c2%p2%s\031,
+	pfx=\E|%{48}%p1%+%c1%p2%s\031, prot=\E), ri=\Ej,
+	rmacs=\E%%, rmir=\Er, rmso=\E(, rmxon=^N,
+	sgr=\EG0\E%%%%\E(%?%p1%p5%p8%|%|%t\E)%;%?%p9%t\E$%;,
+	sgr0=\EG0\E%%\E(, smacs=\E$, smir=\Eq, smso=\E), smxon=^O,
+	tbc=\E3, tsl=\Eg\Ef\011%p1%{32}%+%c, .kbs=^H,
+
+ndr9500-nl|NDR 9500 with no status line,
+	hs@,
+	wsl@,
+	dsl@, fsl@, tsl@, use=ndr9500,
+
+ndr9500-25|NDR 9500 with 25th line enabled,
+	lines#25, use=ndr9500,
+
+ndr9500-25-nl|NDR 9500 with 25 lines and no status line,
+	lines#25, use=ndr9500-nl,
+
+ndr9500-mc|NDR 9500 with magic cookies (enables underline inverse video invisible and blink),
+	msgr@,
+	xmc#1,
+	blink=\EG2, invis=\EG1, rev=\EG4, rmso=\EG0, rmul=\EG0,
+	sgr=\E%%\E(%?%p5%p8%|%t\E)%;%?%p9%t\E$%;\EG%{48}%?%p7%t%{1}
+	    %+%;%?%p4%t%{2}%+%;%?%p3%p1%|%t%{4}%+%;%?%p2%t%{8}%+%;%c,
+	smso=\EG4, smul=\EG8, use=ndr9500,
+
+ndr9500-25-mc|NDR 500 with 25 lines and magic cookies,
+	lines#25, use=ndr9500-mc,
+
+ndr9500-mc-nl|NDR 9500 with magic cookies and no status line,
+	hs@,
+	wsl@,
+	dsl@, fsl@, tsl@, use=ndr9500-mc,
+
+ndr9500-25-mc-nl|NDR 9500 with 25 lines and magic cookies and no status line,
+	lines#25, use=ndr9500-mc-nl,
+
+#### Perkin-Elmer (Owl)
+#
+# These are official terminfo entries from within Perkin-Elmer.
+#
+
+bantam|pe550|pe6100|Perkin Elmer 550,
+	OTbs,
+	cols#80, lines#24,
+	bel=^G, clear=\EK$<20>, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA,
+	el=\EI$<20>, home=\EH, ind=\n, ll=\EH\EA,
+fox|pe1100|Perkin Elmer 1100,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\EH\EJ$<132>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\EC, cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA,
+	ed=\EJ$<5.5*>, el=\EI, flash=\020\002$<200/>\020\003,
+	home=\EH, hts=\E1, ind=\n, ll=\EH\EA, tbc=\E3,
+owl|pe1200|Perkin Elmer 1200,
+	OTbs, am, in,
+	cols#80, lines#24,
+	bel=^G, clear=\EH\EJ$<132>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\EC, cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA,
+	dch1=\EO$<5.5*>, dl1=\EM$<5.5*>, ed=\EJ$<5.5*>,
+	el=\EI$<5.5>, flash=\020\002$<200/>\020\003, home=\EH,
+	hts=\E1, ich1=\EN, il1=\EL$<5.5*>, ind=\n, ip=$<5.5*>,
+	kbs=^H, kf0=\ERJ, kf1=\ERA, kf2=\ERB, kf3=\ERC, kf4=\ERD,
+	kf5=\ERE, kf6=\ERF, kf7=\ERG, kf8=\ERH, kf9=\ERI, ll=\EH\EA,
+	rmso=\E!\0, sgr0=\E!\0, smso=\E!^H, tbc=\E3,
+pe1251|pe6300|pe6312|Perkin Elmer 1251,
+	am,
+	cols#80, it#8, lines#24, pb#300, vt#8, xmc#1,
+	bel=^G, clear=\EK$<332>, cr=\r, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EX%p1%{32}%+%c\EY%p2%{32}%+%c, cuu1=\EA,
+	ed=\EJ$<20*>, el=\EI$<10*>, home=\EH, hts=\E1, ind=\n,
+	kf0=\ERA, kf1=\ERB, kf10=\ERK, kf2=\ERC, kf3=\ERD, kf4=\ERE,
+	kf5=\ERF, kf6=\ERG, kf7=\ERH, kf8=\ERI, kf9=\ERJ, tbc=\E3,
+# (pe7000m: this had
+#	rmul=\E!\0, smul=\E!\040,
+# which is probably wrong, it collides with kf0
+pe7000m|Perkin Elmer 7000 series monochrome monitor,
+	am,
+	cols#80, lines#24,
+	bel=^G, cbt=\E!Y, clear=\EK, cr=\r, cub1=\ED, cud1=\EB,
+	cuf1=\EC, cup=\ES%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
+	ed=\EJ, el=\EI, home=\EH, ind=\n,
+	is1=\E!\0\EW  7o\Egf\ES7\s, kbs=^H, kcub1=\E!V,
+	kcud1=\E!U, kcuf1=\E!W, kcuu1=\E!T, kf0=\E!\0, kf1=\E!^A,
+	kf10=\E!\n, kf2=\E!^B, kf3=\E!^C, kf4=\E!^D, kf5=\E!^E,
+	kf6=\E!^F, kf7=\E!^G, kf8=\E!^H, kf9=\E!^I, khome=\E!S,
+	ll=\ES7\s, ri=\ER,
+pe7000c|Perkin Elmer 7000 series colour monitor,
+	is1=\E!\0\EW  7o\Egf\Eb0\Ec7\ES7\s, rmso=\Eb0,
+	rmul=\E!\0, smso=\Eb2, smul=\E!\s, use=pe7000m,
+
+#### Sperry Univac
+#
+# Sperry Univac has merged with Burroughs to form Unisys.
+#
+
+# This entry is for the Sperry UTS30 terminal running the TTY
+# utility under control of CP/M Plus 1R1. The functionality
+# provided is comparable to the DEC VT100.
+# (uts30: I added <rmam>/<smam> based on the init string -- esr)
+uts30|Sperry UTS30 with cp/m@1R1,
+	am, bw, hs,
+	cols#80, lines#24, wsl#40,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\ER, clear=^L,
+	cnorm=\ES, cr=\r, csr=\EU%p1%{32}%+%c%p2%{32}%+%c,
+	cub1=^H, cud1=\E[B, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP,
+	dch1=\EM, dl=\E[%p1%dM, dl1=\EL, ed=\E[J, el=\E[K, fsl=\r,
+	home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\EO, il=\E[%p1%dL,
+	il1=\EN, ind=\n, indn=\E[%p1%dB, is2=\E[U 7\E[24;1H,
+	khome=\E[H, rc=\EX, rev=\E[7m,
+	rf=/usr/share/tabset/vt100, ri=\EI, rin=\E[%p1%dA,
+	rmacs=\Ed, rmam=\E[?7l,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sc=\EW,
+	sgr0=\E[m, smacs=\EF, smam=\E[?7m, tsl=\E], uc=\EPB,
+	use=ansi+apparrows, use=ansi+local, use=ansi+sgrso,
+	use=ansi+sgrul,
+
+#### Tandem
+#
+# Tandem builds these things for use with its line of fault-tolerant
+# transaction-processing computers.  They aren't generally available
+# on the merchant market, and so are fairly uncommon.
+#
+
+tandem6510|adm3a repackaged by Tandem,
+	use=adm3a,
+
+# A funny series of terminal that TANDEM uses.  The actual model numbers
+# have a fourth digit after 653 that designates minor variants.  These are
+# natively block-mode and rather ugly, but they have a character mode which
+# this doubtless(?) exploits.  There is a 6520 that is slightly dumber.
+# (tandem653: had ":sb=\ES:", probably someone's mistake for sf; also,
+# removed <if=/usr/share/tabset/tandem653>, no such file -- esr)
+tandem653|t653x|Tandem 653x multipage terminal,
+	OTbs, am, da, db, hs,
+	cols#80, lines#24, wsl#64, xmc#1,
+	clear=\EI, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\023%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dsl=\Eo\r,
+	ed=\EJ, el=\EK, fsl=\r, home=\EH, ind=\ES, ri=\ET, rmso=\E6\s,
+	rmul=\E6\s, sgr0=\E6\s, smso=\E6$, smul=\E60, tsl=\Eo,
+
+#### Tandy/Radio Shack
+#
+# Tandy has a line of VDTs distinct from its microcomputers.
+#
+
+dmterm|deskmate terminal,
+	am, bw,
+	cols#80, lines#24,
+	bel=^G, civis=\EG5, clear=\Ej, cnorm=\EG6, cr=\r, cub1=^H,
+	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dch1=\ES, dl1=\ER, ed=\EJ, el=\EK, home=\EH, ht=^I,
+	ich1=\EQ, il1=\EP, ind=\EX, invis@, kf0=\E1, kf1=\E2, kf2=\E3,
+	kf3=\E4, kf4=\E5, kf5=\E6, kf6=\E7, kf7=\E8, kf8=\E9, kf9=\E0,
+	khome=\EH, lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6,
+	lf6=f7, lf7=f8, lf8=f9, lf9=f10, ll=\EE, rmul@, smul@,
+	use=adm+sgr, use=vt52+arrows,
+dt100|dt-100|Tandy DT-100 terminal,
+	xon,
+	cols#80, lines#24, xmc#1,
+	acsc=jjkkllmmnnqqttuuvvwwxx, bel=^G, clear=\E[H\E[2J,
+	cr=\r, csr=\E[%p1%2d;%p2%2dr, cub1=^H,
+	cup=\010\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, ed=\E[J,
+	el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, ind=\n,
+	is2=\E[?3l\E)0\E(B, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kf1=\E[?3i, kf10=\E[?5i, kf2=\E[2i, kf3=\E[@,
+	kf4=\E[M, kf5=\E[17~, kf6=\E[18~, kf7=\E[19~, kf8=\E[20~,
+	kf9=\E[21~, khome=\E[H, knp=\E[29~, kpp=\E[28~, lf1=f1,
+	lf2=f2, lf3=f3, lf4=f4, lf5=f5, lf6=f6, lf7=f7, lf8=f8, ri=\EM,
+	rmacs=^O, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smacs=^N,
+	smso=\E[7m, smul=\E[4m, use=ansi+local1, use=vt220+cvis,
+dt100w|dt-100w|Tandy DT-100 terminal (wide mode),
+	cols#132, use=dt100,
+dt110|Tandy DT-110 emulating ANSI,
+	xon,
+	cols#80, lines#24,
+	acsc=jjkkllmmnnqqttuuvvwwxx, bel=^G, clear=\E[H\E[2J,
+	cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H,
+	cup=\010\E[%i%p1%d;%p2%dH, dch1=\E[0P, dl1=\E[0M,
+	ed=\E[0J, el=\E[0K, enacs=\E(B\E)0, home=\E[H, ht=^I,
+	ich1=\E[0@, il1=\E[0L, ind=\n, is2=\E[?3l\E)0\E(B,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kend=\E[K,
+	kf1=\E[1~, kf10=\E[10~, kf2=\E[2~, kf3=\E[3~, kf4=\E[4~,
+	kf5=\E[5~, kf6=\E[6~, kf7=\E[7~, kf8=\E[8~, kf9=\E[9~,
+	khome=\E[G, kich1=\E[@, knp=\E[26~, kpp=\E[25~, lf0=f1,
+	lf1=f2, lf2=f3, lf3=f4, lf4=f5, lf5=f6, lf6=f7, lf7=f8, lf8=f9,
+	lf9=f10, ri=\EM, rmacs=^O, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smacs=^N, smso=\E[7m, smul=\E[4m, use=ansi+local1,
+	use=vt220+cvis,
+pt210|TRS-80 PT-210 printing terminal,
+	hc, os,
+	cols#80,
+	bel=^G, cr=\r, cud1=\n, ind=\n,
+
+#### Tektronix (tek)
+#
+# Tektronix tubes are graphics terminals.  Most of them use modified
+# oscilloscope technology incorporating a long-persistence green phosphor,
+# and support vector graphics on a main screen with an attached "dialogue
+# area" for interactive text.
+#
+
+tek|tek4012|Tektronix 4012,
+	OTbs, os,
+	cols#75, lines#35,
+	bel=^G, clear=\E\014$<1000>, cr=\r, cub1=^H, cud1=\n,
+	ff=\014$<1000>, is2=\E^O,
+# (tek4013: added <acsc> to suppress tic warnings re <smacs>/<rmacs> --esr)
+tek4013|Tektronix 4013,
+	acsc=, rmacs=\E^O, smacs=\E^N, use=tek4012,
+tek4014|Tektronix 4014,
+	cols#81, lines#38,
+	is2=\E\017\E9, use=tek4012,
+# (tek4015: added <acsc> to suppress tic warnings re <smacs>/<rmacs> --esr)
+tek4015|Tektronix 4015,
+	acsc=, rmacs=\E^O, smacs=\E^N, use=tek4014,
+tek4014-sm|Tektronix 4014 in small font,
+	cols#121, lines#58,
+	is2=\E\017\E:, use=tek4014,
+# (tek4015-sm: added <acsc> to suppress tic warnings re <smacs>/<rmacs> --esr)
+tek4015-sm|Tektronix 4015 in small font,
+	acsc=, rmacs=\E^O, smacs=\E^N, use=tek4014-sm,
+# Tektronix 4023 from Andrew Klossner <orca!andrew.tektronix@csnet-relay>
+#
+# You need to have "stty nl2" in effect.  Some versions of tset(1) know
+# how to set it for you.
+#
+# It's got the Magic Cookie problem around stand-out mode.  If you can't
+# live with Magic Cookie, remove the :so: and :se: fields and do without
+# reverse video.  If you like reverse video stand-out mode but don't want
+# it to flash, change the letter 'H' to 'P' in the :so: field.
+tek4023|Tektronix 4023,
+	OTbs, am,
+	OTdN#4, cols#80, lines#24, vt#4, xmc#1,
+	OTnl=\n, bel=^G, clear=\E\014$<4/>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=^I, cup=\034%p2%{32}%+%c%p1%{32}%+%c, kbs=^H,
+	rmso=^_@, smso=^_P,
+# It is recommended that you run the 4025 at 4800 baud or less;
+# various bugs in the terminal appear at 9600.  It wedges at the
+# bottom of memory (try "cat /usr/dict/words"); ^S and ^Q typed
+# on keyboard don't work.  You have to hit BREAK twice to get
+# one break at any speed - this is a documented feature.
+# Can't use cursor motion because it's memory relative, and
+# because it only works in the workspace, not the monitor.
+# Same for home. Likewise, standout only works in the workspace.
+#
+# <el> was commented out since vi and rogue seem to work better
+# simulating it with lots of spaces!
+#
+# <il1> and <il> had 145ms of padding, but that slowed down vi's ^U
+# and didn't seem necessary.
+#
+tek4024|tek4025|tek4027|Tektronix 4024/4025/4027,
+	OTbs, am, da, db,
+	cols#80, it#8, lines#34, lm#0,
+	bel=^G, clear=\037era\r\n\n, cmdch=^_, cr=\r,
+	cub=\037lef %p1%d\r, cub1=^H, cud=\037dow %p1%d\r,
+	cud1=^F\n, cuf=\037rig %p1%d\r, cuf1=\037rig\r,
+	cuu=\037up %p1%d\r, cuu1=^K, dch1=\037dch\r,
+	dl=\037dli %p1%d\r\006, dl1=\037dli\r\006,
+	ed=\037dli 50\r, ht=^I, ich1=\037ich\r \010,
+	il=\037up\r\037ili %p1%d\r, il1=\037up\r\037ili\r,
+	ind=^F\n,
+	is2=!com 31\r\n\037sto 9 17 25 33 41 49 57 65 73\r,
+	rmkx=\037lea\sp2\r\037lea\sp4\r\037lea\sp6\r\037lea\sp8\r
+	     \037lea\sf5\r,
+	smkx=\037lea\sp4\s/h/\r\037lea\sp8\s/k/\r\037lea\sp6\s/\s/
+	     \r\037lea\sp2\s/j/\r\037lea\sf5\s/H/\r,
+tek4025-17|Tektronix 4025 17 line window,
+	lines#17, use=tek4025,
+tek4025-17-ws|Tektronix 4025 17 line window in workspace,
+	is2=!com\s31\r\n\037sto\s9\s17\s25\s33\s41\s49\s57\s65\s73
+	    \r\037wor\s17\r\037mon\s17\r,
+	rmcup=\037mon h\r, rmso=\037att s\r, smcup=\037wor h\r,
+	smso=\037att e\r, use=tek4025-17,
+tek4025-ex|tek4027-ex|Tektronix 4025/4027 w/!,
+	is2=\037com 33\r\n!sto 9 17 25 33 41 49 57 65 73\r,
+	rmcup=\037com 33\r, smcup=!com 31\r, use=tek4025,
+# Tektronix 4025a
+# From: Doug Gwyn <gwyn@brl-smoke.ARPA>
+# The following status modes are assumed for normal operation (replace the
+# initial "!" by whatever the current command character is):
+#	!COM 29			# NOTE: changes command character to GS (^])
+#	^]DUP
+#	^]ECH R
+#	^]EOL
+#	^]RSS T
+#	^]SNO N
+#	^]STO 9 17 25 33 41 49 57 65 73
+# Other modes may be set according to communication requirements.
+# If the command character is inadvertently changed, termcap can't restore it.
+# Insert-character cannot be made to work on both top and bottom rows.
+# Clear-to-end-of-display emulation via !DLI 988 is too grotty to use, alas.
+# There also seems to be a problem with vertical motion, perhaps involving
+# delete/insert-line, following a typed carriage return.  This terminal sucks.
+# Delays not specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# (tek4025a: removed obsolete ":xx:". This may mean the tek4025a entry won't
+# work any more. -- esr)
+tek4025a|Tektronix 4025A,
+	OTbs, OTpt, am, bw, da, db, xon,
+	cols#80, it#8, lines#34,
+	bel=^G, cbt=\035bac;, clear=\035era;\n\035rup;, cmdch=^],
+	cr=\r, cub=\035lef %p1%d;, cub1=^H, cud=\035dow %p1%d;,
+	cud1=\n, cuf=\035rig %p1%d;, cuf1=\035rig;,
+	cuu=\035up %p1%d;, cuu1=^K, dch=\035dch %p1%d;,
+	dch1=\035dch;, dl=\035dli %p1%d;, dl1=\035dli;,
+	el=\035dch 80;, hpa=\r\035rig %p1%d;, ht=^I,
+	il1=\013\035ili;, ind=\n, indn=\035dow %p1%d;,
+	rs2=!com\s29\035del\s0\035rss\st\035buf\035buf\sn\035cle
+	    \035dis\035dup\035ech\sr\035eol\035era\sg\035for\sn
+	    \035pad\s203\035pad\s209\035sno\sn\035sto\s9\s17\s25
+	    \s33\s41\s49\s57\s65\s73\035wor\s0;,
+	tbc=\035sto;,
+# From: cbosg!teklabs!davem Wed Sep 16 21:11:41 1981
+# Here's the command file that I use to get rogue to work on the 4025.
+# It should work with any program using the old curses (e.g. it better
+# not try to scroll, or cursor addressing won't work.  Also, you can't
+# see the cursor.)
+# (This "learns" the arrow keys for rogue. I have adapted it for termcap - mrh)
+tek4025-cr|Tektronix 4025 for curses and rogue,
+	OTbs, am,
+	cols#80, it#8, lines#33,
+	clear=\037era;, cub1=^H, cud1=^F\n, cuf1=\037rig;,
+	cup=\037jum%i%p1%d\,%p2%d;, cuu1=^K, ht=^I, ind=^F\n,
+	is2=!com 31\r\n\037sto 9 17 25 33 41 49 57 65 73\r,
+	rmcup=\037wor 0, smcup=\037wor 33h,
+# next two lines commented out since curses only allows 128 chars, sigh.
+#	:ti=\037lea p1/b/\037lea p2/j/\037lea p3/n/\037lea p4/h/\037lea p5/ /\037lea p6/l/\037lea p7/y/\037lea p8/k/\037lea p9/u/\037lea p./f/\037lea pt/`era w/13\037lea p0/s/\037wor 33h:\
+#	:te=\037lea p1\037lea p2\037lea p3\037lea p4\037lea pt\037lea p5\037lea p6\037lea p7\037lea p8\037lea p9/la/13\037lea p.\037lea p0\037wor 0:
+tek4025ex|4025ex|4027ex|Tektronix 4025 w/!,
+	is2=\037com\s33\r\n!sto\s9\,17\,25\,33\,41\,49\,57\,65\,73
+	    \r,
+	rmcup=\037com 33\r, smcup=!com 31\r, use=tek4025,
+tek4105|Tektronix 4105,
+	OTbs, am, mir, msgr, ul, xenl, xt,
+	cols#79, it#8, lines#29,
+	acsc=, bel=^G, blink=\E[=3;<7m, bold=\E[=7;<4m, cbt=\E[Z,
+	clear=\E[2J\E[H, cr=\r, cub1=\E[1D, cud1=\E[1B, cuf1=\E[1C,
+	cup=\E[%i%p1%2d;%p2%2dH, cuu1=\E[1A, dch1=\E[1P,
+	dim=\E[=1;<6m, dl1=\E[1M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	il1=\E[1L, ind=\E[S, invis=\E[=6;<5, is1=\E%!1\E[m,
+	is2=\E%!1\E[?6141\E[m, kbs=^H, kcub1=\E[1D, kcud1=\E[1B,
+	kcuf1=\E[1C, kcuu1=\E[1A, rev=\E[=1;<3m, ri=\E[T,
+	rmacs=\E[m, rmcup=, rmir=\E[4l, rmso=\E[=0;<1m,
+	rmul=\E[=0;<1m, sgr0=\E[=0;<1m, smacs=\E[1m,
+	smcup=\E%!1\E[?6l\E[2J, smir=\E[4h, smso=\E[=2;<3m,
+	smul=\E[=5;<2m, tbc=\E[1g,
+
+# (tek4105-30: I added <rmam>/<smam> based on the init string -- esr)
+tek4105-30|Tektronix 4015 emulating 30 line VT100,
+	mir, xenl, xon,
+	lines#30, vt#3,
+	cub1=^H, cud1=\n, cuf1=\E[C$<2>, cuu1=\E[A$<2>, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, rmam=\E[?7l,
+	rmkx=\E[?1l\E>, rmso=\E[m$<2>, smam=\E[?7h,
+	smkx=\E[?1h\E=, use=ansi+csr, use=ansi+local,
+	use=vt100+4bsd, use=vt100+fnkeys,
+
+# Tektronix 4105 from BRL
+# The following setup modes are assumed for normal operation:
+#	CODE ansi		CRLF no			DABUFFER 141
+#	DAENABLE yes		DALINES 30		DAMODE replace
+#	DAVISIBILITY yes	ECHO no			EDITMARGINS 1 30
+#	FLAGGING input		INSERTREPLACE replace	LFCR no
+#	ORIGINMODE relative	PROMPTMODE no		SELECTCHARSET G0 B
+#	SELECTCHARSET G1 0	TABS -2
+# Other setup modes may be set for operator convenience or communication
+# requirements; I recommend
+#	ACURSOR 1 0		AUTOREPEAT yes		AUTOWRAP yes
+#	BYPASSCANCEL <LF>	CURSORKEYMODE no	DAINDEX 1 0 0
+#	EOFSTRING ''		EOLSTRING <CR>		EOMCHARS <CR> <NU>
+#	GAMODE overstrike	GCURSOR 0 100 0		GSPEED 10 1
+#	IGNOREDEL no		KEYEXCHAR <DL>		NVDEFINE -53 "<NU>"
+#	PROMPTSTRING ''		QUEUESIZE 2460		WINDOW 0 0 4095 3132
+#	XMTDELAY 0
+# and factory color maps.  After setting these modes, save them with NVSAVE. No
+# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# "IC" cannot be used in combination with "im" & "ei".
+# "tek4105a" is just a guess:
+tek4105a|Tektronix 4105 (BRL),
+	OTbs, OTpt, msgr, xon,
+	OTkn#8, cols#80, lines#30, vt#3,
+	acsc=, bel=^G, blink=\E[5m, bold=\E[1m,
+	civis=\E%!0\ETD00\E%!1, cnorm=\E%!0\ETD10\E%!1, cr=\r,
+	cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM,
+	cvvis=\E%!0\ETD70\E%!1, dch=\E[%p1%dP, dch1=\E[P,
+	ech=\E[%p1%dX, home=\E[H, ind=\n, is2=\E%!1, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOA,
+	kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP, kf5=\EOQ, kf6=\EOR,
+	kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, lf5=F6, lf6=F8,
+	ll=\E[30;H, nel=\EE, rev=\E[7m, ri=\EM, rmacs=^O,
+	rmcup=\E%!0\ELBH=\E%!1, rmir=\E[4l, rmkx=\E[?1l\E>,
+	rmso=\E[m, rmul=\E[m,
+	rs2=\030\E%!0\EKC\E\014\EKR0\EKF0\ENM0\ELBH=\ETF8000010F40
+	    \ELI100\ELLA>\ELM0\EKE0\ENF1\EKS0\END0\E%!1\Ec\E[?3;5l
+	    \E[?7;8h\E[r\E[m\E>,
+	sgr0=\E[m, smacs=^N, smcup=\E[?6l, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m, use=ansi+csr,
+	use=ansi+erase, use=ansi+idl, use=ansi+inittabs,
+	use=ansi+local, use=ecma+index,
+
+# Tektronix 4106/4107/4109 from BRL
+# The following setup modes are assumed for normal operation:
+#	CODE ansi		COLUMNMODE 80		CRLF no
+#	DABUFFER 141		DAENABLE yes		DALINES 32
+#	DAMODE replace		DAVISIBILITY yes	ECHO no
+#	EDITMARGINS 1 32	FLAGGING input		INSERTREPLACE replace
+#	LFCR no			LOCKKEYBOARD no		ORIGINMODE relative
+#	PROMPTMODE no		SELECTCHARSET G0 B	SELECTCHARSET G1 0
+#	TABS -2
+# Other setup modes may be set for operator convenience or communication
+# requirements; I recommend
+#	ACURSOR 1 0		AUTOREPEAT yes		AUTOWRAP yes
+#	BYPASSCANCEL <LF>	CURSORKEYMODE no	DAINDEX 1 0 0
+#	EOFSTRING ''		EOLSTRING <CR>		EOMCHARS <CR> <NU>
+#	GAMODE overstrike	GCURSOR 0 100 0		GSPEED 9 3
+#	IGNOREDEL no		KEYEXCHAR <DL>		NVDEFINE -53 "<NU>"
+#	PROMPTSTRING ''		QUEUESIZE 2620		WINDOW 0 0 4095 3132
+#	XMTDELAY 0
+# and factory color maps.  After setting these modes, save them with NVSAVE.  No
+# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+# "IC" cannot be used in combination with "im" & "ei".
+tek4106brl|tek4107brl|tek4109brl|Tektronix 4106 4107 or 4109,
+	msgr, xon,
+	cols#80, lines#32, vt#3,
+	acsc=, bel=^G, blink=\E[5m, bold=\E[1m,
+	civis=\E%!0\ETD00\E%!1, cnorm=\E%!0\ETD10\E%!1, cr=\r,
+	cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM,
+	cvvis=\E%!0\ETD70\E%!1, dch=\E[%p1%dP, dch1=\E[P,
+	ech=\E[%p1%dX, home=\E[H, ind=\n, is2=\E%!1, kbs=^H,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOA,
+	kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EOP, kf5=\EOQ, kf6=\EOR,
+	kf7=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, lf4=F5, lf5=F6, lf6=F8,
+	ll=\E[32;H, nel=\EE, rev=\E[7m, ri=\EM, rmacs=^O,
+	rmcup=\E%!0\ELBH=\E%!1, rmir=\E[4l, rmkx=\E[?1l\E>,
+	rmso=\E[m, rmul=\E[m,
+	rs1=\030\E%!0\EKC\E\014\EKR0\EKF0\ENM0\ELBH=\ETF8000010F40
+	    \ELI100\ELLB0\ELM0\EKE0\ENF1\EKS0\END0\ERE0\E%!1\Ec\E[?3
+	    ;5l\E[?7;8h\E[r\E[m\E>,
+	sgr0=\E[m, smacs=^N, smcup=\E[?6l, smir=\E[4h,
+	smkx=\E[?1h\E=, smso=\E[7;42m, smul=\E[4m, use=ansi+csr,
+	use=ansi+erase, use=ansi+idl, use=ansi+inittabs,
+	use=ansi+local, use=ecma+index,
+
+# Refer to:
+# TEK Programmer's Reference
+# Part No. 070-4893-00
+# Product Group 18
+# 4107/4109 Computer Display Terminal
+# November 1983
+#
+# Tektronix 4107/4109 interpret 4 modes using "\E%!" followed by a code:
+# 0 selects Tek mode, i.e., \E%!0
+# 1 selects ANSI mode
+# 2 selects ANSI edit-mode
+# 3 selects VT52 mode
+#
+# One odd thing about the description (which has been unchanged since the 90s)
+# is that the cursor addressing is using VT52 mode, and a few others use the
+# VT52's non-CSI versions of ANSI, e.g., \EJ.  A possible explanation is that
+# the developer used Emacs, which misuses cvvis (this description sets VT52
+# mode in that capability).
+tek4107|tek4109|Tektronix terminals 4107 4109,
+	OTbs, am, mir, msgr, ul, xenl, xt,
+	cols#79, it#8, lines#29,
+	bel=^G, blink=\E%!1\E[5m$<2>\E%!0,
+	bold=\E%!1\E[1m$<2>\E%!0, clear=\ELZ, cnorm=\E%!0, cr=\r,
+	cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\E%!3,
+	dim=\E%!1\E[<0m$<2>\E%!0, ed=\EJ, el=\EK, ht=^I, ind=\n,
+	kbs=^H, rev=\E%!1\E[7m$<2>\E%!0, ri=\EI,
+	rmso=\E%!1\E[m$<2>\E%!0, rmul=\E%!1\E[m$<2>\E%!0,
+	sgr=\E%%!1\E[%?%p1%t;7;5%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;
+	    %?%p5%t<0%;%?%p6%t;1%;m$<2>\E%%!0,
+	sgr0=\E%!1\E[m$<2>\E%!0, smso=\E%!1\E[7;5m$<2>\E%!0,
+	smul=\E%!1\E[4m$<2>\E%!0, use=vt52+arrows,
+# Tektronix 4207 with sysline.  In the ancestral termcap file this was 4107-s;
+# see the note attached to tek4207.
+tek4207-s|Tektronix 4207 with sysline but no memory,
+	eslok, hs,
+	dsl=\E7\E[?6l\E[2K\E[?6h\E8, fsl=\E[?6h\E8,
+	is1=\E%!1\E[2;32r\E[132D\E[2g\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8
+	    C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[J,
+	is2=\E7\E[?6l\E[2K\E[?6h\E8,
+	tsl=\E7\E[?6l\E[2K\E[;%i%df, use=tek4107,
+
+# The 4110 series may be a wonderful graphics series, but they make the 4025
+# look good for screen editing.  In the dialog area, you can't move the cursor
+# off the bottom line.  Out of the dialog area, ^K moves it up, but there
+# is no way to scroll.
+#
+# Note that there is a floppy for free from Tek that makes the
+# 4112 emulate the VT52 (use the VT52 termcap). There is also
+# an expected enhancement that will use ANSI standard sequences.
+#
+# 4112 in non-dialog area pretending to scroll. It really wraps
+# but vi is said to work (more or less) in this mode.
+#
+# 'vi' works reasonably well with this entry.
+#
+otek4112|o4112-nd|otek4113|otek4114|Tektronix 4110 series (old),
+	am,
+	cols#80, lines#34,
+	bel=^G, clear=\E^L, cr=\r, cub1=^H, cud1=\n, cuu1=^K, ind=\n,
+	rmcup=\EKA1\ELV1, smcup=\EKA0\ELV0\EMG0,
+# The 4112 with the ANSI compatibility enhancement
+tek4112|tek4114|Tektronix 4110 series,
+	OTbs, am, db,
+	cols#80, lines#34,
+	cbt=\E[Z, clear=\E[2J\E[0;0H, cub1=^H, cud1=\E[B,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM, dch1=\E[P,
+	dl1=\E[M, ed=\E[0J, el=\E[0K, ich1=\E[@, il1=\E[L,
+	ind=\E7\E[0;0H\E[M\E8, is2=\E3!1, ri=\E7\E[0;0H\E[L\E8,
+	rmso=\E[m, rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m,
+tek4112-nd|Tektronix 4112 not in dialog area,
+	OTns,
+	cuu1=^K, use=tek4112,
+tek4112-5|Tektronix 4112 in 5 line dialog area,
+	lines#5, use=tek4112,
+# (tek4113: this used to have "<cuf1=\LM1\s\LM0>", someone's mistake;
+# removed "<smacs=\E^N>, <rmacs=\E^O>", which had been commented out in 8.3.
+# Note, the !0 and !1 sequences in <rmcup>/<smcup>/<cnorm>/<civis> were
+# previously \0410 and \0411 sequences...I don't *think* they were supposed
+# to be 4-digit octal -- esr)
+tek4113|Tektronix 4113 color graphics with 5 line dialog area,
+	OTbs, am, da, eo,
+	cols#80, lines#5,
+	clear=\ELZ, cub1=^H, cud1=\n, cuf1=\ELM1 \ELM0,
+	flash=\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4
+	      \ERBA4\ERBA4\ERB0,
+	is2=\EKA1\ELL5\ELV0\ELV1, uc=\010\ELM1_\ELM0,
+tek4113-34|Tektronix 4113 color graphics with 34 line dialog area,
+	lines#34,
+	is2=\EKA1\ELLB2\ELV0\ELV1, use=tek4113,
+# :ns: left off to allow vi visual mode. APL font (:as=\E^N:/:ae=\E^O:) not
+# supported here. :uc: is slow, but looks nice. Suggest setenv MORE -up .
+# :vb: needs enough delay to let you see the background color being toggled.
+tek4113-nd|Tektronix 4113 color graphics with no dialog area,
+	OTbs, am, eo,
+	cols#80, it#8, lines#34,
+	clear=\E^L, cub1=^H, cud1=\n, cuf1=^I, cuu1=^K,
+	cvvis=\ELZ\EKA0,
+	flash=\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4\ERBA4
+	      \ERBA4\ERBA4\ERB0,
+	home=\ELF7l\177 @, ht=^I, is2=\ELZ\EKA0\ELF7l\177 @,
+	ll=\ELF hl @, rmso=\EMT1, smso=\EMT2, uc=\010\EMG1_\EMG0,
+# This entry is from Tek. Inc.  (Brian Biehl)
+# (tek4115: :bc: renamed to :le:, <rmam>/<smam> added based on init string -- esr)
+otek4115|Tektronix 4115 (old),
+	OTbs, am, da, db, eo,
+	cols#80, it#8, lines#34,
+	cbt=\E[Z, clear=\E[H\E[2J,
+	cnorm=\E%!0\ELBG8\E%!1\E[34;1H,
+	cup=\E[%i%p1%d;%p2%dH, cvvis=\E%!0\ELBB2\E%!1,
+	dch1=\E[P, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	if=/usr/share/tabset/vt100, il1=\E[L,
+	is2=\E%!0\E%\014\ELV0\EKA1\ELBB2\ENU@=\ELLB2\ELM0\ELV1\EKYA?
+	    \E%!1\E[<1l\E[?7h\E[?8h\E[34;1H\E[34B\E[m,
+	kbs=^H, ri=\EM, rmam=\E[?7l,
+	rmcup=\E%!0\ELBG8\E%!1\E[34;1H\E[J, rmir=\E[4l,
+	rmkx=\E>, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smam=\E[?7h,
+	smcup=\E%!0\ELBB2\E%!1, smir=\E[4h, smkx=\E=, smso=\E[7m,
+	smul=\E[4m, use=ansi+local1,
+tek4115|Tektronix 4115 entry with more ANSI capabilities (new),
+	am, xon,
+	cols#80, lines#34,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, dch1=\E[P, ich=\E[%p1%d@,
+	ich1=\E[@, ind=\n, kcuu1=\E[A, rmam=\E[?7l, sgr0=\E[m,
+	smam=\E[?7h, use=ansi+arrows, use=ansi+cup,
+	use=ansi+erase, use=ansi+idl, use=ansi+local,
+	use=ansi+rep, use=ansi+rca, use=ansi+sgrbold,
+	use=ansi+tabs,
+
+# The tek4125 emulates a VT100 incorrectly - the scrolling region
+# command is ignored.  The following entry replaces <csr> with the needed
+# <il>, <il>, and <smir>; removes some cursor pad commands that the tek4125
+# chokes on; and adds a lot of initialization for the Tektronix dialog area.
+# Note that this entry uses all 34 lines and sets the cursor color to green.
+# Steve Jacobson 8/85
+# (tek4125: there were two "\!"s in the is that I replaced with "\E!";
+# commented out, <smir>=\E1 because there's no <rmir>  -- esr)
+tek4125|Tektronix 4125,
+	lines#34,
+	csr@, dl1=\E[1M, il1=\E[1L,
+	is2=\E%\E!0\EQD1\EUX03\EKA\ELBB2\ELCE0\ELI100\ELJ2\ELLB2
+	    \ELM0\ELS1\ELX00\ELV1\E%\E!1\E>\E[?3l\E[?4l\E[?5l\E[?7h
+	    \E[?8h,
+	rc@, sc@, smkx=\E=, use=vt100+4bsd,
+
+# From: <jcoker@ucbic>
+# (tek4207: This was the termcap file's entry for the 4107/4207, but SCO
+# supplied another, less capable 4107 entry.  So we'll use that for 4107 and
+# note that if jcoker wasn't confused you may be able to use this one.
+# I merged in <msgr>,<ind>,<ri>,<invis>,<tbc> from a BRL entry -- esr)
+tek4207|Tektronix 4207 graphics terminal with memory,
+	am, bw, mir, msgr, ul, xenl,
+	cols#80, it#8, lines#32,
+	blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[H\E[J$<156/>,
+	cub1=^H, cud1=\n, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\EM, dch1=\E[P$<4/>, dl1=\E[M$<3/>, ed=\E[J,
+	el=\E[K$<5/>, home=\E[H, ht=^I, ich1=\E[@$<4/>,
+	il1=\E[L$<3/>, ind=\E[S, invis=\E[=6;<5,
+	is2=\E%!0\ELBP0\E%!1\E[H\E[2g\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8
+	    C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[8C\EH\E[J,
+	kcub1=\E[D, kcud1=\ED, kcuf1=\E[C, kcuu1=\EM, khome=\E[H,
+	rev=\E[7m, ri=\E[T,
+	rmcup=\E[?6h\E%!0\ELBP0\E%!1\E[32;1f, rmso=\E[m,
+	rmul=\E[m, sgr0=\E[m, smcup=\E[?6l\E[H\E[J, smso=\E[7m,
+	smul=\E[4m, tbc=\E[1g,
+
+# From: <carolyn@dali.berkeley.edu>  Thu Oct 31 12:54:27 1985
+# (tek4404: There was a "\!" in <smcup> that I replaced with "\E!".
+# Tab had been given as \E2I,that must be the tab-set capability -- esr)
+tek4404|Tektronix 4404,
+	OTbs,
+	cols#80, it#8, lines#32,
+	blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cub1=^H, cud1=\n,
+	cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, dch1=\E[P,
+	dl1=\E[1M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, hts=\E[2I,
+	il1=\E[1L, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	rmcup=\E[1;1H\E[0J\E[?6h\E[?1l, rmir=\E[4l,
+	rmkx=\E[?1h, rmso=\E[27m, rmul=\E[m, sgr0=\E[m,
+	smcup=\E%\E!1\E[1;32r\E[?6l\E>, smir=\E[4h,
+	smkx=\E[?1l, smso=\E[7m, smul=\E[4m, use=ansi+csr,
+
+# Some unknown person wrote:
+# I added the is string - straight Unix has ESC ; in the login
+# string which sets a ct8500 into monitor mode (aka 4025 snoopy
+# mode). The is string here cleans up a few things (but not
+# everything).
+ct8500|Tektronix ct8500,
+	am, bw, da, db,
+	cols#80, lines#25,
+	bel=^G, cbt=\E^I, clear=\E^E, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\ES, cup=\E|%p1%{32}%+%c%p2%{32}%+%c, cuu1=\ER,
+	dch1=\E^], dl1=\E\r, ed=\E^U, el=\E^T, ht=^I, ich1=\E^\,
+	il1=\E^L, ind=\n, is2=\037\EZ\Ek, ri=\E^A, rmso=\E\s,
+	rmul=\E\s, sgr0=\E\s, smso=\E$, smul=\E!,
+
+# Tektronix 4205 terminal.
+#
+# am is not defined because the wrap around occurs not when the char.
+# is placed in the 80'th column, but when we are attempting to type
+# the 81'st character on the line.  (esr: hmm, this is like the VT100
+# version of xenl, perhaps am + xenl would work!)
+#
+# Bold, dim, and standout are simulated by colors and thus not allowed
+# with colors.  The Tektronix color table is mapped into the RGB color
+# table by setf/setb. All colors are reset to factory specifications by oc.
+# The <initc> cap uses RGB notation to define colors.  for arguments 1-3 the
+# interval (0-1000) is broken into 8 smaller sub-intervals (125).  Each sub-
+# interval then maps into pre-defined value.
+tek4205|Tektronix 4205,
+	ccc, mir, msgr,
+	colors#8, cols#80, it#8, lines#30, ncv#49, pairs#63,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[=7;<4m, cbt=\E[Z,
+	clear=\E[2J\E[H, cr=\r, cup=\E[%i%p1%d;%p2%dH,
+	dch1=\E[1P, dim=\E[=1;<6m, dl=\E[%p1%dM, dl1=\E[1M,
+	ech=\E%p1%dX, ed=\E[J, el=\E[K, el1=\E[1K, enacs=\E)0,
+	home=\E[H, ht=^I, ich=\E[%p1%d@, il=\E[%p1%dL, il1=\E[1L,
+	ind=\ED,
+	initc=\E%%!0\ETF4%?%p1%{0}%=%t0%e%p1%{1}%=%t4%e%p1%{2}%=%t3
+	      %e%p1%{3}%=%t5%e%p1%{4}%=%t2%e%p1%{5}%=%t6%e%p1%{6}%=
+	      %t7%e1%;%?%p2%{125}%<%t0%e%p2%{250}%<%tA2%e%p2%{375}%<
+	      %tA?%e%p2%{500}%<%tC8%e%p2%{625}%<%tD4%e%p2%{750}%<%tE
+	      1%e%p2%{875}%<%tE:%eF4%;%?%p3%{125}%<%t0%e%p3%{250}%<
+	      %tA2%e%p3%{375}%<%tA?%e%p3%{500}%<%tC8%e%p3%{625}%<%tD
+	      4%e%p3%{750}%<%tE1%e%p3%{875}%<%tE:%eF4%;%?%p4%{125}%<
+	      %t0%e%p4%{250}%<%tA2%e%p4%{375}%<%tA?%e%p4%{500}%<%tC8
+	      %e%p4%{625}%<%tD4%e%p4%{750}%<%tE1%e%p4%{875}%<%tE:%eF
+	      4%;\E%%!1,
+	invis=\E[=6;<5, is1=\E%!0\ETM1\E%!1\E[m, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\EOA,
+	kf1=\EOB, kf2=\EOC, kf3=\EOD, kf4=\EP, kf5=\EQ, kf6=\ER,
+	kf7=\ES,
+	oc=\E%!0\ETFB000001F4F4F42F40030F404A4C<F450F4F46F40F47F4F40
+	   \E%!1,
+	op=\E[39;40m, rev=\E[7m, ri=\EM, rmacs=^O, rmcup=,
+	rmir=\E[4l, rmso=\E[=0;<1m, rmul=\E[24m,
+	setb=\E[=%?%p1%{0}%=%t0m%e%p1%{1}%=%t4m%e%p1%{2}%=%t3m%e%p1
+	     %{3}%=%t5m%e%p1%{4}%=%t2m%e%p1%{5}%=%t6m%e%p1%{6}%=%t7m
+	     %e1m%;,
+	setf=\E[<%?%p1%{0}%=%t0m%e%p1%{1}%=%t4m%e%p1%{2}%=%t3m%e%p1
+	     %{3}%=%t5m%e%p1%{4}%=%t2m%e%p1%{5}%=%t6m%e%p1%{6}%=%t7m
+	     %e1m%;,
+	sgr0=\E[=0;<1m\E[24;25;27m\017, smacs=^N,
+	smcup=\E%%!1\E[?6l\E[2J, smir=\E[4h, smso=\E[=2;<3m,
+	smul=\E[4m, tbc=\E[1g, use=ansi+local,
+
+#### Teletype (tty)
+#
+# These are the hardcopy Teletypes from before AT&T bought the company,
+# clattering electromechanical dinosaurs in Bakelite cases that printed on
+# pulpy yellow roll paper.  If you remember these you go back a ways.
+# Teletype-branded VDTs are listed in the AT&T section.
+#
+# The earliest UNIXes were designed to use these clunkers; nroff and a few
+# other programs still default to emitting codes for the Model 37.
+#
+
+tty33|tty35|model 33 or 35 teletype,
+	hc, os, xon,
+	cols#72,
+	bel=^G, cr=\r, cud1=\n, ind=\n,
+tty37|model 37 teletype,
+	OTbs, hc, os, xon,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cuu1=\E7, hd=\E9, hu=\E8,
+	ind=\n,
+
+# There are known to be at least three flavors of the tty40, all seem more
+# like IBM half duplex forms fillers than ASCII terminals.  They have lots of
+# awful braindamage, such as printing a visible newline indicator after each
+# newline.  The 40-1 is a half duplex terminal and is hopeless.  The 40-2 is
+# braindamaged but has hope and is described here.  The 40-4 is a 3270
+# lookalike and beyond hope.  The terminal has visible bell but I don't know
+# it - it's null here to prevent it from showing the BL character.
+# There is an \EG in <nl> because of a bug in old vi (if stty says you have
+# a "newline" style terminal (-crmode) vi figures all it needs is nl
+# to get crlf, even if <cr> is not ^M.)
+# (tty40: removed obsolete ":nl=\EG\EB:", it's just do+cr -- esr)
+tty40|ds40|ds40-2|dataspeed40|Teletype dataspeed 40/2,
+	OTbs, xon,
+	cols#80, lines#24,
+	clear=\EH$<20>\EJ$<80>, cr=\EG, cub1=^H, cud1=\EB,
+	cuf1=\EC, cuu1=\E7, dch1=\EP$<50>, dl1=\EM$<50>,
+	ed=\EJ$<75>, home=\EH$<10>, ht=\E@$<10>, hts=\E1,
+	ich1=\E\^$<50>, il1=\EL$<50>, ind=\ES$<20>, kbs=^],
+	kcub1=^H, mc4=^T, mc5=\022$<2000>, ri=\ET$<10>, rmso=\E4,
+	rs2=\023\ER$<60>, smso=\E3, tbc=\EH\E2$<80>,
+tty43|model 43 teletype,
+	OTbs, am, hc, os, xon,
+	cols#132,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, ind=\n, kbs=^H,
+
+#### Tymshare
+#
+
+# You can add <is2=\E<> to put this 40-column mode, though I can't
+# for the life of me think why anyone would want to.
+scanset|sc410|sc415|Tymshare Scan Set,
+	am, bw, msgr,
+	cols#80, lines#24,
+	acsc=j%k4l<m-q\,x5, bel=^G, clear=\EH\EJ, cr=\r, cub1=^H,
+	cud1=\n, cuf1=^I, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, ed=\EJ, el=\EK, home=\EH, ind=\n, mc0=\E;3, mc4=\E;0,
+	mc5=\E;0, rc=^C, rmacs=^O, rs1=\E>, sc=^B, smacs=^N,
+	use=vt52+arrows,
+
+#### Volker-Craig (vc)
+#
+# If you saw a Byte Magazine cover with a terminal on it during the early
+# 1980s, it was probably one of these.  Carl Helmers liked them because
+# they could crank 19.2 and were cheap (that is, he liked them until he tried
+# to program one...)
+#
+
+# Missing in vc303a and vc303 descriptions:  they scroll 2 lines at a time
+# every other linefeed.
+vc303|vc103|vc203|Volker-Craig 303,
+	OTbs, OTns, am,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<40>, cr=\r, cub1=^H, cud1=\n, cuf1=^I,
+	cuu1=^N, home=\013$<40>, kcub1=^H, kcud1=\n, kcuf1=^I,
+	kcuu1=^N, ll=\017$<1>W,
+vc303a|vc403a|Volker-Craig 303a,
+	clear=\030$<40>, cuf1=^U, cuu1=^Z, el=\026$<20>,
+	home=\031$<40>, kcuf1=^U, kcuu1=^Z, ll=^P, use=vc303,
+# (vc404: removed obsolete ":ma=^Z^P^U :" -- esr)
+vc404|Volker-Craig 404,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\030$<40>, cr=\r, cub1=^H, cud1=\n, cuf1=^U,
+	cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z,
+	ed=\027$<40>, el=\026$<20>, home=\031$<40>, ind=\n,
+	kcub1=^H, kcud1=\n, kcuf1=^U, kcuu1=^Z,
+vc404-s|Volker-Craig 404 w/standout mode,
+	cud1=\n, rmso=^O, smso=^N, use=vc404,
+# From: <wolfgang@cs.sfu.ca>
+# (vc414: merged in cup/dl1/home from an old vc414h-noxon)
+vc414|vc414h|Volker-Craig 414H in sane escape mode.,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=\E\034$<40>, cud1=\E^K, cuf1=^P,
+	cup=\E\021%p2%c%p1%c$<40>, cuu1=\E^L, dch1=\E3,
+	dl1=\E\023$<40>, ed=\E^X, el=\E\017$<10/>, home=\E^R,
+	ich1=\E:, il1=\E\032$<40>, kcub1=^H, kcud1=\E^K, kcuf1=^P,
+	kcuu1=\E^L, kf0=\EA, kf1=\EB, kf2=\EC, kf3=\ED, kf4=\EE,
+	kf5=\EF, kf6=\EG, kf7=\EH, khome=\E^R, lf0=PF1, lf1=PF2,
+	lf2=PF3, lf3=PF4, lf4=PF5, lf5=PF6, lf6=PF7, lf7=PF8,
+	rmso=\E^_, smso=\E^Y,
+vc415|Volker-Craig 415,
+	clear=^L, use=vc404,
+
+######## OBSOLETE PERSONAL-MICRO CONSOLES AND EMULATIONS
+#
+
+#### IBM PC and clones
+#
+
+# The pcplot IBM-PC terminal emulation program is really messed up. It is
+# supposed to emulate a vt-100, but emulates the wraparound bug incorrectly,
+# doesn't support scrolling regions, ignores add line commands, and ignores
+# delete line commands. Consequently, the resulting behavior looks like a
+# crude adm3a-type terminal.
+# Steve Jacobson 8/85
+pcplot|pc-plot terminal emulation program,
+	xenl@,
+	csr@, dl@, dl1@, il@, il1@, rc@, sc@, use=vt100+4bsd,
+# KayPro II from Richard G Turner <rturner at Darcom-Hq.ARPA>
+# I've found that my KayPro II, running MDM730, continues to emulate an
+# ADM-3A terminal, just like I was running TERM.COM. On our 4.2 UNIX
+# system the following termcap entry works well:
+# I have noticed a couple of minor glitches, but nothing I can't work
+# around. (I added two capabilities from the BRL entry -- esr)
+kaypro|kaypro2|kaypro II,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\032$<1/>, cr=\r, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dl1=\ER, ed=^W,
+	el=^X, home=^^, il1=\EE, ind=\n, kcud1=\n, kcuf1=^L, kcuu1=^K,
+
+# From IBM, Thu May  5 19:35:27 1983
+# (ibmpc: commented out <smir>=\200R because we don't know <rmir> -- esr)
+ibm-pc|ibm5051|5051|IBM Personal Computer (no ANSI.SYS),
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^L^K, cr=\r^^, cub1=^], cud1=\n, cuf1=^\,
+	cuu1=^^, home=^K, ind=\n$<10>, kcud1=^_,
+
+ibmpc|wy60-PC|wyse60-PC|IBM PC/XT running PC/IX,
+	OTbs, am, bw, eo, hs, km, msgr, ul,
+	cols#80, it#8, lines#24,
+	acsc=j\331k\277l\332m\300n\305q\304t\303u\264v\301w\302x
+	     \263,
+	bel=^G, clear=\Ec, cr=\r, cup=\E[%i%p1%d;%p2%dH,
+	ech=\E[%p1%dX, ed=\E[J, el=\E[K, home=\E[H,
+	hpa=\E[%i%p1%dG, ind=\E[S\E[B, indn=\E[%p1%dS\E[%p1%dB,
+	invis=\E[30;40m, kcbt=^], kdch1=^?, kend=\E[Y, kf1=\240,
+	kf10=\251, kf2=\241, kf3=\242, kf4=\243, kf5=\244, kf6=\245,
+	kf7=\246, kf8=\247, kf9=\250, kich1=\E[^H, knp=\E[U,
+	kpp=\E[V, ll=\E[24;1H, nel=\r, rev=\E[7m, ri=\E[T\E[A,
+	rin=\E[%p1%dT\E[%p1%dA,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1
+	    %;%?%p7%t30;40%;m,
+	sgr0=\E[m, use=ansi+arrows, use=ansi+local,
+	use=ansi+sgrbold,
+
+#### Apple II
+#
+# Apple II firmware console first, then various 80-column cards and
+# terminal emulators.  For two cents I'd toss all these in the UFO file
+# along with the 40-column apple entries.
+#
+
+# From: brsmith@umn-cs.cs.umn.edu (Brian R. Smith) via BRL
+#	'it#8' tells UNIX that you have tabs every 8 columns.  This is a
+#		function of TIC, not the firmware.
+#	The clear key on a IIgs will do something like clear-screen,
+#		depending on what you're in.
+appleIIgs|appleIIe|appleIIc|Apple 80 column firmware interface,
+	OTbs, am, bw, eo, msgr,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	home=^Y, ht=^I, ind=^W, kbs=^H, kclr=^X, kcub1=^H, kcud1=\n,
+	kcuf1=^U, kcuu1=^K, kdch1=^?, nel=\r^W, ri=^V, rmso=^N,
+	smso=^O,
+# Apple //e with 80-column card, entry from BRL
+# The modem interface is permitted to discard LF (maybe DC1), otherwise
+# passing characters to the 80-column firmware via COUT (PR#3 assumed).
+# Auto-wrap does not work right due to newline scrolling delay, which also
+# requires that you set "stty cr2".
+# Note: Cursor addressing is only available via the Pascal V1.1 entry,
+# not via the BASIC PR#3 hook.  All this nonsense can be avoided only by
+# using a terminal emulation program instead of the built-in firmware.
+apple2e|Apple //e,
+	bw, msgr,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<100/>, cub1=^H, cud1=\n, cuu1=^_,
+	ed=\013$<4*/>, el=\035$<4/>, home=^Y, ht=^I, ind=^W,
+	is2=^R^N, kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^U, kcuu1=^K,
+	nel=\r$<100/>, rev=^O, ri=^V, rmso=^N, rs1=^R^N, sgr0=^N,
+	smso=^O,
+# mcvax!vu44!vu45!wilcke uses the "ap" entry together with Ascii Express Pro
+# 4.20, with incoming and outgoing terminals both on 0, emulation On.
+apple2e-p|Apple //e via Pascal,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, use=apple2e,
+# (ASCII Express) MouseTalk "Standard Apple //" emulation from BRL
+# Enable DC3/DC1 flow control with "stty ixon -ixany".
+apple-ae|ASCII Express,
+	OTbs, am, bw, msgr, nxon, xon,
+	cols#80, it#8, lines#24,
+	bel=\007$<500/>, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=^U,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	home=^Y, ind=^W, is2=^R^N, kclr=^X, kcub1=^H, kcud1=\n,
+	kcuf1=^U, kcuu1=^K, rev=^O, ri=^V, rmso=^N, rs1=^R^N, sgr0=^N,
+	smso=^O,
+appleII|Apple II plus,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	clear=^L, cnorm=^TC2, cub1=^H, cud1=\n, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, cvvis=^TC6,
+	ed=^K, el=^], flash=\024G1$<200/>\024T1, home=\E^Y, ht=^I,
+	is2=^TT1^N, kcud1=\n, kcuf1=^U, rmso=^N, sgr0=^N, smso=^O,
+# Originally by Gary Ford 21NOV83
+# From: <ee178aci%sdcc7@SDCSVAX.ARPA>  Fri Oct 11 21:27:00 1985
+apple-80|Apple II with smarterm 80 col,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	cbt=^R, clear=\014$<10*/>, cr=\r$<10*/>, cub1=^H, cud1=\n,
+	cuf1=^\, cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_,
+	ed=\013$<10*/>, el=\035$<10/>, home=^Y,
+apple-soroc|Apple emulating Soroc 120,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\E*$<300>, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EY, el=\ET,
+	home=^^, ind=\n, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K,
+# From Peter Harrison, Computer Graphics Lab, San Francisco
+#   ucbvax!ucsfmis!harrison  .....uucp
+#   ucbvax!ucsfmis!harrison@BERKELEY   .......ARPA
+# "These two work.  If you don't have the inverse video chip for the
+# Apple with videx then remove the :so: and :se: fields."
+# (apple-videx: this used to be called DaleApple -- esr)
+apple-videx|Apple with videx videoterm 80 column board with inverse video,
+	OTbs, am, xenl,
+	cols#80, it#8, lines#24,
+	clear=\014$<300/>, cub1=^H, cud1=\n, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	home=^Y, ht=^I, kcub1=^H, kcud1=\n, kcuf1=^U, khome=^Y,
+	rmso=^Z2, sgr0=^Z2, smso=^Z3,
+# My system [for reference] : Apple ][+, 64K, Ultraterm display card,
+#			      Apple Cat ][ 212 modem, + more all
+#			      controlled by ASCII Express: Pro.
+# From Dave Shaver <isucs1!shaver>
+apple-uterm-vb|Videx Ultraterm for Apple micros with Visible Bell,
+	OTbs, am, eo, xt,
+	cols#80, lines#24,
+	acsc=, clear=^L, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	flash=^W35^W06, home=^Y,
+	is2=^V4^W06\017\rVisible Bell Installed.\016\r\n,
+	rmso=^N, smso=^O,
+apple-uterm|Ultraterm for Apple micros,
+	OTbs, am, eo, xt,
+	cols#80, lines#24,
+	acsc=, clear=^L, cuf1=^\,
+	cup=\036%p2%{32}%+%c%p1%{32}%+%c, cuu1=^_, ed=^K, el=^],
+	home=^Y, is2=^V4^W06\016, rmso=^N, smso=^O,
+# from trwrba!bwong (Bradley W. Wong):
+#
+# This entry assumes that you are using an apple with the UCSD Pascal
+# language card.  SYSTEM.MISCINFO is assumed to be the same as that
+# supplied with the standard apple except that screenwidth should be set
+# using SETUP to 80 columns.  Note that the right arrow is not mapped in
+# this termcap entry.  This is because that key, on the Apple, transmits
+# a ^U and would thus preempt the more useful "up" function of vi.
+#
+# HMH 2/23/81
+apple80p|80-column apple with Pascal card,
+	am, bw,
+	cols#80, lines#24,
+	clear=^Y^L, cuf1=^\:, cup=\036%p2%{32}%+%c%p1%{32}%+%c,
+	cuu1=^_, ed=^K, el=^], home=^Y, kcub1=^H,
+#
+# Apple II+ equipped with Videx 80 column card
+#
+# Terminfo from ihnp4!ihu1g!djc1 (Dave Christensen) via BRL;
+# manually converted by D A Gwyn
+#
+# DO NOT use any terminal emulation with this data base, it works directly
+# with the Videx card.  This has been tested with vi 1200 baud and works fine.
+#
+# This works great for vi, except I've noticed in pre-R2, ^U will scroll back
+# 1 screen, while in R2 ^U doesn't.
+# For inverse alternate character set add:
+#	<smacs>=^O:<rmacs>=^N:
+# (apple-v: added it#8 -- esr)
+apple-videx2|Apple II+ w/ Videx card (similar to Datamedia h1520),
+	am, xenl,
+	cols#80, it#8, lines#24,
+	bel=\007$<100/>, clear=\014$<16*/>, cr=\r, cub1=^H,
+	cud1=\n, cuf1=^\, cup=\036%p2%{32}%+%c%p1%{32}%+%c,
+	cuu1=^_, ed=\013$<16*/>, el=^], home=^Y, ht=\011$<8/>,
+	ind=\n, kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^\, kcuu1=^_,
+	khome=^Y, rmso=^Z2, smso=^Z3,
+apple-videx3|vapple|Apple II with 80 col card,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=\Ev, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, el=\Ex,
+	home=\EH, kf0=\EP, kf1=\EQ, kf2=\ER, kf3=\E\s, kf4=\E!,
+	kf5=\E", kf6=\E#, kf7=\E$, kf8=\E%%, kf9=\E&, khome=\EH,
+	use=vt52+arrows,
+#From: decvax!cbosgd!cbdkc1!mww Mike Warren via BRL
+aepro|Apple II+ running ASCII Express Pro--vt52,
+	OTbs,
+	cols#80, lines#24,
+	clear=\014$<300/>, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EK, home=\EH,
+# UCSD addition: Yet another termcap from Brian Kantor's Micro Munger Factory
+apple-vm80|ap-vm80|Apple with viewmax-80,
+	OTbs,
+	cols#80, lines#24,
+	clear=\014$<300/>, cuf1=^\:,
+	cup=\036%p1%{32}%+%c%p2%{32}%+%c$<100/>, cuu1=^_,
+	ed=\013$<300/>, el=^], home=\031$<200/>,
+
+#### Apple Lisa & Macintosh
+#
+
+# (lisa: changed <cvvis> to <cnorm> -- esr)
+lisa|Apple Lisa console display (black on white),
+	OTbs, am, eo, msgr,
+	cols#88, it#8, lines#32,
+	acsc=jdkclfmenbqattuvvuwsx`, civis=\E[5h, clear=^L,
+	cnorm=\E[5l, cub1=^H, cup=\E[%i%p1%d;%p2%dH, dch1=\E[P,
+	dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I, ich1=\E[@,
+	il1=\E[L, is2=\E>\E[m\014, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, rmacs=\E[10m, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smacs=\E[11m, smso=\E[7m, smul=\E[4m,
+	use=ansi+local1,
+liswb|Apple Lisa console display (white on black),
+	is2=\E>\E[0;7m\014, rmso=\E[0;7m, rmul=\E[0;7m,
+	smso=\E[m, smul=\E[4m, use=lisa,
+
+# lisaterm from ulysses!gamma!epsilon!mb2c!jed (John E. Duncan III) via BRL;
+# <is2> revised by Ferd Brundick <fsbrn@BRL.ARPA>
+#
+# These entries assume that the 'Auto Wraparound' is enabled.
+# Xon-Xoff flow control should also be enabled.
+#
+# The VT100 uses :rs2: and :rf: rather than :is2:/:tbc:/:hts: because the tab
+# settings are in non-volatile memory and don't need to be reset upon login.
+# Also setting the number of columns glitches the screen annoyingly.
+# You can type "reset" to get them set.
+#
+lisaterm|Apple Lisa or Lisa/2 running LisaTerm VT100 emulation,
+	OTbs, OTpt, am, xenl, xon,
+	OTkn#4, cols#80, it#8, lines#24, vt#3,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[2J, cr=\r,
+	cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K,
+	home=\E[H, ht=^I, hts=\EH, ind=\n, kbs=^H, kcub1=\EOD,
+	kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf0=\EOP, kf1=\EOQ,
+	kf2=\EOR, kf3=\EOS, lf0=F1, lf1=F2, lf2=F3, lf3=F4, rev=\E[7m,
+	ri=\EM, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	rs1=\E>\E[?1l\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h\E[1;24r,
+	sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, use=ansi+csr, use=ansi+local,
+
+# Lisaterm in 132 column ("wide") mode.
+lisaterm-w|Apple Lisa with Lisaterm in 132 column mode,
+	cols#132,
+	kbs=^H, kcub1=^H, kcud1=\n, use=lisaterm,
+# Although MacTerminal has insert/delete line, it is commented out here
+# since it is much faster and cleaner to use the "lock scrolling region"
+# method of inserting and deleting lines due to the MacTerminal implementation.
+# Also, the "Insert/delete ch" strings have an extra character appended to them
+# due to a bug in MacTerminal V1.1.  Blink is disabled since it is not
+# supported by MacTerminal.
+mac|macintosh|Macintosh with MacTerminal,
+	xenl,
+	OTdN#30,
+	blink@, dch1=\E[P$<7/>, ich1=\E[@$<9/>, ip=$<7/>, use=lisa,
+# Lisaterm in 132 column ("wide") mode.
+mac-w|macterminal-w|Apple Macintosh with MacTerminal in 132 column mode,
+	cols#132, use=mac,
+
+#### Radio Shack/Tandy
+#
+
+# (coco3: This had "ta" used incorrectly as a boolean and bl given as "bl#7".
+# I read these as mistakes for ":it#8:" and ":bl=\007:" respectively -- esr)
+# From: <{pbrown,ctl}@ocf.berkeley.edu> 12 Mar 90
+coco3|os9LII|Tandy CoCo3 24*80 OS9 Level II,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=^_", bold=\E:^A, civis=^E\s,
+	clear=\014$<5*/>, cnorm=^E!, cub1=^H, cud1=\n, cuf1=^F,
+	cup=\002%p2%{32}%+%c%p1%{32}%+%c$<2/>, cuu1=^I,
+	dl1=^_1, ed=^K, el=^D, home=^A, il1=^_0, kcub1=^H, kcud1=\n,
+	kcuf1=^I, kcuu1=^L, rev=^_\s, rmso=^_!, rmul=^_#,
+	sgr0=\037!\E:\0, smso=^_\s, smul=^_",
+# (trs2: removed obsolete ":nl=^_:" -- esr)
+trs2|trsII|trs80II|Radio Shack Model II using P&T CP/M,
+	OTbs, am, msgr,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=^_, cuf1=^],
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^^, dl1=^K, ed=^B,
+	el=^A, home=^F, ht=^I, il1=^D, ind=\n, kbs=^H, kcub1=^\,
+	kcud1=^_, kcuf1=^], kcuu1=^^, rmso=^O, sgr0=^O, smso=^N,
+# From: Kevin Braunsdorf <ksb@mentor.cc.purdue.edu>
+# (This had extension capabilities
+#	:BN=\E[?33h:BF=\E[?33l:UC=\E[_ q:BC=\E[\177 q:\
+#	:CN=\ERC:CF=\ERc:NR=\ERD:NM=\ER@:
+# I also deleted the unnecessary ":kn#2:", ":sg#0:" -- esr)
+trs16|trs-80 model 16 console,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	acsc=jak`l_mbquvewcxs, bel=^G, civis=\ERc, clear=^L,
+	cnorm=\ERC, cr=\r, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ,
+	dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\EP, il1=\EL,
+	ind=\n, kbs=^H, kf0=^A, kf1=^B, kf2=^D, kf3=^L, kf4=^U, kf5=^P,
+	kf6=^N, kf7=^S, khome=^W, lf0=f1, lf1=f2, lf2=f3, lf3=f4, lf4=f5,
+	lf5=f6, lf6=f7, lf7=f8, mc4=\E]+, mc5=\E]=, rmacs=\ERg,
+	rmso=\ER@, sgr0=\ER@, smacs=\ERG, smso=\ERD,
+	use=vt52+arrows,
+
+#### Commodore Business Machines
+#
+# Formerly located in West Chester, PA; went spectacularly bust in 1994
+# after years of shaky engineering and egregious mismanagement.  Made one
+# really nice machine (the Amiga) and boatloads of nasty ones (PET, C-64,
+# C-128, VIC-20).  The C-64 is said to have been the most popular machine
+# ever (most units sold); they can still be found gathering dust in closets
+# everywhere.
+#
+
+# From: Kent Polk <kent@swrinde.nde.swri.edu>, 30 May 90
+# Added a few more entries, converted caret-type control sequence (^x) entries
+# to '\0xx' entries since a couple of people mentioned losing '^x' sequences.
+# Corrections by Ty Sarna <tsarna@endicor.com>, Sat Feb 28 18:55:15 1998
+#
+# :as:, :ae:			Support for alternate character sets.
+# :ve=\E[\040p:vi=\E[\060\040p:	cursor visible/invisible.
+# :xn:  vt100 kludginess at column 80/NEWLINE ignore after 80 cols(Concept)
+#     This one appears to fix a problem I always had with a line ending
+#     at 'width+1' (I think) followed by a blank line in vi. The blank
+#     line tended to disappear and reappear depending on how the screen
+#     was refreshed. Note that this is probably needed only if you use
+#     something like a Dnet Fterm with the window sized to some peculiar
+#     dimension larger than 80 columns.
+# :k0=\E9~:	map F10 to k0 - could have F0-9 -> k0-9, but ... F10 was 'k;'
+# (amiga: removed obsolete :kn#10:,
+# also added empty <acsc> to suppress a warning --esr)
+amiga|Amiga ANSI,
+	OTbs, am, bw, xenl,
+	cols#80, lines#24,
+	acsc=, bel=^G, blink=\E[7;2m, bold=\E[1m, cbt=\E[Z,
+	civis=\E[0 p, cnorm=\E[ p, cup=\E[%i%p1%d;%p2%dH,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, home=\E[H,
+	ich=\E[%p1%d@, ich1=\E[@, ind=\E[S, invis=\E[8m,
+	is2=\E[20l, kbs=^H, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C,
+	kcuu1=\E[A, kf0=\E[9~, kf1=\E[0~, kf2=\E[1~, kf3=\E[2~,
+	kf4=\E[3~, kf5=\E[4~, kf6=\E[5~, kf7=\E[6~, kf8=\E[7~,
+	kf9=\E[8~, rev=\E[7m, ri=\E[T, rmacs=^O, rmso=\E[m,
+	rmul=\E[m, rs1=\Ec, sgr0=\E[m, smacs=^N, smso=\E[7m,
+	smul=\E[4m, use=ansi+erase, use=ansi+idl, use=ansi+local,
+	use=ecma+index,
+
+# From: Hans Verkuil <hans@wyst.hobby.nl>, 4 Dec 1995
+# (amiga: added empty <acsc> to suppress a warning.
+# I'm told this entry screws up badly with AS225, the Amiga
+# TCP/IP package once from Commodore, and now sold by InterWorks.--esr)
+amiga-h|Hans Verkuil's Amiga ANSI,
+	OTbs, bw, msgr,
+	cols#80, lines#24,
+	acsc=, bel=^G, blink=\2337;2m, bold=\2331m, cbt=\233Z,
+	civis=\2330 p, clear=\233H\233J, cnorm=\233 p, cr=\r,
+	cub=\233%p1%dD, cub1=\233D, cud=\233%p1%dB, cud1=\233B,
+	cuf=\233%p1%dC, cuf1=\233C, cup=\233%i%p1%d;%p2%dH,
+	cuu=\233%p1%dA, cuu1=\233A, dch=\233%p1%dP, dch1=\233P,
+	dim=\2332m, ech=\233%p1%dP, ed=\233J, el=\233K, flash=^G,
+	home=\233H, ht=^I, ich=\233%p1%d@, ich1=\233@, ind=\233S,
+	indn=\233%p1%dS, invis=\2338m, is2=\23320l, kbs=^H,
+	kcub1=\233D, kcud1=\233B, kcuf1=\233C, kcuu1=\233A,
+	kdch1=^?, kf0=\2339~, kf1=\2330~, kf2=\2331~, kf3=\2332~,
+	kf4=\2333~, kf5=\2334~, kf6=\2335~, kf7=\2336~, kf8=\2337~,
+	kf9=\2338~, nel=\233B\r, rev=\2337m, ri=\233T,
+	rin=\233%p1%dT, rmacs=^O, rmcup=\233?7h, rmso=\2330m,
+	rmul=\2330m, rs1=\Ec, sgr0=\2330m, smacs=^N, smcup=\233?7l,
+	smso=\2337m, smul=\2334m,
+
+# From: Henning 'Faroul' Peters <Faroul@beyond.kn-bremen.de>, 25 Sep 1999
+#
+# Pavel Fedin added
+#	Home    Shift+Left
+#	End     Shift+Right
+#	PgUp    Shift+Up
+#	PgDn    Shift+Down
+amiga-8bit|Amiga ANSI using 8-bit controls,
+	acsc=, dl=\233%p1%dM, dl1=\233M, il=\233%p1%dL, il1=\233L,
+	ind=\204, indn@, kend=\233 @, khome=\233 A, knp=\233S,
+	kpp=\233T, ri=\215, rin@, use=amiga-h,
+
+# From: Ruediger Kuhlmann <terminfo@ruediger-kuhlmann.de>, 18 Jul 2000
+# requires use of appropriate preferences settings.
+amiga-vnc|Amiga using VNC console (black on light gray),
+	am, da, db, msgr, ndscr,
+	btns#1, colors#16, cols#80, lines#24, lm#0, ncv#0, pairs#0x100,
+	bel=^G, blink=\E[7;2m, bold=\E[1m, civis=\E[0p,
+	cnorm=\E[p\E[>?6l, cr=\r, csr=\E[%i%p1%d;%p2%dr,
+	cup=\E[%i%p1%d;%p2%dH, cvvis=\E[>?6h, dch=\E[%p1%dP,
+	dch1=\E[P, dim=\E[2m, dl=\E[%p1%dM, dl1=\E[1M, flash=^G,
+	ich=\E[%p1%d@, ich1=\E[@, il=\E[%p1%dL, il1=\E[1L, ind=\ED,
+	invis=\E8m,
+	is2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h,
+	kcbt=\233Z, kdch1=^?, kf0=\E[9~, kf1=\E[0~, kf2=\E[1~,
+	kf3=\E[2~, kf4=\E[3~, kf5=\E[4~, kf6=\E[5~, kf7=\E[6~,
+	kf8=\E[7~, kf9=\E[8~, khlp=\E[?~, khome=\E[44~, kll=\E[45~,
+	kmous=\E[M, knp=\E[42~, kpp=\E[41~, nel=\EE, oc=\E[0m,
+	rev=\E[7m, ri=\EM, rmcup=\E[?7h\E[r\E[J, rmkx=\E[?1l,
+	rmso=\E[21m, rmul=\E[24m, rs1=\Ec,
+	rs2=\E[>?2;18l\E[>?26;?6;20;>?15;?7;>?22;>?8h,
+	setab=\E[%?%p1%{8}%>%t%'F'%p1%+%d%e4%p1%d%;m,
+	setaf=\E[%?%p1%{8}%>%t%'2'%p1%+%d%e3%p1%d%;m,
+	sgr0=\E[0m\017\E[30;85;>15m, smcup=\E[?7h, smkx=\E[?1h,
+	smso=\E[1m, smul=\E[4m, use=ansi+arrows, use=ansi+erase,
+	use=ansi+local, use=ecma+index,
+
+# MorphOS on Genesi Pegasos
+# By Pavel Fedin <sonic_amiga@rambler.ru>
+morphos|MorphOS on Genesi Pegasos,
+	acsc=, dl=\233%p1%dM, dl1=\233M, il=\233%p1%dL, il1=\233L,
+	ind=\204, indn@, kend=\23345~, kf11=\23320~, kf12=\23321~,
+	khome=\23344~, kich1=\23340~, knp=\23342~, kpp=\23341~,
+	ri=\215, rin@, use=amiga-h,
+
+# Commodore B-128 microcomputer from Doug Tyrol <det@HEL-ACE.ARPA>
+#	I'm trying to write a termcap for a commodore b-128, and I'm
+# having a little trouble. I've had to map most of my control characters
+# to something that unix will accept (my delete-char is a ctrl-t, etc),
+# and create some functions (like cm), but thats life.
+#	The problem is with the arrow keys - right, and up work fine, but
+# left deletes the previous character and down I just can't figure out.
+# Jove knows what I want, but I don't know what it's sending to me (it
+# isn't thats bound to next-line in jove).
+#	Anybody got any ideas? Here's my termcap.
+# DAG -- I changed his "^n" entries to "\n"; see if that works.
+#
+commodore|b-128|Commodore B-128 micro,
+	am, bw,
+	OTdN#20, cols#80, lines#24, pb#150,
+	OTbc=^H, OTnl=\r, clear=\E\006$<10/>, cr=\r, cud1=\n,
+	cuf1=^F, cup=\E\013%p1%2d\,%p2%2d\,$<20/>, cuu1=^P,
+	dch1=\177$<10*/>, dl1=\Ed$<10*/>, el=\Eq$<10/>,
+	home=\E^E, ht=\011$<5/>, ich1=\E\n$<5/>, il1=\Ei$<10/>,
+	kcub1=^B, kcud1=\n, kcuf1=^F, kcuu1=^P, khome=\E^E, rmir=,
+	smir=,
+
+#### North Star
+#
+# North Star Advantage from Lt. Fickie <brl-ibd!fickie> via BRL
+northstar|North Star Advantage,
+	OTbs,
+	cols#80, lines#24,
+	clear=\004$<200/>,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<1/>, ed=\017$<200/>,
+	el=\016$<200/>, home=\034\032$<200/>,
+
+#### Osborne
+#
+# Thu Jul  7 03:55:16 1983
+#
+# As an aside, be careful; it may sound like an anomaly on the
+# Osborne, but with the 80-column upgrade, it's too easy to
+# enter lines >80 columns!
+#
+# I've already had several comments...
+# The Osborne-1 with the 80-col option is capable of being
+# 52, 80, or 104 characters wide; default to 80 for compatibility
+# with most systems.
+#
+# The tab is destructive on the Ozzie; make sure to 'stty -tabs'.
+osborne-w|osborne1-w|Osborne I in 104-column mode,
+	msgr, ul, xt,
+	cols#104, lines#24,
+	bel=^G, clear=^Z, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, el=\ET, ich1=\EQ, il1=\EE, ind=\n, kcub1=^H, kcud1=\n,
+	kcuf1=^L, kcuu1=^K, rmso=\E(, rmul=\Em, smso=\E), smul=\El,
+# Osborne I	from ptsfa!rhc (Robert Cohen) via BRL
+osborne|osborne1|Osborne I in 80-column mode,
+	OTbs, am, mir, msgr, ul, xhp,
+	OTdB#4, cols#80, lines#24,
+	clear=^Z, cub1=\010$<4>, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K,
+	dch1=\EW$<4/>, dl1=\ER, el=\ET, il1=\EE, is2=^Z, kbs=^H,
+	kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, rmir=, rmso=\E),
+	rmul=\Em, smir=\EQ, smso=\E(, smul=\El,
+#
+# Osborne Executive definition from BRL
+# Similar to tvi920
+# Added by David Milligan and Tom Smith (SMU)
+osexec|Osborne executive,
+	OTbs, am,
+	OTug#1, cols#80, lines#24, xmc#1,
+	OTnl=\n, bel=^G, clear=^Z, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dl1=\ER, ed=\EY, el=\ET, home=^^, hts=\E1, ich1=\EQ, il1=\EE,
+	is2=\Eq\Ek\Em\EA\Ex0, kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^L,
+	kcuu1=^K, kf0=^A@\r, kf1=^AA\r, kf2=^AB\r, kf3=^AC\r,
+	kf4=^AD\r, kf5=^AE\r, kf6=^AF\r, kf7=^AG\r, kf8=^AH\r,
+	kf9=^AI\r, rmir=, rmso=\Ek, rmul=\Em, smir=, smso=\Ej,
+	smul=\El, tbc=\E3,
+
+#### Console types for obsolete UNIX clones
+#
+# Coherent, Minix, Venix, and several lesser-known kin were OSs for 8088
+# machines that tried to emulate the UNIX look'n'feel.  Coherent and Venix
+# were commercial, Minix an educational tool sold in conjunction with a book.
+# Memory-segmentation limits and a strong tendency to look like V7 long after
+# it was obsolete made all three pretty lame.  Venix croaked early.  Coherent
+# and Minix were ported to 32-bit Intel boxes, only to be run over by a
+# steamroller named `Linux' (which, to be fair, traces some lineage to Minix).
+# Coherent's vendor, the Mark Williams Company, went belly-up in 1994.  There
+# are also, I'm told, Minix ports that ran on Amiga and Atari machines and
+# even as single processes under SunOS and the Macintosh OS.
+#
+
+# See
+#	https://web.archive.org/web/20120703021949/http://www.minix3.org/manpages/html4/console.html
+minix|minix console (v3),
+	NQ,
+	acsc=+\020\,\021-\030.^Y0\333`\004a\261f\370g\361h\260j
+	     \331k\277l\332m\300n\305o~p\304q\304r\304s_t\303u\264v
+	     \301w\302x\263y\363z\362{\343|\330}\234~\376,
+	kdch1=^?, kend=\E[Y, kf0=\E[21~, kf1=\E[11~, kf10=\E[21~,
+	kf11=\E[11;2~, kf12=\E[12;2~, kf13=\E[13;2~,
+	kf14=\E[14;2~, kf15=\E[15;2~, kf16=\E[17;2~,
+	kf17=\E[18;2~, kf18=\E[19;2~, kf19=\E[20;2~, kf2=\E[12~,
+	kf20=\E[21;2~, kf21=\E[11;5~, kf22=\E[12;5~,
+	kf23=\E[13;5~, kf24=\E[14;5~, kf25=\E[15;5~,
+	kf26=\E[17;5~, kf27=\E[18;5~, kf28=\E[19;5~,
+	kf29=\E[20;5~, kf3=\E[13~, kf30=\E[21;5~, kf31=\E[11;6~,
+	kf32=\E[12;6~, kf33=\E[13;6~, kf34=\E[14;6~,
+	kf35=\E[15;6~, kf36=\E[17;6~, kf37=\E[18;6~,
+	kf38=\E[19;6~, kf39=\E[20;6~, kf4=\E[14~, kf40=\E[21;6~,
+	kf5=\E[15~, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	kich1=\E[@, knp=\E[U, kpp=\E[V, lf0@, lf1@, lf2@, lf3@, lf4@, lf5@,
+	use=minix-3.0,
+
+minix-3.0|minix console (v3.0),
+	use=ecma+color, use=minix-1.7,
+
+# See
+#	https://web.archive.org/web/20030914201935/http://www.minix-vmd.org/pub/Minix-vmd/1.7.0/wwwman/man4/console.4.html
+# This matches the entry provided with minix 1.7.4, with bogus :ri: removed.
+minix-1.7|minix console (v1.7),
+	am, xenl, xon@,
+	el1=\E[2K, is2=\E[0m, lf0=End, lf1=PgUp, lf2=PgDn, lf3=Num +,
+	lf4=Num -, lf5=Num 5, use=minix-1.5,
+# Corrected Jan 14, 1997 by Vincent Broman <broman@nosc.mil>
+minix-old|minix-1.5|minix console (v1.5),
+	xon, NQ,
+	cols#80, it#8, lines#25,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[H\E[0J, cr=\r,
+	cub1=^H, cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	ed=\E[0J, el=\E[K, home=\E[H, ht=^I, ich=\E[%p1%d@,
+	ich1=\E[@, ind=\n, kf0=\E[Y, kf1=\E[V, kf2=\E[U, kf3=\E[T,
+	kf4=\E[S, kf5=\E[G, nel=\r\n, rev=\E[7m, ri=\EM, rmso=\E[0m,
+	rmul=\E[0m, sgr0=\E[0m, smso=\E[7m, smul=\E[4m,
+	use=ansi+arrows, use=ansi+idl, use=ansi+local,
+
+# The linewrap option can be specified by editing /usr/include/minix/config.h
+# before recompiling the minix 1.5 kernel.
+minix-old-am|minix console with linewrap,
+	am, use=minix-old,
+
+pc-minix|minix console on an Intel box,
+	use=klone+acs, use=minix-3.0,
+
+# According to the Coherent 2.3 manual, the PC console is similar
+# to a z19. The differences seem to be (1) 25 lines, (2) no status
+# line, (3) standout is broken, (4) ins/del line is broken, (5)
+# has blinking and bold.
+pc-coherent|pcz19|coherent|IBM PC console running Coherent,
+	am, mir,
+	cols#80, it#8, lines#25,
+	bel=^G, clear=\EE, cr=\r, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EN,
+	ed=\EJ, el=\EK, home=\EH, ht=^I, ind=\n, kbs=^H, khome=\EH,
+	ri=\EI, rmir=\EO, rmso=\Eq, sgr0=\Eq, smir=\E@, smso=\Ep,
+	use=vt52+arrows,
+
+# According to the Venix 1.1 manual, the PC console is similar
+# to a DEC VT52.  Differences seem to be (1) arrow keys send
+# different strings, (2) enhanced standout, (3) added insert/delete line.
+# Note in particular that it doesn't have automatic margins.
+# There are other keys (f1-f10, kpp, knp, kcbt, kich1, kdch1) but they
+# not described here because this derives from an old termcap entry.
+pc-venix|venix|IBM PC console running Venix,
+	cols#80, it#8, lines#25,
+	bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM,
+	ed=\EJ, el=\EK, ht=^I, il1=\EL, ind=\n, kbs=^H, kcub1=\EK,
+	kcud1=\EP, kcuf1=\EM, kcuu1=\EH, khome=\EG, ri=\EI,
+
+#### Miscellaneous microcomputer consoles
+#
+# If you know anything more about any of these, please tell me.
+#
+
+# The MAI Basic Four computer was obsolete at the end of the 1980s.
+# It may be used as a terminal by putting it in "line" mode as seen on
+# one of the status lines.
+# Initialization is similar to CIT80. <is2> will set ANSI mode for you.
+# Hardware tabs set by <if> at 8-spacing.  Auto line wrap causes glitches so
+# wrap mode is reset by <cvvis>.  Using <ind>=\E[S caused errors so I
+# used \ED instead.
+# From: bf347@lafn.org (David Lawyer), 28 Jun 1997
+mai|basic4|MAI Basic Four in ANSI mode,
+	am, da, db, mir, msgr,
+	cols#82, it#8, lines#25,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=^]^_, cnorm=\E[?7h,
+	cr=\r, cub1=^H, cud1=\n, cuf1=^X, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=^Z, cvvis=\E[?7l, dch1=\E[1P, dl1=\E[M, ed=^_, el=^^,
+	home=^], ht=^I, if=/usr/share/tabset/vt100, il1=\E[L,
+	ind=\ED,
+	is2=\E>\E[?1h\E[?7h\E[?5l\017\E(B\E[m\E[20l\E[1;24r\E[24;1H,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU,
+	kf7=\EOV, kf8=\EOW, nel=\r\ED, rev=\E[7m, ri=\E[T,
+	rmir=\E[4l, rmso=\E[m, rmul=\E[m, sgr0=\E[m, smir=\E[4h,
+	smso=\E[7m, smul=\E[4m, use=ansi+csr,
+
+# basis from Peter Harrison, Computer Graphics Lab, San Francisco
+#   ucbvax!ucsfmis!harrison ...uucp / ucbvax!ucsfmis!harrison@BERKELEY ...ARPA
+#
+# On Sat, 7 Aug 1999, Torsten Jerzembeck <toje@nightingale.ms.sub.org> wrote:
+# The Basis 108 was a Apple II clone, manufactured by the "Basis
+# Mikrocomputer GmbH" in Munster, Germany (the company still exists today,
+# about 1,5 km from where I live, but doesn't build own computers any
+# more). A Basis 108 featured a really heavy (cast aluminium?) case, was
+# equipped with one or two 5.25" disk drives, had a monochrome and colour
+# video output for a TV set or a dedicated monitor and several slots for
+# Apple II cards. Basis 108 were quite popular at german schools before
+# the advent of the IBM PC. They run, for example, the UCSD Pascal
+# development system (which I used even in 1993 to program the steering
+# and data recording for our school's experimental solar panel :), Apple DOS
+# or CP/M.
+# (basis: removed obsolete ":ma=^K^P^R^L^L :nl=5000*^J:" -- esr)
+basis|BASIS108 computer with terminal translation table active,
+	clear=\E*$<300/>, cud1=\n$<5000/>, ed=\EY, el=\ET, kbs=^H,
+	rmso=\E), sgr0=\E), smso=\E(, use=adm3a,
+# luna's BMC terminal emulator
+luna|luna68k|LUNA68K Bitmap console,
+	cols#88, lines#46, use=ansi-mini,
+megatek|pegasus workstation terminal emulator,
+	am, os,
+	cols#83, lines#60,
+# The Xerox 820 was a Z80 micro with a snazzy XEROX PARC-derived
+# interface (pre-Macintosh by several years) that went nowhere.
+xerox820|x820|Xerox 820,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\032$<1>, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=^Q, el=^X,
+	home=^^, ind=\n,
+
+#### Videotex and teletext
+#
+
+# \E\:1}	switch to te'le'informatique mode (ascii terminal/ISO 6429)
+# \E[?3l	80 columns
+# \E[?4l	scrolling on
+# \E[12h	local echo off
+# \Ec		reset: G0 U.S. charset (to get #,@,{,},...), 80 cols, clear screen
+# \E)0		G1 DEC set (line graphics)
+#
+# From: Igor Tamitegama <igor@ppp1493-ft.teaser.fr>, 18 Jan 1997
+m2-nam|minitel|minitel-2|minitel-2-nam|France Telecom Minitel 2 mode te'le'informatique,
+	OTbs, eslok, hs, xenl,
+	cols#80, it#8, lines#24, wsl#72, xmc#0,
+	acsc=aaffggjjkkllmmnnooqqssttuuvvwwxx, bel=^G,
+	blink=\E[5m, bold=\E[1m, civis=\E[<1h, cnorm=\E[<1l, cr=\r,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	flash=^G, fsl=\n, home=\E[H, ht=^I, ind=\n, ip=$<7/>,
+	is1=\E:1}\Ec\E[?4l\E[12h, is2=\Ec\E[12h\E)0,
+	is3=\E[?3l, kclr=\E[2J, kdch1=\E[P, kdl1=\E[M, kf0=\EOp,
+	kf1=\EOq, kf10=\EOp, kf2=\EOr, kf3=\EOs, kf4=\EOt, kf5=\EOu,
+	kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, kich1=\E[4h,
+	kil1=\E[4l, knp=\EOn, kpp=\EOR, ll=\E[24;80H, mc0=\E[i,
+	nel=\r\n, rev=\E[7m, ri=\EM, rmacs=^O, rmir=\E[4l,
+	rmso=\E[27m, rmul=\E[24m, rs1=\Ec\E[?4l\E[12h,
+	rs2=\Ec\E)0, sgr0=\E[m, smacs=^N, smir=\E[4h, smso=\E[7m,
+	smul=\E[4m, tsl=^_@A, use=ansi+arrows, use=ansi+cpr,
+	use=ansi+csr, use=ansi+erase, use=ansi+idl,
+	use=ansi+local,
+
+# From: Alexandre Montaron <canal@mygale.org>, 18 Jun 1998, updated 19 Sep 2016
+#
+minitel1|minitel 1,
+	am, bw, eslok, hs, hz, .msgr, G0,
+	colors#8, cols#40, lines#24, pairs#8, .ncv#16,
+	acsc=j+k+l+m+n+o~q`s_t+u+v+w+x|, bel=^G, blink=\EH,
+	civis=^T, clear=^L, cnorm=^Q, cr=\r, cub1=^H, cud1=\n, cuf1=^I,
+	cup=\037%p1%'A'%+%c%p2%'A'%+%c, cuu1=^K,
+	dsl=\037@A\030\n, el=^X,
+	flash=\037@A\EW \177\022\177\022P\r\030\n, fsl=\n,
+	home=^^, ind=\n, is2=\E;`ZQ\E:iC\E:iE\021, kbs=^SG,
+	kcan=^SE, kend=^SI, kent=^SA, khlp=^SD, knp=^SH, kpp=^SB,
+	krfr=^SC, nel=\r\n, op=\EG, rep=%p1%c\022%p2%'?'%+%c,
+	rev=\E], ri=^K, rmso=\E\\,
+	rs2=\024\037XA\030\n\030\n\030\n\030\n\030\n\030\n\030\n
+	    \030\n\030\n\030\n\030\n\030\n\030\n\030\n\030\n\030\n
+	    \030\n\030\n\030\n\030\n\030\n\030\n\030\n\030\014
+	    \021,
+	setab=\0, setaf=\E%p1%'@'%+%c, setb=\0,
+	setf=\E%?%p1%{1}%=%tD%e%p1%{3}%=%tF%e%p1%{4}%=%tA%e%p1%{6}%=
+	     %tC%e%p1%'@'%+%c%;,
+	sgr=%?%p1%t\E]%;%?%p3%t\E]%;%?%p4%t\EH%;,
+	sgr0=\EI\E\\\EG, smso=\E], tsl=\037@%p1%'A'%+%c,
+	u6=\037%c%'A'%-%c%'A'%-, u7=\Ea,
+	u8=\001%[BCDEFGHIJKLbcresdfg0123456789]\004, u9=\E9{,
+	.dim=\EB, .hup=\E9g, .rs2=^L, .u8=^ABr4^D,
+	C0=`>a9f!j%k4l<m-n=p#q\,rpt=u5v-w<x5yvzy|l~$, E0=^O,
+	S0=^N,
+	XC=B\031%\,\241!\,\242"\,\243#\,\244$\,\245%\,\246&\,\247'\,
+	   \250(\,\253+\,\257P\,\2600\,\2611\,\2622\,\2633\,\2655\,
+	   \2677\,\272k\,\273;\,\274<\,\275=\,\276>\,\277?\,\300AA\,
+	   \301BA\,\302CA\,\303DA\,\304HA\,\305JA\,\306a\,\307KC\,
+	   \310AE\,\311BE\,\312CE\,\313HE\,\314AI\,\315BI\,\316CI\,
+	   \317HI\,\320b\,\321DN\,\322AO\,\323BO\,\324CO\,\325DO\,
+	   \326HO\,\3274\,\330i\,\331AU\,\332BU\,\333CU\,\334HU\,
+	   \335BY\,\336l\,\337{\,\340Aa\,\341Ba\,\342Ca\,\343Da\,
+	   \344Ha\,\345Ja\,\346q\,\347Kc\,\350Ae\,\351Be\,\352Ce\,
+	   \353He\,\354Ai\,\355Bi\,\356Ci\,\357Hi\,\360r\,\361Dn\,
+	   \362Ao\,\363Bo\,\364Co\,\365Do\,\366Ho\,\3678\,\370y\,
+	   \371Au\,\372Bu\,\373Cu\,\374Hu\,\375By\,\376|\,\377Hy\,
+	   \252c\,\,0\017\031%\016\,}#\,f0\,g1\,\\\,\\\,\,+.\,./\,0
+	   \177\,--,
+minitel1b|minitel 1-bistandard (in 40cols mode),
+	mir,
+	cub1=^H, cud1=\n, cuf1=^I, cuu1=^K, dch=\E[%p1%dP, dch1=\E[P,
+	ed=\E[J, el1=\E[1K, is1=\E;iYA\E;jYC, kbs@, kcan@,
+	kclr=\E[2J, kctab=^I, kdch1=\E[P, kdl1=\E[M, kent@, kf1=^SD,
+	kf10=^Y0, kf11=^Y1, kf12=^Y/, kf13=^Y{1, kf14=^Y{2,
+	kf15=^Y{3, kf16=^Y{4, kf17=^Y{5, kf18=^Y{6, kf19=^Y{7,
+	kf2=^SC, kf20=^Y{8, kf21=^Y{9, kf22=^Y{0, kf23=^Y{*,
+	kf24=^Y{#, kf3=^SF, kf4=^SA, kf5=^SG, kf6=^SE, kf7=^Y8,
+	kf8=^Y\,, kf9=^Y., khlp@, kich1=\E[4h, kil1=\E[L, krfr@,
+	lf1=Guide, lf2=Repetition, lf3=Sommaire, lf4=Envoi,
+	lf5=Correction, lf6=Annulation, rmir=\E[4l, smir=\E[4h,
+	u8=\001%[ABCPtuvwxyz0123456789:;<=>?]\004,
+	.ich=\E[%p1%d@, .ich1=\E[@, .kLFT=\E[P, .kRIT=\E[4h,
+	.kb2=^Y{g, .kcbt=^Y{i, .kel=^X, .mc0=\E:|k, .rmkx=\E;jYA,
+	.rs1=\E[4l\E[2l, .smkx=\E;iYA\E;jYC, .u8=^ACu<^D,
+	use=ansi+arrows, use=ansi+idl, use=ansi+local,
+	use=minitel1,
+
+# rmkx posait des problemes (logout en sortant de vi).
+minitel1b-80|minitel 1-bistandard (standard teleinformatique),
+	am@, bw@, eslok@, hz@, msgr,
+	colors@, cols#80, it#8, pairs@,
+	acsc@, blink=\E[5m, bold=\E[1m, civis=\037@A\024\n,
+	clear=\E[H\E[J, cnorm=\037@A\021\n, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H,
+	ht=^I, ind=\ED, is1@, is2@, kbs=\EOl, kcan=\EOQ, kend=\E)4\r,
+	kent=\EOM, kf1=\EOq, kf10=\EOp, kf11=\EOP1, kf12=\EOP2,
+	kf13=\EOP3, kf14=\EOP4, kf15=\EOP5, kf16=\EOP6, kf17=\EOP7,
+	kf18=\EOP8, kf19=\EOP9, kf2=\EOr, kf20=\EOP0, kf21=\EOP*,
+	kf22=\EOP#, kf23@, kf24@, kf3=\EOs, kf4=\EOt, kf5=\EOu,
+	kf6=\EOv, kf7=\EOw, kf8=\EOx, kf9=\EOy, khlp=\EOm, knp=\EOn,
+	kpp=\EOR, krfr=\EOS, lf1@, lf2@, lf3@, lf4@, lf5@, lf6@, nel=\EE,
+	op@, rc=\E8, rep@, rev=\E[7m, ri=\EM, rmkx@, rmso=\E[27m,
+	rmul=\E[24m,
+	rs2=\036\E[12H\E[2M\E[H\E[L\E[12H\E[2M\E[H\E[L\E[12H\E[2M\E[
+	    H\E[L\E[12H\E[2M\E[H\E[L\E[12H\E[2M\E[H\E[L\E[12H\E[2M
+	    \E[H\E[L\E[12H\E[2M\E[H\E[L\E[12H\E[2M\E[H\E[L\E[12H\E[2
+	    M\E[H\E[L\E[12H\E[2M\E[H\E[L\E[12H\E[2M\E[H\E[L\E[12H\E[
+	    2M\E[H\E[J\E[m,
+	sc=\E7, setab@, setaf@, setb@, setf@, sgr@, sgr0=\E[m, smkx@,
+	smso=\E[7m, smul=\E[4m,
+	tsl=\037@%?%p1%{63}%<%t%p1%'A'%+%c%e\177%p1%{62}%-%Pa%?%ga
+	    %{1}%&%t\011%;%?%ga%{2}%&%t\011\011%;%?%ga%{4}%&%t\011
+	    \011\011\011%;%?%ga%{07}%>%t\011\011\011\011\011\011
+	    \011\011%;%?%ga%{15}%>%t\011\011\011\011\011\011\011
+	    \011%;%;,
+	u6@, u7@, u8@, u9@, .acsc=}#f[, .enacs=^O, .kb2=\EOPg,
+	.kcbt=\EOPi, .ll=\E[24H, .mc0=\E[i, .rmacs=^O, .rs2=\Ec,
+	.sgr=\E[%?%p1%t7;%;%?%p2%t4;%;%?%p3%t7;%;%?%p4%t5;%;%?%p6%t1
+	     ;%;m,
+	.smacs=^N, C0=}#f[j+k+l+m+n+o~q=s_t+u+v+w+x!0\032,
+	XC=B\016%\017\,\243#\,\247]\,\260[\,\340@\,\347\\\\\,\351{\,
+	   \350}\,\371|\,\300A\,\301A\,\302A\,\303A\,\304A\,\305A\,
+	   \306E\,\307C\,\310E\,\311E\,\312E\,\313E\,\314I\,\315I\,
+	   \316I\,\317I\,\320D\,\321N\,\322O\,\323O\,\324O\,\325O\,
+	   \326O\,\331U\,\332U\,\333U\,\334U\,\335Y\,\337s\,\341a\,
+	   \342a\,\343a\,\344a\,\345a\,\346e\,\352e\,\353e\,\354i\,
+	   \355i\,\356i\,\357i\,\360d\,\361n\,\362o\,\363o\,\364o\,
+	   \365o\,\366o\,\372u\,\373u\,\374u\,\375y\,\377y\,\267.\,
+	   \327x\,\367/\,\261\E7\E[4m+\E8\E[C\,\,0\017%\016\,x|\,y
+	   \E7\E[4m<\E8\E[C\,z\E7\E[4m>\E8\E[C\,g\E7\E[4m+\E8\E[C,
+	use=minitel1b,
+
+minitel1-nb|minitel 1 (40cols) noir & blanc sans couleurs avec bold et dim ...,
+	colors@, pairs@,
+	bold=\EG, clear=^L\EB,
+	cup=\037%p1%'A'%+%c%p2%'A'%+%c\EB, dim=\ED, home=^^\EB,
+	op@, rs2=^L\EB, setab@, setaf@, setb@, setf@,
+	sgr=%?%p1%p3%O%t\E]%;%?%p4%t\EH%;%?%p5%t\ED%;%?%p6%t\EG%;,
+	sgr0=\EI\E\\\EB, tsl=\037@%p1%'A'%+%c\EB, .invis=\E@,
+	use=minitel1,
+
+minitel1b-nb|minitel 1b (40cols) noir & blanc sans couleurs avec bold et dim ...,
+	msgr,
+	colors@, pairs@,
+	acsc=`>a9f!j%k4l<m-n=p#q\,rpt=u5v-w<x5yvzy|l~$,
+	bold=\EG, clear=^L\EB, cup=\E[%i%p1%d;%p2%dH, dim=\ED,
+	home=^^\EB, kend=\E)4\r, kf1=\E$4\r, kf2=\E#4\r,
+	kf3=\E&4\r, kf4=\E!4\r, kf5=\E'4\r, kf6=\E/4\r, knp=\E(4\r,
+	kpp=\E"4\r, op@, rmacs=^O, rs2=^L\EB, setab@, setaf@, setb@,
+	setf@,
+	sgr=%?%p1%p3%O%t\E]%;%?%p4%t\EH%;%?%p5%t\ED%;%?%p6%t\EG%;,
+	sgr0=\EI\E\\\EB, smacs=^N, tsl=\037@%p1%'A'%+%c\EB,
+	u8=\001%[ABCPpqrstuvwxyz{|}~\177]\004\r, .invis=\E@,
+	.u8=\001Cu|\004r, use=minitel1b,
+
+# Note:
+#
+# Faire, Fnct T puis "/" (TS+"?") pour activer les touches en 40cols :
+#
+# TS+Connexion/Fin(Fin),Retour(Page Up),Suite(Page Down),Guide(F1),
+# Repetition(F2),Sommaire(F3),Envoi(F4),Correction(F5),Annulation(F6),
+# Ctrl+7(F7),Ctrl+8(F8),Ctrl+9(F9),Ctrl+0(F10),Ctrl+*(F11),Ctrl+#(F12).
+#
+# Ctrl+Suite-1(F13), Ctrl+Suite-2(F14), Ctrl+Suite-3(F15),
+# Ctrl+Suite-4(F16), Ctrl+Suite-5(F17), Ctrl+Suite-6(F18),
+# Ctrl+Suite-7(F19), Ctrl+Suite-8(F20), Ctrl+Suite-9(F21),
+# Ctrl+Suite-0(F22), Ctrl+Suite-*(F23), Ctrl+Suite-#(F24).
+#
+# Fonctionne par exemple avec Midnight Commander (mc).
+
+minitel2-80|minitel 2 (80cols) avec filets VT100 (DEC),
+	acsc=ffggjjkkllmmnnooqqssttuuvvwwxxyyzz||}},
+	enacs=\E)0, rmacs=^O, smacs=^N, u6=\E[%i%d;%dR,
+	C0=ffggjjkkllmmnnooqqssttuuvvwwxxyyzz||}},
+	S0=\E)0\016,
+	XC=B%\E(B\,\243\E(3}\,\247\E(R[\,\257\E(3v\,\260\E(3f\,\261
+	   \E(3g\,\265\E(3Y\,\267\E(3~\,\274\E(3O\,\275\E(3P\,\276
+	   \E(3Q\,\277\E(3Z\,\300A\,\301A\,\302A\,\303A\,\304\E(3R\,
+	   \305A\,\306E\,\307C\,\310E\,\311\E(3S\,\312E\,\313E\,
+	   \314\E(3T\,\315I\,\316I\,\317I\,\320D\,\321\E(3W\,\322\E(
+	   3U\,\323O\,\324O\,\325O\,\326O\,\327x\,\331U\,\332U\,
+	   \333U\,\334\E(3V\,\335Y\,\337\E(3{\,\340\E(3A\,\341a\,
+	   \342\E(3B\,\343a\,\344\E(3C\,\345a\,\346e\,\347\E(R\\\\\,
+	   \350\E(3E\,\351\E(3D\,\352\E(3F\,\353\E(3G\,\354i\,\355i
+	   \,\356\E(3H\,\357\E(3I\,\360d\,\361\E(3X\,\362o\,\363o\,
+	   \364\E(3J\,\365o\,\366\E(3K\,\367\E(3h\,\371\E(3L\,\372u
+	   \,\373\E(3M\,\374\E(3N\,\375y\,\377y\,\,0\E)3%\E)0\,\\\,m
+	   \,+k\,.l\,0\177\,-j,
+	use=minitel12-80,
+
+minitel12-80|minitel 12 (80cols),
+	civis=\E[<1h, cnorm=\E[<1l, is2=\E[12h, u6=\E[%i%d;%dH,
+	u7=\E[6n,
+	.acsc=ffggj+k+l+m+n+ovq-swt+u+v+w+xx}}\,m+k.l-j0
+	      \177,
+	.enacs=\E)3, .rmacs=^O, .rs3=\E[?4l, .scs=\E(%p1%c,
+	.smacs=^N,
+	C0=ffggj+k+l+m+n+ovq-swt+u+v+w+xx}}\,m+k.l-j0\177,
+	S0=\E)3\016,
+	XC=B%\E(B\,\243\E(3}\,\247\E(R[\,\257\E(3v\,\260\E(3f\,\261
+	   \E(3g\,\267\E(3~\,\274\E(3O\,\275\E(3P\,\276\E(3Q\,\300A
+	   \,\301A\,\302A\,\303A\,\304A\,\305A\,\306E\,\307C\,\310E
+	   \,\311E\,\312E\,\313E\,\314I\,\315I\,\316I\,\317I\,\320D
+	   \,\321N\,\322O\,\323O\,\324O\,\325O\,\326O\,\327x\,\331U
+	   \,\332U\,\333U\,\334U\,\335Y\,\337\E(3{\,\340\E(3A\,
+	   \341a\,\342\E(3B\,\343a\,\344\E(3C\,\345a\,\346e\,\347\E(
+	   R\\\\\,\350\E(3E\,\351\E(3D\,\352\E(3F\,\353\E(3G\,\354i
+	   \,\355i\,\356\E(3H\,\357\E(3I\,\360d\,\361n\,\362o\,
+	   \363o\,\364\E(3J\,\365o\,\366\E(3K\,\367\E(3h\,\371\E(3L
+	   \,\372u\,\373\E(3M\,\374\E(3N\,\375y\,\377y\,\,0\E)3%\E)0
+	   \,\\\,m\,+k\,.l\,0\177\,-j,
+	use=minitel1b-80,
+
+#
+# Add these in your ~/.screenrc for inputting some special glyphs like french
+# accentuated chars in 40 cols mode:
+#
+# bindkey ^YA digraph '`'  # Saisi accent grave.
+# bindkey ^YB digraph "'"  # Saisi accent aigu.
+# bindkey ^YC digraph '^'  # Saisi accent circonflexe.
+# bindkey ^YH digraph '"'  # Saisi accent trema.
+#
+# bindkey ^Y#      stuff \243  # Livre.
+# bindkey "^Y\047" stuff \247  # Paragraphe.
+# bindkey ^Yj      stuff \306  # AE
+# bindkey ^Yz      stuff \346  # ae
+# bindkey ^YKc     stuff \347  # c cedille.
+#
+
+screen.minitel1|Screen specific for minitel1,
+	ncv@,
+	acsc=++\,\,--..00``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxy
+	     yzz||}}~~,
+	bel=\007\E\^ \E\\, bold@, csr@, flash=\Eg\E\^ \E\\, kmous@,
+	rmul@, smul@, u8=\E[?1;2c, use=decid+cpr,
+	use=xterm+x11mouse, use=screen,
+
+screen.minitel1b|Screen specific for minitel1b,
+	kclr=\E[2J, kdl1=\E[M, kf13=^Y{1, kf14=^Y{2, kf15=^Y{3,
+	kf16=^Y{4, kf17=^Y{5, kf18=^Y{6, kf19=^Y{7, kf20=^Y{8,
+	kf21=^Y{9, kf22=^Y{0, kf23=^Y{*, kf24=^Y{#, kil1=\E[L,
+	use=screen.minitel1,
+
+screen.minitel1b-80|screen.minitel2-80|screen.minitel12-80|Screen specific for minitel1b-80 minitel2-80 and minitel12-80,
+	colors@, ncv@, pairs@,
+	bold=\E[1m, kent=\EOM, kf13@, kf14@, kf15@, kf16@, kf17@, kf18@,
+	kf19@, kf20@, kf21@, kf22@, kf23@, kf24@, khlp=\EOm, op@,
+	rmul=\E[24m, setab@, setaf@, setb@, setf@, smul=\E[4m,
+	use=screen.minitel1b,
+
+screen.minitel1-nb|Screen specific for minitel1-nb,
+	colors@, ncv@, pairs@,
+	bold=\E[1m, op@, setab@, setaf@, setb@, setf@,
+	use=screen.minitel1,
+
+screen.minitel1b-nb|Screen specific for minitel1b-nb,
+	colors@, ncv@, pairs@,
+	bold=\E[1m, dim=\E[2m, op@, setab@, setaf@, setb@, setf@,
+	use=screen.minitel1b,
+
+# From: Alexandre Montaron, 29 Sep 2016
+
+linux-m1|Linux Minitel 1 "like" Couleurs,
+	am, bw@, ccc, mir, msgr, xenl,
+	it#8, ncv#16,
+	acsc=a\261f\370g\361h\260j\274k\273l\311m\310n\316q\315t
+	     \314u\271v\312w\313x\272y\363z\362{\343|\252~\372,
+	bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[2m, ech=\E[%p1%dX,
+	el1=\E[1K, enacs=\E)U, flash=\E[?5h$<100/>\E[?5l,
+	hpa=\E[%i%p1%d`, ht=^I, hts=\EH, ind=\n,
+	initc=\E]P%p1%{15}%&%X%p2%{255}%&%02X%p3%{255}%&%02X%p4
+	      %{255}%&%02X,
+	is2=\E]R\E]P3FFFF80\E[?8c, ka1=\EOw, ka3=\EOy, kb2=\E[G,
+	kbs=^?, kc1=\EOq, kc3=\EOs, kcbt=\E^I, kclr=\E\r,
+	kdl1=\E\E[A, kent=\EOM, kf1=\E[[A, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf2=\E[[B, kf20=\E[34~, kf3=\E[[C, kf4=\E[[D,
+	kf5=\E[[E, kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khome=\E[1~, kil1=\E\E[B, kmous=\E[M, nel=\EE,
+	oc=\E]R\E]P3FFFF80, op=\E[39;49m, rev=\E[7m, ri=\EM,
+	rmacs=^O, rmam=\E[?7l, rmir=\E[4l, rmpch=\E[10m,
+	rmso=\E[27m, rs1=\Ec, rs3=\E[37;40m\E[8], sgr0=\E[m,
+	smacs=^N, smam=\E[?7h, smir=\E[4h, smpch=\E[11m,
+	smso=\E[7m, tbc=\E[3g, vpa=\E[%i%p1%dd, .VN=\E[?5l,
+	.VR=\E[?5h, .am@, .ich=\E[%p1%d@, .ich1=\E[@, .ll=\E[99H,
+	.rmcup=, .rmul=\E[24m, .smcup=\E]R\E]P3FFFF80\E[?8c,
+	.smul=\E[4m,
+	E3=\E[99H\E[2J\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n,
+	use=ansi+arrows, use=ansi+csr, use=ansi+cup,
+	use=ansi+erase, use=ansi+idl, use=ansi+local1,
+	use=klone+color, use=vt220+pcedit, use=vt220+cvis,
+	use=linux+decid,
+
+# 1. Using double-shapes for VT100 graphical chars (eg: mc).
+# 2. Native brown color corrected to good yellow color.
+# 3. Adding "Insert" and "Delete Line" keys as ESC Up and ESC Down arrow keys.
+# 4. Suppressed nonexistent underlined mode (normally as bright).
+# 5. ich/ich1 not filled because of non-curses programs.
+#--
+# 6. Suppressed nonexistent invisible mode.
+#(7.)Adding forgotten "cub/cud/cuf/cuu" sequences deplacement.
+
+linux-m1b|Linux Minitel 1B "like" Monochrome (Gris/Blanc/Noir+Dim),
+	ccc@,
+	colors@, ncv@, pairs@,
+	acsc@, bold=\E[33m, enacs@, initc@,
+	is2=\E]R\E]P1A9A9A9\E]P2A9A9A9\E]P3FFFFFF\E]P4A9A9A9\E]P5A9A
+	    9A9\E]P6A9A9A9\E]P9FFFFFF\E]PAFFFFFF\E]PBFFFFFF\E]PCFFFF
+	    FF\E]PDFFFFFF\E]PEFFFFFF\E[?2c,
+	oc@, op@, rmacs@, setab=^A, setaf=^A, smacs@, .setab@, .setaf@,
+	.smcup=\E]R\E]P1A9A9A9\E]P2A9A9A9\E]P3FFFFFF\E]P4A9A9A9\E]P5
+	       A9A9A9\E]P6A9A9A9\E]P9FFFFFF\E]PAFFFFFF\E]PBFFFFFF\E]
+	       PCFFFFFF\E]PDFFFFFF\E]PEFFFFFF\E[?2c,
+	use=linux-m1,
+
+linux-m2|Linux Minitel 2 "like" Couleurs (Vert/Blanc/Noir+Bleu),
+	ccc@,
+	colors@, ncv@, pairs@,
+	acsc=++\,\,--..00``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttu
+	     uvvwwxxyyzz{{||}}~~,
+	bold=\E[33m, cnorm=\E[?2c\E[?25h, cvvis=\E[?8c\E[?25h,
+	enacs=\E)0, initc@,
+	is2=\E]R\E]P100A900\E]P200A900\E]P3FFFFFF\E]P400A900\E]P500A
+	    900\E]P600A900\E]P700A900\E]P80000FF\E]P9FFFFFF\E]PAFFFF
+	    FF\E]PBFFFFFF\E]PCFFFFFF\E]PDFFFFFF\E]PEFFFFFF\E]PFFFFFF
+	    F\E[;37m,
+	oc@, op@, setab=^A, setaf=^A, sgr0=\E[;37m, .setab@, .setaf@,
+	.smcup=\E]R\E]P100A900\E]P200A900\E]P3FFFFFF\E]P400A900\E]P5
+	       00A900\E]P600A900\E]P700A900\E]P80000FF\E]P9FFFFFF\E]
+	       PAFFFFFF\E]PBFFFFFF\E]PCFFFFFF\E]PDFFFFFF\E]PEFFFFFF
+	       \E]PFFFFFFF\E[;37m,
+	use=linux-m1,
+
+# From: Alexandre Montaron, 27 May 2020
+linux-s|Linux console with added status line at bottom,
+	hs,
+	clear=\E[255;255H\E[A\E[1J\E[H, csr@,
+	dsl=\E7\E[255H\E[K\E8, ed@, fsl=\E8,
+	iprog=\sbash\s-c\s'echo\s-ne\s"\E[?6l\E[255H\E[A\E[6n"\s;
+	      \sread\s-d\sR\sTMP\s;\sLINES=`echo\s$TMP\s|\scut\s-f1
+	      \s-d\s";"\s|\scut\s-f2\s-d\s"["`\s;\sstty\srows\s$LINE
+	      S\s;\secho\s-ne\s"\E[;"$LINES"r\E[J"',
+	rs1=\E]R, tsl=\E7\E[255;%p1%dH, .rc@, .sc@, use=linux,
+
+# Screen entries counterpart :
+
+screen.linux-m1|Linux m1 specific for screen,
+	ncv@,
+	kclr=\E\r, kdl1=\E\E[A, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf20=\E[34~, kil1=\E\E[B, rmul@, smul@,
+	u8=\E[?1;2c,
+	E3=\E[99H\E[2J\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n\n
+	   \n\n\n\n\n\n\n\n\n\n,
+	use=decid+cpr, use=xterm+x11mouse, use=screen,
+
+screen.linux-m1b|Linux m1b specific for screen,
+	colors@, pairs@,
+	op@, setab@, setaf@, setb@, setf@, use=screen.linux-m1,
+
+screen.linux-m2|Linux m2 specific for screen,
+	acsc=++\,\,--..00``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttu
+	     uvvwwxxyyzz{{||}}~~,
+	use=screen.linux-m1b,
+
+# Putty :
+
+putty-m1|Putty Minitel 1 "like" Couleurs,
+	dim@, kf1=\E[11~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+	kf5=\E[15~, rmul=\E[24m, smul=\E[4m, .E3=\E[300S,
+	use=xterm+alt47, use=putty+screen, use=xterm+sl-twm,
+	use=ecma+index, use=linux-m1,
+
+putty-m1b|Putty Minitel 1B "like" Monochrome (Gris/Blanc/Noir),
+	dim@, kf1=\E[11~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+	kf5=\E[15~, rmul=\E[24m, smul=\E[4m, .E3=\E[300S,
+	use=xterm+alt47, use=putty+screen, use=xterm+sl-twm,
+	use=ecma+index, use=linux-m1b,
+
+putty-m2|Putty Minitel 2 "like" Couleurs (Vert/Blanc/Noir),
+	acsc=``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyzz{
+	     {||}}~~,
+	dim@, kf1=\E[11~, kf2=\E[12~, kf3=\E[13~, kf4=\E[14~,
+	kf5=\E[15~, rmul=\E[24m, smul=\E[4m, .E3=\E[300S,
+	use=xterm+alt47, use=putty+screen, use=xterm+sl-twm,
+	use=ecma+index, use=linux-m2,
+
+putty+screen|PuTTY with screen resizing extensions (building-block),
+	.WS=\E[8;%p1%d;%p2%dt, Z0=\E[?3h, Z1=\E[?3l,
+
+putty-screen|PuTTY with screen resizing extensions,
+	WS=\E[8;%p1%d;%p2%dt, Z0=\E[?3h, Z1=\E[?3l, use=putty,
+
+screen.putty-m1|Putty m1 specific for screen,
+	dim@, rmul=\E[24m, smul=\E[4m, E3@, use=screen.linux-m1,
+
+screen.putty-m1b|Putty m1b specific for screen,
+	colors@, pairs@,
+	op@, setab@, setaf@, setb@, setf@, use=screen.putty-m1,
+
+screen.putty-m2|Putty m2 specific for screen,
+	acsc=++\,\,--..00``aabbccddeeffgghhiijjkkllmmnnooppqqrrssttu
+	     uvvwwxxyyzz{{||}}~~,
+	use=screen.putty-m1b,
+# From: Alexandre Montaron, 19 Nov 2015, updated 19 Sep 2016
+#
+# He comments:
+# viewdata lacks a true cup capability,
+# so I achieved it with home and cud1/cuf1 sequences only !
+viewdata|Prestel/Viewdata terminals,
+	am, bw, eslok, hz,
+	cols#40, lines#24,
+	bel=^G, civis=^T, clear=^L, cnorm=^Q, cr=\r, cub1=^H, cud1=\n,
+	cuf1=^I,
+	cup=\036%?%p1%{07}%>%t\n\n\n\n\n\n\n\n%;%?%p1%{15}%>%t\n\n
+	    \n\n\n\n\n\n%;%?%p1%{4}%&%t\n\n\n\n%;%?%p1%{2}%&%t\n\n%;
+	    %?%p1%{1}%&%t\n%;%?%p2%{07}%>%t\011\011\011\011\011\011
+	    \011\011%;%?%p2%{15}%>%t\011\011\011\011\011\011\011
+	    \011%;%?%p2%{23}%>%t\011\011\011\011\011\011\011\011%;%?
+	    %p2%{31}%>%t\011\011\011\011\011\011\011\011%;%?%p2%{4}
+	    %&%t\011\011\011\011%;%?%p2%{2}%&%t\011\011%;%?%p2%{1}%&
+	    %t\011%;,
+	cuu1=^K, home=^^, nel=\r\n, rs2=^L, .el=^X, .ind=\n,
+	.rep=%p1%c\022%p2%'?'%+%c, .ri=^K,
+
+viewdata-o|optimized version of Viewdata Prestel/Viewdata terminals,
+	cup=\036%p1%?%p2%{20}%>%t%?%p1%{23}%=%t%Pa%{1}%e%{1}%+%;%;
+	    %Pa%?%ga%{13}%<%t%?%ga%{07}%>%t\n\n\n\n\n\n\n\n%;%?%ga
+	    %{4}%&%t\n\n\n\n%;%?%ga%{2}%&%t\n\n%;%?%ga%{1}%&%t\n%;%e
+	    %{24}%ga%-%Pa%?%ga%{07}%>%t\013\013\013\013\013\013\013
+	    \013%;%?%ga%{4}%&%t\013\013\013\013%;%?%ga%{2}%&%t\013
+	    \013%;%?%ga%{1}%&%t\013%;%;%?%p2%{21}%<%t%?%p2%{07}%>%t
+	    \011\011\011\011\011\011\011\011%;%?%p2%{15}%>%t\011
+	    \011\011\011\011\011\011\011%;%?%p2%{4}%&%t\011\011\011
+	    \011%;%?%p2%{2}%&%t\011\011%;%?%p2%{1}%&%t\011%;%e%{40}
+	    %p2%-%Pa%?%ga%{07}%>%t\010\010\010\010\010\010\010\010%;
+	    %?%ga%{15}%>%t\010\010\010\010\010\010\010\010%;%?%ga
+	    %{4}%&%t\010\010\010\010%;%?%ga%{2}%&%t\010\010%;%?%ga
+	    %{1}%&%t\010%;%?%p1%{23}%=%t\013%;%;,
+	.ll=^^^K, use=viewdata,
+
+# Samples with TERM=viewdata and TERM=viewdata-rv: http://canal.chez.com/blog/
+
+viewdata-rv|Prestel/Viewdata terminals with reverse capabilitie (as green),
+	xmc#1,
+	rmso=\EG, smso=\EB, use=viewdata-o,
+
+######## OBSOLETE VDT TYPES
+#
+# These terminals are *long* dead -- these entries are retained for
+# historical interest only.
+
+#### Amtek Business Machines
+#
+
+# (abm80: early versions of this entry apparently had ":se=\E^_:so=\E^Y",
+# but these caps were commented out in 8.3; also, removed overridden
+# ":do=^J:" -- esr)
+abm80|amtek business machines 80,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	cbt=^T, clear=\E^\, cub1=^H, cud1=\E^K, cuf1=^P,
+	cup=\E\021%p2%{32}%+%c%p1%{32}%+%c, cuu1=\E^L,
+	dl1=\E^S, ed=\E^X, el=\E^O, home=\E^R, il1=\E^Z,
+
+#### Bell Labs blit terminals
+#
+# These were AT&T's official entries.  The 5620 FAQ maintained by
+# David Breneman <daveb@dgtl.com> has this to say:
+#
+#  Actually, in the beginning was the Jerq, and the Jerq was white with a
+#  green face, and Locanthi and Pike looked upon the Jerq and said the Jerq
+#  was good.  But lo, upon the horizon loomed a mighty management-type person
+#  (known now only by the initials VP) who said, the mighty Jerq must stay
+#  alone, and could not go forth into the world. So Locanthi and Pike put the
+#  Jerq to sleep, cloned its parts, and the Blit was brought forth unto the
+#  world. And the Jerq lived the rest of its days in research, but never
+#  strayed from those paths.
+#
+#  In all seriousness, the Blit was originally known as the Jerq, but when
+#  it started to be shown outside of the halls of the Bell Labs Research
+#  organization, the management powers that be decided that the name could
+#  not remain. So it was renamed to be Blit. This was in late 1981.
+#
+# (The AT&T 5620 was the commercialized Blit.  Its successors were the 630,
+# 730, and 730+.)
+#
+
+blit|jerq|blit running teletype rom,
+	am, eo, ul, xon,
+	cols#87, it#8, lines#72,
+	bel=^G, clear=^L, cr=\r, cub1=\ED, cud1=\n, cuf1=\EC,
+	cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA,
+	dch=\Ee%p1%{32}%+%c, dch1=\Ee!, dl=\EE%p1%{32}%+%c,
+	dl1=\EE!, el=\EK, ht=^I, ich=\Ef%p1%{32}%+%c, ich1=\Ef!,
+	il=\EF%p1%{32}%+%c, il1=\EF!, ind=\n, kbs=^H, kf1=\Ex,
+	kf2=\Ey, kf3=\Ez, use=vt52+arrows,
+
+# (cbblit: here's a BSD termcap that says <cud1=\EG> -- esr)
+cbblit|fixterm|blit running columbus code,
+	cols#88,
+	ed=\EJ, flash=\E^G, ich1@, mc4=^T, mc5=^R, mc5p=\EP%p1%03d,
+	rmir=\ER, rmso=\EV!, rmul=\EV", smir=\EQ, smso=\EU!,
+	smul=\EU", use=blit,
+
+oblit|ojerq|first version of blit rom,
+	am, da, db, eo, mir, ul, xon,
+	cols#88, it#8, lines#72,
+	bel=^G, clear=^L, cr=\r, cub1=\ED, cud1=\n, cuf1=\EC,
+	cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dch1=\EO,
+	dl=\Ee%p1%{32}%+%c, dl1=\EE, ed=\EJ, el=\EK, flash=\E^G,
+	ht=^I, il=\Ef%p1%{32}%+%c, il1=\EF, ind=\n, kbs=^H, rmir=\ER,
+	smir=\EQ,
+
+#### Bolt, Beranek & Newman (bbn)
+#
+# The BitGraph was a product of the now-defunct BBN Computer Corporation.
+# The parent company, best known as the architects of the Internet, is
+# still around.
+#
+# Jeff DelPapa <dp@world.std.com> writes:
+# The bitgraph was a large white box that contained a monochrome bitmap
+# display, and a 68000 to run it.  You could download code and run it on
+# the cpu, it had 128kb (I think) of memory.  I used one in the late
+# 70's, sure beat a VT100.  It had one strange feature tho -- it used
+# the cpu to bitblt pixels to scroll, it took longer than the refresh
+# rate, and looked like a rubber sheet stretching, then snapping
+# upwards.  It had everything the early mac had, except a floppy drive a
+# small screen (it had a 17" crisp beauty) and a real OS. They (Bolt
+# Beranek and Neuman) sold at most a few hundred of them to the real
+# world.  DOD may have bought more...
+#
+
+# Entries for the BitGraph terminals.  The problem
+# with scrolling in vi can only be fixed by getting BBN to put
+# smarter scroll logic in the terminal or changing vi or padding
+# scrolls with about 500 ms delay.
+#
+# I always thought the problem was related to the terminal
+# counting newlines in its input buffer before scrolling and
+# then moving the screen that much. Then vi comes along and
+# paints lines in on the bottom line of the screen, so you get
+# this big white gap.
+
+bitgraph|bg2.0nv|bg3.10nv|BBN BitGraph 2.0 or later (normal video),
+	flash=\E[?5h$<200/>\E[?5l, is2=\E>\E[?5l\E[?7h,
+	use=bg2.0,
+bg2.0rv|bg3.10rv|BBn BitGraph 2.0 (reverse video),
+	flash=\E[?5l$<200/>\E[?5h, is2=\E>\E[?5h\E[?7h,
+	use=bg2.0,
+bg2.0|bg3.10|BBN BitGraph 2.0 or later (no init),
+	OTbs, xenl,
+	cols#85, lines#64,
+	bel=^G, clear=\E[H\E[J$<150>, cr=\r, cub1=^H,
+	cup=%i\E[%p1%d;%p2%dH, dl1=\E[M$<2*>, ed=\E[J$<150>,
+	el=\E[K$<2>, ht=^I, il1=\E[L$<2*>, ind=\n$<280>,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, lf1=PF1, lf2=PF2, lf3=PF3,
+	lf4=PF4, rmkx=\E>, rmso=\E[m, sgr0=\E[m, smkx=\E=,
+	smso=\E[7m, use=ansi+csr, use=ansi+local1,
+
+bg1.25rv|BBN BitGraph 1.25 (reverse video),
+	flash=\E[?5l$<200/>\E[?5h, is2=\E>\E[?5h\E[?7h,
+	use=bg1.25,
+bg1.25nv|BBN BitGraph 1.25 (normal video),
+	flash=\E[?5h$<200/>\E[?5l, is2=\E>\E[?5l\E[?7h,
+	use=bg1.25,
+# (bg1.25: I added <rmam>/<smam> based on the init string -- esr)
+bg1.25|BBN BitGraph 1.25,
+	cols#85, lines#64,
+	bel=^G, clear=\E[H\E[J$<150>, cr=\r, cub1=^H,
+	cup=%i\E[%p1%d;%p2%dH, dl1=\E[M$<2*>, ed=\E[J$<150>,
+	el=\E[K$<2>, ht=^I, il1=\E[L$<2*>, ind=\n$<280>, kf1=\EP,
+	kf2=\EQ, kf3=\ER, kf4=\ES, lf1=PF1, lf2=PF2, lf3=PF3, lf4=PF4,
+	ll=\E[64;1H, rmam=\E[?7l, rmkx=\E>, rmso=\E[m, sgr0=\E[m,
+	smam=\E[?7h, smkx=\E=, smso=\E[7m, use=ansi+local1,
+	use=vt52+arrows,
+
+#### Bull (bq, dku, vip)
+#
+# (Adapted for terminfo; AIX extension capabilities translated -- esr)
+
+#============================================#
+# BULL QUESTAR 210 `SDP' terminals emulation #
+#============================================#
+#
+# Description written by R.K.Saunders (Bull Transac)
+#
+# Modifications written by F. Girard (Bull MTS)
+#		19-05-87 V02.00.01
+#		17-12-87 V02.00.02
+#		15-09-89 V02.00.05
+#
+#	Typical technical selections F1 (modes SDP/ROLL):
+# -------------------------------------------------------
+# |   01   02   03   04   05   06   07   08   09   10   |
+# |  1010 0011 1010 0110 0110 0001 0100 0000 0000 0000  |
+# |                                                     |
+# |   11   12   13   14   15   16   17   18   19   20   |
+# |  0000 0110 100? 0000 0000 0000 0001 0000 0000 0001  |
+# |                                                     |
+# |   21   22   23   24   25   26   27   28   29   30   |
+# |  0011 0000 0001 1000 0000 0000 0000 0000 0000 0000  |
+# |                                                     |
+# |   31   32   33   34   35   36   37   38   39   40   |
+# |  1010 0011 0000 0000 0000 0000 0000 0000 0000 0000  |
+# -------------------------------------------------------
+#	Typical firmware identification F5 "etat 6":
+#  P287.02.04b	(AZERTY)
+#  P297.11.04	(24-pin: 2732)	or P798.11.04	(28-pin: 2764)
+#  P298.03.03	(monochrome)	or P374.03.02	(colour)
+#
+#	SM SDP mode (VIP command):	^[[?=h
+#	RIS (erases screen):		^[c
+#	DMI disable keyboard:		^[`
+#	SM double rendition mode:	^[[?>h
+#	RM solicited status mode:	^[[5l
+#	RM character mode:		^[[>l
+#	RM echoplex mode:		^[[12l
+#	RM column tab mode:		^[[18l
+#	RM forbid SS2 keyboard mode:	^[[?<l
+#	SM scroll mode:			^[[=h
+#	FCF enable XON/XOFF:		^[P1s^[\
+#	MTL select end msg character:	^[[^Wp
+#	EMI enable keyboard:		^[b
+#	RIS retour etat initial:	^[c
+#	enable FC keypad:		^[[?<h,
+#	MPW map status line window:	^[PY99:98^[\
+#	SCP select status line:		^[[0;98v
+#	ED erase entire partition:	^[[2J
+#	SCP select main partition:	^[[v
+#	SM character insertion mode:	^[[4h
+#	RM character replacement mode:	^[[4l
+#	COO cursor on:			^[[r
+#	COO cursor off:			^[[1r
+#	SGR dim (turquoise) rev attr:	^[[2;7m
+#	SGR Data normal attr:		^[[m
+#	SO Line-graphic mode ON:	^N
+#	SI Line-graphic mode OFF:	^O
+#	MC start routing to printer:	^[[5i
+#	MC stop routing to printer:	^M^[[4i
+#
+
+# This entry covers the following terminals:
+# dku7102, tws2102, and tws models 2105 to 2112
+tws-generic|dku7102|Bull Questar tws terminals,
+	am, eslok, hs, mir, msgr, xenl, xhp@, xon,
+	cols#80, lines#24, wsl#80,
+	acsc=``aaffggj)k\,l&m#n/ooppq*rrsst'u-v+w.x%yyzz{{||}}~~,
+	bel=^G, blink=\E[0;5m, civis=\E[1r, clear=\E[2J,
+	cnorm=\E[r, cr=\r, cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%df,
+	dch=\E[%p1%dP, dch1=\E[P, dim=\E[0;2m,
+	dsl=\EPY99:98\E\\\E[0;98v\E[2J\E[v, fsl=\E[v,
+	home=\E[H, ht=\E[I, ind=\n, invis=\E[0;8m,
+	is1=\E[?=h\Ec\E`\E[?>h\EPY99:98\E\\,
+	is2=\E[5;>;12;18;?<l\E[=h\EP1s\E\\\E[\027p,
+	is3=\Eb\E[?<h, kcbt=\E[Z, kctab=\E[g, kdch1=\E[P,
+	kdl1=\E[M, ked=\E[J, kel=\E[K, kf1=\E[1u\027,
+	kf2=\E[2u\027, kf3=\E[3u\027, kf4=\E[4u\027,
+	kf5=\E[5u\027, kf6=\E[6u\027, kf7=\E[7u\027,
+	kf8=\E[8u\027, khts=\EH, kil1=\E[L, krmir=\E[4l,
+	ll=\E[H\E[A, mc0=\E[0i, mc4=\r\E[4i, mc5=\E[5i,
+	rev=\E[0;7m, rmacs=^O, rmcup=\E[0;98v\E[2J\E[v,
+	rmir=\E[4l, rs2=\E[?=h\Ec, s0ds=^O, s1ds=^N,
+	sgr=\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;2%;%?
+	    %p7%t;8%;m%?%p9%t\016%e\017%;,
+	sgr0=\E[m\017, smacs=^N, smcup=\E[?>h\EPY99:98\E\\,
+	smir=\E[4h, smso=\E[0;7m, smul=\E[0;4m,
+	tsl=\EPY99:98\E\\\E[0;98v\E[2;7m, use=ansi+arrows,
+	use=ansi+erase, use=ansi+idl, use=ansi+inittabs,
+	use=ansi+local, use=ansi+sgrdim,
+
+tws2102-sna|dku7102-sna|Bull Questar tws2102 for SNA,
+	dsl=\E[0;98v\E[2J\E[v, fsl=\E[v, is3=\Eb, tsl=\E[0;98v,
+	use=tws-generic,
+tws2103|xdku|Bull Questar tws2103,
+	ht=^I, use=tws-generic,
+tws2103-sna|dku7103-sna|Bull Questar tws2103 for SNA,
+	ht=^I, use=tws2102-sna,
+dku7102-old|Bull Questar 200 DKU7102 (microcode version < 6),
+	clear=\E[2J\E[H, cup@, dl@, dl1@,
+	dsl=\EPY99:98\E\\\E[0;98v\E[2J\E[H\E[v, el=\E[K\E[m,
+	il@, il1@, tsl=\EPY99:98\E\\\E[0;98v\E[H\E[2;7m,
+	use=tws-generic,
+dku7202|Bull Questar 200 DKU7202 (colour/character attributes),
+	blink=\E[0;2;4m, dim=\E[0;5m, ht=^I, is3=\E[?3h\Eb,
+	sgr=\E[0%?%p1%t;2;4;5;7%;%?%p3%t;7%;%?%p2%t;2%;%?%p4%t;2;4%;
+	    %?%p5%t;5%;%?%p7%t;8%;m%?%p9%t\016%e\017%;,
+	smso=\E[0;4;5;7m, smul=\E[0;2m, use=tws-generic,
+
+#=========================================================#
+# BULL QUESTAR 303 & 310 `DEC VT 320' terminals emulation #
+#=========================================================#
+#
+# Description written by J. Staerck (BULL SA)
+#       Copyright (c) 1989 BULL SA
+#---------------------------------------------------------------------------
+#  This entry is used for terminals with VT320 emulation mode
+#  and following set-up :
+#    8 bit ISO Latin Character Set (ISO 8859-1),
+#    7 bit Control Characters,
+#    80 columns screen.
+#  Hereafter are some DEC vt terminals' commands. (valid on VT200 and 300)
+#  They are used in string capabilities with VT220-320 emulation mode.
+#  In the following DEC definitions, two kinds of terminfo databases are
+#    provided :
+#    1. the first with Command Sequence Introducer starting with escape
+#       sequence in 7 bits characters ex. ESC [ : 2 chars. in 7-bit mode.
+#    2. the second with Command Sequence Introducer starting with escape
+#       sequence in 8 bits characters ex. ESC [ : 1 char. 'CSI' =x9B.
+#	Soft Terminal Reset		esc [ ! p
+#	RIS (erases screen):		esc c
+#	DECKPNM numeric keypad mode:	esc >
+#	DECKPAM applic. keypad mode:	esc =
+#	DECSTBM Scrolling region:	esc [ r
+#	SCS select G0 = US:		esc ( B
+#	SCS select G1 = line-graphic:	esc ) 0
+#	Select 7-bit C1 controls:	esc sp F
+#	Select 8-bit C1 controls:	esc sp G
+#	Select cursor home:		esc [  H
+#	Select erase screen:		esc [  J
+#	SM KAM lock keyboard:		esc [ 2 h
+#	RM KAM unlock keyboard:		esc [ 2 l
+#	SM SRM local echo off:		esc [ 1 2 h
+#	RM SRM local echo on:		esc [ 1 2 l
+#	SM LNM New line :		esc [ 2 0 h
+#	RM LNM return = CR only:	esc [ 2 0 l
+#	SM DECCKM cursor keys mode:	esc [ ? 1 h
+#	RM DECCKM appli. keys mode:	esc [ ? 1 l
+#	SM DECANM ANSI mode on:		esc [ ? 2 h
+#	RM DECANM ANSI mode off:	esc [ ? 2 l
+#	SM DECCOLM 132-column screen:	esc [ ? 3 h
+#	RM DECCOLM 80-column screen:	esc [ ? 3 l
+#	SM DECSCLM Smooth scroll:	esc [ ? 4 h
+#	RM DECSCLM Jump scroll:		esc [ ? 4 l
+#	SM DECSCNM screen light backgr.	esc [ ? 5 h
+#	RM DECSCNM screen dark backgr.	esc [ ? 5 l
+#	SM DECOM move within margins:	esc [ ? 6 h
+#	RM DECOM move outside margins:	esc [ ? 6 l
+#	SM DECAWM auto right margin:	esc [ ? 7 h
+#	RM DECAWM auto right margin:	esc [ ? 7 l
+#	SM DECARM auto repeat:		esc [ ? 8 h
+#	RM DECARM auto repeat:		esc [ ? 8 l
+#	DECSASD Select active main:	esc [ 0 $ }
+#	DECSASD Select active status:	esc [ 1 $ }
+#	DECSSDT Select status none:	esc [ 0 $ ~
+#	DECSSDT Select status indic.:	esc [ 1 $ ~
+#	DECSSDT Select status host-wr:	esc [ 2 $ ~
+#	SM DECTCEM Visible cursor:	esc [ ? 2 5 h
+#	RM DECTCEM Invisible cursor:	esc [ ? 2 5 l
+#	SM DECNCRM 7 bits NCR set:	esc [ ? 4 2 h
+#	RM DECNCRM Multi or ISO latin:	esc [ ? 4 2 l
+#	SM DECNKM numeric keypad mode:	esc [ ? 6 6 h
+#	RM DECNKM numeric keypad appl.:	esc [ ? 6 6 l
+#	SM DECKBUM clavier informatique	esc [ ? 6 8 h
+#	RM DECKBUM clavier bureautique:	esc [ ? 6 8 l
+#	DECSCL VT300 mode 8-bit ctrl:	esc [ 6 3 " p
+# or	DECSCL VT300 mode 8-bit ctrl:	esc [ 6 3 ; 0 " p
+# or	DECSCL VT300 mode 8-bit ctrl:	esc [ 6 3 ; 2 " p
+#	DECSCL VT300 mode 7-bit ctrl:	esc [ 6 3 ; 1 " p
+#	Char. and Line attributes:	esc [ Ps ... Ps m
+# with:  0 All off, 1 Bold, 4 Underline, 5 Blinking, 7 Reverse
+# and : 22 Bold off, 24 Underline off, 25 Blinking off, 27 Reverse off
+#
+
+# This entry covers BQ303, BQ306, BQ310, Q303, Q306, Q310
+bq300|Bull VT320 ISO Latin 1 80 columns terminal,
+	eo, km, mir, xenl, xon,
+	vt#3, wsl#80,
+	blink=\E[5m, bold=\E[1m, cup=\E[%i%p1%d;%p2%dH,
+	dch=\E[%p1%dP, dch1=\E[P, dsl=\E[1$}\E[2$~\n\E[0$},
+	ech=\E[%p1%dX, el1=\E[1K, flash=\E[?5h$<50>\E[?5l,
+	ich=\E[%p1%d@, ind=\ED, is1=\E[63;1"p\E[2h,
+	is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E\sF\E[?42l\E[?4
+	    l,
+	is3=\E[0$}\E[?25h\E[2l\E[H\E[J, ka1=\EOw, ka3=\EOy,
+	kb2=\EOu, kc1=\EOq, kc3=\EOs, kf1=\EOP, kf10=\E[21~,
+	kf11=\E[23~, kf12=\E[24~, kf13=\E[25~, kf14=\E[26~,
+	kf15=\E[28~, kf16=\E[29~, kf17=\E[31~, kf18=\E[32~,
+	kf19=\E[33~, kf2=\EOQ, kf20=\E[34~, kf3=\EOR, kf4=\EOS,
+	kf6=\E[17~, kf7=\E[18~, kf8=\E[19~, kf9=\E[20~,
+	khlp=\E[28~, krdo=\E[29~, lf1=pf1, lf2=pf2, lf3=pf3, lf4=pf4,
+	nel=\EE, rev=\E[7m, ri=\EM, rmacs=\E(B, rmam=\E[?7l,
+	rmcup=\E[?7h, rmir=\E[4l, rmkx=\E[?1l\E>, rmso=\E[27m,
+	rmul=\E[24m, rs1=\E[!p, rs2=\E[?3l, s0ds=\E(B, s1ds=\E(0,
+	sgr=\E[%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;1
+	    %;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\E[0m\E(B, smacs=\E(0, smam=\E[?7h,
+	smcup=\E[?7l\E[?1l\E(B, smir=\E[4h, smso=\E[7m,
+	smul=\E[4m, tsl=\E[1$}\E[2$~, use=ansi+enq, use=ansi+csr,
+	use=ansi+erase, use=ansi+idl, use=ansi+local,
+	use=ansi+pp, use=dec+sl, use=vt100+4bsd, use=vt220+cvis,
+	use=vt220+vtedit,
+
+bq300-rv|Bull VT320 reverse 80 columns,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E\sF\E[?42l\E[?4
+	    l,
+	use=bq300,
+bq300-w|Bull VT320 132 columns,
+	cols#132, wsl#132,
+	is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E\sF\E[?42l\E[?4
+	    l,
+	rs2=\E[?3h, use=bq300,
+bq300-w-rv|Bull VT320 reverse mode 132 columns,
+	cols#132, wsl#132,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E\sF\E[?42l\E[?4
+	    l,
+	rs2=\E[?3h, use=bq300,
+
+#  This entry is used for terminals with VT320 emulation mode
+#  and following set-up :
+#    8 bit ISO Latin Character Set (ISO 8859-1),
+#    8 bit Control Characters, (CSI coded as x9B for ESC [)
+#    80 columns screen.
+#	Soft Terminal Reset		csi ! p
+#	RIS (erases screen):		esc c
+#	DECKPNM numeric keypad mode:	esc >
+#	DECKPAM applic. keypad mode:	esc =
+#	DECSTBM Scrolling region:	esc [ r
+#	SCS select G0 = US:		esc ( B
+#	SCS select G1 = line-graphic:	esc ) 0
+#	Select 7-bit C1 controls:	esc sp F
+#	Select 8-bit C1 controls:	esc sp G
+#	Select cursor home:		csi H
+#	Select erase screen:		csi J
+#	SM KAM lock keyboard:		csi 2 h
+#	RM KAM unlock keyboard:		csi 2 l
+#	SM SRM local echo off:		csi 1 2 h
+#	RM SRM local echo on:		csi 1 2 l
+#	SM LNM New line :		csi 2 0 h
+#	RM LNM return = CR only:	csi 2 0 l
+#	SM DECCKM cursor keys mode:	csi ? 1 h
+#	RM DECCKM appli. keys mode:	csi ? 1 l
+#	SM DECANM ANSI mode on:		csi ? 2 h
+#	RM DECANM ANSI mode off:	csi ? 2 l
+#	SM DECCOLM 132-column screen:	csi ? 3 h
+#	RM DECCOLM 80-column screen:	csi ? 3 l
+#	SM DECSCLM Smooth scroll:	csi ? 4 h
+#	RM DECSCLM Jump scroll:		csi ? 4 l
+#	SM DECSCNM screen light backgr.	csi ? 5 h
+#	RM DECSCNM screen dark backgr.	csi ? 5 l
+#	SM DECOM move within margins:	csi ? 6 h
+#	RM DECOM move outside margins:	csi ? 6 l
+#	SM DECAWM auto right margin:	csi ? 7 h
+#	RM DECAWM auto right margin:	csi ? 7 l
+#	SM DECARM auto repeat:		csi ? 8 h
+#	RM DECARM auto repeat:		csi ? 8 l
+#	DECSASD Select active main:	csi 0 $ }
+#	DECSASD Select active status:	csi 1 $ }
+#	DECSSDT Select status none:	csi 0 $ ~
+#	DECSSDT Select status indic.:	csi 1 $ ~
+#	DECSSDT Select status host-wr:	csi 2 $ ~
+#	SM DECTCEM Visible cursor:	csi ? 2 5 h
+#	RM DECTCEM Invisible cursor:	csi ? 2 5 l
+#	SM DECNCRM 7 bits NCR set:	csi ? 4 2 h
+#	RM DECNCRM Multi or ISO latin:	csi ? 4 2 l
+#	DECSCL VT300 mode 8-bit ctrl:	csi 6 3 " p
+# or	DECSCL VT300 mode 8-bit ctrl:	csi 6 3 ; 0 " p
+#	DECSCL VT300 mode 7-bit ctrl:	csi 6 3 ; 1 " p
+#	Char. and Line attributes:	csi Ps ... Ps m
+# with:  0 All off, 1 Bold, 4 Underline, 5 Blinking, 7 Reverse
+# and : 22 Bold off, 24 Underline off, 25 Blinking off, 27 Reverse off
+# (bq300-8: <cub1>,<cuf1>,<cuu1>,<cud1>,<dl1>,<il1> to get under 1024 --esr)
+bq300-8|Bull VT320 full 8 bits 80 columns,
+	eo, eslok, hs, km, mc5i, mir, xenl, xon,
+	vt#3, wsl#80,
+	blink=\2335m, bold=\2331m, clear=\233H\233J,
+	csr=\233%i%p1%d;%p2%dr, cub=\233%p1%dD, cub1=\2331D,
+	cud=\233%p1%dB, cud1=\2331B, cuf=\233%p1%dC, cuf1=\2331C,
+	cup=\233%i%p1%d;%p2%dH, cuu=\233%p1%dA, cuu1=\2331A,
+	dch=\233%p1%dP, dch1=\233P, dl=\233%p1%dM, dl1=\233M,
+	dsl=\2331$}\2332$~\n\2330$}, ech=\233%p1%dX, ed=\233J,
+	el=\233K, el1=\2331K, flash=\233?5h$<50>\233?5l,
+	fsl=\2330$}, home=\233H, ich=\233%p1%d@, il=\233%p1%dL,
+	il1=\233L, ind=\ED, is1=\E[63;2"p\E[2h,
+	is2=\E[?2h\E[?3l\E[?5l\E[?7h\E[?8h\E>\E[?1l\E\sG\E[?42l\E[?4
+	    l,
+	is3=\2330$}\233?25h\2332l\233H\233J, ka1=\217w,
+	ka3=\217y, kb2=\217u, kc1=\217q, kc3=\217s, kcub1=\233D,
+	kcud1=\233B, kcuf1=\233C, kcuu1=\233A, kdch1=\2333~,
+	kf1=\217P, kf10=\23321~, kf11=\23323~, kf12=\23324~,
+	kf13=\23325~, kf14=\23326~, kf15=\23328~, kf16=\23329~,
+	kf17=\23331~, kf18=\23332~, kf19=\23333~, kf2=\217Q,
+	kf20=\23334~, kf3=\217R, kf4=\217S, kf6=\23317~,
+	kf7=\23318~, kf8=\23319~, kf9=\23320~, kfnd=\2331~,
+	khlp=\23328~, kich1=\2332~, knp=\2336~, kpp=\2335~,
+	krdo=\23329~, kslt=\2334~, lf1=pf1, lf2=pf2, lf3=pf3,
+	lf4=pf4, mc0=\233i, mc4=\2334i, mc5=\2335i, nel=\EE, rc=\E8,
+	rev=\2337m, ri=\EM, rmacs=\E(B, rmam=\233?7l,
+	rmcup=\233?7h, rmir=\2334l, rmkx=\233?1l\E>,
+	rmso=\23327m, rmul=\23324m, rs1=\E[!p, rs2=\E[?3l,
+	s0ds=\E(B, s1ds=\E(0, sc=\E7,
+	sgr=\233%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;
+	    1%;m%?%p9%t\E(0%e\E(B%;,
+	sgr0=\2330m\E(B, smacs=\E(0, smam=\233?7h,
+	smcup=\233?7l\233?1l\E(B, smir=\2334h, smso=\2337m,
+	smul=\2334m, tbc=\2333g, tsl=\2331$}\2332$~,
+	use=vt100+4bsd, use=vt220+cvis8,
+bq300-8rv|Bull VT320 8-bit reverse mode 80 columns,
+	flash=\233?5l$<50>\233?5h,
+	is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E\sG\E[?42l\E[?4
+	    l,
+	use=bq300-8,
+bq300-8w|Bull VT320 8-bit 132 columns,
+	cols#132, wsl#132,
+	is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E\sG\E[?42l\E[?4
+	    l,
+	rs2=\233?3h, use=bq300-8,
+bq300-w-8rv|Bull VT320 8-bit reverse mode 132 columns,
+	cols#132, wsl#132,
+	flash=\233?5l$<50>\233?5h,
+	is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E\sG\E[?42l\E[?4
+	    l,
+	rs2=\233?3h, use=bq300-8,
+
+#  This entry is used for terminals with VT320 emulation mode
+#  a 102 keys keyboard (PC scancode !) and following set-up :
+#    8 bit ISO Latin Character Set (ISO 8859-1),
+#    7 bit Control Characters,
+#    80 columns screen.
+bq300-pc|Questar 303 with PC keyboard ISO Latin 1 80 columns,
+	kbs=^H, kf1=\E[17~, kf10=\E[28~, kf11=\E[29~, kf12=\E[31~,
+	kf13@, kf14@, kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E[18~, kf20@,
+	kf3=\E[19~, kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~,
+	kf8=\E[25~, kf9=\E[26~, kfnd@, khlp@, krdo@, kslt@, lf1@, lf2@,
+	lf3@, lf4@, use=vt220+pcedit, use=bq300,
+bq300-pc-rv|Questar 303 with PC keyboard reverse mode 80 columns,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E\sF\E[?42l\E[?4
+	    l,
+	use=bq300-pc,
+bq300-pc-w|Questar 303 with PC keyboard 132 columns terminal,
+	cols#132, wsl#132,
+	is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E\sF\E[?42l\E[?4
+	    l,
+	rs2=\E[?3h, use=bq300-pc,
+bq300-pc-w-rv|Questar 303 with PC keyboard reverse mode 132 columns,
+	cols#132, wsl#132,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E\sF\E[?42l\E[?4
+	    l,
+	rs2=\E[?3h, use=bq300-pc,
+#    8 bit ISO Latin Character Set (ISO 8859-1),
+#    8 bit Control Characters,
+#    80 columns screen.
+bq300-8-pc|Q306-8-pc|Questar 303 with PC keyboard in full 8 bits 80 columns,
+	kend=\2334~, kf1=\23317~, kf10=\23328~, kf11=\23329~,
+	kf12=\23331~, kf13@, kf14@, kf15@, kf16@, kf17@, kf18@, kf19@,
+	kf2=\23318~, kf20@, kf3=\23319~, kf4=\23320~, kf5=\23321~,
+	kf6=\23323~, kf7=\23324~, kf8=\23325~, kf9=\23326~, kfnd@,
+	khlp@, khome=\2331~, krdo@, kslt@, lf1@, lf2@, lf3@, lf4@,
+	use=bq300-8,
+bq300-8-pc-rv|Questar 303 with PC keyboard full 8 bits reverse mode 80 columns,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3l\E[?5h\E[?7h\E[?8h\E>\E[?1l\E\sG\E[?42l\E[?4
+	    l,
+	use=bq300-8-pc,
+bq300-8-pc-w|Questar 303 with PC keyboard full 8 bits 132 columns,
+	cols#132, wsl#132,
+	is2=\E[?2h\E[?3h\E[?5l\E[?7h\E[?8h\E>\E[?1l\E\sG\E[?42l\E[?4
+	    l,
+	rs2=\E[?3h, use=bq300-8-pc,
+bq300-8-pc-w-rv|Questar 303 with PC keyboard full 8 bits reverse 132 columns,
+	cols#132, wsl#132,
+	flash=\E[?5l$<50>\E[?5h,
+	is2=\E[?2h\E[?3h\E[?5h\E[?7h\E[?8h\E>\E[?1l\E\sG\E[?42l\E[?4
+	    l,
+	rs2=\E[?3h, use=bq300-8-pc,
+
+#======================================================#
+# BULL QUESTAR 310 `VIP 7800/8800' terminals emulation #
+#======================================================#
+
+# normal mode, 8 bits, 80 columns terminal.
+#	BLD  bell disable			^[g
+#	BLE  bell enable			^[h
+#	CAMR char. attr. mode reset		^[[G
+#	CAMS char. attr. mode set		^[[D
+#	CLR  clear				^[`
+#	CM   character mode (async.)		^[k
+#	EP   echoplex mode (by host)		^[m
+#	IM   insert mode set			^[[I
+#	IMR  insert mode reset			^[[J
+#	KBL  keyboard lock (reset)		^[[X
+#	KBU  keyboard unlock (set)		^[[W
+#	LGR  Line-graphic mode reset		^[F
+#	LGS  Line-graphic mode set		^[G
+#	NEP  non echoplex mode (by host)	^[l
+#	PDS  print data space			^[[0p
+#	PDT  print data terminator		^[[<p
+#	PHD  print host data			^[[3p
+#	PRES print adapter reset		^[[2p
+#	RBM  block mode reset			^[[E
+#	RES  reset :				^[e
+#	RIS  reset initial state:		^[c
+#	RMR  roll mode reset			^[q
+#	RMS  roll mode set			^[r
+#	SCD  scroll down (72 lines)		^[[1s
+#	SCU  scroll up	(72 lines)		^[[0s
+#	SLL  status line lock			^[O
+#	SLR  status line reset			^[v
+#	SLS  status line set			^[w
+#	SM78 set mode vip7800			^[[1q
+#	SSP0 partition 0 set			^[[00u
+#	SSP1 partition n format 1		^[[PnPnSTRINGu
+#	SSP2 partition n format 2		^[[PnPnSTRINGu
+#	SSP3 partition n format 3		^[[PnPnu
+#	SSPR multi-part. reset			^[[<>u
+#	TBC  tab clear (at cursor pos.)		^[[g
+#	TBI  tab initialize			^[[N
+#	TBS  tab set (at cursor pos.)		^[p
+#
+#	ATR attribute (visual)
+#	    blink :				^[sB
+#	    dim :				^[sL
+#	    hide (blank) :			^[sH
+#	    inverse video :			^[sI
+#	    protected :				^[sP
+#	    reset :				^[sR
+#	    underline :				^[s_
+#
+# This covers the vip7800 and BQ3155-vip7800
+vip|Bull Questar 3155-7800,
+	am, eslok, hs, km, mc5i, msgr, xenl, xon,
+	vt#3, wsl#80,
+	acsc=0pjdkblamcnkqitgufvhwexj, blink=\EsB, clear=\E`,
+	cub1=^H, cud1=\n, cup=\E[%i%p1%03d%p2%03df, dch1=\E[P,
+	dim=\EsL, dl1=\E[M, dsl=\Ev,
+	flash=\007$<80>\007$<80>\007, fsl=\EO, hts=\Ep,
+	ich1=\E[I, invis=\EsH,
+	is2=\E[00u\E[<>001001024080024080u\E[01u,
+	is3=\Er\E[W\E`, kHOM=\EH, kLFT=\Eo, kRIT=\Eu, kcbt=\E[Z,
+	kclr=\E`, kctab=\E[g, kdch1=\E[P, kdl1=\E[M, ked=\EJ,
+	kel=\EK, kf1=\E0, kf10=\ET, kf11=\E\\, kf12=\E\^, kf13@, kf14@,
+	kf15@, kf16@, kf17@, kf18@, kf19@, kf2=\E2, kf20@, kf21=\E1,
+	kf22=\E5, kf23=\E7, kf24=\E9, kf25=\E;, kf26=\E=, kf27=\E?,
+	kf28=\EQ, kf29=\ES, kf3=\E6, kf30=\EV, kf31=\E], kf32=\E_,
+	kf4=\E8, kf5=\E:, kf6=\E<, kf7=\E>, kf8=\EP, kf9=\ER,
+	khome=\EH, khts=\Ep, kich1=\E[I, kil1=\E[L, kind=\E[0s,
+	kll=\EH\EA, kri=\E[1s, krmir=\E[J, ktbc=\E[N, lf1=pf1,
+	lf2=pf2, lf3=pf3, lf4=pf4, ll=\EH\EA, mc0=\E[0p, mc4=\E[<p,
+	mc5=\E[3p, nel=\r, prot=\EsP, rev=\EsI,
+	ri=\EA\EJ\EH\E[L$<10>, rmacs=\EF, rmir=\E[J, rmso=\EsR,
+	rmul=\EsR, rs1=\Ec, rs2=\E[G, s0ds=\EF, s1ds=\EG,
+	sgr0=\EsR\EsU\EF, smacs=\EG, smir=\E[I, smso=\EsI,
+	smul=\Es_, tbc=\E[N, tsl=\Ew, use=ansi+inittabs,
+	use=vt52-basic,
+# normal screen, 8 bits, 132 columns terminal.
+vip-w|vip7800-w|Q310-vip-w|Q310-vip-w-am|Questar 3155-vip7800 wide,
+	cols#132, wsl#132,
+	is2=\E[00u\E[<>001001024132024132u\E[01u, use=vip,
+vip-H|vip7800-H|Q310-vip-H|Q310-vip-H-am|Questar 3155-vip7800 72 lines,
+	lines#72,
+	is2=\E[00u\E[<>001001024080072080u\E[01u, use=vip,
+vip-Hw|vip7800-Hw|Q310-vip-Hw|Questar 3155-vip7800 wide 72 lines,
+	cols#132, lines#72, wsl#132,
+	is2=\E[00u\E[<>001001024132072132u\E[01u, use=vip,
+
+#### Chromatics
+#
+
+# I have put the long strings in <smcup>/<rmcup>. Ti sets up a window
+# that is smaller than the screen, and puts up a warning message
+# outside the window. Te erases the warning message, puts the
+# window back to be the whole screen, and puts the cursor at just
+# below the small window. I defined <cnorm> and <civis> to really turn
+# the cursor on and off, but I have taken this out since I don't
+# like the cursor being turned off when vi exits.
+cg7900|chromatics|chromatics 7900,
+	am,
+	cols#80, lines#40,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=^],
+	cup=\001M%p2%d\,%p1%d\,, cuu1=^K, dch1=^A<1, dl1=^A<2,
+	ed=^Al, el=^A`, home=^\, ich1=^A>1, il1=^A>2, ind=\n, ll=^A|,
+	rmcup=\001W0\,40\,85\,48\,\014\001W0\,0\,85\,48\,\001M0\,40
+	      \,,
+	rmso=\001C1\,\001c2\,,
+	smcup=\001P0\001O1\001R1\001C4\,\001c0\,\014\001M0\,42\,WARN
+	      ING\sDOUBLE\sENTER\sESCAPE\sand\s\025\001C1\,\001c2\,
+	      \001W0\,0\,79\,39\,,
+	smso=\001C4\,\001c7\,, uc=^A^A_^A\0,
+
+#### Computer Automation
+#
+
+ca22851|Computer Automation 22851,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<8>, cr=\r, cub1=^U, cud1=\n, cuf1=^I,
+	cup=\002%i%p1%c%p2%c, cuu1=^V, ed=^\, el=^], home=^^, ind=\n,
+	kcub1=^U, kcud1=^W, kcuu1=^V, khome=^^,
+
+#### Cybernex
+#
+
+# This entry has correct padding and the undocumented "ri" capability
+cyb83|xl83|Cybernex xl-83,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\014$<62>, cr=\r, cub1=^H, cud1=\n, cuf1=^I,
+	cup=\027%p1%{32}%+%c%p2%{32}%+%c, cuu1=^N,
+	ed=\020$<62>, el=\017$<3>, home=^K, ind=\n, kcub1=^H,
+	kcud1=\n, kcuf1=^I, kcuu1=^N, ri=^N,
+# (mdl110: removed obsolete ":ma=^Z^P:" and overridden ":cd=145^NA^W:" -- esr)
+cyb110|mdl110|Cybernex mdl-110,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=\030$<70>, cr=\r, cub1=^H, cud1=\n, cuf1=^U,
+	cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^Z,
+	dch1=\016A\036$<3.5>, dl1=\016A\016\036$<40>,
+	ed=\016@\026$<6>, el=\016@\026$<145>, home=^Y,
+	ht=\011$<43>, ich1=\016A\035$<3.5>,
+	il1=\016A\016\035$<65>, ind=\n, rmso=^NG, smso=^NF,
+
+#### Datapoint
+#
+# Datapoint is gone.  They used to be headquartered in Texas.
+# They created ARCnet, an Ethernet competitor that flourished for a while
+# in the early 1980s before 3COM got wise and cut its prices.  The service
+# side of Datapoint still lives (1995) in the form of Intelogic Trace.
+#
+
+dp3360|datapoint|Datapoint 3360,
+	OTbs, am,
+	cols#82, lines#25,
+	bel=^G, clear=^]^_, cr=\r, cub1=^H, cud1=\n, cuf1=^X, cuu1=^Z,
+	ed=^_, el=^^, home=^], ind=\n,
+
+# From: Jan Willem Stumpel <jw.stumpel@inter.nl.net>, 11 May 1997
+# The Datapoint 8242 Workstation was sold at least between 1985
+# and 1989. To make the terminal work with this entry, press
+# CONTROL-INT-INT to take the terminal off-line, and type (opt).
+# Set the options AUTO ROLL, ROLL DN, and ESC KBD on, and AUTO
+# CR/LF off. Use control-shift-[] as escape key, control-I as tab,
+# shift-F1 to shift-F5 as F6 to F10 (unshifted F1 to F5 are in
+# fact unusable because the strings sent by the terminal conflict
+# with other keys).
+# The terminal is capable of displaying "box draw" characters.
+# For each graphic character you must send 2 ESC's (\E\E) followed
+# by a control character as follows:
+#         character        meaning
+#         =========        =======
+#         ctrl-E           top tee
+#         ctrl-F           right tee
+#         ctrl-G           bottom tee
+#         ctrl-H           left tee
+#         ctrl-I           cross
+#         ctrl-J           top left corner
+#         ctrl-K           top right corner
+#         ctrl-L           bottom left corner
+#         ctrl-M           bottom right corner
+#         ctrl-N           horizontal line
+#         ctrl-O           vertical line
+# Unfortunately this cannot be fitted into the termcap/terminfo
+# description scheme.
+dp8242|Datapoint 8242,
+	msgr,
+	cols#80, lines#25,
+	bel=^G, civis=^Y, clear=^U\E^D^W^X, cnorm=^X, cr=\r, cub1=^H,
+	cud1=\n, cup=\011%p2%'\0'%+%c%p1%'\0'%+%c, dl1=\E^Z,
+	ed=^W, el=^V, home=^U, ht=^I, il1=\E^T, ind=^C,
+	is1=\E\014\E\016\0\230\0\317\025\027\030\E\004,
+	kbs=^H, kcub1=^D, kcud1=^B, kcuf1=^F, kcuu1=^E, kf1=^G\Ee,
+	kf10=\EK\Ea, kf2=^I\Ed, kf3=\n\Ec, kf4=\n\Eb, kf5=^S\Ea,
+	kf6=\EO\Ee, kf7=\EN\Ed, kf8=\EM\Ec, kf9=\EL\Eb, nel=\r\n,
+	rep=\E\023%p1%c%p2%c, ri=^K, rmso=\E^D, rmul=\E^D,
+	rs1=\E\014\E\016\0\230\0\317\025\027\030\E\004,
+	smso=\E^E, smul=\E^F,
+	wind=\E\014\E\016%p1%'\0'%+%c%p2%'\0'%+%c%p3%'\0'%+%c%p4%'
+	     \0'%+%c\025,
+
+#### DEC terminals (Obsolete types: DECwriter and VT40/42/50)
+#
+# These entries came from DEC's official terminfos for its older terminals
+# (which happen to be identical to the AT&T/SCO terminal descriptions),
+# Bill Hedberg <hedberg@hannah.enet.dec.com> of Terminal Support Engineering
+# may have had more information.  Updated terminfos and termcaps were available
+# at ftp://gatekeeper.dec.com/pub/DEC/termcaps.
+
+# DEC's terminfos did not describe the auxiliary keypad.
+#
+# DECScope of course had no "function keys", but this building block assigns
+# the three blank keys at the top of the auxiliary (numeric) keypad, using
+# the same analogy as VT100 (also lacking function-keys).
+#
+# These assignments use the same layout for 0-9 as VT100+keypad; the VT52
+# keypad had its cursor-keys on the right-column as shown -TD
+#   _______________________________________
+#  |   PF1   |   PF2   |   PF3   | c-up    |
+#  |   \EP   |   \EQ   |   \ER   |   \EA   |
+#  |_kf1__k1_|_kf2__k2_|_kf3__k3_|kcuu1_k4_|
+#  |    7         8         9      c-down  |
+#  |   \E?w  |   \E?x  |   \E?y  |   \EB   |
+#  |_kf9__k9_|_kf10_k;_|_kf0__k0_|kcud1____|
+#  |    4    |    5    |    6    | c-right |
+#  |   \E?t  |   \E?u  |   \E?v  |   \EC   |
+#  |_kf5__k5_|_kf6__k6_|_kf7__k7_|kcuf1_k8_|
+#  |    1    |    2    |    3    | c-left  |
+#  |   \E?q  |   \E?r  |   \E?s  |   \ED   |
+#  |_ka1__K1_|_kb2__K2_|_ka3__K3_|kcub1____|
+#  |         0         |   .     |  enter  |
+#  |        \E?p       |  \E?n   |  \E?M   |
+#  |___kc1_______K4____|_kc3__K5_|_kent_@8_|
+#
+vt52+keypad|DECScope auxiliary keypad,
+	ka1=\E?q, ka3=\E?s, kb2=\E?r, kc1=\E?p, kc3=\E?n, kf0=\E?y,
+	kf1=\EP, kf2=\EQ, kf3=\ER, kf5=\E?t, kf6=\E?u, kf7=\E?v,
+	kf8=\E?w, kf9=\E?x,
+
+gt40|DEC gt40,
+	OTbs, os,
+	cols#72, lines#30,
+	bel=^G, cr=\r, cub1=^H, cud1=\n,
+gt42|DEC gt42,
+	OTbs, os,
+	cols#72, lines#40,
+	bel=^G, cr=\r, cub1=^H, cud1=\n,
+
+vt50|DEC VT50,
+	OTbs,
+	cols#80, lines#12,
+	bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cuu1=\EA, ed=\EJ, el=\EK, ht=^I, ind=\n, u8=\E/A, u9=\EZ,
+vt50h|DEC VT50h,
+	cub1=\ED, cud1=\EB, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	u8=\E/[HJ], use=vt52+keypad, use=vt50, use=vt52+arrows,
+
+# (vt61: there's a BSD termcap that claims <dl1=\EPd>, <il1=\EPf.> <kbs=^H>)
+vt61|vt-61|vt61.5|DEC VT61,
+	cols#80, lines#24,
+	bel=^G, clear=\EH\EJ$<120>, cr=\r$<20>, cub1=^H, cud1=\n,
+	cuf1=\EC$<20>, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<20>,
+	cuu1=\EA$<20>, ed=\EJ$<120>, el=\EK$<70>, ht=^I,
+	ind=\n$<20>, ri=\E$<20>I, use=vt52+arrows,
+
+# The gigi does standout with red!
+# (gigi: I added <rmam>/<smam> based on the init string, corrected cub1 -- esr)
+gigi|vk100|DEC gigi graphics terminal,
+	OTbs, am, xenl,
+	cols#84, lines#24,
+	bel=^G, clear=\E[H\E[2J, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, ed=\E[J, el=\E[K, ht=^I, ind=\n,
+	is2=\E>\E[?3l\E[?4l\E[?5l\E[?20l\E[?7h\E[?8h,
+	kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA, kf1=\EOP,
+	kf2=\EOQ, kf3=\EOR, kf4=\EOS, khome=\E[H, ri=\EM,
+	rmam=\E[?7l, rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7;31m,
+	smul=\E[4m, use=ansi+local,
+
+# DEC PRO-350 console (VT220-style).  The 350 was DEC's attempt to produce
+# a PC differentiated from the IBM clones.  It was a total, ludicrous,
+# grossly-overpriced failure (among other things, DEC's OS didn't include
+# a format program, so you had to buy pre-formatted floppies from DEC at
+# a hefty premium!).
+pro350|decpro|DEC pro console,
+	OTbs,
+	cols#80, it#8, lines#24,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	clear=\EH\EJ, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\EJ,
+	el=\EK, home=\EH, ht=^I, kf0=\EE, kf1=\EF, kf2=\EG, kf3=\EH,
+	kf4=\EI, kf5=\EJ, kf6=\Ei, kf7=\Ej, khome=\EH, ri=\EI,
+	rmacs=\EG, rmso=\E^N, rmul=\E^C, smacs=\EF, smso=\E^H,
+	smul=\E^D, use=vt52+arrows,
+
+dw1|DECwriter I,
+	OTbs, hc, os,
+	cols#72,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, ind=\n,
+dw2|decwriter|dw|DECwriter II,
+	OTbs, hc, os,
+	cols#132,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, ind=\n, kbs=^H,
+# \E(B		Use U.S. character set (otherwise # => british pound !)
+# \E[20l	Disable "linefeed newline" mode (else puts \r after \n,\f,\v)
+# \E[w		10 char/in pitch
+# \E[1;132	full width horizontal margins
+# \E[2g		clear all tab stops
+# \E[z		6 lines/in
+# \E[66t	66 lines/page (for \f)
+# \E[1;66r	full vertical page can be printed
+# \E[4g		clear vertical tab stops
+# \E>		disable alternate keypad mode (so it transmits numbers!)
+# \E[%i%p1%du	set tab stop at column %d (origin == 1)
+#		(Full syntax is \E[n;n;n;n;n;...;nu where each 'n' is
+#		a tab stop)
+#
+#       The dw3 does standout with wide characters.
+#
+dw3|la120|DECwriter III,
+	OTbs, hc, os,
+	cols#132,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, ht=^I, ind=\n,
+	is1=\E(B\E[20l\E[w\E[0;132s\E[2g\E[z\E[66t\E[1;66r\E[4g\E>,
+	is2=\E[9;17;25;33;41;49;57;65;73;81;89;97;105;113;121;129u
+	    \r,
+	kbs=^H, rmso=\E[w, sgr0=\E[w, smso=\E[6w,
+dw4|DECwriter IV,
+	OTbs, am, hc, os,
+	cols#132,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, ht=^I, ind=\n, is2=\Ec, kbs=^H,
+	kf0=\EOP, kf1=\EOQ, kf2=\EOR, kf3=\EOS,
+
+# These aren't official
+ln03|DEC ln03 laser printer,
+	hc,
+	cols#80, lines#66,
+	bel=^G, cr=\r, cud1=\n, hd=\EK, ht=^I, hu=\EL, ind=\n, nel=\r\n,
+	rmso=\E[22m, rmul=\E[24m, sgr0=\E[m, smso=\E[1m,
+	smul=\E[4m,
+ln03-w|DEC ln03 laser printer 132 cols,
+	cols#132,
+	kbs=^H, kcub1=^H, kcud1=\n, use=ln03,
+
+#### Delta Data (dd)
+#
+
+# Untested. The cup sequence is hairy enough that it probably needs work.
+# The idea is ctrl(O), dd(row), dd(col), where dd(x) is x - 2*(x%16) + '9'.
+# There are BSD-derived termcap entries floating around for this puppy
+# that are *certainly* wrong.
+delta|dd5000|delta data 5000,
+	OTbs, am,
+	cols#80, lines#27,
+	bel=^G, clear=^NR, cub1=^H, cud1=\n, cuf1=^Y,
+	cup=\017%p1%p1%{16}%m%{2}%*%-%{57}%+%c%p2%p2%{16}%m%{2}%*%-
+	    %{57}%+%c,
+	cuu1=^Z, dch1=^NV, el=^NU, home=^NQ, ind=\n,
+
+#### Digital Data Research (ddr)
+#
+
+# (ddr: I added <rmam>/<smam> based on the init string -- esr)
+ddr|rebus3180|ddr3180|Rebus/DDR 3180 VT100 emulator,
+	OTbs, am, xenl,
+	cols#80, it#8, lines#24, vt#3,
+	blink=\E[5m$<2/>, bold=\E[1m$<2/>,
+	clear=\E[H\E[2J$<50/>, cub1=^H, cud1=\n, cuf1=\E[C$<2/>,
+	cup=\E[%i%p1%d;%p2%dH$<5/>, cuu1=\E[A$<2/>,
+	ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, ht=^I,
+	ind=\ED$<5/>, is2=\E[1;24r\E[24;1H, kbs=^H, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, rev=\E[7m$<2/>,
+	rf=/usr/share/tabset/vt100, ri=\EM$<5/>, rmam=\E[7l,
+	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m$<2/>,
+	rs1=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h,
+	sgr0=\E[m$<2/>, smam=\E[7l, smkx=\E[?1h\E=, smso=\E[7m,
+	smul=\E[4m$<2/>, use=ansi+csr,
+
+#### Evans & Sutherland
+#
+
+# Jon Leech <leech@cs.unc.edu> tells us:
+# The ps300 was the Evans & Sutherland Picture System 300, a high
+# performance 3D vector graphics system with a bunch of specialized hardware.
+# Approximate date of release was 1982 (early 80s, anyway), and it had several
+# evolutions including (limited) color versions such as the PS330C. PS300s
+# were effectively obsolete by the late 80s, replaced by raster graphics
+# systems, although specialized applications like molecular modeling
+# hung onto them for a while longer.  AFAIK all E&S vector graphics systems
+# are out of production, though of course E&S is very much alive (in 1996).
+# (ps300: changed ":pt@:" to "it@" -- esr)
+#
+ps300|Picture System 300,
+	xt,
+	it@,
+	rmso@, rmul@, smso@, smul@, use=vt100+4bsd,
+
+#### General Electric (ge)
+#
+
+terminet1200|terminet300|tn1200|tn300|terminet|GE terminet 1200,
+	OTbs, hc, os,
+	cols#120,
+	bel=^G, cr=\r, cud1=\n, ind=\n,
+
+#### Heathkit/Zenith
+#
+
+# Here is a description of the H19 DIP switches:
+#
+# S401
+# 0-3 = baud rate as follows:
+#
+#         3       2       1       0
+#	---	---	---	---
+#         0       0       1       1       300 baud
+#         0       1       0       1       1200 baud
+#         1       0       0       0       2400 baud
+#         1       0       1       0       4800 baud
+#         1       1       0       0       9600 baud
+#         1       1       0       1       19.2K baud
+#
+# 4 = parity (0 = no parity)
+# 5 = even parity (0 = odd parity)
+# 6 = stick parity (0 = normal parity)
+# 7 = full duplex (0 = half duplex)
+#
+# S402
+# 0 = block cursor (0 = underscore cursor)
+# 1 = no key click (0 = keyclick)
+# 2 = wrap at end of line (0 = no wrap)
+# 3 = auto LF on CR (0 = no LF on CR)
+# 4 = auto CR on LF (0 = no CR on LF)
+# 5 = ANSI mode (0 = VT52 mode)
+# 6 = keypad shifted (0 = keypad unshifted)
+# 7 = 50Hz refresh (1 = 60Hz refresh)
+#
+# Factory Default settings are as follows:
+#          7 6 5 4 3 2 1 0
+# S401     1 0 0 0 1 1 0 0
+# S402     0 0 0 0 0 0 0 0
+# (h19: I added <rmam>/<smam> based on the init string;
+# also added empty <acsc> to suppress a tic warning -- esr)
+h19-a|h19a|heath-ansi|heathkit-a|Heathkit h19 ANSI mode,
+	OTbs, am, mir, msgr,
+	cols#80, it#8, lines#24,
+	acsc=, bel=^G, clear=\E[2J, cnorm=\E[>4l, cr=\r, cub1=^H,
+	cud1=\E[1B, cuf1=\E[1C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[1A, cvvis=\E[>4h, dch1=\E[1P, dl1=\E[1M$<1*>,
+	ed=\E[J, el=\E[K, home=\E[H, ht=^I, il1=\E[1L$<1*>, ind=\n,
+	is2=\E<\E[>1;2;3;4;5;6;7;8;9l\E[m\E[11m\E[?7h,
+	kbs=^H, kcub1=\E[1D, kcud1=\E[1B, kcuf1=\E[1C, kcuu1=\E[1A,
+	kf1=\EOS, kf2=\EOT, kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP,
+	kf7=\EOQ, kf8=\EOR, khome=\E[H, lf6=blue, lf7=red, lf8=white,
+	ri=\EM, rmacs=\E[11m, rmam=\E[?7l, rmir=\E[4l, rmso=\E[m,
+	smacs=\E[10m, smam=\E[?7h, smir=\E[4h, smso=\E[7m,
+h19-bs|Heathkit w/keypad shifted,
+	rmkx=\Eu, smkx=\Et, use=h19-b,
+h19-us|h19us|h19-smul|Heathkit w/keypad shifted/underscore cursor,
+	rmkx=\Eu, smkx=\Et, use=h19-u,
+# (h19: merged in <ip> from BSDI hp19-e entry>;
+# also added empty <acsc> to suppress a tic warning --esr)
+# From: Tim Pierce <twp@skepsis.com>, 23 Feb 1998
+# Tim tells us that:
+# I have an old Zenith-19 terminal at home that still gets a lot of use.
+# This terminal suffers from the same famous insert-mode padding lossage
+# that has been acknowledged for the Z29 terminal.  Emacs is nearly
+# unusable on this box, since even a half-scroll up or down the window
+# causes flaming terminal death.
+#
+# On the Z19, the only way I have found around this problem is to remove
+# the :al: and :dl: entries entirely.  No amount of extra padding will
+# help (I have tried up to 20000).  Removing <il1=\EL$> and <dl1=\EM$>
+# makes Emacs a little slower, but it remains in the land of the living.
+# Big win.
+h19|heath|h19-b|heathkit|heath-19|z19|zenith|Heathkit h19,
+	OTbs, am, eslok, hs, mir, msgr,
+	cols#80, it#8, lines#24,
+	acsc=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\^, bel=^G,
+	clear=\EE, cnorm=\Ey4, cr=\r, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, cvvis=\Ex4,
+	dch1=\EN, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, ht=^I, ind=\n,
+	ip=$<1.5/>, kbs=^H, kf1=\ES, kf2=\ET, kf3=\EU, kf4=\EV,
+	kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, khome=\EH, lf6=blue,
+	lf7=red, lf8=white, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq,
+	smacs=\EF, smir=\E@, smso=\Ep,
+	tsl=\Ej\Ex5\EY8%p1%{32}%+%c\Eo\Eo, use=vt52+arrows,
+h19-u|Heathkit with underscore cursor,
+	cnorm@, cvvis@, use=h19-b,
+h19-g|h19g|Heathkit w/block cursor,
+	cnorm=\Ex4, cvvis@, use=h19-b,
+alto-h19|altoh19|altoheath|alto-heath|alto emulating Heathkit h19,
+	lines#60,
+	dl1=\EM, il1=\EL, use=h19,
+
+# The major problem with the Z29 is that it requires more padding than the Z19.
+#
+# The problem with declaring an H19 to be synonymous with a Z29 is that
+# it needs more padding. It especially loses if a program attempts
+# to put the Z29 into insert mode and insert text at 9600 baud. It
+# even loses worse if the program attempts to insert tabs at 9600
+# baud. Adding padding to text that is inserted loses because in
+# order to make the Z29 not die, one must add so much padding that
+# whenever the program tries to use insert mode, the effective
+# rate is about 110 baud.
+#
+# What program would want to put the terminal into insert mode
+# and shove stuff at it at 9600 baud you ask?
+#
+# Emacs. Emacs seems to want to do the mathematically optimal
+# thing in doing a redisplay rather than the practical thing.
+# When it is about to output a line on top of a line that is
+# already on the screen, instead of just killing to the end of
+# the line and outputting the new line, it compares the old line
+# and the new line and if there are any similarities, it
+# constructs the new line by deleting the text on the old line
+# on the terminal that is already there and then inserting new
+# text into the line to transform it into the new line that is
+# to be displayed. The Z29 does not react kindly to this.
+#
+# But don't cry for too long.... There is a solution. You can make
+# a termcap entry for the Z29 that says the Z29 has no insert mode.
+# Then Emacs cannot use it. "Oh, no, but now inserting into a
+# line will be really slow", you say. Well there is a sort of a
+# solution to that too. There is an insert character option on
+# the Z29 that will insert one character. Unfortunately, it
+# involves putting the terminal into ANSI mode, inserting the
+# character, and changing it back to H19 mode. All this takes 12
+# characters. Pretty expensive to insert one character, but it
+# works. Either Emacs doesn't try to use its inserting hack when
+# it's only given an insert character ability or the Z29 doesn't
+# require padding with this (the former is probably more likely,
+# but I haven't checked it out).
+# (z29: added empty <acsc> to suppress a tic warning, merged in
+# status line capabilities from BRL entry --esr)
+z29|zenith29|z29b|Zenith z29b,
+	OTbs, OTpt, am, eslok, hs, mir, msgr,
+	OTkn#10, cols#80, lines#24,
+	OTbc=\ED, acsc=, bel=^G, cbt=\E-, clear=\EE$<14>, cnorm=\Ey4,
+	cr=\r, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\E$<1>A,
+	cvvis=\Ex4, dch1=\EN$<0.1*>, dl1=\EM$<1/>, dsl=\Ey1,
+	ed=\EJ$<14>, el=\EK$<1>, fsl=\Ek\Ey5, home=\EH, ht=^I,
+	ich1=\E<\E[1@\E[?2h$<1>, il1=\EL$<1/>, ind=\n$<2>,
+	is2=\E<\E[?2h\Ev, kbs=^H, kf0=\E~, kf1=\ES, kf2=\ET, kf3=\EU,
+	kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER, kf9=\E0I,
+	khome=\EH, lf0=home, ri=\EI$<2/>, rmacs=\EF, rmir=\EO,
+	rmso=\Eq, rmul=\Es0, smacs=\EG, smir=\E@, smso=\Ep,
+	smul=\Es8, tsl=\Ej\Ex5\Ex1\EY8%+ \Eo, use=vt52+arrows,
+# z29 in ANSI mode. Assumes that the cursor is in the correct state, and that
+# the world is stable. <rs1> causes the terminal to be reset to the state
+# indicated by the name. kc -> key click, nkc -> no key click, uc -> underscore
+# cursor, bc -> block cursor.
+# From: Mike Meyers
+# (z29a: replaced nonexistent <if=/usr/share/tabset/zenith29> because <hts>
+# looks VT100-compatible -- esr)
+z29a|z29a-kc-bc|h29a-kc-bc|Heath/Zenith 29 in ANSI mode,
+	OTbs, OTpt, am, eslok, hs, mir, msgr,
+	OTkn#10, cols#80, it#8, lines#24,
+	OTbc=\ED, bel=^G, blink=\E[5m, bold=\E[2m, clear=\E[2J,
+	cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[1P,
+	dim=\E[2m, dsl=\E[>1l, ed=\E[J, el=\E[K, fsl=\E[u\E[>5l,
+	home=\E[H, ht=^I, hts=\EH, if=/usr/share/tabset/vt100,
+	ind=\ED, kclr=\E[J, ked=\E[J, kf0=\E[~, kf1=\EOS, kf2=\EOT,
+	kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ, kf8=\EOR,
+	kf9=\EOX, khome=\E[H, lf0=help, mc0=\E#7, nel=\r\ED, rc=\E[r,
+	rev=\E[7m, ri=\EM, rmcup=\E[?7h, rmso=\E[m, rmul=\E[m,
+	rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>4h\E[>1;2;3;5;6;7;8;9l\E[m
+	    \E[11m,
+	sc=\E[s, sgr0=\E[m, smcup=\E[?7l, smso=\E[7;2m, smul=\E[4m,
+	tbc=\E[3g, tsl=\E[s\E[>5;1h\E[25;%i%dH\E[1K,
+	use=ansi+apparrows, use=ansi+idl, use=ansi+local,
+
+z29a-kc-uc|h29a-kc-uc|Zenith z29 ANSI mode with keyclick and underscore cursor,
+	rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>1;2;3;4;5;6;7;8;9l\E[m\E[11
+	    m,
+	use=z29a,
+z29a-nkc-bc|h29a-nkc-bc|Zenith z29 ANSI mode with block cursor and no keyclick,
+	rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>2;4h\E[>1;3;5;6;7;8;9l\E[m
+	    \E[11m,
+	use=z29a,
+z29a-nkc-uc|h29a-nkc-uc|Zenith z29 ANSI mode with underscore cursor and no keyclick,
+	rs1=\E<\E[1;24r\E[24;1H\E[?7h\E[>2h\E[>1;3;4;5;6;7;8;9l\E[m
+	    \E[11m,
+	use=z29a,
+# From: Jeff Bartig <jeffb@dont.doit.wisc.edu> 31 Mar 1995
+z39-a|z39a|zenith39-a|zenith39-ansi|Zenith 39 in ANSI mode,
+	am, eslok, hs, mir, msgr, xon,
+	cols#80, lines#24,
+	acsc=0a``aaffggjjkkllmmnnooqqssttuuvvwwxx~~, bel=^G,
+	blink=\E[5m, bold=\E[1m, cbt=\E[1Z, civis=\E[>5h,
+	clear=\E[2J\E[H, cnorm=\E[>5l, cr=\r,
+	csr=\E[%i%p1%d;%p2%dr, cub1=^H, cup=\E[%i%p1%d;%p2%dH,
+	dch=\E[%p1%dP, dch1=\E[1P, dim=\E[2m, dl=\E[%p1%dM,
+	dl1=\E[1M, dsl=\E[>1l, ed=\E[0J, el=\E[0K, el1=\E[1K,
+	fsl=\E[u, home=\E[H, il=\E[%p1%dL, il1=\E[1L, ind=\n,
+	is2=\E<\E[>1;3;5;6;7l\E[0m\E[2J, ka1=\EOw, ka3=\EOu,
+	kb2=\EOy, kc1=\EOq, kc3=\EOs, ked=\E[J, kf1=\EOS, kf2=\EOT,
+	kf3=\EOU, kf4=\EOV, kf5=\EOW, kf6=\EOP, kf7=\EOQ, kf8=\EOR,
+	kf9=\EOX, khlp=\E[~, ll=\E[24;1H, mc0=\E[?19h\E[i, rc=\E[u,
+	rev=\E[7m, rmacs=\E(B, rmir=\E[4l, rmkx=\E[>7l, rmso=\E[0m,
+	rmul=\E[0m, rs2=\E<\Ec\0, sc=\E[s, sgr0=\E[0m, smacs=\E(0,
+	smir=\E[4h, smkx=\E[>7h, smso=\E[7m, smul=\E[4m,
+	tsl=\E[s\E[>1h\E[25;%i%p1%dH, use=ansi+arrows,
+	use=ansi+local, use=ansi+pp, use=ansi+tabs,
+
+# From: Brad Brahms <Brahms@USC-ECLC>
+z100|h100|z110|z-100|h-100|Heath/Zenith z-100 pc with color monitor,
+	cnorm=\Ey4\Em70, cvvis=\Ex4\Em71, use=z100bw,
+# (z100bw: removed obsolete ":kn#10:", added empty <acsc> -- esr)
+z100bw|h100bw|z110bw|z-100bw|h-100bw|Heath/Zenith z-100 pc,
+	OTbs, OTpt, mir, msgr,
+	OTkn#10, cols#80, it#8, lines#24,
+	acsc=+h.kaiggjdkclfmenbozqas{tvutvuwsx`~\^,
+	clear=\EE$<5*/>, cnorm=\Ey4, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<1*/>, cuu1=\EA,
+	cvvis=\Ex4, dch1=\EN$<1*/>, dl1=\EM$<5*/>, ed=\EJ, el=\EK,
+	home=\EH, ht=^I, il1=\EL$<5*/>, kbs=^H, kf0=\EJ, kf1=\ES,
+	kf2=\ET, kf3=\EU, kf4=\EV, kf5=\EW, kf6=\EP, kf7=\EQ, kf8=\ER,
+	kf9=\EOI, khome=\EH, ri=\EI, rmacs=\EG, rmir=\EO, rmso=\Eq,
+	smacs=\EF, smir=\E@, smso=\Ep, use=vt52+arrows,
+p19|h19-b with il1/dl1,
+	dl1=\EM$<2*/>, il1=\EL$<2*/>, use=h19-b,
+# From: <ucscc!B.fiatlux@ucbvax.berkeley.edu>
+# (ztx: removed duplicate :sr: -- esr)
+ztx|ztx11|zt-1|htx11|ztx-1-a|Heath/Zenith ztx-10 or 11,
+	OTbs, am, eslok, hs,
+	cols#80, it#8, lines#24,
+	clear=\EE, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dl1=\EM,
+	dsl=\Ey1, ed=\EJ, el=\EK, fsl=\Ek\Ey5, home=\EH, ht=^I,
+	il1=\EL, is2=\Ej\EH\Eq\Ek\Ev\Ey1\Ey5\EG\Ey8\Ey9\Ey>,
+	kbs=^H, kf0=\ES, kf1=\EB, kf2=\EU, kf3=\EV, kf4=\EW, kf5=\EP,
+	kf6=\EQ, kf7=\ER, ri=\EI, rmso=\Eq, rmul=\Eq, smso=\Es5,
+	smul=\Es2, tsl=\Ej\Ex5\Ex1\EY8%+ \Eo, use=vt52+arrows,
+
+#### IMS International (ims)
+#
+# There was a company called IMS International located in Carson City,
+# Nevada, that flourished from the mid-70s to mid-80s.  They made S-100
+# bus/Z80 hardware and a line of terminals called Ultimas.
+#
+
+# From: Erik Fair <fair@ucbarpa.berkeley.edu>  Sun Oct 27 07:21:05 1985
+ims950-b|bare ims950 no init string,
+	is2@, use=ims950,
+# (ims950: removed obsolete ":ko@:" -- esr)
+ims950|IMS TeleVideo 950 emulation,
+	xenl@,
+	flash@, kbs@, kcub1@, kcud1@, kcuf1@, kcuu1@, kf0@, kf1@, kf2@, kf3@,
+	kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, khome@, use=tvi950,
+# (ims950-rv: removed obsolete ":ko@:" -- esr)
+ims950-rv|IMS tvi950 rev video,
+	xenl@,
+	flash@, kbs@, kcub1@, kcud1@, kcuf1@, kcuu1@, kf0@, kf1@, kf2@, kf3@,
+	kf4@, kf5@, kf6@, kf7@, kf8@, kf9@, khome@, use=tvi950-rv,
+ims-ansi|ultima2|ultimaII|IMS Ultima II,
+	OTbs, am,
+	cols#80, it#8, lines#24,
+	clear=\E[H\E[2J, cub1=^H, cud1=\ED, cuf1=\EC,
+	cup=\E[%i%p1%2d;%p2%2dH, cuu1=\EM, ed=\E[0J, el=\E[0K,
+	ht=^I, if=/usr/share/tabset/vt100,
+	is2=\E[m\E[>14l\E[?1;?5;20l\E>\E[1m\r, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, khome=\E[H, ri=\EM,
+	rmso=\E[m\E[1m, rmul=\E[m\E[1m, sgr0=\E[m, smso=\E[7m,
+	smul=\E[4m,
+
+#### Intertec Data Systems
+#
+# I think this company is long dead as of 1995.  They made an early CP/M
+# micro called the "Intertec Superbrain" that was moderately popular,
+# then sank out of sight.
+#
+
+superbrain|Intertec Superbrain,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	OTbc=^U, bel=^G, clear=\014$<5*>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=^F, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<20>, cuu1=^K,
+	ed=\E~k<10*>, el=\E~K$<15>, ht=^I, ind=\n, kcub1=^U,
+	kcud1=\n, kcuf1=^F, kcuu1=^K, rmcup=^L, smcup=^L,
+# (intertube: a Gould entry via BRL asserted smul=\E0@$<200/>,
+# rmul=\E0A$<200/>; my guess is the highlight letter is bit-coded like an ADM,
+# and the reverse is actually true.  Try it. -- esr)
+intertube|intertec|Intertec InterTube,
+	OTbs, am,
+	cols#80, lines#25,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=^F,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<50>, cuu1=^Z, home=^A,
+	ind=\n, rmso=\E0@, smso=\E0P,
+# The intertube 2 has the "full duplex" problem like the Tektronix 4025: if you
+# are typing and a command comes in, the keystrokes you type get interspersed
+# with the command and it messes up
+intertube2|Intertec data systems InterTube 2,
+	OTbs,
+	cup=\016%p1%c\020%p2%{10}%/%{16}%*%p2%{10}%m%+%c,
+	el=\EK, hpa=\020%p1%{10}%/%{16}%*%p1%{10}%m%+%c,
+	ll=^K^X\r, vpa=\013%p1%c, use=intertube,
+
+#### Ithaca Intersystems
+#
+# This company made S100-bus personal computers long ago in the pre-IBM-PC
+# past.  They used to be reachable at:
+#
+#	Ithaca Intersystems
+#	1650 Hanshaw Road
+#	Ithaca, New York 14850
+#
+# However, the outfit went bankrupt years ago.
+#
+
+# The Graphos III was a color graphics terminal from Ithaca Intersystems.
+# These entries were written (originally in termcap syntax) by Brian Yandell
+# <yandell@stat.wisc.edu> and Mike Meyer <mikem@stat.wisc.edu> at the
+# University of Wisconsin.
+
+# (graphos: removed obsolete and syntactically incorrect :kn=4:,
+# removed <if=/usr/share/tabset/init.graphos> and
+# <rf=/usr/share/tabset/init.graphos> no such file & no <hts> -- esr)
+graphos|graphos III,
+	am, mir,
+	cols#80, it#8, lines#24,
+	clear=\E[H\E[2J, cnorm=\Ez56;2;0;0z\Ez73z\Ez4;1;1z,
+	cr=\r, cub1=^H, cud=\E[%p1%dB, cup=\E[%i%p1%d;%p2%dH,
+	cvvis=\Ez4;2;1z\Ez56;2;80;24z, dch1=\E[P, ed=\E[J,
+	el=\E[K, home=\E[H, ht=^I, ind=\ED, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, nel=\r\ED, rc=\E8, ri=\EM, rmdc=\E[4l,
+	rmir=\E[4l, sc=\E7, sgr0=\E[m, smdc=\E[4h, smir=\E[4h,
+	use=ansi+arrows, use=ansi+idl, use=ansi+local,
+	use=ansi+sgrso,
+
+graphos-30|graphos III with 30 lines,
+	lines#30,
+	cvvis=\Ez4;2;1z\Ez56;2;80;30z, use=graphos,
+
+#### Modgraph
+#
+# These people used to be reachable at:
+#
+#	Modgraph, Inc
+#	1393 Main Street,
+#	Waltham, MA 02154
+#	Vox: (617)-890-5796.
+#
+# However, if you call that number today you'll get an insurance company.
+# I have mail from "Michael Berman, V.P. Sales, Modgraph" dated
+# 26 Feb 1997 that says:
+#
+# Modgraph GX-1000, replaced by GX-2000.  Both are out of production, have been
+# for ~7 years.  Modgraph still in business.  Products are rugged laptop and
+# portable PC's and specialized CRT and LCD monitors (rugged, rack-mount
+# panel-mount etc).  I can be emailed at sonfour@aol.com
+#
+# Peter D. Smith <pdsmith@nbbn.com> notes that his modgraph manual was
+# dated 1984.  According to the manual, it featured Tek 4010/4014
+# graphics and DEC VT100/VT52 + ADM-3A emulation with a VT220-style keyboard.
+#
+
+modgraph|mod24|modgraph terminal emulating VT100,
+	xenl@,
+	cvvis=\E\^9;0s\E\^7;1s,
+	is2=\E\^9;0s\E\^7;1s\E[3g\E\^11;9s\E\^11;17s\E\^11;25s\E\^11
+	    ;33s\E\^11;41s\E\^11;49s\E\^11;57s\E\^11;65s\E\^11;73s
+	    \E\^11;81s\E\^11;89s,
+	rf@, ri=\EM\E[K$<5/>, use=vt100+4bsd,
+# The GX-1000 manual is dated 1984.  This looks rather like a VT-52.
+modgraph2|modgraph gx-1000 80x24 with keypad not enabled,
+	am, da, db,
+	cols#80, it#8, lines#24,
+	clear=\EH\EJ$<50/>, cub1=^H, cud1=\EB$<2/>,
+	cuf1=\EC$<2/>, cup=\EY%p1%{32}%+%c%p2%{32}%+%c$<5/>,
+	cuu1=\EA$<2/>, ed=\EJ$<50/>, el=\EK$<3/>, ht=^I,
+	is2=\E<\E\^5;2s\E\^7;1s\E[3g\E\^11;9s\E\^11;17s\E\^11;25s\E
+	    \^11;33s\E\^11;41s\E\^11;49s\E\^11;57s\E\^11;65s\E\^11;7
+	    3s\E\^11;81s\E\^11;89s\E\^12;0s\E\^14;2s\E\^15;9s\E\^25;
+	    1s\E\^9;1s\E\^27;1,
+	ri=\EI$<5/>,
+#
+# Modgraph from Nancy L. Cider <nancyc@brl-tbd>
+# BUG NOTE from Barbara E. Ringers <barb@brl-tbd>:
+# If we set TERM=vt100, and set the Modgraph screen to 24 lines, setting a
+# mark and using delete-to-killbuffer work correctly.  However, we would
+# like normal mode of operation to be using a Modgraph with 48 line setting.
+# If we set TERM=mod (which is a valid entry in termcap with 48 lines)
+# the setting mark and delete-to-killbuffer results in the deletion of only
+# the line the mark is set on.
+# We've discovered that the delete-to-killbuffer works correctly
+# with TERM=mod and screen set to 80x48 but it's not obvious.  Only
+# the first line disappears but a ctrl-l shows that it did work
+# correctly.
+modgraph48|mod|Modgraph w/48 lines,
+	OTbs, OTpt, am, xenl,
+	cols#80, it#8, lines#48, vt#3,
+	OTnl=\n, bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[;H\E[2J,
+	cr=\r, cub1=^H, cud1=\n, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH,
+	cuu1=\E[A, ed=\E[J, el=\E[K,
+	flash=\E[?5h\E[0q\E[1;2q\E[?5l\E[0q\E[4;3q,
+	home=\E[H, ht=^I, is2=\E<\E[1;48r\E[0q\E[3;4q\E=\E[?1h,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, rev=\E[7m, ri=\EM,
+	rmkx=\E[?1l\E>, rmso=\E[m, rmul=\E[m, rs1=\E=\E[0q\E>,
+	sgr0=\E[m, smkx=\E[?1h\E=, smso=\E[7m, smul=\E[4m,
+	use=ansi+csr,
+
+#### Morrow Designs
+#
+# This was George Morrow's company.  They started in the late 1970s making
+# S100-bus machines.  They used to be reachable at:
+#
+#        Morrow
+#        600 McCormick St.
+#        San Leandro, CA 94577
+#
+# but they're long gone now (1995).
+#
+
+# The mt70 terminal was shipped with the Morrow MD-3 microcomputer.
+# Jeff's specimen was dated June 1984.
+# From: Jeff Wieland <wieland@acn.purdue.edu> 24 Feb 1995
+mt70|mt-70|Morrow MD-70; native Morrow mode,
+	am, mir, msgr, xon,
+	cols#80, it#8, lines#24,
+	acsc=+z\,{-x.yOi`|jGkFlEmDnHqJtLuKvNwMxI, bel=^G,
+	cbt=\EI, civis=\E"0, clear=^Z, cnorm=\E"2, cr=\r, cub1=^H,
+	cud1=\n, cuf1=^L, cup=\E=%p1%{32}%+%c%p2%{32}%+%c$<1>,
+	cuu1=^K, dch1=\EW, dim=\EG2, dl1=\ER, ed=\EY, el=\ET$<10>,
+	flash=\EK1$<200>\EK0, home=^^, ht=^I, ich1=\EQ, il1=\EE,
+	ind=\n, invis@, is1=\E"2\EG0\E], kbs=^H, kcbt=^A^Z\r,
+	kclr=^An\r, kcub1=^AL\r, kcud1=^AK\r, kcuf1=^AM\r,
+	kcuu1=^AJ\r, kdch1=^?, kf1=^A@\r, kf10=^AI\r, kf11=^A`\r,
+	kf12=^Aa\r, kf13=^Ab\r, kf14=^Ac\r, kf15=^Ad\r, kf16=^Ae\r,
+	kf17=^Af\r, kf18=^Ag\r, kf19=^Ah\r, kf2=^AA\r, kf20=^Ai\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khlp=^AO\r, khome=^AN\r, nel=^_,
+	rmacs=\E%%, rmcup=, smacs=\E$, smcup=\E"2\EG0\E],
+	smul=\EG1, tbc=\E0, use=adm+sgr,
+
+#### Motorola
+#
+
+# Motorola EXORterm 155	from {decvax, ihnp4}!philabs!sbcs!megad!seth via BRL
+# (Seth H Zirin)
+ex155|Motorola Exorterm 155,
+	OTbs, am, bw,
+	OTkn#5, OTug#1, cols#80, lines#24,
+	cbt=\E[, clear=\EX, cub1=\ED, cud1=\EB, cuf1=\EC,
+	cup=\EE%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, ed=\ET,
+	el=\EU, home=\E@, ht=\EZ, kbs=^H, kcbt=\E[, kclr=\EX, kcub1=^H,
+	kcud1=\n, kcuf1=^L, kcuu1=^K, ked=\ET, kel=\EU, khome=\E@,
+	rmso=\Ec\ED, rmul=\Eg\ED, smso=\Eb\ED, smul=\Ef\ED,
+
+#### Omron
+#
+# This company is still around in 1995, manufacturing point-of-sale systems.
+
+omron|Omron 8025AG,
+	OTbs, am, da, db,
+	cols#80, lines#24,
+	bel=^G, clear=\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC, cuu1=\EA,
+	cvvis=\EN, dch1=\EP, dl1=\EM, ed=\ER, el=\EK, home=\EH,
+	il1=\EL, ind=\ES, ri=\ET, rmso=\E4, smso=\Ef,
+
+#### Ramtek
+#
+# Ramtek was a vendor of high-end graphics terminals around 1979-1983; they
+# were competition for things like the Tektronix 4025.
+#
+
+# Ramtek 6221 from BRL, probably by Doug Gwyn
+# The following SET-UP modes are assumed for normal operation:
+#	UNDERLINE_CURSOR	ANSI_MODE	AUTO_XON/XOFF_ON
+#	NEWLINE_OFF		80_COLUMNS
+# Other SET-UP modes may be set for operator convenience or communication
+# requirements; I recommend
+#	SMOOTH_SCROLL	AUTO_REPEAT_ON	3_#_SHIFTED	WRAP_AROUND_ON
+# Hardware tabs are assumed to be every 8 columns; they can be set up by the
+# "reset", "tset", or "tabs" utilities (use rt6221-w, 160 columns, for this).
+# Note that the Control-E key is useless on this brain-damaged terminal.  No
+# delays are specified; use "stty ixon -ixany" to enable DC3/DC1 flow control!
+rt6221|Ramtek 6221 80x24,
+	OTbs, OTpt, msgr, xon,
+	OTkn#4, cols#80, it#8, lines#24, vt#3,
+	acsc=, bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[>5l,
+	clear=\E[1;1H\E[J, cnorm=\E[>5h\E[>9h, cr=\r, cub1=^H,
+	cud1=^K, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM,
+	cvvis=\E[>7h\E[>9l, ed=\E[J, el=\E[K, home=\E[1;1H, ht=^I,
+	hts=\EH, ind=\n, is2=\E)0, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kf0=\EOP, kf1=\EOQ, kf2=\EOR,
+	kf3=\EOS, lf0=PF1, lf1=PF2, lf2=PF3, lf3=PF4, ll=\E[24;1H,
+	nel=\EE, rev=\E[7m, ri=\EM, rmacs=^O, rmkx=\E>, rmso=\E[m,
+	rmul=\E[m,
+	rs1=\E[1w\E[>37m\E[>39m\E[1v\E[20l\E[?3l\E[?6l\E[>5h\E[>6h
+	    \E[>7h\E[>8l\E[>9h\E[>10l\E[1;24r\E[m\E[q\E(B\017\E)0\E#
+	    5\E>,
+	sgr0=\E[m, smacs=^N, smkx=\E=, smso=\E[7m, smul=\E[4m,
+	tbc=\E[3g, use=ansi+csr, use=ansi+local,
+
+# [TO DO: Check out: short forms of ho/cl and ll; reset (\Ec)].
+rt6221-w|Ramtek 6221 160x48,
+	cols#160, lines#48,
+	ll=\E[48;1H, use=rt6221,
+
+#### RCA
+#
+
+# RCA VP3301 or VP3501
+rca|RCA vp3301/vp3501,
+	OTbs,
+	cols#40, lines#24,
+	clear=^L, cuf1=^U, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, home=^Z, rmso=\E\ES0, smso=\E\ES1,
+
+
+#### Selanar
+#
+
+# Selanar HiREZ-100 from BRL, probably by Doug Gwyn
+# The following SET-UP modes are assumed for normal operation:
+#	SET_DEFAULT_TABS	48_LINES		80_COLUMNS
+#	ONLINE			ANSI			CURSOR_VISIBLE
+#	VT102_AUTO_WRAP_ON	VT102_NEWLINE_OFF	VT102_MONITOR_MODE_OFF
+#	LOCAL_ECHO_OFF		US_CHAR_SET		WPS_TERMINAL_DISABLED
+#	CPU_AUTO_XON/XOFF_ENABLED			PRINT_FULL_SCREEN
+# For use with graphics software, all graphics modes should be set to factory
+# default.  Other SET-UP modes may be set for operator convenience or
+# communication requirements.  No delays are specified; use "stty ixon -ixany"
+# to enable DC3/DC1 flow control!
+# I commented out the scrolling capabilities since they are too slow.
+hirez100|Selanar HiREZ-100,
+	OTbs, OTpt, mir, msgr, xon,
+	OTkn#4, cols#80, it#8, lines#48, vt#3,
+	acsc=, bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub=\E[%p1%dD,
+	cub1=^H, cud1=\n, cup=\E[%i%p1%d;%p2%dH, cuu1=\EM,
+	dch=\E[%p1%dP, dch1=\E[P, home=\E[H, ht=^I, hts=\EH,
+	is2=\E<\E)0, kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC,
+	kcuu1=\EOA, kf0=\EOP, kf1=\EOQ, kf2=\EOR, kf3=\EOS, lf0=PF1,
+	lf1=PF2, lf2=PF3, lf3=PF4, ll=\E[48H, mc0=\E[i,
+	mc4=\E[4i\E[?4i, mc5=\E[?5i\E[5i, nel=\EE, rc=\E8,
+	rev=\E[7m, rmacs=^O, rmkx=\E[?1l\E>,
+	rs1=\030\E2\E<\E[4i\E[?4i\E[12h\E[2;4;20l\E[?0;7h\E[?1;3;6;1
+	    9l\E[r\E[m\E(B\017\E)0\E>,
+	sc=\E7, sgr0=\E[m, smacs=^N, smkx=\E[?1h\E=, tbc=\E[3g,
+	use=ansi+erase, use=ansi+idl, use=ansi+local,
+	use=ansi+sgrso, use=ansi+sgrul,
+
+hirez100-w|Selanar HiREZ-100 in 132-column mode,
+	cols#132, use=hirez100,
+
+#### Signetics
+#
+
+# From University of Wisconsin
+vsc|Signetics Vsc Video driver by RMC,
+	am, msgr,
+	cols#80, it#8, lines#26,
+	clear=\E[;H\E[2J$<50/>, cr=\r, cub1=^H, cud1=\n, cuf1=\E[C,
+	cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A, el=\E[K, home=\E[H,
+	ht=^I, ind=\n, kbs=^H, kcub1=^H, kcud1=\n, nel=\r\n, rev=^_\s,
+	rmso=^_!, rmul=^_#, sgr0=^_!, smso=^_\s, smul=^_",
+
+#### Soroc
+#
+# Alan Frisbie <frisbie@flying-disk.com> writes:
+#
+# As you may recall, the Soroc logo consisted of their name,
+# with the letter "S" superimposed over an odd design.   This
+# consisted of a circle with a slightly smaller 15 degree (approx.)
+# wedge with rounded corners inside it.   The color was sort of
+# a metallic gold/yellow.
+#
+# If I had been more of a beer drinker it might have been obvious
+# to me, but it took a clue from their service department to make
+# me exclaim, "Of course!"   The circular object was the top of
+# a beer can (the old removable pop-top style) and "Soroc" was an
+# anagram for "Coors".
+#
+# I can just imagine the founders of the company sitting around
+# one evening, tossing back a few and trying to decide what to
+# call their new company and what to use for a logo.
+#
+
+# (soroc120: removed obsolete ":ma=^K^P^R^L^L :" -- esr)
+soroc120|iq120|soroc|Soroc iq120,
+	clear=\E*$<2>, ed=\EY, el=\ET, use=adm3a,
+soroc140|iq140|Soroc iq140,
+	OTbs, am, mir,
+	cols#80, lines#24,
+	bel=^G, cbt=\EI, clear=\E+, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\Ew,
+	dl1=\Er$<.7*>, ed=\Ey, el=\Et, home=^^, il1=\Ee$<1*>, ind=\n,
+	kbs=^H, kcuf1=^L, kcuu1=^K, kf0=^A0\r, kf1=^A@\r, kf2=^AA\r,
+	kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r, kf7=^AF\r,
+	kf8=^AG\r, kf9=^AH\r, khome=^^, ll=^^^K, rmir=\E8, rmso=\E^?,
+	rmul=\E^A, smir=\E9, smso=\E^?, smul=\E^A,
+
+#### Southwest Technical Products
+#
+# These guys made an early personal micro called the M6800.
+# The ct82 was probably its console terminal.
+#
+
+# (swtp: removed obsolete ":bc=^D:" -- esr)
+swtp|ct82|Southwest Technical Products ct82,
+	am,
+	cols#82, lines#20,
+	bel=^G, clear=^L, cr=\r, cub1=^D, cud1=\n, cuf1=^S,
+	cup=\013%p2%c%p1%c, cuu1=^A, dch1=^\^H, dl1=^Z, ed=^V, el=^F,
+	home=^P, ich1=^\^X, il1=^\^Y, ind=^N,
+	is2=\034\022\036\023\036\004\035\027\011\023\036\035\036
+	    \017\035\027\022\011,
+	ll=^C, ri=^O, rmso=^^^F, smso=^^^V,
+
+#### Synertek
+#
+# Bob Manson <manson@pattyr.acs.ohio-state.edu> writes (28 Apr 1995):
+#
+# Synertek used to make ICs, various 6502-based single-board process
+# control and hobbyist computers, and assorted peripherals including a
+# series of small inexpensive terminals (I think they were one of the
+# first to have a "terminal-on-a-keyboard", where the terminal itself
+# was only slightly larger than the keyboard).
+#
+# They apparently had a KTM-1 model, which I've never seen. The KTM-2/40
+# was a 40x24 terminal that could connect to a standard TV through a
+# video modulator.  The KTM-2/80 was the 80-column version (the 2/40
+# could be upgraded to the 2/80 by adding 2 2114 SRAMs and a new ROM).
+# I have a KTM-2/80 still in working order.  The KTM-2s had fully
+# socketed parts, used 2 6507s, a 6532 as keyboard scanner, a program
+# ROM and 2 ROMs as character generators. They were incredibly simple,
+# and I've never had any problems with mine (witness the fact that mine
+# was made in 1981 and is still working great... I've blown the video
+# output transistor a couple of times, but it's a 2N2222 :-)
+#
+# The KTM-3 (which is what is listed in the terminfo file) was their
+# attempt at putting a KTM-2 in a box (and some models came with a
+# CRT). It wasn't much different from the KTM-2 hardware-wise, but the
+# control and escape sequences are very different. The KTM-3 was always
+# real broken, at least according to the folks I've talked to about it.
+#
+# The padding in the entry is probably off--these terminals were very
+# slow (it takes like 100ms for the KTM-2 to clear the screen...) And
+# anyone with any sanity replaced the ROMs with something that provided
+# a reasonable subset of VT100 functionality, since the usual ROMs were
+# obviously very primitive... oh, you could get an upgraded ROM from
+# Synertek for some incredible amount of money, but what hacker with an
+# EPROM burner would do that? :)
+#
+# Sorry I don't have any contact info; I believe they were located in
+# Sunnyvale, and I'm fairly sure they are still manufacturing ICs
+# (they've gone to ASICs and FPGAs), but I doubt they're in the computer
+# business these days.
+#
+
+# Tested, seems to work fine with vi.
+synertek|ktm|synertek380|Synertek KTM 3/80 tubeless terminal,
+	am,
+	cols#80, lines#24,
+	clear=^Z, cub1=^H, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EJ, el=\EK,
+
+#### Tab Office Products
+#
+#	TAB Products Co. - Palo Alto, California
+#	Electronic Office Products,
+#	1451 California Avenue 94304
+#
+# I think they're out of business.
+#
+
+# The tab 132 uses xon/xoff, so no padding needed.
+# <smkx>/<rmkx> have nothing to do with arrow keys.
+# <is2> sets 80 col mode, normal video, autowrap on (for <am>).
+# Seems to be no way to get rid of status line.
+# The manual for this puppy was dated June 1981.  It claims to be VT52-
+# compatible but looks more VT100-like -esr
+#
+# According to
+# https://ub.fnwi.uva.nl/computermuseum/tab13215g.html
+#	This monochrome graphics terminal of TAB Products, California, is a DEC
+#	VT52/VT100/VT132 compatible alphanumeric terminal (TAB 132/15),
+#	factory-fitted with additional hardware for Tektronix 4010 emulation. 
+#	Also the terminal understands a selection of Tektronix 4027 commands. 
+tab132|tab|tab132-15|tab 132/15,
+	da, db,
+	OTdN@, lm#96,
+	cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, il1=\E[L,
+	is2=\E[?7h\E[?3l\E[?5l, rmir=\E[4l, rmkx@, smir=\E[4h,
+	smkx@, use=decid+cpr, use=vt100+4bsd,
+tab132-w|tab132 in wide mode,
+	cols#132,
+	is2=\E[?7h\E[?3h\E[?5l, use=tab132,
+tab132-rv|tab132 in reverse-video mode,
+	is2=\E[?7h\E[?3l\E[?5h, use=tab132,
+tab132-w-rv|tab132 in reverse-video/wide mode,
+	is2=\E[?7h\E[?3h\E[?5h, use=tab132-w,
+
+
+#### Teleray
+#
+#	Research Incorporated
+#	6425 Flying Cloud Drive
+#	Eden Prairie, MN 55344
+#	Vox: (612)-941-3300
+#
+# The Teleray terminals were all discontinued in 1992-93.  RI still services
+# and repairs these beasts, but no longer manufactures them.  The Teleray
+# people believe that all the types listed below are very rare now (1995).
+# There was a newer line of Telerays (Model 7, Model 20, Model 30, and
+# Model 100) that were ANSI-compatible.
+#
+# Note two things called "teleray".  Reorder should move the common one
+# to the front if you have either.  A dumb Teleray with the cursor stuck
+# on the bottom and no obvious model number is probably a 3700.
+#
+
+t3700|dumb Teleray 3700,
+	OTbs,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, ind=\n,
+t3800|Teleray 3800 series,
+	OTbs,
+	cols#80, it#8, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=\EJ, el=\EK,
+	home=\EH, ht=^I, ind=\n, ll=\EY7\s,
+t1061|teleray|Teleray 1061,
+	OTbs, am, km, xhp, xt,
+	cols#80, it#8, lines#24, xmc#1,
+	bel=^G, clear=\014$<1>, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ,
+	dl1=\EM$<2*>, ed=\EJ$<1>, el=\EK, home=\EH, ht=^I, hts=\EF,
+	ich1=\EP, il1=\EL$<2*>, ind=\n, ip=$<0.4*>,
+	is2=\Ee\EU01^Z1\EV\EU02^Z2\EV\EU03^Z3\EV\EU04^Z4\EV\EU05^Z5
+	    \EV\EU06^Z6\EV\EU07^Z7\EV\EU08^Z8\EV\Ef,
+	kf1=^Z1, kf2=^Z2, kf3=^Z3, kf4=^Z4, kf5=^Z5, kf6=^Z6, kf7=^Z7,
+	kf8=^Z8, rmso=\ER@, rmul=\ER@, smso=\s\ERD, smul=\ERH,
+	tbc=\EG,
+t1061f|Teleray 1061 with fast PROMs,
+	dl1=\EM, il1=\EL, ip@, use=t1061,
+# "Teleray Arpa Special", officially designated as
+# "Teleray Arpa network model 10" with "Special feature 720".
+# This is the new (1981) fast microcode updating the older "arpa" proms
+# (which gave meta-key and programmable-fxn keys).  720 is much much faster,
+# converts the keypad to programmable function keys, and has other goodies.
+# Standout mode is still broken (magic cookie, etc) so is suppressed as no
+# programs handle such lossage properly.
+# Note: this is NOT the old termcap's "t1061f with fast proms."
+# From: J. Lepreau <lepreau@utah-cs> Tue Feb  1 06:39:37 1983, Univ of Utah
+# (t10: removed overridden ":so@:se@:us@:ue@:" -- esr)
+t10|Teleray 10 special,
+	OTbs, km, xhp, xt,
+	cols#80, it#8, lines#24, xmc#2,
+	clear=\Ej$<30/>, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\EQ,
+	dl1=\EM, ed=\EJ, el=\EK, home=\EH, ht=^I, ich1=\EP, il1=\EL,
+	ind=\Eq, pad=\0, ri=\Ep, rmso=\ER@, rmul=\ER@, smso=\ERD,
+	smul=\ERH,
+# Teleray 16 - map the arrow keys for vi/rogue, shifted to up/down page, and
+# back/forth words. Put the function keys (f1-f10) where they can be
+# found, and turn off the other magic keys along the top row, except
+# for line/local. Do the magic appropriate to make the page shifts work.
+# Also toggle ^S/^Q for those of us who use Emacs.
+t16|Teleray 16,
+	am, da, db, mir, xhp, xt,
+	cols#80, lines#24,
+	bel=^G, clear=\E[H\E[2J, cr=\r, cub1=^H,
+	cup=%i\E[%p1%d;%p2%df, dch1=\E[P, dl1=\E[M, ed=\E[0J,
+	el=\E[0K, home=\E[H, ht=^I, il1=\E[L, ind=\n, kf1=^Z1,
+	kf10=^Z0, kf2=^Z2, kf3=^Z3, kf4=^Z4, kf5=^Z5, kf6=^Z6, kf7=^Z7,
+	kf8=^Z8, kf9=^Z9, ri=\E[T, rmcup=\E[V\E[24;1f\E[?38h,
+	rmir=\E[4l, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smcup=\E[U\E[?38l, smir=\E[4h, smso=\E[7m, smul=\E[4m,
+	use=ansi+local1,
+
+#### Texas Instruments (ti)
+#
+
+# The Silent 700 was so called because it was built around a quiet thermal
+# printer.  It was portable, equipped with an acoustic coupler, and pretty
+# neat for its day.
+ti700|ti733|ti735|ti745|ti800|Texas Instruments Silent 700/733/735/745 or OMNI 800,
+	OTbs, hc, os,
+	cols#80,
+	bel=^G, cr=\r$<162>, cub1=^H, cud1=\n, ind=\n,
+
+# Terminal entries for the Texas Instruments 703/707
+# hardcopy terminals.
+#
+# http://www.bitsavers.org/pdf/ti/terminal/silent_700/
+# Refer to:
+#	Model 707 Data Terminal User's Manual
+#	http://www.bitsavers.org/pdf/ti/terminal/silent_700/2310451-0001_Silent_700_Model_707_Users_Manual_Nov1983.pdf
+#
+# pages 2-7 and 2-8 say that the model 707 prints 10.2 characters per inch
+# (cpi) (80 characters per line) by default, and can be switched to/from 17.0
+# cpi using an escape sequence.  There is no 80/132-column capability in
+# terminfo (only the more general cpi which allows any value).
+ti703|ti707|Texas Instruments Silent 703/707,
+	am, xenl,
+	it#8,
+	cuf1=\s, is2=\EPC\\, nel=\r\n, use=ti700,
+ti703-w|ti707-w|Texas Instruments Silent 703/707 (132 column),
+	cols#132,
+	is2=\EPD\\, use=ti703,
+
+#
+# Texas Instruments 916 VDT 7 bit control mode
+#
+ti916|ti916-220-7|Texas Instruments 916 VDT 8859/1 VT220 mode 7 bit CTRL,
+	da, db, in,
+	cbt=\E[Z, clear=\E[H\E[2J$<6>, dch=\E[%p1%dP$<250>,
+	ech=\E[%p1%dX$<20>, ed=\E[J$<6>, el=\E[0K,
+	enacs=\E(B\E)0, ff=^L, flash=\E[?5h\E[?5l$<6>,
+	hpa=\E[%p1%{1}%+%dG, hts=\E[0W, ich=\E[%p1%d@$<250>,
+	il=\E[%p1%dL$<36>, ip=$<10>, is2=\E[1;24r\E[24;1H,
+	kcmd=\E[29~, kdch1=\E[P, kent=\n, kf1=\E[17~, kf10=\E[28~,
+	kf11=\E[29~, kf12=\E[31~, kf2=\E[18~, kf3=\E[19~,
+	kf4=\E[20~, kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~,
+	kf9=\E[26~, khome=\E[H, kich1=\E[@, knp=\E[S, kpp=\E[T,
+	kprt=^X, prot=\E&, rmacs=\017$<2>, rs2=\E[!p, sgr@,
+	smacs=\016$<2>, vpa=\E[%p1%{1}%+%dd, use=vt220,
+#
+# Texas Instruments 916 VDT 8 bit control mode
+#
+ti916-8|ti916-220-8|Texas Instruments 916 VDT 8859/1 8 VT220 mode bit CTRL,
+	kcmd=\23329~, kcub1=\233D, kcud1=\233B, kcuf1=\233C,
+	kcuu1=\233A, kdch1=\233P, kf1=\23317~, kf10=\23328~,
+	kf11=\23329~, kf12=\23331~, kf2=\23318~, kf3=\23319~,
+	kf4=\23320~, kf5=\23321~, kf6=\23323~, kf7=\23324~,
+	kf8=\23325~, kf9=\23326~, khome=\233H, kich1=\233@,
+	knp=\233S, kpp=\233T, use=ti916,
+#
+# Texas Instruments 916 VDT 8859/1 7 bit control 132 column mode
+#
+ti916-132|Texas Instruments 916 VDT VT220 132 column,
+	cols#132, use=ti916,
+#
+# Texas Instruments 916 VDT 8859/1 8 bit control 132 column mode
+#
+ti916-8-132|Texas Instruments 916 VDT 8-bit VT220 132 column,
+	cols#132, use=ti916-8,
+ti924|Texas Instruments 924 VDT 8859/1 7 bit CTRL,
+	OTbs, am, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H, cr=\r,
+	csr=%i\E[%p1%d;%p2%dr, cup=%i\E[%p1%d;%p2%dH,
+	cvvis=\E[?31h, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	hts=\EH, il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\E[P, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\E[16~, kf6=\E[17~, kf7=\E[18~,
+	kf8=\E[19~, kf9=\E[20~, kich1=\E[@, rc=\E8, rev=\E[7m,
+	ri=\EM, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m, smso=\E[7m,
+	smul=\E[4m, tbc=\E[3g, use=ansi+local1, use=vt220+cvis,
+ti924-8|Texas Instruments 924 VDT 8859/1 8 bit CTRL,
+	am, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[5m, bold=\E[1m, clear=\E[2J\E[H, cr=\r,
+	csr=%i\E[%p1%d;%p2%dr, cup=%i\E[%p1%d;%p2%dH,
+	cvvis=\E[?31h, dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ht=^I,
+	hts=\EH, il1=\E[L, ind=\ED, kbs=^H, kcub1=\E[D, kcud1=\E[B,
+	kcuf1=\E[C, kcuu1=\E[A, kdch1=\233P, kf1=\217P, kf2=\217Q,
+	kf3=\217R, kf4=\217S, kf5=\23316~, kf6=\23317~,
+	kf7=\23318~, kf8=\23319~, kf9=\23320~, kich1=\233@, rc=\E8,
+	rev=\E[7m, ri=\EM, rmso=\E[m, rmul=\E[m, sc=\E7, sgr0=\E[m,
+	smso=\E[7m, smul=\E[4m, tbc=\E[3g, use=ansi+local1,
+	use=vt220+cvis,
+ti924w|Texas Instruments 924 VDT 7 bit - 132 column mode,
+	cols#132, use=ti924,
+ti924-8w|Texas Instruments 924 VDT 8 bit - 132 column mode,
+	cols#132, use=ti924-8,
+ti931|Texas Instruments 931 VDT,
+	OTbs, am, xon,
+	cols#80, lines#24,
+	bel=^G, blink=\E4P, clear=\EL, cnorm=\E4@, cr=\r, cub1=\ED,
+	cud1=\EB, cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=\EA, dch1=\EQ, dl1=\EO, ed=\EJ, el=\EI, home=\EH,
+	ich1=\ER\EP\EM, il1=\EN, ind=\Ea, invis=\E4H,
+	is2=\EGB\E(@B@@\E), kdch1=\EQ, kdl1=\EO, kf1=\Ei1,
+	kf2=\Ei2, kf3=\Ei3, kf4=\Ei4, kf5=\Ei5, kf6=\Ei6, kf7=\Ei7,
+	kf8=\Ei8, kf9=\Ei9, kich1=\EP, kil1=\EN, rev=\E4B, ri=\Eb,
+	rmso=\E4@, rmul=\E4@, sgr0=\E4@, smso=\E4A, smul=\E4D,
+	use=vt52+arrows,
+ti926|Texas Instruments 926 VDT 8859/1 7 bit CTRL,
+	csr@, ind=\E[1S, ri=\E[1T, use=ti924,
+# (ti926-8: I corrected this from the broken SCO entry -- esr)
+ti926-8|Texas Instruments 926 VDT 8859/1 8 bit CTRL,
+	csr@, ind=\2331S, ri=\2331T, use=ti924-8,
+ti_ansi|basic entry for ti928,
+	am, bce, eo, xenl, xon,
+	colors#8, cols#80, it#8, lines#25, pairs#64,
+	bel=^G, blink=\E[5m, bold=\E[1m, cbt=\E[Z, clear=\E[2J\E[H,
+	cr=\r, csr=\E[%i%p1%d;%p2%dr, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, ed=\E[J,
+	el=\E[K, home=\E[H, ht=^I, ich1=\E[@, il1=\E[L, ind=\E[S,
+	kend=\E[F, kf0=\E[V, kf1=\E[M, kf2=\E[N, kf3=\E[O, kf4=\E[P,
+	kf5=\E[Q, kf6=\E[R, kf7=\E[S, kf8=\E[T, kf9=\E[U, knp=\E[G,
+	kpp=\E[I, op=\E[37;40m, ri=\E[T, rmso=\E[m, rmul=\E[m,
+	setab=\E[4%p1%dm, setaf=\E[3%p1%dm, sgr0=\E[m,
+	smso=\E[7m, smul=\E[4m, use=ansi+arrows, use=ansi+local1,
+#
+#       928 VDT 7 bit control mode
+#
+ti928|Texas Instruments 928 VDT 8859/1 7 bit CTRL,
+	kdch1=\E[P, kend=\E_1\E\\, kent=\E[8~, kf1=\E[17~,
+	kf10=\E[28~, kf11=\E[29~, kf12=\E[31~, kf13=\E[32~,
+	kf15=\E[34~, kf2=\E[18~, kf3=\E[19~, kf4=\E[20~,
+	kf5=\E[21~, kf6=\E[23~, kf7=\E[24~, kf8=\E[25~, kf9=\E[26~,
+	kich1=\E[@, knp=\E[S, kpp=\E[T, kprt=\E[35~, use=ti_ansi,
+#
+#       928 VDT 8 bit control mode
+#
+ti928-8|Texas Instruments 928 VDT 8859/1 8 bit CTRL,
+	kdch1=\233P, kend=\2371\234, kent=\2338~, kf1=\23317~,
+	kf10=\23328~, kf11=\23329~, kf12=\23331~, kf13=\23332~,
+	kf15=\23334~, kf2=\23318~, kf3=\23319~, kf4=\23320~,
+	kf5=\23321~, kf6=\23323~, kf7=\23324~, kf8=\23325~,
+	kf9=\23326~, khome=\233H, kich1=\233@, knp=\233S,
+	kpp=\233T, kprt=\23335~, use=ti_ansi,
+
+#### Zentec (zen)
+#
+
+# (zen30: removed obsolete :ma=^L ^R^L^K^P:.  This entry originally
+# had just <smso>=\EG6 which I think means standout was supposed to be
+# dim-reverse using ADM12-style attributes. ADM12 <smul>/<rmul> and
+# <invis> might work-- esr)
+zen30|z30|Zentec 30,
+	OTbs, am, mir, ul,
+	cols#80, lines#24,
+	bel=^G, clear=\E*, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, dch1=\EW,
+	dim=\EG2, dl1=\ER$<1.5*>, ed=\EY, el=\ET$<1.0*>, home=^^,
+	il1=\EE$<1.5*>, ind=\n, rmir=\Er, rmul@, smir=\Eq, smso=\EG6,
+	smul@, use=adm+sgr,
+# (zen50: this had extension capabilities
+#	:BS=^U:CL=^V:CR=^B:
+# UK/DK/RK/LK/HM were someone's aliases for ku/kd/kl/kr/kh,
+# which were also in the original entry -- esr)
+# (zen50: removed obsolete ":ma=^Hh^Ll^Jj^Kk:" -- esr)
+zen50|z50|Zentec Zephyr,
+	OTbs, am,
+	cols#80, lines#24, xmc#1,
+	clear=\E+, cub1=^H, cup=\E=%p1%{32}%+%c%p2%{32}%+%c,
+	cuu1=^K, dch1=\EW, dl1=\ER, ed=\EY, el=\ET, ich1=\EQ, il1=\EE,
+	invis@, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K, khome=^^,
+	rmul@, smul@, use=adm+sgr,
+
+# CCI 4574 (Office Power) from Will Martin <wmartin@BRL.ARPA> via BRL
+cci|cci1|z8001|zen8001|CCI Custom Zentec 8001,
+	OTbs, am, bw,
+	cols#80, lines#24,
+	blink=\EM", clear=\EH\EJ, cnorm=\EP,
+	csr=\ER%p1%{32}%+%c%p2%{32}%+%c, cub1=^H, cud1=\n,
+	cuf1=\EC, cup=\EY%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA,
+	cvvis=\EF\EQ\EM \ER 7, dim=\EM!, ed=\EJ, el=\EK, home=\EH,
+	invis=\EM(, is2=\EM \EF\ET\EP\ER 7, kbs=^H, khome=\EH,
+	mc4=^T, mc5=^R, rev=\EM$, ri=\EI, rmso=\EM\s, rmul=\EM\s,
+	sgr0=\EM\s, smso=\EM$, smul=\EM0, use=vt52+arrows,
+
+######## OBSOLETE UNIX CONSOLES
+#
+
+#### Apollo consoles
+#
+# Apollo got bought by Hewlett-Packard.  The Apollo workstations are
+# labeled HP700s now.
+#
+
+# From: Gary Darland <goodmanc@garnet.berkeley.edu>
+apollo|Apollo console,
+	OTbs, am, mir,
+	cols#88, lines#53,
+	clear=^L, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\EM%p1%{32}%+%c%p2%d), cuu1=\EA, dch1=\EP, dl1=\EL,
+	ed=\EJ, el=\EK, hpa=\EN%p1%d, il1=\EI, ind=\EE, ri=\ED,
+	rmcup=\EX, rmir=\ER, rmso=\ET, rmul=\EV, smcup=\EW, smir=\EQ,
+	smso=\ES, smul=\EU, vpa=\EO+\s,
+
+# We don't know whether or not the apollo guys replicated DEC's firmware bug
+# in the VT132 that reversed <rmir>/<smir>.  To be on the safe side, disable
+# both these capabilities.
+apollo+vt132|Apollo console emulating VT132,
+	rmir@, smir@, use=vt132,
+
+apollo_15P|Apollo 15 inch display,
+	use=apollo+vt132,
+apollo_19L|Apollo 19 inch display,
+	use=apollo+vt132,
+apollo_color|Apollo color display,
+	use=apollo+vt132,
+
+#### AT&T consoles
+
+# This actually describes the generic SVr4 display driver for Intel boxes.
+# The <dim=\E[2m> isn't documented and therefore may not be reliable.
+# From: Eric Raymond <esr@snark.thyrsus.com> Mon Nov 27 19:00:53 EST 1995
+att6386|at386|386at|AT&T WGS 6386 console,
+	am, bw, eo, xon,
+	cols#80, lines#25,
+	acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~,
+	bel=^G, civis=\E[=C, clear=\E[2J\E[H, cnorm=\E[=1C, cr=\r,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	dim=\E[2m, dl=\E[%p1%dM, dl1=\E[1M, ech=\E[%p1%dX, ed=\E[J,
+	el=\E[K, home=\E[H, hpa=\E[%i%p1%dG, ich=\E[%p1%d@,
+	ich1=\E[1@, il=\E[%p1%dL, il1=\E[1L, ind=\E[S, invis=\E[9m,
+	is2=\E[0;10;39m, kcbt=^], kdch1=\E[P, kend=\E[Y, kf1=\EOP,
+	kf10=\EOY, kf11=\EOZ, kf12=\EOA, kf2=\EOQ, kf3=\EOR,
+	kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW, kf9=\EOX,
+	kich1=\E[@, knp=\E[U, kpp=\E[V, krmir=\E0, nel=\r\E[S,
+	rc=\E8, ri=\E[T, rmacs=\E[10m, sc=\E7,
+	sgr=\E[10m\E[0%?%p1%p3%|%t;7%;%?%p2%t;4%;%?%p4%t;5%;%?%p5%t;
+	    2%;%?%p6%t;1%;%?%p9%t;12%e;10%;%?%p7%t;9%;m,
+	sgr0=\E[0;10m, smacs=\E[12m, vpa=\E[%i%p1%dd,
+	use=ansi+arrows, use=ansi+inittabs, use=ansi+local,
+	use=ansi+sgrbold, use=ecma+index, use=klone+color,
+
+# (pc6300plus: removed ":KM=/usr/lib/ua/kmap.s5:"; renamed BO/EE/CI/CV -- esr)
+pc6300plus|AT&T 6300 plus,
+	OTbs, am, xon,
+	cols#80, lines#24,
+	bel=^G, blink=\E[5m, bold=\E[1m, civis=\E[=C,
+	clear=\E[2J\E[H, cnorm=\E[=1C, cr=\r, cub1=^H,
+	cup=\E[%i%p1%2d;%p2%2dH, dch1=\E[1P, dim=\E[2m,
+	dl1=\E[1M, ed=\E[0J, el=\E[0K, home=\E[H, hts=\EH,
+	ich1=\E[1@, il1=\E[1L, ind=\n, invis=\E[9m, kbs=^H,
+	kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOc,
+	kf10=\EOu, kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg, kf6=\EOh,
+	kf7=\EOi, kf8=\EOj, kf9=\EOk, nel=\r\n, rev=\E[7m, rmso=\E[m,
+	rmul=\E[m, sgr0=\E[m, smso=\E[7m, smul=\E[4m, tbc=\E[3g,
+	use=ansi+local1,
+
+# From: Benjamin C. W. Sittler <bsittler@nmt.edu>
+#
+# I have a UNIX PC which I use as a terminal attached to my Linux PC.
+# Unfortunately, the UNIX PC terminfo entry that comes with ncurses
+# is broken. All the special key sequences are broken, making it unusable
+# with Emacs. The problem stems from the following:
+#
+# The UNIX PC has a plethora of keys (103 of them, and there's no numeric
+# keypad!), loadable fonts, and strange highlighting modes ("dithered"
+# half-intensity, "smeared" bold, and real strike-out, for example.) It also
+# uses resizable terminal windows, but the bundled terminal program always
+# uses an 80x24 window (and doesn't support seem to support a 132-column
+# mode.)
+#
+# HISTORY: The UNIX PC was one of the first machines with a GUI, and used a
+# library which was a superset of SVr3.5 curses (called tam, for "terminal
+# access method".) tam includes support for real, overlapping windows,
+# onscreen function key labels, and bitmap graphics. But since the primary
+# user interface on the UNIX PC was a GUI program (ua, for "user
+# assistant",) and remote administration was considered important for the
+# machine, tam also supported VT100-compatible terminals attached to the
+# serial port or used across the StarLan network. To simulate the extra keys
+# not present on a VT100, users could press ESC and a two-letter sequence,
+# such as u d (Undo) or U D (Shift-Undo.) These two-letter sequences,
+# however, were not the same as those sent by the actual Undo key. The
+# actual Undo key sends ESC 0 s unshifted, and ESC 0 S shifted, for example.
+# (If you're interested in adding some of the tam calls to ncurses, btw, I
+# have the full documentation and several programs which use tam. It also
+# used an extended terminfo format to describe key sequences, special
+# highlighting modes, etc.)
+#
+# KEYS: This means that ncurses would quite painful on the UNIX PC, since
+# there are two sequences for every key-modifier combination (local keyboard
+# sequence and remote "VT100" sequence.) But I doubt many people are trying
+# to use ncurses on the UNIX PC, since ncurses doesn't properly handle the
+# GUI. Unfortunately, the terminfo entry (and the termcap, too, I presume)
+# seem to have been built from the manual describing the VT100 sequences.
+# This means it doesn't work for a real live UNIX PC.
+#
+# FONTS: The UNIX PC also has a strange interpretation of "alternate
+# character set". Rather than the VT100 graphics you might expect, it allows
+# up to 8 custom fonts to be loaded at any given time. This means that
+# programs expecting VT100 graphics will usually be disappointed. For this
+# reason I have disabled the smacs/rmacs sequences, but they could easily be
+# re-enabled. Here are the relevant control sequences (from the ESCAPE(7)
+# manpage), should you wish to do so:
+#
+# SGR10 - Select font 0 - ESC [ 10 m or SO
+# SGR11 - Select font 1 - ESC [ 11 m or SI
+# SGR12 - Select font 2 - ESC [ 12 m
+# ... (etc.)
+# SGR17 - Select font 7 - ESC [ 17 m
+#
+# Graphics for line drawing are not reliably found at *any* character
+# location because the UNIX PC has dynamically reloadable fonts. I use font
+# 0 for regular text and font 1 for italics, but this is by no means
+# universal. So ASCII line drawing is in order if smacs/rmacs are enabled.
+#
+# MISC: The cursor visible/cursor invisible sequences were swapped in the
+# distributed terminfo.
+#
+# To ameliorate these problems (and fix a few highlighting bugs) I rewrote
+# the UNIX PC terminfo entry. The modified version works great with Lynx,
+# Emacs, and XEmacs running on my Linux PC and displaying on the UNIX PC
+# attached by serial cable. In Emacs, even the Undo key works, and many
+# applications can now use the F1-F8 keys.
+#
+# esr's notes:
+#	Terminfo entry for the AT&T Unix PC 7300
+#	from escape(7) in Unix PC 7300 Manual.
+#	Somewhat similar to a vt100-am (but different enough
+#	to redo this from scratch.)
+#
+#	/***************************************************************
+#	*
+#	*           FONT LOADING PROGRAM FOR THE UNIX PC
+#	*
+#	*     This routine loads a font defined in the file ALTFONT
+#	*     into font memory slot #1.  Once the font has been loaded,
+#	*     it can be used as an alternative character set.
+#	*
+#	*     The call to ioctl with the argument WIOCLFONT is the key
+#	*     to this routine.  For more information, see window(7) in
+#	*     the PC 7300 documentation.
+#	***************************************************************/
+#	#include <string.h>		/* needed for strcpy call */
+#	#include <sys/window.h>         /* needed for ioctl call */
+#	#define FNSIZE	60		/* font name size */
+#	#define ALTFONT  "/usr/lib/wfont/special.8.ft"  /* font file */
+#	/*
+#	*     The file /usr/lib/wfont/special.8.ft comes with the
+#	*     standard PC software.  It defines a graphics character set
+#	*     similar to that of the Teletype 5425 terminal.  To view
+#	*     this or other fonts in /usr/lib/wfont, use the command
+#	*     cfont <filename>.  For further information on fonts see
+#	*     cfont(1) in the PC 7300 documentation.
+#	*/
+#
+#	struct altfdata		/* structure for alt font data */
+#	{
+#	short	altf_slot;		/* memory slot number */
+#	char	altf_name[FNSIZE];	/* font name (file name) */
+#	};
+#	ldfont()
+#	{
+#		int wd;		/* window in which altfont will be */
+#		struct altfdata altf;
+#		altf.altf_slot=1;
+#		strcpy(altf.altf_name,ALTFONT);
+#		for (wd =1; wd < 12; wd++) {
+#		     ioctl(wd, WIOCLFONT,&altf);
+#	        }
+#	}
+#
+# (att7300: added <civis>/<cnorm>/<ich1>/<invis> from the BSDI entry,
+# they're confirmed by the man page for the System V display---esr)
+#
+att7300|unixpc|pc7300|3b1|s4|AT&T UNIX PC Model 7300,
+	am, xon,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[9m, bold=\E[1m, cbt=\E^I, civis=\E[=1C,
+	clear=\E[2J\E[H, cnorm=\E[=0C, cr=\r, cub1=^H,
+	cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dim=\E[2m, ed=\E[0J,
+	el=\E[0K, home=\E[H, ich1=\E[@, ind=\n, invis=\E[9m,
+	is1=\017\E[=1w, kBEG=\ENB, kCAN=\EOW, kCPY=\END, kCRT=\EON,
+	kDC=\ENF, kDL=\ENE, kEND=\ENN, kEOL=\EOA, kFND=\EOX,
+	kHLP=\EOM, kHOM=\ENM, kIC=\ENJ, kLFT=\ENK, kMOV=\ENC,
+	kNXT=\ENH, kOPT=\EOR, kPRV=\ENG, kRDO=\EOT, kRIT=\ENL,
+	kRPL=\EOY, kSAV=\EOO, kUND=\EOS, kbeg=\ENb, kcan=\EOw,
+	kcbt=\E[Z, kclo=\EOV, kclr=\E[J, kcmd=\EOu, kcpy=\ENd,
+	kcrt=\EOn, kdch1=\ENf, ked=\E[J, kel=\EOa, kend=\E0,
+	kext=\EOk, kf1=\EOc, kf2=\EOd, kf3=\EOe, kf4=\EOf, kf5=\EOg,
+	kf6=\EOh, kf7=\EOi, kf8=\EOj, kfnd=\EOx, khlp=\EOm,
+	kich1=\ENj, kind=\E[B, kmov=\ENc, kmrk=\ENi, knp=\E[U,
+	knxt=\ENh, kopn=\EOv, kopt=\EOr, kpp=\E[V, kprt=\EOz,
+	kprv=\ENg, krdo=\EOt, kref=\EOb, krfr=\ENa, kri=\E[A,
+	krpl=\EOy, krst=\EOB, ksav=\EOo, kslt=\ENI, kund=\EOs,
+	nel=\EE, rev=\E[7m, ri=\EM, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[0;10m, smso=\E[7m, smul=\E[4m, use=ansi+arrows,
+	use=ansi+idl, use=ansi+local,
+
+#### Convergent Technology
+#
+# Burroughs bought Convergent shortly before it merged with Univac.
+# CTOS is (I believe) dead.  Probably the aws is too (this entry dates
+# from 1991 or earlier).
+#
+
+# Convergent AWS workstation from Gould/SEL UTX/32 via BRL
+# (aws: removed unknown :dn=^K: -- esr)
+aws|Convergent Technologies AWS workstation under UTX and Xenix,
+	am,
+	OTug#0, cols#80, lines#28, xmc#0,
+	OTbc=^H, OTma=\016h\013j\001k\022l\002m, OTnl=\n, acsc=,
+	clear=^L, cud1=^K, cuf1=^R, cup=\EC%p2%c%p1%c, cuu1=^A,
+	dch1=\EDC, dl1=\EDL, ed=\EEF, el=\EEL, hpa=\EH%p1%c,
+	ich1=\EIC, il1=\EIL, ind=\ESU, kbs=^H, kcub1=^N, kcud1=^K,
+	kcuf1=^R, kcuu1=^A, ri=\ESD, rmacs=\EAAF, rmso=\EARF,
+	rmul=\EAUF, smacs=\EAAN, smso=\EARN, smul=\EAUN,
+	vpa=\EV%p1%c,
+awsc|Convergent Technologies AWS workstation under CTOS,
+	am,
+	OTug#0, cols#80, lines#24, xmc#0,
+	OTbc=^N, OTma=\016h\013j\001k\022l\002m, acsc=, clear=^L,
+	cud1=^K, cuf1=^R, cup=\EC%p2%c%p1%c, cuu1=^A, ed=\EEF,
+	el=\EEL, kbs=^H, kcub1=^N, kcud1=^K, kcuf1=^R, kcuu1=^A,
+	rmacs=\EAAF, rmso=\EAA, rmul=\EAA, smacs=\EAAN, smso=\EAE,
+	smul=\EAC,
+
+#### DEC consoles
+#
+
+# The MicroVax console.  Tim Theisen <tim@cs.wisc.edu> writes:
+# The digital uVax II's had a graphic display called a qdss.  It was
+# supposed to be a high performance graphic accelerator, but it was
+# late to market and barely appeared before faster dumb frame buffers
+# appeared.  I have only used this display while running X11.  However,
+# during bootup, it was in text mode, and probably had a terminal emulator
+# within it.  And that is what your termcap entry is for.  In graphics
+# mode the screen size is 1024x864 pixels.
+qdss|qdcons|qdss glass tty,
+	OTbs, am,
+	cols#128, lines#57,
+	clear=\032$<1/>, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\E=%p1%c%p2%c, cuu1=^K,
+
+#### Fortune Systems consoles
+#
+# Fortune made a line of 68K-based UNIX boxes that were pretty nifty
+# in their day; I (esr) used one myself for a year or so around 1984.
+# They had no graphics, though, and couldn't compete against Suns and
+# the like.  R.I.P.
+#
+
+# From: Robert Nathanson <c160-3bp@Coral> via tut   Wed Oct 5, 1983
+# (This had extension capabilities
+#	:rv=\EH:re=\EI:rg=0:GG=0:\
+#	:CO=\E\\:WL=^Aa\r:WR=^Ab\r:CL=^Ac\r:CR=^Ad\r:DL=^Ae\r:RF=^Af\r:\
+#	:RC=^Ag\r:CW=^Ah\r:NU=^Aj\r:EN=^Ak\r:HM=^Al:PL=^Am\r:\
+#	:PU=^An\r:PD=^Ao\r:PR=^Ap\r:HP=^A@\r:RT=^Aq\r:TB=\r:CN=\177:MP=\E+F:
+# It had both ":bs:" and ":bs=^H:"; I removed the latter.  Also, it had
+# ":sg=0:" and ":ug=0:"; evidently the composer was trying (unnecessarily)
+# to force both magic cookie glitches off.  Once upon a time, I
+# used a Fortune myself, so I know the capabilities of the form ^A[a-z]\r are
+# function keys; thus the "Al" value for HM was certainly an error.  I renamed
+# EN/PD/PU/CO/CF/RT according to the XENIX/TC mappings, but not HM/DL/RF/RC.
+# I think :rv: and :re: are start/end reverse video and :rg: is a nonexistent
+# "reverse-video-glitch" capability; I have put :rv: and :re: in with standard
+# names below.  I've removed obsolete ":nl=5^J:" as there is a :do: -- esr)
+fos|fortune|Fortune system,
+	OTbs, am, bw,
+	cols#80, lines#25,
+	acsc=j*k(l m"q&v%w#x-, bel=^G, blink=\EN, civis=\E],
+	clear=\014$<20>, cnorm=\E\\, cr=\r, cub1=^H, cud1=\n$<3>,
+	cup=\034C%p1%{32}%+%c%p2%{32}%+%c, cuu1=\013$<3>,
+	cvvis=\E:, dch1=\034W$<5>, dl1=\034R$<15>, ed=\034Y$<3*>,
+	el=^\Z, home=\036$<10>, ht=^Z, ich1=\034Q$<5>,
+	il1=\034E$<15>, ind=\n, is2=^_.., kbs=^H, kcub1=^Aw\r,
+	kcud1=^Ay\r, kcuf1=^Az\r, kcuu1=^Ax\r, kend=^Ak\r,
+	kent=^Aq, kf1=^Aa\r, kf2=^Ab\r, kf3=^Ac\r, kf4=^Ad\r,
+	kf5=^Ae\r, kf6=^Af\r, kf7=^Ag\r, kf8=^Ah\r, khome=^A?\r,
+	knp=^Ao\r, kpp=^An\r, nel=\r\n, rev=\EH, rmacs=^O, rmso=^\I`,
+	rmul=^\IP, sgr0=\EI, smacs=\Eo, smso=^\H`, smul=^\HP,
+
+#### Masscomp consoles
+#
+# Masscomp has gone out of business.  Their product line was purchased by a
+# company in Georgia (US) called "XS International", parts and service may
+# still be available through them.
+#
+
+# (masscomp: ":MT:" changed to ":km:";  -- esr)
+masscomp|masscomp workstation console,
+	OTbs, km, mir,
+	cols#80, it#8, lines#24,
+	clear=\E[2J, cub1=^H, cup=\E[%i%p1%d;%p2%dH, dch1=\E[P,
+	dl1=\E[M, ed=\E[J, el=\E[K, ht=^I, il1=\E[L,
+	is2=\EGc\EGb\EGw, kbs=^H, kcub1=\EOD, kcud1=\EOB,
+	kcuf1=\EOC, kcuu1=\EOA, rmir=\E[4l, rmso=\E[m, rmul=\EGau,
+	smir=\E[4h, smso=\E[7m, smul=\EGu, use=ansi+local1,
+masscomp1|masscomp large screen version 1,
+	cols#104, lines#36, use=masscomp,
+masscomp2|masscomp large screen version 2,
+	cols#64, lines#21, use=masscomp,
+
+#### OSF Unix
+#
+
+# OSF/1 1.1 Snapshot 2
+pmcons|pmconsole|PMAX console,
+	am,
+	cols#128, lines#57,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuu1=^K, ht=^I,
+	ind=\n, kcub1=\E[D, kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS,
+
+#### Other consoles
+# The following is a version of the ibm-pc entry distributed with PC/IX,
+# (Interactive Systems' System 3 for the Big Blue), modified by Richard
+# McIntosh at UCB/CSM.  The :pt: and :uc: have been removed from the original,
+# (the former is untrue, and the latter failed under UCB/man); standout and
+# underline modes have been added.  Note: this entry describes the "native"
+# capabilities of the PC monochrome display, without ANY emulation; most
+# communications packages (but NOT PC/IX connect) do some kind of emulation.
+pcix|PC/IX console,
+	am, bw, eo,
+	cols#80, lines#24,
+	clear=\Ec, cub1=^H, cup=\E[%i%p1%2d;%p2%2dH, ed=\E[J,
+	el=\E[K, home=\E[H, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smso=\E[7m, smul=\E[4m, use=ansi+local1,
+
+# (ibmpcx: this entry used to be known as ibmx.
+# It formerly included the following extension capabilities:
+#	:GC=b:GL=v:GR=t:RT=^J:\
+#	:GH=\E[196g:GV=\E[179g:\
+#	:GU=\E[193g:GD=\E[194g:\
+#	:G1=\E[191g:G2=\E[218g:G3=\E[192g:G4=\E[217g:\
+#	:CW=\E[E:NU=\E[F:RF=\E[G:RC=\E[H:\
+#	:WL=\E[K:WR=\E[L:CL=\E[M:CR=\E[N:\
+# I renamed GS/GE/WL/WR/CL/CR/PU/PD/HM/EN; also, removed a duplicate
+# ":kh=\E[Y:".  Added IBM-PC forms characters and highlights, they match
+# what was there before. -- esr)
+ibmpcx|xenix|ibmx|IBM PC xenix console display,
+	OTbs, am, msgr,
+	cols#80, lines#25,
+	clear=^L, cub1=^H, cup=\E[%p1%d;%p2%dH, dch1=\E[P,
+	dl1=\E[M, ed=\E[J, el=\E[K, home=\E[H, ich1=\E[@, il1=\E[L,
+	kend=\E[d, kf1=\E[K, kf2=\E[L, kf3=\E[M, kf4=\E[N,
+	khome=\E[Y, knp=\E[e, kpp=\E[Z, use=ansi+arrows,
+	use=ansi+local1, use=klone+acs, use=klone+sgr8,
+
+######## OTHER OBSOLETE TYPES
+#
+# These terminals are *long* dead -- these entries are retained for
+# historical interest only.
+#
+
+#### Obsolete non-ANSI software emulations
+#
+
+# CTRM terminal emulator
+# 1. underlining is not allowed with colors: first, is is simulated by
+# black on white, second, it disables background color manipulations.
+# 2. BLINKING, REVERSE and BOLD are allowed with colors,
+# so we have to save their status in the static registers A, B and H
+# respectively, to be able to restore them when color changes
+# (because any color change turns off ALL attributes)
+# 3. <bold> and <rev> sequences alternate modes,
+# rather than simply  entering them.  Thus we have to check the
+# static register B and H to determine the status, before sending the
+# escape sequence.
+# 4. <sgr0> now must set the status of all 3 register (A,B,H) to zero
+# and then reset colors
+# 5. implementation of the protect mode would badly penalize the performance.
+# we would have to use \E&bn sequence to turn off colors (as well as all
+# other attributes), and keep the status of protect mode in yet another
+# static variable.  If someone really needs this mode, they would have to
+# create another terminfo entry.
+# 6. original color-pair is white on black.
+# store the information about colors into static registers
+# 7. set foreground color.  it performs the following steps.
+#   1) turn off all attributes
+#   2) turn on the background and video attributes that have been turned
+#      on before (this information is stored in static registers X,Y,Z,A,B,H,D).
+#   3) turn on foreground attributes
+#   4) store information about foreground into U,V,W static registers
+# 8. turn on background: similar to turn on foreground above
+ctrm|C terminal emulator,
+	am, bce, xon,
+	colors#8, cols#80, lh#0, lines#24, lm#0, lw#0, ncv#2, nlab#0,
+	pairs#63, pb#19200, vt#6,
+	bel=^G, blink=\E&dA%{1}%PA,
+	bold=%?%gH%{0}%=%t\E&dH%{1}%PH%;, cbt=\Ei,
+	clear=\EH\EJ, cr=\r, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\E&a%p2%dc%p1%dY, cuu1=\EA, dch1=\EP$<2>, dl1=\EM,
+	ed=\EJ, el=\EK, hpa=\E&a%p1%dC, ht=\011$<2>, hts=\E1,
+	il1=\EL, ind=\n, ip=$<2>, is2=\E&jA\r, kbs=^H, kcub1=\Eu\r,
+	kcud1=\Ew\r, kcuf1=\Ev\r, kcuu1=\Et\r, khome=\Ep\r,
+	op=\E&bn\E&bB\E&bG\E&bR%{0}%PX%{0}%PY%{0}%PZ%{1}%PW%{1}%PV
+	   %{1}%PU,
+	rev=%?%gB%{0}%=%t\E&dB%{1}%PB%;, rmir=\ER, rmkx=\E&jA,
+	setb=\E&bn%?%gA%t\E&dA%;%?%gB%t\E&dB%;%?%gH%t\E&dH%;%?%gU%t
+	     \E&bR%;%?%gV%t\E&bG%;%?%gW%t\E&bB%;%?%p1%{1}%&%t\E&bb
+	     %{1}%e%{0}%;%PZ%?%p1%{2}%&%t\E&bg%{1}%e%{0}%;%PY%?%p1
+	     %{4}%&%t\E&br%{1}%e%{0}%;%PX,
+	setf=\E&bn%?%gA%t\E&dA%;%?%gB%t\E&dB%;%?%gH%t\E&dH%;%?%gX%t
+	     \E&br%;%?%gY%t\E&bg%;%?%gZ%t\E&bb%;%?%p1%{1}%&%t\E&bB
+	     %{1}%e%{0}%;%PW%?%p1%{2}%&%t\E&bG%{1}%e%{0}%;%PV%?%p1
+	     %{4}%&%t\E&bR%{1}%e%{0}%;%PU,
+	sgr=\E&d@%{0}%PA%{0}%PB%{0}%PD%{0}%PH%?%p1%p3%p5%|%|%t\E&dB
+	    %{1}%PB%;%?%p4%t\E&dA%{1}%PA%;%?%p6%t\E&dH%{1}%PH%;%?%p2
+	    %t\E&dD%;,
+	sgr0=\E&d@%{0}%PA%{0}%PB%{0}%PH, smir=\EQ, smkx=\E&jB,
+	smso=\E&dD, smul=\E&dD, tbc=\E3, vpa=\E&a%p1%dY,
+	use=hp+pfk+cr,
+
+# gs6300 - can't use blue foreground, it clashes with underline;
+# it's simulated with cyan
+# Bug: The <op> capability probably resets attributes.
+# (gs6300: commented out <rmln> (no <smln>) --esr)
+gs6300|emots|AT&T PC6300 with EMOTS terminal emulator,
+	am, bce, msgr, xon,
+	colors#8, cols#80, it#8, lines#24, pairs#63,
+	acsc=++\,\,--..``aaffgghhiijjkkllmmnnooppqqrrssttuuvvwwxxyyz
+	     z{{||}}~~,
+	bel=^G, blink=\E[5m, bold=\E[1m, cr=\r, cub1=^H, cud1=\n,
+	cup=\E[%i%p1%d;%p2%dH, dch=\E[%p1%dP, dch1=\E[P,
+	home=\E[H, ht=^I, ich=\E[%p1%d@, ich1=\E[@, ind=\n, is2=\E[m,
+	kcbt=^R^I, kf1=\E[0s, kf2=\E[24s, kf3=\E[1s, kf4=\E[23s,
+	kf5=\E[2s, kf6=\E[22s, kf7=\E[3s, kf8=\E[21s, mc4=\E[4i,
+	mc5=\E[5i, op=\E[?;m, rev=\E[7m, ri=\E[L, rmacs=\E[10m,
+	rs1=\Ec, setb=\E[?;%p1%dm,
+	setf=\E[?%?%p1%{0}%=%t0%e%p1%{1}%=%t2%e%p1%{1}%-%d%;m,
+	sgr0=\E[m\E[10m, smacs=\E[11m, smso=\E[1m, smul=\E[4m,
+	use=ansi+arrows, use=ansi+erase, use=ansi+idl,
+	use=ansi+local,
+
+# From: <earle@smeagol.UUCP> 29 Oct 85 05:40:18 GMT
+# MS-Kermit with Heath-19 emulation mode enabled
+# (h19k: changed ":pt@:" to ":it@"
+h19k|h19kermit|Heathkit emulation provided by Kermit (no auto margin),
+	am@, da, db, xt,
+	it@,
+	ht@, use=h19-u,
+
+# Apple Macintosh with VersaTerm, a terminal emulator distributed by Synergy
+# Software (formerly Peripherals Computers & Supplies, Inc) of
+# 2457 Perkiomen Ave., Reading, PA 19606, 1-800-876-8376.  They can
+# also be reached at support@synergy.com.
+versaterm|VersaTerm VT100 emulator for the Macintosh,
+	am, xenl,
+	cols#80, it#8, lines#24,
+	bel=^G, blink=\E[5m$<2/>, bold=\E[1m$<2/>,
+	clear=\E[;H\E[2J$<50/>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\E[C$<2/>, cup=\E[%i%p1%d;%p2%dH$<5/>,
+	cuu1=\E[A$<2/>, dch1=\E[1P$<7/>, dl1=\E[1M$<9/>,
+	ed=\E[J$<50/>, el=\E[K$<3/>, home=\E[H, ht=^I,
+	ich1=\E[1@$<7/>, il1=\E[1L$<9/>, is2=\E[1;24r\E[24;1H,
+	kbs=^H, kcub1=\EOD, kcud1=\EOB, kcuf1=\EOC, kcuu1=\EOA,
+	kf1=\EOP, kf2=\EOQ, kf3=\EOR, kf4=\EOS, nel=\r\n,
+	rev=\E[7m$<2/>, rf=/usr/share/tabset/vt100,
+	ri=\EM$<5/>, rmkx=\E>\E[?1l, rmso=\E[m$<2/>,
+	rmul=\E[m$<2/>, rs1=\E>, sgr0=\E[m$<2/>, smkx=\E=\E[?1h,
+	smso=\E[7m$<2/>, smul=\E[4m$<2/>, use=ansi+csr,
+
+# From: Rick Thomas <ihnp4!btlunix!rbt>
+# (xtalk: I added <rmam>/<smam> based on the init string.
+xtalk|IBM PC with xtalk communication program (versions up to 3.4),
+	am, mir, msgr, xon,
+	cols#80, it#8, lines#24, vt#3, xmc#1,
+	acsc=``aaffggjjkkllmmnnooppqqrrssttuuvvwwxxyyzz{{||}}~~,
+	bel=^G, clear=\E[H\E[J$<50>, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\E[C$<2>, cup=\E[%i%p1%d;%p2%dH$<5>,
+	cuu1=\E[A$<2>, dl1=\E[M$<99>, ed=\E[J$<50>, el=\E[K$<3>,
+	el1=\E[1K$<3>, enacs=\E(B\E)0, home=\E[H, ht=^I, hts=\EH,
+	il1=\E[L$<99>, ind=\n, kbs=^H, kcub1=\EOD, kcud1=\EOB,
+	kcuf1=\EOC, kcuu1=\EOA, ri=\EM$<5>, rmacs=^O, rmam=\E[?7l,
+	rmkx=\E[?1l\E>, rmso=\E[m\s,
+	rs2=\E>\E[?3l\E[?4l\E[?5l\E[?7h\E[?8h, sgr0=\E[m,
+	smacs=^N, smam=\E[?7h, smkx=\E[?1h\E=, smso=\E[7m\s,
+	tbc=\E[3g, use=ansi+local, use=vt100+fnkeys,
+
+# The official PC terminal emulator program of the AT&T Product Centers.
+# Note - insert mode commented out - doesn't seem to work on AT&T PC.
+simterm|attpc running simterm,
+	am,
+	cols#80, lines#24,
+	bel=^G, clear=\EH\EJ, cr=\r, cub1=^H, cud1=\EB, cuf1=\EC,
+	cup=\E=%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EA, dch1=\ER,
+	dl1=\EM, ed=\EJ, el=\EK, home=\EH, il1=\EL, ind=\n, rmcup=\EVE,
+	rmso=\E&d@, sgr0=\E&d@, smcup=\EVS, smso=\E&dB,
+
+#### Daisy wheel printers
+#
+# This section collects Diablo, DTC, Xerox, Qume, and other daisy
+# wheel terminals.  These are now largely obsolete.
+#
+
+# (diablo1620: removed <if=/usr/share/tabset/xerox1720>, no such file -- esr)
+diablo1620|diablo1720|diablo450|ipsi|Diablo 1620,
+	hc, os,
+	cols#132, it#8,
+	cub1=^H, cud1=\n, cuu1=\E\n, hd=\ED, hpa=\E\011%i%p1%c,
+	ht=^I, hts=\E1, hu=\EU, kbs=^H, tbc=\E2,
+diablo1620-m8|diablo1640-m8|Diablo 1620 w/8 column left margin,
+	cols#124,
+	is2=\r        \E9, use=diablo1620,
+# (diablo1640: removed <if=/usr/share/tabset/xerox1730>, no such file -- esr)
+diablo1640|diablo1730|diablo1740|diablo630|x1700|diablo|xerox|Diablo 1640,
+	bel=^G, rmso=\E&, rmul=\ER, smso=\EW, smul=\EE,
+	use=diablo1620,
+# (diablo1640-lm: removed <if=/usr/share/tabset/xerox1730-lm>, no such
+# file -- esr)
+diablo1640-lm|diablo-lm|xerox-lm|Diablo 1640 with indented left margin,
+	cols#124,
+	rmso=\E&, rmul=\ER, smso=\EW, smul=\EE, use=diablo1620,
+diablo1740-lm|630-lm|1730-lm|x1700-lm|Diablo 1740 printer,
+	use=diablo1640-lm,
+# DTC 382 with VDU.  Has no <ed> so we fake it with <el>.  Standout
+# <smso=^P\s\002^PF> works but won't go away without dynamite <rmso=^P\s\0>.
+# The terminal has tabs, but I'm getting tired of fighting the braindamage.
+# If no tab is set or the terminal's in a bad mood, it glitches the screen
+# around all of memory.  Note that return puts a blank ("a return character")
+# in the space the cursor was at, so we use ^P return (and thus ^P newline for
+# newline).  Note also that if you turn off :pt: and let Unix expand tabs,
+# curses won't work (some old BSD versions) because it doesn't clear this bit,
+# and cursor addressing sends a tab for row/column 9.  What a losing terminal!
+# I have been unable to get tabs set in all 96 lines - it always leaves at
+# least one line with no tabs in it, and once you tab through that line,
+# it completely weirds out.
+# (dtc382: change <rmcup> to <smcup> -- it  just does a clear --esr)
+dtc382|DTC 382,
+	am, da, db, xhp,
+	cols#80, lines#24, lm#96,
+	bel=^G, clear=\020\035$<20>, cnorm=^Pb, cr=^P\r, cub1=^H,
+	cuf1=^PR, cup=\020\021%p2%c%p1%c, cuu1=^P^L, cvvis=^PB,
+	dch1=^X, dl1=^P^S, ed=^P^U^P^S^P^S, el=^P^U, home=^P^R,
+	il1=^P^Z, ind=\n, pad=^?, rmcup=, rmir=^Pi, rmul=^P \0,
+	smcup=\020\035$<20>, smir=^PI, smul=^P ^P,
+dtc300s|DTC 300s,
+	hc, os,
+	cols#132,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cuu1=^Z, ff=^L, hd=\Eh, ht=^I,
+	hts=\E1, hu=\EH, ind=\n, kbs=^H, tbc=\E3,
+gsi|mystery gsi terminal,
+	hc, os,
+	cols#132,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cuu1=^Z, hd=\Eh, ht=^I, hu=\EH,
+	ind=\n,
+aj830|aj832|aj|Anderson Jacobson,
+	hc, os,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cuu1=\E7, hd=\E9, hu=\E8,
+	ind=\n,
+# From: Chris Torek <chris@gyre.umd.edu> Thu, 7 Nov 85 18:21:58 EST
+aj510|Anderson-Jacobson model 510,
+	am, mir,
+	cols#80, lines#24,
+	clear=^L, cub1=^H, cuf1=\EX,
+	cup=\E#%p1%{32}%+%c%p2%{32}%+%c, cuu1=\EY,
+	dch1=\E'D$<.1*>, dl1=\E&D$<2*/>, ed=\E'P, el=\E'L, ich1=,
+	il1=\E&I$<2*/>, ip=$<.1*/>, kcub1=\EW, kcud1=\EZ,
+	kcuf1=\EX, kcuu1=\EY, pad=^?, rmcup=\E"N, rmir=\E'J,
+	rmso=\E"I, rmul=\E"U, smcup=\E"N, smir=\E'I, smso=\E"I,
+	smul=\E"U,
+# From: <cbosg!ucbvax!pur-ee!cincy!chris> Thu Aug 20 09:09:18 1981
+# This is incomplete, but it's a start.
+nec5520|nec|spinwriter|NEC 5520,
+	hc, os,
+	cols#132, it#8,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cuu1=\E9, ff=^L,
+	hd=\E]s\n\E]W, ht=^I, hts=\E1, hu=\E]s\E9\E]W, ind=\n,
+	kbs=^H, tbc=\E3,
+qume5|qume|Qume Sprint 5,
+	hc, os,
+	cols#80, it#8,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cuu1=^Z, ff=^L, hd=\Eh, ht=^I,
+	hts=\E1, hu=\EH, ind=\n, kbs=^H, tbc=\E3,
+# I suspect the Xerox 1720 is the same as the Diablo 1620.
+xerox1720|x1720|x1750|Xerox 1720,
+	hc, os,
+	cols#132, it#8,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, ff=^L, ht=^I, hts=\E1, ind=\n,
+	tbc=\E2,
+
+#### Miscellaneous obsolete terminals, manufacturers unknown
+#
+# If you have any information about these (like, a manufacturer's name,
+# and a date on the serial-number plate) please send it!
+
+cad68-3|cgc3|cad68 basic monitor transparent mode size 3 chars,
+	OTbs, am,
+	cols#73, lines#36,
+	clear=^Z, cub1=^H, cuf1=^L, cuu1=^K, home=^^,
+cad68-2|cgc2|cad68 basic monitor transparent mode size 2 chars,
+	OTbs, am,
+	cols#85, lines#39,
+	clear=^Z, cub1=^H, cuf1=^L, cuu1=^K, home=^^, kcub1=\E3,
+	kcud1=\E2, kcuf1=\E4, kcuu1=\E1, kf1=\E5, kf2=\E6, kf3=\E7,
+	kf4=\E8, rmso=\Em^C, smso=\Em^L,
+cops10|cops|cops-10|cops 10,
+	am, bw,
+	cols#80, lines#24,
+	bel=^G, clear=\030$<30/>, cr=\r, cub1=^H, cud1=\n, cuf1=^L,
+	cup=\020%p1%{32}%+%c%p2%{32}%+%c, cuu1=^K, ed=^W, el=^V,
+	ind=\n, kbs=^H, kcub1=^H, kcud1=\n, kcuf1=^L, kcuu1=^K,
+	khome=^Y,
+
+# http://www.bitsavers.org/pdf/datapro/alphanumeric_terminals/Datapro_C25_Datagraphix.pdf
+#
+# DatagraphiX, Inc.
+# (a subsidiary of General Dynamics),
+# P.O. Box 82449, San Diego, California 92138.
+#
+# (d132: removed duplicate :ic=\E5:,
+# merged in capabilities from a BRL entry -- esr)
+d132|datagraphix|DatagraphiX 132a,
+	da, db, in,
+	cols#80, lines#30,
+	bel=^G, clear=^L, cnorm=\Em\En, cr=\r, cub1=^H, cud1=\n,
+	cuf1=\EL, cup=\E8%i%p1%3d%p2%3d, cuu1=\EK, cvvis=\Ex,
+	dch1=\E6, home=\ET, ht=^I, ich1=\E5, il1=\E3, ind=\n, kbs=^H,
+	kcub1=^H, kcud1=\n, nel=\r\n, ri=\Ew,
+# The d800 was an early portable terminal from c.1984-85 that looked a lot
+# like the original Compaq `lunchbox' portable (but no handle).  It had a VT220
+# mode (which is what this entry looks like) and several other lesser-known
+# emulations.
+d800|Direct 800/A,
+	OTbs, am, da, db, msgr, xhp,
+	cols#80, it#8, lines#24,
+	acsc=``a1fxgqh0jYk?lZm@nEooppqDrrsstCu4vAwBx3yyzz{{||}}~~,
+	bel=^G, clear=\E[1;1H\E[2J, cnorm=\E[>12h, cr=\r, cub1=^H,
+	cud1=\n, cuf1=\E[C, cup=\E[%i%p1%d;%p2%dH, cuu1=\E[A,
+	cvvis=\E[>12l, ed=\E[J, el=\E[K, ht=^I, ind=\ED, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf1=\EOP, kf2=\EOQ,
+	kf3=\EOR, kf4=\EOS, kf5=\EOT, kf6=\EOU, kf7=\EOV, kf8=\EOW,
+	ri=\EM, rmacs=\E[m, rmso=\E[m, rmul=\E[m, sgr0=\E[m,
+	smacs=\E[1m, smso=\E[7m, smul=\E[4m,
+digilog|digilog 333,
+	OTbs,
+	cols#80, lines#16,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, cuf1=^I, cuu1=^O, el=^X,
+	home=^N, ind=\n,
+# The DWK was a terminal manufactured in the Soviet Union c.1986
+dwk|dwk-vt|dwk terminal,
+	am,
+	acsc=+\^\,Q-S.M0\177`+a:f'g#h#i#jXkClJmFnNo~qUs_tEuPv\\wKxW~
+	     _,
+	clear=\EH\EJ, cub1=^H, cud1=\n, dch1=\EP, ich1=\EQ, kbs=^?,
+	kdch1=\Ee, kf1=\Ef1, kf10=\Ef0, kf2=\Ef2, kf3=\Ef3, kf4=\Ef4,
+	kf5=\Ef5, kf6=\Ef6, kf7=\Ef7, kf8=\Ef8, kf9=\Ef9, kich1=\Ed,
+	knp=\Eh, kpp=\Eg, rev=\ET, ri=\ES, rmacs=\EG, rmso=\EX,
+	sgr0=\EX, smacs=\EF, smso=\ET, use=vt52-basic,
+env230|envision230|envision 230 graphics terminal,
+	xenl@,
+	enacs@, mc0=\E[0i, mc4=\E[4i, mc5=\E[5i, rmacs@,
+	sgr=\E[0%?%p1%t;7%;%?%p2%t;4%;%?%p3%t;7%;%?%p4%t;5%;%?%p6%t;
+	    1%;m$<2>,
+	sgr0=\E[0m$<2>, smacs@, smso=\E[7m, use=vt100+4bsd,
+# These execuports were impact-printer ttys with a 30- or maybe 15-cps acoustic
+# coupler attached, the whole rig fitting in a suitcase and more or less
+# portable.  Hot stuff for c.1977 :-) -- esr
+ep48|ep4080|execuport 4080,
+	OTbs, am, os,
+	cols#80,
+	bel=^G, cr=\r, cub1=^H, cud1=\n, hd=^\, hu=^^, ind=\n,
+ep40|ep4000|execuport 4000,
+	cols#136, use=ep4080,
+# Adam Thompson <athompso@pangea.ca> tells us:
+# Informer series - these are all portable units, resembling older
+# automatic bread-baking machines.  The terminal looks like a `clamshell'
+# design, but isn't.  The structure is similar to the Direct terminals,
+# but only half the width.  The entire unit is only about 10" wide.
+# It features an 8" screen (6" or 7" if you have color!), and an 9"x6"
+# keyboard.  All the keys are crammed together, much like some laptop
+# PCs today, but perhaps less well organized...all these units have a
+# bewildering array of plugs on the back, including a built-in modem.
+# The 305 was a color version of the 304; the 306 and 307 were mono and
+# color terminals built for IBM bisync protocols.
+# From: Paul Leondis <unllab@amber.berkeley.edu>
+ifmr|Informer D304,
+	OTbs, am,
+	cols#80, lines#24,
+	clear=\EZ, cub1=^H, cud1=\n, cuf1=\EC,
+	cup=\EY%p2%{32}%+%c%p1%{32}%+%c, cuu1=\EA, dch1=\E\\,
+	ed=\E/, el=\EQ, home=\EH, ich1=\E[, ri=\En, rmso=\EK, sgr0=\EK,
+	smso=\EJ,
+# Entry largely based on wy60 and has the features of wy60ak.
+opus3n1+|Esprit Opus3n1+ in wy60 mode with ANSI arrow keys,
+	am, bw, hs, km, mir, msgr, ul, xon,
+	cols#80, lh#1, lines#24, lw#8, nlab#8, wsl#80,
+	acsc=0wa_h[jukslrmqnxqzttuyv]wpxv, bel=^G, blink=\EG2,
+	cbt=\EI, civis=\E`0, clear=\E*$<100>, cnorm=\E`1, cr=\r,
+	cub1=^H, cud1=\n, cuf1=^L, cup=\Ea%i%p1%dR%p2%dC, cuu1=^K,
+	dch1=\EW$<11>, dim=\EGp, dl1=\ER$<5>, dsl=\Ez(\r,
+	ed=\EY$<100>, el=\ET, fsl=\r, home=\036$<2>, ht=\011$<5>,
+	hts=\E1, if=/usr/share/tabset/std, il1=\EE$<4>, ind=\n,
+	ip=$<3>,
+	is2=\E`:\Ee(\EO\Ee6\Ec41\E~4\Ec21\Ed/\Ezz&\E[A\177\Ezz'\E[B
+	    \177\Ezz(\E[D\177\Ezz)\E[C\177\Ezz<\E[Q\177\Ezz`\E[F
+	    \177\EA1*\EZH12,
+	kHOM=\E{, kcbt=\EI, kdch1=\EW, kdl1=\ER, ked=\EY, kel=\ET,
+	kend=\E[F, kent=\E7, kf1=^A@\r, kf10=^AI\r, kf11=^AJ\r,
+	kf12=^AK\r, kf13=^AL\r, kf14=^AM\r, kf15=^AN\r, kf16=^AO\r,
+	kf2=^AA\r, kf3=^AB\r, kf4=^AC\r, kf5=^AD\r, kf6=^AE\r,
+	kf7=^AF\r, kf8=^AG\r, kf9=^AH\r, khome=^^, kich1=\EQ,
+	kil1=\EE, knp=\EK, kpp=\EJ, kprt=\EP, krpl=\Er, mc0=\EP,
+	mc4=^T, mc5=^R, nel=\r\n$<3>,
+	pfloc=\EZ2%p1%{63}%+%c%p2%s\177,
+	pfx=\EZ1%p1%{63}%+%c%p2%s\177,
+	pln=\Ez%p1%{47}%+%c%p2%s\r, prot=\E), ri=\Ej$<7>,
+	rmacs=\EH^C, rmam=\Ed., rmcup=, rmir=\Er, rmln=\EA11,
+	rmxon=\Ec20, rs1=\E~!\E~4$<150>, rs2=\EeF$<150>,
+	rs3=\EwG\Ee($<150>,
+	sgr=%?%p8%t\E)%e\E(%;%?%p9%t\EH\002%e\EH\003%;\EG%{48}%?%p2
+	    %t%{8}%|%;%?%p1%p3%|%t%{4}%|%;%?%p4%t%{2}%|%;%?%p1%p5%|
+	    %t%{64}%|%;%?%p7%t%{1}%|%;%c,
+	sgr0=\E(\EH\003\EG0\EcD, smacs=\EH^B, smam=\Ed/,
+	smcup=\Ezz&\E[A\177\Ezz'\E[B\177\Ezz(\E[D\177\Ezz)\E[C\177
+	      \Ezz<\E[Q\177,
+	smir=\Eq, smln=\EA10, smxon=\Ec21, tbc=\E0, tsl=\Ez(,
+	uc=\EG8\EG0, use=ansi+arrows, use=adm+sgr,
+
+teletec|Teletec Datascreen,
+	OTbs, am,
+	cols#80, lines#24,
+	bel=^G, clear=^L, cr=\r, cub1=^H, cud1=\n, cuf1=^_, cuu1=^K,
+	home=^^, ind=\n,
+# From: Mark Dornfeld <romwa@ucbvax.berkeley.edu>
+# This description is for the LANPAR Technologies VISION 3220
+# terminal from 1984/85.  The function key definitions k0-k5 represent the
+# edit keypad: FIND, INSERT HERE, REMOVE, SELECT, PREV SCREEN,
+# NEXT SCREEN. The key definitions k6-k9 represent the PF1 to PF4 keys.
+#
+# Kenneth Randell <kenr@datametrics.com> writes on 31 Dec 1998:
+# I had a couple of scopes (3221) like this once where I used to work, around
+# the 1987 time frame if memory serves me correctly.  These scopes were made
+# by an outfit called LANPAR Technologies, and were meant to me DEC VT 220
+# compatible.  The 3220 was a plain text terminal like the VT-220, the 3221
+# was a like the VT-240 (monochrome with Regis + Sixel graphics), and the 3222
+# was like the VT-241 (color with Regis + Sixel Graphics).  These terminals
+# (3221) cost about $1500 each, and one was always broken -- had to be sent
+# back to the shop for repairs.
+# The only real advantage these scopes had over the VT-240's were:
+# 1) They were faster in the Regis display, or at least the ones I did
+# 2) They had a handy debugging feature where you could split-screen the
+# scope, the graphics would appear on the top, and the REGIS commands would
+# appear on the bottom.  I don't remember the VT-240s being able to do that.
+# I would swear that LANPAR Technologies was in MA someplace, but since I
+# don't work at the same place anymore, and those terminals and manuals were
+# long since junked, I cannot be any more sure than that.
+#
+# (v3220: removed obsolete ":kn#10:",
+# I added <rmam>/<smam> based on the init string -- esr)
+v3220|LANPAR Vision II model 3220/3221/3222,
+	OTbs, am, mir, xenl,
+	cols#80, it#8, lines#24,
+	cub1=^H, cup=\E[%i%p1%d;%p2%dH, dch1=\E[P, dl1=\E[M, ht=^I,
+	il1=\E[L, is2=\E>\E[?3l\E[?7h\E[?8h\E[p, kcub1=\E[D,
+	kcud1=\E[B, kcuf1=\E[C, kcuu1=\E[A, kf0=\E[1~, kf1=\E[2~,
+	kf2=\E[3~, kf3=\E[4~, kf4=\E[5~, kf5=\E[6~, kf6=\E[OP,
+	kf7=\E[OQ, kf8=\E[OR, kf9=\E[OS, khome=\E[H, ri=\EM,
+	rmam=\E[?7l, rmir=\E[4l, rmkx=\E>, rmso=\E[m, rmul=\E[m,
+	sgr0=\E[m, smam=\E[?7h, smir=\E[4h, smkx=\E=, smso=\E[7m,
+	smul=\E[4m, use=ansi+erase, use=ansi+local1,
+######## ICH/ICH1 VERSUS RMIR/SMIR
+#
+# Some non-curses applications get confused if both ich/ich1 and rmir/smir
+# are present; the symptom is doubled characters in an update using insert.
+# These applications are technically correct; in both 4.3BSD termcap and
+# terminfo, you're not actually supposed to specify both ich/ich1 and rmir/smir
+# unless the terminal needs both.  To my knowledge, no terminal still in this
+# file requires both other than the very obsolete dm2500.
+#
+# For ncurses-based applications this is not a problem, as ncurses uses
+# one or the other as appropriate but never mixes the two.  Therefore we
+# have not corrected entries like `linux' and `xterm' that specify both.
+# If you see doubled characters from these, use the linux-nic and xterm-nic
+# entries that suppress ich/ich1.  And upgrade to ncurses!
+#
+
+######## VT100/ANSI/ISO 6429/ECMA-48/PC-TERM TERMINAL STANDARDS
+#
+# ANSI X3.64 has been withdrawn and replaced by ECMA-48.  The ISO 6429 and
+# ECMA-48 standards are said to be almost identical, but are not the same
+# as X3.64 (though for practical purposes they are close supersets of it).
+#
+# You can obtain ECMA-48 for free by sending email to helpdesk@ecma.ch
+# requesting the standard(s) you want (i.e. ECMA-48, "Control Functions for
+# Coded Character Sets"), include your snail-mail address, and you should
+# receive the document in due course.  Don't expect an email acknowledgment.
+#
+# Related standards include "X3.4-1977: American National Standard Code for
+# Information Interchange" (the ASCII standard) and "X3.41.1974:
+# Code-Extension Techniques for Use with the 7-Bit Coded Character Set of
+# American National Standard for Information Interchange."  I believe (but
+# am not certain) that these are effectively identical to ECMA-6 and ECMA-35
+# respectively.
+#
+
+#### VT100/ANSI/ECMA-48
+#
+# ANSI Standard (X3.64) Control Sequences for Video Terminals and Peripherals
+# and ECMA-48 Control Functions for Coded Character Sets.
+#
+# Much of the content of this comment is adapted from a table prepared by
+# Richard Shuford, based on a 1984 Byte article.  Terminfo correspondences,
+# discussion of some terminfo-related issues, and updates to capture ECMA-48
+# have been added.  Control functions described in ECMA-48 only are tagged
+# with * after their names.
+#
+# The table is a complete list of the defined ANSI X3.64/ECMA-48 control
+# sequences.  In the main table, \E stands for an escape (\033) character,
+# SPC for space.  Pn stands for a single numeric parameter to be inserted
+# in decimal ASCII.  Ps stands for a list of such parameters separated by
+# semicolons.  Parameter meanings for most parameterized sequences are
+# described in the notes.
+#
+# Sequence     Sequence                             Parameter   or
+# Mnemonic     Name              Sequence           Value      Mode   terminfo
+# -----------------------------------------------------------------------------
+# APC  Applicatn Program Command \E _                -         Delim  -
+# BEL  Bell *                    ^G                  -         -      bel
+# BPH  Break Permitted Here *    \E B                -         *      -
+# BS   BackSpace *               ^H                  -         EF     -
+# CAN  Cancel *                  ^X                  -         -      -   (A)
+# CBT  Cursor Backward Tab       \E [ Pn Z           1         eF     cbt
+# CCH  Cancel Previous Character \E T                -         -      -
+# CHA  Cursor Horizntal Absolute \E [ Pn G           1         eF     hpa (B)
+# CHT  Cursor Horizontal Tab     \E [ Pn I           1         eF     tab (C)
+# CMD  Coding Method Delimiter * \E
+# CNL  Cursor Next Line          \E [ Pn E           1         eF     nel (D)
+# CPL  Cursor Preceding Line     \E [ Pn F           1         eF     -
+# CPR  Cursor Position Report    \E [ Pn ; Pn R      1, 1      -      -   (E)
+# CSI  Control Sequence Intro    \E [                -         Intro  -
+# CTC  Cursor Tabulation Control \E [ Ps W           0         eF     -   (F)
+# CUB  Cursor Backward           \E [ Pn D           1         eF     cub
+# CUD  Cursor Down               \E [ Pn B           1         eF     cud
+# CUF  Cursor Forward            \E [ Pn C           1         eF     cuf
+# CUP  Cursor Position           \E [ Pn ; Pn H      1, 1      eF     cup (G)
+# CUU  Cursor Up                 \E [ Pn A           1         eF     cuu
+# CVT  Cursor Vertical Tab       \E [ Pn Y           -         eF     -   (H)
+# DA   Device Attributes         \E [ Pn c           0         -      -
+# DAQ  Define Area Qualification \E [ Ps o           0         -      -
+# DCH  Delete Character          \E [ Pn P           1         eF     dch
+# DCS  Device Control String     \E P                -         Delim  -
+# DL   Delete Line               \E [ Pn M           1         eF     dl
+# DLE  Data Link Escape *        ^P                  -         -      -
+# DMI  Disable Manual Input      \E \                -         Fs     -
+# DSR  Device Status Report      \E [ Ps n           0         -      -   (I)
+# DTA  Dimension Text Area *     \E [ Pn ; Pn SPC T  -         PC     -
+# EA   Erase in Area             \E [ Ps O           0         eF     -   (J)
+# ECH  Erase Character           \E [ Pn X           1         eF     ech
+# ED   Erase in Display          \E [ Ps J           0         eF     ed  (J)
+# EF   Erase in Field            \E [ Ps N           0         eF     -
+# EL   Erase in Line             \E [ Ps K           0         eF     el  (J)
+# EM   End of Medium *           ^Y                  -         -      -
+# EMI  Enable Manual Input       \E b                          Fs     -
+# ENQ  Enquire                   ^E                  -         -      -
+# EOT  End Of Transmission       ^D                  -         *      -
+# EPA  End of Protected Area     \E W                -         -      -   (K)
+# ESA  End of Selected Area      \E G                -         -      -
+# ESC  Escape                    ^[                  -         -      -
+# ETB  End Transmission Block    ^W                  -         -      -
+# ETX  End of Text               ^C                  -         -      -
+# FF   Form Feed                 ^L                  -         -      -
+# FNK  Function Key *            \E [ Pn SPC W       -         -      -
+# GCC  Graphic Char Combination* \E [ Pn ; Pn SPC B  -         -      -
+# FNT  Font Selection            \E [ Pn ; Pn SPC D  0, 0      FE     -
+# GSM  Graphic Size Modify       \E [ Pn ; Pn SPC B  100, 100  FE     -   (L)
+# GSS  Graphic Size Selection    \E [ Pn SPC C       none      FE     -
+# HPA  Horz Position Absolute    \E [ Pn `           1         FE     -   (B)
+# HPB  Char Position Backward    \E [ j              1         FE     -
+# HPR  Horz Position Relative    \E [ Pn a           1         FE     -   (M)
+# HT   Horizontal Tab *          ^I                  -         FE     -   (N)
+# HTJ  Horz Tab w/Justification  \E I                -         FE     -
+# HTS  Horizontal Tab Set        \E H                -         FE     hts
+# HVP  Horz & Vertical Position  \E [ Pn ; Pn f      1, 1      FE     -   (G)
+# ICH  Insert Character          \E [ Pn @           1         eF     ich
+# IDCS ID Device Control String  \E [ SPC O          -         *      -
+# IGS  ID Graphic Subrepertoire  \E [ SPC M          -         *      -
+# IL   Insert Line               \E [ Pn L           1         eF     il
+# IND  Index                     \E D                -         FE     -
+# INT  Interrupt                 \E a                -         Fs     -
+# JFY  Justify                   \E [ Ps SPC F       0         FE     -
+# IS1  Info Separator #1 *       ^_                  -         *      -
+# IS2  Info Separator #1 *       ^^                  -         *      -
+# IS3  Info Separator #1 *       ^]                  -         *      -
+# IS4  Info Separator #1 *       ^\                  -         *      -
+# LF   Line Feed                 ^J                  -         -      -
+# LS1R Locking Shift Right 1 *   \E ~                -         -      -
+# LS2  Locking Shift 2 *         \E n                -         -      -
+# LS2R Locking Shift Right 2 *   \E }                -         -      -
+# LS3  Locking Shift 3 *         \E o                -         -      -
+# LS3R Locking Shift Right 3 *   \E |                -         -      -
+# MC   Media Copy                \E [ Ps i           0         -      -   (S)
+# MW   Message Waiting           \E U                -         -      -
+# NAK  Negative Acknowledge *    ^U                  -         *      -
+# NBH  No Break Here *           \E C                -         -      -
+# NEL  Next Line                 \E E                -         FE     nel (D)
+# NP   Next Page                 \E [ Pn U           1         eF     -
+# NUL  Null *                    ^@                  -         -      -
+# OSC  Operating System Command  \E ]                -         Delim  -
+# PEC  Pres. Expand/Contract *   \E Pn SPC Z         0         -      -
+# PFS  Page Format Selection *   \E Pn SPC J         0         -      -
+# PLD  Partial Line Down         \E K                -         FE     -   (T)
+# PLU  Partial Line Up           \E L                -         FE     -   (U)
+# PM   Privacy Message           \E ^                -         Delim  -
+# PP   Preceding Page            \E [ Pn V           1         eF     -
+# PPA  Page Position Absolute *  \E [ Pn SPC P       1         FE     -
+# PPB  Page Position Backward *  \E [ Pn SPC R       1         FE     -
+# PPR  Page Position Forward *   \E [ Pn SPC Q       1         FE     -
+# PTX  Parallel Texts *          \E [ \              -         -      -
+# PU1  Private Use 1             \E Q                -         -      -
+# PU2  Private Use 2             \E R                -         -      -
+# QUAD Typographic Quadding      \E [ Ps SPC H       0         FE     -
+# REP  Repeat Char or Control    \E [ Pn b           1         -      rep
+# RI   Reverse Index             \E M                -         FE     -   (V)
+# RIS  Reset to Initial State    \E c                -         Fs     -
+# RM   Reset Mode *              \E [ Ps l           -         -      -   (W)
+# SACS Set Add. Char. Sep. *     \E [ Pn SPC /       0         -      -
+# SAPV Sel. Alt. Present. Var. * \E [ Ps SPC ]       0         -      -   (X)
+# SCI  Single-Char Introducer    \E Z                -         -      -
+# SCO  Sel. Char. Orientation *  \E [ Pn ; Pn SPC k  -         -      -
+# SCS  Set Char. Spacing *       \E [ Pn SPC g       -         -      -
+# SD   Scroll Down               \E [ Pn T           1         eF     rin
+# SDS  Start Directed String *   \E [ Pn ]           1         -      -
+# SEE  Select Editing Extent     \E [ Ps Q           0         -      -   (Y)
+# SEF  Sheet Eject & Feed *      \E [ Ps ; Ps SPC Y  0,0       -      -
+# SGR  Select Graphic Rendition  \E [ Ps m           0         FE     sgr (O)
+# SHS  Select Char. Spacing *    \E [ Ps SPC K       0         -      -
+# SI   Shift In                  ^O                  -         -      -   (P)
+# SIMD Sel. Imp. Move Direct. *  \E [ Ps ^           -         -      -
+# SL   Scroll Left               \E [ Pn SPC @       1         eF     -
+# SLH  Set Line Home *           \E [ Pn SPC U       -         -      -
+# SLL  Set Line Limit *          \E [ Pn SPC V       -         -      -
+# SLS  Set Line Spacing *        \E [ Pn SPC h       -         -      -
+# SM   Select Mode               \E [ Ps h           none      -      -   (W)
+# SO   Shift Out                 ^N                  -         -      -   (Q)
+# SOH  Start Of Heading *        ^A                  -         -      -
+# SOS  Start of String *         \E X                -         -      -
+# SPA  Start of Protected Area   \E V                -         -      -   (Z)
+# SPD  Select Pres. Direction *  \E [ Ps ; Ps SPC S  0,0       -      -
+# SPH  Set Page Home *           \E [ Ps SPC G       -         -      -
+# SPI  Spacing Increment         \E [ Pn ; Pn SPC G  none      FE     -
+# SPL  Set Page Limit *          \E [ Ps SPC j       -         -      -
+# SPQR Set Pr. Qual. & Rapid. *  \E [ Ps SPC X       0         -      -
+# SR   Scroll Right              \E [ Pn SPC A       1         eF     -
+# SRCS Set Reduced Char. Sep. *  \E [ Pn SPC f       0         -      -
+# SRS  Start Reversed String *   \E [ Ps [           0         -      -
+# SSA  Start of Selected Area    \E F                -         -      -
+# SSU  Select Size Unit *        \E [ Pn SPC I       0         -      -
+# SSW  Set Space Width *         \E [ Pn SPC [       none      -      -
+# SS2  Single Shift 2 (G2 set)   \E N                -         Intro  -
+# SS3  Single Shift 3 (G3 set)   \E O                -         Intro  -
+# ST   String Terminator         \E \                -         Delim  -
+# STAB Selective Tabulation *    \E [ Pn SPC ^       -         -      -
+# STS  Set Transmit State        \E S                -         -      -
+# STX  Start pf Text *           ^B                  -         -      -
+# SU   Scroll Up                 \E [ Pn S           1         eF     indn
+# SUB  Substitute *              ^Z                  -         -      -
+# SVS  Select Line Spacing *     \E [ Pn SPC \       1         -      -
+# SYN  Synchronous Idle *        ^F                  -         -      -
+# TAC  Tabul. Aligned Centered * \E [ Pn SPC b       -         -      -
+# TALE Tabul. Al. Leading Edge * \E [ Pn SPC a       -         -      -
+# TATE Tabul. Al. Trailing Edge* \E [ Pn SPC `       -         -      -
+# TBC  Tab Clear                 \E [ Ps g           0         FE     tbc
+# TCC  Tabul. Centered on Char * \E [ Pn SPC c       -         -      -
+# TSR  Tabulation Stop Remove  * \E [ Pn SPC d       -         FE     -
+# TSS  Thin Space Specification  \E [ Pn SC E        none      FE     -
+# VPA  Vert. Position Absolute   \E [ Pn d           1         FE     vpa
+# VPB  Line Position Backward *  \E [ Pn k           1         FE     -
+# VPR  Vert. Position Relative   \E [ Pn e           1         FE     -   (R)
+# VT   Vertical Tabulation *     ^K                  -         FE     -
+# VTS  Vertical Tabulation Set   \E J                -         FE     -
+#
+# ---------------------------------------------------------------------------
+#
+# Notes:
+#
+# Some control characters are listed in the ECMA-48 standard without
+# being assigned functions relevant to terminal control there (they
+# referred to other standards such as ISO 1745 or ECMA-35).  They are listed
+# here anyway for completeness.
+#
+# (A) ECMA-48 calls this "CancelCharacter" but retains the CCH abbreviation.
+#
+# (B) There seems to be some confusion abroad between CHA and HPA.  Most
+# `ANSI' terminals accept the CHA sequence, not the HPA. but terminfo calls
+# the capability (hpa).  ECMA-48 calls this "Cursor Character Absolute" but
+# preserved the CHA abbreviation.
+#
+# (C) CHT corresponds to terminfo (tab).  Usually it has the value ^I.
+# Occasionally (as on, for example, certain HP terminals) this has the HTJ
+# value.  ECMA-48 calls this "Cursor Forward Tabulation" but preserved the
+# CHT abbreviation.
+#
+# (D) terminfo (nel) is usually \r\n rather than ANSI \EE.
+#
+# (E) ECMA-48 calls this "Active Position Report" but preserves the CPR
+# abbreviation.
+#
+# (F) CTC parameter values:
+#	0 = set char tab,
+#	1 = set line tab,
+#	2 = clear char tab,
+#	3 = clear line tab,
+#	4 = clear all char tabs on current line,
+#	5 = clear all char tabs,
+#	6 = clear all line tabs.
+#
+# (G) CUP and HVP are identical in effect.  Some ANSI.SYS versions accept
+# HVP, but always allow CUP as an alternate.  ECMA-48 calls HVP "Character
+# Position Absolute" but retains the HVP abbreviation.
+#
+# (H) ECMA calls this "Cursor Line Tabulation" but preserves the CVT
+# abbreviation.
+#
+# (I) DSR parameter values:
+#	0 = ready,
+#	1 = busy,
+#	2 = busy, will send DSR later,
+#	3 = malfunction,
+#	4 = malfunction, will send DSR later,
+#	5 = request DSR,
+#	6 = request CPR response.
+#
+# (J) ECMA calls ED "Erase In Page". EA/ED/EL parameters:
+#	0 = clear to end,
+#	1 = clear from beginning,
+#	2 = clear.
+#
+# (K) ECMA calls this "End of Guarded Area" but preserves the EPA abbreviation.
+#
+# (L) The GSM parameters are vertical and horizontal parameters to scale by.
+#
+# (M) Some ANSI.SYS versions accept HPR, but more commonly `ANSI' terminals
+# use CUF for this function and ignore HPR.  ECMA-48 calls this "Character
+# Position Relative" but retains the HPR abbreviation.
+#
+# (N) ECMA-48 calls this "Character Tabulation" but retains the HT
+# abbreviation.
+#
+# (O) SGR parameter values:
+#	0 = default mode (attributes off),
+#	1 = bold,
+#	2 = dim,
+#	3 = italicized,
+#	4 = underlined,
+#	5 = slow blink,
+#	6 = fast blink,
+#	7 = reverse video,
+#	8 = invisible,
+#	9 = crossed-out (marked for deletion),
+#	10 = primary font,
+#	10 + n (n in 1..9) = nth alternative font,
+#	20 = Fraktur,
+#	21 = double underline,
+#	22 = turn off 2,
+#	23 = turn off 3,
+#	24 = turn off 4,
+#	25 = turn off 5,
+#	26 = proportional spacing,
+#	27 = turn off 7,
+#	28 = turn off 8,
+#	29 = turn off 9,
+#	30 = black fg,
+#	31 = red fg,
+#	32 = green fg,
+#	33 = yellow fg,
+#	34 = blue fg,
+#	35 = magenta fg,
+#	36 = cyan fg,
+#	37 = white fg,
+#	38 = set fg color as in CCITT T.416,
+#	39 = set default fg color,
+#	40 = black bg
+#	41 = red bg,
+#	42 = green bg,
+#	43 = yellow bg,
+#	44 = blue bg,
+#	45 = magenta bg,
+#	46 = cyan bg,
+#	47 = white bg,
+#	48 = set bg color as in CCITT T.416,
+#	49 = set default bg color,
+#	50 = turn off 26,
+#	51 = framed,
+#	52 = encircled,
+#	53 = overlined,
+#	54 = turn off 51 & 52,
+#	55 = not overlined,
+#	56-59 = reserved,
+#	61-65 = variable highlights for ideograms.
+#
+# (P) SI is also called LSO, Locking Shift Zero.
+#
+# (Q) SI is also called LS1, Locking Shift One.
+#
+# (R) Some ANSI.SYS versions accept VPR, but more commonly `ANSI' terminals
+# use CUD for this function and ignore VPR.  ECMA calls it `Line Position
+# Absolute' but retains the VPA abbreviation.
+#
+# (S) MC parameters:
+#	0 = start xfer to primary aux device,
+#	1 = start xfer from primary aux device,
+#	2 = start xfer to secondary aux device,
+#	3 = start xfer from secondary aux device,
+#	4 = stop relay to primary aux device,
+#	5 = start relay to primary aux device,
+#	6 = stop relay to secondary aux device,
+#	7 = start relay to secondary aux device.
+#
+# (T) ECMA-48 calls this "Partial Line Forward" but retains the PLD
+# abbreviation.
+#
+# (U) ECMA-48 calls this "Partial Line Backward" but retains the PLU
+# abbreviation.
+#
+# (V) ECMA-48 calls this "Reverse Line Feed" but retains the RI abbreviation.
+#
+# (W) RM/SM modes are as follows:
+#	1 = Guarded Area Transfer Mode (GATM),
+#	2 = Keyboard Action Mode (KAM),
+#	3 = Control Representation Mode (CRM),
+#	4 = Insertion Replacement Mode (IRM),
+#	5 = Status Report Transfer Mode (SRTM),
+#	6 = Erasure Mode (ERM),
+#	7 = Line Editing Mode (LEM),
+#	8 = Bi-Directional Support Mode (BDSM),
+#	9 = Device Component Select Mode (DCSM),
+#	10 = Character Editing Mode (HEM),
+#	11 = Positioning Unit Mode (PUM),
+#	12 = Send/Receive Mode (SRM),
+#	13 = Format Effector Action Mode (FEAM),
+#	14 = Format Effector Transfer Mode (FETM),
+#	15 = Multiple Area Transfer Mode (MATM),
+#	16 = Transfer Termination Mode (TTM),
+#	17 = Selected Area Transfer Mode (SATM),
+#	18 = Tabulation Stop Mode (TSM),
+#	19 = Editing Boundary Mode (EBM),
+#	20 = Line Feed New Line Mode (LF/NL),
+#	21 = Graphic Rendition Combination Mode (GRCM),
+#	22 = Zero Default Mode (ZDM).
+#
+# The EBM and LF/NL modes have actually been removed from ECMA-48's 5th edition
+# but are listed here for reference.
+#
+# (X) Select Alternate Presentation Variants is used only for non-Latin
+# alphabets.
+#
+# (Y) "Select Editing Extent" (SEE) was ANSI "Select Edit Extent Mode" (SEM).
+#
+# (Z) ECMA-48 calls this "Start of Guarded Area" but retains the SPA
+# abbreviation.
+#
+# ---------------------------------------------------------------------------
+#
+# Abbreviations:
+#
+# Intro  an Introducer of some kind of defined sequence; the normal 7-bit
+#        X3.64 Control Sequence Introducer is the two characters "Escape ["
+#
+# Delim  a Delimiter
+#
+# x/y    identifies a character by position in the ASCII table (column/row)
+#
+# eF     editor function (see explanation)
+#
+# FE     format effector (see explanation)
+#
+# F      is a Final character in
+#             an Escape sequence (F from 3/0 to 7/14 in the ASCII table)
+#             a control sequence (F from 4/0 to 7/14)
+#
+# Gs     is a graphic character appearing in strings (Gs ranges from
+#        2/0 to 7/14) in the ASCII table
+#
+# Ce     is a control represented as a single bit combination in the C1 set
+#        of controls in an 8-bit character set
+#
+# C0     the familiar set of 7-bit ASCII control characters
+#
+# C1     roughly, the set of control chars available only in 8-bit systems.
+#        This is too complicated to explain fully here, so read Jim Fleming's
+#        article in the February 1983 BYTE, especially pages 214 through 224.
+#
+# Fe     is a Final character of a 2-character Escape sequence that has an
+#        equivalent representation in an 8-bit environment as a Ce-type
+#        (Fe ranges from 4/0 to 5/15)
+#
+# Fs     is a Final character of a 2-character Escape sequence that is
+#        standardized internationally with identical representation in 7-bit
+#        and 8-bit environments and is independent of the currently
+#        designated C0 and C1 control sets (Fs ranges from 6/0 to 7/14)
+#
+# I      is an Intermediate character from 2/0 to 2/15 (inclusive) in the
+#        ASCII table
+#
+# P      is a parameter character from 3/0 to 3/15 (inclusive) in the ASCII
+#        table
+#
+# Pn     is a numeric parameter in a control sequence, a string of zero or
+#        more characters ranging from 3/0 to 3/9 in the ASCII table
+#
+# Ps     is a variable number of selective parameters in a control sequence
+#        with each selective parameter separated from the other by the code
+#        3/11 (which usually represents a semicolon); Ps ranges from
+#        3/0 to 3/9 and includes 3/11
+#
+# *      Not relevant to terminal control, listed for completeness only.
+#
+# Format Effectors versus Editor Functions
+#
+# A format effector specifies how following output is to be displayed.
+# An editor function allows you to modify the display.  Informally
+# format effectors may be destructive; format effectors should not be.
+#
+# For instance, a format effector that moves the "active position" (the
+# cursor or equivalent) one space to the left would be useful when you want to
+# create an overstrike, a compound character made of two standard characters
+# overlaid. Control-H, the Backspace character, is actually supposed to be a
+# format effector, so you can do this. But many systems use it in a
+# nonstandard fashion, as an editor function, deleting the character to the
+# left of the cursor and moving the cursor left. When Control-H is assumed to
+# be an editor function, you cannot predict whether its use will create an
+# overstrike unless you also know whether the output device is in an "insert
+# mode" or an "overwrite mode". When Control-H is used as a format effector,
+# its effect can always be predicted. The familiar characters carriage
+# return, linefeed, formfeed, etc., are defined as format effectors.
+#
+# NOTES ON THE DEC VT100 IMPLEMENTATION
+#
+# Control sequences implemented in the VT100 are as follows:
+#
+#      CPR, CUB, CUD, CUF, CUP, CUU, DA, DSR, ED, EL, HTS, HVP, IND,
+#      LNM, NEL, RI, RIS, RM, SGR, SM, TBC
+#
+# plus several private DEC commands.
+#
+# Erasing parts of the display (EL and ED) in the VT100 is performed thus:
+#
+#      Erase from cursor to end of line           Esc [ 0 K    or Esc [ K
+#      Erase from beginning of line to cursor     Esc [ 1 K
+#      Erase line containing cursor               Esc [ 2 K
+#      Erase from cursor to end of screen         Esc [ 0 J    or Esc [ J
+#      Erase from beginning of screen to cursor   Esc [ 1 J
+#      Erase entire screen                        Esc [ 2 J
+#
+# Some brain-damaged terminal/emulators respond to Esc [ J as if it were
+# Esc [ 2 J, but this is wrong; the default is 0.
+#
+# The VT100 responds to receiving the DA (Device Attributes) control
+#
+#      Esc [ c    (or Esc [ 0 c)
+#
+# by transmitting the sequence
+#
+#      Esc [ ? l ; Ps c
+#
+# where Ps is a character that describes installed options.
+#
+# The VT100's cursor location can be read with the DSR (Device Status
+# Report) control
+#
+#      Esc [ 6 n
+#
+# The VT100 reports by transmitting the CPR sequence
+#
+#      Esc [ Pl ; Pc R
+#
+# where Pl is the line number and Pc is the column number (in decimal).
+#
+# The specification for the DEC VT100 is document EK-VT100-UG-003.
+
+#### ANSI.SYS
+#
+# Here is a description of the color and attribute controls supported in the
+# the ANSI.SYS driver under MS-DOS.  Most console drivers and ANSI
+# terminal emulators for Intel boxes obey these.  They are a proper subset
+# of the ECMA-48 escapes.
+#
+# 0	all attributes off
+# 1	foreground bright
+# 4	underscore on
+# 5	blink on/background bright (not reliable with brown)
+# 7	reverse-video
+# 8	set blank (non-display)
+# 10	set primary font
+# 11	set first alternate font (on PCs, display ROM characters 1-31)
+# 12	set second alternate font (on PCs, display IBM high-half chars)
+#
+#			Color attribute sets
+# 3n	set foreground color       / 0=black, 1=red,     2=green, 3=brown,
+# 4n	set background color       \ 4=blue,  5=magenta, 6=cyan,  7=white
+# Bright black becomes gray.  Bright brown becomes yellow,
+# These coincide with the prescriptions of the ISO 6429/ECMA-48 standard.
+#
+# * If the 5 attribute is on and you set a background color (40-47) it is
+#   supposed to enable bright background.
+#
+# * Many VGA cards (such as the Paradise and compatibles) do the wrong thing
+#   when you try to set a "bright brown" (yellow) background with attribute
+#   5 (you get a blinking yellow foreground instead).  A few displays
+#   (including the System V console) support an attribute 6 that undoes this
+#   braindamage (this is required by iBCS2).
+#
+# * Some older versions of ANSI.SYS have a bug that causes them to require
+#   ESC [ Pn k as EL rather than the ANSI ESC [ Pn K.  (This is not ECMA-48
+#   compatible.)
+
+#### Intel Binary Compatibility Standard
+#
+# For comparison, here are the capabilities implied by the Intel Binary
+# Compatibility Standard for UNIX systems (Intel order number 468366-001).
+# These recommendations are optional.  IBCS2 allows the leading escape to
+# be either the 7-bit \E[ or 8-bit \0233 introducer, in accordance with
+# the ANSI X.364/ISO 6429/ECMA-48 standard.  Here are the iBCS2 capabilities
+# (as described in figure 9-3 of the standard).  Those expressed in the ibcs2
+# terminfo entry are followed with the corresponding capability in parens:
+#
+#	CSI <n>k		disable (n=0) or enable (n=1) keyclick
+#	CSI 2h			lock keyboard
+#	CSI 2i			send screen as input
+#	CSI 2l			unlock keyboard
+#	CSI 6m			enable background color intensity
+#	CSI <0-2>c		reserved
+#	CSI <0-59>m		select graphic rendition
+#	CSI <n>;<m>H	(cup)	cursor to line n and column m
+#	CSI <n>;<m>f		cursor to line n and column m
+#	CSI <n>@	(ich)	insert characters
+#	CSI <n>A	(cuu)	cursor up n lines
+#	CSI <n>B	(cud)	cursor down n lines
+#	CSI <n>C	(cuu)	cursor right n characters
+#	CSI <n>D	(cud)	cursor left n characters
+#	CSI <n>E		cursor down n lines and in first column
+#	CSI <n>F		cursor up n lines and in first column
+#	CSI <n>G	(hpa)	position cursor at column n-1
+#	CSI <n>J	(ed)	erase in display
+#	CSI <n>K	(el)	erase in line
+#	CSI <n>L	(il)	insert line(s)
+#	CSI <n>P	(dch)	delete characters
+#	CSI <n>S	(indn)	scroll up n lines
+#	CSI <n>T	(rin)	scroll down n lines
+#	CSI <n>X	(ech)	erase characters
+#	CSI <n>Z	(cbt)	back up n tab stops
+#	CSI <n>`		cursor to column n on line
+#	CSI <n>a	(cuu)	cursor right n characters
+#	CSI <n>d	(vpa)	cursor to line n
+#	CSI <n>e		cursor down n lines and in first column
+#	CSI <n>g	(cbt)	clear all tabs
+#	CSI <n>z		make virtual terminal n active
+#	CSI ?7h		(smam)	turn automargin on
+#	CSI ?7l		(rmam)	turn automargin off
+#	CSI s			save cursor position
+#	CSI u			restore cursor position to saved value
+#	CSI =<c>A		set overscan color
+#	CSI =<c>F		set normal foreground color
+#	CSI =<c>G		set normal background color
+#	CSI =<c>H		set reverse foreground color
+#	CSI =<c>I		set reverse foreground color
+#	CSI =<c>J		set graphic foreground color
+#	CSI =<c>K		set graphic foreground color
+#	CSI =<n>g	(dispc) display n from alternate graphics character set
+#	CSI =<p>;<d>B		set bell parameters
+#	CSI =<s>;<e>C		set cursor parameters
+#	CSI =<x>D		enable/disable intensity of background color
+#	CSI =<x>E		set/clear blink vs. bold background
+#	CSI 7		(sc)	(sc) save cursor position
+#	CSI 8		(rc)	(rc) restore cursor position to saved value
+#	CSI H		(hts)	(hts) set tab stop
+#	CSI Q<n><string>	define function key string
+#				(string must begin and end with delimiter char)
+#	CSI c		(clear) clear screen
+#
+# The lack of any specification for attributes in SGR (among other things)
+# makes this a wretchedly weak standard. The table above is literally
+# everything iBSC2 has to say about terminal escape sequences; there is
+# no further discussion of their meaning or how to set the parameters
+# in these sequences at all.
+#
+
+######## NONSTANDARD CAPABILITY TRANSLATIONS USED IN THIS FILE
+#
+# The historical termcap file entries were written primarily in 4.4BSD termcap.
+# The 4.4BSD termcap set was substantially larger than the original 4.1BSD set,
+# with the extension names chosen for compatibility with the termcap names
+# assigned in System V terminfo.  There are some variant extension sets out
+# there.  We try to describe them here.
+#
+#### XENIX extensions:
+#
+# The XENIX extensions include a set of function-key capabilities as follows:
+#
+#       code	XENIX variable name	terminfo name	name clashes?
+#	----	-------------------	-------------	-----------------------
+#	CL	key_char_left
+#	CR	key_char_right
+#	CW	key_change_window			create_window
+#	EN	key_end			kend
+#	HM	key_home		khome
+#	HP	??
+#	LD	key_delete_line		kdl1
+#	LF	key_linefeed				label_off
+#	NU	key_next_unlocked_cell
+#	PD	key_page_down		knp
+#	PL	??
+#	PN	start_print		mc5
+#	PR	??
+#	PS	stop_print		mc4
+#	PU	key_page_up		kpp		pulse
+#	RC	key_recalc				remove_clock
+#	RF	key_toggle_ref				req_for_input
+#	RT	key_return		kent
+#	UP	key_up_arrow		kcuu1		parm_up_cursor
+#	WL	key_word_left
+#	WR	key_word_right
+#
+# The XENIX extensions also include the following character-set and highlight
+# capabilities:
+#
+#	XENIX	terminfo	function
+#	-----	--------	------------------------------
+#	GS	smacs		start alternate character set
+#	GE	rmacs		end alternate character set
+#	GG			:as:/:ae: glitch (analogous to :sg:/:ug:)
+#	bo	blink		begin blink (not used in /etc/termcap)
+#	be			end blink (not used in /etc/termcap)
+#	bb			blink glitch  (not used in /etc/termcap)
+#	it	dim		begin dim (not used in /etc/termcap)
+#	ie			end dim (not used in /etc/termcap)
+#	ig			dim glitch  (not used in /etc/termcap)
+#
+# Finally, XENIX also used the following forms-drawing capabilities:
+#
+#	single	double  type             ASCII approximation
+#	------	------	-------------    -------------------
+#	GV	Gv	vertical line             |
+#	GH	Gv	horizontal line       -   _
+#	G1	G5	top right corner       _   |
+#	G2	G6	top left corner       |
+#	G3	G7	bottom left corner         |_
+#	G4	G8	bottom right corner   _|
+#	GD	Gd	down-tick character        T
+#	GL	Gl	left-tick character   -|
+#	GR	Gr	right-tick character       |-
+#	GC	Gc	middle intersection   -|-
+#	GU	Gu	up-tick character          _|_
+#
+# These were invented to take advantage of the IBM PC ROM character set.  One
+# can compose an acsc string from the single-width characters as follows
+#	"j{G4}k{G1}l{G2}m{G3}q{GH}x{GV}t{GR}u{GL}v{GU}w{GD}n{GC}"
+# When translating a termcap file, ncurses tic will do this automatically.
+# The double forms characters don't fit the SVr4 terminfo model.
+#
+#### AT&T Extensions:
+#
+# The old AT&T 5410, 5420, 5425, pc6300plus, 610, and s4 entries used a set of
+# nonstandard capabilities.  Its signature is the KM capability, used to name
+# some sort of keymap file.  EE, BO, CI, CV, XS, DS, FL and FE are in this
+# set.  Comments in the original, and a little cross-checking with other AT&T
+# documentation, seem to establish that BO=:mr: (start reverse video), DS=:mh:
+# (start dim), XS=:mk: (secure/invisible mode), EE=:me: (end highlights),
+# FL=:LO: (enable soft labels), FE=:LF: (disable soft labels), CI=:vi: (make
+# cursor invisible), and CV=:ve: (make cursor normal).
+#
+#### HP Extensions
+#
+# The HP library (as of mid-1995, their term.h file version 70.1) appears to
+# have the System V capabilities up to SVr1 level.  After that, it supports
+# two nonstandard caps meml and memu corresponding to the old termcap :ml:,
+# :mu: capabilities.  After that, it supports caps plab_norm, label_on,
+# label_off, and key_f11..key_f63 capabilities like SVr4's.  This makes the
+# HP binary format incompatible with SVr4's.
+#
+#### IBM Extensions
+#
+# There is a set of nonstandard terminfos used by IBM's AIX operating system.
+# The AIX terminfo library diverged from SVr1 terminfo, and replaces all
+# capabilities following prtr_non with the following special capabilities:
+# box[12], batt[12], colb[0123456789], colf[0123456789], f[01234567], kbtab,
+# kdo, kcmd, kcpn, kend, khlp, knl, knpn, kppn, kppn, kquit, ksel, kscl, kscr,
+# ktab, kmpf[123456789], apstr, ksf1..ksf10, kf11...kf63, kact, topl, btml,
+# rvert, lvert.   Some of these are identical to XPG4/SVr4 equivalents:
+# kcmd, kend, khlp, and kf11...kf63.  Two others (kbtab and ksel) can be
+# renamed (to kcbt and kslt).  The places in the box[12] capabilities
+# correspond to acsc chars, here is the mapping:
+#
+#	box1[0]  = ACS_ULCORNER
+#	box1[1]  = ACS_HLINE
+#	box1[2]  = ACS_URCORNER
+#	box1[3]  = ACS_VLINE
+#	box1[4]  = ACS_LRCORNER
+#	box1[5]  = ACS_LLCORNER
+#	box1[6]  = ACS_TTEE
+#	box1[7]  = ACS_RTEE
+#	box1[8]  = ACS_BTEE
+#	box1[9]  = ACS_LTEE
+#	box1[10] = ACS_PLUS
+#
+# The box2 characters are the double-line versions of these forms graphics.
+# The AIX binary terminfo format is incompatible with SVr4's.
+#
+#### Iris console extensions:
+#
+# HS is half-intensity start; HE is half-intensity end
+# CT is color terminal type (for Curses & rogue)
+# CP is color change escape sequence
+# CZ are color names (for Curses & rogue)
+#
+# The ncurses tic utility recognizes HS as an alias for mh <dim>.
+#
+#### TC Extensions:
+#
+# There is a set of extended termcaps associated with something
+# called the "Terminal Control" or TC package created by MainStream Systems,
+# Winfield Kansas.  This one also uses GS/GE for as/ae, and also uses
+# CF for civis and CO for cvvis.  Finally, they define a boolean :ct:
+# that flags color terminals.
+#
+######## NCURSES USER-DEFINABLE CAPABILITIES
+#
+# Extensions added after ncurses 5.0 generally use the "-x" option of tic and
+# infocmp to manipulate user-definable capabilities.  Those that are intended
+# for use in either terminfo or termcap use 2-character names.  Extended
+# function keys do not use 2-character names, and are available only with
+# terminfo.
+#
+# Beginning in 2010, NetBSD curses has also provided a "-x" option for
+# tic/infocmp, and uses this database (with a few changes).  There are a few
+# differences, noted in
+#	https://invisible-island.net/ncurses/ncurses-netbsd.html
+#
+# ncurses makes explicit checks for a few user-definable capabilities:  AX, E3,
+# RGB, U8, XM, which are documented in the user_caps(5) manual page.
+#
+#### SCREEN Extensions:
+#
+# The screen program uses the termcap interface.  It recognizes a few useful
+# nonstandard capabilities.  Those are used in this file.
+#
+#       AX   (bool)  Does  understand  ANSI  set  default fg/bg color (\E[39m /
+#                    \E[49m).
+#       G0   (bool)  Terminal can deal with ISO 2022  font  selection sequences.
+#       E0   (str)   Switch charset 'G0' back to standard charset.
+#       S0   (str)   Switch charset 'G0' to the specified charset.
+#       XT   (bool)  Terminal understands special xterm sequences  (OSC,  mouse
+#                    tracking).
+#
+# AX is relatively straightforward; it is interpreted by ncurses to say that
+# SGR 39/49 reset the terminal's foreground and background colors to their
+# "default".
+#
+# XT is harder, since screen's manpage does not give more details.  For that,
+# we must read screen's source-code.  For example, when XT is set, screen
+# assumes
+#
+# a) OSC 1 sets the title string, e.g., for the icon.  Recent versions of
+#    screen may also set the terminal's name, which is (for xterm) distinct
+#    from the icon name.
+# b) OSC 20 sets the background pixmap.  This is an rxvt feature.
+# c) OSC 39 and OSC 49 set the default foreground/background colors.  Again
+#    this is an rxvt feature.
+# d) certain mode settings enable the mouse: 9, 1000, 1001, 1002, 1003.
+#    These are from xterm, although xterm accepts mouse codes that may not be
+#    recognized by screen, e.g., 1005, 1006.
+# e) colors beyond 0..7 are implemented by xterm's aixterm-like 16-color
+#    sequence.  However, because screen uses only termcap, the values returned
+#    by Af/Ab are not usable because they rely on expressions that termcap
+#    does not support.  Therefore, screen uses a hardcoded string to work
+#    around the limitation.  In a few cases, screen also uses tparm, which
+#    is a terminfo function rather than termcap.
+# f) all entries named "*xterm*" or "*rxvt*" have the bce flag set.
+# g) screen also uses the feature to decide whether to pay attention to other
+#    xterm-related features which are unrelated to the description in the
+#    manual page.
+#
+# Since XT is useful only when the outer terminal matches screen's assumptions,
+# it is appropriate to use it in the derived terminal descriptions such as
+# "screen.xterm", but not in the generic "screen", "screen-bce" entries.
+#
+# The other ISO-2022 features are rarely used, but provided here to make
+# screen's termcap features available.
+#
+#### XTERM Extensions:
+#
+# For a discussion of "xterm", "xterm-256color" as values for TERM, see
+#	https://invisible-island.net/ncurses/ncurses.faq.html#xterm_generic
+#	https://invisible-island.net/ncurses/ncurses.faq.html#xterm_256color
+#
+# For xterm control sequences, see
+#	https://invisible-island.net/xterm/ctlseqs/ctlseqs.html
+#
+# For function-keys with modifiers, see
+#	https://invisible-island.net/ncurses/ncurses.faq.html#modified_keys
+#
+# For a discussion of "bracketed paste", see
+#	https://invisible-island.net/xterm/xterm-paste64.html
+#
+# Most of the xterm extensions are for function-keys.  Since xterm patch #94 (in
+# 1999), xterm has supported shift/control/alt/meta modifiers which produce
+# additional function-key strings.  Some other developers copied the feature,
+# though they did not follow xterm's lead in xterm patch #167 (in 2002), to make
+# these key definitions less ambiguous.
+#
+# A few terminals provide similar functionality (sending distinct keys when
+# a modifier is used), including rxvt.
+#
+# These are the extended keys defined in this file:
+#
+# kDC3 kDC4 kDC5 kDC6 kDC7 kDN kDN3 kDN4 kDN5 kDN6 kDN7 kEND3 kEND4 kEND5 kEND6
+# kEND7 kHOM3 kHOM4 kHOM5 kHOM6 kHOM7 kIC3 kIC4 kIC5 kIC6 kIC7 kLFT3 kLFT4
+# kLFT5 kLFT6 kLFT7 kNXT3 kNXT4 kNXT5 kNXT6 kNXT7 kPRV3 kPRV4 kPRV5 kPRV6 kPRV7
+# kRIT3 kRIT4 kRIT5 kRIT6 kRIT7 kUP kUP3 kUP4 kUP5 kUP6 kUP7 kxIN kxOUT ka2 kb1
+# kb3 kc2
+#
+# Bracketed paste is described with these capabilities in vim:
+#
+# BE enables bracketed paste
+# BD disables bracketed paste
+# PS is sent before the pasted text
+# PE is sent after the pasted text
+#
+# vim also uses these names for xterm focus:
+#
+# fe enables focus events
+# fd disables focus events
+#
+# Here are the other xterm-related extensions which are used in this file:
+#
+# Cr is a string capability which resets the cursor color
+# Cs is a string capability which sets the cursor color to a given value.
+#    The single string parameter is the color name/number, according to the
+#    implementation.
+# Ms modifies the selection/clipboard.  Its parameters are
+#	p1 = the storage unit (clipboard, selection or cut buffer)
+#	p2 = the base64-encoded clipboard content.
+# RV requests the terminal to report secondary device attributes (i.e, version).
+# rv shows the format of the terminal responses, as a regular expression.
+# Se resets the cursor style to the terminal power-on default.
+# Ss is a string capability with one numeric parameter.  It is used to set the
+#    cursor style as described by the DECSCUSR function to a block or
+#    underline.
+# TS is a string capability which acts like "tsl", but uses no parameter and
+#    goes to the first column of the "status line".
+# XF is set/true for terminals which support the xterm focus-in/focus-out
+#    escape sequences sent from the terminal to the host when private mode
+#    1004 is set.  Those are defined as kxIN and kxOUT, to take advantage of
+#    ncurses keypad mode to interpret them like a function key.  Because the
+#    1004 mode is usually combined with other flags to set the mouse protocol,
+#    this flag provides an application with the information that the focus
+#    mode is assumed to be set, e.g., in XM.
+# XM is a string capability which overrides ncurses's built-in string which
+#    enables/disables xterm mouse mode.
+# xm shows the format of the mouse responses.  Parameters:
+#	p1 = y-ordinate
+#	p2 = x-ordinate
+#	p3 = button
+#	p4 = state, e.g., pressed or released
+#	p5 = y-ordinate starting region
+#	p6 = x-ordinate starting region
+#	p7 = y-ordinate ending region
+#	p8 = x-ordinate ending region
+# Other extensions, used in xm:
+#	%u = UTF-8
+# XR requests the terminal to report its version as a free-format string.
+# xr shows the format of the terminal responses, as a regular expression.
+#
+#### Miscellaneous extensions:
+#
+# csr clears the status line
+# gsbom/grbom are used to enable/disable real bold (not intensity bright) mode.
+#    This was implemented for the Hurd.
+# rmxx/smxx describes the ECMA-48 strikeout/crossed-out attributes, as an
+#    experimental feature of tmux.
+# CO gives the number of indexed ("ANSI") colors which overlay an RGB color
+#    space.
+# E3 clears the terminal's scrollback buffer.  This was implemented in the
+#    Linux 3.0 kernel as a security feature.  It matches a feature which was
+#    added in xterm patch #107.
+# NQ denotes a terminal which does not support the standard query/response used
+#    in u6/u7 (cursor position) and u8/u9 (device attributes).
+# U8 is a numeric capability which denotes a terminal emulator which does not
+#    support VT100 SI/SO when processing UTF-8 encoding.  Set this to a nonzero
+#    value to enable it.
+# Smulx modifies the appearance of underlines in VTE, December 2017.
+#
+######## CHANGE HISTORY
+#
+# The last /etc/termcap version maintained by John Kunze was 8.3, dated 8/5/94.
+# Releases 9 and 10 (up until the release of ncurses 4.2 in 1998) were
+# maintained by Eric S. Raymond as part of the ncurses project.
+#
+# This file contains all the capability information present in John Kunze's
+# last version of the termcap master file, except as noted in the change
+# comments at end of file.  Some information about very ancient obsolete
+# capabilities has been moved to comments.  Some all-numeric names of older
+# terminals have been retired.
+#
+# I changed :MT: to :km: (the 4.4BSD name) everywhere.  I commented out some
+# capabilities (EP, dF, dT, dV, kn, ma, ml, mu, xr, xx) that are no longer
+# used by BSD curses.
+#
+# The 9.1.0 version of this file was translated from my lightly-edited copy of
+# 8.3, then mechanically checked against 8.3 using Emacs Lisp code written for
+# the purpose.  Unless the ncurses tic implementation and the Lisp code were
+# making perfectly synchronized mistakes which I then failed to catch by
+# eyeball, the translation was correct and perfectly information-preserving.
+#
+# Major version number bumps correspond to major version changes in ncurses.
+#
+# Here is a log of the changes since then:
+#
+# 9.1.0 (Wed Feb  1 04:50:32 EST 1995):
+#	* First terminfo master translated from 8.3.
+# 9.2.0 (Wed Feb  1 12:21:45 EST 1995):
+#	* Replaced Wyse entries with updated entries supplied by vendor.
+#
+# 9.3.0 (Mon Feb  6 19:14:40 EST 1995):
+#	* Added contact & status info from G. Clark Brown <clark@sssi.com>.
+# 9.3.1 (Tue Feb  7 12:00:24 EST 1995):
+#	* Better XENIX keycap translation.  Describe TC termcaps.
+#	* Contact and history info supplied by Qume.
+# 9.3.2 (Sat Feb 11 23:40:02 EST 1995):
+#	* Raided the Shuford FTP site for recent termcaps/terminfos.
+#	* Added information on X3.64 and VT100 standard escape sequences.
+# 9.3.3 (Mon Feb 13 12:26:15 EST 1995):
+#	* Added a correct X11R6 xterm entry.
+#	* Fixed terminfo translations of padding.
+# 9.3.4 (Wed Feb 22 19:27:34 EST 1995):
+#	* Added correct acsc/smacs/rmacs strings for vt100 and xterm.
+#	* Added u6/u7/u8/u9 capabilities.
+#	* Added PCVT entry.
+# 9.3.5 (Thu Feb 23 09:37:12 EST 1995):
+#	* Emacs uses :so:, not :mr:, for its mode line.  Fix linux entry
+#	  to use reverse-video standout so Emacs will look right.
+#	* Added el1 capability to ansi.
+#	* Added smacs/rmacs to ansi.sys.
+#
+# 9.4.0 (Sat Feb 25 16:43:25 EST 1995):
+#	* New mt70 entry.
+#	* Added COPYRIGHTS AND OTHER DELUSIONS.
+#	* Added AT&T 23xx & 500/513, vt220 and vt420, opus3n1+, netronics
+#	  smartvid & smarterm, ampex 175 & 219 & 232,
+#	  env230, falco ts100, fluke, intertube, superbrain, ncr7901, vic20,
+#	  ozzie, trs200, tr600, Tandy & Texas Instruments VDTs, intext2,
+#	  screwpoint, fviewpoint, Contel Business Systems, Datamedia Colorscan,
+#	  adm36, mime314, ergo4000, ca22851.  Replaced att7300, esprit, dd5500.
+#	* Replaced the Perkin-Elmer entries with vendor's official ones.
+#	* Restored the old minimal-ansi entry, luna needs it.
+#	* Fixed some incorrect ip and proportional-padding translations.
+# 9.4.1 (Mon Feb 27 14:18:33 EST 1995):
+#	* Fix linux & AT386 sgr strings to do A_ALTCHARSET turnoff correctly.
+#	* Make the xterm entry 65 lines again; create xterm25 and xterm24
+#	  to force a particular height.
+#	* Added beehive4 and reorganized other Harris entries.
+# 9.4.2 (Thu Mar  9 01:45:44 EST 1995):
+#	* Merged in DEC's official entries for its terminals.  The only old
+#	  entry I kept was Doug Gwyn's alternate vt100 (as vt100-avo).
+#	* Replaced the translated BBN BitGraph entries with purpose-built
+#	  ones from AT&T's SVr3.
+#	* Replaced the AT&T entries with AT&T's official terminfos.
+#	* Added Teleray 16, vc415, cops10.
+#	* Merged in many individual capabilities from SCO terminfo files.
+# 9.4.3 (Mon Mar 13 02:37:53 EST 1995):
+#	* Typo fixes.
+#	* Change linux entry so A_PROTECT enables IBM-PC ROM characters.
+# 9.4.4 (Mon Mar 27 12:32:35 EST 1995):
+#	* Added tty35, Ann Arbor Guru series. vi300 and 550, cg7900, tvi803,
+#	  pt210, ibm3164, IBM System 1, ctrm, Tymshare scanset, dt200, adm21,
+#	  simterm, citoh and variants.
+#	* Replaced sol entry with sol1 and sol2.
+#	* Replaced Qume QVT and Freedom-series entries with purpose-built
+#	  terminfo entries.
+#	* Enhanced vt220, tvi910, tvi924, hpterm, hp2645, adm42, tek
+#	  and dg200 entries using caps from SCO.
+#	* Added the usual set of function-key mappings to ANSI entry.
+#	* Corrected xterm's function-key capabilities.
+# 9.4.5 (Tue Mar 28 14:27:49 EST 1995):
+#	* Fix in xterm entry, cub and cud are not reliable under X11R6.
+# 9.4.6 (Thu Mar 30 14:52:15 EST 1995):
+#	* Fix in xterm entry, get the arrow keys right.
+#	* Change some \0 escapes to \200.
+# 9.4.7 (Tue Apr  4 11:27:11 EDT 1995)
+#	* Added apple (Videx card), adm1a, oadm31.
+#	* Fixed malformed ampex csr.
+#	* Fixed act4, cyb110; they had old-style prefix padding left in.
+#	* Changed mandatory to advisory padding in many entries.
+#	* Replaced HP entries up to hpsub with purpose-built ones.
+#	* Blank rmir/smir/rmdc/smdc capabilities removed.
+#	* Small fixes merged in from SCO entries for lpr, fos, tvi910+, tvi924.
+# 9.4.8 (Fri Apr  7 09:36:34 EDT 1995):
+#	* Replaced the Ann Arbor entries with SCO's, the init strings are
+#	  more efficient (but the entries otherwise identical).
+#	* Added dg211 from Shuford archive.
+#	* Added synertek, apple-soroc, ibmpc, pc-venix, pc-coherent, xtalk,
+#	  adm42-nl, pc52, gs6300, xerox820, uts30.
+#	* Pull SCO's padding into vi200 entry.
+#	* Improved capabilities for tvi4107 and other TeleVideo and Viewpoint
+#	  entries merged in from SCO's descriptions.
+#	* Fixed old-style prefix padding on zen50, h1500.
+#	* Moved old superbee entry to superbee-xsb, pulled in new superbee
+#	  entry from SCO's description.
+#	* Reorganized the special entries.
+#	* Added lm#0 to cbunix and virtual entries.
+#
+# 9.5.0 (Mon Apr 10 11:30:00 EDT 1995):
+#	* Restored cdc456tst.
+#	* Fixed sb1 entry, SCO erroneously left out the xsb glitch.
+#	* Added megatek, beacon, microkit.
+#	* Freeze for ncurses-1.9 release.
+# 9.5.1 (Fri Apr 21 12:46:42 EDT 1995):
+#	* Added historical data for TAB.
+#	* Comment fixes from David MacKenzie.
+#	* Added the new BSDI pc3 entry.
+# 9.5.2 (Tue Apr 25 17:27:52 EDT 1995)
+#	* A change in the tic -C logic now ensures that all entries in
+#	  the termcap translation will fit in < 1024 bytes.
+#	* Added `bobcat' and `gator' HP consoles and the Nu machine entries
+#	  from GNU termcap file.  This merges in all their local information.
+# 9.5.3 (Tue Apr 25 22:28:13 EDT 1995)
+#	* Changed tic -C logic to dump all capabilities used by GNU termcap.
+#	* Added warnings about entries with long translations (restoring
+#	  all the GNU termcaps pushes a few over the edge).
+# 9.5.4 (Wed Apr 26 15:35:09 EDT 1995)
+#	* Yet another tic change, and a couple of entry tweaks, to reduce the
+#	  number of long (> 1024) termcap translations back to 0.
+#
+# 9.6.0 (Mon May  1 10:35:54 EDT 1995)
+#	* Added kf13-kf20 to Linux entry.
+#	* Regularize Prime terminal names.
+#	* Historical data on Synertek.
+#	* Freeze for ncurses-1.9.1.
+# 9.6.1 (Sat May  6 02:00:52 EDT 1995):
+#	* Added true xterm-color entry, renamed djm's pseudo-color entry.
+#	* Eliminate whitespace in short name fields, this tanks some scripts.
+#	* Name field changes to shorten some long entries.
+#	* Termcap translation now automatically generates empty rmir/smir
+#	  when ich1/ich is present (copes with an ancient vi bug).
+#	* Added `screen' entries from FSF's screen-3.6.2.
+#	* Added linux-nic and xterm-nic entries.
+# 9.6.2 (Sat May  6 17:00:55 EDT 1995):
+#	* Change linux entry to use smacs=\E[11m and have an explicit acsc,
+#	  eliminating some special-case code in ncurses.
+#
+# 9.7.0 (Tue May  9 18:03:12 EDT 1995):
+#	* Added vt320-k3, rsvidtx from the Emacs termcap.dat file.  I think
+#	  that captures everything unique from it.
+#	* Added reorder script generator.
+#	* Freeze for ncurses 1.9.2 release.
+# 9.7.1 (Thu Jun 29 09:35:22 EDT 1995):
+#	* Added Sean Farley's kspd, flash, rs1 capabilities for linux.
+#	* Added Olaf Siebert's corrections for adm12.
+#	* ansi-pc-color now includes the colors and pairs caps, so that
+#	  entries which use it will inherit them automatically.
+#	* The linux entry can now recognize the center (keypad 5) key.
+#	* Removed some junk that found its way into Linux acsc.
+#
+# 9.8.0 (Fri Jul  7 04:46:57 EDT 1995):
+#	* Add 50% cut mark as a desperate hack to reduce tic's core usage.
+#	* xterm doesn't try to use application keypad mode any more.
+#	* Freeze for ncurses-1.9.3 release.
+# 9.8.1 (Thu Jul 19 17:02:12 EDT 1995):
+#	* Added corrected sun entry from vendor.
+#	* Added csr capability to linux entry.
+#	* Peter Wemm says the at386 hpa should be \E[%i%p1%dG, not \E[%p1%dG.
+#	* Added vt102-nsgr to cope with stupid IBM PC `VT100' emulators.
+#	* Some commented-out caps in long entries come back in, my code
+#	  for computing string-table lengths had a bug in it.
+#	* pcansi series modified to fit comm-program reality better.
+# 9.8.2 (Sat Sep  9 23:35:00 EDT 1995):
+#	* BSD/OS actually ships the ibmpc3 bold entry as its console.
+#	* Correct some bad aliases in the pcansi series
+#	* Added entry for QNX console.
+#	* Clean up duplicate long names for use with 4.4 library.
+#	* Change vt100 standout to be normal reverse vide, not bright reverse;
+#	  this makes the Emacs status line look better.
+# 9.8.3 (Sun Sep 10 13:07:34 EDT 1995):
+#	* Added Adam Thompson's VT320 entries, also his dtx-sas and z340.
+#	* Minor surgery, mostly on name strings, to shorten termcap version.
+#
+# 9.9.0 (Sat Sep 16 23:03:48 EDT 1995):
+#	* Added dec-vt100 for use with the EWAN emulator.
+#	* Added kmous to xterm for use with xterm's mouse-tracking facility.
+#	* Freeze for 1.9.5 alpha release.
+# 9.9.1 (Wed Sep 20 13:46:09 EDT 1995):
+#	* Changed xterm lines to 24, the X11R6 default.
+# 9.9.2 (Sat Sep 23 21:29:21 EDT 1995):
+#	* Added 7 newly discovered, undocumented acsc characters to linux
+#	  entry (the pryz{|} characters).
+#	* ncurses no longer steals A_PROTECT.  Simplify linux sgr accordingly.
+#	* Correct two typos in the xterm entries introduced in 9.9.1.
+#	* I finally figured out how to translate ko capabilities.  Done.
+#	* Added tvi921 entries from Tim Theisen.
+#	* Cleanup: dgd211 -> dg211, adm42-nl -> adm42-nsl.
+#	* Removed mystery tec entry, it was neither interesting nor useful.
+#	* shortened altos3, qvt203, tvi910+, tvi92D, tvi921-g, tvi955, vi200-f,
+#	  vi300-ss, att505-24, contel301, dm3045, f200vi, pe7000c, vc303a,
+#	  trs200, wind26, wind40, wind50, cdc456tst, dku7003, f110, dg211,
+#	  by making them relative to use capabilities
+#	* Added cuf1=^L to tvi925 from deleted variant tvi925a.
+#	* fixed cup in adm22 entry and parametrized strings in vt320-k3.
+#	* added it#8 to entries that used to have :pt: -- tvi912, vi200,
+#	  ampex80,
+#	* Translate all home=\E[;H capabilities to home=\E[H, they're
+#	  equivalent.
+#	* Translate \E[0m -> \E[m in [rs]mso, [rs]mul, and init strings of
+#	  vt100 and ANSI-like terminals.
+# 9.9.3 (Tue Sep 26 20:11:15 EDT 1995):
+#	* Added it#8 and ht=\t to *all* entries with :pt:; the ncurses tic
+#	  does this now, too.
+#	* fviewpoint is gone, it duplicated screwpoint.
+#	* Added hp2627, graphos, graphos-30, hpex, ibmega, ibm8514, ibm8514-c,
+#	  ibmvga, ibmvga-c, minix, mm340, mt4520-rv, screen2, screen3,
+#	  versaterm, vi500, vsc, vt131, vt340, vt400 entries from UW.
+#	  The UW vi50 replaces the old one, which becomes vi50adm,
+#	* No more embedded commas in name fields.
+#
+# 9.10.0 (Wed Oct  4 15:39:37 EDT 1995):
+#	* XENIX forms characters in fos, trs16, scoansi become acsc strings,
+#	* Introduced klone+* entries for describing Intel-console behavior.
+#	* Linux kbs is default-mapped to delete for some brain-dead reason.
+#	* -nsl -> -ns.  The -pp syntax is obsolete.
+#	* Eliminate [A-Z]* primaries in accordance with SVr4 terminfo docs.
+#	* Make xterm entry do application-keypad mode again.  I got complaints
+#	  that it was messing up someone's 3270 emulator.
+#	* Added some longname fields in order to avoid warning messages from
+#	  older tic implementations.
+#	* According to ctlseqs.ms, xterm has a full vt100 graphics set.  Use
+#	  it! (This gives us pi, greater than, less than, and a few more.)
+#	* Freeze for ncurses-1.9.6 release.
+# 9.10.1 (Sat Oct 21 22:18:09 EDT 1995):
+#	* Add xon to a number of console entries, they're memory-mapped and
+#	  don't need padding.
+#	* Correct the use dependencies in the ansi series.
+#	* Hand-translate more XENIX capabilities.
+#	* Added hpterm entry for HP's X terminal emulator.
+#	* Added aixterm entries.
+#	* Shortened four names so everything fits in 14 chars.
+#
+# 9.11.0 (Thu Nov  2 17:29:35 EST 1995):
+#	* Added ibcs2 entry and info on iBCS2 standard.
+#	* Corrected hpa/vpa in linux entry.  They still fail the worm test.
+#	* We can handle the HP meml/memu capability now.
+#	* Added smacs to klone entries, just as documentation.
+#	* Corrected ansi.sys and cit-500 entries.
+#	* Added z39, vt320-k311, v220c, and avatar entries.
+#	* Make pcansi use the ansi.sys invis capability.
+#	* Added DIP switch descriptions for vt100, adm31, tvi910, tvi920c,
+#	  tvi925, tvi950, dt80, ncr7900i, h19.
+#	* X3.64 has been withdrawn, change some references.
+#	* Removed function keys from ansi-m entry.
+#	* Corrected ansi.sys entry.
+#	* Freeze for ncurses-1.9.7 release.
+# 9.11.1 (Tue Nov  6 18:18:38 EST 1995):
+#	* Added rmam/smam capabilities to many entries based on init strings.
+#	* Added correct hpa/vpa to linux.
+#	* Reduced several entries relative to vt52.
+# 9.11.2 (Tue Nov  7 00:21:06 EST 1995):
+#	* Exiled some utterly unidentifiable custom and homebrew types to the
+#	  UFO file; also, obsolete small-screen hardware; also, entries which
+#	  look flat-out incorrect, garbled, or redundant.  These include the
+#	  following entries: carlock, cdc456tst, microkit, qdss, ramtek, tec,
+#	  tec400, tec500, ubell, wind, wind16, wind40, wind50, plasma, agile,
+#	  apple, bch, daleblit, nucterm, ttywilliams, nuterminal, nu24, bnu,
+#	  fnu, nunix-30, nunix-61, exidy, ex3000, sexidy, pc52, sanyo55,
+#	  yterm10, yterm11, yterm10nat, aed, aed-ucb, compucolor, compucolor2,
+#	  vic20, dg1, act5s, netx, smartvid, smarterm, sol, sol2, dt200,
+#	  trs80, trs100, trs200, trs600, xitex, rsvidtx, vid, att2300-x40,
+#	  att2350-x40, att4410-nfk, att5410-ns, otty5410, att5425-nl-w,
+#	  tty5425-fk, tty5425-w-fk, cita, c108-na, c108-rv-na, c100-rv-na,
+#	  c108-na-acs, c108-rv-na-acs, ims950-ns, infotonKAS, ncr7900i-na,
+#	  regent60na, scanset-n, tvi921-g, tvi925n, tvi925vbn, tvi925vb,
+#	  vc404-na, vc404-s-na, vt420nam, vt420f-nam, vt420pc-nam, vt510nam,
+#	  vt510pc-nam, vt520nam, vt525nam, xterm25, xterm50, xterm65, xterms.
+#	* Corrected pcvt25h as suggested by Brian C. Grayson
+#	  <bgrayson@pine.ece.utexas.edu>.
+# 9.11.3 (Thu Nov  9 12:14:40 EST 1995):
+#	* Added kspd=\E[P, kcbt=\E[Z, to linux entry, changed kbs back to ^H.
+#	* Added kent=\EOM to xterm entry.
+#
+# 9.11.4 (Fri Nov 10 08:31:35 EST 1995):
+#	* Corrected gigi entry.
+#	* Restored cuf/cud1 to xterm, their apparent bugginess was due to
+#	  bad hpa/vpa capabilities.
+#	* Corrected flash strings to have a uniform delay of .2 sec.  No
+#	  more speed-dependent NUL-padding!
+#	* terminfo capabilities in comments bracketed with <>.
+# 9.11.5 (Fri Nov 10 15:35:02 EST 1995):
+#	* Replaced pcvt with the 3.31 pcvt entries.
+#	* Freeze for 1.9.7a.
+# 9.11.6 (Mon Nov 13 10:20:24 EST 1995):
+#	* Added emu entry from the X11R6 contrib tape sources.
+#
+# 9.12.0 (Wed Nov 29 04:22:25 EST 1995):
+#	* Improved iris-ansi and sun entries.
+#	* More flash string improvements.
+#	* Corrected wy160 & wy160 as suggested by Robert Dunn
+#	* Added dim to at386.
+#	* Reconciled pc3 and ibmpc3 with the BSDI termcap file.  Keith says
+#	  he's ready to start using the termcap generated from this one.
+#	* Added vt102-w, vt220-w, xterm-bold, wyse-vp, wy75ap, att4424m,
+#	  ln03, lno3-w, h19-g, z29a*, qdss.  Made vt200 an alias of vt220.
+#	* Improved hpterm, apollo consoles, fos, qvt101, tvi924. tvi925,
+#	  att610, att620, att630,
+#	* Changed hazeltine name prefix from h to hz.
+#	* Sent t500 to the UFI file.
+#	* I think we've sucked all the juice out of BSDI's termcap file now.
+#	* Freeze for ncurses 1.9.8 release
+# 9.12.1 (Thu Nov 30 03:14:06 EST 1995)
+#	* Unfreeze, linux kbs needed to be fixed.
+#	* Tim Theisen pinned down a bug in the DMD firmware.
+# 9.12.2 (Thu Nov 30 19:08:55 EST 1995):
+#	* Fixes to ansi and klone capabilities (thank you, Aaron Ucko).
+#	  (The broken ones had been shadowed by sgr.)
+# 9.12.3 (Thu Dec  7 17:47:22 EST 1995):
+#	* Added documentation on ECMA-48 standard.
+#	* New Amiga entry.
+# 9.12.4 (Thu Dec 14 04:16:39 EST 1995):
+#	* More ECMA-48 stuff
+#	* Corrected typo in minix entry, added pc-minix.
+#	* Corrected khome/kend in xterm (thank you again, Aaron Ucko).
+#	* Added rxvt entry.
+#	* Added 1.3.x color-change capabilities to linux entry.
+# 9.12.5 (Tue Dec 19 00:22:10 EST 1995):
+#	* Corrected rxvt entry khome/kend.
+#	* Corrected linux color change capabilities.
+#	* NeXT entries from Dave Wetzel.
+#	* Cleaned up if and rf file names (all in /usr/share now).
+#	* Changed linux op capability to avoid screwing up a background color
+#	  pair set by setterm.
+# 9.12.6 (Wed Feb  7 16:14:35 EST 1996):
+#	* Added xterm-sun.
+# 9.12.7 (Fri Feb  9 13:27:35 EST 1996):
+#	* Added visa50.
+#
+# 9.13.0 (Sun Mar 10 00:13:08 EST 1996):
+#	* Another sweep through the Shuford archive looking for new info.
+#	* Added dg100 alias to dg6053 based on a comp.terminals posting.
+#	* Added st52 from Per Persson.
+#	* Added eterm from the GNU Emacs 19.30 distribution.
+#	* Freeze for 1.9.9.
+# 9.13.1 (Fri Mar 29 14:06:46 EST 1996):
+#	* FreeBSD console entries from Andrew Chernov.
+#	* Removed duplicate Atari st52 name.
+# 9.13.2 (Tue May  7 16:10:06 EDT 1996)
+#	* xterm doesn't actually have ACS_BLOCK.
+#	* Change klone+color setf/setb to simpler forms that can be
+#	  translated into termcap.
+#	* Added xterm1.
+#	* Removed mechanically-generated junk capabilities from cons* entries.
+#	* Added color support to bsdos.
+# 9.13.3 (Thu May  9 10:35:51 EDT 1996):
+#	* Added Wyse 520 entries from Wm. Randolph Franklin <wrf@ecse.rpi.edu>.
+#	* Created ecma+color, linux can use it.  Also added ech to linux.
+#	* Teach xterm about more keys. Add Thomas Dickey's 3.1.2E updates.
+#	* Add descriptions to FreeBSD console entries.  Also shorten
+#	  some aliases to <= 14 chars for portability.
+#	* Added x68k console
+#	* Added OTbs to several VT-series entries.
+# 9.13.4 (Wed May 22 10:54:09 EDT 1996):
+#	* screen entry update for 3.7.1 from Michael Alan Dorman.
+# 9.13.5 (Wed Jun  5 11:22:41 EDT 1996):
+#	* kterm correction due to Kenji Rikitake.
+#	* ACS correction in vt320-kll due to Phillippe De Muyter.
+# 9.13.6 (Sun Jun 16 15:01:07 EDT 1996):
+#	* Sun console entry correction from J.T. Conklin.
+#	* Changed all DEC VT300 and up terminals to use VT300 tab set
+# 9.13.7 (Mon Jul  8 20:14:32 EDT 1996):
+#	* Added smul to linux entry (we never noticed it was missing
+#	  because of sgr!).
+#	* Added rmln to hp+labels (deduced from other HP entries).
+#	* Added vt100 acsc capability to vt220, vt340, vt400, d800, dt80-sas,
+#	  pro350, att7300, 5420_2, att4418, att4424, att4426, att505, vt320-k3.
+#	* Corrected vt220 acsc.
+#	* The klone+sgr and klone+sgr-dumb entries now use klone+acs;
+#	  this corresponds to reality and helps prevent some tic warnings.
+#	* Added sgr0 to c101, pcix, vt100-nav, screen2, oldsun, next, altos2,
+#	  hpgeneric, hpansi, hpsub, hp236, hp700-wy, bobcat, dku7003, adm11,
+#	  adm12, adm20, adm21, adm22, adm31, adm36, adm42, pt100, pt200,
+#	  qvt101, tvi910, tvi921, tvi92B, tvi925, tvi950, tvi970, wy30-mc,
+#	  wy50-mc, wy100, wyse-vp, ampex232, regent100, viewpoint, vp90,
+#	  adds980, cit101, cit500, contel300, cs10, dm80, falco, falco-p,
+#	  f1720a, go140, sb1, superbeeic, microb, ibm8512, kt7, ergo4000,
+#	  owl, uts30, dmterm, dt100, dt100, dt110, appleII, apple-videx,
+#	  lisa, trsII, atari, st52, pc-coherent, basis, m2-man, bg2.0, bg1.25,
+#	  dw3, ln03, ims-ansi, graphos, t16, zen30, xtalk, simterm, d800,
+#	  ifmr, v3220, wy100q, tandem653, ibmaed.
+#	* Added DWK terminal description.
+# 9.13.8 (Wed Jul 10 11:45:21 EDT 1996):
+#	* Many entries now have highlights inherited from adm+sgr.
+#	* xterm entry now corresponds to XFree86 3.1.2E, with color.
+#	* xtitle and xtitle-twm enable access to the X status line.
+#	* Added linux-1.3.6 color palette caps in conventional format.
+#	* Added adm1178 terminal.
+#	* Move fos and apollo terminals to obsolete category.
+#	* Aha! The BRL terminals file told us what the Iris extensions mean.
+#	* Added, from the BRL termcap file: rt6221, rt6221-w, northstar,
+#	  commodore, cdc721-esc, excel62, osexec.  Replaced from the BRL file:
+#	  cit500, adm11.
+# 9.13.9 (Mon Jul 15 00:32:51 EDT 1996):
+#	* Added, from the BRL termcap file: cdc721, cdc721l, cdc752, cdc756,
+#	  aws, awsc, zentec8001, modgraph48, rca vp3301/vp3501, ex155.
+#	* Corrected, from BRL termcap file: vi50.
+#	* Better rxvt entry & corrected xterm entries from Thomas Dickey.
+# 9.13.10 (Mon Jul 15 12:20:13 EDT 1996):
+#	* Added from BRL: cit101e & variants, hmod1, vi200, ansi77, att5620-1,
+#	  att5620-s, att5620-s, dg210, aas1901, hz1520, hp9845, osborne
+#	  (old osborne moved to osborne-w), tvi970-vb, tvi970-2p, tvi925-hi,
+#	  tek4105brl, tek4106brl, tek4107brl,tek4109brl, hazel, aepro,
+#	  apple40p, apple80p, appleIIgs, apple2e, apple2e-p, apple-ae.
+#	* Paired-attribute fixes to various terminals.
+#	* Sun entry corrections from A. Lukyanov & Gert-Jan Vons.
+#	* xterm entry corrections from Thomas Dickey.
+# 9.13.11 (Tue Jul 30 16:42:58 EDT 1996):
+#	* Added t916 entry, translated from a termcap in SCO's support area.
+#	* New qnx entry from Michael Hunter.
+# 9.13.12 (Mon Aug  5 14:31:11 EDT 1996):
+#	* Added hpex2 from Ville Sulko.
+#	* Fixed a bug that ran the qnx and pcvtXX together.
+# 9.13.13 (Fri Aug  9 01:16:17 EDT 1996):
+#	* Added dtterm entry from Solaris CDE.
+# 9.13.14 (Tue Sep 10 15:31:56 EDT 1996):
+#	* corrected pairs#8 typo in dtterm entry.
+#	* added tvi9065.
+# 9.13.15 (Sun Sep 15 02:47:05 EDT 1996):
+#	* updated xterm entry to cover 3.1.2E's new features.
+# 9.13.16 (Tue Sep 24 12:47:43 EDT 1996):
+#	* Added new minix entry
+#	* Removed aliases of the form ^[0-9]* for obsolete terminals.
+#	* Commented out linux-old, nobody's using pre-1.2 kernels now.
+# 9.13.17 (Fri Sep 27 13:25:38 EDT 1996):
+#	* Added Prism entries and kt7ix.
+#	* Caution notes about EWAN and tabset files.
+#	* Changed /usr/lib/tabset -> /usr/share/tabset.
+#	* Added acsc/rmacs/smacs to vt52.
+# 9.13.18 (Mon Oct 28 13:24:59 EST 1996):
+#	* Merged in Thomas Dickey's reorganization of the xterm entries;
+#	  added technical corrections to avoid warning messages.
+# 9.13.19 (Sat Nov 16 16:05:49 EST 1996):
+#	* Added rmso=\E[27m in Linux entry.
+#	* Added koi8-r support for Linux console.
+#	* Replace xterm entries with canonical ones from XFree86 3.2.
+# 9.13.20 (Sun Nov 17 23:02:51 EST 1996):
+#	* Added color_xterm from Jacob Mandelson
+# 9.13.21 (Mon Nov 18 12:43:42 EST 1996):
+#	* Back off the xterm entry to use r6 as a base.
+# 9.13.22 (Sat Nov 30 11:51:31 EST 1996):
+#	* Added dec-vt220 at Adrian Garside's request.
+#
+#-(original-changelog-1996/12/29-to-1998/02/28-by-TD)---------------------------
+#
+# 10.1.0 (Sun Dec 29 02:36:31 EST 1996): withdrawn
+#	* Minor corrections to xterm entries.
+#	* Replaced EWAN telnet entry.
+#	* Dropped the reorder script generator.  It was a fossil.
+# 9.13.23 (Fri Feb 21 16:36:06 EST 1997):
+#	* Replaced minitel-2 entry.
+#	* Added MGR, ansi-nt.
+# 9.13.24 (Sun Feb 23 20:55:23 EST 1997):
+#	* Thorsten Lockert added termcap `bs' to a lot of types, working from
+#	  the 4.4BSD Lite2 file.
+#
+# 10.1.1 (Sat May  3 21:41:27 EDT 1997):
+#	* Use setaf/setab consistently with SVr4.
+#	* Remove ech, el1 from cons25w, they do not work in FreeBSD 2.1.5
+# 10.1.2 (Sat May 24 21:10:57 EDT 1997)
+#	* update xterm-xf86-v32 to match XFree86 3.2A (changes F1-F4)
+#	* add xterm-16color, for XFree86 3.3
+# 10.1.3 (Sat May 31 12:21:05 EDT 1997)
+#	* correct typo in emu
+#	* correct typo in vt102-w (Robert Wuest)
+#	* make new entry xterm-xf86-v33, restored xterm-xf86-v32.
+# 10.1.4 (Sun Jun 15 08:29:05 EDT 1997)
+#	* remove ech capability from rxvt (it does the wrong thing)
+# 10.1.5 (Sat Jun 28 21:34:36 EDT 1997)
+#	* remove spurious newlines from several entries (hp+color, wy50,
+#	  wy350, wy370-nk, wy99gt-tek, wy370-tek, ibm3161, tek4205, ctrm,
+#	  gs6300)
+# 10.1.6 (Sat Jul  5 15:08:16 EDT 1997)
+#	* correct rmso capability of wy50-mc
+# 10.1.7 (Sat Jul 12 20:05:55 EDT 1997)
+#	* add cbt to xterm-xf86-v32
+#	* disentangle some entries from 'xterm', preferring xterm-r6 in case
+#	  'xterm' is derived from xterm-xf86-v32, which implements ech and
+#	  other capabilities not in xterm-r6.
+#	* remove alternate character set from kterm entry.
+# 10.1.8 (Sat Aug  2 18:43:18 EDT 1997)
+#	* correct acsc entries for ACS_LANTERN, which is 'i', not 'I'.
+# 10.1.9 (Sat Aug 23 17:54:38 EDT 1997)
+#	* add xterm-8bit entry.
+# 10.1.10 (Sat Oct  4 18:17:13 EDT 1997)
+#	* repair several places where early version of tic replaced \, with \\\,
+#	* make acsc entries canonical form (sorted, uniq).
+#	* modify acsc entries for linux, linux-koi8
+#	* new rxvt entry, from corrected copy of distribution in rxvt 2.21b
+#	* add color, mouse support to kterm.
+# 10.1.11 (Sat Oct 11 14:57:10 EDT 1997)
+#	* correct wy120 smxon/tbc capabilities which were stuck together.
+# 10.1.12 (Sat Oct 18 17:38:41 EDT 1997)
+#	* add entry for xterm-xf86-v39t
+# 10.1.13 (Sat Nov  8 13:43:33 EST 1997)
+#	* add u8,u9 to sun-il description
+# 10.1.14 (Sat Nov 22 19:59:03 EST 1997)
+#	* add vt220-js, pilot, rbcomm, datapoint entries from esr's 27-jun-97
+#	  version.
+#	* add hds200 description (Walter Skorski)
+#	* add EMX 0.9b descriptions
+#	* correct rmso/smso capabilities in wy30-mc and wy50-mc (Daniel Weaver)
+#	* rename xhpterm back to hpterm.
+# 10.1.15 (Sat Nov 29 19:21:59 EST 1997)
+#	* change initc in linux-c-nc to use 0..1000 range.
+# 10.1.16 (Sat Dec 13 19:41:59 EST 1997)
+#	* remove hpa/vpa from rxvt, which implements them incorrectly.
+#	* add sgr0 for rxvt.
+#	* remove bogus smacs/rmacs from EMX descriptions.
+# 10.1.17 (Sat Dec 20 17:54:10 EST 1997)
+#	* revised entry for att7300
+# 10.1.18 (Sat Jan  3 17:58:49 EST 1998)
+#	* use \0 rather than \200.
+#	* rename rxvt-color to rxvt to match rxvt 2.4.5 distribution.
+# 10.1.19 (Sat Jan 17 14:24:57 EST 1998)
+#	* change xterm (xterm-xf86-v40), xterm-8bit rs1 to use hard reset.
+#	* rename xterm-xf86-v39t to xterm-xf86-v40
+#	* remove bold/underline from sun console entries since they're not
+#	  implemented.
+# 10.1.20 (Sat Jan 24 11:02:51 EST 1998)
+#	* add beterm entry (Fred Fish)
+#	* add irix-color/xwsh entry.
+#	* turn ncv off for linux.
+# 10.1.21 (Sat Jan 31 17:39:16 EST 1998)
+#	* set ncv for FreeBSD console (treat colors with reverse specially).
+#	* remove sgr string from qnx based on report by Xiaodan Tang
+# 10.1.22 (Wed Feb 11 18:40:12 EST 1998)
+#	* remove spurious commas from descriptions
+#	* correct xterm-8bit to match XFree86 3.9Ad F1-F4.
+# 10.1.23 (Sat Feb 28 17:48:38 EST 1998)
+#	* add linux-koi8r to replace linux-koi8 (which uses a corrupt acsc,
+#	  apparently based on cp-866).
+#
+#-(replaced-changelog-1998/02/28-by-ESR)----------------------------------------
+#
+# 9.13.23 (Fri Feb 21 16:36:06 EST 1997):
+#	* Replaced minitel-2 entry.
+#	* Added MGR, ansi-nt.
+#	* Minor corrections to xterm entries.
+#	* Replaced EWAN telnet entry.
+#	* Dropped the reorder script generator.  It was a fossil.
+# 9.13.24 (Sun Feb 23 20:55:23 EST 1997):
+#	* Thorsten Lockert added termcap `bs' to a lot of types, working from
+#	  the 4.4BSD Lite2 file.
+# 9.13.25 (Fri Jun 20 12:33:36 EDT 1997):
+#	* Added Datapoint 8242, pilot, ansi_psx, rbcomm, vt220js.
+#	* Updated iris-ansi; corrected vt102-w.
+#	* Switch base xterm entry to 3.3 level.
+# 9.13.26 (Mon Jun 30 22:45:45 EDT 1997)
+#	* Added basic4.
+#	* Removed rmir/smir from tv92B.
+#
+# 10.2.0 (Sat Feb 28 12:47:36 EST 1998):
+#	* add hds200 description (Walter Skorski)
+#	* add beterm entry (Fred Fish)
+#	* add Thomas Dickey's xterm-xf86-v40, xterm-8bit, xterm-16color,
+#	  iris-color entries.
+#	* add emx entries.
+#	* Replaced unixpc entry with Benjamin Sittler's corrected version.
+#	* Replaced xterm/rxvt/emu/syscons entries with Thomas Dickey's
+#	  versions.
+#	* remove sgr string from qnx based on report by Xiaodan Tang
+#	* Added u8/u9, removed rmul/smul from sun-il.
+#	* 4.2 tic displays \0 rather than \200.
+#	* add linux-koi8r to replace linux-koi8 (which uses a corrupt acsc,
+#	  apparently based on cp-866).
+#	* Merged in Pavel Roskin's acsc for linux-koi8
+#	* Corrected some erroneous \\'s to \.
+#	* 4.2 ncurses has been changed to use setaf/setab, consistent w/SysV.
+#	* II -> ii in pcvtXX, screen, xterm.
+#	* Removed \n chars following ANSI escapes in sgr & friends.
+#	* Updated Wyse entries.
+#	* h19 corrections from Tim Pierce.
+#	* Noted that the dm2500 has both ich and smir.
+#	* added pccons for the Alpha under OSF/1.
+#	* Added Sony NEWS workstation entries and cit101e-rv.
+#	* Reverted `amiga'; to Kent Polk's version, as I'm told
+#	  the Verkuil entry messes up with Amiga Telnet.
+# 10.2.1 (Sun Mar  8 18:32:04 EST 1998):
+#	* Corrected attributions in 10.2.0 release notes.
+#	* Scanned the Shuford archive for new terminfos and information.
+#	* Removed sgr from qnx entry (Thomas Dickey).
+#	* Added entries for ICL and Kokusai Data Systems terminals.
+#	* Incorporated NCR terminfos from the Boundless Technology FTP site.
+#	* Incorporated att700 from the Boundless Technology FTP site.
+#	* Miscellaneous contact-address and Web-page updates.
+#
+#-(changelog-beginning-ncurses-4.2)---------------------------------------------
+#
+# 1998/5/9
+#	* add nxterm and xterm-color terminfo description (request by Cristian
+#	  Gafton <gafton@redhat.com>).
+#	* modify rxvt terminfo description to clear alternate screen before
+#	  switching back to normal screen, for compatibility with applications
+#	  which use xterm (reported by Manoj Kasichainula <manojk@io.com>).
+#	* modify linux terminfo description to reset color palette (reported
+#	  by Telford Tendys <telford@eng.uts.edu.au>).
+#
+# 1998/7/4
+#	* merge changes from current XFree86 xterm terminfo descriptions.
+#
+# 1998/7/25
+#	* Added minitel1 entries from Alexander Montaron.
+#	* Added qnxt2 from Federico Bianchi.
+#	* Added arm100 terminfo entries from Dave Millen.
+#
+# 1998/8/6
+#	* Added ncsa telnet entries from Francesco Potorti
+#
+# 1998/8/15
+#	* modify ncsa telnet entry to reflect color, other capabilities based on
+#	  examination of the source code - T.Dickey.
+#
+# 1998/8/22
+#	* Corrected some erroneous \\'s to \ (eterm, osborne) - TD.
+#
+# 1998/8/29
+#	* Added Francesco Potorti's tuned Wyse 99 entries.
+#	* dtterm enacs correction from Alexander V. Lukyanov.
+#	* Add ncsa-ns, ncsa-m-ns and ncsa-m entries from esr version.
+#	* correct a typo in icl6404 entry.
+#	* add xtermm and xtermc
+#
+# 1998/9/26
+#	* format most %'char' sequences to %{number}
+#	* adapt IBM AIX 3.2.5 terminfo - T.Dickey
+#	* merge Data General terminfo from Hasufin <hasufin@vidnet.net> - TD
+#
+# 1998/10/10
+#	* update xterm-xfree86 to current (xterm patch #84), for is2/rs2 changes - TD
+#	* correct initialization string in xterm-r5, add misc other features
+#	  to correspond with xterm patch #84 - TD
+#
+# 1998/12/19
+#	* update xterm-xfree86 to current (xterm patch #90), smcur/rmcur changes - TD
+#	* add Mathew Vernon's mach console entries
+#	* corrections for ncsa function-keys (report by Larry Virden)
+#
+# 1998/12/19
+#	* change linux to use ncv#2, since underline does not work with color - TD
+#
+# 1999/1/9
+#	* add kbt to iris-ansi, document other shift/control functionkeys - TD
+#	* correct iris-ansi and iris-ansi-ap with respect to normal vs keypad
+#	  application modes, change kent to use the correct keypad code - TD
+#
+# 1999/1/10
+#	* add entry for Tera Term - TD
+#
+# 1999/1/23
+#	* minor improvements for teraterm entry - TD
+#	* rename several entries used by BSDI: bsdos to bsdos-pc-nobold,
+#	  and bsdos-bold to bsdos-pc (Jeffrey C Honig)
+#
+# 1999/2/20
+#	* resolve ambiguity of kend/kll/kslt and khome/kfnd/kich1 strings in
+#	  xterm and ncsa entries by removing the unneeded ones.  Note that
+#	  some entries will return kend & khome versus kslt and kfnd, for
+#	  PC-style keyboards versus strict vt220 compatibility - TD
+#
+# 1999/3/13
+#	* adjust xterm-xfree86 khome/kend to match default PC-style keyboard
+#	  tables - TD
+#	* add 'crt' entry - TD
+#	* correct typos in 'linux-c' entry - TD
+#
+# 1999/3/14
+#	* update entries for BSD/OS console to use klone+sgr and klone+color
+#	  (Jeffrey C Honig)
+#
+# 1999/3/27
+#	* adjust xterm-xfree86 miscellaneous keypad keys, as per xterm patch #94 - TD.
+#
+# 1999/4/10
+#	* add linux-lat, from RedHat patches to ncurses 4.2
+#
+# 1999/4/17
+#	* add complete set of default function-key definitions for scoansi - TD.
+#
+# 1999/7/3
+#	* add cnorm, cvvis for Linux 2.2 kernels
+#
+# 1999/7/24
+#	* add kmous to xterm-r5 -TD
+#	* correct entries xterm+sl and xterm+sl-twm, which were missing the
+#	  parent "use" clause -TD
+#
+# 1999/7/31
+#	* corrected cnorm, added el1 in 'screen' description -TD
+#
+# 1999/8/14
+#	* add ms-vt100 -TD
+#
+# 1999/8/21
+#	* corrections to beterm entry -TD
+#
+# 1999/8/28
+#	* add cygwin entry -TD
+#
+# 1999/9/4
+#	* minor corrections for beterm entry -TD
+#
+# 1999/9/18
+#	* add acsc string to HP 70092 terminfo entry -Joerg Wunsch
+#
+# 1999/9/25
+#	* add amiga-8bit entry
+#	* add console entries from NetBSD: ofcons, wsvt25, wsvt25m, rcons,
+#	  rcons-color, based on
+#	  ftp://ftp.netbsd.org/pub/NetBSD/NetBSD-current/src/share/termcap/termcap.src
+#	* add alias for iris-ansi-net
+#
+# 1999/10/2
+#	* corrected scoansi entry's acsc, some function keys, add color -TD
+#
+# 1999/10/23
+#	* add cnorm, cvvis to cons25w, and modify ncv to add 'dim' -TD
+#	* reorder ncsa entries to make ncsa-vt220 use the alternate function
+#	  key mapping, leaving Potorti's entries more like he named them -TD
+#	* remove enter/exit am-mode from cygwin -TD
+#
+# 1999/10/30
+#	* correct typos in several entries (missing '[' from CSI):
+#	  mgr-sun, ncsa-m, vt320-k3, att505, avt-ns, as well as smir/rmir
+#	  strings for avt-ns -TD
+#	* add 'dim' to ncv mask for linux (report by Klaus Weide).
+#
+# 1999/11/27
+#	* correct kf1-kf4 in xterm-r6 which were vt100-style PF1-PF4 -TD
+#	* add hts to xterm-r6, and u6-u9 to xterm-r5 -TD
+#	* add xterm-88color and xterm-256color -TD
+#
+# 1999/12/4
+#	* add "obsolete" termcap strings -TD
+#	* add kvt and gnome entries -TD
+#
+# 1999/12/11
+#	* correct cup string for regent100 -TD
+#
+# 2000/1/1
+#	* update mach, add mach-color based on Debian diffs for ncurses 5.0 -TD
+#	* add entries for xterm-hp, xterm-vt220, xterm-vt52 and xterm-noapp -TD
+#	* change OTrs capabilities to rs2 -TD
+#	* add obsolete and extended capabilities to 'screen' -TD
+#
+# 2000/1/5
+#	* remove kf0 from rxvt, vt520, vt525 and ibm5151 since it conflicts
+#	  with kf10 -TD
+#	* updated xterm-xf86-v40, making kdch1 correspond to vt220 'Remove',
+#	  and adding kcbt -TD
+#
+# 2000/1/12
+#	* remove incorrect khome/kend from xterm-xf86-v333, which was based on
+#	  nonstandard resource settings -TD
+#
+# 2000/2/26
+#	* minor fixes for xterm-*, based on Debian #58530 -TD
+#
+# 2000/3/4
+#	* add several terminal types from esr's "11.0", as well as comments.
+#	  bq300*, dku7102-old, dku7202, hft, lft, pcmw, pmcons, tws*, vip*,
+#	  vt220-8bit, vt220-old, wy85-8bit
+#
+# 2000/3/18
+#	* add several terminal types from esr's "11.0.1" (ansi-*).
+#	* update OTxx capabilities for changes on 2000/3/4.
+#	* revert part of vt220 change (request by Todd C Miller for OpenBSD)
+#
+# 2000/3/26
+#	* move screen's AX extension to ecma+color, modify several entries to
+#	  use that, adjusting ncv as needed -TD
+#
+# 2000/4/8
+#	* add bsdos-pc-m, bsdos-pc-mono (Jeffrey C Honig)
+#	* correct spelling error in entry name: bq300-rv was given as bg300-rv
+#	  in esr's version.
+#
+# 2000/4/15
+#	* add cud, ech, etc., to beterm based on feedback from Rico Tudor -TD
+#	* correct color definition for ibm3164, make minor changes to other
+#	  IBM terminal definitions based on recent terminfo descriptions -TD
+#
+# 2000/4/22
+#	* add mgterm, from NetBSD -TD
+#	* add alias sun-cgsix for sun-ss5 as per NetBSD
+#	* change cons25w to use rs2 for reset rather than rs1 -TD
+#	* add rc/sc to aixterm based on manpage -TD
+#
+# 2000/5/13
+#	* remove ncv from xterm-16color, xterm-256color
+#
+# 2000/6/10
+#	* add kmous capability to linux to use Joerg Schoen's gpm patch.
+#
+# 2000/7/1
+#	* add Eterm (Michael Jennings)
+#
+# 2000-07-18
+#       * add amiga-vnc entry.
+#
+# 2000-08-12
+#	* correct description of Top Gun Telnet.
+#	* add kterm-color
+#
+# 2000-08-26
+#	* add qansi* entries from QNX ftp site.
+#
+# 2000-09-16
+#	* add Matrix Orbital entries by Eric Z. Ayers).
+#	* add xterm-basic, xterm-sco entries, update related entries to XFree86
+#	  4.0.1c -TD
+#
+# 2000-09-17
+#	* add S0, E0 extensions to screen's entry -TD
+#
+# 2000-09-23
+#	* several corrections based on tic's new parameter-checking code -TD
+#	* modify xterm-r6 and similar rs2 sequences which had \E7...\E8
+#	  bracketing sequences that reset video attributes (\E8 would restore
+#	  them) -TD
+#
+# 2000-11-11
+#	* rename cygwin to cygwinB19, adapt newer entry from Earnie Boyd -TD
+#
+# 2000-12-16
+#	* improved scoansi, based on SCO man-page, and testing console,
+#	  scoterm with tack -TD
+#
+# 2001-01-27
+#	* modify kterm to use acsc via SCS controls.
+#
+# 2001-02-10
+#	* screen 3.9.8 allows xterm mouse controls to pass-through
+#
+# 2001-03-11
+#	* remove spurious "%|" from some xterm entries.
+#
+# 2001-03-31
+#	* modify 'screen' khome/kend to match screen 3.09.08
+#	* add examples of 'screen' customization (screen.xterm-xfree86,
+#	  screen.xterm-r6, screen.teraterm) -TD
+#
+# 2001-04-14
+#	* correct definitions of shifted editing keys for xterm-xfree86 -TD
+#	* add "Apple_Terminal" entries -Benjamin Sittler
+#	* remove time-delays from "Apple_Terminal" entries -TD
+#	* make sgr entries time-delays consistent with individual caps -TD
+#
+# 2001-05-05
+#	* corrected/updated screen.xterm-xfree86
+#
+# 2001-05-19
+#	* ELKS descriptions, from Federico Bianchi
+#	* add u6 (CSR) to Eterm (Michael Jennings).
+#
+# 2001-07-21
+#	* renamed "Apple_Terminal" entries to "nsterm" to work with Solaris's
+#	  tic which handles names no longer than 14 characters.  Add
+#	  corresponding descriptions for the Darwin PowerPC console named
+#	  "xnuppc" -Benjamin Sittler
+#
+# 2001-09-01
+#	* change kbs in mach entries to ^? (Marcus Brinkmann).
+#
+# 2001-11-17
+#	* add "putty" entry -TD
+#	* updated "Apple_Terminal" entries -Benjamin Sittler
+#
+# 2001-11-24
+#	* add ms-vt100-color entry -TD
+#	* add "konsole" entries -TD
+#
+# 2001-12-08
+#	* update gnome entry to Redhat 7.2 -TD
+#
+# 2002-05-25
+#	* add kf13-kf48 strings to cons25w -TD
+#	* add pcvt25-color entry -TD
+#	* changed a few /usr/lib/tabset -> /usr/share/tabset.
+#	* improve some features of scoansi entry based on SCO's version -TD
+#	* add scoansi-new entry corresponding to OpenServer 5.0.6
+#
+# 2002-06-15
+#	* add kcbt to screen entry -TD
+#
+# 2002-06-22
+#	* add rxvt-16color, ibm+16color, mvterm entries -TD
+#
+# 2002-09-28
+#	* split out linux-basic entry, making linux-c inherit from that, and
+#	  in turn linux (with cnorm, etc) inherit from linux-c-nc to reflect
+#	  the history of this console type -TD
+#	* scaled the linux-c terminfo entry to match linux-c-nc, i.e., the
+#	  r/g/b parameters of initc are in the range 0 to 1000 -TD
+#
+# 2002-10-05
+#	* minor fix for scale-factor of linux-c and linux-c-nc -TD
+#
+# 2002-11-09
+#	* split-out vt100+keypad and vt220+keypad, fix interchanged ka3/kb2
+#	  in the latter -TD
+#
+# 2002-11-16
+#	* add entries for mterm (mterm, mterm-ansi, decansi) -TD
+#	* ncr260wy350pp has only 16 color pairs -TD
+#	* add sun-type4 from NetBSD -TD
+#	* update xterm-xfree86 to current (xterm patch #170) -TD
+#	* add screen-bce, screen-s entries -TD
+#	* add xterm-1002, xterm-1003 entries -TD
+#
+# 2003-01-11
+#	* update homepage for Top Gun Telnet/SSH
+#
+# 2003-01-25
+#	* reduce duplication in emx entries, added emx-base -TD
+#
+# 2003-05-24
+#	* corrected acs for screen.teraterm -TD
+#	* add tkterm entry -TD
+#
+# 2003-07-15
+#	* cygwin changes from Charles Wilson:
+#	  misc/terminfo.src (nxterm|xterm-color): make xterm-color
+#	  primary instead of nxterm, to match XFree86's xterm.terminfo
+#	  usage and to prevent circular links.
+#	  (rxvt): add additional codes from rxvt.org.
+#	  (rxvt-color): new alias
+#	  (rxvt-xpm): new alias
+#	  (rxvt-cygwin): like rxvt, but with special acsc codes.
+#	  (rxvt-cygwin-native): ditto.  rxvt may be run under XWindows, or
+#	  with a "native" MSWin GUI.  Each takes different acsc codes,
+#	  which are both different from the "normal" rxvt's acsc.
+#	  (cygwin): cygwin-in-cmd.exe window.  Lots of fixes.
+#	  (cygwinDBG): ditto.
+#
+# 2003-09-27
+#	* update gnome terminal entries -TD
+#
+# 2003-10-04
+#	* add entries for djgpp 2.03 and 2.04 -TD
+#
+# 2003-10-25
+#	* add alias for vtnt -TD
+#	* update xterm-xfree86 for XFree86 4.4 -TD
+#
+# 2003-11-22
+#	* add linux-vt (Andrey V Lukyanov)
+#
+# 2003-12-20
+#	* add screen.linux -TD
+#
+# 2004-01-10
+#	* revised/improved entries for tvi912b, tvi920b (Benjamin Sittler)
+#
+# 2004-01-17
+#	* add OpenNT/Interix/SFU entries (Federico Bianchi)
+#	* add vt100+ and vt-utf8 entries -TD
+#	* add uwin entry -TD
+#
+# 2004-03-27
+#	* add sgr strings to several common entries lacking them, e.g.,
+#	  screen, to make the entries more portable -TD
+#	* remove cvvis from rxvt entry, since it is the same as cnorm -TD
+#	* similar fixups for cvvis/cnorm various entries -TD
+#
+# 2004-05-22
+#	* remove 'ncv' from xterm-256color (xterm patch #188) -TD
+#
+# 2004-06-26
+#	* add mlterm -TD
+#	* add xterm-xf86-v44 -TD
+#	* modify xterm-new aka xterm-xfree86 to accommodate luit, which relies
+#	  on G1 being used via an ISO-2022 escape sequence (report by
+#	  Juliusz Chroboczek) -TD
+#	* add 'hurd' entry -TD
+#
+# 2004-07-03
+#	* make xterm-xf86-v43 derived from xterm-xf86-v40 rather than
+#	  xterm-basic -TD
+#	* align with xterm #192's use of xterm-new -TD
+#	* update xterm-new and xterm-8bit for cvvis/cnorm strings -TD
+#	* make xterm-new the default "xterm" -TD
+#
+# 2004-07-10
+#	* minor fixes for emu -TD
+#	* add emu-220
+#	* add rmam/smam to linux (Trevor Van Bremen)
+#	* change wyse acsc strings to use 'i' map rather than 'I' -TD
+#	* fixes for avatar0 -TD
+#	* fixes for vp3a+ -TD
+#
+# 2004-07-17
+#	* add xterm-pc-fkeys -TD
+#	* review/update gnome and gnome-rh90 entries (prompted by
+#	  Redhat Bugzilla #122815) -TD
+#	* review/update konsole entries -TD
+#	* add sgr, correct sgr0 for kterm and mlterm -TD
+#	* correct tsl string in kterm -TD
+#
+# 2004-07-24
+#	* make ncsa-m rmacs/smacs consistent with sgr -TD
+#	* add sgr, rc/sc and ech to syscons entries -TD
+#	* add function-keys to decansi -TD
+#	* add sgr to mterm-ansi -TD
+#	* add sgr, civis, cnorm to emu -TD
+#	* correct/simplify cup in addrinfo -TD
+#	* corrections for gnome and konsole entries
+#	  (Redhat Bugzilla #122815) -Hans de Goede
+#	* modify DEC entries (vt220, etc), to add sgr string, and to use
+#	  ISO-2022 strings for rmacs/smacs -TD
+#
+# 2004-07-31
+#	* rename xterm-pc-fkeys to xterm+pcfkeys -TD
+#
+# 2004-08-07
+#	* improved putty entry -Robert de Bath
+#
+# 2004-08-14
+#	* remove dch/dch1 from rxvt because they are implemented inconsistently
+#	  with the common usage of bce/ech -TD
+#	* remove khome from vt220 (vt220's have no home key) -TD
+#	* add rxvt+pcfkeys -TD
+#
+# 2004-08-21
+#	* modify several entries to ensure xterm mouse and cursor visibility
+#	  are reset in rs2 string:  hurd, putty, gnome, konsole-base, mlterm,
+#	  Eterm, screen.  (The xterm entries are left alone - old ones for
+#	  compatibility, and the new ones do not require this change) -TD
+#
+# 2004-08-28
+#	* add morphos entry -Pavel Fedin
+#	* modify amiga-8bit to add khome/kend/knp/kpp -Pavel Fedin
+#	* corrected \E[5?l to \E[?5l in vt320 entries -TD
+#
+# 2004-11-20
+#	* update wsvt25 entry -TD
+#
+# 2005-01-29
+#	* update pairs for xterm-88color and xterm-256color to reflect the
+#	  ncurses extended-color support -TD
+#
+# 2005-02-26
+#	* modify sgr/sgr0 in xterm-new to improve tgetent's derived "me" -TD
+#	* add aixterm-16color to demonstrate 16-color capability -TD
+#
+# 2005-04-23
+#	* add media-copy to vt100 -TD
+#	* corrected acsc string for vt52 -TD
+#
+# 2005-04-30
+#	* add kUP, kDN (user-defined shifted up/down arrow) definitions for
+#	  xterm-new -TD
+#	* add kUP5, kUP6, etc., for xterm-new and rxvt -TD
+#
+# 2005-05-07
+#	* re-corrected acsc string for vt52 -TD
+#
+# 2005-05-28
+#	* corrected sun-il sgr string which referred to bold and underline -TD
+#	* add sun-color entry -TD
+#
+# 2005-07-23
+#	* modify sgr0 in several entries to reset alternate-charset as in the
+#	  sgr string -TD
+#	* modify sgr string of prism9 to better match the individual
+#	  attributes -TD
+#
+# 2005-10-15
+#	* correct order of use= in rxvt-basic -TD
+#
+# 2005-10-26
+#	* use kind/kri as shifted up/down cursor keys for xterm-new -TD
+#
+# 2005-11-12
+#	* other minor fixes to cygwin based on tack -TD
+#	* correct smacs in cygwin (report by Baurzhan Ismagulov).
+#
+# 2006-02-18
+#	* add nsterm-16color entry -TD
+#	* remove ncv flag from xterm-16color -TD
+#	* remove setf/setb from xterm-256color to match xterm #209 -TD
+#	* update mlterm entry to 2.9.2 -TD
+#
+# 2006-02-25
+#	* fixes to make nsterm-16color match report
+#	  by Christian Ebert -Alain Bench
+#
+# 2006-04-22
+#	* add xterm+256color building block -TD
+#	* add gnome-256color, putty-256color, rxvt-256color -TD
+#
+# 2006-05-06
+#	* add hpterm-color -TD
+#
+# 2006-06-24
+#	* add xterm+pcc0, xterm+pcc1, xterm+pcc2, xterm+pcc3 -TD
+#	* add gnome-fc5 (prompted by GenToo #122566) -TD
+#	* remove obsolete/misleading comments about kcbt on Linux -Alain Bench
+#	* improve xterm-256color by combining the ibm+16color setaf/setab
+#	  strings with SGR 48.  The setf/setb strings also are cancelled here
+#	  rather than omitted so derived entries will cancel those also -Alain
+#	  Bench
+#
+# 2006-07-01
+#	* add some notes regarding copyright to terminfo.src -TD
+#	* use rxvt+pcfkeys in Eterm -TD
+#	* remove km and flash from gnome, Eterm and rxvt since they do not work
+#	  as one would expect (km sends ESC rather than setting the 8th bit
+#	  of the key) -TD
+#	* add/use ansi+enq, vt100+enq and vt102+enq -TD
+#	* add konsole-solaris -TD
+#
+# 2006-07-22
+#	* update xterm-sun and xterm-sco entries to match xterm #216 -TD
+#	* modify is2/rs2 strings for xterm-r6 as per fix in xterm #148 -TD
+#	* modify xterm-24 to inherit from "xterm" -TD
+#	* add xiterm entry -TD
+#	* add putty-vt100 entry -TD
+#	* corrected spelling of Michael A Dorman's name, prompted by
+#	  http://www.advogato.org/person/mdorman/diary.html -TD
+#
+# 2006-08-05
+#	* add xterm+pcf0, xterm+pcf2 from xterm #216 -TD
+#	* update xterm+pcfkeys to match xterm #216 -TD
+#
+# 2006-08-17
+#	* make descriptions of xterm entries consistent with its terminfo -TD
+#
+# 2006-08-26
+#	* add xfce, mgt -TD
+#
+# 2006-09-02
+#	* correct acsc string in kterm -TD
+#
+# 2006-09-09
+#	* add kon entry -TD
+#	* remove invis from linux and related entries, add klone+sgr8 for those
+#	  that implement the feature (or have not been shown to lack it) -TD
+#
+# 2006-09-23
+#	* add ka2, kb1, kb3, kc2 to vt220-keypad as an extension -TD
+#	* minor improvements to rxvt+pcfkeys -TD
+#
+# 2006-09-30
+#	* fix a few typos in if/then/else expressions -TD
+#
+# 2006-10-07
+#	* add several GNU Screen variations with 16- and 256-colors, and
+#	  status line (Alain Bench).
+#
+# 2007-03-03
+#	* add Newbury Data entries (Jean-Charles Billaud).
+#
+# 2007-06-10
+#	* corrected xterm+pcf2 modifiers for F1-F4, match xterm #226 -TD
+#
+# 2007-07-14
+#	* restore section of pre-ncurses-4.2 changelog to fix attribution -TD
+#	* add konsole-256color entry -TD
+#
+# 2007-08-18
+#	* add 9term entry (request by Juhapekka Tolvanen) -TD
+#
+# 2007-10-13
+#	* correct kIC in rxvt+pcfkeys (prompted by Debian #446444) -TD
+#	* add shift-control- and control-modified keys for rxvt editing
+#	  keypad -TD
+#	* update mlterm entry to 2.9.3 -TD
+#	* add mlterm+pcfkeys -TD
+#
+# 2007-10-20
+#	* move kLFT, kRIT, kind and kri capabilities from xterm-new to
+#	  xterm+pcc0, etc., to make the corresponding building blocks reflect
+#	  xterm's capabilities -TD
+#	* add mrxvt entry -TD
+#	* add xterm+r6f2, use in mlterm and mrxvt entries -TD
+#
+# 2007-11-03
+#	* correct acsc strings for h19 and z100 (Benjamin Sittler)
+#
+# 2007-11-11
+#	* use xterm-xf86-v44 for "xterm-xfree86", reflecting changes to
+#	  xterm starting with xterm patch #216 -TD
+#	* make legacy xterm entries such as xterm-24 inherit from xterm-old,
+#	  to match xterm #230 -TD
+#	* extend xterm+pccX entries to match xterm #230 -TD
+#	* add xterm+app, xterm+noapp, from xterm #230 -TD
+#	* add/use xterm+pce2 from xterm #230, in xterm+pcfkeys -TD
+#
+# 2008-04-19
+#	* add screen.rxvt -TD
+#
+# 2008-04-28
+#	* add screen+fkeys (prompted by Debian #478094) -TD
+#
+# 2008-06-28
+#	* add screen.mlterm -TD
+#	* improve mlterm and mlterm+pcfkeys -TD
+#
+# 2008-08-23
+#	* add Eterm-256color, Eterm-88color -TD
+#	* add rxvt-88color -TD
+#
+# 2008-10-12
+#	* add teraterm4.59 entry, use that as primary teraterm entry, rename
+#	  original to teraterm2.3 -TD
+#	* update "gnome" to 2.22.3 -TD
+#	* update "konsole" to 1.6.6 -TD
+#	* add "aterm" -TD
+#	* add "linux2.6.26" -TD
+#
+# 2008-11-15
+#	* change several \E[2g (clear tab at current column) to \E[3g
+#	  (clear all tabs) to match definition for tbc capability -TD
+#
+# 2008-11-29
+#	* add eterm-color -TD
+#
+# 2009-01-10
+#	* add screen.Eterm -TD
+#
+# 2009-03-28
+#	* correct typo in pfkey of ansi.sys-old
+#	  (report by Kalle Olavi Niemitalo)
+#	* move function- and cursor-keys from emx-base to ansi.sys, and create
+#	  a pfkey capability which handles F1-F48 -TD
+#
+# 2009-05-02
+#	* add vwmterm entry (Bryan Christ)
+#
+# 2009-09-19
+#	* change ncv and op capabilities in sun-color to match Sun's entry for
+#	  this (report by Laszlo Peter)
+#	* improve interix smso by using reverse rather than bold (report by
+#	  Kristof Zelechovski).
+#
+# 2009-10-03
+#	* remove unnecessary kcan assignment to ^C from putty (Sven Joachim)
+#	* add linux-16color (Benjamin Sittler)
+#	* correct initc capability of linux-c-nc end-of-range (Benjamin Sittler)
+#	* similar change for dg+ccc and dgunix+ccc (Benjamin Sittler)
+#	* add ccc and initc capabilities to xterm-16color -TD
+#
+# 2009-10-31
+#	* updated nsterm* entries (Benjamin Sittler, prompted by GenToo #206201)
+#
+# 2009-12-12
+#	* updated nsterm* entries (Benjamin Sittler, Emanuele Giaquinta)
+#
+# 2009-12-19
+#	* add bw (auto-left-margin) to nsterm* entries (Benjamin Sittler)
+#	* rename minix to minix-1.7, add minix entry for Minix3 -TD
+#
+# 2009-12-26
+#	* add bterm (bogl 0.1.18) -TD
+#	* minor fix to rxvt+pcfkeys -TD
+#
+# 2010-02-06
+#	* update mrxvt to 0.5.4, add mrxvt-256color -TD
+#
+# 2010-02-13
+#	* add several screen-bce.XXX entries -TD
+#
+# 2010-02-23
+#	* modify screen-bce.XXX entries to exclude ech, since screen's color
+#	  model does not clear with color for that feature -TD
+#
+# 2010-03-20
+#	* rename atari and st52 to atari-old, st52-old, use newer entries from
+#	  FreeMiNT by Guido Flohr (from patch/report by Alan Hourihane).
+#
+# 2010-06-12
+#	* add mlterm-256color entry -TD
+#
+# 2010-07-17
+#	* add hard-reset for rs2 to wsvt25 to help ensure that reset ends
+#	  the alternate character set (patch by Nicholas Marriott)
+#
+# 2010-08-28
+#	* improve acsc for vt52 (Benjamin Sittler)
+#	* modify nsterm entries for consistent sgr/sgr0 -TD
+#	* modify xnuppc entries for consistent sgr/sgr0 -TD
+#	* add invis to tek4115 sgr -TD
+#
+# 2010-09-11
+#	* reformat acsc strings to canonical format -TD
+#
+# 2010-09-25
+#	* add "XT" capability to entries for terminals that support both
+#	  xterm-style mouse- and title-controls, for "screen" which
+#	  special-cases TERM beginning with "xterm" or "rxvt" -TD
+#
+# 2010-10-02
+#	* fill in no-parameter forms of cursor-movement where a parameterized
+#	  form is available -TD
+#	* fill in missing cursor controls where the form of the controls is
+#	  ANSI -TD
+#	* add parameterized cursor-controls to linux-basic (report by Dae) -TD
+#
+# 2010-10-09
+#	* correct comparison used for setting 16-colors in linux-16color
+#	  entry (Novell #644831) -TD
+#	* improve linux-16color entry, using "dim" for color-8 which makes it
+#	  gray rather than black like color-0 -TD
+#
+# 2010-11-20
+#	* make "vte" the principal entry defining "gnome", since GNOME terminal
+#	  is merely one of several terminals whose behavior is provided by this
+#	  library -TD
+#
+# 2010-11-27
+#	* fix typo in rmso for tek4106 -Goran Weinholt
+#
+# 2010-12-11
+#	* suppress ncv in screen entry, allowing underline -Alejandro R. Sedeno
+#	* also suppress ncv in konsole-base -TD
+#
+# 2011-02-05
+#	* add U8 feature to denote entries for terminal emulators which do not
+#	  support VT100 SI/SO when processing UTF-8 encoding -TD
+#	* add xterm-utf8 as a demo of the U8 feature -TD
+#
+# 2011-02-20
+#	* add cons25-debian entry (Brian M Carlson, Debian #607662).
+#
+# 2011-06-11
+#	* update minix entry to minix 3.2 (Thomas Cort).
+#
+# 2011-07-09
+#	* fix inconsistent tabset path in pcmw (Todd C. Miller).
+#	* remove a backslash which continued comment, obscuring altos3
+#	  definition with OpenBSD toolset (Nicholas Marriott).
+#
+# 2011-07-16
+#	* add/use xterm+tmux chunk from xterm #271 -TD
+#	* resync xterm-new entry from xterm #271 -TD
+#	* add E3 extended capability to linux-basic (Miroslav Lichvar)
+#	* add linux2.2, linux2.6, linux3.0 entries to give context for E3 -TD
+#	* add SI/SO change to linux2.6 entry (Debian #515609) -TD
+#
+# 2011-07-21
+#	* add kich1 to sun (Yuri Pankov)
+#	* use bold rather than reverse for smso in sun-color (Yuri Pankov).
+#
+# 2011-08-06
+#	* corrected k9 in dg460-ansi, add other features based on manuals -TD
+#
+# 2011-08-20
+#	* minor cleanup of X-terminal emulator section -TD
+#	* add terminator entry -TD
+#	* add simpleterm entry -TD
+#
+# 2011-09-10
+#	* add xterm+kbs fragment from xterm #272 -TD
+#
+# 2011-11-12
+#	* add pccon entries for OpenBSD console (Alexei Malinin)
+#
+# 2011-12-17
+#	* corrected old changelog comments -TD
+#
+# 2011-11-24
+#	* add putty-sco -TD
+#
+# 2012-01-28
+#	* add mach-gnu (Samuel Thibault)
+#	* add mach-gnu-color, tweaks to mach-gnu -TD
+#	* make sgr for sun-color agree with smso -TD
+#	* make sgr for prism9 agree with other caps -TD
+#	* make sgr for icl6404 agree with other caps -TD
+#	* make sgr for ofcons agree with other caps -TD
+#	* make sgr for att5410v1, att4415, att620 agree with other caps -TD
+#	* make sgr for aaa-unk, aaa-rv agree with other caps -TD
+#	* make sgr for avt-ns agree with other caps -TD
+#
+# 2012-02-11
+#	* make sgr for xterm-pcolor agree with other caps -TD
+#	* make sgr for att5425 agree with other caps -TD
+#	* make sgr for att630 agree with other caps -TD
+#	* make sgr for linux entries agree with other caps -TD
+#	* make sgr for tvi9065 agree with other caps -TD
+#	* make sgr for ncr260vt200an agree with other caps -TD
+#	* make sgr for ncr160vt100pp agree with other caps -TD
+#	* make sgr for ncr260vt300an agree with other caps -TD
+#	* make sgr for aaa-60-dec-rv, aaa+dec agree with other caps -TD
+#	* make sgr for cygwin, cygwinDBG agree with other caps -TD
+#
+# 2012-03-31
+#	* correct order of use-clauses in st-256color -TD
+#
+# 2012-04-01
+#	* revert 2011-07-16 change to "linux" alias, return to "linux2.2" -TD
+#
+# 2012-04-14
+#	* document all of the user-defined capabilities in one place -TD
+#	* add XT to some places to improve usefulness for other applications
+#	  than screen, which would like to pretend that xterm's title is
+#	  a status-line. -TD
+#	* change use-clauses in ansi-mtabs, hp2626, and hp2622 based on review
+#	  of ordering and overrides -TD
+#
+# 2012-04-21
+#	* add msgr to vt420, similar DEC vtXXX entries -TD
+#	* add several missing vt420 capabilities from vt220 -TD
+#	* factor out ansi+pp from several entries -TD
+#	* change xterm+sl and xterm+sl-twm to include only the status-line
+#	  capabilities and not "use=xterm", making them more generally useful
+#	  as building-blocks -TD
+#	* add dec+sl building block, as example -TD
+#
+# 2012-04-28
+#	* fix some inconsistencies between vt320/vt420, e.g., cnorm/civis -TD
+#	* add eslok flag to dec+sl -TD
+#	* dec+sl applies to vt320 and up -TD
+#	* drop wsl width from xterm+sl -TD
+#	* reuse xterm+sl in putty and nsca-m -TD
+#	* add ansi+tabs to vt520 -TD
+#	* add ansi+enq to vt220-vt520 -TD
+#
+# 2012-05-05
+#	* remove p6 (bold) from opus3n1+ for consistency -TD
+#	* remove acs stuff from env230 per clues in Ingres termcap -TD
+#	* modify env230 sgr/sgr0 to match other capabilities -TD
+#	* modify smacs/rmacs in bq300-8 to match sgr/sgr0 -TD
+#	* make sgr for dku7202 agree with other caps -TD
+#	* make sgr for ibmpc agree with other caps -TD
+#	* make sgr for tek4107 agree with other caps -TD
+#	* make sgr for ndr9500 agree with other caps -TD
+#	* make sgr for sco-ansi agree with other caps -TD
+#	* make sgr for d410 agree with other caps -TD
+#	* make sgr for d210 agree with other caps -TD
+#	* make sgr for d470c, d470c-7b agree with other caps -TD
+#
+# 2012-05-12
+#	* rewrite vt520 entry based on vt420 -TD
+#	* corrected 'op' for bterm (report by Samuel Thibault) -TD
+#
+# 2012-06-02
+#	* add kdch1 to wsvt25 entry from NetBSD CVS (reported by David Lord,
+#	  analysis by Martin Husemann).
+#	* add cnorm/civis to wsvt25 entry from NetBSD CVS (report/analysis by
+#	  Onno van der Linden).
+#	* add kdch1 aka "Remove" to vt220 and vt220-8 entries -TD
+#	* add kdch1, etc., to qvt108 -TD
+#	* add dl1/il1 to some entries based on dl/il values -TD
+#	* add dl to simpleterm -TD
+#
+# 2012-06-10
+#	* modify some older xterm entries to align with xterm source -TD
+#	* separate "xterm-old" alias from "xterm-r6" -TD
+#
+# 2012-07-28
+#	* add E3 to xterm-basic and putty -TD
+#
+# 2012-08-11
+#	* add nsterm-256color, make this the default nsterm -TD
+#	* remove bw from nsterm-bce, per testing with tack -TD
+#
+# 2012-10-12
+#       * add vte-2012, gnome-2012, making these the defaults for vte/gnome
+#	  (patch by Christian Persch).
+#
+# 2012-11-02
+#	* reviewed vte-2012, reverted most of the change since it was incorrect
+#	  based on testing with tack -TD
+#	* un-cancel the initc in vte-256color, since this was implemented
+#	  starting with version 0.20 in 2009 -TD
+#
+# 2013-03-16
+#	* correct typo in sgr string for sun-color,
+#	  add bold for consistency with sgr,
+#	  change smso for consistency with sgr -TD
+#	* correct typo in sgr string for terminator -TD
+#	* add blink to the attributes masked by ncv in linux-16color (report
+#	  by Benjamin Sittler)
+#
+# 2013-03-23
+#	* change initialization for vt220, similar entries for consistency
+#	  with cursor-key strings (NetBSD #47674) -TD
+#	* further improvements to linux-16color (Benjamin Sittler)
+#
+# 2013-05-11
+#	* move nsterm-related entries out of "obsolete" section to more
+#	  plausible "ansi consoles" -TD
+#	* additional cleanup of table-of-contents by reordering -TD
+#
+# 2013-06-07
+#	* added note to clarify Terminal.app's non-emulation of the various
+#	  terminal types listed in the preferences dialog -TD
+#
+# 2013-11-02
+#	* use TS extension to describe xterm's title-escapes -TD
+#	* modify terminator and nsterm-s to use xterm+sl-twm building block -TD
+#	* update hurd.ti, add xenl to reflect 2011-03-06 change in
+#	  http://git.savannah.gnu.org/cgit/hurd/hurd.git/log/console/display.c
+#	  (Debian #727119).
+#	* simplify pfkey expression in ansi.sys -TD
+#
+# 2013-11-10
+#	* split-out building blocks xterm+sm+1002 and xterm+sm+1003 -TD
+#
+# 2014-02-22
+#	* updated notes for wsvt25 based on tack and vttest -TD
+#	* add teken entry to show actual properties of FreeBSD's "xterm"
+#	  console -TD
+#
+# 2014-03-22
+#	* add terminology entry -TD
+#	* add mlterm3 entry, use that as "mlterm" -TD
+#	* inherit mlterm-256color from mlterm -TD
+#
+# 2014-03-23
+#	* fix typo in "mlterm" entry (report by Gabriele Balducci) -TD
+#
+# 2014-03-30
+#	* cancel ccc in putty-256color and konsole-256color for consistency
+#	  with the cancelled initc capability (patch by Sven Zuhlsdorf).
+#	* add xterm+256setaf building block for various terminals which only
+#	  get the 256-color feature half-implemented -TD
+#	* updated "st" entry (leaving the 0.1.1 version as "simpleterm") to
+#	  0.4.1 -TD
+#
+# 2014-05-03
+#	* add vt520ansi (Mike Gran)
+#
+# 2014-05-24
+#	* correct several entries which had termcap-style padding used in
+#	  terminfo: adm21, aj510, alto-h19, att605-pc, x820 -TD
+#	* correct syntax for padding in some entries: dg211, h19 -TD
+#	* correct ti924-8 which had confused padding versus octal escapes -TD
+#	* correct padding in sbi entry -TD
+#
+# 2014-06-07
+#	* update xterm-new to xterm patch #305 -TD
+#	+ change screen's smso to use SGR 7 (ECMA-80 reverse) rather than SGR 3
+#	  (italic).  This was a long-ago typo in screen 3.1.1 which was
+#	  overlooked until a few terminal emulators implemented the feature -TD
+#
+# 2014-06-09
+#	> fix regression in screen terminfo entries (reports by Christian
+#	  Ebert, Gabriele Balducci) -TD
+#	+ revert the change to screen; see notes for why this did not work -TD
+#	+ cancel sitm/ritm for entries which extend "screen", to work around
+#	  screen's hardcoded behavior for SGR 3 -TD
+#
+# 2014-06-14
+#	+ modify sgr for screen.xterm-new to support dim capability -TD
+#	+ add dim capability to nsterm+7 -TD
+#	+ cancel dim capability for iterm -TD
+#	+ add dim, invis capabilities to vte-2012 -TD
+#	+ add sitm/ritm to konsole-base and mlterm3 -TD
+#
+# 2014-10-06
+#	+ add xterm-1005 and xterm-1006 entries, with suggested extension
+#	  capability "xm" -TD
+#
+# 2014-10-07
+#	+ update test-report for mrxvt -TD
+#
+# 2014-10-11
+#	+ add xterm-x10mouse, xterm-x11mouse, etc. -TD
+#
+# 2014-10-18
+#	+ reviewed terminology 0.6.1, add function key definitions.  None of
+#	  the vt100-compatibility issues were improved -TD
+#
+# 2015-04-22
+#	+ add 'dim' capability to screen entry (report by Leonardo B Schenkel)
+#	+ add several key definitions to nsterm-bce to match preconfigured
+#	  keys, e.g., with OSX 10.9 and 10.10 (report by Leonardo B Schenkel)
+#
+# 2015-05-02
+#	+ remove unnecessary ';' from E3 capabilities -TD
+#	+ add tmux entry, derived from screen (patch by Nicholas Marriott).
+#	+ split-out recent change to nsterm-bce as nsterm-build326, and add
+#	  nsterm-build342 to reflect changes with successive releases of OSX
+#	  (discussion with Leonardo B Schenkel)
+#	+ add xon, ich1, il1 to ibm3161 (patch by Stephen Powell,
+#	  Debian #783806)
+#
+# 2015-05-17
+#	+ remove screen-bce.mlterm, since mlterm does not do "bce" -TD
+#	+ add several screen.XXX entries to support the respective variations
+#	  for 256 colors -TD
+#
+# 2015-05-23
+#	+ add putty+fnkeys* building-block entries -TD
+#
+# 2015-05-30
+#	+ remove spurious "%;" from st entry (report by Daniel Pitts) -TD
+#	+ add vte-2014, update vte to use that -TD
+#
+# 2015-06-27
+#	+ comment-out "screen.xterm" entry, and inherit screen.xterm-256color
+#	  from xterm-new (report by Richard Birkett) -TD
+#
+# 2015-07-25
+#	+ add status line to tmux via xterm+sl (patch by Nicholas Marriott).
+#	+ fixes for st 0.5 from testing with tack -TD
+#
+# 2015-10-24
+#	+ updated minitel entries to fix kel problem with emacs, and add
+#	  minitel1b-nb (Alexandre Montaron).
+#	+ reviewed/updated nsterm entry Terminal.app in OSX -TD
+#	+ replace some dead URLs in commands with equivalents from the
+#	  Internet Archive -TD
+#
+# 2015-11-14
+#	+ add bold to pccon+sgr+acs and pccon-base (Tati Chevron).
+#	+ add keys f12-f124 to pccon+keys (Tati Chevron).
+#
+# 2015-11-21
+#	+ fix some inconsistencies in the pccon* entries -TD
+#
+# 2015-11-28
+#	+ add viewdata (Alexandre Montaron).
+#
+# 2016-01-16
+#	+ tidy up comments about hardcoded 256color palette (report by
+#	  Leonardo Brondani Schenkel) -TD
+#	+ add putty-noapp entry, and amend putty entry to use application mode
+#	  for better consistency with xterm (report by Leonardo Brondani
+#	  Schenkel) -TD
+#
+# 2016-04-23
+#	+ add 'oc' capability to xterm+256color, allowing palette reset for
+#	  xterm -TD
+#
+# 2016-05-14
+#	+ modify linux2.6 entry to improve line-drawing -TD
+#	+ make linux3.0 entry the default linux entry (Debian #823658) -TD
+#
+# 2016-05-29
+#	+ modify rs1 for xterm-16color, xterm-88color and xterm-256color to
+#	  reset palette using "oc" string as in linux -TD
+#
+# 2016-06-11
+#	+ use ANSI reply for u8 in xterm-new, to reflect vt220-style responses
+#	  that could be returned -TD
+#	+ added a few capabilities fixed in recent vte -TD
+#
+# 2016-08-17
+#	+ correct a typo in interix -TD
+#
+# 2016-09-24
+#	+ updated minitel entries to use status line with screen(1), as well as
+#	  printing special G2 videotex chars like french accentuated glyph
+#	  using special cap XC= (patch by Alexandre Montaron).
+#
+# 2016-10-01
+#	+ add linux-m1 minitel entries (patch by Alexandre Montaron).
+#	+ correct rs2 string for vt100-nam -TD
+#
+# 2016-11-26
+#	+ modify linux-16color to not mask dim, standout or reverse with the
+#	  ncv capability -TD
+#	+ add 0.1sec mandatory delay to flash capabilities using the VT100
+#	  reverse-video control -TD
+#	+ omit selection of ISO-8859-1 for G0 in enacs capability from linux2.6
+#	  entry, to avoid conflict with the user-defined mapping.  The reset
+#	  feature will use ISO-8859-1 in any case (Mikulas Patocka).
+#
+# 2016-12-30
+#	+ merge current st description (report by Harry Gindi) -TD
+#
+# 2016-12-31
+#	+ modify flash capability for linux and wyse entries to put the delay
+#	  between the reverse/normal escapes rather than after -TD
+#
+# 2017-01-28
+#	+ minor comment-fixes to help automate links to bug-urls -TD
+#	+ add dvtm, dvtm-256color -TD
+#	+ add settings corresponding to xterm-keys option to tmux entry to
+#	  reflect upcoming change to make that option "on" by default
+#	  (patch by Nicholas Marriott).
+#	+ uncancel Ms in tmux entry (Harry Gindi, Nicholas Marriott).
+#	+ add dumb-emacs-ansi -TD
+#
+# 2017-03-05
+#	+ correct a few spelling errors in comments -TD
+#	+ add fbterm -TD
+#
+# 2017-03-11
+#	+ add vt100+4bsd building block, use that for older terminals rather
+#	  than "vt100" which is now mostly used as a building block for
+#	  terminal emulators -TD
+#	+ modify vt100 rs2 string to reset vt52 mode and scrolling regions
+#	  (report/analysis by Robert King) -TD
+#
+# 2017-04-01
+#	+ minor fixes for vt100+4bsd, e.g., delay in sgr for consistency -TD
+#	+ add smso for env230, to match sgr -TD
+#	+ remove p7/protect from sgr in fbterm -TD
+#	+ drop setf/setb from fbterm; setaf/setab are enough -TD
+#	+ make xterm-pcolor sgr consistent with other capabilities -TD
+#	+ add rmxx/smxx ECMA-48 strikeout extension to tmux and xterm-basic
+#	  (discussion with Nicholas Marriott)
+#
+# 2017-04-22
+#	+ correct missing comma-separator between string capabilities in
+#	  icl6402 and m2-nam -TD
+#	+ update formatting with ncurses 6.0.20170422 -TD
+#	+ restore rmir/smir in ansi+idc to better match original ansiterm+idc,
+#	  add alias ansiterm (report by Robert King).
+#
+# 2017-05-13
+#	+ reformatted using hexadecimal numbers to improve readability -TD
+#
+# 2017-07-29
+#	+ update interix entry using tack and SFU on Windows 7 Ultimate -TD
+#	+ use ^? for kdch1 in interix (reported by Jonathan de Boyne Pollard)
+#	+ add "rep" to xterm-new, available since 1997/01/26 -TD
+#	+ move SGR 24 and 27 from vte-2014 to vte-2012 (request by Alain
+#	  Williams) -TD
+#
+# 2017-08-16
+#	+ update "iterm" entry -TD
+#	+ add "iterm2" entry (report by Leonardo Brondani Schenkel) -TD
+#
+# 2017-08-18
+#	+ update notes on user-defined capabilities -TD
+#
+# 2017-08-26
+#	+ fixes for "iterm2" (report by Leonardo Brondani Schenkel) -TD
+#
+# 2017-11-11
+#	+ add "op" to xterm+256setaf -TD
+#	+ reviewed terminology 1.0.0 -TD
+#	+ reviewed st 0.7 -TD
+#
+# 2017-11-18
+#	+ modify old terminology entry and a few other terminal emulators to
+#	  account for xon -TD
+#	+ correct sgr string for tmux, which used screen's "standout" code
+#	  rather than the standard code (patch by Roman Kagan)
+#	+ correct sgr/sgr0 strings in a few other cases reported by tic, making
+#	  those correspond to the non-sgr settings where they differ, but
+#	  otherwise use ECMA-48 consistently:
+#	  jaixterm, aixterm, att5420_2, att4424, att500, decansi, d410-7b,
+#	  dm80, hpterm, emu-220, hp2, iTerm2.app, mterm-ansi, ncrvt100an,
+#	  st-0.7, vi603, vwmterm -TD
+#
+# 2017-12-30
+#	+ add xterm+noalt, xterm+titlestack, xterm+alt1049, xterm+alt+title
+#	  blocks from xterm #331 -TD
+#	+ add xterm+direct, xterm+indirect, xterm-direct entries from xterm
+#	  #331 -TD
+#	+ modify xterm+256color and xterm+256setaf to use correct number of
+#	  color pairs, for ncurses 6.1 -TD
+#	+ add rs1 capability to xterm-256color -TD
+#	+ modify xterm-r5, xterm-r6 and xterm-xf86-v32 to use xterm+kbs to
+#	  match xterm #272, reflecting packager's changes -TD
+#	+ remove "boolean" Se, Ss from st-0.7 -TD
+#
+# 2018-01-04
+#	+ add konsole-direct and st-direct -TD
+#	+ remove unsupported "Tc" capability from st-0.7; use st-direct if
+#	  direct-colors are wanted -TD
+#
+# 2018-01-17
+#	+ add vte-direct -TD
+#	+ add XT, hpa, indn, and vpa to screen, and invis, E3 to tmux (patch by
+#	  Pierre Carru)
+#
+# 2018-01-21
+#	+ use xterm+sm+1006 in xterm-new, vte-2014 -TD
+#	+ use xterm+x11mouse in iterm, iterm2, mlterm3 because xterm's 1006
+#	  mode does not work with those programs.  konsole is debatable -TD
+#	+ add "termite" entry (report by Markus Pfeiffer) -TD
+#
+# 2018-01-27
+#	+ trim "XT" from screen entry -TD
+#	+ modify iterm to use xterm+sl-twm building block -TD
+#	+ mark konsole-420pc, konsole-vt100, konsole-xf3x obsolete reflecting
+#	  konsole's removal in 2008 -TD
+#	+ expanded the history section of konsole to explain its flawed
+#	  imitation of xterm's keyboard -TD
+#	+ use xterm+x11mouse in screen.* entries because screen does not yet
+#	  support xterm's 1006 mode -TD
+#	+ add nsterm-build400 for macOS 10.13 -TD
+#	+ add ansi+idc1, use that in ansi+idc adding dch for consistency -TD
+#	+ update vte to vte-2017 -TD
+#	+ add ecma+strikeout to vte-2017 -TD
+#	+ add iterm2-direct -TD
+#	+ updated teraterm, added teraterm-256color -TD
+#	+ add mlterm-direct -TD
+#	+ add descriptions for ANSI building-blocks -TD
+#
+# 2018-02-24
+#	+ correct Ss/Ms interchange in st-0.7 entry (tmux #1264) -TD
+#	+ fix remaining flash capabilities with trailing mandatory delays -TD
+#
+# 2018-03-17
+#	+ trim some redundant capabilities from st-0.7 -TD
+#	+ trim unnecessary setf/setb from interix -TD
+#
+# 2018-05-19
+#	+ trim spurious whitespace from tmux in 2018-02-24 changes;
+#	  fix some inconsistencies in/between tmux- and iterm2-entries for SGR
+#	  (report by C Anthony Risinger)
+#	+ improve iterm2 using some xterm features which it has adapted -TD
+#
+# 2018-06-30
+#	+ add acsc string to vi200 (Nibby Nebbulous)
+#	  add right/down-arrow to vi200's acsc -TD
+#
+# 2018-07-21
+#	+ corrected acsc for wy50 -TD
+#	+ add wy50 and wy60 shifted function-keys as kF1 to kF16 -TD
+#	+ remove ansi+rep mis-added to interix in 2018-02-23 -TD
+#
+# 2018-07-28
+#	+ fix typo in tvi955 -TD
+#	+ corrected acsc for regent60 -TD
+#	+ add alias n7900 -TD
+#
+# 2018-09-29
+#	+ corrected acsc for tvi950 -TD
+#	+ remove bogus kf0 from tvi950 -TD
+#	+ added function-key definitions to agree with TeleVideo 950 manual -TD
+#	+ add bel to tvi950 -TD
+#	+ add shifted function-keys to regent60 -TD
+#	+ renumber regent40 function-keys to match manual -TD
+#	+ add cd (clr_eos) to adds200 -TD
+#
+# 2018-10-27
+#	+ add OpenGL clients alacritty and kitty -TD
+#	+ add Smulx for tmux, vte-2018 -Nicholas Marriott
+#
+# 2018-12-15
+#	+ fix a typo in comments (Aaron Gyes).
+#	+ add nsterm-build309 to replace nsterm-256color, assigning the latter
+#	  as an alias of nsterm, to make mouse work with nsterm-256color -TD
+#	+ base gnome-256color entry on "gnome", not "vte", for consistency -TD
+#
+# 2019-01-12
+#	+ add nsterm-direct -TD
+#	+ use SGR 1006 mouse for konsole-base -TD
+#	+ use SGR 1006 mouse for putty -TD
+#	+ add ti703/ti707, ti703-w/ti707-w (Robert Clausecker)
+#
+# 2019-02-23
+#	+ fix typo in adds200 -TD
+#
+# 2019-03-30
+#	+ add "screen5", to mention italics (report by Stefan Assmann)
+#	+ modify description of xterm+x11hilite to eliminate unused p5 -TD
+#
+# 2019-05-18
+#	+ update xterm-new to xterm patch #345 -TD
+#	+ add/use xterm+keypad in xterm-new (report by Alain D D Williams) -TD
+#	+ update terminator entry -TD
+#	+ remove hard-tabs from ti703 (report by Robert Clausecker)
+#	+ add Smol/Rmol for mintty, vte-2018 -Nicholas Marriott
+#
+# 2019-06-01
+#	+ add rs1 to konsole, mlterm -TD
+#
+# 2019-06-08
+#	+ add mintty, mintty-direct (Thomas Wolff)
+# 2019-06-09
+#	+ comment-out some user-defined capabilities in mintty+common to allow
+#	  builds with existing releases 5.9-6.1 -TD
+#
+# 2019-06-30
+#	+ add ms-terminal -TD
+#	+ add vscode, vscode-direct -TD
+#	+ use ecma+index in screen, st -TD
+#
+# 2019-07-06
+#	+ add domterm -TD
+#	+ improve comments for recent changes, add alias xterm.js -TD
+#
+# 2019-08-03
+#	+ amend the change to screen, because tmux relies upon that entry
+#	  and does not support that feature (Debian #933572) -TD
+#	+ updated ms-terminal entry & notes -TD
+#	+ updated kitty entry & notes -TD
+#	+ updated alacritty+common entry & notes -TD
+#	+ use xterm+sl-twm for consistency -TD
+#
+# 2019-09-22
+#	+ correct a comment -TD
+#
+# 2019-10-26
+#	+ modify linux-16color to accommodate Linux console driver change in
+#	  early 2018 (report by Dino Petrucci).
+#
+# 2019-11-02
+#	+ add "xterm-mono" to help packagers (report by Sven Joachim) -TD
+#
+# 2019-11-09
+#	+ drop ich1 from rxvt-basic, Eterm and mlterm to improve compatibility
+#	  with old non-curses programs -TD
+#	+ reviewed st 0.8.2, updated some details -TD
+#	+ use ansi+rep several places -TD
+#
+# 2020-01-12
+#	+ update alacritty entries for 0.4.0 (prompted by patch by
+#	  Christian Duerr) -TD
+#
+# 2020-01-18
+#	+ spelling fixes per codespell -TD
+#	+ improve xm example for xterm+x11mouse, xterm+sm+1006 -TD
+#
+# 2020-02-22
+#	+ improve vt50h and vt52 based on DECScope manual -TD
+#	+ add/use vt52+keypad and vt52-basic -TD
+#
+# 2020-04-18
+#	+ use vt52+keypad in xterm-vt52, from xterm #354 -TD
+#
+# 2020-04-25
+#	+ use vt100+fnkeys in putty -TD
+#
+# 2020-05-02
+#	+ add details on the change to Linux SGR 21 in 2018 -TD
+#	+ add xterm-direct16 and xterm-direct256 -TD
+#
+# 2020-05-03
+#	+ fix some dead URLs -TD
+#
+# 2020-05-16
+#	+ update notes on vscode / xterm.js -TD
+#
+# 2020-05-30
+#	+ re-enable "bel" in konsole-base (report by Nia Huang)
+#	+ add linux-s entry (patch by Alexandre Montaron).
+#
+# 2020-06-06
+#	+ add xterm+256color2, xterm+88color2, to deprecate nonstandard usage
+#	  in xterm+256color, xterm+88color -TD
+#	+ add shifted Linux console keys in linux+sfkeys entry for
+#	  screen.linux (report by Alexandre Montaron).
+#	+ use vt100+enq in screen (report by Alexandre Montaron).
+#	+ add screen.linux-s alias (suggested by Alexandre Montaron).
+#
+# 2020-07-11
+#	+ fix pound-sign mapping in acsc of linux2.6 entry (report by Ingo
+#	  Bruckl).
+#
+# 2020-08-28
+#	+ correct icl6404 csr (report by Florian Weimer).
+#	+ correct ti916 cup (report by Florian Weimer).
+#	+ improve ndr9500 (report by Florian Weimer).
+#
+# 2020-09-05
+#	+ correct description of vt330/vt340 (Ross Combs).
+#
+# 2020-09-19
+#	+ update mlterm3 for 3.9.0 (report by Premysl Eric Janouch).
+#
+# 2020-09-29
+#	+ add tmux-direct (tmux #2370)
+#	+ simplify mlterm initialization with DECSTR -TD
+#	+ change tmux's kbs to ^? (report by Premysl Eric Janouch)
+#
+# 2020-10-10
+#	+ correct sgr in aaa+rv (report by Florian Weimer) -TD
+#	+ fix some sgr inconsistencies in d230c, ibm6153, ibm6154,
+#	  ncrvt100an -TD
+#
+# 2020-10-17
+#	+ expanded notes about tek4107 -TD
+#
+# 2020-11-07
+#	+ update kitty+common -TD
+#	+ add putty+screen and putty-screen (suggested by Alexandre Montaron).
+#
+# 2020-11-28
+#	+ add Smulx to alacritty (Christian Duerr).
+#	+ add rep to PuTTY -TD
+#	+ add putty+keypad -TD
+#
+# 2020-12-05
+#	+ correct mlterm3 kf1-kf4 (Debian #975322) -TD
+#	+ add flash to mlterm3 -TD
+#
+# 2020-12-27
+#	+ update terminology to 1.8.1 -TD
+#
+# 2021-01-16
+#	+ add comment for linux2.6 regarding CONFIG_CONSOLE_TRANSLATIONS
+#	  (report by Patrick McDermott) -TD
+#
+# 2021-01-25
+#	+ split-out att610+cvis, vt220+cvis, vt220+cvis8 -TD
+#	+ add vt220-base, for terminal emulators which generally have not
+#	  supported att610's blinking cursor control -TD
+#	+ use vt220+cvis in vt220, etc -TD
+#	+ use att610+cvis, xterm+tmux and ansi+enq in kitty -TD
+#	+ use vt220+cvis in st, terminology, termite since they ignore
+#	  blinking-cursor detail in att610+cvis -TD
+#
+# 2021-02-20
+#	+ add/use vt220+pcedit and vt220+vtedit  -TD
+#	+ add scrt/securecrt and absolute -TD
+#	+ add nel to xterm-new, though supported since X11R5 -TD
+#	+ add/use xterm+nofkeys -TD
+#	+ move use of ecma+italics from xterm-basic to xterm+nofkeys -TD
+#
+# 2021-02-27
+#	+ remove a duplicate "use" in xterm-vt220 -TD
+#
+# 2021-03-14
+#	+ correct use-ordering in some xterm-direct flavors -TD
+#
+# 2021-03-20
+#	+ add hterm, hterm-256color (Mike Frysinger)
+#
+# 2021-06-26
+#	+ use default colors in pccon "op" -TD
+#	+ correct rmacs/smacs in aaa+dec, aaa+rv -TD
+#	+ add hpterm-color2 and hp98550-color (Martin Trusler)
+#
+# 2021-07-17
+#	+ correct typo in "vip" comments (report by Nick Black), reviewed this
+#	  against Glink manual -TD
+#	+ fill in some missing pieces for pccon, to make it comparable to the
+#	  vt220 entry -TD
+#
+# 2021-07-24
+#	+ trim "flash" from pccon+base -TD
+#	+ revert change for aaa+rv -TD
+#	+ add workaround for Windows Terminal's problems with CR/LF mapping to
+#	  ms-terminal (patch by Juergen Pfeifer).
+#	+ review/update current Windows Terminal vs ms-terminal -TD
+#
+# 2021-07-31
+#	+ add extensions in xterm+tmux and ecma+strikeout to ms-terminal,
+#	  but cancel the non-working Cr and Ms capabilities -TD
+#	+ add foot and foot-direct -TD
+#
+# 2021-08-15
+#	+ fix missing "%d" for setaf/setab code 8-15 in xterm+direct16 (report
+#	  by Florian Weimer) -TD
+#
+# 2021-08-16
+#	+ corrected tsl capability for terminator -TD
+#
+# 2021-09-04
+#	+ modify linux3.0 entry to reflect default mapping of shift-tab by
+#	  kbd 1.14 (report by Jan Engelhardt) -TD
+#
+# 2021-09-11
+#	+ add testing note for xterm-{hp|sco|sun} -TD
+#	+ corrected description for ansi.sys-old -TD
+#	+ add xterm+nopcfkeys, to fill in keys for xterm-hp, xterm-sun -TD
+#	+ use hp+arrows in a few places -TD
+#	+ use hp+pfk-cr in a few places -TD
+#
+# 2021-09-21
+#	+ add kbeg to xterm+keypad to accommodate termcap applications -TD
+#	+ add smglp and smgrp to vt420+lrmm, to provide useful data for the
+#	  "tabs" +m option -TD
+#
+# 2021-10-09
+#	+ fill in some details for infoton -TD
+#	+ fix spelling/consistency in several descriptions -TD
+#	+ use vt420+lrmm in vt420 -TD
+#
+# 2021-10-13
+#	+ trim some redundant definitions -TD
+#
+# 2021-11-13
+#	+ add xterm+sl-alt, use that in foot+base (report by Jonas Grosse
+#	  Sundrup) -TD
+#
+# 2021-11-20
+#	+ add dim, ecma+strikeout to st-0.6 -TD
+#
+# 2021-11-27
+#	+ fix errata in description fields (report by Eric Lindblad) -TD
+#	+ add x10term+sl, aixterm+sl, ncr260vp+sl, ncr260vp+vt, wyse+sl -TD
+#
+# 2022-01-23
+#	+ update kitty -TD
+#
+# 2022-03-12
+#	+ add xterm+acs building-block -TD
+#	+ add xterm-p370, for use in older terminals -TD
+#	+ add dec+sl to xterm-new, per patch #371 -TD
+#	+ add mosh and mosh-256color -TD
+#
+# 2022-03-19
+#	+ add xgterm -TD
+#	+ correct setal in mintty/tmux entries, add to vte-2018 (report by
+#	  Robert Lange)
+#	+ add blink to vte-2018 (report by Robert Lange)
+#
+# 2022-03-26
+#	+ update teken -TD
+#	+ add teken-16color, teken-vt and teken-sc -TD
+#	+ add a few missing details for vte-2018 (report by Robert Lange) -TD
+#
+# 2022-03-27
+#	+ make description-fields distinct -TD
+#
+# 2022-04-30
+#	+ modify samples for xterm mouse 1002/1003 modes to use 1006 mode, and
+#	  also provide for focus in/out responses -TD
+#
+# 2022-05-28
+#	+ expanded notes for teken/syscons -TD
+#
+# 2022-06-04
+#	+ remove u6-u9 from teken-2018 -TD
+#	+ set "xterm-new" to "xterm-p370", add "xterm-p371" -TD
+#
+# 2022-06-18
+#	+ revise kon/kon2/jfbterm to undo "linux2.6" change to
+#	  smacs/rmacs/enacs (Debian #1012800) -TD
+#	+ amended note for att610+cvis0, as per documentation for att610,
+#	  att620, att730 -TD
+#
+# 2022-06-25
+#	+ correct dsl in dec+sl (report by Rajeev Pillai) -TD
+#	+ add/use ansi+cpr, decid+cpr -TD
+#
+# 2022-07-03
+#	+ use NQ to flag entries where the terminal does not support query and
+#	  response -TD
+#	+ use ansi+enq and decid+cpr in cases where the terminal probably
+#	  supported the u6-u9 extension -TD
+#	+ add/use apollo+vt132, xterm+alt47 -TD
+#
+# 2022-08-27
+#	+ modify nsterm to use xterm+alt1049 (report by Paul Handly) -TD
+#	+ modify putty to use xterm+alt1049 -TD
+#
+# 2022-12-24
+#	+ add/use bracketed+paste to help identify terminals supporting this
+#	  xterm feature (prompted by discussion with Bram Moolenaar) -TD
+#
+# 2022-12-29
+#	+ correct PS vs PE names in bracketed+paste (report by Bram Moolenaar)
+#	  -TD
+#
+# 2023-01-07
+#	+ add comment to bracketed+paste explaining that vim patch 9.0.1117 is
+#	  needed for use with the updated xterm descriptions (suggested by Bram
+#	  Moolenaar).
+#	+ add RV report+version (suggested by Bram Moolenaar).
+#
+# 2023-01-14
+#	+ change RV to XR/xr, to avoid conflict with pre-existing usage in vim,
+#	  to use RV/rv to denote DA2 and its response (discussion with Bram
+#	  Moolenaar) -TD
+#	+ add XF flag to xterm+focus so that termcap applications can be aware
+#	  of terminals which may support focus in/out -TD
+#	+ use xterm+focus in xterm-p370 and tmux -TD
+#
+# 2023-01-28
+#	+ document XF, kxIN and kxOUT -TD
+#	+ add note on sun/wscons/cmdtool/shelltool -TD
+#
+# 2023-04-01
+#	+ remove DECCOLM+DECSCLM from foot (patch by Daniel Ekloef).
+#
+# 2023-04-08
+#	+ add xterm+focus to alacritty+common (patch by Christian Duerr).
+#
+# 2023-05-08
+#	+ add mode 1004 to xterm+sm+1006 from xterm #380 -TD
+#
+# 2023-06-05
+#	+ add xterm+focus to foot+base (patch by Daniel Ekloef).
+#
+# 2023-07-08
+#	+ add linux+kbs for terminals which imitate xterm's behavior with
+#	  Linux -TD
+#
+# 2023-07-15
+#	+ mention E3 in regard to user_caps(5) -TD
+#
+# 2023-08-12
+#	+ add/use putty+cursor to reflect amending of modified cursor-keys in
+#	  2021 -TD
+#	+ add ecma+strikeout to putty -TD
+#
+# 2023-10-21
+#	+ use oldxterm+sm+1006 in vte-2014 (report by Benno Schulenberg) -TD
+#	+ add ansi+apparrows -TD
+#
+# 2023-10-28
+#	+ move xterm focus mode 1004 from xterm+sm+1006 into xterm+focus as
+#	  fe/fd capabilities, like vim (vim-pr #13440).
+#
+# 2023-11-11
+#	+ used "infocmp -u" to help trim redundant capabilities -TD
+#
+# 2023-12-09
+#	+ remove xterm+sm+1006 from tmux (Debian #1057688).
+#	+ used "infocmp -u" to help trim redundant capabilities -TD
+#
+# 2023-12-16
+#	+ used "infocmp -u" to help trim redundant capabilities -TD
+#
+# 2023-12-30
+#	+ add ms-vt100-16color, winconsole -TD
+#	+ add rio, rio-direct -TD
+#	+ add mostlike -TD
+#	+ add wezterm, contour -TD
+#
+# 2024-01-06
+#	+ use ansi+arrows, ansi+apparrows, ansi+csr, ansi+erase, ansi+idc,
+#	  ansi+idc1, ansi+idl, ansi+idl1, ansi+inittabs to trim -TD
+#
+# 2024-01-07
+#	+ restore padding for wy520* and vt320-k311 (report by Sven Joachim).
+#
+# 2024-01-13
+#	+ use ansi+local, ansi+local1, ansi+pp, ansi+rca, ansi+rca2, ansi+sgr
+#	  to trim -TD
+#
+# 2024-01-14
+#	+ use ansi+sgrbold, ansi+sgrdim, ansi+sgrso, ansi+sgrul, ansi+tabs
+#	  ecma+color, ecma+sgr, vt100+4bsd, vt100+pfkeys, vt220+pcedit
+#	  xterm+256color, xterm+acs, xterm+nopcfkeys, xterm+pcf2 to trim -TD
+#
+# 2024-01-27
+#	+ amend change to z39-a (report by Sven Joachim).
+#	+ use xterm+nopcfkeys, vt52-basic, dec+pp, dec+sl, vt52+arrows,
+#	  hp+pfk+cr, klone+acs, klone+color, klone+sgr, ncr160wy50+pp
+#	  to trim -TD
+#	+ NetBSD-related fixes for x68k and wsvt52 (patch by Thomas Klausner)
+#
+# 2024-02-11
+#	+ add vt100+noapp, vt100+noapp+pc, xterm+app+pc, xterm+decedit from
+#	  xterm #389 -TD
+#
+# 2024-03-09
+#	+ modify xgterm to work around line-drawing bug -TD
+#	+ use CSI 3J in vte-2017 (report by Sven Joachim)
+#
+######## SHANTIH!  SHANTIH!  SHANTIH!
diff --git a/ncurses/Makefile b/ncurses/Makefile
new file mode 100644
index 0000000..9700883
--- /dev/null
+++ b/ncurses/Makefile
@@ -0,0 +1,2771 @@
+# $Id: Makefile.in,v 1.184 2024/01/19 12:00:00 tom Exp $
+##############################################################################
+# Copyright 2018-2022,2024 Thomas E. Dickey                                  #
+# Copyright 1998-2017,2018 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for ncurses source code.
+#
+# This makes the following:
+#	programs
+#	includes
+#	libraries (normal/debug/profile/shared)
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+# and the programs with the configured default model.
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+TOP_MFLAGS	=  DESTDIR="$(DESTDIR)" RPATH_LIST="$(RPATH_LIST)"
+
+
+x		= 
+o		= .o
+
+MODEL		= normal
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /usr
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+datarootdir	= ${prefix}/share
+datadir		= ${datarootdir}
+includesubdir	= 
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncursesw
+
+LIBTOOL		= 
+LIBTOOL_OPTS	=  
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+LIBTOOL_INSTALL	= 
+LIBTOOL_UNINSTALL = 
+LT_UNDEF	= 
+
+INSTALL		= /usr/bin/install -c
+INSTALL_LIB	= /usr/bin/install -c -m 644 -p
+INSTALL_PROG	= ${INSTALL} -s
+INSTALL_DATA	= ${INSTALL} -m 644
+
+AR		= ar
+ARFLAGS		= -curvU
+AWK		= mawk
+LD		= ld
+LN_S		= ln -s -f
+NM		= nm
+
+CTAGS		= ctags
+ETAGS		= etags
+
+CC		= gcc
+CPP		= gcc -E
+CFLAGS		= -O2 --param max-inline-insns-single=1200 
+LIBS		= 
+
+INCDIR		= $(srcdir)/../include
+CPPFLAGS	= -DHAVE_CONFIG_H -DBUILDING_NCURSES -I../ncurses -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+BUILD_CPPFLAGS	= -DHAVE_CONFIG_H -DUSE_BUILD_CC -I../ncurses -I$(srcdir) -I../include -I$(INCDIR) ${CPPFLAGS}
+BUILD_CC	= ${CC}
+BUILD_CCFLAGS	= ${CFLAGS}
+BUILD_LDFLAGS	= ${LDFLAGS}
+BUILD_LIBS	= ${LIBS}
+
+# The executables built in this directory are used for generating source that
+# is compiled into the build, or are test-programs that are not installed.
+
+BUILD_EXEEXT	= $x
+x		= 
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS) -DNCURSES_STATIC
+CFLAGS_DEBUG	= $(CCFLAGS) -DNCURSES_STATIC -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -DNCURSES_STATIC -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+LINK		= $(LIBTOOL)
+LDFLAGS		=  
+
+SHLIB_DIRS	= -L../lib
+SHLIB_LIST	= $(SHLIB_DIRS)  
+TINFO_LIST	= $(SHLIB_DIRS)  
+TICS_LIST	= $(SHLIB_DIRS)  
+
+RPATH_LIST	= ${libdir}
+RESULTING_SYMS	= 
+VERSIONED_SYMS	= 
+MK_SHARED_LIB	= ${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,`basename $@ .${REL_VERSION}`.${ABI_VERSION},-stats,-lc -o $@
+
+NCURSES_MAJOR	= 6
+NCURSES_MINOR	= 5
+REL_VERSION	= 6.5
+ABI_VERSION	= 6
+
+RANLIB		= ranlib
+
+LIBRARIES	=  ../lib/libncursesw.a ../lib/libncursesw_g.a
+
+LINT		= 
+LINT_OPTS	= 
+LINT_LIBS	= -lncurses 
+
+FALLBACK_LIST	= 
+
+USE_BIG_STRINGS	= 1
+TERMINFO_CAPS	= $(top_srcdir)/include/Caps
+CAPLIST		= $(TERMINFO_CAPS) $(top_srcdir)/include/Caps-ncurses
+
+TERMINFO	= /system_ext/etc/terminfo
+TERMINFO_SRC	= ${top_srcdir}/misc/terminfo.src
+TIC_PATH	= tic
+INFOCMP_PATH	= infocmp
+
+AUTO_SRC = \
+	./codes.c \
+	./comp_captab.c \
+	./comp_userdefs.c \
+	./expanded.c \
+	./fallback.c \
+	./lib_gen.c \
+	./lib_keyname.c \
+	./link_test.c \
+	./names.c \
+	./unctrl.c \
+	init_keytry.h \
+	keys.list
+
+HEADER_DEPS	=  \
+	../include/ncurses_cfg.h \
+	../include/ncurses_def.h \
+	../include/ncurses_dll.h \
+	../include/curses.h \
+	../include/term.h \
+	../include/unctrl.h \
+	$(INCDIR)/nc_alloc.h \
+	$(INCDIR)/nc_panel.h \
+	$(INCDIR)/nc_string.h \
+	$(INCDIR)/nc_termios.h \
+	$(INCDIR)/nc_tparm.h \
+	$(INCDIR)/nc_win32.h \
+	$(INCDIR)/term_entry.h \
+	$(srcdir)/curses.priv.h \
+	$(srcdir)/new_pair.h \
+	$(srcdir)/term.priv.h
+
+TEST_DEPS	= ../lib/libncursesw.a
+TEST_ARGS	=  -L../lib -lformw -lmenuw -lpanelw -lncursesw  
+TEST_LDFLAGS	=  $(TEST_ARGS)   
+
+TEST_PROGS = \
+	captoinfo$x \
+	hardscroll$x \
+	hashmap$x \
+	lib_mvcur$x \
+	link_test$x \
+	report_hashing$x
+
+LOCAL_LIBDIR	= /home/micky387/Omni/external/libncurses/lib
+
+base	 = $(srcdir)/base
+serial	 = $(srcdir)/tty
+tinfo	 = $(srcdir)/tinfo
+trace	 = $(srcdir)/trace
+wide	 = $(srcdir)/widechar
+win32con = $(srcdir)/win32con
+
+################################################################################
+
+.PHONY :	all
+.PHONY :	check
+.PHONY :	clean
+.PHONY :	distclean
+.PHONY :	libs
+.PHONY :	mostlyclean
+.PHONY :	realclean
+.PHONY :	sources
+.PHONY :	test_progs
+
+all libs ::	$(AUTO_SRC) ../lib $(LIBRARIES)
+
+all libs ::	report_offsets$(BUILD_EXEEXT)
+
+sources:	$(AUTO_SRC)
+
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(libdir) :
+	mkdir -p $@
+
+../lib : ; mkdir $@
+
+./fallback.c : $(tinfo)/MKfallback.sh
+	$(SHELL) -e $(tinfo)/MKfallback.sh $(TERMINFO) $(TERMINFO_SRC) "$(TIC_PATH)" "$(INFOCMP_PATH)" $(FALLBACK_LIST) >$@
+
+./lib_gen.c : $(base)/MKlib_gen.sh ../include/curses.h
+	FGREP="grep -F" $(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" generated <../include/curses.h >$@
+
+init_keytry.h : make_keys$(BUILD_EXEEXT) keys.list
+	./make_keys$(BUILD_EXEEXT) keys.list > $@
+
+keys.list :	$(tinfo)/MKkeys_list.sh
+	AWK=$(AWK) USE_SIGWINCH=1 $(SHELL) $(tinfo)/MKkeys_list.sh $(CAPLIST) | LC_ALL=C sort >$@
+
+make_keys$(BUILD_EXEEXT) : \
+		build.priv.h \
+		$(tinfo)/make_keys.c \
+		./names.c
+	$(BUILD_CC) -o $@ $(BUILD_CPPFLAGS) $(BUILD_CCFLAGS) $(tinfo)/make_keys.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
+
+make_hash$(BUILD_EXEEXT) : \
+		build.priv.h \
+		$(tinfo)/make_hash.c \
+		../include/hashsize.h
+	$(BUILD_CC) -o $@ $(BUILD_CPPFLAGS) $(BUILD_CCFLAGS) $(tinfo)/make_hash.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
+
+report_offsets$(BUILD_EXEEXT) : \
+		$(srcdir)/curses.priv.h \
+		$(srcdir)/report_offsets.c
+	$(BUILD_CC) -o $@ $(BUILD_CPPFLAGS) $(BUILD_CCFLAGS) $(srcdir)/report_offsets.c $(BUILD_LDFLAGS) $(BUILD_LIBS)
+	./report_offsets$(BUILD_EXEEXT)
+
+./expanded.c : $(srcdir)/curses.priv.h $(serial)/MKexpanded.sh
+	$(SHELL) -e $(serial)/MKexpanded.sh "$(CPP)" $(CPPFLAGS) > $@
+
+./comp_captab.c: \
+		make_hash$(BUILD_EXEEXT) \
+		../include/hashsize.h \
+		$(tinfo)/MKcaptab.sh \
+		$(tinfo)/MKcaptab.awk
+	$(SHELL) -e $(tinfo)/MKcaptab.sh $(AWK) $(USE_BIG_STRINGS) $(tinfo)/MKcaptab.awk $(CAPLIST) > $@
+
+./comp_userdefs.c: \
+		make_hash$(BUILD_EXEEXT) \
+		../include/hashsize.h \
+		$(tinfo)/MKuserdefs.sh
+	$(SHELL) -e $(tinfo)/MKuserdefs.sh $(AWK) $(USE_BIG_STRINGS) $(CAPLIST) > $@
+
+./lib_keyname.c: keys.list $(base)/MKkeyname.awk
+	$(AWK) -f $(base)/MKkeyname.awk use_sigwinch=1 bigstrings=$(USE_BIG_STRINGS) keys.list > $@
+
+./codes.c: $(tinfo)/MKcodes.awk
+	$(AWK) -f $(tinfo)/MKcodes.awk bigstrings=$(USE_BIG_STRINGS) $(CAPLIST) >$@
+
+./names.c: $(tinfo)/MKnames.awk
+	$(AWK) -f $(tinfo)/MKnames.awk bigstrings=$(USE_BIG_STRINGS) $(CAPLIST) >$@
+
+./unctrl.c: $(base)/MKunctrl.awk
+	echo | $(AWK) -f $(base)/MKunctrl.awk bigstrings=$(USE_BIG_STRINGS) >$@
+
+tags:
+	$(CTAGS) *.[ch] */*.[ch]
+
+TAGS:
+	$(ETAGS) *.[ch] */*.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac
+	-test -d trace || rm -f trace
+	-rm -f $(TEST_PROGS)
+
+clean :: mostlyclean
+	-rm -f $(AUTO_SRC)
+	-rm -f make_keys$(BUILD_EXEEXT)
+	-rm -f make_hash$(BUILD_EXEEXT)
+	-rm -f report_offsets$(BUILD_EXEEXT)
+	-rm -rf .libs *.dSYM *.map
+
+distclean :: clean
+	-rm -f Makefile
+
+realclean :: distclean
+
+# These rules are used to allow "make -n" to work on a clean directory-tree
+../include/hashsize.h \
+../include/parametrized.h \
+../include/term.h :
+	( cd ../include && $(MAKE) $(TOP_MFLAGS) )
+
+# These rules build test-programs for the modules that have test-drivers
+.PHONY :	test_progs
+test_progs : $(TEST_PROGS)
+
+./link_test.c : $(base)/MKlib_gen.sh ../include/curses.h
+	FGREP="grep -F" $(SHELL) -e $(base)/MKlib_gen.sh "$(CPP) $(CPPFLAGS)" "$(AWK)" implemented <../include/curses.h >$@
+
+captoinfo$x : $(tinfo)/captoinfo.c $(TEST_DEPS)
+	 $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DMAIN $(tinfo)/captoinfo.c $(TEST_LDFLAGS)
+
+hardscroll$x : $(serial)/hardscroll.c $(TEST_DEPS)
+	 $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DSCROLLDEBUG $(serial)/hardscroll.c $(TEST_LDFLAGS)
+
+hashmap$x : $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_DEPS)
+	 $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DHASHDEBUG $(serial)/hashmap.c $(serial)/hardscroll.c $(TEST_LDFLAGS)
+
+lib_mvcur$x : $(serial)/lib_mvcur.c $(TEST_DEPS) \
+		../objects/dump_entry$o
+	 $(LIBTOOL_LINK) -o $@ $(CFLAGS_DEFAULT) -DNCURSES_TEST -I$(serial)/../../progs $(serial)/lib_mvcur.c ../objects/dump_entry$o $(TEST_LDFLAGS)
+
+link_test$x : ./link_test.c $(TEST_DEPS) \
+		../objects/link_test$o
+	 $(CC) -o $@ $(CFLAGS_DEFAULT) ../objects/link_test$o $(TEST_LDFLAGS)
+
+../objects/dump_entry$o:
+	( cd ../progs && $(MAKE) ../objects/dump_entry$o )
+
+report_hashing$x : \
+		$(srcdir)/curses.priv.h \
+		$(srcdir)/report_hashing.c $(TEST_DEPS)
+	 $(CC) -o $@ $(CFLAGS_DEFAULT) report_hashing.c $(TEST_LDFLAGS)
+
+# Verify that each header-file can be compiled without including another.
+.PHONY :	check_headers
+check_headers:
+	@$(SHELL) -c "for header in *.h;\
+		do \
+			echo \"** testing \$${header}\" ; \
+			echo \"#include <\$${header}>\" >headers.c; \
+			echo \"int main(void) { return 0; }\" >>headers.c; \
+			$(CC) -c $(CFLAGS) $(CPPFLAGS) headers.c; \
+		done"
+	-@rm -f headers.*
+
+.PHONY :	check_objects
+check_objects: test_progs
+
+check :: check_headers check_objects
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	mawk 'BEGIN { skip = 1; last=""; } /deprecated in ABI6/ { next; }{ sub("NCURSES([WT]+)?", "&6"); } { if ( last != "" && ( skip == 0 || $$0 !~ /}/ ) ) { print last; } skip = 0; last = $$0; } END { print last; }' < "" >$@
+
+distclean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    ncursesw
+#   subsets:    ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   ticlib:     
+#   termlib:    
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(serial)/hardscroll.c \
+	$(serial)/hashmap.c \
+	$(base)/lib_addch.c \
+	$(base)/lib_addstr.c \
+	$(base)/lib_beep.c \
+	$(base)/lib_bkgd.c \
+	$(base)/lib_box.c \
+	$(base)/lib_chgat.c \
+	$(base)/lib_clear.c \
+	$(base)/lib_clearok.c \
+	$(base)/lib_clrbot.c \
+	$(base)/lib_clreol.c \
+	$(base)/lib_color.c \
+	$(base)/lib_colorset.c \
+	$(base)/lib_delch.c \
+	$(base)/lib_delwin.c \
+	$(base)/lib_echo.c \
+	$(base)/lib_endwin.c \
+	$(base)/lib_erase.c \
+	$(base)/lib_flash.c \
+	./lib_gen.c \
+	$(base)/lib_getch.c \
+	$(base)/lib_getstr.c \
+	$(base)/lib_hline.c \
+	$(base)/lib_immedok.c \
+	$(base)/lib_inchstr.c \
+	$(base)/lib_initscr.c \
+	$(base)/lib_insch.c \
+	$(base)/lib_insdel.c \
+	$(base)/lib_insnstr.c \
+	$(base)/lib_instr.c \
+	$(base)/lib_isendwin.c \
+	$(base)/lib_leaveok.c \
+	$(base)/lib_mouse.c \
+	$(base)/lib_move.c \
+	$(serial)/lib_mvcur.c \
+	$(base)/lib_mvwin.c \
+	$(base)/lib_newterm.c \
+	$(base)/lib_newwin.c \
+	$(base)/lib_nl.c \
+	$(base)/lib_overlay.c \
+	$(base)/lib_pad.c \
+	$(base)/lib_printw.c \
+	$(base)/lib_redrawln.c \
+	$(base)/lib_refresh.c \
+	$(base)/lib_restart.c \
+	$(base)/lib_scanw.c \
+	$(base)/lib_screen.c \
+	$(base)/lib_scroll.c \
+	$(base)/lib_scrollok.c \
+	$(base)/lib_scrreg.c \
+	$(base)/lib_set_term.c \
+	$(base)/lib_slk.c \
+	$(base)/lib_slkatr_set.c \
+	$(base)/lib_slkatrof.c \
+	$(base)/lib_slkatron.c \
+	$(base)/lib_slkatrset.c \
+	$(base)/lib_slkattr.c \
+	$(base)/lib_slkclear.c \
+	$(base)/lib_slkcolor.c \
+	$(base)/lib_slkinit.c \
+	$(base)/lib_slklab.c \
+	$(base)/lib_slkrefr.c \
+	$(base)/lib_slkset.c \
+	$(base)/lib_slktouch.c \
+	$(base)/lib_touch.c \
+	$(trace)/lib_tracedmp.c \
+	$(trace)/lib_tracemse.c \
+	$(serial)/lib_tstp.c \
+	$(base)/lib_ungetch.c \
+	$(serial)/lib_vidattr.c \
+	$(base)/lib_vline.c \
+	$(base)/lib_wattroff.c \
+	$(base)/lib_wattron.c \
+	$(base)/lib_winch.c \
+	$(base)/lib_window.c \
+	$(base)/nc_panel.c \
+	$(base)/safe_sprintf.c \
+	$(serial)/tty_update.c \
+	$(trace)/varargs.c \
+	$(base)/vsscanf.c \
+	$(base)/lib_freeall.c \
+	$(wide)/charable.c \
+	$(wide)/lib_add_wch.c \
+	$(wide)/lib_box_set.c \
+	$(wide)/lib_cchar.c \
+	$(wide)/lib_erasewchar.c \
+	$(wide)/lib_get_wch.c \
+	$(wide)/lib_get_wstr.c \
+	$(wide)/lib_hline_set.c \
+	$(wide)/lib_in_wch.c \
+	$(wide)/lib_in_wchnstr.c \
+	$(wide)/lib_ins_wch.c \
+	$(wide)/lib_inwstr.c \
+	$(wide)/lib_key_name.c \
+	$(wide)/lib_pecho_wchar.c \
+	$(wide)/lib_slk_wset.c \
+	$(wide)/lib_unget_wch.c \
+	$(wide)/lib_vid_attr.c \
+	$(wide)/lib_vline_set.c \
+	$(wide)/lib_wacs.c \
+	$(wide)/lib_wunctrl.c \
+	./expanded.c \
+	$(base)/legacy_coding.c \
+	$(base)/lib_dft_fgbg.c \
+	$(tinfo)/lib_print.c \
+	$(base)/new_pair.c \
+	$(base)/resizeterm.c \
+	$(trace)/trace_xnames.c \
+	$(tinfo)/use_screen.c \
+	$(base)/use_window.c \
+	$(base)/wresize.c \
+	$(tinfo)/access.c \
+	$(tinfo)/add_tries.c \
+	$(tinfo)/alloc_ttype.c \
+	./codes.c \
+	./comp_captab.c \
+	$(tinfo)/comp_error.c \
+	$(tinfo)/comp_hash.c \
+	./comp_userdefs.c \
+	$(tinfo)/db_iterator.c \
+	$(tinfo)/doalloc.c \
+	$(tinfo)/entries.c \
+	./fallback.c \
+	$(tinfo)/free_ttype.c \
+	$(tinfo)/getenv_num.c \
+	$(tinfo)/home_terminfo.c \
+	$(tinfo)/init_keytry.c \
+	$(tinfo)/lib_acs.c \
+	$(tinfo)/lib_baudrate.c \
+	$(tinfo)/lib_cur_term.c \
+	$(tinfo)/lib_data.c \
+	$(tinfo)/lib_has_cap.c \
+	$(tinfo)/lib_kernel.c \
+	./lib_keyname.c \
+	$(tinfo)/lib_longname.c \
+	$(tinfo)/lib_napms.c \
+	$(tinfo)/lib_options.c \
+	$(tinfo)/lib_raw.c \
+	$(tinfo)/lib_setup.c \
+	$(tinfo)/lib_termcap.c \
+	$(tinfo)/lib_termname.c \
+	$(tinfo)/lib_tgoto.c \
+	$(tinfo)/lib_ti.c \
+	$(tinfo)/lib_tparm.c \
+	$(tinfo)/lib_tputs.c \
+	$(trace)/lib_trace.c \
+	$(trace)/lib_traceatr.c \
+	$(trace)/lib_tracebits.c \
+	$(trace)/lib_tracechr.c \
+	$(tinfo)/lib_ttyflags.c \
+	$(serial)/lib_twait.c \
+	$(tinfo)/name_match.c \
+	./names.c \
+	$(tinfo)/obsolete.c \
+	$(tinfo)/read_entry.c \
+	$(tinfo)/read_termcap.c \
+	$(tinfo)/strings.c \
+	$(trace)/trace_buf.c \
+	$(trace)/trace_tries.c \
+	$(base)/tries.c \
+	$(tinfo)/trim_sgr0.c \
+	./unctrl.c \
+	$(trace)/visbuf.c \
+	$(tinfo)/alloc_entry.c \
+	$(tinfo)/captoinfo.c \
+	$(tinfo)/comp_expand.c \
+	$(tinfo)/comp_parse.c \
+	$(tinfo)/comp_scan.c \
+	$(tinfo)/parse_entry.c \
+	$(tinfo)/write_entry.c \
+	$(base)/define_key.c \
+	$(tinfo)/hashed_db.c \
+	$(base)/key_defined.c \
+	$(base)/keybound.c \
+	$(base)/keyok.c \
+	$(base)/version.c
+
+# Producing llib-lncursesw is time-consuming, so there's no direct-dependency for
+# it in the lintlib rule.  We'll only remove in the cleanest setup.
+
+NCURSESW_SRC = \
+	$(serial)/hardscroll.c \
+	$(serial)/hashmap.c \
+	$(base)/lib_addch.c \
+	$(base)/lib_addstr.c \
+	$(base)/lib_beep.c \
+	$(base)/lib_bkgd.c \
+	$(base)/lib_box.c \
+	$(base)/lib_chgat.c \
+	$(base)/lib_clear.c \
+	$(base)/lib_clearok.c \
+	$(base)/lib_clrbot.c \
+	$(base)/lib_clreol.c \
+	$(base)/lib_color.c \
+	$(base)/lib_colorset.c \
+	$(base)/lib_delch.c \
+	$(base)/lib_delwin.c \
+	$(base)/lib_echo.c \
+	$(base)/lib_endwin.c \
+	$(base)/lib_erase.c \
+	$(base)/lib_flash.c \
+	./lib_gen.c \
+	$(base)/lib_getch.c \
+	$(base)/lib_getstr.c \
+	$(base)/lib_hline.c \
+	$(base)/lib_immedok.c \
+	$(base)/lib_inchstr.c \
+	$(base)/lib_initscr.c \
+	$(base)/lib_insch.c \
+	$(base)/lib_insdel.c \
+	$(base)/lib_insnstr.c \
+	$(base)/lib_instr.c \
+	$(base)/lib_isendwin.c \
+	$(base)/lib_leaveok.c \
+	$(base)/lib_mouse.c \
+	$(base)/lib_move.c \
+	$(serial)/lib_mvcur.c \
+	$(base)/lib_mvwin.c \
+	$(base)/lib_newterm.c \
+	$(base)/lib_newwin.c \
+	$(base)/lib_nl.c \
+	$(base)/lib_overlay.c \
+	$(base)/lib_pad.c \
+	$(base)/lib_printw.c \
+	$(base)/lib_redrawln.c \
+	$(base)/lib_refresh.c \
+	$(base)/lib_restart.c \
+	$(base)/lib_scanw.c \
+	$(base)/lib_screen.c \
+	$(base)/lib_scroll.c \
+	$(base)/lib_scrollok.c \
+	$(base)/lib_scrreg.c \
+	$(base)/lib_set_term.c \
+	$(base)/lib_slk.c \
+	$(base)/lib_slkatr_set.c \
+	$(base)/lib_slkatrof.c \
+	$(base)/lib_slkatron.c \
+	$(base)/lib_slkatrset.c \
+	$(base)/lib_slkattr.c \
+	$(base)/lib_slkclear.c \
+	$(base)/lib_slkcolor.c \
+	$(base)/lib_slkinit.c \
+	$(base)/lib_slklab.c \
+	$(base)/lib_slkrefr.c \
+	$(base)/lib_slkset.c \
+	$(base)/lib_slktouch.c \
+	$(base)/lib_touch.c \
+	$(trace)/lib_tracedmp.c \
+	$(trace)/lib_tracemse.c \
+	$(serial)/lib_tstp.c \
+	$(base)/lib_ungetch.c \
+	$(serial)/lib_vidattr.c \
+	$(base)/lib_vline.c \
+	$(base)/lib_wattroff.c \
+	$(base)/lib_wattron.c \
+	$(base)/lib_winch.c \
+	$(base)/lib_window.c \
+	$(base)/nc_panel.c \
+	$(base)/safe_sprintf.c \
+	$(serial)/tty_update.c \
+	$(trace)/varargs.c \
+	$(base)/vsscanf.c \
+	$(base)/lib_freeall.c \
+	$(wide)/charable.c \
+	$(wide)/lib_add_wch.c \
+	$(wide)/lib_box_set.c \
+	$(wide)/lib_cchar.c \
+	$(wide)/lib_erasewchar.c \
+	$(wide)/lib_get_wch.c \
+	$(wide)/lib_get_wstr.c \
+	$(wide)/lib_hline_set.c \
+	$(wide)/lib_in_wch.c \
+	$(wide)/lib_in_wchnstr.c \
+	$(wide)/lib_ins_wch.c \
+	$(wide)/lib_inwstr.c \
+	$(wide)/lib_key_name.c \
+	$(wide)/lib_pecho_wchar.c \
+	$(wide)/lib_slk_wset.c \
+	$(wide)/lib_unget_wch.c \
+	$(wide)/lib_vid_attr.c \
+	$(wide)/lib_vline_set.c \
+	$(wide)/lib_wacs.c \
+	$(wide)/lib_wunctrl.c \
+	./expanded.c \
+	$(base)/legacy_coding.c \
+	$(base)/lib_dft_fgbg.c \
+	$(tinfo)/lib_print.c \
+	$(base)/new_pair.c \
+	$(base)/resizeterm.c \
+	$(trace)/trace_xnames.c \
+	$(tinfo)/use_screen.c \
+	$(base)/use_window.c \
+	$(base)/wresize.c \
+	$(tinfo)/access.c \
+	$(tinfo)/add_tries.c \
+	$(tinfo)/alloc_ttype.c \
+	./codes.c \
+	./comp_captab.c \
+	$(tinfo)/comp_error.c \
+	$(tinfo)/comp_hash.c \
+	./comp_userdefs.c \
+	$(tinfo)/db_iterator.c \
+	$(tinfo)/doalloc.c \
+	$(tinfo)/entries.c \
+	./fallback.c \
+	$(tinfo)/free_ttype.c \
+	$(tinfo)/getenv_num.c \
+	$(tinfo)/home_terminfo.c \
+	$(tinfo)/init_keytry.c \
+	$(tinfo)/lib_acs.c \
+	$(tinfo)/lib_baudrate.c \
+	$(tinfo)/lib_cur_term.c \
+	$(tinfo)/lib_data.c \
+	$(tinfo)/lib_has_cap.c \
+	$(tinfo)/lib_kernel.c \
+	./lib_keyname.c \
+	$(tinfo)/lib_longname.c \
+	$(tinfo)/lib_napms.c \
+	$(tinfo)/lib_options.c \
+	$(tinfo)/lib_raw.c \
+	$(tinfo)/lib_setup.c \
+	$(tinfo)/lib_termcap.c \
+	$(tinfo)/lib_termname.c \
+	$(tinfo)/lib_tgoto.c \
+	$(tinfo)/lib_ti.c \
+	$(tinfo)/lib_tparm.c \
+	$(tinfo)/lib_tputs.c \
+	$(trace)/lib_trace.c \
+	$(trace)/lib_traceatr.c \
+	$(trace)/lib_tracebits.c \
+	$(trace)/lib_tracechr.c \
+	$(tinfo)/lib_ttyflags.c \
+	$(serial)/lib_twait.c \
+	$(tinfo)/name_match.c \
+	./names.c \
+	$(tinfo)/obsolete.c \
+	$(tinfo)/read_entry.c \
+	$(tinfo)/read_termcap.c \
+	$(tinfo)/strings.c \
+	$(trace)/trace_buf.c \
+	$(trace)/trace_tries.c \
+	$(base)/tries.c \
+	$(tinfo)/trim_sgr0.c \
+	./unctrl.c \
+	$(trace)/visbuf.c \
+	$(tinfo)/alloc_entry.c \
+	$(tinfo)/captoinfo.c \
+	$(tinfo)/comp_expand.c \
+	$(tinfo)/comp_parse.c \
+	$(tinfo)/comp_scan.c \
+	$(tinfo)/parse_entry.c \
+	$(tinfo)/write_entry.c \
+	$(base)/define_key.c \
+	$(tinfo)/hashed_db.c \
+	$(base)/key_defined.c \
+	$(base)/keybound.c \
+	$(base)/keyok.c \
+	$(base)/version.c
+
+clean ::
+	rm -f llib-lncursesw.*
+
+realclean ::
+	rm -f llib-lncursesw
+
+llib-lncursesw : $(NCURSESW_SRC)
+	cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(NCURSESW_SRC) >$@
+
+lintlib ::
+	sh $(srcdir)/../misc/makellib ncursesw $(CPPFLAGS)
+
+lint ::
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(NCURSESW_SRC) $(LINT_LIBS)
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            ncursesw
+#  traces:          DEBUG
+#  MODEL:           NORMAL
+#  CXX_MODEL:       NORMAL
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           objects
+#  prefix:          lib
+#  suffix:          .a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./curses.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+NORMAL_OBJS = \
+	../objects/hardscroll$o \
+	../objects/hashmap$o \
+	../objects/lib_addch$o \
+	../objects/lib_addstr$o \
+	../objects/lib_beep$o \
+	../objects/lib_bkgd$o \
+	../objects/lib_box$o \
+	../objects/lib_chgat$o \
+	../objects/lib_clear$o \
+	../objects/lib_clearok$o \
+	../objects/lib_clrbot$o \
+	../objects/lib_clreol$o \
+	../objects/lib_color$o \
+	../objects/lib_colorset$o \
+	../objects/lib_delch$o \
+	../objects/lib_delwin$o \
+	../objects/lib_echo$o \
+	../objects/lib_endwin$o \
+	../objects/lib_erase$o \
+	../objects/lib_flash$o \
+	../objects/lib_gen$o \
+	../objects/lib_getch$o \
+	../objects/lib_getstr$o \
+	../objects/lib_hline$o \
+	../objects/lib_immedok$o \
+	../objects/lib_inchstr$o \
+	../objects/lib_initscr$o \
+	../objects/lib_insch$o \
+	../objects/lib_insdel$o \
+	../objects/lib_insnstr$o \
+	../objects/lib_instr$o \
+	../objects/lib_isendwin$o \
+	../objects/lib_leaveok$o \
+	../objects/lib_mouse$o \
+	../objects/lib_move$o \
+	../objects/lib_mvcur$o \
+	../objects/lib_mvwin$o \
+	../objects/lib_newterm$o \
+	../objects/lib_newwin$o \
+	../objects/lib_nl$o \
+	../objects/lib_overlay$o \
+	../objects/lib_pad$o \
+	../objects/lib_printw$o \
+	../objects/lib_redrawln$o \
+	../objects/lib_refresh$o \
+	../objects/lib_restart$o \
+	../objects/lib_scanw$o \
+	../objects/lib_screen$o \
+	../objects/lib_scroll$o \
+	../objects/lib_scrollok$o \
+	../objects/lib_scrreg$o \
+	../objects/lib_set_term$o \
+	../objects/lib_slk$o \
+	../objects/lib_slkatr_set$o \
+	../objects/lib_slkatrof$o \
+	../objects/lib_slkatron$o \
+	../objects/lib_slkatrset$o \
+	../objects/lib_slkattr$o \
+	../objects/lib_slkclear$o \
+	../objects/lib_slkcolor$o \
+	../objects/lib_slkinit$o \
+	../objects/lib_slklab$o \
+	../objects/lib_slkrefr$o \
+	../objects/lib_slkset$o \
+	../objects/lib_slktouch$o \
+	../objects/lib_touch$o \
+	../objects/lib_tstp$o \
+	../objects/lib_ungetch$o \
+	../objects/lib_vidattr$o \
+	../objects/lib_vline$o \
+	../objects/lib_wattroff$o \
+	../objects/lib_wattron$o \
+	../objects/lib_winch$o \
+	../objects/lib_window$o \
+	../objects/nc_panel$o \
+	../objects/safe_sprintf$o \
+	../objects/tty_update$o \
+	../objects/varargs$o \
+	../objects/vsscanf$o \
+	../objects/lib_freeall$o \
+	../objects/charable$o \
+	../objects/lib_add_wch$o \
+	../objects/lib_box_set$o \
+	../objects/lib_cchar$o \
+	../objects/lib_erasewchar$o \
+	../objects/lib_get_wch$o \
+	../objects/lib_get_wstr$o \
+	../objects/lib_hline_set$o \
+	../objects/lib_in_wch$o \
+	../objects/lib_in_wchnstr$o \
+	../objects/lib_ins_wch$o \
+	../objects/lib_inwstr$o \
+	../objects/lib_key_name$o \
+	../objects/lib_pecho_wchar$o \
+	../objects/lib_slk_wset$o \
+	../objects/lib_unget_wch$o \
+	../objects/lib_vid_attr$o \
+	../objects/lib_vline_set$o \
+	../objects/lib_wacs$o \
+	../objects/lib_wunctrl$o \
+	../objects/expanded$o \
+	../objects/legacy_coding$o \
+	../objects/lib_dft_fgbg$o \
+	../objects/lib_print$o \
+	../objects/new_pair$o \
+	../objects/resizeterm$o \
+	../objects/use_screen$o \
+	../objects/use_window$o \
+	../objects/wresize$o \
+	../objects/access$o \
+	../objects/add_tries$o \
+	../objects/alloc_ttype$o \
+	../objects/codes$o \
+	../objects/comp_captab$o \
+	../objects/comp_error$o \
+	../objects/comp_hash$o \
+	../objects/comp_userdefs$o \
+	../objects/db_iterator$o \
+	../objects/doalloc$o \
+	../objects/entries$o \
+	../objects/fallback$o \
+	../objects/free_ttype$o \
+	../objects/getenv_num$o \
+	../objects/home_terminfo$o \
+	../objects/init_keytry$o \
+	../objects/lib_acs$o \
+	../objects/lib_baudrate$o \
+	../objects/lib_cur_term$o \
+	../objects/lib_data$o \
+	../objects/lib_has_cap$o \
+	../objects/lib_kernel$o \
+	../objects/lib_keyname$o \
+	../objects/lib_longname$o \
+	../objects/lib_napms$o \
+	../objects/lib_options$o \
+	../objects/lib_raw$o \
+	../objects/lib_setup$o \
+	../objects/lib_termcap$o \
+	../objects/lib_termname$o \
+	../objects/lib_tgoto$o \
+	../objects/lib_ti$o \
+	../objects/lib_tparm$o \
+	../objects/lib_tputs$o \
+	../objects/lib_trace$o \
+	../objects/lib_ttyflags$o \
+	../objects/lib_twait$o \
+	../objects/name_match$o \
+	../objects/names$o \
+	../objects/obsolete$o \
+	../objects/read_entry$o \
+	../objects/read_termcap$o \
+	../objects/strings$o \
+	../objects/tries$o \
+	../objects/trim_sgr0$o \
+	../objects/unctrl$o \
+	../objects/visbuf$o \
+	../objects/alloc_entry$o \
+	../objects/captoinfo$o \
+	../objects/comp_expand$o \
+	../objects/comp_parse$o \
+	../objects/comp_scan$o \
+	../objects/parse_entry$o \
+	../objects/write_entry$o \
+	../objects/define_key$o \
+	../objects/hashed_db$o \
+	../objects/key_defined$o \
+	../objects/keybound$o \
+	../objects/keyok$o \
+	../objects/version$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./curses.priv.h
+
+../lib/libncursesw.a : $(NORMAL_OBJS)
+	@sleep 1
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.ncursesw :: $(DESTDIR)$(libdir) ../lib/libncursesw.a
+	@echo installing ../lib/libncursesw.a as $(DESTDIR)$(libdir)/libncursesw.a
+	$(INSTALL_DATA) ../lib/libncursesw.a $(DESTDIR)$(libdir)/libncursesw.a
+
+uninstall \
+uninstall.libs \
+uninstall.ncursesw ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libncursesw.a
+	-@rm -f $(DESTDIR)$(libdir)/libncursesw.a
+
+clean ::
+	-rm -f ../lib/libncursesw.a
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/hardscroll$o :	$(serial)/hardscroll.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/hardscroll.c -o ../objects/hardscroll$o
+
+../objects/hashmap$o :	$(serial)/hashmap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/hashmap.c -o ../objects/hashmap$o
+
+../objects/lib_addch$o :	$(base)/lib_addch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_addch.c -o ../objects/lib_addch$o
+
+../objects/lib_addstr$o :	$(base)/lib_addstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_addstr.c -o ../objects/lib_addstr$o
+
+../objects/lib_beep$o :	$(base)/lib_beep.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_beep.c -o ../objects/lib_beep$o
+
+../objects/lib_bkgd$o :	$(base)/lib_bkgd.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_bkgd.c -o ../objects/lib_bkgd$o
+
+../objects/lib_box$o :	$(base)/lib_box.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_box.c -o ../objects/lib_box$o
+
+../objects/lib_chgat$o :	$(base)/lib_chgat.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_chgat.c -o ../objects/lib_chgat$o
+
+../objects/lib_clear$o :	$(base)/lib_clear.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clear.c -o ../objects/lib_clear$o
+
+../objects/lib_clearok$o :	$(base)/lib_clearok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clearok.c -o ../objects/lib_clearok$o
+
+../objects/lib_clrbot$o :	$(base)/lib_clrbot.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clrbot.c -o ../objects/lib_clrbot$o
+
+../objects/lib_clreol$o :	$(base)/lib_clreol.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_clreol.c -o ../objects/lib_clreol$o
+
+../objects/lib_color$o :	$(base)/lib_color.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(srcdir)/new_pair.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_color.c -o ../objects/lib_color$o
+
+../objects/lib_colorset$o :	$(base)/lib_colorset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_colorset.c -o ../objects/lib_colorset$o
+
+../objects/lib_delch$o :	$(base)/lib_delch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_delch.c -o ../objects/lib_delch$o
+
+../objects/lib_delwin$o :	$(base)/lib_delwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_delwin.c -o ../objects/lib_delwin$o
+
+../objects/lib_echo$o :	$(base)/lib_echo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_echo.c -o ../objects/lib_echo$o
+
+../objects/lib_endwin$o :	$(base)/lib_endwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_endwin.c -o ../objects/lib_endwin$o
+
+../objects/lib_erase$o :	$(base)/lib_erase.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_erase.c -o ../objects/lib_erase$o
+
+../objects/lib_flash$o :	$(base)/lib_flash.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_flash.c -o ../objects/lib_flash$o
+
+../objects/lib_gen$o :	./lib_gen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/lib_gen.c -o ../objects/lib_gen$o
+
+../objects/lib_getch$o :	$(base)/lib_getch.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/fifo_defs.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_getch.c -o ../objects/lib_getch$o
+
+../objects/lib_getstr$o :	$(base)/lib_getstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_getstr.c -o ../objects/lib_getstr$o
+
+../objects/lib_hline$o :	$(base)/lib_hline.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_hline.c -o ../objects/lib_hline$o
+
+../objects/lib_immedok$o :	$(base)/lib_immedok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_immedok.c -o ../objects/lib_immedok$o
+
+../objects/lib_inchstr$o :	$(base)/lib_inchstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_inchstr.c -o ../objects/lib_inchstr$o
+
+../objects/lib_initscr$o :	$(base)/lib_initscr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_initscr.c -o ../objects/lib_initscr$o
+
+../objects/lib_insch$o :	$(base)/lib_insch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_insch.c -o ../objects/lib_insch$o
+
+../objects/lib_insdel$o :	$(base)/lib_insdel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_insdel.c -o ../objects/lib_insdel$o
+
+../objects/lib_insnstr$o :	$(base)/lib_insnstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_insnstr.c -o ../objects/lib_insnstr$o
+
+../objects/lib_instr$o :	$(base)/lib_instr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_instr.c -o ../objects/lib_instr$o
+
+../objects/lib_isendwin$o :	$(base)/lib_isendwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_isendwin.c -o ../objects/lib_isendwin$o
+
+../objects/lib_leaveok$o :	$(base)/lib_leaveok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_leaveok.c -o ../objects/lib_leaveok$o
+
+../objects/lib_mouse$o :	$(base)/lib_mouse.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_mouse.c -o ../objects/lib_mouse$o
+
+../objects/lib_move$o :	$(base)/lib_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_move.c -o ../objects/lib_move$o
+
+../objects/lib_mvcur$o :	$(serial)/lib_mvcur.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(srcdir)/../progs/dump_entry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_mvcur.c -o ../objects/lib_mvcur$o
+
+../objects/lib_mvwin$o :	$(base)/lib_mvwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_mvwin.c -o ../objects/lib_mvwin$o
+
+../objects/lib_newterm$o :	$(base)/lib_newterm.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_newterm.c -o ../objects/lib_newterm$o
+
+../objects/lib_newwin$o :	$(base)/lib_newwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_newwin.c -o ../objects/lib_newwin$o
+
+../objects/lib_nl$o :	$(base)/lib_nl.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_nl.c -o ../objects/lib_nl$o
+
+../objects/lib_overlay$o :	$(base)/lib_overlay.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_overlay.c -o ../objects/lib_overlay$o
+
+../objects/lib_pad$o :	$(base)/lib_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_pad.c -o ../objects/lib_pad$o
+
+../objects/lib_printw$o :	$(base)/lib_printw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_printw.c -o ../objects/lib_printw$o
+
+../objects/lib_redrawln$o :	$(base)/lib_redrawln.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_redrawln.c -o ../objects/lib_redrawln$o
+
+../objects/lib_refresh$o :	$(base)/lib_refresh.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_refresh.c -o ../objects/lib_refresh$o
+
+../objects/lib_restart$o :	$(base)/lib_restart.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_restart.c -o ../objects/lib_restart$o
+
+../objects/lib_scanw$o :	$(base)/lib_scanw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scanw.c -o ../objects/lib_scanw$o
+
+../objects/lib_screen$o :	$(base)/lib_screen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_screen.c -o ../objects/lib_screen$o
+
+../objects/lib_scroll$o :	$(base)/lib_scroll.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scroll.c -o ../objects/lib_scroll$o
+
+../objects/lib_scrollok$o :	$(base)/lib_scrollok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scrollok.c -o ../objects/lib_scrollok$o
+
+../objects/lib_scrreg$o :	$(base)/lib_scrreg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_scrreg.c -o ../objects/lib_scrreg$o
+
+../objects/lib_set_term$o :	$(base)/lib_set_term.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_set_term.c -o ../objects/lib_set_term$o
+
+../objects/lib_slk$o :	$(base)/lib_slk.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slk.c -o ../objects/lib_slk$o
+
+../objects/lib_slkatr_set$o :	$(base)/lib_slkatr_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatr_set.c -o ../objects/lib_slkatr_set$o
+
+../objects/lib_slkatrof$o :	$(base)/lib_slkatrof.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatrof.c -o ../objects/lib_slkatrof$o
+
+../objects/lib_slkatron$o :	$(base)/lib_slkatron.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatron.c -o ../objects/lib_slkatron$o
+
+../objects/lib_slkatrset$o :	$(base)/lib_slkatrset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkatrset.c -o ../objects/lib_slkatrset$o
+
+../objects/lib_slkattr$o :	$(base)/lib_slkattr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkattr.c -o ../objects/lib_slkattr$o
+
+../objects/lib_slkclear$o :	$(base)/lib_slkclear.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkclear.c -o ../objects/lib_slkclear$o
+
+../objects/lib_slkcolor$o :	$(base)/lib_slkcolor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkcolor.c -o ../objects/lib_slkcolor$o
+
+../objects/lib_slkinit$o :	$(base)/lib_slkinit.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkinit.c -o ../objects/lib_slkinit$o
+
+../objects/lib_slklab$o :	$(base)/lib_slklab.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slklab.c -o ../objects/lib_slklab$o
+
+../objects/lib_slkrefr$o :	$(base)/lib_slkrefr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkrefr.c -o ../objects/lib_slkrefr$o
+
+../objects/lib_slkset$o :	$(base)/lib_slkset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slkset.c -o ../objects/lib_slkset$o
+
+../objects/lib_slktouch$o :	$(base)/lib_slktouch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_slktouch.c -o ../objects/lib_slktouch$o
+
+../objects/lib_touch$o :	$(base)/lib_touch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_touch.c -o ../objects/lib_touch$o
+
+../objects/lib_tstp$o :	$(serial)/lib_tstp.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/SigAction.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_tstp.c -o ../objects/lib_tstp$o
+
+../objects/lib_ungetch$o :	$(base)/lib_ungetch.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/fifo_defs.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_ungetch.c -o ../objects/lib_ungetch$o
+
+../objects/lib_vidattr$o :	$(serial)/lib_vidattr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_vidattr.c -o ../objects/lib_vidattr$o
+
+../objects/lib_vline$o :	$(base)/lib_vline.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_vline.c -o ../objects/lib_vline$o
+
+../objects/lib_wattroff$o :	$(base)/lib_wattroff.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_wattroff.c -o ../objects/lib_wattroff$o
+
+../objects/lib_wattron$o :	$(base)/lib_wattron.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_wattron.c -o ../objects/lib_wattron$o
+
+../objects/lib_winch$o :	$(base)/lib_winch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_winch.c -o ../objects/lib_winch$o
+
+../objects/lib_window$o :	$(base)/lib_window.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_window.c -o ../objects/lib_window$o
+
+../objects/link_test$o :	./link_test.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/link_test.c -o ../objects/link_test$o
+
+../objects/nc_panel$o :	$(base)/nc_panel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/nc_panel.c -o ../objects/nc_panel$o
+
+../objects/safe_sprintf$o :	$(base)/safe_sprintf.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/safe_sprintf.c -o ../objects/safe_sprintf$o
+
+../objects/tty_update$o :	$(serial)/tty_update.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/tty_update.c -o ../objects/tty_update$o
+
+../objects/varargs$o :	$(trace)/varargs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(trace)/varargs.c -o ../objects/varargs$o
+
+../objects/vsscanf$o :	$(base)/vsscanf.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/vsscanf.c -o ../objects/vsscanf$o
+
+../objects/lib_freeall$o :	$(base)/lib_freeall.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_freeall.c -o ../objects/lib_freeall$o
+
+../objects/charable$o :	$(wide)/charable.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/charable.c -o ../objects/charable$o
+
+../objects/lib_add_wch$o :	$(wide)/lib_add_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_add_wch.c -o ../objects/lib_add_wch$o
+
+../objects/lib_box_set$o :	$(wide)/lib_box_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_box_set.c -o ../objects/lib_box_set$o
+
+../objects/lib_cchar$o :	$(wide)/lib_cchar.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/new_pair.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_cchar.c -o ../objects/lib_cchar$o
+
+../objects/lib_erasewchar$o :	$(wide)/lib_erasewchar.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_erasewchar.c -o ../objects/lib_erasewchar$o
+
+../objects/lib_get_wch$o :	$(wide)/lib_get_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_get_wch.c -o ../objects/lib_get_wch$o
+
+../objects/lib_get_wstr$o :	$(wide)/lib_get_wstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_get_wstr.c -o ../objects/lib_get_wstr$o
+
+../objects/lib_hline_set$o :	$(wide)/lib_hline_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_hline_set.c -o ../objects/lib_hline_set$o
+
+../objects/lib_in_wch$o :	$(wide)/lib_in_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_in_wch.c -o ../objects/lib_in_wch$o
+
+../objects/lib_in_wchnstr$o :	$(wide)/lib_in_wchnstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_in_wchnstr.c -o ../objects/lib_in_wchnstr$o
+
+../objects/lib_ins_wch$o :	$(wide)/lib_ins_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_ins_wch.c -o ../objects/lib_ins_wch$o
+
+../objects/lib_inwstr$o :	$(wide)/lib_inwstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_inwstr.c -o ../objects/lib_inwstr$o
+
+../objects/lib_key_name$o :	$(wide)/lib_key_name.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_key_name.c -o ../objects/lib_key_name$o
+
+../objects/lib_pecho_wchar$o :	$(wide)/lib_pecho_wchar.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_pecho_wchar.c -o ../objects/lib_pecho_wchar$o
+
+../objects/lib_slk_wset$o :	$(wide)/lib_slk_wset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_slk_wset.c -o ../objects/lib_slk_wset$o
+
+../objects/lib_unget_wch$o :	$(wide)/lib_unget_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_unget_wch.c -o ../objects/lib_unget_wch$o
+
+../objects/lib_vid_attr$o :	$(wide)/lib_vid_attr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_vid_attr.c -o ../objects/lib_vid_attr$o
+
+../objects/lib_vline_set$o :	$(wide)/lib_vline_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_vline_set.c -o ../objects/lib_vline_set$o
+
+../objects/lib_wacs$o :	$(wide)/lib_wacs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_wacs.c -o ../objects/lib_wacs$o
+
+../objects/lib_wunctrl$o :	$(wide)/lib_wunctrl.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(wide)/lib_wunctrl.c -o ../objects/lib_wunctrl$o
+
+../objects/expanded$o :	./expanded.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/expanded.c -o ../objects/expanded$o
+
+../objects/legacy_coding$o :	$(base)/legacy_coding.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/legacy_coding.c -o ../objects/legacy_coding$o
+
+../objects/lib_dft_fgbg$o :	$(base)/lib_dft_fgbg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/lib_dft_fgbg.c -o ../objects/lib_dft_fgbg$o
+
+../objects/lib_print$o :	$(tinfo)/lib_print.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_print.c -o ../objects/lib_print$o
+
+../objects/new_pair$o :	$(base)/new_pair.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/new_pair.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/new_pair.c -o ../objects/new_pair$o
+
+../objects/resizeterm$o :	$(base)/resizeterm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/resizeterm.c -o ../objects/resizeterm$o
+
+../objects/use_screen$o :	$(tinfo)/use_screen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/use_screen.c -o ../objects/use_screen$o
+
+../objects/use_window$o :	$(base)/use_window.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/use_window.c -o ../objects/use_window$o
+
+../objects/wresize$o :	$(base)/wresize.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/wresize.c -o ../objects/wresize$o
+
+../objects/access$o :	$(tinfo)/access.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/access.c -o ../objects/access$o
+
+../objects/add_tries$o :	$(tinfo)/add_tries.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/add_tries.c -o ../objects/add_tries$o
+
+../objects/alloc_ttype$o :	$(tinfo)/alloc_ttype.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/alloc_ttype.c -o ../objects/alloc_ttype$o
+
+../objects/codes$o :	./codes.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/codes.c -o ../objects/codes$o
+
+../objects/comp_captab$o :	./comp_captab.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/hashsize.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/comp_captab.c -o ../objects/comp_captab$o
+
+../objects/comp_error$o :	$(tinfo)/comp_error.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_error.c -o ../objects/comp_error$o
+
+../objects/comp_hash$o :	$(tinfo)/comp_hash.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/hashsize.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_hash.c -o ../objects/comp_hash$o
+
+../objects/comp_userdefs$o :	./comp_userdefs.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/hashsize.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/comp_userdefs.c -o ../objects/comp_userdefs$o
+
+../objects/db_iterator$o :	$(tinfo)/db_iterator.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/db_iterator.c -o ../objects/db_iterator$o
+
+../objects/doalloc$o :	$(tinfo)/doalloc.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/doalloc.c -o ../objects/doalloc$o
+
+../objects/entries$o :	$(tinfo)/entries.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/entries.c -o ../objects/entries$o
+
+../objects/fallback$o :	./fallback.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/fallback.c -o ../objects/fallback$o
+
+../objects/free_ttype$o :	$(tinfo)/free_ttype.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/free_ttype.c -o ../objects/free_ttype$o
+
+../objects/getenv_num$o :	$(tinfo)/getenv_num.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/getenv_num.c -o ../objects/getenv_num$o
+
+../objects/home_terminfo$o :	$(tinfo)/home_terminfo.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/home_terminfo.c -o ../objects/home_terminfo$o
+
+../objects/init_keytry$o :	$(tinfo)/init_keytry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			init_keytry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/init_keytry.c -o ../objects/init_keytry$o
+
+../objects/lib_acs$o :	$(tinfo)/lib_acs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_acs.c -o ../objects/lib_acs$o
+
+../objects/lib_baudrate$o :	$(tinfo)/lib_baudrate.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_baudrate.c -o ../objects/lib_baudrate$o
+
+../objects/lib_cur_term$o :	$(tinfo)/lib_cur_term.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_cur_term.c -o ../objects/lib_cur_term$o
+
+../objects/lib_data$o :	$(tinfo)/lib_data.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_data.c -o ../objects/lib_data$o
+
+../objects/lib_has_cap$o :	$(tinfo)/lib_has_cap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_has_cap.c -o ../objects/lib_has_cap$o
+
+../objects/lib_kernel$o :	$(tinfo)/lib_kernel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_kernel.c -o ../objects/lib_kernel$o
+
+../objects/lib_keyname$o :	./lib_keyname.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/lib_keyname.c -o ../objects/lib_keyname$o
+
+../objects/lib_longname$o :	$(tinfo)/lib_longname.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_longname.c -o ../objects/lib_longname$o
+
+../objects/lib_napms$o :	$(tinfo)/lib_napms.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_napms.c -o ../objects/lib_napms$o
+
+../objects/lib_options$o :	$(tinfo)/lib_options.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_options.c -o ../objects/lib_options$o
+
+../objects/lib_raw$o :	$(tinfo)/lib_raw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_raw.c -o ../objects/lib_raw$o
+
+../objects/lib_setup$o :	$(tinfo)/lib_setup.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_setup.c -o ../objects/lib_setup$o
+
+../objects/lib_termcap$o :	$(tinfo)/lib_termcap.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/termcap.h \
+			$(INCDIR)/capdefaults.c
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_termcap.c -o ../objects/lib_termcap$o
+
+../objects/lib_termname$o :	$(tinfo)/lib_termname.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_termname.c -o ../objects/lib_termname$o
+
+../objects/lib_tgoto$o :	$(tinfo)/lib_tgoto.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_tgoto.c -o ../objects/lib_tgoto$o
+
+../objects/lib_ti$o :	$(tinfo)/lib_ti.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_ti.c -o ../objects/lib_ti$o
+
+../objects/lib_tparm$o :	$(tinfo)/lib_tparm.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_tparm.c -o ../objects/lib_tparm$o
+
+../objects/lib_tputs$o :	$(tinfo)/lib_tputs.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_tputs.c -o ../objects/lib_tputs$o
+
+../objects/lib_trace$o :	$(trace)/lib_trace.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(trace)/lib_trace.c -o ../objects/lib_trace$o
+
+../objects/lib_ttyflags$o :	$(tinfo)/lib_ttyflags.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/lib_ttyflags.c -o ../objects/lib_ttyflags$o
+
+../objects/lib_twait$o :	$(serial)/lib_twait.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(serial)/lib_twait.c -o ../objects/lib_twait$o
+
+../objects/name_match$o :	$(tinfo)/name_match.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/name_match.c -o ../objects/name_match$o
+
+../objects/names$o :	./names.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/names.c -o ../objects/names$o
+
+../objects/obsolete$o :	$(tinfo)/obsolete.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/obsolete.c -o ../objects/obsolete$o
+
+../objects/read_entry$o :	$(tinfo)/read_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/read_entry.c -o ../objects/read_entry$o
+
+../objects/read_termcap$o :	$(tinfo)/read_termcap.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/read_termcap.c -o ../objects/read_termcap$o
+
+../objects/strings$o :	$(tinfo)/strings.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/strings.c -o ../objects/strings$o
+
+../objects/tries$o :	$(base)/tries.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/tries.c -o ../objects/tries$o
+
+../objects/trim_sgr0$o :	$(tinfo)/trim_sgr0.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/trim_sgr0.c -o ../objects/trim_sgr0$o
+
+../objects/unctrl$o :	./unctrl.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/unctrl.c -o ../objects/unctrl$o
+
+../objects/visbuf$o :	$(trace)/visbuf.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(trace)/visbuf.c -o ../objects/visbuf$o
+
+../objects/alloc_entry$o :	$(tinfo)/alloc_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/alloc_entry.c -o ../objects/alloc_entry$o
+
+../objects/captoinfo$o :	$(tinfo)/captoinfo.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/captoinfo.c -o ../objects/captoinfo$o
+
+../objects/comp_expand$o :	$(tinfo)/comp_expand.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_expand.c -o ../objects/comp_expand$o
+
+../objects/comp_parse$o :	$(tinfo)/comp_parse.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_parse.c -o ../objects/comp_parse$o
+
+../objects/comp_scan$o :	$(tinfo)/comp_scan.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/comp_scan.c -o ../objects/comp_scan$o
+
+../objects/parse_entry$o :	$(tinfo)/parse_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/parametrized.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/parse_entry.c -o ../objects/parse_entry$o
+
+../objects/write_entry$o :	$(tinfo)/write_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/write_entry.c -o ../objects/write_entry$o
+
+../objects/define_key$o :	$(base)/define_key.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/define_key.c -o ../objects/define_key$o
+
+../objects/hashed_db$o :	$(tinfo)/hashed_db.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(tinfo)/hashed_db.c -o ../objects/hashed_db$o
+
+../objects/key_defined$o :	$(base)/key_defined.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/key_defined.c -o ../objects/key_defined$o
+
+../objects/keybound$o :	$(base)/keybound.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/keybound.c -o ../objects/keybound$o
+
+../objects/keyok$o :	$(base)/keyok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/keyok.c -o ../objects/keyok$o
+
+../objects/version$o :	$(base)/version.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../ncurses/$(base)/version.c -o ../objects/version$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            ncursesw
+#  traces:          DEBUG
+#  MODEL:           DEBUG
+#  CXX_MODEL:       DEBUG
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           obj_g
+#  prefix:          lib
+#  suffix:          _g.a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./curses.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+DEBUG_OBJS = \
+	../obj_g/hardscroll$o \
+	../obj_g/hashmap$o \
+	../obj_g/lib_addch$o \
+	../obj_g/lib_addstr$o \
+	../obj_g/lib_beep$o \
+	../obj_g/lib_bkgd$o \
+	../obj_g/lib_box$o \
+	../obj_g/lib_chgat$o \
+	../obj_g/lib_clear$o \
+	../obj_g/lib_clearok$o \
+	../obj_g/lib_clrbot$o \
+	../obj_g/lib_clreol$o \
+	../obj_g/lib_color$o \
+	../obj_g/lib_colorset$o \
+	../obj_g/lib_delch$o \
+	../obj_g/lib_delwin$o \
+	../obj_g/lib_echo$o \
+	../obj_g/lib_endwin$o \
+	../obj_g/lib_erase$o \
+	../obj_g/lib_flash$o \
+	../obj_g/lib_gen$o \
+	../obj_g/lib_getch$o \
+	../obj_g/lib_getstr$o \
+	../obj_g/lib_hline$o \
+	../obj_g/lib_immedok$o \
+	../obj_g/lib_inchstr$o \
+	../obj_g/lib_initscr$o \
+	../obj_g/lib_insch$o \
+	../obj_g/lib_insdel$o \
+	../obj_g/lib_insnstr$o \
+	../obj_g/lib_instr$o \
+	../obj_g/lib_isendwin$o \
+	../obj_g/lib_leaveok$o \
+	../obj_g/lib_mouse$o \
+	../obj_g/lib_move$o \
+	../obj_g/lib_mvcur$o \
+	../obj_g/lib_mvwin$o \
+	../obj_g/lib_newterm$o \
+	../obj_g/lib_newwin$o \
+	../obj_g/lib_nl$o \
+	../obj_g/lib_overlay$o \
+	../obj_g/lib_pad$o \
+	../obj_g/lib_printw$o \
+	../obj_g/lib_redrawln$o \
+	../obj_g/lib_refresh$o \
+	../obj_g/lib_restart$o \
+	../obj_g/lib_scanw$o \
+	../obj_g/lib_screen$o \
+	../obj_g/lib_scroll$o \
+	../obj_g/lib_scrollok$o \
+	../obj_g/lib_scrreg$o \
+	../obj_g/lib_set_term$o \
+	../obj_g/lib_slk$o \
+	../obj_g/lib_slkatr_set$o \
+	../obj_g/lib_slkatrof$o \
+	../obj_g/lib_slkatron$o \
+	../obj_g/lib_slkatrset$o \
+	../obj_g/lib_slkattr$o \
+	../obj_g/lib_slkclear$o \
+	../obj_g/lib_slkcolor$o \
+	../obj_g/lib_slkinit$o \
+	../obj_g/lib_slklab$o \
+	../obj_g/lib_slkrefr$o \
+	../obj_g/lib_slkset$o \
+	../obj_g/lib_slktouch$o \
+	../obj_g/lib_touch$o \
+	../obj_g/lib_tracedmp$o \
+	../obj_g/lib_tracemse$o \
+	../obj_g/lib_tstp$o \
+	../obj_g/lib_ungetch$o \
+	../obj_g/lib_vidattr$o \
+	../obj_g/lib_vline$o \
+	../obj_g/lib_wattroff$o \
+	../obj_g/lib_wattron$o \
+	../obj_g/lib_winch$o \
+	../obj_g/lib_window$o \
+	../obj_g/nc_panel$o \
+	../obj_g/safe_sprintf$o \
+	../obj_g/tty_update$o \
+	../obj_g/varargs$o \
+	../obj_g/vsscanf$o \
+	../obj_g/lib_freeall$o \
+	../obj_g/charable$o \
+	../obj_g/lib_add_wch$o \
+	../obj_g/lib_box_set$o \
+	../obj_g/lib_cchar$o \
+	../obj_g/lib_erasewchar$o \
+	../obj_g/lib_get_wch$o \
+	../obj_g/lib_get_wstr$o \
+	../obj_g/lib_hline_set$o \
+	../obj_g/lib_in_wch$o \
+	../obj_g/lib_in_wchnstr$o \
+	../obj_g/lib_ins_wch$o \
+	../obj_g/lib_inwstr$o \
+	../obj_g/lib_key_name$o \
+	../obj_g/lib_pecho_wchar$o \
+	../obj_g/lib_slk_wset$o \
+	../obj_g/lib_unget_wch$o \
+	../obj_g/lib_vid_attr$o \
+	../obj_g/lib_vline_set$o \
+	../obj_g/lib_wacs$o \
+	../obj_g/lib_wunctrl$o \
+	../obj_g/expanded$o \
+	../obj_g/legacy_coding$o \
+	../obj_g/lib_dft_fgbg$o \
+	../obj_g/lib_print$o \
+	../obj_g/new_pair$o \
+	../obj_g/resizeterm$o \
+	../obj_g/trace_xnames$o \
+	../obj_g/use_screen$o \
+	../obj_g/use_window$o \
+	../obj_g/wresize$o \
+	../obj_g/access$o \
+	../obj_g/add_tries$o \
+	../obj_g/alloc_ttype$o \
+	../obj_g/codes$o \
+	../obj_g/comp_captab$o \
+	../obj_g/comp_error$o \
+	../obj_g/comp_hash$o \
+	../obj_g/comp_userdefs$o \
+	../obj_g/db_iterator$o \
+	../obj_g/doalloc$o \
+	../obj_g/entries$o \
+	../obj_g/fallback$o \
+	../obj_g/free_ttype$o \
+	../obj_g/getenv_num$o \
+	../obj_g/home_terminfo$o \
+	../obj_g/init_keytry$o \
+	../obj_g/lib_acs$o \
+	../obj_g/lib_baudrate$o \
+	../obj_g/lib_cur_term$o \
+	../obj_g/lib_data$o \
+	../obj_g/lib_has_cap$o \
+	../obj_g/lib_kernel$o \
+	../obj_g/lib_keyname$o \
+	../obj_g/lib_longname$o \
+	../obj_g/lib_napms$o \
+	../obj_g/lib_options$o \
+	../obj_g/lib_raw$o \
+	../obj_g/lib_setup$o \
+	../obj_g/lib_termcap$o \
+	../obj_g/lib_termname$o \
+	../obj_g/lib_tgoto$o \
+	../obj_g/lib_ti$o \
+	../obj_g/lib_tparm$o \
+	../obj_g/lib_tputs$o \
+	../obj_g/lib_trace$o \
+	../obj_g/lib_traceatr$o \
+	../obj_g/lib_tracebits$o \
+	../obj_g/lib_tracechr$o \
+	../obj_g/lib_ttyflags$o \
+	../obj_g/lib_twait$o \
+	../obj_g/name_match$o \
+	../obj_g/names$o \
+	../obj_g/obsolete$o \
+	../obj_g/read_entry$o \
+	../obj_g/read_termcap$o \
+	../obj_g/strings$o \
+	../obj_g/trace_buf$o \
+	../obj_g/trace_tries$o \
+	../obj_g/tries$o \
+	../obj_g/trim_sgr0$o \
+	../obj_g/unctrl$o \
+	../obj_g/visbuf$o \
+	../obj_g/alloc_entry$o \
+	../obj_g/captoinfo$o \
+	../obj_g/comp_expand$o \
+	../obj_g/comp_parse$o \
+	../obj_g/comp_scan$o \
+	../obj_g/parse_entry$o \
+	../obj_g/write_entry$o \
+	../obj_g/define_key$o \
+	../obj_g/hashed_db$o \
+	../obj_g/key_defined$o \
+	../obj_g/keybound$o \
+	../obj_g/keyok$o \
+	../obj_g/version$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./curses.priv.h
+
+../lib/libncursesw_g.a : $(DEBUG_OBJS)
+	@sleep 1
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.ncursesw :: $(DESTDIR)$(libdir) ../lib/libncursesw_g.a
+	@echo installing ../lib/libncursesw_g.a as $(DESTDIR)$(libdir)/libncursesw_g.a
+	$(INSTALL_DATA) ../lib/libncursesw_g.a $(DESTDIR)$(libdir)/libncursesw_g.a
+
+uninstall \
+uninstall.libs \
+uninstall.ncursesw ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libncursesw_g.a
+	-@rm -f $(DESTDIR)$(libdir)/libncursesw_g.a
+
+clean ::
+	-rm -f ../lib/libncursesw_g.a
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/hardscroll$o :	$(serial)/hardscroll.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/hardscroll.c -o ../obj_g/hardscroll$o
+
+../obj_g/hashmap$o :	$(serial)/hashmap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/hashmap.c -o ../obj_g/hashmap$o
+
+../obj_g/lib_addch$o :	$(base)/lib_addch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_addch.c -o ../obj_g/lib_addch$o
+
+../obj_g/lib_addstr$o :	$(base)/lib_addstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_addstr.c -o ../obj_g/lib_addstr$o
+
+../obj_g/lib_beep$o :	$(base)/lib_beep.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_beep.c -o ../obj_g/lib_beep$o
+
+../obj_g/lib_bkgd$o :	$(base)/lib_bkgd.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_bkgd.c -o ../obj_g/lib_bkgd$o
+
+../obj_g/lib_box$o :	$(base)/lib_box.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_box.c -o ../obj_g/lib_box$o
+
+../obj_g/lib_chgat$o :	$(base)/lib_chgat.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_chgat.c -o ../obj_g/lib_chgat$o
+
+../obj_g/lib_clear$o :	$(base)/lib_clear.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clear.c -o ../obj_g/lib_clear$o
+
+../obj_g/lib_clearok$o :	$(base)/lib_clearok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clearok.c -o ../obj_g/lib_clearok$o
+
+../obj_g/lib_clrbot$o :	$(base)/lib_clrbot.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clrbot.c -o ../obj_g/lib_clrbot$o
+
+../obj_g/lib_clreol$o :	$(base)/lib_clreol.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_clreol.c -o ../obj_g/lib_clreol$o
+
+../obj_g/lib_color$o :	$(base)/lib_color.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(srcdir)/new_pair.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_color.c -o ../obj_g/lib_color$o
+
+../obj_g/lib_colorset$o :	$(base)/lib_colorset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_colorset.c -o ../obj_g/lib_colorset$o
+
+../obj_g/lib_delch$o :	$(base)/lib_delch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_delch.c -o ../obj_g/lib_delch$o
+
+../obj_g/lib_delwin$o :	$(base)/lib_delwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_delwin.c -o ../obj_g/lib_delwin$o
+
+../obj_g/lib_echo$o :	$(base)/lib_echo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_echo.c -o ../obj_g/lib_echo$o
+
+../obj_g/lib_endwin$o :	$(base)/lib_endwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_endwin.c -o ../obj_g/lib_endwin$o
+
+../obj_g/lib_erase$o :	$(base)/lib_erase.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_erase.c -o ../obj_g/lib_erase$o
+
+../obj_g/lib_flash$o :	$(base)/lib_flash.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_flash.c -o ../obj_g/lib_flash$o
+
+../obj_g/lib_gen$o :	./lib_gen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/lib_gen.c -o ../obj_g/lib_gen$o
+
+../obj_g/lib_getch$o :	$(base)/lib_getch.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/fifo_defs.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_getch.c -o ../obj_g/lib_getch$o
+
+../obj_g/lib_getstr$o :	$(base)/lib_getstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_getstr.c -o ../obj_g/lib_getstr$o
+
+../obj_g/lib_hline$o :	$(base)/lib_hline.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_hline.c -o ../obj_g/lib_hline$o
+
+../obj_g/lib_immedok$o :	$(base)/lib_immedok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_immedok.c -o ../obj_g/lib_immedok$o
+
+../obj_g/lib_inchstr$o :	$(base)/lib_inchstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_inchstr.c -o ../obj_g/lib_inchstr$o
+
+../obj_g/lib_initscr$o :	$(base)/lib_initscr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_initscr.c -o ../obj_g/lib_initscr$o
+
+../obj_g/lib_insch$o :	$(base)/lib_insch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_insch.c -o ../obj_g/lib_insch$o
+
+../obj_g/lib_insdel$o :	$(base)/lib_insdel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_insdel.c -o ../obj_g/lib_insdel$o
+
+../obj_g/lib_insnstr$o :	$(base)/lib_insnstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_insnstr.c -o ../obj_g/lib_insnstr$o
+
+../obj_g/lib_instr$o :	$(base)/lib_instr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_instr.c -o ../obj_g/lib_instr$o
+
+../obj_g/lib_isendwin$o :	$(base)/lib_isendwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_isendwin.c -o ../obj_g/lib_isendwin$o
+
+../obj_g/lib_leaveok$o :	$(base)/lib_leaveok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_leaveok.c -o ../obj_g/lib_leaveok$o
+
+../obj_g/lib_mouse$o :	$(base)/lib_mouse.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_mouse.c -o ../obj_g/lib_mouse$o
+
+../obj_g/lib_move$o :	$(base)/lib_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_move.c -o ../obj_g/lib_move$o
+
+../obj_g/lib_mvcur$o :	$(serial)/lib_mvcur.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(srcdir)/../progs/dump_entry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_mvcur.c -o ../obj_g/lib_mvcur$o
+
+../obj_g/lib_mvwin$o :	$(base)/lib_mvwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_mvwin.c -o ../obj_g/lib_mvwin$o
+
+../obj_g/lib_newterm$o :	$(base)/lib_newterm.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_newterm.c -o ../obj_g/lib_newterm$o
+
+../obj_g/lib_newwin$o :	$(base)/lib_newwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_newwin.c -o ../obj_g/lib_newwin$o
+
+../obj_g/lib_nl$o :	$(base)/lib_nl.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_nl.c -o ../obj_g/lib_nl$o
+
+../obj_g/lib_overlay$o :	$(base)/lib_overlay.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_overlay.c -o ../obj_g/lib_overlay$o
+
+../obj_g/lib_pad$o :	$(base)/lib_pad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_pad.c -o ../obj_g/lib_pad$o
+
+../obj_g/lib_printw$o :	$(base)/lib_printw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_printw.c -o ../obj_g/lib_printw$o
+
+../obj_g/lib_redrawln$o :	$(base)/lib_redrawln.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_redrawln.c -o ../obj_g/lib_redrawln$o
+
+../obj_g/lib_refresh$o :	$(base)/lib_refresh.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_refresh.c -o ../obj_g/lib_refresh$o
+
+../obj_g/lib_restart$o :	$(base)/lib_restart.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_restart.c -o ../obj_g/lib_restart$o
+
+../obj_g/lib_scanw$o :	$(base)/lib_scanw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scanw.c -o ../obj_g/lib_scanw$o
+
+../obj_g/lib_screen$o :	$(base)/lib_screen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_screen.c -o ../obj_g/lib_screen$o
+
+../obj_g/lib_scroll$o :	$(base)/lib_scroll.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scroll.c -o ../obj_g/lib_scroll$o
+
+../obj_g/lib_scrollok$o :	$(base)/lib_scrollok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scrollok.c -o ../obj_g/lib_scrollok$o
+
+../obj_g/lib_scrreg$o :	$(base)/lib_scrreg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_scrreg.c -o ../obj_g/lib_scrreg$o
+
+../obj_g/lib_set_term$o :	$(base)/lib_set_term.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_set_term.c -o ../obj_g/lib_set_term$o
+
+../obj_g/lib_slk$o :	$(base)/lib_slk.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slk.c -o ../obj_g/lib_slk$o
+
+../obj_g/lib_slkatr_set$o :	$(base)/lib_slkatr_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatr_set.c -o ../obj_g/lib_slkatr_set$o
+
+../obj_g/lib_slkatrof$o :	$(base)/lib_slkatrof.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatrof.c -o ../obj_g/lib_slkatrof$o
+
+../obj_g/lib_slkatron$o :	$(base)/lib_slkatron.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatron.c -o ../obj_g/lib_slkatron$o
+
+../obj_g/lib_slkatrset$o :	$(base)/lib_slkatrset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkatrset.c -o ../obj_g/lib_slkatrset$o
+
+../obj_g/lib_slkattr$o :	$(base)/lib_slkattr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkattr.c -o ../obj_g/lib_slkattr$o
+
+../obj_g/lib_slkclear$o :	$(base)/lib_slkclear.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkclear.c -o ../obj_g/lib_slkclear$o
+
+../obj_g/lib_slkcolor$o :	$(base)/lib_slkcolor.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkcolor.c -o ../obj_g/lib_slkcolor$o
+
+../obj_g/lib_slkinit$o :	$(base)/lib_slkinit.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkinit.c -o ../obj_g/lib_slkinit$o
+
+../obj_g/lib_slklab$o :	$(base)/lib_slklab.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slklab.c -o ../obj_g/lib_slklab$o
+
+../obj_g/lib_slkrefr$o :	$(base)/lib_slkrefr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkrefr.c -o ../obj_g/lib_slkrefr$o
+
+../obj_g/lib_slkset$o :	$(base)/lib_slkset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slkset.c -o ../obj_g/lib_slkset$o
+
+../obj_g/lib_slktouch$o :	$(base)/lib_slktouch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_slktouch.c -o ../obj_g/lib_slktouch$o
+
+../obj_g/lib_touch$o :	$(base)/lib_touch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_touch.c -o ../obj_g/lib_touch$o
+
+../obj_g/lib_tracedmp$o :	$(trace)/lib_tracedmp.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracedmp.c -o ../obj_g/lib_tracedmp$o
+
+../obj_g/lib_tracemse$o :	$(trace)/lib_tracemse.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracemse.c -o ../obj_g/lib_tracemse$o
+
+../obj_g/lib_tstp$o :	$(serial)/lib_tstp.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/SigAction.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_tstp.c -o ../obj_g/lib_tstp$o
+
+../obj_g/lib_ungetch$o :	$(base)/lib_ungetch.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/fifo_defs.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_ungetch.c -o ../obj_g/lib_ungetch$o
+
+../obj_g/lib_vidattr$o :	$(serial)/lib_vidattr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_vidattr.c -o ../obj_g/lib_vidattr$o
+
+../obj_g/lib_vline$o :	$(base)/lib_vline.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_vline.c -o ../obj_g/lib_vline$o
+
+../obj_g/lib_wattroff$o :	$(base)/lib_wattroff.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_wattroff.c -o ../obj_g/lib_wattroff$o
+
+../obj_g/lib_wattron$o :	$(base)/lib_wattron.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_wattron.c -o ../obj_g/lib_wattron$o
+
+../obj_g/lib_winch$o :	$(base)/lib_winch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_winch.c -o ../obj_g/lib_winch$o
+
+../obj_g/lib_window$o :	$(base)/lib_window.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_window.c -o ../obj_g/lib_window$o
+
+../obj_g/link_test$o :	./link_test.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/link_test.c -o ../obj_g/link_test$o
+
+../obj_g/nc_panel$o :	$(base)/nc_panel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/nc_panel.c -o ../obj_g/nc_panel$o
+
+../obj_g/safe_sprintf$o :	$(base)/safe_sprintf.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/safe_sprintf.c -o ../obj_g/safe_sprintf$o
+
+../obj_g/tty_update$o :	$(serial)/tty_update.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/tty_update.c -o ../obj_g/tty_update$o
+
+../obj_g/varargs$o :	$(trace)/varargs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/varargs.c -o ../obj_g/varargs$o
+
+../obj_g/vsscanf$o :	$(base)/vsscanf.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/vsscanf.c -o ../obj_g/vsscanf$o
+
+../obj_g/lib_freeall$o :	$(base)/lib_freeall.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_freeall.c -o ../obj_g/lib_freeall$o
+
+../obj_g/charable$o :	$(wide)/charable.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/charable.c -o ../obj_g/charable$o
+
+../obj_g/lib_add_wch$o :	$(wide)/lib_add_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_add_wch.c -o ../obj_g/lib_add_wch$o
+
+../obj_g/lib_box_set$o :	$(wide)/lib_box_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_box_set.c -o ../obj_g/lib_box_set$o
+
+../obj_g/lib_cchar$o :	$(wide)/lib_cchar.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/new_pair.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_cchar.c -o ../obj_g/lib_cchar$o
+
+../obj_g/lib_erasewchar$o :	$(wide)/lib_erasewchar.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_erasewchar.c -o ../obj_g/lib_erasewchar$o
+
+../obj_g/lib_get_wch$o :	$(wide)/lib_get_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_get_wch.c -o ../obj_g/lib_get_wch$o
+
+../obj_g/lib_get_wstr$o :	$(wide)/lib_get_wstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_get_wstr.c -o ../obj_g/lib_get_wstr$o
+
+../obj_g/lib_hline_set$o :	$(wide)/lib_hline_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_hline_set.c -o ../obj_g/lib_hline_set$o
+
+../obj_g/lib_in_wch$o :	$(wide)/lib_in_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_in_wch.c -o ../obj_g/lib_in_wch$o
+
+../obj_g/lib_in_wchnstr$o :	$(wide)/lib_in_wchnstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_in_wchnstr.c -o ../obj_g/lib_in_wchnstr$o
+
+../obj_g/lib_ins_wch$o :	$(wide)/lib_ins_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_ins_wch.c -o ../obj_g/lib_ins_wch$o
+
+../obj_g/lib_inwstr$o :	$(wide)/lib_inwstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_inwstr.c -o ../obj_g/lib_inwstr$o
+
+../obj_g/lib_key_name$o :	$(wide)/lib_key_name.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_key_name.c -o ../obj_g/lib_key_name$o
+
+../obj_g/lib_pecho_wchar$o :	$(wide)/lib_pecho_wchar.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_pecho_wchar.c -o ../obj_g/lib_pecho_wchar$o
+
+../obj_g/lib_slk_wset$o :	$(wide)/lib_slk_wset.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_slk_wset.c -o ../obj_g/lib_slk_wset$o
+
+../obj_g/lib_unget_wch$o :	$(wide)/lib_unget_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_unget_wch.c -o ../obj_g/lib_unget_wch$o
+
+../obj_g/lib_vid_attr$o :	$(wide)/lib_vid_attr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_vid_attr.c -o ../obj_g/lib_vid_attr$o
+
+../obj_g/lib_vline_set$o :	$(wide)/lib_vline_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_vline_set.c -o ../obj_g/lib_vline_set$o
+
+../obj_g/lib_wacs$o :	$(wide)/lib_wacs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_wacs.c -o ../obj_g/lib_wacs$o
+
+../obj_g/lib_wunctrl$o :	$(wide)/lib_wunctrl.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(wide)/lib_wunctrl.c -o ../obj_g/lib_wunctrl$o
+
+../obj_g/expanded$o :	./expanded.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/expanded.c -o ../obj_g/expanded$o
+
+../obj_g/legacy_coding$o :	$(base)/legacy_coding.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/legacy_coding.c -o ../obj_g/legacy_coding$o
+
+../obj_g/lib_dft_fgbg$o :	$(base)/lib_dft_fgbg.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/lib_dft_fgbg.c -o ../obj_g/lib_dft_fgbg$o
+
+../obj_g/lib_print$o :	$(tinfo)/lib_print.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_print.c -o ../obj_g/lib_print$o
+
+../obj_g/new_pair$o :	$(base)/new_pair.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/new_pair.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/new_pair.c -o ../obj_g/new_pair$o
+
+../obj_g/resizeterm$o :	$(base)/resizeterm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/resizeterm.c -o ../obj_g/resizeterm$o
+
+../obj_g/trace_xnames$o :	$(trace)/trace_xnames.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/trace_xnames.c -o ../obj_g/trace_xnames$o
+
+../obj_g/use_screen$o :	$(tinfo)/use_screen.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/use_screen.c -o ../obj_g/use_screen$o
+
+../obj_g/use_window$o :	$(base)/use_window.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/use_window.c -o ../obj_g/use_window$o
+
+../obj_g/wresize$o :	$(base)/wresize.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/wresize.c -o ../obj_g/wresize$o
+
+../obj_g/access$o :	$(tinfo)/access.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/access.c -o ../obj_g/access$o
+
+../obj_g/add_tries$o :	$(tinfo)/add_tries.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/add_tries.c -o ../obj_g/add_tries$o
+
+../obj_g/alloc_ttype$o :	$(tinfo)/alloc_ttype.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/alloc_ttype.c -o ../obj_g/alloc_ttype$o
+
+../obj_g/codes$o :	./codes.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/codes.c -o ../obj_g/codes$o
+
+../obj_g/comp_captab$o :	./comp_captab.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/hashsize.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/comp_captab.c -o ../obj_g/comp_captab$o
+
+../obj_g/comp_error$o :	$(tinfo)/comp_error.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_error.c -o ../obj_g/comp_error$o
+
+../obj_g/comp_hash$o :	$(tinfo)/comp_hash.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/hashsize.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_hash.c -o ../obj_g/comp_hash$o
+
+../obj_g/comp_userdefs$o :	./comp_userdefs.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/hashsize.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/comp_userdefs.c -o ../obj_g/comp_userdefs$o
+
+../obj_g/db_iterator$o :	$(tinfo)/db_iterator.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/db_iterator.c -o ../obj_g/db_iterator$o
+
+../obj_g/doalloc$o :	$(tinfo)/doalloc.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/doalloc.c -o ../obj_g/doalloc$o
+
+../obj_g/entries$o :	$(tinfo)/entries.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/entries.c -o ../obj_g/entries$o
+
+../obj_g/fallback$o :	./fallback.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/fallback.c -o ../obj_g/fallback$o
+
+../obj_g/free_ttype$o :	$(tinfo)/free_ttype.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/free_ttype.c -o ../obj_g/free_ttype$o
+
+../obj_g/getenv_num$o :	$(tinfo)/getenv_num.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/getenv_num.c -o ../obj_g/getenv_num$o
+
+../obj_g/home_terminfo$o :	$(tinfo)/home_terminfo.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/home_terminfo.c -o ../obj_g/home_terminfo$o
+
+../obj_g/init_keytry$o :	$(tinfo)/init_keytry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			init_keytry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/init_keytry.c -o ../obj_g/init_keytry$o
+
+../obj_g/lib_acs$o :	$(tinfo)/lib_acs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_acs.c -o ../obj_g/lib_acs$o
+
+../obj_g/lib_baudrate$o :	$(tinfo)/lib_baudrate.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_baudrate.c -o ../obj_g/lib_baudrate$o
+
+../obj_g/lib_cur_term$o :	$(tinfo)/lib_cur_term.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_cur_term.c -o ../obj_g/lib_cur_term$o
+
+../obj_g/lib_data$o :	$(tinfo)/lib_data.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_data.c -o ../obj_g/lib_data$o
+
+../obj_g/lib_has_cap$o :	$(tinfo)/lib_has_cap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_has_cap.c -o ../obj_g/lib_has_cap$o
+
+../obj_g/lib_kernel$o :	$(tinfo)/lib_kernel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_kernel.c -o ../obj_g/lib_kernel$o
+
+../obj_g/lib_keyname$o :	./lib_keyname.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/lib_keyname.c -o ../obj_g/lib_keyname$o
+
+../obj_g/lib_longname$o :	$(tinfo)/lib_longname.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_longname.c -o ../obj_g/lib_longname$o
+
+../obj_g/lib_napms$o :	$(tinfo)/lib_napms.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_napms.c -o ../obj_g/lib_napms$o
+
+../obj_g/lib_options$o :	$(tinfo)/lib_options.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_options.c -o ../obj_g/lib_options$o
+
+../obj_g/lib_raw$o :	$(tinfo)/lib_raw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_raw.c -o ../obj_g/lib_raw$o
+
+../obj_g/lib_setup$o :	$(tinfo)/lib_setup.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_setup.c -o ../obj_g/lib_setup$o
+
+../obj_g/lib_termcap$o :	$(tinfo)/lib_termcap.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/termcap.h \
+			$(INCDIR)/capdefaults.c
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_termcap.c -o ../obj_g/lib_termcap$o
+
+../obj_g/lib_termname$o :	$(tinfo)/lib_termname.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_termname.c -o ../obj_g/lib_termname$o
+
+../obj_g/lib_tgoto$o :	$(tinfo)/lib_tgoto.c \
+			$(HEADER_DEPS) \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_tgoto.c -o ../obj_g/lib_tgoto$o
+
+../obj_g/lib_ti$o :	$(tinfo)/lib_ti.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_ti.c -o ../obj_g/lib_ti$o
+
+../obj_g/lib_tparm$o :	$(tinfo)/lib_tparm.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_tparm.c -o ../obj_g/lib_tparm$o
+
+../obj_g/lib_tputs$o :	$(tinfo)/lib_tputs.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/termcap.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_tputs.c -o ../obj_g/lib_tputs$o
+
+../obj_g/lib_trace$o :	$(trace)/lib_trace.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_trace.c -o ../obj_g/lib_trace$o
+
+../obj_g/lib_traceatr$o :	$(trace)/lib_traceatr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_traceatr.c -o ../obj_g/lib_traceatr$o
+
+../obj_g/lib_tracebits$o :	$(trace)/lib_tracebits.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracebits.c -o ../obj_g/lib_tracebits$o
+
+../obj_g/lib_tracechr$o :	$(trace)/lib_tracechr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/lib_tracechr.c -o ../obj_g/lib_tracechr$o
+
+../obj_g/lib_ttyflags$o :	$(tinfo)/lib_ttyflags.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/lib_ttyflags.c -o ../obj_g/lib_ttyflags$o
+
+../obj_g/lib_twait$o :	$(serial)/lib_twait.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(serial)/lib_twait.c -o ../obj_g/lib_twait$o
+
+../obj_g/name_match$o :	$(tinfo)/name_match.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/name_match.c -o ../obj_g/name_match$o
+
+../obj_g/names$o :	./names.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/names.c -o ../obj_g/names$o
+
+../obj_g/obsolete$o :	$(tinfo)/obsolete.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/obsolete.c -o ../obj_g/obsolete$o
+
+../obj_g/read_entry$o :	$(tinfo)/read_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/read_entry.c -o ../obj_g/read_entry$o
+
+../obj_g/read_termcap$o :	$(tinfo)/read_termcap.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/read_termcap.c -o ../obj_g/read_termcap$o
+
+../obj_g/strings$o :	$(tinfo)/strings.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/strings.c -o ../obj_g/strings$o
+
+../obj_g/trace_buf$o :	$(trace)/trace_buf.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/trace_buf.c -o ../obj_g/trace_buf$o
+
+../obj_g/trace_tries$o :	$(trace)/trace_tries.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/trace_tries.c -o ../obj_g/trace_tries$o
+
+../obj_g/tries$o :	$(base)/tries.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/tries.c -o ../obj_g/tries$o
+
+../obj_g/trim_sgr0$o :	$(tinfo)/trim_sgr0.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/trim_sgr0.c -o ../obj_g/trim_sgr0$o
+
+../obj_g/unctrl$o :	./unctrl.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/unctrl.c -o ../obj_g/unctrl$o
+
+../obj_g/visbuf$o :	$(trace)/visbuf.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(trace)/visbuf.c -o ../obj_g/visbuf$o
+
+../obj_g/alloc_entry$o :	$(tinfo)/alloc_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/alloc_entry.c -o ../obj_g/alloc_entry$o
+
+../obj_g/captoinfo$o :	$(tinfo)/captoinfo.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/captoinfo.c -o ../obj_g/captoinfo$o
+
+../obj_g/comp_expand$o :	$(tinfo)/comp_expand.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_expand.c -o ../obj_g/comp_expand$o
+
+../obj_g/comp_parse$o :	$(tinfo)/comp_parse.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_parse.c -o ../obj_g/comp_parse$o
+
+../obj_g/comp_scan$o :	$(tinfo)/comp_scan.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/comp_scan.c -o ../obj_g/comp_scan$o
+
+../obj_g/parse_entry$o :	$(tinfo)/parse_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			../include/parametrized.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/parse_entry.c -o ../obj_g/parse_entry$o
+
+../obj_g/write_entry$o :	$(tinfo)/write_entry.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/write_entry.c -o ../obj_g/write_entry$o
+
+../obj_g/define_key$o :	$(base)/define_key.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/define_key.c -o ../obj_g/define_key$o
+
+../obj_g/hashed_db$o :	$(tinfo)/hashed_db.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/tic.h \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(tinfo)/hashed_db.c -o ../obj_g/hashed_db$o
+
+../obj_g/key_defined$o :	$(base)/key_defined.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/key_defined.c -o ../obj_g/key_defined$o
+
+../obj_g/keybound$o :	$(base)/keybound.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/keybound.c -o ../obj_g/keybound$o
+
+../obj_g/keyok$o :	$(base)/keyok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/keyok.c -o ../obj_g/keyok$o
+
+../obj_g/version$o :	$(base)/version.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../ncurses/$(base)/version.c -o ../obj_g/version$o
+
+
+.PHONY :	depend
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/ncurses/codes.c b/ncurses/codes.c
new file mode 100644
index 0000000..d0c7bad
--- /dev/null
+++ b/ncurses/codes.c
@@ -0,0 +1,675 @@
+/* This file was generated by MKcodes.awk */
+
+#include <curses.priv.h>
+
+#define IT NCURSES_CONST char * const
+
+
+#if BROKEN_LINKER || USE_REENTRANT
+
+static const char _nc_code_blob[] = 
+"bw\0" "am\0" "xb\0" "xs\0" "xn\0" "eo\0" "gn\0" "hc\0" "km\0" "hs\0" "in\0" \
+"da\0" "db\0" "mi\0" "ms\0" "os\0" "es\0" "xt\0" "hz\0" "ul\0" "xo\0" "nx\0" \
+"5i\0" "HC\0" "NR\0" "NP\0" "ND\0" "cc\0" "ut\0" "hl\0" "YA\0" "YB\0" "YC\0" \
+"YD\0" "YE\0" "YF\0" "YG\0" "co\0" "it\0" "li\0" "lm\0" "sg\0" "pb\0" "vt\0" \
+"ws\0" "Nl\0" "lh\0" "lw\0" "ma\0" "MW\0" "Co\0" "pa\0" "NC\0" "Ya\0" "Yb\0" \
+"Yc\0" "Yd\0" "Ye\0" "Yf\0" "Yg\0" "Yh\0" "Yi\0" "Yj\0" "Yk\0" "Yl\0" "Ym\0" \
+"Yn\0" "BT\0" "Yo\0" "Yp\0" "bt\0" "bl\0" "cr\0" "cs\0" "ct\0" "cl\0" "ce\0" \
+"cd\0" "ch\0" "CC\0" "cm\0" "do\0" "ho\0" "vi\0" "le\0" "CM\0" "ve\0" "nd\0" \
+"ll\0" "up\0" "vs\0" "dc\0" "dl\0" "ds\0" "hd\0" "as\0" "mb\0" "md\0" "ti\0" \
+"dm\0" "mh\0" "im\0" "mk\0" "mp\0" "mr\0" "so\0" "us\0" "ec\0" "ae\0" "me\0" \
+"te\0" "ed\0" "ei\0" "se\0" "ue\0" "vb\0" "ff\0" "fs\0" "i1\0" "is\0" "i3\0" \
+"if\0" "ic\0" "al\0" "ip\0" "kb\0" "ka\0" "kC\0" "kt\0" "kD\0" "kL\0" "kd\0" \
+"kM\0" "kE\0" "kS\0" "k0\0" "k1\0" "k;\0" "k2\0" "k3\0" "k4\0" "k5\0" "k6\0" \
+"k7\0" "k8\0" "k9\0" "kh\0" "kI\0" "kA\0" "kl\0" "kH\0" "kN\0" "kP\0" "kr\0" \
+"kF\0" "kR\0" "kT\0" "ku\0" "ke\0" "ks\0" "l0\0" "l1\0" "la\0" "l2\0" "l3\0" \
+"l4\0" "l5\0" "l6\0" "l7\0" "l8\0" "l9\0" "mo\0" "mm\0" "nw\0" "pc\0" "DC\0" \
+"DL\0" "DO\0" "IC\0" "SF\0" "AL\0" "LE\0" "RI\0" "SR\0" "UP\0" "pk\0" "pl\0" \
+"px\0" "ps\0" "pf\0" "po\0" "rp\0" "r1\0" "r2\0" "r3\0" "rf\0" "rc\0" "cv\0" \
+"sc\0" "sf\0" "sr\0" "sa\0" "st\0" "wi\0" "ta\0" "ts\0" "uc\0" "hu\0" "iP\0" \
+"K1\0" "K3\0" "K2\0" "K4\0" "K5\0" "pO\0" "rP\0" "ac\0" "pn\0" "kB\0" "SX\0" \
+"RX\0" "SA\0" "RA\0" "XN\0" "XF\0" "eA\0" "LO\0" "LF\0" "@1\0" "@2\0" "@3\0" \
+"@4\0" "@5\0" "@6\0" "@7\0" "@8\0" "@9\0" "@0\0" "%1\0" "%2\0" "%3\0" "%4\0" \
+"%5\0" "%6\0" "%7\0" "%8\0" "%9\0" "%0\0" "&1\0" "&2\0" "&3\0" "&4\0" "&5\0" \
+"&6\0" "&7\0" "&8\0" "&9\0" "&0\0" "*1\0" "*2\0" "*3\0" "*4\0" "*5\0" "*6\0" \
+"*7\0" "*8\0" "*9\0" "*0\0" "#1\0" "#2\0" "#3\0" "#4\0" "%a\0" "%b\0" "%c\0" \
+"%d\0" "%e\0" "%f\0" "%g\0" "%h\0" "%i\0" "%j\0" "!1\0" "!2\0" "!3\0" "RF\0" \
+"F1\0" "F2\0" "F3\0" "F4\0" "F5\0" "F6\0" "F7\0" "F8\0" "F9\0" "FA\0" "FB\0" \
+"FC\0" "FD\0" "FE\0" "FF\0" "FG\0" "FH\0" "FI\0" "FJ\0" "FK\0" "FL\0" "FM\0" \
+"FN\0" "FO\0" "FP\0" "FQ\0" "FR\0" "FS\0" "FT\0" "FU\0" "FV\0" "FW\0" "FX\0" \
+"FY\0" "FZ\0" "Fa\0" "Fb\0" "Fc\0" "Fd\0" "Fe\0" "Ff\0" "Fg\0" "Fh\0" "Fi\0" \
+"Fj\0" "Fk\0" "Fl\0" "Fm\0" "Fn\0" "Fo\0" "Fp\0" "Fq\0" "Fr\0" "cb\0" "MC\0" \
+"ML\0" "MR\0" "Lf\0" "SC\0" "DK\0" "RC\0" "CW\0" "WG\0" "HU\0" "DI\0" "QD\0" \
+"TO\0" "PU\0" "fh\0" "PA\0" "WA\0" "u0\0" "u1\0" "u2\0" "u3\0" "u4\0" "u5\0" \
+"u6\0" "u7\0" "u8\0" "u9\0" "op\0" "oc\0" "Ic\0" "Ip\0" "sp\0" "Sf\0" "Sb\0" \
+"ZA\0" "ZB\0" "ZC\0" "ZD\0" "ZE\0" "ZF\0" "ZG\0" "ZH\0" "ZI\0" "ZJ\0" "ZK\0" \
+"ZL\0" "ZM\0" "ZN\0" "ZO\0" "ZP\0" "ZQ\0" "ZR\0" "ZS\0" "ZT\0" "ZU\0" "ZV\0" \
+"ZW\0" "ZX\0" "ZY\0" "ZZ\0" "Za\0" "Zb\0" "Zc\0" "Zd\0" "Ze\0" "Zf\0" "Zg\0" \
+"Zh\0" "Zi\0" "Zj\0" "Zk\0" "Zl\0" "Zm\0" "Zn\0" "Zo\0" "Zp\0" "Zq\0" "Zr\0" \
+"Zs\0" "Zt\0" "Zu\0" "Zv\0" "Zw\0" "Zx\0" "Zy\0" "Km\0" "Mi\0" "RQ\0" "Gm\0" \
+"AF\0" "AB\0" "xl\0" "dv\0" "ci\0" "s0\0" "s1\0" "s2\0" "s3\0" "ML\0" "MT\0" \
+"Xy\0" "Zz\0" "Yv\0" "Yw\0" "Yx\0" "Yy\0" "Yz\0" "YZ\0" "S1\0" "S2\0" "S3\0" \
+"S4\0" "S5\0" "S6\0" "S7\0" "S8\0" "Xh\0" "Xl\0" "Xo\0" "Xr\0" "Xt\0" "Xv\0" \
+"sA\0" "YI\0" "i2\0" "rs\0" "ug\0" "bs\0" "ns\0" "nc\0" "dC\0" "dN\0" "nl\0" \
+"bc\0" "MT\0" "NL\0" "dB\0" "dT\0" "kn\0" "ko\0" "ma\0" "pt\0" "xr\0" "G2\0" \
+"G3\0" "G1\0" "G4\0" "GR\0" "GL\0" "GU\0" "GD\0" "GH\0" "GV\0" "GC\0" "ml\0" \
+"mu\0" "bx\0" ;
+static const short _nc_offset_boolcodes[] = {
+0, 3, 6, 9, 12, 15, 18, 21, 24, 27, 30, 33, 36, 39, 42,
+45, 48, 51, 54, 57, 60, 63, 66, 69, 72, 75, 78, 81, 84, 87,
+90, 93, 96, 99, 102, 105, 108, 1401, 1404, 1407, 1422, 1425, 1443, 1446, };
+
+static NCURSES_CONST char ** ptr_boolcodes = 0;
+
+static const short _nc_offset_numcodes[] = {
+111, 114, 117, 120, 123, 126,
+129, 132, 135, 138, 141, 144, 147, 150, 153, 156, 159, 162,
+165, 168, 171, 174, 177, 180, 183, 186, 189, 192, 195, 198,
+201, 204, 207, 1398, 1410, 1413, 1428, 1431, 1434, };
+
+static NCURSES_CONST char ** ptr_numcodes = 0;
+
+static const short _nc_offset_strcodes[] = {
+210, 213, 216, 219, 222, 225, 228, 231, 234,
+237, 240, 243, 246, 249, 252, 255, 258, 261, 264, 267, 270,
+273, 276, 279, 282, 285, 288, 291, 294, 297, 300, 303, 306,
+309, 312, 315, 318, 321, 324, 327, 330, 333, 336, 339, 342,
+345, 348, 351, 354, 357, 360, 363, 366, 369, 372, 375, 378,
+381, 384, 387, 390, 393, 396, 399, 402, 405, 408, 411, 414,
+417, 420, 423, 426, 429, 432, 435, 438, 441, 444, 447, 450,
+453, 456, 459, 462, 465, 468, 471, 474, 477, 480, 483, 486,
+489, 492, 495, 498, 501, 504, 507, 510, 513, 516, 519, 522,
+525, 528, 531, 534, 537, 540, 543, 546, 549, 552, 555, 558,
+561, 564, 567, 570, 573, 576, 579, 582, 585, 588, 591, 594,
+597, 600, 603, 606, 609, 612, 615, 618, 621, 624, 627, 630,
+633, 636, 639, 642, 645, 648, 651, 654, 657, 660, 663, 666,
+669, 672, 675, 678, 681, 684, 687, 690, 693, 696, 699, 702,
+705, 708, 711, 714, 717, 720, 723, 726, 729, 732, 735, 738,
+741, 744, 747, 750, 753, 756, 759, 762, 765, 768, 771, 774,
+777, 780, 783, 786, 789, 792, 795, 798, 801, 804, 807, 810,
+813, 816, 819, 822, 825, 828, 831, 834, 837, 840, 843, 846,
+849, 852, 855, 858, 861, 864, 867, 870, 873, 876, 879, 882,
+885, 888, 891, 894, 897, 900, 903, 906, 909, 912, 915, 918,
+921, 924, 927, 930, 933, 936, 939, 942, 945, 948, 951, 954,
+957, 960, 963, 966, 969, 972, 975, 978, 981, 984, 987, 990,
+993, 996, 999, 1002, 1005, 1008, 1011, 1014, 1017, 1020, 1023,
+1026, 1029, 1032, 1035, 1038, 1041, 1044, 1047, 1050, 1053, 1056,
+1059, 1062, 1065, 1068, 1071, 1074, 1077, 1080, 1083, 1086, 1089,
+1092, 1095, 1098, 1101, 1104, 1107, 1110, 1113, 1116, 1119, 1122,
+1125, 1128, 1131, 1134, 1137, 1140, 1143, 1146, 1149, 1152, 1155,
+1158, 1161, 1164, 1167, 1170, 1173, 1176, 1179, 1182, 1185, 1188,
+1191, 1194, 1197, 1200, 1203, 1206, 1209, 1212, 1215, 1218, 1221,
+1224, 1227, 1230, 1233, 1236, 1239, 1242, 1245, 1248, 1251, 1254,
+1257, 1260, 1263, 1266, 1269, 1272, 1275, 1278, 1281, 1284, 1287,
+1290, 1293, 1296, 1299, 1302, 1305, 1308, 1311, 1314, 1317, 1320,
+1323, 1326, 1329, 1332, 1335, 1338, 1341, 1344, 1347, 1350, 1353,
+1356, 1359, 1362, 1365, 1368, 1371, 1374, 1377, 1380, 1383, 1386,
+1389, 1392, 1395, 1416, 1419,
+1437, 1440, 1449, 1452,
+1455, 1458, 1461, 1464, 1467, 1470, 1473, 1476, 1479, 1482, 1485,
+1488, };
+
+static NCURSES_CONST char ** ptr_strcodes = 0;
+
+
+static IT *
+alloc_array(NCURSES_CONST char ***value, const short *offsets, unsigned size)
+{
+	if (*value == 0) {
+		if ((*value = typeCalloc(NCURSES_CONST char *, size + 1)) != 0) {
+			unsigned n;
+			for (n = 0; n < size; ++n) {
+				(*value)[n] = (NCURSES_CONST char *) _nc_code_blob + offsets[n];
+			}
+		}
+	}
+	return *value;
+}
+
+#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API NCURSES_PUBLIC_VAR(it)(void) { return alloc_array(&ptr_##it, _nc_offset_##it, SIZEOF(_nc_offset_##it)); }
+
+/* remove public definition which conflicts with FIX() */
+#undef boolcodes
+#undef numcodes
+#undef strcodes
+
+/* add local definition */
+FIX(boolcodes)
+FIX(numcodes)
+FIX(strcodes)
+
+/* restore the public definition */
+
+#define FREE_FIX(it) if (ptr_##it) { FreeAndNull(ptr_##it); }
+#define boolcodes  NCURSES_PUBLIC_VAR(boolcodes())
+#define numcodes   NCURSES_PUBLIC_VAR(numcodes())
+#define strcodes   NCURSES_PUBLIC_VAR(strcodes())
+
+#if NO_LEAKS
+NCURSES_EXPORT(void)
+_nc_codes_leaks(void)
+{
+FREE_FIX(boolcodes)
+FREE_FIX(numcodes)
+FREE_FIX(strcodes)
+}
+#endif
+
+#else
+
+#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]
+
+DCL(boolcodes) = {
+		"bw",
+		"am",
+		"xb",
+		"xs",
+		"xn",
+		"eo",
+		"gn",
+		"hc",
+		"km",
+		"hs",
+		"in",
+		"da",
+		"db",
+		"mi",
+		"ms",
+		"os",
+		"es",
+		"xt",
+		"hz",
+		"ul",
+		"xo",
+		"nx",
+		"5i",
+		"HC",
+		"NR",
+		"NP",
+		"ND",
+		"cc",
+		"ut",
+		"hl",
+		"YA",
+		"YB",
+		"YC",
+		"YD",
+		"YE",
+		"YF",
+		"YG",
+		"bs",
+		"ns",
+		"nc",
+		"MT",
+		"NL",
+		"pt",
+		"xr",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(numcodes) = {
+		"co",
+		"it",
+		"li",
+		"lm",
+		"sg",
+		"pb",
+		"vt",
+		"ws",
+		"Nl",
+		"lh",
+		"lw",
+		"ma",
+		"MW",
+		"Co",
+		"pa",
+		"NC",
+		"Ya",
+		"Yb",
+		"Yc",
+		"Yd",
+		"Ye",
+		"Yf",
+		"Yg",
+		"Yh",
+		"Yi",
+		"Yj",
+		"Yk",
+		"Yl",
+		"Ym",
+		"Yn",
+		"BT",
+		"Yo",
+		"Yp",
+		"ug",
+		"dC",
+		"dN",
+		"dB",
+		"dT",
+		"kn",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(strcodes) = {
+		"bt",
+		"bl",
+		"cr",
+		"cs",
+		"ct",
+		"cl",
+		"ce",
+		"cd",
+		"ch",
+		"CC",
+		"cm",
+		"do",
+		"ho",
+		"vi",
+		"le",
+		"CM",
+		"ve",
+		"nd",
+		"ll",
+		"up",
+		"vs",
+		"dc",
+		"dl",
+		"ds",
+		"hd",
+		"as",
+		"mb",
+		"md",
+		"ti",
+		"dm",
+		"mh",
+		"im",
+		"mk",
+		"mp",
+		"mr",
+		"so",
+		"us",
+		"ec",
+		"ae",
+		"me",
+		"te",
+		"ed",
+		"ei",
+		"se",
+		"ue",
+		"vb",
+		"ff",
+		"fs",
+		"i1",
+		"is",
+		"i3",
+		"if",
+		"ic",
+		"al",
+		"ip",
+		"kb",
+		"ka",
+		"kC",
+		"kt",
+		"kD",
+		"kL",
+		"kd",
+		"kM",
+		"kE",
+		"kS",
+		"k0",
+		"k1",
+		"k;",
+		"k2",
+		"k3",
+		"k4",
+		"k5",
+		"k6",
+		"k7",
+		"k8",
+		"k9",
+		"kh",
+		"kI",
+		"kA",
+		"kl",
+		"kH",
+		"kN",
+		"kP",
+		"kr",
+		"kF",
+		"kR",
+		"kT",
+		"ku",
+		"ke",
+		"ks",
+		"l0",
+		"l1",
+		"la",
+		"l2",
+		"l3",
+		"l4",
+		"l5",
+		"l6",
+		"l7",
+		"l8",
+		"l9",
+		"mo",
+		"mm",
+		"nw",
+		"pc",
+		"DC",
+		"DL",
+		"DO",
+		"IC",
+		"SF",
+		"AL",
+		"LE",
+		"RI",
+		"SR",
+		"UP",
+		"pk",
+		"pl",
+		"px",
+		"ps",
+		"pf",
+		"po",
+		"rp",
+		"r1",
+		"r2",
+		"r3",
+		"rf",
+		"rc",
+		"cv",
+		"sc",
+		"sf",
+		"sr",
+		"sa",
+		"st",
+		"wi",
+		"ta",
+		"ts",
+		"uc",
+		"hu",
+		"iP",
+		"K1",
+		"K3",
+		"K2",
+		"K4",
+		"K5",
+		"pO",
+		"rP",
+		"ac",
+		"pn",
+		"kB",
+		"SX",
+		"RX",
+		"SA",
+		"RA",
+		"XN",
+		"XF",
+		"eA",
+		"LO",
+		"LF",
+		"@1",
+		"@2",
+		"@3",
+		"@4",
+		"@5",
+		"@6",
+		"@7",
+		"@8",
+		"@9",
+		"@0",
+		"%1",
+		"%2",
+		"%3",
+		"%4",
+		"%5",
+		"%6",
+		"%7",
+		"%8",
+		"%9",
+		"%0",
+		"&1",
+		"&2",
+		"&3",
+		"&4",
+		"&5",
+		"&6",
+		"&7",
+		"&8",
+		"&9",
+		"&0",
+		"*1",
+		"*2",
+		"*3",
+		"*4",
+		"*5",
+		"*6",
+		"*7",
+		"*8",
+		"*9",
+		"*0",
+		"#1",
+		"#2",
+		"#3",
+		"#4",
+		"%a",
+		"%b",
+		"%c",
+		"%d",
+		"%e",
+		"%f",
+		"%g",
+		"%h",
+		"%i",
+		"%j",
+		"!1",
+		"!2",
+		"!3",
+		"RF",
+		"F1",
+		"F2",
+		"F3",
+		"F4",
+		"F5",
+		"F6",
+		"F7",
+		"F8",
+		"F9",
+		"FA",
+		"FB",
+		"FC",
+		"FD",
+		"FE",
+		"FF",
+		"FG",
+		"FH",
+		"FI",
+		"FJ",
+		"FK",
+		"FL",
+		"FM",
+		"FN",
+		"FO",
+		"FP",
+		"FQ",
+		"FR",
+		"FS",
+		"FT",
+		"FU",
+		"FV",
+		"FW",
+		"FX",
+		"FY",
+		"FZ",
+		"Fa",
+		"Fb",
+		"Fc",
+		"Fd",
+		"Fe",
+		"Ff",
+		"Fg",
+		"Fh",
+		"Fi",
+		"Fj",
+		"Fk",
+		"Fl",
+		"Fm",
+		"Fn",
+		"Fo",
+		"Fp",
+		"Fq",
+		"Fr",
+		"cb",
+		"MC",
+		"ML",
+		"MR",
+		"Lf",
+		"SC",
+		"DK",
+		"RC",
+		"CW",
+		"WG",
+		"HU",
+		"DI",
+		"QD",
+		"TO",
+		"PU",
+		"fh",
+		"PA",
+		"WA",
+		"u0",
+		"u1",
+		"u2",
+		"u3",
+		"u4",
+		"u5",
+		"u6",
+		"u7",
+		"u8",
+		"u9",
+		"op",
+		"oc",
+		"Ic",
+		"Ip",
+		"sp",
+		"Sf",
+		"Sb",
+		"ZA",
+		"ZB",
+		"ZC",
+		"ZD",
+		"ZE",
+		"ZF",
+		"ZG",
+		"ZH",
+		"ZI",
+		"ZJ",
+		"ZK",
+		"ZL",
+		"ZM",
+		"ZN",
+		"ZO",
+		"ZP",
+		"ZQ",
+		"ZR",
+		"ZS",
+		"ZT",
+		"ZU",
+		"ZV",
+		"ZW",
+		"ZX",
+		"ZY",
+		"ZZ",
+		"Za",
+		"Zb",
+		"Zc",
+		"Zd",
+		"Ze",
+		"Zf",
+		"Zg",
+		"Zh",
+		"Zi",
+		"Zj",
+		"Zk",
+		"Zl",
+		"Zm",
+		"Zn",
+		"Zo",
+		"Zp",
+		"Zq",
+		"Zr",
+		"Zs",
+		"Zt",
+		"Zu",
+		"Zv",
+		"Zw",
+		"Zx",
+		"Zy",
+		"Km",
+		"Mi",
+		"RQ",
+		"Gm",
+		"AF",
+		"AB",
+		"xl",
+		"dv",
+		"ci",
+		"s0",
+		"s1",
+		"s2",
+		"s3",
+		"ML",
+		"MT",
+		"Xy",
+		"Zz",
+		"Yv",
+		"Yw",
+		"Yx",
+		"Yy",
+		"Yz",
+		"YZ",
+		"S1",
+		"S2",
+		"S3",
+		"S4",
+		"S5",
+		"S6",
+		"S7",
+		"S8",
+		"Xh",
+		"Xl",
+		"Xo",
+		"Xr",
+		"Xt",
+		"Xv",
+		"sA",
+		"YI",
+		"i2",
+		"rs",
+		"nl",
+		"bc",
+		"ko",
+		"ma",
+		"G2",
+		"G3",
+		"G1",
+		"G4",
+		"GR",
+		"GL",
+		"GU",
+		"GD",
+		"GH",
+		"GV",
+		"GC",
+		"ml",
+		"mu",
+		"bx",
+
+		(NCURSES_CONST char *)0,
+};
+
+
+#endif /* BROKEN_LINKER */
diff --git a/ncurses/comp_captab.c b/ncurses/comp_captab.c
new file mode 100644
index 0000000..00fd1de
--- /dev/null
+++ b/ncurses/comp_captab.c
@@ -0,0 +1,3423 @@
+/*
+ * generated by ./tinfo/MKcaptab.sh
+ */
+
+/*
+ *	comp_captab.c -- The names of the capabilities indexed via a hash
+ *		         table for the compiler.
+ *
+ */
+
+#include <curses.priv.h>
+#include <tic.h>
+#include <hashsize.h>
+
+/* *INDENT-OFF* */
+/* 147 collisions out of 497 entries */
+static const char info_names_text[] = \
+"bw\0" "am\0" "xsb\0" "xhp\0" "xenl\0" "eo\0" "gn\0" "hc\0" "km\0" \
+"hs\0" "in\0" "da\0" "db\0" "mir\0" "msgr\0" "os\0" "eslok\0" "xt\0" \
+"hz\0" "ul\0" "xon\0" "nxon\0" "mc5i\0" "chts\0" "nrrmc\0" "npc\0" \
+"ndscr\0" "ccc\0" "bce\0" "hls\0" "xhpa\0" "crxm\0" "daisy\0" "xvpa\0" \
+"sam\0" "cpix\0" "lpix\0" "cols\0" "it\0" "lines\0" "lm\0" "xmc\0" \
+"pb\0" "vt\0" "wsl\0" "nlab\0" "lh\0" "lw\0" "ma\0" "wnum\0" "colors\0" \
+"pairs\0" "ncv\0" "bufsz\0" "spinv\0" "spinh\0" "maddr\0" "mjump\0" \
+"mcs\0" "mls\0" "npins\0" "orc\0" "orl\0" "orhi\0" "orvi\0" "cps\0" \
+"widcs\0" "btns\0" "bitwin\0" "bitype\0" "cbt\0" "bel\0" "cr\0" "csr\0" \
+"tbc\0" "clear\0" "el\0" "ed\0" "hpa\0" "cmdch\0" "cup\0" "cud1\0" \
+"home\0" "civis\0" "cub1\0" "mrcup\0" "cnorm\0" "cuf1\0" "ll\0" \
+"cuu1\0" "cvvis\0" "dch1\0" "dl1\0" "dsl\0" "hd\0" "smacs\0" "blink\0" \
+"bold\0" "smcup\0" "smdc\0" "dim\0" "smir\0" "invis\0" "prot\0" "rev\0" \
+"smso\0" "smul\0" "ech\0" "rmacs\0" "sgr0\0" "rmcup\0" "rmdc\0" \
+"rmir\0" "rmso\0" "rmul\0" "flash\0" "ff\0" "fsl\0" "is1\0" "is2\0" \
+"is3\0" "if\0" "ich1\0" "il1\0" "ip\0" "kbs\0" "ktbc\0" "kclr\0" \
+"kctab\0" "kdch1\0" "kdl1\0" "kcud1\0" "krmir\0" "kel\0" "ked\0" \
+"kf0\0" "kf1\0" "kf10\0" "kf2\0" "kf3\0" "kf4\0" "kf5\0" "kf6\0" \
+"kf7\0" "kf8\0" "kf9\0" "khome\0" "kich1\0" "kil1\0" "kcub1\0" "kll\0" \
+"knp\0" "kpp\0" "kcuf1\0" "kind\0" "kri\0" "khts\0" "kcuu1\0" "rmkx\0" \
+"smkx\0" "lf0\0" "lf1\0" "lf10\0" "lf2\0" "lf3\0" "lf4\0" "lf5\0" \
+"lf6\0" "lf7\0" "lf8\0" "lf9\0" "rmm\0" "smm\0" "nel\0" "pad\0" "dch\0" \
+"dl\0" "cud\0" "ich\0" "indn\0" "il\0" "cub\0" "cuf\0" "rin\0" "cuu\0" \
+"pfkey\0" "pfloc\0" "pfx\0" "mc0\0" "mc4\0" "mc5\0" "rep\0" "rs1\0" \
+"rs2\0" "rs3\0" "rf\0" "rc\0" "vpa\0" "sc\0" "ind\0" "ri\0" "sgr\0" \
+"hts\0" "wind\0" "ht\0" "tsl\0" "uc\0" "hu\0" "iprog\0" "ka1\0" "ka3\0" \
+"kb2\0" "kc1\0" "kc3\0" "mc5p\0" "rmp\0" "acsc\0" "pln\0" "kcbt\0" \
+"smxon\0" "rmxon\0" "smam\0" "rmam\0" "xonc\0" "xoffc\0" "enacs\0" \
+"smln\0" "rmln\0" "kbeg\0" "kcan\0" "kclo\0" "kcmd\0" "kcpy\0" "kcrt\0" \
+"kend\0" "kent\0" "kext\0" "kfnd\0" "khlp\0" "kmrk\0" "kmsg\0" "kmov\0" \
+"knxt\0" "kopn\0" "kopt\0" "kprv\0" "kprt\0" "krdo\0" "kref\0" "krfr\0" \
+"krpl\0" "krst\0" "kres\0" "ksav\0" "kspd\0" "kund\0" "kBEG\0" "kCAN\0" \
+"kCMD\0" "kCPY\0" "kCRT\0" "kDC\0" "kDL\0" "kslt\0" "kEND\0" "kEOL\0" \
+"kEXT\0" "kFND\0" "kHLP\0" "kHOM\0" "kIC\0" "kLFT\0" "kMSG\0" "kMOV\0" \
+"kNXT\0" "kOPT\0" "kPRV\0" "kPRT\0" "kRDO\0" "kRPL\0" "kRIT\0" "kRES\0" \
+"kSAV\0" "kSPD\0" "kUND\0" "rfi\0" "kf11\0" "kf12\0" "kf13\0" "kf14\0" \
+"kf15\0" "kf16\0" "kf17\0" "kf18\0" "kf19\0" "kf20\0" "kf21\0" "kf22\0" \
+"kf23\0" "kf24\0" "kf25\0" "kf26\0" "kf27\0" "kf28\0" "kf29\0" "kf30\0" \
+"kf31\0" "kf32\0" "kf33\0" "kf34\0" "kf35\0" "kf36\0" "kf37\0" "kf38\0" \
+"kf39\0" "kf40\0" "kf41\0" "kf42\0" "kf43\0" "kf44\0" "kf45\0" "kf46\0" \
+"kf47\0" "kf48\0" "kf49\0" "kf50\0" "kf51\0" "kf52\0" "kf53\0" "kf54\0" \
+"kf55\0" "kf56\0" "kf57\0" "kf58\0" "kf59\0" "kf60\0" "kf61\0" "kf62\0" \
+"kf63\0" "el1\0" "mgc\0" "smgl\0" "smgr\0" "fln\0" "sclk\0" "dclk\0" \
+"rmclk\0" "cwin\0" "wingo\0" "hup\0" "dial\0" "qdial\0" "tone\0" \
+"pulse\0" "hook\0" "pause\0" "wait\0" "u0\0" "u1\0" "u2\0" "u3\0" \
+"u4\0" "u5\0" "u6\0" "u7\0" "u8\0" "u9\0" "op\0" "oc\0" "initc\0" \
+"initp\0" "scp\0" "setf\0" "setb\0" "cpi\0" "lpi\0" "chr\0" "cvr\0" \
+"defc\0" "swidm\0" "sdrfq\0" "sitm\0" "slm\0" "smicm\0" "snlq\0" \
+"snrmq\0" "sshm\0" "ssubm\0" "ssupm\0" "sum\0" "rwidm\0" "ritm\0" \
+"rlm\0" "rmicm\0" "rshm\0" "rsubm\0" "rsupm\0" "rum\0" "mhpa\0" \
+"mcud1\0" "mcub1\0" "mcuf1\0" "mvpa\0" "mcuu1\0" "porder\0" "mcud\0" \
+"mcub\0" "mcuf\0" "mcuu\0" "scs\0" "smgb\0" "smgbp\0" "smglp\0" \
+"smgrp\0" "smgt\0" "smgtp\0" "sbim\0" "scsd\0" "rbim\0" "rcsd\0" \
+"subcs\0" "supcs\0" "docr\0" "zerom\0" "csnm\0" "kmous\0" "minfo\0" \
+"reqmp\0" "getm\0" "setaf\0" "setab\0" "pfxl\0" "devt\0" "csin\0" \
+"s0ds\0" "s1ds\0" "s2ds\0" "s3ds\0" "smglr\0" "smgtb\0" "birep\0" \
+"binel\0" "bicr\0" "colornm\0" "defbi\0" "endbi\0" "setcolor\0" \
+"slines\0" "dispc\0" "smpch\0" "rmpch\0" "smsc\0" "rmsc\0" "pctrm\0" \
+"scesc\0" "scesa\0" "ehhlm\0" "elhlm\0" "elohlm\0" "erhlm\0" "ethlm\0" \
+"evhlm\0" "sgr1\0" "slength\0" "OTi2\0" "OTrs\0" "OTug\0" "OTbs\0" \
+"OTns\0" "OTnc\0" "OTdC\0" "OTdN\0" "OTnl\0" "OTbc\0" "OTMT\0" "OTNL\0" \
+"OTdB\0" "OTdT\0" "OTkn\0" "OTko\0" "OTma\0" "OTpt\0" "OTxr\0" "OTG2\0" \
+"OTG3\0" "OTG1\0" "OTG4\0" "OTGR\0" "OTGL\0" "OTGU\0" "OTGD\0" "OTGH\0" \
+"OTGV\0" "OTGC\0" "meml\0" "memu\0" "box1\0" ;
+
+static name_table_data const info_names_data[] =
+{
+	{               0,	   BOOLEAN,	  0,  -1 },
+	{               3,	   BOOLEAN,	  1,  -1 },
+	{               6,	   BOOLEAN,	  2,  -1 },
+	{              10,	   BOOLEAN,	  3,  -1 },
+	{              14,	   BOOLEAN,	  4,  -1 },
+	{              19,	   BOOLEAN,	  5,  -1 },
+	{              22,	   BOOLEAN,	  6,  -1 },
+	{              25,	   BOOLEAN,	  7,  -1 },
+	{              28,	   BOOLEAN,	  8,  -1 },
+	{              31,	   BOOLEAN,	  9,  -1 },
+	{              34,	   BOOLEAN,	 10,  -1 },
+	{              37,	   BOOLEAN,	 11,  -1 },
+	{              40,	   BOOLEAN,	 12,  -1 },
+	{              43,	   BOOLEAN,	 13,  -1 },
+	{              47,	   BOOLEAN,	 14,  -1 },
+	{              52,	   BOOLEAN,	 15,  -1 },
+	{              55,	   BOOLEAN,	 16,  -1 },
+	{              61,	   BOOLEAN,	 17,  -1 },
+	{              64,	   BOOLEAN,	 18,  -1 },
+	{              67,	   BOOLEAN,	 19,  -1 },
+	{              70,	   BOOLEAN,	 20,  -1 },
+	{              74,	   BOOLEAN,	 21,  -1 },
+	{              79,	   BOOLEAN,	 22,  -1 },
+	{              84,	   BOOLEAN,	 23,  -1 },
+	{              89,	   BOOLEAN,	 24,  -1 },
+	{              95,	   BOOLEAN,	 25,  -1 },
+	{              99,	   BOOLEAN,	 26,  -1 },
+	{             105,	   BOOLEAN,	 27,  -1 },
+	{             109,	   BOOLEAN,	 28,  -1 },
+	{             113,	   BOOLEAN,	 29,  -1 },
+	{             117,	   BOOLEAN,	 30,  -1 },
+	{             122,	   BOOLEAN,	 31,  -1 },
+	{             127,	   BOOLEAN,	 32,  -1 },
+	{             133,	   BOOLEAN,	 33,  -1 },
+	{             138,	   BOOLEAN,	 34,  -1 },
+	{             142,	   BOOLEAN,	 35,  -1 },
+	{             147,	   BOOLEAN,	 36,  -1 },
+	{             152,	    NUMBER,	  0,  -1 },
+	{             157,	    NUMBER,	  1,  -1 },
+	{             160,	    NUMBER,	  2,   6 },
+	{             166,	    NUMBER,	  3,  -1 },
+	{             169,	    NUMBER,	  4,  -1 },
+	{             173,	    NUMBER,	  5,  -1 },
+	{             176,	    NUMBER,	  6,  -1 },
+	{             179,	    NUMBER,	  7,  -1 },
+	{             183,	    NUMBER,	  8,  -1 },
+	{             188,	    NUMBER,	  9,  -1 },
+	{             191,	    NUMBER,	 10,  -1 },
+	{             194,	    NUMBER,	 11,  -1 },
+	{             197,	    NUMBER,	 12,  -1 },
+	{             202,	    NUMBER,	 13,  -1 },
+	{             209,	    NUMBER,	 14,  -1 },
+	{             215,	    NUMBER,	 15,  -1 },
+	{             219,	    NUMBER,	 16,  46 },
+	{             225,	    NUMBER,	 17,  -1 },
+	{             231,	    NUMBER,	 18,  -1 },
+	{             237,	    NUMBER,	 19,  -1 },
+	{             243,	    NUMBER,	 20,  -1 },
+	{             249,	    NUMBER,	 21,  -1 },
+	{             253,	    NUMBER,	 22,  -1 },
+	{             257,	    NUMBER,	 23,  -1 },
+	{             263,	    NUMBER,	 24,  -1 },
+	{             267,	    NUMBER,	 25,  -1 },
+	{             271,	    NUMBER,	 26,  -1 },
+	{             276,	    NUMBER,	 27,  -1 },
+	{             281,	    NUMBER,	 28,  -1 },
+	{             285,	    NUMBER,	 29,  -1 },
+	{             291,	    NUMBER,	 30,  -1 },
+	{             296,	    NUMBER,	 31,  -1 },
+	{             303,	    NUMBER,	 32,  68 },
+	{             310,	    STRING,	  0,  -1 },
+	{             314,	    STRING,	  1,  -1 },
+	{             318,	    STRING,	  2,  -1 },
+	{             321,	    STRING,	  3,  -1 },
+	{             325,	    STRING,	  4,  -1 },
+	{             329,	    STRING,	  5,  -1 },
+	{             335,	    STRING,	  6,  -1 },
+	{             338,	    STRING,	  7,  -1 },
+	{             341,	    STRING,	  8,  -1 },
+	{             345,	    STRING,	  9,  -1 },
+	{             351,	    STRING,	 10,  73 },
+	{             355,	    STRING,	 11,  -1 },
+	{             360,	    STRING,	 12,  -1 },
+	{             365,	    STRING,	 13,  -1 },
+	{             371,	    STRING,	 14,  -1 },
+	{             376,	    STRING,	 15,  -1 },
+	{             382,	    STRING,	 16,  -1 },
+	{             388,	    STRING,	 17,  -1 },
+	{             393,	    STRING,	 18,  -1 },
+	{             396,	    STRING,	 19,  -1 },
+	{             401,	    STRING,	 20,  -1 },
+	{             407,	    STRING,	 21,  -1 },
+	{             412,	    STRING,	 22,  -1 },
+	{             416,	    STRING,	 23,  -1 },
+	{             420,	    STRING,	 24,  -1 },
+	{             423,	    STRING,	 25,  -1 },
+	{             429,	    STRING,	 26,  -1 },
+	{             435,	    STRING,	 27,  -1 },
+	{             440,	    STRING,	 28,  -1 },
+	{             446,	    STRING,	 29,  -1 },
+	{             451,	    STRING,	 30,  -1 },
+	{             455,	    STRING,	 31,  -1 },
+	{             460,	    STRING,	 32,  -1 },
+	{             466,	    STRING,	 33,  -1 },
+	{             471,	    STRING,	 34,  -1 },
+	{             475,	    STRING,	 35,  -1 },
+	{             480,	    STRING,	 36,  -1 },
+	{             485,	    STRING,	 37,  -1 },
+	{             489,	    STRING,	 38,  -1 },
+	{             495,	    STRING,	 39,  -1 },
+	{             500,	    STRING,	 40,  -1 },
+	{             506,	    STRING,	 41,  -1 },
+	{             511,	    STRING,	 42,  -1 },
+	{             516,	    STRING,	 43,  -1 },
+	{             521,	    STRING,	 44,  -1 },
+	{             526,	    STRING,	 45,  -1 },
+	{             532,	    STRING,	 46,  -1 },
+	{             535,	    STRING,	 47,  -1 },
+	{             539,	    STRING,	 48,  -1 },
+	{             543,	    STRING,	 49,  59 },
+	{             547,	    STRING,	 50,  76 },
+	{             551,	    STRING,	 51,  -1 },
+	{             554,	    STRING,	 52,  20 },
+	{             559,	    STRING,	 53,  -1 },
+	{             563,	    STRING,	 54,  -1 },
+	{             566,	    STRING,	 55,  -1 },
+	{             570,	    STRING,	 56,  -1 },
+	{             575,	    STRING,	 57,  98 },
+	{             580,	    STRING,	 58,  -1 },
+	{             586,	    STRING,	 59,  -1 },
+	{             592,	    STRING,	 60,  -1 },
+	{             597,	    STRING,	 61,  -1 },
+	{             603,	    STRING,	 62,  -1 },
+	{             609,	    STRING,	 63,  -1 },
+	{             613,	    STRING,	 64,  -1 },
+	{             617,	    STRING,	 65,  -1 },
+	{             621,	    STRING,	 66,  -1 },
+	{             625,	    STRING,	 67,  -1 },
+	{             630,	    STRING,	 68,  -1 },
+	{             634,	    STRING,	 69,  -1 },
+	{             638,	    STRING,	 70,  -1 },
+	{             642,	    STRING,	 71,  61 },
+	{             646,	    STRING,	 72,  -1 },
+	{             650,	    STRING,	 73,  -1 },
+	{             654,	    STRING,	 74,  -1 },
+	{             658,	    STRING,	 75,  -1 },
+	{             662,	    STRING,	 76,  -1 },
+	{             668,	    STRING,	 77,  -1 },
+	{             674,	    STRING,	 78,  -1 },
+	{             679,	    STRING,	 79,  -1 },
+	{             685,	    STRING,	 80,  -1 },
+	{             689,	    STRING,	 81,  -1 },
+	{             693,	    STRING,	 82,  -1 },
+	{             697,	    STRING,	 83,  -1 },
+	{             703,	    STRING,	 84,  55 },
+	{             708,	    STRING,	 85, 105 },
+	{             712,	    STRING,	 86,  -1 },
+	{             717,	    STRING,	 87,  81 },
+	{             723,	    STRING,	 88,  -1 },
+	{             728,	    STRING,	 89,  -1 },
+	{             733,	    STRING,	 90,  -1 },
+	{             737,	    STRING,	 91,  -1 },
+	{             741,	    STRING,	 92,  -1 },
+	{             746,	    STRING,	 93,  -1 },
+	{             750,	    STRING,	 94,  33 },
+	{             754,	    STRING,	 95,  -1 },
+	{             758,	    STRING,	 96,  -1 },
+	{             762,	    STRING,	 97,  -1 },
+	{             766,	    STRING,	 98,   7 },
+	{             770,	    STRING,	 99,  94 },
+	{             774,	    STRING,	100,  -1 },
+	{             778,	    STRING,	101, 131 },
+	{             782,	    STRING,	102,  -1 },
+	{             786,	    STRING,	103,  -1 },
+	{             790,	    STRING,	104,  30 },
+	{             794,	    STRING,	105,  -1 },
+	{             798,	    STRING,	106,  -1 },
+	{             801,	    STRING,	107,  -1 },
+	{             805,	    STRING,	108,  -1 },
+	{             809,	    STRING,	109,  -1 },
+	{             814,	    STRING,	110,  -1 },
+	{             817,	    STRING,	111,  -1 },
+	{             821,	    STRING,	112, 156 },
+	{             825,	    STRING,	113,  -1 },
+	{             829,	    STRING,	114,  -1 },
+	{             833,	    STRING,	115,  51 },
+	{             839,	    STRING,	116,  -1 },
+	{             845,	    STRING,	117,  -1 },
+	{             849,	    STRING,	118,  -1 },
+	{             853,	    STRING,	119,  -1 },
+	{             857,	    STRING,	120,  -1 },
+	{             861,	    STRING,	121,  -1 },
+	{             865,	    STRING,	122,  -1 },
+	{             869,	    STRING,	123,  -1 },
+	{             873,	    STRING,	124, 126 },
+	{             877,	    STRING,	125,  -1 },
+	{             880,	    STRING,	126,  -1 },
+	{             883,	    STRING,	127,  -1 },
+	{             887,	    STRING,	128,  -1 },
+	{             890,	    STRING,	129,  -1 },
+	{             894,	    STRING,	130,  -1 },
+	{             897,	    STRING,	131,  -1 },
+	{             901,	    STRING,	132,  -1 },
+	{             905,	    STRING,	133,  -1 },
+	{             910,	    STRING,	134,  -1 },
+	{             913,	    STRING,	135,  -1 },
+	{             917,	    STRING,	136,  23 },
+	{             920,	    STRING,	137,  -1 },
+	{             923,	    STRING,	138,  -1 },
+	{             929,	    STRING,	139,  -1 },
+	{             933,	    STRING,	140,  -1 },
+	{             937,	    STRING,	141, 210 },
+	{             941,	    STRING,	142, 211 },
+	{             945,	    STRING,	143, 135 },
+	{             949,	    STRING,	144,  -1 },
+	{             954,	    STRING,	145,  -1 },
+	{             958,	    STRING,	146, 176 },
+	{             963,	    STRING,	147,  -1 },
+	{             967,	    STRING,	148, 194 },
+	{             972,	    STRING,	149,  -1 },
+	{             978,	    STRING,	150,  -1 },
+	{             984,	    STRING,	151, 137 },
+	{             989,	    STRING,	152,  -1 },
+	{             994,	    STRING,	153,  -1 },
+	{             999,	    STRING,	154,  -1 },
+	{            1005,	    STRING,	155,  -1 },
+	{            1011,	    STRING,	156,  -1 },
+	{            1016,	    STRING,	157,  -1 },
+	{            1021,	    STRING,	158,  -1 },
+	{            1026,	    STRING,	159,  -1 },
+	{            1031,	    STRING,	160,  -1 },
+	{            1036,	    STRING,	161,  -1 },
+	{            1041,	    STRING,	162,  -1 },
+	{            1046,	    STRING,	163,  54 },
+	{            1051,	    STRING,	164, 192 },
+	{            1056,	    STRING,	165,  -1 },
+	{            1061,	    STRING,	166,  -1 },
+	{            1066,	    STRING,	167, 193 },
+	{            1071,	    STRING,	168,  -1 },
+	{            1076,	    STRING,	169,  70 },
+	{            1081,	    STRING,	170, 235 },
+	{            1086,	    STRING,	171,  -1 },
+	{            1091,	    STRING,	172,  -1 },
+	{            1096,	    STRING,	173, 177 },
+	{            1101,	    STRING,	174,  -1 },
+	{            1106,	    STRING,	175,  -1 },
+	{            1111,	    STRING,	176,  -1 },
+	{            1116,	    STRING,	177,  -1 },
+	{            1121,	    STRING,	178,  -1 },
+	{            1126,	    STRING,	179, 239 },
+	{            1131,	    STRING,	180, 219 },
+	{            1136,	    STRING,	181,  80 },
+	{            1141,	    STRING,	182, 249 },
+	{            1146,	    STRING,	183, 252 },
+	{            1151,	    STRING,	184, 240 },
+	{            1156,	    STRING,	185, 254 },
+	{            1161,	    STRING,	186,  -1 },
+	{            1166,	    STRING,	187,  -1 },
+	{            1171,	    STRING,	188, 101 },
+	{            1176,	    STRING,	189,  -1 },
+	{            1181,	    STRING,	190,  -1 },
+	{            1186,	    STRING,	191,  -1 },
+	{            1190,	    STRING,	192,  -1 },
+	{            1194,	    STRING,	193, 244 },
+	{            1199,	    STRING,	194,  -1 },
+	{            1204,	    STRING,	195, 152 },
+	{            1209,	    STRING,	196,  -1 },
+	{            1214,	    STRING,	197, 150 },
+	{            1219,	    STRING,	198,  -1 },
+	{            1224,	    STRING,	199, 268 },
+	{            1229,	    STRING,	200,  -1 },
+	{            1233,	    STRING,	201,  72 },
+	{            1238,	    STRING,	202,  -1 },
+	{            1243,	    STRING,	203,  -1 },
+	{            1248,	    STRING,	204,  -1 },
+	{            1253,	    STRING,	205,  -1 },
+	{            1258,	    STRING,	206,  -1 },
+	{            1263,	    STRING,	207, 196 },
+	{            1268,	    STRING,	208,  -1 },
+	{            1273,	    STRING,	209,  -1 },
+	{            1278,	    STRING,	210,  -1 },
+	{            1283,	    STRING,	211,  -1 },
+	{            1288,	    STRING,	212, 281 },
+	{            1293,	    STRING,	213, 272 },
+	{            1298,	    STRING,	214, 283 },
+	{            1303,	    STRING,	215,  -1 },
+	{            1307,	    STRING,	216,  -1 },
+	{            1312,	    STRING,	217, 134 },
+	{            1317,	    STRING,	218,  -1 },
+	{            1322,	    STRING,	219,  -1 },
+	{            1327,	    STRING,	220,  -1 },
+	{            1332,	    STRING,	221,  43 },
+	{            1337,	    STRING,	222, 256 },
+	{            1342,	    STRING,	223,  -1 },
+	{            1347,	    STRING,	224,  -1 },
+	{            1352,	    STRING,	225, 286 },
+	{            1357,	    STRING,	226, 287 },
+	{            1362,	    STRING,	227, 288 },
+	{            1367,	    STRING,	228, 289 },
+	{            1372,	    STRING,	229, 290 },
+	{            1377,	    STRING,	230, 291 },
+	{            1382,	    STRING,	231, 292 },
+	{            1387,	    STRING,	232, 293 },
+	{            1392,	    STRING,	233, 294 },
+	{            1397,	    STRING,	234, 133 },
+	{            1402,	    STRING,	235, 296 },
+	{            1407,	    STRING,	236, 297 },
+	{            1412,	    STRING,	237, 298 },
+	{            1417,	    STRING,	238, 299 },
+	{            1422,	    STRING,	239, 300 },
+	{            1427,	    STRING,	240, 301 },
+	{            1432,	    STRING,	241, 302 },
+	{            1437,	    STRING,	242, 303 },
+	{            1442,	    STRING,	243, 304 },
+	{            1447,	    STRING,	244, 257 },
+	{            1452,	    STRING,	245, 306 },
+	{            1457,	    STRING,	246, 307 },
+	{            1462,	    STRING,	247, 308 },
+	{            1467,	    STRING,	248, 309 },
+	{            1472,	    STRING,	249, 310 },
+	{            1477,	    STRING,	250, 311 },
+	{            1482,	    STRING,	251, 312 },
+	{            1487,	    STRING,	252, 313 },
+	{            1492,	    STRING,	253, 314 },
+	{            1497,	    STRING,	254, 226 },
+	{            1502,	    STRING,	255, 316 },
+	{            1507,	    STRING,	256, 317 },
+	{            1512,	    STRING,	257, 318 },
+	{            1517,	    STRING,	258, 319 },
+	{            1522,	    STRING,	259, 320 },
+	{            1527,	    STRING,	260, 321 },
+	{            1532,	    STRING,	261, 322 },
+	{            1537,	    STRING,	262, 323 },
+	{            1542,	    STRING,	263, 324 },
+	{            1547,	    STRING,	264, 258 },
+	{            1552,	    STRING,	265, 326 },
+	{            1557,	    STRING,	266, 327 },
+	{            1562,	    STRING,	267, 328 },
+	{            1567,	    STRING,	268, 329 },
+	{            1572,	    STRING,	269,  -1 },
+	{            1576,	    STRING,	270,  -1 },
+	{            1580,	    STRING,	271, 335 },
+	{            1585,	    STRING,	272, 332 },
+	{            1590,	    STRING,	273,  -1 },
+	{            1594,	    STRING,	274,  -1 },
+	{            1599,	    STRING,	275,  -1 },
+	{            1604,	    STRING,	276,  -1 },
+	{            1610,	    STRING,	277,  37 },
+	{            1615,	    STRING,	278,  -1 },
+	{            1621,	    STRING,	279,  -1 },
+	{            1625,	    STRING,	280,  -1 },
+	{            1630,	    STRING,	281,  -1 },
+	{            1636,	    STRING,	282,  -1 },
+	{            1641,	    STRING,	283,  -1 },
+	{            1647,	    STRING,	284,  -1 },
+	{            1652,	    STRING,	285,   8 },
+	{            1658,	    STRING,	286, 262 },
+	{            1663,	    STRING,	287,  -1 },
+	{            1666,	    STRING,	288,  -1 },
+	{            1669,	    STRING,	289,  -1 },
+	{            1672,	    STRING,	290,  -1 },
+	{            1675,	    STRING,	291,  -1 },
+	{            1678,	    STRING,	292,  -1 },
+	{            1681,	    STRING,	293,  -1 },
+	{            1684,	    STRING,	294,  -1 },
+	{            1687,	    STRING,	295,  -1 },
+	{            1690,	    STRING,	296,  -1 },
+	{            1693,	    STRING,	297,  -1 },
+	{            1696,	    STRING,	298,  -1 },
+	{            1699,	    STRING,	299,  -1 },
+	{            1705,	    STRING,	300,  -1 },
+	{            1711,	    STRING,	301,  -1 },
+	{            1715,	    STRING,	302, 325 },
+	{            1720,	    STRING,	303, 221 },
+	{            1725,	    STRING,	304, 243 },
+	{            1729,	    STRING,	305,  -1 },
+	{            1733,	    STRING,	306, 250 },
+	{            1737,	    STRING,	307,  -1 },
+	{            1741,	    STRING,	308, 141 },
+	{            1746,	    STRING,	309, 248 },
+	{            1752,	    STRING,	310, 218 },
+	{            1758,	    STRING,	311,  -1 },
+	{            1763,	    STRING,	312, 201 },
+	{            1767,	    STRING,	313, 229 },
+	{            1773,	    STRING,	314, 264 },
+	{            1778,	    STRING,	315, 253 },
+	{            1784,	    STRING,	316, 334 },
+	{            1789,	    STRING,	317,  -1 },
+	{            1795,	    STRING,	318, 236 },
+	{            1801,	    STRING,	319, 185 },
+	{            1805,	    STRING,	320,  -1 },
+	{            1811,	    STRING,	321,  -1 },
+	{            1816,	    STRING,	322,  -1 },
+	{            1820,	    STRING,	323,  -1 },
+	{            1826,	    STRING,	324, 112 },
+	{            1831,	    STRING,	325,  -1 },
+	{            1837,	    STRING,	326,  -1 },
+	{            1843,	    STRING,	327,  -1 },
+	{            1847,	    STRING,	328,  -1 },
+	{            1852,	    STRING,	329,  -1 },
+	{            1858,	    STRING,	330,  -1 },
+	{            1864,	    STRING,	331,  53 },
+	{            1870,	    STRING,	332,  -1 },
+	{            1875,	    STRING,	333,  47 },
+	{            1881,	    STRING,	334, 155 },
+	{            1888,	    STRING,	335,  -1 },
+	{            1893,	    STRING,	336,  -1 },
+	{            1898,	    STRING,	337,  -1 },
+	{            1903,	    STRING,	338,  -1 },
+	{            1908,	    STRING,	339,  -1 },
+	{            1912,	    STRING,	340,  -1 },
+	{            1917,	    STRING,	341, 383 },
+	{            1923,	    STRING,	342,  -1 },
+	{            1929,	    STRING,	343,  -1 },
+	{            1935,	    STRING,	344, 386 },
+	{            1940,	    STRING,	345, 238 },
+	{            1946,	    STRING,	346,  -1 },
+	{            1951,	    STRING,	347, 344 },
+	{            1956,	    STRING,	348,  31 },
+	{            1961,	    STRING,	349,  -1 },
+	{            1966,	    STRING,	350, 380 },
+	{            1972,	    STRING,	351, 255 },
+	{            1978,	    STRING,	352,  -1 },
+	{            1983,	    STRING,	353,  -1 },
+	{            1989,	    STRING,	354, 347 },
+	{            1994,	    STRING,	355,  -1 },
+	{            2000,	    STRING,	356,  -1 },
+	{            2006,	    STRING,	357,  -1 },
+	{            2012,	    STRING,	358,  87 },
+	{            2017,	    STRING,	359,  -1 },
+	{            2023,	    STRING,	360,  -1 },
+	{            2029,	    STRING,	361,  -1 },
+	{            2034,	    STRING,	362,  -1 },
+	{            2039,	    STRING,	363,  -1 },
+	{            2044,	    STRING,	364,  -1 },
+	{            2049,	    STRING,	365, 212 },
+	{            2054,	    STRING,	366, 109 },
+	{            2059,	    STRING,	367, 213 },
+	{            2064,	    STRING,	368, 230 },
+	{            2070,	    STRING,	369,  -1 },
+	{            2076,	    STRING,	370,  -1 },
+	{            2082,	    STRING,	371,  -1 },
+	{            2088,	    STRING,	372,  -1 },
+	{            2093,	    STRING,	373,  -1 },
+	{            2101,	    STRING,	374,  -1 },
+	{            2107,	    STRING,	375,  -1 },
+	{            2113,	    STRING,	376,  -1 },
+	{            2122,	    STRING,	377, 116 },
+	{            2129,	    STRING,	378,  -1 },
+	{            2135,	    STRING,	379, 231 },
+	{            2141,	    STRING,	380,  -1 },
+	{            2147,	    STRING,	381, 338 },
+	{            2152,	    STRING,	382,  -1 },
+	{            2157,	    STRING,	383,  -1 },
+	{            2163,	    STRING,	384, 197 },
+	{            2169,	    STRING,	385, 430 },
+	{            2175,	    STRING,	386,  -1 },
+	{            2181,	    STRING,	387,  -1 },
+	{            2187,	    STRING,	388,  -1 },
+	{            2194,	    STRING,	389,  -1 },
+	{            2200,	    STRING,	390,  -1 },
+	{            2206,	    STRING,	391,  -1 },
+	{            2212,	    STRING,	392, 437 },
+	{            2217,	    STRING,	393,  -1 },
+	{            2225,	    STRING,	394,  -1 },
+	{            2230,	    STRING,	395,  -1 },
+	{            2235,	    NUMBER,	 33,  -1 },
+	{            2240,	   BOOLEAN,	 37,  -1 },
+	{            2245,	   BOOLEAN,	 38,  -1 },
+	{            2250,	   BOOLEAN,	 39,  -1 },
+	{            2255,	    NUMBER,	 34,  -1 },
+	{            2260,	    NUMBER,	 35,  -1 },
+	{            2265,	    STRING,	396,  -1 },
+	{            2270,	    STRING,	397,  13 },
+	{            2275,	   BOOLEAN,	 40,  -1 },
+	{            2280,	   BOOLEAN,	 41, 446 },
+	{            2285,	    NUMBER,	 36,  -1 },
+	{            2290,	    NUMBER,	 37,  -1 },
+	{            2295,	    NUMBER,	 38,  -1 },
+	{            2300,	    STRING,	398, 472 },
+	{            2305,	    STRING,	399,  -1 },
+	{            2310,	   BOOLEAN,	 42,  -1 },
+	{            2315,	   BOOLEAN,	 43,  -1 },
+	{            2320,	    STRING,	400,  -1 },
+	{            2325,	    STRING,	401,  -1 },
+	{            2330,	    STRING,	402,  -1 },
+	{            2335,	    STRING,	403,  -1 },
+	{            2340,	    STRING,	404,  -1 },
+	{            2345,	    STRING,	405,  -1 },
+	{            2350,	    STRING,	406,  -1 },
+	{            2355,	    STRING,	407,  -1 },
+	{            2360,	    STRING,	408,  26 },
+	{            2365,	    STRING,	409,  60 },
+	{            2370,	    STRING,	410, 121 },
+	{            2375,	    STRING,	411, 407 },
+	{            2380,	    STRING,	412, 402 },
+	{            2385,	    STRING,	413,  -1 } 
+};
+
+static struct name_table_entry *_nc_info_table = 0;
+
+static const HashValue _nc_info_hash_table[995] =
+{
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	465,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	261,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	457,
+	 -1,
+	 -1,
+	265,
+	216,
+	120,
+	 -1,
+	 -1,
+	 -1,
+	180,
+	 -1,
+	 -1,
+	 88,
+	 -1,
+	420,
+	 -1,
+	398,
+	 -1,
+	348,
+	 -1,
+	 -1,
+	 19,
+	 -1,
+	 -1,
+	 -1,
+	359,
+	 -1,
+	174,
+	 -1,
+	245,
+	 -1,
+	 74,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	269,
+	 -1,
+	480,
+	 -1,
+	 -1,
+	 -1,
+	124,
+	 -1,
+	 -1,
+	 -1,
+	390,
+	379,
+	367,
+	 -1,
+	 -1,
+	444,
+	 -1,
+	 -1,
+	 -1,
+	305,
+	 -1,
+	 -1,
+	363,
+	 -1,
+	 -1,
+	483,
+	377,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	460,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	204,
+	 38,
+	 -1,
+	 82,
+	 -1,
+	110,
+	127,
+	 -1,
+	 -1,
+	463,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	336,
+	 -1,
+	 17,
+	128,
+	434,
+	 -1,
+	188,
+	129,
+	 -1,
+	351,
+	 -1,
+	 -1,
+	 16,
+	 -1,
+	 -1,
+	259,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	489,
+	 -1,
+	353,
+	 -1,
+	 71,
+	247,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 78,
+	 -1,
+	 -1,
+	331,
+	 -1,
+	 -1,
+	173,
+	136,
+	161,
+	189,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	454,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	224,
+	479,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	354,
+	 -1,
+	 -1,
+	233,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	125,
+	 11,
+	 -1,
+	 -1,
+	378,
+	166,
+	 -1,
+	191,
+	 -1,
+	 -1,
+	 48,
+	228,
+	 -1,
+	  2,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	374,
+	 -1,
+	408,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	375,
+	 -1,
+	 52,
+	145,
+	170,
+	 -1,
+	392,
+	382,
+	 -1,
+	393,
+	411,
+	 -1,
+	 -1,
+	 -1,
+	276,
+	 -1,
+	 -1,
+	 35,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	396,
+	388,
+	 36,
+	 -1,
+	 -1,
+	 64,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	350,
+	 -1,
+	 -1,
+	215,
+	 91,
+	 -1,
+	 -1,
+	439,
+	 -1,
+	122,
+	 -1,
+	200,
+	 -1,
+	 67,
+	 -1,
+	410,
+	 -1,
+	 -1,
+	 89,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 96,
+	 21,
+	 -1,
+	103,
+	  1,
+	 -1,
+	 -1,
+	369,
+	 -1,
+	 -1,
+	345,
+	 -1,
+	 -1,
+	 -1,
+	355,
+	 40,
+	 -1,
+	 27,
+	 -1,
+	406,
+	 -1,
+	 -1,
+	 -1,
+	482,
+	419,
+	417,
+	 -1,
+	 -1,
+	360,
+	270,
+	 -1,
+	 -1,
+	251,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	349,
+	 -1,
+	 -1,
+	278,
+	 -1,
+	442,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	438,
+	 -1,
+	494,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	315,
+	 -1,
+	340,
+	364,
+	356,
+	 -1,
+	484,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 32,
+	 -1,
+	 -1,
+	 -1,
+	260,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	207,
+	487,
+	 84,
+	453,
+	 -1,
+	 -1,
+	413,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	214,
+	 -1,
+	337,
+	352,
+	477,
+	 -1,
+	435,
+	 56,
+	 -1,
+	 -1,
+	 34,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	132,
+	 -1,
+	 85,
+	492,
+	428,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	199,
+	 -1,
+	342,
+	 -1,
+	 -1,
+	 -1,
+	138,
+	163,
+	190,
+	147,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	266,
+	 -1,
+	 -1,
+	433,
+	 -1,
+	 -1,
+	474,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	385,
+	100,
+	 -1,
+	 -1,
+	 -1,
+	431,
+	 -1,
+	391,
+	381,
+	 12,
+	 58,
+	 -1,
+	142,
+	167,
+	 -1,
+	 -1,
+	409,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 42,
+	 45,
+	 66,
+	 -1,
+	 -1,
+	424,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	220,
+	376,
+	 -1,
+	 -1,
+	343,
+	 -1,
+	 -1,
+	 -1,
+	114,
+	106,
+	 -1,
+	 -1,
+	447,
+	 -1,
+	217,
+	493,
+	171,
+	172,
+	399,
+	346,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	195,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	496,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	241,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	151,
+	 -1,
+	118,
+	 -1,
+	 62,
+	187,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	234,
+	 -1,
+	443,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	357,
+	 -1,
+	 -1,
+	 -1,
+	246,
+	 -1,
+	 -1,
+	 -1,
+	448,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 39,
+	 -1,
+	 10,
+	397,
+	389,
+	 -1,
+	 -1,
+	154,
+	 -1,
+	 -1,
+	 -1,
+	130,
+	 -1,
+	 22,
+	222,
+	373,
+	162,
+	 -1,
+	361,
+	203,
+	 -1,
+	 -1,
+	242,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	459,
+	 -1,
+	 -1,
+	271,
+	 -1,
+	 97,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	427,
+	 -1,
+	175,
+	107,
+	 -1,
+	 -1,
+	 -1,
+	178,
+	423,
+	372,
+	 69,
+	 -1,
+	365,
+	 -1,
+	  4,
+	486,
+	184,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	461,
+	 -1,
+	 -1,
+	282,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	475,
+	 -1,
+	 -1,
+	 -1,
+	395,
+	387,
+	 -1,
+	 -1,
+	 79,
+	 63,
+	 -1,
+	 -1,
+	452,
+	451,
+	 -1,
+	 50,
+	 -1,
+	436,
+	 -1,
+	 -1,
+	285,
+	 -1,
+	 -1,
+	 83,
+	455,
+	 -1,
+	 -1,
+	 -1,
+	279,
+	370,
+	 -1,
+	 -1,
+	 -1,
+	 18,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	421,
+	 -1,
+	495,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	227,
+	333,
+	 -1,
+	 -1,
+	 25,
+	139,
+	164,
+	 -1,
+	 -1,
+	371,
+	 -1,
+	 -1,
+	429,
+	 -1,
+	 -1,
+	 -1,
+	273,
+	 -1,
+	466,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	181,
+	 -1,
+	 -1,
+	 75,
+	 -1,
+	 92,
+	339,
+	 -1,
+	384,
+	 -1,
+	123,
+	 -1,
+	143,
+	168,
+	 -1,
+	183,
+	186,
+	 -1,
+	108,
+	 95,
+	368,
+	 -1,
+	 -1,
+	277,
+	198,
+	 -1,
+	206,
+	432,
+	 -1,
+	476,
+	 -1,
+	458,
+	 -1,
+	 -1,
+	182,
+	 -1,
+	441,
+	 -1,
+	 -1,
+	 -1,
+	115,
+	113,
+	404,
+	 -1,
+	473,
+	 -1,
+	 -1,
+	 -1,
+	490,
+	104,
+	 -1,
+	 -1,
+	450,
+	449,
+	 -1,
+	 -1,
+	 -1,
+	274,
+	 -1,
+	481,
+	111,
+	 99,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	263,
+	 93,
+	 -1,
+	117,
+	 -1,
+	 29,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	119,
+	 -1,
+	 -1,
+	426,
+	491,
+	 -1,
+	 -1,
+	205,
+	 -1,
+	237,
+	 44,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	418,
+	416,
+	 -1,
+	 -1,
+	358,
+	 -1,
+	 -1,
+	 -1,
+	 65,
+	 -1,
+	440,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	  5,
+	 -1,
+	 -1,
+	 -1,
+	488,
+	 -1,
+	 -1,
+	 -1,
+	 28,
+	412,
+	 -1,
+	405,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	295,
+	 -1,
+	471,
+	362,
+	 -1,
+	 -1,
+	485,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	202,
+	 -1,
+	 -1,
+	284,
+	 -1,
+	469,
+	 -1,
+	 -1,
+	  9,
+	 24,
+	 -1,
+	 -1,
+	179,
+	 -1,
+	 -1,
+	 15,
+	 -1,
+	 -1,
+	148,
+	 -1,
+	 -1,
+	 -1,
+	341,
+	 -1,
+	 -1,
+	366,
+	209,
+	223,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	  0,
+	 -1,
+	208,
+	467,
+	 -1,
+	422,
+	 -1,
+	464,
+	157,
+	 -1,
+	403,
+	 -1,
+	415,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	445,
+	 -1,
+	 -1,
+	330,
+	 -1,
+	 -1,
+	 -1,
+	462,
+	160,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 86,
+	 -1,
+	 -1,
+	 41,
+	 -1,
+	280,
+	 -1,
+	478,
+	 -1,
+	 -1,
+	 57,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	394,
+	414,
+	 -1,
+	 -1,
+	 -1,
+	140,
+	165,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	275,
+	102,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	232,
+	 -1,
+	 14,
+	 -1,
+	 -1,
+	225,
+	 -1,
+	 -1,
+	267,
+	 -1,
+	 77,
+	 -1,
+	144,
+	169,
+	 -1,
+	149,
+	 -1,
+	400,
+	 -1,
+	 -1,
+	 -1,
+	  3,
+	 -1,
+	 -1,
+	 -1,
+	468,
+	425,
+	 -1,
+	 -1,
+	470,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	456,
+	 -1,
+	158,
+	159,
+	 -1,
+	 -1,
+	146,
+	 49,
+	 -1,
+	 -1,
+	153,
+	 -1,
+	401,
+	 90,
+	0	/* base-of-table */
+};
+
+#if (BOOLCOUNT!=44)||(NUMCOUNT!=39)||(STRCOUNT!=414)
+#error	--> term.h and comp_captab.c disagree about the <--
+#error	--> numbers of booleans, numbers and/or strings <--
+#endif
+
+/* 103 collisions out of 497 entries */
+static const char cap_names_text[] = \
+"bw\0" "am\0" "xb\0" "xs\0" "xn\0" "eo\0" "gn\0" "hc\0" "km\0" "hs\0" \
+"in\0" "da\0" "db\0" "mi\0" "ms\0" "os\0" "es\0" "xt\0" "hz\0" "ul\0" \
+"xo\0" "nx\0" "5i\0" "HC\0" "NR\0" "NP\0" "ND\0" "cc\0" "ut\0" "hl\0" \
+"YA\0" "YB\0" "YC\0" "YD\0" "YE\0" "YF\0" "YG\0" "co\0" "it\0" "li\0" \
+"lm\0" "sg\0" "pb\0" "vt\0" "ws\0" "Nl\0" "lh\0" "lw\0" "ma\0" "MW\0" \
+"Co\0" "pa\0" "NC\0" "Ya\0" "Yb\0" "Yc\0" "Yd\0" "Ye\0" "Yf\0" "Yg\0" \
+"Yh\0" "Yi\0" "Yj\0" "Yk\0" "Yl\0" "Ym\0" "Yn\0" "BT\0" "Yo\0" "Yp\0" \
+"bt\0" "bl\0" "cr\0" "cs\0" "ct\0" "cl\0" "ce\0" "cd\0" "ch\0" "CC\0" \
+"cm\0" "do\0" "ho\0" "vi\0" "le\0" "CM\0" "ve\0" "nd\0" "ll\0" "up\0" \
+"vs\0" "dc\0" "dl\0" "ds\0" "hd\0" "as\0" "mb\0" "md\0" "ti\0" "dm\0" \
+"mh\0" "im\0" "mk\0" "mp\0" "mr\0" "so\0" "us\0" "ec\0" "ae\0" "me\0" \
+"te\0" "ed\0" "ei\0" "se\0" "ue\0" "vb\0" "ff\0" "fs\0" "i1\0" "is\0" \
+"i3\0" "if\0" "ic\0" "al\0" "ip\0" "kb\0" "ka\0" "kC\0" "kt\0" "kD\0" \
+"kL\0" "kd\0" "kM\0" "kE\0" "kS\0" "k0\0" "k1\0" "k;\0" "k2\0" "k3\0" \
+"k4\0" "k5\0" "k6\0" "k7\0" "k8\0" "k9\0" "kh\0" "kI\0" "kA\0" "kl\0" \
+"kH\0" "kN\0" "kP\0" "kr\0" "kF\0" "kR\0" "kT\0" "ku\0" "ke\0" "ks\0" \
+"l0\0" "l1\0" "la\0" "l2\0" "l3\0" "l4\0" "l5\0" "l6\0" "l7\0" "l8\0" \
+"l9\0" "mo\0" "mm\0" "nw\0" "pc\0" "DC\0" "DL\0" "DO\0" "IC\0" "SF\0" \
+"AL\0" "LE\0" "RI\0" "SR\0" "UP\0" "pk\0" "pl\0" "px\0" "ps\0" "pf\0" \
+"po\0" "rp\0" "r1\0" "r2\0" "r3\0" "rf\0" "rc\0" "cv\0" "sc\0" "sf\0" \
+"sr\0" "sa\0" "st\0" "wi\0" "ta\0" "ts\0" "uc\0" "hu\0" "iP\0" "K1\0" \
+"K3\0" "K2\0" "K4\0" "K5\0" "pO\0" "rP\0" "ac\0" "pn\0" "kB\0" "SX\0" \
+"RX\0" "SA\0" "RA\0" "XN\0" "XF\0" "eA\0" "LO\0" "LF\0" "@1\0" "@2\0" \
+"@3\0" "@4\0" "@5\0" "@6\0" "@7\0" "@8\0" "@9\0" "@0\0" "%1\0" "%2\0" \
+"%3\0" "%4\0" "%5\0" "%6\0" "%7\0" "%8\0" "%9\0" "%0\0" "&1\0" "&2\0" \
+"&3\0" "&4\0" "&5\0" "&6\0" "&7\0" "&8\0" "&9\0" "&0\0" "*1\0" "*2\0" \
+"*3\0" "*4\0" "*5\0" "*6\0" "*7\0" "*8\0" "*9\0" "*0\0" "#1\0" "#2\0" \
+"#3\0" "#4\0" "%a\0" "%b\0" "%c\0" "%d\0" "%e\0" "%f\0" "%g\0" "%h\0" \
+"%i\0" "%j\0" "!1\0" "!2\0" "!3\0" "RF\0" "F1\0" "F2\0" "F3\0" "F4\0" \
+"F5\0" "F6\0" "F7\0" "F8\0" "F9\0" "FA\0" "FB\0" "FC\0" "FD\0" "FE\0" \
+"FF\0" "FG\0" "FH\0" "FI\0" "FJ\0" "FK\0" "FL\0" "FM\0" "FN\0" "FO\0" \
+"FP\0" "FQ\0" "FR\0" "FS\0" "FT\0" "FU\0" "FV\0" "FW\0" "FX\0" "FY\0" \
+"FZ\0" "Fa\0" "Fb\0" "Fc\0" "Fd\0" "Fe\0" "Ff\0" "Fg\0" "Fh\0" "Fi\0" \
+"Fj\0" "Fk\0" "Fl\0" "Fm\0" "Fn\0" "Fo\0" "Fp\0" "Fq\0" "Fr\0" "cb\0" \
+"MC\0" "ML\0" "MR\0" "Lf\0" "SC\0" "DK\0" "RC\0" "CW\0" "WG\0" "HU\0" \
+"DI\0" "QD\0" "TO\0" "PU\0" "fh\0" "PA\0" "WA\0" "u0\0" "u1\0" "u2\0" \
+"u3\0" "u4\0" "u5\0" "u6\0" "u7\0" "u8\0" "u9\0" "op\0" "oc\0" "Ic\0" \
+"Ip\0" "sp\0" "Sf\0" "Sb\0" "ZA\0" "ZB\0" "ZC\0" "ZD\0" "ZE\0" "ZF\0" \
+"ZG\0" "ZH\0" "ZI\0" "ZJ\0" "ZK\0" "ZL\0" "ZM\0" "ZN\0" "ZO\0" "ZP\0" \
+"ZQ\0" "ZR\0" "ZS\0" "ZT\0" "ZU\0" "ZV\0" "ZW\0" "ZX\0" "ZY\0" "ZZ\0" \
+"Za\0" "Zb\0" "Zc\0" "Zd\0" "Ze\0" "Zf\0" "Zg\0" "Zh\0" "Zi\0" "Zj\0" \
+"Zk\0" "Zl\0" "Zm\0" "Zn\0" "Zo\0" "Zp\0" "Zq\0" "Zr\0" "Zs\0" "Zt\0" \
+"Zu\0" "Zv\0" "Zw\0" "Zx\0" "Zy\0" "Km\0" "Mi\0" "RQ\0" "Gm\0" "AF\0" \
+"AB\0" "xl\0" "dv\0" "ci\0" "s0\0" "s1\0" "s2\0" "s3\0" "ML\0" "MT\0" \
+"Xy\0" "Zz\0" "Yv\0" "Yw\0" "Yx\0" "Yy\0" "Yz\0" "YZ\0" "S1\0" "S2\0" \
+"S3\0" "S4\0" "S5\0" "S6\0" "S7\0" "S8\0" "Xh\0" "Xl\0" "Xo\0" "Xr\0" \
+"Xt\0" "Xv\0" "sA\0" "YI\0" "i2\0" "rs\0" "ug\0" "bs\0" "ns\0" "nc\0" \
+"dC\0" "dN\0" "nl\0" "bc\0" "MT\0" "NL\0" "dB\0" "dT\0" "kn\0" "ko\0" \
+"ma\0" "pt\0" "xr\0" "G2\0" "G3\0" "G1\0" "G4\0" "GR\0" "GL\0" "GU\0" \
+"GD\0" "GH\0" "GV\0" "GC\0" "ml\0" "mu\0" "bx\0" ;
+
+static name_table_data const cap_names_data[] =
+{
+	{               0,	   BOOLEAN,	  0,  -1 },
+	{               3,	   BOOLEAN,	  1,  -1 },
+	{               6,	   BOOLEAN,	  2,  -1 },
+	{               9,	   BOOLEAN,	  3,  -1 },
+	{              12,	   BOOLEAN,	  4,  -1 },
+	{              15,	   BOOLEAN,	  5,  -1 },
+	{              18,	   BOOLEAN,	  6,  -1 },
+	{              21,	   BOOLEAN,	  7,  -1 },
+	{              24,	   BOOLEAN,	  8,  -1 },
+	{              27,	   BOOLEAN,	  9,  -1 },
+	{              30,	   BOOLEAN,	 10,  -1 },
+	{              33,	   BOOLEAN,	 11,  -1 },
+	{              36,	   BOOLEAN,	 12,  -1 },
+	{              39,	   BOOLEAN,	 13,  -1 },
+	{              42,	   BOOLEAN,	 14,  -1 },
+	{              45,	   BOOLEAN,	 15,  -1 },
+	{              48,	   BOOLEAN,	 16,  -1 },
+	{              51,	   BOOLEAN,	 17,  -1 },
+	{              54,	   BOOLEAN,	 18,  -1 },
+	{              57,	   BOOLEAN,	 19,  -1 },
+	{              60,	   BOOLEAN,	 20,  -1 },
+	{              63,	   BOOLEAN,	 21,  -1 },
+	{              66,	   BOOLEAN,	 22,  -1 },
+	{              69,	   BOOLEAN,	 23,  -1 },
+	{              72,	   BOOLEAN,	 24,   1 },
+	{              75,	   BOOLEAN,	 25,  -1 },
+	{              78,	   BOOLEAN,	 26,  -1 },
+	{              81,	   BOOLEAN,	 27,  -1 },
+	{              84,	   BOOLEAN,	 28,  -1 },
+	{              87,	   BOOLEAN,	 29,  -1 },
+	{              90,	   BOOLEAN,	 30,  -1 },
+	{              93,	   BOOLEAN,	 31,  -1 },
+	{              96,	   BOOLEAN,	 32,  -1 },
+	{              99,	   BOOLEAN,	 33,  -1 },
+	{             102,	   BOOLEAN,	 34,  -1 },
+	{             105,	   BOOLEAN,	 35,  -1 },
+	{             108,	   BOOLEAN,	 36,  -1 },
+	{             111,	    NUMBER,	  0,  -1 },
+	{             114,	    NUMBER,	  1,  -1 },
+	{             117,	    NUMBER,	  2,  -1 },
+	{             120,	    NUMBER,	  3,  -1 },
+	{             123,	    NUMBER,	  4,  -1 },
+	{             126,	    NUMBER,	  5,  -1 },
+	{             129,	    NUMBER,	  6,  -1 },
+	{             132,	    NUMBER,	  7,  -1 },
+	{             135,	    NUMBER,	  8,  -1 },
+	{             138,	    NUMBER,	  9,  -1 },
+	{             141,	    NUMBER,	 10,  -1 },
+	{             144,	    NUMBER,	 11,  -1 },
+	{             147,	    NUMBER,	 12,  -1 },
+	{             150,	    NUMBER,	 13,  -1 },
+	{             153,	    NUMBER,	 14,  -1 },
+	{             156,	    NUMBER,	 15,  -1 },
+	{             159,	    NUMBER,	 16,  -1 },
+	{             162,	    NUMBER,	 17,  -1 },
+	{             165,	    NUMBER,	 18,  -1 },
+	{             168,	    NUMBER,	 19,  -1 },
+	{             171,	    NUMBER,	 20,  -1 },
+	{             174,	    NUMBER,	 21,  -1 },
+	{             177,	    NUMBER,	 22,  -1 },
+	{             180,	    NUMBER,	 23,  -1 },
+	{             183,	    NUMBER,	 24,  -1 },
+	{             186,	    NUMBER,	 25,  -1 },
+	{             189,	    NUMBER,	 26,  -1 },
+	{             192,	    NUMBER,	 27,  -1 },
+	{             195,	    NUMBER,	 28,  -1 },
+	{             198,	    NUMBER,	 29,  -1 },
+	{             201,	    NUMBER,	 30,  -1 },
+	{             204,	    NUMBER,	 31,  -1 },
+	{             207,	    NUMBER,	 32,  -1 },
+	{             210,	    STRING,	  0,  -1 },
+	{             213,	    STRING,	  1,  -1 },
+	{             216,	    STRING,	  2,  -1 },
+	{             219,	    STRING,	  3,  -1 },
+	{             222,	    STRING,	  4,  -1 },
+	{             225,	    STRING,	  5,  -1 },
+	{             228,	    STRING,	  6,  -1 },
+	{             231,	    STRING,	  7,  -1 },
+	{             234,	    STRING,	  8,  -1 },
+	{             237,	    STRING,	  9,  -1 },
+	{             240,	    STRING,	 10,  -1 },
+	{             243,	    STRING,	 11,  -1 },
+	{             246,	    STRING,	 12,  -1 },
+	{             249,	    STRING,	 13,  -1 },
+	{             252,	    STRING,	 14,  -1 },
+	{             255,	    STRING,	 15,  -1 },
+	{             258,	    STRING,	 16,  -1 },
+	{             261,	    STRING,	 17,  -1 },
+	{             264,	    STRING,	 18,  -1 },
+	{             267,	    STRING,	 19,  -1 },
+	{             270,	    STRING,	 20,  -1 },
+	{             273,	    STRING,	 21,  -1 },
+	{             276,	    STRING,	 22,  -1 },
+	{             279,	    STRING,	 23,  -1 },
+	{             282,	    STRING,	 24,  -1 },
+	{             285,	    STRING,	 25,  -1 },
+	{             288,	    STRING,	 26,  -1 },
+	{             291,	    STRING,	 27,  -1 },
+	{             294,	    STRING,	 28,  -1 },
+	{             297,	    STRING,	 29,  -1 },
+	{             300,	    STRING,	 30,  -1 },
+	{             303,	    STRING,	 31,  -1 },
+	{             306,	    STRING,	 32,  -1 },
+	{             309,	    STRING,	 33,  -1 },
+	{             312,	    STRING,	 34,  -1 },
+	{             315,	    STRING,	 35,  -1 },
+	{             318,	    STRING,	 36,  -1 },
+	{             321,	    STRING,	 37,  -1 },
+	{             324,	    STRING,	 38,  -1 },
+	{             327,	    STRING,	 39,  -1 },
+	{             330,	    STRING,	 40,  -1 },
+	{             333,	    STRING,	 41,  -1 },
+	{             336,	    STRING,	 42,  -1 },
+	{             339,	    STRING,	 43,  -1 },
+	{             342,	    STRING,	 44,  -1 },
+	{             345,	    STRING,	 45,  -1 },
+	{             348,	    STRING,	 46,  -1 },
+	{             351,	    STRING,	 47,  -1 },
+	{             354,	    STRING,	 48, 102 },
+	{             357,	    STRING,	 49,  -1 },
+	{             360,	    STRING,	 50,  -1 },
+	{             363,	    STRING,	 51,  -1 },
+	{             366,	    STRING,	 52,  -1 },
+	{             369,	    STRING,	 53,  -1 },
+	{             372,	    STRING,	 54,  -1 },
+	{             375,	    STRING,	 55,  -1 },
+	{             378,	    STRING,	 56,  -1 },
+	{             381,	    STRING,	 57,  -1 },
+	{             384,	    STRING,	 58,  -1 },
+	{             387,	    STRING,	 59,  -1 },
+	{             390,	    STRING,	 60,  -1 },
+	{             393,	    STRING,	 61,  -1 },
+	{             396,	    STRING,	 62,  -1 },
+	{             399,	    STRING,	 63,  -1 },
+	{             402,	    STRING,	 64,  -1 },
+	{             405,	    STRING,	 65,  -1 },
+	{             408,	    STRING,	 66,  -1 },
+	{             411,	    STRING,	 67,  -1 },
+	{             414,	    STRING,	 68,  -1 },
+	{             417,	    STRING,	 69,  -1 },
+	{             420,	    STRING,	 70,  -1 },
+	{             423,	    STRING,	 71,  -1 },
+	{             426,	    STRING,	 72,  -1 },
+	{             429,	    STRING,	 73,  -1 },
+	{             432,	    STRING,	 74,  -1 },
+	{             435,	    STRING,	 75,  15 },
+	{             438,	    STRING,	 76,  -1 },
+	{             441,	    STRING,	 77,  -1 },
+	{             444,	    STRING,	 78,  -1 },
+	{             447,	    STRING,	 79,  -1 },
+	{             450,	    STRING,	 80,  -1 },
+	{             453,	    STRING,	 81,  -1 },
+	{             456,	    STRING,	 82,  -1 },
+	{             459,	    STRING,	 83,  -1 },
+	{             462,	    STRING,	 84,  -1 },
+	{             465,	    STRING,	 85,  -1 },
+	{             468,	    STRING,	 86,  -1 },
+	{             471,	    STRING,	 87,  -1 },
+	{             474,	    STRING,	 88,  -1 },
+	{             477,	    STRING,	 89,  -1 },
+	{             480,	    STRING,	 90,  -1 },
+	{             483,	    STRING,	 91,  -1 },
+	{             486,	    STRING,	 92,  35 },
+	{             489,	    STRING,	 93,  -1 },
+	{             492,	    STRING,	 94,  -1 },
+	{             495,	    STRING,	 95,  -1 },
+	{             498,	    STRING,	 96,  -1 },
+	{             501,	    STRING,	 97,  -1 },
+	{             504,	    STRING,	 98,  -1 },
+	{             507,	    STRING,	 99,  -1 },
+	{             510,	    STRING,	100,  -1 },
+	{             513,	    STRING,	101,  -1 },
+	{             516,	    STRING,	102, 120 },
+	{             519,	    STRING,	103,  -1 },
+	{             522,	    STRING,	104,  -1 },
+	{             525,	    STRING,	105,  -1 },
+	{             528,	    STRING,	106,  -1 },
+	{             531,	    STRING,	107,  -1 },
+	{             534,	    STRING,	108,  -1 },
+	{             537,	    STRING,	109,  -1 },
+	{             540,	    STRING,	110,  -1 },
+	{             543,	    STRING,	111,  -1 },
+	{             546,	    STRING,	112, 111 },
+	{             549,	    STRING,	113,  -1 },
+	{             552,	    STRING,	114,  -1 },
+	{             555,	    STRING,	115, 161 },
+	{             558,	    STRING,	116, 163 },
+	{             561,	    STRING,	117,  -1 },
+	{             564,	    STRING,	118, 170 },
+	{             567,	    STRING,	119,  -1 },
+	{             570,	    STRING,	120, 166 },
+	{             573,	    STRING,	121,  -1 },
+	{             576,	    STRING,	122,  -1 },
+	{             579,	    STRING,	123,  -1 },
+	{             582,	    STRING,	124,  -1 },
+	{             585,	    STRING,	125,  -1 },
+	{             588,	    STRING,	126,  -1 },
+	{             591,	    STRING,	127,  -1 },
+	{             594,	    STRING,	128,  -1 },
+	{             597,	    STRING,	129,  -1 },
+	{             600,	    STRING,	130,  -1 },
+	{             603,	    STRING,	131,  -1 },
+	{             606,	    STRING,	132,  -1 },
+	{             609,	    STRING,	133,  -1 },
+	{             612,	    STRING,	134,  -1 },
+	{             615,	    STRING,	135,  -1 },
+	{             618,	    STRING,	136,  -1 },
+	{             621,	    STRING,	137,  -1 },
+	{             624,	    STRING,	138,  -1 },
+	{             627,	    STRING,	139,  -1 },
+	{             630,	    STRING,	140,  -1 },
+	{             633,	    STRING,	141,  -1 },
+	{             636,	    STRING,	142,  -1 },
+	{             639,	    STRING,	143,  -1 },
+	{             642,	    STRING,	144,  -1 },
+	{             645,	    STRING,	145,  37 },
+	{             648,	    STRING,	146,  -1 },
+	{             651,	    STRING,	147, 165 },
+	{             654,	    STRING,	148,  -1 },
+	{             657,	    STRING,	149, 117 },
+	{             660,	    STRING,	150,  16 },
+	{             663,	    STRING,	151,  -1 },
+	{             666,	    STRING,	152,  -1 },
+	{             669,	    STRING,	153,  -1 },
+	{             672,	    STRING,	154, 126 },
+	{             675,	    STRING,	155,  -1 },
+	{             678,	    STRING,	156,  -1 },
+	{             681,	    STRING,	157,  -1 },
+	{             684,	    STRING,	158,  -1 },
+	{             687,	    STRING,	159,  -1 },
+	{             690,	    STRING,	160,  -1 },
+	{             693,	    STRING,	161,  -1 },
+	{             696,	    STRING,	162,  -1 },
+	{             699,	    STRING,	163,  -1 },
+	{             702,	    STRING,	164, 183 },
+	{             705,	    STRING,	165,  -1 },
+	{             708,	    STRING,	166,  -1 },
+	{             711,	    STRING,	167, 116 },
+	{             714,	    STRING,	168,  -1 },
+	{             717,	    STRING,	169,  97 },
+	{             720,	    STRING,	170, 109 },
+	{             723,	    STRING,	171,  -1 },
+	{             726,	    STRING,	172,  -1 },
+	{             729,	    STRING,	173, 100 },
+	{             732,	    STRING,	174,  13 },
+	{             735,	    STRING,	175,  -1 },
+	{             738,	    STRING,	176, 118 },
+	{             741,	    STRING,	177,  96 },
+	{             744,	    STRING,	178,  -1 },
+	{             747,	    STRING,	179,  87 },
+	{             750,	    STRING,	180,  -1 },
+	{             753,	    STRING,	181,  -1 },
+	{             756,	    STRING,	182,  -1 },
+	{             759,	    STRING,	183,  -1 },
+	{             762,	    STRING,	184,  -1 },
+	{             765,	    STRING,	185,  -1 },
+	{             768,	    STRING,	186,  -1 },
+	{             771,	    STRING,	187,  -1 },
+	{             774,	    STRING,	188, 196 },
+	{             777,	    STRING,	189,  -1 },
+	{             780,	    STRING,	190,  -1 },
+	{             783,	    STRING,	191, 195 },
+	{             786,	    STRING,	192,  -1 },
+	{             789,	    STRING,	193,  -1 },
+	{             792,	    STRING,	194,  -1 },
+	{             795,	    STRING,	195,  -1 },
+	{             798,	    STRING,	196,  -1 },
+	{             801,	    STRING,	197,  -1 },
+	{             804,	    STRING,	198,  -1 },
+	{             807,	    STRING,	199, 131 },
+	{             810,	    STRING,	200, 158 },
+	{             813,	    STRING,	201,  -1 },
+	{             816,	    STRING,	202,  -1 },
+	{             819,	    STRING,	203,  -1 },
+	{             822,	    STRING,	204,  -1 },
+	{             825,	    STRING,	205,  -1 },
+	{             828,	    STRING,	206,  -1 },
+	{             831,	    STRING,	207,  -1 },
+	{             834,	    STRING,	208,  -1 },
+	{             837,	    STRING,	209,  -1 },
+	{             840,	    STRING,	210,  -1 },
+	{             843,	    STRING,	211,  -1 },
+	{             846,	    STRING,	212, 122 },
+	{             849,	    STRING,	213,  -1 },
+	{             852,	    STRING,	214,  -1 },
+	{             855,	    STRING,	215,  -1 },
+	{             858,	    STRING,	216,  -1 },
+	{             861,	    STRING,	217,  46 },
+	{             864,	    STRING,	218,  39 },
+	{             867,	    STRING,	219,  -1 },
+	{             870,	    STRING,	220,  -1 },
+	{             873,	    STRING,	221,  88 },
+	{             876,	    STRING,	222,  40 },
+	{             879,	    STRING,	223,  -1 },
+	{             882,	    STRING,	224,  -1 },
+	{             885,	    STRING,	225,  47 },
+	{             888,	    STRING,	226,  -1 },
+	{             891,	    STRING,	227,  -1 },
+	{             894,	    STRING,	228,  -1 },
+	{             897,	    STRING,	229,  -1 },
+	{             900,	    STRING,	230,  53 },
+	{             903,	    STRING,	231,  54 },
+	{             906,	    STRING,	232,  55 },
+	{             909,	    STRING,	233,  56 },
+	{             912,	    STRING,	234,  57 },
+	{             915,	    STRING,	235,  58 },
+	{             918,	    STRING,	236,  59 },
+	{             921,	    STRING,	237,  60 },
+	{             924,	    STRING,	238,  61 },
+	{             927,	    STRING,	239,  62 },
+	{             930,	    STRING,	240,  63 },
+	{             933,	    STRING,	241,  64 },
+	{             936,	    STRING,	242,  65 },
+	{             939,	    STRING,	243,  66 },
+	{             942,	    STRING,	244,  68 },
+	{             945,	    STRING,	245,  69 },
+	{             948,	    STRING,	246,  -1 },
+	{             951,	    STRING,	247,  -1 },
+	{             954,	    STRING,	248,  -1 },
+	{             957,	    STRING,	249,  -1 },
+	{             960,	    STRING,	250,  -1 },
+	{             963,	    STRING,	251,  -1 },
+	{             966,	    STRING,	252,  -1 },
+	{             969,	    STRING,	253,  -1 },
+	{             972,	    STRING,	254,  -1 },
+	{             975,	    STRING,	255,  -1 },
+	{             978,	    STRING,	256,  -1 },
+	{             981,	    STRING,	257,   7 },
+	{             984,	    STRING,	258,  94 },
+	{             987,	    STRING,	259,  -1 },
+	{             990,	    STRING,	260,  -1 },
+	{             993,	    STRING,	261,  -1 },
+	{             996,	    STRING,	262,  -1 },
+	{             999,	    STRING,	263,  -1 },
+	{            1002,	    STRING,	264,  -1 },
+	{            1005,	    STRING,	265, 184 },
+	{            1008,	    STRING,	266,  29 },
+	{            1011,	    STRING,	267,  -1 },
+	{            1014,	    STRING,	268,  -1 },
+	{            1017,	    STRING,	269,  -1 },
+	{            1020,	    STRING,	270,  -1 },
+	{            1023,	    STRING,	271,  -1 },
+	{            1026,	    STRING,	272,  -1 },
+	{            1029,	    STRING,	273, 257 },
+	{            1032,	    STRING,	274,  -1 },
+	{            1035,	    STRING,	275,  -1 },
+	{            1038,	    STRING,	276,  -1 },
+	{            1041,	    STRING,	277,   4 },
+	{            1044,	    STRING,	278,  -1 },
+	{            1047,	    STRING,	279,  -1 },
+	{            1050,	    STRING,	280,  -1 },
+	{            1053,	    STRING,	281,  -1 },
+	{            1056,	    STRING,	282,  -1 },
+	{            1059,	    STRING,	283,  -1 },
+	{            1062,	    STRING,	284, 229 },
+	{            1065,	    STRING,	285,  -1 },
+	{            1068,	    STRING,	286,  -1 },
+	{            1071,	    STRING,	287,  -1 },
+	{            1074,	    STRING,	288,  -1 },
+	{            1077,	    STRING,	289,  -1 },
+	{            1080,	    STRING,	290,  -1 },
+	{            1083,	    STRING,	291,  -1 },
+	{            1086,	    STRING,	292,  -1 },
+	{            1089,	    STRING,	293,  -1 },
+	{            1092,	    STRING,	294,  -1 },
+	{            1095,	    STRING,	295,  -1 },
+	{            1098,	    STRING,	296,  -1 },
+	{            1101,	    STRING,	297, 142 },
+	{            1104,	    STRING,	298,  -1 },
+	{            1107,	    STRING,	299,  -1 },
+	{            1110,	    STRING,	300, 149 },
+	{            1113,	    STRING,	301,  -1 },
+	{            1116,	    STRING,	302,  -1 },
+	{            1119,	    STRING,	303,  -1 },
+	{            1122,	    STRING,	304,  -1 },
+	{            1125,	    STRING,	305,  -1 },
+	{            1128,	    STRING,	306,  -1 },
+	{            1131,	    STRING,	307,  -1 },
+	{            1134,	    STRING,	308,  -1 },
+	{            1137,	    STRING,	309,  48 },
+	{            1140,	    STRING,	310, 247 },
+	{            1143,	    STRING,	311, 238 },
+	{            1146,	    STRING,	312, 239 },
+	{            1149,	    STRING,	313, 240 },
+	{            1152,	    STRING,	314, 241 },
+	{            1155,	    STRING,	315, 242 },
+	{            1158,	    STRING,	316, 243 },
+	{            1161,	    STRING,	317, 244 },
+	{            1164,	    STRING,	318, 245 },
+	{            1167,	    STRING,	319, 246 },
+	{            1170,	    STRING,	320,  -1 },
+	{            1173,	    STRING,	321, 172 },
+	{            1176,	    STRING,	322,  -1 },
+	{            1179,	    STRING,	323, 171 },
+	{            1182,	    STRING,	324, 103 },
+	{            1185,	    STRING,	325,  -1 },
+	{            1188,	    STRING,	326, 104 },
+	{            1191,	    STRING,	327,  14 },
+	{            1194,	    STRING,	328,  -1 },
+	{            1197,	    STRING,	329,  -1 },
+	{            1200,	    STRING,	330,  -1 },
+	{            1203,	    STRING,	331,  -1 },
+	{            1206,	    STRING,	332,  -1 },
+	{            1209,	    STRING,	333,  -1 },
+	{            1212,	    STRING,	334,  -1 },
+	{            1215,	    STRING,	335,  -1 },
+	{            1218,	    STRING,	336,  -1 },
+	{            1221,	    STRING,	337,  -1 },
+	{            1224,	    STRING,	338,  -1 },
+	{            1227,	    STRING,	339,  -1 },
+	{            1230,	    STRING,	340,  -1 },
+	{            1233,	    STRING,	341,  -1 },
+	{            1236,	    STRING,	342,  -1 },
+	{            1239,	    STRING,	343,  -1 },
+	{            1242,	    STRING,	344, 208 },
+	{            1245,	    STRING,	345,  -1 },
+	{            1248,	    STRING,	346,  -1 },
+	{            1251,	    STRING,	347,  -1 },
+	{            1254,	    STRING,	348,  -1 },
+	{            1257,	    STRING,	349,  -1 },
+	{            1260,	    STRING,	350,  -1 },
+	{            1263,	    STRING,	351,  -1 },
+	{            1266,	    STRING,	352,  -1 },
+	{            1269,	    STRING,	353, 272 },
+	{            1272,	    STRING,	354, 273 },
+	{            1275,	    STRING,	355, 387 },
+	{            1278,	    STRING,	356,  -1 },
+	{            1281,	    STRING,	357,  -1 },
+	{            1284,	    STRING,	358,  -1 },
+	{            1287,	    STRING,	359,  -1 },
+	{            1290,	    STRING,	360,  -1 },
+	{            1293,	    STRING,	361,  -1 },
+	{            1296,	    STRING,	362,  -1 },
+	{            1299,	    STRING,	363,  -1 },
+	{            1302,	    STRING,	364,  -1 },
+	{            1305,	    STRING,	365,  67 },
+	{            1308,	    STRING,	366,  -1 },
+	{            1311,	    STRING,	367,  -1 },
+	{            1314,	    STRING,	368, 341 },
+	{            1317,	    STRING,	369,  -1 },
+	{            1320,	    STRING,	370,  -1 },
+	{            1323,	    STRING,	371, 274 },
+	{            1326,	    STRING,	372,  -1 },
+	{            1329,	    STRING,	373,  -1 },
+	{            1332,	    STRING,	374,  -1 },
+	{            1335,	    STRING,	375,  -1 },
+	{            1338,	    STRING,	376,  -1 },
+	{            1341,	    STRING,	377,  -1 },
+	{            1344,	    STRING,	378,  -1 },
+	{            1347,	    STRING,	379,  -1 },
+	{            1350,	    STRING,	380,  -1 },
+	{            1353,	    STRING,	381, 357 },
+	{            1356,	    STRING,	382, 358 },
+	{            1359,	    STRING,	383, 359 },
+	{            1362,	    STRING,	384, 360 },
+	{            1365,	    STRING,	385, 361 },
+	{            1368,	    STRING,	386,  -1 },
+	{            1371,	    STRING,	387,  -1 },
+	{            1374,	    STRING,	388,  -1 },
+	{            1377,	    STRING,	389,  -1 },
+	{            1380,	    STRING,	390,  -1 },
+	{            1383,	    STRING,	391,  -1 },
+	{            1386,	    STRING,	392,  -1 },
+	{            1389,	    STRING,	393,  -1 },
+	{            1392,	    STRING,	394, 390 },
+	{            1395,	    STRING,	395,  -1 },
+	{            1398,	    NUMBER,	 33,  -1 },
+	{            1401,	   BOOLEAN,	 37,  -1 },
+	{            1404,	   BOOLEAN,	 38,  -1 },
+	{            1407,	   BOOLEAN,	 39, 248 },
+	{            1410,	    NUMBER,	 34,  -1 },
+	{            1413,	    NUMBER,	 35, 203 },
+	{            1416,	    STRING,	396,  -1 },
+	{            1419,	    STRING,	397,  -1 },
+	{            1422,	   BOOLEAN,	 40, 439 },
+	{            1425,	   BOOLEAN,	 41,  -1 },
+	{            1428,	    NUMBER,	 36,  -1 },
+	{            1431,	    NUMBER,	 37,  -1 },
+	{            1434,	    NUMBER,	 38,  -1 },
+	{            1437,	    STRING,	398,  -1 },
+	{            1440,	    STRING,	399, 379 },
+	{            1443,	   BOOLEAN,	 42,  -1 },
+	{            1446,	   BOOLEAN,	 43,  -1 },
+	{            1449,	    STRING,	400, 386 },
+	{            1452,	    STRING,	401, 425 },
+	{            1455,	    STRING,	402, 385 },
+	{            1458,	    STRING,	403, 388 },
+	{            1461,	    STRING,	404, 412 },
+	{            1464,	    STRING,	405, 406 },
+	{            1467,	    STRING,	406, 415 },
+	{            1470,	    STRING,	407,  -1 },
+	{            1473,	    STRING,	408, 402 },
+	{            1476,	    STRING,	409, 416 },
+	{            1479,	    STRING,	410,  -1 },
+	{            1482,	    STRING,	411, 464 },
+	{            1485,	    STRING,	412, 399 },
+	{            1488,	    STRING,	413,  -1 } 
+};
+
+static struct name_table_entry *_nc_cap_table = 0;
+
+static const HashValue _nc_cap_hash_table[995] =
+{
+	253,
+	 -1,
+	 45,
+	211,
+	263,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	449,
+	457,
+	311,
+	411,
+	 -1,
+	132,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	123,
+	 71,
+	 75,
+	 92,
+	427,
+	233,
+	 -1,
+	336,
+	 -1,
+	 -1,
+	370,
+	291,
+	494,
+	472,
+	138,
+	186,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 19,
+	193,
+	436,
+	431,
+	453,
+	 -1,
+	315,
+	489,
+	349,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	353,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	124,
+	 -1,
+	 -1,
+	 -1,
+	394,
+	 -1,
+	367,
+	167,
+	 -1,
+	191,
+	371,
+	 -1,
+	 89,
+	 -1,
+	 -1,
+	 -1,
+	363,
+	460,
+	319,
+	419,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 70,
+	 74,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 38,
+	 -1,
+	128,
+	 -1,
+	398,
+	 -1,
+	 -1,
+	481,
+	 -1,
+	 -1,
+	202,
+	 -1,
+	 28,
+	 43,
+	 -1,
+	 17,
+	 -1,
+	 -1,
+	444,
+	423,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	496,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	430,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	296,
+	 -1,
+	 21,
+	 -1,
+	187,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	321,
+	276,
+	 -1,
+	 -1,
+	 31,
+	375,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	429,
+	476,
+	 -1,
+	 -1,
+	 -1,
+	300,
+	400,
+	 -1,
+	218,
+	 -1,
+	 -1,
+	227,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 11,
+	285,
+	179,
+	 -1,
+	325,
+	280,
+	 -1,
+	224,
+	162,
+	480,
+	 -1,
+	 -1,
+	 51,
+	 -1,
+	 -1,
+	201,
+	204,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 22,
+	 -1,
+	304,
+	404,
+	 -1,
+	154,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	108,
+	 -1,
+	 76,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	329,
+	284,
+	 -1,
+	270,
+	 84,
+	383,
+	250,
+	426,
+	 -1,
+	 -1,
+	260,
+	113,
+	110,
+	114,
+	 86,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	308,
+	408,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	433,
+	 -1,
+	112,
+	230,
+	 -1,
+	333,
+	428,
+	 -1,
+	223,
+	288,
+	484,
+	254,
+	 -1,
+	 -1,
+	210,
+	264,
+	 -1,
+	 98,
+	 -1,
+	 83,
+	471,
+	 -1,
+	450,
+	 -1,
+	312,
+	487,
+	 -1,
+	151,
+	 -1,
+	 -1,
+	 -1,
+	342,
+	 24,
+	 -1,
+	 80,
+	 99,
+	 -1,
+	234,
+	 -1,
+	337,
+	101,
+	 -1,
+	  8,
+	292,
+	391,
+	 -1,
+	139,
+	164,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	194,
+	437,
+	 -1,
+	454,
+	 -1,
+	316,
+	492,
+	 -1,
+	155,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	395,
+	 -1,
+	143,
+	168,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	364,
+	 -1,
+	320,
+	420,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	207,
+	 -1,
+	 -1,
+	157,
+	447,
+	495,
+	 -1,
+	137,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	440,
+	445,
+	424,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 79,
+	175,
+	 -1,
+	297,
+	493,
+	 23,
+	178,
+	 -1,
+	 -1,
+	 -1,
+	340,
+	 52,
+	 -1,
+	 -1,
+	 -1,
+	346,
+	344,
+	 -1,
+	322,
+	277,
+	 -1,
+	 -1,
+	 32,
+	376,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	373,
+	 -1,
+	470,
+	 -1,
+	 -1,
+	 -1,
+	301,
+	401,
+	 -1,
+	127,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	339,
+	 12,
+	 -1,
+	 -1,
+	 -1,
+	326,
+	281,
+	348,
+	125,
+	 36,
+	380,
+	343,
+	 -1,
+	 42,
+	 -1,
+	267,
+	 -1,
+	 -1,
+	372,
+	115,
+	 -1,
+	  2,
+	345,
+	 -1,
+	305,
+	405,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	237,
+	 -1,
+	330,
+	121,
+	 -1,
+	271,
+	 -1,
+	384,
+	251,
+	 -1,
+	189,
+	 -1,
+	261,
+	199,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	177,
+	 -1,
+	309,
+	409,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	226,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	231,
+	352,
+	334,
+	 -1,
+	 -1,
+	 -1,
+	289,
+	486,
+	255,
+	135,
+	160,
+	212,
+	265,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	434,
+	 -1,
+	451,
+	 -1,
+	313,
+	413,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	214,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	235,
+	  6,
+	338,
+	 10,
+	 -1,
+	478,
+	293,
+	392,
+	 -1,
+	140,
+	217,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	347,
+	455,
+	459,
+	317,
+	417,
+	 -1,
+	134,
+	 -1,
+	 -1,
+	 -1,
+	 49,
+	 -1,
+	 -1,
+	 72,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	153,
+	 -1,
+	396,
+	 -1,
+	144,
+	169,
+	 -1,
+	 -1,
+	200,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	482,
+	365,
+	461,
+	442,
+	421,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	197,
+	432,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	446,
+	441,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 18,
+	 -1,
+	 -1,
+	 -1,
+	298,
+	490,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 26,
+	 -1,
+	 -1,
+	351,
+	 -1,
+	 -1,
+	 -1,
+	323,
+	278,
+	 -1,
+	369,
+	 33,
+	377,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	302,
+	491,
+	 -1,
+	129,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	216,
+	473,
+	 27,
+	 91,
+	107,
+	 -1,
+	 -1,
+	327,
+	282,
+	 -1,
+	268,
+	 -1,
+	381,
+	469,
+	368,
+	174,
+	 -1,
+	258,
+	198,
+	 -1,
+	206,
+	180,
+	 -1,
+	 -1,
+	176,
+	 -1,
+	306,
+	488,
+	 -1,
+	150,
+	 -1,
+	 -1,
+	 -1,
+	438,
+	475,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	228,
+	 -1,
+	331,
+	 -1,
+	 -1,
+	 -1,
+	286,
+	485,
+	252,
+	 -1,
+	 -1,
+	209,
+	262,
+	 41,
+	 -1,
+	466,
+	 -1,
+	 -1,
+	 -1,
+	448,
+	 -1,
+	310,
+	410,
+	 -1,
+	130,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 25,
+	 -1,
+	 -1,
+	 -1,
+	 50,
+	232,
+	 -1,
+	335,
+	 -1,
+	 -1,
+	 -1,
+	290,
+	389,
+	256,
+	136,
+	185,
+	213,
+	266,
+	 -1,
+	 -1,
+	 -1,
+	192,
+	435,
+	 -1,
+	452,
+	458,
+	314,
+	414,
+	 -1,
+	152,
+	 -1,
+	 -1,
+	 -1,
+	474,
+	 -1,
+	 -1,
+	215,
+	 81,
+	  5,
+	236,
+	 -1,
+	 82,
+	 -1,
+	 -1,
+	479,
+	294,
+	393,
+	 -1,
+	141,
+	190,
+	 -1,
+	 -1,
+	105,
+	 -1,
+	 -1,
+	 -1,
+	477,
+	 20,
+	362,
+	 -1,
+	318,
+	418,
+	 -1,
+	156,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 95,
+	467,
+	 73,
+	 93,
+	220,
+	219,
+	 -1,
+	  9,
+	119,
+	 -1,
+	159,
+	 -1,
+	397,
+	468,
+	145,
+	188,
+	 -1,
+	465,
+	 -1,
+	205,
+	106,
+	 90,
+	 44,
+	  3,
+	366,
+	 -1,
+	443,
+	422,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	  0,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	295,
+	 -1,
+	173,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	355,
+	 -1,
+	222,
+	221,
+	 -1,
+	 -1,
+	275,
+	356,
+	 -1,
+	 30,
+	374,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	225,
+	 -1,
+	 -1,
+	299,
+	 -1,
+	 -1,
+	148,
+	 -1,
+	 -1,
+	181,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	462,
+	 -1,
+	 -1,
+	 -1,
+	324,
+	279,
+	 -1,
+	 -1,
+	 34,
+	378,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	350,
+	 -1,
+	303,
+	403,
+	 -1,
+	133,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 77,
+	 -1,
+	182,
+	 -1,
+	 -1,
+	328,
+	283,
+	 -1,
+	269,
+	463,
+	382,
+	249,
+	 -1,
+	 -1,
+	 -1,
+	259,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 85,
+	 -1,
+	456,
+	307,
+	407,
+	 -1,
+	147,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 78,
+	 -1,
+	 -1,
+	354,
+	 -1,
+	332,
+	 -1,
+	 -1,
+	146,
+	287,
+	483,
+	0	/* base-of-table */
+};
+
+#if (BOOLCOUNT!=44)||(NUMCOUNT!=39)||(STRCOUNT!=414)
+#error	--> term.h and comp_captab.c disagree about the <--
+#error	--> numbers of booleans, numbers and/or strings <--
+#endif
+
+/* generated by MKcaptab.awk capalias(1) */
+
+static struct alias *_nc_capalias_table = 0;
+
+static const char capalias_text[] = "\
+sb\0sr\0BSD\0\
+BO\0mr\0AT&T\0\
+CI\0vi\0AT&T\0\
+CV\0ve\0AT&T\0\
+DS\0mh\0AT&T\0\
+FE\0LF\0AT&T\0\
+FL\0LO\0AT&T\0\
+XS\0mk\0AT&T\0\
+EE\0mh\0XENIX\0\
+GE\0ae\0XENIX\0\
+GS\0as\0XENIX\0\
+CF\0vi\0XENIX\0\
+CO\0ve\0XENIX\0\
+EN\0@7\0XENIX\0\
+HM\0kh\0XENIX\0\
+LD\0kL\0XENIX\0\
+PD\0kN\0XENIX\0\
+PN\0po\0XENIX\0\
+PS\0pf\0XENIX\0\
+PU\0kP\0XENIX\0\
+RT\0@8\0XENIX\0\
+UP\0ku\0XENIX\0\
+G6\0XENIX\0\
+G7\0XENIX\0\
+G5\0XENIX\0\
+G8\0XENIX\0\
+Gr\0XENIX\0\
+Gr\0XENIX\0\
+Gu\0XENIX\0\
+Gd\0XENIX\0\
+Gh\0XENIX\0\
+Gv\0XENIX\0\
+Gc\0XENIX\0\
+GG\0XENIX\0\
+kq\0%1\0IBM\0\
+HS\0mh\0IRIS\0\
+KA\0k;\0Tek\0\
+KB\0F1\0Tek\0\
+KC\0F2\0Tek\0\
+KD\0F3\0Tek\0\
+KE\0F4\0Tek\0\
+KF\0F5\0Tek\0\
+BC\0Sb\0Tek\0\
+FC\0Sf\0Tek\0\
+";
+
+static const alias_table_data capalias_data[] = {
+	{    0,     3,     6},	 /* scroll */
+	{   10,    13,    16},	 /* enter_reverse_mode */
+	{   21,    24,    27},	 /* cursor_invisible */
+	{   32,    35,    38},	 /* cursor_normal */
+	{   43,    46,    49},	 /* enter_dim_mode */
+	{   54,    57,    60},	 /* label_on */
+	{   65,    68,    71},	 /* label_off */
+	{   76,    79,    82},	 /* enter_secure_mode */
+	{   87,    90,    93},	 /* exit_attribute_mode */
+	{   99,   102,   105},	 /* exit_alt_charset_mode */
+	{  111,   114,   117},	 /* enter_alt_charset_mode */
+	{  123,   126,   129},	 /* cursor_invis */
+	{  135,   138,   141},	 /* cursor_normal */
+	{  147,   150,   153},	 /* key_end */
+	{  159,   162,   165},	 /* key_home */
+	{  171,   174,   177},	 /* key_dl */
+	{  183,   186,   189},	 /* key_npage */
+	{  195,   198,   201},	 /* prtr_off */
+	{  207,   210,   213},	 /* prtr_on */
+	{  219,   222,   225},	 /* key_ppage */
+	{  231,   234,   237},	 /* kent */
+	{  243,   246,   249},	 /* kcuu1 */
+	{  255,    -1,   258},	 /* double-ACS_ULCORNER */
+	{  264,    -1,   267},	 /* double-ACS_LLCORNER */
+	{  273,    -1,   276},	 /* double-ACS_URCORNER */
+	{  282,    -1,   285},	 /* double-ACS_LRCORNER */
+	{  291,    -1,   294},	 /* double-ACS_LTEE */
+	{  300,    -1,   303},	 /* double-ACS_RTEE */
+	{  309,    -1,   312},	 /* double-ACS_BTEE */
+	{  318,    -1,   321},	 /* double */
+	{  327,    -1,   330},	 /* double-ACS_HLINE */
+	{  336,    -1,   339},	 /* double-ACS_VLINE */
+	{  345,    -1,   348},	 /* double-ACS_PLUS */
+	{  354,    -1,   357},	 /* acs-glitch */
+	{  363,   366,   369},	 /* key_help */
+	{  373,   376,   379},	 /* enter_dim_mode */
+	{  384,   387,   390},	 /* key_f10 */
+	{  394,   397,   400},	 /* key_f11 */
+	{  404,   407,   410},	 /* key_f12 */
+	{  414,   417,   420},	 /* key_f13 */
+	{  424,   427,   430},	 /* key_f14 */
+	{  434,   437,   440},	 /* key_f15 */
+	{  444,   447,   450},	 /* set_background */
+	{  454,   457,   460},	 /* set_foreground */
+};
+
+/* generated by MKcaptab.awk infoalias(1) */
+
+static struct alias *_nc_infoalias_table = 0;
+
+static const char infoalias_text[] = "\
+font0\0s0ds\0IBM\0\
+font1\0s1ds\0IBM\0\
+font2\0s2ds\0IBM\0\
+font3\0s3ds\0IBM\0\
+kbtab\0kcbt\0IBM\0\
+ksel\0kslt\0IBM\0\
+";
+
+static const alias_table_data infoalias_data[] = {
+	{    0,     6,    11},	 /* set0_des_seq */
+	{   15,    21,    26},	 /* set1_des_seq */
+	{   30,    36,    41},	 /* set2_des_seq */
+	{   45,    51,    56},	 /* set3_des_seq */
+	{   60,    66,    71},	 /* key_backtab */
+	{   75,    80,    85},	 /* key_select */
+};
+
+/* *INDENT-ON* */
+
+#if 1
+static void
+next_string(const char *strings, unsigned *offset)
+{
+    *offset += (unsigned) strlen(strings + *offset) + 1;
+}
+
+static const struct name_table_entry *
+_nc_build_names(struct name_table_entry **actual,
+		const name_table_data * source,
+		const char *strings)
+{
+    if (*actual == 0) {
+	*actual = typeCalloc(struct name_table_entry, CAPTABSIZE);
+	if (*actual != 0) {
+	    unsigned n;
+	    unsigned len = 0;
+	    for (n = 0; n < CAPTABSIZE; ++n) {
+		(*actual)[n].nte_name = strings + len;
+		(*actual)[n].nte_type = source[n].nte_type;
+		(*actual)[n].nte_index = source[n].nte_index;
+		(*actual)[n].nte_link = source[n].nte_link;
+		next_string(strings, &len);
+	    }
+	}
+    }
+    return *actual;
+}
+
+#define add_alias(field) \
+	if (source[n].field >= 0) { \
+		(*actual)[n].field = strings + source[n].field; \
+	}
+
+static const struct alias *
+_nc_build_alias(struct alias **actual,
+		const alias_table_data * source,
+		const char *strings,
+		size_t tablesize)
+{
+    if (*actual == 0) {
+	*actual = typeCalloc(struct alias, tablesize + 1);
+	if (*actual != 0) {
+	    size_t n;
+	    for (n = 0; n < tablesize; ++n) {
+		add_alias(from);
+		add_alias(to);
+		add_alias(source);
+	    }
+	}
+    }
+    return *actual;
+}
+
+#define build_names(root) _nc_build_names(&_nc_##root##_table, \
+					  root##_names_data, \
+					  root##_names_text)
+#define build_alias(root) _nc_build_alias(&_nc_##root##alias_table, \
+					  root##alias_data, \
+					  root##alias_text, \
+					  SIZEOF(root##alias_data))
+#else
+#define build_names(root) _nc_ ## root ## _table
+#define build_alias(root) _nc_ ## root ## alias_table
+#endif
+
+NCURSES_EXPORT(const struct name_table_entry *)
+_nc_get_table(bool termcap)
+{
+    return termcap ? build_names(cap) : build_names(info);
+}
+
+NCURSES_EXPORT(const HashValue *)
+_nc_get_hash_table(bool termcap)
+{
+    return termcap ? _nc_cap_hash_table : _nc_info_hash_table;
+}
+
+NCURSES_EXPORT(const struct alias *)
+_nc_get_alias_table(bool termcap)
+{
+    return termcap ? build_alias(cap) : build_alias(info);
+}
+
+static HashValue
+info_hash(const char *string)
+{
+    long sum = 0;
+
+    DEBUG(9, ("hashing %s", string));
+    while (*string) {
+	sum += (long) (UChar(*string) + (UChar(*(string + 1)) << 8));
+	string++;
+    }
+
+    DEBUG(9, ("sum is %ld", sum));
+    return (HashValue) (sum % HASHTABSIZE);
+}
+
+#define TCAP_LEN 2		/* only 1- or 2-character names are used */
+
+static HashValue
+tcap_hash(const char *string)
+{
+    char temp[TCAP_LEN + 1];
+    int limit = 0;
+
+    while (*string) {
+	temp[limit++] = *string++;
+	if (limit >= TCAP_LEN)
+	    break;
+    }
+    temp[limit] = '\0';
+    return info_hash(temp);
+}
+
+static int
+compare_tcap_names(const char *a, const char *b)
+{
+    return !strncmp(a, b, (size_t) TCAP_LEN);
+}
+
+static int
+compare_info_names(const char *a, const char *b)
+{
+    return !strcmp(a, b);
+}
+
+static const HashData hash_data[2] =
+{
+    {HASHTABSIZE, _nc_info_hash_table, info_hash, compare_info_names},
+    {HASHTABSIZE, _nc_cap_hash_table, tcap_hash, compare_tcap_names}
+};
+
+NCURSES_EXPORT(const HashData *)
+_nc_get_hash_info(bool termcap)
+{
+    return &hash_data[(termcap != FALSE)];
+}
+
+#if NO_LEAKS
+NCURSES_EXPORT(void)
+_nc_comp_captab_leaks(void)
+{
+#if 1
+    FreeIfNeeded(_nc_cap_table);
+    FreeIfNeeded(_nc_info_table);
+    FreeIfNeeded(_nc_capalias_table);
+    FreeIfNeeded(_nc_infoalias_table);
+#endif
+}
+#endif /* NO_LEAKS */
diff --git a/ncurses/comp_userdefs.c b/ncurses/comp_userdefs.c
new file mode 100644
index 0000000..99ec163
--- /dev/null
+++ b/ncurses/comp_userdefs.c
@@ -0,0 +1,1240 @@
+/*
+ * generated by ./tinfo/MKuserdefs.sh
+ */
+
+/*
+ *    comp_userdefs.c -- The names of widely used user-defined capabilities
+ *                       indexed via a hash table for the compiler.
+ *
+ */
+
+#include <curses.priv.h>
+#include <tic.h>
+#include <hashsize.h>
+
+#if NCURSES_XNAMES
+/* 11 collisions out of 113 entries */
+static const char user_names_text[] = \
+"CO\0" "E3\0" "NQ\0" "RGB\0" "TS\0" "U8\0" "XM\0" "grbom\0" "gsbom\0" \
+"xm\0" "Rmol\0" "Smol\0" "blink2\0" "norm\0" "opaq\0" "setal\0" \
+"smul2\0" "AN\0" "AX\0" "C0\0" "C8\0" "CE\0" "CS\0" "E0\0" "G0\0" \
+"KJ\0" "OL\0" "S0\0" "TF\0" "WS\0" "XC\0" "XT\0" "Z0\0" "Z1\0" "Cr\0" \
+"Cs\0" "Csr\0" "Ms\0" "Se\0" "Smulx\0" "Ss\0" "rmxx\0" "smxx\0" "BD\0" \
+"BE\0" "PE\0" "PS\0" "RV\0" "XR\0" "XF\0" "fd\0" "fe\0" "rv\0" "xr\0" \
+"csl\0" "kDC3\0" "kDC4\0" "kDC5\0" "kDC6\0" "kDC7\0" "kDN\0" "kDN3\0" \
+"kDN4\0" "kDN5\0" "kDN6\0" "kDN7\0" "kEND3\0" "kEND4\0" "kEND5\0" \
+"kEND6\0" "kEND7\0" "kHOM3\0" "kHOM4\0" "kHOM5\0" "kHOM6\0" "kHOM7\0" \
+"kIC3\0" "kIC4\0" "kIC5\0" "kIC6\0" "kIC7\0" "kLFT3\0" "kLFT4\0" \
+"kLFT5\0" "kLFT6\0" "kLFT7\0" "kNXT3\0" "kNXT4\0" "kNXT5\0" "kNXT6\0" \
+"kNXT7\0" "kPRV3\0" "kPRV4\0" "kPRV5\0" "kPRV6\0" "kPRV7\0" "kRIT3\0" \
+"kRIT4\0" "kRIT5\0" "kRIT6\0" "kRIT7\0" "kUP\0" "kUP3\0" "kUP4\0" \
+"kUP5\0" "kUP6\0" "kUP7\0" "ka2\0" "kb1\0" "kb3\0" "kc2\0" "kxIN\0" \
+"kxOUT\0" ;
+
+static user_table_data const user_names_data[] =
+{
+	{               0,	(1<<NUMBER),	0,0,	  0,  -1 },
+	{               3,	(1<<STRING),	0,0,	  0,  -1 },
+	{               6,	(1<<BOOLEAN),	0,0,	  0,  -1 },
+	{               9,	(1<<BOOLEAN|1<<NUMBER|1<<STRING),	0,0,	  1,  -1 },
+	{              13,	(1<<STRING),	0,0,	  2,  -1 },
+	{              16,	(1<<NUMBER),	0,0,	  2,  -1 },
+	{              19,	(1<<STRING),	1,0,	  3,  -1 },
+	{              22,	(1<<STRING),	0,0,	  4,  -1 },
+	{              28,	(1<<STRING),	0,0,	  5,  -1 },
+	{              34,	(1<<STRING),	8,8,	 14,  -1 },
+	{              37,	(1<<STRING),	0,0,	 15,  -1 },
+	{              42,	(1<<STRING),	0,0,	 16,  -1 },
+	{              47,	(1<<STRING),	0,0,	 17,  -1 },
+	{              54,	(1<<STRING),	0,0,	 18,  -1 },
+	{              59,	(1<<STRING),	0,0,	 19,  -1 },
+	{              64,	(1<<STRING),	1,0,	 20,  -1 },
+	{              70,	(1<<STRING),	0,0,	 21,  -1 },
+	{              76,	(1<<BOOLEAN),	0,0,	  2,  -1 },
+	{              79,	(1<<BOOLEAN),	0,0,	  3,  -1 },
+	{              82,	(1<<STRING),	0,0,	 22,  -1 },
+	{              85,	(1<<BOOLEAN),	0,0,	  4,  -1 },
+	{              88,	(1<<STRING),	0,0,	 23,  -1 },
+	{              91,	(1<<STRING),	0,0,	 24,  -1 },
+	{              94,	(1<<STRING),	0,0,	 25,  -1 },
+	{              97,	(1<<BOOLEAN),	0,0,	  5,  -1 },
+	{             100,	(1<<STRING),	1,1,	 26,  -1 },
+	{             103,	(1<<NUMBER),	0,0,	  3,  -1 },
+	{             106,	(1<<STRING),	1,1,	 27,  -1 },
+	{             109,	(1<<BOOLEAN),	0,0,	  6,  -1 },
+	{             112,	(1<<STRING),	2,0,	 28,  -1 },
+	{             115,	(1<<STRING),	1,1,	 29,  -1 },
+	{             118,	(1<<BOOLEAN),	0,0,	  7,  -1 },
+	{             121,	(1<<STRING),	0,0,	 30,  -1 },
+	{             124,	(1<<STRING),	0,0,	 31,  -1 },
+	{             127,	(1<<STRING),	0,0,	 32,  -1 },
+	{             130,	(1<<STRING),	1,1,	 33,  -1 },
+	{             133,	(1<<STRING),	1,0,	 34,  -1 },
+	{             137,	(1<<STRING),	2,3,	 35,  -1 },
+	{             140,	(1<<STRING),	0,0,	 36,  -1 },
+	{             143,	(1<<STRING),	1,0,	 37,  -1 },
+	{             149,	(1<<STRING),	1,0,	 38,  -1 },
+	{             152,	(1<<STRING),	0,0,	 39,  -1 },
+	{             157,	(1<<STRING),	0,0,	 40,  -1 },
+	{             162,	(1<<STRING),	0,0,	 41,  -1 },
+	{             165,	(1<<STRING),	0,0,	 42,  -1 },
+	{             168,	(1<<STRING),	0,0,	 43,  -1 },
+	{             171,	(1<<STRING),	0,0,	 44,  -1 },
+	{             174,	(1<<STRING),	0,0,	 45,  -1 },
+	{             177,	(1<<STRING),	0,0,	 46,  -1 },
+	{             180,	(1<<BOOLEAN),	0,0,	  8,  -1 },
+	{             183,	(1<<STRING),	0,0,	 47,  -1 },
+	{             186,	(1<<STRING),	0,0,	 48,  -1 },
+	{             189,	(1<<STRING),	0,0,	 49,  -1 },
+	{             192,	(1<<STRING),	0,0,	 50,  -1 },
+	{             195,	(1<<STRING),	0,0,	 51,  -1 },
+	{             199,	(1<<STRING),	0,0,	 52,  -1 },
+	{             204,	(1<<STRING),	0,0,	 53,  -1 },
+	{             209,	(1<<STRING),	0,0,	 54,  -1 },
+	{             214,	(1<<STRING),	0,0,	 55,  -1 },
+	{             219,	(1<<STRING),	0,0,	 56,  17 },
+	{             224,	(1<<STRING),	0,0,	 57,  -1 },
+	{             228,	(1<<STRING),	0,0,	 58,  -1 },
+	{             233,	(1<<STRING),	0,0,	 59,  -1 },
+	{             238,	(1<<STRING),	0,0,	 60,  -1 },
+	{             243,	(1<<STRING),	0,0,	 61,  18 },
+	{             248,	(1<<STRING),	0,0,	 62,  -1 },
+	{             253,	(1<<STRING),	0,0,	 63,  -1 },
+	{             259,	(1<<STRING),	0,0,	 64,  -1 },
+	{             265,	(1<<STRING),	0,0,	 65,  16 },
+	{             271,	(1<<STRING),	0,0,	 66,  -1 },
+	{             277,	(1<<STRING),	0,0,	 67,  -1 },
+	{             283,	(1<<STRING),	0,0,	 68,  -1 },
+	{             289,	(1<<STRING),	0,0,	 69,  -1 },
+	{             295,	(1<<STRING),	0,0,	 70,  -1 },
+	{             301,	(1<<STRING),	0,0,	 71,  -1 },
+	{             307,	(1<<STRING),	0,0,	 72,  -1 },
+	{             313,	(1<<STRING),	0,0,	 73,  -1 },
+	{             318,	(1<<STRING),	0,0,	 74,  -1 },
+	{             323,	(1<<STRING),	0,0,	 75,  -1 },
+	{             328,	(1<<STRING),	0,0,	 76,  -1 },
+	{             333,	(1<<STRING),	0,0,	 77,  -1 },
+	{             338,	(1<<STRING),	0,0,	 78,  73 },
+	{             344,	(1<<STRING),	0,0,	 79,  74 },
+	{             350,	(1<<STRING),	0,0,	 80,  75 },
+	{             356,	(1<<STRING),	0,0,	 81,  -1 },
+	{             362,	(1<<STRING),	0,0,	 82,  -1 },
+	{             368,	(1<<STRING),	0,0,	 83,  -1 },
+	{             374,	(1<<STRING),	0,0,	 84,  -1 },
+	{             380,	(1<<STRING),	0,0,	 85,  -1 },
+	{             386,	(1<<STRING),	0,0,	 86,  -1 },
+	{             392,	(1<<STRING),	0,0,	 87,  -1 },
+	{             398,	(1<<STRING),	0,0,	 88,  -1 },
+	{             404,	(1<<STRING),	0,0,	 89,  -1 },
+	{             410,	(1<<STRING),	0,0,	 90,  86 },
+	{             416,	(1<<STRING),	0,0,	 91,  87 },
+	{             422,	(1<<STRING),	0,0,	 92,  88 },
+	{             428,	(1<<STRING),	0,0,	 93,  -1 },
+	{             434,	(1<<STRING),	0,0,	 94,  -1 },
+	{             440,	(1<<STRING),	0,0,	 95,  -1 },
+	{             446,	(1<<STRING),	0,0,	 96,  -1 },
+	{             452,	(1<<STRING),	0,0,	 97,  -1 },
+	{             458,	(1<<STRING),	0,0,	 98,  -1 },
+	{             462,	(1<<STRING),	0,0,	 99,  -1 },
+	{             467,	(1<<STRING),	0,0,	100,  -1 },
+	{             472,	(1<<STRING),	0,0,	101,  -1 },
+	{             477,	(1<<STRING),	0,0,	102,  -1 },
+	{             482,	(1<<STRING),	0,0,	103,  -1 },
+	{             487,	(1<<STRING),	0,0,	104,  -1 },
+	{             491,	(1<<STRING),	0,0,	105, 107 },
+	{             495,	(1<<STRING),	0,0,	106,  -1 },
+	{             499,	(1<<STRING),	0,0,	107, 109 },
+	{             503,	(1<<STRING),	0,0,	108,  -1 },
+	{             508,	(1<<STRING),	0,0,	109,  -1 } 
+};
+
+static struct user_table_entry *_nc_user_table = 0;
+
+static const HashValue _nc_user_hash_table[995] =
+{
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 78,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 82,
+	 -1,
+	  2,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 61,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	  8,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 65,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 96,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	108,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	100,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 67,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	111,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 28,
+	 -1,
+	 -1,
+	 -1,
+	 49,
+	 -1,
+	 -1,
+	 94,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 38,
+	 55,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 12,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 25,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	103,
+	 -1,
+	 -1,
+	 51,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 15,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 59,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 71,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	112,
+	  1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 79,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 36,
+	 -1,
+	 83,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 48,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 62,
+	 -1,
+	  9,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 47,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 97,
+	 -1,
+	 -1,
+	 41,
+	 42,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 14,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 68,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 30,
+	 -1,
+	 -1,
+	 91,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 95,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 56,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 39,
+	 13,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	104,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 19,
+	 -1,
+	 23,
+	 -1,
+	 24,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 76,
+	 -1,
+	  0,
+	 27,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 32,
+	 72,
+	 -1,
+	  3,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 80,
+	 -1,
+	 22,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 84,
+	 -1,
+	 -1,
+	 -1,
+	 46,
+	 -1,
+	 34,
+	 -1,
+	  4,
+	 -1,
+	 20,
+	 29,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 63,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	  5,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 53,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 98,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 52,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	110,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 43,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 69,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 92,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 89,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 57,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 26,
+	105,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 77,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 54,
+	 -1,
+	 -1,
+	 33,
+	 81,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	101,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 85,
+	 -1,
+	 -1,
+	  7,
+	 -1,
+	 -1,
+	 35,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 31,
+	 -1,
+	 -1,
+	 -1,
+	 37,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 40,
+	 64,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 60,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 99,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 66,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 10,
+	 11,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 44,
+	 21,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 70,
+	 -1,
+	 -1,
+	 -1,
+	 45,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 93,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	102,
+	 -1,
+	 -1,
+	 50,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 90,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 58,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	106,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	 -1,
+	  6,
+	 -1,
+	 -1,
+	0	/* base-of-table */
+};
+
+
+#define USERTABSIZE SIZEOF(user_names_data)
+
+#if 1
+static void
+next_string(const char *strings, unsigned *offset)
+{
+    *offset += (unsigned) strlen(strings + *offset) + 1;
+}
+
+static const struct user_table_entry *
+_nc_build_names(struct user_table_entry **actual,
+		const user_table_data *source,
+		const char *strings)
+{
+    if (*actual == 0) {
+	*actual = typeCalloc(struct user_table_entry, USERTABSIZE);
+	if (*actual != 0) {
+	    unsigned n;
+	    unsigned len = 0;
+	    for (n = 0; n < USERTABSIZE; ++n) {
+		(*actual)[n].ute_name = strings + len;
+		(*actual)[n].ute_type = (int) source[n].ute_type;
+		(*actual)[n].ute_argc = source[n].ute_argc;
+		(*actual)[n].ute_args = source[n].ute_args;
+		(*actual)[n].ute_index = source[n].ute_index;
+		(*actual)[n].ute_link = source[n].ute_link;
+		next_string(strings, &len);
+	    }
+	}
+    }
+    return *actual;
+}
+
+#define build_names(root) _nc_build_names(&_nc_##root##_table, \
+					  root##_names_data, \
+					  root##_names_text)
+#else
+#define build_names(root) _nc_ ## root ## _table
+#endif
+
+NCURSES_EXPORT(const struct user_table_entry *) _nc_get_userdefs_table (void)
+{
+    return build_names(user) ;
+}
+
+static HashValue
+info_hash(const char *string)
+{
+    long sum = 0;
+
+    DEBUG(9, ("hashing %s", string));
+    while (*string) {
+	sum += (long) (*string + (*(string + 1) << 8));
+	string++;
+    }
+
+    DEBUG(9, ("sum is %ld", sum));
+    return (HashValue) (sum % HASHTABSIZE);
+}
+
+static int
+compare_info_names(const char *a, const char *b)
+{
+    return !strcmp(a, b);
+}
+
+static const HashData hash_data[] = {
+    { HASHTABSIZE, _nc_user_hash_table, info_hash, compare_info_names }
+};
+
+NCURSES_EXPORT(const HashData *) _nc_get_hash_user (void)
+{
+    return hash_data;
+}
+
+#if NO_LEAKS
+NCURSES_EXPORT(void) _nc_comp_userdefs_leaks(void)
+{
+#if 1
+    FreeIfNeeded(_nc_user_table);
+#endif
+}
+#endif /* NO_LEAKS */
+
+#else /*! NCURSES_XNAMES */
+NCURSES_EXPORT(void) _nc_comp_userdefs(void);
+NCURSES_EXPORT(void) _nc_comp_userdefs(void) { }
+#endif /* NCURSES_XNAMES */
diff --git a/ncurses/expanded.c b/ncurses/expanded.c
new file mode 100644
index 0000000..03e0cfd
--- /dev/null
+++ b/ncurses/expanded.c
@@ -0,0 +1,61 @@
+/* generated by MKexpanded.sh */
+#define NEED_NCURSES_CH_T 1
+#include <curses.priv.h>
+
+#ifndef CUR
+#define CUR SP_TERMTYPE
+#endif
+
+#if NCURSES_EXPANDED
+__attribute__((visibility ("default"))) void
+_nc_toggle_attr_on (attr_t *S, attr_t at)
+{
+ { if (((int)((((unsigned long)(at) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8))) > 0) { (*S) = ((*S) & ALL_BUT_COLOR) | (attr_t) (at); } else { (*S) |= (attr_t) (at); } ;};
+}
+
+__attribute__((visibility ("default"))) void
+_nc_toggle_attr_off (attr_t *S, attr_t at)
+{
+ { if (((int)((((unsigned long)(at) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8))) > 0) { (*S) &= ~(at|((chtype)((((1U) << 8) - 1U)) << ((0) + 8))); } else { (*S) &= ~(at); } ;};
+}
+
+__attribute__((visibility ("default"))) int
+_nc_DelCharCost_sp (SCREEN *sp, int count)
+{
+ return (((cur_term)->type2. Strings[105] != 0) ? sp->_dch_cost : (((cur_term)->type2. Strings[21] != 0) ? (sp->_dch1_cost * count) : 1000000));
+}
+
+__attribute__((visibility ("default"))) int
+_nc_InsCharCost_sp (SCREEN *sp, int count)
+{
+ return (((cur_term)->type2. Strings[108] != 0) ? sp->_ich_cost : (((cur_term)->type2. Strings[31] && (cur_term)->type2. Strings[42]) ? sp->_smir_cost + sp->_rmir_cost + (sp->_ip_cost * count) : (((cur_term)->type2. Strings[52] != 0) ? ((sp->_ich1_cost + sp->_ip_cost) * count) : 1000000)));
+}
+
+__attribute__((visibility ("default"))) void
+_nc_UpdateAttrs_sp (SCREEN *sp, const cchar_t * c)
+{
+ if (!((((*((sp)->_current_attr))).attr) == (((*(c))).attr) && ((((*((sp)->_current_attr))).ext_color) ? (((*((sp)->_current_attr))).ext_color) : ((int)((((unsigned long)((((*((sp)->_current_attr))).attr)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8)))) == ((((*(c))).ext_color) ? (((*(c))).ext_color) : ((int)((((unsigned long)((((*(c))).attr)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8)))))) { do { int vid_pair = ((((*(c))).ext_color) ? (((*(c))).ext_color) : ((int)((((unsigned long)((((*(c))).attr)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8)))); vid_puts_sp( sp, (((*(c))).attr), (short) ((((*(c))).ext_color) ? (((*(c))).ext_color) : ((int)((((unsigned long)((((*(c))).attr)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8)))), &vid_pair, _nc_outch_sp); } while (0); };
+}
+
+#if NCURSES_SP_FUNCS
+__attribute__((visibility ("default"))) int
+_nc_DelCharCost (int count)
+{
+ return _nc_DelCharCost_sp (SP, count);
+}
+
+__attribute__((visibility ("default"))) int
+_nc_InsCharCost (int count)
+{
+ return _nc_InsCharCost_sp(SP, count);
+}
+
+__attribute__((visibility ("default"))) void
+_nc_UpdateAttrs (const cchar_t * c)
+{
+ _nc_UpdateAttrs_sp(SP,c);
+}
+#endif
+#else /* ! NCURSES_EXPANDED */
+NCURSES_EXPORT(void) _nc_expanded (void) { }
+#endif /* NCURSES_EXPANDED */
diff --git a/ncurses/fallback.c b/ncurses/fallback.c
new file mode 100644
index 0000000..ea7194b
--- /dev/null
+++ b/ncurses/fallback.c
@@ -0,0 +1,31 @@
+/* This file was generated by ./tinfo/MKfallback.sh */
+
+/*
+ * DO NOT EDIT THIS FILE BY HAND!
+ */
+
+#include <curses.priv.h>
+
+NCURSES_EXPORT(const TERMTYPE2 *)
+_nc_fallback2 (const char *name GCC_UNUSED)
+{
+	/* the fallback list is empty */
+    return((const TERMTYPE2 *)0);
+}
+
+#if NCURSES_EXT_NUMBERS
+#undef _nc_fallback
+
+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/ncurses/init_keytry.h b/ncurses/init_keytry.h
new file mode 100644
index 0000000..413b931
--- /dev/null
+++ b/ncurses/init_keytry.h
@@ -0,0 +1,164 @@
+#ifndef _INIT_KEYTRY_H
+#define _INIT_KEYTRY_H 1
+
+/* This file was generated by MAKE_KEYS */
+
+#include <tic.h>
+
+#if BROKEN_LINKER
+static
+#endif
+const struct tinfo_fkeys _nc_tinfo_fkeys[] = {
+	{  139, KEY_A1           },	/* key_a1 */
+	{  140, KEY_A3           },	/* key_a3 */
+	{  141, KEY_B2           },	/* key_b2 */
+	{   55, KEY_BACKSPACE    },	/* key_backspace */
+	{  158, KEY_BEG          },	/* key_beg */
+	{  148, KEY_BTAB         },	/* key_btab */
+	{  142, KEY_C1           },	/* key_c1 */
+	{  143, KEY_C3           },	/* key_c3 */
+	{  159, KEY_CANCEL       },	/* key_cancel */
+	{   56, KEY_CATAB        },	/* key_catab */
+	{   57, KEY_CLEAR        },	/* key_clear */
+	{  160, KEY_CLOSE        },	/* key_close */
+	{  161, KEY_COMMAND      },	/* key_command */
+	{  162, KEY_COPY         },	/* key_copy */
+	{  163, KEY_CREATE       },	/* key_create */
+	{   58, KEY_CTAB         },	/* key_ctab */
+	{   59, KEY_DC           },	/* key_dc */
+	{   60, KEY_DL           },	/* key_dl */
+	{   61, KEY_DOWN         },	/* key_down */
+	{   62, KEY_EIC          },	/* key_eic */
+	{  164, KEY_END          },	/* key_end */
+	{  165, KEY_ENTER        },	/* key_enter */
+	{   63, KEY_EOL          },	/* key_eol */
+	{   64, KEY_EOS          },	/* key_eos */
+	{  166, KEY_EXIT         },	/* key_exit */
+	{   65, KEY_F(0)         },	/* key_f0 */
+	{   66, KEY_F(1)         },	/* key_f1 */
+	{   67, KEY_F(10)        },	/* key_f10 */
+	{  216, KEY_F(11)        },	/* key_f11 */
+	{  217, KEY_F(12)        },	/* key_f12 */
+	{  218, KEY_F(13)        },	/* key_f13 */
+	{  219, KEY_F(14)        },	/* key_f14 */
+	{  220, KEY_F(15)        },	/* key_f15 */
+	{  221, KEY_F(16)        },	/* key_f16 */
+	{  222, KEY_F(17)        },	/* key_f17 */
+	{  223, KEY_F(18)        },	/* key_f18 */
+	{  224, KEY_F(19)        },	/* key_f19 */
+	{   68, KEY_F(2)         },	/* key_f2 */
+	{  225, KEY_F(20)        },	/* key_f20 */
+	{  226, KEY_F(21)        },	/* key_f21 */
+	{  227, KEY_F(22)        },	/* key_f22 */
+	{  228, KEY_F(23)        },	/* key_f23 */
+	{  229, KEY_F(24)        },	/* key_f24 */
+	{  230, KEY_F(25)        },	/* key_f25 */
+	{  231, KEY_F(26)        },	/* key_f26 */
+	{  232, KEY_F(27)        },	/* key_f27 */
+	{  233, KEY_F(28)        },	/* key_f28 */
+	{  234, KEY_F(29)        },	/* key_f29 */
+	{   69, KEY_F(3)         },	/* key_f3 */
+	{  235, KEY_F(30)        },	/* key_f30 */
+	{  236, KEY_F(31)        },	/* key_f31 */
+	{  237, KEY_F(32)        },	/* key_f32 */
+	{  238, KEY_F(33)        },	/* key_f33 */
+	{  239, KEY_F(34)        },	/* key_f34 */
+	{  240, KEY_F(35)        },	/* key_f35 */
+	{  241, KEY_F(36)        },	/* key_f36 */
+	{  242, KEY_F(37)        },	/* key_f37 */
+	{  243, KEY_F(38)        },	/* key_f38 */
+	{  244, KEY_F(39)        },	/* key_f39 */
+	{   70, KEY_F(4)         },	/* key_f4 */
+	{  245, KEY_F(40)        },	/* key_f40 */
+	{  246, KEY_F(41)        },	/* key_f41 */
+	{  247, KEY_F(42)        },	/* key_f42 */
+	{  248, KEY_F(43)        },	/* key_f43 */
+	{  249, KEY_F(44)        },	/* key_f44 */
+	{  250, KEY_F(45)        },	/* key_f45 */
+	{  251, KEY_F(46)        },	/* key_f46 */
+	{  252, KEY_F(47)        },	/* key_f47 */
+	{  253, KEY_F(48)        },	/* key_f48 */
+	{  254, KEY_F(49)        },	/* key_f49 */
+	{   71, KEY_F(5)         },	/* key_f5 */
+	{  255, KEY_F(50)        },	/* key_f50 */
+	{  256, KEY_F(51)        },	/* key_f51 */
+	{  257, KEY_F(52)        },	/* key_f52 */
+	{  258, KEY_F(53)        },	/* key_f53 */
+	{  259, KEY_F(54)        },	/* key_f54 */
+	{  260, KEY_F(55)        },	/* key_f55 */
+	{  261, KEY_F(56)        },	/* key_f56 */
+	{  262, KEY_F(57)        },	/* key_f57 */
+	{  263, KEY_F(58)        },	/* key_f58 */
+	{  264, KEY_F(59)        },	/* key_f59 */
+	{   72, KEY_F(6)         },	/* key_f6 */
+	{  265, KEY_F(60)        },	/* key_f60 */
+	{  266, KEY_F(61)        },	/* key_f61 */
+	{  267, KEY_F(62)        },	/* key_f62 */
+	{  268, KEY_F(63)        },	/* key_f63 */
+	{   73, KEY_F(7)         },	/* key_f7 */
+	{   74, KEY_F(8)         },	/* key_f8 */
+	{   75, KEY_F(9)         },	/* key_f9 */
+	{  167, KEY_FIND         },	/* key_find */
+	{  168, KEY_HELP         },	/* key_help */
+	{   76, KEY_HOME         },	/* key_home */
+	{   77, KEY_IC           },	/* key_ic */
+	{   78, KEY_IL           },	/* key_il */
+	{   79, KEY_LEFT         },	/* key_left */
+	{   80, KEY_LL           },	/* key_ll */
+	{  169, KEY_MARK         },	/* key_mark */
+	{  170, KEY_MESSAGE      },	/* key_message */
+	{  355, KEY_MOUSE        },	/* key_mouse */
+	{  171, KEY_MOVE         },	/* key_move */
+	{  172, KEY_NEXT         },	/* key_next */
+	{   81, KEY_NPAGE        },	/* key_npage */
+	{  173, KEY_OPEN         },	/* key_open */
+	{  174, KEY_OPTIONS      },	/* key_options */
+	{   82, KEY_PPAGE        },	/* key_ppage */
+	{  175, KEY_PREVIOUS     },	/* key_previous */
+	{  176, KEY_PRINT        },	/* key_print */
+	{  177, KEY_REDO         },	/* key_redo */
+	{  178, KEY_REFERENCE    },	/* key_reference */
+	{  179, KEY_REFRESH      },	/* key_refresh */
+	{  180, KEY_REPLACE      },	/* key_replace */
+	{  181, KEY_RESTART      },	/* key_restart */
+	{  182, KEY_RESUME       },	/* key_resume */
+	{   83, KEY_RIGHT        },	/* key_right */
+	{  183, KEY_SAVE         },	/* key_save */
+	{  186, KEY_SBEG         },	/* key_sbeg */
+	{  187, KEY_SCANCEL      },	/* key_scancel */
+	{  188, KEY_SCOMMAND     },	/* key_scommand */
+	{  189, KEY_SCOPY        },	/* key_scopy */
+	{  190, KEY_SCREATE      },	/* key_screate */
+	{  191, KEY_SDC          },	/* key_sdc */
+	{  192, KEY_SDL          },	/* key_sdl */
+	{  193, KEY_SELECT       },	/* key_select */
+	{  194, KEY_SEND         },	/* key_send */
+	{  195, KEY_SEOL         },	/* key_seol */
+	{  196, KEY_SEXIT        },	/* key_sexit */
+	{   84, KEY_SF           },	/* key_sf */
+	{  197, KEY_SFIND        },	/* key_sfind */
+	{  198, KEY_SHELP        },	/* key_shelp */
+	{  199, KEY_SHOME        },	/* key_shome */
+	{  200, KEY_SIC          },	/* key_sic */
+	{  201, KEY_SLEFT        },	/* key_sleft */
+	{  202, KEY_SMESSAGE     },	/* key_smessage */
+	{  203, KEY_SMOVE        },	/* key_smove */
+	{  204, KEY_SNEXT        },	/* key_snext */
+	{  205, KEY_SOPTIONS     },	/* key_soptions */
+	{  206, KEY_SPREVIOUS    },	/* key_sprevious */
+	{  207, KEY_SPRINT       },	/* key_sprint */
+	{   85, KEY_SR           },	/* key_sr */
+	{  208, KEY_SREDO        },	/* key_sredo */
+	{  209, KEY_SREPLACE     },	/* key_sreplace */
+	{  210, KEY_SRIGHT       },	/* key_sright */
+	{  211, KEY_SRSUME       },	/* key_srsume */
+	{  212, KEY_SSAVE        },	/* key_ssave */
+	{  213, KEY_SSUSPEND     },	/* key_ssuspend */
+	{   86, KEY_STAB         },	/* key_stab */
+	{  214, KEY_SUNDO        },	/* key_sundo */
+	{  184, KEY_SUSPEND      },	/* key_suspend */
+	{  185, KEY_UNDO         },	/* key_undo */
+	{   87, KEY_UP           },	/* key_up */
+	{ 0, 0} };
+
+#endif /* _INIT_KEYTRY_H */
diff --git a/ncurses/keys.list b/ncurses/keys.list
new file mode 100644
index 0000000..660f595
--- /dev/null
+++ b/ncurses/keys.list
@@ -0,0 +1,155 @@
+# These definitions were generated by ./tinfo/MKkeys_list.sh ../include/Caps ../include/Caps-ncurses
+KEY_A1	key_a1
+KEY_A3	key_a3
+KEY_B2	key_b2
+KEY_BACKSPACE	key_backspace
+KEY_BEG	key_beg
+KEY_BREAK
+KEY_BTAB	key_btab
+KEY_C1	key_c1
+KEY_C3	key_c3
+KEY_CANCEL	key_cancel
+KEY_CATAB	key_catab
+KEY_CLEAR	key_clear
+KEY_CLOSE	key_close
+KEY_COMMAND	key_command
+KEY_COPY	key_copy
+KEY_CREATE	key_create
+KEY_CTAB	key_ctab
+KEY_DC	key_dc
+KEY_DL	key_dl
+KEY_DOWN	key_down
+KEY_EIC	key_eic
+KEY_END	key_end
+KEY_ENTER	key_enter
+KEY_EOL	key_eol
+KEY_EOS	key_eos
+KEY_EXIT	key_exit
+KEY_F(0)	key_f0
+KEY_F(1)	key_f1
+KEY_F(10)	key_f10
+KEY_F(11)	key_f11
+KEY_F(12)	key_f12
+KEY_F(13)	key_f13
+KEY_F(14)	key_f14
+KEY_F(15)	key_f15
+KEY_F(16)	key_f16
+KEY_F(17)	key_f17
+KEY_F(18)	key_f18
+KEY_F(19)	key_f19
+KEY_F(2)	key_f2
+KEY_F(20)	key_f20
+KEY_F(21)	key_f21
+KEY_F(22)	key_f22
+KEY_F(23)	key_f23
+KEY_F(24)	key_f24
+KEY_F(25)	key_f25
+KEY_F(26)	key_f26
+KEY_F(27)	key_f27
+KEY_F(28)	key_f28
+KEY_F(29)	key_f29
+KEY_F(3)	key_f3
+KEY_F(30)	key_f30
+KEY_F(31)	key_f31
+KEY_F(32)	key_f32
+KEY_F(33)	key_f33
+KEY_F(34)	key_f34
+KEY_F(35)	key_f35
+KEY_F(36)	key_f36
+KEY_F(37)	key_f37
+KEY_F(38)	key_f38
+KEY_F(39)	key_f39
+KEY_F(4)	key_f4
+KEY_F(40)	key_f40
+KEY_F(41)	key_f41
+KEY_F(42)	key_f42
+KEY_F(43)	key_f43
+KEY_F(44)	key_f44
+KEY_F(45)	key_f45
+KEY_F(46)	key_f46
+KEY_F(47)	key_f47
+KEY_F(48)	key_f48
+KEY_F(49)	key_f49
+KEY_F(5)	key_f5
+KEY_F(50)	key_f50
+KEY_F(51)	key_f51
+KEY_F(52)	key_f52
+KEY_F(53)	key_f53
+KEY_F(54)	key_f54
+KEY_F(55)	key_f55
+KEY_F(56)	key_f56
+KEY_F(57)	key_f57
+KEY_F(58)	key_f58
+KEY_F(59)	key_f59
+KEY_F(6)	key_f6
+KEY_F(60)	key_f60
+KEY_F(61)	key_f61
+KEY_F(62)	key_f62
+KEY_F(63)	key_f63
+KEY_F(7)	key_f7
+KEY_F(8)	key_f8
+KEY_F(9)	key_f9
+KEY_FIND	key_find
+KEY_HELP	key_help
+KEY_HOME	key_home
+KEY_IC	key_ic
+KEY_IL	key_il
+KEY_LEFT	key_left
+KEY_LL	key_ll
+KEY_MARK	key_mark
+KEY_MESSAGE	key_message
+KEY_MOUSE	key_mouse
+KEY_MOVE	key_move
+KEY_NEXT	key_next
+KEY_NPAGE	key_npage
+KEY_OPEN	key_open
+KEY_OPTIONS	key_options
+KEY_PPAGE	key_ppage
+KEY_PREVIOUS	key_previous
+KEY_PRINT	key_print
+KEY_REDO	key_redo
+KEY_REFERENCE	key_reference
+KEY_REFRESH	key_refresh
+KEY_REPLACE	key_replace
+KEY_RESET
+KEY_RESIZE
+KEY_RESTART	key_restart
+KEY_RESUME	key_resume
+KEY_RIGHT	key_right
+KEY_SAVE	key_save
+KEY_SBEG	key_sbeg
+KEY_SCANCEL	key_scancel
+KEY_SCOMMAND	key_scommand
+KEY_SCOPY	key_scopy
+KEY_SCREATE	key_screate
+KEY_SDC	key_sdc
+KEY_SDL	key_sdl
+KEY_SELECT	key_select
+KEY_SEND	key_send
+KEY_SEOL	key_seol
+KEY_SEXIT	key_sexit
+KEY_SF	key_sf
+KEY_SFIND	key_sfind
+KEY_SHELP	key_shelp
+KEY_SHOME	key_shome
+KEY_SIC	key_sic
+KEY_SLEFT	key_sleft
+KEY_SMESSAGE	key_smessage
+KEY_SMOVE	key_smove
+KEY_SNEXT	key_snext
+KEY_SOPTIONS	key_soptions
+KEY_SPREVIOUS	key_sprevious
+KEY_SPRINT	key_sprint
+KEY_SR	key_sr
+KEY_SREDO	key_sredo
+KEY_SREPLACE	key_sreplace
+KEY_SRESET
+KEY_SRIGHT	key_sright
+KEY_SRSUME	key_srsume
+KEY_SSAVE	key_ssave
+KEY_SSUSPEND	key_ssuspend
+KEY_STAB	key_stab
+KEY_SUNDO	key_sundo
+KEY_SUSPEND	key_suspend
+KEY_UNDO	key_undo
+KEY_UP	key_up
diff --git a/ncurses/lib_gen.c b/ncurses/lib_gen.c
new file mode 100644
index 0000000..7a70d27
--- /dev/null
+++ b/ncurses/lib_gen.c
@@ -0,0 +1,1170 @@
+/* This file was generated by ./base/MKlib_gen.sh generated */
+
+/*
+ * DO NOT EDIT THIS FILE BY HAND!
+ *
+ * This is a file of trivial functions generated from macro
+ * definitions in curses.h to satisfy the XSI Curses requirement
+ * that every macro also exist as a callable function.
+ *
+ * It will never be linked unless you call one of the entry
+ * points with its normal macro definition disabled. In that
+ * case, if you have no shared libraries, it will indirectly
+ * pull most of the rest of the library into your link image.
+ */
+#define NCURSES_ATTR_T int
+#include <ncurses_cfg.h>
+
+#undef NCURSES_NOMACROS /* _this_ file uses macros */
+#define NCURSES_NOMACROS 1
+
+#include <curses.priv.h>
+
+NCURSES_EXPORT(int) addch (const chtype z)
+{
+	T((T_CALLED("addch(%s)"), _tracechtype2(0,z)));
+	returnCode(waddch(stdscr,(z)));
+}
+NCURSES_EXPORT(int) addchnstr (const chtype * a1, int z)
+{
+	T((T_CALLED("addchnstr(%p,%d)"), (const void *)a1, z));
+	returnCode(waddchnstr(stdscr,(a1),(z)));
+}
+NCURSES_EXPORT(int) addchstr (const chtype * z)
+{
+	T((T_CALLED("addchstr(%p)"), (const void *)z));
+	returnCode(waddchnstr(stdscr,(z),-1));
+}
+NCURSES_EXPORT(int) addnstr (const char * a1, int z)
+{
+	T((T_CALLED("addnstr(%s,%d)"), _nc_visbuf2(0,a1), z));
+	returnCode(waddnstr(stdscr,(a1),(z)));
+}
+NCURSES_EXPORT(int) addstr (const char * z)
+{
+	T((T_CALLED("addstr(%s)"), _nc_visbuf2(0,z)));
+	returnCode(waddnstr(stdscr,(z),-1));
+}
+NCURSES_EXPORT(int) attroff (int z)
+{
+	T((T_CALLED("attroff(%s)"), _traceattr2(0,(chtype)z)));
+	returnCode(wattr_off(stdscr, (attr_t)((z)), ((void *)0)));
+}
+NCURSES_EXPORT(int) attron (int z)
+{
+	T((T_CALLED("attron(%s)"), _traceattr2(0,(chtype)z)));
+	returnCode(wattr_on(stdscr, (attr_t)((z)), ((void *)0)));
+}
+NCURSES_EXPORT(int) attrset (int z)
+{
+	T((T_CALLED("attrset(%s)"), _traceattr2(0,(chtype)z)));
+	returnIntAttr((attr_t)((0 != (const void *)((stdscr))) ? ((stdscr)->_color = (int)(((int)((((unsigned long)(((z))) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8)))), (stdscr)->_attrs = (attr_t)((z)), (0)) : (-1)));
+}
+NCURSES_EXPORT(int) attr_get (attr_t * a1, short * a2, void * z GCC_UNUSED)
+{
+	T((T_CALLED("attr_get(%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)z));
+	returnCode(((0 != (const void *)((stdscr))) ? ((void)((0 != (const void *)(((a1)))) ? (*((a1)) = (stdscr)->_attrs) : (0)), (void)((0 != (const void *)(((a2)))) ? (*((a2)) = (short) (stdscr)->_color) : (0)), (void)((0 != (const void *)(((z)))) ? (*(int *)((z)) = (stdscr)->_color) : (0)), (0)) : (-1)));
+}
+NCURSES_EXPORT(int) attr_off (attr_t a1, void * z)
+{
+	T((T_CALLED("attr_off(%s,%p)"), _traceattr2(0,a1), (const void *)z));
+	returnCode(wattr_off(stdscr,(a1),(z)));
+}
+NCURSES_EXPORT(int) attr_on (attr_t a1, void * z)
+{
+	T((T_CALLED("attr_on(%s,%p)"), _traceattr2(0,a1), (const void *)z));
+	returnCode(wattr_on(stdscr,(a1),(z)));
+}
+NCURSES_EXPORT(int) attr_set (attr_t a1, short a2, void * z GCC_UNUSED)
+{
+	T((T_CALLED("attr_set(%s,%#lx,%p)"), _traceattr2(0,a1), (long)a2, (const void *)z));
+	returnCode(((0 != (const void *)((stdscr))) ? ((void)((stdscr)->_attrs = (((a1)) & ~((chtype)((((1U) << 8) - 1U)) << ((0) + 8))), (stdscr)->_color = ((z)) ? *(int *)((z)) : ((a2))), (0)) : (-1)));
+}
+NCURSES_EXPORT(int) bkgd (chtype z)
+{
+	T((T_CALLED("bkgd(%s)"), _tracechtype2(0,z)));
+	returnCode(wbkgd(stdscr,(z)));
+}
+NCURSES_EXPORT(void) bkgdset (chtype z)
+{
+	T((T_CALLED("bkgdset(%s)"), _tracechtype2(0,z)));
+	wbkgdset(stdscr,(z));
+	returnVoid;
+}
+NCURSES_EXPORT(int) border (chtype a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype z)
+{
+	T((T_CALLED("border(%s,%s,%s,%s,%s,%s,%s,%s)"), _tracechtype2(0,a1), _tracechtype2(1,a2), _tracechtype2(2,a3), _tracechtype2(3,a4), _tracechtype2(4,a5), _tracechtype2(5,a6), _tracechtype2(6,a7), _tracechtype2(7,z)));
+	returnCode(wborder(stdscr, a1, a2, a3, a4, a5, a6, a7, z));
+}
+NCURSES_EXPORT(int) box (WINDOW * a1, chtype a2, chtype z)
+{
+	T((T_CALLED("box(%p,%s,%s)"), (const void *)a1, _tracechtype2(1,a2), _tracechtype2(2,z)));
+	returnCode(wborder(a1, a2, a2, z, z, 0, 0, 0, 0));
+}
+NCURSES_EXPORT(int) chgat (int a1, attr_t a2, short a3, const void * z)
+{
+	T((T_CALLED("chgat(%d,%s,%#lx,%p)"), a1, _traceattr2(1,a2), (long)a3, (const void *)z));
+	returnCode(wchgat(stdscr,(a1),(a2),(a3),(z)));
+}
+NCURSES_EXPORT(int) clear (void)
+{
+	T((T_CALLED("clear()")));
+	returnCode(wclear(stdscr));
+}
+NCURSES_EXPORT(int) clrtobot (void)
+{
+	T((T_CALLED("clrtobot()")));
+	returnCode(wclrtobot(stdscr));
+}
+NCURSES_EXPORT(int) clrtoeol (void)
+{
+	T((T_CALLED("clrtoeol()")));
+	returnCode(wclrtoeol(stdscr));
+}
+NCURSES_EXPORT(int) color_set (short a1, void * z)
+{
+	T((T_CALLED("color_set(%#lx,%p)"), (long)a1, (const void *)z));
+	returnCode(wcolor_set(stdscr,(a1),(z)));
+}
+NCURSES_EXPORT(int) COLOR_PAIR (int z)
+{
+	T((T_CALLED("COLOR_PAIR(%d)"), z));
+	returnCode((((chtype)(((z))) << ((0) + 8)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))));
+}
+NCURSES_EXPORT(int) delch (void)
+{
+	T((T_CALLED("delch()")));
+	returnCode(wdelch(stdscr));
+}
+NCURSES_EXPORT(int) deleteln (void)
+{
+	T((T_CALLED("deleteln()")));
+	returnCode(winsdelln(stdscr,-1));
+}
+NCURSES_EXPORT(int) echochar (const chtype z)
+{
+	T((T_CALLED("echochar(%s)"), _tracechtype2(0,z)));
+	returnCode(wechochar(stdscr,(z)));
+}
+NCURSES_EXPORT(int) erase (void)
+{
+	T((T_CALLED("erase()")));
+	returnCode(werase(stdscr));
+}
+NCURSES_EXPORT(chtype) getbkgd (WINDOW * z)
+{
+	T((T_CALLED("getbkgd(%p)"), (const void *)z));
+	returnChtype(((0 != (const void *)((z))) ? ((z)->_bkgd) : 0));
+}
+NCURSES_EXPORT(int) getch (void)
+{
+	T((T_CALLED("getch()")));
+	returnCode(wgetch(stdscr));
+}
+NCURSES_EXPORT(int) getnstr (char * a1, int z)
+{
+	T((T_CALLED("getnstr(%p,%d)"), _nc_visbuf2(0,a1), z));
+	returnCode(wgetnstr(stdscr, a1, (z)));
+}
+NCURSES_EXPORT(int) getstr (char * z)
+{
+	T((T_CALLED("getstr(%p)"), _nc_visbuf2(0,z)));
+	returnCode(wgetnstr(stdscr, (z), -1));
+}
+NCURSES_EXPORT(int) hline (chtype a1, int z)
+{
+	T((T_CALLED("hline(%s,%d)"), _tracechtype2(0,a1), z));
+	returnCode(whline(stdscr, a1, (z)));
+}
+NCURSES_EXPORT(chtype) inch (void)
+{
+	T((T_CALLED("inch()")));
+	returnChtype(winch(stdscr));
+}
+NCURSES_EXPORT(int) inchnstr (chtype * a1, int z)
+{
+	T((T_CALLED("inchnstr(%p,%d)"), (const void *)a1, z));
+	returnCode(winchnstr(stdscr,(a1),(z)));
+}
+NCURSES_EXPORT(int) inchstr (chtype * z)
+{
+	T((T_CALLED("inchstr(%p)"), (const void *)z));
+	returnCode(winchnstr(stdscr, (z), -1));
+}
+NCURSES_EXPORT(int) innstr (char * a1, int z)
+{
+	return winnstr(stdscr,(a1),(z)) ;
+}
+NCURSES_EXPORT(int) insch (chtype z)
+{
+	T((T_CALLED("insch(%s)"), _tracechtype2(0,z)));
+	returnCode(winsch(stdscr,(z)));
+}
+NCURSES_EXPORT(int) insdelln (int z)
+{
+	T((T_CALLED("insdelln(%d)"), z));
+	returnCode(winsdelln(stdscr,(z)));
+}
+NCURSES_EXPORT(int) insertln (void)
+{
+	T((T_CALLED("insertln()")));
+	returnCode(winsdelln(stdscr,1));
+}
+NCURSES_EXPORT(int) insnstr (const char * a1, int z)
+{
+	T((T_CALLED("insnstr(%s,%d)"), _nc_visbuf2(0,a1), z));
+	returnCode(winsnstr(stdscr,(a1),(z)));
+}
+NCURSES_EXPORT(int) insstr (const char * z)
+{
+	T((T_CALLED("insstr(%s)"), _nc_visbuf2(0,z)));
+	returnCode(winsnstr(stdscr, (z), -1));
+}
+NCURSES_EXPORT(int) instr (char * z)
+{
+	T((T_CALLED("instr(%s)"), _nc_visbuf2(0,z)));
+	returnCode(winnstr(stdscr, (z), -1));
+}
+NCURSES_EXPORT(int) move (int a1, int z)
+{
+	T((T_CALLED("move(%d,%d)"), a1, z));
+	returnCode(wmove(stdscr,(a1),(z)));
+}
+NCURSES_EXPORT(int) mvaddch (int a1, int a2, const chtype z)
+{
+	T((T_CALLED("mvaddch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z)));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddch((stdscr),((z)))));
+}
+NCURSES_EXPORT(int) mvaddchnstr (int a1, int a2, const chtype * a3, int z)
+{
+	T((T_CALLED("mvaddchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddchnstr((stdscr),((a3)),((z)))));
+}
+NCURSES_EXPORT(int) mvaddchstr (int a1, int a2, const chtype * z)
+{
+	T((T_CALLED("mvaddchstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddchnstr((stdscr),((z)),-1)));
+}
+NCURSES_EXPORT(int) mvaddnstr (int a1, int a2, const char * a3, int z)
+{
+	T((T_CALLED("mvaddnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddnstr((stdscr),((a3)),((z)))));
+}
+NCURSES_EXPORT(int) mvaddstr (int a1, int a2, const char * z)
+{
+	T((T_CALLED("mvaddstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z)));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : waddnstr((stdscr),((z)),-1)));
+}
+NCURSES_EXPORT(int) mvchgat (int a1, int a2, int a3, attr_t a4, short a5, const void * z)
+{
+	T((T_CALLED("mvchgat(%d,%d,%d,%s,%#lx,%p)"), a1, a2, a3, _traceattr2(3,a4), (long)a5, (const void *)z));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wchgat((stdscr),((a3)),((a4)),((a5)),((z)))));
+}
+NCURSES_EXPORT(int) mvdelch (int a1, int z)
+{
+	T((T_CALLED("mvdelch(%d,%d)"), a1, z));
+	returnCode((wmove((stdscr),((a1)),((z))) == (-1) ? (-1) : wdelch(stdscr)));
+}
+NCURSES_EXPORT(int) mvgetch (int a1, int z)
+{
+	T((T_CALLED("mvgetch(%d,%d)"), a1, z));
+	returnCode((wmove((stdscr),((a1)),((z))) == (-1) ? (-1) : wgetch(stdscr)));
+}
+NCURSES_EXPORT(int) mvgetnstr (int a1, int a2, char * a3, int z)
+{
+	T((T_CALLED("mvgetnstr(%d,%d,%p,%d)"), a1, a2, _nc_visbuf2(2,a3), z));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wgetnstr((stdscr),((a3)),((z)))));
+}
+NCURSES_EXPORT(int) mvgetstr (int a1, int a2, char * z)
+{
+	T((T_CALLED("mvgetstr(%d,%d,%p)"), a1, a2, _nc_visbuf2(2,z)));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wgetnstr((stdscr), ((z)), -1)));
+}
+NCURSES_EXPORT(int) mvhline (int a1, int a2, chtype a3, int z)
+{
+	T((T_CALLED("mvhline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : whline((stdscr),((a3)),((z)))));
+}
+NCURSES_EXPORT(chtype) mvinch (int a1, int z)
+{
+	T((T_CALLED("mvinch(%d,%d)"), a1, z));
+	returnChtype((wmove((stdscr),((a1)),((z))) == (-1) ? (chtype)((-1)) : winch(stdscr)));
+}
+NCURSES_EXPORT(int) mvinchnstr (int a1, int a2, chtype * a3, int z)
+{
+	T((T_CALLED("mvinchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winchnstr((stdscr),((a3)),((z)))));
+}
+NCURSES_EXPORT(int) mvinchstr (int a1, int a2, chtype * z)
+{
+	T((T_CALLED("mvinchstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winchnstr((stdscr), ((z)), -1)));
+}
+NCURSES_EXPORT(int) mvinnstr (int a1, int a2, char * a3, int z)
+{
+	return (wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winnstr((stdscr),((a3)),((z)))) ;
+}
+NCURSES_EXPORT(int) mvinsch (int a1, int a2, chtype z)
+{
+	T((T_CALLED("mvinsch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z)));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winsch((stdscr),((z)))));
+}
+NCURSES_EXPORT(int) mvinsnstr (int a1, int a2, const char * a3, int z)
+{
+	T((T_CALLED("mvinsnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winsnstr((stdscr),((a3)),((z)))));
+}
+NCURSES_EXPORT(int) mvinsstr (int a1, int a2, const char * z)
+{
+	T((T_CALLED("mvinsstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z)));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winsnstr((stdscr), ((z)), -1)));
+}
+NCURSES_EXPORT(int) mvinstr (int a1, int a2, char * z)
+{
+	T((T_CALLED("mvinstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z)));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : winnstr((stdscr), ((z)), -1)));
+}
+NCURSES_EXPORT(int) mvvline (int a1, int a2, chtype a3, int z)
+{
+	T((T_CALLED("mvvline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z));
+	returnCode((wmove((stdscr),((a1)),((a2))) == (-1) ? (-1) : wvline((stdscr),((a3)),((z)))));
+}
+NCURSES_EXPORT(int) mvwaddch (WINDOW * a1, int a2, int a3, const chtype z)
+{
+	T((T_CALLED("mvwaddch(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _tracechtype2(3,z)));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddch((a1),(z))));
+}
+NCURSES_EXPORT(int) mvwaddchnstr (WINDOW * a1, int a2, int a3, const chtype * a4, int z)
+{
+	T((T_CALLED("mvwaddchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddchnstr((a1),(a4),(z))));
+}
+NCURSES_EXPORT(int) mvwaddchstr (WINDOW * a1, int a2, int a3, const chtype * z)
+{
+	T((T_CALLED("mvwaddchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddchnstr((a1),(z),-1)));
+}
+NCURSES_EXPORT(int) mvwaddnstr (WINDOW * a1, int a2, int a3, const char * a4, int z)
+{
+	T((T_CALLED("mvwaddnstr(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddnstr((a1),(a4),(z))));
+}
+NCURSES_EXPORT(int) mvwaddstr (WINDOW * a1, int a2, int a3, const char * z)
+{
+	T((T_CALLED("mvwaddstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z)));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : waddnstr((a1),(z),-1)));
+}
+NCURSES_EXPORT(int) mvwchgat (WINDOW * a1, int a2, int a3, int a4, attr_t a5, short a6, const void * z)
+{
+	T((T_CALLED("mvwchgat(%p,%d,%d,%d,%s,%#lx,%p)"), (const void *)a1, a2, a3, a4, _traceattr2(4,a5), (long)a6, (const void *)z));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wchgat((a1),(a4),(a5),(a6),(z))));
+}
+NCURSES_EXPORT(int) mvwdelch (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwdelch(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode((wmove((a1),(a2),(z)) == (-1) ? (-1) : wdelch(a1)));
+}
+NCURSES_EXPORT(int) mvwgetch (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwgetch(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode((wmove((a1),(a2),(z)) == (-1) ? (-1) : wgetch(a1)));
+}
+NCURSES_EXPORT(int) mvwgetnstr (WINDOW * a1, int a2, int a3, char * a4, int z)
+{
+	T((T_CALLED("mvwgetnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wgetnstr((a1),(a4),(z))));
+}
+NCURSES_EXPORT(int) mvwgetstr (WINDOW * a1, int a2, int a3, char * z)
+{
+	T((T_CALLED("mvwgetstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z)));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wgetnstr((a1), (z), -1)));
+}
+NCURSES_EXPORT(int) mvwhline (WINDOW * a1, int a2, int a3, chtype a4, int z)
+{
+	T((T_CALLED("mvwhline(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _tracechtype2(3,a4), z));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : whline((a1),(a4),(z))));
+}
+NCURSES_EXPORT(chtype) mvwinch (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwinch(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnChtype((wmove((a1),(a2),(z)) == (-1) ? (chtype)((-1)) : winch(a1)));
+}
+NCURSES_EXPORT(int) mvwinchnstr (WINDOW * a1, int a2, int a3, chtype * a4, int z)
+{
+	T((T_CALLED("mvwinchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winchnstr((a1),(a4),(z))));
+}
+NCURSES_EXPORT(int) mvwinchstr (WINDOW * a1, int a2, int a3, chtype * z)
+{
+	T((T_CALLED("mvwinchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winchnstr((a1), (z), -1)));
+}
+NCURSES_EXPORT(int) mvwinnstr (WINDOW * a1, int a2, int a3, char * a4, int z)
+{
+	return (wmove((a1),(a2),(a3)) == (-1) ? (-1) : winnstr((a1),(a4),(z))) ;
+}
+NCURSES_EXPORT(int) mvwinsch (WINDOW * a1, int a2, int a3, chtype z)
+{
+	T((T_CALLED("mvwinsch(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _tracechtype2(3,z)));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winsch((a1),(z))));
+}
+NCURSES_EXPORT(int) mvwinsnstr (WINDOW * a1, int a2, int a3, const char * a4, int z)
+{
+	T((T_CALLED("mvwinsnstr(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winsnstr((a1),(a4),(z))));
+}
+NCURSES_EXPORT(int) mvwinsstr (WINDOW * a1, int a2, int a3, const char * z)
+{
+	T((T_CALLED("mvwinsstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z)));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winsnstr((a1), (z), -1)));
+}
+NCURSES_EXPORT(int) mvwinstr (WINDOW * a1, int a2, int a3, char * z)
+{
+	T((T_CALLED("mvwinstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z)));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : winnstr((a1), (z), -1)));
+}
+NCURSES_EXPORT(int) mvwvline (WINDOW * a1, int a2, int a3, chtype a4, int z)
+{
+	T((T_CALLED("mvwvline(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _tracechtype2(3,a4), z));
+	returnCode((wmove((a1),(a2),(a3)) == (-1) ? (-1) : wvline((a1),(a4),(z))));
+}
+NCURSES_EXPORT(int) PAIR_NUMBER (int z)
+{
+	T((T_CALLED("PAIR_NUMBER(%d)"), z));
+	returnCode(((int)((((unsigned long)((z)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8))));
+}
+NCURSES_EXPORT(int) redrawwin (WINDOW * z)
+{
+	T((T_CALLED("redrawwin(%p)"), (const void *)z));
+	returnCode(wredrawln(z, 0, ((0 != (const void *)((z))) ? (z)->_maxy+1 : -1)));
+}
+NCURSES_EXPORT(int) refresh (void)
+{
+	T((T_CALLED("refresh()")));
+	returnCode(wrefresh(stdscr));
+}
+NCURSES_EXPORT(int) scrl (int z)
+{
+	T((T_CALLED("scrl(%d)"), z));
+	returnCode(wscrl(stdscr,(z)));
+}
+NCURSES_EXPORT(int) scroll (WINDOW * z)
+{
+	T((T_CALLED("scroll(%p)"), (const void *)z));
+	returnCode(wscrl(z,1));
+}
+NCURSES_EXPORT(int) setscrreg (int a1, int z)
+{
+	T((T_CALLED("setscrreg(%d,%d)"), a1, z));
+	returnCode(wsetscrreg(stdscr,(a1),(z)));
+}
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) slk_attr_off (const attr_t a1, void * z)
+{
+	T((T_CALLED("slk_attr_off(%s,%p)"), _traceattr2(0,a1), (const void *)z));
+	returnCode(((z) ? (-1) : slk_attroff(a1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) slk_attr_on (attr_t a1, void * z)
+{
+	T((T_CALLED("slk_attr_on(%s,%p)"), _traceattr2(0,a1), (const void *)z));
+	returnCode(((z) ? (-1) : slk_attron(a1)));
+}
+#endif
+NCURSES_EXPORT(int) standout (void)
+{
+	T((T_CALLED("standout()")));
+	returnIntAttr((attr_t)(((0 != (const void *)((stdscr))) ? ((stdscr)->_color = (int)(((int)((((unsigned long)((((chtype)((1U)) << ((8) + 8)))) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8)))), (stdscr)->_attrs = (attr_t)(((chtype)((1U)) << ((8) + 8))), (0)) : (-1))));
+}
+NCURSES_EXPORT(int) standend (void)
+{
+	T((T_CALLED("standend()")));
+	returnIntAttr((attr_t)(((0 != (const void *)((stdscr))) ? ((stdscr)->_color = (int)(((int)((((unsigned long)(((1U - 1U))) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8)))), (stdscr)->_attrs = (attr_t)((1U - 1U)), (0)) : (-1))));
+}
+NCURSES_EXPORT(void) timeout (int z)
+{
+	T((T_CALLED("timeout(%d)"), z));
+	wtimeout(stdscr,(z));
+	returnVoid;
+}
+NCURSES_EXPORT(int) touchline (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("touchline(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(wtouchln((a1), a2, z, 1));
+}
+NCURSES_EXPORT(int) touchwin (WINDOW * z)
+{
+	T((T_CALLED("touchwin(%p)"), (const void *)z));
+	returnCode(wtouchln((z), 0, ((0 != (const void *)((z))) ? ((z)->_maxy + 1) : (-1)), 1));
+}
+NCURSES_EXPORT(int) untouchwin (WINDOW * z)
+{
+	T((T_CALLED("untouchwin(%p)"), (const void *)z));
+	returnCode(wtouchln((z), 0, ((0 != (const void *)((z))) ? ((z)->_maxy + 1) : (-1)), 0));
+}
+NCURSES_EXPORT(int) vline (chtype a1, int z)
+{
+	T((T_CALLED("vline(%s,%d)"), _tracechtype2(0,a1), z));
+	returnCode(wvline(stdscr, a1, (z)));
+}
+NCURSES_EXPORT(int) waddchstr (WINDOW * a1, const chtype * z)
+{
+	T((T_CALLED("waddchstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(waddchnstr(a1,z,-1));
+}
+NCURSES_EXPORT(int) waddstr (WINDOW * a1, const char * z)
+{
+	T((T_CALLED("waddstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(waddnstr(a1,z,-1));
+}
+NCURSES_EXPORT(int) wattron (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattron(%p,%d)"), (const void *)a1, z));
+	returnCode(wattr_on(a1, (attr_t)(z), ((void *)0)));
+}
+NCURSES_EXPORT(int) wattroff (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattroff(%p,%d)"), (const void *)a1, z));
+	returnCode(wattr_off(a1, (attr_t)(z), ((void *)0)));
+}
+NCURSES_EXPORT(int) wattrset (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattrset(%p,%d)"), (const void *)a1, z));
+	returnIntAttr((attr_t)((0 != (const void *)((a1))) ? ((a1)->_color = (int)(((int)((((unsigned long)((z)) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8)))), (a1)->_attrs = (attr_t)(z), (0)) : (-1)));
+}
+NCURSES_EXPORT(int) wattr_get (WINDOW * a1, attr_t * a2, short * a3, void * z GCC_UNUSED)
+{
+	T((T_CALLED("wattr_get(%p,%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)a3, (const void *)z));
+	returnCode(((0 != (const void *)((a1))) ? ((void)((0 != (const void *)((a2))) ? (*(a2) = (a1)->_attrs) : (0)), (void)((0 != (const void *)((a3))) ? (*(a3) = (short) (a1)->_color) : (0)), (void)((0 != (const void *)((z))) ? (*(int *)(z) = (a1)->_color) : (0)), (0)) : (-1)));
+}
+NCURSES_EXPORT(int) wattr_set (WINDOW * a1, attr_t a2, short a3, void * z GCC_UNUSED)
+{
+	T((T_CALLED("wattr_set(%p,%s,%#lx,%p)"), (const void *)a1, _traceattr2(1,a2), (long)a3, (const void *)z));
+	returnCode(((0 != (const void *)((a1))) ? ((void)((a1)->_attrs = ((a2) & ~((chtype)((((1U) << 8) - 1U)) << ((0) + 8))), (a1)->_color = (z) ? *(int *)(z) : (a3)), (0)) : (-1)));
+}
+NCURSES_EXPORT(int) wdeleteln (WINDOW * z)
+{
+	T((T_CALLED("wdeleteln(%p)"), (const void *)z));
+	returnCode(winsdelln(z,-1));
+}
+NCURSES_EXPORT(int) wgetstr (WINDOW * a1, char * z)
+{
+	T((T_CALLED("wgetstr(%p,%p)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(wgetnstr(a1, z, -1));
+}
+NCURSES_EXPORT(int) winchstr (WINDOW * a1, chtype * z)
+{
+	T((T_CALLED("winchstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(winchnstr(a1, z, -1));
+}
+NCURSES_EXPORT(int) winsertln (WINDOW * z)
+{
+	T((T_CALLED("winsertln(%p)"), (const void *)z));
+	returnCode(winsdelln(z,1));
+}
+NCURSES_EXPORT(int) winsstr (WINDOW * a1, const char * z)
+{
+	T((T_CALLED("winsstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(winsnstr(a1, z, -1));
+}
+NCURSES_EXPORT(int) winstr (WINDOW * a1, char * z)
+{
+	T((T_CALLED("winstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(winnstr(a1, z, -1));
+}
+NCURSES_EXPORT(int) wstandout (WINDOW * z)
+{
+	T((T_CALLED("wstandout(%p)"), (const void *)z));
+	returnIntAttr((attr_t)(((0 != (const void *)((z))) ? ((z)->_color = (int)(((int)((((unsigned long)((((chtype)((1U)) << ((8) + 8)))) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8)))), (z)->_attrs = (attr_t)(((chtype)((1U)) << ((8) + 8))), (0)) : (-1))));
+}
+NCURSES_EXPORT(int) wstandend (WINDOW * z)
+{
+	T((T_CALLED("wstandend(%p)"), (const void *)z));
+	returnIntAttr((attr_t)(((0 != (const void *)((z))) ? ((z)->_color = (int)(((int)((((unsigned long)(((1U - 1U))) & ((chtype)((((1U) << 8) - 1U)) << ((0) + 8))) >> 8)))), (z)->_attrs = (attr_t)((1U - 1U)), (0)) : (-1))));
+}
+NCURSES_EXPORT(int) getattrs (const WINDOW * z)
+{
+	T((T_CALLED("getattrs(%p)"), (const void *)z));
+	returnCode((int)((0 != (const void *)((z))) ? (z)->_attrs : (1U - 1U)));
+}
+NCURSES_EXPORT(int) getcurx (const WINDOW * z)
+{
+	T((T_CALLED("getcurx(%p)"), (const void *)z));
+	returnCode(((0 != (const void *)((z))) ? (z)->_curx : (-1)));
+}
+NCURSES_EXPORT(int) getcury (const WINDOW * z)
+{
+	T((T_CALLED("getcury(%p)"), (const void *)z));
+	returnCode(((0 != (const void *)((z))) ? (z)->_cury : (-1)));
+}
+NCURSES_EXPORT(int) getbegx (const WINDOW * z)
+{
+	T((T_CALLED("getbegx(%p)"), (const void *)z));
+	returnCode(((0 != (const void *)((z))) ? (z)->_begx : (-1)));
+}
+NCURSES_EXPORT(int) getbegy (const WINDOW * z)
+{
+	T((T_CALLED("getbegy(%p)"), (const void *)z));
+	returnCode(((0 != (const void *)((z))) ? (z)->_begy : (-1)));
+}
+NCURSES_EXPORT(int) getmaxx (const WINDOW * z)
+{
+	T((T_CALLED("getmaxx(%p)"), (const void *)z));
+	returnCode(((0 != (const void *)((z))) ? ((z)->_maxx + 1) : (-1)));
+}
+NCURSES_EXPORT(int) getmaxy (const WINDOW * z)
+{
+	T((T_CALLED("getmaxy(%p)"), (const void *)z));
+	returnCode(((0 != (const void *)((z))) ? ((z)->_maxy + 1) : (-1)));
+}
+NCURSES_EXPORT(int) getparx (const WINDOW * z)
+{
+	T((T_CALLED("getparx(%p)"), (const void *)z));
+	returnCode(((0 != (const void *)((z))) ? (z)->_parx : (-1)));
+}
+NCURSES_EXPORT(int) getpary (const WINDOW * z)
+{
+	T((T_CALLED("getpary(%p)"), (const void *)z));
+	returnCode(((0 != (const void *)((z))) ? (z)->_pary : (-1)));
+}
+NCURSES_EXPORT(WINDOW *) wgetparent (const WINDOW * z)
+{
+	T((T_CALLED("wgetparent(%p)"), (const void *)z));
+	returnWin(((0 != (const void *)((z))) ? (z)->_parent : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_cleared (const WINDOW * z)
+{
+	T((T_CALLED("is_cleared(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? (z)->_clear : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_idcok (const WINDOW * z)
+{
+	T((T_CALLED("is_idcok(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? (z)->_idcok : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_idlok (const WINDOW * z)
+{
+	T((T_CALLED("is_idlok(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? (z)->_idlok : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_immedok (const WINDOW * z)
+{
+	T((T_CALLED("is_immedok(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? (z)->_immed : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_keypad (const WINDOW * z)
+{
+	T((T_CALLED("is_keypad(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? (z)->_use_keypad : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_leaveok (const WINDOW * z)
+{
+	T((T_CALLED("is_leaveok(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? (z)->_leaveok : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_nodelay (const WINDOW * z)
+{
+	T((T_CALLED("is_nodelay(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? ((z)->_delay == 0) : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_notimeout (const WINDOW * z)
+{
+	T((T_CALLED("is_notimeout(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? (z)->_notimeout : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_pad (const WINDOW * z)
+{
+	T((T_CALLED("is_pad(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? ((z)->_flags & 0x10) != 0 : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_scrollok (const WINDOW * z)
+{
+	T((T_CALLED("is_scrollok(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? (z)->_scroll : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_subwin (const WINDOW * z)
+{
+	T((T_CALLED("is_subwin(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? ((z)->_flags & 0x01) != 0 : 0));
+}
+NCURSES_EXPORT(NCURSES_BOOL) is_syncok (const WINDOW * z)
+{
+	T((T_CALLED("is_syncok(%p)"), (const void *)z));
+	returnBool(((0 != (const void *)((z))) ? (z)->_sync : 0));
+}
+NCURSES_EXPORT(int) wgetdelay (const WINDOW * z)
+{
+	T((T_CALLED("wgetdelay(%p)"), (const void *)z));
+	returnCode(((0 != (const void *)((z))) ? (z)->_delay : 0));
+}
+NCURSES_EXPORT(int) wgetscrreg (const WINDOW * a1, int * a2, int * z)
+{
+	T((T_CALLED("wgetscrreg(%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)z));
+	returnCode(((0 != (const void *)((a1))) ? (*(a2) = (a1)->_regtop, *(z) = (a1)->_regbottom, (0)) : (-1)));
+}
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) add_wch (const cchar_t * z)
+{
+	T((T_CALLED("add_wch(%p)"), (const void *)z));
+	returnCode(wadd_wch(stdscr,(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) add_wchnstr (const cchar_t * a1, int z)
+{
+	T((T_CALLED("add_wchnstr(%p,%d)"), (const void *)a1, z));
+	returnCode(wadd_wchnstr(stdscr,(a1),(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) add_wchstr (const cchar_t * z)
+{
+	T((T_CALLED("add_wchstr(%p)"), (const void *)z));
+	returnCode(wadd_wchnstr((stdscr),((z)),-1));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) addnwstr (const wchar_t * a1, int z)
+{
+	T((T_CALLED("addnwstr(%p,%d)"), (const void *)a1, z));
+	returnCode(waddnwstr(stdscr,(a1),(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) addwstr (const wchar_t * z)
+{
+	T((T_CALLED("addwstr(%p)"), (const void *)z));
+	returnCode(waddnwstr((stdscr),((z)),-1));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) bkgrnd (const cchar_t * z)
+{
+	T((T_CALLED("bkgrnd(%p)"), (const void *)z));
+	returnCode(wbkgrnd(stdscr,(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(void) bkgrndset (const cchar_t * z)
+{
+	T((T_CALLED("bkgrndset(%p)"), (const void *)z));
+	wbkgrndset(stdscr,(z));
+	returnVoid;
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) border_set (const cchar_t * a1, const cchar_t * a2, const cchar_t * a3, const cchar_t * a4, const cchar_t * a5, const cchar_t * a6, const cchar_t * a7, const cchar_t * z)
+{
+	T((T_CALLED("border_set(%p,%p,%p,%p,%p,%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)a3, (const void *)a4, (const void *)a5, (const void *)a6, (const void *)a7, (const void *)z));
+	returnCode(wborder_set(stdscr,(a1),(a2),(a3),(a4),a5,a6,a7,z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) box_set (WINDOW * a1, const cchar_t * a2, const cchar_t * z)
+{
+	T((T_CALLED("box_set(%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)z));
+	returnCode(wborder_set((a1),(a2),(a2),(z),(z),0,0,0,0));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) echo_wchar (const cchar_t * z)
+{
+	T((T_CALLED("echo_wchar(%p)"), (const void *)z));
+	returnCode(wecho_wchar(stdscr,(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) get_wch (wint_t * z)
+{
+	T((T_CALLED("get_wch(%p)"), (const void *)z));
+	returnCode(wget_wch(stdscr,(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) get_wstr (wint_t * z)
+{
+	T((T_CALLED("get_wstr(%p)"), (const void *)z));
+	returnCode(wgetn_wstr((stdscr),((z)),-1));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) getbkgrnd (cchar_t * z)
+{
+	T((T_CALLED("getbkgrnd(%p)"), (const void *)z));
+	returnCode(((0 != (const void *)(((z)))) ? ((stdscr) ? (*((z)) = (stdscr)->_bkgrnd) : *((z)), (0)) : (-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) getn_wstr (wint_t * a1, int z)
+{
+	T((T_CALLED("getn_wstr(%p,%d)"), (const void *)a1, z));
+	returnCode(wgetn_wstr(stdscr,(a1),(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) hline_set (const cchar_t * a1, int z)
+{
+	T((T_CALLED("hline_set(%p,%d)"), (const void *)a1, z));
+	returnCode(whline_set(stdscr,(a1),(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) in_wch (cchar_t * z)
+{
+	T((T_CALLED("in_wch(%p)"), (const void *)z));
+	returnCode(win_wch(stdscr,(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) in_wchnstr (cchar_t * a1, int z)
+{
+	T((T_CALLED("in_wchnstr(%p,%d)"), (const void *)a1, z));
+	returnCode(win_wchnstr(stdscr,(a1),(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) in_wchstr (cchar_t * z)
+{
+	T((T_CALLED("in_wchstr(%p)"), (const void *)z));
+	returnCode(win_wchnstr((stdscr),((z)),-1));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) innwstr (wchar_t * a1, int z)
+{
+	return winnwstr(stdscr,(a1),(z)) ;
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) ins_nwstr (const wchar_t * a1, int z)
+{
+	T((T_CALLED("ins_nwstr(%p,%d)"), (const void *)a1, z));
+	returnCode(wins_nwstr(stdscr,(a1),(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) ins_wch (const cchar_t * z)
+{
+	T((T_CALLED("ins_wch(%p)"), (const void *)z));
+	returnCode(wins_wch(stdscr,(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) ins_wstr (const wchar_t * z)
+{
+	T((T_CALLED("ins_wstr(%p)"), (const void *)z));
+	returnCode(wins_nwstr((stdscr),((z)),-1));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) inwstr (wchar_t * z)
+{
+	T((T_CALLED("inwstr(%p)"), (const void *)z));
+	returnCode(winwstr(stdscr,(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvadd_wch (int a1, int a2, const cchar_t * z)
+{
+	T((T_CALLED("mvadd_wch(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : wadd_wch((stdscr),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvadd_wchnstr (int a1, int a2, const cchar_t * a3, int z)
+{
+	T((T_CALLED("mvadd_wchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : wadd_wchnstr((stdscr),((a3)),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvadd_wchstr (int a1, int a2, const cchar_t * z)
+{
+	T((T_CALLED("mvadd_wchstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : wadd_wchnstr(((stdscr)),(((z))),-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvaddnwstr (int a1, int a2, const wchar_t * a3, int z)
+{
+	T((T_CALLED("mvaddnwstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : waddnwstr((stdscr),((a3)),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvaddwstr (int a1, int a2, const wchar_t * z)
+{
+	T((T_CALLED("mvaddwstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : waddnwstr(((stdscr)),(((z))),-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvget_wch (int a1, int a2, wint_t * z)
+{
+	T((T_CALLED("mvget_wch(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : wget_wch((stdscr),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvget_wstr (int a1, int a2, wint_t * z)
+{
+	T((T_CALLED("mvget_wstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : wgetn_wstr(((stdscr)),(((z))),-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvgetn_wstr (int a1, int a2, wint_t * a3, int z)
+{
+	T((T_CALLED("mvgetn_wstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : wgetn_wstr((stdscr),((a3)),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvhline_set (int a1, int a2, const cchar_t * a3, int z)
+{
+	T((T_CALLED("mvhline_set(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : whline_set((stdscr),((a3)),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvin_wch (int a1, int a2, cchar_t * z)
+{
+	T((T_CALLED("mvin_wch(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : win_wch((stdscr),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvin_wchnstr (int a1, int a2, cchar_t * a3, int z)
+{
+	T((T_CALLED("mvin_wchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : win_wchnstr((stdscr),((a3)),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvin_wchstr (int a1, int a2, cchar_t * z)
+{
+	T((T_CALLED("mvin_wchstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : win_wchnstr(((stdscr)),(((z))),-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvinnwstr (int a1, int a2, wchar_t * a3, int z)
+{
+	return (wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : winnwstr((stdscr),((a3)),((z)))) ;
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvins_nwstr (int a1, int a2, const wchar_t * a3, int z)
+{
+	T((T_CALLED("mvins_nwstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : wins_nwstr((stdscr),((a3)),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvins_wch (int a1, int a2, const cchar_t * z)
+{
+	T((T_CALLED("mvins_wch(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : wins_wch((stdscr),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvins_wstr (int a1, int a2, const wchar_t * z)
+{
+	T((T_CALLED("mvins_wstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : wins_nwstr(((stdscr)),(((z))),-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvinwstr (int a1, int a2, wchar_t * z)
+{
+	T((T_CALLED("mvinwstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : winwstr((stdscr),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvvline_set (int a1, int a2, const cchar_t * a3, int z)
+{
+	T((T_CALLED("mvvline_set(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode((wmove(stdscr,((a1)),((a2))) == (-1) ? (-1) : wvline_set((stdscr),((a3)),((z)))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwadd_wch (WINDOW * a1, int a2, int a3, const cchar_t * z)
+{
+	T((T_CALLED("mvwadd_wch(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : wadd_wch((a1),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwadd_wchnstr (WINDOW * a1, int a2, int a3, const cchar_t * a4, int z)
+{
+	T((T_CALLED("mvwadd_wchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : wadd_wchnstr((a1),(a4),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwadd_wchstr (WINDOW * a1, int a2, int a3, const cchar_t * z)
+{
+	T((T_CALLED("mvwadd_wchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : wadd_wchnstr(((a1)),((z)),-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwaddnwstr (WINDOW * a1, int a2, int a3, const wchar_t * a4, int z)
+{
+	T((T_CALLED("mvwaddnwstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : waddnwstr((a1),(a4),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwaddwstr (WINDOW * a1, int a2, int a3, const wchar_t * z)
+{
+	T((T_CALLED("mvwaddwstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : waddnwstr(((a1)),((z)),-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwget_wch (WINDOW * a1, int a2, int a3, wint_t * z)
+{
+	T((T_CALLED("mvwget_wch(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : wget_wch((a1),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwget_wstr (WINDOW * a1, int a2, int a3, wint_t * z)
+{
+	T((T_CALLED("mvwget_wstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : wgetn_wstr(((a1)),((z)),-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwgetn_wstr (WINDOW * a1, int a2, int a3, wint_t * a4, int z)
+{
+	T((T_CALLED("mvwgetn_wstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : wgetn_wstr((a1),(a4),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwhline_set (WINDOW * a1, int a2, int a3, const cchar_t * a4, int z)
+{
+	T((T_CALLED("mvwhline_set(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : whline_set((a1),(a4),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwin_wch (WINDOW * a1, int a2, int a3, cchar_t * z)
+{
+	T((T_CALLED("mvwin_wch(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : win_wch((a1),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwin_wchnstr (WINDOW * a1, int a2, int a3, cchar_t * a4, int z)
+{
+	T((T_CALLED("mvwin_wchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : win_wchnstr((a1),(a4),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwin_wchstr (WINDOW * a1, int a2, int a3, cchar_t * z)
+{
+	T((T_CALLED("mvwin_wchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : win_wchnstr(((a1)),((z)),-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwinnwstr (WINDOW * a1, int a2, int a3, wchar_t * a4, int z)
+{
+	return (wmove(a1,(a2),(a3)) == (-1) ? (-1) : winnwstr((a1),(a4),(z))) ;
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwins_nwstr (WINDOW * a1, int a2, int a3, const wchar_t * a4, int z)
+{
+	T((T_CALLED("mvwins_nwstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : wins_nwstr((a1),(a4),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwins_wch (WINDOW * a1, int a2, int a3, const cchar_t * z)
+{
+	T((T_CALLED("mvwins_wch(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : wins_wch((a1),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwins_wstr (WINDOW * a1, int a2, int a3, const wchar_t * z)
+{
+	T((T_CALLED("mvwins_wstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : wins_nwstr(((a1)),((z)),-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwinwstr (WINDOW * a1, int a2, int a3, wchar_t * z)
+{
+	T((T_CALLED("mvwinwstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : winwstr((a1),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) mvwvline_set (WINDOW * a1, int a2, int a3, const cchar_t * a4, int z)
+{
+	T((T_CALLED("mvwvline_set(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode((wmove(a1,(a2),(a3)) == (-1) ? (-1) : wvline_set((a1),(a4),(z))));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) vline_set (const cchar_t * a1, int z)
+{
+	T((T_CALLED("vline_set(%p,%d)"), (const void *)a1, z));
+	returnCode(wvline_set(stdscr,(a1),(z)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) wadd_wchstr (WINDOW * a1, const cchar_t * z)
+{
+	T((T_CALLED("wadd_wchstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wadd_wchnstr((a1),(z),-1));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) waddwstr (WINDOW * a1, const wchar_t * z)
+{
+	T((T_CALLED("waddwstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(waddnwstr((a1),(z),-1));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) wget_wstr (WINDOW * a1, wint_t * z)
+{
+	T((T_CALLED("wget_wstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wgetn_wstr((a1),(z),-1));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) wgetbkgrnd (WINDOW * a1, cchar_t * z)
+{
+	T((T_CALLED("wgetbkgrnd(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(((0 != (const void *)((z))) ? ((a1) ? (*(z) = (a1)->_bkgrnd) : *(z), (0)) : (-1)));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) win_wchstr (WINDOW * a1, cchar_t * z)
+{
+	T((T_CALLED("win_wchstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(win_wchnstr((a1),(z),-1));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+NCURSES_EXPORT(int) wins_wstr (WINDOW * a1, const wchar_t * z)
+{
+	T((T_CALLED("wins_wstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wins_nwstr((a1),(z),-1));
+}
+#endif
+NCURSES_EXPORT(NCURSES_BOOL) mouse_trafo (int * a1, int * a2, NCURSES_BOOL z)
+{
+	T((T_CALLED("mouse_trafo(%p,%p,%#lx)"), (const void *)a1, (const void *)a2, (long)z));
+	returnBool(wmouse_trafo(stdscr,a1,a2,z));
+}
diff --git a/ncurses/lib_keyname.c b/ncurses/lib_keyname.c
new file mode 100644
index 0000000..8c41690
--- /dev/null
+++ b/ncurses/lib_keyname.c
@@ -0,0 +1,421 @@
+/* generated by MKkeyname.awk */
+
+#include <curses.priv.h>
+#include <tic.h>
+
+struct kn { short offset; int code; };
+static const struct kn _nc_key_names[] = {
+	{ 0, KEY_A1 },
+	{ 7, KEY_A3 },
+	{ 14, KEY_B2 },
+	{ 21, KEY_BACKSPACE },
+	{ 35, KEY_BEG },
+	{ 43, KEY_BREAK },
+	{ 53, KEY_BTAB },
+	{ 62, KEY_C1 },
+	{ 69, KEY_C3 },
+	{ 76, KEY_CANCEL },
+	{ 87, KEY_CATAB },
+	{ 97, KEY_CLEAR },
+	{ 107, KEY_CLOSE },
+	{ 117, KEY_COMMAND },
+	{ 129, KEY_COPY },
+	{ 138, KEY_CREATE },
+	{ 149, KEY_CTAB },
+	{ 158, KEY_DC },
+	{ 165, KEY_DL },
+	{ 172, KEY_DOWN },
+	{ 181, KEY_EIC },
+	{ 189, KEY_END },
+	{ 197, KEY_ENTER },
+	{ 207, KEY_EOL },
+	{ 215, KEY_EOS },
+	{ 223, KEY_EXIT },
+	{ 232, KEY_F(0) },
+	{ 241, KEY_F(1) },
+	{ 250, KEY_F(10) },
+	{ 260, KEY_F(11) },
+	{ 270, KEY_F(12) },
+	{ 280, KEY_F(13) },
+	{ 290, KEY_F(14) },
+	{ 300, KEY_F(15) },
+	{ 310, KEY_F(16) },
+	{ 320, KEY_F(17) },
+	{ 330, KEY_F(18) },
+	{ 340, KEY_F(19) },
+	{ 350, KEY_F(2) },
+	{ 359, KEY_F(20) },
+	{ 369, KEY_F(21) },
+	{ 379, KEY_F(22) },
+	{ 389, KEY_F(23) },
+	{ 399, KEY_F(24) },
+	{ 409, KEY_F(25) },
+	{ 419, KEY_F(26) },
+	{ 429, KEY_F(27) },
+	{ 439, KEY_F(28) },
+	{ 449, KEY_F(29) },
+	{ 459, KEY_F(3) },
+	{ 468, KEY_F(30) },
+	{ 478, KEY_F(31) },
+	{ 488, KEY_F(32) },
+	{ 498, KEY_F(33) },
+	{ 508, KEY_F(34) },
+	{ 518, KEY_F(35) },
+	{ 528, KEY_F(36) },
+	{ 538, KEY_F(37) },
+	{ 548, KEY_F(38) },
+	{ 558, KEY_F(39) },
+	{ 568, KEY_F(4) },
+	{ 577, KEY_F(40) },
+	{ 587, KEY_F(41) },
+	{ 597, KEY_F(42) },
+	{ 607, KEY_F(43) },
+	{ 617, KEY_F(44) },
+	{ 627, KEY_F(45) },
+	{ 637, KEY_F(46) },
+	{ 647, KEY_F(47) },
+	{ 657, KEY_F(48) },
+	{ 667, KEY_F(49) },
+	{ 677, KEY_F(5) },
+	{ 686, KEY_F(50) },
+	{ 696, KEY_F(51) },
+	{ 706, KEY_F(52) },
+	{ 716, KEY_F(53) },
+	{ 726, KEY_F(54) },
+	{ 736, KEY_F(55) },
+	{ 746, KEY_F(56) },
+	{ 756, KEY_F(57) },
+	{ 766, KEY_F(58) },
+	{ 776, KEY_F(59) },
+	{ 786, KEY_F(6) },
+	{ 795, KEY_F(60) },
+	{ 805, KEY_F(61) },
+	{ 815, KEY_F(62) },
+	{ 825, KEY_F(63) },
+	{ 835, KEY_F(7) },
+	{ 844, KEY_F(8) },
+	{ 853, KEY_F(9) },
+	{ 862, KEY_FIND },
+	{ 871, KEY_HELP },
+	{ 880, KEY_HOME },
+	{ 889, KEY_IC },
+	{ 896, KEY_IL },
+	{ 903, KEY_LEFT },
+	{ 912, KEY_LL },
+	{ 919, KEY_MARK },
+	{ 928, KEY_MESSAGE },
+	{ 940, KEY_MOUSE },
+	{ 950, KEY_MOVE },
+	{ 959, KEY_NEXT },
+	{ 968, KEY_NPAGE },
+	{ 978, KEY_OPEN },
+	{ 987, KEY_OPTIONS },
+	{ 999, KEY_PPAGE },
+	{ 1009, KEY_PREVIOUS },
+	{ 1022, KEY_PRINT },
+	{ 1032, KEY_REDO },
+	{ 1041, KEY_REFERENCE },
+	{ 1055, KEY_REFRESH },
+	{ 1067, KEY_REPLACE },
+	{ 1079, KEY_RESET },
+	{ 1089, KEY_RESIZE },
+	{ 1100, KEY_RESTART },
+	{ 1112, KEY_RESUME },
+	{ 1123, KEY_RIGHT },
+	{ 1133, KEY_SAVE },
+	{ 1142, KEY_SBEG },
+	{ 1151, KEY_SCANCEL },
+	{ 1163, KEY_SCOMMAND },
+	{ 1176, KEY_SCOPY },
+	{ 1186, KEY_SCREATE },
+	{ 1198, KEY_SDC },
+	{ 1206, KEY_SDL },
+	{ 1214, KEY_SELECT },
+	{ 1225, KEY_SEND },
+	{ 1234, KEY_SEOL },
+	{ 1243, KEY_SEXIT },
+	{ 1253, KEY_SF },
+	{ 1260, KEY_SFIND },
+	{ 1270, KEY_SHELP },
+	{ 1280, KEY_SHOME },
+	{ 1290, KEY_SIC },
+	{ 1298, KEY_SLEFT },
+	{ 1308, KEY_SMESSAGE },
+	{ 1321, KEY_SMOVE },
+	{ 1331, KEY_SNEXT },
+	{ 1341, KEY_SOPTIONS },
+	{ 1354, KEY_SPREVIOUS },
+	{ 1368, KEY_SPRINT },
+	{ 1379, KEY_SR },
+	{ 1386, KEY_SREDO },
+	{ 1396, KEY_SREPLACE },
+	{ 1409, KEY_SRESET },
+	{ 1420, KEY_SRIGHT },
+	{ 1431, KEY_SRSUME },
+	{ 1442, KEY_SSAVE },
+	{ 1452, KEY_SSUSPEND },
+	{ 1465, KEY_STAB },
+	{ 1474, KEY_SUNDO },
+	{ 1484, KEY_SUSPEND },
+	{ 1496, KEY_UNDO },
+	{ 1505, KEY_UP },
+	{ -1, 0 }};
+
+static const char key_names[] = 
+	"KEY_A1\0"
+	"KEY_A3\0"
+	"KEY_B2\0"
+	"KEY_BACKSPACE\0"
+	"KEY_BEG\0"
+	"KEY_BREAK\0"
+	"KEY_BTAB\0"
+	"KEY_C1\0"
+	"KEY_C3\0"
+	"KEY_CANCEL\0"
+	"KEY_CATAB\0"
+	"KEY_CLEAR\0"
+	"KEY_CLOSE\0"
+	"KEY_COMMAND\0"
+	"KEY_COPY\0"
+	"KEY_CREATE\0"
+	"KEY_CTAB\0"
+	"KEY_DC\0"
+	"KEY_DL\0"
+	"KEY_DOWN\0"
+	"KEY_EIC\0"
+	"KEY_END\0"
+	"KEY_ENTER\0"
+	"KEY_EOL\0"
+	"KEY_EOS\0"
+	"KEY_EXIT\0"
+	"KEY_F(0)\0"
+	"KEY_F(1)\0"
+	"KEY_F(10)\0"
+	"KEY_F(11)\0"
+	"KEY_F(12)\0"
+	"KEY_F(13)\0"
+	"KEY_F(14)\0"
+	"KEY_F(15)\0"
+	"KEY_F(16)\0"
+	"KEY_F(17)\0"
+	"KEY_F(18)\0"
+	"KEY_F(19)\0"
+	"KEY_F(2)\0"
+	"KEY_F(20)\0"
+	"KEY_F(21)\0"
+	"KEY_F(22)\0"
+	"KEY_F(23)\0"
+	"KEY_F(24)\0"
+	"KEY_F(25)\0"
+	"KEY_F(26)\0"
+	"KEY_F(27)\0"
+	"KEY_F(28)\0"
+	"KEY_F(29)\0"
+	"KEY_F(3)\0"
+	"KEY_F(30)\0"
+	"KEY_F(31)\0"
+	"KEY_F(32)\0"
+	"KEY_F(33)\0"
+	"KEY_F(34)\0"
+	"KEY_F(35)\0"
+	"KEY_F(36)\0"
+	"KEY_F(37)\0"
+	"KEY_F(38)\0"
+	"KEY_F(39)\0"
+	"KEY_F(4)\0"
+	"KEY_F(40)\0"
+	"KEY_F(41)\0"
+	"KEY_F(42)\0"
+	"KEY_F(43)\0"
+	"KEY_F(44)\0"
+	"KEY_F(45)\0"
+	"KEY_F(46)\0"
+	"KEY_F(47)\0"
+	"KEY_F(48)\0"
+	"KEY_F(49)\0"
+	"KEY_F(5)\0"
+	"KEY_F(50)\0"
+	"KEY_F(51)\0"
+	"KEY_F(52)\0"
+	"KEY_F(53)\0"
+	"KEY_F(54)\0"
+	"KEY_F(55)\0"
+	"KEY_F(56)\0"
+	"KEY_F(57)\0"
+	"KEY_F(58)\0"
+	"KEY_F(59)\0"
+	"KEY_F(6)\0"
+	"KEY_F(60)\0"
+	"KEY_F(61)\0"
+	"KEY_F(62)\0"
+	"KEY_F(63)\0"
+	"KEY_F(7)\0"
+	"KEY_F(8)\0"
+	"KEY_F(9)\0"
+	"KEY_FIND\0"
+	"KEY_HELP\0"
+	"KEY_HOME\0"
+	"KEY_IC\0"
+	"KEY_IL\0"
+	"KEY_LEFT\0"
+	"KEY_LL\0"
+	"KEY_MARK\0"
+	"KEY_MESSAGE\0"
+	"KEY_MOUSE\0"
+	"KEY_MOVE\0"
+	"KEY_NEXT\0"
+	"KEY_NPAGE\0"
+	"KEY_OPEN\0"
+	"KEY_OPTIONS\0"
+	"KEY_PPAGE\0"
+	"KEY_PREVIOUS\0"
+	"KEY_PRINT\0"
+	"KEY_REDO\0"
+	"KEY_REFERENCE\0"
+	"KEY_REFRESH\0"
+	"KEY_REPLACE\0"
+	"KEY_RESET\0"
+	"KEY_RESIZE\0"
+	"KEY_RESTART\0"
+	"KEY_RESUME\0"
+	"KEY_RIGHT\0"
+	"KEY_SAVE\0"
+	"KEY_SBEG\0"
+	"KEY_SCANCEL\0"
+	"KEY_SCOMMAND\0"
+	"KEY_SCOPY\0"
+	"KEY_SCREATE\0"
+	"KEY_SDC\0"
+	"KEY_SDL\0"
+	"KEY_SELECT\0"
+	"KEY_SEND\0"
+	"KEY_SEOL\0"
+	"KEY_SEXIT\0"
+	"KEY_SF\0"
+	"KEY_SFIND\0"
+	"KEY_SHELP\0"
+	"KEY_SHOME\0"
+	"KEY_SIC\0"
+	"KEY_SLEFT\0"
+	"KEY_SMESSAGE\0"
+	"KEY_SMOVE\0"
+	"KEY_SNEXT\0"
+	"KEY_SOPTIONS\0"
+	"KEY_SPREVIOUS\0"
+	"KEY_SPRINT\0"
+	"KEY_SR\0"
+	"KEY_SREDO\0"
+	"KEY_SREPLACE\0"
+	"KEY_SRESET\0"
+	"KEY_SRIGHT\0"
+	"KEY_SRSUME\0"
+	"KEY_SSAVE\0"
+	"KEY_SSUSPEND\0"
+	"KEY_STAB\0"
+	"KEY_SUNDO\0"
+	"KEY_SUSPEND\0"
+	"KEY_UNDO\0"
+	"KEY_UP\0";
+
+#define SIZEOF_TABLE 256
+#define MyTable _nc_globals.keyname_table
+#define MyInit  _nc_globals.init_keyname
+
+NCURSES_EXPORT(NCURSES_CONST char *)
+safe_keyname (SCREEN *sp, int c)
+{
+	char name[20];
+	NCURSES_CONST char *result = 0;
+
+	if (c == -1) {
+		result = "-1";
+	} else {
+		int i;
+		for (i = 0; _nc_key_names[i].offset != -1; i++) {
+			if (_nc_key_names[i].code == c) {
+				result = (NCURSES_CONST char *)key_names + _nc_key_names[i].offset;
+				break;
+			}
+		}
+
+		if (result == 0 && (c >= 0 && c < SIZEOF_TABLE)) {
+			if (MyTable == 0)
+				MyTable = typeCalloc(char *, SIZEOF_TABLE);
+
+			if (MyTable != 0) {
+				int m_prefix = (sp == 0 || sp->_use_meta);
+
+				/* if sense of meta() changed, discard cached data */
+				if (MyInit != (m_prefix + 1)) {
+					MyInit = m_prefix + 1;
+					for (i = 0; i < SIZEOF_TABLE; ++i) {
+						if (MyTable[i]) {
+							FreeAndNull(MyTable[i]);
+						}
+					}
+				}
+
+				/* create and cache result as needed */
+				if (MyTable[c] == 0) {
+					int cc = c;
+					char *p = name;
+#define P_LIMIT (sizeof(name) - (size_t) (p - name))
+					if (cc >= 128 && m_prefix) {
+						_nc_STRCPY(p, "M-", P_LIMIT);
+						p += 2;
+						cc -= 128;
+					}
+					if (cc < 32)
+						_nc_SPRINTF(p, _nc_SLIMIT(P_LIMIT) "^%c", cc + '@');
+					else if (cc == 127)
+						_nc_STRCPY(p, "^?", P_LIMIT);
+					else
+						_nc_SPRINTF(p, _nc_SLIMIT(P_LIMIT) "%c", cc);
+					MyTable[c] = strdup(name);
+				}
+				result = MyTable[c];
+			}
+#if NCURSES_EXT_FUNCS && NCURSES_XNAMES
+		} else if (result == 0 && HasTerminal(sp)) {
+			int j, k;
+			char * bound;
+			TERMTYPE2 *tp = &TerminalType(TerminalOf(sp));
+			unsigned save_trace = _nc_tracing;
+
+			_nc_tracing = 0;	/* prevent recursion via keybound() */
+			for (j = 0; (bound = NCURSES_SP_NAME(keybound)(NCURSES_SP_ARGx c, j)) != 0; ++j) {
+				for(k = STRCOUNT; k < (int) NUM_STRINGS(tp);  k++) {
+					if (tp->Strings[k] != 0 && !strcmp(bound, tp->Strings[k])) {
+						result = ExtStrname(tp, k, strnames);
+						break;
+					}
+				}
+				free(bound);
+				if (result != 0)
+					break;
+			}
+			_nc_tracing = save_trace;
+#endif
+		}
+	}
+	return result;
+}
+
+NCURSES_EXPORT(NCURSES_CONST char *)
+keyname (int c)
+{
+	return safe_keyname (CURRENT_SCREEN, c);
+}
+
+#if NO_LEAKS
+void _nc_keyname_leaks(void)
+{
+	if (MyTable != 0) {
+		int j;
+		for (j = 0; j < SIZEOF_TABLE; ++j) {
+			FreeIfNeeded(MyTable[j]);
+		}
+		FreeAndNull(MyTable);
+	}
+}
+#endif /* NO_LEAKS */
diff --git a/ncurses/link_test.c b/ncurses/link_test.c
new file mode 100644
index 0000000..064b32f
--- /dev/null
+++ b/ncurses/link_test.c
@@ -0,0 +1,4128 @@
+/* This file was generated by ./base/MKlib_gen.sh implemented */
+
+/*
+ * DO NOT EDIT THIS FILE BY HAND!
+ */
+#define NCURSES_ATTR_T int
+#include <ncurses_cfg.h>
+
+#undef NCURSES_NOMACROS /* _this_ file uses macros */
+#define NCURSES_NOMACROS 1
+
+#include <curses.priv.h>
+
+extern int call_addch (const chtype z);
+int call_addch (const chtype z)
+{
+	T((T_CALLED("addch(%s)"), _tracechtype2(0,z)));
+	returnCode(addch(z));
+}
+extern int call_addchnstr (const chtype * a1, int z);
+int call_addchnstr (const chtype * a1, int z)
+{
+	T((T_CALLED("addchnstr(%p,%d)"), (const void *)a1, z));
+	returnCode(addchnstr(a1, z));
+}
+extern int call_addchstr (const chtype * z);
+int call_addchstr (const chtype * z)
+{
+	T((T_CALLED("addchstr(%p)"), (const void *)z));
+	returnCode(addchstr(z));
+}
+extern int call_addnstr (const char * a1, int z);
+int call_addnstr (const char * a1, int z)
+{
+	T((T_CALLED("addnstr(%s,%d)"), _nc_visbuf2(0,a1), z));
+	returnCode(addnstr(a1, z));
+}
+extern int call_addstr (const char * z);
+int call_addstr (const char * z)
+{
+	T((T_CALLED("addstr(%s)"), _nc_visbuf2(0,z)));
+	returnCode(addstr(z));
+}
+extern int call_attroff (int z);
+int call_attroff (int z)
+{
+	T((T_CALLED("attroff(%s)"), _traceattr2(0,(chtype)z)));
+	returnCode(attroff(z));
+}
+extern int call_attron (int z);
+int call_attron (int z)
+{
+	T((T_CALLED("attron(%s)"), _traceattr2(0,(chtype)z)));
+	returnCode(attron(z));
+}
+extern int call_attrset (int z);
+int call_attrset (int z)
+{
+	T((T_CALLED("attrset(%s)"), _traceattr2(0,(chtype)z)));
+	returnIntAttr((attr_t)attrset(z));
+}
+extern int call_attr_get (attr_t * a1, short * a2, void * z);
+int call_attr_get (attr_t * a1, short * a2, void * z)
+{
+	T((T_CALLED("attr_get(%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)z));
+	returnCode(attr_get(a1, a2, z));
+}
+extern int call_attr_off (attr_t a1, void * z);
+int call_attr_off (attr_t a1, void * z)
+{
+	T((T_CALLED("attr_off(%s,%p)"), _traceattr2(0,a1), (const void *)z));
+	returnCode(attr_off(a1, z));
+}
+extern int call_attr_on (attr_t a1, void * z);
+int call_attr_on (attr_t a1, void * z)
+{
+	T((T_CALLED("attr_on(%s,%p)"), _traceattr2(0,a1), (const void *)z));
+	returnCode(attr_on(a1, z));
+}
+extern int call_attr_set (attr_t a1, short a2, void * z);
+int call_attr_set (attr_t a1, short a2, void * z)
+{
+	T((T_CALLED("attr_set(%s,%#lx,%p)"), _traceattr2(0,a1), (long)a2, (const void *)z));
+	returnCode(attr_set(a1, a2, z));
+}
+extern int call_baudrate (void);
+int call_baudrate (void)
+{
+	T((T_CALLED("baudrate()")));
+	returnCode(baudrate());
+}
+extern int call_beep (void);
+int call_beep (void)
+{
+	T((T_CALLED("beep()")));
+	returnCode(beep());
+}
+extern int call_bkgd (chtype z);
+int call_bkgd (chtype z)
+{
+	T((T_CALLED("bkgd(%s)"), _tracechtype2(0,z)));
+	returnCode(bkgd(z));
+}
+extern void call_bkgdset (chtype z);
+void call_bkgdset (chtype z)
+{
+	T((T_CALLED("bkgdset(%s)"), _tracechtype2(0,z)));
+	bkgdset(z);
+	returnVoid;
+}
+extern int call_border (chtype a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype z);
+int call_border (chtype a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype z)
+{
+	T((T_CALLED("border(%s,%s,%s,%s,%s,%s,%s,%s)"), _tracechtype2(0,a1), _tracechtype2(1,a2), _tracechtype2(2,a3), _tracechtype2(3,a4), _tracechtype2(4,a5), _tracechtype2(5,a6), _tracechtype2(6,a7), _tracechtype2(7,z)));
+	returnCode(border(a1, a2, a3, a4, a5, a6, a7, z));
+}
+extern int call_box (WINDOW * a1, chtype a2, chtype z);
+int call_box (WINDOW * a1, chtype a2, chtype z)
+{
+	T((T_CALLED("box(%p,%s,%s)"), (const void *)a1, _tracechtype2(1,a2), _tracechtype2(2,z)));
+	returnCode(box(a1, a2, z));
+}
+extern NCURSES_BOOL call_can_change_color (void);
+NCURSES_BOOL call_can_change_color (void)
+{
+	T((T_CALLED("can_change_color()")));
+	returnBool(can_change_color());
+}
+extern int call_cbreak (void);
+int call_cbreak (void)
+{
+	T((T_CALLED("cbreak()")));
+	returnCode(cbreak());
+}
+extern int call_chgat (int a1, attr_t a2, short a3, const void * z);
+int call_chgat (int a1, attr_t a2, short a3, const void * z)
+{
+	T((T_CALLED("chgat(%d,%s,%#lx,%p)"), a1, _traceattr2(1,a2), (long)a3, (const void *)z));
+	returnCode(chgat(a1, a2, a3, z));
+}
+extern int call_clear (void);
+int call_clear (void)
+{
+	T((T_CALLED("clear()")));
+	returnCode(clear());
+}
+extern int call_clearok (WINDOW * a1, NCURSES_BOOL z);
+int call_clearok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("clearok(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(clearok(a1, z));
+}
+extern int call_clrtobot (void);
+int call_clrtobot (void)
+{
+	T((T_CALLED("clrtobot()")));
+	returnCode(clrtobot());
+}
+extern int call_clrtoeol (void);
+int call_clrtoeol (void)
+{
+	T((T_CALLED("clrtoeol()")));
+	returnCode(clrtoeol());
+}
+extern int call_color_content (short a1, short * a2, short * a3, short * z);
+int call_color_content (short a1, short * a2, short * a3, short * z)
+{
+	T((T_CALLED("color_content(%#lx,%p,%p,%p)"), (long)a1, (const void *)a2, (const void *)a3, (const void *)z));
+	returnCode(color_content(a1, a2, a3, z));
+}
+extern int call_color_set (short a1, void * z);
+int call_color_set (short a1, void * z)
+{
+	T((T_CALLED("color_set(%#lx,%p)"), (long)a1, (const void *)z));
+	returnCode(color_set(a1, z));
+}
+extern int call_COLOR_PAIR (int z);
+int call_COLOR_PAIR (int z)
+{
+	T((T_CALLED("COLOR_PAIR(%d)"), z));
+	returnCode(COLOR_PAIR(z));
+}
+extern int call_copywin (const WINDOW * a1, WINDOW * a2, int a3, int a4, int a5, int a6, int a7, int a8, int z);
+int call_copywin (const WINDOW * a1, WINDOW * a2, int a3, int a4, int a5, int a6, int a7, int a8, int z)
+{
+	T((T_CALLED("copywin(%p,%p,%d,%d,%d,%d,%d,%d,%d)"), (const void *)a1, (const void *)a2, a3, a4, a5, a6, a7, a8, z));
+	returnCode(copywin(a1, a2, a3, a4, a5, a6, a7, a8, z));
+}
+extern int call_curs_set (int z);
+int call_curs_set (int z)
+{
+	T((T_CALLED("curs_set(%d)"), z));
+	returnCode(curs_set(z));
+}
+extern int call_def_prog_mode (void);
+int call_def_prog_mode (void)
+{
+	T((T_CALLED("def_prog_mode()")));
+	returnCode(def_prog_mode());
+}
+extern int call_def_shell_mode (void);
+int call_def_shell_mode (void)
+{
+	T((T_CALLED("def_shell_mode()")));
+	returnCode(def_shell_mode());
+}
+extern int call_delay_output (int z);
+int call_delay_output (int z)
+{
+	T((T_CALLED("delay_output(%d)"), z));
+	returnCode(delay_output(z));
+}
+extern int call_delch (void);
+int call_delch (void)
+{
+	T((T_CALLED("delch()")));
+	returnCode(delch());
+}
+extern void call_delscreen (struct screen * z);
+void call_delscreen (struct screen * z)
+{
+	T((T_CALLED("delscreen(%p)"), (const void *)z));
+	delscreen(z);
+	returnVoid;
+}
+extern int call_delwin (WINDOW * z);
+int call_delwin (WINDOW * z)
+{
+	T((T_CALLED("delwin(%p)"), (const void *)z));
+	returnCode(delwin(z));
+}
+extern int call_deleteln (void);
+int call_deleteln (void)
+{
+	T((T_CALLED("deleteln()")));
+	returnCode(deleteln());
+}
+extern WINDOW * call_derwin (WINDOW * a1, int a2, int a3, int a4, int z);
+WINDOW * call_derwin (WINDOW * a1, int a2, int a3, int a4, int z)
+{
+	T((T_CALLED("derwin(%p,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, z));
+	returnWin(derwin(a1, a2, a3, a4, z));
+}
+extern int call_doupdate (void);
+int call_doupdate (void)
+{
+	T((T_CALLED("doupdate()")));
+	returnCode(doupdate());
+}
+extern WINDOW * call_dupwin (WINDOW * z);
+WINDOW * call_dupwin (WINDOW * z)
+{
+	T((T_CALLED("dupwin(%p)"), (const void *)z));
+	returnWin(dupwin(z));
+}
+extern int call_echo (void);
+int call_echo (void)
+{
+	T((T_CALLED("echo()")));
+	returnCode(echo());
+}
+extern int call_echochar (const chtype z);
+int call_echochar (const chtype z)
+{
+	T((T_CALLED("echochar(%s)"), _tracechtype2(0,z)));
+	returnCode(echochar(z));
+}
+extern int call_erase (void);
+int call_erase (void)
+{
+	T((T_CALLED("erase()")));
+	returnCode(erase());
+}
+extern int call_endwin (void);
+int call_endwin (void)
+{
+	T((T_CALLED("endwin()")));
+	returnCode(endwin());
+}
+extern char call_erasechar (void);
+char call_erasechar (void)
+{
+	T((T_CALLED("erasechar()")));
+	returnCode(erasechar());
+}
+extern void call_filter (void);
+void call_filter (void)
+{
+	T((T_CALLED("filter()")));
+	filter();
+	returnVoid;
+}
+extern int call_flash (void);
+int call_flash (void)
+{
+	T((T_CALLED("flash()")));
+	returnCode(flash());
+}
+extern int call_flushinp (void);
+int call_flushinp (void)
+{
+	T((T_CALLED("flushinp()")));
+	returnCode(flushinp());
+}
+extern chtype call_getbkgd (WINDOW * z);
+chtype call_getbkgd (WINDOW * z)
+{
+	T((T_CALLED("getbkgd(%p)"), (const void *)z));
+	returnChtype(getbkgd(z));
+}
+extern int call_getch (void);
+int call_getch (void)
+{
+	T((T_CALLED("getch()")));
+	returnCode(getch());
+}
+extern int call_getnstr (char * a1, int z);
+int call_getnstr (char * a1, int z)
+{
+	T((T_CALLED("getnstr(%p,%d)"), _nc_visbuf2(0,a1), z));
+	returnCode(getnstr(a1, z));
+}
+extern int call_getstr (char * z);
+int call_getstr (char * z)
+{
+	T((T_CALLED("getstr(%p)"), _nc_visbuf2(0,z)));
+	returnCode(getstr(z));
+}
+extern WINDOW * call_getwin (FILE * z);
+WINDOW * call_getwin (FILE * z)
+{
+	T((T_CALLED("getwin(%p)"), (const void *)z));
+	returnWin(getwin(z));
+}
+extern int call_halfdelay (int z);
+int call_halfdelay (int z)
+{
+	T((T_CALLED("halfdelay(%d)"), z));
+	returnCode(halfdelay(z));
+}
+extern NCURSES_BOOL call_has_colors (void);
+NCURSES_BOOL call_has_colors (void)
+{
+	T((T_CALLED("has_colors()")));
+	returnBool(has_colors());
+}
+extern NCURSES_BOOL call_has_ic (void);
+NCURSES_BOOL call_has_ic (void)
+{
+	T((T_CALLED("has_ic()")));
+	returnBool(has_ic());
+}
+extern NCURSES_BOOL call_has_il (void);
+NCURSES_BOOL call_has_il (void)
+{
+	T((T_CALLED("has_il()")));
+	returnBool(has_il());
+}
+extern int call_hline (chtype a1, int z);
+int call_hline (chtype a1, int z)
+{
+	T((T_CALLED("hline(%s,%d)"), _tracechtype2(0,a1), z));
+	returnCode(hline(a1, z));
+}
+extern void call_idcok (WINDOW * a1, NCURSES_BOOL z);
+void call_idcok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("idcok(%p,%#lx)"), (const void *)a1, (long)z));
+	idcok(a1, z);
+	returnVoid;
+}
+extern int call_idlok (WINDOW * a1, NCURSES_BOOL z);
+int call_idlok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("idlok(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(idlok(a1, z));
+}
+extern void call_immedok (WINDOW * a1, NCURSES_BOOL z);
+void call_immedok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("immedok(%p,%#lx)"), (const void *)a1, (long)z));
+	immedok(a1, z);
+	returnVoid;
+}
+extern chtype call_inch (void);
+chtype call_inch (void)
+{
+	T((T_CALLED("inch()")));
+	returnChtype(inch());
+}
+extern int call_inchnstr (chtype * a1, int z);
+int call_inchnstr (chtype * a1, int z)
+{
+	T((T_CALLED("inchnstr(%p,%d)"), (const void *)a1, z));
+	returnCode(inchnstr(a1, z));
+}
+extern int call_inchstr (chtype * z);
+int call_inchstr (chtype * z)
+{
+	T((T_CALLED("inchstr(%p)"), (const void *)z));
+	returnCode(inchstr(z));
+}
+extern WINDOW * call_initscr (void);
+WINDOW * call_initscr (void)
+{
+	T((T_CALLED("initscr()")));
+	returnWin(initscr());
+}
+extern int call_init_color (short a1, short a2, short a3, short z);
+int call_init_color (short a1, short a2, short a3, short z)
+{
+	T((T_CALLED("init_color(%#lx,%#lx,%#lx,%#lx)"), (long)a1, (long)a2, (long)a3, (long)z));
+	returnCode(init_color(a1, a2, a3, z));
+}
+extern int call_init_pair (short a1, short a2, short z);
+int call_init_pair (short a1, short a2, short z)
+{
+	T((T_CALLED("init_pair(%#lx,%#lx,%#lx)"), (long)a1, (long)a2, (long)z));
+	returnCode(init_pair(a1, a2, z));
+}
+extern int call_innstr (char * a1, int z);
+int call_innstr (char * a1, int z)
+{
+	return innstr(a1, z) ;
+}
+extern int call_insch (chtype z);
+int call_insch (chtype z)
+{
+	T((T_CALLED("insch(%s)"), _tracechtype2(0,z)));
+	returnCode(insch(z));
+}
+extern int call_insdelln (int z);
+int call_insdelln (int z)
+{
+	T((T_CALLED("insdelln(%d)"), z));
+	returnCode(insdelln(z));
+}
+extern int call_insertln (void);
+int call_insertln (void)
+{
+	T((T_CALLED("insertln()")));
+	returnCode(insertln());
+}
+extern int call_insnstr (const char * a1, int z);
+int call_insnstr (const char * a1, int z)
+{
+	T((T_CALLED("insnstr(%s,%d)"), _nc_visbuf2(0,a1), z));
+	returnCode(insnstr(a1, z));
+}
+extern int call_insstr (const char * z);
+int call_insstr (const char * z)
+{
+	T((T_CALLED("insstr(%s)"), _nc_visbuf2(0,z)));
+	returnCode(insstr(z));
+}
+extern int call_instr (char * z);
+int call_instr (char * z)
+{
+	T((T_CALLED("instr(%s)"), _nc_visbuf2(0,z)));
+	returnCode(instr(z));
+}
+extern int call_intrflush (WINDOW * a1, NCURSES_BOOL z);
+int call_intrflush (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("intrflush(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(intrflush(a1, z));
+}
+extern NCURSES_BOOL call_isendwin (void);
+NCURSES_BOOL call_isendwin (void)
+{
+	T((T_CALLED("isendwin()")));
+	returnBool(isendwin());
+}
+extern NCURSES_BOOL call_is_linetouched (WINDOW * a1, int z);
+NCURSES_BOOL call_is_linetouched (WINDOW * a1, int z)
+{
+	T((T_CALLED("is_linetouched(%p,%d)"), (const void *)a1, z));
+	returnBool(is_linetouched(a1, z));
+}
+extern NCURSES_BOOL call_is_wintouched (WINDOW * z);
+NCURSES_BOOL call_is_wintouched (WINDOW * z)
+{
+	T((T_CALLED("is_wintouched(%p)"), (const void *)z));
+	returnBool(is_wintouched(z));
+}
+extern const char * call_keyname (int z);
+const char * call_keyname (int z)
+{
+	T((T_CALLED("keyname(%d)"), z));
+	returnCPtr(keyname(z));
+}
+extern int call_keypad (WINDOW * a1, NCURSES_BOOL z);
+int call_keypad (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("keypad(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(keypad(a1, z));
+}
+extern char call_killchar (void);
+char call_killchar (void)
+{
+	T((T_CALLED("killchar()")));
+	returnCode(killchar());
+}
+extern int call_leaveok (WINDOW * a1, NCURSES_BOOL z);
+int call_leaveok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("leaveok(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(leaveok(a1, z));
+}
+extern char * call_longname (void);
+char * call_longname (void)
+{
+	T((T_CALLED("longname()")));
+	returnPtr(longname());
+}
+extern int call_meta (WINDOW * a1, NCURSES_BOOL z);
+int call_meta (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("meta(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(meta(a1, z));
+}
+extern int call_move (int a1, int z);
+int call_move (int a1, int z)
+{
+	T((T_CALLED("move(%d,%d)"), a1, z));
+	returnCode(move(a1, z));
+}
+extern int call_mvaddch (int a1, int a2, const chtype z);
+int call_mvaddch (int a1, int a2, const chtype z)
+{
+	T((T_CALLED("mvaddch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z)));
+	returnCode(mvaddch(a1, a2, z));
+}
+extern int call_mvaddchnstr (int a1, int a2, const chtype * a3, int z);
+int call_mvaddchnstr (int a1, int a2, const chtype * a3, int z)
+{
+	T((T_CALLED("mvaddchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode(mvaddchnstr(a1, a2, a3, z));
+}
+extern int call_mvaddchstr (int a1, int a2, const chtype * z);
+int call_mvaddchstr (int a1, int a2, const chtype * z)
+{
+	T((T_CALLED("mvaddchstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvaddchstr(a1, a2, z));
+}
+extern int call_mvaddnstr (int a1, int a2, const char * a3, int z);
+int call_mvaddnstr (int a1, int a2, const char * a3, int z)
+{
+	T((T_CALLED("mvaddnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z));
+	returnCode(mvaddnstr(a1, a2, a3, z));
+}
+extern int call_mvaddstr (int a1, int a2, const char * z);
+int call_mvaddstr (int a1, int a2, const char * z)
+{
+	T((T_CALLED("mvaddstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z)));
+	returnCode(mvaddstr(a1, a2, z));
+}
+extern int call_mvchgat (int a1, int a2, int a3, attr_t a4, short a5, const void * z);
+int call_mvchgat (int a1, int a2, int a3, attr_t a4, short a5, const void * z)
+{
+	T((T_CALLED("mvchgat(%d,%d,%d,%s,%#lx,%p)"), a1, a2, a3, _traceattr2(3,a4), (long)a5, (const void *)z));
+	returnCode(mvchgat(a1, a2, a3, a4, a5, z));
+}
+extern int call_mvcur (int a1, int a2, int a3, int z);
+int call_mvcur (int a1, int a2, int a3, int z)
+{
+	T((T_CALLED("mvcur(%d,%d,%d,%d)"), a1, a2, a3, z));
+	returnCode(mvcur(a1, a2, a3, z));
+}
+extern int call_mvdelch (int a1, int z);
+int call_mvdelch (int a1, int z)
+{
+	T((T_CALLED("mvdelch(%d,%d)"), a1, z));
+	returnCode(mvdelch(a1, z));
+}
+extern int call_mvderwin (WINDOW * a1, int a2, int z);
+int call_mvderwin (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvderwin(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(mvderwin(a1, a2, z));
+}
+extern int call_mvgetch (int a1, int z);
+int call_mvgetch (int a1, int z)
+{
+	T((T_CALLED("mvgetch(%d,%d)"), a1, z));
+	returnCode(mvgetch(a1, z));
+}
+extern int call_mvgetnstr (int a1, int a2, char * a3, int z);
+int call_mvgetnstr (int a1, int a2, char * a3, int z)
+{
+	T((T_CALLED("mvgetnstr(%d,%d,%p,%d)"), a1, a2, _nc_visbuf2(2,a3), z));
+	returnCode(mvgetnstr(a1, a2, a3, z));
+}
+extern int call_mvgetstr (int a1, int a2, char * z);
+int call_mvgetstr (int a1, int a2, char * z)
+{
+	T((T_CALLED("mvgetstr(%d,%d,%p)"), a1, a2, _nc_visbuf2(2,z)));
+	returnCode(mvgetstr(a1, a2, z));
+}
+extern int call_mvhline (int a1, int a2, chtype a3, int z);
+int call_mvhline (int a1, int a2, chtype a3, int z)
+{
+	T((T_CALLED("mvhline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z));
+	returnCode(mvhline(a1, a2, a3, z));
+}
+extern chtype call_mvinch (int a1, int z);
+chtype call_mvinch (int a1, int z)
+{
+	T((T_CALLED("mvinch(%d,%d)"), a1, z));
+	returnChtype(mvinch(a1, z));
+}
+extern int call_mvinchnstr (int a1, int a2, chtype * a3, int z);
+int call_mvinchnstr (int a1, int a2, chtype * a3, int z)
+{
+	T((T_CALLED("mvinchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode(mvinchnstr(a1, a2, a3, z));
+}
+extern int call_mvinchstr (int a1, int a2, chtype * z);
+int call_mvinchstr (int a1, int a2, chtype * z)
+{
+	T((T_CALLED("mvinchstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvinchstr(a1, a2, z));
+}
+extern int call_mvinnstr (int a1, int a2, char * a3, int z);
+int call_mvinnstr (int a1, int a2, char * a3, int z)
+{
+	return mvinnstr(a1, a2, a3, z) ;
+}
+extern int call_mvinsch (int a1, int a2, chtype z);
+int call_mvinsch (int a1, int a2, chtype z)
+{
+	T((T_CALLED("mvinsch(%d,%d,%s)"), a1, a2, _tracechtype2(2,z)));
+	returnCode(mvinsch(a1, a2, z));
+}
+extern int call_mvinsnstr (int a1, int a2, const char * a3, int z);
+int call_mvinsnstr (int a1, int a2, const char * a3, int z)
+{
+	T((T_CALLED("mvinsnstr(%d,%d,%s,%d)"), a1, a2, _nc_visbuf2(2,a3), z));
+	returnCode(mvinsnstr(a1, a2, a3, z));
+}
+extern int call_mvinsstr (int a1, int a2, const char * z);
+int call_mvinsstr (int a1, int a2, const char * z)
+{
+	T((T_CALLED("mvinsstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z)));
+	returnCode(mvinsstr(a1, a2, z));
+}
+extern int call_mvinstr (int a1, int a2, char * z);
+int call_mvinstr (int a1, int a2, char * z)
+{
+	T((T_CALLED("mvinstr(%d,%d,%s)"), a1, a2, _nc_visbuf2(2,z)));
+	returnCode(mvinstr(a1, a2, z));
+}
+extern int call_mvvline (int a1, int a2, chtype a3, int z);
+int call_mvvline (int a1, int a2, chtype a3, int z)
+{
+	T((T_CALLED("mvvline(%d,%d,%s,%d)"), a1, a2, _tracechtype2(2,a3), z));
+	returnCode(mvvline(a1, a2, a3, z));
+}
+extern int call_mvwaddch (WINDOW * a1, int a2, int a3, const chtype z);
+int call_mvwaddch (WINDOW * a1, int a2, int a3, const chtype z)
+{
+	T((T_CALLED("mvwaddch(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _tracechtype2(3,z)));
+	returnCode(mvwaddch(a1, a2, a3, z));
+}
+extern int call_mvwaddchnstr (WINDOW * a1, int a2, int a3, const chtype * a4, int z);
+int call_mvwaddchnstr (WINDOW * a1, int a2, int a3, const chtype * a4, int z)
+{
+	T((T_CALLED("mvwaddchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode(mvwaddchnstr(a1, a2, a3, a4, z));
+}
+extern int call_mvwaddchstr (WINDOW * a1, int a2, int a3, const chtype * z);
+int call_mvwaddchstr (WINDOW * a1, int a2, int a3, const chtype * z)
+{
+	T((T_CALLED("mvwaddchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwaddchstr(a1, a2, a3, z));
+}
+extern int call_mvwaddnstr (WINDOW * a1, int a2, int a3, const char * a4, int z);
+int call_mvwaddnstr (WINDOW * a1, int a2, int a3, const char * a4, int z)
+{
+	T((T_CALLED("mvwaddnstr(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z));
+	returnCode(mvwaddnstr(a1, a2, a3, a4, z));
+}
+extern int call_mvwaddstr (WINDOW * a1, int a2, int a3, const char * z);
+int call_mvwaddstr (WINDOW * a1, int a2, int a3, const char * z)
+{
+	T((T_CALLED("mvwaddstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z)));
+	returnCode(mvwaddstr(a1, a2, a3, z));
+}
+extern int call_mvwchgat (WINDOW * a1, int a2, int a3, int a4, attr_t a5, short a6, const void * z);
+int call_mvwchgat (WINDOW * a1, int a2, int a3, int a4, attr_t a5, short a6, const void * z)
+{
+	T((T_CALLED("mvwchgat(%p,%d,%d,%d,%s,%#lx,%p)"), (const void *)a1, a2, a3, a4, _traceattr2(4,a5), (long)a6, (const void *)z));
+	returnCode(mvwchgat(a1, a2, a3, a4, a5, a6, z));
+}
+extern int call_mvwdelch (WINDOW * a1, int a2, int z);
+int call_mvwdelch (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwdelch(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(mvwdelch(a1, a2, z));
+}
+extern int call_mvwgetch (WINDOW * a1, int a2, int z);
+int call_mvwgetch (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwgetch(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(mvwgetch(a1, a2, z));
+}
+extern int call_mvwgetnstr (WINDOW * a1, int a2, int a3, char * a4, int z);
+int call_mvwgetnstr (WINDOW * a1, int a2, int a3, char * a4, int z)
+{
+	T((T_CALLED("mvwgetnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z));
+	returnCode(mvwgetnstr(a1, a2, a3, a4, z));
+}
+extern int call_mvwgetstr (WINDOW * a1, int a2, int a3, char * z);
+int call_mvwgetstr (WINDOW * a1, int a2, int a3, char * z)
+{
+	T((T_CALLED("mvwgetstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z)));
+	returnCode(mvwgetstr(a1, a2, a3, z));
+}
+extern int call_mvwhline (WINDOW * a1, int a2, int a3, chtype a4, int z);
+int call_mvwhline (WINDOW * a1, int a2, int a3, chtype a4, int z)
+{
+	T((T_CALLED("mvwhline(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _tracechtype2(3,a4), z));
+	returnCode(mvwhline(a1, a2, a3, a4, z));
+}
+extern int call_mvwin (WINDOW * a1, int a2, int z);
+int call_mvwin (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwin(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(mvwin(a1, a2, z));
+}
+extern chtype call_mvwinch (WINDOW * a1, int a2, int z);
+chtype call_mvwinch (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("mvwinch(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnChtype(mvwinch(a1, a2, z));
+}
+extern int call_mvwinchnstr (WINDOW * a1, int a2, int a3, chtype * a4, int z);
+int call_mvwinchnstr (WINDOW * a1, int a2, int a3, chtype * a4, int z)
+{
+	T((T_CALLED("mvwinchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode(mvwinchnstr(a1, a2, a3, a4, z));
+}
+extern int call_mvwinchstr (WINDOW * a1, int a2, int a3, chtype * z);
+int call_mvwinchstr (WINDOW * a1, int a2, int a3, chtype * z)
+{
+	T((T_CALLED("mvwinchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwinchstr(a1, a2, a3, z));
+}
+extern int call_mvwinnstr (WINDOW * a1, int a2, int a3, char * a4, int z);
+int call_mvwinnstr (WINDOW * a1, int a2, int a3, char * a4, int z)
+{
+	return mvwinnstr(a1, a2, a3, a4, z) ;
+}
+extern int call_mvwinsch (WINDOW * a1, int a2, int a3, chtype z);
+int call_mvwinsch (WINDOW * a1, int a2, int a3, chtype z)
+{
+	T((T_CALLED("mvwinsch(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _tracechtype2(3,z)));
+	returnCode(mvwinsch(a1, a2, a3, z));
+}
+extern int call_mvwinsnstr (WINDOW * a1, int a2, int a3, const char * a4, int z);
+int call_mvwinsnstr (WINDOW * a1, int a2, int a3, const char * a4, int z)
+{
+	T((T_CALLED("mvwinsnstr(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _nc_visbuf2(3,a4), z));
+	returnCode(mvwinsnstr(a1, a2, a3, a4, z));
+}
+extern int call_mvwinsstr (WINDOW * a1, int a2, int a3, const char * z);
+int call_mvwinsstr (WINDOW * a1, int a2, int a3, const char * z)
+{
+	T((T_CALLED("mvwinsstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z)));
+	returnCode(mvwinsstr(a1, a2, a3, z));
+}
+extern int call_mvwinstr (WINDOW * a1, int a2, int a3, char * z);
+int call_mvwinstr (WINDOW * a1, int a2, int a3, char * z)
+{
+	T((T_CALLED("mvwinstr(%p,%d,%d,%s)"), (const void *)a1, a2, a3, _nc_visbuf2(3,z)));
+	returnCode(mvwinstr(a1, a2, a3, z));
+}
+extern int call_mvwvline (WINDOW * a1, int a2, int a3, chtype a4, int z);
+int call_mvwvline (WINDOW * a1, int a2, int a3, chtype a4, int z)
+{
+	T((T_CALLED("mvwvline(%p,%d,%d,%s,%d)"), (const void *)a1, a2, a3, _tracechtype2(3,a4), z));
+	returnCode(mvwvline(a1, a2, a3, a4, z));
+}
+extern int call_napms (int z);
+int call_napms (int z)
+{
+	T((T_CALLED("napms(%d)"), z));
+	returnCode(napms(z));
+}
+extern WINDOW * call_newpad (int a1, int z);
+WINDOW * call_newpad (int a1, int z)
+{
+	T((T_CALLED("newpad(%d,%d)"), a1, z));
+	returnWin(newpad(a1, z));
+}
+extern struct screen * call_newterm (const char * a1, FILE * a2, FILE * z);
+struct screen * call_newterm (const char * a1, FILE * a2, FILE * z)
+{
+	T((T_CALLED("newterm(%s,%p,%p)"), _nc_visbuf2(0,a1), (const void *)a2, (const void *)z));
+	returnSP(newterm(a1, a2, z));
+}
+extern WINDOW * call_newwin (int a1, int a2, int a3, int z);
+WINDOW * call_newwin (int a1, int a2, int a3, int z)
+{
+	T((T_CALLED("newwin(%d,%d,%d,%d)"), a1, a2, a3, z));
+	returnWin(newwin(a1, a2, a3, z));
+}
+extern int call_nl (void);
+int call_nl (void)
+{
+	T((T_CALLED("nl()")));
+	returnCode(nl());
+}
+extern int call_nocbreak (void);
+int call_nocbreak (void)
+{
+	T((T_CALLED("nocbreak()")));
+	returnCode(nocbreak());
+}
+extern int call_nodelay (WINDOW * a1, NCURSES_BOOL z);
+int call_nodelay (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("nodelay(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(nodelay(a1, z));
+}
+extern int call_noecho (void);
+int call_noecho (void)
+{
+	T((T_CALLED("noecho()")));
+	returnCode(noecho());
+}
+extern int call_nonl (void);
+int call_nonl (void)
+{
+	T((T_CALLED("nonl()")));
+	returnCode(nonl());
+}
+extern void call_noqiflush (void);
+void call_noqiflush (void)
+{
+	T((T_CALLED("noqiflush()")));
+	noqiflush();
+	returnVoid;
+}
+extern int call_noraw (void);
+int call_noraw (void)
+{
+	T((T_CALLED("noraw()")));
+	returnCode(noraw());
+}
+extern int call_notimeout (WINDOW * a1, NCURSES_BOOL z);
+int call_notimeout (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("notimeout(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(notimeout(a1, z));
+}
+extern int call_overlay (const WINDOW * a1, WINDOW * z);
+int call_overlay (const WINDOW * a1, WINDOW * z)
+{
+	T((T_CALLED("overlay(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(overlay(a1, z));
+}
+extern int call_overwrite (const WINDOW * a1, WINDOW * z);
+int call_overwrite (const WINDOW * a1, WINDOW * z)
+{
+	T((T_CALLED("overwrite(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(overwrite(a1, z));
+}
+extern int call_pair_content (short a1, short * a2, short * z);
+int call_pair_content (short a1, short * a2, short * z)
+{
+	T((T_CALLED("pair_content(%#lx,%p,%p)"), (long)a1, (const void *)a2, (const void *)z));
+	returnCode(pair_content(a1, a2, z));
+}
+extern int call_PAIR_NUMBER (int z);
+int call_PAIR_NUMBER (int z)
+{
+	T((T_CALLED("PAIR_NUMBER(%d)"), z));
+	returnCode(PAIR_NUMBER(z));
+}
+extern int call_pechochar (WINDOW * a1, const chtype z);
+int call_pechochar (WINDOW * a1, const chtype z)
+{
+	T((T_CALLED("pechochar(%p,%s)"), (const void *)a1, _tracechtype2(1,z)));
+	returnCode(pechochar(a1, z));
+}
+extern int call_pnoutrefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z);
+int call_pnoutrefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z)
+{
+	T((T_CALLED("pnoutrefresh(%p,%d,%d,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, a5, a6, z));
+	returnCode(pnoutrefresh(a1, a2, a3, a4, a5, a6, z));
+}
+extern int call_prefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z);
+int call_prefresh (WINDOW * a1, int a2, int a3, int a4, int a5, int a6, int z)
+{
+	T((T_CALLED("prefresh(%p,%d,%d,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, a5, a6, z));
+	returnCode(prefresh(a1, a2, a3, a4, a5, a6, z));
+}
+extern int call_putwin (WINDOW * a1, FILE * z);
+int call_putwin (WINDOW * a1, FILE * z)
+{
+	T((T_CALLED("putwin(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(putwin(a1, z));
+}
+extern void call_qiflush (void);
+void call_qiflush (void)
+{
+	T((T_CALLED("qiflush()")));
+	qiflush();
+	returnVoid;
+}
+extern int call_raw (void);
+int call_raw (void)
+{
+	T((T_CALLED("raw()")));
+	returnCode(raw());
+}
+extern int call_redrawwin (WINDOW * z);
+int call_redrawwin (WINDOW * z)
+{
+	T((T_CALLED("redrawwin(%p)"), (const void *)z));
+	returnCode(redrawwin(z));
+}
+extern int call_refresh (void);
+int call_refresh (void)
+{
+	T((T_CALLED("refresh()")));
+	returnCode(refresh());
+}
+extern int call_resetty (void);
+int call_resetty (void)
+{
+	T((T_CALLED("resetty()")));
+	returnCode(resetty());
+}
+extern int call_reset_prog_mode (void);
+int call_reset_prog_mode (void)
+{
+	T((T_CALLED("reset_prog_mode()")));
+	returnCode(reset_prog_mode());
+}
+extern int call_reset_shell_mode (void);
+int call_reset_shell_mode (void)
+{
+	T((T_CALLED("reset_shell_mode()")));
+	returnCode(reset_shell_mode());
+}
+extern int call_ripoffline (int a1, int(* z)(WINDOW * a2, int));
+int call_ripoffline (int a1, int(* z)(WINDOW * a2, int))
+{
+	return ripoffline(a1, z) ;
+}
+extern int call_savetty (void);
+int call_savetty (void)
+{
+	T((T_CALLED("savetty()")));
+	returnCode(savetty());
+}
+extern int call_scr_dump (const char * z);
+int call_scr_dump (const char * z)
+{
+	T((T_CALLED("scr_dump(%s)"), _nc_visbuf2(0,z)));
+	returnCode(scr_dump(z));
+}
+extern int call_scr_init (const char * z);
+int call_scr_init (const char * z)
+{
+	T((T_CALLED("scr_init(%s)"), _nc_visbuf2(0,z)));
+	returnCode(scr_init(z));
+}
+extern int call_scrl (int z);
+int call_scrl (int z)
+{
+	T((T_CALLED("scrl(%d)"), z));
+	returnCode(scrl(z));
+}
+extern int call_scroll (WINDOW * z);
+int call_scroll (WINDOW * z)
+{
+	T((T_CALLED("scroll(%p)"), (const void *)z));
+	returnCode(scroll(z));
+}
+extern int call_scrollok (WINDOW * a1, NCURSES_BOOL z);
+int call_scrollok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("scrollok(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(scrollok(a1, z));
+}
+extern int call_scr_restore (const char * z);
+int call_scr_restore (const char * z)
+{
+	T((T_CALLED("scr_restore(%s)"), _nc_visbuf2(0,z)));
+	returnCode(scr_restore(z));
+}
+extern int call_scr_set (const char * z);
+int call_scr_set (const char * z)
+{
+	T((T_CALLED("scr_set(%s)"), _nc_visbuf2(0,z)));
+	returnCode(scr_set(z));
+}
+extern int call_setscrreg (int a1, int z);
+int call_setscrreg (int a1, int z)
+{
+	T((T_CALLED("setscrreg(%d,%d)"), a1, z));
+	returnCode(setscrreg(a1, z));
+}
+extern struct screen * call_set_term (struct screen * z);
+struct screen * call_set_term (struct screen * z)
+{
+	T((T_CALLED("set_term(%p)"), (const void *)z));
+	returnSP(set_term(z));
+}
+extern int call_slk_attroff (const chtype z);
+int call_slk_attroff (const chtype z)
+{
+	T((T_CALLED("slk_attroff(%s)"), _tracechtype2(0,z)));
+	returnCode(slk_attroff(z));
+}
+#if USE_WIDEC_SUPPORT
+extern int call_slk_attr_off (const attr_t a1, void * z);
+int call_slk_attr_off (const attr_t a1, void * z)
+{
+	T((T_CALLED("slk_attr_off(%s,%p)"), _traceattr2(0,a1), (const void *)z));
+	returnCode(slk_attr_off(a1, z));
+}
+#endif
+extern int call_slk_attron (const chtype z);
+int call_slk_attron (const chtype z)
+{
+	T((T_CALLED("slk_attron(%s)"), _tracechtype2(0,z)));
+	returnCode(slk_attron(z));
+}
+#if USE_WIDEC_SUPPORT
+extern int call_slk_attr_on (attr_t a1, void * z);
+int call_slk_attr_on (attr_t a1, void * z)
+{
+	T((T_CALLED("slk_attr_on(%s,%p)"), _traceattr2(0,a1), (const void *)z));
+	returnCode(slk_attr_on(a1, z));
+}
+#endif
+extern int call_slk_attrset (const chtype z);
+int call_slk_attrset (const chtype z)
+{
+	T((T_CALLED("slk_attrset(%s)"), _tracechtype2(0,z)));
+	returnCode(slk_attrset(z));
+}
+extern attr_t call_slk_attr (void);
+attr_t call_slk_attr (void)
+{
+	T((T_CALLED("slk_attr()")));
+	returnIntAttr((attr_t)slk_attr());
+}
+extern int call_slk_attr_set (const attr_t a1, short a2, void * z);
+int call_slk_attr_set (const attr_t a1, short a2, void * z)
+{
+	T((T_CALLED("slk_attr_set(%s,%#lx,%p)"), _traceattr2(0,a1), (long)a2, (const void *)z));
+	returnCode(slk_attr_set(a1, a2, z));
+}
+extern int call_slk_clear (void);
+int call_slk_clear (void)
+{
+	T((T_CALLED("slk_clear()")));
+	returnCode(slk_clear());
+}
+extern int call_slk_color (short z);
+int call_slk_color (short z)
+{
+	T((T_CALLED("slk_color(%#lx)"), (long)z));
+	returnCode(slk_color(z));
+}
+extern int call_slk_init (int z);
+int call_slk_init (int z)
+{
+	T((T_CALLED("slk_init(%d)"), z));
+	returnCode(slk_init(z));
+}
+extern char * call_slk_label (int z);
+char * call_slk_label (int z)
+{
+	T((T_CALLED("slk_label(%d)"), z));
+	returnPtr(slk_label(z));
+}
+extern int call_slk_noutrefresh (void);
+int call_slk_noutrefresh (void)
+{
+	T((T_CALLED("slk_noutrefresh()")));
+	returnCode(slk_noutrefresh());
+}
+extern int call_slk_refresh (void);
+int call_slk_refresh (void)
+{
+	T((T_CALLED("slk_refresh()")));
+	returnCode(slk_refresh());
+}
+extern int call_slk_restore (void);
+int call_slk_restore (void)
+{
+	T((T_CALLED("slk_restore()")));
+	returnCode(slk_restore());
+}
+extern int call_slk_set (int a1, const char * a2, int z);
+int call_slk_set (int a1, const char * a2, int z)
+{
+	T((T_CALLED("slk_set(%d,%s,%d)"), a1, _nc_visbuf2(1,a2), z));
+	returnCode(slk_set(a1, a2, z));
+}
+extern int call_slk_touch (void);
+int call_slk_touch (void)
+{
+	T((T_CALLED("slk_touch()")));
+	returnCode(slk_touch());
+}
+extern int call_standout (void);
+int call_standout (void)
+{
+	T((T_CALLED("standout()")));
+	returnIntAttr((attr_t)standout());
+}
+extern int call_standend (void);
+int call_standend (void)
+{
+	T((T_CALLED("standend()")));
+	returnIntAttr((attr_t)standend());
+}
+extern int call_start_color (void);
+int call_start_color (void)
+{
+	T((T_CALLED("start_color()")));
+	returnCode(start_color());
+}
+extern WINDOW * call_subpad (WINDOW * a1, int a2, int a3, int a4, int z);
+WINDOW * call_subpad (WINDOW * a1, int a2, int a3, int a4, int z)
+{
+	T((T_CALLED("subpad(%p,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, z));
+	returnWin(subpad(a1, a2, a3, a4, z));
+}
+extern WINDOW * call_subwin (WINDOW * a1, int a2, int a3, int a4, int z);
+WINDOW * call_subwin (WINDOW * a1, int a2, int a3, int a4, int z)
+{
+	T((T_CALLED("subwin(%p,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, z));
+	returnWin(subwin(a1, a2, a3, a4, z));
+}
+extern int call_syncok (WINDOW * a1, NCURSES_BOOL z);
+int call_syncok (WINDOW * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("syncok(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(syncok(a1, z));
+}
+extern chtype call_termattrs (void);
+chtype call_termattrs (void)
+{
+	T((T_CALLED("termattrs()")));
+	returnChtype(termattrs());
+}
+extern char * call_termname (void);
+char * call_termname (void)
+{
+	T((T_CALLED("termname()")));
+	returnPtr(termname());
+}
+extern void call_timeout (int z);
+void call_timeout (int z)
+{
+	T((T_CALLED("timeout(%d)"), z));
+	timeout(z);
+	returnVoid;
+}
+extern int call_touchline (WINDOW * a1, int a2, int z);
+int call_touchline (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("touchline(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(touchline(a1, a2, z));
+}
+extern int call_touchwin (WINDOW * z);
+int call_touchwin (WINDOW * z)
+{
+	T((T_CALLED("touchwin(%p)"), (const void *)z));
+	returnCode(touchwin(z));
+}
+extern int call_typeahead (int z);
+int call_typeahead (int z)
+{
+	T((T_CALLED("typeahead(%d)"), z));
+	returnCode(typeahead(z));
+}
+extern int call_ungetch (int z);
+int call_ungetch (int z)
+{
+	T((T_CALLED("ungetch(%d)"), z));
+	returnCode(ungetch(z));
+}
+extern int call_untouchwin (WINDOW * z);
+int call_untouchwin (WINDOW * z)
+{
+	T((T_CALLED("untouchwin(%p)"), (const void *)z));
+	returnCode(untouchwin(z));
+}
+extern void call_use_env (NCURSES_BOOL z);
+void call_use_env (NCURSES_BOOL z)
+{
+	T((T_CALLED("use_env(%#lx)"), (long)z));
+	use_env(z);
+	returnVoid;
+}
+extern void call_use_tioctl (NCURSES_BOOL z);
+void call_use_tioctl (NCURSES_BOOL z)
+{
+	T((T_CALLED("use_tioctl(%#lx)"), (long)z));
+	use_tioctl(z);
+	returnVoid;
+}
+extern int call_vidattr (chtype z);
+int call_vidattr (chtype z)
+{
+	T((T_CALLED("vidattr(%s)"), _tracechtype2(0,z)));
+	returnCode(vidattr(z));
+}
+extern int call_vidputs (chtype a1, NCURSES_OUTC z);
+int call_vidputs (chtype a1, NCURSES_OUTC z)
+{
+	T((T_CALLED("vidputs(%s,%#lx)"), _tracechtype2(0,a1), (long)z));
+	returnCode(vidputs(a1, z));
+}
+extern int call_vline (chtype a1, int z);
+int call_vline (chtype a1, int z)
+{
+	T((T_CALLED("vline(%s,%d)"), _tracechtype2(0,a1), z));
+	returnCode(vline(a1, z));
+}
+extern int call_waddch (WINDOW * a1, const chtype z);
+int call_waddch (WINDOW * a1, const chtype z)
+{
+	T((T_CALLED("waddch(%p,%s)"), (const void *)a1, _tracechtype2(1,z)));
+	returnCode(waddch(a1, z));
+}
+extern int call_waddchnstr (WINDOW * a1, const chtype * a2, int z);
+int call_waddchnstr (WINDOW * a1, const chtype * a2, int z)
+{
+	T((T_CALLED("waddchnstr(%p,%p,%d)"), (const void *)a1, (const void *)a2, z));
+	returnCode(waddchnstr(a1, a2, z));
+}
+extern int call_waddchstr (WINDOW * a1, const chtype * z);
+int call_waddchstr (WINDOW * a1, const chtype * z)
+{
+	T((T_CALLED("waddchstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(waddchstr(a1, z));
+}
+extern int call_waddnstr (WINDOW * a1, const char * a2, int z);
+int call_waddnstr (WINDOW * a1, const char * a2, int z)
+{
+	T((T_CALLED("waddnstr(%p,%s,%d)"), (const void *)a1, _nc_visbuf2(1,a2), z));
+	returnCode(waddnstr(a1, a2, z));
+}
+extern int call_waddstr (WINDOW * a1, const char * z);
+int call_waddstr (WINDOW * a1, const char * z)
+{
+	T((T_CALLED("waddstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(waddstr(a1, z));
+}
+extern int call_wattron (WINDOW * a1, int z);
+int call_wattron (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattron(%p,%d)"), (const void *)a1, z));
+	returnCode(wattron(a1, z));
+}
+extern int call_wattroff (WINDOW * a1, int z);
+int call_wattroff (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattroff(%p,%d)"), (const void *)a1, z));
+	returnCode(wattroff(a1, z));
+}
+extern int call_wattrset (WINDOW * a1, int z);
+int call_wattrset (WINDOW * a1, int z)
+{
+	T((T_CALLED("wattrset(%p,%d)"), (const void *)a1, z));
+	returnIntAttr((attr_t)wattrset(a1, z));
+}
+extern int call_wattr_get (WINDOW * a1, attr_t * a2, short * a3, void * z);
+int call_wattr_get (WINDOW * a1, attr_t * a2, short * a3, void * z)
+{
+	T((T_CALLED("wattr_get(%p,%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)a3, (const void *)z));
+	returnCode(wattr_get(a1, a2, a3, z));
+}
+extern int call_wattr_on (WINDOW * a1, attr_t a2, void * z);
+int call_wattr_on (WINDOW * a1, attr_t a2, void * z)
+{
+	T((T_CALLED("wattr_on(%p,%s,%p)"), (const void *)a1, _traceattr2(1,a2), (const void *)z));
+	returnCode(wattr_on(a1, a2, z));
+}
+extern int call_wattr_off (WINDOW * a1, attr_t a2, void * z);
+int call_wattr_off (WINDOW * a1, attr_t a2, void * z)
+{
+	T((T_CALLED("wattr_off(%p,%s,%p)"), (const void *)a1, _traceattr2(1,a2), (const void *)z));
+	returnCode(wattr_off(a1, a2, z));
+}
+extern int call_wattr_set (WINDOW * a1, attr_t a2, short a3, void * z);
+int call_wattr_set (WINDOW * a1, attr_t a2, short a3, void * z)
+{
+	T((T_CALLED("wattr_set(%p,%s,%#lx,%p)"), (const void *)a1, _traceattr2(1,a2), (long)a3, (const void *)z));
+	returnCode(wattr_set(a1, a2, a3, z));
+}
+extern int call_wbkgd (WINDOW * a1, chtype z);
+int call_wbkgd (WINDOW * a1, chtype z)
+{
+	T((T_CALLED("wbkgd(%p,%s)"), (const void *)a1, _tracechtype2(1,z)));
+	returnCode(wbkgd(a1, z));
+}
+extern void call_wbkgdset (WINDOW * a1, chtype z);
+void call_wbkgdset (WINDOW * a1, chtype z)
+{
+	T((T_CALLED("wbkgdset(%p,%s)"), (const void *)a1, _tracechtype2(1,z)));
+	wbkgdset(a1, z);
+	returnVoid;
+}
+extern int call_wborder (WINDOW * a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype a8, chtype z);
+int call_wborder (WINDOW * a1, chtype a2, chtype a3, chtype a4, chtype a5, chtype a6, chtype a7, chtype a8, chtype z)
+{
+	T((T_CALLED("wborder(%p,%s,%s,%s,%s,%s,%s,%s,%s)"), (const void *)a1, _tracechtype2(1,a2), _tracechtype2(2,a3), _tracechtype2(3,a4), _tracechtype2(4,a5), _tracechtype2(5,a6), _tracechtype2(6,a7), _tracechtype2(7,a8), _tracechtype2(8,z)));
+	returnCode(wborder(a1, a2, a3, a4, a5, a6, a7, a8, z));
+}
+extern int call_wchgat (WINDOW * a1, int a2, attr_t a3, short a4, const void * z);
+int call_wchgat (WINDOW * a1, int a2, attr_t a3, short a4, const void * z)
+{
+	T((T_CALLED("wchgat(%p,%d,%s,%#lx,%p)"), (const void *)a1, a2, _traceattr2(2,a3), (long)a4, (const void *)z));
+	returnCode(wchgat(a1, a2, a3, a4, z));
+}
+extern int call_wclear (WINDOW * z);
+int call_wclear (WINDOW * z)
+{
+	T((T_CALLED("wclear(%p)"), (const void *)z));
+	returnCode(wclear(z));
+}
+extern int call_wclrtobot (WINDOW * z);
+int call_wclrtobot (WINDOW * z)
+{
+	T((T_CALLED("wclrtobot(%p)"), (const void *)z));
+	returnCode(wclrtobot(z));
+}
+extern int call_wclrtoeol (WINDOW * z);
+int call_wclrtoeol (WINDOW * z)
+{
+	T((T_CALLED("wclrtoeol(%p)"), (const void *)z));
+	returnCode(wclrtoeol(z));
+}
+extern int call_wcolor_set (WINDOW * a1, short a2, void * z);
+int call_wcolor_set (WINDOW * a1, short a2, void * z)
+{
+	T((T_CALLED("wcolor_set(%p,%#lx,%p)"), (const void *)a1, (long)a2, (const void *)z));
+	returnCode(wcolor_set(a1, a2, z));
+}
+extern void call_wcursyncup (WINDOW * z);
+void call_wcursyncup (WINDOW * z)
+{
+	T((T_CALLED("wcursyncup(%p)"), (const void *)z));
+	wcursyncup(z);
+	returnVoid;
+}
+extern int call_wdelch (WINDOW * z);
+int call_wdelch (WINDOW * z)
+{
+	T((T_CALLED("wdelch(%p)"), (const void *)z));
+	returnCode(wdelch(z));
+}
+extern int call_wdeleteln (WINDOW * z);
+int call_wdeleteln (WINDOW * z)
+{
+	T((T_CALLED("wdeleteln(%p)"), (const void *)z));
+	returnCode(wdeleteln(z));
+}
+extern int call_wechochar (WINDOW * a1, const chtype z);
+int call_wechochar (WINDOW * a1, const chtype z)
+{
+	T((T_CALLED("wechochar(%p,%s)"), (const void *)a1, _tracechtype2(1,z)));
+	returnCode(wechochar(a1, z));
+}
+extern int call_werase (WINDOW * z);
+int call_werase (WINDOW * z)
+{
+	T((T_CALLED("werase(%p)"), (const void *)z));
+	returnCode(werase(z));
+}
+extern int call_wgetch (WINDOW * z);
+int call_wgetch (WINDOW * z)
+{
+	T((T_CALLED("wgetch(%p)"), (const void *)z));
+	returnCode(wgetch(z));
+}
+extern int call_wgetnstr (WINDOW * a1, char * a2, int z);
+int call_wgetnstr (WINDOW * a1, char * a2, int z)
+{
+	T((T_CALLED("wgetnstr(%p,%p,%d)"), (const void *)a1, _nc_visbuf2(1,a2), z));
+	returnCode(wgetnstr(a1, a2, z));
+}
+extern int call_wgetstr (WINDOW * a1, char * z);
+int call_wgetstr (WINDOW * a1, char * z)
+{
+	T((T_CALLED("wgetstr(%p,%p)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(wgetstr(a1, z));
+}
+extern int call_whline (WINDOW * a1, chtype a2, int z);
+int call_whline (WINDOW * a1, chtype a2, int z)
+{
+	T((T_CALLED("whline(%p,%s,%d)"), (const void *)a1, _tracechtype2(1,a2), z));
+	returnCode(whline(a1, a2, z));
+}
+extern chtype call_winch (WINDOW * z);
+chtype call_winch (WINDOW * z)
+{
+	T((T_CALLED("winch(%p)"), (const void *)z));
+	returnChtype(winch(z));
+}
+extern int call_winchnstr (WINDOW * a1, chtype * a2, int z);
+int call_winchnstr (WINDOW * a1, chtype * a2, int z)
+{
+	T((T_CALLED("winchnstr(%p,%p,%d)"), (const void *)a1, (const void *)a2, z));
+	returnCode(winchnstr(a1, a2, z));
+}
+extern int call_winchstr (WINDOW * a1, chtype * z);
+int call_winchstr (WINDOW * a1, chtype * z)
+{
+	T((T_CALLED("winchstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(winchstr(a1, z));
+}
+extern int call_winnstr (WINDOW * a1, char * a2, int z);
+int call_winnstr (WINDOW * a1, char * a2, int z)
+{
+	return winnstr(a1, a2, z) ;
+}
+extern int call_winsch (WINDOW * a1, chtype z);
+int call_winsch (WINDOW * a1, chtype z)
+{
+	T((T_CALLED("winsch(%p,%s)"), (const void *)a1, _tracechtype2(1,z)));
+	returnCode(winsch(a1, z));
+}
+extern int call_winsdelln (WINDOW * a1, int z);
+int call_winsdelln (WINDOW * a1, int z)
+{
+	T((T_CALLED("winsdelln(%p,%d)"), (const void *)a1, z));
+	returnCode(winsdelln(a1, z));
+}
+extern int call_winsertln (WINDOW * z);
+int call_winsertln (WINDOW * z)
+{
+	T((T_CALLED("winsertln(%p)"), (const void *)z));
+	returnCode(winsertln(z));
+}
+extern int call_winsnstr (WINDOW * a1, const char * a2, int z);
+int call_winsnstr (WINDOW * a1, const char * a2, int z)
+{
+	T((T_CALLED("winsnstr(%p,%s,%d)"), (const void *)a1, _nc_visbuf2(1,a2), z));
+	returnCode(winsnstr(a1, a2, z));
+}
+extern int call_winsstr (WINDOW * a1, const char * z);
+int call_winsstr (WINDOW * a1, const char * z)
+{
+	T((T_CALLED("winsstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(winsstr(a1, z));
+}
+extern int call_winstr (WINDOW * a1, char * z);
+int call_winstr (WINDOW * a1, char * z)
+{
+	T((T_CALLED("winstr(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(winstr(a1, z));
+}
+extern int call_wmove (WINDOW * a1, int a2, int z);
+int call_wmove (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("wmove(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(wmove(a1, a2, z));
+}
+extern int call_wnoutrefresh (WINDOW * z);
+int call_wnoutrefresh (WINDOW * z)
+{
+	T((T_CALLED("wnoutrefresh(%p)"), (const void *)z));
+	returnCode(wnoutrefresh(z));
+}
+extern int call_wredrawln (WINDOW * a1, int a2, int z);
+int call_wredrawln (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("wredrawln(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(wredrawln(a1, a2, z));
+}
+extern int call_wrefresh (WINDOW * z);
+int call_wrefresh (WINDOW * z)
+{
+	T((T_CALLED("wrefresh(%p)"), (const void *)z));
+	returnCode(wrefresh(z));
+}
+extern int call_wscrl (WINDOW * a1, int z);
+int call_wscrl (WINDOW * a1, int z)
+{
+	T((T_CALLED("wscrl(%p,%d)"), (const void *)a1, z));
+	returnCode(wscrl(a1, z));
+}
+extern int call_wsetscrreg (WINDOW * a1, int a2, int z);
+int call_wsetscrreg (WINDOW * a1, int a2, int z)
+{
+	T((T_CALLED("wsetscrreg(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(wsetscrreg(a1, a2, z));
+}
+extern int call_wstandout (WINDOW * z);
+int call_wstandout (WINDOW * z)
+{
+	T((T_CALLED("wstandout(%p)"), (const void *)z));
+	returnIntAttr((attr_t)wstandout(z));
+}
+extern int call_wstandend (WINDOW * z);
+int call_wstandend (WINDOW * z)
+{
+	T((T_CALLED("wstandend(%p)"), (const void *)z));
+	returnIntAttr((attr_t)wstandend(z));
+}
+extern void call_wsyncdown (WINDOW * z);
+void call_wsyncdown (WINDOW * z)
+{
+	T((T_CALLED("wsyncdown(%p)"), (const void *)z));
+	wsyncdown(z);
+	returnVoid;
+}
+extern void call_wsyncup (WINDOW * z);
+void call_wsyncup (WINDOW * z)
+{
+	T((T_CALLED("wsyncup(%p)"), (const void *)z));
+	wsyncup(z);
+	returnVoid;
+}
+extern void call_wtimeout (WINDOW * a1, int z);
+void call_wtimeout (WINDOW * a1, int z)
+{
+	T((T_CALLED("wtimeout(%p,%d)"), (const void *)a1, z));
+	wtimeout(a1, z);
+	returnVoid;
+}
+extern int call_wtouchln (WINDOW * a1, int a2, int a3, int z);
+int call_wtouchln (WINDOW * a1, int a2, int a3, int z)
+{
+	T((T_CALLED("wtouchln(%p,%d,%d,%d)"), (const void *)a1, a2, a3, z));
+	returnCode(wtouchln(a1, a2, a3, z));
+}
+extern int call_wvline (WINDOW * a1, chtype a2, int z);
+int call_wvline (WINDOW * a1, chtype a2, int z)
+{
+	T((T_CALLED("wvline(%p,%s,%d)"), (const void *)a1, _tracechtype2(1,a2), z));
+	returnCode(wvline(a1, a2, z));
+}
+extern int call_tigetflag (const char * z);
+int call_tigetflag (const char * z)
+{
+	T((T_CALLED("tigetflag(%s)"), _nc_visbuf2(0,z)));
+	returnCode(tigetflag(z));
+}
+extern int call_tigetnum (const char * z);
+int call_tigetnum (const char * z)
+{
+	T((T_CALLED("tigetnum(%s)"), _nc_visbuf2(0,z)));
+	returnCode(tigetnum(z));
+}
+extern char * call_tigetstr (const char * z);
+char * call_tigetstr (const char * z)
+{
+	T((T_CALLED("tigetstr(%p)"), _nc_visbuf2(0,z)));
+	returnPtr(tigetstr(z));
+}
+extern int call_putp (const char * z);
+int call_putp (const char * z)
+{
+	T((T_CALLED("putp(%s)"), _nc_visbuf2(0,z)));
+	returnCode(putp(z));
+}
+extern int call_getattrs (const WINDOW * z);
+int call_getattrs (const WINDOW * z)
+{
+	T((T_CALLED("getattrs(%p)"), (const void *)z));
+	returnCode(getattrs(z));
+}
+extern int call_getcurx (const WINDOW * z);
+int call_getcurx (const WINDOW * z)
+{
+	T((T_CALLED("getcurx(%p)"), (const void *)z));
+	returnCode(getcurx(z));
+}
+extern int call_getcury (const WINDOW * z);
+int call_getcury (const WINDOW * z)
+{
+	T((T_CALLED("getcury(%p)"), (const void *)z));
+	returnCode(getcury(z));
+}
+extern int call_getbegx (const WINDOW * z);
+int call_getbegx (const WINDOW * z)
+{
+	T((T_CALLED("getbegx(%p)"), (const void *)z));
+	returnCode(getbegx(z));
+}
+extern int call_getbegy (const WINDOW * z);
+int call_getbegy (const WINDOW * z)
+{
+	T((T_CALLED("getbegy(%p)"), (const void *)z));
+	returnCode(getbegy(z));
+}
+extern int call_getmaxx (const WINDOW * z);
+int call_getmaxx (const WINDOW * z)
+{
+	T((T_CALLED("getmaxx(%p)"), (const void *)z));
+	returnCode(getmaxx(z));
+}
+extern int call_getmaxy (const WINDOW * z);
+int call_getmaxy (const WINDOW * z)
+{
+	T((T_CALLED("getmaxy(%p)"), (const void *)z));
+	returnCode(getmaxy(z));
+}
+extern int call_getparx (const WINDOW * z);
+int call_getparx (const WINDOW * z)
+{
+	T((T_CALLED("getparx(%p)"), (const void *)z));
+	returnCode(getparx(z));
+}
+extern int call_getpary (const WINDOW * z);
+int call_getpary (const WINDOW * z)
+{
+	T((T_CALLED("getpary(%p)"), (const void *)z));
+	returnCode(getpary(z));
+}
+extern WINDOW * call_wgetparent (const WINDOW * z);
+WINDOW * call_wgetparent (const WINDOW * z)
+{
+	T((T_CALLED("wgetparent(%p)"), (const void *)z));
+	returnWin(wgetparent(z));
+}
+extern NCURSES_BOOL call_is_cleared (const WINDOW * z);
+NCURSES_BOOL call_is_cleared (const WINDOW * z)
+{
+	T((T_CALLED("is_cleared(%p)"), (const void *)z));
+	returnBool(is_cleared(z));
+}
+extern NCURSES_BOOL call_is_idcok (const WINDOW * z);
+NCURSES_BOOL call_is_idcok (const WINDOW * z)
+{
+	T((T_CALLED("is_idcok(%p)"), (const void *)z));
+	returnBool(is_idcok(z));
+}
+extern NCURSES_BOOL call_is_idlok (const WINDOW * z);
+NCURSES_BOOL call_is_idlok (const WINDOW * z)
+{
+	T((T_CALLED("is_idlok(%p)"), (const void *)z));
+	returnBool(is_idlok(z));
+}
+extern NCURSES_BOOL call_is_immedok (const WINDOW * z);
+NCURSES_BOOL call_is_immedok (const WINDOW * z)
+{
+	T((T_CALLED("is_immedok(%p)"), (const void *)z));
+	returnBool(is_immedok(z));
+}
+extern NCURSES_BOOL call_is_keypad (const WINDOW * z);
+NCURSES_BOOL call_is_keypad (const WINDOW * z)
+{
+	T((T_CALLED("is_keypad(%p)"), (const void *)z));
+	returnBool(is_keypad(z));
+}
+extern NCURSES_BOOL call_is_leaveok (const WINDOW * z);
+NCURSES_BOOL call_is_leaveok (const WINDOW * z)
+{
+	T((T_CALLED("is_leaveok(%p)"), (const void *)z));
+	returnBool(is_leaveok(z));
+}
+extern NCURSES_BOOL call_is_nodelay (const WINDOW * z);
+NCURSES_BOOL call_is_nodelay (const WINDOW * z)
+{
+	T((T_CALLED("is_nodelay(%p)"), (const void *)z));
+	returnBool(is_nodelay(z));
+}
+extern NCURSES_BOOL call_is_notimeout (const WINDOW * z);
+NCURSES_BOOL call_is_notimeout (const WINDOW * z)
+{
+	T((T_CALLED("is_notimeout(%p)"), (const void *)z));
+	returnBool(is_notimeout(z));
+}
+extern NCURSES_BOOL call_is_pad (const WINDOW * z);
+NCURSES_BOOL call_is_pad (const WINDOW * z)
+{
+	T((T_CALLED("is_pad(%p)"), (const void *)z));
+	returnBool(is_pad(z));
+}
+extern NCURSES_BOOL call_is_scrollok (const WINDOW * z);
+NCURSES_BOOL call_is_scrollok (const WINDOW * z)
+{
+	T((T_CALLED("is_scrollok(%p)"), (const void *)z));
+	returnBool(is_scrollok(z));
+}
+extern NCURSES_BOOL call_is_subwin (const WINDOW * z);
+NCURSES_BOOL call_is_subwin (const WINDOW * z)
+{
+	T((T_CALLED("is_subwin(%p)"), (const void *)z));
+	returnBool(is_subwin(z));
+}
+extern NCURSES_BOOL call_is_syncok (const WINDOW * z);
+NCURSES_BOOL call_is_syncok (const WINDOW * z)
+{
+	T((T_CALLED("is_syncok(%p)"), (const void *)z));
+	returnBool(is_syncok(z));
+}
+extern int call_wgetdelay (const WINDOW * z);
+int call_wgetdelay (const WINDOW * z)
+{
+	T((T_CALLED("wgetdelay(%p)"), (const void *)z));
+	returnCode(wgetdelay(z));
+}
+extern int call_wgetscrreg (const WINDOW * a1, int * a2, int * z);
+int call_wgetscrreg (const WINDOW * a1, int * a2, int * z)
+{
+	T((T_CALLED("wgetscrreg(%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)z));
+	returnCode(wgetscrreg(a1, a2, z));
+}
+#if USE_SP_FUNC_SUPPORT
+extern struct screen * call_new_prescr (void);
+struct screen * call_new_prescr (void)
+{
+	T((T_CALLED("new_prescr()")));
+	returnSP(new_prescr());
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___baudrate (struct screen * z);
+int call_NCURSES_SP_NAME___baudrate (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(baudrate)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(baudrate)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___beep (struct screen * z);
+int call_NCURSES_SP_NAME___beep (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(beep)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(beep)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___can_change_color (struct screen * z);
+NCURSES_BOOL call_NCURSES_SP_NAME___can_change_color (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(can_change_color)(%p)"), (const void *)z));
+	returnBool(NCURSES_SP_NAME(can_change_color)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___cbreak (struct screen * z);
+int call_NCURSES_SP_NAME___cbreak (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(cbreak)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(cbreak)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___curs_set (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___curs_set (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(curs_set)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(curs_set)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___color_content (struct screen * a1, short a2, short * a3, short * a4, short * z);
+int call_NCURSES_SP_NAME___color_content (struct screen * a1, short a2, short * a3, short * a4, short * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(color_content)(%p,%#lx,%p,%p,%p)"), (const void *)a1, (long)a2, (const void *)a3, (const void *)a4, (const void *)z));
+	returnCode(NCURSES_SP_NAME(color_content)(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___def_prog_mode (struct screen * z);
+int call_NCURSES_SP_NAME___def_prog_mode (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(def_prog_mode)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(def_prog_mode)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___def_shell_mode (struct screen * z);
+int call_NCURSES_SP_NAME___def_shell_mode (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(def_shell_mode)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(def_shell_mode)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___delay_output (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___delay_output (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(delay_output)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(delay_output)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___doupdate (struct screen * z);
+int call_NCURSES_SP_NAME___doupdate (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(doupdate)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(doupdate)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___echo (struct screen * z);
+int call_NCURSES_SP_NAME___echo (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(echo)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(echo)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___endwin (struct screen * z);
+int call_NCURSES_SP_NAME___endwin (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(endwin)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(endwin)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern char call_NCURSES_SP_NAME___erasechar (struct screen * z);
+char call_NCURSES_SP_NAME___erasechar (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(erasechar)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(erasechar)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___filter (struct screen * z);
+void call_NCURSES_SP_NAME___filter (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(filter)(%p)"), (const void *)z));
+	NCURSES_SP_NAME(filter)(z);
+	returnVoid;
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___flash (struct screen * z);
+int call_NCURSES_SP_NAME___flash (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(flash)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(flash)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___flushinp (struct screen * z);
+int call_NCURSES_SP_NAME___flushinp (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(flushinp)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(flushinp)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern WINDOW * call_NCURSES_SP_NAME___getwin (struct screen * a1, FILE * z);
+WINDOW * call_NCURSES_SP_NAME___getwin (struct screen * a1, FILE * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(getwin)(%p,%p)"), (const void *)a1, (const void *)z));
+	returnWin(NCURSES_SP_NAME(getwin)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___halfdelay (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___halfdelay (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(halfdelay)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(halfdelay)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___has_colors (struct screen * z);
+NCURSES_BOOL call_NCURSES_SP_NAME___has_colors (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(has_colors)(%p)"), (const void *)z));
+	returnBool(NCURSES_SP_NAME(has_colors)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___has_ic (struct screen * z);
+NCURSES_BOOL call_NCURSES_SP_NAME___has_ic (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(has_ic)(%p)"), (const void *)z));
+	returnBool(NCURSES_SP_NAME(has_ic)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___has_il (struct screen * z);
+NCURSES_BOOL call_NCURSES_SP_NAME___has_il (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(has_il)(%p)"), (const void *)z));
+	returnBool(NCURSES_SP_NAME(has_il)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___init_color (struct screen * a1, short a2, short a3, short a4, short z);
+int call_NCURSES_SP_NAME___init_color (struct screen * a1, short a2, short a3, short a4, short z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(init_color)(%p,%#lx,%#lx,%#lx,%#lx)"), (const void *)a1, (long)a2, (long)a3, (long)a4, (long)z));
+	returnCode(NCURSES_SP_NAME(init_color)(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___init_pair (struct screen * a1, short a2, short a3, short z);
+int call_NCURSES_SP_NAME___init_pair (struct screen * a1, short a2, short a3, short z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(init_pair)(%p,%#lx,%#lx,%#lx)"), (const void *)a1, (long)a2, (long)a3, (long)z));
+	returnCode(NCURSES_SP_NAME(init_pair)(a1, a2, a3, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___intrflush (struct screen * a1, WINDOW * a2, NCURSES_BOOL z);
+int call_NCURSES_SP_NAME___intrflush (struct screen * a1, WINDOW * a2, NCURSES_BOOL z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(intrflush)(%p,%p,%#lx)"), (const void *)a1, (const void *)a2, (long)z));
+	returnCode(NCURSES_SP_NAME(intrflush)(a1, a2, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___isendwin (struct screen * z);
+NCURSES_BOOL call_NCURSES_SP_NAME___isendwin (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(isendwin)(%p)"), (const void *)z));
+	returnBool(NCURSES_SP_NAME(isendwin)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern const char * call_NCURSES_SP_NAME___keyname (struct screen * a1, int z);
+const char * call_NCURSES_SP_NAME___keyname (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(keyname)(%p,%d)"), (const void *)a1, z));
+	returnCPtr(NCURSES_SP_NAME(keyname)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern char call_NCURSES_SP_NAME___killchar (struct screen * z);
+char call_NCURSES_SP_NAME___killchar (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(killchar)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(killchar)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern char * call_NCURSES_SP_NAME___longname (struct screen * z);
+char * call_NCURSES_SP_NAME___longname (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(longname)(%p)"), (const void *)z));
+	returnPtr(NCURSES_SP_NAME(longname)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___mvcur (struct screen * a1, int a2, int a3, int a4, int z);
+int call_NCURSES_SP_NAME___mvcur (struct screen * a1, int a2, int a3, int a4, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(mvcur)(%p,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, z));
+	returnCode(NCURSES_SP_NAME(mvcur)(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___napms (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___napms (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(napms)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(napms)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern WINDOW * call_NCURSES_SP_NAME___newpad (struct screen * a1, int a2, int z);
+WINDOW * call_NCURSES_SP_NAME___newpad (struct screen * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(newpad)(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnWin(NCURSES_SP_NAME(newpad)(a1, a2, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern struct screen * call_NCURSES_SP_NAME___newterm (struct screen * a1, const char * a2, FILE * a3, FILE * z);
+struct screen * call_NCURSES_SP_NAME___newterm (struct screen * a1, const char * a2, FILE * a3, FILE * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(newterm)(%p,%s,%p,%p)"), (const void *)a1, _nc_visbuf2(1,a2), (const void *)a3, (const void *)z));
+	returnSP(NCURSES_SP_NAME(newterm)(a1, a2, a3, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern WINDOW * call_NCURSES_SP_NAME___newwin (struct screen * a1, int a2, int a3, int a4, int z);
+WINDOW * call_NCURSES_SP_NAME___newwin (struct screen * a1, int a2, int a3, int a4, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(newwin)(%p,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, z));
+	returnWin(NCURSES_SP_NAME(newwin)(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___nl (struct screen * z);
+int call_NCURSES_SP_NAME___nl (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(nl)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(nl)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___nocbreak (struct screen * z);
+int call_NCURSES_SP_NAME___nocbreak (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(nocbreak)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(nocbreak)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___noecho (struct screen * z);
+int call_NCURSES_SP_NAME___noecho (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(noecho)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(noecho)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___nonl (struct screen * z);
+int call_NCURSES_SP_NAME___nonl (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(nonl)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(nonl)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___noqiflush (struct screen * z);
+void call_NCURSES_SP_NAME___noqiflush (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(noqiflush)(%p)"), (const void *)z));
+	NCURSES_SP_NAME(noqiflush)(z);
+	returnVoid;
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___noraw (struct screen * z);
+int call_NCURSES_SP_NAME___noraw (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(noraw)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(noraw)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___pair_content (struct screen * a1, short a2, short * a3, short * z);
+int call_NCURSES_SP_NAME___pair_content (struct screen * a1, short a2, short * a3, short * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(pair_content)(%p,%#lx,%p,%p)"), (const void *)a1, (long)a2, (const void *)a3, (const void *)z));
+	returnCode(NCURSES_SP_NAME(pair_content)(a1, a2, a3, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___qiflush (struct screen * z);
+void call_NCURSES_SP_NAME___qiflush (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(qiflush)(%p)"), (const void *)z));
+	NCURSES_SP_NAME(qiflush)(z);
+	returnVoid;
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___raw (struct screen * z);
+int call_NCURSES_SP_NAME___raw (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(raw)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(raw)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___reset_prog_mode (struct screen * z);
+int call_NCURSES_SP_NAME___reset_prog_mode (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(reset_prog_mode)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(reset_prog_mode)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___reset_shell_mode (struct screen * z);
+int call_NCURSES_SP_NAME___reset_shell_mode (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(reset_shell_mode)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(reset_shell_mode)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___resetty (struct screen * z);
+int call_NCURSES_SP_NAME___resetty (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(resetty)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(resetty)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___ripoffline (struct screen * a1, int a2, int(* z)(WINDOW * a3, int));
+int call_NCURSES_SP_NAME___ripoffline (struct screen * a1, int a2, int(* z)(WINDOW * a3, int))
+{
+	return NCURSES_SP_NAME(ripoffline)(a1, a2, z) ;
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___savetty (struct screen * z);
+int call_NCURSES_SP_NAME___savetty (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(savetty)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(savetty)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___scr_init (struct screen * a1, const char * z);
+int call_NCURSES_SP_NAME___scr_init (struct screen * a1, const char * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(scr_init)(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(NCURSES_SP_NAME(scr_init)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___scr_restore (struct screen * a1, const char * z);
+int call_NCURSES_SP_NAME___scr_restore (struct screen * a1, const char * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(scr_restore)(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(NCURSES_SP_NAME(scr_restore)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___scr_set (struct screen * a1, const char * z);
+int call_NCURSES_SP_NAME___scr_set (struct screen * a1, const char * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(scr_set)(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(NCURSES_SP_NAME(scr_set)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_attroff (struct screen * a1, const chtype z);
+int call_NCURSES_SP_NAME___slk_attroff (struct screen * a1, const chtype z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_attroff)(%p,%s)"), (const void *)a1, _tracechtype2(1,z)));
+	returnCode(NCURSES_SP_NAME(slk_attroff)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_attron (struct screen * a1, const chtype z);
+int call_NCURSES_SP_NAME___slk_attron (struct screen * a1, const chtype z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_attron)(%p,%s)"), (const void *)a1, _tracechtype2(1,z)));
+	returnCode(NCURSES_SP_NAME(slk_attron)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_attrset (struct screen * a1, const chtype z);
+int call_NCURSES_SP_NAME___slk_attrset (struct screen * a1, const chtype z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_attrset)(%p,%s)"), (const void *)a1, _tracechtype2(1,z)));
+	returnCode(NCURSES_SP_NAME(slk_attrset)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern attr_t call_NCURSES_SP_NAME___slk_attr (struct screen * z);
+attr_t call_NCURSES_SP_NAME___slk_attr (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_attr)(%p)"), (const void *)z));
+	returnIntAttr((attr_t)NCURSES_SP_NAME(slk_attr)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_attr_set (struct screen * a1, const attr_t a2, short a3, void * z);
+int call_NCURSES_SP_NAME___slk_attr_set (struct screen * a1, const attr_t a2, short a3, void * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_attr_set)(%p,%s,%#lx,%p)"), (const void *)a1, _traceattr2(1,a2), (long)a3, (const void *)z));
+	returnCode(NCURSES_SP_NAME(slk_attr_set)(a1, a2, a3, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_clear (struct screen * z);
+int call_NCURSES_SP_NAME___slk_clear (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_clear)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(slk_clear)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_color (struct screen * a1, short z);
+int call_NCURSES_SP_NAME___slk_color (struct screen * a1, short z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_color)(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(NCURSES_SP_NAME(slk_color)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_init (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___slk_init (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_init)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(slk_init)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern char * call_NCURSES_SP_NAME___slk_label (struct screen * a1, int z);
+char * call_NCURSES_SP_NAME___slk_label (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_label)(%p,%d)"), (const void *)a1, z));
+	returnPtr(NCURSES_SP_NAME(slk_label)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_noutrefresh (struct screen * z);
+int call_NCURSES_SP_NAME___slk_noutrefresh (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_noutrefresh)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(slk_noutrefresh)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_refresh (struct screen * z);
+int call_NCURSES_SP_NAME___slk_refresh (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_refresh)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(slk_refresh)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_restore (struct screen * z);
+int call_NCURSES_SP_NAME___slk_restore (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_restore)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(slk_restore)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_set (struct screen * a1, int a2, const char * a3, int z);
+int call_NCURSES_SP_NAME___slk_set (struct screen * a1, int a2, const char * a3, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_set)(%p,%d,%s,%d)"), (const void *)a1, a2, _nc_visbuf2(2,a3), z));
+	returnCode(NCURSES_SP_NAME(slk_set)(a1, a2, a3, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___slk_touch (struct screen * z);
+int call_NCURSES_SP_NAME___slk_touch (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(slk_touch)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(slk_touch)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___start_color (struct screen * z);
+int call_NCURSES_SP_NAME___start_color (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(start_color)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(start_color)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern chtype call_NCURSES_SP_NAME___termattrs (struct screen * z);
+chtype call_NCURSES_SP_NAME___termattrs (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(termattrs)(%p)"), (const void *)z));
+	returnChtype(NCURSES_SP_NAME(termattrs)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern char * call_NCURSES_SP_NAME___termname (struct screen * z);
+char * call_NCURSES_SP_NAME___termname (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(termname)(%p)"), (const void *)z));
+	returnPtr(NCURSES_SP_NAME(termname)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___typeahead (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___typeahead (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(typeahead)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(typeahead)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___ungetch (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___ungetch (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(ungetch)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(ungetch)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___use_env (struct screen * a1, NCURSES_BOOL z);
+void call_NCURSES_SP_NAME___use_env (struct screen * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(use_env)(%p,%#lx)"), (const void *)a1, (long)z));
+	NCURSES_SP_NAME(use_env)(a1, z);
+	returnVoid;
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___use_tioctl (struct screen * a1, NCURSES_BOOL z);
+void call_NCURSES_SP_NAME___use_tioctl (struct screen * a1, NCURSES_BOOL z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(use_tioctl)(%p,%#lx)"), (const void *)a1, (long)z));
+	NCURSES_SP_NAME(use_tioctl)(a1, z);
+	returnVoid;
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___vidattr (struct screen * a1, chtype z);
+int call_NCURSES_SP_NAME___vidattr (struct screen * a1, chtype z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(vidattr)(%p,%s)"), (const void *)a1, _tracechtype2(1,z)));
+	returnCode(NCURSES_SP_NAME(vidattr)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___vidputs (struct screen * a1, chtype a2, NCURSES_OUTC_sp z);
+int call_NCURSES_SP_NAME___vidputs (struct screen * a1, chtype a2, NCURSES_OUTC_sp z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(vidputs)(%p,%s,%#lx)"), (const void *)a1, _tracechtype2(1,a2), (long)z));
+	returnCode(NCURSES_SP_NAME(vidputs)(a1, a2, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___alloc_pair (struct screen * a1, int a2, int z);
+int call_NCURSES_SP_NAME___alloc_pair (struct screen * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(alloc_pair)(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(NCURSES_SP_NAME(alloc_pair)(a1, a2, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___assume_default_colors (struct screen * a1, int a2, int z);
+int call_NCURSES_SP_NAME___assume_default_colors (struct screen * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(assume_default_colors)(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(NCURSES_SP_NAME(assume_default_colors)(a1, a2, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___define_key (struct screen * a1, const char * a2, int z);
+int call_NCURSES_SP_NAME___define_key (struct screen * a1, const char * a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(define_key)(%p,%s,%d)"), (const void *)a1, _nc_visbuf2(1,a2), z));
+	returnCode(NCURSES_SP_NAME(define_key)(a1, a2, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___extended_color_content (struct screen * a1, int a2, int * a3, int * a4, int * z);
+int call_NCURSES_SP_NAME___extended_color_content (struct screen * a1, int a2, int * a3, int * a4, int * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(extended_color_content)(%p,%d,%p,%p,%p)"), (const void *)a1, a2, (const void *)a3, (const void *)a4, (const void *)z));
+	returnCode(NCURSES_SP_NAME(extended_color_content)(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___extended_pair_content (struct screen * a1, int a2, int * a3, int * z);
+int call_NCURSES_SP_NAME___extended_pair_content (struct screen * a1, int a2, int * a3, int * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(extended_pair_content)(%p,%d,%p,%p)"), (const void *)a1, a2, (const void *)a3, (const void *)z));
+	returnCode(NCURSES_SP_NAME(extended_pair_content)(a1, a2, a3, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___extended_slk_color (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___extended_slk_color (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(extended_slk_color)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(extended_slk_color)(a1, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___find_pair (struct screen * a1, int a2, int z);
+int call_NCURSES_SP_NAME___find_pair (struct screen * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(find_pair)(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(NCURSES_SP_NAME(find_pair)(a1, a2, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___free_pair (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___free_pair (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(free_pair)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(free_pair)(a1, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___get_escdelay (struct screen * z);
+int call_NCURSES_SP_NAME___get_escdelay (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(get_escdelay)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(get_escdelay)(z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___init_extended_color (struct screen * a1, int a2, int a3, int a4, int z);
+int call_NCURSES_SP_NAME___init_extended_color (struct screen * a1, int a2, int a3, int a4, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(init_extended_color)(%p,%d,%d,%d,%d)"), (const void *)a1, a2, a3, a4, z));
+	returnCode(NCURSES_SP_NAME(init_extended_color)(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___init_extended_pair (struct screen * a1, int a2, int a3, int z);
+int call_NCURSES_SP_NAME___init_extended_pair (struct screen * a1, int a2, int a3, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(init_extended_pair)(%p,%d,%d,%d)"), (const void *)a1, a2, a3, z));
+	returnCode(NCURSES_SP_NAME(init_extended_pair)(a1, a2, a3, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___is_cbreak (struct screen * z);
+int call_NCURSES_SP_NAME___is_cbreak (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(is_cbreak)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(is_cbreak)(z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___is_echo (struct screen * z);
+int call_NCURSES_SP_NAME___is_echo (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(is_echo)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(is_echo)(z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___is_nl (struct screen * z);
+int call_NCURSES_SP_NAME___is_nl (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(is_nl)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(is_nl)(z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___is_raw (struct screen * z);
+int call_NCURSES_SP_NAME___is_raw (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(is_raw)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(is_raw)(z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern NCURSES_BOOL call_NCURSES_SP_NAME___is_term_resized (struct screen * a1, int a2, int z);
+NCURSES_BOOL call_NCURSES_SP_NAME___is_term_resized (struct screen * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(is_term_resized)(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnBool(NCURSES_SP_NAME(is_term_resized)(a1, a2, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___key_defined (struct screen * a1, const char * z);
+int call_NCURSES_SP_NAME___key_defined (struct screen * a1, const char * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(key_defined)(%p,%s)"), (const void *)a1, _nc_visbuf2(1,z)));
+	returnCode(NCURSES_SP_NAME(key_defined)(a1, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern char * call_NCURSES_SP_NAME___keybound (struct screen * a1, int a2, int z);
+char * call_NCURSES_SP_NAME___keybound (struct screen * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(keybound)(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnPtr(NCURSES_SP_NAME(keybound)(a1, a2, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___keyok (struct screen * a1, int a2, NCURSES_BOOL z);
+int call_NCURSES_SP_NAME___keyok (struct screen * a1, int a2, NCURSES_BOOL z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(keyok)(%p,%d,%#lx)"), (const void *)a1, a2, (long)z));
+	returnCode(NCURSES_SP_NAME(keyok)(a1, a2, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___nofilter (struct screen * z);
+void call_NCURSES_SP_NAME___nofilter (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(nofilter)(%p)"), (const void *)z));
+	NCURSES_SP_NAME(nofilter)(z);
+	returnVoid;
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern void call_NCURSES_SP_NAME___reset_color_pairs (struct screen * z);
+void call_NCURSES_SP_NAME___reset_color_pairs (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(reset_color_pairs)(%p)"), (const void *)z));
+	NCURSES_SP_NAME(reset_color_pairs)(z);
+	returnVoid;
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___resize_term (struct screen * a1, int a2, int z);
+int call_NCURSES_SP_NAME___resize_term (struct screen * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(resize_term)(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(NCURSES_SP_NAME(resize_term)(a1, a2, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___resizeterm (struct screen * a1, int a2, int z);
+int call_NCURSES_SP_NAME___resizeterm (struct screen * a1, int a2, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(resizeterm)(%p,%d,%d)"), (const void *)a1, a2, z));
+	returnCode(NCURSES_SP_NAME(resizeterm)(a1, a2, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___set_escdelay (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___set_escdelay (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(set_escdelay)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(set_escdelay)(a1, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___set_tabsize (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___set_tabsize (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(set_tabsize)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(set_tabsize)(a1, z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___use_default_colors (struct screen * z);
+int call_NCURSES_SP_NAME___use_default_colors (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(use_default_colors)(%p)"), (const void *)z));
+	returnCode(NCURSES_SP_NAME(use_default_colors)(z));
+}
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___use_legacy_coding (struct screen * a1, int z);
+int call_NCURSES_SP_NAME___use_legacy_coding (struct screen * a1, int z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(use_legacy_coding)(%p,%d)"), (const void *)a1, z));
+	returnCode(NCURSES_SP_NAME(use_legacy_coding)(a1, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_add_wch (const cchar_t * z);
+int call_add_wch (const cchar_t * z)
+{
+	T((T_CALLED("add_wch(%p)"), (const void *)z));
+	returnCode(add_wch(z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_add_wchnstr (const cchar_t * a1, int z);
+int call_add_wchnstr (const cchar_t * a1, int z)
+{
+	T((T_CALLED("add_wchnstr(%p,%d)"), (const void *)a1, z));
+	returnCode(add_wchnstr(a1, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_add_wchstr (const cchar_t * z);
+int call_add_wchstr (const cchar_t * z)
+{
+	T((T_CALLED("add_wchstr(%p)"), (const void *)z));
+	returnCode(add_wchstr(z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_addnwstr (const wchar_t * a1, int z);
+int call_addnwstr (const wchar_t * a1, int z)
+{
+	T((T_CALLED("addnwstr(%p,%d)"), (const void *)a1, z));
+	returnCode(addnwstr(a1, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_addwstr (const wchar_t * z);
+int call_addwstr (const wchar_t * z)
+{
+	T((T_CALLED("addwstr(%p)"), (const void *)z));
+	returnCode(addwstr(z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_bkgrnd (const cchar_t * z);
+int call_bkgrnd (const cchar_t * z)
+{
+	T((T_CALLED("bkgrnd(%p)"), (const void *)z));
+	returnCode(bkgrnd(z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern void call_bkgrndset (const cchar_t * z);
+void call_bkgrndset (const cchar_t * z)
+{
+	T((T_CALLED("bkgrndset(%p)"), (const void *)z));
+	bkgrndset(z);
+	returnVoid;
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_border_set (const cchar_t * a1, const cchar_t * a2, const cchar_t * a3, const cchar_t * a4, const cchar_t * a5, const cchar_t * a6, const cchar_t * a7, const cchar_t * z);
+int call_border_set (const cchar_t * a1, const cchar_t * a2, const cchar_t * a3, const cchar_t * a4, const cchar_t * a5, const cchar_t * a6, const cchar_t * a7, const cchar_t * z)
+{
+	T((T_CALLED("border_set(%p,%p,%p,%p,%p,%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)a3, (const void *)a4, (const void *)a5, (const void *)a6, (const void *)a7, (const void *)z));
+	returnCode(border_set(a1, a2, a3, a4, a5, a6, a7, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_box_set (WINDOW * a1, const cchar_t * a2, const cchar_t * z);
+int call_box_set (WINDOW * a1, const cchar_t * a2, const cchar_t * z)
+{
+	T((T_CALLED("box_set(%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)z));
+	returnCode(box_set(a1, a2, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_echo_wchar (const cchar_t * z);
+int call_echo_wchar (const cchar_t * z)
+{
+	T((T_CALLED("echo_wchar(%p)"), (const void *)z));
+	returnCode(echo_wchar(z));
+}
+#endif
+extern int call_erasewchar (wchar_t * z);
+int call_erasewchar (wchar_t * z)
+{
+	T((T_CALLED("erasewchar(%p)"), (const void *)z));
+	returnCode(erasewchar(z));
+}
+#if USE_WIDEC_SUPPORT
+extern int call_get_wch (wint_t * z);
+int call_get_wch (wint_t * z)
+{
+	T((T_CALLED("get_wch(%p)"), (const void *)z));
+	returnCode(get_wch(z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_get_wstr (wint_t * z);
+int call_get_wstr (wint_t * z)
+{
+	T((T_CALLED("get_wstr(%p)"), (const void *)z));
+	returnCode(get_wstr(z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_getbkgrnd (cchar_t * z);
+int call_getbkgrnd (cchar_t * z)
+{
+	T((T_CALLED("getbkgrnd(%p)"), (const void *)z));
+	returnCode(getbkgrnd(z));
+}
+#endif
+extern int call_getcchar (const cchar_t * a1, wchar_t * a2, attr_t * a3, short * a4, void * z);
+int call_getcchar (const cchar_t * a1, wchar_t * a2, attr_t * a3, short * a4, void * z)
+{
+	T((T_CALLED("getcchar(%p,%p,%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)a3, (const void *)a4, (const void *)z));
+	returnCode(getcchar(a1, a2, a3, a4, z));
+}
+#if USE_WIDEC_SUPPORT
+extern int call_getn_wstr (wint_t * a1, int z);
+int call_getn_wstr (wint_t * a1, int z)
+{
+	T((T_CALLED("getn_wstr(%p,%d)"), (const void *)a1, z));
+	returnCode(getn_wstr(a1, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_hline_set (const cchar_t * a1, int z);
+int call_hline_set (const cchar_t * a1, int z)
+{
+	T((T_CALLED("hline_set(%p,%d)"), (const void *)a1, z));
+	returnCode(hline_set(a1, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_in_wch (cchar_t * z);
+int call_in_wch (cchar_t * z)
+{
+	T((T_CALLED("in_wch(%p)"), (const void *)z));
+	returnCode(in_wch(z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_in_wchnstr (cchar_t * a1, int z);
+int call_in_wchnstr (cchar_t * a1, int z)
+{
+	T((T_CALLED("in_wchnstr(%p,%d)"), (const void *)a1, z));
+	returnCode(in_wchnstr(a1, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_in_wchstr (cchar_t * z);
+int call_in_wchstr (cchar_t * z)
+{
+	T((T_CALLED("in_wchstr(%p)"), (const void *)z));
+	returnCode(in_wchstr(z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_innwstr (wchar_t * a1, int z);
+int call_innwstr (wchar_t * a1, int z)
+{
+	return innwstr(a1, z) ;
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_ins_nwstr (const wchar_t * a1, int z);
+int call_ins_nwstr (const wchar_t * a1, int z)
+{
+	T((T_CALLED("ins_nwstr(%p,%d)"), (const void *)a1, z));
+	returnCode(ins_nwstr(a1, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_ins_wch (const cchar_t * z);
+int call_ins_wch (const cchar_t * z)
+{
+	T((T_CALLED("ins_wch(%p)"), (const void *)z));
+	returnCode(ins_wch(z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_ins_wstr (const wchar_t * z);
+int call_ins_wstr (const wchar_t * z)
+{
+	T((T_CALLED("ins_wstr(%p)"), (const void *)z));
+	returnCode(ins_wstr(z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_inwstr (wchar_t * z);
+int call_inwstr (wchar_t * z)
+{
+	T((T_CALLED("inwstr(%p)"), (const void *)z));
+	returnCode(inwstr(z));
+}
+#endif
+extern const char * call_key_name (wchar_t z);
+const char * call_key_name (wchar_t z)
+{
+	T((T_CALLED("key_name(%#lx)"), (long)z));
+	returnCPtr(key_name(z));
+}
+extern int call_killwchar (wchar_t * z);
+int call_killwchar (wchar_t * z)
+{
+	T((T_CALLED("killwchar(%p)"), (const void *)z));
+	returnCode(killwchar(z));
+}
+#if USE_WIDEC_SUPPORT
+extern int call_mvadd_wch (int a1, int a2, const cchar_t * z);
+int call_mvadd_wch (int a1, int a2, const cchar_t * z)
+{
+	T((T_CALLED("mvadd_wch(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvadd_wch(a1, a2, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvadd_wchnstr (int a1, int a2, const cchar_t * a3, int z);
+int call_mvadd_wchnstr (int a1, int a2, const cchar_t * a3, int z)
+{
+	T((T_CALLED("mvadd_wchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode(mvadd_wchnstr(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvadd_wchstr (int a1, int a2, const cchar_t * z);
+int call_mvadd_wchstr (int a1, int a2, const cchar_t * z)
+{
+	T((T_CALLED("mvadd_wchstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvadd_wchstr(a1, a2, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvaddnwstr (int a1, int a2, const wchar_t * a3, int z);
+int call_mvaddnwstr (int a1, int a2, const wchar_t * a3, int z)
+{
+	T((T_CALLED("mvaddnwstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode(mvaddnwstr(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvaddwstr (int a1, int a2, const wchar_t * z);
+int call_mvaddwstr (int a1, int a2, const wchar_t * z)
+{
+	T((T_CALLED("mvaddwstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvaddwstr(a1, a2, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvget_wch (int a1, int a2, wint_t * z);
+int call_mvget_wch (int a1, int a2, wint_t * z)
+{
+	T((T_CALLED("mvget_wch(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvget_wch(a1, a2, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvget_wstr (int a1, int a2, wint_t * z);
+int call_mvget_wstr (int a1, int a2, wint_t * z)
+{
+	T((T_CALLED("mvget_wstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvget_wstr(a1, a2, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvgetn_wstr (int a1, int a2, wint_t * a3, int z);
+int call_mvgetn_wstr (int a1, int a2, wint_t * a3, int z)
+{
+	T((T_CALLED("mvgetn_wstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode(mvgetn_wstr(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvhline_set (int a1, int a2, const cchar_t * a3, int z);
+int call_mvhline_set (int a1, int a2, const cchar_t * a3, int z)
+{
+	T((T_CALLED("mvhline_set(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode(mvhline_set(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvin_wch (int a1, int a2, cchar_t * z);
+int call_mvin_wch (int a1, int a2, cchar_t * z)
+{
+	T((T_CALLED("mvin_wch(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvin_wch(a1, a2, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvin_wchnstr (int a1, int a2, cchar_t * a3, int z);
+int call_mvin_wchnstr (int a1, int a2, cchar_t * a3, int z)
+{
+	T((T_CALLED("mvin_wchnstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode(mvin_wchnstr(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvin_wchstr (int a1, int a2, cchar_t * z);
+int call_mvin_wchstr (int a1, int a2, cchar_t * z)
+{
+	T((T_CALLED("mvin_wchstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvin_wchstr(a1, a2, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvinnwstr (int a1, int a2, wchar_t * a3, int z);
+int call_mvinnwstr (int a1, int a2, wchar_t * a3, int z)
+{
+	return mvinnwstr(a1, a2, a3, z) ;
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvins_nwstr (int a1, int a2, const wchar_t * a3, int z);
+int call_mvins_nwstr (int a1, int a2, const wchar_t * a3, int z)
+{
+	T((T_CALLED("mvins_nwstr(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode(mvins_nwstr(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvins_wch (int a1, int a2, const cchar_t * z);
+int call_mvins_wch (int a1, int a2, const cchar_t * z)
+{
+	T((T_CALLED("mvins_wch(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvins_wch(a1, a2, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvins_wstr (int a1, int a2, const wchar_t * z);
+int call_mvins_wstr (int a1, int a2, const wchar_t * z)
+{
+	T((T_CALLED("mvins_wstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvins_wstr(a1, a2, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvinwstr (int a1, int a2, wchar_t * z);
+int call_mvinwstr (int a1, int a2, wchar_t * z)
+{
+	T((T_CALLED("mvinwstr(%d,%d,%p)"), a1, a2, (const void *)z));
+	returnCode(mvinwstr(a1, a2, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvvline_set (int a1, int a2, const cchar_t * a3, int z);
+int call_mvvline_set (int a1, int a2, const cchar_t * a3, int z)
+{
+	T((T_CALLED("mvvline_set(%d,%d,%p,%d)"), a1, a2, (const void *)a3, z));
+	returnCode(mvvline_set(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwadd_wch (WINDOW * a1, int a2, int a3, const cchar_t * z);
+int call_mvwadd_wch (WINDOW * a1, int a2, int a3, const cchar_t * z)
+{
+	T((T_CALLED("mvwadd_wch(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwadd_wch(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwadd_wchnstr (WINDOW * a1, int a2, int a3, const cchar_t * a4, int z);
+int call_mvwadd_wchnstr (WINDOW * a1, int a2, int a3, const cchar_t * a4, int z)
+{
+	T((T_CALLED("mvwadd_wchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode(mvwadd_wchnstr(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwadd_wchstr (WINDOW * a1, int a2, int a3, const cchar_t * z);
+int call_mvwadd_wchstr (WINDOW * a1, int a2, int a3, const cchar_t * z)
+{
+	T((T_CALLED("mvwadd_wchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwadd_wchstr(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwaddnwstr (WINDOW * a1, int a2, int a3, const wchar_t * a4, int z);
+int call_mvwaddnwstr (WINDOW * a1, int a2, int a3, const wchar_t * a4, int z)
+{
+	T((T_CALLED("mvwaddnwstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode(mvwaddnwstr(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwaddwstr (WINDOW * a1, int a2, int a3, const wchar_t * z);
+int call_mvwaddwstr (WINDOW * a1, int a2, int a3, const wchar_t * z)
+{
+	T((T_CALLED("mvwaddwstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwaddwstr(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwget_wch (WINDOW * a1, int a2, int a3, wint_t * z);
+int call_mvwget_wch (WINDOW * a1, int a2, int a3, wint_t * z)
+{
+	T((T_CALLED("mvwget_wch(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwget_wch(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwget_wstr (WINDOW * a1, int a2, int a3, wint_t * z);
+int call_mvwget_wstr (WINDOW * a1, int a2, int a3, wint_t * z)
+{
+	T((T_CALLED("mvwget_wstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwget_wstr(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwgetn_wstr (WINDOW * a1, int a2, int a3, wint_t * a4, int z);
+int call_mvwgetn_wstr (WINDOW * a1, int a2, int a3, wint_t * a4, int z)
+{
+	T((T_CALLED("mvwgetn_wstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode(mvwgetn_wstr(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwhline_set (WINDOW * a1, int a2, int a3, const cchar_t * a4, int z);
+int call_mvwhline_set (WINDOW * a1, int a2, int a3, const cchar_t * a4, int z)
+{
+	T((T_CALLED("mvwhline_set(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode(mvwhline_set(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwin_wch (WINDOW * a1, int a2, int a3, cchar_t * z);
+int call_mvwin_wch (WINDOW * a1, int a2, int a3, cchar_t * z)
+{
+	T((T_CALLED("mvwin_wch(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwin_wch(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwin_wchnstr (WINDOW * a1, int a2, int a3, cchar_t * a4, int z);
+int call_mvwin_wchnstr (WINDOW * a1, int a2, int a3, cchar_t * a4, int z)
+{
+	T((T_CALLED("mvwin_wchnstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode(mvwin_wchnstr(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwin_wchstr (WINDOW * a1, int a2, int a3, cchar_t * z);
+int call_mvwin_wchstr (WINDOW * a1, int a2, int a3, cchar_t * z)
+{
+	T((T_CALLED("mvwin_wchstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwin_wchstr(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwinnwstr (WINDOW * a1, int a2, int a3, wchar_t * a4, int z);
+int call_mvwinnwstr (WINDOW * a1, int a2, int a3, wchar_t * a4, int z)
+{
+	return mvwinnwstr(a1, a2, a3, a4, z) ;
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwins_nwstr (WINDOW * a1, int a2, int a3, const wchar_t * a4, int z);
+int call_mvwins_nwstr (WINDOW * a1, int a2, int a3, const wchar_t * a4, int z)
+{
+	T((T_CALLED("mvwins_nwstr(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode(mvwins_nwstr(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwins_wch (WINDOW * a1, int a2, int a3, const cchar_t * z);
+int call_mvwins_wch (WINDOW * a1, int a2, int a3, const cchar_t * z)
+{
+	T((T_CALLED("mvwins_wch(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwins_wch(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwins_wstr (WINDOW * a1, int a2, int a3, const wchar_t * z);
+int call_mvwins_wstr (WINDOW * a1, int a2, int a3, const wchar_t * z)
+{
+	T((T_CALLED("mvwins_wstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwins_wstr(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwinwstr (WINDOW * a1, int a2, int a3, wchar_t * z);
+int call_mvwinwstr (WINDOW * a1, int a2, int a3, wchar_t * z)
+{
+	T((T_CALLED("mvwinwstr(%p,%d,%d,%p)"), (const void *)a1, a2, a3, (const void *)z));
+	returnCode(mvwinwstr(a1, a2, a3, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_mvwvline_set (WINDOW * a1, int a2, int a3, const cchar_t * a4, int z);
+int call_mvwvline_set (WINDOW * a1, int a2, int a3, const cchar_t * a4, int z)
+{
+	T((T_CALLED("mvwvline_set(%p,%d,%d,%p,%d)"), (const void *)a1, a2, a3, (const void *)a4, z));
+	returnCode(mvwvline_set(a1, a2, a3, a4, z));
+}
+#endif
+extern int call_pecho_wchar (WINDOW * a1, const cchar_t * z);
+int call_pecho_wchar (WINDOW * a1, const cchar_t * z)
+{
+	T((T_CALLED("pecho_wchar(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(pecho_wchar(a1, z));
+}
+extern int call_setcchar (cchar_t * a1, const wchar_t * a2, const attr_t a3, short a4, const void * z);
+int call_setcchar (cchar_t * a1, const wchar_t * a2, const attr_t a3, short a4, const void * z)
+{
+	T((T_CALLED("setcchar(%p,%p,%s,%#lx,%p)"), (const void *)a1, (const void *)a2, _traceattr2(2,a3), (long)a4, (const void *)z));
+	returnCode(setcchar(a1, a2, a3, a4, z));
+}
+extern int call_slk_wset (int a1, const wchar_t * a2, int z);
+int call_slk_wset (int a1, const wchar_t * a2, int z)
+{
+	T((T_CALLED("slk_wset(%d,%p,%d)"), a1, (const void *)a2, z));
+	returnCode(slk_wset(a1, a2, z));
+}
+extern attr_t call_term_attrs (void);
+attr_t call_term_attrs (void)
+{
+	T((T_CALLED("term_attrs()")));
+	returnIntAttr((attr_t)term_attrs());
+}
+extern int call_unget_wch (const wchar_t z);
+int call_unget_wch (const wchar_t z)
+{
+	T((T_CALLED("unget_wch(%#lx)"), (long)z));
+	returnCode(unget_wch(z));
+}
+extern int call_vid_attr (attr_t a1, short a2, void * z);
+int call_vid_attr (attr_t a1, short a2, void * z)
+{
+	T((T_CALLED("vid_attr(%s,%#lx,%p)"), _traceattr2(0,a1), (long)a2, (const void *)z));
+	returnCode(vid_attr(a1, a2, z));
+}
+extern int call_vid_puts (attr_t a1, short a2, void * a3, NCURSES_OUTC z);
+int call_vid_puts (attr_t a1, short a2, void * a3, NCURSES_OUTC z)
+{
+	T((T_CALLED("vid_puts(%s,%#lx,%p,%#lx)"), _traceattr2(0,a1), (long)a2, (const void *)a3, (long)z));
+	returnCode(vid_puts(a1, a2, a3, z));
+}
+#if USE_WIDEC_SUPPORT
+extern int call_vline_set (const cchar_t * a1, int z);
+int call_vline_set (const cchar_t * a1, int z)
+{
+	T((T_CALLED("vline_set(%p,%d)"), (const void *)a1, z));
+	returnCode(vline_set(a1, z));
+}
+#endif
+extern int call_wadd_wch (WINDOW * a1, const cchar_t * z);
+int call_wadd_wch (WINDOW * a1, const cchar_t * z)
+{
+	T((T_CALLED("wadd_wch(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wadd_wch(a1, z));
+}
+extern int call_wadd_wchnstr (WINDOW * a1, const cchar_t * a2, int z);
+int call_wadd_wchnstr (WINDOW * a1, const cchar_t * a2, int z)
+{
+	T((T_CALLED("wadd_wchnstr(%p,%p,%d)"), (const void *)a1, (const void *)a2, z));
+	returnCode(wadd_wchnstr(a1, a2, z));
+}
+#if USE_WIDEC_SUPPORT
+extern int call_wadd_wchstr (WINDOW * a1, const cchar_t * z);
+int call_wadd_wchstr (WINDOW * a1, const cchar_t * z)
+{
+	T((T_CALLED("wadd_wchstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wadd_wchstr(a1, z));
+}
+#endif
+extern int call_waddnwstr (WINDOW * a1, const wchar_t * a2, int z);
+int call_waddnwstr (WINDOW * a1, const wchar_t * a2, int z)
+{
+	T((T_CALLED("waddnwstr(%p,%p,%d)"), (const void *)a1, (const void *)a2, z));
+	returnCode(waddnwstr(a1, a2, z));
+}
+#if USE_WIDEC_SUPPORT
+extern int call_waddwstr (WINDOW * a1, const wchar_t * z);
+int call_waddwstr (WINDOW * a1, const wchar_t * z)
+{
+	T((T_CALLED("waddwstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(waddwstr(a1, z));
+}
+#endif
+extern int call_wbkgrnd (WINDOW * a1, const cchar_t * z);
+int call_wbkgrnd (WINDOW * a1, const cchar_t * z)
+{
+	T((T_CALLED("wbkgrnd(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wbkgrnd(a1, z));
+}
+extern void call_wbkgrndset (WINDOW * a1, const cchar_t * z);
+void call_wbkgrndset (WINDOW * a1, const cchar_t * z)
+{
+	T((T_CALLED("wbkgrndset(%p,%p)"), (const void *)a1, (const void *)z));
+	wbkgrndset(a1, z);
+	returnVoid;
+}
+extern int call_wborder_set (WINDOW * a1, const cchar_t * a2, const cchar_t * a3, const cchar_t * a4, const cchar_t * a5, const cchar_t * a6, const cchar_t * a7, const cchar_t * a8, const cchar_t * z);
+int call_wborder_set (WINDOW * a1, const cchar_t * a2, const cchar_t * a3, const cchar_t * a4, const cchar_t * a5, const cchar_t * a6, const cchar_t * a7, const cchar_t * a8, const cchar_t * z)
+{
+	T((T_CALLED("wborder_set(%p,%p,%p,%p,%p,%p,%p,%p,%p)"), (const void *)a1, (const void *)a2, (const void *)a3, (const void *)a4, (const void *)a5, (const void *)a6, (const void *)a7, (const void *)a8, (const void *)z));
+	returnCode(wborder_set(a1, a2, a3, a4, a5, a6, a7, a8, z));
+}
+extern int call_wecho_wchar (WINDOW * a1, const cchar_t * z);
+int call_wecho_wchar (WINDOW * a1, const cchar_t * z)
+{
+	T((T_CALLED("wecho_wchar(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wecho_wchar(a1, z));
+}
+extern int call_wget_wch (WINDOW * a1, wint_t * z);
+int call_wget_wch (WINDOW * a1, wint_t * z)
+{
+	T((T_CALLED("wget_wch(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wget_wch(a1, z));
+}
+#if USE_WIDEC_SUPPORT
+extern int call_wget_wstr (WINDOW * a1, wint_t * z);
+int call_wget_wstr (WINDOW * a1, wint_t * z)
+{
+	T((T_CALLED("wget_wstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wget_wstr(a1, z));
+}
+#endif
+#if USE_WIDEC_SUPPORT
+extern int call_wgetbkgrnd (WINDOW * a1, cchar_t * z);
+int call_wgetbkgrnd (WINDOW * a1, cchar_t * z)
+{
+	T((T_CALLED("wgetbkgrnd(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wgetbkgrnd(a1, z));
+}
+#endif
+extern int call_wgetn_wstr (WINDOW * a1, wint_t * a2, int z);
+int call_wgetn_wstr (WINDOW * a1, wint_t * a2, int z)
+{
+	T((T_CALLED("wgetn_wstr(%p,%p,%d)"), (const void *)a1, (const void *)a2, z));
+	returnCode(wgetn_wstr(a1, a2, z));
+}
+extern int call_whline_set (WINDOW * a1, const cchar_t * a2, int z);
+int call_whline_set (WINDOW * a1, const cchar_t * a2, int z)
+{
+	T((T_CALLED("whline_set(%p,%p,%d)"), (const void *)a1, (const void *)a2, z));
+	returnCode(whline_set(a1, a2, z));
+}
+extern int call_win_wch (WINDOW * a1, cchar_t * z);
+int call_win_wch (WINDOW * a1, cchar_t * z)
+{
+	T((T_CALLED("win_wch(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(win_wch(a1, z));
+}
+extern int call_win_wchnstr (WINDOW * a1, cchar_t * a2, int z);
+int call_win_wchnstr (WINDOW * a1, cchar_t * a2, int z)
+{
+	T((T_CALLED("win_wchnstr(%p,%p,%d)"), (const void *)a1, (const void *)a2, z));
+	returnCode(win_wchnstr(a1, a2, z));
+}
+#if USE_WIDEC_SUPPORT
+extern int call_win_wchstr (WINDOW * a1, cchar_t * z);
+int call_win_wchstr (WINDOW * a1, cchar_t * z)
+{
+	T((T_CALLED("win_wchstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(win_wchstr(a1, z));
+}
+#endif
+extern int call_winnwstr (WINDOW * a1, wchar_t * a2, int z);
+int call_winnwstr (WINDOW * a1, wchar_t * a2, int z)
+{
+	return winnwstr(a1, a2, z) ;
+}
+extern int call_wins_nwstr (WINDOW * a1, const wchar_t * a2, int z);
+int call_wins_nwstr (WINDOW * a1, const wchar_t * a2, int z)
+{
+	T((T_CALLED("wins_nwstr(%p,%p,%d)"), (const void *)a1, (const void *)a2, z));
+	returnCode(wins_nwstr(a1, a2, z));
+}
+extern int call_wins_wch (WINDOW * a1, const cchar_t * z);
+int call_wins_wch (WINDOW * a1, const cchar_t * z)
+{
+	T((T_CALLED("wins_wch(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wins_wch(a1, z));
+}
+#if USE_WIDEC_SUPPORT
+extern int call_wins_wstr (WINDOW * a1, const wchar_t * z);
+int call_wins_wstr (WINDOW * a1, const wchar_t * z)
+{
+	T((T_CALLED("wins_wstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(wins_wstr(a1, z));
+}
+#endif
+extern int call_winwstr (WINDOW * a1, wchar_t * z);
+int call_winwstr (WINDOW * a1, wchar_t * z)
+{
+	T((T_CALLED("winwstr(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(winwstr(a1, z));
+}
+extern wchar_t * call_wunctrl (cchar_t * z);
+wchar_t * call_wunctrl (cchar_t * z)
+{
+	return wunctrl(z) ;
+}
+extern int call_wvline_set (WINDOW * a1, const cchar_t * a2, int z);
+int call_wvline_set (WINDOW * a1, const cchar_t * a2, int z)
+{
+	T((T_CALLED("wvline_set(%p,%p,%d)"), (const void *)a1, (const void *)a2, z));
+	returnCode(wvline_set(a1, a2, z));
+}
+#if USE_SP_FUNC_SUPPORT
+extern attr_t call_NCURSES_SP_NAME___term_attrs (struct screen * z);
+attr_t call_NCURSES_SP_NAME___term_attrs (struct screen * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(term_attrs)(%p)"), (const void *)z));
+	returnIntAttr((attr_t)NCURSES_SP_NAME(term_attrs)(z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___erasewchar (struct screen * a1, wchar_t * z);
+int call_NCURSES_SP_NAME___erasewchar (struct screen * a1, wchar_t * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(erasewchar)(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(NCURSES_SP_NAME(erasewchar)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___killwchar (struct screen * a1, wchar_t * z);
+int call_NCURSES_SP_NAME___killwchar (struct screen * a1, wchar_t * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(killwchar)(%p,%p)"), (const void *)a1, (const void *)z));
+	returnCode(NCURSES_SP_NAME(killwchar)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___unget_wch (struct screen * a1, const wchar_t z);
+int call_NCURSES_SP_NAME___unget_wch (struct screen * a1, const wchar_t z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(unget_wch)(%p,%#lx)"), (const void *)a1, (long)z));
+	returnCode(NCURSES_SP_NAME(unget_wch)(a1, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___vid_attr (struct screen * a1, attr_t a2, short a3, void * z);
+int call_NCURSES_SP_NAME___vid_attr (struct screen * a1, attr_t a2, short a3, void * z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(vid_attr)(%p,%s,%#lx,%p)"), (const void *)a1, _traceattr2(1,a2), (long)a3, (const void *)z));
+	returnCode(NCURSES_SP_NAME(vid_attr)(a1, a2, a3, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern int call_NCURSES_SP_NAME___vid_puts (struct screen * a1, attr_t a2, short a3, void * a4, NCURSES_OUTC_sp z);
+int call_NCURSES_SP_NAME___vid_puts (struct screen * a1, attr_t a2, short a3, void * a4, NCURSES_OUTC_sp z)
+{
+	T((T_CALLED("NCURSES_SP_NAME(vid_puts)(%p,%s,%#lx,%p,%#lx)"), (const void *)a1, _traceattr2(1,a2), (long)a3, (const void *)a4, (long)z));
+	returnCode(NCURSES_SP_NAME(vid_puts)(a1, a2, a3, a4, z));
+}
+#endif
+#if USE_SP_FUNC_SUPPORT
+extern wchar_t * call_NCURSES_SP_NAME___wunctrl (struct screen * a1, cchar_t * z);
+wchar_t * call_NCURSES_SP_NAME___wunctrl (struct screen * a1, cchar_t * z)
+{
+	return NCURSES_SP_NAME(wunctrl)(a1, z) ;
+}
+#endif
+extern NCURSES_BOOL call_mouse_trafo (int * a1, int * a2, NCURSES_BOOL z);
+NCURSES_BOOL call_mouse_trafo (int * a1, int * a2, NCURSES_BOOL z)
+{
+	T((T_CALLED("mouse_trafo(%p,%p,%#lx)"), (const void *)a1, (const void *)a2, (long)z));
+	returnBool(mouse_trafo(a1, a2, z));
+}
+int main(void)
+{
+ call_addch (0);
+ call_addchnstr (0, 0);
+ call_addchstr (0);
+ call_addnstr (0, 0);
+ call_addstr (0);
+ call_attroff (0);
+ call_attron (0);
+ call_attrset (0);
+ call_attr_get (0, 0, 0);
+ call_attr_off (0, 0);
+ call_attr_on (0, 0);
+ call_attr_set (0, 0, 0);
+ call_baudrate ();
+ call_beep ();
+ call_bkgd (0);
+ call_bkgdset (0);
+ call_border (0, 0, 0, 0, 0, 0, 0, 0);
+ call_box (0, 0, 0);
+ call_can_change_color ();
+ call_cbreak ();
+ call_chgat (0, 0, 0, 0);
+ call_clear ();
+ call_clearok (0, 0);
+ call_clrtobot ();
+ call_clrtoeol ();
+ call_color_content (0, 0, 0, 0);
+ call_color_set (0, 0);
+ call_COLOR_PAIR (0);
+ call_copywin (0, 0, 0, 0, 0, 0, 0, 0, 0);
+ call_curs_set (0);
+ call_def_prog_mode ();
+ call_def_shell_mode ();
+ call_delay_output (0);
+ call_delch ();
+ call_delscreen (0);
+ call_delwin (0);
+ call_deleteln ();
+ call_derwin (0, 0, 0, 0, 0);
+ call_doupdate ();
+ call_dupwin (0);
+ call_echo ();
+ call_echochar (0);
+ call_erase ();
+ call_endwin ();
+ call_erasechar ();
+ call_filter ();
+ call_flash ();
+ call_flushinp ();
+ call_getbkgd (0);
+ call_getch ();
+ call_getnstr (0, 0);
+ call_getstr (0);
+ call_getwin (0);
+ call_halfdelay (0);
+ call_has_colors ();
+ call_has_ic ();
+ call_has_il ();
+ call_hline (0, 0);
+ call_idcok (0, 0);
+ call_idlok (0, 0);
+ call_immedok (0, 0);
+ call_inch ();
+ call_inchnstr (0, 0);
+ call_inchstr (0);
+ call_initscr ();
+ call_init_color (0, 0, 0, 0);
+ call_init_pair (0, 0, 0);
+ call_innstr (0, 0);
+ call_insch (0);
+ call_insdelln (0);
+ call_insertln ();
+ call_insnstr (0, 0);
+ call_insstr (0);
+ call_instr (0);
+ call_intrflush (0, 0);
+ call_isendwin ();
+ call_is_linetouched (0, 0);
+ call_is_wintouched (0);
+ call_keyname (0);
+ call_keypad (0, 0);
+ call_killchar ();
+ call_leaveok (0, 0);
+ call_longname ();
+ call_meta (0, 0);
+ call_move (0, 0);
+ call_mvaddch (0, 0, 0);
+ call_mvaddchnstr (0, 0, 0, 0);
+ call_mvaddchstr (0, 0, 0);
+ call_mvaddnstr (0, 0, 0, 0);
+ call_mvaddstr (0, 0, 0);
+ call_mvchgat (0, 0, 0, 0, 0, 0);
+ call_mvcur (0, 0, 0, 0);
+ call_mvdelch (0, 0);
+ call_mvderwin (0, 0, 0);
+ call_mvgetch (0, 0);
+ call_mvgetnstr (0, 0, 0, 0);
+ call_mvgetstr (0, 0, 0);
+ call_mvhline (0, 0, 0, 0);
+ call_mvinch (0, 0);
+ call_mvinchnstr (0, 0, 0, 0);
+ call_mvinchstr (0, 0, 0);
+ call_mvinnstr (0, 0, 0, 0);
+ call_mvinsch (0, 0, 0);
+ call_mvinsnstr (0, 0, 0, 0);
+ call_mvinsstr (0, 0, 0);
+ call_mvinstr (0, 0, 0);
+ call_mvvline (0, 0, 0, 0);
+ call_mvwaddch (0, 0, 0, 0);
+ call_mvwaddchnstr (0, 0, 0, 0, 0);
+ call_mvwaddchstr (0, 0, 0, 0);
+ call_mvwaddnstr (0, 0, 0, 0, 0);
+ call_mvwaddstr (0, 0, 0, 0);
+ call_mvwchgat (0, 0, 0, 0, 0, 0, 0);
+ call_mvwdelch (0, 0, 0);
+ call_mvwgetch (0, 0, 0);
+ call_mvwgetnstr (0, 0, 0, 0, 0);
+ call_mvwgetstr (0, 0, 0, 0);
+ call_mvwhline (0, 0, 0, 0, 0);
+ call_mvwin (0, 0, 0);
+ call_mvwinch (0, 0, 0);
+ call_mvwinchnstr (0, 0, 0, 0, 0);
+ call_mvwinchstr (0, 0, 0, 0);
+ call_mvwinnstr (0, 0, 0, 0, 0);
+ call_mvwinsch (0, 0, 0, 0);
+ call_mvwinsnstr (0, 0, 0, 0, 0);
+ call_mvwinsstr (0, 0, 0, 0);
+ call_mvwinstr (0, 0, 0, 0);
+ call_mvwvline (0, 0, 0, 0, 0);
+ call_napms (0);
+ call_newpad (0, 0);
+ call_newterm (0, 0, 0);
+ call_newwin (0, 0, 0, 0);
+ call_nl ();
+ call_nocbreak ();
+ call_nodelay (0, 0);
+ call_noecho ();
+ call_nonl ();
+ call_noqiflush ();
+ call_noraw ();
+ call_notimeout (0, 0);
+ call_overlay (0, 0);
+ call_overwrite (0, 0);
+ call_pair_content (0, 0, 0);
+ call_PAIR_NUMBER (0);
+ call_pechochar (0, 0);
+ call_pnoutrefresh (0, 0, 0, 0, 0, 0, 0);
+ call_prefresh (0, 0, 0, 0, 0, 0, 0);
+ call_putwin (0, 0);
+ call_qiflush ();
+ call_raw ();
+ call_redrawwin (0);
+ call_refresh ();
+ call_resetty ();
+ call_reset_prog_mode ();
+ call_reset_shell_mode ();
+ call_ripoffline (0,0);
+ call_savetty ();
+ call_scr_dump (0);
+ call_scr_init (0);
+ call_scrl (0);
+ call_scroll (0);
+ call_scrollok (0, 0);
+ call_scr_restore (0);
+ call_scr_set (0);
+ call_setscrreg (0, 0);
+ call_set_term (0);
+ call_slk_attroff (0);
+#if USE_WIDEC_SUPPORT
+ call_slk_attr_off (0, 0);
+#endif
+ call_slk_attron (0);
+#if USE_WIDEC_SUPPORT
+ call_slk_attr_on (0, 0);
+#endif
+ call_slk_attrset (0);
+ call_slk_attr ();
+ call_slk_attr_set (0, 0, 0);
+ call_slk_clear ();
+ call_slk_color (0);
+ call_slk_init (0);
+ call_slk_label (0);
+ call_slk_noutrefresh ();
+ call_slk_refresh ();
+ call_slk_restore ();
+ call_slk_set (0, 0, 0);
+ call_slk_touch ();
+ call_standout ();
+ call_standend ();
+ call_start_color ();
+ call_subpad (0, 0, 0, 0, 0);
+ call_subwin (0, 0, 0, 0, 0);
+ call_syncok (0, 0);
+ call_termattrs ();
+ call_termname ();
+ call_timeout (0);
+ call_touchline (0, 0, 0);
+ call_touchwin (0);
+ call_typeahead (0);
+ call_ungetch (0);
+ call_untouchwin (0);
+ call_use_env (0);
+ call_use_tioctl (0);
+ call_vidattr (0);
+ call_vidputs (0, 0);
+ call_vline (0, 0);
+ call_waddch (0, 0);
+ call_waddchnstr (0, 0, 0);
+ call_waddchstr (0, 0);
+ call_waddnstr (0, 0, 0);
+ call_waddstr (0, 0);
+ call_wattron (0, 0);
+ call_wattroff (0, 0);
+ call_wattrset (0, 0);
+ call_wattr_get (0, 0, 0, 0);
+ call_wattr_on (0, 0, 0);
+ call_wattr_off (0, 0, 0);
+ call_wattr_set (0, 0, 0, 0);
+ call_wbkgd (0, 0);
+ call_wbkgdset (0, 0);
+ call_wborder (0, 0, 0, 0, 0, 0, 0, 0, 0);
+ call_wchgat (0, 0, 0, 0, 0);
+ call_wclear (0);
+ call_wclrtobot (0);
+ call_wclrtoeol (0);
+ call_wcolor_set (0, 0, 0);
+ call_wcursyncup (0);
+ call_wdelch (0);
+ call_wdeleteln (0);
+ call_wechochar (0, 0);
+ call_werase (0);
+ call_wgetch (0);
+ call_wgetnstr (0, 0, 0);
+ call_wgetstr (0, 0);
+ call_whline (0, 0, 0);
+ call_winch (0);
+ call_winchnstr (0, 0, 0);
+ call_winchstr (0, 0);
+ call_winnstr (0, 0, 0);
+ call_winsch (0, 0);
+ call_winsdelln (0, 0);
+ call_winsertln (0);
+ call_winsnstr (0, 0, 0);
+ call_winsstr (0, 0);
+ call_winstr (0, 0);
+ call_wmove (0, 0, 0);
+ call_wnoutrefresh (0);
+ call_wredrawln (0, 0, 0);
+ call_wrefresh (0);
+ call_wscrl (0, 0);
+ call_wsetscrreg (0, 0, 0);
+ call_wstandout (0);
+ call_wstandend (0);
+ call_wsyncdown (0);
+ call_wsyncup (0);
+ call_wtimeout (0, 0);
+ call_wtouchln (0, 0, 0, 0);
+ call_wvline (0, 0, 0);
+ call_tigetflag (0);
+ call_tigetnum (0);
+ call_tigetstr (0);
+ call_putp (0);
+ call_getattrs (0);
+ call_getcurx (0);
+ call_getcury (0);
+ call_getbegx (0);
+ call_getbegy (0);
+ call_getmaxx (0);
+ call_getmaxy (0);
+ call_getparx (0);
+ call_getpary (0);
+ call_wgetparent (0);
+ call_is_cleared (0);
+ call_is_idcok (0);
+ call_is_idlok (0);
+ call_is_immedok (0);
+ call_is_keypad (0);
+ call_is_leaveok (0);
+ call_is_nodelay (0);
+ call_is_notimeout (0);
+ call_is_pad (0);
+ call_is_scrollok (0);
+ call_is_subwin (0);
+ call_is_syncok (0);
+ call_wgetdelay (0);
+ call_wgetscrreg (0, 0, 0);
+#if USE_SP_FUNC_SUPPORT
+ call_new_prescr ();
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___baudrate (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___beep (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___can_change_color (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___cbreak (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___curs_set (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___color_content (0, 0, 0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___def_prog_mode (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___def_shell_mode (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___delay_output (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___doupdate (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___echo (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___endwin (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___erasechar (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___filter (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___flash (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___flushinp (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___getwin (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___halfdelay (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___has_colors (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___has_ic (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___has_il (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___init_color (0, 0, 0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___init_pair (0, 0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___intrflush (0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___isendwin (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___keyname (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___killchar (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___longname (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___mvcur (0, 0, 0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___napms (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___newpad (0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___newterm (0, 0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___newwin (0, 0, 0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___nl (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___nocbreak (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___noecho (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___nonl (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___noqiflush (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___noraw (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___pair_content (0, 0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___qiflush (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___raw (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___reset_prog_mode (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___reset_shell_mode (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___resetty (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___ripoffline (0, 0,0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___savetty (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___scr_init (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___scr_restore (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___scr_set (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_attroff (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_attron (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_attrset (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_attr (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_attr_set (0, 0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_clear (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_color (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_init (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_label (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_noutrefresh (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_refresh (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_restore (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_set (0, 0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___slk_touch (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___start_color (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___termattrs (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___termname (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___typeahead (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___ungetch (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___use_env (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___use_tioctl (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___vidattr (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___vidputs (0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___alloc_pair (0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___assume_default_colors (0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___define_key (0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___extended_color_content (0, 0, 0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___extended_pair_content (0, 0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___extended_slk_color (0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___find_pair (0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___free_pair (0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___get_escdelay (0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___init_extended_color (0, 0, 0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___init_extended_pair (0, 0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___is_cbreak (0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___is_echo (0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___is_nl (0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___is_raw (0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___is_term_resized (0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___key_defined (0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___keybound (0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___keyok (0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___nofilter (0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___reset_color_pairs (0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___resize_term (0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___resizeterm (0, 0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___set_escdelay (0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___set_tabsize (0, 0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___use_default_colors (0);
+#endif
+#if USE_EXT_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___use_legacy_coding (0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_add_wch (0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_add_wchnstr (0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_add_wchstr (0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_addnwstr (0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_addwstr (0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_bkgrnd (0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_bkgrndset (0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_border_set (0, 0, 0, 0, 0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_box_set (0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_echo_wchar (0);
+#endif
+ call_erasewchar (0);
+#if USE_WIDEC_SUPPORT
+ call_get_wch (0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_get_wstr (0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_getbkgrnd (0);
+#endif
+ call_getcchar (0, 0, 0, 0, 0);
+#if USE_WIDEC_SUPPORT
+ call_getn_wstr (0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_hline_set (0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_in_wch (0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_in_wchnstr (0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_in_wchstr (0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_innwstr (0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_ins_nwstr (0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_ins_wch (0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_ins_wstr (0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_inwstr (0);
+#endif
+ call_key_name (0);
+ call_killwchar (0);
+#if USE_WIDEC_SUPPORT
+ call_mvadd_wch (0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvadd_wchnstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvadd_wchstr (0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvaddnwstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvaddwstr (0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvget_wch (0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvget_wstr (0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvgetn_wstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvhline_set (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvin_wch (0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvin_wchnstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvin_wchstr (0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvinnwstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvins_nwstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvins_wch (0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvins_wstr (0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvinwstr (0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvvline_set (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwadd_wch (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwadd_wchnstr (0, 0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwadd_wchstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwaddnwstr (0, 0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwaddwstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwget_wch (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwget_wstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwgetn_wstr (0, 0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwhline_set (0, 0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwin_wch (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwin_wchnstr (0, 0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwin_wchstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwinnwstr (0, 0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwins_nwstr (0, 0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwins_wch (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwins_wstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwinwstr (0, 0, 0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_mvwvline_set (0, 0, 0, 0, 0);
+#endif
+ call_pecho_wchar (0, 0);
+ call_setcchar (0, 0, 0, 0, 0);
+ call_slk_wset (0, 0, 0);
+ call_term_attrs ();
+ call_unget_wch (0);
+ call_vid_attr (0, 0, 0);
+ call_vid_puts (0, 0, 0, 0);
+#if USE_WIDEC_SUPPORT
+ call_vline_set (0, 0);
+#endif
+ call_wadd_wch (0, 0);
+ call_wadd_wchnstr (0, 0, 0);
+#if USE_WIDEC_SUPPORT
+ call_wadd_wchstr (0, 0);
+#endif
+ call_waddnwstr (0, 0, 0);
+#if USE_WIDEC_SUPPORT
+ call_waddwstr (0, 0);
+#endif
+ call_wbkgrnd (0, 0);
+ call_wbkgrndset (0, 0);
+ call_wborder_set (0, 0, 0, 0, 0, 0, 0, 0, 0);
+ call_wecho_wchar (0, 0);
+ call_wget_wch (0, 0);
+#if USE_WIDEC_SUPPORT
+ call_wget_wstr (0, 0);
+#endif
+#if USE_WIDEC_SUPPORT
+ call_wgetbkgrnd (0, 0);
+#endif
+ call_wgetn_wstr (0, 0, 0);
+ call_whline_set (0, 0, 0);
+ call_win_wch (0, 0);
+ call_win_wchnstr (0, 0, 0);
+#if USE_WIDEC_SUPPORT
+ call_win_wchstr (0, 0);
+#endif
+ call_winnwstr (0, 0, 0);
+ call_wins_nwstr (0, 0, 0);
+ call_wins_wch (0, 0);
+#if USE_WIDEC_SUPPORT
+ call_wins_wstr (0, 0);
+#endif
+ call_winwstr (0, 0);
+ call_wunctrl (0);
+ call_wvline_set (0, 0, 0);
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___term_attrs (0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___erasewchar (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___killwchar (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___unget_wch (0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___vid_attr (0, 0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___vid_puts (0, 0, 0, 0, 0);
+#endif
+#if USE_SP_FUNC_SUPPORT
+ call_NCURSES_SP_NAME___wunctrl (0, 0);
+#endif
+ call_mouse_trafo (0, 0, 0);
+ return 0;
+}
diff --git a/ncurses/make_hash b/ncurses/make_hash
new file mode 100755
index 0000000..cfedb76
--- /dev/null
+++ b/ncurses/make_hash
Binary files differ
diff --git a/ncurses/make_keys b/ncurses/make_keys
new file mode 100755
index 0000000..e26b108
--- /dev/null
+++ b/ncurses/make_keys
Binary files differ
diff --git a/ncurses/names.c b/ncurses/names.c
new file mode 100644
index 0000000..db93378
--- /dev/null
+++ b/ncurses/names.c
@@ -0,0 +1,1379 @@
+/* This file was generated by MKnames.awk */
+
+#include <curses.priv.h>
+
+#define IT NCURSES_CONST char * const
+
+
+#if BROKEN_LINKER || USE_REENTRANT
+
+static const char _nc_name_blob[] = 
+"bw\0" "auto_left_margin\0" "am\0" "auto_right_margin\0" "xsb\0" "no_esc_ctlc\0" \
+"xhp\0" "ceol_standout_glitch\0" "xenl\0" "eat_newline_glitch\0" "eo\0" \
+"erase_overstrike\0" "gn\0" "generic_type\0" "hc\0" "hard_copy\0" "km\0" \
+"has_meta_key\0" "hs\0" "has_status_line\0" "in\0" "insert_null_glitch\0" \
+"da\0" "memory_above\0" "db\0" "memory_below\0" "mir\0" "move_insert_mode\0" \
+"msgr\0" "move_standout_mode\0" "os\0" "over_strike\0" "eslok\0" "status_line_esc_ok\0" \
+"xt\0" "dest_tabs_magic_smso\0" "hz\0" "tilde_glitch\0" "ul\0" "transparent_underline\0" \
+"xon\0" "xon_xoff\0" "nxon\0" "needs_xon_xoff\0" "mc5i\0" "prtr_silent\0" \
+"chts\0" "hard_cursor\0" "nrrmc\0" "non_rev_rmcup\0" "npc\0" "no_pad_char\0" \
+"ndscr\0" "non_dest_scroll_region\0" "ccc\0" "can_change\0" "bce\0" "back_color_erase\0" \
+"hls\0" "hue_lightness_saturation\0" "xhpa\0" "col_addr_glitch\0" "crxm\0" \
+"cr_cancels_micro_mode\0" "daisy\0" "has_print_wheel\0" "xvpa\0" "row_addr_glitch\0" \
+"sam\0" "semi_auto_right_margin\0" "cpix\0" "cpi_changes_res\0" "lpix\0" \
+"lpi_changes_res\0" "cols\0" "columns\0" "it\0" "init_tabs\0" "lines\0" \
+"lines\0" "lm\0" "lines_of_memory\0" "xmc\0" "magic_cookie_glitch\0" "pb\0" \
+"padding_baud_rate\0" "vt\0" "virtual_terminal\0" "wsl\0" "width_status_line\0" \
+"nlab\0" "num_labels\0" "lh\0" "label_height\0" "lw\0" "label_width\0" \
+"ma\0" "max_attributes\0" "wnum\0" "maximum_windows\0" "colors\0" "max_colors\0" \
+"pairs\0" "max_pairs\0" "ncv\0" "no_color_video\0" "bufsz\0" "buffer_capacity\0" \
+"spinv\0" "dot_vert_spacing\0" "spinh\0" "dot_horz_spacing\0" "maddr\0" \
+"max_micro_address\0" "mjump\0" "max_micro_jump\0" "mcs\0" "micro_col_size\0" \
+"mls\0" "micro_line_size\0" "npins\0" "number_of_pins\0" "orc\0" "output_res_char\0" \
+"orl\0" "output_res_line\0" "orhi\0" "output_res_horz_inch\0" "orvi\0" \
+"output_res_vert_inch\0" "cps\0" "print_rate\0" "widcs\0" "wide_char_size\0" \
+"btns\0" "buttons\0" "bitwin\0" "bit_image_entwining\0" "bitype\0" "bit_image_type\0" \
+"cbt\0" "back_tab\0" "bel\0" "bell\0" "cr\0" "carriage_return\0" "csr\0" \
+"change_scroll_region\0" "tbc\0" "clear_all_tabs\0" "clear\0" "clear_screen\0" \
+"el\0" "clr_eol\0" "ed\0" "clr_eos\0" "hpa\0" "column_address\0" "cmdch\0" \
+"command_character\0" "cup\0" "cursor_address\0" "cud1\0" "cursor_down\0" \
+"home\0" "cursor_home\0" "civis\0" "cursor_invisible\0" "cub1\0" "cursor_left\0" \
+"mrcup\0" "cursor_mem_address\0" "cnorm\0" "cursor_normal\0" "cuf1\0" "cursor_right\0" \
+"ll\0" "cursor_to_ll\0" "cuu1\0" "cursor_up\0" "cvvis\0" "cursor_visible\0" \
+"dch1\0" "delete_character\0" "dl1\0" "delete_line\0" "dsl\0" "dis_status_line\0" \
+"hd\0" "down_half_line\0" "smacs\0" "enter_alt_charset_mode\0" "blink\0" \
+"enter_blink_mode\0" "bold\0" "enter_bold_mode\0" "smcup\0" "enter_ca_mode\0" \
+"smdc\0" "enter_delete_mode\0" "dim\0" "enter_dim_mode\0" "smir\0" "enter_insert_mode\0" \
+"invis\0" "enter_secure_mode\0" "prot\0" "enter_protected_mode\0" "rev\0" \
+"enter_reverse_mode\0" "smso\0" "enter_standout_mode\0" "smul\0" "enter_underline_mode\0" \
+"ech\0" "erase_chars\0" "rmacs\0" "exit_alt_charset_mode\0" "sgr0\0" "exit_attribute_mode\0" \
+"rmcup\0" "exit_ca_mode\0" "rmdc\0" "exit_delete_mode\0" "rmir\0" "exit_insert_mode\0" \
+"rmso\0" "exit_standout_mode\0" "rmul\0" "exit_underline_mode\0" "flash\0" \
+"flash_screen\0" "ff\0" "form_feed\0" "fsl\0" "from_status_line\0" "is1\0" \
+"init_1string\0" "is2\0" "init_2string\0" "is3\0" "init_3string\0" "if\0" \
+"init_file\0" "ich1\0" "insert_character\0" "il1\0" "insert_line\0" "ip\0" \
+"insert_padding\0" "kbs\0" "key_backspace\0" "ktbc\0" "key_catab\0" "kclr\0" \
+"key_clear\0" "kctab\0" "key_ctab\0" "kdch1\0" "key_dc\0" "kdl1\0" "key_dl\0" \
+"kcud1\0" "key_down\0" "krmir\0" "key_eic\0" "kel\0" "key_eol\0" "ked\0" \
+"key_eos\0" "kf0\0" "key_f0\0" "kf1\0" "key_f1\0" "kf10\0" "key_f10\0" \
+"kf2\0" "key_f2\0" "kf3\0" "key_f3\0" "kf4\0" "key_f4\0" "kf5\0" "key_f5\0" \
+"kf6\0" "key_f6\0" "kf7\0" "key_f7\0" "kf8\0" "key_f8\0" "kf9\0" "key_f9\0" \
+"khome\0" "key_home\0" "kich1\0" "key_ic\0" "kil1\0" "key_il\0" "kcub1\0" \
+"key_left\0" "kll\0" "key_ll\0" "knp\0" "key_npage\0" "kpp\0" "key_ppage\0" \
+"kcuf1\0" "key_right\0" "kind\0" "key_sf\0" "kri\0" "key_sr\0" "khts\0" \
+"key_stab\0" "kcuu1\0" "key_up\0" "rmkx\0" "keypad_local\0" "smkx\0" "keypad_xmit\0" \
+"lf0\0" "lab_f0\0" "lf1\0" "lab_f1\0" "lf10\0" "lab_f10\0" "lf2\0" "lab_f2\0" \
+"lf3\0" "lab_f3\0" "lf4\0" "lab_f4\0" "lf5\0" "lab_f5\0" "lf6\0" "lab_f6\0" \
+"lf7\0" "lab_f7\0" "lf8\0" "lab_f8\0" "lf9\0" "lab_f9\0" "rmm\0" "meta_off\0" \
+"smm\0" "meta_on\0" "nel\0" "newline\0" "pad\0" "pad_char\0" "dch\0" "parm_dch\0" \
+"dl\0" "parm_delete_line\0" "cud\0" "parm_down_cursor\0" "ich\0" "parm_ich\0" \
+"indn\0" "parm_index\0" "il\0" "parm_insert_line\0" "cub\0" "parm_left_cursor\0" \
+"cuf\0" "parm_right_cursor\0" "rin\0" "parm_rindex\0" "cuu\0" "parm_up_cursor\0" \
+"pfkey\0" "pkey_key\0" "pfloc\0" "pkey_local\0" "pfx\0" "pkey_xmit\0" "mc0\0" \
+"print_screen\0" "mc4\0" "prtr_off\0" "mc5\0" "prtr_on\0" "rep\0" "repeat_char\0" \
+"rs1\0" "reset_1string\0" "rs2\0" "reset_2string\0" "rs3\0" "reset_3string\0" \
+"rf\0" "reset_file\0" "rc\0" "restore_cursor\0" "vpa\0" "row_address\0" \
+"sc\0" "save_cursor\0" "ind\0" "scroll_forward\0" "ri\0" "scroll_reverse\0" \
+"sgr\0" "set_attributes\0" "hts\0" "set_tab\0" "wind\0" "set_window\0" \
+"ht\0" "tab\0" "tsl\0" "to_status_line\0" "uc\0" "underline_char\0" "hu\0" \
+"up_half_line\0" "iprog\0" "init_prog\0" "ka1\0" "key_a1\0" "ka3\0" "key_a3\0" \
+"kb2\0" "key_b2\0" "kc1\0" "key_c1\0" "kc3\0" "key_c3\0" "mc5p\0" "prtr_non\0" \
+"rmp\0" "char_padding\0" "acsc\0" "acs_chars\0" "pln\0" "plab_norm\0" "kcbt\0" \
+"key_btab\0" "smxon\0" "enter_xon_mode\0" "rmxon\0" "exit_xon_mode\0" "smam\0" \
+"enter_am_mode\0" "rmam\0" "exit_am_mode\0" "xonc\0" "xon_character\0" \
+"xoffc\0" "xoff_character\0" "enacs\0" "ena_acs\0" "smln\0" "label_on\0" \
+"rmln\0" "label_off\0" "kbeg\0" "key_beg\0" "kcan\0" "key_cancel\0" "kclo\0" \
+"key_close\0" "kcmd\0" "key_command\0" "kcpy\0" "key_copy\0" "kcrt\0" "key_create\0" \
+"kend\0" "key_end\0" "kent\0" "key_enter\0" "kext\0" "key_exit\0" "kfnd\0" \
+"key_find\0" "khlp\0" "key_help\0" "kmrk\0" "key_mark\0" "kmsg\0" "key_message\0" \
+"kmov\0" "key_move\0" "knxt\0" "key_next\0" "kopn\0" "key_open\0" "kopt\0" \
+"key_options\0" "kprv\0" "key_previous\0" "kprt\0" "key_print\0" "krdo\0" \
+"key_redo\0" "kref\0" "key_reference\0" "krfr\0" "key_refresh\0" "krpl\0" \
+"key_replace\0" "krst\0" "key_restart\0" "kres\0" "key_resume\0" "ksav\0" \
+"key_save\0" "kspd\0" "key_suspend\0" "kund\0" "key_undo\0" "kBEG\0" "key_sbeg\0" \
+"kCAN\0" "key_scancel\0" "kCMD\0" "key_scommand\0" "kCPY\0" "key_scopy\0" \
+"kCRT\0" "key_screate\0" "kDC\0" "key_sdc\0" "kDL\0" "key_sdl\0" "kslt\0" \
+"key_select\0" "kEND\0" "key_send\0" "kEOL\0" "key_seol\0" "kEXT\0" "key_sexit\0" \
+"kFND\0" "key_sfind\0" "kHLP\0" "key_shelp\0" "kHOM\0" "key_shome\0" "kIC\0" \
+"key_sic\0" "kLFT\0" "key_sleft\0" "kMSG\0" "key_smessage\0" "kMOV\0" "key_smove\0" \
+"kNXT\0" "key_snext\0" "kOPT\0" "key_soptions\0" "kPRV\0" "key_sprevious\0" \
+"kPRT\0" "key_sprint\0" "kRDO\0" "key_sredo\0" "kRPL\0" "key_sreplace\0" \
+"kRIT\0" "key_sright\0" "kRES\0" "key_srsume\0" "kSAV\0" "key_ssave\0" \
+"kSPD\0" "key_ssuspend\0" "kUND\0" "key_sundo\0" "rfi\0" "req_for_input\0" \
+"kf11\0" "key_f11\0" "kf12\0" "key_f12\0" "kf13\0" "key_f13\0" "kf14\0" \
+"key_f14\0" "kf15\0" "key_f15\0" "kf16\0" "key_f16\0" "kf17\0" "key_f17\0" \
+"kf18\0" "key_f18\0" "kf19\0" "key_f19\0" "kf20\0" "key_f20\0" "kf21\0" \
+"key_f21\0" "kf22\0" "key_f22\0" "kf23\0" "key_f23\0" "kf24\0" "key_f24\0" \
+"kf25\0" "key_f25\0" "kf26\0" "key_f26\0" "kf27\0" "key_f27\0" "kf28\0" \
+"key_f28\0" "kf29\0" "key_f29\0" "kf30\0" "key_f30\0" "kf31\0" "key_f31\0" \
+"kf32\0" "key_f32\0" "kf33\0" "key_f33\0" "kf34\0" "key_f34\0" "kf35\0" \
+"key_f35\0" "kf36\0" "key_f36\0" "kf37\0" "key_f37\0" "kf38\0" "key_f38\0" \
+"kf39\0" "key_f39\0" "kf40\0" "key_f40\0" "kf41\0" "key_f41\0" "kf42\0" \
+"key_f42\0" "kf43\0" "key_f43\0" "kf44\0" "key_f44\0" "kf45\0" "key_f45\0" \
+"kf46\0" "key_f46\0" "kf47\0" "key_f47\0" "kf48\0" "key_f48\0" "kf49\0" \
+"key_f49\0" "kf50\0" "key_f50\0" "kf51\0" "key_f51\0" "kf52\0" "key_f52\0" \
+"kf53\0" "key_f53\0" "kf54\0" "key_f54\0" "kf55\0" "key_f55\0" "kf56\0" \
+"key_f56\0" "kf57\0" "key_f57\0" "kf58\0" "key_f58\0" "kf59\0" "key_f59\0" \
+"kf60\0" "key_f60\0" "kf61\0" "key_f61\0" "kf62\0" "key_f62\0" "kf63\0" \
+"key_f63\0" "el1\0" "clr_bol\0" "mgc\0" "clear_margins\0" "smgl\0" "set_left_margin\0" \
+"smgr\0" "set_right_margin\0" "fln\0" "label_format\0" "sclk\0" "set_clock\0" \
+"dclk\0" "display_clock\0" "rmclk\0" "remove_clock\0" "cwin\0" "create_window\0" \
+"wingo\0" "goto_window\0" "hup\0" "hangup\0" "dial\0" "dial_phone\0" "qdial\0" \
+"quick_dial\0" "tone\0" "tone\0" "pulse\0" "pulse\0" "hook\0" "flash_hook\0" \
+"pause\0" "fixed_pause\0" "wait\0" "wait_tone\0" "u0\0" "user0\0" "u1\0" \
+"user1\0" "u2\0" "user2\0" "u3\0" "user3\0" "u4\0" "user4\0" "u5\0" "user5\0" \
+"u6\0" "user6\0" "u7\0" "user7\0" "u8\0" "user8\0" "u9\0" "user9\0" "op\0" \
+"orig_pair\0" "oc\0" "orig_colors\0" "initc\0" "initialize_color\0" "initp\0" \
+"initialize_pair\0" "scp\0" "set_color_pair\0" "setf\0" "set_foreground\0" \
+"setb\0" "set_background\0" "cpi\0" "change_char_pitch\0" "lpi\0" "change_line_pitch\0" \
+"chr\0" "change_res_horz\0" "cvr\0" "change_res_vert\0" "defc\0" "define_char\0" \
+"swidm\0" "enter_doublewide_mode\0" "sdrfq\0" "enter_draft_quality\0" "sitm\0" \
+"enter_italics_mode\0" "slm\0" "enter_leftward_mode\0" "smicm\0" "enter_micro_mode\0" \
+"snlq\0" "enter_near_letter_quality\0" "snrmq\0" "enter_normal_quality\0" \
+"sshm\0" "enter_shadow_mode\0" "ssubm\0" "enter_subscript_mode\0" "ssupm\0" \
+"enter_superscript_mode\0" "sum\0" "enter_upward_mode\0" "rwidm\0" "exit_doublewide_mode\0" \
+"ritm\0" "exit_italics_mode\0" "rlm\0" "exit_leftward_mode\0" "rmicm\0" \
+"exit_micro_mode\0" "rshm\0" "exit_shadow_mode\0" "rsubm\0" "exit_subscript_mode\0" \
+"rsupm\0" "exit_superscript_mode\0" "rum\0" "exit_upward_mode\0" "mhpa\0" \
+"micro_column_address\0" "mcud1\0" "micro_down\0" "mcub1\0" "micro_left\0" \
+"mcuf1\0" "micro_right\0" "mvpa\0" "micro_row_address\0" "mcuu1\0" "micro_up\0" \
+"porder\0" "order_of_pins\0" "mcud\0" "parm_down_micro\0" "mcub\0" "parm_left_micro\0" \
+"mcuf\0" "parm_right_micro\0" "mcuu\0" "parm_up_micro\0" "scs\0" "select_char_set\0" \
+"smgb\0" "set_bottom_margin\0" "smgbp\0" "set_bottom_margin_parm\0" "smglp\0" \
+"set_left_margin_parm\0" "smgrp\0" "set_right_margin_parm\0" "smgt\0" "set_top_margin\0" \
+"smgtp\0" "set_top_margin_parm\0" "sbim\0" "start_bit_image\0" "scsd\0" \
+"start_char_set_def\0" "rbim\0" "stop_bit_image\0" "rcsd\0" "stop_char_set_def\0" \
+"subcs\0" "subscript_characters\0" "supcs\0" "superscript_characters\0" \
+"docr\0" "these_cause_cr\0" "zerom\0" "zero_motion\0" "csnm\0" "char_set_names\0" \
+"kmous\0" "key_mouse\0" "minfo\0" "mouse_info\0" "reqmp\0" "req_mouse_pos\0" \
+"getm\0" "get_mouse\0" "setaf\0" "set_a_foreground\0" "setab\0" "set_a_background\0" \
+"pfxl\0" "pkey_plab\0" "devt\0" "device_type\0" "csin\0" "code_set_init\0" \
+"s0ds\0" "set0_des_seq\0" "s1ds\0" "set1_des_seq\0" "s2ds\0" "set2_des_seq\0" \
+"s3ds\0" "set3_des_seq\0" "smglr\0" "set_lr_margin\0" "smgtb\0" "set_tb_margin\0" \
+"birep\0" "bit_image_repeat\0" "binel\0" "bit_image_newline\0" "bicr\0" \
+"bit_image_carriage_return\0" "colornm\0" "color_names\0" "defbi\0" "define_bit_image_region\0" \
+"endbi\0" "end_bit_image_region\0" "setcolor\0" "set_color_band\0" "slines\0" \
+"set_page_length\0" "dispc\0" "display_pc_char\0" "smpch\0" "enter_pc_charset_mode\0" \
+"rmpch\0" "exit_pc_charset_mode\0" "smsc\0" "enter_scancode_mode\0" "rmsc\0" \
+"exit_scancode_mode\0" "pctrm\0" "pc_term_options\0" "scesc\0" "scancode_escape\0" \
+"scesa\0" "alt_scancode_esc\0" "ehhlm\0" "enter_horizontal_hl_mode\0" "elhlm\0" \
+"enter_left_hl_mode\0" "elohlm\0" "enter_low_hl_mode\0" "erhlm\0" "enter_right_hl_mode\0" \
+"ethlm\0" "enter_top_hl_mode\0" "evhlm\0" "enter_vertical_hl_mode\0" "sgr1\0" \
+"set_a_attributes\0" "slength\0" "set_pglen_inch\0" "OTi2\0" "termcap_init2\0" \
+"OTrs\0" "termcap_reset\0" "OTug\0" "magic_cookie_glitch_ul\0" "OTbs\0" \
+"backspaces_with_bs\0" "OTns\0" "crt_no_scrolling\0" "OTnc\0" "no_correctly_working_cr\0" \
+"OTdC\0" "carriage_return_delay\0" "OTdN\0" "new_line_delay\0" "OTnl\0" \
+"linefeed_if_not_lf\0" "OTbc\0" "backspace_if_not_bs\0" "OTMT\0" "gnu_has_meta_key\0" \
+"OTNL\0" "linefeed_is_newline\0" "OTdB\0" "backspace_delay\0" "OTdT\0" \
+"horizontal_tab_delay\0" "OTkn\0" "number_of_function_keys\0" "OTko\0" \
+"other_non_function_keys\0" "OTma\0" "arrow_key_map\0" "OTpt\0" "has_hardware_tabs\0" \
+"OTxr\0" "return_does_clr_eol\0" "OTG2\0" "acs_ulcorner\0" "OTG3\0" "acs_llcorner\0" \
+"OTG1\0" "acs_urcorner\0" "OTG4\0" "acs_lrcorner\0" "OTGR\0" "acs_ltee\0" \
+"OTGL\0" "acs_rtee\0" "OTGU\0" "acs_btee\0" "OTGD\0" "acs_ttee\0" "OTGH\0" \
+"acs_hline\0" "OTGV\0" "acs_vline\0" "OTGC\0" "acs_plus\0" "meml\0" "memory_lock\0" \
+"memu\0" "memory_unlock\0" "box1\0" "box_chars_1\0" ;
+static const short _nc_offset_boolfnames[] = {
+3, 23, 45, 61, 87, 109, 129,
+145, 158, 174, 193, 215, 231,
+248, 270, 292, 310, 332, 356,
+372, 398, 412, 432, 449, 467,
+485, 503, 530, 545, 566, 596,
+617, 645, 666, 686, 714, 735,
+8193, 8217, 8239, 8364, 8386, 8535, 8558, };
+
+static NCURSES_CONST char ** ptr_boolfnames = 0;
+
+static const short _nc_offset_boolnames[] = {
+0, 20, 41, 57, 82, 106, 126, 142, 155, 171, 190, 212, 228, 244, 265, 289, 304, 329, 353, 369, 394, 407, 427, 444, 461, 481, 497, 526, 541, 562, 591, 612, 639, 661, 682, 709, 730, 8188, 8212, 8234, 8359, 8381, 8530, 8553, };
+
+static NCURSES_CONST char ** ptr_boolnames = 0;
+
+static const short _nc_offset_numfnames[] = {
+756, 767, 783, 792, 812, 835,
+856, 877, 900, 914, 930, 945,
+965, 988, 1005, 1019, 1040, 1062, 1085, 1108, 1132, 1151, 1170,
+1192, 1211, 1231, 1252, 1278, 1303, 1320, 1340, 1355, 1382, 8165,
+8268, 8295, 8411, 8432,
+8458, };
+
+static NCURSES_CONST char ** ptr_numfnames = 0;
+
+static const short _nc_offset_numnames[] = {
+751, 764, 777, 789, 808, 832, 853, 873, 895, 911, 927, 942, 960, 981, 999, 1015, 1034, 1056,
+1079, 1102, 1126, 1147, 1166, 1186, 1207, 1227, 1247, 1273, 1299,
+1314, 1335, 1348, 1375, 8160, 8263, 8290, 8406, 8427, 8453, };
+
+static NCURSES_CONST char ** ptr_numnames = 0;
+
+static const short _nc_offset_strfnames[] = {
+1401,
+1414, 1422, 1442, 1467, 1488, 1504, 1515, 1527, 1548, 1570, 1590,
+1607, 1625, 1647, 1665, 1690, 1709, 1725, 1743, 1759, 1779, 1800,
+1816, 1835, 1856, 1885, 1907, 1929, 1948, 1970, 1990, 2014, 2037,
+2062, 2086, 2111, 2136, 2154, 2181, 2207, 2225, 2247, 2269, 2293,
+2319, 2335, 2349, 2370, 2387, 2404, 2420, 2435, 2456, 2471, 2490,
+2509, 2524, 2540, 2555, 2567, 2580, 2595, 2607, 2619, 2631, 2642,
+2654, 2666, 2677, 2688, 2699, 2710, 2721, 2732, 2743, 2756, 2771,
+2783, 2796, 2809, 2820, 2834, 2850, 2865, 2876, 2888, 2903, 2915,
+2933, 2949, 2960, 2972, 2984, 2995, 3006, 3017, 3028, 3039, 3050,
+3061, 3072, 3085, 3097, 3109, 3122, 3134, 3155, 3176, 3190, 3204,
+3225, 3246, 3268, 3284, 3305, 3320, 3335, 3349, 3366, 3379, 3391,
+3407, 3425, 3443, 3460, 3474, 3493, 3508, 3524, 3542, 3561, 3580,
+3593, 3607, 3615, 3633, 3651, 3670, 3684, 3695, 3706, 3717, 3728,
+3740, 3753, 3771, 3785, 3800, 3815, 3836, 3855, 3874, 3892, 3912,
+3933, 3946, 3960, 3975, 3988, 4004, 4019, 4036, 4050, 4066, 4079,
+4094, 4108, 4122, 4136, 4150, 4167, 4181, 4195, 4209, 4226, 4244,
+4259, 4273, 4292, 4309, 4326, 4343, 4359, 4373, 4390, 4404, 4418,
+4435, 4453, 4468, 4484, 4496, 4509, 4525, 4539, 4553, 4568, 4583,
+4598, 4612, 4625, 4640, 4658, 4673, 4688, 4706, 4725, 4741, 4756,
+4774, 4790, 4806, 4821, 4839, 4853, 4872, 4885, 4898, 4911, 4924,
+4937, 4950, 4963, 4976, 4989, 5002, 5015, 5028, 5041, 5054, 5067,
+5080, 5093, 5106, 5119, 5132, 5145, 5158, 5171, 5184, 5197, 5210,
+5223, 5236, 5249, 5262, 5275, 5288, 5301, 5314, 5327, 5340, 5353,
+5366, 5379, 5392, 5405, 5418, 5431, 5444, 5457, 5470, 5483, 5496,
+5509, 5522, 5535, 5548, 5560, 5572, 5591, 5612, 5633, 5651, 5666,
+5686, 5704, 5724, 5740, 5752, 5769, 5785, 5796, 5807, 5824, 5841,
+5854, 5863, 5872, 5881, 5890, 5899, 5908, 5917, 5926, 5935, 5944,
+5957, 5975, 5998, 6018, 6038, 6058, 6077, 6099, 6121, 6141, 6162,
+6180, 6208, 6233, 6256, 6282, 6304, 6336, 6362, 6386, 6413, 6440,
+6464, 6490, 6512, 6537, 6558, 6581, 6607, 6633, 6655, 6682, 6699,
+6716, 6733, 6757, 6773, 6792, 6813, 6834, 6856, 6874, 6895, 6919,
+6948, 6975, 7002, 7023, 7048, 7069, 7093, 7113, 7137, 7164, 7192,
+7213, 7230, 7251, 7267, 7284, 7303, 7319, 7342, 7364, 7379, 7396,
+7415, 7433, 7451, 7469, 7488, 7508, 7528, 7551, 7574, 7608, 7626,
+7656, 7686, 7708, 7730, 7752, 7780, 7806, 7831, 7856, 7878, 7900,
+7923, 7954, 7980, 8004, 8030, 8054, 8082, 8107, 8127, 8146, 8315, 8339, 8487, 8516, 8583, 8601, 8619, 8637, 8655, 8669,
+8683, 8697, 8711, 8726, 8741, 8755, 8772, 8791, };
+
+static NCURSES_CONST char ** ptr_strfnames = 0;
+
+static const short _nc_offset_strnames[] = {
+1397, 1410, 1419, 1438, 1463, 1482, 1501,
+1512, 1523, 1542, 1566, 1585, 1602, 1619, 1642, 1659, 1684, 1704,
+1722, 1738, 1753, 1774, 1796, 1812, 1832, 1850, 1879, 1902, 1923,
+1943, 1966, 1985, 2008, 2032, 2058, 2081, 2106, 2132, 2148, 2176,
+2201, 2220, 2242, 2264, 2288, 2313, 2332, 2345, 2366, 2383, 2400,
+2417, 2430, 2452, 2468, 2486, 2504, 2519, 2534, 2549, 2562, 2574,
+2589, 2603, 2615, 2627, 2638, 2649, 2662, 2673, 2684, 2695, 2706,
+2717, 2728, 2739, 2750, 2765, 2778, 2790, 2805, 2816, 2830, 2844,
+2860, 2872, 2883, 2897, 2910, 2928, 2945, 2956, 2967, 2980, 2991,
+3002, 3013, 3024, 3035, 3046, 3057, 3068, 3081, 3093, 3105, 3118,
+3131, 3151, 3172, 3185, 3201, 3221, 3242, 3264, 3280, 3299, 3314,
+3331, 3345, 3362, 3375, 3387, 3403, 3421, 3439, 3457, 3471, 3489,
+3505, 3520, 3539, 3557, 3576, 3588, 3604, 3611, 3630, 3648, 3664,
+3680, 3691, 3702, 3713, 3724, 3735, 3749, 3766, 3781, 3795, 3809,
+3830, 3850, 3869, 3887, 3906, 3927, 3941, 3955, 3970, 3983, 3999,
+4014, 4031, 4045, 4061, 4074, 4089, 4103, 4117, 4131, 4145, 4162,
+4176, 4190, 4204, 4221, 4239, 4254, 4268, 4287, 4304, 4321, 4338,
+4354, 4368, 4385, 4399, 4413, 4430, 4448, 4463, 4480, 4492, 4504,
+4520, 4534, 4548, 4563, 4578, 4593, 4608, 4620, 4635, 4653, 4668,
+4683, 4701, 4720, 4736, 4751, 4769, 4785, 4801, 4816, 4834, 4849,
+4867, 4880, 4893, 4906, 4919, 4932, 4945, 4958, 4971, 4984, 4997,
+5010, 5023, 5036, 5049, 5062, 5075, 5088, 5101, 5114, 5127, 5140,
+5153, 5166, 5179, 5192, 5205, 5218, 5231, 5244, 5257, 5270, 5283,
+5296, 5309, 5322, 5335, 5348, 5361, 5374, 5387, 5400, 5413, 5426,
+5439, 5452, 5465, 5478, 5491, 5504, 5517, 5530, 5543, 5556, 5568,
+5586, 5607, 5629, 5646, 5661, 5680, 5699, 5718, 5736, 5747, 5763,
+5780, 5790, 5802, 5818, 5836, 5851, 5860, 5869, 5878, 5887, 5896,
+5905, 5914, 5923, 5932, 5941, 5954, 5969, 5992, 6014, 6033, 6053,
+6073, 6095, 6117, 6137, 6157, 6174, 6202, 6228, 6252, 6276, 6299,
+6330, 6357, 6380, 6407, 6436, 6458, 6485, 6508, 6531, 6553, 6575,
+6601, 6629, 6650, 6676, 6693, 6710, 6728, 6751, 6766, 6787, 6808,
+6829, 6851, 6870, 6890, 6913, 6942, 6969, 6997, 7017, 7043, 7064,
+7088, 7108, 7131, 7158, 7187, 7207, 7225, 7245, 7261, 7278, 7298,
+7313, 7336, 7359, 7374, 7391, 7410, 7428, 7446, 7464, 7482, 7502,
+7522, 7545, 7569, 7600, 7620, 7650, 7677, 7701, 7724, 7746, 7774,
+7801, 7826, 7850, 7872, 7894, 7917, 7948, 7973, 7998, 8024, 8048,
+8077, 8099, 8122, 8141, 8310,
+8334, 8482, 8511, 8578,
+8596, 8614, 8632, 8650, 8664, 8678, 8692, 8706, 8721, 8736, 8750,
+8767, 8786, };
+
+static NCURSES_CONST char ** ptr_strnames = 0;
+
+
+static IT *
+alloc_array(NCURSES_CONST char ***value, const short *offsets, unsigned size)
+{
+	if (*value == 0) {
+		if ((*value = typeCalloc(NCURSES_CONST char *, size + 1)) != 0) {
+			unsigned n;
+			for (n = 0; n < size; ++n) {
+				(*value)[n] = (NCURSES_CONST char *) _nc_name_blob + offsets[n];
+			}
+		}
+	}
+	return *value;
+}
+
+#define FIX(it) NCURSES_IMPEXP IT * NCURSES_API NCURSES_PUBLIC_VAR(it)(void) { return alloc_array(&ptr_##it, _nc_offset_##it, SIZEOF(_nc_offset_##it)); }
+
+/* remove public definition which conflicts with FIX() */
+#undef boolnames
+#undef boolfnames
+#undef numnames
+#undef numfnames
+#undef strnames
+#undef strfnames
+
+/* add local definition */
+FIX(boolnames)
+FIX(boolfnames)
+FIX(numnames)
+FIX(numfnames)
+FIX(strnames)
+FIX(strfnames)
+
+/* restore the public definition */
+#define boolnames  NCURSES_PUBLIC_VAR(boolnames())
+#define boolfnames NCURSES_PUBLIC_VAR(boolfnames())
+#define numnames   NCURSES_PUBLIC_VAR(numnames())
+#define numfnames  NCURSES_PUBLIC_VAR(numfnames())
+#define strnames   NCURSES_PUBLIC_VAR(strnames())
+#define strfnames  NCURSES_PUBLIC_VAR(strfnames())
+
+#define FREE_FIX(it) if (ptr_##it) { FreeAndNull(ptr_##it); }
+
+#if NO_LEAKS
+NCURSES_EXPORT(void)
+_nc_names_leaks(void)
+{
+FREE_FIX(boolnames)
+FREE_FIX(boolfnames)
+FREE_FIX(numnames)
+FREE_FIX(numfnames)
+FREE_FIX(strnames)
+FREE_FIX(strfnames)
+}
+#endif
+
+#else
+
+#define DCL(it) NCURSES_EXPORT_VAR(IT) it[]
+
+DCL(boolnames) = {
+		"bw",
+		"am",
+		"xsb",
+		"xhp",
+		"xenl",
+		"eo",
+		"gn",
+		"hc",
+		"km",
+		"hs",
+		"in",
+		"da",
+		"db",
+		"mir",
+		"msgr",
+		"os",
+		"eslok",
+		"xt",
+		"hz",
+		"ul",
+		"xon",
+		"nxon",
+		"mc5i",
+		"chts",
+		"nrrmc",
+		"npc",
+		"ndscr",
+		"ccc",
+		"bce",
+		"hls",
+		"xhpa",
+		"crxm",
+		"daisy",
+		"xvpa",
+		"sam",
+		"cpix",
+		"lpix",
+		"OTbs",
+		"OTns",
+		"OTnc",
+		"OTMT",
+		"OTNL",
+		"OTpt",
+		"OTxr",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(boolfnames) = {
+		"auto_left_margin",
+		"auto_right_margin",
+		"no_esc_ctlc",
+		"ceol_standout_glitch",
+		"eat_newline_glitch",
+		"erase_overstrike",
+		"generic_type",
+		"hard_copy",
+		"has_meta_key",
+		"has_status_line",
+		"insert_null_glitch",
+		"memory_above",
+		"memory_below",
+		"move_insert_mode",
+		"move_standout_mode",
+		"over_strike",
+		"status_line_esc_ok",
+		"dest_tabs_magic_smso",
+		"tilde_glitch",
+		"transparent_underline",
+		"xon_xoff",
+		"needs_xon_xoff",
+		"prtr_silent",
+		"hard_cursor",
+		"non_rev_rmcup",
+		"no_pad_char",
+		"non_dest_scroll_region",
+		"can_change",
+		"back_color_erase",
+		"hue_lightness_saturation",
+		"col_addr_glitch",
+		"cr_cancels_micro_mode",
+		"has_print_wheel",
+		"row_addr_glitch",
+		"semi_auto_right_margin",
+		"cpi_changes_res",
+		"lpi_changes_res",
+		"backspaces_with_bs",
+		"crt_no_scrolling",
+		"no_correctly_working_cr",
+		"gnu_has_meta_key",
+		"linefeed_is_newline",
+		"has_hardware_tabs",
+		"return_does_clr_eol",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(numnames) = {
+		"cols",
+		"it",
+		"lines",
+		"lm",
+		"xmc",
+		"pb",
+		"vt",
+		"wsl",
+		"nlab",
+		"lh",
+		"lw",
+		"ma",
+		"wnum",
+		"colors",
+		"pairs",
+		"ncv",
+		"bufsz",
+		"spinv",
+		"spinh",
+		"maddr",
+		"mjump",
+		"mcs",
+		"mls",
+		"npins",
+		"orc",
+		"orl",
+		"orhi",
+		"orvi",
+		"cps",
+		"widcs",
+		"btns",
+		"bitwin",
+		"bitype",
+		"OTug",
+		"OTdC",
+		"OTdN",
+		"OTdB",
+		"OTdT",
+		"OTkn",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(numfnames) = {
+		"columns",
+		"init_tabs",
+		"lines",
+		"lines_of_memory",
+		"magic_cookie_glitch",
+		"padding_baud_rate",
+		"virtual_terminal",
+		"width_status_line",
+		"num_labels",
+		"label_height",
+		"label_width",
+		"max_attributes",
+		"maximum_windows",
+		"max_colors",
+		"max_pairs",
+		"no_color_video",
+		"buffer_capacity",
+		"dot_vert_spacing",
+		"dot_horz_spacing",
+		"max_micro_address",
+		"max_micro_jump",
+		"micro_col_size",
+		"micro_line_size",
+		"number_of_pins",
+		"output_res_char",
+		"output_res_line",
+		"output_res_horz_inch",
+		"output_res_vert_inch",
+		"print_rate",
+		"wide_char_size",
+		"buttons",
+		"bit_image_entwining",
+		"bit_image_type",
+		"magic_cookie_glitch_ul",
+		"carriage_return_delay",
+		"new_line_delay",
+		"backspace_delay",
+		"horizontal_tab_delay",
+		"number_of_function_keys",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(strnames) = {
+		"cbt",
+		"bel",
+		"cr",
+		"csr",
+		"tbc",
+		"clear",
+		"el",
+		"ed",
+		"hpa",
+		"cmdch",
+		"cup",
+		"cud1",
+		"home",
+		"civis",
+		"cub1",
+		"mrcup",
+		"cnorm",
+		"cuf1",
+		"ll",
+		"cuu1",
+		"cvvis",
+		"dch1",
+		"dl1",
+		"dsl",
+		"hd",
+		"smacs",
+		"blink",
+		"bold",
+		"smcup",
+		"smdc",
+		"dim",
+		"smir",
+		"invis",
+		"prot",
+		"rev",
+		"smso",
+		"smul",
+		"ech",
+		"rmacs",
+		"sgr0",
+		"rmcup",
+		"rmdc",
+		"rmir",
+		"rmso",
+		"rmul",
+		"flash",
+		"ff",
+		"fsl",
+		"is1",
+		"is2",
+		"is3",
+		"if",
+		"ich1",
+		"il1",
+		"ip",
+		"kbs",
+		"ktbc",
+		"kclr",
+		"kctab",
+		"kdch1",
+		"kdl1",
+		"kcud1",
+		"krmir",
+		"kel",
+		"ked",
+		"kf0",
+		"kf1",
+		"kf10",
+		"kf2",
+		"kf3",
+		"kf4",
+		"kf5",
+		"kf6",
+		"kf7",
+		"kf8",
+		"kf9",
+		"khome",
+		"kich1",
+		"kil1",
+		"kcub1",
+		"kll",
+		"knp",
+		"kpp",
+		"kcuf1",
+		"kind",
+		"kri",
+		"khts",
+		"kcuu1",
+		"rmkx",
+		"smkx",
+		"lf0",
+		"lf1",
+		"lf10",
+		"lf2",
+		"lf3",
+		"lf4",
+		"lf5",
+		"lf6",
+		"lf7",
+		"lf8",
+		"lf9",
+		"rmm",
+		"smm",
+		"nel",
+		"pad",
+		"dch",
+		"dl",
+		"cud",
+		"ich",
+		"indn",
+		"il",
+		"cub",
+		"cuf",
+		"rin",
+		"cuu",
+		"pfkey",
+		"pfloc",
+		"pfx",
+		"mc0",
+		"mc4",
+		"mc5",
+		"rep",
+		"rs1",
+		"rs2",
+		"rs3",
+		"rf",
+		"rc",
+		"vpa",
+		"sc",
+		"ind",
+		"ri",
+		"sgr",
+		"hts",
+		"wind",
+		"ht",
+		"tsl",
+		"uc",
+		"hu",
+		"iprog",
+		"ka1",
+		"ka3",
+		"kb2",
+		"kc1",
+		"kc3",
+		"mc5p",
+		"rmp",
+		"acsc",
+		"pln",
+		"kcbt",
+		"smxon",
+		"rmxon",
+		"smam",
+		"rmam",
+		"xonc",
+		"xoffc",
+		"enacs",
+		"smln",
+		"rmln",
+		"kbeg",
+		"kcan",
+		"kclo",
+		"kcmd",
+		"kcpy",
+		"kcrt",
+		"kend",
+		"kent",
+		"kext",
+		"kfnd",
+		"khlp",
+		"kmrk",
+		"kmsg",
+		"kmov",
+		"knxt",
+		"kopn",
+		"kopt",
+		"kprv",
+		"kprt",
+		"krdo",
+		"kref",
+		"krfr",
+		"krpl",
+		"krst",
+		"kres",
+		"ksav",
+		"kspd",
+		"kund",
+		"kBEG",
+		"kCAN",
+		"kCMD",
+		"kCPY",
+		"kCRT",
+		"kDC",
+		"kDL",
+		"kslt",
+		"kEND",
+		"kEOL",
+		"kEXT",
+		"kFND",
+		"kHLP",
+		"kHOM",
+		"kIC",
+		"kLFT",
+		"kMSG",
+		"kMOV",
+		"kNXT",
+		"kOPT",
+		"kPRV",
+		"kPRT",
+		"kRDO",
+		"kRPL",
+		"kRIT",
+		"kRES",
+		"kSAV",
+		"kSPD",
+		"kUND",
+		"rfi",
+		"kf11",
+		"kf12",
+		"kf13",
+		"kf14",
+		"kf15",
+		"kf16",
+		"kf17",
+		"kf18",
+		"kf19",
+		"kf20",
+		"kf21",
+		"kf22",
+		"kf23",
+		"kf24",
+		"kf25",
+		"kf26",
+		"kf27",
+		"kf28",
+		"kf29",
+		"kf30",
+		"kf31",
+		"kf32",
+		"kf33",
+		"kf34",
+		"kf35",
+		"kf36",
+		"kf37",
+		"kf38",
+		"kf39",
+		"kf40",
+		"kf41",
+		"kf42",
+		"kf43",
+		"kf44",
+		"kf45",
+		"kf46",
+		"kf47",
+		"kf48",
+		"kf49",
+		"kf50",
+		"kf51",
+		"kf52",
+		"kf53",
+		"kf54",
+		"kf55",
+		"kf56",
+		"kf57",
+		"kf58",
+		"kf59",
+		"kf60",
+		"kf61",
+		"kf62",
+		"kf63",
+		"el1",
+		"mgc",
+		"smgl",
+		"smgr",
+		"fln",
+		"sclk",
+		"dclk",
+		"rmclk",
+		"cwin",
+		"wingo",
+		"hup",
+		"dial",
+		"qdial",
+		"tone",
+		"pulse",
+		"hook",
+		"pause",
+		"wait",
+		"u0",
+		"u1",
+		"u2",
+		"u3",
+		"u4",
+		"u5",
+		"u6",
+		"u7",
+		"u8",
+		"u9",
+		"op",
+		"oc",
+		"initc",
+		"initp",
+		"scp",
+		"setf",
+		"setb",
+		"cpi",
+		"lpi",
+		"chr",
+		"cvr",
+		"defc",
+		"swidm",
+		"sdrfq",
+		"sitm",
+		"slm",
+		"smicm",
+		"snlq",
+		"snrmq",
+		"sshm",
+		"ssubm",
+		"ssupm",
+		"sum",
+		"rwidm",
+		"ritm",
+		"rlm",
+		"rmicm",
+		"rshm",
+		"rsubm",
+		"rsupm",
+		"rum",
+		"mhpa",
+		"mcud1",
+		"mcub1",
+		"mcuf1",
+		"mvpa",
+		"mcuu1",
+		"porder",
+		"mcud",
+		"mcub",
+		"mcuf",
+		"mcuu",
+		"scs",
+		"smgb",
+		"smgbp",
+		"smglp",
+		"smgrp",
+		"smgt",
+		"smgtp",
+		"sbim",
+		"scsd",
+		"rbim",
+		"rcsd",
+		"subcs",
+		"supcs",
+		"docr",
+		"zerom",
+		"csnm",
+		"kmous",
+		"minfo",
+		"reqmp",
+		"getm",
+		"setaf",
+		"setab",
+		"pfxl",
+		"devt",
+		"csin",
+		"s0ds",
+		"s1ds",
+		"s2ds",
+		"s3ds",
+		"smglr",
+		"smgtb",
+		"birep",
+		"binel",
+		"bicr",
+		"colornm",
+		"defbi",
+		"endbi",
+		"setcolor",
+		"slines",
+		"dispc",
+		"smpch",
+		"rmpch",
+		"smsc",
+		"rmsc",
+		"pctrm",
+		"scesc",
+		"scesa",
+		"ehhlm",
+		"elhlm",
+		"elohlm",
+		"erhlm",
+		"ethlm",
+		"evhlm",
+		"sgr1",
+		"slength",
+		"OTi2",
+		"OTrs",
+		"OTnl",
+		"OTbc",
+		"OTko",
+		"OTma",
+		"OTG2",
+		"OTG3",
+		"OTG1",
+		"OTG4",
+		"OTGR",
+		"OTGL",
+		"OTGU",
+		"OTGD",
+		"OTGH",
+		"OTGV",
+		"OTGC",
+		"meml",
+		"memu",
+		"box1",
+
+		(NCURSES_CONST char *)0,
+};
+
+DCL(strfnames) = {
+		"back_tab",
+		"bell",
+		"carriage_return",
+		"change_scroll_region",
+		"clear_all_tabs",
+		"clear_screen",
+		"clr_eol",
+		"clr_eos",
+		"column_address",
+		"command_character",
+		"cursor_address",
+		"cursor_down",
+		"cursor_home",
+		"cursor_invisible",
+		"cursor_left",
+		"cursor_mem_address",
+		"cursor_normal",
+		"cursor_right",
+		"cursor_to_ll",
+		"cursor_up",
+		"cursor_visible",
+		"delete_character",
+		"delete_line",
+		"dis_status_line",
+		"down_half_line",
+		"enter_alt_charset_mode",
+		"enter_blink_mode",
+		"enter_bold_mode",
+		"enter_ca_mode",
+		"enter_delete_mode",
+		"enter_dim_mode",
+		"enter_insert_mode",
+		"enter_secure_mode",
+		"enter_protected_mode",
+		"enter_reverse_mode",
+		"enter_standout_mode",
+		"enter_underline_mode",
+		"erase_chars",
+		"exit_alt_charset_mode",
+		"exit_attribute_mode",
+		"exit_ca_mode",
+		"exit_delete_mode",
+		"exit_insert_mode",
+		"exit_standout_mode",
+		"exit_underline_mode",
+		"flash_screen",
+		"form_feed",
+		"from_status_line",
+		"init_1string",
+		"init_2string",
+		"init_3string",
+		"init_file",
+		"insert_character",
+		"insert_line",
+		"insert_padding",
+		"key_backspace",
+		"key_catab",
+		"key_clear",
+		"key_ctab",
+		"key_dc",
+		"key_dl",
+		"key_down",
+		"key_eic",
+		"key_eol",
+		"key_eos",
+		"key_f0",
+		"key_f1",
+		"key_f10",
+		"key_f2",
+		"key_f3",
+		"key_f4",
+		"key_f5",
+		"key_f6",
+		"key_f7",
+		"key_f8",
+		"key_f9",
+		"key_home",
+		"key_ic",
+		"key_il",
+		"key_left",
+		"key_ll",
+		"key_npage",
+		"key_ppage",
+		"key_right",
+		"key_sf",
+		"key_sr",
+		"key_stab",
+		"key_up",
+		"keypad_local",
+		"keypad_xmit",
+		"lab_f0",
+		"lab_f1",
+		"lab_f10",
+		"lab_f2",
+		"lab_f3",
+		"lab_f4",
+		"lab_f5",
+		"lab_f6",
+		"lab_f7",
+		"lab_f8",
+		"lab_f9",
+		"meta_off",
+		"meta_on",
+		"newline",
+		"pad_char",
+		"parm_dch",
+		"parm_delete_line",
+		"parm_down_cursor",
+		"parm_ich",
+		"parm_index",
+		"parm_insert_line",
+		"parm_left_cursor",
+		"parm_right_cursor",
+		"parm_rindex",
+		"parm_up_cursor",
+		"pkey_key",
+		"pkey_local",
+		"pkey_xmit",
+		"print_screen",
+		"prtr_off",
+		"prtr_on",
+		"repeat_char",
+		"reset_1string",
+		"reset_2string",
+		"reset_3string",
+		"reset_file",
+		"restore_cursor",
+		"row_address",
+		"save_cursor",
+		"scroll_forward",
+		"scroll_reverse",
+		"set_attributes",
+		"set_tab",
+		"set_window",
+		"tab",
+		"to_status_line",
+		"underline_char",
+		"up_half_line",
+		"init_prog",
+		"key_a1",
+		"key_a3",
+		"key_b2",
+		"key_c1",
+		"key_c3",
+		"prtr_non",
+		"char_padding",
+		"acs_chars",
+		"plab_norm",
+		"key_btab",
+		"enter_xon_mode",
+		"exit_xon_mode",
+		"enter_am_mode",
+		"exit_am_mode",
+		"xon_character",
+		"xoff_character",
+		"ena_acs",
+		"label_on",
+		"label_off",
+		"key_beg",
+		"key_cancel",
+		"key_close",
+		"key_command",
+		"key_copy",
+		"key_create",
+		"key_end",
+		"key_enter",
+		"key_exit",
+		"key_find",
+		"key_help",
+		"key_mark",
+		"key_message",
+		"key_move",
+		"key_next",
+		"key_open",
+		"key_options",
+		"key_previous",
+		"key_print",
+		"key_redo",
+		"key_reference",
+		"key_refresh",
+		"key_replace",
+		"key_restart",
+		"key_resume",
+		"key_save",
+		"key_suspend",
+		"key_undo",
+		"key_sbeg",
+		"key_scancel",
+		"key_scommand",
+		"key_scopy",
+		"key_screate",
+		"key_sdc",
+		"key_sdl",
+		"key_select",
+		"key_send",
+		"key_seol",
+		"key_sexit",
+		"key_sfind",
+		"key_shelp",
+		"key_shome",
+		"key_sic",
+		"key_sleft",
+		"key_smessage",
+		"key_smove",
+		"key_snext",
+		"key_soptions",
+		"key_sprevious",
+		"key_sprint",
+		"key_sredo",
+		"key_sreplace",
+		"key_sright",
+		"key_srsume",
+		"key_ssave",
+		"key_ssuspend",
+		"key_sundo",
+		"req_for_input",
+		"key_f11",
+		"key_f12",
+		"key_f13",
+		"key_f14",
+		"key_f15",
+		"key_f16",
+		"key_f17",
+		"key_f18",
+		"key_f19",
+		"key_f20",
+		"key_f21",
+		"key_f22",
+		"key_f23",
+		"key_f24",
+		"key_f25",
+		"key_f26",
+		"key_f27",
+		"key_f28",
+		"key_f29",
+		"key_f30",
+		"key_f31",
+		"key_f32",
+		"key_f33",
+		"key_f34",
+		"key_f35",
+		"key_f36",
+		"key_f37",
+		"key_f38",
+		"key_f39",
+		"key_f40",
+		"key_f41",
+		"key_f42",
+		"key_f43",
+		"key_f44",
+		"key_f45",
+		"key_f46",
+		"key_f47",
+		"key_f48",
+		"key_f49",
+		"key_f50",
+		"key_f51",
+		"key_f52",
+		"key_f53",
+		"key_f54",
+		"key_f55",
+		"key_f56",
+		"key_f57",
+		"key_f58",
+		"key_f59",
+		"key_f60",
+		"key_f61",
+		"key_f62",
+		"key_f63",
+		"clr_bol",
+		"clear_margins",
+		"set_left_margin",
+		"set_right_margin",
+		"label_format",
+		"set_clock",
+		"display_clock",
+		"remove_clock",
+		"create_window",
+		"goto_window",
+		"hangup",
+		"dial_phone",
+		"quick_dial",
+		"tone",
+		"pulse",
+		"flash_hook",
+		"fixed_pause",
+		"wait_tone",
+		"user0",
+		"user1",
+		"user2",
+		"user3",
+		"user4",
+		"user5",
+		"user6",
+		"user7",
+		"user8",
+		"user9",
+		"orig_pair",
+		"orig_colors",
+		"initialize_color",
+		"initialize_pair",
+		"set_color_pair",
+		"set_foreground",
+		"set_background",
+		"change_char_pitch",
+		"change_line_pitch",
+		"change_res_horz",
+		"change_res_vert",
+		"define_char",
+		"enter_doublewide_mode",
+		"enter_draft_quality",
+		"enter_italics_mode",
+		"enter_leftward_mode",
+		"enter_micro_mode",
+		"enter_near_letter_quality",
+		"enter_normal_quality",
+		"enter_shadow_mode",
+		"enter_subscript_mode",
+		"enter_superscript_mode",
+		"enter_upward_mode",
+		"exit_doublewide_mode",
+		"exit_italics_mode",
+		"exit_leftward_mode",
+		"exit_micro_mode",
+		"exit_shadow_mode",
+		"exit_subscript_mode",
+		"exit_superscript_mode",
+		"exit_upward_mode",
+		"micro_column_address",
+		"micro_down",
+		"micro_left",
+		"micro_right",
+		"micro_row_address",
+		"micro_up",
+		"order_of_pins",
+		"parm_down_micro",
+		"parm_left_micro",
+		"parm_right_micro",
+		"parm_up_micro",
+		"select_char_set",
+		"set_bottom_margin",
+		"set_bottom_margin_parm",
+		"set_left_margin_parm",
+		"set_right_margin_parm",
+		"set_top_margin",
+		"set_top_margin_parm",
+		"start_bit_image",
+		"start_char_set_def",
+		"stop_bit_image",
+		"stop_char_set_def",
+		"subscript_characters",
+		"superscript_characters",
+		"these_cause_cr",
+		"zero_motion",
+		"char_set_names",
+		"key_mouse",
+		"mouse_info",
+		"req_mouse_pos",
+		"get_mouse",
+		"set_a_foreground",
+		"set_a_background",
+		"pkey_plab",
+		"device_type",
+		"code_set_init",
+		"set0_des_seq",
+		"set1_des_seq",
+		"set2_des_seq",
+		"set3_des_seq",
+		"set_lr_margin",
+		"set_tb_margin",
+		"bit_image_repeat",
+		"bit_image_newline",
+		"bit_image_carriage_return",
+		"color_names",
+		"define_bit_image_region",
+		"end_bit_image_region",
+		"set_color_band",
+		"set_page_length",
+		"display_pc_char",
+		"enter_pc_charset_mode",
+		"exit_pc_charset_mode",
+		"enter_scancode_mode",
+		"exit_scancode_mode",
+		"pc_term_options",
+		"scancode_escape",
+		"alt_scancode_esc",
+		"enter_horizontal_hl_mode",
+		"enter_left_hl_mode",
+		"enter_low_hl_mode",
+		"enter_right_hl_mode",
+		"enter_top_hl_mode",
+		"enter_vertical_hl_mode",
+		"set_a_attributes",
+		"set_pglen_inch",
+		"termcap_init2",
+		"termcap_reset",
+		"linefeed_if_not_lf",
+		"backspace_if_not_bs",
+		"other_non_function_keys",
+		"arrow_key_map",
+		"acs_ulcorner",
+		"acs_llcorner",
+		"acs_urcorner",
+		"acs_lrcorner",
+		"acs_ltee",
+		"acs_rtee",
+		"acs_btee",
+		"acs_ttee",
+		"acs_hline",
+		"acs_vline",
+		"acs_plus",
+		"memory_lock",
+		"memory_unlock",
+		"box_chars_1",
+
+		(NCURSES_CONST char *)0,
+};
+
+
+#endif /* BROKEN_LINKER */
diff --git a/ncurses/report_offsets b/ncurses/report_offsets
new file mode 100755
index 0000000..cad83c1
--- /dev/null
+++ b/ncurses/report_offsets
Binary files differ
diff --git a/ncurses/unctrl.c b/ncurses/unctrl.c
new file mode 100644
index 0000000..d24ab37
--- /dev/null
+++ b/ncurses/unctrl.c
@@ -0,0 +1,148 @@
+/* generated by MKunctrl.awk */
+
+#include <curses.priv.h>
+#include <ctype.h>
+
+#undef unctrl
+
+NCURSES_EXPORT(NCURSES_CONST char *) safe_unctrl(SCREEN *sp, chtype ch)
+{
+static const short unctrl_table[] = {
+       0,   3,   6,   9,  12,  15,  18,  21,
+      24,  27,  30,  33,  36,  39,  42,  45,
+      48,  51,  54,  57,  60,  63,  66,  69,
+      72,  75,  78,  81,  84,  87,  90,  93,
+      96,  98, 100, 102, 104, 106, 108, 110,
+     112, 114, 116, 118, 120, 122, 124, 126,
+     128, 130, 132, 134, 136, 138, 140, 142,
+     144, 146, 148, 150, 152, 154, 156, 158,
+     160, 162, 164, 166, 168, 170, 172, 174,
+     176, 178, 180, 182, 184, 186, 188, 190,
+     192, 194, 196, 198, 200, 202, 204, 206,
+     208, 210, 212, 214, 216, 218, 220, 222,
+     224, 226, 228, 230, 232, 234, 236, 238,
+     240, 242, 244, 246, 248, 250, 252, 254,
+     256, 258, 260, 262, 264, 266, 268, 270,
+     272, 274, 276, 278, 280, 282, 284, 286,
+     289, 292, 295, 298, 301, 304, 307, 310,
+     313, 316, 319, 322, 325, 328, 331, 334,
+     337, 340, 343, 346, 349, 352, 355, 358,
+     361, 364, 367, 370, 373, 376, 379, 382,
+     385, 389, 393, 397, 401, 405, 409, 413,
+     417, 421, 425, 429, 433, 437, 441, 445,
+     449, 453, 457, 461, 465, 469, 473, 477,
+     481, 485, 489, 493, 497, 501, 505, 509,
+     513, 517, 521, 525, 529, 533, 537, 541,
+     545, 549, 553, 557, 561, 565, 569, 573,
+     577, 581, 585, 589, 593, 597, 601, 605,
+     609, 613, 617, 621, 625, 629, 633, 637,
+     641, 645, 649, 653, 657, 661, 665, 669,
+     673, 677, 681, 685, 689, 693, 697, 701,
+     705, 709, 713, 717, 721, 725, 729, 733,
+     737, 741, 745, 749, 753, 757, 761, 765,};
+
+#if NCURSES_EXT_FUNCS
+static const short unctrl_c1[] = {
+     768, 770, 772, 774, 776, 778, 780, 782,
+     784, 786, 788, 790, 792, 794, 796, 798,
+     800, 802, 804, 806, 808, 810, 812, 814,
+     816, 818, 820, 822, 824, 826, 828, 830,
+     832, 834, 836, 838, 840, 842, 844, 846,
+     848, 850, 852, 854, 856, 858, 860, 862,
+     864, 866, 868, 870, 872, 874, 876, 878,
+     880, 882, 884, 886, 888, 890, 892, 894,
+     896, 898, 900, 902, 904, 906, 908, 910,
+     912, 914, 916, 918, 920, 922, 924, 926,
+     928, 930, 932, 934, 936, 938, 940, 942,
+     944, 946, 948, 950, 952, 954, 956, 958,
+     960, 962, 964, 966, 968, 970, 972, 974,
+     976, 978, 980, 982, 984, 986, 988, 990,
+     992, 994, 996, 998,1000,1002,1004,1006,
+    1008,1010,1012,1014,1016,1018,1020,1022,};
+#endif /* NCURSES_EXT_FUNCS */
+
+static const char unctrl_blob[] = 
+    "^\100\0^\101\0^\102\0^\103\0^\104\0^\105\0^\106\0^\107\0"
+    "^\110\0^\111\0^\112\0^\113\0^\114\0^\115\0^\116\0^\117\0"
+    "^\120\0^\121\0^\122\0^\123\0^\124\0^\125\0^\126\0^\127\0"
+    "^\130\0^\131\0^\132\0^\133\0^\134\0^\135\0^\136\0^\137\0"
+    "\040\0\041\0\042\0\043\0\044\0\045\0\046\0\047\0"
+    "\050\0\051\0\052\0\053\0\054\0\055\0\056\0\057\0"
+    "\060\0\061\0\062\0\063\0\064\0\065\0\066\0\067\0"
+    "\070\0\071\0\072\0\073\0\074\0\075\0\076\0\077\0"
+    "\100\0\101\0\102\0\103\0\104\0\105\0\106\0\107\0"
+    "\110\0\111\0\112\0\113\0\114\0\115\0\116\0\117\0"
+    "\120\0\121\0\122\0\123\0\124\0\125\0\126\0\127\0"
+    "\130\0\131\0\132\0\133\0\134\0\135\0\136\0\137\0"
+    "\140\0\141\0\142\0\143\0\144\0\145\0\146\0\147\0"
+    "\150\0\151\0\152\0\153\0\154\0\155\0\156\0\157\0"
+    "\160\0\161\0\162\0\163\0\164\0\165\0\166\0\167\0"
+    "\170\0\171\0\172\0\173\0\174\0\175\0\176\0^?\0"
+    "~\100\0~\101\0~\102\0~\103\0~\104\0~\105\0~\106\0~\107\0"
+    "~\110\0~\111\0~\112\0~\113\0~\114\0~\115\0~\116\0~\117\0"
+    "~\120\0~\121\0~\122\0~\123\0~\124\0~\125\0~\126\0~\127\0"
+    "~\130\0~\131\0~\132\0~\133\0~\134\0~\135\0~\136\0~\137\0"
+    "M-\040\0M-\041\0M-\042\0M-\043\0M-\044\0M-\045\0M-\046\0M-\047\0"
+    "M-\050\0M-\051\0M-\052\0M-\053\0M-\054\0M-\055\0M-\056\0M-\057\0"
+    "M-\060\0M-\061\0M-\062\0M-\063\0M-\064\0M-\065\0M-\066\0M-\067\0"
+    "M-\070\0M-\071\0M-\072\0M-\073\0M-\074\0M-\075\0M-\076\0M-\077\0"
+    "M-\100\0M-\101\0M-\102\0M-\103\0M-\104\0M-\105\0M-\106\0M-\107\0"
+    "M-\110\0M-\111\0M-\112\0M-\113\0M-\114\0M-\115\0M-\116\0M-\117\0"
+    "M-\120\0M-\121\0M-\122\0M-\123\0M-\124\0M-\125\0M-\126\0M-\127\0"
+    "M-\130\0M-\131\0M-\132\0M-\133\0M-\134\0M-\135\0M-\136\0M-\137\0"
+    "M-\140\0M-\141\0M-\142\0M-\143\0M-\144\0M-\145\0M-\146\0M-\147\0"
+    "M-\150\0M-\151\0M-\152\0M-\153\0M-\154\0M-\155\0M-\156\0M-\157\0"
+    "M-\160\0M-\161\0M-\162\0M-\163\0M-\164\0M-\165\0M-\166\0M-\167\0"
+    "M-\170\0M-\171\0M-\172\0M-\173\0M-\174\0M-\175\0M-\176\0~?\0"
+/* printable values in 128-255 range */
+    "\200\0\201\0\202\0\203\0\204\0\205\0\206\0\207\0"
+    "\210\0\211\0\212\0\213\0\214\0\215\0\216\0\217\0"
+    "\220\0\221\0\222\0\223\0\224\0\225\0\226\0\227\0"
+    "\230\0\231\0\232\0\233\0\234\0\235\0\236\0\237\0"
+    "\240\0\241\0\242\0\243\0\244\0\245\0\246\0\247\0"
+    "\250\0\251\0\252\0\253\0\254\0\255\0\256\0\257\0"
+    "\260\0\261\0\262\0\263\0\264\0\265\0\266\0\267\0"
+    "\270\0\271\0\272\0\273\0\274\0\275\0\276\0\277\0"
+    "\300\0\301\0\302\0\303\0\304\0\305\0\306\0\307\0"
+    "\310\0\311\0\312\0\313\0\314\0\315\0\316\0\317\0"
+    "\320\0\321\0\322\0\323\0\324\0\325\0\326\0\327\0"
+    "\330\0\331\0\332\0\333\0\334\0\335\0\336\0\337\0"
+    "\340\0\341\0\342\0\343\0\344\0\345\0\346\0\347\0"
+    "\350\0\351\0\352\0\353\0\354\0\355\0\356\0\357\0"
+    "\360\0\361\0\362\0\363\0\364\0\365\0\366\0\367\0"
+    "\370\0\371\0\372\0\373\0\374\0\375\0\376\0\377\0"
+;
+
+	int check = (int) ChCharOf(ch);
+	const char *result;
+
+	(void) sp;
+	if (check >= 0 && check < (int)SIZEOF(unctrl_table)) {
+#if NCURSES_EXT_FUNCS
+		if ((sp != 0)
+		 && (sp->_legacy_coding > 1)
+		 && (check >= 128)
+		 && (check < 160))
+			result = unctrl_blob + unctrl_c1[check - 128];
+		else
+		if ((check >= 160)
+		 && (check < 256)
+		 && !_nc_unicode_locale()
+		 && ((sp != 0)
+		  && ((sp->_legacy_coding > 0)
+		   || (sp->_legacy_coding == 0
+		       && isprint(check)))))
+			result = unctrl_blob + unctrl_c1[check - 128];
+		else
+#endif /* NCURSES_EXT_FUNCS */
+			result = unctrl_blob + unctrl_table[check];
+	} else {
+		result = 0;
+	}
+	return (NCURSES_CONST char *)result;
+}
+
+NCURSES_EXPORT(NCURSES_CONST char *) unctrl (chtype ch)
+{
+	return safe_unctrl(CURRENT_SCREEN, ch);
+}
diff --git a/obj_g/access.o b/obj_g/access.o
new file mode 100644
index 0000000..b1007ee
--- /dev/null
+++ b/obj_g/access.o
Binary files differ
diff --git a/obj_g/add_tries.o b/obj_g/add_tries.o
new file mode 100644
index 0000000..7e4ba13
--- /dev/null
+++ b/obj_g/add_tries.o
Binary files differ
diff --git a/obj_g/alloc_entry.o b/obj_g/alloc_entry.o
new file mode 100644
index 0000000..e87afe5
--- /dev/null
+++ b/obj_g/alloc_entry.o
Binary files differ
diff --git a/obj_g/alloc_ttype.o b/obj_g/alloc_ttype.o
new file mode 100644
index 0000000..799a1d6
--- /dev/null
+++ b/obj_g/alloc_ttype.o
Binary files differ
diff --git a/obj_g/captoinfo.o b/obj_g/captoinfo.o
new file mode 100644
index 0000000..983b7a6
--- /dev/null
+++ b/obj_g/captoinfo.o
Binary files differ
diff --git a/obj_g/charable.o b/obj_g/charable.o
new file mode 100644
index 0000000..80eaf76
--- /dev/null
+++ b/obj_g/charable.o
Binary files differ
diff --git a/obj_g/codes.o b/obj_g/codes.o
new file mode 100644
index 0000000..98b9c92
--- /dev/null
+++ b/obj_g/codes.o
Binary files differ
diff --git a/obj_g/comp_captab.o b/obj_g/comp_captab.o
new file mode 100644
index 0000000..21799a1
--- /dev/null
+++ b/obj_g/comp_captab.o
Binary files differ
diff --git a/obj_g/comp_error.o b/obj_g/comp_error.o
new file mode 100644
index 0000000..12a71a1
--- /dev/null
+++ b/obj_g/comp_error.o
Binary files differ
diff --git a/obj_g/comp_expand.o b/obj_g/comp_expand.o
new file mode 100644
index 0000000..8f8a046
--- /dev/null
+++ b/obj_g/comp_expand.o
Binary files differ
diff --git a/obj_g/comp_hash.o b/obj_g/comp_hash.o
new file mode 100644
index 0000000..7e97468
--- /dev/null
+++ b/obj_g/comp_hash.o
Binary files differ
diff --git a/obj_g/comp_parse.o b/obj_g/comp_parse.o
new file mode 100644
index 0000000..f5ae0f3
--- /dev/null
+++ b/obj_g/comp_parse.o
Binary files differ
diff --git a/obj_g/comp_scan.o b/obj_g/comp_scan.o
new file mode 100644
index 0000000..d4ee78b
--- /dev/null
+++ b/obj_g/comp_scan.o
Binary files differ
diff --git a/obj_g/comp_userdefs.o b/obj_g/comp_userdefs.o
new file mode 100644
index 0000000..2dc2042
--- /dev/null
+++ b/obj_g/comp_userdefs.o
Binary files differ
diff --git a/obj_g/cursesapp.o b/obj_g/cursesapp.o
new file mode 100644
index 0000000..80f7eb8
--- /dev/null
+++ b/obj_g/cursesapp.o
Binary files differ
diff --git a/obj_g/cursesf.o b/obj_g/cursesf.o
new file mode 100644
index 0000000..82eaec9
--- /dev/null
+++ b/obj_g/cursesf.o
Binary files differ
diff --git a/obj_g/cursesm.o b/obj_g/cursesm.o
new file mode 100644
index 0000000..cc38687
--- /dev/null
+++ b/obj_g/cursesm.o
Binary files differ
diff --git a/obj_g/cursesmain.o b/obj_g/cursesmain.o
new file mode 100644
index 0000000..3256472
--- /dev/null
+++ b/obj_g/cursesmain.o
Binary files differ
diff --git a/obj_g/cursesp.o b/obj_g/cursesp.o
new file mode 100644
index 0000000..3d27ac1
--- /dev/null
+++ b/obj_g/cursesp.o
Binary files differ
diff --git a/obj_g/cursespad.o b/obj_g/cursespad.o
new file mode 100644
index 0000000..2c0c2e8
--- /dev/null
+++ b/obj_g/cursespad.o
Binary files differ
diff --git a/obj_g/cursesw.o b/obj_g/cursesw.o
new file mode 100644
index 0000000..ed7b9b6
--- /dev/null
+++ b/obj_g/cursesw.o
Binary files differ
diff --git a/obj_g/cursslk.o b/obj_g/cursslk.o
new file mode 100644
index 0000000..cdd1217
--- /dev/null
+++ b/obj_g/cursslk.o
Binary files differ
diff --git a/obj_g/db_iterator.o b/obj_g/db_iterator.o
new file mode 100644
index 0000000..728903a
--- /dev/null
+++ b/obj_g/db_iterator.o
Binary files differ
diff --git a/obj_g/define_key.o b/obj_g/define_key.o
new file mode 100644
index 0000000..c085610
--- /dev/null
+++ b/obj_g/define_key.o
Binary files differ
diff --git a/obj_g/doalloc.o b/obj_g/doalloc.o
new file mode 100644
index 0000000..f06a509
--- /dev/null
+++ b/obj_g/doalloc.o
Binary files differ
diff --git a/obj_g/entries.o b/obj_g/entries.o
new file mode 100644
index 0000000..4955857
--- /dev/null
+++ b/obj_g/entries.o
Binary files differ
diff --git a/obj_g/expanded.o b/obj_g/expanded.o
new file mode 100644
index 0000000..9bf5159
--- /dev/null
+++ b/obj_g/expanded.o
Binary files differ
diff --git a/obj_g/f_trace.o b/obj_g/f_trace.o
new file mode 100644
index 0000000..6e6df3c
--- /dev/null
+++ b/obj_g/f_trace.o
Binary files differ
diff --git a/obj_g/fallback.o b/obj_g/fallback.o
new file mode 100644
index 0000000..38e35f5
--- /dev/null
+++ b/obj_g/fallback.o
Binary files differ
diff --git a/obj_g/fld_arg.o b/obj_g/fld_arg.o
new file mode 100644
index 0000000..e0503e0
--- /dev/null
+++ b/obj_g/fld_arg.o
Binary files differ
diff --git a/obj_g/fld_attr.o b/obj_g/fld_attr.o
new file mode 100644
index 0000000..a8d3b02
--- /dev/null
+++ b/obj_g/fld_attr.o
Binary files differ
diff --git a/obj_g/fld_current.o b/obj_g/fld_current.o
new file mode 100644
index 0000000..08c5c07
--- /dev/null
+++ b/obj_g/fld_current.o
Binary files differ
diff --git a/obj_g/fld_def.o b/obj_g/fld_def.o
new file mode 100644
index 0000000..c7bff30
--- /dev/null
+++ b/obj_g/fld_def.o
Binary files differ
diff --git a/obj_g/fld_dup.o b/obj_g/fld_dup.o
new file mode 100644
index 0000000..ac25cef
--- /dev/null
+++ b/obj_g/fld_dup.o
Binary files differ
diff --git a/obj_g/fld_ftchoice.o b/obj_g/fld_ftchoice.o
new file mode 100644
index 0000000..cce4c6b
--- /dev/null
+++ b/obj_g/fld_ftchoice.o
Binary files differ
diff --git a/obj_g/fld_ftlink.o b/obj_g/fld_ftlink.o
new file mode 100644
index 0000000..0054e32
--- /dev/null
+++ b/obj_g/fld_ftlink.o
Binary files differ
diff --git a/obj_g/fld_info.o b/obj_g/fld_info.o
new file mode 100644
index 0000000..172ac14
--- /dev/null
+++ b/obj_g/fld_info.o
Binary files differ
diff --git a/obj_g/fld_just.o b/obj_g/fld_just.o
new file mode 100644
index 0000000..9823a31
--- /dev/null
+++ b/obj_g/fld_just.o
Binary files differ
diff --git a/obj_g/fld_link.o b/obj_g/fld_link.o
new file mode 100644
index 0000000..0750b99
--- /dev/null
+++ b/obj_g/fld_link.o
Binary files differ
diff --git a/obj_g/fld_max.o b/obj_g/fld_max.o
new file mode 100644
index 0000000..195129b
--- /dev/null
+++ b/obj_g/fld_max.o
Binary files differ
diff --git a/obj_g/fld_move.o b/obj_g/fld_move.o
new file mode 100644
index 0000000..c8158ad
--- /dev/null
+++ b/obj_g/fld_move.o
Binary files differ
diff --git a/obj_g/fld_newftyp.o b/obj_g/fld_newftyp.o
new file mode 100644
index 0000000..197ae98
--- /dev/null
+++ b/obj_g/fld_newftyp.o
Binary files differ
diff --git a/obj_g/fld_opts.o b/obj_g/fld_opts.o
new file mode 100644
index 0000000..f66eae8
--- /dev/null
+++ b/obj_g/fld_opts.o
Binary files differ
diff --git a/obj_g/fld_pad.o b/obj_g/fld_pad.o
new file mode 100644
index 0000000..864e757
--- /dev/null
+++ b/obj_g/fld_pad.o
Binary files differ
diff --git a/obj_g/fld_page.o b/obj_g/fld_page.o
new file mode 100644
index 0000000..b093e0d
--- /dev/null
+++ b/obj_g/fld_page.o
Binary files differ
diff --git a/obj_g/fld_stat.o b/obj_g/fld_stat.o
new file mode 100644
index 0000000..fb6c957
--- /dev/null
+++ b/obj_g/fld_stat.o
Binary files differ
diff --git a/obj_g/fld_type.o b/obj_g/fld_type.o
new file mode 100644
index 0000000..6d14f3c
--- /dev/null
+++ b/obj_g/fld_type.o
Binary files differ
diff --git a/obj_g/fld_user.o b/obj_g/fld_user.o
new file mode 100644
index 0000000..04b12d3
--- /dev/null
+++ b/obj_g/fld_user.o
Binary files differ
diff --git a/obj_g/free_ttype.o b/obj_g/free_ttype.o
new file mode 100644
index 0000000..7ec26cb
--- /dev/null
+++ b/obj_g/free_ttype.o
Binary files differ
diff --git a/obj_g/frm_cursor.o b/obj_g/frm_cursor.o
new file mode 100644
index 0000000..44a2f07
--- /dev/null
+++ b/obj_g/frm_cursor.o
Binary files differ
diff --git a/obj_g/frm_data.o b/obj_g/frm_data.o
new file mode 100644
index 0000000..161a9d8
--- /dev/null
+++ b/obj_g/frm_data.o
Binary files differ
diff --git a/obj_g/frm_def.o b/obj_g/frm_def.o
new file mode 100644
index 0000000..923525f
--- /dev/null
+++ b/obj_g/frm_def.o
Binary files differ
diff --git a/obj_g/frm_driver.o b/obj_g/frm_driver.o
new file mode 100644
index 0000000..f57dc22
--- /dev/null
+++ b/obj_g/frm_driver.o
Binary files differ
diff --git a/obj_g/frm_hook.o b/obj_g/frm_hook.o
new file mode 100644
index 0000000..87e2940
--- /dev/null
+++ b/obj_g/frm_hook.o
Binary files differ
diff --git a/obj_g/frm_opts.o b/obj_g/frm_opts.o
new file mode 100644
index 0000000..33f8dea
--- /dev/null
+++ b/obj_g/frm_opts.o
Binary files differ
diff --git a/obj_g/frm_page.o b/obj_g/frm_page.o
new file mode 100644
index 0000000..e04ae93
--- /dev/null
+++ b/obj_g/frm_page.o
Binary files differ
diff --git a/obj_g/frm_post.o b/obj_g/frm_post.o
new file mode 100644
index 0000000..d098ec5
--- /dev/null
+++ b/obj_g/frm_post.o
Binary files differ
diff --git a/obj_g/frm_req_name.o b/obj_g/frm_req_name.o
new file mode 100644
index 0000000..7f0f75a
--- /dev/null
+++ b/obj_g/frm_req_name.o
Binary files differ
diff --git a/obj_g/frm_scale.o b/obj_g/frm_scale.o
new file mode 100644
index 0000000..5816e9a
--- /dev/null
+++ b/obj_g/frm_scale.o
Binary files differ
diff --git a/obj_g/frm_sub.o b/obj_g/frm_sub.o
new file mode 100644
index 0000000..d239360
--- /dev/null
+++ b/obj_g/frm_sub.o
Binary files differ
diff --git a/obj_g/frm_user.o b/obj_g/frm_user.o
new file mode 100644
index 0000000..9b83363
--- /dev/null
+++ b/obj_g/frm_user.o
Binary files differ
diff --git a/obj_g/frm_win.o b/obj_g/frm_win.o
new file mode 100644
index 0000000..36f5d5f
--- /dev/null
+++ b/obj_g/frm_win.o
Binary files differ
diff --git a/obj_g/fty_alnum.o b/obj_g/fty_alnum.o
new file mode 100644
index 0000000..27d15b6
--- /dev/null
+++ b/obj_g/fty_alnum.o
Binary files differ
diff --git a/obj_g/fty_alpha.o b/obj_g/fty_alpha.o
new file mode 100644
index 0000000..32ab90f
--- /dev/null
+++ b/obj_g/fty_alpha.o
Binary files differ
diff --git a/obj_g/fty_enum.o b/obj_g/fty_enum.o
new file mode 100644
index 0000000..3194ffb
--- /dev/null
+++ b/obj_g/fty_enum.o
Binary files differ
diff --git a/obj_g/fty_generic.o b/obj_g/fty_generic.o
new file mode 100644
index 0000000..4dc2fdc
--- /dev/null
+++ b/obj_g/fty_generic.o
Binary files differ
diff --git a/obj_g/fty_int.o b/obj_g/fty_int.o
new file mode 100644
index 0000000..cd5948c
--- /dev/null
+++ b/obj_g/fty_int.o
Binary files differ
diff --git a/obj_g/fty_ipv4.o b/obj_g/fty_ipv4.o
new file mode 100644
index 0000000..65d7503
--- /dev/null
+++ b/obj_g/fty_ipv4.o
Binary files differ
diff --git a/obj_g/fty_num.o b/obj_g/fty_num.o
new file mode 100644
index 0000000..6db52dd
--- /dev/null
+++ b/obj_g/fty_num.o
Binary files differ
diff --git a/obj_g/fty_regex.o b/obj_g/fty_regex.o
new file mode 100644
index 0000000..bdb7ad5
--- /dev/null
+++ b/obj_g/fty_regex.o
Binary files differ
diff --git a/obj_g/getenv_num.o b/obj_g/getenv_num.o
new file mode 100644
index 0000000..c6fdaa3
--- /dev/null
+++ b/obj_g/getenv_num.o
Binary files differ
diff --git a/obj_g/hardscroll.o b/obj_g/hardscroll.o
new file mode 100644
index 0000000..0303d6c
--- /dev/null
+++ b/obj_g/hardscroll.o
Binary files differ
diff --git a/obj_g/hashed_db.o b/obj_g/hashed_db.o
new file mode 100644
index 0000000..e6b4e71
--- /dev/null
+++ b/obj_g/hashed_db.o
Binary files differ
diff --git a/obj_g/hashmap.o b/obj_g/hashmap.o
new file mode 100644
index 0000000..f90bdc6
--- /dev/null
+++ b/obj_g/hashmap.o
Binary files differ
diff --git a/obj_g/home_terminfo.o b/obj_g/home_terminfo.o
new file mode 100644
index 0000000..1ec6119
--- /dev/null
+++ b/obj_g/home_terminfo.o
Binary files differ
diff --git a/obj_g/init_keytry.o b/obj_g/init_keytry.o
new file mode 100644
index 0000000..c899055
--- /dev/null
+++ b/obj_g/init_keytry.o
Binary files differ
diff --git a/obj_g/key_defined.o b/obj_g/key_defined.o
new file mode 100644
index 0000000..8ecc7ff
--- /dev/null
+++ b/obj_g/key_defined.o
Binary files differ
diff --git a/obj_g/keybound.o b/obj_g/keybound.o
new file mode 100644
index 0000000..28f84ab
--- /dev/null
+++ b/obj_g/keybound.o
Binary files differ
diff --git a/obj_g/keyok.o b/obj_g/keyok.o
new file mode 100644
index 0000000..771b759
--- /dev/null
+++ b/obj_g/keyok.o
Binary files differ
diff --git a/obj_g/legacy_coding.o b/obj_g/legacy_coding.o
new file mode 100644
index 0000000..2f37bdc
--- /dev/null
+++ b/obj_g/legacy_coding.o
Binary files differ
diff --git a/obj_g/lib_acs.o b/obj_g/lib_acs.o
new file mode 100644
index 0000000..90a8be0
--- /dev/null
+++ b/obj_g/lib_acs.o
Binary files differ
diff --git a/obj_g/lib_add_wch.o b/obj_g/lib_add_wch.o
new file mode 100644
index 0000000..59bd416
--- /dev/null
+++ b/obj_g/lib_add_wch.o
Binary files differ
diff --git a/obj_g/lib_addch.o b/obj_g/lib_addch.o
new file mode 100644
index 0000000..b61d2a0
--- /dev/null
+++ b/obj_g/lib_addch.o
Binary files differ
diff --git a/obj_g/lib_addstr.o b/obj_g/lib_addstr.o
new file mode 100644
index 0000000..5bd621f
--- /dev/null
+++ b/obj_g/lib_addstr.o
Binary files differ
diff --git a/obj_g/lib_baudrate.o b/obj_g/lib_baudrate.o
new file mode 100644
index 0000000..960a9a9
--- /dev/null
+++ b/obj_g/lib_baudrate.o
Binary files differ
diff --git a/obj_g/lib_beep.o b/obj_g/lib_beep.o
new file mode 100644
index 0000000..644fcbc
--- /dev/null
+++ b/obj_g/lib_beep.o
Binary files differ
diff --git a/obj_g/lib_bkgd.o b/obj_g/lib_bkgd.o
new file mode 100644
index 0000000..240be9b
--- /dev/null
+++ b/obj_g/lib_bkgd.o
Binary files differ
diff --git a/obj_g/lib_box.o b/obj_g/lib_box.o
new file mode 100644
index 0000000..1261392
--- /dev/null
+++ b/obj_g/lib_box.o
Binary files differ
diff --git a/obj_g/lib_box_set.o b/obj_g/lib_box_set.o
new file mode 100644
index 0000000..e17084a
--- /dev/null
+++ b/obj_g/lib_box_set.o
Binary files differ
diff --git a/obj_g/lib_cchar.o b/obj_g/lib_cchar.o
new file mode 100644
index 0000000..11794d0
--- /dev/null
+++ b/obj_g/lib_cchar.o
Binary files differ
diff --git a/obj_g/lib_chgat.o b/obj_g/lib_chgat.o
new file mode 100644
index 0000000..61e3c5c
--- /dev/null
+++ b/obj_g/lib_chgat.o
Binary files differ
diff --git a/obj_g/lib_clear.o b/obj_g/lib_clear.o
new file mode 100644
index 0000000..2e7f89c
--- /dev/null
+++ b/obj_g/lib_clear.o
Binary files differ
diff --git a/obj_g/lib_clearok.o b/obj_g/lib_clearok.o
new file mode 100644
index 0000000..feca97b
--- /dev/null
+++ b/obj_g/lib_clearok.o
Binary files differ
diff --git a/obj_g/lib_clrbot.o b/obj_g/lib_clrbot.o
new file mode 100644
index 0000000..7db05a7
--- /dev/null
+++ b/obj_g/lib_clrbot.o
Binary files differ
diff --git a/obj_g/lib_clreol.o b/obj_g/lib_clreol.o
new file mode 100644
index 0000000..a52429a
--- /dev/null
+++ b/obj_g/lib_clreol.o
Binary files differ
diff --git a/obj_g/lib_color.o b/obj_g/lib_color.o
new file mode 100644
index 0000000..22050c5
--- /dev/null
+++ b/obj_g/lib_color.o
Binary files differ
diff --git a/obj_g/lib_colorset.o b/obj_g/lib_colorset.o
new file mode 100644
index 0000000..494caf2
--- /dev/null
+++ b/obj_g/lib_colorset.o
Binary files differ
diff --git a/obj_g/lib_cur_term.o b/obj_g/lib_cur_term.o
new file mode 100644
index 0000000..a42c20e
--- /dev/null
+++ b/obj_g/lib_cur_term.o
Binary files differ
diff --git a/obj_g/lib_data.o b/obj_g/lib_data.o
new file mode 100644
index 0000000..28a9f6d
--- /dev/null
+++ b/obj_g/lib_data.o
Binary files differ
diff --git a/obj_g/lib_delch.o b/obj_g/lib_delch.o
new file mode 100644
index 0000000..6dc432d
--- /dev/null
+++ b/obj_g/lib_delch.o
Binary files differ
diff --git a/obj_g/lib_delwin.o b/obj_g/lib_delwin.o
new file mode 100644
index 0000000..17a10d5
--- /dev/null
+++ b/obj_g/lib_delwin.o
Binary files differ
diff --git a/obj_g/lib_dft_fgbg.o b/obj_g/lib_dft_fgbg.o
new file mode 100644
index 0000000..fec2361
--- /dev/null
+++ b/obj_g/lib_dft_fgbg.o
Binary files differ
diff --git a/obj_g/lib_echo.o b/obj_g/lib_echo.o
new file mode 100644
index 0000000..45b348d
--- /dev/null
+++ b/obj_g/lib_echo.o
Binary files differ
diff --git a/obj_g/lib_endwin.o b/obj_g/lib_endwin.o
new file mode 100644
index 0000000..11ba4ec
--- /dev/null
+++ b/obj_g/lib_endwin.o
Binary files differ
diff --git a/obj_g/lib_erase.o b/obj_g/lib_erase.o
new file mode 100644
index 0000000..5c3acaf
--- /dev/null
+++ b/obj_g/lib_erase.o
Binary files differ
diff --git a/obj_g/lib_erasewchar.o b/obj_g/lib_erasewchar.o
new file mode 100644
index 0000000..dd92705
--- /dev/null
+++ b/obj_g/lib_erasewchar.o
Binary files differ
diff --git a/obj_g/lib_flash.o b/obj_g/lib_flash.o
new file mode 100644
index 0000000..d4e0c19
--- /dev/null
+++ b/obj_g/lib_flash.o
Binary files differ
diff --git a/obj_g/lib_freeall.o b/obj_g/lib_freeall.o
new file mode 100644
index 0000000..76a425b
--- /dev/null
+++ b/obj_g/lib_freeall.o
Binary files differ
diff --git a/obj_g/lib_gen.o b/obj_g/lib_gen.o
new file mode 100644
index 0000000..512406b
--- /dev/null
+++ b/obj_g/lib_gen.o
Binary files differ
diff --git a/obj_g/lib_get_wch.o b/obj_g/lib_get_wch.o
new file mode 100644
index 0000000..ae534bf
--- /dev/null
+++ b/obj_g/lib_get_wch.o
Binary files differ
diff --git a/obj_g/lib_get_wstr.o b/obj_g/lib_get_wstr.o
new file mode 100644
index 0000000..6e5f8c5
--- /dev/null
+++ b/obj_g/lib_get_wstr.o
Binary files differ
diff --git a/obj_g/lib_getch.o b/obj_g/lib_getch.o
new file mode 100644
index 0000000..7ba482e
--- /dev/null
+++ b/obj_g/lib_getch.o
Binary files differ
diff --git a/obj_g/lib_getstr.o b/obj_g/lib_getstr.o
new file mode 100644
index 0000000..1370a2e
--- /dev/null
+++ b/obj_g/lib_getstr.o
Binary files differ
diff --git a/obj_g/lib_has_cap.o b/obj_g/lib_has_cap.o
new file mode 100644
index 0000000..f7ddc4f
--- /dev/null
+++ b/obj_g/lib_has_cap.o
Binary files differ
diff --git a/obj_g/lib_hline.o b/obj_g/lib_hline.o
new file mode 100644
index 0000000..4e63f5a
--- /dev/null
+++ b/obj_g/lib_hline.o
Binary files differ
diff --git a/obj_g/lib_hline_set.o b/obj_g/lib_hline_set.o
new file mode 100644
index 0000000..1032321
--- /dev/null
+++ b/obj_g/lib_hline_set.o
Binary files differ
diff --git a/obj_g/lib_immedok.o b/obj_g/lib_immedok.o
new file mode 100644
index 0000000..6241d2d
--- /dev/null
+++ b/obj_g/lib_immedok.o
Binary files differ
diff --git a/obj_g/lib_in_wch.o b/obj_g/lib_in_wch.o
new file mode 100644
index 0000000..02d0047
--- /dev/null
+++ b/obj_g/lib_in_wch.o
Binary files differ
diff --git a/obj_g/lib_in_wchnstr.o b/obj_g/lib_in_wchnstr.o
new file mode 100644
index 0000000..e68c203
--- /dev/null
+++ b/obj_g/lib_in_wchnstr.o
Binary files differ
diff --git a/obj_g/lib_inchstr.o b/obj_g/lib_inchstr.o
new file mode 100644
index 0000000..150e3c8
--- /dev/null
+++ b/obj_g/lib_inchstr.o
Binary files differ
diff --git a/obj_g/lib_initscr.o b/obj_g/lib_initscr.o
new file mode 100644
index 0000000..7f26819
--- /dev/null
+++ b/obj_g/lib_initscr.o
Binary files differ
diff --git a/obj_g/lib_ins_wch.o b/obj_g/lib_ins_wch.o
new file mode 100644
index 0000000..2c402ce
--- /dev/null
+++ b/obj_g/lib_ins_wch.o
Binary files differ
diff --git a/obj_g/lib_insch.o b/obj_g/lib_insch.o
new file mode 100644
index 0000000..6e92c10
--- /dev/null
+++ b/obj_g/lib_insch.o
Binary files differ
diff --git a/obj_g/lib_insdel.o b/obj_g/lib_insdel.o
new file mode 100644
index 0000000..b2688d0
--- /dev/null
+++ b/obj_g/lib_insdel.o
Binary files differ
diff --git a/obj_g/lib_insnstr.o b/obj_g/lib_insnstr.o
new file mode 100644
index 0000000..63b6614
--- /dev/null
+++ b/obj_g/lib_insnstr.o
Binary files differ
diff --git a/obj_g/lib_instr.o b/obj_g/lib_instr.o
new file mode 100644
index 0000000..51c6965
--- /dev/null
+++ b/obj_g/lib_instr.o
Binary files differ
diff --git a/obj_g/lib_inwstr.o b/obj_g/lib_inwstr.o
new file mode 100644
index 0000000..f9080a0
--- /dev/null
+++ b/obj_g/lib_inwstr.o
Binary files differ
diff --git a/obj_g/lib_isendwin.o b/obj_g/lib_isendwin.o
new file mode 100644
index 0000000..154b1b2
--- /dev/null
+++ b/obj_g/lib_isendwin.o
Binary files differ
diff --git a/obj_g/lib_kernel.o b/obj_g/lib_kernel.o
new file mode 100644
index 0000000..d00eff0
--- /dev/null
+++ b/obj_g/lib_kernel.o
Binary files differ
diff --git a/obj_g/lib_key_name.o b/obj_g/lib_key_name.o
new file mode 100644
index 0000000..97354e8
--- /dev/null
+++ b/obj_g/lib_key_name.o
Binary files differ
diff --git a/obj_g/lib_keyname.o b/obj_g/lib_keyname.o
new file mode 100644
index 0000000..372d0a7
--- /dev/null
+++ b/obj_g/lib_keyname.o
Binary files differ
diff --git a/obj_g/lib_leaveok.o b/obj_g/lib_leaveok.o
new file mode 100644
index 0000000..29c8476
--- /dev/null
+++ b/obj_g/lib_leaveok.o
Binary files differ
diff --git a/obj_g/lib_longname.o b/obj_g/lib_longname.o
new file mode 100644
index 0000000..aa2f2c8
--- /dev/null
+++ b/obj_g/lib_longname.o
Binary files differ
diff --git a/obj_g/lib_mouse.o b/obj_g/lib_mouse.o
new file mode 100644
index 0000000..c1e67a5
--- /dev/null
+++ b/obj_g/lib_mouse.o
Binary files differ
diff --git a/obj_g/lib_move.o b/obj_g/lib_move.o
new file mode 100644
index 0000000..6737fc9
--- /dev/null
+++ b/obj_g/lib_move.o
Binary files differ
diff --git a/obj_g/lib_mvcur.o b/obj_g/lib_mvcur.o
new file mode 100644
index 0000000..498867f
--- /dev/null
+++ b/obj_g/lib_mvcur.o
Binary files differ
diff --git a/obj_g/lib_mvwin.o b/obj_g/lib_mvwin.o
new file mode 100644
index 0000000..1a29ff1
--- /dev/null
+++ b/obj_g/lib_mvwin.o
Binary files differ
diff --git a/obj_g/lib_napms.o b/obj_g/lib_napms.o
new file mode 100644
index 0000000..4f8e026
--- /dev/null
+++ b/obj_g/lib_napms.o
Binary files differ
diff --git a/obj_g/lib_newterm.o b/obj_g/lib_newterm.o
new file mode 100644
index 0000000..dfdea8b
--- /dev/null
+++ b/obj_g/lib_newterm.o
Binary files differ
diff --git a/obj_g/lib_newwin.o b/obj_g/lib_newwin.o
new file mode 100644
index 0000000..6f1bbf3
--- /dev/null
+++ b/obj_g/lib_newwin.o
Binary files differ
diff --git a/obj_g/lib_nl.o b/obj_g/lib_nl.o
new file mode 100644
index 0000000..181fcea
--- /dev/null
+++ b/obj_g/lib_nl.o
Binary files differ
diff --git a/obj_g/lib_options.o b/obj_g/lib_options.o
new file mode 100644
index 0000000..707e812
--- /dev/null
+++ b/obj_g/lib_options.o
Binary files differ
diff --git a/obj_g/lib_overlay.o b/obj_g/lib_overlay.o
new file mode 100644
index 0000000..48e7ce1
--- /dev/null
+++ b/obj_g/lib_overlay.o
Binary files differ
diff --git a/obj_g/lib_pad.o b/obj_g/lib_pad.o
new file mode 100644
index 0000000..945830a
--- /dev/null
+++ b/obj_g/lib_pad.o
Binary files differ
diff --git a/obj_g/lib_pecho_wchar.o b/obj_g/lib_pecho_wchar.o
new file mode 100644
index 0000000..a0b05df
--- /dev/null
+++ b/obj_g/lib_pecho_wchar.o
Binary files differ
diff --git a/obj_g/lib_print.o b/obj_g/lib_print.o
new file mode 100644
index 0000000..b09cacb
--- /dev/null
+++ b/obj_g/lib_print.o
Binary files differ
diff --git a/obj_g/lib_printw.o b/obj_g/lib_printw.o
new file mode 100644
index 0000000..4e94577
--- /dev/null
+++ b/obj_g/lib_printw.o
Binary files differ
diff --git a/obj_g/lib_raw.o b/obj_g/lib_raw.o
new file mode 100644
index 0000000..d750e23
--- /dev/null
+++ b/obj_g/lib_raw.o
Binary files differ
diff --git a/obj_g/lib_redrawln.o b/obj_g/lib_redrawln.o
new file mode 100644
index 0000000..0b9e066
--- /dev/null
+++ b/obj_g/lib_redrawln.o
Binary files differ
diff --git a/obj_g/lib_refresh.o b/obj_g/lib_refresh.o
new file mode 100644
index 0000000..508bd8f
--- /dev/null
+++ b/obj_g/lib_refresh.o
Binary files differ
diff --git a/obj_g/lib_restart.o b/obj_g/lib_restart.o
new file mode 100644
index 0000000..3579a6d
--- /dev/null
+++ b/obj_g/lib_restart.o
Binary files differ
diff --git a/obj_g/lib_scanw.o b/obj_g/lib_scanw.o
new file mode 100644
index 0000000..18bc707
--- /dev/null
+++ b/obj_g/lib_scanw.o
Binary files differ
diff --git a/obj_g/lib_screen.o b/obj_g/lib_screen.o
new file mode 100644
index 0000000..035152a
--- /dev/null
+++ b/obj_g/lib_screen.o
Binary files differ
diff --git a/obj_g/lib_scroll.o b/obj_g/lib_scroll.o
new file mode 100644
index 0000000..958a914
--- /dev/null
+++ b/obj_g/lib_scroll.o
Binary files differ
diff --git a/obj_g/lib_scrollok.o b/obj_g/lib_scrollok.o
new file mode 100644
index 0000000..5a868bc
--- /dev/null
+++ b/obj_g/lib_scrollok.o
Binary files differ
diff --git a/obj_g/lib_scrreg.o b/obj_g/lib_scrreg.o
new file mode 100644
index 0000000..048b4fe
--- /dev/null
+++ b/obj_g/lib_scrreg.o
Binary files differ
diff --git a/obj_g/lib_set_term.o b/obj_g/lib_set_term.o
new file mode 100644
index 0000000..8db540c
--- /dev/null
+++ b/obj_g/lib_set_term.o
Binary files differ
diff --git a/obj_g/lib_setup.o b/obj_g/lib_setup.o
new file mode 100644
index 0000000..1b44945
--- /dev/null
+++ b/obj_g/lib_setup.o
Binary files differ
diff --git a/obj_g/lib_slk.o b/obj_g/lib_slk.o
new file mode 100644
index 0000000..a47068f
--- /dev/null
+++ b/obj_g/lib_slk.o
Binary files differ
diff --git a/obj_g/lib_slk_wset.o b/obj_g/lib_slk_wset.o
new file mode 100644
index 0000000..689dd0f
--- /dev/null
+++ b/obj_g/lib_slk_wset.o
Binary files differ
diff --git a/obj_g/lib_slkatr_set.o b/obj_g/lib_slkatr_set.o
new file mode 100644
index 0000000..3067d58
--- /dev/null
+++ b/obj_g/lib_slkatr_set.o
Binary files differ
diff --git a/obj_g/lib_slkatrof.o b/obj_g/lib_slkatrof.o
new file mode 100644
index 0000000..3c80fde
--- /dev/null
+++ b/obj_g/lib_slkatrof.o
Binary files differ
diff --git a/obj_g/lib_slkatron.o b/obj_g/lib_slkatron.o
new file mode 100644
index 0000000..ee33323
--- /dev/null
+++ b/obj_g/lib_slkatron.o
Binary files differ
diff --git a/obj_g/lib_slkatrset.o b/obj_g/lib_slkatrset.o
new file mode 100644
index 0000000..23ffefa
--- /dev/null
+++ b/obj_g/lib_slkatrset.o
Binary files differ
diff --git a/obj_g/lib_slkattr.o b/obj_g/lib_slkattr.o
new file mode 100644
index 0000000..fa6e5f9
--- /dev/null
+++ b/obj_g/lib_slkattr.o
Binary files differ
diff --git a/obj_g/lib_slkclear.o b/obj_g/lib_slkclear.o
new file mode 100644
index 0000000..42a0236
--- /dev/null
+++ b/obj_g/lib_slkclear.o
Binary files differ
diff --git a/obj_g/lib_slkcolor.o b/obj_g/lib_slkcolor.o
new file mode 100644
index 0000000..3311487
--- /dev/null
+++ b/obj_g/lib_slkcolor.o
Binary files differ
diff --git a/obj_g/lib_slkinit.o b/obj_g/lib_slkinit.o
new file mode 100644
index 0000000..a0ebb89
--- /dev/null
+++ b/obj_g/lib_slkinit.o
Binary files differ
diff --git a/obj_g/lib_slklab.o b/obj_g/lib_slklab.o
new file mode 100644
index 0000000..e3e7572
--- /dev/null
+++ b/obj_g/lib_slklab.o
Binary files differ
diff --git a/obj_g/lib_slkrefr.o b/obj_g/lib_slkrefr.o
new file mode 100644
index 0000000..d9f3204
--- /dev/null
+++ b/obj_g/lib_slkrefr.o
Binary files differ
diff --git a/obj_g/lib_slkset.o b/obj_g/lib_slkset.o
new file mode 100644
index 0000000..e844a1a
--- /dev/null
+++ b/obj_g/lib_slkset.o
Binary files differ
diff --git a/obj_g/lib_slktouch.o b/obj_g/lib_slktouch.o
new file mode 100644
index 0000000..4e72a4d
--- /dev/null
+++ b/obj_g/lib_slktouch.o
Binary files differ
diff --git a/obj_g/lib_termcap.o b/obj_g/lib_termcap.o
new file mode 100644
index 0000000..b907771
--- /dev/null
+++ b/obj_g/lib_termcap.o
Binary files differ
diff --git a/obj_g/lib_termname.o b/obj_g/lib_termname.o
new file mode 100644
index 0000000..b6cb26d
--- /dev/null
+++ b/obj_g/lib_termname.o
Binary files differ
diff --git a/obj_g/lib_tgoto.o b/obj_g/lib_tgoto.o
new file mode 100644
index 0000000..9a2a019
--- /dev/null
+++ b/obj_g/lib_tgoto.o
Binary files differ
diff --git a/obj_g/lib_ti.o b/obj_g/lib_ti.o
new file mode 100644
index 0000000..e542b97
--- /dev/null
+++ b/obj_g/lib_ti.o
Binary files differ
diff --git a/obj_g/lib_touch.o b/obj_g/lib_touch.o
new file mode 100644
index 0000000..0e0f74a
--- /dev/null
+++ b/obj_g/lib_touch.o
Binary files differ
diff --git a/obj_g/lib_tparm.o b/obj_g/lib_tparm.o
new file mode 100644
index 0000000..00bf6e8
--- /dev/null
+++ b/obj_g/lib_tparm.o
Binary files differ
diff --git a/obj_g/lib_tputs.o b/obj_g/lib_tputs.o
new file mode 100644
index 0000000..27a1e7e
--- /dev/null
+++ b/obj_g/lib_tputs.o
Binary files differ
diff --git a/obj_g/lib_trace.o b/obj_g/lib_trace.o
new file mode 100644
index 0000000..aefd472
--- /dev/null
+++ b/obj_g/lib_trace.o
Binary files differ
diff --git a/obj_g/lib_traceatr.o b/obj_g/lib_traceatr.o
new file mode 100644
index 0000000..a22531b
--- /dev/null
+++ b/obj_g/lib_traceatr.o
Binary files differ
diff --git a/obj_g/lib_tracebits.o b/obj_g/lib_tracebits.o
new file mode 100644
index 0000000..b1cf238
--- /dev/null
+++ b/obj_g/lib_tracebits.o
Binary files differ
diff --git a/obj_g/lib_tracechr.o b/obj_g/lib_tracechr.o
new file mode 100644
index 0000000..e7c0589
--- /dev/null
+++ b/obj_g/lib_tracechr.o
Binary files differ
diff --git a/obj_g/lib_tracedmp.o b/obj_g/lib_tracedmp.o
new file mode 100644
index 0000000..e3dcab5
--- /dev/null
+++ b/obj_g/lib_tracedmp.o
Binary files differ
diff --git a/obj_g/lib_tracemse.o b/obj_g/lib_tracemse.o
new file mode 100644
index 0000000..492af8f
--- /dev/null
+++ b/obj_g/lib_tracemse.o
Binary files differ
diff --git a/obj_g/lib_tstp.o b/obj_g/lib_tstp.o
new file mode 100644
index 0000000..7e148c5
--- /dev/null
+++ b/obj_g/lib_tstp.o
Binary files differ
diff --git a/obj_g/lib_ttyflags.o b/obj_g/lib_ttyflags.o
new file mode 100644
index 0000000..8e3c635
--- /dev/null
+++ b/obj_g/lib_ttyflags.o
Binary files differ
diff --git a/obj_g/lib_twait.o b/obj_g/lib_twait.o
new file mode 100644
index 0000000..3b1c4d4
--- /dev/null
+++ b/obj_g/lib_twait.o
Binary files differ
diff --git a/obj_g/lib_unget_wch.o b/obj_g/lib_unget_wch.o
new file mode 100644
index 0000000..ff8acc7
--- /dev/null
+++ b/obj_g/lib_unget_wch.o
Binary files differ
diff --git a/obj_g/lib_ungetch.o b/obj_g/lib_ungetch.o
new file mode 100644
index 0000000..4a23873
--- /dev/null
+++ b/obj_g/lib_ungetch.o
Binary files differ
diff --git a/obj_g/lib_vid_attr.o b/obj_g/lib_vid_attr.o
new file mode 100644
index 0000000..a658cfb
--- /dev/null
+++ b/obj_g/lib_vid_attr.o
Binary files differ
diff --git a/obj_g/lib_vidattr.o b/obj_g/lib_vidattr.o
new file mode 100644
index 0000000..fd68dc6
--- /dev/null
+++ b/obj_g/lib_vidattr.o
Binary files differ
diff --git a/obj_g/lib_vline.o b/obj_g/lib_vline.o
new file mode 100644
index 0000000..23a0db6
--- /dev/null
+++ b/obj_g/lib_vline.o
Binary files differ
diff --git a/obj_g/lib_vline_set.o b/obj_g/lib_vline_set.o
new file mode 100644
index 0000000..0d60154
--- /dev/null
+++ b/obj_g/lib_vline_set.o
Binary files differ
diff --git a/obj_g/lib_wacs.o b/obj_g/lib_wacs.o
new file mode 100644
index 0000000..2e29638
--- /dev/null
+++ b/obj_g/lib_wacs.o
Binary files differ
diff --git a/obj_g/lib_wattroff.o b/obj_g/lib_wattroff.o
new file mode 100644
index 0000000..ea1f51d
--- /dev/null
+++ b/obj_g/lib_wattroff.o
Binary files differ
diff --git a/obj_g/lib_wattron.o b/obj_g/lib_wattron.o
new file mode 100644
index 0000000..7f7530c
--- /dev/null
+++ b/obj_g/lib_wattron.o
Binary files differ
diff --git a/obj_g/lib_winch.o b/obj_g/lib_winch.o
new file mode 100644
index 0000000..d2b3105
--- /dev/null
+++ b/obj_g/lib_winch.o
Binary files differ
diff --git a/obj_g/lib_window.o b/obj_g/lib_window.o
new file mode 100644
index 0000000..10125e1
--- /dev/null
+++ b/obj_g/lib_window.o
Binary files differ
diff --git a/obj_g/lib_wunctrl.o b/obj_g/lib_wunctrl.o
new file mode 100644
index 0000000..5bdb0ae
--- /dev/null
+++ b/obj_g/lib_wunctrl.o
Binary files differ
diff --git a/obj_g/m_attribs.o b/obj_g/m_attribs.o
new file mode 100644
index 0000000..304d608
--- /dev/null
+++ b/obj_g/m_attribs.o
Binary files differ
diff --git a/obj_g/m_cursor.o b/obj_g/m_cursor.o
new file mode 100644
index 0000000..1b6f6e7
--- /dev/null
+++ b/obj_g/m_cursor.o
Binary files differ
diff --git a/obj_g/m_driver.o b/obj_g/m_driver.o
new file mode 100644
index 0000000..bedd473
--- /dev/null
+++ b/obj_g/m_driver.o
Binary files differ
diff --git a/obj_g/m_format.o b/obj_g/m_format.o
new file mode 100644
index 0000000..b5271d9
--- /dev/null
+++ b/obj_g/m_format.o
Binary files differ
diff --git a/obj_g/m_global.o b/obj_g/m_global.o
new file mode 100644
index 0000000..b1b02ed
--- /dev/null
+++ b/obj_g/m_global.o
Binary files differ
diff --git a/obj_g/m_hook.o b/obj_g/m_hook.o
new file mode 100644
index 0000000..e105dd8
--- /dev/null
+++ b/obj_g/m_hook.o
Binary files differ
diff --git a/obj_g/m_item_cur.o b/obj_g/m_item_cur.o
new file mode 100644
index 0000000..b489458
--- /dev/null
+++ b/obj_g/m_item_cur.o
Binary files differ
diff --git a/obj_g/m_item_nam.o b/obj_g/m_item_nam.o
new file mode 100644
index 0000000..e12ed4c
--- /dev/null
+++ b/obj_g/m_item_nam.o
Binary files differ
diff --git a/obj_g/m_item_new.o b/obj_g/m_item_new.o
new file mode 100644
index 0000000..7ca0c6c
--- /dev/null
+++ b/obj_g/m_item_new.o
Binary files differ
diff --git a/obj_g/m_item_opt.o b/obj_g/m_item_opt.o
new file mode 100644
index 0000000..17adf9b
--- /dev/null
+++ b/obj_g/m_item_opt.o
Binary files differ
diff --git a/obj_g/m_item_top.o b/obj_g/m_item_top.o
new file mode 100644
index 0000000..5894f81
--- /dev/null
+++ b/obj_g/m_item_top.o
Binary files differ
diff --git a/obj_g/m_item_use.o b/obj_g/m_item_use.o
new file mode 100644
index 0000000..497b80e
--- /dev/null
+++ b/obj_g/m_item_use.o
Binary files differ
diff --git a/obj_g/m_item_val.o b/obj_g/m_item_val.o
new file mode 100644
index 0000000..dc753e0
--- /dev/null
+++ b/obj_g/m_item_val.o
Binary files differ
diff --git a/obj_g/m_item_vis.o b/obj_g/m_item_vis.o
new file mode 100644
index 0000000..f5f7f4f
--- /dev/null
+++ b/obj_g/m_item_vis.o
Binary files differ
diff --git a/obj_g/m_items.o b/obj_g/m_items.o
new file mode 100644
index 0000000..a2318ae
--- /dev/null
+++ b/obj_g/m_items.o
Binary files differ
diff --git a/obj_g/m_new.o b/obj_g/m_new.o
new file mode 100644
index 0000000..22e678b
--- /dev/null
+++ b/obj_g/m_new.o
Binary files differ
diff --git a/obj_g/m_opts.o b/obj_g/m_opts.o
new file mode 100644
index 0000000..328eedf
--- /dev/null
+++ b/obj_g/m_opts.o
Binary files differ
diff --git a/obj_g/m_pad.o b/obj_g/m_pad.o
new file mode 100644
index 0000000..d865791
--- /dev/null
+++ b/obj_g/m_pad.o
Binary files differ
diff --git a/obj_g/m_pattern.o b/obj_g/m_pattern.o
new file mode 100644
index 0000000..3c5a538
--- /dev/null
+++ b/obj_g/m_pattern.o
Binary files differ
diff --git a/obj_g/m_post.o b/obj_g/m_post.o
new file mode 100644
index 0000000..2fe9077
--- /dev/null
+++ b/obj_g/m_post.o
Binary files differ
diff --git a/obj_g/m_req_name.o b/obj_g/m_req_name.o
new file mode 100644
index 0000000..7b4eed3
--- /dev/null
+++ b/obj_g/m_req_name.o
Binary files differ
diff --git a/obj_g/m_scale.o b/obj_g/m_scale.o
new file mode 100644
index 0000000..01e3a2f
--- /dev/null
+++ b/obj_g/m_scale.o
Binary files differ
diff --git a/obj_g/m_spacing.o b/obj_g/m_spacing.o
new file mode 100644
index 0000000..9b8dafe
--- /dev/null
+++ b/obj_g/m_spacing.o
Binary files differ
diff --git a/obj_g/m_sub.o b/obj_g/m_sub.o
new file mode 100644
index 0000000..a6ee47d
--- /dev/null
+++ b/obj_g/m_sub.o
Binary files differ
diff --git a/obj_g/m_trace.o b/obj_g/m_trace.o
new file mode 100644
index 0000000..e656512
--- /dev/null
+++ b/obj_g/m_trace.o
Binary files differ
diff --git a/obj_g/m_userptr.o b/obj_g/m_userptr.o
new file mode 100644
index 0000000..13bd422
--- /dev/null
+++ b/obj_g/m_userptr.o
Binary files differ
diff --git a/obj_g/m_win.o b/obj_g/m_win.o
new file mode 100644
index 0000000..df323ad
--- /dev/null
+++ b/obj_g/m_win.o
Binary files differ
diff --git a/obj_g/name_match.o b/obj_g/name_match.o
new file mode 100644
index 0000000..875daba
--- /dev/null
+++ b/obj_g/name_match.o
Binary files differ
diff --git a/obj_g/names.o b/obj_g/names.o
new file mode 100644
index 0000000..e27fb9f
--- /dev/null
+++ b/obj_g/names.o
Binary files differ
diff --git a/obj_g/nc_panel.o b/obj_g/nc_panel.o
new file mode 100644
index 0000000..137350d
--- /dev/null
+++ b/obj_g/nc_panel.o
Binary files differ
diff --git a/obj_g/new_pair.o b/obj_g/new_pair.o
new file mode 100644
index 0000000..4b7ad5a
--- /dev/null
+++ b/obj_g/new_pair.o
Binary files differ
diff --git a/obj_g/obsolete.o b/obj_g/obsolete.o
new file mode 100644
index 0000000..6b33b1f
--- /dev/null
+++ b/obj_g/obsolete.o
Binary files differ
diff --git a/obj_g/p_above.o b/obj_g/p_above.o
new file mode 100644
index 0000000..5a31584
--- /dev/null
+++ b/obj_g/p_above.o
Binary files differ
diff --git a/obj_g/p_below.o b/obj_g/p_below.o
new file mode 100644
index 0000000..e34c7a0
--- /dev/null
+++ b/obj_g/p_below.o
Binary files differ
diff --git a/obj_g/p_bottom.o b/obj_g/p_bottom.o
new file mode 100644
index 0000000..8963747
--- /dev/null
+++ b/obj_g/p_bottom.o
Binary files differ
diff --git a/obj_g/p_delete.o b/obj_g/p_delete.o
new file mode 100644
index 0000000..12e4249
--- /dev/null
+++ b/obj_g/p_delete.o
Binary files differ
diff --git a/obj_g/p_hidden.o b/obj_g/p_hidden.o
new file mode 100644
index 0000000..5633b96
--- /dev/null
+++ b/obj_g/p_hidden.o
Binary files differ
diff --git a/obj_g/p_hide.o b/obj_g/p_hide.o
new file mode 100644
index 0000000..2cffe87
--- /dev/null
+++ b/obj_g/p_hide.o
Binary files differ
diff --git a/obj_g/p_move.o b/obj_g/p_move.o
new file mode 100644
index 0000000..5a542f1
--- /dev/null
+++ b/obj_g/p_move.o
Binary files differ
diff --git a/obj_g/p_new.o b/obj_g/p_new.o
new file mode 100644
index 0000000..22b4895
--- /dev/null
+++ b/obj_g/p_new.o
Binary files differ
diff --git a/obj_g/p_replace.o b/obj_g/p_replace.o
new file mode 100644
index 0000000..5b043a4
--- /dev/null
+++ b/obj_g/p_replace.o
Binary files differ
diff --git a/obj_g/p_show.o b/obj_g/p_show.o
new file mode 100644
index 0000000..50f93f2
--- /dev/null
+++ b/obj_g/p_show.o
Binary files differ
diff --git a/obj_g/p_top.o b/obj_g/p_top.o
new file mode 100644
index 0000000..09bbd9a
--- /dev/null
+++ b/obj_g/p_top.o
Binary files differ
diff --git a/obj_g/p_update.o b/obj_g/p_update.o
new file mode 100644
index 0000000..fff6a34
--- /dev/null
+++ b/obj_g/p_update.o
Binary files differ
diff --git a/obj_g/p_user.o b/obj_g/p_user.o
new file mode 100644
index 0000000..d69b121
--- /dev/null
+++ b/obj_g/p_user.o
Binary files differ
diff --git a/obj_g/p_win.o b/obj_g/p_win.o
new file mode 100644
index 0000000..23deda0
--- /dev/null
+++ b/obj_g/p_win.o
Binary files differ
diff --git a/obj_g/panel.o b/obj_g/panel.o
new file mode 100644
index 0000000..223f834
--- /dev/null
+++ b/obj_g/panel.o
Binary files differ
diff --git a/obj_g/parse_entry.o b/obj_g/parse_entry.o
new file mode 100644
index 0000000..a6d8589
--- /dev/null
+++ b/obj_g/parse_entry.o
Binary files differ
diff --git a/obj_g/read_entry.o b/obj_g/read_entry.o
new file mode 100644
index 0000000..31740c6
--- /dev/null
+++ b/obj_g/read_entry.o
Binary files differ
diff --git a/obj_g/read_termcap.o b/obj_g/read_termcap.o
new file mode 100644
index 0000000..78be17c
--- /dev/null
+++ b/obj_g/read_termcap.o
Binary files differ
diff --git a/obj_g/resizeterm.o b/obj_g/resizeterm.o
new file mode 100644
index 0000000..625ef59
--- /dev/null
+++ b/obj_g/resizeterm.o
Binary files differ
diff --git a/obj_g/safe_sprintf.o b/obj_g/safe_sprintf.o
new file mode 100644
index 0000000..f8f6a7d
--- /dev/null
+++ b/obj_g/safe_sprintf.o
Binary files differ
diff --git a/obj_g/strings.o b/obj_g/strings.o
new file mode 100644
index 0000000..274ae14
--- /dev/null
+++ b/obj_g/strings.o
Binary files differ
diff --git a/obj_g/trace_buf.o b/obj_g/trace_buf.o
new file mode 100644
index 0000000..cff51c4
--- /dev/null
+++ b/obj_g/trace_buf.o
Binary files differ
diff --git a/obj_g/trace_tries.o b/obj_g/trace_tries.o
new file mode 100644
index 0000000..62e7075
--- /dev/null
+++ b/obj_g/trace_tries.o
Binary files differ
diff --git a/obj_g/trace_xnames.o b/obj_g/trace_xnames.o
new file mode 100644
index 0000000..2ed0171
--- /dev/null
+++ b/obj_g/trace_xnames.o
Binary files differ
diff --git a/obj_g/tries.o b/obj_g/tries.o
new file mode 100644
index 0000000..ffb780b
--- /dev/null
+++ b/obj_g/tries.o
Binary files differ
diff --git a/obj_g/trim_sgr0.o b/obj_g/trim_sgr0.o
new file mode 100644
index 0000000..0bb0835
--- /dev/null
+++ b/obj_g/trim_sgr0.o
Binary files differ
diff --git a/obj_g/tty_update.o b/obj_g/tty_update.o
new file mode 100644
index 0000000..9f73b8e
--- /dev/null
+++ b/obj_g/tty_update.o
Binary files differ
diff --git a/obj_g/unctrl.o b/obj_g/unctrl.o
new file mode 100644
index 0000000..3726aac
--- /dev/null
+++ b/obj_g/unctrl.o
Binary files differ
diff --git a/obj_g/use_screen.o b/obj_g/use_screen.o
new file mode 100644
index 0000000..92a2629
--- /dev/null
+++ b/obj_g/use_screen.o
Binary files differ
diff --git a/obj_g/use_window.o b/obj_g/use_window.o
new file mode 100644
index 0000000..80bfed7
--- /dev/null
+++ b/obj_g/use_window.o
Binary files differ
diff --git a/obj_g/varargs.o b/obj_g/varargs.o
new file mode 100644
index 0000000..030f63f
--- /dev/null
+++ b/obj_g/varargs.o
Binary files differ
diff --git a/obj_g/version.o b/obj_g/version.o
new file mode 100644
index 0000000..de5b532
--- /dev/null
+++ b/obj_g/version.o
Binary files differ
diff --git a/obj_g/visbuf.o b/obj_g/visbuf.o
new file mode 100644
index 0000000..53957e5
--- /dev/null
+++ b/obj_g/visbuf.o
Binary files differ
diff --git a/obj_g/vsscanf.o b/obj_g/vsscanf.o
new file mode 100644
index 0000000..0295f44
--- /dev/null
+++ b/obj_g/vsscanf.o
Binary files differ
diff --git a/obj_g/wresize.o b/obj_g/wresize.o
new file mode 100644
index 0000000..e71fe78
--- /dev/null
+++ b/obj_g/wresize.o
Binary files differ
diff --git a/obj_g/write_entry.o b/obj_g/write_entry.o
new file mode 100644
index 0000000..158defd
--- /dev/null
+++ b/obj_g/write_entry.o
Binary files differ
diff --git a/objects/access.o b/objects/access.o
new file mode 100644
index 0000000..b247166
--- /dev/null
+++ b/objects/access.o
Binary files differ
diff --git a/objects/add_tries.o b/objects/add_tries.o
new file mode 100644
index 0000000..f73ab84
--- /dev/null
+++ b/objects/add_tries.o
Binary files differ
diff --git a/objects/alloc_entry.o b/objects/alloc_entry.o
new file mode 100644
index 0000000..c1ebc14
--- /dev/null
+++ b/objects/alloc_entry.o
Binary files differ
diff --git a/objects/alloc_ttype.o b/objects/alloc_ttype.o
new file mode 100644
index 0000000..f98f492
--- /dev/null
+++ b/objects/alloc_ttype.o
Binary files differ
diff --git a/objects/back_ground.o b/objects/back_ground.o
new file mode 100644
index 0000000..f2ff2d0
--- /dev/null
+++ b/objects/back_ground.o
Binary files differ
diff --git a/objects/background.o b/objects/background.o
new file mode 100644
index 0000000..cba9f8e
--- /dev/null
+++ b/objects/background.o
Binary files differ
diff --git a/objects/blue.o b/objects/blue.o
new file mode 100644
index 0000000..cd34b9d
--- /dev/null
+++ b/objects/blue.o
Binary files differ
diff --git a/objects/bs.o b/objects/bs.o
new file mode 100644
index 0000000..9a91c9e
--- /dev/null
+++ b/objects/bs.o
Binary files differ
diff --git a/objects/captoinfo.o b/objects/captoinfo.o
new file mode 100644
index 0000000..163d666
--- /dev/null
+++ b/objects/captoinfo.o
Binary files differ
diff --git a/objects/cardfile.o b/objects/cardfile.o
new file mode 100644
index 0000000..076562f
--- /dev/null
+++ b/objects/cardfile.o
Binary files differ
diff --git a/objects/charable.o b/objects/charable.o
new file mode 100644
index 0000000..3a51a1a
--- /dev/null
+++ b/objects/charable.o
Binary files differ
diff --git a/objects/chgat.o b/objects/chgat.o
new file mode 100644
index 0000000..89a5c6d
--- /dev/null
+++ b/objects/chgat.o
Binary files differ
diff --git a/objects/clear.o b/objects/clear.o
new file mode 100644
index 0000000..425ce86
--- /dev/null
+++ b/objects/clear.o
Binary files differ
diff --git a/objects/clear_cmd.o b/objects/clear_cmd.o
new file mode 100644
index 0000000..0da977c
--- /dev/null
+++ b/objects/clear_cmd.o
Binary files differ
diff --git a/objects/clip_printw.o b/objects/clip_printw.o
new file mode 100644
index 0000000..97ee581
--- /dev/null
+++ b/objects/clip_printw.o
Binary files differ
diff --git a/objects/codes.o b/objects/codes.o
new file mode 100644
index 0000000..5ab5306
--- /dev/null
+++ b/objects/codes.o
Binary files differ
diff --git a/objects/color_content.o b/objects/color_content.o
new file mode 100644
index 0000000..80f337a
--- /dev/null
+++ b/objects/color_content.o
Binary files differ
diff --git a/objects/color_set.o b/objects/color_set.o
new file mode 100644
index 0000000..214eb5c
--- /dev/null
+++ b/objects/color_set.o
Binary files differ
diff --git a/objects/combine.o b/objects/combine.o
new file mode 100644
index 0000000..20995ce
--- /dev/null
+++ b/objects/combine.o
Binary files differ
diff --git a/objects/comp_captab.o b/objects/comp_captab.o
new file mode 100644
index 0000000..72b9879
--- /dev/null
+++ b/objects/comp_captab.o
Binary files differ
diff --git a/objects/comp_error.o b/objects/comp_error.o
new file mode 100644
index 0000000..1302bf8
--- /dev/null
+++ b/objects/comp_error.o
Binary files differ
diff --git a/objects/comp_expand.o b/objects/comp_expand.o
new file mode 100644
index 0000000..df6f14c
--- /dev/null
+++ b/objects/comp_expand.o
Binary files differ
diff --git a/objects/comp_hash.o b/objects/comp_hash.o
new file mode 100644
index 0000000..b647063
--- /dev/null
+++ b/objects/comp_hash.o
Binary files differ
diff --git a/objects/comp_parse.o b/objects/comp_parse.o
new file mode 100644
index 0000000..5436b6a
--- /dev/null
+++ b/objects/comp_parse.o
Binary files differ
diff --git a/objects/comp_scan.o b/objects/comp_scan.o
new file mode 100644
index 0000000..2e61f13
--- /dev/null
+++ b/objects/comp_scan.o
Binary files differ
diff --git a/objects/comp_userdefs.o b/objects/comp_userdefs.o
new file mode 100644
index 0000000..2ca1333
--- /dev/null
+++ b/objects/comp_userdefs.o
Binary files differ
diff --git a/objects/cursesapp.o b/objects/cursesapp.o
new file mode 100644
index 0000000..8d45cde
--- /dev/null
+++ b/objects/cursesapp.o
Binary files differ
diff --git a/objects/cursesf.o b/objects/cursesf.o
new file mode 100644
index 0000000..42857be
--- /dev/null
+++ b/objects/cursesf.o
Binary files differ
diff --git a/objects/cursesm.o b/objects/cursesm.o
new file mode 100644
index 0000000..ff436ce
--- /dev/null
+++ b/objects/cursesm.o
Binary files differ
diff --git a/objects/cursesmain.o b/objects/cursesmain.o
new file mode 100644
index 0000000..fc65709
--- /dev/null
+++ b/objects/cursesmain.o
Binary files differ
diff --git a/objects/cursesp.o b/objects/cursesp.o
new file mode 100644
index 0000000..cca0f7e
--- /dev/null
+++ b/objects/cursesp.o
Binary files differ
diff --git a/objects/cursespad.o b/objects/cursespad.o
new file mode 100644
index 0000000..6be9897
--- /dev/null
+++ b/objects/cursespad.o
Binary files differ
diff --git a/objects/cursesw.o b/objects/cursesw.o
new file mode 100644
index 0000000..1164be9
--- /dev/null
+++ b/objects/cursesw.o
Binary files differ
diff --git a/objects/cursslk.o b/objects/cursslk.o
new file mode 100644
index 0000000..ca1f407
--- /dev/null
+++ b/objects/cursslk.o
Binary files differ
diff --git a/objects/db_iterator.o b/objects/db_iterator.o
new file mode 100644
index 0000000..2f77d9a
--- /dev/null
+++ b/objects/db_iterator.o
Binary files differ
diff --git a/objects/define_key.o b/objects/define_key.o
new file mode 100644
index 0000000..a050c2d
--- /dev/null
+++ b/objects/define_key.o
Binary files differ
diff --git a/objects/demo.o b/objects/demo.o
new file mode 100644
index 0000000..9734649
--- /dev/null
+++ b/objects/demo.o
Binary files differ
diff --git a/objects/demo_altkeys.o b/objects/demo_altkeys.o
new file mode 100644
index 0000000..5d2a5f5
--- /dev/null
+++ b/objects/demo_altkeys.o
Binary files differ
diff --git a/objects/demo_defkey.o b/objects/demo_defkey.o
new file mode 100644
index 0000000..ed36c57
--- /dev/null
+++ b/objects/demo_defkey.o
Binary files differ
diff --git a/objects/demo_forms.o b/objects/demo_forms.o
new file mode 100644
index 0000000..0f006db
--- /dev/null
+++ b/objects/demo_forms.o
Binary files differ
diff --git a/objects/demo_keyok.o b/objects/demo_keyok.o
new file mode 100644
index 0000000..e69dc96
--- /dev/null
+++ b/objects/demo_keyok.o
Binary files differ
diff --git a/objects/demo_menus.o b/objects/demo_menus.o
new file mode 100644
index 0000000..a424979
--- /dev/null
+++ b/objects/demo_menus.o
Binary files differ
diff --git a/objects/demo_new_pair.o b/objects/demo_new_pair.o
new file mode 100644
index 0000000..79add7e
--- /dev/null
+++ b/objects/demo_new_pair.o
Binary files differ
diff --git a/objects/demo_panels.o b/objects/demo_panels.o
new file mode 100644
index 0000000..1061603
--- /dev/null
+++ b/objects/demo_panels.o
Binary files differ
diff --git a/objects/demo_tabs.o b/objects/demo_tabs.o
new file mode 100644
index 0000000..dc9a3ed
--- /dev/null
+++ b/objects/demo_tabs.o
Binary files differ
diff --git a/objects/demo_termcap.o b/objects/demo_termcap.o
new file mode 100644
index 0000000..3ad71bf
--- /dev/null
+++ b/objects/demo_termcap.o
Binary files differ
diff --git a/objects/demo_terminfo.o b/objects/demo_terminfo.o
new file mode 100644
index 0000000..185e304
--- /dev/null
+++ b/objects/demo_terminfo.o
Binary files differ
diff --git a/objects/ditto.o b/objects/ditto.o
new file mode 100644
index 0000000..b64cddd
--- /dev/null
+++ b/objects/ditto.o
Binary files differ
diff --git a/objects/doalloc.o b/objects/doalloc.o
new file mode 100644
index 0000000..ee02abf
--- /dev/null
+++ b/objects/doalloc.o
Binary files differ
diff --git a/objects/dots.o b/objects/dots.o
new file mode 100644
index 0000000..8295712
--- /dev/null
+++ b/objects/dots.o
Binary files differ
diff --git a/objects/dots_curses.o b/objects/dots_curses.o
new file mode 100644
index 0000000..4ae1e30
--- /dev/null
+++ b/objects/dots_curses.o
Binary files differ
diff --git a/objects/dots_mvcur.o b/objects/dots_mvcur.o
new file mode 100644
index 0000000..f88025a
--- /dev/null
+++ b/objects/dots_mvcur.o
Binary files differ
diff --git a/objects/dots_termcap.o b/objects/dots_termcap.o
new file mode 100644
index 0000000..fff5ea0
--- /dev/null
+++ b/objects/dots_termcap.o
Binary files differ
diff --git a/objects/dots_xcurses.o b/objects/dots_xcurses.o
new file mode 100644
index 0000000..e1ca85d
--- /dev/null
+++ b/objects/dots_xcurses.o
Binary files differ
diff --git a/objects/dump_entry.o b/objects/dump_entry.o
new file mode 100644
index 0000000..cf4ac0e
--- /dev/null
+++ b/objects/dump_entry.o
Binary files differ
diff --git a/objects/dump_window.o b/objects/dump_window.o
new file mode 100644
index 0000000..3d8b7fd
--- /dev/null
+++ b/objects/dump_window.o
Binary files differ
diff --git a/objects/dup_field.o b/objects/dup_field.o
new file mode 100644
index 0000000..1ed3748
--- /dev/null
+++ b/objects/dup_field.o
Binary files differ
diff --git a/objects/echochar.o b/objects/echochar.o
new file mode 100644
index 0000000..c658b7c
--- /dev/null
+++ b/objects/echochar.o
Binary files differ
diff --git a/objects/edit_field.o b/objects/edit_field.o
new file mode 100644
index 0000000..3d0aee7
--- /dev/null
+++ b/objects/edit_field.o
Binary files differ
diff --git a/objects/entries.o b/objects/entries.o
new file mode 100644
index 0000000..ba48f6d
--- /dev/null
+++ b/objects/entries.o
Binary files differ
diff --git a/objects/expanded.o b/objects/expanded.o
new file mode 100644
index 0000000..e66af33
--- /dev/null
+++ b/objects/expanded.o
Binary files differ
diff --git a/objects/extended_color.o b/objects/extended_color.o
new file mode 100644
index 0000000..232a5b5
--- /dev/null
+++ b/objects/extended_color.o
Binary files differ
diff --git a/objects/fallback.o b/objects/fallback.o
new file mode 100644
index 0000000..b0d22b4
--- /dev/null
+++ b/objects/fallback.o
Binary files differ
diff --git a/objects/filter.o b/objects/filter.o
new file mode 100644
index 0000000..6ea4ad5
--- /dev/null
+++ b/objects/filter.o
Binary files differ
diff --git a/objects/firework.o b/objects/firework.o
new file mode 100644
index 0000000..5190632
--- /dev/null
+++ b/objects/firework.o
Binary files differ
diff --git a/objects/firstlast.o b/objects/firstlast.o
new file mode 100644
index 0000000..d75864f
--- /dev/null
+++ b/objects/firstlast.o
Binary files differ
diff --git a/objects/fld_arg.o b/objects/fld_arg.o
new file mode 100644
index 0000000..04381e1
--- /dev/null
+++ b/objects/fld_arg.o
Binary files differ
diff --git a/objects/fld_attr.o b/objects/fld_attr.o
new file mode 100644
index 0000000..77a6d19
--- /dev/null
+++ b/objects/fld_attr.o
Binary files differ
diff --git a/objects/fld_current.o b/objects/fld_current.o
new file mode 100644
index 0000000..d15c8f3
--- /dev/null
+++ b/objects/fld_current.o
Binary files differ
diff --git a/objects/fld_def.o b/objects/fld_def.o
new file mode 100644
index 0000000..08b3a26
--- /dev/null
+++ b/objects/fld_def.o
Binary files differ
diff --git a/objects/fld_dup.o b/objects/fld_dup.o
new file mode 100644
index 0000000..05cf774
--- /dev/null
+++ b/objects/fld_dup.o
Binary files differ
diff --git a/objects/fld_ftchoice.o b/objects/fld_ftchoice.o
new file mode 100644
index 0000000..aff4c25
--- /dev/null
+++ b/objects/fld_ftchoice.o
Binary files differ
diff --git a/objects/fld_ftlink.o b/objects/fld_ftlink.o
new file mode 100644
index 0000000..132a279
--- /dev/null
+++ b/objects/fld_ftlink.o
Binary files differ
diff --git a/objects/fld_info.o b/objects/fld_info.o
new file mode 100644
index 0000000..c341d49
--- /dev/null
+++ b/objects/fld_info.o
Binary files differ
diff --git a/objects/fld_just.o b/objects/fld_just.o
new file mode 100644
index 0000000..09382ea
--- /dev/null
+++ b/objects/fld_just.o
Binary files differ
diff --git a/objects/fld_link.o b/objects/fld_link.o
new file mode 100644
index 0000000..2523414
--- /dev/null
+++ b/objects/fld_link.o
Binary files differ
diff --git a/objects/fld_max.o b/objects/fld_max.o
new file mode 100644
index 0000000..e1cacb4
--- /dev/null
+++ b/objects/fld_max.o
Binary files differ
diff --git a/objects/fld_move.o b/objects/fld_move.o
new file mode 100644
index 0000000..3afb9a9
--- /dev/null
+++ b/objects/fld_move.o
Binary files differ
diff --git a/objects/fld_newftyp.o b/objects/fld_newftyp.o
new file mode 100644
index 0000000..d0a00b9
--- /dev/null
+++ b/objects/fld_newftyp.o
Binary files differ
diff --git a/objects/fld_opts.o b/objects/fld_opts.o
new file mode 100644
index 0000000..89ff167
--- /dev/null
+++ b/objects/fld_opts.o
Binary files differ
diff --git a/objects/fld_pad.o b/objects/fld_pad.o
new file mode 100644
index 0000000..1cb0039
--- /dev/null
+++ b/objects/fld_pad.o
Binary files differ
diff --git a/objects/fld_page.o b/objects/fld_page.o
new file mode 100644
index 0000000..74e125f
--- /dev/null
+++ b/objects/fld_page.o
Binary files differ
diff --git a/objects/fld_stat.o b/objects/fld_stat.o
new file mode 100644
index 0000000..8798f98
--- /dev/null
+++ b/objects/fld_stat.o
Binary files differ
diff --git a/objects/fld_type.o b/objects/fld_type.o
new file mode 100644
index 0000000..2d8bf4c
--- /dev/null
+++ b/objects/fld_type.o
Binary files differ
diff --git a/objects/fld_user.o b/objects/fld_user.o
new file mode 100644
index 0000000..c3f4f1b
--- /dev/null
+++ b/objects/fld_user.o
Binary files differ
diff --git a/objects/foldkeys.o b/objects/foldkeys.o
new file mode 100644
index 0000000..ba77c05
--- /dev/null
+++ b/objects/foldkeys.o
Binary files differ
diff --git a/objects/form_driver_w.o b/objects/form_driver_w.o
new file mode 100644
index 0000000..3ce4c1d
--- /dev/null
+++ b/objects/form_driver_w.o
Binary files differ
diff --git a/objects/free_ttype.o b/objects/free_ttype.o
new file mode 100644
index 0000000..b626032
--- /dev/null
+++ b/objects/free_ttype.o
Binary files differ
diff --git a/objects/frm_cursor.o b/objects/frm_cursor.o
new file mode 100644
index 0000000..8e93f1a
--- /dev/null
+++ b/objects/frm_cursor.o
Binary files differ
diff --git a/objects/frm_data.o b/objects/frm_data.o
new file mode 100644
index 0000000..5a6dee7
--- /dev/null
+++ b/objects/frm_data.o
Binary files differ
diff --git a/objects/frm_def.o b/objects/frm_def.o
new file mode 100644
index 0000000..8875232
--- /dev/null
+++ b/objects/frm_def.o
Binary files differ
diff --git a/objects/frm_driver.o b/objects/frm_driver.o
new file mode 100644
index 0000000..7d1b735
--- /dev/null
+++ b/objects/frm_driver.o
Binary files differ
diff --git a/objects/frm_hook.o b/objects/frm_hook.o
new file mode 100644
index 0000000..50a1765
--- /dev/null
+++ b/objects/frm_hook.o
Binary files differ
diff --git a/objects/frm_opts.o b/objects/frm_opts.o
new file mode 100644
index 0000000..7e67649
--- /dev/null
+++ b/objects/frm_opts.o
Binary files differ
diff --git a/objects/frm_page.o b/objects/frm_page.o
new file mode 100644
index 0000000..87dce2a
--- /dev/null
+++ b/objects/frm_page.o
Binary files differ
diff --git a/objects/frm_post.o b/objects/frm_post.o
new file mode 100644
index 0000000..19ab454
--- /dev/null
+++ b/objects/frm_post.o
Binary files differ
diff --git a/objects/frm_req_name.o b/objects/frm_req_name.o
new file mode 100644
index 0000000..7800dc8
--- /dev/null
+++ b/objects/frm_req_name.o
Binary files differ
diff --git a/objects/frm_scale.o b/objects/frm_scale.o
new file mode 100644
index 0000000..067968b
--- /dev/null
+++ b/objects/frm_scale.o
Binary files differ
diff --git a/objects/frm_sub.o b/objects/frm_sub.o
new file mode 100644
index 0000000..19b0758
--- /dev/null
+++ b/objects/frm_sub.o
Binary files differ
diff --git a/objects/frm_user.o b/objects/frm_user.o
new file mode 100644
index 0000000..ba81327
--- /dev/null
+++ b/objects/frm_user.o
Binary files differ
diff --git a/objects/frm_win.o b/objects/frm_win.o
new file mode 100644
index 0000000..03ece98
--- /dev/null
+++ b/objects/frm_win.o
Binary files differ
diff --git a/objects/fty_alnum.o b/objects/fty_alnum.o
new file mode 100644
index 0000000..89152fc
--- /dev/null
+++ b/objects/fty_alnum.o
Binary files differ
diff --git a/objects/fty_alpha.o b/objects/fty_alpha.o
new file mode 100644
index 0000000..ced5111
--- /dev/null
+++ b/objects/fty_alpha.o
Binary files differ
diff --git a/objects/fty_enum.o b/objects/fty_enum.o
new file mode 100644
index 0000000..42a88a4
--- /dev/null
+++ b/objects/fty_enum.o
Binary files differ
diff --git a/objects/fty_generic.o b/objects/fty_generic.o
new file mode 100644
index 0000000..1872a19
--- /dev/null
+++ b/objects/fty_generic.o
Binary files differ
diff --git a/objects/fty_int.o b/objects/fty_int.o
new file mode 100644
index 0000000..7a4fbaa
--- /dev/null
+++ b/objects/fty_int.o
Binary files differ
diff --git a/objects/fty_ipv4.o b/objects/fty_ipv4.o
new file mode 100644
index 0000000..5508b35
--- /dev/null
+++ b/objects/fty_ipv4.o
Binary files differ
diff --git a/objects/fty_num.o b/objects/fty_num.o
new file mode 100644
index 0000000..cfebab9
--- /dev/null
+++ b/objects/fty_num.o
Binary files differ
diff --git a/objects/fty_regex.o b/objects/fty_regex.o
new file mode 100644
index 0000000..5ff20a6
--- /dev/null
+++ b/objects/fty_regex.o
Binary files differ
diff --git a/objects/gdc.o b/objects/gdc.o
new file mode 100644
index 0000000..99ff8e7
--- /dev/null
+++ b/objects/gdc.o
Binary files differ
diff --git a/objects/getenv_num.o b/objects/getenv_num.o
new file mode 100644
index 0000000..fdc7b61
--- /dev/null
+++ b/objects/getenv_num.o
Binary files differ
diff --git a/objects/hanoi.o b/objects/hanoi.o
new file mode 100644
index 0000000..71b5a35
--- /dev/null
+++ b/objects/hanoi.o
Binary files differ
diff --git a/objects/hardscroll.o b/objects/hardscroll.o
new file mode 100644
index 0000000..ab0b5a7
--- /dev/null
+++ b/objects/hardscroll.o
Binary files differ
diff --git a/objects/hashed_db.o b/objects/hashed_db.o
new file mode 100644
index 0000000..0858753
--- /dev/null
+++ b/objects/hashed_db.o
Binary files differ
diff --git a/objects/hashmap.o b/objects/hashmap.o
new file mode 100644
index 0000000..727cde1
--- /dev/null
+++ b/objects/hashmap.o
Binary files differ
diff --git a/objects/hashtest.o b/objects/hashtest.o
new file mode 100644
index 0000000..9ddc396
--- /dev/null
+++ b/objects/hashtest.o
Binary files differ
diff --git a/objects/home_terminfo.o b/objects/home_terminfo.o
new file mode 100644
index 0000000..bbbe7c1
--- /dev/null
+++ b/objects/home_terminfo.o
Binary files differ
diff --git a/objects/inch_wide.o b/objects/inch_wide.o
new file mode 100644
index 0000000..51f499d
--- /dev/null
+++ b/objects/inch_wide.o
Binary files differ
diff --git a/objects/inchs.o b/objects/inchs.o
new file mode 100644
index 0000000..8c18f65
--- /dev/null
+++ b/objects/inchs.o
Binary files differ
diff --git a/objects/infocmp.o b/objects/infocmp.o
new file mode 100644
index 0000000..3ac5ca3
--- /dev/null
+++ b/objects/infocmp.o
Binary files differ
diff --git a/objects/init_keytry.o b/objects/init_keytry.o
new file mode 100644
index 0000000..52679bb
--- /dev/null
+++ b/objects/init_keytry.o
Binary files differ
diff --git a/objects/ins_wide.o b/objects/ins_wide.o
new file mode 100644
index 0000000..f7a45db
--- /dev/null
+++ b/objects/ins_wide.o
Binary files differ
diff --git a/objects/insdelln.o b/objects/insdelln.o
new file mode 100644
index 0000000..d84d9bf
--- /dev/null
+++ b/objects/insdelln.o
Binary files differ
diff --git a/objects/inserts.o b/objects/inserts.o
new file mode 100644
index 0000000..6841e94
--- /dev/null
+++ b/objects/inserts.o
Binary files differ
diff --git a/objects/key_defined.o b/objects/key_defined.o
new file mode 100644
index 0000000..3168802
--- /dev/null
+++ b/objects/key_defined.o
Binary files differ
diff --git a/objects/key_names.o b/objects/key_names.o
new file mode 100644
index 0000000..7e95fa7
--- /dev/null
+++ b/objects/key_names.o
Binary files differ
diff --git a/objects/keybound.o b/objects/keybound.o
new file mode 100644
index 0000000..2ee5031
--- /dev/null
+++ b/objects/keybound.o
Binary files differ
diff --git a/objects/keynames.o b/objects/keynames.o
new file mode 100644
index 0000000..95b84c1
--- /dev/null
+++ b/objects/keynames.o
Binary files differ
diff --git a/objects/keyok.o b/objects/keyok.o
new file mode 100644
index 0000000..666982c
--- /dev/null
+++ b/objects/keyok.o
Binary files differ
diff --git a/objects/knight.o b/objects/knight.o
new file mode 100644
index 0000000..4033961
--- /dev/null
+++ b/objects/knight.o
Binary files differ
diff --git a/objects/legacy_coding.o b/objects/legacy_coding.o
new file mode 100644
index 0000000..d4c1523
--- /dev/null
+++ b/objects/legacy_coding.o
Binary files differ
diff --git a/objects/lib_acs.o b/objects/lib_acs.o
new file mode 100644
index 0000000..f954202
--- /dev/null
+++ b/objects/lib_acs.o
Binary files differ
diff --git a/objects/lib_add_wch.o b/objects/lib_add_wch.o
new file mode 100644
index 0000000..e3d43da
--- /dev/null
+++ b/objects/lib_add_wch.o
Binary files differ
diff --git a/objects/lib_addch.o b/objects/lib_addch.o
new file mode 100644
index 0000000..f69e814
--- /dev/null
+++ b/objects/lib_addch.o
Binary files differ
diff --git a/objects/lib_addstr.o b/objects/lib_addstr.o
new file mode 100644
index 0000000..181e0d7
--- /dev/null
+++ b/objects/lib_addstr.o
Binary files differ
diff --git a/objects/lib_baudrate.o b/objects/lib_baudrate.o
new file mode 100644
index 0000000..122bf2e
--- /dev/null
+++ b/objects/lib_baudrate.o
Binary files differ
diff --git a/objects/lib_beep.o b/objects/lib_beep.o
new file mode 100644
index 0000000..5f9d19f
--- /dev/null
+++ b/objects/lib_beep.o
Binary files differ
diff --git a/objects/lib_bkgd.o b/objects/lib_bkgd.o
new file mode 100644
index 0000000..984c232
--- /dev/null
+++ b/objects/lib_bkgd.o
Binary files differ
diff --git a/objects/lib_box.o b/objects/lib_box.o
new file mode 100644
index 0000000..4b74a83
--- /dev/null
+++ b/objects/lib_box.o
Binary files differ
diff --git a/objects/lib_box_set.o b/objects/lib_box_set.o
new file mode 100644
index 0000000..e425bcb
--- /dev/null
+++ b/objects/lib_box_set.o
Binary files differ
diff --git a/objects/lib_cchar.o b/objects/lib_cchar.o
new file mode 100644
index 0000000..c68d0c2
--- /dev/null
+++ b/objects/lib_cchar.o
Binary files differ
diff --git a/objects/lib_chgat.o b/objects/lib_chgat.o
new file mode 100644
index 0000000..3fcf5d3
--- /dev/null
+++ b/objects/lib_chgat.o
Binary files differ
diff --git a/objects/lib_clear.o b/objects/lib_clear.o
new file mode 100644
index 0000000..237b8e7
--- /dev/null
+++ b/objects/lib_clear.o
Binary files differ
diff --git a/objects/lib_clearok.o b/objects/lib_clearok.o
new file mode 100644
index 0000000..d75296c
--- /dev/null
+++ b/objects/lib_clearok.o
Binary files differ
diff --git a/objects/lib_clrbot.o b/objects/lib_clrbot.o
new file mode 100644
index 0000000..9623868
--- /dev/null
+++ b/objects/lib_clrbot.o
Binary files differ
diff --git a/objects/lib_clreol.o b/objects/lib_clreol.o
new file mode 100644
index 0000000..09ca4d7
--- /dev/null
+++ b/objects/lib_clreol.o
Binary files differ
diff --git a/objects/lib_color.o b/objects/lib_color.o
new file mode 100644
index 0000000..b8d9531
--- /dev/null
+++ b/objects/lib_color.o
Binary files differ
diff --git a/objects/lib_colorset.o b/objects/lib_colorset.o
new file mode 100644
index 0000000..1a312cb
--- /dev/null
+++ b/objects/lib_colorset.o
Binary files differ
diff --git a/objects/lib_cur_term.o b/objects/lib_cur_term.o
new file mode 100644
index 0000000..033470c
--- /dev/null
+++ b/objects/lib_cur_term.o
Binary files differ
diff --git a/objects/lib_data.o b/objects/lib_data.o
new file mode 100644
index 0000000..65554d6
--- /dev/null
+++ b/objects/lib_data.o
Binary files differ
diff --git a/objects/lib_delch.o b/objects/lib_delch.o
new file mode 100644
index 0000000..e59f616
--- /dev/null
+++ b/objects/lib_delch.o
Binary files differ
diff --git a/objects/lib_delwin.o b/objects/lib_delwin.o
new file mode 100644
index 0000000..7e16f9a
--- /dev/null
+++ b/objects/lib_delwin.o
Binary files differ
diff --git a/objects/lib_dft_fgbg.o b/objects/lib_dft_fgbg.o
new file mode 100644
index 0000000..fd678bb
--- /dev/null
+++ b/objects/lib_dft_fgbg.o
Binary files differ
diff --git a/objects/lib_echo.o b/objects/lib_echo.o
new file mode 100644
index 0000000..c01e273
--- /dev/null
+++ b/objects/lib_echo.o
Binary files differ
diff --git a/objects/lib_endwin.o b/objects/lib_endwin.o
new file mode 100644
index 0000000..ddec2c6
--- /dev/null
+++ b/objects/lib_endwin.o
Binary files differ
diff --git a/objects/lib_erase.o b/objects/lib_erase.o
new file mode 100644
index 0000000..a06a5db
--- /dev/null
+++ b/objects/lib_erase.o
Binary files differ
diff --git a/objects/lib_erasewchar.o b/objects/lib_erasewchar.o
new file mode 100644
index 0000000..9790691
--- /dev/null
+++ b/objects/lib_erasewchar.o
Binary files differ
diff --git a/objects/lib_flash.o b/objects/lib_flash.o
new file mode 100644
index 0000000..01f095e
--- /dev/null
+++ b/objects/lib_flash.o
Binary files differ
diff --git a/objects/lib_freeall.o b/objects/lib_freeall.o
new file mode 100644
index 0000000..7821e5a
--- /dev/null
+++ b/objects/lib_freeall.o
Binary files differ
diff --git a/objects/lib_gen.o b/objects/lib_gen.o
new file mode 100644
index 0000000..3604dd0
--- /dev/null
+++ b/objects/lib_gen.o
Binary files differ
diff --git a/objects/lib_get_wch.o b/objects/lib_get_wch.o
new file mode 100644
index 0000000..b75dd07
--- /dev/null
+++ b/objects/lib_get_wch.o
Binary files differ
diff --git a/objects/lib_get_wstr.o b/objects/lib_get_wstr.o
new file mode 100644
index 0000000..47c14d9
--- /dev/null
+++ b/objects/lib_get_wstr.o
Binary files differ
diff --git a/objects/lib_getch.o b/objects/lib_getch.o
new file mode 100644
index 0000000..a462303
--- /dev/null
+++ b/objects/lib_getch.o
Binary files differ
diff --git a/objects/lib_getstr.o b/objects/lib_getstr.o
new file mode 100644
index 0000000..ecdf622
--- /dev/null
+++ b/objects/lib_getstr.o
Binary files differ
diff --git a/objects/lib_has_cap.o b/objects/lib_has_cap.o
new file mode 100644
index 0000000..dfef4a5
--- /dev/null
+++ b/objects/lib_has_cap.o
Binary files differ
diff --git a/objects/lib_hline.o b/objects/lib_hline.o
new file mode 100644
index 0000000..3a76618
--- /dev/null
+++ b/objects/lib_hline.o
Binary files differ
diff --git a/objects/lib_hline_set.o b/objects/lib_hline_set.o
new file mode 100644
index 0000000..fa1dd99
--- /dev/null
+++ b/objects/lib_hline_set.o
Binary files differ
diff --git a/objects/lib_immedok.o b/objects/lib_immedok.o
new file mode 100644
index 0000000..186d4e0
--- /dev/null
+++ b/objects/lib_immedok.o
Binary files differ
diff --git a/objects/lib_in_wch.o b/objects/lib_in_wch.o
new file mode 100644
index 0000000..4dbe41b
--- /dev/null
+++ b/objects/lib_in_wch.o
Binary files differ
diff --git a/objects/lib_in_wchnstr.o b/objects/lib_in_wchnstr.o
new file mode 100644
index 0000000..edc10ca
--- /dev/null
+++ b/objects/lib_in_wchnstr.o
Binary files differ
diff --git a/objects/lib_inchstr.o b/objects/lib_inchstr.o
new file mode 100644
index 0000000..7e8e24e
--- /dev/null
+++ b/objects/lib_inchstr.o
Binary files differ
diff --git a/objects/lib_initscr.o b/objects/lib_initscr.o
new file mode 100644
index 0000000..4ace1b7
--- /dev/null
+++ b/objects/lib_initscr.o
Binary files differ
diff --git a/objects/lib_ins_wch.o b/objects/lib_ins_wch.o
new file mode 100644
index 0000000..2867ccd
--- /dev/null
+++ b/objects/lib_ins_wch.o
Binary files differ
diff --git a/objects/lib_insch.o b/objects/lib_insch.o
new file mode 100644
index 0000000..44bca93
--- /dev/null
+++ b/objects/lib_insch.o
Binary files differ
diff --git a/objects/lib_insdel.o b/objects/lib_insdel.o
new file mode 100644
index 0000000..b3067b1
--- /dev/null
+++ b/objects/lib_insdel.o
Binary files differ
diff --git a/objects/lib_insnstr.o b/objects/lib_insnstr.o
new file mode 100644
index 0000000..40147d9
--- /dev/null
+++ b/objects/lib_insnstr.o
Binary files differ
diff --git a/objects/lib_instr.o b/objects/lib_instr.o
new file mode 100644
index 0000000..ba13193
--- /dev/null
+++ b/objects/lib_instr.o
Binary files differ
diff --git a/objects/lib_inwstr.o b/objects/lib_inwstr.o
new file mode 100644
index 0000000..13464f2
--- /dev/null
+++ b/objects/lib_inwstr.o
Binary files differ
diff --git a/objects/lib_isendwin.o b/objects/lib_isendwin.o
new file mode 100644
index 0000000..3a7d16e
--- /dev/null
+++ b/objects/lib_isendwin.o
Binary files differ
diff --git a/objects/lib_kernel.o b/objects/lib_kernel.o
new file mode 100644
index 0000000..6320bca
--- /dev/null
+++ b/objects/lib_kernel.o
Binary files differ
diff --git a/objects/lib_key_name.o b/objects/lib_key_name.o
new file mode 100644
index 0000000..b40db9e
--- /dev/null
+++ b/objects/lib_key_name.o
Binary files differ
diff --git a/objects/lib_keyname.o b/objects/lib_keyname.o
new file mode 100644
index 0000000..7038359
--- /dev/null
+++ b/objects/lib_keyname.o
Binary files differ
diff --git a/objects/lib_leaveok.o b/objects/lib_leaveok.o
new file mode 100644
index 0000000..56ff211
--- /dev/null
+++ b/objects/lib_leaveok.o
Binary files differ
diff --git a/objects/lib_longname.o b/objects/lib_longname.o
new file mode 100644
index 0000000..77e265d
--- /dev/null
+++ b/objects/lib_longname.o
Binary files differ
diff --git a/objects/lib_mouse.o b/objects/lib_mouse.o
new file mode 100644
index 0000000..b47165a
--- /dev/null
+++ b/objects/lib_mouse.o
Binary files differ
diff --git a/objects/lib_move.o b/objects/lib_move.o
new file mode 100644
index 0000000..22f5617
--- /dev/null
+++ b/objects/lib_move.o
Binary files differ
diff --git a/objects/lib_mvcur.o b/objects/lib_mvcur.o
new file mode 100644
index 0000000..f1bd627
--- /dev/null
+++ b/objects/lib_mvcur.o
Binary files differ
diff --git a/objects/lib_mvwin.o b/objects/lib_mvwin.o
new file mode 100644
index 0000000..68b3e23
--- /dev/null
+++ b/objects/lib_mvwin.o
Binary files differ
diff --git a/objects/lib_napms.o b/objects/lib_napms.o
new file mode 100644
index 0000000..a0b2bdc
--- /dev/null
+++ b/objects/lib_napms.o
Binary files differ
diff --git a/objects/lib_newterm.o b/objects/lib_newterm.o
new file mode 100644
index 0000000..417383f
--- /dev/null
+++ b/objects/lib_newterm.o
Binary files differ
diff --git a/objects/lib_newwin.o b/objects/lib_newwin.o
new file mode 100644
index 0000000..a4fff09
--- /dev/null
+++ b/objects/lib_newwin.o
Binary files differ
diff --git a/objects/lib_nl.o b/objects/lib_nl.o
new file mode 100644
index 0000000..0635a86
--- /dev/null
+++ b/objects/lib_nl.o
Binary files differ
diff --git a/objects/lib_options.o b/objects/lib_options.o
new file mode 100644
index 0000000..a791fef
--- /dev/null
+++ b/objects/lib_options.o
Binary files differ
diff --git a/objects/lib_overlay.o b/objects/lib_overlay.o
new file mode 100644
index 0000000..c484bd6
--- /dev/null
+++ b/objects/lib_overlay.o
Binary files differ
diff --git a/objects/lib_pad.o b/objects/lib_pad.o
new file mode 100644
index 0000000..18be8e6
--- /dev/null
+++ b/objects/lib_pad.o
Binary files differ
diff --git a/objects/lib_pecho_wchar.o b/objects/lib_pecho_wchar.o
new file mode 100644
index 0000000..8a72ed8
--- /dev/null
+++ b/objects/lib_pecho_wchar.o
Binary files differ
diff --git a/objects/lib_print.o b/objects/lib_print.o
new file mode 100644
index 0000000..8a1f20e
--- /dev/null
+++ b/objects/lib_print.o
Binary files differ
diff --git a/objects/lib_printw.o b/objects/lib_printw.o
new file mode 100644
index 0000000..53125c6
--- /dev/null
+++ b/objects/lib_printw.o
Binary files differ
diff --git a/objects/lib_raw.o b/objects/lib_raw.o
new file mode 100644
index 0000000..b026d9c
--- /dev/null
+++ b/objects/lib_raw.o
Binary files differ
diff --git a/objects/lib_redrawln.o b/objects/lib_redrawln.o
new file mode 100644
index 0000000..90df363
--- /dev/null
+++ b/objects/lib_redrawln.o
Binary files differ
diff --git a/objects/lib_refresh.o b/objects/lib_refresh.o
new file mode 100644
index 0000000..fc4ad71
--- /dev/null
+++ b/objects/lib_refresh.o
Binary files differ
diff --git a/objects/lib_restart.o b/objects/lib_restart.o
new file mode 100644
index 0000000..5f56a72
--- /dev/null
+++ b/objects/lib_restart.o
Binary files differ
diff --git a/objects/lib_scanw.o b/objects/lib_scanw.o
new file mode 100644
index 0000000..114abf3
--- /dev/null
+++ b/objects/lib_scanw.o
Binary files differ
diff --git a/objects/lib_screen.o b/objects/lib_screen.o
new file mode 100644
index 0000000..29f572f
--- /dev/null
+++ b/objects/lib_screen.o
Binary files differ
diff --git a/objects/lib_scroll.o b/objects/lib_scroll.o
new file mode 100644
index 0000000..d6632fa
--- /dev/null
+++ b/objects/lib_scroll.o
Binary files differ
diff --git a/objects/lib_scrollok.o b/objects/lib_scrollok.o
new file mode 100644
index 0000000..1c2735b
--- /dev/null
+++ b/objects/lib_scrollok.o
Binary files differ
diff --git a/objects/lib_scrreg.o b/objects/lib_scrreg.o
new file mode 100644
index 0000000..d0cd4ba
--- /dev/null
+++ b/objects/lib_scrreg.o
Binary files differ
diff --git a/objects/lib_set_term.o b/objects/lib_set_term.o
new file mode 100644
index 0000000..685af88
--- /dev/null
+++ b/objects/lib_set_term.o
Binary files differ
diff --git a/objects/lib_setup.o b/objects/lib_setup.o
new file mode 100644
index 0000000..4fef76a
--- /dev/null
+++ b/objects/lib_setup.o
Binary files differ
diff --git a/objects/lib_slk.o b/objects/lib_slk.o
new file mode 100644
index 0000000..d1babb4
--- /dev/null
+++ b/objects/lib_slk.o
Binary files differ
diff --git a/objects/lib_slk_wset.o b/objects/lib_slk_wset.o
new file mode 100644
index 0000000..dd43cad
--- /dev/null
+++ b/objects/lib_slk_wset.o
Binary files differ
diff --git a/objects/lib_slkatr_set.o b/objects/lib_slkatr_set.o
new file mode 100644
index 0000000..6763097
--- /dev/null
+++ b/objects/lib_slkatr_set.o
Binary files differ
diff --git a/objects/lib_slkatrof.o b/objects/lib_slkatrof.o
new file mode 100644
index 0000000..e363960
--- /dev/null
+++ b/objects/lib_slkatrof.o
Binary files differ
diff --git a/objects/lib_slkatron.o b/objects/lib_slkatron.o
new file mode 100644
index 0000000..c474907
--- /dev/null
+++ b/objects/lib_slkatron.o
Binary files differ
diff --git a/objects/lib_slkatrset.o b/objects/lib_slkatrset.o
new file mode 100644
index 0000000..a85c9b3
--- /dev/null
+++ b/objects/lib_slkatrset.o
Binary files differ
diff --git a/objects/lib_slkattr.o b/objects/lib_slkattr.o
new file mode 100644
index 0000000..670c6ff
--- /dev/null
+++ b/objects/lib_slkattr.o
Binary files differ
diff --git a/objects/lib_slkclear.o b/objects/lib_slkclear.o
new file mode 100644
index 0000000..7987b32
--- /dev/null
+++ b/objects/lib_slkclear.o
Binary files differ
diff --git a/objects/lib_slkcolor.o b/objects/lib_slkcolor.o
new file mode 100644
index 0000000..eebae6b
--- /dev/null
+++ b/objects/lib_slkcolor.o
Binary files differ
diff --git a/objects/lib_slkinit.o b/objects/lib_slkinit.o
new file mode 100644
index 0000000..36d2909
--- /dev/null
+++ b/objects/lib_slkinit.o
Binary files differ
diff --git a/objects/lib_slklab.o b/objects/lib_slklab.o
new file mode 100644
index 0000000..313022d
--- /dev/null
+++ b/objects/lib_slklab.o
Binary files differ
diff --git a/objects/lib_slkrefr.o b/objects/lib_slkrefr.o
new file mode 100644
index 0000000..e1ab4e0
--- /dev/null
+++ b/objects/lib_slkrefr.o
Binary files differ
diff --git a/objects/lib_slkset.o b/objects/lib_slkset.o
new file mode 100644
index 0000000..0b0b4fa
--- /dev/null
+++ b/objects/lib_slkset.o
Binary files differ
diff --git a/objects/lib_slktouch.o b/objects/lib_slktouch.o
new file mode 100644
index 0000000..0083b7f
--- /dev/null
+++ b/objects/lib_slktouch.o
Binary files differ
diff --git a/objects/lib_termcap.o b/objects/lib_termcap.o
new file mode 100644
index 0000000..90e07da
--- /dev/null
+++ b/objects/lib_termcap.o
Binary files differ
diff --git a/objects/lib_termname.o b/objects/lib_termname.o
new file mode 100644
index 0000000..6419e0b
--- /dev/null
+++ b/objects/lib_termname.o
Binary files differ
diff --git a/objects/lib_tgoto.o b/objects/lib_tgoto.o
new file mode 100644
index 0000000..4af9b25
--- /dev/null
+++ b/objects/lib_tgoto.o
Binary files differ
diff --git a/objects/lib_ti.o b/objects/lib_ti.o
new file mode 100644
index 0000000..e1ffd3e
--- /dev/null
+++ b/objects/lib_ti.o
Binary files differ
diff --git a/objects/lib_touch.o b/objects/lib_touch.o
new file mode 100644
index 0000000..aa91445
--- /dev/null
+++ b/objects/lib_touch.o
Binary files differ
diff --git a/objects/lib_tparm.o b/objects/lib_tparm.o
new file mode 100644
index 0000000..6025d7a
--- /dev/null
+++ b/objects/lib_tparm.o
Binary files differ
diff --git a/objects/lib_tputs.o b/objects/lib_tputs.o
new file mode 100644
index 0000000..ec8b3e9
--- /dev/null
+++ b/objects/lib_tputs.o
Binary files differ
diff --git a/objects/lib_trace.o b/objects/lib_trace.o
new file mode 100644
index 0000000..f70cde5
--- /dev/null
+++ b/objects/lib_trace.o
Binary files differ
diff --git a/objects/lib_tstp.o b/objects/lib_tstp.o
new file mode 100644
index 0000000..184c5cc
--- /dev/null
+++ b/objects/lib_tstp.o
Binary files differ
diff --git a/objects/lib_ttyflags.o b/objects/lib_ttyflags.o
new file mode 100644
index 0000000..02b7b24
--- /dev/null
+++ b/objects/lib_ttyflags.o
Binary files differ
diff --git a/objects/lib_twait.o b/objects/lib_twait.o
new file mode 100644
index 0000000..2ec4f6d
--- /dev/null
+++ b/objects/lib_twait.o
Binary files differ
diff --git a/objects/lib_unget_wch.o b/objects/lib_unget_wch.o
new file mode 100644
index 0000000..abbb299
--- /dev/null
+++ b/objects/lib_unget_wch.o
Binary files differ
diff --git a/objects/lib_ungetch.o b/objects/lib_ungetch.o
new file mode 100644
index 0000000..88655ce
--- /dev/null
+++ b/objects/lib_ungetch.o
Binary files differ
diff --git a/objects/lib_vid_attr.o b/objects/lib_vid_attr.o
new file mode 100644
index 0000000..d02076c
--- /dev/null
+++ b/objects/lib_vid_attr.o
Binary files differ
diff --git a/objects/lib_vidattr.o b/objects/lib_vidattr.o
new file mode 100644
index 0000000..8952130
--- /dev/null
+++ b/objects/lib_vidattr.o
Binary files differ
diff --git a/objects/lib_vline.o b/objects/lib_vline.o
new file mode 100644
index 0000000..4499bfe
--- /dev/null
+++ b/objects/lib_vline.o
Binary files differ
diff --git a/objects/lib_vline_set.o b/objects/lib_vline_set.o
new file mode 100644
index 0000000..aa2ecad
--- /dev/null
+++ b/objects/lib_vline_set.o
Binary files differ
diff --git a/objects/lib_wacs.o b/objects/lib_wacs.o
new file mode 100644
index 0000000..1a26a0f
--- /dev/null
+++ b/objects/lib_wacs.o
Binary files differ
diff --git a/objects/lib_wattroff.o b/objects/lib_wattroff.o
new file mode 100644
index 0000000..662efc9
--- /dev/null
+++ b/objects/lib_wattroff.o
Binary files differ
diff --git a/objects/lib_wattron.o b/objects/lib_wattron.o
new file mode 100644
index 0000000..d096f7a
--- /dev/null
+++ b/objects/lib_wattron.o
Binary files differ
diff --git a/objects/lib_winch.o b/objects/lib_winch.o
new file mode 100644
index 0000000..9b8cca6
--- /dev/null
+++ b/objects/lib_winch.o
Binary files differ
diff --git a/objects/lib_window.o b/objects/lib_window.o
new file mode 100644
index 0000000..319e371
--- /dev/null
+++ b/objects/lib_window.o
Binary files differ
diff --git a/objects/lib_wunctrl.o b/objects/lib_wunctrl.o
new file mode 100644
index 0000000..066d91c
--- /dev/null
+++ b/objects/lib_wunctrl.o
Binary files differ
diff --git a/objects/list_keys.o b/objects/list_keys.o
new file mode 100644
index 0000000..d7955ea
--- /dev/null
+++ b/objects/list_keys.o
Binary files differ
diff --git a/objects/lrtest.o b/objects/lrtest.o
new file mode 100644
index 0000000..785b7b0
--- /dev/null
+++ b/objects/lrtest.o
Binary files differ
diff --git a/objects/m_attribs.o b/objects/m_attribs.o
new file mode 100644
index 0000000..5930d1d
--- /dev/null
+++ b/objects/m_attribs.o
Binary files differ
diff --git a/objects/m_cursor.o b/objects/m_cursor.o
new file mode 100644
index 0000000..1d54557
--- /dev/null
+++ b/objects/m_cursor.o
Binary files differ
diff --git a/objects/m_driver.o b/objects/m_driver.o
new file mode 100644
index 0000000..97cfcf7
--- /dev/null
+++ b/objects/m_driver.o
Binary files differ
diff --git a/objects/m_format.o b/objects/m_format.o
new file mode 100644
index 0000000..6beb403
--- /dev/null
+++ b/objects/m_format.o
Binary files differ
diff --git a/objects/m_global.o b/objects/m_global.o
new file mode 100644
index 0000000..0070724
--- /dev/null
+++ b/objects/m_global.o
Binary files differ
diff --git a/objects/m_hook.o b/objects/m_hook.o
new file mode 100644
index 0000000..ed3304d
--- /dev/null
+++ b/objects/m_hook.o
Binary files differ
diff --git a/objects/m_item_cur.o b/objects/m_item_cur.o
new file mode 100644
index 0000000..92905e3
--- /dev/null
+++ b/objects/m_item_cur.o
Binary files differ
diff --git a/objects/m_item_nam.o b/objects/m_item_nam.o
new file mode 100644
index 0000000..5e7e7ab
--- /dev/null
+++ b/objects/m_item_nam.o
Binary files differ
diff --git a/objects/m_item_new.o b/objects/m_item_new.o
new file mode 100644
index 0000000..e78e847
--- /dev/null
+++ b/objects/m_item_new.o
Binary files differ
diff --git a/objects/m_item_opt.o b/objects/m_item_opt.o
new file mode 100644
index 0000000..a5c334f
--- /dev/null
+++ b/objects/m_item_opt.o
Binary files differ
diff --git a/objects/m_item_top.o b/objects/m_item_top.o
new file mode 100644
index 0000000..c92c25b
--- /dev/null
+++ b/objects/m_item_top.o
Binary files differ
diff --git a/objects/m_item_use.o b/objects/m_item_use.o
new file mode 100644
index 0000000..4680dec
--- /dev/null
+++ b/objects/m_item_use.o
Binary files differ
diff --git a/objects/m_item_val.o b/objects/m_item_val.o
new file mode 100644
index 0000000..6fa115b
--- /dev/null
+++ b/objects/m_item_val.o
Binary files differ
diff --git a/objects/m_item_vis.o b/objects/m_item_vis.o
new file mode 100644
index 0000000..ad5c30c
--- /dev/null
+++ b/objects/m_item_vis.o
Binary files differ
diff --git a/objects/m_items.o b/objects/m_items.o
new file mode 100644
index 0000000..e700b4f
--- /dev/null
+++ b/objects/m_items.o
Binary files differ
diff --git a/objects/m_new.o b/objects/m_new.o
new file mode 100644
index 0000000..d1902d1
--- /dev/null
+++ b/objects/m_new.o
Binary files differ
diff --git a/objects/m_opts.o b/objects/m_opts.o
new file mode 100644
index 0000000..711c974
--- /dev/null
+++ b/objects/m_opts.o
Binary files differ
diff --git a/objects/m_pad.o b/objects/m_pad.o
new file mode 100644
index 0000000..b4c5c1f
--- /dev/null
+++ b/objects/m_pad.o
Binary files differ
diff --git a/objects/m_pattern.o b/objects/m_pattern.o
new file mode 100644
index 0000000..1dbac1c
--- /dev/null
+++ b/objects/m_pattern.o
Binary files differ
diff --git a/objects/m_post.o b/objects/m_post.o
new file mode 100644
index 0000000..522382a
--- /dev/null
+++ b/objects/m_post.o
Binary files differ
diff --git a/objects/m_req_name.o b/objects/m_req_name.o
new file mode 100644
index 0000000..2b77c55
--- /dev/null
+++ b/objects/m_req_name.o
Binary files differ
diff --git a/objects/m_scale.o b/objects/m_scale.o
new file mode 100644
index 0000000..d73a5ff
--- /dev/null
+++ b/objects/m_scale.o
Binary files differ
diff --git a/objects/m_spacing.o b/objects/m_spacing.o
new file mode 100644
index 0000000..48e3ad5
--- /dev/null
+++ b/objects/m_spacing.o
Binary files differ
diff --git a/objects/m_sub.o b/objects/m_sub.o
new file mode 100644
index 0000000..f849912
--- /dev/null
+++ b/objects/m_sub.o
Binary files differ
diff --git a/objects/m_userptr.o b/objects/m_userptr.o
new file mode 100644
index 0000000..3938faf
--- /dev/null
+++ b/objects/m_userptr.o
Binary files differ
diff --git a/objects/m_win.o b/objects/m_win.o
new file mode 100644
index 0000000..c480c48
--- /dev/null
+++ b/objects/m_win.o
Binary files differ
diff --git a/objects/move_field.o b/objects/move_field.o
new file mode 100644
index 0000000..7af529d
--- /dev/null
+++ b/objects/move_field.o
Binary files differ
diff --git a/objects/movewindow.o b/objects/movewindow.o
new file mode 100644
index 0000000..ec2da4a
--- /dev/null
+++ b/objects/movewindow.o
Binary files differ
diff --git a/objects/name_match.o b/objects/name_match.o
new file mode 100644
index 0000000..d1f44e4
--- /dev/null
+++ b/objects/name_match.o
Binary files differ
diff --git a/objects/names.o b/objects/names.o
new file mode 100644
index 0000000..86ac5d5
--- /dev/null
+++ b/objects/names.o
Binary files differ
diff --git a/objects/nc_panel.o b/objects/nc_panel.o
new file mode 100644
index 0000000..72a3828
--- /dev/null
+++ b/objects/nc_panel.o
Binary files differ
diff --git a/objects/ncurses.o b/objects/ncurses.o
new file mode 100644
index 0000000..8fcb454
--- /dev/null
+++ b/objects/ncurses.o
Binary files differ
diff --git a/objects/new_pair.o b/objects/new_pair.o
new file mode 100644
index 0000000..3e62ded
--- /dev/null
+++ b/objects/new_pair.o
Binary files differ
diff --git a/objects/newdemo.o b/objects/newdemo.o
new file mode 100644
index 0000000..d69beb5
--- /dev/null
+++ b/objects/newdemo.o
Binary files differ
diff --git a/objects/obsolete.o b/objects/obsolete.o
new file mode 100644
index 0000000..877458a
--- /dev/null
+++ b/objects/obsolete.o
Binary files differ
diff --git a/objects/p_above.o b/objects/p_above.o
new file mode 100644
index 0000000..b0bae39
--- /dev/null
+++ b/objects/p_above.o
Binary files differ
diff --git a/objects/p_below.o b/objects/p_below.o
new file mode 100644
index 0000000..15d7165
--- /dev/null
+++ b/objects/p_below.o
Binary files differ
diff --git a/objects/p_bottom.o b/objects/p_bottom.o
new file mode 100644
index 0000000..45a57b1
--- /dev/null
+++ b/objects/p_bottom.o
Binary files differ
diff --git a/objects/p_delete.o b/objects/p_delete.o
new file mode 100644
index 0000000..605f81c
--- /dev/null
+++ b/objects/p_delete.o
Binary files differ
diff --git a/objects/p_hidden.o b/objects/p_hidden.o
new file mode 100644
index 0000000..e30c2f8
--- /dev/null
+++ b/objects/p_hidden.o
Binary files differ
diff --git a/objects/p_hide.o b/objects/p_hide.o
new file mode 100644
index 0000000..dcc65ca
--- /dev/null
+++ b/objects/p_hide.o
Binary files differ
diff --git a/objects/p_move.o b/objects/p_move.o
new file mode 100644
index 0000000..8d139f2
--- /dev/null
+++ b/objects/p_move.o
Binary files differ
diff --git a/objects/p_new.o b/objects/p_new.o
new file mode 100644
index 0000000..631b457
--- /dev/null
+++ b/objects/p_new.o
Binary files differ
diff --git a/objects/p_replace.o b/objects/p_replace.o
new file mode 100644
index 0000000..9687291
--- /dev/null
+++ b/objects/p_replace.o
Binary files differ
diff --git a/objects/p_show.o b/objects/p_show.o
new file mode 100644
index 0000000..bb13dad
--- /dev/null
+++ b/objects/p_show.o
Binary files differ
diff --git a/objects/p_top.o b/objects/p_top.o
new file mode 100644
index 0000000..460d471
--- /dev/null
+++ b/objects/p_top.o
Binary files differ
diff --git a/objects/p_update.o b/objects/p_update.o
new file mode 100644
index 0000000..0250285
--- /dev/null
+++ b/objects/p_update.o
Binary files differ
diff --git a/objects/p_user.o b/objects/p_user.o
new file mode 100644
index 0000000..71306e2
--- /dev/null
+++ b/objects/p_user.o
Binary files differ
diff --git a/objects/p_win.o b/objects/p_win.o
new file mode 100644
index 0000000..3ed3738
--- /dev/null
+++ b/objects/p_win.o
Binary files differ
diff --git a/objects/padview.o b/objects/padview.o
new file mode 100644
index 0000000..6c1c3aa
--- /dev/null
+++ b/objects/padview.o
Binary files differ
diff --git a/objects/pair_content.o b/objects/pair_content.o
new file mode 100644
index 0000000..ca639ad
--- /dev/null
+++ b/objects/pair_content.o
Binary files differ
diff --git a/objects/panel.o b/objects/panel.o
new file mode 100644
index 0000000..8520b47
--- /dev/null
+++ b/objects/panel.o
Binary files differ
diff --git a/objects/parse_entry.o b/objects/parse_entry.o
new file mode 100644
index 0000000..61a104b
--- /dev/null
+++ b/objects/parse_entry.o
Binary files differ
diff --git a/objects/picsmap.o b/objects/picsmap.o
new file mode 100644
index 0000000..48c0295
--- /dev/null
+++ b/objects/picsmap.o
Binary files differ
diff --git a/objects/popup_msg.o b/objects/popup_msg.o
new file mode 100644
index 0000000..96de775
--- /dev/null
+++ b/objects/popup_msg.o
Binary files differ
diff --git a/objects/railroad.o b/objects/railroad.o
new file mode 100644
index 0000000..0813468
--- /dev/null
+++ b/objects/railroad.o
Binary files differ
diff --git a/objects/rain.o b/objects/rain.o
new file mode 100644
index 0000000..fd4dae2
--- /dev/null
+++ b/objects/rain.o
Binary files differ
diff --git a/objects/read_entry.o b/objects/read_entry.o
new file mode 100644
index 0000000..fd0e740
--- /dev/null
+++ b/objects/read_entry.o
Binary files differ
diff --git a/objects/read_termcap.o b/objects/read_termcap.o
new file mode 100644
index 0000000..c11ff03
--- /dev/null
+++ b/objects/read_termcap.o
Binary files differ
diff --git a/objects/redraw.o b/objects/redraw.o
new file mode 100644
index 0000000..aae0b09
--- /dev/null
+++ b/objects/redraw.o
Binary files differ
diff --git a/objects/reset_cmd.o b/objects/reset_cmd.o
new file mode 100644
index 0000000..3c97041
--- /dev/null
+++ b/objects/reset_cmd.o
Binary files differ
diff --git a/objects/resizeterm.o b/objects/resizeterm.o
new file mode 100644
index 0000000..00bf27b
--- /dev/null
+++ b/objects/resizeterm.o
Binary files differ
diff --git a/objects/safe_sprintf.o b/objects/safe_sprintf.o
new file mode 100644
index 0000000..c8637aa
--- /dev/null
+++ b/objects/safe_sprintf.o
Binary files differ
diff --git a/objects/savescreen.o b/objects/savescreen.o
new file mode 100644
index 0000000..e949924
--- /dev/null
+++ b/objects/savescreen.o
Binary files differ
diff --git a/objects/sp_tinfo.o b/objects/sp_tinfo.o
new file mode 100644
index 0000000..224c94a
--- /dev/null
+++ b/objects/sp_tinfo.o
Binary files differ
diff --git a/objects/strings.o b/objects/strings.o
new file mode 100644
index 0000000..960fe4b
--- /dev/null
+++ b/objects/strings.o
Binary files differ
diff --git a/objects/tabs.o b/objects/tabs.o
new file mode 100644
index 0000000..3859dc3
--- /dev/null
+++ b/objects/tabs.o
Binary files differ
diff --git a/objects/tclock.o b/objects/tclock.o
new file mode 100644
index 0000000..6879c60
--- /dev/null
+++ b/objects/tclock.o
Binary files differ
diff --git a/objects/test_add_wchstr.o b/objects/test_add_wchstr.o
new file mode 100644
index 0000000..61543db
--- /dev/null
+++ b/objects/test_add_wchstr.o
Binary files differ
diff --git a/objects/test_addchstr.o b/objects/test_addchstr.o
new file mode 100644
index 0000000..718a103
--- /dev/null
+++ b/objects/test_addchstr.o
Binary files differ
diff --git a/objects/test_addstr.o b/objects/test_addstr.o
new file mode 100644
index 0000000..91afde3
--- /dev/null
+++ b/objects/test_addstr.o
Binary files differ
diff --git a/objects/test_addwstr.o b/objects/test_addwstr.o
new file mode 100644
index 0000000..c471207
--- /dev/null
+++ b/objects/test_addwstr.o
Binary files differ
diff --git a/objects/test_arrays.o b/objects/test_arrays.o
new file mode 100644
index 0000000..d1a5856
--- /dev/null
+++ b/objects/test_arrays.o
Binary files differ
diff --git a/objects/test_delwin.o b/objects/test_delwin.o
new file mode 100644
index 0000000..9150fe0
--- /dev/null
+++ b/objects/test_delwin.o
Binary files differ
diff --git a/objects/test_endwin.o b/objects/test_endwin.o
new file mode 100644
index 0000000..0a3651d
--- /dev/null
+++ b/objects/test_endwin.o
Binary files differ
diff --git a/objects/test_get_wstr.o b/objects/test_get_wstr.o
new file mode 100644
index 0000000..d76affa
--- /dev/null
+++ b/objects/test_get_wstr.o
Binary files differ
diff --git a/objects/test_getstr.o b/objects/test_getstr.o
new file mode 100644
index 0000000..96c43cc
--- /dev/null
+++ b/objects/test_getstr.o
Binary files differ
diff --git a/objects/test_instr.o b/objects/test_instr.o
new file mode 100644
index 0000000..d627b02
--- /dev/null
+++ b/objects/test_instr.o
Binary files differ
diff --git a/objects/test_inwstr.o b/objects/test_inwstr.o
new file mode 100644
index 0000000..1643802
--- /dev/null
+++ b/objects/test_inwstr.o
Binary files differ
diff --git a/objects/test_mouse.o b/objects/test_mouse.o
new file mode 100644
index 0000000..f6288de
--- /dev/null
+++ b/objects/test_mouse.o
Binary files differ
diff --git a/objects/test_opaque.o b/objects/test_opaque.o
new file mode 100644
index 0000000..830bd6f
--- /dev/null
+++ b/objects/test_opaque.o
Binary files differ
diff --git a/objects/test_setupterm.o b/objects/test_setupterm.o
new file mode 100644
index 0000000..8f0ab33
--- /dev/null
+++ b/objects/test_setupterm.o
Binary files differ
diff --git a/objects/test_sgr.o b/objects/test_sgr.o
new file mode 100644
index 0000000..76867fc
--- /dev/null
+++ b/objects/test_sgr.o
Binary files differ
diff --git a/objects/test_termattrs.o b/objects/test_termattrs.o
new file mode 100644
index 0000000..1b6ebce
--- /dev/null
+++ b/objects/test_termattrs.o
Binary files differ
diff --git a/objects/test_tparm.o b/objects/test_tparm.o
new file mode 100644
index 0000000..319684e
--- /dev/null
+++ b/objects/test_tparm.o
Binary files differ
diff --git a/objects/test_unget_wch.o b/objects/test_unget_wch.o
new file mode 100644
index 0000000..dd47c3b
--- /dev/null
+++ b/objects/test_unget_wch.o
Binary files differ
diff --git a/objects/test_vid_puts.o b/objects/test_vid_puts.o
new file mode 100644
index 0000000..dd84c8a
--- /dev/null
+++ b/objects/test_vid_puts.o
Binary files differ
diff --git a/objects/test_vidputs.o b/objects/test_vidputs.o
new file mode 100644
index 0000000..8b2b812
--- /dev/null
+++ b/objects/test_vidputs.o
Binary files differ
diff --git a/objects/testaddch.o b/objects/testaddch.o
new file mode 100644
index 0000000..df2ff0d
--- /dev/null
+++ b/objects/testaddch.o
Binary files differ
diff --git a/objects/testcurs.o b/objects/testcurs.o
new file mode 100644
index 0000000..a88ef77
--- /dev/null
+++ b/objects/testcurs.o
Binary files differ
diff --git a/objects/testscanw.o b/objects/testscanw.o
new file mode 100644
index 0000000..63e3498
--- /dev/null
+++ b/objects/testscanw.o
Binary files differ
diff --git a/objects/tic.o b/objects/tic.o
new file mode 100644
index 0000000..c7dc9af
--- /dev/null
+++ b/objects/tic.o
Binary files differ
diff --git a/objects/toe.o b/objects/toe.o
new file mode 100644
index 0000000..315ac44
--- /dev/null
+++ b/objects/toe.o
Binary files differ
diff --git a/objects/tparm_type.o b/objects/tparm_type.o
new file mode 100644
index 0000000..a470279
--- /dev/null
+++ b/objects/tparm_type.o
Binary files differ
diff --git a/objects/tput.o b/objects/tput.o
new file mode 100644
index 0000000..c1138a0
--- /dev/null
+++ b/objects/tput.o
Binary files differ
diff --git a/objects/transform.o b/objects/transform.o
new file mode 100644
index 0000000..de6f794
--- /dev/null
+++ b/objects/transform.o
Binary files differ
diff --git a/objects/tries.o b/objects/tries.o
new file mode 100644
index 0000000..0eacb6c
--- /dev/null
+++ b/objects/tries.o
Binary files differ
diff --git a/objects/trim_sgr0.o b/objects/trim_sgr0.o
new file mode 100644
index 0000000..322f44d
--- /dev/null
+++ b/objects/trim_sgr0.o
Binary files differ
diff --git a/objects/tset.o b/objects/tset.o
new file mode 100644
index 0000000..e9c3e6d
--- /dev/null
+++ b/objects/tset.o
Binary files differ
diff --git a/objects/tty_settings.o b/objects/tty_settings.o
new file mode 100644
index 0000000..2010dbc
--- /dev/null
+++ b/objects/tty_settings.o
Binary files differ
diff --git a/objects/tty_update.o b/objects/tty_update.o
new file mode 100644
index 0000000..e292724
--- /dev/null
+++ b/objects/tty_update.o
Binary files differ
diff --git a/objects/unctrl.o b/objects/unctrl.o
new file mode 100644
index 0000000..7a571a7
--- /dev/null
+++ b/objects/unctrl.o
Binary files differ
diff --git a/objects/use_screen.o b/objects/use_screen.o
new file mode 100644
index 0000000..a03f394
--- /dev/null
+++ b/objects/use_screen.o
Binary files differ
diff --git a/objects/use_window.o b/objects/use_window.o
new file mode 100644
index 0000000..95db523
--- /dev/null
+++ b/objects/use_window.o
Binary files differ
diff --git a/objects/varargs.o b/objects/varargs.o
new file mode 100644
index 0000000..1d80509
--- /dev/null
+++ b/objects/varargs.o
Binary files differ
diff --git a/objects/version.o b/objects/version.o
new file mode 100644
index 0000000..8188b1b
--- /dev/null
+++ b/objects/version.o
Binary files differ
diff --git a/objects/view.o b/objects/view.o
new file mode 100644
index 0000000..94799b9
--- /dev/null
+++ b/objects/view.o
Binary files differ
diff --git a/objects/visbuf.o b/objects/visbuf.o
new file mode 100644
index 0000000..41c81fd
--- /dev/null
+++ b/objects/visbuf.o
Binary files differ
diff --git a/objects/vsscanf.o b/objects/vsscanf.o
new file mode 100644
index 0000000..0494f90
--- /dev/null
+++ b/objects/vsscanf.o
Binary files differ
diff --git a/objects/worm.o b/objects/worm.o
new file mode 100644
index 0000000..6c995fe
--- /dev/null
+++ b/objects/worm.o
Binary files differ
diff --git a/objects/wresize.o b/objects/wresize.o
new file mode 100644
index 0000000..0a4fc56
--- /dev/null
+++ b/objects/wresize.o
Binary files differ
diff --git a/objects/write_entry.o b/objects/write_entry.o
new file mode 100644
index 0000000..53500b2
--- /dev/null
+++ b/objects/write_entry.o
Binary files differ
diff --git a/objects/xmas.o b/objects/xmas.o
new file mode 100644
index 0000000..f4017ea
--- /dev/null
+++ b/objects/xmas.o
Binary files differ
diff --git a/panel/Makefile b/panel/Makefile
new file mode 100644
index 0000000..0309848
--- /dev/null
+++ b/panel/Makefile
@@ -0,0 +1,583 @@
+# $Id: Makefile.in,v 1.76 2021/07/03 15:45:33 tom Exp $
+##############################################################################
+# Copyright 2020,2021 Thomas E. Dickey                                       #
+# Copyright 1998-2015,2018 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for panels source code.
+#
+# This makes the following:
+#	libraries (normal/debug/profile/shared)
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+x		= 
+o		= .o
+
+MODEL		= normal
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /usr
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+datarootdir	= ${prefix}/share
+datadir		= ${datarootdir}
+includesubdir	= 
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncursesw
+
+LIBTOOL		= 
+LIBTOOL_OPTS	=  
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+LIBTOOL_INSTALL	= 
+LIBTOOL_UNINSTALL = 
+LT_UNDEF	= 
+
+INSTALL		= /usr/bin/install -c
+INSTALL_LIB	= /usr/bin/install -c -m 644 -p
+INSTALL_PROG	= ${INSTALL} -s
+INSTALL_DATA	= ${INSTALL} -m 644
+
+AR		= ar
+ARFLAGS		= -curvU
+AWK		= mawk
+LD		= ld
+LN_S		= ln -s -f
+
+CTAGS		= ctags
+ETAGS		= etags
+
+CC		= gcc
+CPP		= gcc -E
+CFLAGS		= -O2 --param max-inline-insns-single=1200 
+
+INCDIR		= $(top_srcdir)/include
+BASE_DIR 	= $(top_srcdir)/ncurses
+CPPFLAGS	= -I$(BASE_DIR) -DHAVE_CONFIG_H -DBUILDING_PANEL -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS) -DNCURSES_STATIC
+CFLAGS_DEBUG	= $(CCFLAGS) -DNCURSES_STATIC -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -DNCURSES_STATIC -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+LINK		= $(LIBTOOL_LINK)
+LDFLAGS		=   
+
+SHLIB_DIRS	= -L../lib
+SHLIB_LIST	= $(SHLIB_DIRS) -lncursesw 
+
+RPATH_LIST	= ${libdir}
+RESULTING_SYMS	= 
+VERSIONED_SYMS	= 
+MK_SHARED_LIB	= ${CC} ${LDFLAGS} ${CFLAGS} -shared -Wl,-soname,`basename $@ .${REL_VERSION}`.${ABI_VERSION},-stats,-lc -o $@
+
+NCURSES_MAJOR	= 6
+NCURSES_MINOR	= 5
+REL_VERSION	= 6.5
+ABI_VERSION	= 6
+
+RANLIB		= ranlib
+
+LIBRARIES	=  ../lib/libpanelw.a ../lib/libpanelw_g.a
+
+LINT		= 
+LINT_OPTS	= 
+LINT_LIBS	= -lpanel -lncurses 
+
+AUTO_SRC	= \
+		../include/panel.h
+
+################################################################################
+
+.PHONY :	all
+.PHONY :	clean
+.PHONY :	distclean
+.PHONY :	install
+.PHONY :	install.libs
+.PHONY :	libs
+.PHONY :	mostlyclean
+.PHONY :	realclean
+.PHONY :	sources
+.PHONY :	uninstall
+.PHONY :	uninstall.libs
+
+all \
+libs \
+install ::	$(AUTO_SRC) $(LIBRARIES)
+
+sources:	$(AUTO_SRC)
+
+$(DESTDIR)$(bindir) \
+$(DESTDIR)$(libdir) :
+	mkdir -p $@
+
+# make a copy to simplify include-paths while still keeping panel's include
+# file in this directory.
+../include/panel.h : $(srcdir)/panel.h
+	-rm -f $@
+	cp $(srcdir)/panel.h $@
+
+HEADER_DEPS = \
+	../include/curses.h \
+	../include/ncurses_cfg.h \
+	../include/ncurses_def.h \
+	../include/ncurses_dll.h \
+	../include/term.h \
+	../include/unctrl.h \
+	$(BASE_DIR)/curses.priv.h \
+	$(BASE_DIR)/new_pair.h \
+	$(INCDIR)/nc_alloc.h \
+	$(INCDIR)/nc_panel.h \
+	$(INCDIR)/nc_string.h \
+	$(INCDIR)/nc_termios.h \
+	$(INCDIR)/nc_tparm.h \
+	$(INCDIR)/term_entry.h \
+	$(srcdir)/panel.priv.h \
+	$(srcdir)/panel.h
+
+tags:
+	$(CTAGS) *.[ch]
+
+TAGS:
+	$(ETAGS) *.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-rm -f $(AUTO_SRC)
+	-rm -rf .libs *.dSYM
+
+distclean :: clean
+	-rm -f Makefile
+
+realclean :: distclean
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	mawk 'BEGIN { skip = 1; last=""; } /deprecated in ABI6/ { next; }{ sub("NCURSES([WT]+)?", "&6"); } { if ( last != "" && ( skip == 0 || $$0 !~ /}/ ) ) { print last; } skip = 0; last = $$0; } END { print last; }' < "" >$@
+
+distclean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    panelw
+#   subsets:    ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(srcdir)/panel.c \
+	$(srcdir)/p_above.c \
+	$(srcdir)/p_below.c \
+	$(srcdir)/p_bottom.c \
+	$(srcdir)/p_delete.c \
+	$(srcdir)/p_hide.c \
+	$(srcdir)/p_hidden.c \
+	$(srcdir)/p_move.c \
+	$(srcdir)/p_new.c \
+	$(srcdir)/p_replace.c \
+	$(srcdir)/p_show.c \
+	$(srcdir)/p_top.c \
+	$(srcdir)/p_update.c \
+	$(srcdir)/p_user.c \
+	$(srcdir)/p_win.c
+
+# Producing llib-lpanelw is time-consuming, so there's no direct-dependency for
+# it in the lintlib rule.  We'll only remove in the cleanest setup.
+
+PANELW_SRC = \
+	$(srcdir)/panel.c \
+	$(srcdir)/p_above.c \
+	$(srcdir)/p_below.c \
+	$(srcdir)/p_bottom.c \
+	$(srcdir)/p_delete.c \
+	$(srcdir)/p_hide.c \
+	$(srcdir)/p_hidden.c \
+	$(srcdir)/p_move.c \
+	$(srcdir)/p_new.c \
+	$(srcdir)/p_replace.c \
+	$(srcdir)/p_show.c \
+	$(srcdir)/p_top.c \
+	$(srcdir)/p_update.c \
+	$(srcdir)/p_user.c \
+	$(srcdir)/p_win.c
+
+clean ::
+	rm -f llib-lpanelw.*
+
+realclean ::
+	rm -f llib-lpanelw
+
+llib-lpanelw : $(PANELW_SRC)
+	cproto -a -l -DNCURSES_ENABLE_STDBOOL_H=0 -DLINT $(CPPFLAGS) $(PANELW_SRC) >$@
+
+lintlib ::
+	sh $(srcdir)/../misc/makellib panelw $(CPPFLAGS)
+
+lint ::
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(PANELW_SRC) $(LINT_LIBS)
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            panelw
+#  traces:          DEBUG
+#  MODEL:           NORMAL
+#  CXX_MODEL:       NORMAL
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           objects
+#  prefix:          lib
+#  suffix:          .a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./panel.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+NORMAL_OBJS = \
+	../objects/panel$o \
+	../objects/p_above$o \
+	../objects/p_below$o \
+	../objects/p_bottom$o \
+	../objects/p_delete$o \
+	../objects/p_hide$o \
+	../objects/p_hidden$o \
+	../objects/p_move$o \
+	../objects/p_new$o \
+	../objects/p_replace$o \
+	../objects/p_show$o \
+	../objects/p_top$o \
+	../objects/p_update$o \
+	../objects/p_user$o \
+	../objects/p_win$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./panel.priv.h
+
+../lib/libpanelw.a : $(NORMAL_OBJS)
+	@sleep 1
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.panelw :: $(DESTDIR)$(libdir) ../lib/libpanelw.a
+	@echo installing ../lib/libpanelw.a as $(DESTDIR)$(libdir)/libpanelw.a
+	$(INSTALL_DATA) ../lib/libpanelw.a $(DESTDIR)$(libdir)/libpanelw.a
+
+uninstall \
+uninstall.libs \
+uninstall.panelw ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libpanelw.a
+	-@rm -f $(DESTDIR)$(libdir)/libpanelw.a
+
+clean ::
+	-rm -f ../lib/libpanelw.a
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/panel$o :	$(srcdir)/panel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/panel.c -o ../objects/panel$o
+
+../objects/p_above$o :	$(srcdir)/p_above.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_above.c -o ../objects/p_above$o
+
+../objects/p_below$o :	$(srcdir)/p_below.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_below.c -o ../objects/p_below$o
+
+../objects/p_bottom$o :	$(srcdir)/p_bottom.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_bottom.c -o ../objects/p_bottom$o
+
+../objects/p_delete$o :	$(srcdir)/p_delete.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_delete.c -o ../objects/p_delete$o
+
+../objects/p_hide$o :	$(srcdir)/p_hide.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_hide.c -o ../objects/p_hide$o
+
+../objects/p_hidden$o :	$(srcdir)/p_hidden.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_hidden.c -o ../objects/p_hidden$o
+
+../objects/p_move$o :	$(srcdir)/p_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_move.c -o ../objects/p_move$o
+
+../objects/p_new$o :	$(srcdir)/p_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_new.c -o ../objects/p_new$o
+
+../objects/p_replace$o :	$(srcdir)/p_replace.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_replace.c -o ../objects/p_replace$o
+
+../objects/p_show$o :	$(srcdir)/p_show.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_show.c -o ../objects/p_show$o
+
+../objects/p_top$o :	$(srcdir)/p_top.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_top.c -o ../objects/p_top$o
+
+../objects/p_update$o :	$(srcdir)/p_update.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_update.c -o ../objects/p_update$o
+
+../objects/p_user$o :	$(srcdir)/p_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_user.c -o ../objects/p_user$o
+
+../objects/p_win$o :	$(srcdir)/p_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../panel/p_win.c -o ../objects/p_win$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            panelw
+#  traces:          DEBUG
+#  MODEL:           DEBUG
+#  CXX_MODEL:       DEBUG
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           obj_g
+#  prefix:          lib
+#  suffix:          _g.a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./panel.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+DEBUG_OBJS = \
+	../obj_g/panel$o \
+	../obj_g/p_above$o \
+	../obj_g/p_below$o \
+	../obj_g/p_bottom$o \
+	../obj_g/p_delete$o \
+	../obj_g/p_hide$o \
+	../obj_g/p_hidden$o \
+	../obj_g/p_move$o \
+	../obj_g/p_new$o \
+	../obj_g/p_replace$o \
+	../obj_g/p_show$o \
+	../obj_g/p_top$o \
+	../obj_g/p_update$o \
+	../obj_g/p_user$o \
+	../obj_g/p_win$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./panel.priv.h
+
+../lib/libpanelw_g.a : $(DEBUG_OBJS)
+	@sleep 1
+	$(AR) $(ARFLAGS) $@ $?
+	$(RANLIB) $@
+
+install \
+install.libs \
+install.panelw :: $(DESTDIR)$(libdir) ../lib/libpanelw_g.a
+	@echo installing ../lib/libpanelw_g.a as $(DESTDIR)$(libdir)/libpanelw_g.a
+	$(INSTALL_DATA) ../lib/libpanelw_g.a $(DESTDIR)$(libdir)/libpanelw_g.a
+
+uninstall \
+uninstall.libs \
+uninstall.panelw ::
+	@echo uninstalling $(DESTDIR)$(libdir)/libpanelw_g.a
+	-@rm -f $(DESTDIR)$(libdir)/libpanelw_g.a
+
+clean ::
+	-rm -f ../lib/libpanelw_g.a
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/panel$o :	$(srcdir)/panel.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/panel.c -o ../obj_g/panel$o
+
+../obj_g/p_above$o :	$(srcdir)/p_above.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_above.c -o ../obj_g/p_above$o
+
+../obj_g/p_below$o :	$(srcdir)/p_below.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_below.c -o ../obj_g/p_below$o
+
+../obj_g/p_bottom$o :	$(srcdir)/p_bottom.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_bottom.c -o ../obj_g/p_bottom$o
+
+../obj_g/p_delete$o :	$(srcdir)/p_delete.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_delete.c -o ../obj_g/p_delete$o
+
+../obj_g/p_hide$o :	$(srcdir)/p_hide.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_hide.c -o ../obj_g/p_hide$o
+
+../obj_g/p_hidden$o :	$(srcdir)/p_hidden.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_hidden.c -o ../obj_g/p_hidden$o
+
+../obj_g/p_move$o :	$(srcdir)/p_move.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_move.c -o ../obj_g/p_move$o
+
+../obj_g/p_new$o :	$(srcdir)/p_new.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_new.c -o ../obj_g/p_new$o
+
+../obj_g/p_replace$o :	$(srcdir)/p_replace.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_replace.c -o ../obj_g/p_replace$o
+
+../obj_g/p_show$o :	$(srcdir)/p_show.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_show.c -o ../obj_g/p_show$o
+
+../obj_g/p_top$o :	$(srcdir)/p_top.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_top.c -o ../obj_g/p_top$o
+
+../obj_g/p_update$o :	$(srcdir)/p_update.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_update.c -o ../obj_g/p_update$o
+
+../obj_g/p_user$o :	$(srcdir)/p_user.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_user.c -o ../obj_g/p_user$o
+
+../obj_g/p_win$o :	$(srcdir)/p_win.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../panel/p_win.c -o ../obj_g/p_win$o
+
+
+# generated by mk-hdr.awk
+#  subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  compat:     yes
+
+${INCLUDEDIR} :
+	mkdir -p $@
+
+install \
+install.libs \
+install.includes :: ${AUTO_SRC} ${INCLUDEDIR} \
+		$(srcdir)/panel.h
+	@ (cd ${INCLUDEDIR} && rm -f panel.h) ; ../headers.sh ${INSTALL_DATA} ${INCLUDEDIR} ${srcdir} $(srcdir)/panel.h
+
+uninstall \
+uninstall.libs \
+uninstall.includes ::
+	-@ (cd ${INCLUDEDIR} && rm -f panel.h)
+
+.PHONY :	depend
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/progs/Makefile b/progs/Makefile
new file mode 100644
index 0000000..978cfde
--- /dev/null
+++ b/progs/Makefile
@@ -0,0 +1,703 @@
+# $Id: Makefile.in,v 1.115 2024/04/08 18:33:54 tom Exp $
+##############################################################################
+# Copyright 2020-2021,2024 Thomas E. Dickey                                  #
+# Copyright 1998-2016,2018 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for ncurses source code.
+#
+# This makes the ncurses utility programs.
+#
+# The variable 'srcdir' refers to the source-distribution, and can be set with
+# the configure script by "--srcdir=DIR".
+#
+# The rules are organized to produce the libraries for the configured models,
+# and the programs with the configured default model.
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+THIS		= Makefile
+
+TOP_MFLAGS	=  DESTDIR="$(DESTDIR)" RPATH_LIST="$(RPATH_LIST)"
+
+
+x		= 
+o		= .o
+
+MODEL		= ../objects
+DESTDIR		= 
+top_srcdir	= ..
+srcdir		= .
+prefix		= /usr
+exec_prefix	= ${prefix}
+bindir		= ${exec_prefix}/bin
+libdir		= ${exec_prefix}/lib
+includedir	= ${prefix}/include
+datarootdir	= ${prefix}/share
+datadir		= ${datarootdir}
+includesubdir	= 
+
+INCLUDEDIR	= $(DESTDIR)$(includedir)$(includesubdir)
+
+PACKAGE		= ncursesw
+
+LIBTOOL		= 
+LIBTOOL_OPTS	= 
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+LIBTOOL_INSTALL	= 
+LIBTOOL_UNINSTALL = 
+
+INSTALL		= /usr/bin/install -c
+INSTALL_PROG	= ${INSTALL} -s
+transform	= s,x,x,
+
+AWK		= mawk
+LN_S		= ln -s -f
+
+CTAGS		= ctags
+ETAGS		= etags
+
+CC		= gcc
+CPP		= gcc -E
+CFLAGS		= -O2 --param max-inline-insns-single=1200 
+
+INCDIR		= $(top_srcdir)/include
+NCUDIR		= $(top_srcdir)/ncurses
+CPPFLAGS	= -DHAVE_CONFIG_H -I../progs -I../ncurses -I$(top_srcdir)/ncurses -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS) -DNCURSES_STATIC
+CFLAGS_DEBUG	= $(CCFLAGS) -DNCURSES_STATIC -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -DNCURSES_STATIC -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+REL_VERSION	= 6.5
+ABI_VERSION	= 6
+LOCAL_LIBDIR	= /home/micky387/Omni/external/libncurses/lib
+
+LD		= ld
+LINK		=  $(LIBTOOL_LINK)
+LDFLAGS		=  
+RPATH_LIST	= ${libdir}
+
+LDFLAGS_LIBTOOL	= $(LDFLAGS) $(CFLAGS_LIBTOOL)
+LDFLAGS_NORMAL	= $(LDFLAGS) $(CFLAGS_NORMAL)
+LDFLAGS_DEBUG	= $(LDFLAGS) $(CFLAGS_DEBUG)
+LDFLAGS_PROFILE	= $(LDFLAGS) $(CFLAGS_PROFILE)
+LDFLAGS_SHARED	= $(LDFLAGS) $(CFLAGS_SHARED) 
+
+LDFLAGS_DEFAULT	= $(LDFLAGS_NORMAL)
+
+LIBS_TIC	= -L../lib  -lncursesw -lncursesw   
+LDFLAGS_TIC	= -L../lib $(LDFLAGS_NORMAL) $(LIBS_TIC)
+
+LIBS_TINFO	=  -lncursesw   
+LDFLAGS_TINFO	= -L../lib $(LDFLAGS_NORMAL) $(LIBS_TINFO)
+
+LINT		= 
+LINT_OPTS	= 
+LINT_LIBS	= -lncurses 
+
+AUTO_SRC = \
+	termsort.h \
+	transform.h
+
+# tic relies on direct access to the terminfo database
+GET_PROGS = infocmp$x clear$x tabs$x tput$x tset$x toe$x
+PUT_PROGS =  tic$x
+PROGS = $(PUT_PROGS) $(GET_PROGS)
+
+# Default library, for linking applications
+DEPS_CURSES = ../lib/libncursesw.a
+
+HEADER_DEPS	= \
+	$(INCDIR)/nc_access.h \
+	$(INCDIR)/nc_alloc.h \
+	$(INCDIR)/nc_panel.h \
+	$(INCDIR)/nc_string.h \
+	$(INCDIR)/nc_termios.h \
+	$(INCDIR)/nc_tparm.h \
+	$(INCDIR)/term_entry.h \
+	$(INCDIR)/tic.h \
+	$(NCUDIR)/curses.priv.h \
+	$(NCUDIR)/new_pair.h \
+	$(NCUDIR)/term.priv.h \
+	$(srcdir)/progs.priv.h \
+	../include/curses.h \
+	../include/ncurses_cfg.h \
+	../include/ncurses_def.h \
+	../include/ncurses_dll.h \
+	../include/term.h \
+	../include/unctrl.h
+
+################################################################################
+
+.PHONY :	all
+.PHONY :	check
+.PHONY :	clean
+.PHONY :	distclean
+.PHONY :	install
+.PHONY :	install.libs
+.PHONY :	install.progs
+.PHONY :	libs
+.PHONY :	lint
+.PHONY :	mostlyclean
+.PHONY :	realclean
+.PHONY :	sources
+.PHONY :	uninstall
+.PHONY :	uninstall.libs
+.PHONY :	uninstall.progs
+
+all:		$(AUTO_SRC) $(PROGS)
+
+sources:	$(AUTO_SRC)
+
+install: 	$(AUTO_SRC) install.progs
+uninstall: uninstall.progs
+
+# this line simplifies the configure-script
+libs \
+install.libs \
+uninstall.libs:
+
+TRANSFORM = sed 's/$x$$//'|sed '$(transform)'|sed 's/$$/$x/'
+
+# transformed names for installing files
+actual_captoinfo = `echo captoinfo$x| $(TRANSFORM)`
+actual_clear     = `echo clear$x|     $(TRANSFORM)`
+actual_infocmp   = `echo infocmp$x|   $(TRANSFORM)`
+actual_infotocap = `echo infotocap$x| $(TRANSFORM)`
+actual_init      = `echo init$x|      $(TRANSFORM)`
+actual_reset     = `echo reset$x|     $(TRANSFORM)`
+actual_tabs      = `echo tabs$x|      $(TRANSFORM)`
+actual_tic       = `echo tic$x|       $(TRANSFORM)`
+actual_toe       = `echo toe$x|       $(TRANSFORM)`
+actual_tput      = `echo tput$x|      $(TRANSFORM)`
+actual_tset      = `echo tset$x|      $(TRANSFORM)`
+
+# transformed names for comparing at runtime
+define_captoinfo = `echo captoinfo|   $(TRANSFORM)`
+define_clear     = `echo clear|       $(TRANSFORM)`
+define_infotocap = `echo infotocap|   $(TRANSFORM)`
+define_init      = `echo init|        $(TRANSFORM)`
+define_reset     = `echo reset|       $(TRANSFORM)`
+
+transform.h :
+	echo "#ifndef __TRANSFORM_H"					>$@
+	echo "#define __TRANSFORM_H 1"					>>$@
+	echo "#include <progs.priv.h>"					>>$@
+	echo "extern bool same_program(const char *, const char *);"	>>$@
+	-$(SHELL) -c 'if test -n "$x" ; then echo "#define SUFFIX_IGNORED \"$x\"">>$@; fi'
+	echo "#define PROG_CAPTOINFO \"$(define_captoinfo)\""		>>$@
+	echo "#define PROG_INFOTOCAP \"$(define_infotocap)\""		>>$@
+	echo "#define PROG_CLEAR     \"$(define_clear)\""		>>$@
+	echo "#define PROG_RESET     \"$(define_reset)\""		>>$@
+	echo "#define PROG_INIT      \"$(define_init)\""		>>$@
+	echo "#endif /* __TRANSFORM_H */"				>>$@
+
+install.progs: $(AUTO_SRC) $(PROGS) $(DESTDIR)$(bindir)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) tic$x     $(DESTDIR)$(bindir)/$(actual_tic)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) toe$x     $(DESTDIR)$(bindir)/$(actual_toe)
+	@echo "linking $(actual_infotocap) to $(actual_tic)"
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
+	( cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_infotocap) )
+	@echo "linking $(actual_captoinfo) to $(actual_tic)"
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
+	( cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tic) $(actual_captoinfo) )
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) infocmp$x $(DESTDIR)$(bindir)/$(actual_infocmp)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) clear$x   $(DESTDIR)$(bindir)/$(actual_clear)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) tabs$x    $(DESTDIR)$(bindir)/$(actual_tabs)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) tput$x    $(DESTDIR)$(bindir)/$(actual_tput)
+	$(LIBTOOL_INSTALL) $(INSTALL_PROG) tset$x    $(DESTDIR)$(bindir)/$(actual_tset)
+	@echo "linking $(actual_reset) to $(actual_tset)"
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
+	( cd $(DESTDIR)$(bindir) && $(LN_S) $(actual_tset) $(actual_reset) )
+
+uninstall.progs:
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tic)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_toe)
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_captoinfo)
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_infotocap)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_infocmp)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_clear)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tabs)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tput)
+	-@$(LIBTOOL_CLEAN) rm -f $(DESTDIR)$(bindir)/$(actual_tset)
+	-@rm -f $(DESTDIR)$(bindir)/$(actual_reset)
+
+$(DESTDIR)$(bindir) :
+	mkdir -p $@
+
+#
+# Utilities normally built by make all start here
+#
+
+DEPS_TIC = \
+	$(MODEL)/tic$o \
+	$(MODEL)/dump_entry$o \
+	$(MODEL)/tparm_type$o \
+	$(MODEL)/transform$o
+
+tic$x: $(DEPS_TIC) $(DEPS_CURSES) transform.h
+	 $(LINK) $(DEPS_TIC) $(LDFLAGS_TIC) -o $@
+
+DEPS_TOE = \
+	$(MODEL)/toe$o
+
+toe$x: $(DEPS_TOE) $(DEPS_CURSES)
+	 $(LINK) $(DEPS_TOE) $(LDFLAGS_TIC) -o $@
+
+DEPS_CLEAR = \
+	$(MODEL)/clear$o \
+	$(MODEL)/clear_cmd$o \
+	$(MODEL)/tty_settings$o
+
+clear$x: $(DEPS_CLEAR) $(DEPS_CURSES)
+	 $(LINK) $(DEPS_CLEAR) $(LDFLAGS_TINFO) -o $@
+
+DEPS_TABS = \
+	$(MODEL)/tabs$o \
+	$(MODEL)/tty_settings$o
+
+tabs$x: $(DEPS_TABS) $(DEPS_TABS)
+	 $(LINK) $(DEPS_TABS) $(LDFLAGS_TINFO) -o $@
+
+DEPS_TPUT = \
+	$(MODEL)/tput$o \
+	$(MODEL)/clear_cmd$o \
+	$(MODEL)/reset_cmd$o \
+	$(MODEL)/tparm_type$o \
+	$(MODEL)/transform$o \
+	$(MODEL)/tty_settings$o
+
+tput$x: $(DEPS_TPUT) $(DEPS_CURSES) transform.h
+	 $(LINK) $(DEPS_TPUT) $(LDFLAGS_TINFO) -o $@
+
+DEPS_INFOCMP = \
+	$(MODEL)/infocmp$o \
+	$(MODEL)/dump_entry$o
+
+infocmp$x: $(DEPS_INFOCMP) $(DEPS_CURSES)
+	 $(LINK) $(DEPS_INFOCMP) $(LDFLAGS_TIC) -o $@
+
+DEPS_TSET = \
+	$(MODEL)/tset$o \
+	$(MODEL)/reset_cmd$o \
+	$(MODEL)/transform$o \
+	$(MODEL)/tty_settings$o
+
+tset$x: $(DEPS_TSET) $(DEPS_CURSES) transform.h
+	 $(LINK) $(DEPS_TSET) $(LDFLAGS_TINFO) -o $@
+
+termsort.h: $(srcdir)/MKtermsort.sh
+	$(SHELL) $(srcdir)/MKtermsort.sh $(AWK) $(srcdir)/../include/Caps >$@
+
+#
+# Utility productions start here
+#
+
+tags:
+	$(CTAGS) *.[ch]
+
+TAGS:
+	$(ETAGS) *.[ch]
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-$(SHELL) -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
+	-rm -f $(AUTO_SRC)
+	-rm -f $(PROGS)
+	-rm -rf .libs *.dSYM
+
+distclean :: clean
+	-rm -f Makefile
+
+realclean :: distclean
+
+# These rules are used to allow "make -n" to work on a clean directory-tree
+../include/hashsize.h \
+../include/parametrized.h \
+../include/term.h :
+	( cd ../include && $(MAKE) $(TOP_MFLAGS) )
+$(DEPS_CURSES) :
+	( cd ../ncurses && $(MAKE) $(TOP_MFLAGS) )
+
+lint:
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tic.c     $(srcdir)/dump_entry.c $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/toe.c                    $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/clear.c                          $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/infocmp.c $(srcdir)/dump_entry.c $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tabs.c                           $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tput.c                           $(LINT_LIBS)
+	$(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/tset.c                           $(LINT_LIBS)
+
+# Verify that each header-file can be compiled without including another.
+check:
+	@$(SHELL) -c "for header in *.h;\
+		do \
+			echo \"** testing \$${header}\" ; \
+			echo \"#include <\$${header}>\" >headers.c; \
+			echo \"int main(void) { return 0; }\" >>headers.c; \
+			$(CC) -c $(CFLAGS) $(CPPFLAGS) headers.c; \
+		done"
+	-@rm -f headers.*
+
+###############################################################################
+# The remainder of this file is automatically generated during configuration
+###############################################################################
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	mawk 'BEGIN { skip = 1; last=""; } /deprecated in ABI6/ { next; }{ sub("NCURSES([WT]+)?", "&6"); } { if ( last != "" && ( skip == 0 || $$0 !~ /}/ ) ) { print last; } skip = 0; last = $$0; } END { print last; }' < "" >$@
+
+distclean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    progsw
+#   subsets:    ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(srcdir)/clear.c \
+	$(srcdir)/tic.c \
+	$(srcdir)/toe.c \
+	$(srcdir)/clear_cmd.c \
+	$(srcdir)/dump_entry.c \
+	$(srcdir)/infocmp.c \
+	$(srcdir)/reset_cmd.c \
+	$(srcdir)/tabs.c \
+	$(srcdir)/tparm_type.c \
+	$(srcdir)/tput.c \
+	$(srcdir)/tset.c \
+	$(srcdir)/transform.c \
+	$(srcdir)/tty_settings.c
+
+lintlib :
+	@echo no action needed
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            w
+#  traces:          DEBUG
+#  MODEL:           NORMAL
+#  CXX_MODEL:       NORMAL
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           objects
+#  prefix:          lib
+#  suffix:          .a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./progs.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+NORMAL_OBJS = \
+	../objects/clear$o \
+	../objects/tic$o \
+	../objects/toe$o \
+	../objects/clear_cmd$o \
+	../objects/dump_entry$o \
+	../objects/infocmp$o \
+	../objects/reset_cmd$o \
+	../objects/tabs$o \
+	../objects/tparm_type$o \
+	../objects/tput$o \
+	../objects/tset$o \
+	../objects/transform$o \
+	../objects/tty_settings$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./progs.priv.h
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+clean ::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/clear$o :	$(srcdir)/clear.c \
+			$(HEADER_DEPS) \
+			tty_settings.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/clear.c -o ../objects/clear$o
+
+../objects/tic$o :	$(srcdir)/tic.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			$(srcdir)/dump_entry.h \
+			$(srcdir)/tparm_type.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tic.c -o ../objects/tic$o
+
+../objects/toe$o :	$(srcdir)/toe.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/toe.c -o ../objects/toe$o
+
+../objects/clear_cmd$o :	$(srcdir)/clear_cmd.c \
+			$(HEADER_DEPS) \
+			clear_cmd.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/clear_cmd.c -o ../objects/clear_cmd$o
+
+../objects/dump_entry$o :	$(srcdir)/dump_entry.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/dump_entry.h \
+			../include/parametrized.h \
+			$(INCDIR)/capdefaults.c \
+			termsort.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/dump_entry.c -o ../objects/dump_entry$o
+
+../objects/infocmp$o :	$(srcdir)/infocmp.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/dump_entry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/infocmp.c -o ../objects/infocmp$o
+
+../objects/reset_cmd$o :	$(srcdir)/reset_cmd.c \
+			$(HEADER_DEPS) \
+			reset_cmd.h \
+			tty_settings.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/reset_cmd.c -o ../objects/reset_cmd$o
+
+../objects/tabs$o :	$(srcdir)/tabs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tabs.c -o ../objects/tabs$o
+
+../objects/tparm_type$o :	$(srcdir)/tparm_type.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/tparm_type.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tparm_type.c -o ../objects/tparm_type$o
+
+../objects/tput$o :	$(srcdir)/tput.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			$(srcdir)/tparm_type.h \
+			reset_cmd.h \
+			tty_settings.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tput.c -o ../objects/tput$o
+
+../objects/tset$o :	$(srcdir)/tset.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			../include/termcap.h \
+			reset_cmd.h \
+			tty_settings.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tset.c -o ../objects/tset$o
+
+../objects/transform$o :	$(srcdir)/transform.c \
+			$(HEADER_DEPS) \
+			transform.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/transform.c -o ../objects/transform$o
+
+../objects/tty_settings$o :	$(srcdir)/tty_settings.c \
+			$(HEADER_DEPS) \
+			tty_settings.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../progs/tty_settings.c -o ../objects/tty_settings$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            w
+#  traces:          DEBUG
+#  MODEL:           DEBUG
+#  CXX_MODEL:       DEBUG
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           obj_g
+#  prefix:          lib
+#  suffix:          _g.a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./progs.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+DEBUG_OBJS = \
+	../obj_g/clear$o \
+	../obj_g/tic$o \
+	../obj_g/toe$o \
+	../obj_g/clear_cmd$o \
+	../obj_g/dump_entry$o \
+	../obj_g/infocmp$o \
+	../obj_g/reset_cmd$o \
+	../obj_g/tabs$o \
+	../obj_g/tparm_type$o \
+	../obj_g/tput$o \
+	../obj_g/tset$o \
+	../obj_g/transform$o \
+	../obj_g/tty_settings$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./progs.priv.h
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+clean ::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/clear$o :	$(srcdir)/clear.c \
+			$(HEADER_DEPS) \
+			tty_settings.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/clear.c -o ../obj_g/clear$o
+
+../obj_g/tic$o :	$(srcdir)/tic.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			$(srcdir)/dump_entry.h \
+			$(srcdir)/tparm_type.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tic.c -o ../obj_g/tic$o
+
+../obj_g/toe$o :	$(srcdir)/toe.c \
+			$(HEADER_DEPS) \
+			$(INCDIR)/hashed_db.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/toe.c -o ../obj_g/toe$o
+
+../obj_g/clear_cmd$o :	$(srcdir)/clear_cmd.c \
+			$(HEADER_DEPS) \
+			clear_cmd.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/clear_cmd.c -o ../obj_g/clear_cmd$o
+
+../obj_g/dump_entry$o :	$(srcdir)/dump_entry.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/dump_entry.h \
+			../include/parametrized.h \
+			$(INCDIR)/capdefaults.c \
+			termsort.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/dump_entry.c -o ../obj_g/dump_entry$o
+
+../obj_g/infocmp$o :	$(srcdir)/infocmp.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/dump_entry.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/infocmp.c -o ../obj_g/infocmp$o
+
+../obj_g/reset_cmd$o :	$(srcdir)/reset_cmd.c \
+			$(HEADER_DEPS) \
+			reset_cmd.h \
+			tty_settings.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/reset_cmd.c -o ../obj_g/reset_cmd$o
+
+../obj_g/tabs$o :	$(srcdir)/tabs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tabs.c -o ../obj_g/tabs$o
+
+../obj_g/tparm_type$o :	$(srcdir)/tparm_type.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/tparm_type.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tparm_type.c -o ../obj_g/tparm_type$o
+
+../obj_g/tput$o :	$(srcdir)/tput.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			$(srcdir)/tparm_type.h \
+			reset_cmd.h \
+			tty_settings.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tput.c -o ../obj_g/tput$o
+
+../obj_g/tset$o :	$(srcdir)/tset.c \
+			$(HEADER_DEPS) \
+			transform.h \
+			../include/termcap.h \
+			reset_cmd.h \
+			tty_settings.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tset.c -o ../obj_g/tset$o
+
+../obj_g/transform$o :	$(srcdir)/transform.c \
+			$(HEADER_DEPS) \
+			transform.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/transform.c -o ../obj_g/transform$o
+
+../obj_g/tty_settings$o :	$(srcdir)/tty_settings.c \
+			$(HEADER_DEPS) \
+			tty_settings.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../progs/tty_settings.c -o ../obj_g/tty_settings$o
+
+
+.PHONY :	depend
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/progs/clear b/progs/clear
new file mode 100755
index 0000000..a39a429
--- /dev/null
+++ b/progs/clear
Binary files differ
diff --git a/progs/infocmp b/progs/infocmp
new file mode 100755
index 0000000..c1b64c7
--- /dev/null
+++ b/progs/infocmp
Binary files differ
diff --git a/progs/tabs b/progs/tabs
new file mode 100755
index 0000000..afe3c04
--- /dev/null
+++ b/progs/tabs
Binary files differ
diff --git a/progs/termsort.h b/progs/termsort.h
new file mode 100644
index 0000000..c9277f2
--- /dev/null
+++ b/progs/termsort.h
@@ -0,0 +1,2042 @@
+/*
+ * termsort.h --- sort order arrays for use by infocmp.
+ *
+ * Note: this file is generated using MKtermsort.sh, do not edit by hand.
+ */
+#ifndef _TERMSORT_H
+#define _TERMSORT_H 1
+#include <curses.h>
+
+#ifndef DUMP_ENTRY_H
+typedef unsigned PredType;
+typedef unsigned PredIdx;
+#endif
+
+static const PredIdx bool_terminfo_sort[] = {
+	 40 ,	/*  OTMT  */
+	 41 ,	/*  OTNL  */
+	 37 ,	/*  OTbs  */
+	 39 ,	/*  OTnc  */
+	 38 ,	/*  OTns  */
+	 42 ,	/*  OTpt  */
+	 43 ,	/*  OTxr  */
+	 1 ,	/*  am  */
+	 28 ,	/*  bce  */
+	 0 ,	/*  bw  */
+	 27 ,	/*  ccc  */
+	 23 ,	/*  chts  */
+	 35 ,	/*  cpix  */
+	 31 ,	/*  crxm  */
+	 11 ,	/*  da  */
+	 32 ,	/*  daisy  */
+	 12 ,	/*  db  */
+	 5 ,	/*  eo  */
+	 16 ,	/*  eslok  */
+	 6 ,	/*  gn  */
+	 7 ,	/*  hc  */
+	 29 ,	/*  hls  */
+	 9 ,	/*  hs  */
+	 18 ,	/*  hz  */
+	 10 ,	/*  in  */
+	 8 ,	/*  km  */
+	 36 ,	/*  lpix  */
+	 22 ,	/*  mc5i  */
+	 13 ,	/*  mir  */
+	 14 ,	/*  msgr  */
+	 26 ,	/*  ndscr  */
+	 25 ,	/*  npc  */
+	 24 ,	/*  nrrmc  */
+	 21 ,	/*  nxon  */
+	 15 ,	/*  os  */
+	 34 ,	/*  sam  */
+	 19 ,	/*  ul  */
+	 4 ,	/*  xenl  */
+	 3 ,	/*  xhp  */
+	 30 ,	/*  xhpa  */
+	 20 ,	/*  xon  */
+	 2 ,	/*  xsb  */
+	 17 ,	/*  xt  */
+	 33 ,	/*  xvpa  */
+};
+
+static const PredIdx num_terminfo_sort[] = {
+	 36 ,	/*  OTdB  */
+	 34 ,	/*  OTdC  */
+	 35 ,	/*  OTdN  */
+	 37 ,	/*  OTdT  */
+	 38 ,	/*  OTkn  */
+	 33 ,	/*  OTug  */
+	 31 ,	/*  bitwin  */
+	 32 ,	/*  bitype  */
+	 30 ,	/*  btns  */
+	 16 ,	/*  bufsz  */
+	 13 ,	/*  colors  */
+	 0 ,	/*  cols  */
+	 28 ,	/*  cps  */
+	 1 ,	/*  it  */
+	 9 ,	/*  lh  */
+	 2 ,	/*  lines  */
+	 3 ,	/*  lm  */
+	 10 ,	/*  lw  */
+	 11 ,	/*  ma  */
+	 19 ,	/*  maddr  */
+	 21 ,	/*  mcs  */
+	 20 ,	/*  mjump  */
+	 22 ,	/*  mls  */
+	 15 ,	/*  ncv  */
+	 8 ,	/*  nlab  */
+	 23 ,	/*  npins  */
+	 24 ,	/*  orc  */
+	 26 ,	/*  orhi  */
+	 25 ,	/*  orl  */
+	 27 ,	/*  orvi  */
+	 14 ,	/*  pairs  */
+	 5 ,	/*  pb  */
+	 18 ,	/*  spinh  */
+	 17 ,	/*  spinv  */
+	 6 ,	/*  vt  */
+	 29 ,	/*  widcs  */
+	 12 ,	/*  wnum  */
+	 7 ,	/*  wsl  */
+	 4 ,	/*  xmc  */
+};
+
+static const PredIdx str_terminfo_sort[] = {
+	 402 ,	/*  OTG1  */
+	 400 ,	/*  OTG2  */
+	 401 ,	/*  OTG3  */
+	 403 ,	/*  OTG4  */
+	 410 ,	/*  OTGC  */
+	 407 ,	/*  OTGD  */
+	 408 ,	/*  OTGH  */
+	 405 ,	/*  OTGL  */
+	 404 ,	/*  OTGR  */
+	 406 ,	/*  OTGU  */
+	 409 ,	/*  OTGV  */
+	 397 ,	/*  OTbc  */
+	 394 ,	/*  OTi2  */
+	 398 ,	/*  OTko  */
+	 399 ,	/*  OTma  */
+	 396 ,	/*  OTnl  */
+	 395 ,	/*  OTrs  */
+	 146 ,	/*  acsc  */
+	 1 ,	/*  bel  */
+	 372 ,	/*  bicr  */
+	 371 ,	/*  binel  */
+	 370 ,	/*  birep  */
+	 26 ,	/*  blink  */
+	 27 ,	/*  bold  */
+	 413 ,	/*  box1  */
+	 0 ,	/*  cbt  */
+	 306 ,	/*  chr  */
+	 13 ,	/*  civis  */
+	 5 ,	/*  clear  */
+	 9 ,	/*  cmdch  */
+	 16 ,	/*  cnorm  */
+	 373 ,	/*  colornm  */
+	 304 ,	/*  cpi  */
+	 2 ,	/*  cr  */
+	 363 ,	/*  csin  */
+	 354 ,	/*  csnm  */
+	 3 ,	/*  csr  */
+	 111 ,	/*  cub  */
+	 14 ,	/*  cub1  */
+	 107 ,	/*  cud  */
+	 11 ,	/*  cud1  */
+	 112 ,	/*  cuf  */
+	 17 ,	/*  cuf1  */
+	 10 ,	/*  cup  */
+	 114 ,	/*  cuu  */
+	 19 ,	/*  cuu1  */
+	 307 ,	/*  cvr  */
+	 20 ,	/*  cvvis  */
+	 277 ,	/*  cwin  */
+	 105 ,	/*  dch  */
+	 21 ,	/*  dch1  */
+	 275 ,	/*  dclk  */
+	 374 ,	/*  defbi  */
+	 308 ,	/*  defc  */
+	 362 ,	/*  devt  */
+	 280 ,	/*  dial  */
+	 30 ,	/*  dim  */
+	 378 ,	/*  dispc  */
+	 106 ,	/*  dl  */
+	 22 ,	/*  dl1  */
+	 352 ,	/*  docr  */
+	 23 ,	/*  dsl  */
+	 37 ,	/*  ech  */
+	 7 ,	/*  ed  */
+	 386 ,	/*  ehhlm  */
+	 6 ,	/*  el  */
+	 269 ,	/*  el1  */
+	 387 ,	/*  elhlm  */
+	 388 ,	/*  elohlm  */
+	 155 ,	/*  enacs  */
+	 375 ,	/*  endbi  */
+	 389 ,	/*  erhlm  */
+	 390 ,	/*  ethlm  */
+	 391 ,	/*  evhlm  */
+	 46 ,	/*  ff  */
+	 45 ,	/*  flash  */
+	 273 ,	/*  fln  */
+	 47 ,	/*  fsl  */
+	 358 ,	/*  getm  */
+	 24 ,	/*  hd  */
+	 12 ,	/*  home  */
+	 284 ,	/*  hook  */
+	 8 ,	/*  hpa  */
+	 134 ,	/*  ht  */
+	 132 ,	/*  hts  */
+	 137 ,	/*  hu  */
+	 279 ,	/*  hup  */
+	 108 ,	/*  ich  */
+	 52 ,	/*  ich1  */
+	 51 ,	/*  if  */
+	 110 ,	/*  il  */
+	 53 ,	/*  il1  */
+	 129 ,	/*  ind  */
+	 109 ,	/*  indn  */
+	 299 ,	/*  initc  */
+	 300 ,	/*  initp  */
+	 32 ,	/*  invis  */
+	 54 ,	/*  ip  */
+	 138 ,	/*  iprog  */
+	 48 ,	/*  is1  */
+	 49 ,	/*  is2  */
+	 50 ,	/*  is3  */
+	 186 ,	/*  kBEG  */
+	 187 ,	/*  kCAN  */
+	 188 ,	/*  kCMD  */
+	 189 ,	/*  kCPY  */
+	 190 ,	/*  kCRT  */
+	 191 ,	/*  kDC  */
+	 192 ,	/*  kDL  */
+	 194 ,	/*  kEND  */
+	 195 ,	/*  kEOL  */
+	 196 ,	/*  kEXT  */
+	 197 ,	/*  kFND  */
+	 198 ,	/*  kHLP  */
+	 199 ,	/*  kHOM  */
+	 200 ,	/*  kIC  */
+	 201 ,	/*  kLFT  */
+	 203 ,	/*  kMOV  */
+	 202 ,	/*  kMSG  */
+	 204 ,	/*  kNXT  */
+	 205 ,	/*  kOPT  */
+	 207 ,	/*  kPRT  */
+	 206 ,	/*  kPRV  */
+	 208 ,	/*  kRDO  */
+	 211 ,	/*  kRES  */
+	 210 ,	/*  kRIT  */
+	 209 ,	/*  kRPL  */
+	 212 ,	/*  kSAV  */
+	 213 ,	/*  kSPD  */
+	 214 ,	/*  kUND  */
+	 139 ,	/*  ka1  */
+	 140 ,	/*  ka3  */
+	 141 ,	/*  kb2  */
+	 158 ,	/*  kbeg  */
+	 55 ,	/*  kbs  */
+	 142 ,	/*  kc1  */
+	 143 ,	/*  kc3  */
+	 159 ,	/*  kcan  */
+	 148 ,	/*  kcbt  */
+	 160 ,	/*  kclo  */
+	 57 ,	/*  kclr  */
+	 161 ,	/*  kcmd  */
+	 162 ,	/*  kcpy  */
+	 163 ,	/*  kcrt  */
+	 58 ,	/*  kctab  */
+	 79 ,	/*  kcub1  */
+	 61 ,	/*  kcud1  */
+	 83 ,	/*  kcuf1  */
+	 87 ,	/*  kcuu1  */
+	 59 ,	/*  kdch1  */
+	 60 ,	/*  kdl1  */
+	 64 ,	/*  ked  */
+	 63 ,	/*  kel  */
+	 164 ,	/*  kend  */
+	 165 ,	/*  kent  */
+	 166 ,	/*  kext  */
+	 65 ,	/*  kf0  */
+	 66 ,	/*  kf1  */
+	 67 ,	/*  kf10  */
+	 216 ,	/*  kf11  */
+	 217 ,	/*  kf12  */
+	 218 ,	/*  kf13  */
+	 219 ,	/*  kf14  */
+	 220 ,	/*  kf15  */
+	 221 ,	/*  kf16  */
+	 222 ,	/*  kf17  */
+	 223 ,	/*  kf18  */
+	 224 ,	/*  kf19  */
+	 68 ,	/*  kf2  */
+	 225 ,	/*  kf20  */
+	 226 ,	/*  kf21  */
+	 227 ,	/*  kf22  */
+	 228 ,	/*  kf23  */
+	 229 ,	/*  kf24  */
+	 230 ,	/*  kf25  */
+	 231 ,	/*  kf26  */
+	 232 ,	/*  kf27  */
+	 233 ,	/*  kf28  */
+	 234 ,	/*  kf29  */
+	 69 ,	/*  kf3  */
+	 235 ,	/*  kf30  */
+	 236 ,	/*  kf31  */
+	 237 ,	/*  kf32  */
+	 238 ,	/*  kf33  */
+	 239 ,	/*  kf34  */
+	 240 ,	/*  kf35  */
+	 241 ,	/*  kf36  */
+	 242 ,	/*  kf37  */
+	 243 ,	/*  kf38  */
+	 244 ,	/*  kf39  */
+	 70 ,	/*  kf4  */
+	 245 ,	/*  kf40  */
+	 246 ,	/*  kf41  */
+	 247 ,	/*  kf42  */
+	 248 ,	/*  kf43  */
+	 249 ,	/*  kf44  */
+	 250 ,	/*  kf45  */
+	 251 ,	/*  kf46  */
+	 252 ,	/*  kf47  */
+	 253 ,	/*  kf48  */
+	 254 ,	/*  kf49  */
+	 71 ,	/*  kf5  */
+	 255 ,	/*  kf50  */
+	 256 ,	/*  kf51  */
+	 257 ,	/*  kf52  */
+	 258 ,	/*  kf53  */
+	 259 ,	/*  kf54  */
+	 260 ,	/*  kf55  */
+	 261 ,	/*  kf56  */
+	 262 ,	/*  kf57  */
+	 263 ,	/*  kf58  */
+	 264 ,	/*  kf59  */
+	 72 ,	/*  kf6  */
+	 265 ,	/*  kf60  */
+	 266 ,	/*  kf61  */
+	 267 ,	/*  kf62  */
+	 268 ,	/*  kf63  */
+	 73 ,	/*  kf7  */
+	 74 ,	/*  kf8  */
+	 75 ,	/*  kf9  */
+	 167 ,	/*  kfnd  */
+	 168 ,	/*  khlp  */
+	 76 ,	/*  khome  */
+	 86 ,	/*  khts  */
+	 77 ,	/*  kich1  */
+	 78 ,	/*  kil1  */
+	 84 ,	/*  kind  */
+	 80 ,	/*  kll  */
+	 355 ,	/*  kmous  */
+	 171 ,	/*  kmov  */
+	 169 ,	/*  kmrk  */
+	 170 ,	/*  kmsg  */
+	 81 ,	/*  knp  */
+	 172 ,	/*  knxt  */
+	 173 ,	/*  kopn  */
+	 174 ,	/*  kopt  */
+	 82 ,	/*  kpp  */
+	 176 ,	/*  kprt  */
+	 175 ,	/*  kprv  */
+	 177 ,	/*  krdo  */
+	 178 ,	/*  kref  */
+	 182 ,	/*  kres  */
+	 179 ,	/*  krfr  */
+	 85 ,	/*  kri  */
+	 62 ,	/*  krmir  */
+	 180 ,	/*  krpl  */
+	 181 ,	/*  krst  */
+	 183 ,	/*  ksav  */
+	 193 ,	/*  kslt  */
+	 184 ,	/*  kspd  */
+	 56 ,	/*  ktbc  */
+	 185 ,	/*  kund  */
+	 90 ,	/*  lf0  */
+	 91 ,	/*  lf1  */
+	 92 ,	/*  lf10  */
+	 93 ,	/*  lf2  */
+	 94 ,	/*  lf3  */
+	 95 ,	/*  lf4  */
+	 96 ,	/*  lf5  */
+	 97 ,	/*  lf6  */
+	 98 ,	/*  lf7  */
+	 99 ,	/*  lf8  */
+	 100 ,	/*  lf9  */
+	 18 ,	/*  ll  */
+	 305 ,	/*  lpi  */
+	 118 ,	/*  mc0  */
+	 119 ,	/*  mc4  */
+	 120 ,	/*  mc5  */
+	 144 ,	/*  mc5p  */
+	 336 ,	/*  mcub  */
+	 330 ,	/*  mcub1  */
+	 335 ,	/*  mcud  */
+	 329 ,	/*  mcud1  */
+	 337 ,	/*  mcuf  */
+	 331 ,	/*  mcuf1  */
+	 338 ,	/*  mcuu  */
+	 333 ,	/*  mcuu1  */
+	 411 ,	/*  meml  */
+	 412 ,	/*  memu  */
+	 270 ,	/*  mgc  */
+	 328 ,	/*  mhpa  */
+	 356 ,	/*  minfo  */
+	 15 ,	/*  mrcup  */
+	 332 ,	/*  mvpa  */
+	 103 ,	/*  nel  */
+	 298 ,	/*  oc  */
+	 297 ,	/*  op  */
+	 104 ,	/*  pad  */
+	 285 ,	/*  pause  */
+	 383 ,	/*  pctrm  */
+	 115 ,	/*  pfkey  */
+	 116 ,	/*  pfloc  */
+	 117 ,	/*  pfx  */
+	 361 ,	/*  pfxl  */
+	 147 ,	/*  pln  */
+	 334 ,	/*  porder  */
+	 33 ,	/*  prot  */
+	 283 ,	/*  pulse  */
+	 281 ,	/*  qdial  */
+	 348 ,	/*  rbim  */
+	 126 ,	/*  rc  */
+	 349 ,	/*  rcsd  */
+	 121 ,	/*  rep  */
+	 357 ,	/*  reqmp  */
+	 34 ,	/*  rev  */
+	 125 ,	/*  rf  */
+	 215 ,	/*  rfi  */
+	 130 ,	/*  ri  */
+	 113 ,	/*  rin  */
+	 321 ,	/*  ritm  */
+	 322 ,	/*  rlm  */
+	 38 ,	/*  rmacs  */
+	 152 ,	/*  rmam  */
+	 276 ,	/*  rmclk  */
+	 40 ,	/*  rmcup  */
+	 41 ,	/*  rmdc  */
+	 323 ,	/*  rmicm  */
+	 42 ,	/*  rmir  */
+	 88 ,	/*  rmkx  */
+	 157 ,	/*  rmln  */
+	 101 ,	/*  rmm  */
+	 145 ,	/*  rmp  */
+	 380 ,	/*  rmpch  */
+	 382 ,	/*  rmsc  */
+	 43 ,	/*  rmso  */
+	 44 ,	/*  rmul  */
+	 150 ,	/*  rmxon  */
+	 122 ,	/*  rs1  */
+	 123 ,	/*  rs2  */
+	 124 ,	/*  rs3  */
+	 324 ,	/*  rshm  */
+	 325 ,	/*  rsubm  */
+	 326 ,	/*  rsupm  */
+	 327 ,	/*  rum  */
+	 320 ,	/*  rwidm  */
+	 364 ,	/*  s0ds  */
+	 365 ,	/*  s1ds  */
+	 366 ,	/*  s2ds  */
+	 367 ,	/*  s3ds  */
+	 346 ,	/*  sbim  */
+	 128 ,	/*  sc  */
+	 385 ,	/*  scesa  */
+	 384 ,	/*  scesc  */
+	 274 ,	/*  sclk  */
+	 301 ,	/*  scp  */
+	 339 ,	/*  scs  */
+	 347 ,	/*  scsd  */
+	 310 ,	/*  sdrfq  */
+	 360 ,	/*  setab  */
+	 359 ,	/*  setaf  */
+	 303 ,	/*  setb  */
+	 376 ,	/*  setcolor  */
+	 302 ,	/*  setf  */
+	 131 ,	/*  sgr  */
+	 39 ,	/*  sgr0  */
+	 392 ,	/*  sgr1  */
+	 311 ,	/*  sitm  */
+	 393 ,	/*  slength  */
+	 377 ,	/*  slines  */
+	 312 ,	/*  slm  */
+	 25 ,	/*  smacs  */
+	 151 ,	/*  smam  */
+	 28 ,	/*  smcup  */
+	 29 ,	/*  smdc  */
+	 340 ,	/*  smgb  */
+	 341 ,	/*  smgbp  */
+	 271 ,	/*  smgl  */
+	 342 ,	/*  smglp  */
+	 368 ,	/*  smglr  */
+	 272 ,	/*  smgr  */
+	 343 ,	/*  smgrp  */
+	 344 ,	/*  smgt  */
+	 369 ,	/*  smgtb  */
+	 345 ,	/*  smgtp  */
+	 313 ,	/*  smicm  */
+	 31 ,	/*  smir  */
+	 89 ,	/*  smkx  */
+	 156 ,	/*  smln  */
+	 102 ,	/*  smm  */
+	 379 ,	/*  smpch  */
+	 381 ,	/*  smsc  */
+	 35 ,	/*  smso  */
+	 36 ,	/*  smul  */
+	 149 ,	/*  smxon  */
+	 314 ,	/*  snlq  */
+	 315 ,	/*  snrmq  */
+	 316 ,	/*  sshm  */
+	 317 ,	/*  ssubm  */
+	 318 ,	/*  ssupm  */
+	 350 ,	/*  subcs  */
+	 319 ,	/*  sum  */
+	 351 ,	/*  supcs  */
+	 309 ,	/*  swidm  */
+	 4 ,	/*  tbc  */
+	 282 ,	/*  tone  */
+	 135 ,	/*  tsl  */
+	 287 ,	/*  u0  */
+	 288 ,	/*  u1  */
+	 289 ,	/*  u2  */
+	 290 ,	/*  u3  */
+	 291 ,	/*  u4  */
+	 292 ,	/*  u5  */
+	 293 ,	/*  u6  */
+	 294 ,	/*  u7  */
+	 295 ,	/*  u8  */
+	 296 ,	/*  u9  */
+	 136 ,	/*  uc  */
+	 127 ,	/*  vpa  */
+	 286 ,	/*  wait  */
+	 133 ,	/*  wind  */
+	 278 ,	/*  wingo  */
+	 154 ,	/*  xoffc  */
+	 153 ,	/*  xonc  */
+	 353 ,	/*  zerom  */
+};
+
+static const PredIdx bool_variable_sort[] = {
+	 0 ,	/*  auto_left_margin  */
+	 1 ,	/*  auto_right_margin  */
+	 28 ,	/*  back_color_erase  */
+	 37 ,	/*  backspaces_with_bs  */
+	 27 ,	/*  can_change  */
+	 3 ,	/*  ceol_standout_glitch  */
+	 30 ,	/*  col_addr_glitch  */
+	 35 ,	/*  cpi_changes_res  */
+	 31 ,	/*  cr_cancels_micro_mode  */
+	 38 ,	/*  crt_no_scrolling  */
+	 17 ,	/*  dest_tabs_magic_smso  */
+	 4 ,	/*  eat_newline_glitch  */
+	 5 ,	/*  erase_overstrike  */
+	 6 ,	/*  generic_type  */
+	 40 ,	/*  gnu_has_meta_key  */
+	 7 ,	/*  hard_copy  */
+	 23 ,	/*  hard_cursor  */
+	 42 ,	/*  has_hardware_tabs  */
+	 8 ,	/*  has_meta_key  */
+	 32 ,	/*  has_print_wheel  */
+	 9 ,	/*  has_status_line  */
+	 29 ,	/*  hue_lightness_saturation  */
+	 10 ,	/*  insert_null_glitch  */
+	 41 ,	/*  linefeed_is_newline  */
+	 36 ,	/*  lpi_changes_res  */
+	 11 ,	/*  memory_above  */
+	 12 ,	/*  memory_below  */
+	 13 ,	/*  move_insert_mode  */
+	 14 ,	/*  move_standout_mode  */
+	 21 ,	/*  needs_xon_xoff  */
+	 39 ,	/*  no_correctly_working_cr  */
+	 2 ,	/*  no_esc_ctlc  */
+	 25 ,	/*  no_pad_char  */
+	 26 ,	/*  non_dest_scroll_region  */
+	 24 ,	/*  non_rev_rmcup  */
+	 15 ,	/*  over_strike  */
+	 22 ,	/*  prtr_silent  */
+	 43 ,	/*  return_does_clr_eol  */
+	 33 ,	/*  row_addr_glitch  */
+	 34 ,	/*  semi_auto_right_margin  */
+	 16 ,	/*  status_line_esc_ok  */
+	 18 ,	/*  tilde_glitch  */
+	 19 ,	/*  transparent_underline  */
+	 20 ,	/*  xon_xoff  */
+};
+
+static const PredIdx num_variable_sort[] = {
+	 36 ,	/*  backspace_delay  */
+	 31 ,	/*  bit_image_entwining  */
+	 32 ,	/*  bit_image_type  */
+	 16 ,	/*  buffer_capacity  */
+	 30 ,	/*  buttons  */
+	 34 ,	/*  carriage_return_delay  */
+	 0 ,	/*  columns  */
+	 18 ,	/*  dot_horz_spacing  */
+	 17 ,	/*  dot_vert_spacing  */
+	 37 ,	/*  horizontal_tab_delay  */
+	 1 ,	/*  init_tabs  */
+	 9 ,	/*  label_height  */
+	 10 ,	/*  label_width  */
+	 2 ,	/*  lines  */
+	 3 ,	/*  lines_of_memory  */
+	 4 ,	/*  magic_cookie_glitch  */
+	 33 ,	/*  magic_cookie_glitch_ul  */
+	 11 ,	/*  max_attributes  */
+	 13 ,	/*  max_colors  */
+	 19 ,	/*  max_micro_address  */
+	 20 ,	/*  max_micro_jump  */
+	 14 ,	/*  max_pairs  */
+	 12 ,	/*  maximum_windows  */
+	 21 ,	/*  micro_col_size  */
+	 22 ,	/*  micro_line_size  */
+	 35 ,	/*  new_line_delay  */
+	 15 ,	/*  no_color_video  */
+	 8 ,	/*  num_labels  */
+	 38 ,	/*  number_of_function_keys  */
+	 23 ,	/*  number_of_pins  */
+	 24 ,	/*  output_res_char  */
+	 26 ,	/*  output_res_horz_inch  */
+	 25 ,	/*  output_res_line  */
+	 27 ,	/*  output_res_vert_inch  */
+	 5 ,	/*  padding_baud_rate  */
+	 28 ,	/*  print_rate  */
+	 6 ,	/*  virtual_terminal  */
+	 29 ,	/*  wide_char_size  */
+	 7 ,	/*  width_status_line  */
+};
+
+static const PredIdx str_variable_sort[] = {
+	 406 ,	/*  acs_btee  */
+	 146 ,	/*  acs_chars  */
+	 408 ,	/*  acs_hline  */
+	 401 ,	/*  acs_llcorner  */
+	 403 ,	/*  acs_lrcorner  */
+	 404 ,	/*  acs_ltee  */
+	 410 ,	/*  acs_plus  */
+	 405 ,	/*  acs_rtee  */
+	 407 ,	/*  acs_ttee  */
+	 400 ,	/*  acs_ulcorner  */
+	 402 ,	/*  acs_urcorner  */
+	 409 ,	/*  acs_vline  */
+	 385 ,	/*  alt_scancode_esc  */
+	 399 ,	/*  arrow_key_map  */
+	 0 ,	/*  back_tab  */
+	 397 ,	/*  backspace_if_not_bs  */
+	 1 ,	/*  bell  */
+	 372 ,	/*  bit_image_carriage_return  */
+	 371 ,	/*  bit_image_newline  */
+	 370 ,	/*  bit_image_repeat  */
+	 413 ,	/*  box_chars_1  */
+	 2 ,	/*  carriage_return  */
+	 304 ,	/*  change_char_pitch  */
+	 305 ,	/*  change_line_pitch  */
+	 306 ,	/*  change_res_horz  */
+	 307 ,	/*  change_res_vert  */
+	 3 ,	/*  change_scroll_region  */
+	 145 ,	/*  char_padding  */
+	 354 ,	/*  char_set_names  */
+	 4 ,	/*  clear_all_tabs  */
+	 270 ,	/*  clear_margins  */
+	 5 ,	/*  clear_screen  */
+	 269 ,	/*  clr_bol  */
+	 6 ,	/*  clr_eol  */
+	 7 ,	/*  clr_eos  */
+	 363 ,	/*  code_set_init  */
+	 373 ,	/*  color_names  */
+	 8 ,	/*  column_address  */
+	 9 ,	/*  command_character  */
+	 277 ,	/*  create_window  */
+	 10 ,	/*  cursor_address  */
+	 11 ,	/*  cursor_down  */
+	 12 ,	/*  cursor_home  */
+	 13 ,	/*  cursor_invisible  */
+	 14 ,	/*  cursor_left  */
+	 15 ,	/*  cursor_mem_address  */
+	 16 ,	/*  cursor_normal  */
+	 17 ,	/*  cursor_right  */
+	 18 ,	/*  cursor_to_ll  */
+	 19 ,	/*  cursor_up  */
+	 20 ,	/*  cursor_visible  */
+	 374 ,	/*  define_bit_image_region  */
+	 308 ,	/*  define_char  */
+	 21 ,	/*  delete_character  */
+	 22 ,	/*  delete_line  */
+	 362 ,	/*  device_type  */
+	 280 ,	/*  dial_phone  */
+	 23 ,	/*  dis_status_line  */
+	 275 ,	/*  display_clock  */
+	 378 ,	/*  display_pc_char  */
+	 24 ,	/*  down_half_line  */
+	 155 ,	/*  ena_acs  */
+	 375 ,	/*  end_bit_image_region  */
+	 25 ,	/*  enter_alt_charset_mode  */
+	 151 ,	/*  enter_am_mode  */
+	 26 ,	/*  enter_blink_mode  */
+	 27 ,	/*  enter_bold_mode  */
+	 28 ,	/*  enter_ca_mode  */
+	 29 ,	/*  enter_delete_mode  */
+	 30 ,	/*  enter_dim_mode  */
+	 309 ,	/*  enter_doublewide_mode  */
+	 310 ,	/*  enter_draft_quality  */
+	 386 ,	/*  enter_horizontal_hl_mode  */
+	 31 ,	/*  enter_insert_mode  */
+	 311 ,	/*  enter_italics_mode  */
+	 387 ,	/*  enter_left_hl_mode  */
+	 312 ,	/*  enter_leftward_mode  */
+	 388 ,	/*  enter_low_hl_mode  */
+	 313 ,	/*  enter_micro_mode  */
+	 314 ,	/*  enter_near_letter_quality  */
+	 315 ,	/*  enter_normal_quality  */
+	 379 ,	/*  enter_pc_charset_mode  */
+	 33 ,	/*  enter_protected_mode  */
+	 34 ,	/*  enter_reverse_mode  */
+	 389 ,	/*  enter_right_hl_mode  */
+	 381 ,	/*  enter_scancode_mode  */
+	 32 ,	/*  enter_secure_mode  */
+	 316 ,	/*  enter_shadow_mode  */
+	 35 ,	/*  enter_standout_mode  */
+	 317 ,	/*  enter_subscript_mode  */
+	 318 ,	/*  enter_superscript_mode  */
+	 390 ,	/*  enter_top_hl_mode  */
+	 36 ,	/*  enter_underline_mode  */
+	 319 ,	/*  enter_upward_mode  */
+	 391 ,	/*  enter_vertical_hl_mode  */
+	 149 ,	/*  enter_xon_mode  */
+	 37 ,	/*  erase_chars  */
+	 38 ,	/*  exit_alt_charset_mode  */
+	 152 ,	/*  exit_am_mode  */
+	 39 ,	/*  exit_attribute_mode  */
+	 40 ,	/*  exit_ca_mode  */
+	 41 ,	/*  exit_delete_mode  */
+	 320 ,	/*  exit_doublewide_mode  */
+	 42 ,	/*  exit_insert_mode  */
+	 321 ,	/*  exit_italics_mode  */
+	 322 ,	/*  exit_leftward_mode  */
+	 323 ,	/*  exit_micro_mode  */
+	 380 ,	/*  exit_pc_charset_mode  */
+	 382 ,	/*  exit_scancode_mode  */
+	 324 ,	/*  exit_shadow_mode  */
+	 43 ,	/*  exit_standout_mode  */
+	 325 ,	/*  exit_subscript_mode  */
+	 326 ,	/*  exit_superscript_mode  */
+	 44 ,	/*  exit_underline_mode  */
+	 327 ,	/*  exit_upward_mode  */
+	 150 ,	/*  exit_xon_mode  */
+	 285 ,	/*  fixed_pause  */
+	 284 ,	/*  flash_hook  */
+	 45 ,	/*  flash_screen  */
+	 46 ,	/*  form_feed  */
+	 47 ,	/*  from_status_line  */
+	 358 ,	/*  get_mouse  */
+	 278 ,	/*  goto_window  */
+	 279 ,	/*  hangup  */
+	 48 ,	/*  init_1string  */
+	 49 ,	/*  init_2string  */
+	 50 ,	/*  init_3string  */
+	 51 ,	/*  init_file  */
+	 138 ,	/*  init_prog  */
+	 299 ,	/*  initialize_color  */
+	 300 ,	/*  initialize_pair  */
+	 52 ,	/*  insert_character  */
+	 53 ,	/*  insert_line  */
+	 54 ,	/*  insert_padding  */
+	 139 ,	/*  key_a1  */
+	 140 ,	/*  key_a3  */
+	 141 ,	/*  key_b2  */
+	 55 ,	/*  key_backspace  */
+	 158 ,	/*  key_beg  */
+	 148 ,	/*  key_btab  */
+	 142 ,	/*  key_c1  */
+	 143 ,	/*  key_c3  */
+	 159 ,	/*  key_cancel  */
+	 56 ,	/*  key_catab  */
+	 57 ,	/*  key_clear  */
+	 160 ,	/*  key_close  */
+	 161 ,	/*  key_command  */
+	 162 ,	/*  key_copy  */
+	 163 ,	/*  key_create  */
+	 58 ,	/*  key_ctab  */
+	 59 ,	/*  key_dc  */
+	 60 ,	/*  key_dl  */
+	 61 ,	/*  key_down  */
+	 62 ,	/*  key_eic  */
+	 164 ,	/*  key_end  */
+	 165 ,	/*  key_enter  */
+	 63 ,	/*  key_eol  */
+	 64 ,	/*  key_eos  */
+	 166 ,	/*  key_exit  */
+	 65 ,	/*  key_f0  */
+	 66 ,	/*  key_f1  */
+	 67 ,	/*  key_f10  */
+	 216 ,	/*  key_f11  */
+	 217 ,	/*  key_f12  */
+	 218 ,	/*  key_f13  */
+	 219 ,	/*  key_f14  */
+	 220 ,	/*  key_f15  */
+	 221 ,	/*  key_f16  */
+	 222 ,	/*  key_f17  */
+	 223 ,	/*  key_f18  */
+	 224 ,	/*  key_f19  */
+	 68 ,	/*  key_f2  */
+	 225 ,	/*  key_f20  */
+	 226 ,	/*  key_f21  */
+	 227 ,	/*  key_f22  */
+	 228 ,	/*  key_f23  */
+	 229 ,	/*  key_f24  */
+	 230 ,	/*  key_f25  */
+	 231 ,	/*  key_f26  */
+	 232 ,	/*  key_f27  */
+	 233 ,	/*  key_f28  */
+	 234 ,	/*  key_f29  */
+	 69 ,	/*  key_f3  */
+	 235 ,	/*  key_f30  */
+	 236 ,	/*  key_f31  */
+	 237 ,	/*  key_f32  */
+	 238 ,	/*  key_f33  */
+	 239 ,	/*  key_f34  */
+	 240 ,	/*  key_f35  */
+	 241 ,	/*  key_f36  */
+	 242 ,	/*  key_f37  */
+	 243 ,	/*  key_f38  */
+	 244 ,	/*  key_f39  */
+	 70 ,	/*  key_f4  */
+	 245 ,	/*  key_f40  */
+	 246 ,	/*  key_f41  */
+	 247 ,	/*  key_f42  */
+	 248 ,	/*  key_f43  */
+	 249 ,	/*  key_f44  */
+	 250 ,	/*  key_f45  */
+	 251 ,	/*  key_f46  */
+	 252 ,	/*  key_f47  */
+	 253 ,	/*  key_f48  */
+	 254 ,	/*  key_f49  */
+	 71 ,	/*  key_f5  */
+	 255 ,	/*  key_f50  */
+	 256 ,	/*  key_f51  */
+	 257 ,	/*  key_f52  */
+	 258 ,	/*  key_f53  */
+	 259 ,	/*  key_f54  */
+	 260 ,	/*  key_f55  */
+	 261 ,	/*  key_f56  */
+	 262 ,	/*  key_f57  */
+	 263 ,	/*  key_f58  */
+	 264 ,	/*  key_f59  */
+	 72 ,	/*  key_f6  */
+	 265 ,	/*  key_f60  */
+	 266 ,	/*  key_f61  */
+	 267 ,	/*  key_f62  */
+	 268 ,	/*  key_f63  */
+	 73 ,	/*  key_f7  */
+	 74 ,	/*  key_f8  */
+	 75 ,	/*  key_f9  */
+	 167 ,	/*  key_find  */
+	 168 ,	/*  key_help  */
+	 76 ,	/*  key_home  */
+	 77 ,	/*  key_ic  */
+	 78 ,	/*  key_il  */
+	 79 ,	/*  key_left  */
+	 80 ,	/*  key_ll  */
+	 169 ,	/*  key_mark  */
+	 170 ,	/*  key_message  */
+	 355 ,	/*  key_mouse  */
+	 171 ,	/*  key_move  */
+	 172 ,	/*  key_next  */
+	 81 ,	/*  key_npage  */
+	 173 ,	/*  key_open  */
+	 174 ,	/*  key_options  */
+	 82 ,	/*  key_ppage  */
+	 175 ,	/*  key_previous  */
+	 176 ,	/*  key_print  */
+	 177 ,	/*  key_redo  */
+	 178 ,	/*  key_reference  */
+	 179 ,	/*  key_refresh  */
+	 180 ,	/*  key_replace  */
+	 181 ,	/*  key_restart  */
+	 182 ,	/*  key_resume  */
+	 83 ,	/*  key_right  */
+	 183 ,	/*  key_save  */
+	 186 ,	/*  key_sbeg  */
+	 187 ,	/*  key_scancel  */
+	 188 ,	/*  key_scommand  */
+	 189 ,	/*  key_scopy  */
+	 190 ,	/*  key_screate  */
+	 191 ,	/*  key_sdc  */
+	 192 ,	/*  key_sdl  */
+	 193 ,	/*  key_select  */
+	 194 ,	/*  key_send  */
+	 195 ,	/*  key_seol  */
+	 196 ,	/*  key_sexit  */
+	 84 ,	/*  key_sf  */
+	 197 ,	/*  key_sfind  */
+	 198 ,	/*  key_shelp  */
+	 199 ,	/*  key_shome  */
+	 200 ,	/*  key_sic  */
+	 201 ,	/*  key_sleft  */
+	 202 ,	/*  key_smessage  */
+	 203 ,	/*  key_smove  */
+	 204 ,	/*  key_snext  */
+	 205 ,	/*  key_soptions  */
+	 206 ,	/*  key_sprevious  */
+	 207 ,	/*  key_sprint  */
+	 85 ,	/*  key_sr  */
+	 208 ,	/*  key_sredo  */
+	 209 ,	/*  key_sreplace  */
+	 210 ,	/*  key_sright  */
+	 211 ,	/*  key_srsume  */
+	 212 ,	/*  key_ssave  */
+	 213 ,	/*  key_ssuspend  */
+	 86 ,	/*  key_stab  */
+	 214 ,	/*  key_sundo  */
+	 184 ,	/*  key_suspend  */
+	 185 ,	/*  key_undo  */
+	 87 ,	/*  key_up  */
+	 88 ,	/*  keypad_local  */
+	 89 ,	/*  keypad_xmit  */
+	 90 ,	/*  lab_f0  */
+	 91 ,	/*  lab_f1  */
+	 92 ,	/*  lab_f10  */
+	 93 ,	/*  lab_f2  */
+	 94 ,	/*  lab_f3  */
+	 95 ,	/*  lab_f4  */
+	 96 ,	/*  lab_f5  */
+	 97 ,	/*  lab_f6  */
+	 98 ,	/*  lab_f7  */
+	 99 ,	/*  lab_f8  */
+	 100 ,	/*  lab_f9  */
+	 273 ,	/*  label_format  */
+	 157 ,	/*  label_off  */
+	 156 ,	/*  label_on  */
+	 396 ,	/*  linefeed_if_not_lf  */
+	 411 ,	/*  memory_lock  */
+	 412 ,	/*  memory_unlock  */
+	 101 ,	/*  meta_off  */
+	 102 ,	/*  meta_on  */
+	 328 ,	/*  micro_column_address  */
+	 329 ,	/*  micro_down  */
+	 330 ,	/*  micro_left  */
+	 331 ,	/*  micro_right  */
+	 332 ,	/*  micro_row_address  */
+	 333 ,	/*  micro_up  */
+	 356 ,	/*  mouse_info  */
+	 103 ,	/*  newline  */
+	 334 ,	/*  order_of_pins  */
+	 298 ,	/*  orig_colors  */
+	 297 ,	/*  orig_pair  */
+	 398 ,	/*  other_non_function_keys  */
+	 104 ,	/*  pad_char  */
+	 105 ,	/*  parm_dch  */
+	 106 ,	/*  parm_delete_line  */
+	 107 ,	/*  parm_down_cursor  */
+	 335 ,	/*  parm_down_micro  */
+	 108 ,	/*  parm_ich  */
+	 109 ,	/*  parm_index  */
+	 110 ,	/*  parm_insert_line  */
+	 111 ,	/*  parm_left_cursor  */
+	 336 ,	/*  parm_left_micro  */
+	 112 ,	/*  parm_right_cursor  */
+	 337 ,	/*  parm_right_micro  */
+	 113 ,	/*  parm_rindex  */
+	 114 ,	/*  parm_up_cursor  */
+	 338 ,	/*  parm_up_micro  */
+	 383 ,	/*  pc_term_options  */
+	 115 ,	/*  pkey_key  */
+	 116 ,	/*  pkey_local  */
+	 361 ,	/*  pkey_plab  */
+	 117 ,	/*  pkey_xmit  */
+	 147 ,	/*  plab_norm  */
+	 118 ,	/*  print_screen  */
+	 144 ,	/*  prtr_non  */
+	 119 ,	/*  prtr_off  */
+	 120 ,	/*  prtr_on  */
+	 283 ,	/*  pulse  */
+	 281 ,	/*  quick_dial  */
+	 276 ,	/*  remove_clock  */
+	 121 ,	/*  repeat_char  */
+	 215 ,	/*  req_for_input  */
+	 357 ,	/*  req_mouse_pos  */
+	 122 ,	/*  reset_1string  */
+	 123 ,	/*  reset_2string  */
+	 124 ,	/*  reset_3string  */
+	 125 ,	/*  reset_file  */
+	 126 ,	/*  restore_cursor  */
+	 127 ,	/*  row_address  */
+	 128 ,	/*  save_cursor  */
+	 384 ,	/*  scancode_escape  */
+	 129 ,	/*  scroll_forward  */
+	 130 ,	/*  scroll_reverse  */
+	 339 ,	/*  select_char_set  */
+	 364 ,	/*  set0_des_seq  */
+	 365 ,	/*  set1_des_seq  */
+	 366 ,	/*  set2_des_seq  */
+	 367 ,	/*  set3_des_seq  */
+	 392 ,	/*  set_a_attributes  */
+	 360 ,	/*  set_a_background  */
+	 359 ,	/*  set_a_foreground  */
+	 131 ,	/*  set_attributes  */
+	 303 ,	/*  set_background  */
+	 340 ,	/*  set_bottom_margin  */
+	 341 ,	/*  set_bottom_margin_parm  */
+	 274 ,	/*  set_clock  */
+	 376 ,	/*  set_color_band  */
+	 301 ,	/*  set_color_pair  */
+	 302 ,	/*  set_foreground  */
+	 271 ,	/*  set_left_margin  */
+	 342 ,	/*  set_left_margin_parm  */
+	 368 ,	/*  set_lr_margin  */
+	 377 ,	/*  set_page_length  */
+	 393 ,	/*  set_pglen_inch  */
+	 272 ,	/*  set_right_margin  */
+	 343 ,	/*  set_right_margin_parm  */
+	 132 ,	/*  set_tab  */
+	 369 ,	/*  set_tb_margin  */
+	 344 ,	/*  set_top_margin  */
+	 345 ,	/*  set_top_margin_parm  */
+	 133 ,	/*  set_window  */
+	 346 ,	/*  start_bit_image  */
+	 347 ,	/*  start_char_set_def  */
+	 348 ,	/*  stop_bit_image  */
+	 349 ,	/*  stop_char_set_def  */
+	 350 ,	/*  subscript_characters  */
+	 351 ,	/*  superscript_characters  */
+	 134 ,	/*  tab  */
+	 394 ,	/*  termcap_init2  */
+	 395 ,	/*  termcap_reset  */
+	 352 ,	/*  these_cause_cr  */
+	 135 ,	/*  to_status_line  */
+	 282 ,	/*  tone  */
+	 136 ,	/*  underline_char  */
+	 137 ,	/*  up_half_line  */
+	 287 ,	/*  user0  */
+	 288 ,	/*  user1  */
+	 289 ,	/*  user2  */
+	 290 ,	/*  user3  */
+	 291 ,	/*  user4  */
+	 292 ,	/*  user5  */
+	 293 ,	/*  user6  */
+	 294 ,	/*  user7  */
+	 295 ,	/*  user8  */
+	 296 ,	/*  user9  */
+	 286 ,	/*  wait_tone  */
+	 154 ,	/*  xoff_character  */
+	 153 ,	/*  xon_character  */
+	 353 ,	/*  zero_motion  */
+};
+
+static const PredIdx bool_termcap_sort[] = {
+	 22 ,	/*  5i  */
+	 23 ,	/*  HC  */
+	 40 ,	/*  MT  */
+	 26 ,	/*  ND  */
+	 41 ,	/*  NL  */
+	 25 ,	/*  NP  */
+	 24 ,	/*  NR  */
+	 30 ,	/*  YA  */
+	 31 ,	/*  YB  */
+	 32 ,	/*  YC  */
+	 33 ,	/*  YD  */
+	 34 ,	/*  YE  */
+	 35 ,	/*  YF  */
+	 36 ,	/*  YG  */
+	 1 ,	/*  am  */
+	 37 ,	/*  bs  */
+	 0 ,	/*  bw  */
+	 27 ,	/*  cc  */
+	 11 ,	/*  da  */
+	 12 ,	/*  db  */
+	 5 ,	/*  eo  */
+	 16 ,	/*  es  */
+	 6 ,	/*  gn  */
+	 7 ,	/*  hc  */
+	 29 ,	/*  hl  */
+	 9 ,	/*  hs  */
+	 18 ,	/*  hz  */
+	 10 ,	/*  in  */
+	 8 ,	/*  km  */
+	 13 ,	/*  mi  */
+	 14 ,	/*  ms  */
+	 39 ,	/*  nc  */
+	 38 ,	/*  ns  */
+	 21 ,	/*  nx  */
+	 15 ,	/*  os  */
+	 42 ,	/*  pt  */
+	 19 ,	/*  ul  */
+	 28 ,	/*  ut  */
+	 2 ,	/*  xb  */
+	 4 ,	/*  xn  */
+	 20 ,	/*  xo  */
+	 43 ,	/*  xr  */
+	 3 ,	/*  xs  */
+	 17 ,	/*  xt  */
+};
+
+static const PredIdx num_termcap_sort[] = {
+	 30 ,	/*  BT  */
+	 13 ,	/*  Co  */
+	 12 ,	/*  MW  */
+	 15 ,	/*  NC  */
+	 8 ,	/*  Nl  */
+	 16 ,	/*  Ya  */
+	 17 ,	/*  Yb  */
+	 18 ,	/*  Yc  */
+	 19 ,	/*  Yd  */
+	 20 ,	/*  Ye  */
+	 21 ,	/*  Yf  */
+	 22 ,	/*  Yg  */
+	 23 ,	/*  Yh  */
+	 24 ,	/*  Yi  */
+	 25 ,	/*  Yj  */
+	 26 ,	/*  Yk  */
+	 27 ,	/*  Yl  */
+	 28 ,	/*  Ym  */
+	 29 ,	/*  Yn  */
+	 31 ,	/*  Yo  */
+	 32 ,	/*  Yp  */
+	 0 ,	/*  co  */
+	 36 ,	/*  dB  */
+	 34 ,	/*  dC  */
+	 35 ,	/*  dN  */
+	 37 ,	/*  dT  */
+	 1 ,	/*  it  */
+	 38 ,	/*  kn  */
+	 9 ,	/*  lh  */
+	 2 ,	/*  li  */
+	 3 ,	/*  lm  */
+	 10 ,	/*  lw  */
+	 11 ,	/*  ma  */
+	 14 ,	/*  pa  */
+	 5 ,	/*  pb  */
+	 4 ,	/*  sg  */
+	 33 ,	/*  ug  */
+	 6 ,	/*  vt  */
+	 7 ,	/*  ws  */
+};
+
+static const PredIdx str_termcap_sort[] = {
+	 212 ,	/*  !1  */
+	 213 ,	/*  !2  */
+	 214 ,	/*  !3  */
+	 198 ,	/*  #1  */
+	 199 ,	/*  #2  */
+	 200 ,	/*  #3  */
+	 201 ,	/*  #4  */
+	 177 ,	/*  %0  */
+	 168 ,	/*  %1  */
+	 169 ,	/*  %2  */
+	 170 ,	/*  %3  */
+	 171 ,	/*  %4  */
+	 172 ,	/*  %5  */
+	 173 ,	/*  %6  */
+	 174 ,	/*  %7  */
+	 175 ,	/*  %8  */
+	 176 ,	/*  %9  */
+	 202 ,	/*  %a  */
+	 203 ,	/*  %b  */
+	 204 ,	/*  %c  */
+	 205 ,	/*  %d  */
+	 206 ,	/*  %e  */
+	 207 ,	/*  %f  */
+	 208 ,	/*  %g  */
+	 209 ,	/*  %h  */
+	 210 ,	/*  %i  */
+	 211 ,	/*  %j  */
+	 187 ,	/*  &0  */
+	 178 ,	/*  &1  */
+	 179 ,	/*  &2  */
+	 180 ,	/*  &3  */
+	 181 ,	/*  &4  */
+	 182 ,	/*  &5  */
+	 183 ,	/*  &6  */
+	 184 ,	/*  &7  */
+	 185 ,	/*  &8  */
+	 186 ,	/*  &9  */
+	 197 ,	/*  *0  */
+	 188 ,	/*  *1  */
+	 189 ,	/*  *2  */
+	 190 ,	/*  *3  */
+	 191 ,	/*  *4  */
+	 192 ,	/*  *5  */
+	 193 ,	/*  *6  */
+	 194 ,	/*  *7  */
+	 195 ,	/*  *8  */
+	 196 ,	/*  *9  */
+	 167 ,	/*  @0  */
+	 158 ,	/*  @1  */
+	 159 ,	/*  @2  */
+	 160 ,	/*  @3  */
+	 161 ,	/*  @4  */
+	 162 ,	/*  @5  */
+	 163 ,	/*  @6  */
+	 164 ,	/*  @7  */
+	 165 ,	/*  @8  */
+	 166 ,	/*  @9  */
+	 360 ,	/*  AB  */
+	 359 ,	/*  AF  */
+	 110 ,	/*  AL  */
+	 9 ,	/*  CC  */
+	 15 ,	/*  CM  */
+	 277 ,	/*  CW  */
+	 105 ,	/*  DC  */
+	 280 ,	/*  DI  */
+	 275 ,	/*  DK  */
+	 106 ,	/*  DL  */
+	 107 ,	/*  DO  */
+	 216 ,	/*  F1  */
+	 217 ,	/*  F2  */
+	 218 ,	/*  F3  */
+	 219 ,	/*  F4  */
+	 220 ,	/*  F5  */
+	 221 ,	/*  F6  */
+	 222 ,	/*  F7  */
+	 223 ,	/*  F8  */
+	 224 ,	/*  F9  */
+	 225 ,	/*  FA  */
+	 226 ,	/*  FB  */
+	 227 ,	/*  FC  */
+	 228 ,	/*  FD  */
+	 229 ,	/*  FE  */
+	 230 ,	/*  FF  */
+	 231 ,	/*  FG  */
+	 232 ,	/*  FH  */
+	 233 ,	/*  FI  */
+	 234 ,	/*  FJ  */
+	 235 ,	/*  FK  */
+	 236 ,	/*  FL  */
+	 237 ,	/*  FM  */
+	 238 ,	/*  FN  */
+	 239 ,	/*  FO  */
+	 240 ,	/*  FP  */
+	 241 ,	/*  FQ  */
+	 242 ,	/*  FR  */
+	 243 ,	/*  FS  */
+	 244 ,	/*  FT  */
+	 245 ,	/*  FU  */
+	 246 ,	/*  FV  */
+	 247 ,	/*  FW  */
+	 248 ,	/*  FX  */
+	 249 ,	/*  FY  */
+	 250 ,	/*  FZ  */
+	 251 ,	/*  Fa  */
+	 252 ,	/*  Fb  */
+	 253 ,	/*  Fc  */
+	 254 ,	/*  Fd  */
+	 255 ,	/*  Fe  */
+	 256 ,	/*  Ff  */
+	 257 ,	/*  Fg  */
+	 258 ,	/*  Fh  */
+	 259 ,	/*  Fi  */
+	 260 ,	/*  Fj  */
+	 261 ,	/*  Fk  */
+	 262 ,	/*  Fl  */
+	 263 ,	/*  Fm  */
+	 264 ,	/*  Fn  */
+	 265 ,	/*  Fo  */
+	 266 ,	/*  Fp  */
+	 267 ,	/*  Fq  */
+	 268 ,	/*  Fr  */
+	 402 ,	/*  G1  */
+	 400 ,	/*  G2  */
+	 401 ,	/*  G3  */
+	 403 ,	/*  G4  */
+	 410 ,	/*  GC  */
+	 407 ,	/*  GD  */
+	 408 ,	/*  GH  */
+	 405 ,	/*  GL  */
+	 404 ,	/*  GR  */
+	 406 ,	/*  GU  */
+	 409 ,	/*  GV  */
+	 358 ,	/*  Gm  */
+	 279 ,	/*  HU  */
+	 108 ,	/*  IC  */
+	 299 ,	/*  Ic  */
+	 300 ,	/*  Ip  */
+	 139 ,	/*  K1  */
+	 141 ,	/*  K2  */
+	 140 ,	/*  K3  */
+	 142 ,	/*  K4  */
+	 143 ,	/*  K5  */
+	 355 ,	/*  Km  */
+	 111 ,	/*  LE  */
+	 157 ,	/*  LF  */
+	 156 ,	/*  LO  */
+	 273 ,	/*  Lf  */
+	 270 ,	/*  MC  */
+	 271 ,	/*  ML  */
+	 368 ,	/*  ML  */
+	 272 ,	/*  MR  */
+	 369 ,	/*  MT  */
+	 356 ,	/*  Mi  */
+	 285 ,	/*  PA  */
+	 283 ,	/*  PU  */
+	 281 ,	/*  QD  */
+	 152 ,	/*  RA  */
+	 276 ,	/*  RC  */
+	 215 ,	/*  RF  */
+	 112 ,	/*  RI  */
+	 357 ,	/*  RQ  */
+	 150 ,	/*  RX  */
+	 378 ,	/*  S1  */
+	 379 ,	/*  S2  */
+	 380 ,	/*  S3  */
+	 381 ,	/*  S4  */
+	 382 ,	/*  S5  */
+	 383 ,	/*  S6  */
+	 384 ,	/*  S7  */
+	 385 ,	/*  S8  */
+	 151 ,	/*  SA  */
+	 274 ,	/*  SC  */
+	 109 ,	/*  SF  */
+	 113 ,	/*  SR  */
+	 149 ,	/*  SX  */
+	 303 ,	/*  Sb  */
+	 302 ,	/*  Sf  */
+	 282 ,	/*  TO  */
+	 114 ,	/*  UP  */
+	 286 ,	/*  WA  */
+	 278 ,	/*  WG  */
+	 154 ,	/*  XF  */
+	 153 ,	/*  XN  */
+	 386 ,	/*  Xh  */
+	 387 ,	/*  Xl  */
+	 388 ,	/*  Xo  */
+	 389 ,	/*  Xr  */
+	 390 ,	/*  Xt  */
+	 391 ,	/*  Xv  */
+	 370 ,	/*  Xy  */
+	 393 ,	/*  YI  */
+	 377 ,	/*  YZ  */
+	 372 ,	/*  Yv  */
+	 373 ,	/*  Yw  */
+	 374 ,	/*  Yx  */
+	 375 ,	/*  Yy  */
+	 376 ,	/*  Yz  */
+	 304 ,	/*  ZA  */
+	 305 ,	/*  ZB  */
+	 306 ,	/*  ZC  */
+	 307 ,	/*  ZD  */
+	 308 ,	/*  ZE  */
+	 309 ,	/*  ZF  */
+	 310 ,	/*  ZG  */
+	 311 ,	/*  ZH  */
+	 312 ,	/*  ZI  */
+	 313 ,	/*  ZJ  */
+	 314 ,	/*  ZK  */
+	 315 ,	/*  ZL  */
+	 316 ,	/*  ZM  */
+	 317 ,	/*  ZN  */
+	 318 ,	/*  ZO  */
+	 319 ,	/*  ZP  */
+	 320 ,	/*  ZQ  */
+	 321 ,	/*  ZR  */
+	 322 ,	/*  ZS  */
+	 323 ,	/*  ZT  */
+	 324 ,	/*  ZU  */
+	 325 ,	/*  ZV  */
+	 326 ,	/*  ZW  */
+	 327 ,	/*  ZX  */
+	 328 ,	/*  ZY  */
+	 329 ,	/*  ZZ  */
+	 330 ,	/*  Za  */
+	 331 ,	/*  Zb  */
+	 332 ,	/*  Zc  */
+	 333 ,	/*  Zd  */
+	 334 ,	/*  Ze  */
+	 335 ,	/*  Zf  */
+	 336 ,	/*  Zg  */
+	 337 ,	/*  Zh  */
+	 338 ,	/*  Zi  */
+	 339 ,	/*  Zj  */
+	 340 ,	/*  Zk  */
+	 341 ,	/*  Zl  */
+	 342 ,	/*  Zm  */
+	 343 ,	/*  Zn  */
+	 344 ,	/*  Zo  */
+	 345 ,	/*  Zp  */
+	 346 ,	/*  Zq  */
+	 347 ,	/*  Zr  */
+	 348 ,	/*  Zs  */
+	 349 ,	/*  Zt  */
+	 350 ,	/*  Zu  */
+	 351 ,	/*  Zv  */
+	 352 ,	/*  Zw  */
+	 353 ,	/*  Zx  */
+	 354 ,	/*  Zy  */
+	 371 ,	/*  Zz  */
+	 146 ,	/*  ac  */
+	 38 ,	/*  ae  */
+	 53 ,	/*  al  */
+	 25 ,	/*  as  */
+	 397 ,	/*  bc  */
+	 1 ,	/*  bl  */
+	 0 ,	/*  bt  */
+	 413 ,	/*  bx  */
+	 269 ,	/*  cb  */
+	 7 ,	/*  cd  */
+	 6 ,	/*  ce  */
+	 8 ,	/*  ch  */
+	 363 ,	/*  ci  */
+	 5 ,	/*  cl  */
+	 10 ,	/*  cm  */
+	 2 ,	/*  cr  */
+	 3 ,	/*  cs  */
+	 4 ,	/*  ct  */
+	 127 ,	/*  cv  */
+	 21 ,	/*  dc  */
+	 22 ,	/*  dl  */
+	 29 ,	/*  dm  */
+	 11 ,	/*  do  */
+	 23 ,	/*  ds  */
+	 362 ,	/*  dv  */
+	 155 ,	/*  eA  */
+	 37 ,	/*  ec  */
+	 41 ,	/*  ed  */
+	 42 ,	/*  ei  */
+	 46 ,	/*  ff  */
+	 284 ,	/*  fh  */
+	 47 ,	/*  fs  */
+	 24 ,	/*  hd  */
+	 12 ,	/*  ho  */
+	 137 ,	/*  hu  */
+	 48 ,	/*  i1  */
+	 394 ,	/*  i2  */
+	 50 ,	/*  i3  */
+	 138 ,	/*  iP  */
+	 52 ,	/*  ic  */
+	 51 ,	/*  if  */
+	 31 ,	/*  im  */
+	 54 ,	/*  ip  */
+	 49 ,	/*  is  */
+	 65 ,	/*  k0  */
+	 66 ,	/*  k1  */
+	 68 ,	/*  k2  */
+	 69 ,	/*  k3  */
+	 70 ,	/*  k4  */
+	 71 ,	/*  k5  */
+	 72 ,	/*  k6  */
+	 73 ,	/*  k7  */
+	 74 ,	/*  k8  */
+	 75 ,	/*  k9  */
+	 67 ,	/*  k;  */
+	 78 ,	/*  kA  */
+	 148 ,	/*  kB  */
+	 57 ,	/*  kC  */
+	 59 ,	/*  kD  */
+	 63 ,	/*  kE  */
+	 84 ,	/*  kF  */
+	 80 ,	/*  kH  */
+	 77 ,	/*  kI  */
+	 60 ,	/*  kL  */
+	 62 ,	/*  kM  */
+	 81 ,	/*  kN  */
+	 82 ,	/*  kP  */
+	 85 ,	/*  kR  */
+	 64 ,	/*  kS  */
+	 86 ,	/*  kT  */
+	 56 ,	/*  ka  */
+	 55 ,	/*  kb  */
+	 61 ,	/*  kd  */
+	 88 ,	/*  ke  */
+	 76 ,	/*  kh  */
+	 79 ,	/*  kl  */
+	 398 ,	/*  ko  */
+	 83 ,	/*  kr  */
+	 89 ,	/*  ks  */
+	 58 ,	/*  kt  */
+	 87 ,	/*  ku  */
+	 90 ,	/*  l0  */
+	 91 ,	/*  l1  */
+	 93 ,	/*  l2  */
+	 94 ,	/*  l3  */
+	 95 ,	/*  l4  */
+	 96 ,	/*  l5  */
+	 97 ,	/*  l6  */
+	 98 ,	/*  l7  */
+	 99 ,	/*  l8  */
+	 100 ,	/*  l9  */
+	 92 ,	/*  la  */
+	 14 ,	/*  le  */
+	 18 ,	/*  ll  */
+	 399 ,	/*  ma  */
+	 26 ,	/*  mb  */
+	 27 ,	/*  md  */
+	 39 ,	/*  me  */
+	 30 ,	/*  mh  */
+	 32 ,	/*  mk  */
+	 411 ,	/*  ml  */
+	 102 ,	/*  mm  */
+	 101 ,	/*  mo  */
+	 33 ,	/*  mp  */
+	 34 ,	/*  mr  */
+	 412 ,	/*  mu  */
+	 17 ,	/*  nd  */
+	 396 ,	/*  nl  */
+	 103 ,	/*  nw  */
+	 298 ,	/*  oc  */
+	 297 ,	/*  op  */
+	 144 ,	/*  pO  */
+	 104 ,	/*  pc  */
+	 119 ,	/*  pf  */
+	 115 ,	/*  pk  */
+	 116 ,	/*  pl  */
+	 147 ,	/*  pn  */
+	 120 ,	/*  po  */
+	 118 ,	/*  ps  */
+	 117 ,	/*  px  */
+	 122 ,	/*  r1  */
+	 123 ,	/*  r2  */
+	 124 ,	/*  r3  */
+	 145 ,	/*  rP  */
+	 126 ,	/*  rc  */
+	 125 ,	/*  rf  */
+	 121 ,	/*  rp  */
+	 395 ,	/*  rs  */
+	 364 ,	/*  s0  */
+	 365 ,	/*  s1  */
+	 366 ,	/*  s2  */
+	 367 ,	/*  s3  */
+	 392 ,	/*  sA  */
+	 131 ,	/*  sa  */
+	 128 ,	/*  sc  */
+	 43 ,	/*  se  */
+	 129 ,	/*  sf  */
+	 35 ,	/*  so  */
+	 301 ,	/*  sp  */
+	 130 ,	/*  sr  */
+	 132 ,	/*  st  */
+	 134 ,	/*  ta  */
+	 40 ,	/*  te  */
+	 28 ,	/*  ti  */
+	 135 ,	/*  ts  */
+	 287 ,	/*  u0  */
+	 288 ,	/*  u1  */
+	 289 ,	/*  u2  */
+	 290 ,	/*  u3  */
+	 291 ,	/*  u4  */
+	 292 ,	/*  u5  */
+	 293 ,	/*  u6  */
+	 294 ,	/*  u7  */
+	 295 ,	/*  u8  */
+	 296 ,	/*  u9  */
+	 136 ,	/*  uc  */
+	 44 ,	/*  ue  */
+	 19 ,	/*  up  */
+	 36 ,	/*  us  */
+	 45 ,	/*  vb  */
+	 16 ,	/*  ve  */
+	 13 ,	/*  vi  */
+	 20 ,	/*  vs  */
+	 133 ,	/*  wi  */
+	 361 ,	/*  xl  */
+};
+
+static const bool bool_from_termcap[] = {
+	TRUE,	/*  bw  */
+	TRUE,	/*  am  */
+	TRUE,	/*  xsb  */
+	TRUE,	/*  xhp  */
+	TRUE,	/*  xenl  */
+	TRUE,	/*  eo  */
+	TRUE,	/*  gn  */
+	TRUE,	/*  hc  */
+	TRUE,	/*  km  */
+	TRUE,	/*  hs  */
+	TRUE,	/*  in  */
+	TRUE,	/*  da  */
+	TRUE,	/*  db  */
+	TRUE,	/*  mir  */
+	TRUE,	/*  msgr  */
+	TRUE,	/*  os  */
+	TRUE,	/*  eslok  */
+	TRUE,	/*  xt  */
+	TRUE,	/*  hz  */
+	TRUE,	/*  ul  */
+	TRUE,	/*  xon  */
+	FALSE,	/*  nxon  */
+	FALSE,	/*  mc5i  */
+	FALSE,	/*  chts  */
+	FALSE,	/*  nrrmc  */
+	FALSE,	/*  npc  */
+	FALSE,	/*  ndscr  */
+	FALSE,	/*  ccc  */
+	FALSE,	/*  bce  */
+	FALSE,	/*  hls  */
+	FALSE,	/*  xhpa  */
+	FALSE,	/*  crxm  */
+	FALSE,	/*  daisy  */
+	FALSE,	/*  xvpa  */
+	FALSE,	/*  sam  */
+	FALSE,	/*  cpix  */
+	FALSE,	/*  lpix  */
+	TRUE,	/*  OTbs  */
+	TRUE,	/*  OTns  */
+	TRUE,	/*  OTnc  */
+	FALSE,	/*  OTMT  */
+	TRUE,	/*  OTNL  */
+	TRUE,	/*  OTpt  */
+	TRUE,	/*  OTxr  */
+#define OK_bool_from_termcap 43
+};
+
+static const bool num_from_termcap[] = {
+	TRUE,	/*  cols  */
+	TRUE,	/*  it  */
+	TRUE,	/*  lines  */
+	TRUE,	/*  lm  */
+	TRUE,	/*  xmc  */
+	TRUE,	/*  pb  */
+	TRUE,	/*  vt  */
+	TRUE,	/*  wsl  */
+	FALSE,	/*  nlab  */
+	FALSE,	/*  lh  */
+	FALSE,	/*  lw  */
+	TRUE,	/*  ma  */
+	FALSE,	/*  wnum  */
+	FALSE,	/*  colors  */
+	FALSE,	/*  pairs  */
+	FALSE,	/*  ncv  */
+	FALSE,	/*  bufsz  */
+	FALSE,	/*  spinv  */
+	FALSE,	/*  spinh  */
+	FALSE,	/*  maddr  */
+	FALSE,	/*  mjump  */
+	FALSE,	/*  mcs  */
+	FALSE,	/*  mls  */
+	FALSE,	/*  npins  */
+	FALSE,	/*  orc  */
+	FALSE,	/*  orl  */
+	FALSE,	/*  orhi  */
+	FALSE,	/*  orvi  */
+	FALSE,	/*  cps  */
+	FALSE,	/*  widcs  */
+	FALSE,	/*  btns  */
+	FALSE,	/*  bitwin  */
+	FALSE,	/*  bitype  */
+	TRUE,	/*  OTug  */
+	TRUE,	/*  OTdC  */
+	TRUE,	/*  OTdN  */
+	TRUE,	/*  OTdB  */
+	TRUE,	/*  OTdT  */
+	FALSE,	/*  OTkn  */
+#define OK_num_from_termcap 37
+};
+
+static const bool str_from_termcap[] = {
+	TRUE,	/*  cbt  */
+	TRUE,	/*  bel  */
+	TRUE,	/*  cr  */
+	TRUE,	/*  csr  */
+	TRUE,	/*  tbc  */
+	TRUE,	/*  clear  */
+	TRUE,	/*  el  */
+	TRUE,	/*  ed  */
+	FALSE,	/*  hpa  */
+	TRUE,	/*  cmdch  */
+	TRUE,	/*  cup  */
+	TRUE,	/*  cud1  */
+	TRUE,	/*  home  */
+	TRUE,	/*  civis  */
+	TRUE,	/*  cub1  */
+	TRUE,	/*  mrcup  */
+	TRUE,	/*  cnorm  */
+	TRUE,	/*  cuf1  */
+	TRUE,	/*  ll  */
+	TRUE,	/*  cuu1  */
+	TRUE,	/*  cvvis  */
+	TRUE,	/*  dch1  */
+	TRUE,	/*  dl1  */
+	TRUE,	/*  dsl  */
+	TRUE,	/*  hd  */
+	TRUE,	/*  smacs  */
+	TRUE,	/*  blink  */
+	TRUE,	/*  bold  */
+	TRUE,	/*  smcup  */
+	TRUE,	/*  smdc  */
+	TRUE,	/*  dim  */
+	TRUE,	/*  smir  */
+	FALSE,	/*  invis  */
+	FALSE,	/*  prot  */
+	TRUE,	/*  rev  */
+	TRUE,	/*  smso  */
+	TRUE,	/*  smul  */
+	TRUE,	/*  ech  */
+	TRUE,	/*  rmacs  */
+	TRUE,	/*  sgr0  */
+	TRUE,	/*  rmcup  */
+	TRUE,	/*  rmdc  */
+	TRUE,	/*  rmir  */
+	TRUE,	/*  rmso  */
+	TRUE,	/*  rmul  */
+	TRUE,	/*  flash  */
+	TRUE,	/*  ff  */
+	TRUE,	/*  fsl  */
+	TRUE,	/*  is1  */
+	TRUE,	/*  is2  */
+	TRUE,	/*  is3  */
+	TRUE,	/*  if  */
+	TRUE,	/*  ich1  */
+	TRUE,	/*  il1  */
+	TRUE,	/*  ip  */
+	TRUE,	/*  kbs  */
+	FALSE,	/*  ktbc  */
+	FALSE,	/*  kclr  */
+	FALSE,	/*  kctab  */
+	TRUE,	/*  kdch1  */
+	FALSE,	/*  kdl1  */
+	TRUE,	/*  kcud1  */
+	FALSE,	/*  krmir  */
+	FALSE,	/*  kel  */
+	FALSE,	/*  ked  */
+	TRUE,	/*  kf0  */
+	TRUE,	/*  kf1  */
+	FALSE,	/*  kf10  */
+	TRUE,	/*  kf2  */
+	TRUE,	/*  kf3  */
+	TRUE,	/*  kf4  */
+	TRUE,	/*  kf5  */
+	TRUE,	/*  kf6  */
+	TRUE,	/*  kf7  */
+	TRUE,	/*  kf8  */
+	TRUE,	/*  kf9  */
+	TRUE,	/*  khome  */
+	TRUE,	/*  kich1  */
+	FALSE,	/*  kil1  */
+	TRUE,	/*  kcub1  */
+	TRUE,	/*  kll  */
+	TRUE,	/*  knp  */
+	TRUE,	/*  kpp  */
+	TRUE,	/*  kcuf1  */
+	FALSE,	/*  kind  */
+	FALSE,	/*  kri  */
+	FALSE,	/*  khts  */
+	TRUE,	/*  kcuu1  */
+	TRUE,	/*  rmkx  */
+	TRUE,	/*  smkx  */
+	FALSE,	/*  lf0  */
+	FALSE,	/*  lf1  */
+	FALSE,	/*  lf10  */
+	FALSE,	/*  lf2  */
+	FALSE,	/*  lf3  */
+	FALSE,	/*  lf4  */
+	FALSE,	/*  lf5  */
+	FALSE,	/*  lf6  */
+	FALSE,	/*  lf7  */
+	FALSE,	/*  lf8  */
+	FALSE,	/*  lf9  */
+	TRUE,	/*  rmm  */
+	TRUE,	/*  smm  */
+	TRUE,	/*  nel  */
+	TRUE,	/*  pad  */
+	TRUE,	/*  dch  */
+	TRUE,	/*  dl  */
+	TRUE,	/*  cud  */
+	TRUE,	/*  ich  */
+	TRUE,	/*  indn  */
+	TRUE,	/*  il  */
+	TRUE,	/*  cub  */
+	TRUE,	/*  cuf  */
+	TRUE,	/*  rin  */
+	TRUE,	/*  cuu  */
+	FALSE,	/*  pfkey  */
+	FALSE,	/*  pfloc  */
+	FALSE,	/*  pfx  */
+	FALSE,	/*  mc0  */
+	FALSE,	/*  mc4  */
+	FALSE,	/*  mc5  */
+	TRUE,	/*  rep  */
+	FALSE,	/*  rs1  */
+	FALSE,	/*  rs2  */
+	FALSE,	/*  rs3  */
+	FALSE,	/*  rf  */
+	TRUE,	/*  rc  */
+	FALSE,	/*  vpa  */
+	TRUE,	/*  sc  */
+	TRUE,	/*  ind  */
+	TRUE,	/*  ri  */
+	TRUE,	/*  sgr  */
+	TRUE,	/*  hts  */
+	FALSE,	/*  wind  */
+	TRUE,	/*  ht  */
+	TRUE,	/*  tsl  */
+	TRUE,	/*  uc  */
+	TRUE,	/*  hu  */
+	FALSE,	/*  iprog  */
+	TRUE,	/*  ka1  */
+	TRUE,	/*  ka3  */
+	TRUE,	/*  kb2  */
+	TRUE,	/*  kc1  */
+	TRUE,	/*  kc3  */
+	FALSE,	/*  mc5p  */
+	FALSE,	/*  rmp  */
+	FALSE,	/*  acsc  */
+	FALSE,	/*  pln  */
+	FALSE,	/*  kcbt  */
+	FALSE,	/*  smxon  */
+	FALSE,	/*  rmxon  */
+	FALSE,	/*  smam  */
+	FALSE,	/*  rmam  */
+	FALSE,	/*  xonc  */
+	FALSE,	/*  xoffc  */
+	FALSE,	/*  enacs  */
+	FALSE,	/*  smln  */
+	FALSE,	/*  rmln  */
+	FALSE,	/*  kbeg  */
+	FALSE,	/*  kcan  */
+	FALSE,	/*  kclo  */
+	FALSE,	/*  kcmd  */
+	FALSE,	/*  kcpy  */
+	FALSE,	/*  kcrt  */
+	FALSE,	/*  kend  */
+	FALSE,	/*  kent  */
+	FALSE,	/*  kext  */
+	FALSE,	/*  kfnd  */
+	FALSE,	/*  khlp  */
+	FALSE,	/*  kmrk  */
+	FALSE,	/*  kmsg  */
+	FALSE,	/*  kmov  */
+	FALSE,	/*  knxt  */
+	FALSE,	/*  kopn  */
+	FALSE,	/*  kopt  */
+	FALSE,	/*  kprv  */
+	FALSE,	/*  kprt  */
+	FALSE,	/*  krdo  */
+	FALSE,	/*  kref  */
+	FALSE,	/*  krfr  */
+	FALSE,	/*  krpl  */
+	FALSE,	/*  krst  */
+	FALSE,	/*  kres  */
+	FALSE,	/*  ksav  */
+	FALSE,	/*  kspd  */
+	FALSE,	/*  kund  */
+	FALSE,	/*  kBEG  */
+	FALSE,	/*  kCAN  */
+	FALSE,	/*  kCMD  */
+	FALSE,	/*  kCPY  */
+	FALSE,	/*  kCRT  */
+	FALSE,	/*  kDC  */
+	FALSE,	/*  kDL  */
+	FALSE,	/*  kslt  */
+	FALSE,	/*  kEND  */
+	FALSE,	/*  kEOL  */
+	FALSE,	/*  kEXT  */
+	FALSE,	/*  kFND  */
+	FALSE,	/*  kHLP  */
+	FALSE,	/*  kHOM  */
+	FALSE,	/*  kIC  */
+	FALSE,	/*  kLFT  */
+	FALSE,	/*  kMSG  */
+	FALSE,	/*  kMOV  */
+	FALSE,	/*  kNXT  */
+	FALSE,	/*  kOPT  */
+	FALSE,	/*  kPRV  */
+	FALSE,	/*  kPRT  */
+	FALSE,	/*  kRDO  */
+	FALSE,	/*  kRPL  */
+	FALSE,	/*  kRIT  */
+	FALSE,	/*  kRES  */
+	FALSE,	/*  kSAV  */
+	FALSE,	/*  kSPD  */
+	FALSE,	/*  kUND  */
+	FALSE,	/*  rfi  */
+	FALSE,	/*  kf11  */
+	FALSE,	/*  kf12  */
+	FALSE,	/*  kf13  */
+	FALSE,	/*  kf14  */
+	FALSE,	/*  kf15  */
+	FALSE,	/*  kf16  */
+	FALSE,	/*  kf17  */
+	FALSE,	/*  kf18  */
+	FALSE,	/*  kf19  */
+	FALSE,	/*  kf20  */
+	FALSE,	/*  kf21  */
+	FALSE,	/*  kf22  */
+	FALSE,	/*  kf23  */
+	FALSE,	/*  kf24  */
+	FALSE,	/*  kf25  */
+	FALSE,	/*  kf26  */
+	FALSE,	/*  kf27  */
+	FALSE,	/*  kf28  */
+	FALSE,	/*  kf29  */
+	FALSE,	/*  kf30  */
+	FALSE,	/*  kf31  */
+	FALSE,	/*  kf32  */
+	FALSE,	/*  kf33  */
+	FALSE,	/*  kf34  */
+	FALSE,	/*  kf35  */
+	FALSE,	/*  kf36  */
+	FALSE,	/*  kf37  */
+	FALSE,	/*  kf38  */
+	FALSE,	/*  kf39  */
+	FALSE,	/*  kf40  */
+	FALSE,	/*  kf41  */
+	FALSE,	/*  kf42  */
+	FALSE,	/*  kf43  */
+	FALSE,	/*  kf44  */
+	FALSE,	/*  kf45  */
+	FALSE,	/*  kf46  */
+	FALSE,	/*  kf47  */
+	FALSE,	/*  kf48  */
+	FALSE,	/*  kf49  */
+	FALSE,	/*  kf50  */
+	FALSE,	/*  kf51  */
+	FALSE,	/*  kf52  */
+	FALSE,	/*  kf53  */
+	FALSE,	/*  kf54  */
+	FALSE,	/*  kf55  */
+	FALSE,	/*  kf56  */
+	FALSE,	/*  kf57  */
+	FALSE,	/*  kf58  */
+	FALSE,	/*  kf59  */
+	FALSE,	/*  kf60  */
+	FALSE,	/*  kf61  */
+	FALSE,	/*  kf62  */
+	FALSE,	/*  kf63  */
+	FALSE,	/*  el1  */
+	FALSE,	/*  mgc  */
+	FALSE,	/*  smgl  */
+	FALSE,	/*  smgr  */
+	FALSE,	/*  fln  */
+	FALSE,	/*  sclk  */
+	FALSE,	/*  dclk  */
+	FALSE,	/*  rmclk  */
+	FALSE,	/*  cwin  */
+	FALSE,	/*  wingo  */
+	FALSE,	/*  hup  */
+	FALSE,	/*  dial  */
+	FALSE,	/*  qdial  */
+	FALSE,	/*  tone  */
+	FALSE,	/*  pulse  */
+	FALSE,	/*  hook  */
+	FALSE,	/*  pause  */
+	FALSE,	/*  wait  */
+	FALSE,	/*  u0  */
+	FALSE,	/*  u1  */
+	FALSE,	/*  u2  */
+	FALSE,	/*  u3  */
+	FALSE,	/*  u4  */
+	FALSE,	/*  u5  */
+	FALSE,	/*  u6  */
+	FALSE,	/*  u7  */
+	FALSE,	/*  u8  */
+	FALSE,	/*  u9  */
+	FALSE,	/*  op  */
+	FALSE,	/*  oc  */
+	FALSE,	/*  initc  */
+	FALSE,	/*  initp  */
+	FALSE,	/*  scp  */
+	FALSE,	/*  setf  */
+	FALSE,	/*  setb  */
+	FALSE,	/*  cpi  */
+	FALSE,	/*  lpi  */
+	FALSE,	/*  chr  */
+	FALSE,	/*  cvr  */
+	FALSE,	/*  defc  */
+	FALSE,	/*  swidm  */
+	FALSE,	/*  sdrfq  */
+	FALSE,	/*  sitm  */
+	FALSE,	/*  slm  */
+	FALSE,	/*  smicm  */
+	FALSE,	/*  snlq  */
+	FALSE,	/*  snrmq  */
+	FALSE,	/*  sshm  */
+	FALSE,	/*  ssubm  */
+	FALSE,	/*  ssupm  */
+	FALSE,	/*  sum  */
+	FALSE,	/*  rwidm  */
+	FALSE,	/*  ritm  */
+	FALSE,	/*  rlm  */
+	FALSE,	/*  rmicm  */
+	FALSE,	/*  rshm  */
+	FALSE,	/*  rsubm  */
+	FALSE,	/*  rsupm  */
+	FALSE,	/*  rum  */
+	FALSE,	/*  mhpa  */
+	FALSE,	/*  mcud1  */
+	FALSE,	/*  mcub1  */
+	FALSE,	/*  mcuf1  */
+	FALSE,	/*  mvpa  */
+	FALSE,	/*  mcuu1  */
+	FALSE,	/*  porder  */
+	FALSE,	/*  mcud  */
+	FALSE,	/*  mcub  */
+	FALSE,	/*  mcuf  */
+	FALSE,	/*  mcuu  */
+	FALSE,	/*  scs  */
+	FALSE,	/*  smgb  */
+	FALSE,	/*  smgbp  */
+	FALSE,	/*  smglp  */
+	FALSE,	/*  smgrp  */
+	FALSE,	/*  smgt  */
+	FALSE,	/*  smgtp  */
+	FALSE,	/*  sbim  */
+	FALSE,	/*  scsd  */
+	FALSE,	/*  rbim  */
+	FALSE,	/*  rcsd  */
+	FALSE,	/*  subcs  */
+	FALSE,	/*  supcs  */
+	FALSE,	/*  docr  */
+	FALSE,	/*  zerom  */
+	FALSE,	/*  csnm  */
+	FALSE,	/*  kmous  */
+	FALSE,	/*  minfo  */
+	FALSE,	/*  reqmp  */
+	FALSE,	/*  getm  */
+	FALSE,	/*  setaf  */
+	FALSE,	/*  setab  */
+	FALSE,	/*  pfxl  */
+	FALSE,	/*  devt  */
+	FALSE,	/*  csin  */
+	FALSE,	/*  s0ds  */
+	FALSE,	/*  s1ds  */
+	FALSE,	/*  s2ds  */
+	FALSE,	/*  s3ds  */
+	FALSE,	/*  smglr  */
+	FALSE,	/*  smgtb  */
+	FALSE,	/*  birep  */
+	FALSE,	/*  binel  */
+	FALSE,	/*  bicr  */
+	FALSE,	/*  colornm  */
+	FALSE,	/*  defbi  */
+	FALSE,	/*  endbi  */
+	FALSE,	/*  setcolor  */
+	FALSE,	/*  slines  */
+	FALSE,	/*  dispc  */
+	FALSE,	/*  smpch  */
+	FALSE,	/*  rmpch  */
+	FALSE,	/*  smsc  */
+	FALSE,	/*  rmsc  */
+	FALSE,	/*  pctrm  */
+	FALSE,	/*  scesc  */
+	FALSE,	/*  scesa  */
+	FALSE,	/*  ehhlm  */
+	FALSE,	/*  elhlm  */
+	FALSE,	/*  elohlm  */
+	FALSE,	/*  erhlm  */
+	FALSE,	/*  ethlm  */
+	FALSE,	/*  evhlm  */
+	FALSE,	/*  sgr1  */
+	FALSE,	/*  slength  */
+	TRUE,	/*  OTi2  */
+	TRUE,	/*  OTrs  */
+	TRUE,	/*  OTnl  */
+	TRUE,	/*  OTbc  */
+	FALSE,	/*  OTko  */
+	TRUE,	/*  OTma  */
+	FALSE,	/*  OTG2  */
+	FALSE,	/*  OTG3  */
+	FALSE,	/*  OTG1  */
+	FALSE,	/*  OTG4  */
+	FALSE,	/*  OTGR  */
+	FALSE,	/*  OTGL  */
+	FALSE,	/*  OTGU  */
+	FALSE,	/*  OTGD  */
+	FALSE,	/*  OTGH  */
+	FALSE,	/*  OTGV  */
+	FALSE,	/*  OTGC  */
+	FALSE,	/*  meml  */
+	FALSE,	/*  memu  */
+	FALSE,	/*  box1  */
+#define OK_str_from_termcap 399
+};
+
+#endif /* _TERMSORT_H */
diff --git a/progs/tic b/progs/tic
new file mode 100755
index 0000000..5034394
--- /dev/null
+++ b/progs/tic
Binary files differ
diff --git a/progs/toe b/progs/toe
new file mode 100755
index 0000000..936f994
--- /dev/null
+++ b/progs/toe
Binary files differ
diff --git a/progs/tput b/progs/tput
new file mode 100755
index 0000000..bb0170b
--- /dev/null
+++ b/progs/tput
Binary files differ
diff --git a/progs/transform.h b/progs/transform.h
new file mode 100644
index 0000000..ec255c0
--- /dev/null
+++ b/progs/transform.h
@@ -0,0 +1,10 @@
+#ifndef __TRANSFORM_H
+#define __TRANSFORM_H 1
+#include <progs.priv.h>
+extern bool same_program(const char *, const char *);
+#define PROG_CAPTOINFO "captoinfo"
+#define PROG_INFOTOCAP "infotocap"
+#define PROG_CLEAR     "clear"
+#define PROG_RESET     "reset"
+#define PROG_INIT      "init"
+#endif /* __TRANSFORM_H */
diff --git a/progs/tset b/progs/tset
new file mode 100755
index 0000000..8110469
--- /dev/null
+++ b/progs/tset
Binary files differ
diff --git a/test/Makefile b/test/Makefile
new file mode 100644
index 0000000..90cf37a
--- /dev/null
+++ b/test/Makefile
@@ -0,0 +1,1747 @@
+# $Id: Makefile.in,v 1.130 2021/12/18 23:00:28 tom Exp $
+##############################################################################
+# Copyright 2020,2021 Thomas E. Dickey                                       #
+# Copyright 1998-2017,2018 Free Software Foundation, Inc.                    #
+#                                                                            #
+# Permission is hereby granted, free of charge, to any person obtaining a    #
+# copy of this software and associated documentation files (the "Software"), #
+# to deal in the Software without restriction, including without limitation  #
+# the rights to use, copy, modify, merge, publish, distribute, distribute    #
+# with modifications, sublicense, and/or sell copies of the Software, and to #
+# permit persons to whom the Software is furnished to do so, subject to the  #
+# following conditions:                                                      #
+#                                                                            #
+# The above copyright notice and this permission notice shall be included in #
+# all copies or substantial portions of the Software.                        #
+#                                                                            #
+# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR #
+# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,   #
+# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL    #
+# THE ABOVE COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER      #
+# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING    #
+# FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER        #
+# DEALINGS IN THE SOFTWARE.                                                  #
+#                                                                            #
+# Except as contained in this notice, the name(s) of the above copyright     #
+# holders shall not be used in advertising or otherwise to promote the sale, #
+# use or other dealings in this Software without prior written               #
+# authorization.                                                             #
+##############################################################################
+#
+# Author: Thomas E. Dickey 1996-on
+#
+# Makefile for ncurses tests.
+
+# turn off _all_ suffix rules; we'll generate our own
+.SUFFIXES:
+
+SHELL		= /bin/sh
+
+
+
+
+destdir		=
+x		= 
+o		= .o
+
+PACKAGE		= ncursesw
+
+MODEL		= ../objects
+top_srcdir	= ..
+srcdir		= .
+prefix		= /usr
+exec_prefix	= ${prefix}
+datarootdir	= ${prefix}/share
+
+bindir		= ${exec_prefix}/bin
+libexecdir	= ${exec_prefix}/libexec
+libdir		= ${exec_prefix}/lib
+datarootdir	= ${prefix}/share
+datadir		= ${datarootdir}
+
+real_bindir	= $(libexecdir)/$(PACKAGE)
+
+BINDIR		= $(DESTDIR)$(bindir)
+LIBEXECDIR	= $(DESTDIR)$(libexecdir)
+LIBDIR		= $(DESTDIR)$(libdir)
+DATADIR		= $(DESTDIR)$(datadir)
+
+REAL_BINDIR	= $(LIBEXECDIR)/$(PACKAGE)
+
+LIBTOOL		= 
+LIBTOOL_OPTS	= 
+LIBTOOL_CLEAN	= 
+LIBTOOL_COMPILE	= 
+LIBTOOL_LINK	= ${CC}
+
+INSTALL		= /usr/bin/install -c 
+INSTALL_PROG	= ${INSTALL} -s
+INSTALL_SCRIPT	= ${INSTALL}
+INSTALL_DATA	= ${INSTALL} -m 644
+transform	= s,x,x,
+TRANSFORM	= sed 's/$x$$//'|sed '$(transform)'|sed 's/$$/$x/'
+
+CTAGS		= ctags
+ETAGS		= etags
+
+CC		= gcc
+CPP		= gcc -E
+
+CFLAGS		= -O2 --param max-inline-insns-single=1200 
+CPPFLAGS	= -I. -I$(srcdir) -I../test -DHAVE_CONFIG_H -DDATA_DIR=\"$(datadir)\" -I. -I../include -D_DEFAULT_SOURCE -D_XOPEN_SOURCE=600 -DNDEBUG
+
+CCFLAGS		= $(CPPFLAGS) $(CFLAGS)
+
+CFLAGS_LIBTOOL	= $(CCFLAGS)
+CFLAGS_NORMAL	= $(CCFLAGS) -DNCURSES_STATIC
+CFLAGS_DEBUG	= $(CCFLAGS) -DNCURSES_STATIC -g -DTRACE
+CFLAGS_PROFILE	= $(CCFLAGS) -DNCURSES_STATIC -pg
+CFLAGS_SHARED	= $(CCFLAGS) -fPIC
+
+CFLAGS_DEFAULT	= $(CFLAGS_NORMAL)
+
+REL_VERSION	= 6.5
+ABI_VERSION	= 6
+LOCAL_LIBDIR	= /home/micky387/Omni/external/libncurses/lib
+LOCAL_LIBS	= ../lib/libformw.a ../lib/libmenuw.a ../lib/libpanelw.a ../lib/libncursesw.a 
+MATH_LIB	= -lm
+TEST_LIBS	= -lutil 
+
+LD		= ld
+LINK		=  $(LIBTOOL_LINK) $(CFLAGS)
+
+LDFLAGS		=   
+
+LDFLAGS_LIBTOOL	= $(LDFLAGS) $(CFLAGS_LIBTOOL)
+LDFLAGS_NORMAL	= $(LDFLAGS) $(CFLAGS_NORMAL)
+LDFLAGS_DEBUG	= $(LDFLAGS) $(CFLAGS_DEBUG)
+LDFLAGS_PROFILE	= $(LDFLAGS) $(CFLAGS_PROFILE)
+LDFLAGS_SHARED	= $(LDFLAGS) $(CFLAGS_SHARED) 
+
+TEST_ARGS	=  -L../lib -lformw -lmenuw -lpanelw -lncursesw  
+
+# use these for linking with all of the libraries
+LIBS_DEFAULT	= $(TEST_ARGS)  $(TEST_LIBS)
+LDFLAGS_DEFAULT	= $(LDFLAGS_NORMAL) $(LIBS_DEFAULT)
+
+# use these for linking with the (n)curses library and possibly pthreads
+LIBS_THREADS	= `echo "$(TEST_ARGS) " | sed -e 's/-lform.*-lpanel[^ ]*//'` $(TEST_LIBS) 
+LDFLAGS_THREADS	= $(LDFLAGS_NORMAL) $(LIBS_THREADS)
+
+# use these for linking with the (n)curses library
+LIBS_CURSES	= `echo "$(TEST_ARGS) " | sed -e 's/-lform.*-lpanel[^ ]*//'` $(TEST_LIBS)
+LDFLAGS_CURSES	= $(LDFLAGS_NORMAL) $(LIBS_CURSES)
+
+# use these when we need the math library
+LDFLAGS_CURSES_M= $(LDFLAGS_CURSES) $(MATH_LIB)
+
+# use these for linking with the tinfo library if we have it, or curses library if not
+LIBS_TINFO	=  -lncursesw   $(TEST_LIBS)
+LDFLAGS_TINFO	= -L../lib $(LDFLAGS_NORMAL) $(LIBS_TINFO)
+
+LINT		= 
+LINT_OPTS	= 
+LINT_LIBS	= -lform -lmenu -lpanel -lncurses 
+
+INCDIR		= $(top_srcdir)/include
+incdir		= ../include
+
+HEADER_DEPS	= \
+	$(incdir)/curses.h \
+	$(incdir)/term.h \
+	$(incdir)/ncurses_cfg.h \
+	$(incdir)/ncurses_def.h \
+	$(incdir)/ncurses_dll.h \
+	$(incdir)/term.h \
+	$(incdir)/unctrl.h \
+	$(INCDIR)/nc_alloc.h
+
+################################################################################
+
+.PHONY :	all
+.PHONY :	check
+
+all::
+
+# Verify that each header-file can be compiled without including another.
+check::
+	@$(SHELL) -c "for header in *.h;\
+		do \
+			echo \"** testing \$${header}\" ; \
+			echo \"#include <\$${header}>\" >headers.c; \
+			echo \"int main(void) { return 0; }\" >>headers.c; \
+			$(CC) -c $(CFLAGS) $(CPPFLAGS) headers.c; \
+		done"
+	-@rm -f headers.*
+
+# The rest is generated from the "programs" and "modules" files...
+# generated by mk-test.awk
+
+TESTS	= $(destdir)back_ground$x \
+	  $(destdir)background$x \
+	  $(destdir)blue$x \
+	  $(destdir)bs$x \
+	  $(destdir)cardfile$x \
+	  $(destdir)chgat$x \
+	  $(destdir)clip_printw$x \
+	  $(destdir)color_content$x \
+	  $(destdir)color_set$x \
+	  $(destdir)combine$x \
+	  $(destdir)demo_altkeys$x \
+	  $(destdir)demo_defkey$x \
+	  $(destdir)demo_forms$x \
+	  $(destdir)demo_keyok$x \
+	  $(destdir)demo_menus$x \
+	  $(destdir)demo_new_pair$x \
+	  $(destdir)demo_panels$x \
+	  $(destdir)demo_tabs$x \
+	  $(destdir)demo_termcap$x \
+	  $(destdir)demo_terminfo$x \
+	  $(destdir)ditto$x \
+	  $(destdir)dots$x \
+	  $(destdir)dots_curses$x \
+	  $(destdir)dots_mvcur$x \
+	  $(destdir)dots_termcap$x \
+	  $(destdir)dots_xcurses$x \
+	  $(destdir)dup_field$x \
+	  $(destdir)echochar$x \
+	  $(destdir)extended_color$x \
+	  $(destdir)filter$x \
+	  $(destdir)firework$x \
+	  $(destdir)firstlast$x \
+	  $(destdir)foldkeys$x \
+	  $(destdir)form_driver_w$x \
+	  $(destdir)gdc$x \
+	  $(destdir)hanoi$x \
+	  $(destdir)hashtest$x \
+	  $(destdir)inch_wide$x \
+	  $(destdir)inchs$x \
+	  $(destdir)ins_wide$x \
+	  $(destdir)insdelln$x \
+	  $(destdir)inserts$x \
+	  $(destdir)key_names$x \
+	  $(destdir)keynames$x \
+	  $(destdir)knight$x \
+	  $(destdir)list_keys$x \
+	  $(destdir)lrtest$x \
+	  $(destdir)move_field$x \
+	  $(destdir)movewindow$x \
+	  $(destdir)ncurses$x \
+	  $(destdir)newdemo$x \
+	  $(destdir)padview$x \
+	  $(destdir)pair_content$x \
+	  $(destdir)picsmap$x \
+	  $(destdir)railroad$x \
+	  $(destdir)rain$x \
+	  $(destdir)redraw$x \
+	  $(destdir)savescreen$x \
+	  $(destdir)sp_tinfo$x \
+	  $(destdir)tclock$x \
+	  $(destdir)test_add_wchstr$x \
+	  $(destdir)test_addchstr$x \
+	  $(destdir)test_addstr$x \
+	  $(destdir)test_addwstr$x \
+	  $(destdir)test_arrays$x \
+	  $(destdir)test_delwin$x \
+	  $(destdir)test_endwin$x \
+	  $(destdir)test_get_wstr$x \
+	  $(destdir)test_getstr$x \
+	  $(destdir)test_instr$x \
+	  $(destdir)test_inwstr$x \
+	  $(destdir)test_mouse$x \
+	  $(destdir)test_opaque$x \
+	  $(destdir)test_setupterm$x \
+	  $(destdir)test_sgr$x \
+	  $(destdir)test_termattrs$x \
+	  $(destdir)test_tparm$x \
+	  $(destdir)test_unget_wch$x \
+	  $(destdir)test_vid_puts$x \
+	  $(destdir)test_vidputs$x \
+	  $(destdir)testaddch$x \
+	  $(destdir)testcurs$x \
+	  $(destdir)testscanw$x \
+	  $(destdir)view$x \
+	  $(destdir)worm$x \
+	  $(destdir)xmas$x
+SCRIPTS = \
+	$(srcdir)/savescreen.sh \
+	$(srcdir)/tput-colorcube \
+	$(srcdir)/tput-initc \
+	$(srcdir)/tracemunch
+DATAFILES = \
+	$(srcdir)/*.x* \
+	$(srcdir)/*.dat
+
+all:: $(TESTS)
+
+sources:
+
+check::
+	@ echo The test-programs are interactive
+tags:
+	$(CTAGS) *.[ch]
+
+# no libraries here
+libs \
+install.libs \
+uninstall.libs:
+
+install \
+install.test \
+uninstall \
+uninstall.test:
+
+mostlyclean ::
+	-rm -f core tags TAGS *~ *.bak *.i *.ln *.atac trace
+
+clean :: mostlyclean
+	-$(SHELL) -c "if test -n '$x' ; then $(MAKE) clean x=''; fi"
+	-rm -rf *$o screendump *.lis $(TESTS) .libs *.dSYM
+	-rm -f $(PACKAGE)
+
+distclean :: clean
+	-rm -f Makefile ncurses_cfg.h config.status config.log
+
+realclean :: distclean
+
+lint:
+	$(SHELL) -c 'for N in $(TESTS); do echo LINT:$$N; $(LINT) $(LINT_OPTS) $(CPPFLAGS) $(srcdir)/$$N.c $(LINT_LIBS); done'
+$(BINDIR) $(REAL_BINDIR) $(DATADIR) :
+	mkdir -p $@
+
+$(destdir)back_ground$x: $(MODEL)/back_ground$o $(MODEL)/dump_window$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/back_ground$o $(MODEL)/dump_window$o $(LDFLAGS_CURSES)
+
+$(destdir)background$x: $(MODEL)/background$o $(MODEL)/dump_window$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/background$o $(MODEL)/dump_window$o $(LDFLAGS_CURSES)
+
+$(destdir)blue$x: $(MODEL)/blue$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/blue$o $(LDFLAGS_CURSES)
+
+$(destdir)bs$x: $(MODEL)/bs$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/bs$o $(LDFLAGS_CURSES)
+
+$(destdir)cardfile$x: $(MODEL)/cardfile$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/cardfile$o $(LDFLAGS_DEFAULT)
+
+$(destdir)chgat$x: $(MODEL)/chgat$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/chgat$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)clip_printw$x: $(MODEL)/clip_printw$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/clip_printw$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)color_content$x: $(MODEL)/color_content$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/color_content$o $(LDFLAGS_CURSES)
+
+$(destdir)color_set$x: $(MODEL)/color_set$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/color_set$o $(LDFLAGS_CURSES)
+
+$(destdir)combine$x: $(MODEL)/combine$o $(MODEL)/dump_window$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/combine$o $(MODEL)/dump_window$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)demo_altkeys$x: $(MODEL)/demo_altkeys$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_altkeys$o $(LDFLAGS_CURSES)
+
+$(destdir)demo_defkey$x: $(MODEL)/demo_defkey$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_defkey$o $(LDFLAGS_CURSES)
+
+$(destdir)demo_forms$x: $(MODEL)/demo_forms$o $(MODEL)/edit_field$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_forms$o $(MODEL)/edit_field$o $(MODEL)/popup_msg$o $(LDFLAGS_DEFAULT)
+
+$(destdir)demo_keyok$x: $(MODEL)/demo_keyok$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_keyok$o $(LDFLAGS_CURSES)
+
+$(destdir)demo_menus$x: $(MODEL)/demo_menus$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_menus$o $(LDFLAGS_DEFAULT)
+
+$(destdir)demo_new_pair$x: $(MODEL)/demo_new_pair$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_new_pair$o $(MODEL)/popup_msg$o $(LDFLAGS_DEFAULT)
+
+$(destdir)demo_panels$x: $(MODEL)/demo_panels$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_panels$o $(LDFLAGS_DEFAULT)
+
+$(destdir)demo_tabs$x: $(MODEL)/demo_tabs$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_tabs$o $(LDFLAGS_CURSES)
+
+$(destdir)demo_termcap$x: $(MODEL)/demo_termcap$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_termcap$o $(LDFLAGS_TINFO)
+
+$(destdir)demo_terminfo$x: $(MODEL)/demo_terminfo$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/demo_terminfo$o $(LDFLAGS_TINFO)
+
+$(destdir)ditto$x: $(MODEL)/ditto$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/ditto$o $(LDFLAGS_THREADS)
+
+$(destdir)dots$x: $(MODEL)/dots$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/dots$o $(LDFLAGS_TINFO)
+
+$(destdir)dots_curses$x: $(MODEL)/dots_curses$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/dots_curses$o $(LDFLAGS_CURSES)
+
+$(destdir)dots_mvcur$x: $(MODEL)/dots_mvcur$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/dots_mvcur$o $(LDFLAGS_CURSES)
+
+$(destdir)dots_termcap$x: $(MODEL)/dots_termcap$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/dots_termcap$o $(LDFLAGS_TINFO)
+
+$(destdir)dots_xcurses$x: $(MODEL)/dots_xcurses$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/dots_xcurses$o $(LDFLAGS_CURSES)
+
+$(destdir)dup_field$x: $(MODEL)/dup_field$o $(MODEL)/edit_field$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/dup_field$o $(MODEL)/edit_field$o $(MODEL)/popup_msg$o $(LDFLAGS_DEFAULT)
+
+$(destdir)echochar$x: $(MODEL)/echochar$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/echochar$o $(LDFLAGS_CURSES)
+
+$(destdir)extended_color$x: $(MODEL)/extended_color$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/extended_color$o $(LDFLAGS_CURSES)
+
+$(destdir)filter$x: $(MODEL)/filter$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/filter$o $(LDFLAGS_CURSES)
+
+$(destdir)firework$x: $(MODEL)/firework$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/firework$o $(LDFLAGS_CURSES)
+
+$(destdir)firstlast$x: $(MODEL)/firstlast$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/firstlast$o $(LDFLAGS_DEFAULT)
+
+$(destdir)foldkeys$x: $(MODEL)/foldkeys$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/foldkeys$o $(LDFLAGS_CURSES)
+
+$(destdir)form_driver_w$x: $(MODEL)/form_driver_w$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/form_driver_w$o $(MODEL)/popup_msg$o $(LDFLAGS_DEFAULT)
+
+$(destdir)gdc$x: $(MODEL)/gdc$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/gdc$o $(LDFLAGS_CURSES)
+
+$(destdir)hanoi$x: $(MODEL)/hanoi$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/hanoi$o $(LDFLAGS_CURSES_M)
+
+$(destdir)hashtest$x: $(MODEL)/hashtest$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/hashtest$o $(LDFLAGS_CURSES)
+
+$(destdir)inch_wide$x: $(MODEL)/inch_wide$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/inch_wide$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)inchs$x: $(MODEL)/inchs$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/inchs$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)ins_wide$x: $(MODEL)/ins_wide$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/ins_wide$o $(LDFLAGS_CURSES)
+
+$(destdir)insdelln$x: $(MODEL)/insdelln$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/insdelln$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)inserts$x: $(MODEL)/inserts$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/inserts$o $(LDFLAGS_CURSES)
+
+$(destdir)key_names$x: $(MODEL)/key_names$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/key_names$o $(LDFLAGS_CURSES)
+
+$(destdir)keynames$x: $(MODEL)/keynames$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/keynames$o $(LDFLAGS_CURSES)
+
+$(destdir)knight$x: $(MODEL)/knight$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/knight$o $(LDFLAGS_CURSES)
+
+$(destdir)list_keys$x: $(MODEL)/list_keys$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/list_keys$o $(LDFLAGS_TINFO)
+
+$(destdir)lrtest$x: $(MODEL)/lrtest$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/lrtest$o $(LDFLAGS_CURSES)
+
+$(destdir)move_field$x: $(MODEL)/move_field$o $(MODEL)/edit_field$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/move_field$o $(MODEL)/edit_field$o $(MODEL)/popup_msg$o $(LDFLAGS_DEFAULT)
+
+$(destdir)movewindow$x: $(MODEL)/movewindow$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/movewindow$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)ncurses$x: $(MODEL)/ncurses$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/ncurses$o $(LDFLAGS_DEFAULT)
+
+$(destdir)newdemo$x: $(MODEL)/newdemo$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/newdemo$o $(LDFLAGS_CURSES)
+
+$(destdir)padview$x: $(MODEL)/padview$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/padview$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)pair_content$x: $(MODEL)/pair_content$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/pair_content$o $(LDFLAGS_CURSES)
+
+$(destdir)picsmap$x: $(MODEL)/picsmap$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/picsmap$o $(LDFLAGS_CURSES)
+
+$(destdir)railroad$x: $(MODEL)/railroad$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/railroad$o $(LDFLAGS_TINFO)
+
+$(destdir)rain$x: $(MODEL)/rain$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/rain$o $(MODEL)/popup_msg$o $(LDFLAGS_THREADS)
+
+$(destdir)redraw$x: $(MODEL)/redraw$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/redraw$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)savescreen$x: $(MODEL)/savescreen$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/savescreen$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)sp_tinfo$x: $(MODEL)/sp_tinfo$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/sp_tinfo$o $(LDFLAGS_TINFO)
+
+$(destdir)tclock$x: $(MODEL)/tclock$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/tclock$o $(LDFLAGS_CURSES_M)
+
+$(destdir)test_add_wchstr$x: $(MODEL)/test_add_wchstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_add_wchstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_addchstr$x: $(MODEL)/test_addchstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_addchstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_addstr$x: $(MODEL)/test_addstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_addstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_addwstr$x: $(MODEL)/test_addwstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_addwstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_arrays$x: $(MODEL)/test_arrays$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_arrays$o $(LDFLAGS_TINFO)
+
+$(destdir)test_delwin$x: $(MODEL)/test_delwin$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_delwin$o $(LDFLAGS_CURSES)
+
+$(destdir)test_endwin$x: $(MODEL)/test_endwin$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_endwin$o $(LDFLAGS_CURSES)
+
+$(destdir)test_get_wstr$x: $(MODEL)/test_get_wstr$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_get_wstr$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)test_getstr$x: $(MODEL)/test_getstr$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_getstr$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)test_instr$x: $(MODEL)/test_instr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_instr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_inwstr$x: $(MODEL)/test_inwstr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_inwstr$o $(LDFLAGS_CURSES)
+
+$(destdir)test_mouse$x: $(MODEL)/test_mouse$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_mouse$o $(LDFLAGS_CURSES)
+
+$(destdir)test_opaque$x: $(MODEL)/test_opaque$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_opaque$o $(LDFLAGS_CURSES)
+
+$(destdir)test_setupterm$x: $(MODEL)/test_setupterm$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_setupterm$o $(LDFLAGS_CURSES)
+
+$(destdir)test_sgr$x: $(MODEL)/test_sgr$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_sgr$o $(LDFLAGS_TINFO)
+
+$(destdir)test_termattrs$x: $(MODEL)/test_termattrs$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_termattrs$o $(LDFLAGS_CURSES)
+
+$(destdir)test_tparm$x: $(MODEL)/test_tparm$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_tparm$o $(LDFLAGS_TINFO)
+
+$(destdir)test_unget_wch$x: $(MODEL)/test_unget_wch$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_unget_wch$o $(LDFLAGS_CURSES)
+
+$(destdir)test_vid_puts$x: $(MODEL)/test_vid_puts$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_vid_puts$o $(LDFLAGS_CURSES)
+
+$(destdir)test_vidputs$x: $(MODEL)/test_vidputs$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/test_vidputs$o $(LDFLAGS_CURSES)
+
+$(destdir)testaddch$x: $(MODEL)/testaddch$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/testaddch$o $(LDFLAGS_CURSES)
+
+$(destdir)testcurs$x: $(MODEL)/testcurs$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/testcurs$o $(LDFLAGS_CURSES)
+
+$(destdir)testscanw$x: $(MODEL)/testscanw$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/testscanw$o $(LDFLAGS_CURSES)
+
+$(destdir)view$x: $(MODEL)/view$o $(MODEL)/popup_msg$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/view$o $(MODEL)/popup_msg$o $(LDFLAGS_CURSES)
+
+$(destdir)worm$x: $(MODEL)/worm$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/worm$o $(LDFLAGS_THREADS)
+
+$(destdir)xmas$x: $(MODEL)/xmas$o $(LOCAL_LIBS)
+	$(LINK) -o $@ $(MODEL)/xmas$o $(LDFLAGS_CURSES)
+
+# Generated by CF_LIB_RULES
+resulting.map: 
+	mawk 'BEGIN { skip = 1; last=""; } /deprecated in ABI6/ { next; }{ sub("NCURSES([WT]+)?", "&6"); } { if ( last != "" && ( skip == 0 || $$0 !~ /}/ ) ) { print last; } skip = 0; last = $$0; } END { print last; }' < "" >$@
+
+distclean::
+	rm -f resulting.map
+
+# generated by mk-0th.awk
+#   libname:    testw
+#   subsets:    ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+
+.SUFFIXES: .c .cc .h .i .ii
+.c.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+.cc.ii :
+	$(CPP) $(CPPFLAGS) $< >$@
+.h.i :
+	$(CPP) $(CPPFLAGS) $< >$@
+
+C_SRC = \
+	$(srcdir)/back_ground.c \
+	$(srcdir)/background.c \
+	$(srcdir)/blue.c \
+	$(srcdir)/bs.c \
+	$(srcdir)/cardfile.c \
+	$(srcdir)/chgat.c \
+	$(srcdir)/clip_printw.c \
+	$(srcdir)/color_content.c \
+	$(srcdir)/color_set.c \
+	$(srcdir)/combine.c \
+	$(srcdir)/demo_altkeys.c \
+	$(srcdir)/demo_defkey.c \
+	$(srcdir)/demo_forms.c \
+	$(srcdir)/demo_keyok.c \
+	$(srcdir)/demo_menus.c \
+	$(srcdir)/demo_new_pair.c \
+	$(srcdir)/demo_panels.c \
+	$(srcdir)/demo_tabs.c \
+	$(srcdir)/demo_termcap.c \
+	$(srcdir)/demo_terminfo.c \
+	$(srcdir)/ditto.c \
+	$(srcdir)/dots.c \
+	$(srcdir)/dots_curses.c \
+	$(srcdir)/dots_mvcur.c \
+	$(srcdir)/dots_termcap.c \
+	$(srcdir)/dots_xcurses.c \
+	$(srcdir)/dump_window.c \
+	$(srcdir)/dup_field.c \
+	$(srcdir)/echochar.c \
+	$(srcdir)/edit_field.c \
+	$(srcdir)/extended_color.c \
+	$(srcdir)/filter.c \
+	$(srcdir)/firework.c \
+	$(srcdir)/firstlast.c \
+	$(srcdir)/foldkeys.c \
+	$(srcdir)/form_driver_w.c \
+	$(srcdir)/gdc.c \
+	$(srcdir)/hanoi.c \
+	$(srcdir)/hashtest.c \
+	$(srcdir)/inch_wide.c \
+	$(srcdir)/inchs.c \
+	$(srcdir)/ins_wide.c \
+	$(srcdir)/insdelln.c \
+	$(srcdir)/inserts.c \
+	$(srcdir)/key_names.c \
+	$(srcdir)/keynames.c \
+	$(srcdir)/knight.c \
+	$(srcdir)/list_keys.c \
+	$(srcdir)/lrtest.c \
+	$(srcdir)/move_field.c \
+	$(srcdir)/movewindow.c \
+	$(srcdir)/ncurses.c \
+	$(srcdir)/newdemo.c \
+	$(srcdir)/padview.c \
+	$(srcdir)/pair_content.c \
+	$(srcdir)/picsmap.c \
+	$(srcdir)/popup_msg.c \
+	$(srcdir)/railroad.c \
+	$(srcdir)/rain.c \
+	$(srcdir)/redraw.c \
+	$(srcdir)/savescreen.c \
+	$(srcdir)/sp_tinfo.c \
+	$(srcdir)/tclock.c \
+	$(srcdir)/test_add_wchstr.c \
+	$(srcdir)/test_addchstr.c \
+	$(srcdir)/test_addstr.c \
+	$(srcdir)/test_addwstr.c \
+	$(srcdir)/test_arrays.c \
+	$(srcdir)/test_delwin.c \
+	$(srcdir)/test_endwin.c \
+	$(srcdir)/test_get_wstr.c \
+	$(srcdir)/test_getstr.c \
+	$(srcdir)/test_instr.c \
+	$(srcdir)/test_inwstr.c \
+	$(srcdir)/test_mouse.c \
+	$(srcdir)/test_opaque.c \
+	$(srcdir)/test_setupterm.c \
+	$(srcdir)/test_sgr.c \
+	$(srcdir)/test_termattrs.c \
+	$(srcdir)/test_tparm.c \
+	$(srcdir)/test_unget_wch.c \
+	$(srcdir)/test_vid_puts.c \
+	$(srcdir)/test_vidputs.c \
+	$(srcdir)/testaddch.c \
+	$(srcdir)/testcurs.c \
+	$(srcdir)/testscanw.c \
+	$(srcdir)/view.c \
+	$(srcdir)/worm.c \
+	$(srcdir)/xmas.c
+
+lintlib :
+	@echo no action needed
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            w
+#  traces:          DEBUG
+#  MODEL:           NORMAL
+#  CXX_MODEL:       NORMAL
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           objects
+#  prefix:          lib
+#  suffix:          .a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./test.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+NORMAL_OBJS = \
+	../objects/back_ground$o \
+	../objects/background$o \
+	../objects/blue$o \
+	../objects/bs$o \
+	../objects/cardfile$o \
+	../objects/chgat$o \
+	../objects/clip_printw$o \
+	../objects/color_content$o \
+	../objects/color_set$o \
+	../objects/combine$o \
+	../objects/demo_altkeys$o \
+	../objects/demo_defkey$o \
+	../objects/demo_forms$o \
+	../objects/demo_keyok$o \
+	../objects/demo_menus$o \
+	../objects/demo_new_pair$o \
+	../objects/demo_panels$o \
+	../objects/demo_tabs$o \
+	../objects/demo_termcap$o \
+	../objects/demo_terminfo$o \
+	../objects/ditto$o \
+	../objects/dots$o \
+	../objects/dots_curses$o \
+	../objects/dots_mvcur$o \
+	../objects/dots_termcap$o \
+	../objects/dots_xcurses$o \
+	../objects/dump_window$o \
+	../objects/dup_field$o \
+	../objects/echochar$o \
+	../objects/edit_field$o \
+	../objects/extended_color$o \
+	../objects/filter$o \
+	../objects/firework$o \
+	../objects/firstlast$o \
+	../objects/foldkeys$o \
+	../objects/form_driver_w$o \
+	../objects/gdc$o \
+	../objects/hanoi$o \
+	../objects/hashtest$o \
+	../objects/inch_wide$o \
+	../objects/inchs$o \
+	../objects/ins_wide$o \
+	../objects/insdelln$o \
+	../objects/inserts$o \
+	../objects/key_names$o \
+	../objects/keynames$o \
+	../objects/knight$o \
+	../objects/list_keys$o \
+	../objects/lrtest$o \
+	../objects/move_field$o \
+	../objects/movewindow$o \
+	../objects/ncurses$o \
+	../objects/newdemo$o \
+	../objects/padview$o \
+	../objects/pair_content$o \
+	../objects/picsmap$o \
+	../objects/popup_msg$o \
+	../objects/railroad$o \
+	../objects/rain$o \
+	../objects/redraw$o \
+	../objects/savescreen$o \
+	../objects/sp_tinfo$o \
+	../objects/tclock$o \
+	../objects/test_add_wchstr$o \
+	../objects/test_addchstr$o \
+	../objects/test_addstr$o \
+	../objects/test_addwstr$o \
+	../objects/test_arrays$o \
+	../objects/test_delwin$o \
+	../objects/test_endwin$o \
+	../objects/test_get_wstr$o \
+	../objects/test_getstr$o \
+	../objects/test_instr$o \
+	../objects/test_inwstr$o \
+	../objects/test_mouse$o \
+	../objects/test_opaque$o \
+	../objects/test_setupterm$o \
+	../objects/test_sgr$o \
+	../objects/test_termattrs$o \
+	../objects/test_tparm$o \
+	../objects/test_unget_wch$o \
+	../objects/test_vid_puts$o \
+	../objects/test_vidputs$o \
+	../objects/testaddch$o \
+	../objects/testcurs$o \
+	../objects/testscanw$o \
+	../objects/view$o \
+	../objects/worm$o \
+	../objects/xmas$o
+
+$(NORMAL_OBJS) : ../include/ncurses_cfg.h ./test.priv.h
+
+mostlyclean::
+	-rm -f $(NORMAL_OBJS)
+
+clean ::
+	-rm -f $(NORMAL_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      objects
+#   MODEL:      NORMAL
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../objects/back_ground$o :	$(srcdir)/back_ground.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/back_ground.c -o ../objects/back_ground$o
+
+../objects/background$o :	$(srcdir)/background.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/background.c -o ../objects/background$o
+
+../objects/blue$o :	$(srcdir)/blue.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/blue.c -o ../objects/blue$o
+
+../objects/bs$o :	$(srcdir)/bs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/bs.c -o ../objects/bs$o
+
+../objects/cardfile$o :	$(srcdir)/cardfile.c \
+			$(HEADER_DEPS) \
+			$(incdir)/panel.h \
+			$(incdir)/form.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/cardfile.c -o ../objects/cardfile$o
+
+../objects/chgat$o :	$(srcdir)/chgat.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/chgat.c -o ../objects/chgat$o
+
+../objects/clip_printw$o :	$(srcdir)/clip_printw.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/clip_printw.c -o ../objects/clip_printw$o
+
+../objects/color_content$o :	$(srcdir)/color_content.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/color_content.c -o ../objects/color_content$o
+
+../objects/color_set$o :	$(srcdir)/color_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/color_set.c -o ../objects/color_set$o
+
+../objects/combine$o :	$(srcdir)/combine.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/combine.c -o ../objects/combine$o
+
+../objects/demo_altkeys$o :	$(srcdir)/demo_altkeys.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_altkeys.c -o ../objects/demo_altkeys$o
+
+../objects/demo_defkey$o :	$(srcdir)/demo_defkey.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_defkey.c -o ../objects/demo_defkey$o
+
+../objects/demo_forms$o :	$(srcdir)/demo_forms.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_forms.c -o ../objects/demo_forms$o
+
+../objects/demo_keyok$o :	$(srcdir)/demo_keyok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_keyok.c -o ../objects/demo_keyok$o
+
+../objects/demo_menus$o :	$(srcdir)/demo_menus.c \
+			$(HEADER_DEPS) \
+			$(incdir)/menu.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_menus.c -o ../objects/demo_menus$o
+
+../objects/demo_new_pair$o :	$(srcdir)/demo_new_pair.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_new_pair.c -o ../objects/demo_new_pair$o
+
+../objects/demo_panels$o :	$(srcdir)/demo_panels.c \
+			$(HEADER_DEPS) \
+			$(incdir)/panel.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_panels.c -o ../objects/demo_panels$o
+
+../objects/demo_tabs$o :	$(srcdir)/demo_tabs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_tabs.c -o ../objects/demo_tabs$o
+
+../objects/demo_termcap$o :	$(srcdir)/demo_termcap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_termcap.c -o ../objects/demo_termcap$o
+
+../objects/demo_terminfo$o :	$(srcdir)/demo_terminfo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/demo_terminfo.c -o ../objects/demo_terminfo$o
+
+../objects/ditto$o :	$(srcdir)/ditto.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/ditto.c -o ../objects/ditto$o
+
+../objects/dots$o :	$(srcdir)/dots.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dots.c -o ../objects/dots$o
+
+../objects/dots_curses$o :	$(srcdir)/dots_curses.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dots_curses.c -o ../objects/dots_curses$o
+
+../objects/dots_mvcur$o :	$(srcdir)/dots_mvcur.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dots_mvcur.c -o ../objects/dots_mvcur$o
+
+../objects/dots_termcap$o :	$(srcdir)/dots_termcap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dots_termcap.c -o ../objects/dots_termcap$o
+
+../objects/dots_xcurses$o :	$(srcdir)/dots_xcurses.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dots_xcurses.c -o ../objects/dots_xcurses$o
+
+../objects/dump_window$o :	$(srcdir)/dump_window.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/dump_window.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dump_window.c -o ../objects/dump_window$o
+
+../objects/dup_field$o :	$(srcdir)/dup_field.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/dup_field.c -o ../objects/dup_field$o
+
+../objects/echochar$o :	$(srcdir)/echochar.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/echochar.c -o ../objects/echochar$o
+
+../objects/edit_field$o :	$(srcdir)/edit_field.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/edit_field.c -o ../objects/edit_field$o
+
+../objects/extended_color$o :	$(srcdir)/extended_color.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/extended_color.c -o ../objects/extended_color$o
+
+../objects/filter$o :	$(srcdir)/filter.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/filter.c -o ../objects/filter$o
+
+../objects/firework$o :	$(srcdir)/firework.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/firework.c -o ../objects/firework$o
+
+../objects/firstlast$o :	$(srcdir)/firstlast.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/firstlast.c -o ../objects/firstlast$o
+
+../objects/foldkeys$o :	$(srcdir)/foldkeys.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/foldkeys.c -o ../objects/foldkeys$o
+
+../objects/form_driver_w$o :	$(srcdir)/form_driver_w.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/form_driver_w.c -o ../objects/form_driver_w$o
+
+../objects/gdc$o :	$(srcdir)/gdc.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/gdc.c -o ../objects/gdc$o
+
+../objects/hanoi$o :	$(srcdir)/hanoi.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/hanoi.c -o ../objects/hanoi$o
+
+../objects/hashtest$o :	$(srcdir)/hashtest.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/hashtest.c -o ../objects/hashtest$o
+
+../objects/inch_wide$o :	$(srcdir)/inch_wide.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/inch_wide.c -o ../objects/inch_wide$o
+
+../objects/inchs$o :	$(srcdir)/inchs.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/inchs.c -o ../objects/inchs$o
+
+../objects/ins_wide$o :	$(srcdir)/ins_wide.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/ins_wide.c -o ../objects/ins_wide$o
+
+../objects/insdelln$o :	$(srcdir)/insdelln.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/insdelln.c -o ../objects/insdelln$o
+
+../objects/inserts$o :	$(srcdir)/inserts.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/inserts.c -o ../objects/inserts$o
+
+../objects/key_names$o :	$(srcdir)/key_names.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/key_names.c -o ../objects/key_names$o
+
+../objects/keynames$o :	$(srcdir)/keynames.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/keynames.c -o ../objects/keynames$o
+
+../objects/knight$o :	$(srcdir)/knight.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/knight.c -o ../objects/knight$o
+
+../objects/list_keys$o :	$(srcdir)/list_keys.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/list_keys.c -o ../objects/list_keys$o
+
+../objects/lrtest$o :	$(srcdir)/lrtest.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/lrtest.c -o ../objects/lrtest$o
+
+../objects/move_field$o :	$(srcdir)/move_field.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/move_field.c -o ../objects/move_field$o
+
+../objects/movewindow$o :	$(srcdir)/movewindow.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/movewindow.c -o ../objects/movewindow$o
+
+../objects/ncurses$o :	$(srcdir)/ncurses.c \
+			$(HEADER_DEPS) \
+			$(incdir)/panel.h \
+			$(incdir)/menu.h \
+			$(incdir)/form.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/ncurses.c -o ../objects/ncurses$o
+
+../objects/newdemo$o :	$(srcdir)/newdemo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/newdemo.c -o ../objects/newdemo$o
+
+../objects/padview$o :	$(srcdir)/padview.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/widechars.h \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/padview.c -o ../objects/padview$o
+
+../objects/pair_content$o :	$(srcdir)/pair_content.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/pair_content.c -o ../objects/pair_content$o
+
+../objects/picsmap$o :	$(srcdir)/picsmap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/picsmap.c -o ../objects/picsmap$o
+
+../objects/popup_msg$o :	$(srcdir)/popup_msg.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/popup_msg.c -o ../objects/popup_msg$o
+
+../objects/railroad$o :	$(srcdir)/railroad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/railroad.c -o ../objects/railroad$o
+
+../objects/rain$o :	$(srcdir)/rain.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/rain.c -o ../objects/rain$o
+
+../objects/redraw$o :	$(srcdir)/redraw.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/redraw.c -o ../objects/redraw$o
+
+../objects/savescreen$o :	$(srcdir)/savescreen.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h \
+			$(srcdir)/parse_rgb.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/savescreen.c -o ../objects/savescreen$o
+
+../objects/sp_tinfo$o :	$(srcdir)/sp_tinfo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/sp_tinfo.c -o ../objects/sp_tinfo$o
+
+../objects/tclock$o :	$(srcdir)/tclock.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/tclock.c -o ../objects/tclock$o
+
+../objects/test_add_wchstr$o :	$(srcdir)/test_add_wchstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_add_wchstr.c -o ../objects/test_add_wchstr$o
+
+../objects/test_addchstr$o :	$(srcdir)/test_addchstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_addchstr.c -o ../objects/test_addchstr$o
+
+../objects/test_addstr$o :	$(srcdir)/test_addstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_addstr.c -o ../objects/test_addstr$o
+
+../objects/test_addwstr$o :	$(srcdir)/test_addwstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_addwstr.c -o ../objects/test_addwstr$o
+
+../objects/test_arrays$o :	$(srcdir)/test_arrays.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_arrays.c -o ../objects/test_arrays$o
+
+../objects/test_delwin$o :	$(srcdir)/test_delwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_delwin.c -o ../objects/test_delwin$o
+
+../objects/test_endwin$o :	$(srcdir)/test_endwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_endwin.c -o ../objects/test_endwin$o
+
+../objects/test_get_wstr$o :	$(srcdir)/test_get_wstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_get_wstr.c -o ../objects/test_get_wstr$o
+
+../objects/test_getstr$o :	$(srcdir)/test_getstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_getstr.c -o ../objects/test_getstr$o
+
+../objects/test_instr$o :	$(srcdir)/test_instr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_instr.c -o ../objects/test_instr$o
+
+../objects/test_inwstr$o :	$(srcdir)/test_inwstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_inwstr.c -o ../objects/test_inwstr$o
+
+../objects/test_mouse$o :	$(srcdir)/test_mouse.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_mouse.c -o ../objects/test_mouse$o
+
+../objects/test_opaque$o :	$(srcdir)/test_opaque.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_opaque.c -o ../objects/test_opaque$o
+
+../objects/test_setupterm$o :	$(srcdir)/test_setupterm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_setupterm.c -o ../objects/test_setupterm$o
+
+../objects/test_sgr$o :	$(srcdir)/test_sgr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_sgr.c -o ../objects/test_sgr$o
+
+../objects/test_termattrs$o :	$(srcdir)/test_termattrs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_termattrs.c -o ../objects/test_termattrs$o
+
+../objects/test_tparm$o :	$(srcdir)/test_tparm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_tparm.c -o ../objects/test_tparm$o
+
+../objects/test_unget_wch$o :	$(srcdir)/test_unget_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_unget_wch.c -o ../objects/test_unget_wch$o
+
+../objects/test_vid_puts$o :	$(srcdir)/test_vid_puts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_vid_puts.c -o ../objects/test_vid_puts$o
+
+../objects/test_vidputs$o :	$(srcdir)/test_vidputs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/test_vidputs.c -o ../objects/test_vidputs$o
+
+../objects/testaddch$o :	$(srcdir)/testaddch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/testaddch.c -o ../objects/testaddch$o
+
+../objects/testcurs$o :	$(srcdir)/testcurs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/testcurs.c -o ../objects/testcurs$o
+
+../objects/testscanw$o :	$(srcdir)/testscanw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/testscanw.c -o ../objects/testscanw$o
+
+../objects/view$o :	$(srcdir)/view.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/widechars.h \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/view.c -o ../objects/view$o
+
+../objects/worm$o :	$(srcdir)/worm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/worm.c -o ../objects/worm$o
+
+../objects/xmas$o :	$(srcdir)/xmas.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_NORMAL) -c ../test/xmas.c -o ../objects/xmas$o
+
+
+# generated by mk-1st.awk (subset=ticlib+termlib+ext_tinfo+base+widechar+ext_funcs)
+#  name:            w
+#  traces:          DEBUG
+#  MODEL:           DEBUG
+#  CXX_MODEL:       DEBUG
+#  LIB_SUFFIX:      w
+#  USE_LIB_SUFFIX:  w
+#  model:           obj_g
+#  prefix:          lib
+#  suffix:          _g.a
+#  subset:          ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#  driver:          no
+#  ShlibVer:        rel
+#  ShlibVerInfix:   no
+#  SymLink:         ln -s -f
+#  TermlibRoot:     ncursesw
+#  TermlibSuffix:   .a
+#  ReLink:          no
+#  ReRanlib:        no
+#  DoLinks:         yes
+#  rmSoLocs:        no
+#  ldconfig:        /usr/sbin/ldconfig
+#  make_phony:      yes
+#  overwrite:       yes
+#  depend:          ../include/ncurses_cfg.h ./test.priv.h
+#  host:            x86_64-pc-linux-gnu
+#  libtool_version: -version-number
+
+DEBUG_OBJS = \
+	../obj_g/back_ground$o \
+	../obj_g/background$o \
+	../obj_g/blue$o \
+	../obj_g/bs$o \
+	../obj_g/cardfile$o \
+	../obj_g/chgat$o \
+	../obj_g/clip_printw$o \
+	../obj_g/color_content$o \
+	../obj_g/color_set$o \
+	../obj_g/combine$o \
+	../obj_g/demo_altkeys$o \
+	../obj_g/demo_defkey$o \
+	../obj_g/demo_forms$o \
+	../obj_g/demo_keyok$o \
+	../obj_g/demo_menus$o \
+	../obj_g/demo_new_pair$o \
+	../obj_g/demo_panels$o \
+	../obj_g/demo_tabs$o \
+	../obj_g/demo_termcap$o \
+	../obj_g/demo_terminfo$o \
+	../obj_g/ditto$o \
+	../obj_g/dots$o \
+	../obj_g/dots_curses$o \
+	../obj_g/dots_mvcur$o \
+	../obj_g/dots_termcap$o \
+	../obj_g/dots_xcurses$o \
+	../obj_g/dump_window$o \
+	../obj_g/dup_field$o \
+	../obj_g/echochar$o \
+	../obj_g/edit_field$o \
+	../obj_g/extended_color$o \
+	../obj_g/filter$o \
+	../obj_g/firework$o \
+	../obj_g/firstlast$o \
+	../obj_g/foldkeys$o \
+	../obj_g/form_driver_w$o \
+	../obj_g/gdc$o \
+	../obj_g/hanoi$o \
+	../obj_g/hashtest$o \
+	../obj_g/inch_wide$o \
+	../obj_g/inchs$o \
+	../obj_g/ins_wide$o \
+	../obj_g/insdelln$o \
+	../obj_g/inserts$o \
+	../obj_g/key_names$o \
+	../obj_g/keynames$o \
+	../obj_g/knight$o \
+	../obj_g/list_keys$o \
+	../obj_g/lrtest$o \
+	../obj_g/move_field$o \
+	../obj_g/movewindow$o \
+	../obj_g/ncurses$o \
+	../obj_g/newdemo$o \
+	../obj_g/padview$o \
+	../obj_g/pair_content$o \
+	../obj_g/picsmap$o \
+	../obj_g/popup_msg$o \
+	../obj_g/railroad$o \
+	../obj_g/rain$o \
+	../obj_g/redraw$o \
+	../obj_g/savescreen$o \
+	../obj_g/sp_tinfo$o \
+	../obj_g/tclock$o \
+	../obj_g/test_add_wchstr$o \
+	../obj_g/test_addchstr$o \
+	../obj_g/test_addstr$o \
+	../obj_g/test_addwstr$o \
+	../obj_g/test_arrays$o \
+	../obj_g/test_delwin$o \
+	../obj_g/test_endwin$o \
+	../obj_g/test_get_wstr$o \
+	../obj_g/test_getstr$o \
+	../obj_g/test_instr$o \
+	../obj_g/test_inwstr$o \
+	../obj_g/test_mouse$o \
+	../obj_g/test_opaque$o \
+	../obj_g/test_setupterm$o \
+	../obj_g/test_sgr$o \
+	../obj_g/test_termattrs$o \
+	../obj_g/test_tparm$o \
+	../obj_g/test_unget_wch$o \
+	../obj_g/test_vid_puts$o \
+	../obj_g/test_vidputs$o \
+	../obj_g/testaddch$o \
+	../obj_g/testcurs$o \
+	../obj_g/testscanw$o \
+	../obj_g/view$o \
+	../obj_g/worm$o \
+	../obj_g/xmas$o
+
+$(DEBUG_OBJS) : ../include/ncurses_cfg.h ./test.priv.h
+
+mostlyclean::
+	-rm -f $(DEBUG_OBJS)
+
+clean ::
+	-rm -f $(DEBUG_OBJS)
+
+# generated by mk-2nd.awk
+#   model:      obj_g
+#   MODEL:      DEBUG
+#   echo:       yes
+#   subset:     ticlib+termlib+ext_tinfo+base+widechar+ext_funcs
+#   crenames:   yes
+#   cxxrenames: yes
+#   traces:     DEBUG
+#   srcdir:     .
+
+../obj_g/back_ground$o :	$(srcdir)/back_ground.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/back_ground.c -o ../obj_g/back_ground$o
+
+../obj_g/background$o :	$(srcdir)/background.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/background.c -o ../obj_g/background$o
+
+../obj_g/blue$o :	$(srcdir)/blue.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/blue.c -o ../obj_g/blue$o
+
+../obj_g/bs$o :	$(srcdir)/bs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/bs.c -o ../obj_g/bs$o
+
+../obj_g/cardfile$o :	$(srcdir)/cardfile.c \
+			$(HEADER_DEPS) \
+			$(incdir)/panel.h \
+			$(incdir)/form.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/cardfile.c -o ../obj_g/cardfile$o
+
+../obj_g/chgat$o :	$(srcdir)/chgat.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/chgat.c -o ../obj_g/chgat$o
+
+../obj_g/clip_printw$o :	$(srcdir)/clip_printw.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/clip_printw.c -o ../obj_g/clip_printw$o
+
+../obj_g/color_content$o :	$(srcdir)/color_content.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/color_content.c -o ../obj_g/color_content$o
+
+../obj_g/color_set$o :	$(srcdir)/color_set.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/color_set.c -o ../obj_g/color_set$o
+
+../obj_g/combine$o :	$(srcdir)/combine.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/combine.c -o ../obj_g/combine$o
+
+../obj_g/demo_altkeys$o :	$(srcdir)/demo_altkeys.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_altkeys.c -o ../obj_g/demo_altkeys$o
+
+../obj_g/demo_defkey$o :	$(srcdir)/demo_defkey.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_defkey.c -o ../obj_g/demo_defkey$o
+
+../obj_g/demo_forms$o :	$(srcdir)/demo_forms.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_forms.c -o ../obj_g/demo_forms$o
+
+../obj_g/demo_keyok$o :	$(srcdir)/demo_keyok.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_keyok.c -o ../obj_g/demo_keyok$o
+
+../obj_g/demo_menus$o :	$(srcdir)/demo_menus.c \
+			$(HEADER_DEPS) \
+			$(incdir)/menu.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_menus.c -o ../obj_g/demo_menus$o
+
+../obj_g/demo_new_pair$o :	$(srcdir)/demo_new_pair.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_new_pair.c -o ../obj_g/demo_new_pair$o
+
+../obj_g/demo_panels$o :	$(srcdir)/demo_panels.c \
+			$(HEADER_DEPS) \
+			$(incdir)/panel.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_panels.c -o ../obj_g/demo_panels$o
+
+../obj_g/demo_tabs$o :	$(srcdir)/demo_tabs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_tabs.c -o ../obj_g/demo_tabs$o
+
+../obj_g/demo_termcap$o :	$(srcdir)/demo_termcap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_termcap.c -o ../obj_g/demo_termcap$o
+
+../obj_g/demo_terminfo$o :	$(srcdir)/demo_terminfo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/demo_terminfo.c -o ../obj_g/demo_terminfo$o
+
+../obj_g/ditto$o :	$(srcdir)/ditto.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/ditto.c -o ../obj_g/ditto$o
+
+../obj_g/dots$o :	$(srcdir)/dots.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dots.c -o ../obj_g/dots$o
+
+../obj_g/dots_curses$o :	$(srcdir)/dots_curses.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dots_curses.c -o ../obj_g/dots_curses$o
+
+../obj_g/dots_mvcur$o :	$(srcdir)/dots_mvcur.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dots_mvcur.c -o ../obj_g/dots_mvcur$o
+
+../obj_g/dots_termcap$o :	$(srcdir)/dots_termcap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dots_termcap.c -o ../obj_g/dots_termcap$o
+
+../obj_g/dots_xcurses$o :	$(srcdir)/dots_xcurses.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dots_xcurses.c -o ../obj_g/dots_xcurses$o
+
+../obj_g/dump_window$o :	$(srcdir)/dump_window.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/dump_window.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dump_window.c -o ../obj_g/dump_window$o
+
+../obj_g/dup_field$o :	$(srcdir)/dup_field.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/dup_field.c -o ../obj_g/dup_field$o
+
+../obj_g/echochar$o :	$(srcdir)/echochar.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/echochar.c -o ../obj_g/echochar$o
+
+../obj_g/edit_field$o :	$(srcdir)/edit_field.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/edit_field.c -o ../obj_g/edit_field$o
+
+../obj_g/extended_color$o :	$(srcdir)/extended_color.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/extended_color.c -o ../obj_g/extended_color$o
+
+../obj_g/filter$o :	$(srcdir)/filter.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/filter.c -o ../obj_g/filter$o
+
+../obj_g/firework$o :	$(srcdir)/firework.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/firework.c -o ../obj_g/firework$o
+
+../obj_g/firstlast$o :	$(srcdir)/firstlast.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/firstlast.c -o ../obj_g/firstlast$o
+
+../obj_g/foldkeys$o :	$(srcdir)/foldkeys.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/foldkeys.c -o ../obj_g/foldkeys$o
+
+../obj_g/form_driver_w$o :	$(srcdir)/form_driver_w.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/form_driver_w.c -o ../obj_g/form_driver_w$o
+
+../obj_g/gdc$o :	$(srcdir)/gdc.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/gdc.c -o ../obj_g/gdc$o
+
+../obj_g/hanoi$o :	$(srcdir)/hanoi.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/hanoi.c -o ../obj_g/hanoi$o
+
+../obj_g/hashtest$o :	$(srcdir)/hashtest.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/hashtest.c -o ../obj_g/hashtest$o
+
+../obj_g/inch_wide$o :	$(srcdir)/inch_wide.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/inch_wide.c -o ../obj_g/inch_wide$o
+
+../obj_g/inchs$o :	$(srcdir)/inchs.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/inchs.c -o ../obj_g/inchs$o
+
+../obj_g/ins_wide$o :	$(srcdir)/ins_wide.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/ins_wide.c -o ../obj_g/ins_wide$o
+
+../obj_g/insdelln$o :	$(srcdir)/insdelln.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/insdelln.c -o ../obj_g/insdelln$o
+
+../obj_g/inserts$o :	$(srcdir)/inserts.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/inserts.c -o ../obj_g/inserts$o
+
+../obj_g/key_names$o :	$(srcdir)/key_names.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/key_names.c -o ../obj_g/key_names$o
+
+../obj_g/keynames$o :	$(srcdir)/keynames.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/keynames.c -o ../obj_g/keynames$o
+
+../obj_g/knight$o :	$(srcdir)/knight.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/knight.c -o ../obj_g/knight$o
+
+../obj_g/list_keys$o :	$(srcdir)/list_keys.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/list_keys.c -o ../obj_g/list_keys$o
+
+../obj_g/lrtest$o :	$(srcdir)/lrtest.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/lrtest.c -o ../obj_g/lrtest$o
+
+../obj_g/move_field$o :	$(srcdir)/move_field.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/edit_field.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/move_field.c -o ../obj_g/move_field$o
+
+../obj_g/movewindow$o :	$(srcdir)/movewindow.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/movewindow.c -o ../obj_g/movewindow$o
+
+../obj_g/ncurses$o :	$(srcdir)/ncurses.c \
+			$(HEADER_DEPS) \
+			$(incdir)/panel.h \
+			$(incdir)/menu.h \
+			$(incdir)/form.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/ncurses.c -o ../obj_g/ncurses$o
+
+../obj_g/newdemo$o :	$(srcdir)/newdemo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/newdemo.c -o ../obj_g/newdemo$o
+
+../obj_g/padview$o :	$(srcdir)/padview.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/widechars.h \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/padview.c -o ../obj_g/padview$o
+
+../obj_g/pair_content$o :	$(srcdir)/pair_content.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/pair_content.c -o ../obj_g/pair_content$o
+
+../obj_g/picsmap$o :	$(srcdir)/picsmap.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/picsmap.c -o ../obj_g/picsmap$o
+
+../obj_g/popup_msg$o :	$(srcdir)/popup_msg.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/popup_msg.c -o ../obj_g/popup_msg$o
+
+../obj_g/railroad$o :	$(srcdir)/railroad.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/railroad.c -o ../obj_g/railroad$o
+
+../obj_g/rain$o :	$(srcdir)/rain.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/rain.c -o ../obj_g/rain$o
+
+../obj_g/redraw$o :	$(srcdir)/redraw.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/redraw.c -o ../obj_g/redraw$o
+
+../obj_g/savescreen$o :	$(srcdir)/savescreen.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/popup_msg.h \
+			$(srcdir)/parse_rgb.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/savescreen.c -o ../obj_g/savescreen$o
+
+../obj_g/sp_tinfo$o :	$(srcdir)/sp_tinfo.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/sp_tinfo.c -o ../obj_g/sp_tinfo$o
+
+../obj_g/tclock$o :	$(srcdir)/tclock.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/tclock.c -o ../obj_g/tclock$o
+
+../obj_g/test_add_wchstr$o :	$(srcdir)/test_add_wchstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_add_wchstr.c -o ../obj_g/test_add_wchstr$o
+
+../obj_g/test_addchstr$o :	$(srcdir)/test_addchstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_addchstr.c -o ../obj_g/test_addchstr$o
+
+../obj_g/test_addstr$o :	$(srcdir)/test_addstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_addstr.c -o ../obj_g/test_addstr$o
+
+../obj_g/test_addwstr$o :	$(srcdir)/test_addwstr.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/linedata.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_addwstr.c -o ../obj_g/test_addwstr$o
+
+../obj_g/test_arrays$o :	$(srcdir)/test_arrays.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_arrays.c -o ../obj_g/test_arrays$o
+
+../obj_g/test_delwin$o :	$(srcdir)/test_delwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_delwin.c -o ../obj_g/test_delwin$o
+
+../obj_g/test_endwin$o :	$(srcdir)/test_endwin.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_endwin.c -o ../obj_g/test_endwin$o
+
+../obj_g/test_get_wstr$o :	$(srcdir)/test_get_wstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_get_wstr.c -o ../obj_g/test_get_wstr$o
+
+../obj_g/test_getstr$o :	$(srcdir)/test_getstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_getstr.c -o ../obj_g/test_getstr$o
+
+../obj_g/test_instr$o :	$(srcdir)/test_instr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_instr.c -o ../obj_g/test_instr$o
+
+../obj_g/test_inwstr$o :	$(srcdir)/test_inwstr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_inwstr.c -o ../obj_g/test_inwstr$o
+
+../obj_g/test_mouse$o :	$(srcdir)/test_mouse.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_mouse.c -o ../obj_g/test_mouse$o
+
+../obj_g/test_opaque$o :	$(srcdir)/test_opaque.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_opaque.c -o ../obj_g/test_opaque$o
+
+../obj_g/test_setupterm$o :	$(srcdir)/test_setupterm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_setupterm.c -o ../obj_g/test_setupterm$o
+
+../obj_g/test_sgr$o :	$(srcdir)/test_sgr.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_sgr.c -o ../obj_g/test_sgr$o
+
+../obj_g/test_termattrs$o :	$(srcdir)/test_termattrs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_termattrs.c -o ../obj_g/test_termattrs$o
+
+../obj_g/test_tparm$o :	$(srcdir)/test_tparm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_tparm.c -o ../obj_g/test_tparm$o
+
+../obj_g/test_unget_wch$o :	$(srcdir)/test_unget_wch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_unget_wch.c -o ../obj_g/test_unget_wch$o
+
+../obj_g/test_vid_puts$o :	$(srcdir)/test_vid_puts.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_vid_puts.c -o ../obj_g/test_vid_puts$o
+
+../obj_g/test_vidputs$o :	$(srcdir)/test_vidputs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/test_vidputs.c -o ../obj_g/test_vidputs$o
+
+../obj_g/testaddch$o :	$(srcdir)/testaddch.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/testaddch.c -o ../obj_g/testaddch$o
+
+../obj_g/testcurs$o :	$(srcdir)/testcurs.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/testcurs.c -o ../obj_g/testcurs$o
+
+../obj_g/testscanw$o :	$(srcdir)/testscanw.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/testscanw.c -o ../obj_g/testscanw$o
+
+../obj_g/view$o :	$(srcdir)/view.c \
+			$(HEADER_DEPS) \
+			$(srcdir)/widechars.h \
+			$(srcdir)/popup_msg.h
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/view.c -o ../obj_g/view$o
+
+../obj_g/worm$o :	$(srcdir)/worm.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/worm.c -o ../obj_g/worm$o
+
+../obj_g/xmas$o :	$(srcdir)/xmas.c \
+			$(HEADER_DEPS)
+	$(LIBTOOL_COMPILE) $(CC) $(CFLAGS_DEBUG) -c ../test/xmas.c -o ../obj_g/xmas$o
+
+
+.PHONY :	depend
+depend : ${AUTO_SRC}
+	makedepend -- ${CPPFLAGS} -- ${C_SRC}
+
+# DO NOT DELETE THIS LINE -- make depend depends on it.
diff --git a/test/back_ground b/test/back_ground
new file mode 100755
index 0000000..d1c968b
--- /dev/null
+++ b/test/back_ground
Binary files differ
diff --git a/test/background b/test/background
new file mode 100755
index 0000000..dd5d56b
--- /dev/null
+++ b/test/background
Binary files differ
diff --git a/test/blue b/test/blue
new file mode 100755
index 0000000..137d33f
--- /dev/null
+++ b/test/blue
Binary files differ
diff --git a/test/bs b/test/bs
new file mode 100755
index 0000000..fc4ca5a
--- /dev/null
+++ b/test/bs
Binary files differ
diff --git a/test/cardfile b/test/cardfile
new file mode 100755
index 0000000..79e59f5
--- /dev/null
+++ b/test/cardfile
Binary files differ
diff --git a/test/chgat b/test/chgat
new file mode 100755
index 0000000..8aebca3
--- /dev/null
+++ b/test/chgat
Binary files differ
diff --git a/test/clip_printw b/test/clip_printw
new file mode 100755
index 0000000..3227d57
--- /dev/null
+++ b/test/clip_printw
Binary files differ
diff --git a/test/color_content b/test/color_content
new file mode 100755
index 0000000..716dbc0
--- /dev/null
+++ b/test/color_content
Binary files differ
diff --git a/test/color_set b/test/color_set
new file mode 100755
index 0000000..3c7d6d1
--- /dev/null
+++ b/test/color_set
Binary files differ
diff --git a/test/combine b/test/combine
new file mode 100755
index 0000000..34a001a
--- /dev/null
+++ b/test/combine
Binary files differ
diff --git a/test/demo_altkeys b/test/demo_altkeys
new file mode 100755
index 0000000..0a8cdf4
--- /dev/null
+++ b/test/demo_altkeys
Binary files differ
diff --git a/test/demo_defkey b/test/demo_defkey
new file mode 100755
index 0000000..9254734
--- /dev/null
+++ b/test/demo_defkey
Binary files differ
diff --git a/test/demo_forms b/test/demo_forms
new file mode 100755
index 0000000..296dced
--- /dev/null
+++ b/test/demo_forms
Binary files differ
diff --git a/test/demo_keyok b/test/demo_keyok
new file mode 100755
index 0000000..6e55a08
--- /dev/null
+++ b/test/demo_keyok
Binary files differ
diff --git a/test/demo_menus b/test/demo_menus
new file mode 100755
index 0000000..58ff817
--- /dev/null
+++ b/test/demo_menus
Binary files differ
diff --git a/test/demo_new_pair b/test/demo_new_pair
new file mode 100755
index 0000000..30268ed
--- /dev/null
+++ b/test/demo_new_pair
Binary files differ
diff --git a/test/demo_panels b/test/demo_panels
new file mode 100755
index 0000000..f6cd976
--- /dev/null
+++ b/test/demo_panels
Binary files differ
diff --git a/test/demo_tabs b/test/demo_tabs
new file mode 100755
index 0000000..92f51c9
--- /dev/null
+++ b/test/demo_tabs
Binary files differ
diff --git a/test/demo_termcap b/test/demo_termcap
new file mode 100755
index 0000000..f4be50e
--- /dev/null
+++ b/test/demo_termcap
Binary files differ
diff --git a/test/demo_terminfo b/test/demo_terminfo
new file mode 100755
index 0000000..c8ba7eb
--- /dev/null
+++ b/test/demo_terminfo
Binary files differ
diff --git a/test/ditto b/test/ditto
new file mode 100755
index 0000000..b852c1f
--- /dev/null
+++ b/test/ditto
Binary files differ
diff --git a/test/dots b/test/dots
new file mode 100755
index 0000000..adb4d0a
--- /dev/null
+++ b/test/dots
Binary files differ
diff --git a/test/dots_curses b/test/dots_curses
new file mode 100755
index 0000000..73d8a7f
--- /dev/null
+++ b/test/dots_curses
Binary files differ
diff --git a/test/dots_mvcur b/test/dots_mvcur
new file mode 100755
index 0000000..82e6738
--- /dev/null
+++ b/test/dots_mvcur
Binary files differ
diff --git a/test/dots_termcap b/test/dots_termcap
new file mode 100755
index 0000000..a804e82
--- /dev/null
+++ b/test/dots_termcap
Binary files differ
diff --git a/test/dots_xcurses b/test/dots_xcurses
new file mode 100755
index 0000000..475bffb
--- /dev/null
+++ b/test/dots_xcurses
Binary files differ
diff --git a/test/dup_field b/test/dup_field
new file mode 100755
index 0000000..0c0e2e9
--- /dev/null
+++ b/test/dup_field
Binary files differ
diff --git a/test/echochar b/test/echochar
new file mode 100755
index 0000000..ccf7750
--- /dev/null
+++ b/test/echochar
Binary files differ
diff --git a/test/extended_color b/test/extended_color
new file mode 100755
index 0000000..fd82f57
--- /dev/null
+++ b/test/extended_color
Binary files differ
diff --git a/test/filter b/test/filter
new file mode 100755
index 0000000..5ece84f
--- /dev/null
+++ b/test/filter
Binary files differ
diff --git a/test/firework b/test/firework
new file mode 100755
index 0000000..092a11a
--- /dev/null
+++ b/test/firework
Binary files differ
diff --git a/test/firstlast b/test/firstlast
new file mode 100755
index 0000000..dcd7ccb
--- /dev/null
+++ b/test/firstlast
Binary files differ
diff --git a/test/foldkeys b/test/foldkeys
new file mode 100755
index 0000000..d0c49c6
--- /dev/null
+++ b/test/foldkeys
Binary files differ
diff --git a/test/form_driver_w b/test/form_driver_w
new file mode 100755
index 0000000..d7bc2dc
--- /dev/null
+++ b/test/form_driver_w
Binary files differ
diff --git a/test/gdc b/test/gdc
new file mode 100755
index 0000000..b4530d1
--- /dev/null
+++ b/test/gdc
Binary files differ
diff --git a/test/hanoi b/test/hanoi
new file mode 100755
index 0000000..dfd3647
--- /dev/null
+++ b/test/hanoi
Binary files differ
diff --git a/test/hashtest b/test/hashtest
new file mode 100755
index 0000000..cd69bb8
--- /dev/null
+++ b/test/hashtest
Binary files differ
diff --git a/test/inch_wide b/test/inch_wide
new file mode 100755
index 0000000..a914cad
--- /dev/null
+++ b/test/inch_wide
Binary files differ
diff --git a/test/inchs b/test/inchs
new file mode 100755
index 0000000..edd9d64
--- /dev/null
+++ b/test/inchs
Binary files differ
diff --git a/test/ins_wide b/test/ins_wide
new file mode 100755
index 0000000..2ac0e26
--- /dev/null
+++ b/test/ins_wide
Binary files differ
diff --git a/test/insdelln b/test/insdelln
new file mode 100755
index 0000000..78c1561
--- /dev/null
+++ b/test/insdelln
Binary files differ
diff --git a/test/inserts b/test/inserts
new file mode 100755
index 0000000..143c935
--- /dev/null
+++ b/test/inserts
Binary files differ
diff --git a/test/key_names b/test/key_names
new file mode 100755
index 0000000..49ca1ef
--- /dev/null
+++ b/test/key_names
Binary files differ
diff --git a/test/keynames b/test/keynames
new file mode 100755
index 0000000..15969e3
--- /dev/null
+++ b/test/keynames
Binary files differ
diff --git a/test/knight b/test/knight
new file mode 100755
index 0000000..11ac52f
--- /dev/null
+++ b/test/knight
Binary files differ
diff --git a/test/list_keys b/test/list_keys
new file mode 100755
index 0000000..3b0e69c
--- /dev/null
+++ b/test/list_keys
Binary files differ
diff --git a/test/lrtest b/test/lrtest
new file mode 100755
index 0000000..4b4449b
--- /dev/null
+++ b/test/lrtest
Binary files differ
diff --git a/test/move_field b/test/move_field
new file mode 100755
index 0000000..44bd1b4
--- /dev/null
+++ b/test/move_field
Binary files differ
diff --git a/test/movewindow b/test/movewindow
new file mode 100755
index 0000000..059fd7b
--- /dev/null
+++ b/test/movewindow
Binary files differ
diff --git a/test/ncurses b/test/ncurses
new file mode 100755
index 0000000..ba86988
--- /dev/null
+++ b/test/ncurses
Binary files differ
diff --git a/test/newdemo b/test/newdemo
new file mode 100755
index 0000000..cdcb0b5
--- /dev/null
+++ b/test/newdemo
Binary files differ
diff --git a/test/padview b/test/padview
new file mode 100755
index 0000000..60820ee
--- /dev/null
+++ b/test/padview
Binary files differ
diff --git a/test/pair_content b/test/pair_content
new file mode 100755
index 0000000..b7d9bf0
--- /dev/null
+++ b/test/pair_content
Binary files differ
diff --git a/test/picsmap b/test/picsmap
new file mode 100755
index 0000000..2289945
--- /dev/null
+++ b/test/picsmap
Binary files differ
diff --git a/test/railroad b/test/railroad
new file mode 100755
index 0000000..449c413
--- /dev/null
+++ b/test/railroad
Binary files differ
diff --git a/test/rain b/test/rain
new file mode 100755
index 0000000..5073904
--- /dev/null
+++ b/test/rain
Binary files differ
diff --git a/test/redraw b/test/redraw
new file mode 100755
index 0000000..dc32f7f
--- /dev/null
+++ b/test/redraw
Binary files differ
diff --git a/test/savescreen b/test/savescreen
new file mode 100755
index 0000000..37feafa
--- /dev/null
+++ b/test/savescreen
Binary files differ
diff --git a/test/sp_tinfo b/test/sp_tinfo
new file mode 100755
index 0000000..10d1aa9
--- /dev/null
+++ b/test/sp_tinfo
Binary files differ
diff --git a/test/tclock b/test/tclock
new file mode 100755
index 0000000..1ee75e2
--- /dev/null
+++ b/test/tclock
Binary files differ
diff --git a/test/test_add_wchstr b/test/test_add_wchstr
new file mode 100755
index 0000000..cbd3fa1
--- /dev/null
+++ b/test/test_add_wchstr
Binary files differ
diff --git a/test/test_addchstr b/test/test_addchstr
new file mode 100755
index 0000000..7458d01
--- /dev/null
+++ b/test/test_addchstr
Binary files differ
diff --git a/test/test_addstr b/test/test_addstr
new file mode 100755
index 0000000..df2dbce
--- /dev/null
+++ b/test/test_addstr
Binary files differ
diff --git a/test/test_addwstr b/test/test_addwstr
new file mode 100755
index 0000000..db949fa
--- /dev/null
+++ b/test/test_addwstr
Binary files differ
diff --git a/test/test_arrays b/test/test_arrays
new file mode 100755
index 0000000..a883368
--- /dev/null
+++ b/test/test_arrays
Binary files differ
diff --git a/test/test_delwin b/test/test_delwin
new file mode 100755
index 0000000..7a980ca
--- /dev/null
+++ b/test/test_delwin
Binary files differ
diff --git a/test/test_endwin b/test/test_endwin
new file mode 100755
index 0000000..a02cebb
--- /dev/null
+++ b/test/test_endwin
Binary files differ
diff --git a/test/test_get_wstr b/test/test_get_wstr
new file mode 100755
index 0000000..2172730
--- /dev/null
+++ b/test/test_get_wstr
Binary files differ
diff --git a/test/test_getstr b/test/test_getstr
new file mode 100755
index 0000000..ef9ee53
--- /dev/null
+++ b/test/test_getstr
Binary files differ
diff --git a/test/test_instr b/test/test_instr
new file mode 100755
index 0000000..a3e0f4f
--- /dev/null
+++ b/test/test_instr
Binary files differ
diff --git a/test/test_inwstr b/test/test_inwstr
new file mode 100755
index 0000000..755415c
--- /dev/null
+++ b/test/test_inwstr
Binary files differ
diff --git a/test/test_mouse b/test/test_mouse
new file mode 100755
index 0000000..e17851b
--- /dev/null
+++ b/test/test_mouse
Binary files differ
diff --git a/test/test_opaque b/test/test_opaque
new file mode 100755
index 0000000..5fbd91e
--- /dev/null
+++ b/test/test_opaque
Binary files differ
diff --git a/test/test_setupterm b/test/test_setupterm
new file mode 100755
index 0000000..cba7463
--- /dev/null
+++ b/test/test_setupterm
Binary files differ
diff --git a/test/test_sgr b/test/test_sgr
new file mode 100755
index 0000000..d24ad6d
--- /dev/null
+++ b/test/test_sgr
Binary files differ
diff --git a/test/test_termattrs b/test/test_termattrs
new file mode 100755
index 0000000..b643125
--- /dev/null
+++ b/test/test_termattrs
Binary files differ
diff --git a/test/test_tparm b/test/test_tparm
new file mode 100755
index 0000000..b67877e
--- /dev/null
+++ b/test/test_tparm
Binary files differ
diff --git a/test/test_unget_wch b/test/test_unget_wch
new file mode 100755
index 0000000..699634d
--- /dev/null
+++ b/test/test_unget_wch
Binary files differ
diff --git a/test/test_vid_puts b/test/test_vid_puts
new file mode 100755
index 0000000..0f8bff6
--- /dev/null
+++ b/test/test_vid_puts
Binary files differ
diff --git a/test/test_vidputs b/test/test_vidputs
new file mode 100755
index 0000000..c1d58dd
--- /dev/null
+++ b/test/test_vidputs
Binary files differ
diff --git a/test/testaddch b/test/testaddch
new file mode 100755
index 0000000..98141e4
--- /dev/null
+++ b/test/testaddch
Binary files differ
diff --git a/test/testcurs b/test/testcurs
new file mode 100755
index 0000000..e19ce56
--- /dev/null
+++ b/test/testcurs
Binary files differ
diff --git a/test/testscanw b/test/testscanw
new file mode 100755
index 0000000..3affcd0
--- /dev/null
+++ b/test/testscanw
Binary files differ
diff --git a/test/view b/test/view
new file mode 100755
index 0000000..f231cd0
--- /dev/null
+++ b/test/view
Binary files differ
diff --git a/test/worm b/test/worm
new file mode 100755
index 0000000..b98409b
--- /dev/null
+++ b/test/worm
Binary files differ
diff --git a/test/xmas b/test/xmas
new file mode 100755
index 0000000..f14dd16
--- /dev/null
+++ b/test/xmas
Binary files differ
